WordPress Button Plugin MaxButtons - Version 8.5

Version Description

  • New - Option to force a download of the URL
  • New - Select Site Content also searches recent media library items.
  • Fix - Preview window would increase in size when dragging
  • Fix - Gutenberg open in new window / rel nofollow controls now working
Download this release

Release Info

Developer basszje
Plugin Icon 128x128 WordPress Button Plugin MaxButtons
Version 8.5
Comparing to
See all releases

Code changes from version 8.4.2 to 8.5

assets/css/media_button.css CHANGED
@@ -40,7 +40,8 @@
40
  cursor: default; }
41
  .media-popup .shortcode-options {
42
  margin: 0 auto 35px auto;
43
- display: inline-block; }
 
44
  .media-popup .shortcode-options .button-preview {
45
  overflow: hidden; }
46
  .media-popup .shortcode-options .option {
@@ -65,6 +66,58 @@
65
  float: none; }
66
  .media-popup .shortcode-options .more-field {
67
  display: none; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  .media-popup .maxajax-load-spinner {
69
  background: rgba(0, 0, 0, 0) url("../../images/spinner.gif") no-repeat scroll 0 0/20px 20px;
70
  display: inline-block;
40
  cursor: default; }
41
  .media-popup .shortcode-options {
42
  margin: 0 auto 35px auto;
43
+ display: inline-block;
44
+ /** This is a copy from _elements.scss **/ }
45
  .media-popup .shortcode-options .button-preview {
46
  overflow: hidden; }
47
  .media-popup .shortcode-options .option {
66
  float: none; }
67
  .media-popup .shortcode-options .more-field {
68
  display: none; }
69
+ .media-popup .shortcode-options .switch_button {
70
+ margin-left: -5px; }
71
+ .media-popup .shortcode-options .switch_button label {
72
+ padding: 8px 5px; }
73
+ .media-popup .shortcode-options .switch_button label:focus {
74
+ outline: none; }
75
+ .media-popup .shortcode-options .switch_button input {
76
+ display: none; }
77
+ .media-popup .shortcode-options .switch_button input:checked ~ .the_switch {
78
+ background: #6fbeb5; }
79
+ .media-popup .shortcode-options .switch_button input:checked ~ .the_switch:after {
80
+ left: 26px;
81
+ background: #179588; }
82
+ .media-popup .shortcode-options .switch_button input:checked ~ .the_switch.small:after {
83
+ left: 15px; }
84
+ .media-popup .shortcode-options .switch_button input::disabled ~ .the_switch {
85
+ background: #d5d5d5;
86
+ pointer-events: none; }
87
+ .media-popup .shortcode-options .switch_button input:disabled ~ .the_switch:after {
88
+ background: #bcbdbc; }
89
+ .media-popup .shortcode-options .switch_button .the_switch {
90
+ position: relative;
91
+ display: inline-block;
92
+ height: 15px;
93
+ width: 50px;
94
+ background: #898989;
95
+ border-radius: 100px;
96
+ cursor: pointer;
97
+ transition: all 0.3s ease; }
98
+ .media-popup .shortcode-options .switch_button .the_switch:after {
99
+ position: absolute;
100
+ left: -2px;
101
+ top: -3px;
102
+ display: block;
103
+ width: 24px;
104
+ height: 24px;
105
+ border-radius: 100px;
106
+ background: #aaa;
107
+ box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.05);
108
+ content: '';
109
+ transition: all 0.2s ease; }
110
+ .media-popup .shortcode-options .switch_button .the_switch.small {
111
+ height: 8px;
112
+ width: 30px; }
113
+ .media-popup .shortcode-options .switch_button .the_switch.small:after {
114
+ height: 18px;
115
+ width: 18px;
116
+ top: -5px; }
117
+ .media-popup .shortcode-options .switch_button .the_switch:active:after {
118
+ transform: scale(0.9, 0.85); }
119
+ .media-popup .shortcode-options .switch_button .the_switch:focus {
120
+ outline: none; }
121
  .media-popup .maxajax-load-spinner {
122
  background: rgba(0, 0, 0, 0) url("../../images/spinner.gif") no-repeat scroll 0 0/20px 20px;
123
  display: inline-block;
assets/css/style.css CHANGED
@@ -1 +1 @@
1
- .mb_colorpicker{z-index:200}.ads .button-primary{display:block;margin:0 auto 20px auto;width:210px;text-align:center;overflow:visible}.max-load-spinner{background:url("/wp-admin/images/wpspin_light.gif") no-repeat;background-size:16px 16px;opacity:.9;width:16px;height:16px;display:inline-block;vertical-align:middle;position:absolute;top:50%;left:50%;margin-left:-8px;margin-top:-8px;z-index:10}.max-load-spinner.large{background:url("/wp-admin/images/wpspin_light-2x.gif") no-repeat;width:32px;height:32px}.max-load-overlay{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.80;background-color:#f0f0f0;z-index:9}#maxbuttons{display:inline-block;width:100%}#maxbuttons .message,#maxbuttons .mb-message{border:solid 1px #e6db55;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:10px;margin:10px 0px 20px 0px;clear:both;background:#fff}#maxbuttons .main{position:relative;z-index:500;margin-top:15px;width:72%;float:left}#maxbuttons .mb-message.error{font-weight:700}#maxbuttons .mb-message.shortcode,#maxbuttons .mb-message.mb-notice{border:solid 1px #e6db55;background-color:#ffffe0}#maxbuttons .mb-message.warning{border-left:4px solid #ffba00}#maxbuttons .mb-message.error{border-left:4px solid #ff0000}#maxbuttons .button-bar,#maxbuttons .form-actions,#maxbuttons.mb_tabs_active .mb_tab>.title:nth-of-type(1){margin:15px 0;padding:10px;background:#fbfbfb none repeat scroll 0 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);min-height:28px}#maxbuttons h1>span{vertical-align:top;float:left}@media (max-width: 1024px){#maxbuttons h1>span{float:none}}#maxbuttons .logo{font-weight:400;font-size:18px;overflow:hidden;text-align:center}@media (max-width: 1024px){#maxbuttons .logo{text-align:left;margin-top:15px}}#maxbuttons .logo img{vertical-align:middle;padding-left:5px;padding-right:5px}#maxbuttons .logo .fb-like{margin-top:5px;height:20px;padding:0;margin-left:180px;overflow:hidden}#maxbuttons .logo .fb-like span{vertical-align:top !important}#maxbuttons .dummy-heading{display:none}@media screen and (max-width: 960px){#maxbuttons .main{width:100%}}#maxbuttons .tablenav .input-paging{width:55px}#maxbuttons .ads ul li{margin-bottom:4px}#maxbuttons .preview-buttons{background-color:#fff;border:1px solid #dfdfdf;overflow:hidden}#maxbuttons .preview-buttons .heading{width:100%;clear:both;display:inline-block;border-bottom:1px solid #dfdfdf}#maxbuttons .preview-buttons .heading>span{display:inline-block;font-weight:700;font-size:14px;float:left}#maxbuttons .preview-buttons .button-row{width:100%;clear:both;display:inline-block;border-bottom:1px solid #dfdfdf;position:relative}#maxbuttons .preview-buttons .button-row>span{display:inline-block;font-size:13px;float:left;overflow:hidden}#maxbuttons .preview-buttons .button-row .actions{margin:5px 0;padding:10px 0px 10px 8px;display:inline-block;z-index:11;width:50%;background-color:#fff;position:relative}#maxbuttons .preview-buttons .button-row:hover .actions{opacity:1}#maxbuttons .preview-buttons .col{padding:10px 0 10px 1%}#maxbuttons .preview-buttons .col_check{width:20px}#maxbuttons .preview-buttons .col_button{width:60%;overflow:hidden}@media (max-width: 780px){#maxbuttons .preview-buttons .col_button{width:70%;margin-right:5%}}#maxbuttons .preview-buttons .col_button .actions{opacity:0;transition:all 400ms linear}#maxbuttons .preview-buttons .col_name{width:15%}@media (max-width: 780px){#maxbuttons .preview-buttons .col_name{display:none !important}}#maxbuttons .preview-buttons .col_shortcode{width:15%;padding-right:0}#maxbuttons .preview-buttons .col_shortcode .last-update{font-size:11px;display:block;position:absolute;bottom:4px;color:#aaa}#maxbuttons p.status a{text-decoration:none}#maxbuttons p.status span.count{color:#999999}#maxbuttons .button-list{margin-top:10px;width:100%}#maxbuttons .button-list p{font-size:13px}#maxbuttons .button-list a{text-decoration:none}#maxbuttons .button-list a.button-name{font-weight:bold}#maxbuttons .button-list .shortcode-container{margin:10px 0px 10px 2px}#maxbuttons .button-list .collection_notice{text-align:right;margin:10px 5px 0 0;padding-top:10px;float:right}#maxbuttons .shortcode-container .mb-container{margin:0 !important;float:none !important;max-width:100% !important}#maxbuttons .shortcode-container .mb-center{text-align:left !important}#maxbuttons .pagination-links a.disabled{color:#aaa;cursor:default}#maxbuttons .pagination-links a.disabled:hover{background:#e4e4e4 none repeat scroll 0 0;cursor:default;border:1px solid #d2d2d2}#maxbuttons .pagination{width:100%;display:inline-block;margin:15px 0 5px}#maxbuttons .pagination li{float:left;margin-right:5px}#maxbuttons .pagination li a,#maxbuttons .pagination li span{background:#ccc;vertical-align:middle;padding:4px 10px 8px;height:15px;display:inline-block;border:1px solid #eee;text-decoration:none;font-size:14px;font-weight:bold}#maxbuttons .maxbutton-welcome-container{margin:25px 0;padding:15px;border:1px solid #ccc;background:#fff}#maxbuttons .maxbutton-welcome-container h3{font-size:26px}#maxbuttons .maxbutton-welcome-container p.started{font-size:18px}#maxbuttons .maxbutton-welcome-container p{font-size:14px;line-height:18px}#maxbuttons .maxbutton-welcome-container h3{font-size:20px}#maxbuttons .maxbutton-welcome-container ul{list-style-type:disc;margin-left:25px}#maxbuttons .maxbutton-welcome-container .organize{padding:16px;max-width:450px;border:1px solid #ccc}#maxbuttons.maxbuttons-controller-edit .main,#maxbuttons.maxbuttons-controller-button .main{width:auto;max-width:1200px}#maxbuttons .option-container{margin-bottom:20px;border:solid 1px #cccccc;border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;background-color:#fff;position:relative;z-index:1}#maxbuttons .option-container .title{font-size:18px;padding:9px 8px 9px 10px;text-align:left;text-shadow:0px 1px 0px #ffffff;position:relative;z-index:1}#maxbuttons .option-container .section-title{padding:15px;margin-top:10px;font-weight:700;font-size:16px}#maxbuttons .option-container .section-title{background-color:#fff}#maxbuttons .option-container .option-list{display:inline-block}#maxbuttons .option-container .option-list:after{clear:both}#maxbuttons .option-container .option-list .help{float:right;margin-top:5px}#maxbuttons .option-container .help{position:relative;font-size:24px;color:#666;margin-left:10px}#maxbuttons .option-container .help span{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;background-color:#fff;color:#444;position:absolute;display:none;padding:12px 10px;top:0;left:30px;min-width:250px;border-radius:5px;text-align:left;z-index:1000;border:1px solid #ccc;line-height:18px;box-shadow:2px 2px 3px #ccc}#maxbuttons .option-container .help span .nowrap{white-space:nowrap}#maxbuttons .option-container .help span .shortcode,#maxbuttons .option-container .help span .mb-message.mb-notice{color:555;white-space:nowrap}#maxbuttons .option-container .help:hover span{display:block}#maxbuttons .option-container .block_sidebar{position:absolute;right:0;top:0;left:calc(100% - 50px);height:100%;transition:all 400ms linear;z-index:1;background-color:#fff;overflow:hidden;width:50px}#maxbuttons .option-container .block_sidebar.active{left:0;bottom:0;right:0;top:0;width:100%}#maxbuttons .option-container .block_sidebar.active .open_control{left:0}#maxbuttons .option-container .block_sidebar.active .inside{opacity:1;padding-left:80px}#maxbuttons .option-container .block_sidebar.active .title{padding-left:80px;background:#fff;z-index:3}#maxbuttons .option-container .block_sidebar .open_control{background:#eee;background:linear-gradient(90deg, #ccc, #fff);z-index:4;width:50px;height:100%;position:absolute;top:0;left:0;cursor:pointer;border-top-left-radius:6px;border-bottom-left-radius:6px;border-left:3px solid rgba(204,204,204,0.7)}#maxbuttons .option-container .block_sidebar .open_control span{font-size:16px;text-transform:uppercase;font-weight:700;color:rgba(0,0,0,0.3);position:absolute;top:40%;white-space:nowrap;left:0;right:0;transform:rotate(90deg);letter-spacing:1.05px;word-spacing:1.1em}#maxbuttons .option-container .block_sidebar .inside{opacity:0}#maxbuttons .option-container>.inside,#maxbuttons .block_sidebar>.inside{padding:10px 55px 10px 15px;border-top:solid 1px #cccccc;background-color:#ffffff}#maxbuttons .option-container>.inside .option,#maxbuttons .option-container>.inside .option-design,#maxbuttons .block_sidebar>.inside .option,#maxbuttons .block_sidebar>.inside .option-design{margin-bottom:10px;display:block;position:relative}#maxbuttons .option-container>.inside .option.hidden,#maxbuttons .option-container>.inside .option-design.hidden,#maxbuttons .block_sidebar>.inside .option.hidden,#maxbuttons .block_sidebar>.inside .option-design.hidden{display:none}#maxbuttons .option-container>.inside .option .label,#maxbuttons .option-container>.inside .option>label,#maxbuttons .option-container>.inside .option-design .label,#maxbuttons .option-container>.inside .option-design>label,#maxbuttons .block_sidebar>.inside .option .label,#maxbuttons .block_sidebar>.inside .option>label,#maxbuttons .block_sidebar>.inside .option-design .label,#maxbuttons .block_sidebar>.inside .option-design>label{display:inline-block;font-weight:bold;padding-left:3px;padding-top:5px;width:145px;vertical-align:top;cursor:default;min-height:25px}#maxbuttons .option-container>.inside .option .label[for],#maxbuttons .option-container>.inside .option>label[for],#maxbuttons .option-container>.inside .option-design .label[for],#maxbuttons .option-container>.inside .option-design>label[for],#maxbuttons .block_sidebar>.inside .option .label[for],#maxbuttons .block_sidebar>.inside .option>label[for],#maxbuttons .block_sidebar>.inside .option-design .label[for],#maxbuttons .block_sidebar>.inside .option-design>label[for]{cursor:pointer}@media (max-width: 780px){#maxbuttons .option-container>.inside .option .label,#maxbuttons .option-container>.inside .option>label,#maxbuttons .option-container>.inside .option-design .label,#maxbuttons .option-container>.inside .option-design>label,#maxbuttons .block_sidebar>.inside .option .label,#maxbuttons .block_sidebar>.inside .option>label,#maxbuttons .block_sidebar>.inside .option-design .label,#maxbuttons .block_sidebar>.inside .option-design>label{font-size:14px}}#maxbuttons .option-container>.inside .option:after,#maxbuttons .option-container>.inside .option:before,#maxbuttons .option-container>.inside .option-design:after,#maxbuttons .option-container>.inside .option-design:before,#maxbuttons .block_sidebar>.inside .option:after,#maxbuttons .block_sidebar>.inside .option:before,#maxbuttons .block_sidebar>.inside .option-design:after,#maxbuttons .block_sidebar>.inside .option-design:before{clear:both}#maxbuttons .option-container>.inside .option label,#maxbuttons .block_sidebar>.inside .option label{margin-top:2px}#maxbuttons .option-container>.inside .option label.mbcolor,#maxbuttons .block_sidebar>.inside .option label.mbcolor{margin-top:5px}#maxbuttons .option-container>.inside .option label:nth-of-type(2),#maxbuttons .block_sidebar>.inside .option label:nth-of-type(2){margin-left:30px;width:115px}#maxbuttons .option-container>.inside .option .control-group,#maxbuttons .block_sidebar>.inside .option .control-group{display:inline-block}#maxbuttons .option-container>.inside .option .rotate-left,#maxbuttons .block_sidebar>.inside .option .rotate-left{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(-45), M12=-sin(-45), M21=sin(-45), M22=cos(-45));-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(-45), M12=-sin(-45), M21=sin(-45), M22=cos(-45))";zoom:1}#maxbuttons .option-container>.inside .option .rotate-right,#maxbuttons .block_sidebar>.inside .option .rotate-right{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(45), M12=-sin(45), M21=sin(45), M22=cos(45));-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(45), M12=-sin(45), M21=sin(45), M22=cos(45))";zoom:1}#maxbuttons .option-design{margin-bottom:10px}#maxbuttons .option-design .input td div.cell-label{padding:1px 10px 0px 5px;font-weight:bold;border-bottom:solid 1px #d1d1d1;width:180px;font-size:13px;height:30px}#maxbuttons .option-design .default-other{font-size:13px}#maxbuttons .option p.note,#maxbuttons .option-design p.note{font-style:italic;display:inline-block;clear:both;color:#808080;padding-left:3px;margin-top:10px;margin-bottom:5px;margin-left:0;display:block}#maxbuttons .option p.warning,#maxbuttons .option p.error{border-left:5px solid #d98500;font-size:13px;padding-left:18px;line-height:20px;max-width:450px}#maxbuttons .option p.error{border-color:#ff0000;font-weight:600}#maxbuttons .mb-message.shortcode h4,#maxbuttons .mb-message.mb-notice h4{font-size:16px}#maxbuttons .mb-message.shortcode strong,#maxbuttons .mb-message.mb-notice strong{font-weight:600}#maxbuttons .mb-message.shortcode .expanded,#maxbuttons .mb-message.mb-notice .expanded{display:none}#maxbuttons .mb-message.shortcode .expanded p,#maxbuttons .mb-message.mb-notice .expanded p{font-size:14px;line-height:22px}#maxbuttons .mb-message.shortcode .expanded .example strong,#maxbuttons .mb-message.mb-notice .expanded .example strong{width:300px;display:inline-block}#maxbuttons .mb-message.shortcode .shortcode-expand,#maxbuttons .mb-message.mb-notice .shortcode-expand{clear:both;font-weight:700;display:block;margin:5px 0;cursor:pointer}@media (max-width: 1024px){#maxbuttons .mb-message.shortcode .shortcode-expand,#maxbuttons .mb-message.mb-notice .shortcode-expand{float:none;text-align:left;margin:10px 0;display:block}}#maxbuttons .manual-box{float:right;margin:3px 15px;top:0;right:0}#maxbuttons .manual-box a{text-align:center;width:100%;background:#e0e0e0 none repeat scroll 0 0;font-size:13px;font-weight:600;margin-left:4px;margin-top:5px;padding:4px 8px;position:relative;text-decoration:none;text-shadow:none}#maxbuttons .manual-entry{display:none;position:absolute;border:1px solid #000;background:#fff;width:45%;right:25px;z-index:199;box-sizing:border-box;padding-bottom:20px}#maxbuttons .manual-entry h3{font-size:18px;width:calc(100%);box-sizing:border-box;padding:10px 0;border-bottom:1px solid #ccc;text-align:center;margin:0;padding-right:35px;position:relative}#maxbuttons .manual-entry h3 span{box-sizing:border-box;cursor:pointer;width:35px;height:100%;font-size:25px;display:inline-block;position:absolute;right:5px;top:0;padding-top:8px}#maxbuttons .manual-entry h4,#maxbuttons .manual-entry p,#maxbuttons .manual-entry ol,#maxbuttons .manual-entry ul{padding:0 15px}#maxbuttons .manual-entry h4{font-size:16px}#maxbuttons .manual-entry p{font-size:13px}#maxbuttons .output{position:fixed;top:45px;right:20px;background-color:#ffffff;border:solid 1px #414141;box-shadow:0px 0px 6px #808080;z-index:99;width:auto;min-width:300px}@media (max-width: 780px){#maxbuttons .output{-webkit-box-shadow:0 0 0 0;-moz-box-shadow:0 0 0 0;box-shadow:0 0 0 0;top:0;left:0;right:0;position:relative;margin-bottom:15px;border-color:#ccc}}#maxbuttons .output .header{color:#222222;background-color:#ffffff;border-bottom:solid 1px #cccccc;font-family:"Open Sans", sans-serif;font-size:16px;font-weight:bold;padding:8px 0px 8px 10px;cursor:move;position:relative}#maxbuttons .output .header .preview-toggle{float:right;font-size:30px;width:30px;position:absolute;top:3px;right:0}#maxbuttons .output .inner{padding:5px}#maxbuttons .output .inner p{padding:5px 0 5px 5px}#maxbuttons .output .input.mbcolor{float:left;position:relative;margin-top:5px}#maxbuttons .output .input.mbcolor .wp-picker-container.wp-picker-active{padding:15px;border:1px solid #ccc;background-color:#fff;position:absolute;bottom:-15px;left:-270px;z-index:102;-webkit-box-shadow:4px 1px 5px #ccc;-moz-box-shadow:4px 1px 5px #ccc;box-shadow:4px 1px 5px #ccc}#maxbuttons .output .note{float:left;margin:8px 0px 0px 10px}#maxbuttons .output .result{padding:20px 5px}#maxbuttons .output .result p{padding:5px 0px 5px 0px;margin:0}#maxbuttons .output .result.preview-border-box>*{box-sizing:border-box}#maxbuttons .output .result .border_wrapper{position:relative;display:inline-block;margin:15px}#maxbuttons .output .result .border_wrapper .preview_border_height{position:absolute;height:100%;width:3px;border-left:1px dashed #000;border-top:1px dashed #000}#maxbuttons .output .result .border_wrapper .preview_border_height span{right:30px;transform:rotate(-90deg);transform-origin:100% 0;position:absolute;line-height:30px;display:block;text-align:center}#maxbuttons .output .result .border_wrapper .preview_border_width{margin-top:5px;border-bottom:1px dashed #000;border-left:1px dashed #000;border-right:1px dashed #000;position:absolute;height:3px;width:100%;text-align:center}#maxbuttons .output .result .border_wrapper .preview_border_width span{background:#fff}#maxbuttons .output .result .border_wrapper .maxbutton-preview{margin-left:25px}#maxbuttons .conditional-option{display:none}#maxbuttons .media_option_prot,#maxbuttons #media_desc{display:none}#maxbuttons .copy-warning{width:400px;margin:0 auto;position:relative;line-height:1.1}#maxbuttons .copy-warning:before{content:"\f534";font-size:40px;color:#ff0000;width:35px;height:35px;font-family:"Dashicons";position:absolute;left:20px;top:40%;margin-top:-14px}#maxbuttons .copy-warning .example{margin-bottom:5px}#maxbuttons .form-actions a{margin-right:10px}#maxbuttons .button-save{transition:all 400ms linear}#maxbuttons .editor{min-width:850px}#maxbuttons .editor .screen-option-wrapper{display:flex}#maxbuttons .editor .screen-option-wrapper .screen-option{margin:4px 0;display:flex;align-items:center;padding:8px 12px;margin-right:4px;line-height:20px;border:1px solid #ccc;cursor:pointer;text-shadow:-1px 0 1px #ccc;box-shadow:0 1px 0 #aaa;min-height:75px;vertical-align:bottom;box-sizing:border-box}#maxbuttons .editor .screen-option-wrapper .screen-option .screen_name{font-size:14px}#maxbuttons .editor .screen-option-wrapper .screen-option .screen_size{font-size:10px;display:block;text-align:center}#maxbuttons .editor .screen-option-wrapper .screen-option.option-active{background:#fff;box-shadow:1px 1px 1px #2A0043}#maxbuttons .editor .screen-option-wrapper .screen-option.option-active .screen_name{font-weight:bold}#maxbuttons .editor .screen-option-wrapper .screen-option.button-save{text-decoration:none;float:right;border-radius:4px;padding:8px 26px;text-transform:uppercase}#maxbuttons .editor .screen-option-wrapper .screen-option.button-save a{margin:0;border:0;letter-spacing:1.1px;font-size:14px}#maxbuttons .editor .screen-option-wrapper a.screen-option{margin-left:auto;margin-right:0}#maxbuttons .editor .mbscreen-editor{display:none}#maxbuttons .editor .mbscreen-editor.current-screen{display:block}#maxbuttons .editor .mbscreen-editor .fieldmap{display:none}#maxbuttons .mb_tab.option-container.upgrade .removed-note{color:#ff0000;font-weight:600;text-align:center;font-size:14px;display:none}#maxbuttons .mb_tab.option-container.upgrade ul{list-style-type:disc;margin:25px 15px}#maxbuttons .mb_tab.option-container.upgrade ul li{font-size:14px}#maxbuttons .mb_tab.option-container.upgrade .button-row{margin-bottom:8px}#maxbuttons .mb_tab.option-container.upgrade .button-row .button{padding:8px;width:180px;text-align:center}#maxbuttons .mb_tab.option-container.upgrade .button-row .button.buynow{font-size:20px}#maxbuttons .mb_tab.option-container.upgrade .button-row .button.features{padding:6px 8px}#maxbuttons select{min-width:150px}#maxbuttons select.small{width:auto}#maxbuttons .input{display:inline-block;margin-right:15px;min-height:35px;vertical-align:top}#maxbuttons .input img{vertical-align:middle}#maxbuttons .input.mbcolor{min-width:50px}#maxbuttons .input.checkbox input{margin-top:0}#maxbuttons .input.checkbox label{line-height:16px;margin-top:0 !important}#maxbuttons .maxajax-load-spinner{width:16px;height:16px;background:url("/wp-admin/images/wpspin_light.gif") no-repeat;opacity:0.9s;display:inline-block;margin:0 10px;z-index:10;vertical-align:middle}#maxbuttons input[type='text']{width:450px}@media (max-width: 780px){#maxbuttons input[type='text']{width:350px}}#maxbuttons input[type='text'].tiny{width:35px;vertical-align:middle}#maxbuttons input[type='text'].small{width:50px}#maxbuttons input[type='text'].medium{width:150px}#maxbuttons input[type='text'].tiny-nopad{width:35px}#maxbuttons input[type='number']{vertical-align:middle}#maxbuttons input[type='number'].tiny,#maxbuttons input[type='number'].tiny-nopad{width:60px}@media (max-width: 780px){#maxbuttons input[type='number'].tiny,#maxbuttons input[type='number'].tiny-nopad{width:60px}}#maxbuttons input[type='number'].small{width:70px}@media (max-width: 780px){#maxbuttons input[type='number'].small{width:75px}}#maxbuttons textarea{width:450px;height:80px}#maxbuttons .option-container .inside .option label.mbcolor:nth-of-type(2){margin-left:37px}#maxbuttons .option-container .inside .option.url{margin-bottom:0}#maxbuttons .option-container .inside .option.url_options{margin:5px 0 10px}#maxbuttons .option-container .inside .option.url_options .nofollow{margin-left:35px}#maxbuttons .option-container .inside .option.url_options label,#maxbuttons .option-container .inside .option.rel_options label{font-weight:400}#maxbuttons .option-container .inside .option[class$="font"] .checkbox{margin-right:2px}#maxbuttons .option-container .inside .option[class$="font"] .radio{margin-right:0}#maxbuttons .option-container .inside .option[class$="font"] [class$="font"].input{margin-right:2px}#maxbuttons .option-container .inside .option[class$="font"] [class$="font_size"].input{margin-right:0}#maxbuttons .option-container .inside .option[class$="font"] [class$="font_size"].input:after{display:block}#maxbuttons .option-container .inside .option.size_unit_spacer .control-group{margin-right:30px}#maxbuttons .option-container .inside .option.size_unit_spacer .unit-spacer{width:115px}@media (max-width: 780px){#maxbuttons .option-container .inside .option[class$="font"]{display:inline-block}#maxbuttons .option-container .inside .option[class$="font"]:after{clear:both}#maxbuttons .option-container .inside .option[class$="font"]>*{float:left}}#maxbuttons .option-container .inside .option[class$="font"] span[class$="font_weight"].control-group{margin-left:12px}@media (max-width: 780px){#maxbuttons .option-container .inside .option[class$="font"] span[class$="font_weight"].control-group{clear:left;margin-left:148px;margin-top:10px}}#maxbuttons .option-container .inside .option[class$="font"] [class$="text_align"].control-group{margin-left:18px}@media (max-width: 780px){#maxbuttons .option-container .inside .option[class$="font"] [class$="text_align"].control-group{margin-left:20px;margin-top:10px}}#maxbuttons .option-container .inside .option.padding_top .input,#maxbuttons .option-container .inside .option.container_margin_top .input{margin-right:30px}#maxbuttons .option-container .inside .option.padding_top .input:last-of-type,#maxbuttons .option-container .inside .option.container_margin_top .input:last-of-type{margin-right:0}@media (max-width: 780px){#maxbuttons .option-container .inside .option.padding_top .input,#maxbuttons .option-container .inside .option.container_margin_top .input{margin-right:15px}}#maxbuttons .option-container .inside .option.text_color label{margin-top:0px}#maxbuttons .option-container .inside .option.text_color label:nth-of-type(2){margin-left:68px}#maxbuttons .option-container .inside .option.description label{padding-top:35px}#maxbuttons .option-container .inside .option .radius-wrap{position:relative;margin-left:45px;display:inline-block}#maxbuttons .option-container .inside .option.radius .label:first-child{width:100px;float:left}#maxbuttons .option-container .inside .option.radius .bottom,#maxbuttons .option-container .inside .option.radius .top{position:relative}#maxbuttons .option-container .inside .option.radius .bottom .input,#maxbuttons .option-container .inside .option.radius .top .input{margin-right:0;margin-left:0}#maxbuttons .option-container .inside .option.radius .bottom .dashicons:nth-child(3),#maxbuttons .option-container .inside .option.radius .top .dashicons:nth-child(3){margin-right:10px}#maxbuttons .option-container .inside .option.radius .top{margin-bottom:10px}#maxbuttons .option-container .inside .option.radius label{display:inline-block;font-weight:700;width:90px;margin-left:5px;cursor:default}#maxbuttons .option-container .inside .option.radius .dashicons{font-size:35px;height:35px;width:35px;color:#ccc}#maxbuttons .option-container .inside .option.radius .top .dashicons{margin-top:-5px}#maxbuttons .option-container .inside .option.radius .bottom .dashicons{margin-top:5px}#maxbuttons .option-container .inside .option.radius [id$="radius_toggle"]{position:absolute;left:46%;top:25px;font-size:30px;cursor:pointer}#maxbuttons .option-container .inside .option.gradient_head .label:nth-child(even){width:120px}#maxbuttons .option-container .inside .option .gradient_end_color,#maxbuttons .option-container .inside .option .gradient_end_color_hover{margin-left:58px}#maxbuttons .option-container .inside .option .input[class$="remove_screen"],#maxbuttons .option-container .inside .option .input[class$="new_add_screen"]{margin-left:150px}#maxbuttons .option-container .inside .option #new_add_screen{font-size:14px;padding:8px 12px 10px}#maxbuttons .default{display:inline-block;padding-left:10px;padding-top:4px;font-style:italic;color:#808080}#maxbuttons .default .other{padding-left:40px;padding-top:8px}#maxbuttons .mb-button{width:38px;height:38px;background-color:#eceded;display:inline-block;margin-right:6px;cursor:pointer;display:none}#maxbuttons .mb-button span{text-align:center;padding:9px 0;width:100%;line-height:20px}#maxbuttons .check_button{display:none}#maxbuttons .check_button+label{background-position:center center;background-repeat:no-repeat;background-color:#fff;display:inline-block;border:1px solid #ddd;font_weight:normal;padding:4px}@media (max-width: 780px){#maxbuttons .check_button+label{padding:10px}}#maxbuttons .check_button.text+label{padding:5px}#maxbuttons .check_button.icon+label i{width:20px;height:20px;color:#545454}#maxbuttons .check_button.icon+label i:focus{outline:none}#maxbuttons .check_button:checked+label{background:#ebebeb none repeat scroll 0 0;border-color:#999999;box-shadow:0 2px 5px -3px rgba(0,0,0,0.3) inset}#maxbuttons .option .input_label{display:inline-block;vertical-align:top}#maxbuttons .option .input_label.left{margin-right:10px}#maxbuttons .option .input_label.right{margin-left:10px}#maxbuttons .option .range_value{margin:8px 0 0 15px;float:right}#maxbuttons .option .range_value output{clear:both;font-size:15px;text-align:center;width:100%;display:inline-block}#maxbuttons .option .switch_label{padding-top:2px !important;margin:0 !important}#maxbuttons .switch_button{margin-left:-5px}#maxbuttons .switch_button label{padding:8px 5px}#maxbuttons .switch_button label:focus{outline:none}#maxbuttons .switch_button input{display:none}#maxbuttons .switch_button input:checked ~ .the_switch{background:#6fbeb5}#maxbuttons .switch_button input:checked ~ .the_switch:after{left:26px;background:#179588}#maxbuttons .switch_button input::disabled ~ .the_switch{background:#d5d5d5;pointer-events:none}#maxbuttons .switch_button input:disabled ~ .the_switch:after{background:#bcbdbc}#maxbuttons .switch_button .the_switch{position:relative;display:inline-block;height:15px;width:50px;background:#898989;border-radius:100px;cursor:pointer;transition:all 0.3s ease}#maxbuttons .switch_button .the_switch:after{position:absolute;left:-2px;top:-3px;display:block;width:24px;height:24px;border-radius:100px;background:#aaa;box-shadow:0px 3px 3px rgba(0,0,0,0.05);content:'';transition:all 0.2s ease}#maxbuttons .switch_button .the_switch:active:after{transform:scale(0.9, 0.85)}#maxbuttons .switch_button .the_switch:focus{outline:none}#maxbuttons .input.mbcolor{margin-top:5px;position:relative}#maxbuttons .input.mbcolor .wp-picker-clear{display:none}#maxbuttons .input.mbcolor input[type="text"]{width:75px;line-height:22px}#maxbuttons .input.mbcolor .wp-color-picker{width:inherit}#maxbuttons .input.mbcolor .wp-color-result{-webkit-box-shadow:-1px 1px 2px #999;-moz-box-shadow:-1px 1px 2px #999;box-shadow:-1px 1px 2px #999;height:30px;width:30px;border:0;position:relative;background:unset}#maxbuttons .input.mbcolor .wp-color-result:after{font-size:12px;line-height:30px;display:none}#maxbuttons .input.mbcolor .wp-color-result:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 5px rgba(30,140,190,0.8);-moz-box-shadow:0 0 5px rgba(30,140,190,0.8);box-shadow:0 0 5px rgba(30,140,190,0.8)}#maxbuttons .input.mbcolor .mb_transparent_wrap{background-image:url("../../images/transparent.png");width:30px;height:30px;border-radius:3px;display:inline-block;margin-right:8px}#maxbuttons .input.mbcolor .wp-picker-input-wrap{padding:0}#maxbuttons .input.mbcolor .wp-picker-input-wrap label{display:inline-block;vertical-align:top}#maxbuttons .input.mbcolor .wp-picker-active .wp-picker-input-wrap{display:inline-block;vertical-align:top}#maxbuttons .input.mbcolor .wp-picker-active+.arrows{display:inline-block}#maxbuttons .input.mbcolor .arrows{position:absolute;display:none;top:0;margin-top:40%}#maxbuttons .input.mbcolor .arrows.right{right:-45px}#maxbuttons .input.mbcolor .arrows.left{left:-35px}#maxbuttons .input.mbcolor .arrows .arrow-left,#maxbuttons .input.mbcolor .arrows .arrow-right{width:0;height:0;font-size:0;line-height:0;vertical-align:bottom;cursor:pointer;transition:.8s}#maxbuttons .input.mbcolor .arrows .arrow-left{border-top:30px solid transparent;border-bottom:30px solid transparent;border-right:20px solid #ccc}#maxbuttons .input.mbcolor .arrows .arrow-left:hover{border-right-color:#33b3db}#maxbuttons .input.mbcolor .arrows .arrow-right{border-top:30px solid transparent;border-bottom:30px solid transparent;border-left:20px solid #ccc;margin-top:35px}#maxbuttons .input.mbcolor .arrows .arrow-right:hover{border-left-color:#33b3db}#maxbuttons .input.mbcolor .arrows .left,#maxbuttons .input.mbcolor .arrows .right{display:inline-block;float:left;clear:both;width:35px;height:45px}#maxbuttons .input.mbcolor .arrows .left{margin-top:15px}#maxbuttons [type='range']{-webkit-appearance:none;width:250px;margin-top:8px}#maxbuttons [type='range']:focus{outline:0}#maxbuttons [type='range']:focus::-webkit-slider-runnable-track{background:#fff}#maxbuttons [type='range']:focus::-ms-fill-lower{background:#fff}#maxbuttons [type='range']:focus::-ms-fill-upper{background:#fff}#maxbuttons [type='range']::-webkit-slider-runnable-track{cursor:pointer;height:5px;transition:all .2s ease;width:250px;background:#fff;border:1px solid #cfd8dc;border-radius:10px}#maxbuttons [type='range']::-webkit-slider-thumb{background:#179588;border:0px solid #eceff1;border-radius:12px;cursor:pointer;height:20px;width:20px;-webkit-appearance:none;margin-top:-8.5px}#maxbuttons [type='range']::-moz-range-track{cursor:pointer;height:5px;transition:all .2s ease;width:250px;background:#fff;border:1px solid #cfd8dc;border-radius:10px}#maxbuttons [type='range']::-moz-range-thumb{background:#179588;border:0px solid #eceff1;border-radius:12px;cursor:pointer;height:20px;width:20px}#maxbuttons [type='range']::-ms-track{cursor:pointer;height:5px;transition:all .2s ease;width:250px;background:transparent;border-color:transparent;border-width:10px 0;color:transparent}#maxbuttons [type='range']::-ms-fill-lower{background:#f2f2f2;border:1px solid #cfd8dc;border-radius:20px}#maxbuttons [type='range']::-ms-fill-upper{background:#fff;border:1px solid #cfd8dc;border-radius:20px}#maxbuttons [type='range']::-ms-thumb{background:#179588;border:0px solid #eceff1;border-radius:12px;cursor:pointer;height:20px;width:20px;margin-top:0}#maxbuttons .support.tiles{display:flex}#maxbuttons .support.tiles>div{background-color:#0073aa;margin:0 25px 0 0;padding:16px}#maxbuttons .support.tiles>div a{color:#fff;text-align:center;font-size:20px;text-decoration:none}#maxbuttons .system_info{width:90%;background-color:#fff;border:1px solid #000;padding:15px}#maxbuttons .system_info .info{margin:5px 0}#maxbuttons .system_info .info label{width:250px;display:inline-block;clear:both}#maxbuttons.maxbuttons-settings .option-container .inside .option-design{margin:20px 0}#maxbuttons.maxbuttons-settings .option-container .inside .option-design label{line-height:14px;height:40px;vertical-align:top;width:200px;margin-right:20px}#maxbuttons h2.tabs{margin:1em 0;min-height:35px}#maxbuttons h2.sub-tabs,#maxbuttons h2.submit-tab{list-style:none;clear:both;margin-bottom:0}#maxbuttons h2.sub-tabs a,#maxbuttons h2.submit-tab a{font-weight:400;font-size:14px;cursor:pointer}#maxbuttons h2.sub-tabs a .dashicons,#maxbuttons h2.submit-tab a .dashicons{margin-right:10px;line-height:24px}#maxbuttons h2.sub-tabs .save-indicator,#maxbuttons h2.submit-tab .save-indicator{float:right;font-size:25px;display:none;margin-right:10px}#maxbuttons h2.sub-tabs .save-indicator.dashicons-warning,#maxbuttons h2.submit-tab .save-indicator.dashicons-warning{color:#ff0000}#maxbuttons h2.sub-tabs .save-indicator.dashicons-yes,#maxbuttons h2.submit-tab .save-indicator.dashicons-yes{color:#00ff00}#maxbuttons.mb_tabs_active .mb_tab{border:0px;background:none;border-radius:0 0 0 0;-webkit-border-radius:0 0 0 0}#maxbuttons.mb_tabs_active .mb_tab>.title:nth-of-type(1) button{top:0}#maxbuttons.mb_tabs_active .mb_tab>.title:nth-of-type(1) .right{float:right}#maxbuttons.mb_tabs_active .mb_tab>.inside{border:1px solid #e5e5e5}#maxbuttons.maxbuttons-collections-edit .main{width:100%;max-width:none}#maxbuttons .collection-addnew{display:inline-block}@media (max-width: 780px){#maxbuttons .collection-addnew{margin-left:5px}}#maxbuttons .collection_list .collection{position:relative;background-color:#fff;padding:15px;border-radius:15px;margin:15px 0}#maxbuttons .collection_list .collection h3{display:inline-block;width:90%;margin-top:0;font-size:18px;line-height:20px}#maxbuttons .collection_list .collection h3 a{color:#000;font-size:25px;text-decoration:none}#maxbuttons .collection_list .collection h3 a:hover{text-decoration:underline}#maxbuttons .collection_list .collection h3 .dashicons{color:#ccc;margin-left:15px}#maxbuttons .collection_list .collection h3 .button-count{font-weight:400;font-size:15px;margin-left:15px;vertical-align:top}#maxbuttons .collection_list .collection .collection_remove{top:10px;right:15px;font-size:25px;font-weight:400;position:absolute;cursor:pointer}#maxbuttons .collection_list .collection.welcome p{font-size:14px;line-height:22px}#maxbuttons .collection_list .collection-container{position:relative;width:100%;display:inline-block;clear:both}#maxbuttons .collection_list .collection-container .maxcollection{position:static !important}#maxbuttons .inside .preview_collection.option label{display:inline-block;float:none;font-size:25px;width:100%}#maxbuttons .mb_collection_selection{display:inline-block;min-height:300px;margin:25px 0}#maxbuttons .mb_collection_selection .sortable .item{margin-bottom:25px;position:relative;padding-left:30px;min-height:45px;clear:both}#maxbuttons .mb_collection_selection .sortable .item .button-remove{margin-top:5px;position:absolute;left:20px;top:-15px;border:1px solid #000;border-radius:11px;width:20px;height:20px;background-color:rgba(0,0,0,0.5)}#maxbuttons .mb_collection_selection .sortable .item .button-remove:hover{cursor:pointer}#maxbuttons .mb_collection_selection .sortable .item .button-remove span{color:#fff;font-size:16px;padding-top:2px;overflow:hidden}#maxbuttons .mb_collection_selection .sortable-placeholder{border:3px dashed #aaa;height:45px;width:344px;background:#ccc}#maxbuttons .mb_collection_selection .button_data{display:none}#maxbuttons .mb-social-options{float:right;width:45%;border:1px solid #000;height:100%}#maxbuttons .mb-buttons-selection{float:left;width:45%;overflow:hidden;border:1px solid #000}#maxbuttons .mb-preview-window{position:fixed;top:40%;right:20px;width:30%;max-width:45%;max-height:90vh;background-color:rgba(255,255,255,0.7);border:1px solid #000;z-index:500 !important;overflow:hidden;display:none}@media (max-width: 780px){#maxbuttons .mb-preview-window{position:relative;left:0;top:0;bottom:0;right:0;width:100%;height:auto;display:inline-block;border-color:#ccc}}#maxbuttons .mb-preview-window .mb-preview-wrapper{position:relative;display:inline-block;width:100%}#maxbuttons .sub-tabs .preview-on{background-color:#00b9eb;color:#fff}#maxbuttons .sub-tabs .preview-on::before{line-height:24px}#maxbuttons #picker-back{top:0;left:0;right:0;bottom:0;background-color:#000;z-index:110000;position:fixed;opacity:0.7;display:none}#maxbuttons #picker-modal,#maxbuttons .max-modal.picker-modal{display:none;width:calc(100% - 60px);min-height:300px;top:30px;bottom:30px;left:30px;right:30px;z-index:160000}#maxbuttons #picker-modal .modal_header,#maxbuttons .max-modal.picker-modal .modal_header{height:15px;display:block;overflow:hidden;top:0;left:0;bottom:0;right:0;border:0}#maxbuttons #picker-modal .picker-packages,#maxbuttons .max-modal.picker-modal .picker-packages{top:31px;left:0;width:205px;bottom:0;background-color:#f3f3f3;position:absolute;border-right:1px solid #ccc;overflow-x:hidden;overflow-y:auto}#maxbuttons #picker-modal .picker-packages ul,#maxbuttons .max-modal.picker-modal .picker-packages ul{margin-top:4px}#maxbuttons #picker-modal .picker-packages li a,#maxbuttons .max-modal.picker-modal .picker-packages li a{padding:6px 20px;display:block;color:#0073aa;text-decoration:none;font-size:13px;line-height:16px}#maxbuttons #picker-modal .picker-packages li a:hover,#maxbuttons .max-modal.picker-modal .picker-packages li a:hover{background:rgba(0,0,0,0.04) none repeat scroll 0 0;color:#21759b}#maxbuttons #picker-modal .picker-packages li a.pack-active,#maxbuttons .max-modal.picker-modal .picker-packages li a.pack-active{font-weight:700;color:#000}#maxbuttons #picker-modal .picker-main,#maxbuttons .max-modal.picker-modal .picker-main{left:206px;top:31px;right:0;bottom:60px;position:absolute;border-bottom:1px solid #dddddd;overflow-y:scroll;background-color:#fff}#maxbuttons #picker-modal .picker-main .screen,#maxbuttons .max-modal.picker-modal .picker-main .screen{margin:5px 5px}#maxbuttons #picker-modal .picker-main .screen .tablenav-pages,#maxbuttons .max-modal.picker-modal .picker-main .screen .tablenav-pages{float:none;margin-left:1%}#maxbuttons #picker-modal .picker-main .item,#maxbuttons .max-modal.picker-modal .picker-main .item{padding:5px;margin:5px 0 5px 1%;border:1px solid #000;width:16%;height:auto;float:left;text-align:center;position:relative;background-color:#eee;border:1px solid #b4b9be;display:inline-block}#maxbuttons #picker-modal .picker-main .item .button_data,#maxbuttons .max-modal.picker-modal .picker-main .item .button_data{display:none}#maxbuttons #picker-modal .picker-main .item .button_name,#maxbuttons .max-modal.picker-modal .picker-main .item .button_name{clear:left;display:block;margin-top:15px;font-size:9px}#maxbuttons #picker-modal .picker-main .item .button-selected,#maxbuttons .max-modal.picker-modal .picker-main .item .button-selected{position:absolute;font-size:20px;top:-10px;right:-10px;width:24px;height:24px;color:#fff;background-color:#1e8cbe;z-index:100;border-radius:12px}#maxbuttons #picker-modal .picker-main .item .button-selected span,#maxbuttons .max-modal.picker-modal .picker-main .item .button-selected span{padding-top:2px}#maxbuttons #picker-modal .picker-inselection,#maxbuttons .max-modal.picker-modal .picker-inselection{height:60px;display:block;position:absolute;bottom:0;right:0;left:206px;overflow:hidden}#maxbuttons #picker-modal .picker-inselection .info,#maxbuttons .max-modal.picker-modal .picker-inselection .info{height:60px;float:left;display:inline-block;padding:10px 15px;display:none}#maxbuttons #picker-modal .picker-inselection .info .clear-selection,#maxbuttons .max-modal.picker-modal .picker-inselection .info .clear-selection{color:#ff0000;display:block;padding:0}#maxbuttons #picker-modal .picker-inselection .info .clear-selection:hover,#maxbuttons .max-modal.picker-modal .picker-inselection .info .clear-selection:hover{background-color:#ff0000;color:#fff}#maxbuttons #picker-modal .picker-inselection .items,#maxbuttons .max-modal.picker-modal .picker-inselection .items{display:inline-block;position:absolute;overflow:hidden;padding-top:5px;height:100%;left:130px;right:180px}@media (max-width: 780px){#maxbuttons #picker-modal .picker-inselection .items,#maxbuttons .max-modal.picker-modal .picker-inselection .items{display:none}}#maxbuttons #picker-modal .picker-inselection .items .item,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item{height:40px;width:40px;overflow:hidden;float:left;margin:3px;position:relative}#maxbuttons #picker-modal .picker-inselection .items .item .button_name,#maxbuttons #picker-modal .picker-inselection .items .item .button_data,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button_name,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button_data{display:none}#maxbuttons #picker-modal .picker-inselection .items .item .button-remove,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button-remove{display:none;position:absolute;width:30px;height:30px;left:2px;border-radius:15px;top:2px;background-color:rgba(0,0,0,0.5)}#maxbuttons #picker-modal .picker-inselection .items .item .button-remove span,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button-remove span{font-size:20px;color:#fff;padding-left:5px;padding-top:5px}#maxbuttons #picker-modal .picker-inselection .items .item:hover .button-remove,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item:hover .button-remove{display:block}#maxbuttons #picker-modal .picker-inselection .add,#maxbuttons .max-modal.picker-modal .picker-inselection .add{float:right;margin-top:15px;margin-right:15px;height:100%}#maxbuttons .social_block .social-option{clear:both;margin-top:25px}#maxbuttons .social_block .social-option .shortcode-container{display:inline-block}#maxbuttons .social_block .social-option .button_name{display:inline-block;margin-left:10px;vertical-align:middle;font-weight:700}#maxbuttons #mbfeedback .link{height:25px;width:100px;position:fixed;top:40%;right:0;z-index:1000;transform:rotate(90deg);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}#maxbuttons #mbfeedback .link a{background:#ccc;height:25px;width:70px;padding:8px 16px;color:#fff;font-family:Arial, sans-serif;font-size:15px;font-weight:bold;text-decoration:none;line-height:15px;border-bottom:solid 1px #333;border-left:solid 1px #333;border-right:solid 1px #fff}#maxbuttons #mbfeedback .link a::hover{background:#06c}#maxbuttons .ad-wrap{width:27%;float:left;max-width:300px;margin-left:1%;min-width:200px;margin-top:41px}#maxbuttons .ad-wrap .ads{background:#fff;margin-bottom:20px;text-align:center}#maxbuttons .ad-wrap .ads.image-ad{background:none;margin-top:20px}#maxbuttons .ad-wrap .ads.image-ad img{max-width:100%}#maxbuttons .ad-wrap .ads>a{text-decoration:none}#maxbuttons .ad-wrap .ads .header{background-color:#88c5c2;color:#fff;font-size:18px;text-transform:uppercase;padding:12px}#maxbuttons .ad-wrap .ads h3{text-align:center;padding-bottom:14px}#maxbuttons .ad-wrap .ads ul{list-style:none}#maxbuttons .ad-wrap .ads ul li{font-weight:bold;text-decoration:none;color:#000000}#maxbuttons .ad-wrap .ads ul li.plus{font-size:38px;font-weight:700;color:#88c5c2}#maxbuttons .ad-wrap .ads span.img{text-align:center;display:block}#maxbuttons .ad-wrap .ads .ads_button_wrap{margin:20px 0 30px;display:inline-block}#maxbuttons .ad-wrap .ads .ads_button_wrap .button{color:#fff;background-color:#88c5c2;font-size:16px;font-weight:bold;border:0;padding:0 40px}@media screen and (max-width: 960px){#maxbuttons .ad-wrap{display:none}}#maxbuttons.maxbuttons-pro-gopro .main{width:95%;max-width:860px}#maxbuttons.maxbuttons-pro-gopro h1.title{margin:0;font-size:24px;display:inline-block}#maxbuttons.maxbuttons-pro-gopro h1.title .big-maxg-btn{display:inline-block;background-color:#86c5c2;border-color:#73a3a8;margin:0 10px;vertical-align:super;line-height:23px;border-top:0;border-left:0;border-right:0;top:5px}#maxbuttons.maxbuttons-pro-gopro h1.title img{vertical-align:middle}#maxbuttons.maxbuttons-pro-gopro .logo{margin:0;display:inline-block;margin-top:14px}#maxbuttons.maxbuttons-pro-gopro .logo .simple-btn{color:#62c0e6;text-decoration:underline}#maxbuttons.maxbuttons-pro-gopro .default-section{text-align:center;padding:0px 10px}#maxbuttons.maxbuttons-pro-gopro .default-section p{position:relative;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size:16px;margin:17px 0;color:#5b5b5b}#maxbuttons.maxbuttons-pro-gopro .default-section:nth-child(even){background-color:#fff}#maxbuttons.maxbuttons-pro-gopro .default-section:nth-child(odd){background-color:#faf5f1}#maxbuttons.maxbuttons-pro-gopro .default-section .big-maxg-btn{background-color:#fd8d61;border-color:#f0702b;font-size:32px;margin:10px}#maxbuttons.maxbuttons-pro-gopro .default-section h2{font-weight:bold;color:#88c5c2;font-size:36px;line-height:38px;max-width:80%;margin:14px auto}#maxbuttons.maxbuttons-pro-gopro .default-section .rating{width:380px;margin:0 auto}#maxbuttons.maxbuttons-pro-gopro .default-section .rating p{margin:10px 0 0;font-size:22px;color:#000}#maxbuttons.maxbuttons-pro-gopro .default-section .icon-row p{font-weight:bold}#maxbuttons.maxbuttons-pro-gopro .default-section .icon-row img{width:106px;height:106px}#maxbuttons.maxbuttons-pro-gopro .social-row div{margin-bottom:5px}#maxbuttons.maxbuttons-pro-gopro .social-row p{background:#fff;padding:15px 5px 0 5px;margin:15px 0 0 15px;font-weight:700}#maxbuttons.maxbuttons-pro-gopro .social-row img{margin-top:15px}#maxbuttons.maxbuttons-pro-gopro .social-row p{min-height:162px}#maxbuttons.maxbuttons-pro-gopro .container{width:inherit;margin:0 auto;padding:30px 0}#maxbuttons.maxbuttons-pro-gopro img{max-width:100%}#maxbuttons.maxbuttons-pro-gopro .icon-row,#maxbuttons.maxbuttons-pro-gopro .image-row{position:relative}#maxbuttons.maxbuttons-pro-gopro .width-100{width:100%;margin-bottom:15px}#maxbuttons.maxbuttons-pro-gopro .width-33{width:33.33333333%;float:left;padding:0 15px;margin:0 -15px 40px}#maxbuttons.maxbuttons-pro-gopro .width-50{width:50%;float:left;padding:0 15px;margin:0 -15px 40px}#maxbuttons.maxbuttons-pro-gopro .clearfix{clear:both}#maxbuttons.maxbuttons-pro-gopro .bordered{border-radius:30px;padding:16px;background-color:#fff;border:4px solid #bbb;box-sizing:border-box}@media (max-width: 780px){#maxbuttons.maxbuttons-pro-gopro .bordered{border:0;padding:8}}#maxbuttons.maxbuttons-pro-gopro .bordered p{margin:0 0 10px}#maxbuttons.maxbuttons-pro-gopro .inline-block{display:inline-block !important;vertical-align:middle}#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn{font-size:20px;color:#fff;font-weight:bold;padding:18px 15px 10px;transition:all linear .2s;display:block;text-align:center;border-bottom:4px solid;text-transform:uppercase;border-radius:10px;text-decoration:none;line-height:42px}#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn:hover,#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn:focus{color:#fff;text-decoration:none;outline:none}#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn:hover{box-shadow:0 8px 6px -6px rgba(0,0,0,0.5)}#maxbuttons.maxbuttons-pro-gopro .price{position:relative;display:inline-block}#maxbuttons.maxbuttons-pro-gopro .price span{position:absolute;color:#fff;display:block;font-size:46px;font-weight:700;top:55px;left:26px}#maxbuttons.maxbuttons-collections-gosocial .social-share-move{background-color:#fff}#maxbuttons.maxbuttons-collections-gosocial .social-share-move .container{padding:15px}#maxbuttons.maxbuttons-collections-gosocial .topbox h1{display:inline-block;font-size:36px;font-weight:700}#maxbuttons.maxbuttons-collections-gosocial .topbox .icon-left{float:left;margin:0 15px 15px 0;display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .topbox h3{display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .topbox:after{clear:both}#maxbuttons.maxbuttons-collections-gosocial .imagebox{clear:both}#maxbuttons.maxbuttons-collections-gosocial .featurebox{margin:20px 0;display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .featurebox h3{display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .featurebox .block{width:45%;float:left;margin-right:3px}#maxbuttons.maxbuttons-collections-gosocial .linkbox{clear:both;margin:30px auto;text-align:center;display:inline-block;width:100%}#maxbuttons.maxbuttons-collections-gosocial .linkbox .install-now{font-size:30px;height:50px;padding-top:10px}
1
+ .mb_colorpicker{z-index:200}.ads .button-primary{display:block;margin:0 auto 20px auto;width:210px;text-align:center;overflow:visible}.max-load-spinner{background:url("/wp-admin/images/wpspin_light.gif") no-repeat;background-size:16px 16px;opacity:.9;width:16px;height:16px;display:inline-block;vertical-align:middle;position:absolute;top:50%;left:50%;margin-left:-8px;margin-top:-8px;z-index:10}.max-load-spinner.large{background:url("/wp-admin/images/wpspin_light-2x.gif") no-repeat;width:32px;height:32px}.max-load-overlay{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.80;background-color:#f0f0f0;z-index:9}#maxbuttons{display:inline-block;width:100%}#maxbuttons .message,#maxbuttons .mb-message{border:solid 1px #e6db55;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:10px;margin:10px 0px 20px 0px;clear:both;background:#fff}#maxbuttons .main{position:relative;z-index:500;margin-top:15px;width:72%;float:left}#maxbuttons .mb-message.error{font-weight:700}#maxbuttons .mb-message.shortcode,#maxbuttons .mb-message.mb-notice{border:solid 1px #e6db55;background-color:#ffffe0}#maxbuttons .mb-message.warning{border-left:4px solid #ffba00}#maxbuttons .mb-message.error{border-left:4px solid #ff0000}#maxbuttons .button-bar,#maxbuttons .form-actions,#maxbuttons.mb_tabs_active .mb_tab>.title:nth-of-type(1){margin:15px 0;padding:10px;background:#fbfbfb none repeat scroll 0 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);min-height:28px}#maxbuttons h1>span{vertical-align:top;float:left}@media (max-width: 1024px){#maxbuttons h1>span{float:none}}#maxbuttons .logo{font-weight:400;font-size:18px;overflow:hidden;text-align:center}@media (max-width: 1024px){#maxbuttons .logo{text-align:left;margin-top:15px}}#maxbuttons .logo img{vertical-align:middle;padding-left:5px;padding-right:5px}#maxbuttons .logo .fb-like{margin-top:5px;height:20px;padding:0;margin-left:180px;overflow:hidden}#maxbuttons .logo .fb-like span{vertical-align:top !important}#maxbuttons .dummy-heading{display:none}@media screen and (max-width: 960px){#maxbuttons .main{width:100%}}#maxbuttons .tablenav .input-paging{width:55px}#maxbuttons .ads ul li{margin-bottom:4px}#maxbuttons .preview-buttons{background-color:#fff;border:1px solid #dfdfdf;overflow:hidden}#maxbuttons .preview-buttons .heading{width:100%;clear:both;display:inline-block;border-bottom:1px solid #dfdfdf}#maxbuttons .preview-buttons .heading>span{display:inline-block;font-weight:700;font-size:14px;float:left}#maxbuttons .preview-buttons .button-row{width:100%;clear:both;display:inline-block;border-bottom:1px solid #dfdfdf;position:relative}#maxbuttons .preview-buttons .button-row>span{display:inline-block;font-size:13px;float:left;overflow:hidden}#maxbuttons .preview-buttons .button-row .actions{margin:5px 0;padding:10px 0px 10px 8px;display:inline-block;z-index:11;width:50%;background-color:#fff;position:relative}#maxbuttons .preview-buttons .button-row:hover .actions{opacity:1}#maxbuttons .preview-buttons .col{padding:10px 0 10px 1%}#maxbuttons .preview-buttons .col_check{width:20px}#maxbuttons .preview-buttons .col_button{width:60%;overflow:hidden}@media (max-width: 780px){#maxbuttons .preview-buttons .col_button{width:70%;margin-right:5%}}#maxbuttons .preview-buttons .col_button .actions{opacity:0;transition:all 400ms linear}#maxbuttons .preview-buttons .col_name{width:15%}@media (max-width: 780px){#maxbuttons .preview-buttons .col_name{display:none !important}}#maxbuttons .preview-buttons .col_shortcode{width:15%;padding-right:0}#maxbuttons .preview-buttons .col_shortcode .last-update{font-size:11px;display:block;position:absolute;bottom:4px;color:#aaa}#maxbuttons p.status a{text-decoration:none}#maxbuttons p.status span.count{color:#999999}#maxbuttons .button-list{margin-top:10px;width:100%}#maxbuttons .button-list p{font-size:13px}#maxbuttons .button-list a{text-decoration:none}#maxbuttons .button-list a.button-name{font-weight:bold}#maxbuttons .button-list .shortcode-container{margin:10px 0px 10px 2px}#maxbuttons .button-list .collection_notice{text-align:right;margin:10px 5px 0 0;padding-top:10px;float:right}#maxbuttons .shortcode-container .mb-container{margin:0 !important;float:none !important;max-width:100% !important}#maxbuttons .shortcode-container .mb-center{text-align:left !important}#maxbuttons .pagination-links a.disabled{color:#aaa;cursor:default}#maxbuttons .pagination-links a.disabled:hover{background:#e4e4e4 none repeat scroll 0 0;cursor:default;border:1px solid #d2d2d2}#maxbuttons .pagination{width:100%;display:inline-block;margin:15px 0 5px}#maxbuttons .pagination li{float:left;margin-right:5px}#maxbuttons .pagination li a,#maxbuttons .pagination li span{background:#ccc;vertical-align:middle;padding:4px 10px 8px;height:15px;display:inline-block;border:1px solid #eee;text-decoration:none;font-size:14px;font-weight:bold}#maxbuttons .maxbutton-welcome-container{margin:25px 0;padding:15px;border:1px solid #ccc;background:#fff}#maxbuttons .maxbutton-welcome-container h3{font-size:26px}#maxbuttons .maxbutton-welcome-container p.started{font-size:18px}#maxbuttons .maxbutton-welcome-container p{font-size:14px;line-height:18px}#maxbuttons .maxbutton-welcome-container h3{font-size:20px}#maxbuttons .maxbutton-welcome-container ul{list-style-type:disc;margin-left:25px}#maxbuttons .maxbutton-welcome-container .organize{padding:16px;max-width:450px;border:1px solid #ccc}#maxbuttons.maxbuttons-controller-edit .main,#maxbuttons.maxbuttons-controller-button .main{width:auto;max-width:1200px}#maxbuttons .option-container{margin-bottom:20px;border:solid 1px #cccccc;border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;background-color:#fff;position:relative;z-index:1}#maxbuttons .option-container .title{font-size:18px;padding:9px 8px 9px 10px;text-align:left;text-shadow:0px 1px 0px #ffffff;position:relative;z-index:1}#maxbuttons .option-container .section-title{padding:15px;margin-top:10px;font-weight:700;font-size:16px}#maxbuttons .option-container .section-title{background-color:#fff}#maxbuttons .option-container .option-list{display:inline-block}#maxbuttons .option-container .option-list:after{clear:both}#maxbuttons .option-container .option-list .help{float:right;margin-top:5px}#maxbuttons .option-container .help{position:relative;font-size:24px;color:#666;margin-left:10px}#maxbuttons .option-container .help span{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;background-color:#fff;color:#444;position:absolute;display:none;padding:12px 10px;top:0;left:30px;min-width:250px;border-radius:5px;text-align:left;z-index:1000;border:1px solid #ccc;line-height:18px;box-shadow:2px 2px 3px #ccc}#maxbuttons .option-container .help span .nowrap{white-space:nowrap}#maxbuttons .option-container .help span .shortcode,#maxbuttons .option-container .help span .mb-message.mb-notice{color:555;white-space:nowrap}#maxbuttons .option-container .help:hover span{display:block}#maxbuttons .option-container .block_sidebar{position:absolute;right:0;top:0;left:calc(100% - 50px);height:100%;transition:all 400ms linear;z-index:1;background-color:#fff;overflow:hidden;width:50px}#maxbuttons .option-container .block_sidebar.active{left:0;bottom:0;right:0;top:0;width:100%}#maxbuttons .option-container .block_sidebar.active .open_control{left:0}#maxbuttons .option-container .block_sidebar.active .inside{opacity:1;padding-left:80px}#maxbuttons .option-container .block_sidebar.active .title{padding-left:80px;background:#fff;z-index:3}#maxbuttons .option-container .block_sidebar .open_control{background:#eee;background:linear-gradient(90deg, #ccc, #fff);z-index:4;width:50px;height:100%;position:absolute;top:0;left:0;cursor:pointer;border-top-left-radius:6px;border-bottom-left-radius:6px;border-left:3px solid rgba(204,204,204,0.7)}#maxbuttons .option-container .block_sidebar .open_control span{font-size:16px;text-transform:uppercase;font-weight:700;color:rgba(0,0,0,0.3);position:absolute;top:40%;white-space:nowrap;left:0;right:0;transform:rotate(90deg);letter-spacing:1.05px;word-spacing:1.1em}#maxbuttons .option-container .block_sidebar .inside{opacity:0}#maxbuttons .option-container>.inside,#maxbuttons .block_sidebar>.inside{padding:10px 55px 10px 15px;border-top:solid 1px #cccccc;background-color:#ffffff}#maxbuttons .option-container>.inside .option,#maxbuttons .option-container>.inside .option-design,#maxbuttons .block_sidebar>.inside .option,#maxbuttons .block_sidebar>.inside .option-design{margin-bottom:10px;display:block;position:relative}#maxbuttons .option-container>.inside .option.hidden,#maxbuttons .option-container>.inside .option-design.hidden,#maxbuttons .block_sidebar>.inside .option.hidden,#maxbuttons .block_sidebar>.inside .option-design.hidden{display:none}#maxbuttons .option-container>.inside .option .label,#maxbuttons .option-container>.inside .option>label,#maxbuttons .option-container>.inside .option-design .label,#maxbuttons .option-container>.inside .option-design>label,#maxbuttons .block_sidebar>.inside .option .label,#maxbuttons .block_sidebar>.inside .option>label,#maxbuttons .block_sidebar>.inside .option-design .label,#maxbuttons .block_sidebar>.inside .option-design>label{display:inline-block;font-weight:bold;padding-left:3px;padding-top:5px;width:145px;vertical-align:top;cursor:default;min-height:25px}#maxbuttons .option-container>.inside .option .label[for],#maxbuttons .option-container>.inside .option>label[for],#maxbuttons .option-container>.inside .option-design .label[for],#maxbuttons .option-container>.inside .option-design>label[for],#maxbuttons .block_sidebar>.inside .option .label[for],#maxbuttons .block_sidebar>.inside .option>label[for],#maxbuttons .block_sidebar>.inside .option-design .label[for],#maxbuttons .block_sidebar>.inside .option-design>label[for]{cursor:pointer}@media (max-width: 780px){#maxbuttons .option-container>.inside .option .label,#maxbuttons .option-container>.inside .option>label,#maxbuttons .option-container>.inside .option-design .label,#maxbuttons .option-container>.inside .option-design>label,#maxbuttons .block_sidebar>.inside .option .label,#maxbuttons .block_sidebar>.inside .option>label,#maxbuttons .block_sidebar>.inside .option-design .label,#maxbuttons .block_sidebar>.inside .option-design>label{font-size:14px}}#maxbuttons .option-container>.inside .option:after,#maxbuttons .option-container>.inside .option:before,#maxbuttons .option-container>.inside .option-design:after,#maxbuttons .option-container>.inside .option-design:before,#maxbuttons .block_sidebar>.inside .option:after,#maxbuttons .block_sidebar>.inside .option:before,#maxbuttons .block_sidebar>.inside .option-design:after,#maxbuttons .block_sidebar>.inside .option-design:before{clear:both}#maxbuttons .option-container>.inside .option label,#maxbuttons .block_sidebar>.inside .option label{margin-top:2px}#maxbuttons .option-container>.inside .option label.mbcolor,#maxbuttons .block_sidebar>.inside .option label.mbcolor{margin-top:5px}#maxbuttons .option-container>.inside .option label:nth-of-type(2),#maxbuttons .block_sidebar>.inside .option label:nth-of-type(2){margin-left:30px;width:115px}#maxbuttons .option-container>.inside .option .control-group,#maxbuttons .block_sidebar>.inside .option .control-group{display:inline-block}#maxbuttons .option-container>.inside .option .rotate-left,#maxbuttons .block_sidebar>.inside .option .rotate-left{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(-45), M12=-sin(-45), M21=sin(-45), M22=cos(-45));-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(-45), M12=-sin(-45), M21=sin(-45), M22=cos(-45))";zoom:1}#maxbuttons .option-container>.inside .option .rotate-right,#maxbuttons .block_sidebar>.inside .option .rotate-right{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(45), M12=-sin(45), M21=sin(45), M22=cos(45));-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=cos(45), M12=-sin(45), M21=sin(45), M22=cos(45))";zoom:1}#maxbuttons .option-design{margin-bottom:10px}#maxbuttons .option-design .input td div.cell-label{padding:1px 10px 0px 5px;font-weight:bold;border-bottom:solid 1px #d1d1d1;width:180px;font-size:13px;height:30px}#maxbuttons .option-design .default-other{font-size:13px}#maxbuttons .option p.note,#maxbuttons .option-design p.note{font-style:italic;display:inline-block;clear:both;color:#808080;padding-left:3px;margin-top:10px;margin-bottom:5px;margin-left:0;display:block}#maxbuttons .option p.warning,#maxbuttons .option p.error{border-left:5px solid #d98500;font-size:13px;padding-left:18px;line-height:20px;max-width:450px}#maxbuttons .option p.error{border-color:#ff0000;font-weight:600}#maxbuttons .mb-message.shortcode h4,#maxbuttons .mb-message.mb-notice h4{font-size:16px}#maxbuttons .mb-message.shortcode strong,#maxbuttons .mb-message.mb-notice strong{font-weight:600}#maxbuttons .mb-message.shortcode .expanded,#maxbuttons .mb-message.mb-notice .expanded{display:none}#maxbuttons .mb-message.shortcode .expanded p,#maxbuttons .mb-message.mb-notice .expanded p{font-size:14px;line-height:22px}#maxbuttons .mb-message.shortcode .expanded .example strong,#maxbuttons .mb-message.mb-notice .expanded .example strong{width:300px;display:inline-block}#maxbuttons .mb-message.shortcode .shortcode-expand,#maxbuttons .mb-message.mb-notice .shortcode-expand{clear:both;font-weight:700;display:block;margin:5px 0;cursor:pointer}@media (max-width: 1024px){#maxbuttons .mb-message.shortcode .shortcode-expand,#maxbuttons .mb-message.mb-notice .shortcode-expand{float:none;text-align:left;margin:10px 0;display:block}}#maxbuttons .manual-box{float:right;margin:3px 15px;top:0;right:0}#maxbuttons .manual-box a{text-align:center;width:100%;background:#e0e0e0 none repeat scroll 0 0;font-size:13px;font-weight:600;margin-left:4px;margin-top:5px;padding:4px 8px;position:relative;text-decoration:none;text-shadow:none}#maxbuttons .manual-entry{display:none;position:absolute;border:1px solid #000;background:#fff;width:45%;right:25px;z-index:199;box-sizing:border-box;padding-bottom:20px}#maxbuttons .manual-entry h3{font-size:18px;width:calc(100%);box-sizing:border-box;padding:10px 0;border-bottom:1px solid #ccc;text-align:center;margin:0;padding-right:35px;position:relative}#maxbuttons .manual-entry h3 span{box-sizing:border-box;cursor:pointer;width:35px;height:100%;font-size:25px;display:inline-block;position:absolute;right:5px;top:0;padding-top:8px}#maxbuttons .manual-entry h4,#maxbuttons .manual-entry p,#maxbuttons .manual-entry ol,#maxbuttons .manual-entry ul{padding:0 15px}#maxbuttons .manual-entry h4{font-size:16px}#maxbuttons .manual-entry p{font-size:13px}#maxbuttons .output{position:fixed;top:45px;left:70%;background-color:#ffffff;border:solid 1px #414141;box-shadow:0px 0px 6px #808080;z-index:99;width:auto;min-width:300px}@media (max-width: 780px){#maxbuttons .output{-webkit-box-shadow:0 0 0 0;-moz-box-shadow:0 0 0 0;box-shadow:0 0 0 0;top:0;left:0;right:0;position:relative;margin-bottom:15px;border-color:#ccc}}#maxbuttons .output .header{color:#222222;background-color:#ffffff;border-bottom:solid 1px #cccccc;font-family:"Open Sans", sans-serif;font-size:16px;font-weight:bold;padding:8px 0px 8px 10px;cursor:move;position:relative}#maxbuttons .output .header .preview-toggle{float:right;font-size:30px;width:30px;position:absolute;top:3px;right:0}#maxbuttons .output .inner{padding:5px}#maxbuttons .output .inner p{padding:5px 0 5px 5px}#maxbuttons .output .input.mbcolor{float:left;position:relative;margin-top:5px}#maxbuttons .output .input.mbcolor .wp-picker-container.wp-picker-active{padding:15px;border:1px solid #ccc;background-color:#fff;position:absolute;bottom:-15px;left:-270px;z-index:102;-webkit-box-shadow:4px 1px 5px #ccc;-moz-box-shadow:4px 1px 5px #ccc;box-shadow:4px 1px 5px #ccc}#maxbuttons .output .note{float:left;margin:8px 0px 0px 10px}#maxbuttons .output .result{padding:20px 5px}#maxbuttons .output .result p{padding:5px 0px 5px 0px;margin:0}#maxbuttons .output .result.preview-border-box>*{box-sizing:border-box}#maxbuttons .output .result .border_wrapper{position:relative;display:inline-block;margin:15px}#maxbuttons .output .result .border_wrapper .preview_border_height{position:absolute;height:100%;width:3px;border-left:1px dashed #000;border-top:1px dashed #000}#maxbuttons .output .result .border_wrapper .preview_border_height span{right:30px;transform:rotate(-90deg);transform-origin:100% 0;position:absolute;line-height:30px;display:block;text-align:center}#maxbuttons .output .result .border_wrapper .preview_border_width{margin-top:5px;border-bottom:1px dashed #000;border-left:1px dashed #000;border-right:1px dashed #000;position:absolute;height:3px;width:100%;text-align:center}#maxbuttons .output .result .border_wrapper .preview_border_width span{background:#fff}#maxbuttons .output .result .border_wrapper .maxbutton-preview{margin-left:25px}#maxbuttons .conditional-option{display:none}#maxbuttons .media_option_prot,#maxbuttons #media_desc{display:none}#maxbuttons .copy-warning{width:400px;margin:0 auto;position:relative;line-height:1.1}#maxbuttons .copy-warning:before{content:"\f534";font-size:40px;color:#ff0000;width:35px;height:35px;font-family:"Dashicons";position:absolute;left:20px;top:40%;margin-top:-14px}#maxbuttons .copy-warning .example{margin-bottom:5px}#maxbuttons .form-actions a{margin-right:10px}#maxbuttons .button-save{transition:all 400ms linear}#maxbuttons .editor{min-width:850px}#maxbuttons .editor .screen-option-wrapper{display:flex}#maxbuttons .editor .screen-option-wrapper .screen-option{margin:4px 0;display:flex;align-items:center;padding:8px 12px;margin-right:4px;line-height:20px;border:1px solid #ccc;cursor:pointer;text-shadow:-1px 0 1px #ccc;box-shadow:0 1px 0 #aaa;min-height:75px;vertical-align:bottom;box-sizing:border-box}#maxbuttons .editor .screen-option-wrapper .screen-option .screen_name{font-size:14px}#maxbuttons .editor .screen-option-wrapper .screen-option .screen_size{font-size:10px;display:block;text-align:center}#maxbuttons .editor .screen-option-wrapper .screen-option.option-active{background:#fff;box-shadow:1px 1px 1px #2A0043}#maxbuttons .editor .screen-option-wrapper .screen-option.option-active .screen_name{font-weight:bold}#maxbuttons .editor .screen-option-wrapper .screen-option.button-save{text-decoration:none;float:right;border-radius:4px;padding:8px 26px;text-transform:uppercase}#maxbuttons .editor .screen-option-wrapper .screen-option.button-save a{margin:0;border:0;letter-spacing:1.1px;font-size:14px}#maxbuttons .editor .screen-option-wrapper a.screen-option{margin-left:auto;margin-right:0}#maxbuttons .editor .mbscreen-editor{display:none}#maxbuttons .editor .mbscreen-editor.current-screen{display:block}#maxbuttons .editor .mbscreen-editor .fieldmap{display:none}#maxbuttons .mb_tab.option-container.upgrade .removed-note{color:#ff0000;font-weight:600;text-align:center;font-size:14px;display:none}#maxbuttons .mb_tab.option-container.upgrade ul{list-style-type:disc;margin:25px 15px}#maxbuttons .mb_tab.option-container.upgrade ul li{font-size:14px}#maxbuttons .mb_tab.option-container.upgrade .button-row{margin-bottom:8px}#maxbuttons .mb_tab.option-container.upgrade .button-row .button{padding:8px;width:180px;text-align:center}#maxbuttons .mb_tab.option-container.upgrade .button-row .button.buynow{font-size:20px}#maxbuttons .mb_tab.option-container.upgrade .button-row .button.features{padding:6px 8px}#maxbuttons select{min-width:150px}#maxbuttons select.small{width:auto}#maxbuttons .input{display:inline-block;margin-right:15px;min-height:35px;vertical-align:top}#maxbuttons .input img{vertical-align:middle}#maxbuttons .input.mbcolor{min-width:50px}#maxbuttons .input.checkbox input{margin-top:0}#maxbuttons .input.checkbox label{line-height:16px;margin-top:0 !important}#maxbuttons .maxajax-load-spinner{width:16px;height:16px;background:url("/wp-admin/images/wpspin_light.gif") no-repeat;opacity:0.9s;display:inline-block;margin:0 10px;z-index:10;vertical-align:middle}#maxbuttons input[type='text']{width:450px}@media (max-width: 780px){#maxbuttons input[type='text']{width:350px}}#maxbuttons input[type='text'].tiny{width:35px;vertical-align:middle}#maxbuttons input[type='text'].small{width:50px}#maxbuttons input[type='text'].medium{width:150px}#maxbuttons input[type='text'].tiny-nopad{width:35px}#maxbuttons input[type='number']{vertical-align:middle}#maxbuttons input[type='number'].tiny,#maxbuttons input[type='number'].tiny-nopad{width:60px}@media (max-width: 780px){#maxbuttons input[type='number'].tiny,#maxbuttons input[type='number'].tiny-nopad{width:60px}}#maxbuttons input[type='number'].small{width:70px}@media (max-width: 780px){#maxbuttons input[type='number'].small{width:75px}}#maxbuttons textarea{width:450px;height:80px}#maxbuttons .option-container .inside .option label.mbcolor:nth-of-type(2){margin-left:37px}#maxbuttons .option-container .inside .option.url{margin-bottom:0}#maxbuttons .option-container .inside .option.url_options{margin:5px 0 10px}#maxbuttons .option-container .inside .option.url_options .input{margin-left:12px}#maxbuttons .option-container .inside .option.url_options .nofollow{margin-left:35px}#maxbuttons .option-container .inside .option.url_options label,#maxbuttons .option-container .inside .option.rel_options label{font-weight:400}#maxbuttons .option-container .inside .option[class$="font"] .checkbox{margin-right:2px}#maxbuttons .option-container .inside .option[class$="font"] .radio{margin-right:0}#maxbuttons .option-container .inside .option[class$="font"] [class$="font"].input{margin-right:2px}#maxbuttons .option-container .inside .option[class$="font"] [class$="font_size"].input{margin-right:0}#maxbuttons .option-container .inside .option[class$="font"] [class$="font_size"].input:after{display:block}#maxbuttons .option-container .inside .option.size_unit_spacer .control-group{margin-right:30px}#maxbuttons .option-container .inside .option.size_unit_spacer .unit-spacer{width:115px}@media (max-width: 780px){#maxbuttons .option-container .inside .option[class$="font"]{display:inline-block}#maxbuttons .option-container .inside .option[class$="font"]:after{clear:both}#maxbuttons .option-container .inside .option[class$="font"]>*{float:left}}#maxbuttons .option-container .inside .option[class$="font"] span[class$="font_weight"].control-group{margin-left:12px}@media (max-width: 780px){#maxbuttons .option-container .inside .option[class$="font"] span[class$="font_weight"].control-group{clear:left;margin-left:148px;margin-top:10px}}#maxbuttons .option-container .inside .option[class$="font"] [class$="text_align"].control-group{margin-left:18px}@media (max-width: 780px){#maxbuttons .option-container .inside .option[class$="font"] [class$="text_align"].control-group{margin-left:20px;margin-top:10px}}#maxbuttons .option-container .inside .option.padding_top .input,#maxbuttons .option-container .inside .option.container_margin_top .input{margin-right:30px}#maxbuttons .option-container .inside .option.padding_top .input:last-of-type,#maxbuttons .option-container .inside .option.container_margin_top .input:last-of-type{margin-right:0}@media (max-width: 780px){#maxbuttons .option-container .inside .option.padding_top .input,#maxbuttons .option-container .inside .option.container_margin_top .input{margin-right:15px}}#maxbuttons .option-container .inside .option.text_color label{margin-top:0px}#maxbuttons .option-container .inside .option.text_color label:nth-of-type(2){margin-left:68px}#maxbuttons .option-container .inside .option.description label{padding-top:35px}#maxbuttons .option-container .inside .option .radius-wrap{position:relative;margin-left:45px;display:inline-block}#maxbuttons .option-container .inside .option.radius .label:first-child{width:100px;float:left}#maxbuttons .option-container .inside .option.radius .bottom,#maxbuttons .option-container .inside .option.radius .top{position:relative}#maxbuttons .option-container .inside .option.radius .bottom .input,#maxbuttons .option-container .inside .option.radius .top .input{margin-right:0;margin-left:0}#maxbuttons .option-container .inside .option.radius .bottom .dashicons:nth-child(3),#maxbuttons .option-container .inside .option.radius .top .dashicons:nth-child(3){margin-right:10px}#maxbuttons .option-container .inside .option.radius .top{margin-bottom:10px}#maxbuttons .option-container .inside .option.radius label{display:inline-block;font-weight:700;width:90px;margin-left:5px;cursor:default}#maxbuttons .option-container .inside .option.radius .dashicons{font-size:35px;height:35px;width:35px;color:#ccc}#maxbuttons .option-container .inside .option.radius .top .dashicons{margin-top:-5px}#maxbuttons .option-container .inside .option.radius .bottom .dashicons{margin-top:5px}#maxbuttons .option-container .inside .option.radius [id$="radius_toggle"]{position:absolute;left:46%;top:25px;font-size:30px;cursor:pointer}#maxbuttons .option-container .inside .option.gradient_head .label:nth-child(even){width:120px}#maxbuttons .option-container .inside .option .gradient_end_color,#maxbuttons .option-container .inside .option .gradient_end_color_hover{margin-left:58px}#maxbuttons .option-container .inside .option .input[class$="remove_screen"],#maxbuttons .option-container .inside .option .input[class$="new_add_screen"]{margin-left:150px}#maxbuttons .option-container .inside .option #new_add_screen{font-size:14px;padding:8px 12px 10px}#maxbuttons .default{display:inline-block;padding-left:10px;padding-top:4px;font-style:italic;color:#808080}#maxbuttons .default .other{padding-left:40px;padding-top:8px}#maxbuttons .mb-button{width:38px;height:38px;background-color:#eceded;display:inline-block;margin-right:6px;cursor:pointer;display:none}#maxbuttons .mb-button span{text-align:center;padding:9px 0;width:100%;line-height:20px}#maxbuttons .check_button{display:none}#maxbuttons .check_button+label{background-position:center center;background-repeat:no-repeat;background-color:#fff;display:inline-block;border:1px solid #ddd;font_weight:normal;padding:4px}@media (max-width: 780px){#maxbuttons .check_button+label{padding:10px}}#maxbuttons .check_button.text+label{padding:5px}#maxbuttons .check_button.icon+label i{width:20px;height:20px;color:#545454}#maxbuttons .check_button.icon+label i:focus{outline:none}#maxbuttons .check_button:checked+label{background:#ebebeb none repeat scroll 0 0;border-color:#999999;box-shadow:0 2px 5px -3px rgba(0,0,0,0.3) inset}#maxbuttons .option .input_label{display:inline-block;vertical-align:top}#maxbuttons .option .input_label.left{margin-right:10px}#maxbuttons .option .input_label.right{margin-left:10px}#maxbuttons .option .range_value{margin:8px 0 0 15px;float:right}#maxbuttons .option .range_value output{clear:both;font-size:15px;text-align:center;width:100%;display:inline-block}#maxbuttons .option .switch_label{padding-top:2px !important;padding-bottom:0px;margin:0 !important}#maxbuttons .switch_button{margin-left:-5px}#maxbuttons .switch_button label{padding:8px 5px}#maxbuttons .switch_button label:focus{outline:none}#maxbuttons .switch_button input{display:none}#maxbuttons .switch_button input:checked ~ .the_switch{background:#6fbeb5}#maxbuttons .switch_button input:checked ~ .the_switch:after{left:26px;background:#179588}#maxbuttons .switch_button input:checked ~ .the_switch.small:after{left:15px}#maxbuttons .switch_button input::disabled ~ .the_switch{background:#d5d5d5;pointer-events:none}#maxbuttons .switch_button input:disabled ~ .the_switch:after{background:#bcbdbc}#maxbuttons .switch_button .the_switch{position:relative;display:inline-block;height:15px;width:50px;background:#898989;border-radius:100px;cursor:pointer;transition:all 0.3s ease}#maxbuttons .switch_button .the_switch:after{position:absolute;left:-2px;top:-3px;display:block;width:24px;height:24px;border-radius:100px;background:#aaa;box-shadow:0px 3px 3px rgba(0,0,0,0.05);content:'';transition:all 0.2s ease}#maxbuttons .switch_button .the_switch.small{height:8px;width:30px}#maxbuttons .switch_button .the_switch.small:after{height:18px;width:18px;top:-5px}#maxbuttons .switch_button .the_switch:active:after{transform:scale(0.9, 0.85)}#maxbuttons .switch_button .the_switch:focus{outline:none}#maxbuttons .input.mbcolor{margin-top:5px;position:relative}#maxbuttons .input.mbcolor .wp-picker-clear{display:none}#maxbuttons .input.mbcolor input[type="text"]{width:75px;line-height:22px}#maxbuttons .input.mbcolor .wp-color-picker{width:inherit}#maxbuttons .input.mbcolor .wp-color-result{-webkit-box-shadow:-1px 1px 2px #999;-moz-box-shadow:-1px 1px 2px #999;box-shadow:-1px 1px 2px #999;height:30px;width:30px;border:0;position:relative;background:unset}#maxbuttons .input.mbcolor .wp-color-result:after{font-size:12px;line-height:30px;display:none}#maxbuttons .input.mbcolor .wp-color-result:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 5px rgba(30,140,190,0.8);-moz-box-shadow:0 0 5px rgba(30,140,190,0.8);box-shadow:0 0 5px rgba(30,140,190,0.8)}#maxbuttons .input.mbcolor .mb_transparent_wrap{background-image:url("../../images/transparent.png");width:30px;height:30px;border-radius:3px;display:inline-block;margin-right:8px}#maxbuttons .input.mbcolor .wp-picker-input-wrap{padding:0}#maxbuttons .input.mbcolor .wp-picker-input-wrap label{display:inline-block;vertical-align:top}#maxbuttons .input.mbcolor .wp-picker-active .wp-picker-input-wrap{display:inline-block;vertical-align:top}#maxbuttons .input.mbcolor .wp-picker-active+.arrows{display:inline-block}#maxbuttons .input.mbcolor .arrows{position:absolute;display:none;top:0;margin-top:40%}#maxbuttons .input.mbcolor .arrows.right{right:-45px}#maxbuttons .input.mbcolor .arrows.left{left:-35px}#maxbuttons .input.mbcolor .arrows .arrow-left,#maxbuttons .input.mbcolor .arrows .arrow-right{width:0;height:0;font-size:0;line-height:0;vertical-align:bottom;cursor:pointer;transition:.8s}#maxbuttons .input.mbcolor .arrows .arrow-left{border-top:30px solid transparent;border-bottom:30px solid transparent;border-right:20px solid #ccc}#maxbuttons .input.mbcolor .arrows .arrow-left:hover{border-right-color:#33b3db}#maxbuttons .input.mbcolor .arrows .arrow-right{border-top:30px solid transparent;border-bottom:30px solid transparent;border-left:20px solid #ccc;margin-top:35px}#maxbuttons .input.mbcolor .arrows .arrow-right:hover{border-left-color:#33b3db}#maxbuttons .input.mbcolor .arrows .left,#maxbuttons .input.mbcolor .arrows .right{display:inline-block;float:left;clear:both;width:35px;height:45px}#maxbuttons .input.mbcolor .arrows .left{margin-top:15px}#maxbuttons [type='range']{-webkit-appearance:none;width:250px;margin-top:8px}#maxbuttons [type='range']:focus{outline:0}#maxbuttons [type='range']:focus::-webkit-slider-runnable-track{background:#fff}#maxbuttons [type='range']:focus::-ms-fill-lower{background:#fff}#maxbuttons [type='range']:focus::-ms-fill-upper{background:#fff}#maxbuttons [type='range']::-webkit-slider-runnable-track{cursor:pointer;height:5px;transition:all .2s ease;width:250px;background:#fff;border:1px solid #cfd8dc;border-radius:10px}#maxbuttons [type='range']::-webkit-slider-thumb{background:#179588;border:0px solid #eceff1;border-radius:12px;cursor:pointer;height:20px;width:20px;-webkit-appearance:none;margin-top:-8.5px}#maxbuttons [type='range']::-moz-range-track{cursor:pointer;height:5px;transition:all .2s ease;width:250px;background:#fff;border:1px solid #cfd8dc;border-radius:10px}#maxbuttons [type='range']::-moz-range-thumb{background:#179588;border:0px solid #eceff1;border-radius:12px;cursor:pointer;height:20px;width:20px}#maxbuttons [type='range']::-ms-track{cursor:pointer;height:5px;transition:all .2s ease;width:250px;background:transparent;border-color:transparent;border-width:10px 0;color:transparent}#maxbuttons [type='range']::-ms-fill-lower{background:#f2f2f2;border:1px solid #cfd8dc;border-radius:20px}#maxbuttons [type='range']::-ms-fill-upper{background:#fff;border:1px solid #cfd8dc;border-radius:20px}#maxbuttons [type='range']::-ms-thumb{background:#179588;border:0px solid #eceff1;border-radius:12px;cursor:pointer;height:20px;width:20px;margin-top:0}#maxbuttons .support.tiles{display:flex}#maxbuttons .support.tiles>div{background-color:#0073aa;margin:0 25px 0 0;padding:16px}#maxbuttons .support.tiles>div a{color:#fff;text-align:center;font-size:20px;text-decoration:none}#maxbuttons .system_info{width:90%;background-color:#fff;border:1px solid #000;padding:15px}#maxbuttons .system_info .info{margin:5px 0}#maxbuttons .system_info .info label{width:250px;display:inline-block;clear:both}#maxbuttons.maxbuttons-settings .option-container .inside .option-design{margin:20px 0}#maxbuttons.maxbuttons-settings .option-container .inside .option-design label{line-height:14px;height:40px;vertical-align:top;width:200px;margin-right:20px}#maxbuttons h2.tabs{margin:1em 0;min-height:35px}#maxbuttons h2.sub-tabs,#maxbuttons h2.submit-tab{list-style:none;clear:both;margin-bottom:0}#maxbuttons h2.sub-tabs a,#maxbuttons h2.submit-tab a{font-weight:400;font-size:14px;cursor:pointer}#maxbuttons h2.sub-tabs a .dashicons,#maxbuttons h2.submit-tab a .dashicons{margin-right:10px;line-height:24px}#maxbuttons h2.sub-tabs .save-indicator,#maxbuttons h2.submit-tab .save-indicator{float:right;font-size:25px;display:none;margin-right:10px}#maxbuttons h2.sub-tabs .save-indicator.dashicons-warning,#maxbuttons h2.submit-tab .save-indicator.dashicons-warning{color:#ff0000}#maxbuttons h2.sub-tabs .save-indicator.dashicons-yes,#maxbuttons h2.submit-tab .save-indicator.dashicons-yes{color:#00ff00}#maxbuttons.mb_tabs_active .mb_tab{border:0px;background:none;border-radius:0 0 0 0;-webkit-border-radius:0 0 0 0}#maxbuttons.mb_tabs_active .mb_tab>.title:nth-of-type(1) button{top:0}#maxbuttons.mb_tabs_active .mb_tab>.title:nth-of-type(1) .right{float:right}#maxbuttons.mb_tabs_active .mb_tab>.inside{border:1px solid #e5e5e5}#maxbuttons.maxbuttons-collections-edit .main{width:100%;max-width:none}#maxbuttons .collection-addnew{display:inline-block}@media (max-width: 780px){#maxbuttons .collection-addnew{margin-left:5px}}#maxbuttons .collection_list .collection{position:relative;background-color:#fff;padding:15px;border-radius:15px;margin:15px 0}#maxbuttons .collection_list .collection h3{display:inline-block;width:90%;margin-top:0;font-size:18px;line-height:20px}#maxbuttons .collection_list .collection h3 a{color:#000;font-size:25px;text-decoration:none}#maxbuttons .collection_list .collection h3 a:hover{text-decoration:underline}#maxbuttons .collection_list .collection h3 .dashicons{color:#ccc;margin-left:15px}#maxbuttons .collection_list .collection h3 .button-count{font-weight:400;font-size:15px;margin-left:15px;vertical-align:top}#maxbuttons .collection_list .collection .collection_remove{top:10px;right:15px;font-size:25px;font-weight:400;position:absolute;cursor:pointer}#maxbuttons .collection_list .collection.welcome p{font-size:14px;line-height:22px}#maxbuttons .collection_list .collection-container{position:relative;width:100%;display:inline-block;clear:both}#maxbuttons .collection_list .collection-container .maxcollection{position:static !important}#maxbuttons .inside .preview_collection.option label{display:inline-block;float:none;font-size:25px;width:100%}#maxbuttons .mb_collection_selection{display:inline-block;min-height:300px;margin:25px 0}#maxbuttons .mb_collection_selection .sortable .item{margin-bottom:25px;position:relative;padding-left:30px;min-height:45px;clear:both}#maxbuttons .mb_collection_selection .sortable .item .button-remove{margin-top:5px;position:absolute;left:20px;top:-15px;border:1px solid #000;border-radius:11px;width:20px;height:20px;background-color:rgba(0,0,0,0.5)}#maxbuttons .mb_collection_selection .sortable .item .button-remove:hover{cursor:pointer}#maxbuttons .mb_collection_selection .sortable .item .button-remove span{color:#fff;font-size:16px;padding-top:2px;overflow:hidden}#maxbuttons .mb_collection_selection .sortable-placeholder{border:3px dashed #aaa;height:45px;width:344px;background:#ccc}#maxbuttons .mb_collection_selection .button_data{display:none}#maxbuttons .mb-social-options{float:right;width:45%;border:1px solid #000;height:100%}#maxbuttons .mb-buttons-selection{float:left;width:45%;overflow:hidden;border:1px solid #000}#maxbuttons .mb-preview-window{position:fixed;top:40%;right:20px;width:30%;max-width:45%;max-height:90vh;background-color:rgba(255,255,255,0.7);border:1px solid #000;z-index:500 !important;overflow:hidden;display:none}@media (max-width: 780px){#maxbuttons .mb-preview-window{position:relative;left:0;top:0;bottom:0;right:0;width:100%;height:auto;display:inline-block;border-color:#ccc}}#maxbuttons .mb-preview-window .mb-preview-wrapper{position:relative;display:inline-block;width:100%}#maxbuttons .sub-tabs .preview-on{background-color:#00b9eb;color:#fff}#maxbuttons .sub-tabs .preview-on::before{line-height:24px}#maxbuttons #picker-back{top:0;left:0;right:0;bottom:0;background-color:#000;z-index:110000;position:fixed;opacity:0.7;display:none}#maxbuttons #picker-modal,#maxbuttons .max-modal.picker-modal{display:none;width:calc(100% - 60px);min-height:300px;top:30px;bottom:30px;left:30px;right:30px;z-index:160000}#maxbuttons #picker-modal .modal_header,#maxbuttons .max-modal.picker-modal .modal_header{height:15px;display:block;overflow:hidden;top:0;left:0;bottom:0;right:0;border:0}#maxbuttons #picker-modal .picker-packages,#maxbuttons .max-modal.picker-modal .picker-packages{top:31px;left:0;width:205px;bottom:0;background-color:#f3f3f3;position:absolute;border-right:1px solid #ccc;overflow-x:hidden;overflow-y:auto}#maxbuttons #picker-modal .picker-packages ul,#maxbuttons .max-modal.picker-modal .picker-packages ul{margin-top:4px}#maxbuttons #picker-modal .picker-packages li a,#maxbuttons .max-modal.picker-modal .picker-packages li a{padding:6px 20px;display:block;color:#0073aa;text-decoration:none;font-size:13px;line-height:16px}#maxbuttons #picker-modal .picker-packages li a:hover,#maxbuttons .max-modal.picker-modal .picker-packages li a:hover{background:rgba(0,0,0,0.04) none repeat scroll 0 0;color:#21759b}#maxbuttons #picker-modal .picker-packages li a.pack-active,#maxbuttons .max-modal.picker-modal .picker-packages li a.pack-active{font-weight:700;color:#000}#maxbuttons #picker-modal .picker-main,#maxbuttons .max-modal.picker-modal .picker-main{left:206px;top:31px;right:0;bottom:60px;position:absolute;border-bottom:1px solid #dddddd;overflow-y:scroll;background-color:#fff}#maxbuttons #picker-modal .picker-main .screen,#maxbuttons .max-modal.picker-modal .picker-main .screen{margin:5px 5px}#maxbuttons #picker-modal .picker-main .screen .tablenav-pages,#maxbuttons .max-modal.picker-modal .picker-main .screen .tablenav-pages{float:none;margin-left:1%}#maxbuttons #picker-modal .picker-main .item,#maxbuttons .max-modal.picker-modal .picker-main .item{padding:5px;margin:5px 0 5px 1%;border:1px solid #000;width:16%;height:auto;float:left;text-align:center;position:relative;background-color:#eee;border:1px solid #b4b9be;display:inline-block}#maxbuttons #picker-modal .picker-main .item .button_data,#maxbuttons .max-modal.picker-modal .picker-main .item .button_data{display:none}#maxbuttons #picker-modal .picker-main .item .button_name,#maxbuttons .max-modal.picker-modal .picker-main .item .button_name{clear:left;display:block;margin-top:15px;font-size:9px}#maxbuttons #picker-modal .picker-main .item .button-selected,#maxbuttons .max-modal.picker-modal .picker-main .item .button-selected{position:absolute;font-size:20px;top:-10px;right:-10px;width:24px;height:24px;color:#fff;background-color:#1e8cbe;z-index:100;border-radius:12px}#maxbuttons #picker-modal .picker-main .item .button-selected span,#maxbuttons .max-modal.picker-modal .picker-main .item .button-selected span{padding-top:2px}#maxbuttons #picker-modal .picker-inselection,#maxbuttons .max-modal.picker-modal .picker-inselection{height:60px;display:block;position:absolute;bottom:0;right:0;left:206px;overflow:hidden}#maxbuttons #picker-modal .picker-inselection .info,#maxbuttons .max-modal.picker-modal .picker-inselection .info{height:60px;float:left;display:inline-block;padding:10px 15px;display:none}#maxbuttons #picker-modal .picker-inselection .info .clear-selection,#maxbuttons .max-modal.picker-modal .picker-inselection .info .clear-selection{color:#ff0000;display:block;padding:0}#maxbuttons #picker-modal .picker-inselection .info .clear-selection:hover,#maxbuttons .max-modal.picker-modal .picker-inselection .info .clear-selection:hover{background-color:#ff0000;color:#fff}#maxbuttons #picker-modal .picker-inselection .items,#maxbuttons .max-modal.picker-modal .picker-inselection .items{display:inline-block;position:absolute;overflow:hidden;padding-top:5px;height:100%;left:130px;right:180px}@media (max-width: 780px){#maxbuttons #picker-modal .picker-inselection .items,#maxbuttons .max-modal.picker-modal .picker-inselection .items{display:none}}#maxbuttons #picker-modal .picker-inselection .items .item,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item{height:40px;width:40px;overflow:hidden;float:left;margin:3px;position:relative}#maxbuttons #picker-modal .picker-inselection .items .item .button_name,#maxbuttons #picker-modal .picker-inselection .items .item .button_data,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button_name,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button_data{display:none}#maxbuttons #picker-modal .picker-inselection .items .item .button-remove,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button-remove{display:none;position:absolute;width:30px;height:30px;left:2px;border-radius:15px;top:2px;background-color:rgba(0,0,0,0.5)}#maxbuttons #picker-modal .picker-inselection .items .item .button-remove span,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item .button-remove span{font-size:20px;color:#fff;padding-left:5px;padding-top:5px}#maxbuttons #picker-modal .picker-inselection .items .item:hover .button-remove,#maxbuttons .max-modal.picker-modal .picker-inselection .items .item:hover .button-remove{display:block}#maxbuttons #picker-modal .picker-inselection .add,#maxbuttons .max-modal.picker-modal .picker-inselection .add{float:right;margin-top:15px;margin-right:15px;height:100%}#maxbuttons .social_block .social-option{clear:both;margin-top:25px}#maxbuttons .social_block .social-option .shortcode-container{display:inline-block}#maxbuttons .social_block .social-option .button_name{display:inline-block;margin-left:10px;vertical-align:middle;font-weight:700}#maxbuttons #mbfeedback .link{height:25px;width:100px;position:fixed;top:40%;right:0;z-index:1000;transform:rotate(90deg);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}#maxbuttons #mbfeedback .link a{background:#ccc;height:25px;width:70px;padding:8px 16px;color:#fff;font-family:Arial, sans-serif;font-size:15px;font-weight:bold;text-decoration:none;line-height:15px;border-bottom:solid 1px #333;border-left:solid 1px #333;border-right:solid 1px #fff}#maxbuttons #mbfeedback .link a::hover{background:#06c}#maxbuttons .ad-wrap{width:27%;float:left;max-width:300px;margin-left:1%;min-width:200px;margin-top:41px}#maxbuttons .ad-wrap .ads{background:#fff;margin-bottom:20px;text-align:center}#maxbuttons .ad-wrap .ads.image-ad{background:none;margin-top:20px}#maxbuttons .ad-wrap .ads.image-ad img{max-width:100%}#maxbuttons .ad-wrap .ads>a{text-decoration:none}#maxbuttons .ad-wrap .ads .header{background-color:#88c5c2;color:#fff;font-size:18px;text-transform:uppercase;padding:12px}#maxbuttons .ad-wrap .ads h3{text-align:center;padding-bottom:14px}#maxbuttons .ad-wrap .ads ul{list-style:none}#maxbuttons .ad-wrap .ads ul li{font-weight:bold;text-decoration:none;color:#000000}#maxbuttons .ad-wrap .ads ul li.plus{font-size:38px;font-weight:700;color:#88c5c2}#maxbuttons .ad-wrap .ads span.img{text-align:center;display:block}#maxbuttons .ad-wrap .ads .ads_button_wrap{margin:20px 0 30px;display:inline-block}#maxbuttons .ad-wrap .ads .ads_button_wrap .button{color:#fff;background-color:#88c5c2;font-size:16px;font-weight:bold;border:0;padding:0 40px}@media screen and (max-width: 960px){#maxbuttons .ad-wrap{display:none}}#maxbuttons.maxbuttons-pro-gopro .main{width:95%;max-width:860px}#maxbuttons.maxbuttons-pro-gopro h1.title{margin:0;font-size:24px;display:inline-block}#maxbuttons.maxbuttons-pro-gopro h1.title .big-maxg-btn{display:inline-block;background-color:#86c5c2;border-color:#73a3a8;margin:0 10px;vertical-align:super;line-height:23px;border-top:0;border-left:0;border-right:0;top:5px}#maxbuttons.maxbuttons-pro-gopro h1.title img{vertical-align:middle}#maxbuttons.maxbuttons-pro-gopro .logo{margin:0;display:inline-block;margin-top:14px}#maxbuttons.maxbuttons-pro-gopro .logo .simple-btn{color:#62c0e6;text-decoration:underline}#maxbuttons.maxbuttons-pro-gopro .default-section{text-align:center;padding:0px 10px}#maxbuttons.maxbuttons-pro-gopro .default-section p{position:relative;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size:16px;margin:17px 0;color:#5b5b5b}#maxbuttons.maxbuttons-pro-gopro .default-section:nth-child(even){background-color:#fff}#maxbuttons.maxbuttons-pro-gopro .default-section:nth-child(odd){background-color:#faf5f1}#maxbuttons.maxbuttons-pro-gopro .default-section .big-maxg-btn{background-color:#fd8d61;border-color:#f0702b;font-size:32px;margin:10px}#maxbuttons.maxbuttons-pro-gopro .default-section h2{font-weight:bold;color:#88c5c2;font-size:36px;line-height:38px;max-width:80%;margin:14px auto}#maxbuttons.maxbuttons-pro-gopro .default-section .rating{width:380px;margin:0 auto}#maxbuttons.maxbuttons-pro-gopro .default-section .rating p{margin:10px 0 0;font-size:22px;color:#000}#maxbuttons.maxbuttons-pro-gopro .default-section .icon-row p{font-weight:bold}#maxbuttons.maxbuttons-pro-gopro .default-section .icon-row img{width:106px;height:106px}#maxbuttons.maxbuttons-pro-gopro .social-row div{margin-bottom:5px}#maxbuttons.maxbuttons-pro-gopro .social-row p{background:#fff;padding:15px 5px 0 5px;margin:15px 0 0 15px;font-weight:700}#maxbuttons.maxbuttons-pro-gopro .social-row img{margin-top:15px}#maxbuttons.maxbuttons-pro-gopro .social-row p{min-height:162px}#maxbuttons.maxbuttons-pro-gopro .container{width:inherit;margin:0 auto;padding:30px 0}#maxbuttons.maxbuttons-pro-gopro img{max-width:100%}#maxbuttons.maxbuttons-pro-gopro .icon-row,#maxbuttons.maxbuttons-pro-gopro .image-row{position:relative}#maxbuttons.maxbuttons-pro-gopro .width-100{width:100%;margin-bottom:15px}#maxbuttons.maxbuttons-pro-gopro .width-33{width:33.33333333%;float:left;padding:0 15px;margin:0 -15px 40px}#maxbuttons.maxbuttons-pro-gopro .width-50{width:50%;float:left;padding:0 15px;margin:0 -15px 40px}#maxbuttons.maxbuttons-pro-gopro .clearfix{clear:both}#maxbuttons.maxbuttons-pro-gopro .bordered{border-radius:30px;padding:16px;background-color:#fff;border:4px solid #bbb;box-sizing:border-box}@media (max-width: 780px){#maxbuttons.maxbuttons-pro-gopro .bordered{border:0;padding:8}}#maxbuttons.maxbuttons-pro-gopro .bordered p{margin:0 0 10px}#maxbuttons.maxbuttons-pro-gopro .inline-block{display:inline-block !important;vertical-align:middle}#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn{font-size:20px;color:#fff;font-weight:bold;padding:18px 15px 10px;transition:all linear .2s;display:block;text-align:center;border-bottom:4px solid;text-transform:uppercase;border-radius:10px;text-decoration:none;line-height:42px}#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn:hover,#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn:focus{color:#fff;text-decoration:none;outline:none}#maxbuttons.maxbuttons-pro-gopro .big-maxg-btn:hover{box-shadow:0 8px 6px -6px rgba(0,0,0,0.5)}#maxbuttons.maxbuttons-pro-gopro .price{position:relative;display:inline-block}#maxbuttons.maxbuttons-pro-gopro .price span{position:absolute;color:#fff;display:block;font-size:46px;font-weight:700;top:55px;left:26px}#maxbuttons.maxbuttons-collections-gosocial .social-share-move{background-color:#fff}#maxbuttons.maxbuttons-collections-gosocial .social-share-move .container{padding:15px}#maxbuttons.maxbuttons-collections-gosocial .topbox h1{display:inline-block;font-size:36px;font-weight:700}#maxbuttons.maxbuttons-collections-gosocial .topbox .icon-left{float:left;margin:0 15px 15px 0;display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .topbox h3{display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .topbox:after{clear:both}#maxbuttons.maxbuttons-collections-gosocial .imagebox{clear:both}#maxbuttons.maxbuttons-collections-gosocial .featurebox{margin:20px 0;display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .featurebox h3{display:inline-block}#maxbuttons.maxbuttons-collections-gosocial .featurebox .block{width:45%;float:left;margin-right:3px}#maxbuttons.maxbuttons-collections-gosocial .linkbox{clear:both;margin:30px auto;text-align:center;display:inline-block;width:100%}#maxbuttons.maxbuttons-collections-gosocial .linkbox .install-now{font-size:30px;height:50px;padding-top:10px}
assets/integrations/gutenberg/blocks.build.js CHANGED
@@ -1,110 +1 @@
1
- /******/ (function(modules) { // webpackBootstrap
2
- /******/ // The module cache
3
- /******/ var installedModules = {};
4
- /******/
5
- /******/ // The require function
6
- /******/ function __webpack_require__(moduleId) {
7
- /******/
8
- /******/ // Check if module is in cache
9
- /******/ if(installedModules[moduleId]) {
10
- /******/ return installedModules[moduleId].exports;
11
- /******/ }
12
- /******/ // Create a new module (and put it into the cache)
13
- /******/ var module = installedModules[moduleId] = {
14
- /******/ i: moduleId,
15
- /******/ l: false,
16
- /******/ exports: {}
17
- /******/ };
18
- /******/
19
- /******/ // Execute the module function
20
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
- /******/
22
- /******/ // Flag the module as loaded
23
- /******/ module.l = true;
24
- /******/
25
- /******/ // Return the exports of the module
26
- /******/ return module.exports;
27
- /******/ }
28
- /******/
29
- /******/
30
- /******/ // expose the modules object (__webpack_modules__)
31
- /******/ __webpack_require__.m = modules;
32
- /******/
33
- /******/ // expose the module cache
34
- /******/ __webpack_require__.c = installedModules;
35
- /******/
36
- /******/ // define getter function for harmony exports
37
- /******/ __webpack_require__.d = function(exports, name, getter) {
38
- /******/ if(!__webpack_require__.o(exports, name)) {
39
- /******/ Object.defineProperty(exports, name, {
40
- /******/ configurable: false,
41
- /******/ enumerable: true,
42
- /******/ get: getter
43
- /******/ });
44
- /******/ }
45
- /******/ };
46
- /******/
47
- /******/ // getDefaultExport function for compatibility with non-harmony modules
48
- /******/ __webpack_require__.n = function(module) {
49
- /******/ var getter = module && module.__esModule ?
50
- /******/ function getDefault() { return module['default']; } :
51
- /******/ function getModuleExports() { return module; };
52
- /******/ __webpack_require__.d(getter, 'a', getter);
53
- /******/ return getter;
54
- /******/ };
55
- /******/
56
- /******/ // Object.prototype.hasOwnProperty.call
57
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
58
- /******/
59
- /******/ // __webpack_public_path__
60
- /******/ __webpack_require__.p = "";
61
- /******/
62
- /******/ // Load entry module and return exports
63
- /******/ return __webpack_require__(__webpack_require__.s = 0);
64
- /******/ })
65
- /************************************************************************/
66
- /******/ ([
67
- /* 0 */
68
- /*!**************************!*\
69
- !*** ./src/mb-blocks.js ***!
70
- \**************************/
71
- /*! no exports provided */
72
- /*! all exports used */
73
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
74
-
75
- "use strict";
76
- eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__maxbuttons_block_block_js__ = __webpack_require__(/*! ./maxbuttons-block/block.js */ 1);\n/**\n * Gutenberg Blocks\n *\n * All blocks related JavaScript files should be imported here.\n * You can create a new block folder in this dir and include code\n * for that block here as well.\n *\n * All blocks should be included here since this is the file that\n * Webpack is compiling as the input file.\n */\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tYi1ibG9ja3MuanM/OTU3YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEd1dGVuYmVyZyBCbG9ja3NcbiAqXG4gKiBBbGwgYmxvY2tzIHJlbGF0ZWQgSmF2YVNjcmlwdCBmaWxlcyBzaG91bGQgYmUgaW1wb3J0ZWQgaGVyZS5cbiAqIFlvdSBjYW4gY3JlYXRlIGEgbmV3IGJsb2NrIGZvbGRlciBpbiB0aGlzIGRpciBhbmQgaW5jbHVkZSBjb2RlXG4gKiBmb3IgdGhhdCBibG9jayBoZXJlIGFzIHdlbGwuXG4gKlxuICogQWxsIGJsb2NrcyBzaG91bGQgYmUgaW5jbHVkZWQgaGVyZSBzaW5jZSB0aGlzIGlzIHRoZSBmaWxlIHRoYXRcbiAqIFdlYnBhY2sgaXMgY29tcGlsaW5nIGFzIHRoZSBpbnB1dCBmaWxlLlxuICovXG5cbmltcG9ydCAnLi9tYXhidXR0b25zLWJsb2NrL2Jsb2NrLmpzJztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9tYi1ibG9ja3MuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n");
77
-
78
- /***/ }),
79
- /* 1 */
80
- /*!***************************************!*\
81
- !*** ./src/maxbuttons-block/block.js ***!
82
- \***************************************/
83
- /*! no exports provided */
84
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
85
-
86
- "use strict";
87
- eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss__ = __webpack_require__(/*! ./style.scss */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * BLOCK: maxbuttons-block\n *\n * Registering a basic block with Gutenberg.\n * Simple block, renders and saves the same content without any interactivity.\n */\n\n// Import CSS.\n\n\n\nvar __ = wp.i18n.__; // Import __() from wp.i18n\n\nvar registerBlockType = wp.blocks.registerBlockType; // Import registerBlockType() from wp.blocks\n\nvar InspectorControls = wp.editor.InspectorControls;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n TextareaControl = _wp$components.TextareaControl,\n TextControl = _wp$components.TextControl,\n ToggleControl = _wp$components.ToggleControl,\n Button = _wp$components.Button;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment,\n createElement = _wp$element.createElement;\nvar withState = wp.compose.withState;\n\n/**\n * Register: aa Gutenberg Block.\n *\n * Registers a new block provided a unique name and an object defining its\n * behavior. Once registered, the block is made editor as an option to any\n * editor interface where blocks are implemented.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/\n * @param {string} name Block name.\n * @param {Object} settings Block settings.\n * @return {?WPBlock} The block, if it has been successfully\n * registered; otherwise `undefined`.\n */\n\nregisterBlockType('maxbuttons/maxbuttons-block', {\n\t// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.\n\ttitle: __('MaxButtons Block'), // Block title.\n\ticon: createElement('img', {\n\t\t'src': mb_gutenberg.icon_url,\n\t\t'width': 20\n\t} // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.\n\t),\n\tcategory: 'common', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.\n\tkeywords: [__('maxbuttons-block'), __('maxbuttons')],\n\tclassName: false,\n\tcustomClassName: false,\n\tattributes: {\n\t\tid: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tbutton_id: {\n\t\t\ttype: 'string'\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tattribute: 'url'\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tattribute: 'text'\n\t\t},\n\t\ttext2: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tnewwindow: {\n\t\t\ttype: 'boolean'\n\t\t},\n\t\trelnofollow: {\n\t\t\ttype: 'boolean'\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tcompile: {\n\t\t\ttype: 'boolean'\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'boolean'\n\t\t},\n\t\tgoogle_enable: {\n\t\t\ttype: 'integer'\n\t\t},\n\t\tgoogle_action: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tgoogle_label: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tgoogle_category: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\n\t/**\n * The edit function describes the structure of your block in the context of the editor.\n * This represents what the editor will render when the block is used.\n *\n * The \"edit\" property must be a valid function.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\n */\n\tedit: function (_Component) {\n\t\t_inherits(edit, _Component);\n\n\t\tfunction edit(props) {\n\t\t\t_classCallCheck(this, edit);\n\n\t\t\tvar _this = _possibleConstructorReturn(this, (edit.__proto__ || Object.getPrototypeOf(edit)).call(this, props));\n\n\t\t\t_this.onChangeID = _this.onChangeID.bind(_this);\n\t\t\t_this.onChangeText = _this.onChangeText.bind(_this);\n\t\t\t_this.onChangeText2 = _this.onChangeText2.bind(_this);\n\t\t\t_this.onChangeURL = _this.onChangeURL.bind(_this);\n\t\t\t_this.onChangeTooltip = _this.onChangeTooltip.bind(_this);\n\t\t\t_this.onChangeClassName = _this.onChangeClassName.bind(_this);\n\t\t\t_this.onChangeGlabel = _this.onChangeGlabel.bind(_this);\n\t\t\t_this.onChangeGaction = _this.onChangeGaction.bind(_this);\n\t\t\t_this.onChangeGcategory = _this.onChangeGcategory.bind(_this);\n\n\t\t\t_this.updateNewWindow = _this.updateToggleAttribute('newwindow');\n\t\t\t_this.updateRelNoFollow = _this.updateToggleAttribute('relnofollow');\n\t\t\t_this.updateCompile = _this.updateToggleAttribute('compile');\n\t\t\t_this.updateStyle = _this.updateToggleAttribute('style');\n\n\t\t\t_this.preventClick = _this.preventClick.bind(_this);\n\t\t\t_this.ajaxButton = _this.ajaxButton.bind(_this);\n\t\t\t_this.openButtonModal = _this.openButtonModal.bind(_this);\n\t\t\t_this.insertButton = _this.insertButton.bind(_this);\n\t\t\t_this.state = {\n\t\t\t\tstylefile: '',\n\t\t\t\tisPro: false // check if plugin is pro\n\t\t\t};\n\n\t\t\t_this.button; // init\n\t\t\t_this.limitajax;\n\t\t\treturn _this;\n\t\t}\n\n\t\t_createClass(edit, [{\n\t\t\tkey: 'componentDidMount',\n\t\t\tvalue: function componentDidMount() {\n\t\t\t\tif (this.props.attributes.id) {\n\t\t\t\t\tthis.ajaxButton();\n\t\t\t\t}\n\t\t\t\tconsole.log(mb_gutenberg);\n\t\t\t\tif (mb_gutenberg.ispro == 1) {\n\t\t\t\t\tthis.setState({ isPro: true });\n\t\t\t\t}\n\t\t\t\t//\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'ajaxButton',\n\t\t\tvalue: function ajaxButton(reset_atts) {\n\t\t\t\tclearTimeout(this.limitajax); // limit amount of refreshes via ajax.\n\t\t\t\tvar self = this;\n\n\t\t\t\tself.limitajax = setTimeout(function () {\n\t\t\t\t\tvar _self$props$attribute = self.props.attributes,\n\t\t\t\t\t id = _self$props$attribute.id,\n\t\t\t\t\t text = _self$props$attribute.text,\n\t\t\t\t\t text2 = _self$props$attribute.text2,\n\t\t\t\t\t url = _self$props$attribute.url,\n\t\t\t\t\t tooltip = _self$props$attribute.tooltip,\n\t\t\t\t\t newwindow = _self$props$attribute.newwindow,\n\t\t\t\t\t relnofollow = _self$props$attribute.relnofollow,\n\t\t\t\t\t className = _self$props$attribute.className,\n\t\t\t\t\t compile = _self$props$attribute.compile,\n\t\t\t\t\t style = _self$props$attribute.style;\n\n\n\t\t\t\t\twp.ajax.send('maxajax', {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tplugin_action: 'gutenberg_button',\n\t\t\t\t\t\t\tnonce: maxajax.nonce,\n\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\ttext: text,\n\t\t\t\t\t\t\ttext2: text2,\n\t\t\t\t\t\t\turl: url,\n\t\t\t\t\t\t\tlinktitle: tooltip,\n\t\t\t\t\t\t\tnewwindow: newwindow,\n\t\t\t\t\t\t\trelnofollow: relnofollow,\n\t\t\t\t\t\t\textraclass: className,\n\t\t\t\t\t\t\tcompile: compile,\n\t\t\t\t\t\t\tstyle: style,\n\t\t\t\t\t\t\treset: reset_atts\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: function success(data) {\n\t\t\t\t\t\t\tself.button = data.button;\n\t\t\t\t\t\t\tself.setState({ stylefile: data.style });\n\n\t\t\t\t\t\t\tif (data.attributes) {\n\t\t\t\t\t\t\t\tself.props.setAttributes(data.attributes);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\terror: function error(data) {}\n\t\t\t\t\t});\n\t\t\t\t}, 700);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'preventClick',\n\t\t\tvalue: function preventClick(e) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeText',\n\t\t\tvalue: function onChangeText(value) {\n\t\t\t\tthis.props.setAttributes({ text: value });\n\t\t\t\tthis.ajaxButton();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeText2',\n\t\t\tvalue: function onChangeText2(value) {\n\t\t\t\tthis.props.setAttributes({ text2: value });\n\t\t\t\tthis.ajaxButton();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeTooltip',\n\t\t\tvalue: function onChangeTooltip(value) {\n\t\t\t\tthis.props.setAttributes({ tooltip: value });\n\t\t\t\tthis.ajaxButton();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeURL',\n\t\t\tvalue: function onChangeURL(value) {\n\t\t\t\tthis.props.setAttributes({ url: value });\n\t\t\t\tthis.ajaxButton();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeID',\n\t\t\tvalue: function onChangeID(value) {\n\t\t\t\t//\tajaxCall(value);\n\t\t\t\tthis.props.setAttributes({ id: value });\n\t\t\t\tthis.ajaxButton(true);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeClassName',\n\t\t\tvalue: function onChangeClassName(value) {\n\t\t\t\tthis.props.setAttributes({ className: value });\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeGlabel',\n\t\t\tvalue: function onChangeGlabel(value) {\n\t\t\t\tthis.props.setAttributes({ google_label: value });\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeGcategory',\n\t\t\tvalue: function onChangeGcategory(value) {\n\t\t\t\tthis.props.setAttributes({ google_category: value });\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'onChangeGaction',\n\t\t\tvalue: function onChangeGaction(value) {\n\t\t\t\tthis.props.setAttributes({ google_action: value });\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'updateToggleAttribute',\n\t\t\tvalue: function updateToggleAttribute(propName) {\n\t\t\t\tvar _this2 = this;\n\n\t\t\t\treturn function () {\n\t\t\t\t\tvar value = _this2.props.attributes[propName];\n\t\t\t\t\tvar setAttributes = _this2.props.setAttributes;\n\n\n\t\t\t\t\tsetAttributes(_defineProperty({}, propName, !value));\n\t\t\t\t};\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'openButtonModal',\n\t\t\tvalue: function openButtonModal() {\n\t\t\t\tvar options = {};\n\t\t\t\toptions.callback = this.insertButton;\n\t\t\t\toptions.useShortCodeOptions = false;\n\n\t\t\t\tthis.maxmedia = new window.maxFoundry.maxMedia();\n\t\t\t\tthis.maxmedia.init(options);\n\t\t\t\tthis.maxmedia.openModal();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'insertButton',\n\t\t\tvalue: function insertButton(button_id, target) {\n\t\t\t\tthis.onChangeID(button_id);\n\t\t\t\tthis.maxmedia.close();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'render',\n\t\t\tvalue: function render() {\n\t\t\t\tvar _props = this.props,\n\t\t\t\t attributes = _props.attributes,\n\t\t\t\t setAttributes = _props.setAttributes,\n\t\t\t\t className = _props.className;\n\n\n\t\t\t\tvar isPro = this.state.isPro;\n\t\t\t\tvar hasGoogle = attributes.google_enable;\n\n\t\t\t\tif (isPro && hasGoogle) var renderGoogle = true;else var renderGoogle = false;\n\n\t\t\t\tvar general_options = wp.element.createElement(\n\t\t\t\t\tInspectorControls,\n\t\t\t\t\t{ key: 'mb_inspector' },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{ title: __('Button Settings') },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: 'modal-button',\n\t\t\t\t\t\t\t\tisLarge: 'true',\n\t\t\t\t\t\t\t\tonClick: this.openButtonModal\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t' Select Button '\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t'Button ID : ',\n\t\t\t\t\t\t\tattributes.id\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Text'),\n\t\t\t\t\t\t\tvalue: attributes.text,\n\t\t\t\t\t\t\tonChange: this.onChangeText,\n\t\t\t\t\t\t\thelp: __('You can change the text of the Button.')\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tthis.state.isPro ? wp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Text2'),\n\t\t\t\t\t\t\tvalue: attributes.text2,\n\t\t\t\t\t\t\tonChange: this.onChangeText2\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('URL'),\n\t\t\t\t\t\t\tvalue: attributes.url,\n\t\t\t\t\t\t\tonChange: this.onChangeURL,\n\t\t\t\t\t\t\thelp: __('You can enter an alternative URL')\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\tlabel: __('Open in New Window'),\n\t\t\t\t\t\t\tchecked: attributes.newwindow,\n\t\t\t\t\t\t\tonChange: this.updateNewWindow\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\tlabel: __('Use rel=\"nofollow\"'),\n\t\t\t\t\t\t\tchecked: attributes.relnofollow,\n\t\t\t\t\t\t\tonChange: this.updateRelNoFollow\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Tooltip Text'),\n\t\t\t\t\t\t\tvalue: attributes.tooltip,\n\t\t\t\t\t\t\tonChange: this.onChangeTooltip\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tvar advanced_options = wp.element.createElement(\n\t\t\t\t\tInspectorControls,\n\t\t\t\t\t{ key: 'advanced' },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{ title: __('Advanced Settings'), initialOpen: false },\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Extra CSS Class'),\n\t\t\t\t\t\t\tvalue: attributes.className,\n\t\t\t\t\t\t\tonChange: this.onChangeClassName,\n\t\t\t\t\t\t\thelp: __('Adds an extra CSS class to the button.')\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\tlabel: __('Output CSS inline'),\n\t\t\t\t\t\t\tchecked: attributes.style,\n\t\t\t\t\t\t\tonChange: this.updateStyle,\n\t\t\t\t\t\t\thelp: __('Use when style is not loading properly. Will output it in the HTML document, instead of footer')\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\tlabel: __('Recompile on load'),\n\t\t\t\t\t\t\tchecked: attributes.compile,\n\t\t\t\t\t\t\tonChange: this.updateCompile,\n\t\t\t\t\t\t\thelp: __('Use only for testing. This will slow down your site noticably! ')\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tvar google_options = renderGoogle && wp.element.createElement(\n\t\t\t\t\tInspectorControls,\n\t\t\t\t\t{ key: 'google' },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{ title: __('Google Event Options'), initialOpen: false },\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Category'),\n\t\t\t\t\t\t\tvalue: attributes.google_category,\n\t\t\t\t\t\t\tonChange: this.onChangeGcategory,\n\t\t\t\t\t\t\thelp: __('You can change the text of the Button.')\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Action'),\n\t\t\t\t\t\t\tvalue: attributes.google_action,\n\t\t\t\t\t\t\tonChange: this.onChangeGaction,\n\t\t\t\t\t\t\thelp: __('You can change the text of the Button.')\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Label'),\n\t\t\t\t\t\t\tvalue: attributes.google_label,\n\t\t\t\t\t\t\tonChange: this.onChangeGlabel,\n\t\t\t\t\t\t\thelp: __('You can change the text of the Button.')\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn [general_options, advanced_options, google_options, wp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: className, key: 'mb_block' },\n\t\t\t\t\twp.element.createElement('span', { dangerouslySetInnerHTML: { __html: this.button }, onClick: this.preventClick }),\n\t\t\t\t\twp.element.createElement('link', { rel: 'stylesheet', href: this.state.stylefile }),\n\t\t\t\t\t!this.button ? wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t'To start, add a MaxButton via the Block Settings on the right.'\n\t\t\t\t\t) : wp.element.createElement('div', null)\n\t\t\t\t)];\n\t\t\t}\n\t\t}]);\n\n\t\treturn edit;\n\t}(Component),\n\n\t/**\n * The save function defines the way in which the different attributes should be combined\n * into the final markup, which is then serialized by Gutenberg into post_content.\n *\n * The \"save\" property must be specified and must be a valid function.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\n */\n\tsave: function save(props) {\n\t\treturn null;\n\t}\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tYXhidXR0b25zLWJsb2NrL2Jsb2NrLmpzP2NhMGMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG4vKipcbiAqIEJMT0NLOiBtYXhidXR0b25zLWJsb2NrXG4gKlxuICogUmVnaXN0ZXJpbmcgYSBiYXNpYyBibG9jayB3aXRoIEd1dGVuYmVyZy5cbiAqIFNpbXBsZSBibG9jaywgcmVuZGVycyBhbmQgc2F2ZXMgdGhlIHNhbWUgY29udGVudCB3aXRob3V0IGFueSBpbnRlcmFjdGl2aXR5LlxuICovXG5cbi8vICBJbXBvcnQgQ1NTLlxuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuaW1wb3J0ICcuL2VkaXRvci5zY3NzJztcblxudmFyIF9fID0gd3AuaTE4bi5fXzsgLy8gSW1wb3J0IF9fKCkgZnJvbSB3cC5pMThuXG5cbnZhciByZWdpc3RlckJsb2NrVHlwZSA9IHdwLmJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZTsgLy8gSW1wb3J0IHJlZ2lzdGVyQmxvY2tUeXBlKCkgZnJvbSB3cC5ibG9ja3NcblxudmFyIEluc3BlY3RvckNvbnRyb2xzID0gd3AuZWRpdG9yLkluc3BlY3RvckNvbnRyb2xzO1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgVGV4dGFyZWFDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dGFyZWFDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2wsXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uO1xudmFyIF93cCRlbGVtZW50ID0gd3AuZWxlbWVudCxcbiAgICBDb21wb25lbnQgPSBfd3AkZWxlbWVudC5Db21wb25lbnQsXG4gICAgRnJhZ21lbnQgPSBfd3AkZWxlbWVudC5GcmFnbWVudCxcbiAgICBjcmVhdGVFbGVtZW50ID0gX3dwJGVsZW1lbnQuY3JlYXRlRWxlbWVudDtcbnZhciB3aXRoU3RhdGUgPSB3cC5jb21wb3NlLndpdGhTdGF0ZTtcblxuLyoqXG4gKiBSZWdpc3RlcjogYWEgR3V0ZW5iZXJnIEJsb2NrLlxuICpcbiAqIFJlZ2lzdGVycyBhIG5ldyBibG9jayBwcm92aWRlZCBhIHVuaXF1ZSBuYW1lIGFuZCBhbiBvYmplY3QgZGVmaW5pbmcgaXRzXG4gKiBiZWhhdmlvci4gT25jZSByZWdpc3RlcmVkLCB0aGUgYmxvY2sgaXMgbWFkZSBlZGl0b3IgYXMgYW4gb3B0aW9uIHRvIGFueVxuICogZWRpdG9yIGludGVyZmFjZSB3aGVyZSBibG9ja3MgYXJlIGltcGxlbWVudGVkLlxuICpcbiAqIEBsaW5rIGh0dHBzOi8vd29yZHByZXNzLm9yZy9ndXRlbmJlcmcvaGFuZGJvb2svYmxvY2stYXBpL1xuICogQHBhcmFtICB7c3RyaW5nfSAgIG5hbWUgICAgIEJsb2NrIG5hbWUuXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgc2V0dGluZ3MgQmxvY2sgc2V0dGluZ3MuXG4gKiBAcmV0dXJuIHs/V1BCbG9ja30gICAgICAgICAgVGhlIGJsb2NrLCBpZiBpdCBoYXMgYmVlbiBzdWNjZXNzZnVsbHlcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlcmVkOyBvdGhlcndpc2UgYHVuZGVmaW5lZGAuXG4gKi9cblxucmVnaXN0ZXJCbG9ja1R5cGUoJ21heGJ1dHRvbnMvbWF4YnV0dG9ucy1ibG9jaycsIHtcblx0Ly8gQmxvY2sgbmFtZS4gQmxvY2sgbmFtZXMgbXVzdCBiZSBzdHJpbmcgdGhhdCBjb250YWlucyBhIG5hbWVzcGFjZSBwcmVmaXguIEV4YW1wbGU6IG15LXBsdWdpbi9teS1jdXN0b20tYmxvY2suXG5cdHRpdGxlOiBfXygnTWF4QnV0dG9ucyBCbG9jaycpLCAvLyBCbG9jayB0aXRsZS5cblx0aWNvbjogY3JlYXRlRWxlbWVudCgnaW1nJywge1xuXHRcdCdzcmMnOiBtYl9ndXRlbmJlcmcuaWNvbl91cmwsXG5cdFx0J3dpZHRoJzogMjBcblx0fSAvLyBCbG9jayBpY29uIGZyb20gRGFzaGljb25zIOKGkiBodHRwczovL2RldmVsb3Blci53b3JkcHJlc3Mub3JnL3Jlc291cmNlL2Rhc2hpY29ucy8uXG5cdCksXG5cdGNhdGVnb3J5OiAnY29tbW9uJywgLy8gQmxvY2sgY2F0ZWdvcnkg4oCUIEdyb3VwIGJsb2NrcyB0b2dldGhlciBiYXNlZCBvbiBjb21tb24gdHJhaXRzIEUuZy4gY29tbW9uLCBmb3JtYXR0aW5nLCBsYXlvdXQgd2lkZ2V0cywgZW1iZWQuXG5cdGtleXdvcmRzOiBbX18oJ21heGJ1dHRvbnMtYmxvY2snKSwgX18oJ21heGJ1dHRvbnMnKV0sXG5cdGNsYXNzTmFtZTogZmFsc2UsXG5cdGN1c3RvbUNsYXNzTmFtZTogZmFsc2UsXG5cdGF0dHJpYnV0ZXM6IHtcblx0XHRpZDoge1xuXHRcdFx0dHlwZTogJ3N0cmluZydcblx0XHR9LFxuXHRcdGJ1dHRvbl9pZDoge1xuXHRcdFx0dHlwZTogJ3N0cmluZydcblx0XHR9LFxuXHRcdHVybDoge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHRhdHRyaWJ1dGU6ICd1cmwnXG5cdFx0fSxcblx0XHR0ZXh0OiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRcdGF0dHJpYnV0ZTogJ3RleHQnXG5cdFx0fSxcblx0XHR0ZXh0Mjoge1xuXHRcdFx0dHlwZTogJ3N0cmluZydcblx0XHR9LFxuXHRcdG5ld3dpbmRvdzoge1xuXHRcdFx0dHlwZTogJ2Jvb2xlYW4nXG5cdFx0fSxcblx0XHRyZWxub2ZvbGxvdzoge1xuXHRcdFx0dHlwZTogJ2Jvb2xlYW4nXG5cdFx0fSxcblx0XHR0b29sdGlwOiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJ1xuXHRcdH0sXG5cdFx0Y29tcGlsZToge1xuXHRcdFx0dHlwZTogJ2Jvb2xlYW4nXG5cdFx0fSxcblx0XHRzdHlsZToge1xuXHRcdFx0dHlwZTogJ2Jvb2xlYW4nXG5cdFx0fSxcblx0XHRnb29nbGVfZW5hYmxlOiB7XG5cdFx0XHR0eXBlOiAnaW50ZWdlcidcblx0XHR9LFxuXHRcdGdvb2dsZV9hY3Rpb246IHtcblx0XHRcdHR5cGU6ICdzdHJpbmcnXG5cdFx0fSxcblx0XHRnb29nbGVfbGFiZWw6IHtcblx0XHRcdHR5cGU6ICdzdHJpbmcnXG5cdFx0fSxcblx0XHRnb29nbGVfY2F0ZWdvcnk6IHtcblx0XHRcdHR5cGU6ICdzdHJpbmcnXG5cdFx0fVxuXHR9LFxuXG5cdC8qKlxuICAqIFRoZSBlZGl0IGZ1bmN0aW9uIGRlc2NyaWJlcyB0aGUgc3RydWN0dXJlIG9mIHlvdXIgYmxvY2sgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGVkaXRvci5cbiAgKiBUaGlzIHJlcHJlc2VudHMgd2hhdCB0aGUgZWRpdG9yIHdpbGwgcmVuZGVyIHdoZW4gdGhlIGJsb2NrIGlzIHVzZWQuXG4gICpcbiAgKiBUaGUgXCJlZGl0XCIgcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGZ1bmN0aW9uLlxuICAqXG4gICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvYmxvY2stZWRpdC1zYXZlL1xuICAqL1xuXHRlZGl0OiBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRcdF9pbmhlcml0cyhlZGl0LCBfQ29tcG9uZW50KTtcblxuXHRcdGZ1bmN0aW9uIGVkaXQocHJvcHMpIHtcblx0XHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBlZGl0KTtcblxuXHRcdFx0dmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKGVkaXQuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihlZGl0KSkuY2FsbCh0aGlzLCBwcm9wcykpO1xuXG5cdFx0XHRfdGhpcy5vbkNoYW5nZUlEID0gX3RoaXMub25DaGFuZ2VJRC5iaW5kKF90aGlzKTtcblx0XHRcdF90aGlzLm9uQ2hhbmdlVGV4dCA9IF90aGlzLm9uQ2hhbmdlVGV4dC5iaW5kKF90aGlzKTtcblx0XHRcdF90aGlzLm9uQ2hhbmdlVGV4dDIgPSBfdGhpcy5vbkNoYW5nZVRleHQyLmJpbmQoX3RoaXMpO1xuXHRcdFx0X3RoaXMub25DaGFuZ2VVUkwgPSBfdGhpcy5vbkNoYW5nZVVSTC5iaW5kKF90aGlzKTtcblx0XHRcdF90aGlzLm9uQ2hhbmdlVG9vbHRpcCA9IF90aGlzLm9uQ2hhbmdlVG9vbHRpcC5iaW5kKF90aGlzKTtcblx0XHRcdF90aGlzLm9uQ2hhbmdlQ2xhc3NOYW1lID0gX3RoaXMub25DaGFuZ2VDbGFzc05hbWUuYmluZChfdGhpcyk7XG5cdFx0XHRfdGhpcy5vbkNoYW5nZUdsYWJlbCA9IF90aGlzLm9uQ2hhbmdlR2xhYmVsLmJpbmQoX3RoaXMpO1xuXHRcdFx0X3RoaXMub25DaGFuZ2VHYWN0aW9uID0gX3RoaXMub25DaGFuZ2VHYWN0aW9uLmJpbmQoX3RoaXMpO1xuXHRcdFx0X3RoaXMub25DaGFuZ2VHY2F0ZWdvcnkgPSBfdGhpcy5vbkNoYW5nZUdjYXRlZ29yeS5iaW5kKF90aGlzKTtcblxuXHRcdFx0X3RoaXMudXBkYXRlTmV3V2luZG93ID0gX3RoaXMudXBkYXRlVG9nZ2xlQXR0cmlidXRlKCduZXd3aW5kb3cnKTtcblx0XHRcdF90aGlzLnVwZGF0ZVJlbE5vRm9sbG93ID0gX3RoaXMudXBkYXRlVG9nZ2xlQXR0cmlidXRlKCdyZWxub2ZvbGxvdycpO1xuXHRcdFx0X3RoaXMudXBkYXRlQ29tcGlsZSA9IF90aGlzLnVwZGF0ZVRvZ2dsZUF0dHJpYnV0ZSgnY29tcGlsZScpO1xuXHRcdFx0X3RoaXMudXBkYXRlU3R5bGUgPSBfdGhpcy51cGRhdGVUb2dnbGVBdHRyaWJ1dGUoJ3N0eWxlJyk7XG5cblx0XHRcdF90aGlzLnByZXZlbnRDbGljayA9IF90aGlzLnByZXZlbnRDbGljay5iaW5kKF90aGlzKTtcblx0XHRcdF90aGlzLmFqYXhCdXR0b24gPSBfdGhpcy5hamF4QnV0dG9uLmJpbmQoX3RoaXMpO1xuXHRcdFx0X3RoaXMub3BlbkJ1dHRvbk1vZGFsID0gX3RoaXMub3BlbkJ1dHRvbk1vZGFsLmJpbmQoX3RoaXMpO1xuXHRcdFx0X3RoaXMuaW5zZXJ0QnV0dG9uID0gX3RoaXMuaW5zZXJ0QnV0dG9uLmJpbmQoX3RoaXMpO1xuXHRcdFx0X3RoaXMuc3RhdGUgPSB7XG5cdFx0XHRcdHN0eWxlZmlsZTogJycsXG5cdFx0XHRcdGlzUHJvOiBmYWxzZSAvLyBjaGVjayBpZiBwbHVnaW4gaXMgcHJvXG5cdFx0XHR9O1xuXG5cdFx0XHRfdGhpcy5idXR0b247IC8vIGluaXRcblx0XHRcdF90aGlzLmxpbWl0YWpheDtcblx0XHRcdHJldHVybiBfdGhpcztcblx0XHR9XG5cblx0XHRfY3JlYXRlQ2xhc3MoZWRpdCwgW3tcblx0XHRcdGtleTogJ2NvbXBvbmVudERpZE1vdW50Jyxcblx0XHRcdHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHRcdFx0aWYgKHRoaXMucHJvcHMuYXR0cmlidXRlcy5pZCkge1xuXHRcdFx0XHRcdHRoaXMuYWpheEJ1dHRvbigpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnNvbGUubG9nKG1iX2d1dGVuYmVyZyk7XG5cdFx0XHRcdGlmIChtYl9ndXRlbmJlcmcuaXNwcm8gPT0gMSkge1xuXHRcdFx0XHRcdHRoaXMuc2V0U3RhdGUoeyBpc1BybzogdHJ1ZSB9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQvL1xuXHRcdFx0fVxuXHRcdH0sIHtcblx0XHRcdGtleTogJ2FqYXhCdXR0b24nLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIGFqYXhCdXR0b24ocmVzZXRfYXR0cykge1xuXHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy5saW1pdGFqYXgpOyAvLyAgbGltaXQgYW1vdW50IG9mIHJlZnJlc2hlcyB2aWEgYWpheC5cblx0XHRcdFx0dmFyIHNlbGYgPSB0aGlzO1xuXG5cdFx0XHRcdHNlbGYubGltaXRhamF4ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0dmFyIF9zZWxmJHByb3BzJGF0dHJpYnV0ZSA9IHNlbGYucHJvcHMuYXR0cmlidXRlcyxcblx0XHRcdFx0XHQgICAgaWQgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUuaWQsXG5cdFx0XHRcdFx0ICAgIHRleHQgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUudGV4dCxcblx0XHRcdFx0XHQgICAgdGV4dDIgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUudGV4dDIsXG5cdFx0XHRcdFx0ICAgIHVybCA9IF9zZWxmJHByb3BzJGF0dHJpYnV0ZS51cmwsXG5cdFx0XHRcdFx0ICAgIHRvb2x0aXAgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUudG9vbHRpcCxcblx0XHRcdFx0XHQgICAgbmV3d2luZG93ID0gX3NlbGYkcHJvcHMkYXR0cmlidXRlLm5ld3dpbmRvdyxcblx0XHRcdFx0XHQgICAgcmVsbm9mb2xsb3cgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUucmVsbm9mb2xsb3csXG5cdFx0XHRcdFx0ICAgIGNsYXNzTmFtZSA9IF9zZWxmJHByb3BzJGF0dHJpYnV0ZS5jbGFzc05hbWUsXG5cdFx0XHRcdFx0ICAgIGNvbXBpbGUgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUuY29tcGlsZSxcblx0XHRcdFx0XHQgICAgc3R5bGUgPSBfc2VsZiRwcm9wcyRhdHRyaWJ1dGUuc3R5bGU7XG5cblxuXHRcdFx0XHRcdHdwLmFqYXguc2VuZCgnbWF4YWpheCcsIHtcblx0XHRcdFx0XHRcdGRhdGE6IHtcblx0XHRcdFx0XHRcdFx0cGx1Z2luX2FjdGlvbjogJ2d1dGVuYmVyZ19idXR0b24nLFxuXHRcdFx0XHRcdFx0XHRub25jZTogbWF4YWpheC5ub25jZSxcblx0XHRcdFx0XHRcdFx0aWQ6IGlkLFxuXHRcdFx0XHRcdFx0XHR0ZXh0OiB0ZXh0LFxuXHRcdFx0XHRcdFx0XHR0ZXh0MjogdGV4dDIsXG5cdFx0XHRcdFx0XHRcdHVybDogdXJsLFxuXHRcdFx0XHRcdFx0XHRsaW5rdGl0bGU6IHRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdG5ld3dpbmRvdzogbmV3d2luZG93LFxuXHRcdFx0XHRcdFx0XHRyZWxub2ZvbGxvdzogcmVsbm9mb2xsb3csXG5cdFx0XHRcdFx0XHRcdGV4dHJhY2xhc3M6IGNsYXNzTmFtZSxcblx0XHRcdFx0XHRcdFx0Y29tcGlsZTogY29tcGlsZSxcblx0XHRcdFx0XHRcdFx0c3R5bGU6IHN0eWxlLFxuXHRcdFx0XHRcdFx0XHRyZXNldDogcmVzZXRfYXR0c1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uIHN1Y2Nlc3MoZGF0YSkge1xuXHRcdFx0XHRcdFx0XHRzZWxmLmJ1dHRvbiA9IGRhdGEuYnV0dG9uO1xuXHRcdFx0XHRcdFx0XHRzZWxmLnNldFN0YXRlKHsgc3R5bGVmaWxlOiBkYXRhLnN0eWxlIH0pO1xuXG5cdFx0XHRcdFx0XHRcdGlmIChkYXRhLmF0dHJpYnV0ZXMpIHtcblx0XHRcdFx0XHRcdFx0XHRzZWxmLnByb3BzLnNldEF0dHJpYnV0ZXMoZGF0YS5hdHRyaWJ1dGVzKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGVycm9yOiBmdW5jdGlvbiBlcnJvcihkYXRhKSB7fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9LCA3MDApO1xuXHRcdFx0fVxuXHRcdH0sIHtcblx0XHRcdGtleTogJ3ByZXZlbnRDbGljaycsXG5cdFx0XHR2YWx1ZTogZnVuY3Rpb24gcHJldmVudENsaWNrKGUpIHtcblx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAnb25DaGFuZ2VUZXh0Jyxcblx0XHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVRleHQodmFsdWUpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgdGV4dDogdmFsdWUgfSk7XG5cdFx0XHRcdHRoaXMuYWpheEJ1dHRvbigpO1xuXHRcdFx0fVxuXHRcdH0sIHtcblx0XHRcdGtleTogJ29uQ2hhbmdlVGV4dDInLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlVGV4dDIodmFsdWUpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgdGV4dDI6IHZhbHVlIH0pO1xuXHRcdFx0XHR0aGlzLmFqYXhCdXR0b24oKTtcblx0XHRcdH1cblx0XHR9LCB7XG5cdFx0XHRrZXk6ICdvbkNoYW5nZVRvb2x0aXAnLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlVG9vbHRpcCh2YWx1ZSkge1xuXHRcdFx0XHR0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB0b29sdGlwOiB2YWx1ZSB9KTtcblx0XHRcdFx0dGhpcy5hamF4QnV0dG9uKCk7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAnb25DaGFuZ2VVUkwnLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlVVJMKHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7IHVybDogdmFsdWUgfSk7XG5cdFx0XHRcdHRoaXMuYWpheEJ1dHRvbigpO1xuXHRcdFx0fVxuXHRcdH0sIHtcblx0XHRcdGtleTogJ29uQ2hhbmdlSUQnLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlSUQodmFsdWUpIHtcblx0XHRcdFx0Ly9cdGFqYXhDYWxsKHZhbHVlKTtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgaWQ6IHZhbHVlIH0pO1xuXHRcdFx0XHR0aGlzLmFqYXhCdXR0b24odHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAnb25DaGFuZ2VDbGFzc05hbWUnLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlQ2xhc3NOYW1lKHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNsYXNzTmFtZTogdmFsdWUgfSk7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAnb25DaGFuZ2VHbGFiZWwnLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlR2xhYmVsKHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7IGdvb2dsZV9sYWJlbDogdmFsdWUgfSk7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAnb25DaGFuZ2VHY2F0ZWdvcnknLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlR2NhdGVnb3J5KHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyh7IGdvb2dsZV9jYXRlZ29yeTogdmFsdWUgfSk7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAnb25DaGFuZ2VHYWN0aW9uJyxcblx0XHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUdhY3Rpb24odmFsdWUpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgZ29vZ2xlX2FjdGlvbjogdmFsdWUgfSk7XG5cdFx0XHR9XG5cdFx0fSwge1xuXHRcdFx0a2V5OiAndXBkYXRlVG9nZ2xlQXR0cmlidXRlJyxcblx0XHRcdHZhbHVlOiBmdW5jdGlvbiB1cGRhdGVUb2dnbGVBdHRyaWJ1dGUocHJvcE5hbWUpIHtcblx0XHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdFx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHR2YXIgdmFsdWUgPSBfdGhpczIucHJvcHMuYXR0cmlidXRlc1twcm9wTmFtZV07XG5cdFx0XHRcdFx0dmFyIHNldEF0dHJpYnV0ZXMgPSBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcztcblxuXG5cdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIHByb3BOYW1lLCAhdmFsdWUpKTtcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHR9LCB7XG5cdFx0XHRrZXk6ICdvcGVuQnV0dG9uTW9kYWwnLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIG9wZW5CdXR0b25Nb2RhbCgpIHtcblx0XHRcdFx0dmFyIG9wdGlvbnMgPSB7fTtcblx0XHRcdFx0b3B0aW9ucy5jYWxsYmFjayA9IHRoaXMuaW5zZXJ0QnV0dG9uO1xuXHRcdFx0XHRvcHRpb25zLnVzZVNob3J0Q29kZU9wdGlvbnMgPSBmYWxzZTtcblxuXHRcdFx0XHR0aGlzLm1heG1lZGlhID0gbmV3IHdpbmRvdy5tYXhGb3VuZHJ5Lm1heE1lZGlhKCk7XG5cdFx0XHRcdHRoaXMubWF4bWVkaWEuaW5pdChvcHRpb25zKTtcblx0XHRcdFx0dGhpcy5tYXhtZWRpYS5vcGVuTW9kYWwoKTtcblx0XHRcdH1cblx0XHR9LCB7XG5cdFx0XHRrZXk6ICdpbnNlcnRCdXR0b24nLFxuXHRcdFx0dmFsdWU6IGZ1bmN0aW9uIGluc2VydEJ1dHRvbihidXR0b25faWQsIHRhcmdldCkge1xuXHRcdFx0XHR0aGlzLm9uQ2hhbmdlSUQoYnV0dG9uX2lkKTtcblx0XHRcdFx0dGhpcy5tYXhtZWRpYS5jbG9zZSgpO1xuXHRcdFx0fVxuXHRcdH0sIHtcblx0XHRcdGtleTogJ3JlbmRlcicsXG5cdFx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0XHR2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcblx0XHRcdFx0ICAgIGF0dHJpYnV0ZXMgPSBfcHJvcHMuYXR0cmlidXRlcyxcblx0XHRcdFx0ICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHMuc2V0QXR0cmlidXRlcyxcblx0XHRcdFx0ICAgIGNsYXNzTmFtZSA9IF9wcm9wcy5jbGFzc05hbWU7XG5cblxuXHRcdFx0XHR2YXIgaXNQcm8gPSB0aGlzLnN0YXRlLmlzUHJvO1xuXHRcdFx0XHR2YXIgaGFzR29vZ2xlID0gYXR0cmlidXRlcy5nb29nbGVfZW5hYmxlO1xuXG5cdFx0XHRcdGlmIChpc1BybyAmJiBoYXNHb29nbGUpIHZhciByZW5kZXJHb29nbGUgPSB0cnVlO2Vsc2UgdmFyIHJlbmRlckdvb2dsZSA9IGZhbHNlO1xuXG5cdFx0XHRcdHZhciBnZW5lcmFsX29wdGlvbnMgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdFx0eyBrZXk6ICdtYl9pbnNwZWN0b3InIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0eyB0aXRsZTogX18oJ0J1dHRvbiBTZXR0aW5ncycpIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ21vZGFsLWJ1dHRvbicsXG5cdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogJ3RydWUnLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IHRoaXMub3BlbkJ1dHRvbk1vZGFsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdCcgU2VsZWN0IEJ1dHRvbiAnXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHQnQnV0dG9uIElEIDogJyxcblx0XHRcdFx0XHRcdFx0YXR0cmlidXRlcy5pZFxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQnKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMudGV4dCxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VUZXh0LFxuXHRcdFx0XHRcdFx0XHRoZWxwOiBfXygnWW91IGNhbiBjaGFuZ2UgdGhlIHRleHQgb2YgdGhlIEJ1dHRvbi4nKVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR0aGlzLnN0YXRlLmlzUHJvID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVGV4dDInKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMudGV4dDIsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlVGV4dDJcblx0XHRcdFx0XHRcdH0pIDogbnVsbCxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1VSTCcpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlcy51cmwsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlVVJMLFxuXHRcdFx0XHRcdFx0XHRoZWxwOiBfXygnWW91IGNhbiBlbnRlciBhbiBhbHRlcm5hdGl2ZSBVUkwnKVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gaW4gTmV3IFdpbmRvdycpLFxuXHRcdFx0XHRcdFx0XHRjaGVja2VkOiBhdHRyaWJ1dGVzLm5ld3dpbmRvdyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMudXBkYXRlTmV3V2luZG93XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVXNlIHJlbD1cIm5vZm9sbG93XCInKSxcblx0XHRcdFx0XHRcdFx0Y2hlY2tlZDogYXR0cmlidXRlcy5yZWxub2ZvbGxvdyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMudXBkYXRlUmVsTm9Gb2xsb3dcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVG9vbHRpcCBUZXh0JyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLnRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlVG9vbHRpcFxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0dmFyIGFkdmFuY2VkX29wdGlvbnMgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdFx0eyBrZXk6ICdhZHZhbmNlZCcgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHR7IHRpdGxlOiBfXygnQWR2YW5jZWQgU2V0dGluZ3MnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdFeHRyYSBDU1MgQ2xhc3MnKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMuY2xhc3NOYW1lLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy5vbkNoYW5nZUNsYXNzTmFtZSxcblx0XHRcdFx0XHRcdFx0aGVscDogX18oJ0FkZHMgYW4gZXh0cmEgQ1NTIGNsYXNzIHRvIHRoZSBidXR0b24uJylcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdPdXRwdXQgQ1NTIGlubGluZScpLFxuXHRcdFx0XHRcdFx0XHRjaGVja2VkOiBhdHRyaWJ1dGVzLnN0eWxlLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy51cGRhdGVTdHlsZSxcblx0XHRcdFx0XHRcdFx0aGVscDogX18oJ1VzZSB3aGVuIHN0eWxlIGlzIG5vdCBsb2FkaW5nIHByb3Blcmx5LiBXaWxsIG91dHB1dCBpdCBpbiB0aGUgSFRNTCBkb2N1bWVudCwgaW5zdGVhZCBvZiBmb290ZXInKVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JlY29tcGlsZSBvbiBsb2FkJyksXG5cdFx0XHRcdFx0XHRcdGNoZWNrZWQ6IGF0dHJpYnV0ZXMuY29tcGlsZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMudXBkYXRlQ29tcGlsZSxcblx0XHRcdFx0XHRcdFx0aGVscDogX18oJ1VzZSBvbmx5IGZvciB0ZXN0aW5nLiBUaGlzIHdpbGwgc2xvdyBkb3duIHlvdXIgc2l0ZSBub3RpY2FibHkhICcpXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblxuXHRcdFx0XHR2YXIgZ29vZ2xlX29wdGlvbnMgPSByZW5kZXJHb29nbGUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHRcdHsga2V5OiAnZ29vZ2xlJyB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHsgdGl0bGU6IF9fKCdHb29nbGUgRXZlbnQgT3B0aW9ucycpLCBpbml0aWFsT3BlbjogZmFsc2UgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0NhdGVnb3J5JyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLmdvb2dsZV9jYXRlZ29yeSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VHY2F0ZWdvcnksXG5cdFx0XHRcdFx0XHRcdGhlbHA6IF9fKCdZb3UgY2FuIGNoYW5nZSB0aGUgdGV4dCBvZiB0aGUgQnV0dG9uLicpXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FjdGlvbicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlcy5nb29nbGVfYWN0aW9uLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy5vbkNoYW5nZUdhY3Rpb24sXG5cdFx0XHRcdFx0XHRcdGhlbHA6IF9fKCdZb3UgY2FuIGNoYW5nZSB0aGUgdGV4dCBvZiB0aGUgQnV0dG9uLicpXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0xhYmVsJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLmdvb2dsZV9sYWJlbCxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VHbGFiZWwsXG5cdFx0XHRcdFx0XHRcdGhlbHA6IF9fKCdZb3UgY2FuIGNoYW5nZSB0aGUgdGV4dCBvZiB0aGUgQnV0dG9uLicpXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRyZXR1cm4gW2dlbmVyYWxfb3B0aW9ucywgYWR2YW5jZWRfb3B0aW9ucywgZ29vZ2xlX29wdGlvbnMsIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHR7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBrZXk6ICdtYl9ibG9jaycgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCB7IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7IF9faHRtbDogdGhpcy5idXR0b24gfSwgb25DbGljazogdGhpcy5wcmV2ZW50Q2xpY2sgfSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJywgeyByZWw6ICdzdHlsZXNoZWV0JywgaHJlZjogdGhpcy5zdGF0ZS5zdHlsZWZpbGUgfSksXG5cdFx0XHRcdFx0IXRoaXMuYnV0dG9uID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0J1RvIHN0YXJ0LCBhZGQgYSBNYXhCdXR0b24gdmlhIHRoZSBCbG9jayBTZXR0aW5ncyBvbiB0aGUgcmlnaHQuJ1xuXHRcdFx0XHRcdCkgOiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicsIG51bGwpXG5cdFx0XHRcdCldO1xuXHRcdFx0fVxuXHRcdH1dKTtcblxuXHRcdHJldHVybiBlZGl0O1xuXHR9KENvbXBvbmVudCksXG5cblx0LyoqXG4gICogVGhlIHNhdmUgZnVuY3Rpb24gZGVmaW5lcyB0aGUgd2F5IGluIHdoaWNoIHRoZSBkaWZmZXJlbnQgYXR0cmlidXRlcyBzaG91bGQgYmUgY29tYmluZWRcbiAgKiBpbnRvIHRoZSBmaW5hbCBtYXJrdXAsIHdoaWNoIGlzIHRoZW4gc2VyaWFsaXplZCBieSBHdXRlbmJlcmcgaW50byBwb3N0X2NvbnRlbnQuXG4gICpcbiAgKiBUaGUgXCJzYXZlXCIgcHJvcGVydHkgbXVzdCBiZSBzcGVjaWZpZWQgYW5kIG11c3QgYmUgYSB2YWxpZCBmdW5jdGlvbi5cbiAgKlxuICAqIEBsaW5rIGh0dHBzOi8vd29yZHByZXNzLm9yZy9ndXRlbmJlcmcvaGFuZGJvb2svYmxvY2stYXBpL2Jsb2NrLWVkaXQtc2F2ZS9cbiAgKi9cblx0c2F2ZTogZnVuY3Rpb24gc2F2ZShwcm9wcykge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9tYXhidXR0b25zLWJsb2NrL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n");
88
-
89
- /***/ }),
90
- /* 2 */
91
- /*!*****************************************!*\
92
- !*** ./src/maxbuttons-block/style.scss ***!
93
- \*****************************************/
94
- /*! dynamic exports provided */
95
- /***/ (function(module, exports) {
96
-
97
- eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tYXhidXR0b25zLWJsb2NrL3N0eWxlLnNjc3M/YTk1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL21heGJ1dHRvbnMtYmxvY2svc3R5bGUuc2Nzc1xuLy8gbW9kdWxlIGlkID0gMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2\n");
98
-
99
- /***/ }),
100
- /* 3 */
101
- /*!******************************************!*\
102
- !*** ./src/maxbuttons-block/editor.scss ***!
103
- \******************************************/
104
- /*! dynamic exports provided */
105
- /***/ (function(module, exports) {
106
-
107
- eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tYXhidXR0b25zLWJsb2NrL2VkaXRvci5zY3NzP2FkOTQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9tYXhidXR0b25zLWJsb2NrL2VkaXRvci5zY3NzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///3\n");
108
-
109
- /***/ })
110
- /******/ ]);
1
+ !function(e){function t(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(1)},function(e,t,n){"use strict";function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var r=n(2),s=(n.n(r),n(3)),u=(n.n(s),function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}()),c=wp.i18n.__,p=wp.blocks.registerBlockType,h=wp.blockEditor.InspectorControls,g=wp.components,b=g.PanelBody,m=(g.TextareaControl,g.TextControl),d=g.ToggleControl,w=g.Button,f=wp.element,y=f.Component,C=(f.Fragment,f.createElement);wp.compose.withState;p("maxbuttons/maxbuttons-block",{title:c("MaxButtons Block"),icon:C("img",{src:mb_gutenberg.icon_url,width:20}),category:"common",keywords:[c("maxbuttons-block"),c("maxbuttons")],className:!1,customClassName:!1,attributes:{id:{type:"string"},button_id:{type:"string"},url:{type:"string",attribute:"url"},text:{type:"string",attribute:"text"},text2:{type:"string"},newwindow:{type:"boolean"},relnofollow:{type:"boolean"},is_download:{type:"boolean"},tooltip:{type:"string"},compile:{type:"boolean"},style:{type:"boolean"},google_enable:{type:"integer"},google_action:{type:"string"},google_label:{type:"string"},google_category:{type:"string"}},edit:function(e){function t(e){a(this,t);var n=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onChangeID=n.onChangeID.bind(n),n.onChangeText=n.onChangeText.bind(n),n.onChangeText2=n.onChangeText2.bind(n),n.onChangeURL=n.onChangeURL.bind(n),n.onChangeTooltip=n.onChangeTooltip.bind(n),n.onChangeClassName=n.onChangeClassName.bind(n),n.onChangeGlabel=n.onChangeGlabel.bind(n),n.onChangeGaction=n.onChangeGaction.bind(n),n.onChangeGcategory=n.onChangeGcategory.bind(n),n.updateNewWindow=n.updateToggleAttribute("newwindow"),n.updateRelNoFollow=n.updateToggleAttribute("relnofollow"),n.updateIsDownload=n.updateToggleAttribute("is_download"),n.updateCompile=n.updateToggleAttribute("compile"),n.updateStyle=n.updateToggleAttribute("style"),n.preventClick=n.preventClick.bind(n),n.ajaxButton=n.ajaxButton.bind(n),n.openButtonModal=n.openButtonModal.bind(n),n.insertButton=n.insertButton.bind(n),n.state={stylefile:"",isPro:!1},n.button,n.limitajax,n}return i(t,e),u(t,[{key:"componentDidMount",value:function(){this.props.attributes.id&&this.ajaxButton(),1==mb_gutenberg.ispro&&this.setState({isPro:!0})}},{key:"ajaxButton",value:function(e){clearTimeout(this.limitajax);var t=this;t.limitajax=setTimeout(function(){var n=t.props.attributes,o=n.id,a=n.text,l=n.text2,i=n.url,r=n.tooltip,s=n.newwindow,u=n.relnofollow,c=n.is_download,p=n.className,h=n.compile,g=n.style;wp.ajax.send("maxajax",{data:{plugin_action:"gutenberg_button",nonce:maxajax.nonce,id:o,text:a,text2:l,url:i,linktitle:r,newwindow:s,relnofollow:u,is_download:c,extraclass:p,compile:h,style:g,reset:e},success:function(e){t.button=e.button,t.setState({stylefile:e.style}),e.attributes&&t.props.setAttributes(e.attributes)},error:function(e){}})},700)}},{key:"preventClick",value:function(e){return e.preventDefault(),!1}},{key:"onChangeText",value:function(e){this.props.setAttributes({text:e}),this.ajaxButton()}},{key:"onChangeText2",value:function(e){this.props.setAttributes({text2:e}),this.ajaxButton()}},{key:"onChangeTooltip",value:function(e){this.props.setAttributes({tooltip:e}),this.ajaxButton()}},{key:"onChangeURL",value:function(e){this.props.setAttributes({url:e}),this.ajaxButton()}},{key:"onChangeID",value:function(e){this.props.setAttributes({id:e}),this.ajaxButton(!0)}},{key:"onChangeClassName",value:function(e){this.props.setAttributes({className:e})}},{key:"onChangeGlabel",value:function(e){this.props.setAttributes({google_label:e})}},{key:"onChangeGcategory",value:function(e){this.props.setAttributes({google_category:e})}},{key:"onChangeGaction",value:function(e){this.props.setAttributes({google_action:e})}},{key:"updateToggleAttribute",value:function(e){var t=this;return function(){var n=t.props.attributes[e];(0,t.props.setAttributes)(o({},e,!n))}}},{key:"openButtonModal",value:function(){var e={};e.callback=this.insertButton,e.useShortCodeOptions=!1,this.maxmedia=new window.maxFoundry.maxMedia,this.maxmedia.init(e),this.maxmedia.openModal()}},{key:"insertButton",value:function(e,t){this.onChangeID(e),this.maxmedia.close()}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=(e.setAttributes,e.className),o=this.state.isPro,a=t.google_enable;if(o&&a)var l=!0;else var l=!1;return[wp.element.createElement(h,{key:"mb_inspector"},wp.element.createElement(b,{title:c("Button Settings")},wp.element.createElement(w,{className:"modal-button",onClick:this.openButtonModal}," Select Button "),wp.element.createElement("h4",null,"Button ID : ",t.id),wp.element.createElement(m,{label:c("Text"),value:t.text,onChange:this.onChangeText,help:c("You can change the text of the Button.")}),this.state.isPro?wp.element.createElement(m,{label:c("Text2"),value:t.text2,onChange:this.onChangeText2}):null,wp.element.createElement(m,{label:c("URL"),value:t.url,onChange:this.onChangeURL,help:c("You can enter an alternative URL")}),wp.element.createElement(d,{label:c("Open in New Window"),checked:t.newwindow,onChange:this.updateNewWindow}),wp.element.createElement(d,{label:c('Use rel="nofollow"'),checked:t.relnofollow,onChange:this.updateRelNoFollow}),wp.element.createElement(d,{label:c("URL Is Download"),checked:t.is_download,onChange:this.updateIsDownload}),wp.element.createElement(m,{label:c("Tooltip Text"),value:t.tooltip,onChange:this.onChangeTooltip}))),wp.element.createElement(h,{key:"advanced"},wp.element.createElement(b,{title:c("Advanced Settings"),initialOpen:!1},wp.element.createElement(m,{label:c("Extra CSS Class"),value:t.className,onChange:this.onChangeClassName,help:c("Adds an extra CSS class to the button.")}),wp.element.createElement(d,{label:c("Output CSS inline"),checked:t.style,onChange:this.updateStyle,help:c("Use when style is not loading properly. Will output it in the HTML document, instead of footer")}),wp.element.createElement(d,{label:c("Recompile on load"),checked:t.compile,onChange:this.updateCompile,help:c("Use only for testing. This will slow down your site noticably! ")}))),l&&wp.element.createElement(h,{key:"google"},wp.element.createElement(b,{title:c("Google Event Options"),initialOpen:!1},wp.element.createElement(m,{label:c("Category"),value:t.google_category,onChange:this.onChangeGcategory,help:c("You can change the text of the Button.")}),wp.element.createElement(m,{label:c("Action"),value:t.google_action,onChange:this.onChangeGaction,help:c("You can change the text of the Button.")}),wp.element.createElement(m,{label:c("Label"),value:t.google_label,onChange:this.onChangeGlabel,help:c("You can change the text of the Button.")}))),wp.element.createElement("div",{className:n,key:"mb_block"},wp.element.createElement("span",{dangerouslySetInnerHTML:{__html:this.button},onClick:this.preventClick}),wp.element.createElement("link",{rel:"stylesheet",href:this.state.stylefile}),this.button?wp.element.createElement("div",null):wp.element.createElement("div",null,"To start, add a MaxButton via the Block Settings on the right."))]}}]),t}(y),save:function(e){return null}})},function(e,t){},function(e,t){}]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/integrations/gutenberg/blocks.editor.build.css CHANGED
@@ -1,25 +1 @@
1
- /**
2
- * #.# Common SCSS
3
- *
4
- * Can include things like variables and mixins
5
- * that are used across the project.
6
- */
7
- /**
8
- * #.# Editor Styles
9
- *
10
- * CSS for just Backend enqueued after style.scss
11
- * which makes it higher in priority.
12
- */
13
- .wp-block-cgb-block-maxbuttons-block {
14
- background: #bada55;
15
- border: 0.2rem solid #292929;
16
- color: #292929;
17
- margin: 0 auto;
18
- max-width: 740px;
19
- padding: 2rem; }
20
-
21
- .maxbuttons-modal {
22
- width: 80%; }
23
- .maxbuttons-modal h1 {
24
- font-size: 36px;
25
- font-weight: 700; }
1
+ .wp-block-cgb-block-maxbuttons-block{background:#bada55;border:0.2rem solid #292929;color:#292929;margin:0 auto;max-width:740px;padding:2rem}.modal-button{border:1px solid #000}.maxbuttons-modal{width:80%}.maxbuttons-modal h1{font-size:36px;font-weight:700}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/integrations/gutenberg/blocks.style.build.css CHANGED
@@ -1,18 +1 @@
1
- /**
2
- * #.# Common SCSS
3
- *
4
- * Can include things like variables and mixins
5
- * that are used across the project.
6
- */
7
- /**
8
- * #.# Styles
9
- *
10
- * CSS for both Frontend+Backend.
11
- */
12
- .wp-block-cgb-block-maxbuttons-block {
13
- background: orangered;
14
- border: 0.2rem solid #292929;
15
- color: #292929;
16
- margin: 0 auto;
17
- max-width: 740px;
18
- padding: 2rem; }
1
+ .wp-block-cgb-block-maxbuttons-block{background:#ff4500;border:0.2rem solid #292929;color:#292929;margin:0 auto;max-width:740px;padding:2rem}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/integrations/gutenberg/gutenberg.php CHANGED
@@ -62,6 +62,7 @@ class gutenBerg{
62
  $linktitle = isset($post['linktitle']) ? $post['linktitle'] : null;
63
  $window = isset($post['newwindow']) ? $post['newwindow']: null;
64
  $nofollow = isset($post['nofollow']) ? $post['nofollow'] : null;
 
65
  $extraclass = isset($post['extraclass']) ? $post['extraclass'] : null;
66
  $reset = isset($post['reset']) ? $post['reset'] : false;
67
  $compile = isset($post['compile']) ? true : false;
@@ -90,6 +91,7 @@ class gutenBerg{
90
  'linktitle' => $linktitle,
91
  'window' => $window,
92
  'nofollow' => $nofollow,
 
93
  'extraclass' => $extraclass,
94
  );
95
  }
@@ -113,6 +115,7 @@ class gutenBerg{
113
  $linktitle = isset($data['basic']['link_title'])? $data['basic']['link_title'] : '';
114
  $window = isset($data['basic']['new_window']) ? $data['basic']['new_window'] : '';
115
  $nofollow= isset($data['basic']['nofollow']) ? $data['basic']['nofollow'] : '';
 
116
 
117
  if (isset($data['google']))
118
  {
@@ -130,6 +133,7 @@ class gutenBerg{
130
  'tooltip' => $linktitle,
131
  'newwindow' => ($window == 1) ? true : false,
132
  'relnofollow' => ($nofollow == 1) ? true : false,
 
133
 
134
  );
135
 
@@ -152,7 +156,6 @@ class gutenBerg{
152
  {
153
  return;
154
  }
155
-
156
  $id = $atts['id'];
157
  $args = array(
158
  'id' => $atts['id'],
@@ -160,8 +163,9 @@ class gutenBerg{
160
  'text2' => isset($atts['text2']) ? $atts['text2'] : null,
161
  'url' => isset($atts['url']) ? $atts['url'] : null,
162
  'linktitle' => isset($atts['tooltip']) ? $atts['tooltip'] : null,
163
- 'window' => isset($atts['newwindow']) && $atts['newwindow'] == 1 ? 'new' : null,
164
- 'nofollow' => isset($atts['relnofollow']) && $atts['relnofollow'] == 1 ? 'true' : null,
 
165
  'extraclass' => isset($atts['className']) ? $atts['className'] : null,
166
  'nocache' => isset($atts['compile']) ? true : null,
167
  'style' => isset($atts['style']) ? 'inline' : 'footer',
62
  $linktitle = isset($post['linktitle']) ? $post['linktitle'] : null;
63
  $window = isset($post['newwindow']) ? $post['newwindow']: null;
64
  $nofollow = isset($post['nofollow']) ? $post['nofollow'] : null;
65
+ $is_download = isset($post['is_download']) ? $post['is_download'] : null;
66
  $extraclass = isset($post['extraclass']) ? $post['extraclass'] : null;
67
  $reset = isset($post['reset']) ? $post['reset'] : false;
68
  $compile = isset($post['compile']) ? true : false;
91
  'linktitle' => $linktitle,
92
  'window' => $window,
93
  'nofollow' => $nofollow,
94
+ 'is_download' => $is_download,
95
  'extraclass' => $extraclass,
96
  );
97
  }
115
  $linktitle = isset($data['basic']['link_title'])? $data['basic']['link_title'] : '';
116
  $window = isset($data['basic']['new_window']) ? $data['basic']['new_window'] : '';
117
  $nofollow= isset($data['basic']['nofollow']) ? $data['basic']['nofollow'] : '';
118
+ $is_download = isset($data['basic']['is_download']) ? $data['basic']['is_download'] : '';
119
 
120
  if (isset($data['google']))
121
  {
133
  'tooltip' => $linktitle,
134
  'newwindow' => ($window == 1) ? true : false,
135
  'relnofollow' => ($nofollow == 1) ? true : false,
136
+ 'is_download' => ($is_download == 1) ? true : false,
137
 
138
  );
139
 
156
  {
157
  return;
158
  }
 
159
  $id = $atts['id'];
160
  $args = array(
161
  'id' => $atts['id'],
163
  'text2' => isset($atts['text2']) ? $atts['text2'] : null,
164
  'url' => isset($atts['url']) ? $atts['url'] : null,
165
  'linktitle' => isset($atts['tooltip']) ? $atts['tooltip'] : null,
166
+ 'window' => isset($atts['newwindow']) && $atts['newwindow'] == 1 ? 'new' : 'same',
167
+ 'nofollow' => isset($atts['relnofollow']) && $atts['relnofollow'] == 1 ? 'true' : 'false',
168
+ 'is_download' => isset($atts['is_download']) && $atts['is_download'] == 1 ? 'true' : 'false',
169
  'extraclass' => isset($atts['className']) ? $atts['className'] : null,
170
  'nocache' => isset($atts['compile']) ? true : null,
171
  'style' => isset($atts['style']) ? 'inline' : 'footer',
assets/libraries/font-awesome-5/convert.php CHANGED
@@ -2,19 +2,10 @@
2
  ini_set('display_errors', 1);
3
  error_reporting(E_ALL);
4
 
5
- //var_dump(convert(memory_get_usage()));
6
  $dir = '.';
7
  $icon_json = file_get_contents($dir . '/icons.json');
8
  $file_icon_array = json_decode($icon_json, true);
9
 
10
- //var_dump(convert(memory_get_usage()));
11
-
12
- /*$file_icon_array = null;
13
- $icon_json = file_get_contents($dir . '/icons_processed.json');
14
- $file_icon_array = json_decode($icon_json, true);
15
-
16
- var_dump(convert(memory_get_usage()));
17
- */
18
 
19
  $array = array();
20
 
2
  ini_set('display_errors', 1);
3
  error_reporting(E_ALL);
4
 
 
5
  $dir = '.';
6
  $icon_json = file_get_contents($dir . '/icons.json');
7
  $file_icon_array = json_decode($icon_json, true);
8
 
 
 
 
 
 
 
 
 
9
 
10
  $array = array();
11
 
assets/scss/_editor.scss CHANGED
@@ -393,7 +393,7 @@
393
  .output {
394
  position: fixed;
395
  top: 45px;
396
- right: 20px;
397
  background-color: #ffffff;
398
  border: solid 1px #414141;
399
  box-shadow: 0px 0px 6px #808080;
393
  .output {
394
  position: fixed;
395
  top: 45px;
396
+ left: 70%;
397
  background-color: #ffffff;
398
  border: solid 1px #414141;
399
  box-shadow: 0px 0px 6px #808080;
assets/scss/_elements.scss CHANGED
@@ -91,7 +91,7 @@ textarea {
91
 
92
 
93
 
94
- // finetuning
95
  .option-container .inside .option {
96
  label.mbcolor:nth-of-type(2) {
97
  margin-left: 37px;
@@ -99,6 +99,7 @@ textarea {
99
  }
100
  &.url { margin-bottom: 0; }
101
  &.url_options { margin: 5px 0 10px; }
 
102
  &.url_options .nofollow { margin-left: 35px; }
103
  &.url_options, &.rel_options
104
  {
@@ -322,12 +323,14 @@ textarea {
322
  //vertical-align: top;
323
  //line-height: 35px;
324
  padding-top: 2px !important;
 
325
  margin: 0 !important;
326
  /*display: inline-block;
327
  padding: 5px;
328
  font-size: 14px;
329
  margin-right: 10px;
330
  */
 
331
  }
332
 
333
 
@@ -347,6 +350,11 @@ textarea {
347
  &:checked ~ .the_switch:after {
348
  left: 26px;
349
  background: #179588;
 
 
 
 
 
350
  }
351
  &::disabled ~ .the_switch{
352
  background: #d5d5d5;
@@ -376,6 +384,16 @@ textarea {
376
  content: '';
377
  transition: all 0.2s ease;
378
  }
 
 
 
 
 
 
 
 
 
 
379
  &:active:after { transform: scale(0.9, 0.85); }
380
  &:focus {
381
  outline: none;
91
 
92
 
93
 
94
+ // *** Finetuning ***
95
  .option-container .inside .option {
96
  label.mbcolor:nth-of-type(2) {
97
  margin-left: 37px;
99
  }
100
  &.url { margin-bottom: 0; }
101
  &.url_options { margin: 5px 0 10px; }
102
+ &.url_options .input { margin-left: 12px; }
103
  &.url_options .nofollow { margin-left: 35px; }
104
  &.url_options, &.rel_options
105
  {
323
  //vertical-align: top;
324
  //line-height: 35px;
325
  padding-top: 2px !important;
326
+ padding-bottom: 0px;
327
  margin: 0 !important;
328
  /*display: inline-block;
329
  padding: 5px;
330
  font-size: 14px;
331
  margin-right: 10px;
332
  */
333
+
334
  }
335
 
336
 
350
  &:checked ~ .the_switch:after {
351
  left: 26px;
352
  background: #179588;
353
+
354
+ }
355
+ &:checked ~ .the_switch.small:after
356
+ {
357
+ left: 15px;
358
  }
359
  &::disabled ~ .the_switch{
360
  background: #d5d5d5;
384
  content: '';
385
  transition: all 0.2s ease;
386
  }
387
+ &.small {
388
+ height: 8px;
389
+ width: 30px;
390
+ &:after {
391
+ height: 18px;
392
+ width: 18px;
393
+ top: -5px;
394
+
395
+ }
396
+ }
397
  &:active:after { transform: scale(0.9, 0.85); }
398
  &:focus {
399
  outline: none;
assets/scss/media_button.scss CHANGED
@@ -110,6 +110,75 @@
110
  }
111
  .more-field { display: none; }
112
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  }
114
 
115
  .maxajax-load-spinner {
110
  }
111
  .more-field { display: none; }
112
 
113
+ /** This is a copy from _elements.scss **/
114
+ .switch_button
115
+ {
116
+ margin-left: -5px;
117
+
118
+ label{
119
+ padding: 8px 5px; // this padding to make clicking more flexible ( bigger hitbox )
120
+
121
+ &:focus {
122
+ outline: none;
123
+ }
124
+ }
125
+ input { display: none;
126
+ &:checked ~ .the_switch { background: #6fbeb5; }
127
+ &:checked ~ .the_switch:after {
128
+ left: 26px;
129
+ background: #179588;
130
+
131
+ }
132
+ &:checked ~ .the_switch.small:after
133
+ {
134
+ left: 15px;
135
+ }
136
+ &::disabled ~ .the_switch{
137
+ background: #d5d5d5;
138
+ pointer-events: none;
139
+ }
140
+ &:disabled ~ .the_switch:after { background: #bcbdbc; }
141
+ }
142
+ .the_switch{
143
+ position: relative;
144
+ display: inline-block;
145
+ height: 15px;
146
+ width: 50px;
147
+ background: #898989;
148
+ border-radius: 100px;
149
+ cursor: pointer;
150
+ transition: all 0.3s ease;
151
+ &:after {
152
+ position: absolute;
153
+ left: -2px;
154
+ top: -3px;
155
+ display: block;
156
+ width: 24px;
157
+ height: 24px;
158
+ border-radius: 100px;
159
+ background: #aaa;
160
+ box-shadow: 0px 3px 3px rgba(0,0,0,0.05);
161
+ content: '';
162
+ transition: all 0.2s ease;
163
+ }
164
+ &.small {
165
+ height: 8px;
166
+ width: 30px;
167
+ &:after {
168
+ height: 18px;
169
+ width: 18px;
170
+ top: -5px;
171
+
172
+ }
173
+ }
174
+ &:active:after { transform: scale(0.9, 0.85); }
175
+ &:focus {
176
+ outline: none;
177
+ }
178
+ }
179
+
180
+ }
181
+
182
  }
183
 
184
  .maxajax-load-spinner {
blocks/basic.php CHANGED
@@ -15,7 +15,8 @@ class basicBlock extends maxBlock
15
  'link_title' => array('default' => ''),
16
  // "text" => array("default" => ''),
17
  "new_window" => array("default" => 0),
18
- "nofollow" => array("default" => 0)
 
19
  );
20
  protected $protocols = array("http","https",'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'sms', 'callto', 'fax', 'xmpp', "javascript", 'file', 'ms-windows-store', 'steam', 'webcal'); // allowed url protocols for esc_url functions
21
 
@@ -166,8 +167,6 @@ class basicBlock extends maxBlock
166
  $rels[] = 'nofollow';
167
  $rels[] = 'noopener';
168
  }
169
- // $anchor->rel = "nofollow";
170
- // $buttonAttrs[] = "rel=nofollow";
171
 
172
  if (isset($data["new_window"]) && $data["new_window"] == 1)
173
  {
@@ -188,6 +187,7 @@ class basicBlock extends maxBlock
188
  if (isset($data["url"]) && $data["url"] != '')
189
  {
190
  $url = $data["url"];
 
191
  $parsed_url = parse_url($url);
192
 
193
  if (! $this->checkRelative($parsed_url))
@@ -205,6 +205,11 @@ class basicBlock extends maxBlock
205
  $anchor->href = 'javascript:void(0);';
206
  }
207
 
 
 
 
 
 
208
 
209
  return $domObj;
210
 
@@ -275,6 +280,8 @@ class basicBlock extends maxBlock
275
  $field_name->name = $field_name->id;
276
  $field_name->is_responsive = false;
277
  $field_name->placeholder = __("Button Name","maxbuttons");
 
 
278
 
279
  if ($check_name)
280
  {
@@ -292,7 +299,7 @@ class basicBlock extends maxBlock
292
  $field_url->placeholder = __("http://","maxbuttons");
293
  $field_url->name = $field_url->id;
294
  $field_url->is_responsive = false;
295
- $field_url->help = __("<p>Enter any URL you wish to link to. </p>
296
  <p>Examples: <br><ul class='nowrap'><li> https://example.com/ </li>
297
  <li> /local-page/ </li>
298
  <li> javascript:window.history.back(); </li></ul></p>
@@ -306,6 +313,7 @@ class basicBlock extends maxBlock
306
  $url_button->is_responsive = false;
307
  $screen->addField($url_button, '', 'end');
308
 
 
309
  if (isset($_GET['copied']))
310
  {
311
  $copyno = new maxField('generic');
@@ -331,33 +339,48 @@ class basicBlock extends maxBlock
331
  $screen->addField($fspacer, 'start');
332
 
333
  // New Window
334
- $fwindow = new maxField('checkbox');
335
- $fwindow->label = __('Open in New Window', 'maxbuttons');
336
  $fwindow->id = $screen->getFieldID('new_window');
337
  $fwindow->name = $fwindow->id;
338
  $fwindow->value = 1;
339
  $fwindow->is_responsive = false;
 
340
  $fwindow->checked = checked( $screen->getValue($fwindow->id), 1, false);
341
- $screen->addField($fwindow);
342
 
343
  // NoRel
344
- $ffollow = new maxField('checkbox');
345
- $ffollow->label = __('Use rel="nofollow"', 'maxbuttons');
 
346
  $ffollow->value = 1;
347
  $ffollow->id = $screen->getFieldID('nofollow');
348
  $ffollow->name = $ffollow->id;
349
  $ffollow->is_responsive = false;
 
350
  $ffollow->checked = checked( $screen->getValue($ffollow->id), 1, false);
351
  $screen->addField($ffollow, '','end');
352
  // TITLE
353
 
 
 
 
 
 
 
 
 
 
 
 
 
354
  $field_title = new maxField();
355
  $field_title->label = __('Button Tooltip', 'maxbuttons');
356
  $field_title->id = $screen->getFieldID('link_title');
357
  $field_title->name = $field_title->id; // title is too generic
358
  $field_title->value = $screen->getValue($field_title->id);
359
  $field_title->is_responsive = false;
360
- $field_title->help = __('<p>This text will appear when hovering over the button</p>
361
  <p class="shortcode">Shortcode attribute : linktitle</p>', 'maxbuttons');
362
  $screen->addField($field_title, 'start', 'end');
363
 
@@ -367,10 +390,11 @@ class basicBlock extends maxBlock
367
  $field_text->id = $screen->getFieldID('text');
368
  $field_text->name = $field_text->id;
369
  $field_text->is_responsive = false;
370
- $field_text->value = $screen->getValue($field_text->id);
371
  $field_text->help = __('Shortcode attribute: text');
372
  $screen->addField($field_text, 'start', 'end');
373
 
 
374
  // FONTS
375
  $fonts = MB()->getClass('admin')->loadFonts();
376
 
15
  'link_title' => array('default' => ''),
16
  // "text" => array("default" => ''),
17
  "new_window" => array("default" => 0),
18
+ "nofollow" => array("default" => 0),
19
+ 'is_download' => array('default'=> 0),
20
  );
21
  protected $protocols = array("http","https",'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'sms', 'callto', 'fax', 'xmpp', "javascript", 'file', 'ms-windows-store', 'steam', 'webcal'); // allowed url protocols for esc_url functions
22
 
167
  $rels[] = 'nofollow';
168
  $rels[] = 'noopener';
169
  }
 
 
170
 
171
  if (isset($data["new_window"]) && $data["new_window"] == 1)
172
  {
187
  if (isset($data["url"]) && $data["url"] != '')
188
  {
189
  $url = $data["url"];
190
+
191
  $parsed_url = parse_url($url);
192
 
193
  if (! $this->checkRelative($parsed_url))
205
  $anchor->href = 'javascript:void(0);';
206
  }
207
 
208
+ if (isset($data['is_download']) && $data['is_download'] == 1)
209
+ {
210
+ $anchor->download = '';
211
+ }
212
+
213
 
214
  return $domObj;
215
 
280
  $field_name->name = $field_name->id;
281
  $field_name->is_responsive = false;
282
  $field_name->placeholder = __("Button Name","maxbuttons");
283
+ $field_name->help = __('<p>Internal name for button. Specify purpose or use. Additional info can be added to description.</p> <p>You can use button name in the shortcode <br> [maxbutton name="button-name"] </p>
284
+ <p class="shortcode"> Shortcode attribute : name </p>', 'maxbuttons');
285
 
286
  if ($check_name)
287
  {
299
  $field_url->placeholder = __("http://","maxbuttons");
300
  $field_url->name = $field_url->id;
301
  $field_url->is_responsive = false;
302
+ $field_url->help = __("<p>Enter any URL you wish to link to. Use 'Select Site Content' button to search in your pages, posts and media </p>
303
  <p>Examples: <br><ul class='nowrap'><li> https://example.com/ </li>
304
  <li> /local-page/ </li>
305
  <li> javascript:window.history.back(); </li></ul></p>
313
  $url_button->is_responsive = false;
314
  $screen->addField($url_button, '', 'end');
315
 
316
+
317
  if (isset($_GET['copied']))
318
  {
319
  $copyno = new maxField('generic');
339
  $screen->addField($fspacer, 'start');
340
 
341
  // New Window
342
+ $fwindow = new maxField('switch');
343
+ $fwindow->label_after = __('Open in New Window', 'maxbuttons');
344
  $fwindow->id = $screen->getFieldID('new_window');
345
  $fwindow->name = $fwindow->id;
346
  $fwindow->value = 1;
347
  $fwindow->is_responsive = false;
348
+ $fwindow->input_class = 'small';
349
  $fwindow->checked = checked( $screen->getValue($fwindow->id), 1, false);
350
+ $screen->addField($fwindow, '', '');
351
 
352
  // NoRel
353
+ // $screen->addField($fspacer, 'start');
354
+ $ffollow = new maxField('switch');
355
+ $ffollow->label_after = __('Use rel="nofollow"', 'maxbuttons');
356
  $ffollow->value = 1;
357
  $ffollow->id = $screen->getFieldID('nofollow');
358
  $ffollow->name = $ffollow->id;
359
  $ffollow->is_responsive = false;
360
+ $ffollow->input_class = 'small';
361
  $ffollow->checked = checked( $screen->getValue($ffollow->id), 1, false);
362
  $screen->addField($ffollow, '','end');
363
  // TITLE
364
 
365
+ $screen->addField($fspacer, 'start');
366
+ $fdownload = new MaxField('switch');
367
+ $fdownload->label_after = __('URL is download', 'maxbuttons');
368
+ $fdownload->value = 1;
369
+ $fdownload->id = $screen->getFieldID('is_download');
370
+ $fdownload->name = $fdownload->id;
371
+ $fdownload->is_responsive = false;
372
+ $fdownload->input_class = 'small';
373
+ $fdownload->checked = checked($screen->getValue($fdownload->id), 1, false);
374
+ $fdownload->help = __('This will tell the browser to download the URL', 'maxbuttons');
375
+ $screen->addField($fdownload, '', 'end');
376
+
377
  $field_title = new maxField();
378
  $field_title->label = __('Button Tooltip', 'maxbuttons');
379
  $field_title->id = $screen->getFieldID('link_title');
380
  $field_title->name = $field_title->id; // title is too generic
381
  $field_title->value = $screen->getValue($field_title->id);
382
  $field_title->is_responsive = false;
383
+ $field_title->help = __('<p>This text will appear when hovering over the button. You can try this in the preview.</p>
384
  <p class="shortcode">Shortcode attribute : linktitle</p>', 'maxbuttons');
385
  $screen->addField($field_title, 'start', 'end');
386
 
390
  $field_text->id = $screen->getFieldID('text');
391
  $field_text->name = $field_text->id;
392
  $field_text->is_responsive = false;
393
+ $field_text->value = esc_attr($screen->getValue($field_text->id));
394
  $field_text->help = __('Shortcode attribute: text');
395
  $screen->addField($field_text, 'start', 'end');
396
 
397
+
398
  // FONTS
399
  $fonts = MB()->getClass('admin')->loadFonts();
400
 
blocks/responsive.php CHANGED
@@ -185,10 +185,18 @@ class responsiveBlock extends maxBlock
185
 
186
  $start_block = new maxField('block_start');
187
  $start_block->name = __('responsive', 'maxbuttons');
188
- $start_block->label = __('Screen Settings', 'maxbuttons');
189
  $start_block->is_new = true;
190
  $screen->addField($start_block);
191
 
 
 
 
 
 
 
 
 
192
  $name = new maxField('text');
193
  $name->id = $screen->getFieldID('screen_name');
194
  $name->name = $name->id;
@@ -227,6 +235,7 @@ class responsiveBlock extends maxBlock
227
  $presetgo->button_label = __('Apply preset', 'maxbuttons');
228
  $presetgo->is_new = true;
229
  $presetgo->dataaction = 'set-preset';
 
230
  $screen->addField($presetgo, '', 'end');
231
 
232
  $spacer = new maxField('spacer');
@@ -267,7 +276,7 @@ class responsiveBlock extends maxBlock
267
  $hide->label = __('Hide button in this screen', 'maxbuttons');
268
  $hide->value = 1;
269
  $hide->checked = checked($screen->getValue($hide->id), 1, false);
270
- $hide->help = __('When set, the button will not display at all in this screen', 'maxbuttons');
271
  $hide->is_new = true;
272
  $screen->addField($hide, 'start', 'end');
273
 
@@ -292,7 +301,7 @@ class responsiveBlock extends maxBlock
292
  $save = new maxField('button');
293
  $save->id = $screen->getFieldID('add_screen');
294
  $save->name = $save->id;
295
- $save->button_label = __('Save changes and add new screen', 'maxbuttons');
296
  $save->inputclass = 'button-save block-button';
297
  $save->is_responsive = false;
298
  $save->is_new = true;
185
 
186
  $start_block = new maxField('block_start');
187
  $start_block->name = __('responsive', 'maxbuttons');
188
+ $start_block->label = __('Responsive Screen Settings', 'maxbuttons');
189
  $start_block->is_new = true;
190
  $screen->addField($start_block);
191
 
192
+ $explain = new maxField('generic');
193
+ $explain->id = $screen->getFieldID('responsive_explain');
194
+ $explain->name = $explain->id;
195
+ $explain->label = '&nbsp;';
196
+ $explain->content = __("<p>Add a Responsive Screen to prepare your button for mobile devices. <br> Put the width and height of the view screen you want this design to be active at. <br> Then click the 'save changes and add screen' button.</p> ", 'maxbuttons');
197
+ $explain->is_new = true;
198
+ $screen->addField($explain, 'start', 'end');
199
+
200
  $name = new maxField('text');
201
  $name->id = $screen->getFieldID('screen_name');
202
  $name->name = $name->id;
235
  $presetgo->button_label = __('Apply preset', 'maxbuttons');
236
  $presetgo->is_new = true;
237
  $presetgo->dataaction = 'set-preset';
238
+ $presetgo->help = __('This will fill out the width and height fields according to the chosen preset. Select a preset and click "Apply Preset"', 'maxbuttons');
239
  $screen->addField($presetgo, '', 'end');
240
 
241
  $spacer = new maxField('spacer');
276
  $hide->label = __('Hide button in this screen', 'maxbuttons');
277
  $hide->value = 1;
278
  $hide->checked = checked($screen->getValue($hide->id), 1, false);
279
+ $hide->help = __('When active, the button will not display at all in this screen. This can be used to hide the butt on devices', 'maxbuttons');
280
  $hide->is_new = true;
281
  $screen->addField($hide, 'start', 'end');
282
 
301
  $save = new maxField('button');
302
  $save->id = $screen->getFieldID('add_screen');
303
  $save->name = $save->id;
304
+ $save->button_label = __('Save changes and add new responsive screen', 'maxbuttons');
305
  $save->inputclass = 'button-save block-button';
306
  $save->is_responsive = false;
307
  $save->is_new = true;
blocks/text.php CHANGED
@@ -123,7 +123,10 @@ class textBlock extends maxBlock
123
  $anchor = $domObj->find("a",0);
124
 
125
  if (isset($data["text"]) && $data["text"] != '' || $mode == 'preview')
126
- $anchor->innertext = "<span class='mb-text'>" . do_shortcode($data["text"]) . "</span>";
 
 
 
127
  return $domObj;
128
 
129
  }
123
  $anchor = $domObj->find("a",0);
124
 
125
  if (isset($data["text"]) && $data["text"] != '' || $mode == 'preview')
126
+ {
127
+ $text = $data['text'];
128
+ $anchor->innertext = "<span class='mb-text'>" . $text . "</span>";
129
+ }
130
  return $domObj;
131
 
132
  }
blocks/tpl/button.tpl CHANGED
@@ -6,4 +6,5 @@
6
  {if:disabled} disabled {/if:disabled}
7
  > %%button_label%% </button>
8
 
 
9
  </div>
6
  {if:disabled} disabled {/if:disabled}
7
  > %%button_label%% </button>
8
 
9
+ {if:help}<div class="help dashicons dashicons-info "><span>%%help%%</span></div>{/if:help}
10
  </div>
blocks/tpl/switch.tpl CHANGED
@@ -8,11 +8,12 @@
8
  {if:disabled} disabled {/if:disabled}
9
  />
10
 
11
- <div class='the_switch' >
12
 
13
  {if:icon} <i class='dashicons %%icon%%'></i> {/if:icon}
14
  </div>
15
  </label>
 
16
  {if:error}<p class='error'>%%error%%</p>{/if:error}
17
  {if:warning}<p class='warning'>%%warning%%</p>{/if:warning}
18
  {if:help}<div class="help dashicons dashicons-info "><span>%%help%%</span></div>{/if:help}
8
  {if:disabled} disabled {/if:disabled}
9
  />
10
 
11
+ <div class='the_switch %%input_class%%' >
12
 
13
  {if:icon} <i class='dashicons %%icon%%'></i> {/if:icon}
14
  </div>
15
  </label>
16
+ {if:label_after} <label for='%%id%%' class='switch_label %%name%% %%input_class%%'>%%label_after%%</label> {/if:label_after}
17
  {if:error}<p class='error'>%%error%%</p>{/if:error}
18
  {if:warning}<p class='warning'>%%warning%%</p>{/if:warning}
19
  {if:help}<div class="help dashicons dashicons-info "><span>%%help%%</span></div>{/if:help}
classes/admin-class.php CHANGED
@@ -65,6 +65,8 @@ class maxButtonsAdmin
65
  $escape = array();
66
  $escape[] = $args["status"];
67
 
 
 
68
  // 'white-list' escaping
69
  switch ($args["orderby"])
70
  {
@@ -150,6 +152,8 @@ class maxButtonsAdmin
150
  $page = intval($args["paged"]);
151
  $view = $args["view"];
152
 
 
 
153
  $total = $this->getButtonCount(array("status" => $args["status"]));
154
 
155
  $num_pages = ceil($total / $limit);
@@ -288,6 +292,8 @@ class maxButtonsAdmin
288
  'new_window' => $screen->getValue('new_window'),
289
  'nofollow' => $screen->getValue('nofollow'),
290
  'link_title' => $screen->getValue('link_title'),
 
 
291
  );
292
 
293
  // hook spec. qtrans.
@@ -341,12 +347,13 @@ class maxButtonsAdmin
341
 
342
  $screen->addField($more, 'start', 'end');
343
 
344
- $new_window = new maxField('checkbox');
345
  $new_window->id = 'shortcode_window';
346
  $new_window->name = $new_window->id;
347
  $new_window->label = __('Open in New Window', 'maxbuttons');
348
  $new_window->value = 1;
349
  $new_window->main_class = 'option more-field';
 
350
  $new_window->checked = checked( $data['new_window'], 1, false);
351
  $shortcode_data[] = array(
352
  'name' => $new_window->name,
@@ -358,12 +365,13 @@ class maxButtonsAdmin
358
 
359
  $screen->addField($new_window, 'start', 'end');
360
 
361
- $ffollow = new maxField('checkbox');
362
  $ffollow->label = __('Use rel="nofollow"', 'maxbuttons');
363
  $ffollow->value = 1;
364
  $ffollow->name = 'shortcode_nofollow';
365
  $ffollow->id = $ffollow->name;
366
  $ffollow->main_class = 'option more-field';
 
367
  $ffollow->checked = checked( $data['nofollow'] , 1, false);
368
  $shortcode_data[] = array(
369
  'name' => $ffollow->name,
@@ -372,10 +380,24 @@ class maxButtonsAdmin
372
  'checked' => 'true',
373
  'unchecked' => 'false',
374
  );
375
-
376
-
377
  $screen->addField($ffollow, 'start','end');
378
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
379
  $field_title = new maxField('text');
380
  $field_title->label = __('Button Tooltip', 'maxbuttons');
381
  $field_title->name = 'shortcode_link_title'; // title is too generic
65
  $escape = array();
66
  $escape[] = $args["status"];
67
 
68
+ $limit = apply_filters('maxbuttons/list/num_items', $limit);
69
+
70
  // 'white-list' escaping
71
  switch ($args["orderby"])
72
  {
152
  $page = intval($args["paged"]);
153
  $view = $args["view"];
154
 
155
+ $limit = apply_filters('maxbuttons/list/num_items', $limit);
156
+
157
  $total = $this->getButtonCount(array("status" => $args["status"]));
158
 
159
  $num_pages = ceil($total / $limit);
292
  'new_window' => $screen->getValue('new_window'),
293
  'nofollow' => $screen->getValue('nofollow'),
294
  'link_title' => $screen->getValue('link_title'),
295
+ 'is_download' => $screen->getValue('is_download'),
296
+
297
  );
298
 
299
  // hook spec. qtrans.
347
 
348
  $screen->addField($more, 'start', 'end');
349
 
350
+ $new_window = new maxField('switch');
351
  $new_window->id = 'shortcode_window';
352
  $new_window->name = $new_window->id;
353
  $new_window->label = __('Open in New Window', 'maxbuttons');
354
  $new_window->value = 1;
355
  $new_window->main_class = 'option more-field';
356
+ $new_window->input_class = 'small';
357
  $new_window->checked = checked( $data['new_window'], 1, false);
358
  $shortcode_data[] = array(
359
  'name' => $new_window->name,
365
 
366
  $screen->addField($new_window, 'start', 'end');
367
 
368
+ $ffollow = new maxField('switch');
369
  $ffollow->label = __('Use rel="nofollow"', 'maxbuttons');
370
  $ffollow->value = 1;
371
  $ffollow->name = 'shortcode_nofollow';
372
  $ffollow->id = $ffollow->name;
373
  $ffollow->main_class = 'option more-field';
374
+ $ffollow->input_class = 'small';
375
  $ffollow->checked = checked( $data['nofollow'] , 1, false);
376
  $shortcode_data[] = array(
377
  'name' => $ffollow->name,
380
  'checked' => 'true',
381
  'unchecked' => 'false',
382
  );
 
 
383
  $screen->addField($ffollow, 'start','end');
384
 
385
+ $download = new maxField('switch');
386
+ $download->label = __('URL is download', 'maxbuttons');
387
+ $download->id = 'shortcode_is_download';
388
+ $download->name = $download->id;
389
+ $download->main_class = 'option more-field';
390
+ $download->input_class = 'small';
391
+ $download->checked = checked($data['is_download'], 1, false);
392
+ $shortcode_data[] = array(
393
+ 'name' => $download->id,
394
+ 'original' => ( $data['is_download'] == 1) ? true : false,
395
+ 'shortcode' => 'is_download',
396
+ 'checked' => 'true',
397
+ 'unchecked' => 'false',
398
+ );
399
+ $screen->addField($download, 'start', 'end');
400
+
401
  $field_title = new maxField('text');
402
  $field_title->label = __('Button Tooltip', 'maxbuttons');
403
  $field_title->name = 'shortcode_link_title'; // title is too generic
classes/blocks.php CHANGED
@@ -108,8 +108,8 @@ class maxBlocks
108
  {
109
  $name = $block->get_name();
110
 
111
- static::$blocks[$name] = $block;
112
- static::$fields = array_merge(self::$fields, $block->get_fields());
113
  }
114
 
115
  public static function getFieldDefinition($field_name)
108
  {
109
  $name = $block->get_name();
110
 
111
+ // static::$blocks[$name] = $block;
112
+ // static::$fields = array_merge(self::$fields, $block->get_fields());
113
  }
114
 
115
  public static function getFieldDefinition($field_name)
classes/button.php CHANGED
@@ -68,12 +68,13 @@ class maxButton
68
  $block = new $class();
69
 
70
  $this->blocks[] = $block;
 
71
  if (is_admin())
72
  {
73
  // used for getValue() operators in the Admin Section
74
 
75
- maxBlocks::add($block); // block collection.
76
- }
77
  }
78
 
79
  $this->clear(); // init
@@ -148,7 +149,7 @@ class maxButton
148
  {
149
  $block->set($this->data); // reset blocks
150
  }
151
- Screen::setData($this->data);
152
  }
153
 
154
  function setupData($data)
@@ -187,7 +188,8 @@ class maxButton
187
  $block->set($this->data);
188
  }
189
 
190
- Screen::setData($this->data);
 
191
  return true;
192
  }
193
 
@@ -543,7 +545,7 @@ class maxButton
543
  $css = $this->display_css(false, false);
544
  if ($preview)
545
  do_action('mb-footer', 0, false, 'preview'); // code to warn no to usefile
546
-
547
  do_action('mb-footer',$this->id, $css);
548
 
549
  if (! $preview)
@@ -826,6 +828,7 @@ class maxButton
826
  'nocache' => null,
827
  'extraclass' => null,
828
  'style' => 'footer',
 
829
 
830
  ), $button_atts, 'maxbutton');
831
 
@@ -894,6 +897,11 @@ class maxButton
894
  $this->data['advanced']['extra_classes'] .= ' ' . $atts['extraclass'];
895
  }
896
 
 
 
 
 
 
897
  switch($atts['style'])
898
  {
899
  case "inline":
@@ -908,7 +916,6 @@ class maxButton
908
  $this->data = $this->shortcode_overrides($this->data, $button_atts);
909
  $this->data = apply_filters('mb/shortcode/data', $this->data, $atts);
910
 
911
-
912
  // if there are no reasons not to display; display
913
  $args = array("echo" => false,
914
  "load_css" => $load_css,
68
  $block = new $class();
69
 
70
  $this->blocks[] = $block;
71
+ /* This is taken over via screen.
72
  if (is_admin())
73
  {
74
  // used for getValue() operators in the Admin Section
75
 
76
+ //maxBlocks::add($block); // block collection.
77
+ } */
78
  }
79
 
80
  $this->clear(); // init
149
  {
150
  $block->set($this->data); // reset blocks
151
  }
152
+ // Screen::setData($this->data);
153
  }
154
 
155
  function setupData($data)
188
  $block->set($this->data);
189
  }
190
 
191
+
192
+ Screen::setupScreens($this->data);
193
  return true;
194
  }
195
 
545
  $css = $this->display_css(false, false);
546
  if ($preview)
547
  do_action('mb-footer', 0, false, 'preview'); // code to warn no to usefile
548
+
549
  do_action('mb-footer',$this->id, $css);
550
 
551
  if (! $preview)
828
  'nocache' => null,
829
  'extraclass' => null,
830
  'style' => 'footer',
831
+ 'is_download' => null,
832
 
833
  ), $button_atts, 'maxbutton');
834
 
897
  $this->data['advanced']['extra_classes'] .= ' ' . $atts['extraclass'];
898
  }
899
 
900
+ if (! is_null($atts['is_download']))
901
+ {
902
+ $this->data['basic']['is_download'] = ($atts['is_download'] == 'true') ? 1 : 0;
903
+ }
904
+
905
  switch($atts['style'])
906
  {
907
  case "inline":
916
  $this->data = $this->shortcode_overrides($this->data, $button_atts);
917
  $this->data = apply_filters('mb/shortcode/data', $this->data, $atts);
918
 
 
919
  // if there are no reasons not to display; display
920
  $args = array("echo" => false,
921
  "load_css" => $load_css,
classes/controllers/editorController.php CHANGED
@@ -11,6 +11,10 @@ class editorController extends MaxController
11
  parent::__construct();
12
 
13
  MB()->load_library('simple_template');
 
 
 
 
14
  }
15
 
16
  public function view()
@@ -166,5 +170,27 @@ class editorController extends MaxController
166
  // update here on the button class?
167
  }
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
 
170
  } // Class editorController
11
  parent::__construct();
12
 
13
  MB()->load_library('simple_template');
14
+
15
+ add_filter( 'wp_link_query_args', array($this,'queryMediaOnLink') );
16
+ add_filter( 'wp_link_query', array($this, 'fixResultsOnMediaLink'), 10, 2 );
17
+
18
  }
19
 
20
  public function view()
170
  // update here on the button class?
171
  }
172
 
173
+ public function queryMediaOnLink($query)
174
+ {
175
+ if (! isset($query['s']) || $query['s'] == '')
176
+ return $query;
177
+
178
+ $query['post_status'] = (array) $query['post_status'];
179
+ $query['post_status'][] = 'inherit';
180
+
181
+ return $query;
182
+ }
183
+
184
+ public function fixResultsOnMediaLink($results)
185
+ {
186
+ foreach ( $results as $key => $result ) {
187
+ if ( 'Media' === $result['info'] ) {
188
+ $results[$key]['permalink'] = wp_get_attachment_url( $result['ID'] );
189
+ }
190
+ }
191
+ return $results;
192
+ }
193
+
194
+
195
 
196
  } // Class editorController
classes/integrations.php CHANGED
@@ -16,16 +16,7 @@ class maxIntegrations
16
  // This are the ones that also can't crash the plugin, since it's hook based - no hook - no call.
17
  self::doDirectInit();
18
 
19
- /* add_filter( 'elementor/widget/render_content', function ($content, $widget)
20
- {
21
- var_dump($widget);
22
- return $content;
23
- }, 2, 10); */
24
-
25
-
26
-
27
- //remove_action( 'wp_ajax_fusion_pallete_elements', array( $instance,'get_pallete_elements') );
28
- }
29
 
30
 
31
  static function load_integrations()
16
  // This are the ones that also can't crash the plugin, since it's hook based - no hook - no call.
17
  self::doDirectInit();
18
 
19
+ }
 
 
 
 
 
 
 
 
 
20
 
21
 
22
  static function load_integrations()
classes/maxbuttons-class.php CHANGED
@@ -142,6 +142,12 @@ class maxButtonsPlugin
142
  add_action('wp_ajax_maxajax', array(maxUtils::namespaceit('maxUtils'), 'ajax_action'));
143
 
144
  add_action('admin_init', array($this,'init_wp_editor_options') );
 
 
 
 
 
 
145
  }
146
 
147
 
@@ -212,7 +218,6 @@ class maxButtonsPlugin
212
 
213
  public function getClass($class)
214
  {
215
-
216
  if (isset($this->mainClasses[$class]))
217
  {
218
  $load_class = maxUtils::namespaceit($this->mainClasses[$class]);
@@ -726,6 +731,7 @@ class maxButtonsPlugin
726
  function shortcode($atts)
727
  {
728
  $button = $this->getClass("button");
 
729
  return $button->shortcode($atts);
730
  }
731
 
142
  add_action('wp_ajax_maxajax', array(maxUtils::namespaceit('maxUtils'), 'ajax_action'));
143
 
144
  add_action('admin_init', array($this,'init_wp_editor_options') );
145
+
146
+ // This is used in maxbuttons.js for wp-link-dialog to make it show media files as well. Catches filter hooks.
147
+ if (isset($_REQUEST['ajax_maxbuttons']) && $_REQUEST['ajax_maxbuttons'] == 'editor')
148
+ {
149
+ $controller = new editorController();
150
+ }
151
  }
152
 
153
 
218
 
219
  public function getClass($class)
220
  {
 
221
  if (isset($this->mainClasses[$class]))
222
  {
223
  $load_class = maxUtils::namespaceit($this->mainClasses[$class]);
731
  function shortcode($atts)
732
  {
733
  $button = $this->getClass("button");
734
+
735
  return $button->shortcode($atts);
736
  }
737
 
classes/screen.php CHANGED
@@ -10,7 +10,7 @@ class Screen
10
  protected $mapped_fields = array();
11
  protected $templates_by_name = array('radio', 'checkbox', 'switch');
12
 
13
- protected static $data;
14
  protected static $screens;
15
 
16
  public $id;
@@ -47,7 +47,7 @@ class Screen
47
  $this->name = isset($args['name']) ? $args['name'] : 'placeholder';
48
  }
49
 
50
- public static function setData($data)
51
  {
52
  $new_data = array(); //egalite
53
  if (! is_array($data) || count($data) == 0) // no data
@@ -60,8 +60,9 @@ class Screen
60
  $new_data = array_merge($new_data, $fields);
61
  }
62
 
63
- self::setupScreens($data);
64
- self::$data = $new_data;
 
65
  }
66
 
67
  public static function setupScreens($data)
@@ -92,7 +93,9 @@ class Screen
92
 
93
  foreach($screens as $screen_name => $this_screen_data)
94
  {
95
- $screensObjs[$screen_name] = new Screen($screen_name, $this_screen_data);
 
 
96
  }
97
 
98
  self::$screens = $screensObjs;
@@ -319,15 +322,14 @@ class Screen
319
 
320
  public function getValue($fieldname)
321
  {
322
-
323
- if(isset(self::$data[$fieldname]))
324
- return self::$data[$fieldname];
325
  elseif($this->is_responsive && strpos($fieldname, $this->prefix) >= 0) // try to retrieve original value of the responsive field.
326
  {
327
  $prefixless = str_replace($this->prefix, '', $fieldname);
328
 
329
- if (isset(self::$data[$prefixless]))
330
- return self::$data[$prefixless];
331
  }
332
  elseif ($this->getDefault($fieldname))
333
  return $this->getDefault($fieldname);
@@ -337,7 +339,7 @@ public function getValue($fieldname)
337
 
338
  public function getColorValue($fieldname)
339
  {
340
- $value = self::getValue($fieldname);
341
  if (maxUtils::isrgba($value))
342
  return $value;
343
 
10
  protected $mapped_fields = array();
11
  protected $templates_by_name = array('radio', 'checkbox', 'switch');
12
 
13
+ protected $data;
14
  protected static $screens;
15
 
16
  public $id;
47
  $this->name = isset($args['name']) ? $args['name'] : 'placeholder';
48
  }
49
 
50
+ protected function setData($data)
51
  {
52
  $new_data = array(); //egalite
53
  if (! is_array($data) || count($data) == 0) // no data
60
  $new_data = array_merge($new_data, $fields);
61
  }
62
 
63
+ $this->data = $new_data;
64
+ //self::setupScreens($data);
65
+ // self::$data = $new_data;
66
  }
67
 
68
  public static function setupScreens($data)
93
 
94
  foreach($screens as $screen_name => $this_screen_data)
95
  {
96
+ $screen = new Screen($screen_name, $this_screen_data);
97
+ $screen->setData($data);
98
+ $screensObjs[$screen_name] = $screen;
99
  }
100
 
101
  self::$screens = $screensObjs;
322
 
323
  public function getValue($fieldname)
324
  {
325
+ if(isset($this->data[$fieldname]))
326
+ return $this->data[$fieldname];
 
327
  elseif($this->is_responsive && strpos($fieldname, $this->prefix) >= 0) // try to retrieve original value of the responsive field.
328
  {
329
  $prefixless = str_replace($this->prefix, '', $fieldname);
330
 
331
+ if (isset($this->data[$prefixless]))
332
+ return $this->data[$prefixless];
333
  }
334
  elseif ($this->getDefault($fieldname))
335
  return $this->getDefault($fieldname);
339
 
340
  public function getColorValue($fieldname)
341
  {
342
+ $value = $this->getValue($fieldname);
343
  if (maxUtils::isrgba($value))
344
  return $value;
345
 
includes/maxbuttons-button.php CHANGED
@@ -86,6 +86,16 @@ $admin->get_header(array("title" => $page_title, "title_action" => $action) );
86
  <p> <?php _e("By using this syntax when you edit and save your button it will be changed everywhere it is used on your site. If you delete the button and create a new one with the same name the new button will be used on your site. Easy!","maxbuttons"); ?>
87
  </p>
88
 
 
 
 
 
 
 
 
 
 
 
89
  </div>
90
  </div>
91
  <?php endif; ?>
@@ -201,8 +211,8 @@ $admin->get_header(array("title" => $page_title, "title_action" => $action) );
201
  }
202
  elseif ($screen->is_new())
203
  {
204
- $title = __('Add a new responsive screen', 'maxbuttons');
205
- $display = __('responsive', 'maxbuttons');
206
  }
207
  elseif ($min_width && $max_width)
208
  {
86
  <p> <?php _e("By using this syntax when you edit and save your button it will be changed everywhere it is used on your site. If you delete the button and create a new one with the same name the new button will be used on your site. Easy!","maxbuttons"); ?>
87
  </p>
88
 
89
+ <h4><?php _e('Looking off on Mobile?'); ?></h4>
90
+
91
+ <p><?php printf(__('Create an %s Responsive Screen %s with the +Add button below. You can fully customize your look on mobile devices!', 'maxbuttons'), '<b>', '</b>'); ?></p>
92
+
93
+ <h4>Read our Documentation</h4>
94
+
95
+ <p><?php _e('More on shortcodes, button sizes, mobile devices: ', 'maxbuttons'); ?>
96
+ <a href="https://maxbuttons.com/documentation/" target="_blank"><?php _e('Read our documentation', 'maxbuttons'); ?></a>
97
+ </p>
98
+
99
  </div>
100
  </div>
101
  <?php endif; ?>
211
  }
212
  elseif ($screen->is_new())
213
  {
214
+ $title = __('Add a new responsive screen for mobile devices', 'maxbuttons');
215
+ $display = __('for mobile', 'maxbuttons');
216
  }
217
  elseif ($min_width && $max_width)
218
  {
js/maxbuttons-admin.js CHANGED
@@ -664,7 +664,11 @@ maxAdmin.prototype.openURLDialog = function(e)
664
  {
665
  window.wpActiveEditor = 'url'; // $('input[name="url"]'); //true; //we need to override this var as the link dialogue is expecting an actual wp_editor instance
666
 
 
 
 
667
  wpLink.open(); //open the link popup
 
668
  $('#link-options').hide();
669
  $('.query-results').css('top', '70px');
670
  $('#wp-link-submit').off('click keyup change');
664
  {
665
  window.wpActiveEditor = 'url'; // $('input[name="url"]'); //true; //we need to override this var as the link dialogue is expecting an actual wp_editor instance
666
 
667
+ if (window.ajaxurl.indexOf('ajax_maxbuttons') == -1) // otherwise it will start to echo
668
+ window.ajaxurl = window.ajaxurl + '?ajax_maxbuttons=editor'; // This is to catch the Ajax Queryies for Link Dialog.
669
+
670
  wpLink.open(); //open the link popup
671
+
672
  $('#link-options').hide();
673
  $('.query-results').css('top', '70px');
674
  $('#wp-link-submit').off('click keyup change');
js/maxmodal.js CHANGED
@@ -218,7 +218,8 @@ jQuery(document).ready(function(jq) {
218
  */
219
  maxModal.prototype.setContent = function(content)
220
  {
221
- this.currentModal.find('.modal_content').html(content);
 
222
  }
223
 
224
  /* Builds modal from hidden data
218
  */
219
  maxModal.prototype.setContent = function(content)
220
  {
221
+ if (this.currentModal !== null) // if closed fast.
222
+ this.currentModal.find('.modal_content').html(content);
223
  }
224
 
225
  /* Builds modal from hidden data
js/media_button.js CHANGED
@@ -113,6 +113,8 @@ jQuery(document).ready(function(jq) {
113
  $(document).off('click', '.button-list');
114
  $(document).on('click', '.button-list', $.proxy(function (e) // this selects the button, and enables / disabled the insert button based on that.
115
  {
 
 
116
  var target = $(e.target);
117
 
118
  if ( typeof $(target).data('button') === 'undefined')
113
  $(document).off('click', '.button-list');
114
  $(document).on('click', '.button-list', $.proxy(function (e) // this selects the button, and enables / disabled the insert button based on that.
115
  {
116
+ e.preventDefault();
117
+ e.stopPropagation();
118
  var target = $(e.target);
119
 
120
  if ( typeof $(target).data('button') === 'undefined')
js/min/maxbuttons-admin.js CHANGED
@@ -1 +1 @@
1
- function maxAdmin(){}var $=jQuery;maxAdmin.prototype={colorUpdateTime:!0,colorPalettes:!0,fields:null,button_id:null,form_updated:!1,tabs:null},maxAdmin.prototype.init=function(){this.button_id=$('input[name="button_id"]').val(),$(document).on("click",".maxbutton-preview",function(e){e.preventDefault(),e.stopPropagation()}),$("#maxbuttons .input-paging").on("change",$.proxy(this.do_paging,this)),$(".manual-toggle").on("click",$.proxy(this.toggleManual,this)),$(".manual-entry").draggable({cancel:"p, li"}),$(document).on("submit","form.mb_ajax_save",$.proxy(this.formAjaxSave,this)),$(document).on("click","[data-buttonaction]",$.proxy(this.button_action,this)),$(document).on("reInitConditionals",$.proxy(this.initConditionials,this)),this.initConditionials(),$("#maxbuttons").on("change, input",'input[type="range"]',$.proxy(this.updateRange,this)),this.updateRange(null),0!=$("#new-button-form").length&&(this.button_id>0&&$("#maxbuttons .mb-message").show(),$(document).on("livePreviewUpdate",$.proxy(this.saveIndicator,this)),$(".screen-option").on("click",$.proxy(this.change_screen_event,this)),$(".remove-screen").on("click",$.proxy(this.remove_screen,this)),$("#maxbuttons .output").draggable({cancel:".nodrag"}),$(".iris-picker-inner .iris-square-value").removeAttr("href"),$(document).on("click",".iris-picker-inner .iris-square-value",function(e){return e.preventDefault(),e.stopPropagation(),!1}),$(".input.mbcolor .arrows").on("click",$.proxy(this.copyColor,this)),$('[id$="radius_toggle"]').on("click",$.proxy(this.toggleRadiusLock,this)),$(".output .preview-toggle").on("click",$.proxy(this.toggle_preview,this)),$("#maxbuttons input.mb-color-field").on("focus",$.proxy(this.select_field,this)),$(window).on("beforeunload",$.proxy(function(){if(this.form_updated)return maxajax.leave_page},this)),$(document).on("keyup","input",function(e){if(e.keyCode&&13==e.keyCode)return $(":input")[$(":input").index(document.activeElement)+1].focus(),!1}),$(".button-save").click($.proxy(function(e){return this.saveIndicator(null,!1),"new_add_screen"==$(e.target).attr("id")&&$("#add_new_screen").val("yes"),$("#new-button-form").submit(),!1},this)),$(".shortcode-expand").on("click",this.toggleShortcode),$("#url_button").on("click",$.proxy(this.openURLDialog,this)),$(".block_sidebar .open_control").on("click",this.toggleSidebar),$(window).on("maxbuttons-js-init-done",$.proxy(this.loadLivePreview,this)),1==$('input[name="button_is_new"]').val()&&this.saveIndicator(null,!0))},maxAdmin.prototype.loadLivePreview=function(){if("function"==typeof window.maxFoundry.livePreview?(this.livePreview=new window.maxFoundry.livePreview,this.livePreview.init(),$(document).trigger("livepreview-loaded")):alert("Live Preview not loaded, button preview not functional"),void 0!==window.location.hash&&window.location.hash.length>0){var e=window.location.hash.replace("#","");this.change_screen(e)}},maxAdmin.prototype.change_screen_event=function(e){e.preventDefault();var t=$(e.target);void 0===t.data("screenid")&&(t=t.parents(".screen-option"));var o=t.data("screenid");void 0!==o&&this.change_screen(o)},maxAdmin.prototype.change_screen=function(e){var t=$(".screen-option.option-active").data("screenid"),o=$('.screen-option[data-screenid="'+e+'"]');"new"!=e&&$("#current_screen").val(e),t!==e&&(window.location.hash=e,$(".screen-option").removeClass("option-active"),o.addClass("option-active"),$(document).trigger("changed_screen",e),$(".mbscreen-editor").removeClass("current-screen"),$("#screen_"+e).addClass("current-screen"))},maxAdmin.prototype.remove_screen=function(e){if(confirm(maxadmin_settings.remove_confirm)){var t=$(e.target),o=t.parents(".mbscreen-editor").data("screenid");t.parents(".mbscreen-editor").remove(),$('.screen-option[data-screenid="'+o+'"]').remove(),$('input[name="screens[]"][value="'+o+'"]').remove(),$(".removed-note").show(),this.change_screen("default"),this.saveIndicator(null,!0)}},maxAdmin.prototype.toggle_preview=function(e){$(".output .inner").is(":hidden")?($(".output .inner").show(),$(".output").css("height","auto"),$(".preview .preview-toggle").removeClass("dashicons-arrow-down").addClass("dashicons-arrow-up")):($(".output .inner").hide(),$(".output").css("height","auto"),$(".preview .preview-toggle").removeClass("dashicons-arrow-up").addClass("dashicons-arrow-down"))},maxAdmin.prototype.select_field=function(e){$(e.target).select()},maxAdmin.prototype.button_action=function(e){e.preventDefault();var t=$(e.target).data("buttonaction"),o=$(e.target).data("confirm");if(this.form_updated=!1,void 0!==o){if(!window.confirm(o))return}var a=$(e.target).data("buttonid"),n=$('input[name="'+t+'_nonce"]').val(),i=$('input[name="paged"]').val(),r=maxajax.ajax_url,s={action:"mb_button_action",button_action:t,button_id:a,nonce:n};void 0!==i&&(s.paged=i),$.post({url:r,data:s,success:function(e){response=JSON.parse(e),void 0!==response.redirection&&(window.location=response.redirection)},error:function(){console.error("error in button action"+t)}})},maxAdmin.prototype.checkCopyModal=function(e){this.form_updated?e.currentModal.find(".mb-message").show():$(e.currentModal).find(".mb-message").hide()},maxAdmin.prototype.copyColor=function(e){e.preventDefault(),e.stopPropagation();var t=$(e.target),o=$(e.target).parents("[data-bind]"),a="#"+o.data("id"),n="#"+o.data("bind");if(t.hasClass("arrow-right"))i="right";else var i="left";if(o.hasClass("right"))r="left";else var r="right";"left"==r?copy="right"==i:"right"==r&&(copy="right"!=i),copy?($(n).val($(a).val()),$(n).trigger("change"),$(n).wpColorPicker("color",$(a).val())):($(a).val($(n).val()),$(a).trigger("change"),$(a).wpColorPicker("color",$(n).val()))},maxAdmin.prototype.toggleRadiusLock=function(e){var t=$(e.target),o=$(t).data("lock");"lock"==o?($(t).removeClass("dashicons-lock").addClass("dashicons-unlock"),$(t).data("lock","unlock")):"unlock"==o&&($(t).removeClass("dashicons-unlock").addClass("dashicons-lock"),$(t).data("lock","lock"))},maxAdmin.prototype.initResponsive=function(){},maxAdmin.prototype.do_paging=function(e){var t=parseInt($(e.target).val());if(t<=parseInt($(e.target).attr("max"))){var o=$(e.target).data("url");window.location=o+"&paged="+t}},maxAdmin.prototype.toggleShortcode=function(e){$(".shortcode-expand").hasClass("closed")?($(" .mb-message.shortcode .expanded").css("display","inline-block"),$(".shortcode-expand span").removeClass("dashicons-arrow-down").addClass("dashicons-arrow-up"),$(".shortcode-expand").removeClass("closed").addClass("open")):($(" .mb-message.shortcode .expanded").css("display","none"),$(".shortcode-expand span").addClass("dashicons-arrow-down").removeClass("dashicons-arrow-up"),$(".shortcode-expand").addClass("closed").removeClass("open"))},maxAdmin.prototype.toggleManual=function(e){e.preventDefault();var t=$(e.target),o=t.data("target"),a=$('.manual-entry[data-manual="'+o+'"]');if(a.is(":visible"))return a.hide(),!0;var n=t.parents(".option-container");a.css("top","0px"),a.css("right","-25%"),a.prependTo(n),a.show()},maxAdmin.prototype.resetConditionals=function(){$("[data-show], [data-has]").each(function(){var e=$(this).data("show");if(void 0===e&&(e=$(this).data("has")),void 0!==e){var t=e.target;$(document).off("change",'[name="'+t+'"]')}else console.error($(this)+"has a improperly set conditional")})},maxAdmin.prototype.initConditionials=function(){var e=this;this.resetConditionals(),$("[data-show]").each(function(){var t=$(this).data("show"),o=t.target,a=t.values;$(document).on("change",'[name="'+o+'"]',{child:this,values:a},$.proxy(e.updateConditional,e)),$('[name="'+o+'"]').length>1?$('[name="'+o+'"]:checked').trigger("change",["conditional"]):$('[name="'+o+'"]').trigger("change",["conditional"])});var t=[];$("[data-has]").each(function(){var o=$(this).data("has"),a=o.target,n=o.values;$('[name="'+a+'"]').on("change",{target:a,child:this,values:n},$.proxy(e.updateHasConditional,e));var i='[name="'+a+'"]';$.inArray(i,t),t.push(i)}),t.length>0&&$(t.toString()).first().trigger("change",["conditional"])},maxAdmin.prototype.updateConditional=function(e){var t=e.data,o=t.values,a=t.child,n=$(e.currentTarget),i=$(n).val();if("checkbox"===n.attr("type")){var r=$(n).prop("checked");i="checked"==o&&r?"checked":"unchecked"!=o||r?0:"unchecked"}o.indexOf(i)>=0?($(a).fadeIn("fast"),$(a).find("input, select").trigger("change")):($(a).fadeOut("fast"),$(a).find("input, select").trigger("change"))},maxAdmin.prototype.updateHasConditional=function(e){var t=e.data,o=t.values,a=t.child,n=t.target,i=[];$(o).each(function(e){i.push("[value="+this+"]")}),$('[name="'+n+'"]').filter(i.toString()).length>0?$(a).fadeIn("fast"):$(a).fadeOut("fast")},maxAdmin.prototype.updateRange=function(e){if(void 0===e||null===e)t=$('input[type="range"]');else var t=[e.target];$(t).each(function(){var e=$(this).val();$(this).parents(".input").find(".range_value output").val(e+"%")})},maxAdmin.prototype.saveIndicator=function(e,t){t?(this.form_updated=!0,$(".button-save").removeClass("disabled").addClass("button-primary")):(this.form_updated=!1,$(".button-save").addClass("disabled").removeClass("button-primary"))},maxAdmin.prototype.formAjaxSave=function(e){e.preventDefault();var t=mb_ajax.ajaxurl,o=$(e.target).serialize();$.ajax({type:"POST",url:t,data:o}).done($.proxy(this.saveDone,this))},maxAdmin.prototype.saveDone=function(e){$("[data-form]").prop("disabled",!1);var t=$.parseJSON(e),o=t.result,a=t.title,n=t.data.id;if(void 0!==t.data.new_nonce){t.data.new_nonce;$('input[name="nonce"]').val(t.data.new_nonce)}if(o){$('input[name="collection_id"]').val(n);var i=window.location.href;-1===i.indexOf("collection_id")&&window.history.replaceState({},"",i+"&collection_id="+n),$(document).trigger("mbFormSaved");var r=$('input[name="sorted"]').val();$('input[name="previous_selection"]').val(r),t.data.reload&&document.location.reload(!0)}o||($modal=window.maxFoundry.maxModal,$modal.newModal("collection_error"),$modal.setTitle(a),$modal.setContent(t.body),$modal.setControls('<button class="modal_close button-primary">'+t.close_text+"</button>"),$modal.show())},maxAdmin.prototype.openURLDialog=function(e){return window.wpActiveEditor="url",wpLink.open(),$("#link-options").hide(),$(".query-results").css("top","70px"),$("#wp-link-submit").off("click keyup change"),$("#wp-link-submit").on("click",$.proxy(this.updateLink,this)),!1},maxAdmin.prototype.updateLink=function(e){e.preventDefault();var t=$("#url").val(),o=$("#wp-link-url").val(),a=maxadmin_settings.homeurl;return o=o.replace(a,""),$("#url").val(o),t!=o&&$(document).trigger("livePreviewUpdate",!0),wpLink.close(),!1},maxAdmin.prototype.toggleSidebar=function(e){var t=e.target,o=$(t).parents(".block_sidebar");o.hasClass("active")?o.removeClass("active"):o.addClass("active")};
1
+ function maxAdmin(){}var $=jQuery;maxAdmin.prototype={colorUpdateTime:!0,colorPalettes:!0,fields:null,button_id:null,form_updated:!1,tabs:null},maxAdmin.prototype.init=function(){this.button_id=$('input[name="button_id"]').val(),$(document).on("click",".maxbutton-preview",function(e){e.preventDefault(),e.stopPropagation()}),$("#maxbuttons .input-paging").on("change",$.proxy(this.do_paging,this)),$(".manual-toggle").on("click",$.proxy(this.toggleManual,this)),$(".manual-entry").draggable({cancel:"p, li"}),$(document).on("submit","form.mb_ajax_save",$.proxy(this.formAjaxSave,this)),$(document).on("click","[data-buttonaction]",$.proxy(this.button_action,this)),$(document).on("reInitConditionals",$.proxy(this.initConditionials,this)),this.initConditionials(),$("#maxbuttons").on("change, input",'input[type="range"]',$.proxy(this.updateRange,this)),this.updateRange(null),0!=$("#new-button-form").length&&(this.button_id>0&&$("#maxbuttons .mb-message").show(),$(document).on("livePreviewUpdate",$.proxy(this.saveIndicator,this)),$(".screen-option").on("click",$.proxy(this.change_screen_event,this)),$(".remove-screen").on("click",$.proxy(this.remove_screen,this)),$("#maxbuttons .output").draggable({cancel:".nodrag"}),$(".iris-picker-inner .iris-square-value").removeAttr("href"),$(document).on("click",".iris-picker-inner .iris-square-value",function(e){return e.preventDefault(),e.stopPropagation(),!1}),$(".input.mbcolor .arrows").on("click",$.proxy(this.copyColor,this)),$('[id$="radius_toggle"]').on("click",$.proxy(this.toggleRadiusLock,this)),$(".output .preview-toggle").on("click",$.proxy(this.toggle_preview,this)),$("#maxbuttons input.mb-color-field").on("focus",$.proxy(this.select_field,this)),$(window).on("beforeunload",$.proxy(function(){if(this.form_updated)return maxajax.leave_page},this)),$(document).on("keyup","input",function(e){if(e.keyCode&&13==e.keyCode)return $(":input")[$(":input").index(document.activeElement)+1].focus(),!1}),$(".button-save").click($.proxy(function(e){return this.saveIndicator(null,!1),"new_add_screen"==$(e.target).attr("id")&&$("#add_new_screen").val("yes"),$("#new-button-form").submit(),!1},this)),$(".shortcode-expand").on("click",this.toggleShortcode),$("#url_button").on("click",$.proxy(this.openURLDialog,this)),$(".block_sidebar .open_control").on("click",this.toggleSidebar),$(window).on("maxbuttons-js-init-done",$.proxy(this.loadLivePreview,this)),1==$('input[name="button_is_new"]').val()&&this.saveIndicator(null,!0))},maxAdmin.prototype.loadLivePreview=function(){if("function"==typeof window.maxFoundry.livePreview?(this.livePreview=new window.maxFoundry.livePreview,this.livePreview.init(),$(document).trigger("livepreview-loaded")):alert("Live Preview not loaded, button preview not functional"),void 0!==window.location.hash&&window.location.hash.length>0){var e=window.location.hash.replace("#","");this.change_screen(e)}},maxAdmin.prototype.change_screen_event=function(e){e.preventDefault();var t=$(e.target);void 0===t.data("screenid")&&(t=t.parents(".screen-option"));var o=t.data("screenid");void 0!==o&&this.change_screen(o)},maxAdmin.prototype.change_screen=function(e){var t=$(".screen-option.option-active").data("screenid"),o=$('.screen-option[data-screenid="'+e+'"]');"new"!=e&&$("#current_screen").val(e),t!==e&&(window.location.hash=e,$(".screen-option").removeClass("option-active"),o.addClass("option-active"),$(document).trigger("changed_screen",e),$(".mbscreen-editor").removeClass("current-screen"),$("#screen_"+e).addClass("current-screen"))},maxAdmin.prototype.remove_screen=function(e){if(confirm(maxadmin_settings.remove_confirm)){var t=$(e.target),o=t.parents(".mbscreen-editor").data("screenid");t.parents(".mbscreen-editor").remove(),$('.screen-option[data-screenid="'+o+'"]').remove(),$('input[name="screens[]"][value="'+o+'"]').remove(),$(".removed-note").show(),this.change_screen("default"),this.saveIndicator(null,!0)}},maxAdmin.prototype.toggle_preview=function(e){$(".output .inner").is(":hidden")?($(".output .inner").show(),$(".output").css("height","auto"),$(".preview .preview-toggle").removeClass("dashicons-arrow-down").addClass("dashicons-arrow-up")):($(".output .inner").hide(),$(".output").css("height","auto"),$(".preview .preview-toggle").removeClass("dashicons-arrow-up").addClass("dashicons-arrow-down"))},maxAdmin.prototype.select_field=function(e){$(e.target).select()},maxAdmin.prototype.button_action=function(e){e.preventDefault();var t=$(e.target).data("buttonaction"),o=$(e.target).data("confirm");if(this.form_updated=!1,void 0!==o){if(!window.confirm(o))return}var a=$(e.target).data("buttonid"),n=$('input[name="'+t+'_nonce"]').val(),i=$('input[name="paged"]').val(),r=maxajax.ajax_url,s={action:"mb_button_action",button_action:t,button_id:a,nonce:n};void 0!==i&&(s.paged=i),$.post({url:r,data:s,success:function(e){response=JSON.parse(e),void 0!==response.redirection&&(window.location=response.redirection)},error:function(){console.error("error in button action"+t)}})},maxAdmin.prototype.checkCopyModal=function(e){this.form_updated?e.currentModal.find(".mb-message").show():$(e.currentModal).find(".mb-message").hide()},maxAdmin.prototype.copyColor=function(e){e.preventDefault(),e.stopPropagation();var t=$(e.target),o=$(e.target).parents("[data-bind]"),a="#"+o.data("id"),n="#"+o.data("bind");if(t.hasClass("arrow-right"))i="right";else var i="left";if(o.hasClass("right"))r="left";else var r="right";"left"==r?copy="right"==i:"right"==r&&(copy="right"!=i),copy?($(n).val($(a).val()),$(n).trigger("change"),$(n).wpColorPicker("color",$(a).val())):($(a).val($(n).val()),$(a).trigger("change"),$(a).wpColorPicker("color",$(n).val()))},maxAdmin.prototype.toggleRadiusLock=function(e){var t=$(e.target),o=$(t).data("lock");"lock"==o?($(t).removeClass("dashicons-lock").addClass("dashicons-unlock"),$(t).data("lock","unlock")):"unlock"==o&&($(t).removeClass("dashicons-unlock").addClass("dashicons-lock"),$(t).data("lock","lock"))},maxAdmin.prototype.initResponsive=function(){},maxAdmin.prototype.do_paging=function(e){var t=parseInt($(e.target).val());if(t<=parseInt($(e.target).attr("max"))){var o=$(e.target).data("url");window.location=o+"&paged="+t}},maxAdmin.prototype.toggleShortcode=function(e){$(".shortcode-expand").hasClass("closed")?($(" .mb-message.shortcode .expanded").css("display","inline-block"),$(".shortcode-expand span").removeClass("dashicons-arrow-down").addClass("dashicons-arrow-up"),$(".shortcode-expand").removeClass("closed").addClass("open")):($(" .mb-message.shortcode .expanded").css("display","none"),$(".shortcode-expand span").addClass("dashicons-arrow-down").removeClass("dashicons-arrow-up"),$(".shortcode-expand").addClass("closed").removeClass("open"))},maxAdmin.prototype.toggleManual=function(e){e.preventDefault();var t=$(e.target),o=t.data("target"),a=$('.manual-entry[data-manual="'+o+'"]');if(a.is(":visible"))return a.hide(),!0;var n=t.parents(".option-container");a.css("top","0px"),a.css("right","-25%"),a.prependTo(n),a.show()},maxAdmin.prototype.resetConditionals=function(){$("[data-show], [data-has]").each(function(){var e=$(this).data("show");if(void 0===e&&(e=$(this).data("has")),void 0!==e){var t=e.target;$(document).off("change",'[name="'+t+'"]')}else console.error($(this)+"has a improperly set conditional")})},maxAdmin.prototype.initConditionials=function(){var e=this;this.resetConditionals(),$("[data-show]").each(function(){var t=$(this).data("show"),o=t.target,a=t.values;$(document).on("change",'[name="'+o+'"]',{child:this,values:a},$.proxy(e.updateConditional,e)),$('[name="'+o+'"]').length>1?$('[name="'+o+'"]:checked').trigger("change",["conditional"]):$('[name="'+o+'"]').trigger("change",["conditional"])});var t=[];$("[data-has]").each(function(){var o=$(this).data("has"),a=o.target,n=o.values;$('[name="'+a+'"]').on("change",{target:a,child:this,values:n},$.proxy(e.updateHasConditional,e));var i='[name="'+a+'"]';$.inArray(i,t),t.push(i)}),t.length>0&&$(t.toString()).first().trigger("change",["conditional"])},maxAdmin.prototype.updateConditional=function(e){var t=e.data,o=t.values,a=t.child,n=$(e.currentTarget),i=$(n).val();if("checkbox"===n.attr("type")){var r=$(n).prop("checked");i="checked"==o&&r?"checked":"unchecked"!=o||r?0:"unchecked"}o.indexOf(i)>=0?($(a).fadeIn("fast"),$(a).find("input, select").trigger("change")):($(a).fadeOut("fast"),$(a).find("input, select").trigger("change"))},maxAdmin.prototype.updateHasConditional=function(e){var t=e.data,o=t.values,a=t.child,n=t.target,i=[];$(o).each(function(e){i.push("[value="+this+"]")}),$('[name="'+n+'"]').filter(i.toString()).length>0?$(a).fadeIn("fast"):$(a).fadeOut("fast")},maxAdmin.prototype.updateRange=function(e){if(void 0===e||null===e)t=$('input[type="range"]');else var t=[e.target];$(t).each(function(){var e=$(this).val();$(this).parents(".input").find(".range_value output").val(e+"%")})},maxAdmin.prototype.saveIndicator=function(e,t){t?(this.form_updated=!0,$(".button-save").removeClass("disabled").addClass("button-primary")):(this.form_updated=!1,$(".button-save").addClass("disabled").removeClass("button-primary"))},maxAdmin.prototype.formAjaxSave=function(e){e.preventDefault();var t=mb_ajax.ajaxurl,o=$(e.target).serialize();$.ajax({type:"POST",url:t,data:o}).done($.proxy(this.saveDone,this))},maxAdmin.prototype.saveDone=function(e){$("[data-form]").prop("disabled",!1);var t=$.parseJSON(e),o=t.result,a=t.title,n=t.data.id;if(void 0!==t.data.new_nonce){t.data.new_nonce;$('input[name="nonce"]').val(t.data.new_nonce)}if(o){$('input[name="collection_id"]').val(n);var i=window.location.href;-1===i.indexOf("collection_id")&&window.history.replaceState({},"",i+"&collection_id="+n),$(document).trigger("mbFormSaved");var r=$('input[name="sorted"]').val();$('input[name="previous_selection"]').val(r),t.data.reload&&document.location.reload(!0)}o||($modal=window.maxFoundry.maxModal,$modal.newModal("collection_error"),$modal.setTitle(a),$modal.setContent(t.body),$modal.setControls('<button class="modal_close button-primary">'+t.close_text+"</button>"),$modal.show())},maxAdmin.prototype.openURLDialog=function(e){return window.wpActiveEditor="url",-1==window.ajaxurl.indexOf("ajax_maxbuttons")&&(window.ajaxurl=window.ajaxurl+"?ajax_maxbuttons=editor"),wpLink.open(),$("#link-options").hide(),$(".query-results").css("top","70px"),$("#wp-link-submit").off("click keyup change"),$("#wp-link-submit").on("click",$.proxy(this.updateLink,this)),!1},maxAdmin.prototype.updateLink=function(e){e.preventDefault();var t=$("#url").val(),o=$("#wp-link-url").val(),a=maxadmin_settings.homeurl;return o=o.replace(a,""),$("#url").val(o),t!=o&&$(document).trigger("livePreviewUpdate",!0),wpLink.close(),!1},maxAdmin.prototype.toggleSidebar=function(e){var t=e.target,o=$(t).parents(".block_sidebar");o.hasClass("active")?o.removeClass("active"):o.addClass("active")};
js/min/maxmodal.js CHANGED
@@ -1 +1 @@
1
- var maxModal;jQuery(document).ready(function(t){$=t,(maxModal=function(){}).prototype={currentModal:null,modals:[],controls:[],parent:"#maxbuttons",multiple:!1,windowHeight:!1,windowWidth:!1,setWidth:!1,setHeight:!1,target:!1},maxModal.prototype.init=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),$(document).off("click",".maxmodal"),$(document).on("click",".maxmodal",$.proxy(this.buildModal,this)),$(window).on("resize",$.proxy(this.checkResize,this))},maxModal.prototype.focus=function(){this.currentModal.show()},maxModal.prototype.get=function(){return this.currentModal},maxModal.prototype.show=function(){$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),this.writeOverlay(),this.currentModal.show(),this.setWidth&&this.currentModal.width(this.setWidth),this.setHeight&&this.currentModal.height(this.setHeight),$m=this.currentModal;var t=$m.find(".modal_header").outerHeight(),o=$m.find(".modal_content").outerHeight(),e=$m.find(".modal_content").width(),a=$m.find(".modal_controls").outerHeight(),i=t+o+a,d=e,n=(this.windowHeight-i)/2,s=(this.windowWidth-d)/2;if(n<30&&(n=30),i>this.windowHeight){newHeight=this.windowHeight-n-5,this.currentModal.height(newHeight);var l=newHeight-t-a;$m.find(".modal_content").height(l)}this.currentModal.css("left",s+"px"),this.currentModal.css("top",n+"px"),this.currentModal.css("height",i),$(".maxmodal_overlay").show(),$("body").addClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this)),$(document).on("keydown",$.proxy(this.keyPressHandler,this)),this.currentModal.focus()},maxModal.prototype.keyPressHandler=function(t){27===t.keyCode&&this.close()},maxModal.prototype.checkResize=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),null!==this.currentModal&&(this.currentModal.removeAttr("style"),this.currentModal.find(".modal_content").removeAttr("style"),this.currentModal.removeAttr("style"),this.show())},maxModal.prototype.close=function(){this.currentModal.trigger("modal_close",[this]),this.currentModal.remove(),this.currentModal=null,$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this))},maxModal.prototype.fadeOut=function(t){void 0==typeof t&&(t=600);var o=this;this.currentModal.fadeOut(t,function(){o.close()})},maxModal.prototype.setTitle=function(t){this.currentModal.find(".modal_title").text(t)},maxModal.prototype.resetControls=function(){this.controls=[]},maxModal.prototype.setControls=function(t){var o=this.currentModal.find(".modal_content"),e=$('<div class="modal_controls controls">');for(i=0;i<this.controls.length;i++)e.append(this.controls[i]);void 0!==t&&e.append(t),o.append(e),$(this.currentModal).find(".modal_close").off("click"),$(this.currentModal).find(".modal_close").on("click",$.proxy(this.close,this))},maxModal.prototype.addControl=function(t,o,e){var a="";switch(t){case"yes":a=modaltext.yes;break;case"ok":a=modaltext.ok;break;case"no":a=modaltext.no;break;case"cancel":a=modaltext.cancel;break;default:a=t,t="custom"}var i=$('<a class="button-primary '+t+'">'+a+"</a>");i.on("click",o,e),this.controls.push(i)},maxModal.prototype.setContent=function(t){this.currentModal.find(".modal_content").html(t)},maxModal.prototype.buildModal=function(t){t.preventDefault();var o=$(t.target);void 0===o.data("modal")&&(o=o.parents(".maxmodal")),this.target=o;var e=o.data("modal"),a=$("#"+e);void 0!==a.data("width")?this.setWidth=a.data("width"):this.setWidth=!1,void 0!==a.data("height")?this.setHeight=a.data("height"):this.setHeight=!1;var i=$(a).find(".title").text(),d=$(a).find(".controls").html(),n=$(a).find(".content").html();if(this.newModal(e),this.setTitle(i),this.setContent(n),this.setControls(d),void 0!==$(a).data("load")){var s=a.data("load")+"(modal)",l=new Function("modal",s);try{l(this)}catch(t){console.error("MB Modal Callback Error: "+t.message),console.error("MB Modal tried calling: "+s)}}this.show()},maxModal.prototype.newModal=function(t){null!==this.currentModal&&this.close();var o=$('<div class="max-modal '+t+'" > \t\t\t\t\t\t <div class="modal_header"> \t\t\t\t\t\t\t <div class="modal_close dashicons dashicons-no"></div><h3 class="modal_title"></h3> \t\t\t\t\t\t </div> \t\t\t\t\t\t <div class="inner modal_content"></div>\t\t\t\t\t </div>');return $(this.parent).length>0?$(this.parent).append(o):$("body").append(o),$(o).draggable({handle:".modal_header"}),this.modals.push(o),this.currentModal=o,this.controls=[],this},maxModal.prototype.writeOverlay=function(){$(this.parent).append('<div class="maxmodal_overlay"></div>'),$(".maxmodal_overlay").on("click",$.proxy(this.close,this))}});
1
+ var maxModal;jQuery(document).ready(function(t){$=t,(maxModal=function(){}).prototype={currentModal:null,modals:[],controls:[],parent:"#maxbuttons",multiple:!1,windowHeight:!1,windowWidth:!1,setWidth:!1,setHeight:!1,target:!1},maxModal.prototype.init=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),$(document).off("click",".maxmodal"),$(document).on("click",".maxmodal",$.proxy(this.buildModal,this)),$(window).on("resize",$.proxy(this.checkResize,this))},maxModal.prototype.focus=function(){this.currentModal.show()},maxModal.prototype.get=function(){return this.currentModal},maxModal.prototype.show=function(){$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),this.writeOverlay(),this.currentModal.show(),this.setWidth&&this.currentModal.width(this.setWidth),this.setHeight&&this.currentModal.height(this.setHeight),$m=this.currentModal;var t=$m.find(".modal_header").outerHeight(),o=$m.find(".modal_content").outerHeight(),e=$m.find(".modal_content").width(),a=$m.find(".modal_controls").outerHeight(),i=t+o+a,d=e,n=(this.windowHeight-i)/2,s=(this.windowWidth-d)/2;if(n<30&&(n=30),i>this.windowHeight){newHeight=this.windowHeight-n-5,this.currentModal.height(newHeight);var l=newHeight-t-a;$m.find(".modal_content").height(l)}this.currentModal.css("left",s+"px"),this.currentModal.css("top",n+"px"),this.currentModal.css("height",i),$(".maxmodal_overlay").show(),$("body").addClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this)),$(document).on("keydown",$.proxy(this.keyPressHandler,this)),this.currentModal.focus()},maxModal.prototype.keyPressHandler=function(t){27===t.keyCode&&this.close()},maxModal.prototype.checkResize=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),null!==this.currentModal&&(this.currentModal.removeAttr("style"),this.currentModal.find(".modal_content").removeAttr("style"),this.currentModal.removeAttr("style"),this.show())},maxModal.prototype.close=function(){this.currentModal.trigger("modal_close",[this]),this.currentModal.remove(),this.currentModal=null,$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this))},maxModal.prototype.fadeOut=function(t){void 0==typeof t&&(t=600);var o=this;this.currentModal.fadeOut(t,function(){o.close()})},maxModal.prototype.setTitle=function(t){this.currentModal.find(".modal_title").text(t)},maxModal.prototype.resetControls=function(){this.controls=[]},maxModal.prototype.setControls=function(t){var o=this.currentModal.find(".modal_content"),e=$('<div class="modal_controls controls">');for(i=0;i<this.controls.length;i++)e.append(this.controls[i]);void 0!==t&&e.append(t),o.append(e),$(this.currentModal).find(".modal_close").off("click"),$(this.currentModal).find(".modal_close").on("click",$.proxy(this.close,this))},maxModal.prototype.addControl=function(t,o,e){var a="";switch(t){case"yes":a=modaltext.yes;break;case"ok":a=modaltext.ok;break;case"no":a=modaltext.no;break;case"cancel":a=modaltext.cancel;break;default:a=t,t="custom"}var i=$('<a class="button-primary '+t+'">'+a+"</a>");i.on("click",o,e),this.controls.push(i)},maxModal.prototype.setContent=function(t){null!==this.currentModal&&this.currentModal.find(".modal_content").html(t)},maxModal.prototype.buildModal=function(t){t.preventDefault();var o=$(t.target);void 0===o.data("modal")&&(o=o.parents(".maxmodal")),this.target=o;var e=o.data("modal"),a=$("#"+e);void 0!==a.data("width")?this.setWidth=a.data("width"):this.setWidth=!1,void 0!==a.data("height")?this.setHeight=a.data("height"):this.setHeight=!1;var i=$(a).find(".title").text(),d=$(a).find(".controls").html(),n=$(a).find(".content").html();if(this.newModal(e),this.setTitle(i),this.setContent(n),this.setControls(d),void 0!==$(a).data("load")){var s=a.data("load")+"(modal)",l=new Function("modal",s);try{l(this)}catch(t){console.error("MB Modal Callback Error: "+t.message),console.error("MB Modal tried calling: "+s)}}this.show()},maxModal.prototype.newModal=function(t){null!==this.currentModal&&this.close();var o=$('<div class="max-modal '+t+'" > \t\t\t\t\t\t <div class="modal_header"> \t\t\t\t\t\t\t <div class="modal_close dashicons dashicons-no"></div><h3 class="modal_title"></h3> \t\t\t\t\t\t </div> \t\t\t\t\t\t <div class="inner modal_content"></div>\t\t\t\t\t </div>');return $(this.parent).length>0?$(this.parent).append(o):$("body").append(o),$(o).draggable({handle:".modal_header"}),this.modals.push(o),this.currentModal=o,this.controls=[],this},maxModal.prototype.writeOverlay=function(){$(this.parent).append('<div class="maxmodal_overlay"></div>'),$(".maxmodal_overlay").on("click",$.proxy(this.close,this))}});
js/min/media_button.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(t){function o(){"object"!=typeof window.maxFoundry.maxmodal&&(window.maxFoundry.maxmodal=new maxModal,window.maxFoundry.maxmodal.init()),"object"!=typeof window.maxFoundry.maxAjax&&(window.maxFoundry.maxAjax=new maxAjax,window.maxFoundry.maxAjax.init()),this.maxmodal=window.maxFoundry.maxmodal,this.maxajax=window.maxFoundry.maxAjax}$=t,(o.prototype={parent:"body",is_active:!1,maxmodal:null,maxajax:null,callback:null,useShortCodeOptions:!0,shortcodeData:null,getPage:1,ajaxSuccessHandler:null}).init=function(t){void 0!==t&&(void 0!==t.callback&&(this.callback=t.callback||null),void 0!==t.useShortCodeOptions&&(this.useShortCodeOptions=t.useShortCodeOptions),void 0!==t.parent&&(this.parent=t.parent)),this.ajaxSuccessHandler=$.proxy(this.putContent,this),$(document).off("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).on("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).off("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).on("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).off("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).on("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).off("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this)),$(document).on("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this))},o.prototype.openModal=function(){void 0!==window.tp&&$("#advanced-editor").wpdialog("close"),this.maxmodal.newModal("media-popup"),this.maxmodal.parent=this.parent,this.maxmodal.setTitle(mbtrans.windowtitle),this.maxmodal.setContent('<span class="loading"></span>'),this.maxmodal.show(),this.maxajax.showSpinner($(".loading")),this.loadButtons(),this.is_active=!0},o.prototype.loadButtons=function(){var t=this.maxajax.ajaxInit();t.plugin_action="getAjaxButtons",t.page=this.getPage,this.maxajax.ajaxPost(t,this.ajaxSuccessHandler)},o.prototype.putContent=function(t){t=JSON.parse(t);this.maxajax.removeSpinner(),void 0!==t.output&&this.maxmodal.setContent(t.output),void 0!==t.action&&$(document).trigger("media_button_content_"+t.action,t)},o.prototype.hookButtonAction=function(){$(document).off("click",".button-list"),$(document).on("click",".button-list",$.proxy(function(t){var o=$(t.target);void 0===$(o).data("button")&&(o=$(o).parents(".button-list"));var a=$(o).data("button");$(".button-list").removeClass("selected"),$(o).addClass("selected"),$(".controls .button-primary").data("button",a),this.maxmodal.currentModal.find(".controls .button-primary").removeClass("disabled")},this)),$(document).off("click",".button-preview a"),$(document).on("click",".button-preview a",function(t){t.preventDefault()}),this.maxmodal.resetControls(),this.useShortCodeOptions?this.maxmodal.addControl(mbtrans.use,"",$.proxy(this.shortCodeOptions,this)):this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),this.maxmodal.currentModal.find(".controls .button-primary").addClass("disabled"),this.maxmodal.checkResize()},o.prototype.hookShortCodeAction=function(t,o){this.shortcodeData=o.shortcodeData;var a=o.button_id;this.maxmodal.resetControls(),this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),$(this.maxmodal.currentModal).find(".controls .button-primary").data("button",a),$(this.maxmodal.currentModal).find(".more-options a").off("click"),$(this.maxmodal.currentModal).find(".more-options a").on("click",$.proxy(function(t){$(this.maxmodal.currentModal).find(".more-field").show(),$(t.target).parents(".option .more").hide(),this.maxmodal.checkResize()},this)),this.maxmodal.checkResize()},o.prototype.selectAction=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button");void 0===o||parseInt(o)<=0||("function"==typeof this.callback?this.callback(o,$(t.target)):(this.buttonToEditor(o),this.close()))}},o.prototype.shortCodeOptions=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button"),a=this.maxajax.ajaxInit();a.plugin_action="mediaShortcodeOptions",a.button_id=o,this.maxajax.ajaxPost(a,this.ajaxSuccessHandler)}},o.prototype.doInputPagination=function(t){t.preventDefault();var o=$(t.target),a=parseInt(o.data("current")),n=parseInt(o.val()),i=parseInt(o.attr("max"));n!=a&&n>=1&&n<=i&&(this.getPage=n,this.loadButtons())},o.prototype.doPagination=function(t){if(t.preventDefault(),$(t.target).hasClass("disabled"))return!1;var o=$(t.target).data("page");o<=1&&(o=1),this.getPage=o,this.loadButtons()},o.prototype.generateShortcode=function(t){var o='[maxbutton id="'+t+'"';return void 0!==this.shortcodeData&&$(this.shortcodeData).each(function(t,a){var n=$('input[name="'+a.name+'"]'),i=$('input[name="'+a.name+'"]').val();if("checkbox"==n.attr("type")){var e=n.is(":checked");e!=a.original&&(o+=e?" "+a.shortcode+'="'+a.checked+'"':" "+a.shortcode+'="'+a.unchecked+'"')}else i!=a.original&&(o+=" "+a.shortcode+'="'+i+'"')}),o+=" ] "},o.prototype.buttonToEditor=function(t){if(shortcode=this.generateShortcode(t),"function"==typeof window.send_to_editor)window.send_to_editor(shortcode,t);else if(void 0!==window.tp){var o=$("#advanced-editor-content").val();o+=shortcode,$("#advanced-editor-content").val(o),$("#advanced-editor").wpdialog("open")}},o.prototype.close=function(){this.maxmodal.close()},void 0===window.maxFoundry&&(window.maxFoundry={}),window.maxFoundry.maxMedia=o});
1
+ jQuery(document).ready(function(t){function o(){"object"!=typeof window.maxFoundry.maxmodal&&(window.maxFoundry.maxmodal=new maxModal,window.maxFoundry.maxmodal.init()),"object"!=typeof window.maxFoundry.maxAjax&&(window.maxFoundry.maxAjax=new maxAjax,window.maxFoundry.maxAjax.init()),this.maxmodal=window.maxFoundry.maxmodal,this.maxajax=window.maxFoundry.maxAjax}$=t,(o.prototype={parent:"body",is_active:!1,maxmodal:null,maxajax:null,callback:null,useShortCodeOptions:!0,shortcodeData:null,getPage:1,ajaxSuccessHandler:null}).init=function(t){void 0!==t&&(void 0!==t.callback&&(this.callback=t.callback||null),void 0!==t.useShortCodeOptions&&(this.useShortCodeOptions=t.useShortCodeOptions),void 0!==t.parent&&(this.parent=t.parent)),this.ajaxSuccessHandler=$.proxy(this.putContent,this),$(document).off("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).on("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).off("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).on("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).off("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).on("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).off("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this)),$(document).on("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this))},o.prototype.openModal=function(){void 0!==window.tp&&$("#advanced-editor").wpdialog("close"),this.maxmodal.newModal("media-popup"),this.maxmodal.parent=this.parent,this.maxmodal.setTitle(mbtrans.windowtitle),this.maxmodal.setContent('<span class="loading"></span>'),this.maxmodal.show(),this.maxajax.showSpinner($(".loading")),this.loadButtons(),this.is_active=!0},o.prototype.loadButtons=function(){var t=this.maxajax.ajaxInit();t.plugin_action="getAjaxButtons",t.page=this.getPage,this.maxajax.ajaxPost(t,this.ajaxSuccessHandler)},o.prototype.putContent=function(t){t=JSON.parse(t);this.maxajax.removeSpinner(),void 0!==t.output&&this.maxmodal.setContent(t.output),void 0!==t.action&&$(document).trigger("media_button_content_"+t.action,t)},o.prototype.hookButtonAction=function(){$(document).off("click",".button-list"),$(document).on("click",".button-list",$.proxy(function(t){t.preventDefault(),t.stopPropagation();var o=$(t.target);void 0===$(o).data("button")&&(o=$(o).parents(".button-list"));var a=$(o).data("button");$(".button-list").removeClass("selected"),$(o).addClass("selected"),$(".controls .button-primary").data("button",a),this.maxmodal.currentModal.find(".controls .button-primary").removeClass("disabled")},this)),$(document).off("click",".button-preview a"),$(document).on("click",".button-preview a",function(t){t.preventDefault()}),this.maxmodal.resetControls(),this.useShortCodeOptions?this.maxmodal.addControl(mbtrans.use,"",$.proxy(this.shortCodeOptions,this)):this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),this.maxmodal.currentModal.find(".controls .button-primary").addClass("disabled"),this.maxmodal.checkResize()},o.prototype.hookShortCodeAction=function(t,o){this.shortcodeData=o.shortcodeData;var a=o.button_id;this.maxmodal.resetControls(),this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),$(this.maxmodal.currentModal).find(".controls .button-primary").data("button",a),$(this.maxmodal.currentModal).find(".more-options a").off("click"),$(this.maxmodal.currentModal).find(".more-options a").on("click",$.proxy(function(t){$(this.maxmodal.currentModal).find(".more-field").show(),$(t.target).parents(".option .more").hide(),this.maxmodal.checkResize()},this)),this.maxmodal.checkResize()},o.prototype.selectAction=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button");void 0===o||parseInt(o)<=0||("function"==typeof this.callback?this.callback(o,$(t.target)):(this.buttonToEditor(o),this.close()))}},o.prototype.shortCodeOptions=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button"),a=this.maxajax.ajaxInit();a.plugin_action="mediaShortcodeOptions",a.button_id=o,this.maxajax.ajaxPost(a,this.ajaxSuccessHandler)}},o.prototype.doInputPagination=function(t){t.preventDefault();var o=$(t.target),a=parseInt(o.data("current")),n=parseInt(o.val()),i=parseInt(o.attr("max"));n!=a&&n>=1&&n<=i&&(this.getPage=n,this.loadButtons())},o.prototype.doPagination=function(t){if(t.preventDefault(),$(t.target).hasClass("disabled"))return!1;var o=$(t.target).data("page");o<=1&&(o=1),this.getPage=o,this.loadButtons()},o.prototype.generateShortcode=function(t){var o='[maxbutton id="'+t+'"';return void 0!==this.shortcodeData&&$(this.shortcodeData).each(function(t,a){var n=$('input[name="'+a.name+'"]'),i=$('input[name="'+a.name+'"]').val();if("checkbox"==n.attr("type")){var e=n.is(":checked");e!=a.original&&(o+=e?" "+a.shortcode+'="'+a.checked+'"':" "+a.shortcode+'="'+a.unchecked+'"')}else i!=a.original&&(o+=" "+a.shortcode+'="'+i+'"')}),o+=" ] "},o.prototype.buttonToEditor=function(t){if(shortcode=this.generateShortcode(t),"function"==typeof window.send_to_editor)window.send_to_editor(shortcode,t);else if(void 0!==window.tp){var o=$("#advanced-editor-content").val();o+=shortcode,$("#advanced-editor-content").val(o),$("#advanced-editor").wpdialog("open")}},o.prototype.close=function(){this.maxmodal.close()},void 0===window.maxFoundry&&(window.maxFoundry={}),window.maxFoundry.maxMedia=o});
maxbuttons.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MaxButtons
4
  Plugin URI: http://maxbuttons.com
5
  Description: The best WordPress button generator. This is the free version; the Pro version <a href="http://maxbuttons.com/?ref=mbfree">can be found here</a>.
6
- Version: 8.4.2
7
  Author: Max Foundry
8
  Author URI: http://maxfoundry.com
9
  Text Domain: maxbuttons
@@ -16,9 +16,9 @@ namespace MaxButtons;
16
  if (! defined('MAXBUTTONS_ROOT_FILE'))
17
  define("MAXBUTTONS_ROOT_FILE", __FILE__);
18
  if (! defined('MAXBUTTONS_VERSION_NUM'))
19
- define('MAXBUTTONS_VERSION_NUM', '8.4.2');
20
 
21
- define('MAXBUTTONS_RELEASE',"13 January 2021");
22
 
23
  if (! function_exists('MaxButtons\maxbutton_double_load'))
24
  {
3
  Plugin Name: MaxButtons
4
  Plugin URI: http://maxbuttons.com
5
  Description: The best WordPress button generator. This is the free version; the Pro version <a href="http://maxbuttons.com/?ref=mbfree">can be found here</a>.
6
+ Version: 8.5
7
  Author: Max Foundry
8
  Author URI: http://maxfoundry.com
9
  Text Domain: maxbuttons
16
  if (! defined('MAXBUTTONS_ROOT_FILE'))
17
  define("MAXBUTTONS_ROOT_FILE", __FILE__);
18
  if (! defined('MAXBUTTONS_VERSION_NUM'))
19
+ define('MAXBUTTONS_VERSION_NUM', '8.5');
20
 
21
+ define('MAXBUTTONS_RELEASE',"25 February 2021");
22
 
23
  if (! function_exists('MaxButtons\maxbutton_double_load'))
24
  {
readme.txt CHANGED
@@ -2,16 +2,16 @@
2
  Contributors: maxfoundry, basszje, arcware, johnbhartley
3
  Tags: wordpress button plugin, share button, wordpress buttons, css3 button generator, responsive buttons, css wordpress button
4
  Requires at least: 4.8
5
- Tested up to: 5.6
6
  Requires PHP: 5.6
7
- Stable tag: 8.4.2
8
 
9
  WordPress button plugin so powerful and easy to use anyone can create beautiful buttons, share buttons and social icons.
10
 
11
  == Description ==
12
  [MaxButtons](https://maxbuttons.com/?utm_source=repowp1&utm_medium=mbrepo&utm_content=mbr_maxbuttons&utm_campaign=mbr_maxbuttons) is a powerful WordPress button, share button and social icon plugin. Create great looking CSS3 WordPress buttons in a minute. Easy to understand. Our button editor with live preview makes it a snap to generate awesome responsive buttons in very little time. The social share buttons and social icon features allow you to add social options to your website in minutes.
13
 
14
- MaxButtons [WordPress button plugin](https://www.maxbuttons.com/#CSS3/?utm_source=repowbp&utm_medium=mbrepo&utm_content=wordpress_button_plugin&utm_campaign=repowbp) has been going strong for over 6 years and was the first button plugin for WordPress. MaxButtons has earned over 900 5-star reviews and over 2.5 million downloads. Here are couple of our favorites:
15
 
16
  > “The best plugin of its kind” - by celito
17
 
@@ -39,7 +39,7 @@ Max Foundry also makes the WordPress Gallery plugin [MaxGalleria](https://maxgal
39
  = MaxButtons =
40
 
41
  * No coding, the plugin takes care of everything
42
- * Button shortcodes for ease of use
43
  * Create unlimited number of buttons
44
  * Live preview window instantly updates as you customize your buttons
45
  * Color picker for unlimited color combinations
@@ -48,8 +48,10 @@ Max Foundry also makes the WordPress Gallery plugin [MaxGalleria](https://maxgal
48
  * Copy an existing button to use as starting point for others
49
  * See your buttons on different color backgrounds
50
  * Predefined defaults make getting started super easy
51
- * SiteOrigin Page Builder integration through the SiteOrigin Widget Bundle
52
- * Supports Shortcake plugin to see your buttons in your editor!
 
 
53
 
54
 
55
  = Share Buttons =
@@ -80,13 +82,14 @@ Take your buttons to the next level with [MaxButtons Pro](https://www.maxbuttons
80
 
81
  Our premium WordPress plugin for buttons, share buttons and social icons brings you the [best WordPress button plugin](https://maxbuttons.com/?utm_source=mprepo&utm_medium=mbrepo&utm_content=best_css3_button&utm_campaign=repobestcss3) through continuous feature updating. Upgrading to the Pro version allows you to add icons and images to your custom WordPress buttons. The Pro features allow you to do so much more!
82
 
83
- * **Icon Support** - Add icons and images to your buttons and customize placement and size.
84
  * **Multi-line text** - Add a second line of text and stylize with font, size and placement.
85
  * **Google Fonts** - We have included the entire set to help your buttons stand out with beautiful typography.
86
  * **Button Packs** - Ready to use, value priced button sets that make any site good great.
87
  * **Google Analytics** [Event Tracking for WordPress Buttons](https://maxbuttons.com/google-analytics-event-tracking/). The best way to see you users’ interactions with buttons in Google Analytics. No coding needed.
88
  * **Import/Export** - Useful for backing up and/or moving your buttons. Also, use any of the great free icons listed on our site.
89
- * Include images in buttons.
 
90
  * **Button Search** - for easier management of large button sets.
91
  * **Font Awesome 5** - Largest icon collection, fastest served
92
  * **WPBakery Page Builder** - Integrated with WPBakery Page Builder
@@ -160,10 +163,12 @@ For manual installation:
160
 
161
  1. Button overview - Everything in one view
162
  2. Button editor - Your own look and feel
163
- 3. Amazing color options
164
- 4. Social sharing - Unleash the power of the social networks
165
- 5. Simple but powerful options
166
  6. Clear and fast output.
 
 
167
 
168
 
169
  == Frequently Asked Questions ==
@@ -264,6 +269,13 @@ Secondly, please use latin only characters for button name ( Basic settings) and
264
 
265
  == Changelog ==
266
 
 
 
 
 
 
 
 
267
  = 8.4.2 =
268
 
269
  * Fix - Responsive hide button would work with additional settings
2
  Contributors: maxfoundry, basszje, arcware, johnbhartley
3
  Tags: wordpress button plugin, share button, wordpress buttons, css3 button generator, responsive buttons, css wordpress button
4
  Requires at least: 4.8
5
+ Tested up to: 5.7
6
  Requires PHP: 5.6
7
+ Stable tag: 8.5
8
 
9
  WordPress button plugin so powerful and easy to use anyone can create beautiful buttons, share buttons and social icons.
10
 
11
  == Description ==
12
  [MaxButtons](https://maxbuttons.com/?utm_source=repowp1&utm_medium=mbrepo&utm_content=mbr_maxbuttons&utm_campaign=mbr_maxbuttons) is a powerful WordPress button, share button and social icon plugin. Create great looking CSS3 WordPress buttons in a minute. Easy to understand. Our button editor with live preview makes it a snap to generate awesome responsive buttons in very little time. The social share buttons and social icon features allow you to add social options to your website in minutes.
13
 
14
+ MaxButtons [WordPress button plugin](https://www.maxbuttons.com/#CSS3/?utm_source=repowbp&utm_medium=mbrepo&utm_content=wordpress_button_plugin&utm_campaign=repowbp) has been going strong for over 6 years and was the first button plugin for WordPress. MaxButtons has earned over 1000 5-star reviews and over 3.5 million downloads. Here are couple of our favorites:
15
 
16
  > “The best plugin of its kind” - by celito
17
 
39
  = MaxButtons =
40
 
41
  * No coding, the plugin takes care of everything
42
+ * Button shortcodes for ease of use, unlimited text and link combinations possible
43
  * Create unlimited number of buttons
44
  * Live preview window instantly updates as you customize your buttons
45
  * Color picker for unlimited color combinations
48
  * Copy an existing button to use as starting point for others
49
  * See your buttons on different color backgrounds
50
  * Predefined defaults make getting started super easy
51
+ * Works with your page builder: Beaver Builder, SiteOrigin, Elementor etc
52
+ * Great Gutenberg support, works out of the box.
53
+ * Integrates with Popup Builders to open Modals
54
+ * Best responsive options. Customize for each mobile device and screen size
55
 
56
 
57
  = Share Buttons =
82
 
83
  Our premium WordPress plugin for buttons, share buttons and social icons brings you the [best WordPress button plugin](https://maxbuttons.com/?utm_source=mprepo&utm_medium=mbrepo&utm_content=best_css3_button&utm_campaign=repobestcss3) through continuous feature updating. Upgrading to the Pro version allows you to add icons and images to your custom WordPress buttons. The Pro features allow you to do so much more!
84
 
85
+ * **Icons and Images** - Add icons and images to your buttons and customize placement and size.
86
  * **Multi-line text** - Add a second line of text and stylize with font, size and placement.
87
  * **Google Fonts** - We have included the entire set to help your buttons stand out with beautiful typography.
88
  * **Button Packs** - Ready to use, value priced button sets that make any site good great.
89
  * **Google Analytics** [Event Tracking for WordPress Buttons](https://maxbuttons.com/google-analytics-event-tracking/). The best way to see you users’ interactions with buttons in Google Analytics. No coding needed.
90
  * **Import/Export** - Useful for backing up and/or moving your buttons. Also, use any of the great free icons listed on our site.
91
+ * **Dynamic Buttons** - Use variables from WordPress or theme in your link and text
92
+ * **Custom CSS** - Built-in per button custom CSS
93
  * **Button Search** - for easier management of large button sets.
94
  * **Font Awesome 5** - Largest icon collection, fastest served
95
  * **WPBakery Page Builder** - Integrated with WPBakery Page Builder
163
 
164
  1. Button overview - Everything in one view
165
  2. Button editor - Your own look and feel
166
+ 3. Color picker including styles, transparency and more
167
+ 4. Button packs, easily add premade buttons
168
+ 5. Simple but powerful Social Share options
169
  6. Clear and fast output.
170
+ 7. Responsive buttons for mobiles made easy
171
+ 8. Simply way to add buttons to your content
172
 
173
 
174
  == Frequently Asked Questions ==
269
 
270
  == Changelog ==
271
 
272
+ = 8.5 =
273
+
274
+ * New - Option to force a download of the URL
275
+ * New - Select Site Content also searches recent media library items.
276
+ * Fix - Preview window would increase in size when dragging
277
+ * Fix - Gutenberg open in new window / rel nofollow controls now working
278
+
279
  = 8.4.2 =
280
 
281
  * Fix - Responsive hide button would work with additional settings