Page Builder: PageLayer – Drag and Drop website builder - Version 1.7.0

Version Description

(July 28, 2022) = * [Task] The typography properties has been further improved. * [Task] Added global color option for the gradient property. * [Task] Added the "HTML Tag" option in post title widget. Now you can select the tags to wrap the post title. * [Bug-Fix] In the some widgets global color were not applied properly. This is fixed. * [Bug-Fix] In some cases Ctrl+Z was not working properly. This is fixed. * [Bug-Fix] In the Social Icon widget, icons were aligning with respect to the holder. This is fixed.

Download this release

Release Info

Developer pagelayer
Plugin Icon 128x128 Page Builder: PageLayer – Drag and Drop website builder
Version 1.7.0
Comparing to
See all releases

Code changes from version 1.6.9 to 1.7.0

css/combined.css CHANGED
@@ -1648,6 +1648,7 @@ color: #ffffff;
1648
  .pagelayer-social_grp .pagelayer-icon-holder{
1649
  display:inline-block;
1650
  line-height: 100%;
 
1651
  }
1652
 
1653
  .pagelayer-share-content,
@@ -2581,6 +2582,10 @@ display:block;
2581
  /*Image Slider style End*/
2582
 
2583
  /*Google Maps start*/
 
 
 
 
2584
  .pagelayer-google-maps-holder iframe{
2585
  margin:0px;
2586
  width:100%;
1648
  .pagelayer-social_grp .pagelayer-icon-holder{
1649
  display:inline-block;
1650
  line-height: 100%;
1651
+ text-align: center;
1652
  }
1653
 
1654
  .pagelayer-share-content,
2582
  /*Image Slider style End*/
2583
 
2584
  /*Google Maps start*/
2585
+ .pagelayer-google-maps-holder{
2586
+ line-height:0;
2587
+ }
2588
+
2589
  .pagelayer-google-maps-holder iframe{
2590
  margin:0px;
2591
  width:100%;
css/customizer.css CHANGED
@@ -82,12 +82,13 @@ justify-content: center;
82
  .pagelayer-control-typo{
83
  padding: 5px;
84
  margin: 10px 0;
85
- display:none;
86
  background: #fff;
87
- border-radius: 4px;
88
  width: 250px;
89
  position: relative;
90
  text-align: left;
 
91
  }
92
 
93
  .pagelayer-control-typo .pagelayer-control-typo-fields{
@@ -102,13 +103,28 @@ border-bottom: 1px dashed #d1d1d1;
102
 
103
  .pagelayer-control-typo .pagelayer-control-typo-fields > *{
104
  flex: 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  }
 
106
  /* pagelayer Typography controls end*/
107
  /* pagelayer device Start*/
108
  .pagelayer-devices button{
109
  border:none;
110
  display:none;
111
  cursor:pointer;
 
112
  }
113
 
114
  .pagelayer-devices button.active-device{
@@ -121,6 +137,12 @@ color:#50575e;
121
  [data-device-detector="mobile"] [data-show-device]:not([data-show-device="_mobile"]){
122
  display:none;
123
  }
 
 
 
 
 
 
124
  /* pagelayer device end*/
125
  /* pagelayer units*/
126
  .pagelayer-units{
@@ -150,8 +172,8 @@ border:none;
150
  background-clip: content-box !important;
151
  padding: 1px !important;
152
  border: 1px solid #999;
153
- width: 35px;
154
- height: 30px;
155
  position:relative;
156
  background: none;
157
  border-radius: 5px;
@@ -391,10 +413,6 @@ display: block !important;
391
  margin: auto !important;
392
  }
393
 
394
- .pagelayer-global-font-list{
395
- text-align: left;
396
- }
397
-
398
  .pagelayer-font-title,
399
  .pagelayer-color-title{
400
  padding: 5px;
@@ -432,6 +450,12 @@ max-height: 350px;
432
  overflow-y: auto;
433
  }
434
 
 
 
 
 
 
 
435
  .pagelayer-global-font-list-item,
436
  .pagelayer-global-color-list-item{
437
  display: flex;
@@ -471,7 +495,6 @@ color: #137dc5;
471
  display: none;
472
  }
473
 
474
- .pagelayer-global-setting-font,
475
  .pagelayer-global-setting-color{
476
  position: relative;
477
  box-shadow: 0 1px 2px #d2cfcf;
@@ -479,12 +502,19 @@ padding: 4px 4px 10px 4px;
479
  margin-bottom: 5px;
480
  }
481
 
482
- .pagelayer-global-setting-font b,
 
 
 
 
 
 
 
 
483
  .pagelayer-global-setting-color b{
484
  margin-left: 11px;
485
  }
486
 
487
- .pagelayer-global-setting-font .dashicons,
488
  .pagelayer-global-setting-color .dashicons{
489
  right: 15px;
490
  position: absolute;
@@ -492,9 +522,22 @@ cursor: pointer;
492
  font-size: 14px;
493
  }
494
 
 
 
 
 
 
 
 
 
 
 
 
 
 
495
  .pagelayer-global-setting-font .dashicons:hover,
496
  .pagelayer-global-setting-color .dashicons:hover{
497
- color: #2525ff;
498
  }
499
 
500
  #sub-accordion-section-pagelayer_global_colors_sec{
82
  .pagelayer-control-typo{
83
  padding: 5px;
84
  margin: 10px 0;
85
+ display: none;
86
  background: #fff;
87
+ border-radius: 3px;
88
  width: 250px;
89
  position: relative;
90
  text-align: left;
91
+ box-shadow: 0 0px 15px #b4b4b4
92
  }
93
 
94
  .pagelayer-control-typo .pagelayer-control-typo-fields{
103
 
104
  .pagelayer-control-typo .pagelayer-control-typo-fields > *{
105
  flex: 1;
106
+ font-size: 13px;
107
+ }
108
+
109
+ .pagelayer-typo-global-default{
110
+ display:none;
111
+ width: 16px;
112
+ height: 16px;
113
+ font-size: 16px;
114
+ cursor: pointer;
115
+ }
116
+
117
+ .pagelayer-global-on .pagelayer-control-typo-fields:not([pagelayer-set-global]):hover .pagelayer-typo-global-default{
118
+ display: inline-block;
119
  }
120
+
121
  /* pagelayer Typography controls end*/
122
  /* pagelayer device Start*/
123
  .pagelayer-devices button{
124
  border:none;
125
  display:none;
126
  cursor:pointer;
127
+ background: transparent;
128
  }
129
 
130
  .pagelayer-devices button.active-device{
137
  [data-device-detector="mobile"] [data-show-device]:not([data-show-device="_mobile"]){
138
  display:none;
139
  }
140
+
141
+ .pagelayer-devices .dashicons{
142
+ font-size: 16px;
143
+ vertical-align: middle;
144
+ }
145
+
146
  /* pagelayer device end*/
147
  /* pagelayer units*/
148
  .pagelayer-units{
172
  background-clip: content-box !important;
173
  padding: 1px !important;
174
  border: 1px solid #999;
175
+ width: 35px !important;
176
+ height: 30px !important;
177
  position:relative;
178
  background: none;
179
  border-radius: 5px;
413
  margin: auto !important;
414
  }
415
 
 
 
 
 
416
  .pagelayer-font-title,
417
  .pagelayer-color-title{
418
  padding: 5px;
450
  overflow-y: auto;
451
  }
452
 
453
+ .pagelayer-global-font-list{
454
+ text-align: left;
455
+ width: 200px;
456
+ box-shadow: 0px 1px 8px rgb(209 209 209);
457
+ }
458
+
459
  .pagelayer-global-font-list-item,
460
  .pagelayer-global-color-list-item{
461
  display: flex;
495
  display: none;
496
  }
497
 
 
498
  .pagelayer-global-setting-color{
499
  position: relative;
500
  box-shadow: 0 1px 2px #d2cfcf;
502
  margin-bottom: 5px;
503
  }
504
 
505
+ .pagelayer-global-setting-font{
506
+ display: flex;
507
+ align-items: center;
508
+ margin: -5px -5px 5px;
509
+ padding: 5px 10px;
510
+ position: relative;
511
+ box-shadow: 0 1px 2px #d2cfcf;
512
+ }
513
+
514
  .pagelayer-global-setting-color b{
515
  margin-left: 11px;
516
  }
517
 
 
518
  .pagelayer-global-setting-color .dashicons{
519
  right: 15px;
520
  position: absolute;
522
  font-size: 14px;
523
  }
524
 
525
+ .pagelayer-global-setting-font .dashicons{
526
+ right: 30px;
527
+ border: none;
528
+ font-size: 16px;
529
+ cursor: pointer;
530
+ }
531
+
532
+ .pagelayer-global-setting-font .dashicons-admin-generic{
533
+ right: 15px;
534
+ }
535
+
536
+ .pagelayer-control-typo-fields-label .dashicons-undo:hover,
537
+ .pagelayer-devices .dashicons:hover,
538
  .pagelayer-global-setting-font .dashicons:hover,
539
  .pagelayer-global-setting-color .dashicons:hover{
540
+ color: #137dc5;
541
  }
542
 
543
  #sub-accordion-section-pagelayer_global_colors_sec{
css/pagelayer-editor.css CHANGED
@@ -789,7 +789,9 @@ background-color: #3E8EF7;
789
  background-color: #1066fd;
790
  }
791
 
792
- .pagelayer-elp-screen .pagelayer-prop-screen:hover, .pagelayer-elp-default:hover i{
 
 
793
  color: #3E8EF7;
794
  }
795
 
@@ -1177,6 +1179,10 @@ color: #333;
1177
  display: flex;
1178
  }
1179
 
 
 
 
 
1180
  .pagelayer-elp-color-div{
1181
  cursor: pointer;
1182
  padding: 3px;
@@ -1208,7 +1214,6 @@ border-radius: 2px;
1208
  flex: 1;
1209
  }
1210
 
1211
- .pagelayer-elp-typo-global,
1212
  .pagelayer-elp-color-global{
1213
  width: 50%;
1214
  border-right: 1px solid #999;
@@ -1217,7 +1222,7 @@ align-items: center;
1217
  justify-content: center;
1218
  }
1219
 
1220
- .pagelayer-elp-typo-global:hover,
1221
  .pagelayer-elp-color-global:hover{
1222
  color: #137dc5;
1223
  }
@@ -1229,7 +1234,7 @@ justify-content: center;
1229
  flex: 1;
1230
  }
1231
 
1232
- .pagelayer-elp-typo-global:before,
1233
  .pagelayer-elp-color-global:before{
1234
  content: "\e9c9";
1235
  font-family: 'pagelayer', "Font Awesome 5 Free" !important;
@@ -1299,7 +1304,6 @@ position: relative;
1299
  z-index: -1;
1300
  }
1301
 
1302
- .pagelayer-global-setting-font,
1303
  .pagelayer-global-setting-color{
1304
  position: relative;
1305
  box-shadow: 0 1px 2px #d2cfcf;
@@ -1309,21 +1313,23 @@ margin-top: -10px;
1309
  cursor: default;
1310
  }
1311
 
1312
- .pagelayer-global-setting-font b,
1313
  .pagelayer-global-setting-color b{
1314
  margin-left: 11px;
1315
  }
1316
 
1317
- .pagelayer-global-setting-font .pli,
1318
  .pagelayer-global-setting-color .pli{
1319
  right: 15px;
1320
  position: absolute;
1321
  cursor: pointer;
1322
  }
1323
 
1324
- .pagelayer-global-setting-font .pli:hover,
 
 
 
 
1325
  .pagelayer-global-setting-color .pli:hover{
1326
- color: #2525ff;
1327
  }
1328
 
1329
  .pagelayer-active-global{
@@ -2056,6 +2062,18 @@ width: 86%;
2056
  z-index: 12;
2057
  }
2058
 
 
 
 
 
 
 
 
 
 
 
 
 
2059
  .pagelayer-dark .pagelayer-elp-shadow-div,
2060
  .pagelayer-dark .pagelayer-elp-typo-div,
2061
  .pagelayer-dark .pagelayer-elp-filter-div{
@@ -2104,6 +2122,10 @@ position: relative;
2104
  border-bottom: 1px dashed #ccc;
2105
  }
2106
 
 
 
 
 
2107
  .pagelayer-elp-gradient-div .pagelayer-elp-prop-grp{
2108
  padding: 5px 0;
2109
  }
@@ -2116,6 +2138,7 @@ padding: 15px 0px !important;
2116
  right: 0;
2117
  }
2118
 
 
2119
  .pagelayer-elp-typo .pagelayer-elp-label,
2120
  .pagelayer-elp-typo .pagelayer-elp-typo-input,
2121
  .pagelayer-elp-shadow-div .pagelayer-elp-shadow-input,
@@ -2169,12 +2192,42 @@ background-image: linear-gradient(90deg,gray,red);
2169
  background-image: linear-gradient(90deg,#fff,#000);
2170
  }
2171
 
 
 
 
2172
  .pagelayer-elp-typo .pagelayer-elp-label{
2173
  font-weight: 600;
2174
  font-size: 11px;
2175
  color: #555;
2176
  }
2177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2178
  .pagelayer-dark .pagelayer-elp-typo .pagelayer-elp-label{
2179
  color:#bdbdbd;
2180
  }
789
  background-color: #1066fd;
790
  }
791
 
792
+ .pagelayer-elp-screen .pagelayer-prop-screen:hover,
793
+ .pagelayer-typo-default:hover i,
794
+ .pagelayer-elp-default:hover i{
795
  color: #3E8EF7;
796
  }
797
 
1179
  display: flex;
1180
  }
1181
 
1182
+ .pagelayer-elp-typo-edit-div{
1183
+ width: 34px;
1184
+ }
1185
+
1186
  .pagelayer-elp-color-div{
1187
  cursor: pointer;
1188
  padding: 3px;
1214
  flex: 1;
1215
  }
1216
 
 
1217
  .pagelayer-elp-color-global{
1218
  width: 50%;
1219
  border-right: 1px solid #999;
1222
  justify-content: center;
1223
  }
1224
 
1225
+ .pagelayer-elp-global-icon:hover,
1226
  .pagelayer-elp-color-global:hover{
1227
  color: #137dc5;
1228
  }
1234
  flex: 1;
1235
  }
1236
 
1237
+ .pagelayer-elp-global-icon:before,
1238
  .pagelayer-elp-color-global:before{
1239
  content: "\e9c9";
1240
  font-family: 'pagelayer', "Font Awesome 5 Free" !important;
1304
  z-index: -1;
1305
  }
1306
 
 
1307
  .pagelayer-global-setting-color{
1308
  position: relative;
1309
  box-shadow: 0 1px 2px #d2cfcf;
1313
  cursor: default;
1314
  }
1315
 
 
1316
  .pagelayer-global-setting-color b{
1317
  margin-left: 11px;
1318
  }
1319
 
 
1320
  .pagelayer-global-setting-color .pli{
1321
  right: 15px;
1322
  position: absolute;
1323
  cursor: pointer;
1324
  }
1325
 
1326
+ .pagelayer-elp-typo-icons .pli-service{
1327
+ cursor: pointer;
1328
+ }
1329
+
1330
+ .pagelayer-elp-global-typo .pli:hover,
1331
  .pagelayer-global-setting-color .pli:hover{
1332
+ color: #137dc5;
1333
  }
1334
 
1335
  .pagelayer-active-global{
2062
  z-index: 12;
2063
  }
2064
 
2065
+ .pagelayer-typo-default{
2066
+ display:none;
2067
+ width: 20px;
2068
+ height: 20px;
2069
+ cursor: pointer;
2070
+ margin-left: 4px;
2071
+ }
2072
+
2073
+ .pagelayer-global-on .pagelayer-elp-typo:not([pagelayer-set-global]):hover .pagelayer-typo-default{
2074
+ display: inline-block;
2075
+ }
2076
+
2077
  .pagelayer-dark .pagelayer-elp-shadow-div,
2078
  .pagelayer-dark .pagelayer-elp-typo-div,
2079
  .pagelayer-dark .pagelayer-elp-filter-div{
2122
  border-bottom: 1px dashed #ccc;
2123
  }
2124
 
2125
+ .pagelayer-elp-typo-fonts{
2126
+ padding: 10px 0;
2127
+ }
2128
+
2129
  .pagelayer-elp-gradient-div .pagelayer-elp-prop-grp{
2130
  padding: 5px 0;
2131
  }
2138
  right: 0;
2139
  }
2140
 
2141
+ .pagelayer-elp-typo-fonts .pagelayer-elp-label,
2142
  .pagelayer-elp-typo .pagelayer-elp-label,
2143
  .pagelayer-elp-typo .pagelayer-elp-typo-input,
2144
  .pagelayer-elp-shadow-div .pagelayer-elp-shadow-input,
2192
  background-image: linear-gradient(90deg,#fff,#000);
2193
  }
2194
 
2195
+ .
2196
+
2197
+ .pagelayer-elp-typo-fonts .pagelayer-elp-label,
2198
  .pagelayer-elp-typo .pagelayer-elp-label{
2199
  font-weight: 600;
2200
  font-size: 11px;
2201
  color: #555;
2202
  }
2203
 
2204
+ .pagelayer-elp-global-typo{
2205
+ box-shadow: 0 2px 2px -1px #d2cfce;
2206
+ margin: -10px -10px 0 -10px;
2207
+ padding: 8px 10px;
2208
+ display: flex;
2209
+ }
2210
+
2211
+ [pagelayer-screen-mode="desktop"] [pagelayer-show-device]:not([pagelayer-show-device="desktop"]),
2212
+ [pagelayer-screen-mode="tablet"] [pagelayer-show-device]:not([pagelayer-show-device="tablet"]),
2213
+ [pagelayer-screen-mode="mobile"] [pagelayer-show-device]:not([pagelayer-show-device="mobile"]){
2214
+ display:none;
2215
+ }
2216
+
2217
+ .pagelayer-elp-global-typo .pagelayer-elp-typo-icons{
2218
+ text-align: right;
2219
+ width: 50%;
2220
+ }
2221
+
2222
+ .pagelayer-elp-global-typo .pagelayer-global-font-list{
2223
+ width: 100%;
2224
+ }
2225
+
2226
+ .pagelayer-elp-typo-icons .pagelayer-elp-global-icon{
2227
+ margin-right: 10px;
2228
+ cursor: pointer;
2229
+ }
2230
+
2231
  .pagelayer-dark .pagelayer-elp-typo .pagelayer-elp-label{
2232
  color:#bdbdbd;
2233
  }
css/pagelayer-frontend.css CHANGED
@@ -1648,6 +1648,7 @@ color: #ffffff;
1648
  .pagelayer-social_grp .pagelayer-icon-holder{
1649
  display:inline-block;
1650
  line-height: 100%;
 
1651
  }
1652
 
1653
  .pagelayer-share-content,
@@ -2581,6 +2582,10 @@ display:block;
2581
  /*Image Slider style End*/
2582
 
2583
  /*Google Maps start*/
 
 
 
 
2584
  .pagelayer-google-maps-holder iframe{
2585
  margin:0px;
2586
  width:100%;
1648
  .pagelayer-social_grp .pagelayer-icon-holder{
1649
  display:inline-block;
1650
  line-height: 100%;
1651
+ text-align: center;
1652
  }
1653
 
1654
  .pagelayer-share-content,
2582
  /*Image Slider style End*/
2583
 
2584
  /*Google Maps start*/
2585
+ .pagelayer-google-maps-holder{
2586
+ line-height:0;
2587
+ }
2588
+
2589
  .pagelayer-google-maps-holder iframe{
2590
  margin:0px;
2591
  width:100%;
init.php CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) exit;
5
 
6
  define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
7
  define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
8
- define('PAGELAYER_VERSION', '1.6.9');
9
  define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
10
  define('PAGELAYER_SLUG', 'pagelayer');
11
  define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
@@ -76,6 +76,59 @@ global $wpdb;
76
  $version = (int) str_replace('.', '', PAGELAYER_VERSION);
77
 
78
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
 
80
  // Save the new Version
81
  update_option('pagelayer_version', PAGELAYER_VERSION);
@@ -606,20 +659,16 @@ function pagelayer_enqueue_fonts($suffix = '-header'){
606
 
607
  foreach($pagelayer->css as $k => $set){
608
 
 
 
 
 
 
 
 
609
  // Fetch body font if given
610
- if(!empty($set['font-family'])){
611
-
612
- $val = $set['font-family'];
613
- $font_weights = array('400' =>'400');
614
- $font_style = empty($set['font-style']) ? 'normal' : $set['font-style'];
615
- $font_style = in_array($font_style, ['italic', 'oblique']) ? 'i' : '';
616
-
617
- if(!empty($set['font-weight'])){
618
- $font_weights[$set['font-weight'].$font_style] = $set['font-weight'].$font_style;
619
- }
620
-
621
- $pagelayer->runtime_fonts[$val] = $font_weights;
622
-
623
  }
624
 
625
  }
@@ -707,17 +756,22 @@ function pagelayer_load_global_css(){
707
 
708
  // Load CSS settings
709
  foreach($pagelayer->css_settings as $k => $params){
 
710
  foreach($pagelayer->screens as $sk => $sv){
711
  $suffix = (!empty($sv) ? '_'.$sv : '');
712
  $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css' : $params['key'];
713
  $tmp = get_option($setting.$suffix);
714
 
 
 
 
 
 
 
715
  if(empty($tmp)){
716
  continue;
717
  }
718
 
719
- $tmp = pagelayer_sanitize_global_style($tmp);
720
-
721
  $pagelayer->css[$k.$suffix] = $tmp;
722
  }
723
  }
@@ -771,13 +825,54 @@ function pagelayer_global_styles(){
771
  $styles = '<style id="pagelayer-wow-animation-style" type="text/css">.pagelayer-wow{visibility: hidden;}</style>
772
  <style id="pagelayer-global-styles" type="text/css">'.PHP_EOL;
773
 
 
 
 
 
 
 
 
774
  $styles .= ':root{';
775
 
776
  // Set global colors
777
  foreach($pagelayer->global_colors as $gk => $gv){
778
  $styles .= '--pagelayer-color-'.$gk.':'.$gv['value'].';';
779
  }
 
 
 
780
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
781
  $styles .= '}'.PHP_EOL;
782
 
783
  // Style for only child row holder
@@ -812,31 +907,29 @@ function pagelayer_global_styles(){
812
 
813
  }
814
 
815
- $screen_style['tablet'] = '';
816
- $screen_style['mobile'] = '';
817
-
818
- // PX suffix
819
- $pxs = ['font-size', 'letter-spacing', 'word-spacing'];
820
- $arrays = ['padding', 'margin'];
821
-
822
  // Setup CSS as per post. This overright the global styles
823
  foreach($pagelayer->css_settings as $k => $params){
 
824
  foreach($pagelayer->screens as $sk => $sv){
825
  $suffix = (!empty($sv) ? '_'.$sv : '');
826
  $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css_'.$post->post_type : $params['key'].'_'.$post->post_type;
827
  $tmp = get_option($setting.$suffix);
828
-
829
- if(empty($tmp)){
830
- continue;
831
  }
832
 
833
- $tmp = pagelayer_sanitize_global_style($tmp);
 
 
 
 
834
 
835
  if(!empty($pagelayer->css[$k.$suffix])){
836
 
837
  $typo_on = false;
838
  $_typo = array();
839
- $typo = array('font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing');
840
 
841
  // Check if all font properties are empty then we do not overright the global typo styles
842
  foreach($typo as $prop){
@@ -922,12 +1015,12 @@ function pagelayer_global_styles(){
922
  $customize_css = pagelayer_parse_vars($customize_css, $customize_el);
923
 
924
  if($sk == 'tablet'){
925
- $screen_style['tablet'] = $customize_css;
926
  continue;
927
  }
928
 
929
  if($sk == 'mobile'){
930
- $screen_style['mobile'] = $customize_css;
931
  continue;
932
  }
933
 
@@ -966,7 +1059,7 @@ function pagelayer_global_styles(){
966
  $vv = implode($unit.' ', $vv).$unit;
967
  }
968
 
969
- $r[] = $kk.':'.$vv.(in_array($kk, $pxs) ? 'px' : '');
970
 
971
  }
972
 
5
 
6
  define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
7
  define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
8
+ define('PAGELAYER_VERSION', '1.7.0');
9
  define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
10
  define('PAGELAYER_SLUG', 'pagelayer');
11
  define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
76
  $version = (int) str_replace('.', '', PAGELAYER_VERSION);
77
 
78
  }
79
+
80
+ // Backward compatibility of global typography
81
+ if(version_compare($current_version, '1.7.0', '<') && !defined('SITEPAD')){
82
+
83
+ // Set the array
84
+ $_pagelayer = new PageLayer();
85
+
86
+ $post_types = array('' => __('Global'));
87
+ $exclude = [ 'attachment', 'pagelayer-template' ];
88
+ $pt_objects = get_post_types(['public' => true,], 'objects');
89
+
90
+ foreach( $pt_objects as $pt_slug => $type ){
91
+
92
+ if ( in_array( $pt_slug, $exclude ) ) {
93
+ continue;
94
+ }
95
+
96
+ $post_types[$pt_slug] = $type->labels->name;
97
+ }
98
+
99
+ foreach($post_types as $sk => $sv){
100
+
101
+ $post_type = empty($sk) ? '' : '_'.$sk;
102
+
103
+ // Load CSS settings
104
+ foreach($_pagelayer->css_settings as $k => $params){
105
+
106
+ foreach($_pagelayer->screens as $sck => $scv){
107
+ $suffix = (!empty($scv) ? '_'.$scv : '');
108
+ $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css'.$post_type : $params['key'].$post_type;
109
+
110
+ $tmp = get_option($setting.$suffix);
111
+
112
+ if(empty($tmp) || empty($tmp['global-font'])){
113
+ continue;
114
+ }
115
+
116
+ // Do empty typo if global set
117
+ foreach($tmp as $tk => $tv){
118
+
119
+ if(!in_array($tk, $_pagelayer->typo_props)){
120
+ continue;
121
+ }
122
+
123
+ $tmp[$tk] = '';
124
+ }
125
+
126
+ // Update settings
127
+ update_option($setting.$suffix, $tmp);
128
+ }
129
+ }
130
+ }
131
+ }
132
 
133
  // Save the new Version
134
  update_option('pagelayer_version', PAGELAYER_VERSION);
659
 
660
  foreach($pagelayer->css as $k => $set){
661
 
662
+ $font_family = @$set['font-family'];
663
+
664
+ if(empty($font_family)){
665
+ $key = str_replace(['_mobile', '_tablet'], '', $k);
666
+ $font_family = @$pagelayer->css[$key]['font-family'];
667
+ }
668
+
669
  // Fetch body font if given
670
+ if(!empty($font_family)){
671
+ pagelayer_load_font_family($font_family, @$set['font-weight'], @$set['font-style']);
 
 
 
 
 
 
 
 
 
 
 
672
  }
673
 
674
  }
756
 
757
  // Load CSS settings
758
  foreach($pagelayer->css_settings as $k => $params){
759
+ $tmp_desk = '';
760
  foreach($pagelayer->screens as $sk => $sv){
761
  $suffix = (!empty($sv) ? '_'.$sv : '');
762
  $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css' : $params['key'];
763
  $tmp = get_option($setting.$suffix);
764
 
765
+ if($sk == 'desktop'){
766
+ $tmp_desk = $tmp;
767
+ }
768
+
769
+ $tmp = pagelayer_sanitize_global_style($tmp, $tmp_desk, $sk);
770
+
771
  if(empty($tmp)){
772
  continue;
773
  }
774
 
 
 
775
  $pagelayer->css[$k.$suffix] = $tmp;
776
  }
777
  }
825
  $styles = '<style id="pagelayer-wow-animation-style" type="text/css">.pagelayer-wow{visibility: hidden;}</style>
826
  <style id="pagelayer-global-styles" type="text/css">'.PHP_EOL;
827
 
828
+ $screen_style['tablet'] = '';
829
+ $screen_style['mobile'] = '';
830
+
831
+ // PX suffix
832
+ $pxs = ['font-size', 'letter-spacing', 'word-spacing'];
833
+ $arrays = ['padding', 'margin'];
834
+
835
  $styles .= ':root{';
836
 
837
  // Set global colors
838
  foreach($pagelayer->global_colors as $gk => $gv){
839
  $styles .= '--pagelayer-color-'.$gk.':'.$gv['value'].';';
840
  }
841
+
842
+ // Set global fonts
843
+ foreach($pagelayer->global_fonts as $gk => $gv){
844
 
845
+ foreach($gv['value'] as $fk => $fv){
846
+
847
+ if(empty($fv)){
848
+ continue;
849
+ }
850
+
851
+ $unit = in_array($fk, $pxs) ? 'px' : '';
852
+
853
+ if(is_array($fv)){
854
+ foreach($fv as $mode => $mv){
855
+
856
+ if(empty($mv)){
857
+ continue;
858
+ }
859
+
860
+ $font_css = '--pagelayer-font-'.$gk.'-'.$fk.':'.$mv.$unit.';';
861
+
862
+ if($mode == 'tablet' || $mode == 'mobile'){
863
+ $screen_style[$mode] .= ':root{'.$font_css.'}';
864
+ continue;
865
+ }
866
+
867
+ $styles .= $font_css;
868
+ }
869
+ continue;
870
+ }
871
+
872
+ $styles .= '--pagelayer-font-'.$gk.'-'.$fk .':'.$fv.$unit.';';
873
+ }
874
+ }
875
+
876
  $styles .= '}'.PHP_EOL;
877
 
878
  // Style for only child row holder
907
 
908
  }
909
 
 
 
 
 
 
 
 
910
  // Setup CSS as per post. This overright the global styles
911
  foreach($pagelayer->css_settings as $k => $params){
912
+ $tmp_desk = '';
913
  foreach($pagelayer->screens as $sk => $sv){
914
  $suffix = (!empty($sv) ? '_'.$sv : '');
915
  $setting = empty($params['key']) ? 'pagelayer_'.$k.'_css_'.$post->post_type : $params['key'].'_'.$post->post_type;
916
  $tmp = get_option($setting.$suffix);
917
+
918
+ if($sk == 'desktop'){
919
+ $tmp_desk = $tmp;
920
  }
921
 
922
+ $tmp = pagelayer_sanitize_global_style($tmp, $tmp_desk, $sk);
923
+
924
+ if(empty($tmp)){
925
+ continue;
926
+ }
927
 
928
  if(!empty($pagelayer->css[$k.$suffix])){
929
 
930
  $typo_on = false;
931
  $_typo = array();
932
+ $typo = $pagelayer->typo_props;
933
 
934
  // Check if all font properties are empty then we do not overright the global typo styles
935
  foreach($typo as $prop){
1015
  $customize_css = pagelayer_parse_vars($customize_css, $customize_el);
1016
 
1017
  if($sk == 'tablet'){
1018
+ $screen_style['tablet'] .= $customize_css;
1019
  continue;
1020
  }
1021
 
1022
  if($sk == 'mobile'){
1023
+ $screen_style['mobile'] .= $customize_css;
1024
  continue;
1025
  }
1026
 
1059
  $vv = implode($unit.' ', $vv).$unit;
1060
  }
1061
 
1062
+ $r[] = $kk.':'.$vv.(in_array($kk, $pxs) && strripos($vv, 'var(') === false ? 'px' : '');
1063
 
1064
  }
1065
 
js/combined.js CHANGED
@@ -375,7 +375,7 @@ function pagelayer_pl_tabs(jEle) {
375
  }
376
 
377
  // Set the default tab
378
- if(tEle.attr('pagelayer-default_active')){
379
  default_active = pl_id;
380
  }
381
 
375
  }
376
 
377
  // Set the default tab
378
+ if(tEle.attr('pagelayer-default_active') && !pagelayer_empty(pl_id)){
379
  default_active = pl_id;
380
  }
381
 
js/customizer.js CHANGED
@@ -140,12 +140,26 @@ jQuery(document).ready( function(){
140
  ref.removeAttr('data-font-key');
141
  });
142
 
143
- typoHolder.find('.pagelayer-control-typo').slideToggle(100);
144
 
145
- // Remove global font
146
- typoHolder.find('.pagelayer-control-global-typo-icon').removeClass('pagelayer-active-global');
147
- typoHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
148
- typoHolder.find('.pagelayer-global-font-input').val('').trigger('input');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  return;
150
  }
151
 
@@ -178,7 +192,7 @@ jQuery(document).ready( function(){
178
  });
179
 
180
  // Show hide global fonts option
181
- jQuery(document).on('click.pagelayer-global-typo-icon', function (e){
182
  var target = jQuery(e.target);
183
  var isGcolor = target.closest('.pagelayer-global-font-list');
184
  var isGIcon = target.closest('.pagelayer-control-global-typo-icon');
@@ -197,26 +211,30 @@ jQuery(document).ready( function(){
197
  });
198
 
199
  // Device handler
200
- jQuery('.pagelayer-devices button').on('click', function(){
 
 
 
201
  var device = jQuery(this).data('device');
202
  var devices = {'desktop' : 'tablet', 'tablet' : 'mobile', 'mobile' : 'desktop'};
203
  jQuery('.devices-wrapper .devices [data-device="'+devices[device]+'"]').click();
204
  });
205
 
 
 
 
206
  // Device handler
207
- jQuery('.devices-wrapper .devices button[data-device]').on('click', function(){
 
 
 
208
  var device = jQuery(this).data('device');
209
 
210
  jQuery('.pagelayer-devices .active-device').removeClass('active-device');
211
  jQuery('.pagelayer-devices [data-device="'+device+'"]').addClass('active-device');
212
 
213
- jQuery('[data-device-detector]').each(function(){
214
- if(jQuery(this).find('[data-show-device="_'+device+'"]').length < 1){
215
- return;
216
- }
217
-
218
- jQuery(this).attr('data-device-detector', device);
219
- });
220
  });
221
 
222
  // Units handler
@@ -268,7 +286,7 @@ jQuery(document).ready( function(){
268
  });
269
 
270
  // Link Global Font Palette
271
- jQuery('.pagelayer-global-setting-font .dashicons').click(function(){
272
  jQuery('#accordion-section-pagelayer_global_fonts_sec .accordion-section-title').click();
273
  });
274
 
@@ -309,31 +327,114 @@ function pagelayer_global_font_list_handler(){
309
  // Add list of font list
310
  fList.append(font_list);
311
 
312
- var selectfont = fList.find('.pagelayer-global-font-input').data('key');
313
- fList.find('[data-global-id="'+selectfont+'"]').addClass('pagelayer-global-selected');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  });
315
 
316
- // Set active
317
- jQuery('.pagelayer-global-font-list-item.pagelayer-global-selected').closest('.pagelayer-control-typo-holder').find('.pagelayer-control-global-typo-icon').addClass('pagelayer-active-global');
318
-
319
- jQuery(document).on('click', '.pagelayer-global-font-list-item', function(){
320
  var listItem = jQuery(this);
321
  var globalID = listItem.data('global-id');
322
  var listHolder = listItem.closest('.pagelayer-global-font-list');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
 
324
  // Remove previous selecttion
325
  listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected')
326
- listItem.addClass('pagelayer-global-selected');
327
  listHolder.hide();
328
 
329
- var key = listHolder.find( '.pagelayer-global-font-input' ).attr( 'data-customize-setting-link' );
330
-
 
 
 
 
 
 
 
331
  // Set the actual option value to empty string.
332
  wp.customize( key, function( obj ) {
333
  obj.set(globalID);
334
  });
335
 
336
- listItem.closest('.pagelayer-control-typo-holder').find('.pagelayer-control-global-typo-icon').addClass('pagelayer-active-global');
 
 
337
  });
338
  }
339
 
@@ -478,7 +579,43 @@ function pagelayer_font_palette_control_handler(){
478
 
479
  var array = cEle.find('input, textarea, select').serializeArray();
480
  jQuery.each(array, function () {
481
- data[this.name] = this.value || "";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
482
  });
483
 
484
  pagelayer_colors_palette[id] = {
@@ -512,7 +649,23 @@ function pagelayer_font_palette_control_handler(){
512
  var sval = pagelayer_global_font_settings[sk];
513
 
514
  fontHtml += '<div class="pagelayer-control-typo-fields">'+
515
- '<label class="pagelayer-control-typo-fields-label">'+sval['label'] +'</label>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
 
517
  if('choices' in sval){
518
  fontHtml += '<select name="'+ sk +'">';
@@ -543,7 +696,7 @@ function pagelayer_font_palette_control_handler(){
543
  ele.find('.customize-control-font-repeater-add').before(fontHtml);
544
  }
545
 
546
- jQuery(document).on('change input', '#customize-control-pagelayer_global_fonts input, #customize-control-pagelayer_global_fonts textarea, #customize-control-pagelayer_global_fonts select', function(){
547
 
548
  clearTimeout(pagelayer_global_colors_timmer);
549
  pagelayer_global_colors_timmer = setTimeout(function(){
@@ -566,7 +719,7 @@ function pagelayer_font_palette_control_handler(){
566
  });
567
 
568
  // Remove item starting from it's parent element
569
- jQuery(document).on('click', '.pagelayer-font-holder .customize-control-font-repeater-delete .dashicons', function(event) {
570
  event.preventDefault();
571
  var numItems = jQuery(this).closest('.pagelayer-font-holder').remove();
572
  pagelayerGetAllInputs();
@@ -912,3 +1065,29 @@ function pagelayer_generate_randstr(n, special){
912
 
913
  return text;
914
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  ref.removeAttr('data-font-key');
141
  });
142
 
143
+ var globalInput = typoHolder.find('.pagelayer-global-font-input');
144
 
145
+ if(!pagelayer_empty(globalInput)){
146
+ // Show the global values if is not customize
147
+ typoHolder.find('.pagelayer-control-typo-fields').attr('pagelayer-set-global', 1);
148
+ typoHolder.find('select, input').each(function(){
149
+ var sEle = jQuery(this);
150
+ var val = sEle.val();
151
+
152
+ if(pagelayer_empty(val)){
153
+ return true;
154
+ }
155
+
156
+ sEle.closest('.pagelayer-control-typo-fields').removeAttr('pagelayer-set-global');
157
+ });
158
+
159
+ typoHolder.find('[pagelayer-set-global="1"] .pagelayer-typo-global-default').trigger('click');
160
+ }
161
+
162
+ typoHolder.find('.pagelayer-control-typo').slideToggle(100);
163
  return;
164
  }
165
 
192
  });
193
 
194
  // Show hide global fonts option
195
+ jQuery('#customize-theme-controls').on('click.pagelayer-global-typo-icon', function (e){
196
  var target = jQuery(e.target);
197
  var isGcolor = target.closest('.pagelayer-global-font-list');
198
  var isGIcon = target.closest('.pagelayer-control-global-typo-icon');
211
  });
212
 
213
  // Device handler
214
+ jQuery('#customize-theme-controls').on('click', '.pagelayer-devices button', function(e){
215
+
216
+ e.stopPropagation();
217
+
218
  var device = jQuery(this).data('device');
219
  var devices = {'desktop' : 'tablet', 'tablet' : 'mobile', 'mobile' : 'desktop'};
220
  jQuery('.devices-wrapper .devices [data-device="'+devices[device]+'"]').click();
221
  });
222
 
223
+ // Add attr to detect device
224
+ jQuery('#customize-theme-controls').attr('data-device-detector', 'desktop');
225
+
226
  // Device handler
227
+ jQuery('.devices-wrapper .devices button[data-device]').on('click', function(e){
228
+
229
+ e.stopPropagation();
230
+
231
  var device = jQuery(this).data('device');
232
 
233
  jQuery('.pagelayer-devices .active-device').removeClass('active-device');
234
  jQuery('.pagelayer-devices [data-device="'+device+'"]').addClass('active-device');
235
 
236
+ jQuery('[data-device-detector]').attr('data-device-detector', device);
237
+
 
 
 
 
 
238
  });
239
 
240
  // Units handler
286
  });
287
 
288
  // Link Global Font Palette
289
+ jQuery('.pagelayer-global-setting-font .dashicons-admin-generic').click(function(){
290
  jQuery('#accordion-section-pagelayer_global_fonts_sec .accordion-section-title').click();
291
  });
292
 
327
  // Add list of font list
328
  fList.append(font_list);
329
 
330
+ var globalInput = fHolder.find('.pagelayer-global-font-input');
331
+ var selectfont = globalInput.data('key');
332
+
333
+ // Restore global value
334
+ fHolder.find('.pagelayer-typo-global-default').on('click', function(e){
335
+ e.preventDefault();
336
+ e.stopPropagation();
337
+
338
+ var sEle = jQuery(this);
339
+ var fieldHolder = sEle.closest('.pagelayer-control-typo-fields');
340
+ var globalID = globalInput.val();
341
+
342
+ if(pagelayer_empty(globalID) || pagelayer_empty(pagelayer_global_fonts[globalID])){
343
+ return;
344
+ }
345
+
346
+ var allInput = fieldHolder.find('select, input');
347
+ var name = allInput.first().attr('name');
348
+ var setFonts = pagelayer_global_fonts[globalID]['value'];
349
+
350
+ // Set default
351
+ var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'};
352
+ var val = '';
353
+
354
+ fieldHolder.attr('pagelayer-set-global', 1);
355
+ allInput.val(val).trigger('change');
356
+
357
+ if(name in setFonts){
358
+ val = setFonts[name];
359
+ }
360
+
361
+ if(typeof val == 'object'){
362
+
363
+ for(var mode in modes){
364
+ var _val = '';
365
+ if(mode in val){
366
+ _val = val[mode];
367
+ }
368
+
369
+ fieldHolder.find('[name="'+name+modes[mode]+'"]').val(_val);
370
+ }
371
+
372
+ return;
373
+ }
374
+
375
+ allInput.val(val);
376
+ });
377
+
378
+ if(fList.find('[data-global-id="'+selectfont+'"]').length > 0){
379
+ fList.find('[data-global-id="'+selectfont+'"]').addClass('pagelayer-global-selected');
380
+
381
+ // Set active
382
+ fHolder.find('.pagelayer-control-global-typo-icon').addClass('pagelayer-active-global');
383
+ }
384
+
385
+ // On change any field we need to handle for the global
386
+ fHolder.find('select, input').on('input', function(){
387
+ var sEle = jQuery(this);
388
+ var fieldHolder = sEle.closest('.pagelayer-control-typo-fields');
389
+
390
+ if(fieldHolder.attr('pagelayer-set-global') == '1'){
391
+ fieldHolder.removeAttr('pagelayer-set-global');
392
+ fieldHolder.find('select, input').trigger('change');
393
+ }
394
+ });
395
+
396
  });
397
 
398
+ jQuery('#customize-theme-controls').on('click', '.pagelayer-global-font-list-item', function(){
 
 
 
399
  var listItem = jQuery(this);
400
  var globalID = listItem.data('global-id');
401
  var listHolder = listItem.closest('.pagelayer-global-font-list');
402
+ var holder = listItem.closest('.pagelayer-control-typo-holder');
403
+ var allInputs = holder.find('select, input');
404
+
405
+ // Remove global font
406
+ if(listItem.hasClass('pagelayer-global-selected')){
407
+ listItem.removeClass('pagelayer-global-selected');
408
+ holder.find('.pagelayer-control-global-typo-icon').removeClass('pagelayer-active-global');
409
+ holder.find('.pagelayer-global-font-input').val('');
410
+ holder.removeClass('pagelayer-global-on');
411
+ allInputs.trigger('input');
412
+ allInputs.closest('.pagelayer-control-typo-fields').removeAttr('pagelayer-set-global');
413
+ listHolder.hide();
414
+ return;
415
+ }
416
 
417
  // Remove previous selecttion
418
  listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected')
 
419
  listHolder.hide();
420
 
421
+ listItem.addClass('pagelayer-global-selected');
422
+
423
+ var key = holder.find( '.pagelayer-global-font-input' ).attr( 'data-customize-setting-link' );
424
+
425
+ // Empty all the typo
426
+ allInputs.val('').trigger('input');
427
+ allInputs.closest('.pagelayer-control-typo-fields').attr('pagelayer-set-global', 1);
428
+ holder.addClass('pagelayer-global-on');
429
+
430
  // Set the actual option value to empty string.
431
  wp.customize( key, function( obj ) {
432
  obj.set(globalID);
433
  });
434
 
435
+ // Apply all global values
436
+ holder.find('.pagelayer-typo-global-default').click();
437
+ holder.find('.pagelayer-control-global-typo-icon').addClass('pagelayer-active-global');
438
  });
439
  }
440
 
579
 
580
  var array = cEle.find('input, textarea, select').serializeArray();
581
  jQuery.each(array, function () {
582
+
583
+ if(this.value == ''){
584
+ return;
585
+ }
586
+
587
+ var name = this.name;
588
+ var value = this.value;
589
+
590
+ // Is multi array
591
+ if(name.indexOf("[") > -1){
592
+
593
+ var nameArray = name.replaceAll(']', '').split('\['),
594
+ base = nameArray.shift(),
595
+ last = nameArray.pop();
596
+
597
+ if(typeof data[base] != 'object'){
598
+ data[base] = {};
599
+ }
600
+
601
+ // Set base object as refrence
602
+ var _val = data[base];
603
+
604
+ for(key in nameArray){
605
+
606
+ if(typeof _val[nameArray[key]] != 'object'){
607
+ _val[nameArray[key]] = {};
608
+ }
609
+
610
+ // Change the refrence of object
611
+ _val = _val[nameArray[key]];
612
+ }
613
+
614
+ _val[last] = value;
615
+ return;
616
+ }
617
+
618
+ data[name] = value;
619
  });
620
 
621
  pagelayer_colors_palette[id] = {
649
  var sval = pagelayer_global_font_settings[sk];
650
 
651
  fontHtml += '<div class="pagelayer-control-typo-fields">'+
652
+ '<label class="pagelayer-control-typo-fields-label">'+sval['label'];
653
+
654
+ if('responsive' in sval){
655
+ fontHtml += '<span class="pagelayer-devices">'+
656
+ '<button type="button" class="active-device" aria-pressed="true" data-device="desktop">'+
657
+ '<i class="dashicons dashicons-desktop"></i>'+
658
+ '</button>'+
659
+ '<button type="button"aria-pressed="false" data-device="tablet">'+
660
+ '<i class="dashicons dashicons-tablet"></i>'+
661
+ '</button>'+
662
+ '<button type="button" aria-pressed="false" data-device="mobile">'+
663
+ '<i class="dashicons dashicons-smartphone"></i>'+
664
+ '</button>'+
665
+ '</span>';
666
+ }
667
+
668
+ fontHtml += '</label>';
669
 
670
  if('choices' in sval){
671
  fontHtml += '<select name="'+ sk +'">';
696
  ele.find('.customize-control-font-repeater-add').before(fontHtml);
697
  }
698
 
699
+ jQuery(document).on('input', '#customize-control-pagelayer_global_fonts input, #customize-control-pagelayer_global_fonts textarea, #customize-control-pagelayer_global_fonts select', function(){
700
 
701
  clearTimeout(pagelayer_global_colors_timmer);
702
  pagelayer_global_colors_timmer = setTimeout(function(){
719
  });
720
 
721
  // Remove item starting from it's parent element
722
+ jQuery('#customize-theme-controls').on('click', '.pagelayer-font-holder .customize-control-font-repeater-delete .dashicons', function(event) {
723
  event.preventDefault();
724
  var numItems = jQuery(this).closest('.pagelayer-font-holder').remove();
725
  pagelayerGetAllInputs();
1065
 
1066
  return text;
1067
  };
1068
+
1069
+
1070
+ // PHP equivalent empty()
1071
+ function pagelayer_empty(mixed_var) {
1072
+
1073
+ var undef, key, i, len;
1074
+ var emptyValues = [undef, null, false, 0, '', '0'];
1075
+
1076
+ for (i = 0, len = emptyValues.length; i < len; i++) {
1077
+ if (mixed_var === emptyValues[i]) {
1078
+ return true;
1079
+ }
1080
+ }
1081
+
1082
+ if (typeof mixed_var === 'object') {
1083
+ for (key in mixed_var) {
1084
+ // TODO: should we check for own properties only?
1085
+ //if (mixed_var.hasOwnProperty(key)) {
1086
+ return false;
1087
+ //}
1088
+ }
1089
+ return true;
1090
+ }
1091
+
1092
+ return false;
1093
+ };
js/pagelayer-editor.js CHANGED
@@ -1925,6 +1925,7 @@ function pagelayer_element_unsetup(selector, id){
1925
  var jEle = jQuery(html);
1926
  pagelayer_remove_id_class(jEle);
1927
  jEle.removeAttr('pagelayer-id');
 
1928
  jEle.find('[pagelayer-id]').each(function(){
1929
  pagelayer_remove_id_class(jQuery(this));
1930
  jQuery(this).removeAttr('pagelayer-id');
@@ -3839,8 +3840,21 @@ function pagelayer_css_render(css, val, seperator){
3839
  // Seperator
3840
  seperator = seperator || ',';
3841
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3842
  // Replace the val
3843
- css = css.split('{{val}}').join(pagelayer_hex8_to_rgba(val));
3844
 
3845
  // If there is an array
3846
  if(css.match(/val\[\d/)){
@@ -3850,7 +3864,7 @@ function pagelayer_css_render(css, val, seperator){
3850
  }
3851
 
3852
  for(var i in val){
3853
- css = css.split('{{val['+i+']}}').join(pagelayer_hex8_to_rgba(val[i]));
3854
  }
3855
  }
3856
 
@@ -4102,13 +4116,14 @@ function pagelayer_sc_render(jEle){
4102
 
4103
  // Screen modes
4104
  var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'};
 
4105
 
4106
  for(var m in modes){
4107
 
4108
  var xm = x+modes[m];
4109
 
4110
  // If the value is there
4111
- if(!(xm in el.atts)){
4112
  continue;
4113
  }
4114
 
@@ -4116,21 +4131,25 @@ function pagelayer_sc_render(jEle){
4116
 
4117
  // If is global color
4118
  if(props[x]['type'] == 'color'){
4119
- var is_global = pagelayer_is_global_color(el.atts[xm]);
4120
- if(!pagelayer_empty(is_global)){
4121
- xm_val = 'var(--pagelayer-color-'+is_global+')';
4122
- }
4123
  }
4124
 
4125
  // If is global font
4126
  if(props[x]['type'] == 'typography'){
4127
- var is_typo = pagelayer_is_global_typo(el.atts[xm]);
4128
- if(!pagelayer_empty(is_typo)){
4129
- xm_val = [];
4130
- for(var fk in pagelayer_global_fonts[is_typo]['value']){
4131
- xm_val.push(pagelayer_global_fonts[is_typo]['value'][fk]);
4132
- }
 
 
4133
  }
 
 
 
 
 
4134
  }
4135
 
4136
  for(var c in css){
@@ -4439,26 +4458,98 @@ function pagelayer_is_global_color(color){
4439
  }
4440
 
4441
  // Is the given global color
4442
- function pagelayer_is_global_typo(typo){
4443
 
4444
- if(!pagelayer_is_string(typo)){
4445
- return false;
4446
- }
4447
 
4448
- var typo_key = typo.substr(0, 1) == '$' ? typo.substr(1) : '';
 
 
 
4449
 
 
 
 
 
4450
  // If global color not exist
4451
- if(!pagelayer_empty(typo_key)){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4452
 
4453
- if(!(typo_key in pagelayer_global_fonts)){
4454
- typo_key = 'primary';
 
 
4455
  }
4456
 
4457
- return typo_key;
4458
  }
4459
 
4460
- return false;
 
 
 
 
 
 
 
 
 
4461
 
 
 
 
 
 
4462
  }
4463
 
4464
  // Is the given tag a group
@@ -5179,11 +5270,14 @@ function pagelayer_leftbar(){
5179
  // Hide color and typography global list
5180
  pagelayer.$$('.pagelayer-leftbar-table').on('click', function(e){
5181
 
5182
- var closest = jQuery(e.target).closest('.pagelayer-elp-color-global, .pagelayer-elp-typo-global, .pagelayer-global-color-list, .pagelayer-global-font-list');
5183
  var list = pagelayer.$$('.pagelayer-global-color-list, .pagelayer-global-font-list');
5184
 
5185
  if(closest.length > 0 ){
5186
- var lEle = closest.closest('.pagelayer-form-item').find('.pagelayer-global-color-list, .pagelayer-global-font-list');
 
 
 
5187
  list = list.not(lEle);
5188
  }
5189
 
@@ -5243,7 +5337,7 @@ function pagelayer_near_by_ele(id, sc){
5243
 
5244
  // Get the parent element tag
5245
  var pEle_tag = pagelayer_tag(jQuery('[pagelayer-id="'+pEle_id+'"]'));
5246
- var holder = pagelayer_shortcodes[pEle_tag]['holder'] || '';
5247
  args = {'method' : 'prepend', 'cEle' : '[pagelayer-id="'+pEle_id+'"] '+ holder+' '};
5248
 
5249
  }
1925
  var jEle = jQuery(html);
1926
  pagelayer_remove_id_class(jEle);
1927
  jEle.removeAttr('pagelayer-id');
1928
+ jEle.removeAttr('pagelayer-active');
1929
  jEle.find('[pagelayer-id]').each(function(){
1930
  pagelayer_remove_id_class(jQuery(this));
1931
  jQuery(this).removeAttr('pagelayer-id');
3840
  // Seperator
3841
  seperator = seperator || ',';
3842
 
3843
+ var replaceCss = function(rule, value, toreplace){
3844
+
3845
+ value = pagelayer_hex8_to_rgba(value);
3846
+
3847
+ // If value has css var then we remove units
3848
+ if(value.match(/var\(/)){
3849
+ var toreplace = toreplace.replace(/[-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
3850
+ toreplace = new RegExp( toreplace+'?[^\\s|;]+', 'ig');
3851
+ }
3852
+
3853
+ return rule.split(toreplace).join(value);
3854
+ }
3855
+
3856
  // Replace the val
3857
+ css = replaceCss(css, val, '{{val}}');
3858
 
3859
  // If there is an array
3860
  if(css.match(/val\[\d/)){
3864
  }
3865
 
3866
  for(var i in val){
3867
+ css = replaceCss(css, val[i], '{{val['+i+']}}');
3868
  }
3869
  }
3870
 
4116
 
4117
  // Screen modes
4118
  var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'};
4119
+ var desk_global = (props[x]['type'] == 'typography') ? pagelayer_is_global_typo(el.atts[x]) : '';
4120
 
4121
  for(var m in modes){
4122
 
4123
  var xm = x+modes[m];
4124
 
4125
  // If the value is there
4126
+ if(!(xm in el.atts) && pagelayer_empty(desk_global)){
4127
  continue;
4128
  }
4129
 
4131
 
4132
  // If is global color
4133
  if(props[x]['type'] == 'color'){
4134
+ xm_val = pagelayer_parse_color(el.atts[xm]);
 
 
 
4135
  }
4136
 
4137
  // If is global font
4138
  if(props[x]['type'] == 'typography'){
4139
+ xm_val = pagelayer_parse_typo(xm_val, false, desk_global, m);
4140
+ }
4141
+
4142
+ // If there is global gradient color
4143
+ if(props[x]['type'] == 'gradient'){
4144
+
4145
+ if(pagelayer_is_string(xm_val)){
4146
+ xm_val = xm_val.split(',');
4147
  }
4148
+
4149
+ for(key in xm_val){
4150
+ xm_val[key] = pagelayer_parse_color(xm_val[key]);
4151
+ }
4152
+
4153
  }
4154
 
4155
  for(var c in css){
4458
  }
4459
 
4460
  // Is the given global color
4461
+ function pagelayer_is_global_typo(value){
4462
 
4463
+ var typo_key = '';
 
 
4464
 
4465
+ // Backward compatibility
4466
+ if(pagelayer_is_string(value) && value.substr(0, 1) == '$'){
4467
+ typo_key = value.substr(1);
4468
+ }
4469
 
4470
+ if(typeof value == 'object' && 'global-font' in value){
4471
+ typo_key = value['global-font'];
4472
+ }
4473
+
4474
  // If global color not exist
4475
+ if(!pagelayer_empty(typo_key) && !(typo_key in pagelayer_global_fonts)){
4476
+ typo_key = 'primary';
4477
+ }
4478
+
4479
+ return typo_key;
4480
+
4481
+ }
4482
+
4483
+ // Parse typography and handle Backward compatibility
4484
+ function pagelayer_parse_typo(value, noglobal, desk_global, mode){
4485
+
4486
+ noglobal = noglobal || false;
4487
+ mode = mode || 'desktop';
4488
+ desk_global = desk_global || '';
4489
+
4490
+ if(pagelayer_empty(value)){
4491
+ value = {};
4492
+ }
4493
+
4494
+ // Backward compatibility for comma seperated val
4495
+ if(pagelayer_is_string(value) && value.substr(0, 1) != '$'){
4496
+ return value.split(',');
4497
+ }
4498
+
4499
+ var val = ['','','','','','','','','','',''];
4500
+ var typos = ['font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing'];
4501
+
4502
+ var global_typo = pagelayer_is_global_typo(value);
4503
+ var _desk_global = false;
4504
+
4505
+ if(pagelayer_empty(global_typo)){
4506
+ global_typo = desk_global;
4507
+ _desk_global = true;
4508
+ }
4509
+
4510
+ // Apply global typo
4511
+ for(var typo in typos){
4512
+
4513
+ var typoKey = typos[typo];
4514
+
4515
+ // Backspace compatibility for normal array
4516
+ if(typeof value == 'object' && !pagelayer_empty(value[typo])){
4517
+ val[typo] = value[typo];
4518
+ }
4519
+
4520
+ if(!pagelayer_empty(value[typoKey])){
4521
+ val[typo] = value[typoKey];
4522
+ }
4523
+
4524
+ if(pagelayer_empty(global_typo) || !pagelayer_empty(val[typo]) || noglobal){
4525
+ continue;
4526
+ }
4527
 
4528
+ var globalVal = pagelayer_global_fonts[global_typo]['value'];
4529
+
4530
+ if( !(typoKey in globalVal) || pagelayer_empty(globalVal[typoKey]) || (typeof globalVal[typoKey] == 'object' && pagelayer_empty(globalVal[typoKey][mode])) || (typeof globalVal[typoKey] != 'object' && !pagelayer_empty(_desk_global) && mode != 'desktop') ){
4531
+ continue;
4532
  }
4533
 
4534
+ val[typo] = 'var(--pagelayer-font-'+global_typo+'-'+typoKey+')';
4535
  }
4536
 
4537
+ return val;
4538
+ }
4539
+
4540
+ // Parse color for global color
4541
+ function pagelayer_parse_color(value, glob_var = true){
4542
+
4543
+ var is_global = pagelayer_is_global_color(value);
4544
+ if(pagelayer_empty(is_global)){
4545
+ return value;
4546
+ }
4547
 
4548
+ if(pagelayer_empty(glob_var)){
4549
+ return pagelayer_global_colors[is_global]['value'];
4550
+ }
4551
+
4552
+ return 'var(--pagelayer-color-'+is_global+')';
4553
  }
4554
 
4555
  // Is the given tag a group
5270
  // Hide color and typography global list
5271
  pagelayer.$$('.pagelayer-leftbar-table').on('click', function(e){
5272
 
5273
+ var closest = jQuery(e.target).closest('.pagelayer-elp-color-global, .pagelayer-elp-global-icon, .pagelayer-global-color-list, .pagelayer-global-font-list');
5274
  var list = pagelayer.$$('.pagelayer-global-color-list, .pagelayer-global-font-list');
5275
 
5276
  if(closest.length > 0 ){
5277
+ var lEle = closest.closest('.pagelayer-elp-color-div-holder').find('.pagelayer-global-color-list');
5278
+ var lFont = closest.closest('.pagelayer-form-item').find('.pagelayer-global-font-list');
5279
+
5280
+ list = list.not(lFont);
5281
  list = list.not(lEle);
5282
  }
5283
 
5337
 
5338
  // Get the parent element tag
5339
  var pEle_tag = pagelayer_tag(jQuery('[pagelayer-id="'+pEle_id+'"]'));
5340
+ var holder = '>'+ pagelayer_shortcodes[pEle_tag]['holder'] || '';
5341
  args = {'method' : 'prepend', 'cEle' : '[pagelayer-id="'+pEle_id+'"] '+ holder+' '};
5342
 
5343
  }
js/pagelayer-frontend.js CHANGED
@@ -366,6 +366,7 @@ function pagelayer_pl_tabs(jEle) {
366
  children.each(function(){
367
  var tEle = jQuery(this);
368
  var pl_id = tEle.attr('pagelayer-id');
 
369
  var title = tEle.attr('pagelayer-tab-title') || 'Tab';
370
  var func = "pagelayer_tab_show(this, '"+pl_id+"')";
371
 
@@ -375,7 +376,7 @@ function pagelayer_pl_tabs(jEle) {
375
  }
376
 
377
  // Set the default tab
378
- if(tEle.attr('pagelayer-default_active')){
379
  default_active = pl_id;
380
  }
381
 
366
  children.each(function(){
367
  var tEle = jQuery(this);
368
  var pl_id = tEle.attr('pagelayer-id');
369
+
370
  var title = tEle.attr('pagelayer-tab-title') || 'Tab';
371
  var func = "pagelayer_tab_show(this, '"+pl_id+"')";
372
 
376
  }
377
 
378
  // Set the default tab
379
+ if(tEle.attr('pagelayer-default_active') && !pagelayer_empty(pl_id)){
380
  default_active = pl_id;
381
  }
382
 
js/properties.js CHANGED
@@ -810,8 +810,7 @@ function _pagelayer_set_atts(row, val, no_default){
810
  }
811
 
812
  // Are we in another mode ?
813
- var mEle = row.find('.pagelayer-elp-screen');
814
- var mode = mEle.length > 0 && pagelayer_get_screen_mode() != 'desktop' ? '_'+pagelayer_get_screen_mode() : '';
815
 
816
  pagelayer_set_atts(jEle, prop_name+mode, val);
817
 
@@ -3692,7 +3691,7 @@ function pagelayer_elp_filter(row, prop){
3692
  // The gradient property
3693
  function pagelayer_elp_gradient(row, prop){
3694
 
3695
- var val =['','','','','','',''];
3696
 
3697
  // Do we have a val ?
3698
  if(!pagelayer_empty(prop.c['val'])){
@@ -3702,7 +3701,41 @@ function pagelayer_elp_gradient(row, prop){
3702
  }
3703
  }
3704
 
 
 
3705
  //var val = {color: '', blur: '', horizontal: '', vertical: ''};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3706
 
3707
  var div = '<div class="pagelayer-elp-gradient-div">'+
3708
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-angle">'+
@@ -3711,8 +3744,12 @@ function pagelayer_elp_gradient(row, prop){
3711
  '</div>'+
3712
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-color">'+
3713
  '<label class="pagelayer-elp-label">Color 1</label>'+
3714
- '<div class="pagelayer-elp-color-div">'+
3715
- '<div class="pagelayer-elp-gradient-color1 pagelayer-elp-color-preview"></div>'+
 
 
 
 
3716
  '</div>'+
3717
  '</div>'+
3718
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-per1">'+
@@ -3721,8 +3758,12 @@ function pagelayer_elp_gradient(row, prop){
3721
  '</div>'+
3722
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-color">'+
3723
  '<label class="pagelayer-elp-label">Color 2</label>'+
3724
- '<div class="pagelayer-elp-color-div">'+
3725
- '<div class="pagelayer-elp-gradient-color2 pagelayer-elp-color-preview"></div>'+
 
 
 
 
3726
  '</div>'+
3727
  '</div>'+
3728
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-per2">'+
@@ -3731,8 +3772,12 @@ function pagelayer_elp_gradient(row, prop){
3731
  '</div>'+
3732
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-color">'+
3733
  '<label class="pagelayer-elp-label">Color 3</label>'+
3734
- '<div class="pagelayer-elp-color-div">'+
3735
- '<div class="pagelayer-elp-gradient-color3 pagelayer-elp-color-preview"></div>'+
 
 
 
 
3736
  '</div>'+
3737
  '</div>'+
3738
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-per3">'+
@@ -3742,52 +3787,68 @@ function pagelayer_elp_gradient(row, prop){
3742
  '</div>';
3743
 
3744
  row.append(div);
3745
- var i = 1;
3746
  row.find('.pagelayer-elp-color-preview').each(function(){
3747
- jQuery(this).css('background', val[i]);
3748
- i = i+2;
3749
  });
3750
 
 
 
 
 
 
 
 
3751
  var picker1 = new pagelayer_Picker({
3752
  parent : row.find('.pagelayer-elp-gradient-color1')[0],
3753
  popup : 'left',
3754
- color : val[1],
3755
  doc: window.parent.document
3756
  });
3757
 
3758
  // Handle selected color
3759
  picker1.onChange = function(color) {
3760
- row.find('.pagelayer-elp-gradient-color1').css('background', color.rgbaString);
 
3761
  val[1] = (color.hex ? color.hex : '');
3762
  _pagelayer_set_atts(row, val);
 
 
3763
  };
3764
 
3765
  var picker2 = new pagelayer_Picker({
3766
  parent : row.find('.pagelayer-elp-gradient-color2')[0],
3767
  popup : 'left',
3768
- color : val[3],
3769
  doc: window.parent.document
3770
  });
3771
 
3772
  // Handle selected color
3773
  picker2.onChange = function(color) {
3774
- row.find('.pagelayer-elp-gradient-color2').css('background', color.rgbaString);
 
3775
  val[3] = (color.hex ? color.hex : '');
3776
  _pagelayer_set_atts(row, val);
 
 
3777
  };
3778
 
3779
  var picker3 = new pagelayer_Picker({
3780
  parent : row.find('.pagelayer-elp-gradient-color3')[0],
3781
  popup : 'left',
3782
- color : val[5],
3783
  doc: window.parent.document
3784
  });
3785
 
3786
  // Handle selected color
3787
  picker3.onChange = function(color) {
3788
- row.find('.pagelayer-elp-gradient-color3').css('background', color.rgbaString);
 
3789
  val[5] = (color.hex ? color.hex : '');
3790
  _pagelayer_set_atts(row, val);
 
 
3791
  };
3792
 
3793
  row.find('input').on('input', function(){
@@ -3800,6 +3861,59 @@ function pagelayer_elp_gradient(row, prop){
3800
  _pagelayer_set_atts(row, val);
3801
  });
3802
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3803
  }
3804
 
3805
  function pagelayer_elp_font_family(row, prop){
@@ -3840,35 +3954,38 @@ function pagelayer_elp_font_family(row, prop){
3840
  // The typography property
3841
  function pagelayer_elp_typography(row, prop){
3842
 
3843
- var val = ['','','','','','','','','','',''];
3844
  var is_typo = pagelayer_is_global_typo(prop.c['val']);
3845
  var global_active = '';
 
 
 
 
 
 
 
 
 
3846
 
3847
  // If global color not exist
3848
  if(!pagelayer_empty(is_typo)){
3849
- val = pagelayer_global_fonts[is_typo]['value'];
3850
  global_active = 'pagelayer-active-global';
3851
-
3852
- // Do we have a val ?
3853
- }else if(!pagelayer_empty(prop.c['val'])){
3854
- val = prop.c['val'];
3855
- if(pagelayer_is_string(val)){
3856
- val = val.split(',');
3857
- }
3858
  }
3859
 
3860
- var select = { 'style' : ['', 'Normal', 'Italic', 'Oblique'],
3861
- 'weight' : ['', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'normal', 'lighter', 'bold', 'bolder', 'unset'],
3862
- 'variant' : ['', 'Normal', 'Small-caps'],
3863
- 'deco-line' : ['', 'None', 'Overline', 'Line-through', 'Underline', 'Underline Overline'],
3864
- 'deco-style' : ['Solid', 'Double', 'Dotted', 'Dashed', 'Wavy'],
3865
- 'transform' : ['', 'Capitalize', 'Uppercase', 'Lowercase'],
 
3866
  'fonts' : pagelayer_fonts,
3867
  }
3868
 
3869
- var option = function(val, setVal){
3870
- var selected = (val != setVal) ? '' : 'selected="selected"';
3871
- var lang = pagelayer_empty(val) ? 'Default' : val;
 
3872
  return '<option value="'+val+'" '+selected+'>'+ lang +'</option>';
3873
  }
3874
 
@@ -3888,108 +4005,135 @@ function pagelayer_elp_typography(row, prop){
3888
  }
3889
  }
3890
 
 
 
 
 
 
 
 
 
 
3891
  var div = '<span class="pagelayer-elp-typo-edit-div">'+
3892
- '<span class="pagelayer-elp-typo-global '+global_active+'"></span>'+
3893
  '<i class="pli pli-pencil"></i>'+
3894
  '</span>'+
3895
- '<div class="pagelayer-elp-typo-div">'+
3896
- '<div class="pagelayer-elp-typo pagelayer-elp-typo-fonts">'+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3897
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-family">'+
3898
  '<label class="pagelayer-elp-label">'+pagelayer_l('font_family')+'</label>'+
3899
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select" name="pagelayer-typo-select">'+font_options+'</select>'+
3900
  '</div>';
3901
 
3902
  div += '<div class="pagelayer-elp-typo pagelayer-elp-typo-size">'+
3903
- '<label class="pagelayer-elp-label">'+pagelayer_l('font_size')+'</label>'+
3904
- '<input class="pagelayer-elp-typo-input" type="number" max="200" min="0" step="1" value="'+val[1]+'"></input>'+
 
 
3905
  '</div>'+
3906
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-style">'+
3907
  '<label class="pagelayer-elp-label">'+pagelayer_l('font_style')+'</label>'+
3908
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select">';
3909
 
3910
  jQuery.each(select['style'],function(key, value){
3911
- div += option(value, val[2]);
3912
  });
3913
  div +='</select>'+
3914
  '</div>'+
3915
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-weight">'+
3916
- '<label class="pagelayer-elp-label">'+pagelayer_l('font_weight')+'</label>'+
3917
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select">';
3918
  jQuery.each(select['weight'],function(key, value){
3919
- div += option(value, val[3]);
 
 
 
 
 
 
 
 
 
 
 
 
3920
  });
3921
 
3922
  div += '</select>'+
3923
  '</div>'+
3924
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-variant">'+
3925
  '<label class="pagelayer-elp-label">'+pagelayer_l('font_variant')+'</label>'+
3926
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select">';
3927
  jQuery.each(select['variant'],function(key, value){
3928
- div += option(value, val[4]);
3929
  });
3930
 
3931
  div += '</select>'+
3932
  '</div>'+
3933
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-deco-line">'+
3934
  '<label class="pagelayer-elp-label">'+pagelayer_l('decoration_line')+'</label>'+
3935
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select">';
3936
  jQuery.each(select['deco-line'],function(key, value){
3937
- div += option(value, val[5]);
3938
  });
3939
 
3940
  div += '</select>'+
3941
  '</div>'+
3942
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-deco-style">'+
3943
  '<label class="pagelayer-elp-label">'+pagelayer_l('decoration_style')+'</label>'+
3944
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select">';
3945
  jQuery.each(select['deco-style'],function(key, value){
3946
- div += option(value, val[6]);
3947
  });
3948
 
3949
  div += '</select>'+
3950
  '</div>'+
3951
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-height">'+
3952
- '<label class="pagelayer-elp-label">'+pagelayer_l('line_height')+'</label>'+
3953
- '<input class="pagelayer-elp-typo-input" type="number" max="15" min="0" step="0.1" value="'+val[7]+'"></input>'+
 
 
3954
  '</div>'+
3955
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-transform">'+
3956
  '<label class="pagelayer-elp-label">'+pagelayer_l('text_transform')+'</label>'+
3957
- '<select class="pagelayer-elp-typo-input pagelayer-elp-select">';
3958
  jQuery.each(select['transform'],function(key, value){
3959
- div += option(value, val[8]);
3960
  });
3961
 
3962
  div += '</select>'+
3963
  '</div>'+
3964
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-lspacing">'+
3965
- '<label class="pagelayer-elp-label">'+pagelayer_l('text_spacing')+'</label>'+
3966
- '<input class="pagelayer-elp-typo-input" type="number" max="10" min="-10" step="0.1" value="'+val[9]+'"></input>'+
 
 
3967
  '</div>'+
3968
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-wspacing">'+
3969
- '<label class="pagelayer-elp-label">'+pagelayer_l('word_spacing')+'</label>'+
3970
- '<input class="pagelayer-elp-typo-input" type="number" max="50" min="0" step="1" value="'+val[10]+'"></input>'+
 
 
3971
  '</div>'+
3972
  '</div>'+
3973
- '</div>'+
3974
- '<div class="pagelayer-global-font-list">'+
3975
- '<div class="pagelayer-global-setting-font">'+
3976
- '<b>Global Fonts</b><span class="pli pli-service"></span>'+
3977
  '</div>';
3978
-
3979
- for( cid in pagelayer_global_fonts ){
3980
-
3981
- var font = pagelayer_global_fonts[cid];
3982
- var active_class = '';
3983
-
3984
- if(cid == is_typo){
3985
- active_class = 'pagelayer-global-selected';
3986
- }
3987
-
3988
- div += '<div class="pagelayer-global-font-list-item '+active_class+'" data-global-id="'+ cid +'">'+
3989
- '<span class="pagelayer-global-font-title">'+font['title']+'</span>'+
3990
- '</div>';
3991
- }
3992
- div += '</div>';
3993
 
3994
  row.append(div);
3995
 
@@ -3998,27 +4142,61 @@ function pagelayer_elp_typography(row, prop){
3998
  }
3999
 
4000
  row.find('.pagelayer-elp-typo-edit-div .pli-pencil').on('click', function(){
4001
- row.find('.pagelayer-elp-typo-div').toggleClass('pagelayer-prop-show');
 
 
 
 
 
 
 
 
 
 
4002
 
4003
- // Remove global
4004
- row.find('.pagelayer-global-font-list').slideUp();
4005
- row.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
4006
- row.find('.pagelayer-elp-typo-global').removeClass('pagelayer-active-global');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4007
 
4008
- });
 
 
4009
 
4010
  row.find('.pagelayer-elp-typo-input').on('change', function(e){
 
4011
  var jEle = jQuery(e.target);
4012
 
4013
  pagelayer_link_font_family(jEle);
 
4014
 
4015
- val = [];
4016
- row.find('.pagelayer-elp-typo-input').each(function(){
4017
- var value = jQuery(this).val();
4018
- val.push(value ? value : '');
4019
- });
4020
- _pagelayer_set_atts(row, val);
4021
-
4022
  });
4023
 
4024
  row.find('.pagelayer-elp-typo-deco-line select').on('change', function(){
@@ -4031,39 +4209,157 @@ function pagelayer_elp_typography(row, prop){
4031
  });
4032
 
4033
  // Handle for global font
4034
- row.find('.pagelayer-elp-typo-global').on('click', function(e){
4035
-
4036
  row.find('.pagelayer-global-font-list').slideToggle();
4037
- row.find('.pagelayer-elp-typo-div').removeClass('pagelayer-prop-show');
4038
 
4039
  });
4040
 
4041
- row.find('.pagelayer-global-setting-font .pli').on('click', function(e){
4042
  e.stopPropagation();
4043
  window.open(pagelayer_customizer_url+'&autofocus%5Bsection%5D=pagelayer_global_fonts_sec', '_blank');
4044
  });
4045
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4046
  // Handle for global font
4047
  row.find('.pagelayer-global-font-list-item').on('click', function(e){
4048
  e.stopPropagation();
4049
 
4050
  var listItem = jQuery(this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4051
  var globalID = listItem.data('global-id');
4052
  var listHolder = row.find('.pagelayer-global-font-list');
4053
 
4054
  // Remove previous selecttion
4055
  listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
4056
  listItem.addClass('pagelayer-global-selected');
4057
- row.find('.pagelayer-elp-typo-global').addClass('pagelayer-active-global');
 
4058
  listHolder.slideUp();
4059
 
4060
- var setFonts = pagelayer_global_fonts[globalID]['value'];
4061
- var fontSelect = row.find('.pagelayer-elp-typo-family .pagelayer-elp-typo-input');
4062
-
4063
- fontSelect.val(setFonts['font-family']);
4064
  pagelayer_link_font_family(fontSelect); // Apply google fonts
4065
 
4066
- _pagelayer_set_atts(row, '$'+globalID);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4067
  });
4068
 
4069
  }
@@ -5024,7 +5320,7 @@ function pagelayer_show_default_button(row, prop, value){
5024
 
5025
  // Function which checks the properties to not to show default button
5026
  function pagelayer_properties_filter(property){
5027
- var propTypeDefault = ['image', 'text', 'editor', 'textarea', 'checkbox', 'access', 'modal', 'group', 'radio', 'postCategory', 'postTags', 'postDate'];
5028
 
5029
  return (jQuery.inArray(property, propTypeDefault) == -1)
5030
  }
810
  }
811
 
812
  // Are we in another mode ?
813
+ var mode = ('screen' in prop && pagelayer_get_screen_mode() != 'desktop') ? '_'+pagelayer_get_screen_mode() : '';
 
814
 
815
  pagelayer_set_atts(jEle, prop_name+mode, val);
816
 
3691
  // The gradient property
3692
  function pagelayer_elp_gradient(row, prop){
3693
 
3694
+ var val = ['','','','','','',''];
3695
 
3696
  // Do we have a val ?
3697
  if(!pagelayer_empty(prop.c['val'])){
3701
  }
3702
  }
3703
 
3704
+ var setColor = [val[1], val[3], val[5]];
3705
+
3706
  //var val = {color: '', blur: '', horizontal: '', vertical: ''};
3707
+ var getColorList = function(num){
3708
+
3709
+ var is_global = pagelayer_is_global_color(setColor[num]);
3710
+ var global_list = '<div class="pagelayer-global-color-list">'+
3711
+ '<div class="pagelayer-global-setting-color">'+
3712
+ '<b>Global Colors</b><span class="pli pli-service"></span>'+
3713
+ '</div>';
3714
+
3715
+ for( cid in pagelayer_global_colors ){
3716
+
3717
+ var color = pagelayer_global_colors[cid];
3718
+ var active_class = '';
3719
+
3720
+ if(cid == is_global){
3721
+ active_class = 'pagelayer-global-selected';
3722
+ }
3723
+
3724
+ // If global color not exist
3725
+ if(!pagelayer_empty(is_global)){
3726
+ setColor[num] = pagelayer_global_colors[is_global]['value'];
3727
+ }
3728
+
3729
+ global_list += '<div class="pagelayer-global-color-list-item '+ active_class +'" data-global-id="'+ cid +'">'+
3730
+ '<span class="pagelayer-global-color-pre" style="background:'+ color['value'] +'"></span>'+
3731
+ '<span class="pagelayer-global-color-title">'+ color['title'] +'</span>'+
3732
+ '<span class="pagelayer-global-color-code">'+ color['value'] +'</span>'+
3733
+ '</div>';
3734
+ }
3735
+ global_list += '</div>';
3736
+
3737
+ return global_list;
3738
+ }
3739
 
3740
  var div = '<div class="pagelayer-elp-gradient-div">'+
3741
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-angle">'+
3744
  '</div>'+
3745
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-color">'+
3746
  '<label class="pagelayer-elp-label">Color 1</label>'+
3747
+ '<div class="pagelayer-elp-color-div-holder">'+
3748
+ '<div class="pagelayer-elp-color-global"></div>'+
3749
+ '<div class="pagelayer-elp-color-div">'+
3750
+ '<div class="pagelayer-elp-gradient-color1 pagelayer-elp-color-preview"></div>'+
3751
+ '</div>'+
3752
+ getColorList(0)+
3753
  '</div>'+
3754
  '</div>'+
3755
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-per1">'+
3758
  '</div>'+
3759
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-color">'+
3760
  '<label class="pagelayer-elp-label">Color 2</label>'+
3761
+ '<div class="pagelayer-elp-color-div-holder">'+
3762
+ '<div class="pagelayer-elp-color-global"></div>'+
3763
+ '<div class="pagelayer-elp-color-div">'+
3764
+ '<div class="pagelayer-elp-gradient-color2 pagelayer-elp-color-preview"></div>'+
3765
+ '</div>'+
3766
+ getColorList(1)+
3767
  '</div>'+
3768
  '</div>'+
3769
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-per2">'+
3772
  '</div>'+
3773
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-color">'+
3774
  '<label class="pagelayer-elp-label">Color 3</label>'+
3775
+ '<div class="pagelayer-elp-color-div-holder">'+
3776
+ '<div class="pagelayer-elp-color-global"></div>'+
3777
+ '<div class="pagelayer-elp-color-div">'+
3778
+ '<div class="pagelayer-elp-gradient-color3 pagelayer-elp-color-preview"></div>'+
3779
+ '</div>'+
3780
+ getColorList(2)+
3781
  '</div>'+
3782
  '</div>'+
3783
  '<div class="pagelayer-elp-prop-grp pagelayer-elp-gradient-per3">'+
3787
  '</div>';
3788
 
3789
  row.append(div);
3790
+ var i = 0;
3791
  row.find('.pagelayer-elp-color-preview').each(function(){
3792
+ jQuery(this).css('background', setColor[i]);
3793
+ i++;
3794
  });
3795
 
3796
+ // Remove global
3797
+ var removeGlobal = function(holder){
3798
+ holder.find('.pagelayer-elp-color-global').removeClass('pagelayer-active-global');
3799
+ holder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
3800
+ holder.find('.pagelayer-global-color-list').hide();
3801
+ }
3802
+
3803
  var picker1 = new pagelayer_Picker({
3804
  parent : row.find('.pagelayer-elp-gradient-color1')[0],
3805
  popup : 'left',
3806
+ color : setColor[0],
3807
  doc: window.parent.document
3808
  });
3809
 
3810
  // Handle selected color
3811
  picker1.onChange = function(color) {
3812
+ var cPreview = row.find('.pagelayer-elp-gradient-color1')
3813
+ cPreview.css('background', color.rgbaString);
3814
  val[1] = (color.hex ? color.hex : '');
3815
  _pagelayer_set_atts(row, val);
3816
+
3817
+ removeGlobal(cPreview.closest('.pagelayer-elp-color-div-holder'));
3818
  };
3819
 
3820
  var picker2 = new pagelayer_Picker({
3821
  parent : row.find('.pagelayer-elp-gradient-color2')[0],
3822
  popup : 'left',
3823
+ color : setColor[1],
3824
  doc: window.parent.document
3825
  });
3826
 
3827
  // Handle selected color
3828
  picker2.onChange = function(color) {
3829
+ var cPreview = row.find('.pagelayer-elp-gradient-color2');
3830
+ cPreview.css('background', color.rgbaString);
3831
  val[3] = (color.hex ? color.hex : '');
3832
  _pagelayer_set_atts(row, val);
3833
+
3834
+ removeGlobal(cPreview.closest('.pagelayer-elp-color-div-holder'));
3835
  };
3836
 
3837
  var picker3 = new pagelayer_Picker({
3838
  parent : row.find('.pagelayer-elp-gradient-color3')[0],
3839
  popup : 'left',
3840
+ color : setColor[2],
3841
  doc: window.parent.document
3842
  });
3843
 
3844
  // Handle selected color
3845
  picker3.onChange = function(color) {
3846
+ var cPreview = row.find('.pagelayer-elp-gradient-color3');
3847
+ cPreview.css('background', color.rgbaString);
3848
  val[5] = (color.hex ? color.hex : '');
3849
  _pagelayer_set_atts(row, val);
3850
+
3851
+ removeGlobal(cPreview.closest('.pagelayer-elp-color-div-holder'));
3852
  };
3853
 
3854
  row.find('input').on('input', function(){
3861
  _pagelayer_set_atts(row, val);
3862
  });
3863
 
3864
+ row.find('.pagelayer-global-selected').each(function(){
3865
+ jQuery(this).closest('.pagelayer-elp-color-div-holder').find('.pagelayer-elp-color-global').addClass('pagelayer-active-global');
3866
+ });
3867
+
3868
+ // Handle for global color
3869
+ row.find('.pagelayer-elp-color-global').on('click', function(e){
3870
+ jQuery(this).closest('.pagelayer-elp-color-div-holder').find('.pagelayer-global-color-list').slideToggle();
3871
+ });
3872
+
3873
+ row.find('.pagelayer-global-setting-color').on('click', function(e){
3874
+ e.stopPropagation();
3875
+
3876
+ if(jQuery(e.target).closest('.pli-service').length < 1){
3877
+ return;
3878
+ }
3879
+
3880
+ window.open( pagelayer_customizer_url + '&autofocus%5Bsection%5D=pagelayer_global_colors_sec', '_blank' );
3881
+ });
3882
+
3883
+ // Handle for global color
3884
+ row.find('.pagelayer-global-color-list-item ').on('click', function(e){
3885
+ e.stopPropagation();
3886
+
3887
+ var listItem = jQuery(this);
3888
+ var globalID = listItem.data('global-id');
3889
+ var listHolder = listItem.closest('.pagelayer-global-color-list');
3890
+ var colorHolder = listItem.closest('.pagelayer-elp-color-div-holder');
3891
+ var colorPreview = colorHolder.find('.pagelayer-elp-color-preview');
3892
+
3893
+ // Remove previous selecttion
3894
+ listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
3895
+ listItem.addClass('pagelayer-global-selected');
3896
+ colorHolder.find('.pagelayer-elp-color-global').addClass('pagelayer-active-global');
3897
+ listHolder.slideUp();
3898
+
3899
+ var color = pagelayer_global_colors[globalID]['value'];
3900
+ colorPreview.removeClass('pagelayer-blank-preview').css('background', color);
3901
+
3902
+ var i = 1;
3903
+
3904
+ if(colorPreview.hasClass('pagelayer-elp-gradient-color2')){
3905
+ i = 3;
3906
+ }
3907
+
3908
+ if(colorPreview.hasClass('pagelayer-elp-gradient-color3')){
3909
+ i = 5;
3910
+ }
3911
+
3912
+ val[i] = '$'+globalID;
3913
+ _pagelayer_set_atts(row, val);// Save and Render
3914
+
3915
+ });
3916
+
3917
  }
3918
 
3919
  function pagelayer_elp_font_family(row, prop){
3954
  // The typography property
3955
  function pagelayer_elp_typography(row, prop){
3956
 
3957
+ var val = pagelayer_parse_typo(prop.c['val'], true);
3958
  var is_typo = pagelayer_is_global_typo(prop.c['val']);
3959
  var global_active = '';
3960
+ var save_timer = {};
3961
+
3962
+ // Load value of tablet and mobile
3963
+ var val_tablet = pagelayer_get_att(prop.el.$, prop.c['name']+'_tablet');
3964
+ var val_mobile = pagelayer_get_att(prop.el.$, prop.c['name']+'_mobile');
3965
+
3966
+ val_tablet = pagelayer_parse_typo(val_tablet);
3967
+ val_mobile = pagelayer_parse_typo(val_mobile);
3968
+
3969
 
3970
  // If global color not exist
3971
  if(!pagelayer_empty(is_typo)){
 
3972
  global_active = 'pagelayer-active-global';
 
 
 
 
 
 
 
3973
  }
3974
 
3975
+ var select = {
3976
+ 'style' : {'' : 'Default', 'normal' : 'Normal', 'italic' : 'Italic', 'oblique' : 'Oblique'},
3977
+ 'weight' : {'' : 'Default', '100' : '100', '200' : '200', '300' : '300', '400' : '400', '500' : '500', '600' : '600', '700' : '700', '800' : '800', '900' : '900', 'normal' : 'Normal', 'lighter' : 'Lighter', 'bold' : 'Bold', 'bolder' :'Bolder', 'unset' : 'Unset'},
3978
+ 'variant' : {'' : 'Default', 'normal' : 'Normal', 'small-caps' : 'Small Caps'},
3979
+ 'deco-line' : {'' : 'Default', 'none' : 'None', 'overline' : 'Overline', 'line-through' : 'Line Through', 'underline' : 'Underline', 'underline overline' : 'Underline Overline'},
3980
+ 'deco-style' : {'' : 'Default', 'solid' : 'Solid', 'double' : 'Double', 'dotted' : 'Dotted', 'dashed' : 'Dashed', 'wavy' : 'Wavy'},
3981
+ 'transform' : {'' : 'Default', 'capitalize' : 'Capitalize', 'uppercase' : 'Uppercase', 'lowercase' : 'Lowercase'},
3982
  'fonts' : pagelayer_fonts,
3983
  }
3984
 
3985
+ var option = function(val, lang, setVal){
3986
+ var selected = (val.toLowerCase() != setVal.toLowerCase()) ? '' : 'selected="selected"';
3987
+
3988
+ var lang = pagelayer_empty(lang) ? 'Default' : lang;
3989
  return '<option value="'+val+'" '+selected+'>'+ lang +'</option>';
3990
  }
3991
 
4005
  }
4006
  }
4007
 
4008
+ var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'};
4009
+ var mode = pagelayer_get_screen_mode();
4010
+ var screen = '<div class="pagelayer-elp-screen">'+
4011
+ '<i class="pli pli-desktop" ></i>'+
4012
+ '<i class="pli pli-tablet" ></i>'+
4013
+ '<i class="pli pli-mobile" ></i>'+
4014
+ '<i class="pagelayer-prop-screen pli pli-'+mode+'" ></i>'+
4015
+ '</div>';
4016
+
4017
  var div = '<span class="pagelayer-elp-typo-edit-div">'+
 
4018
  '<i class="pli pli-pencil"></i>'+
4019
  '</span>'+
4020
+ '<div class="pagelayer-elp-typo-div" pagelayer-screen-mode="'+mode+'">'+
4021
+ '<div class="pagelayer-elp-typo-fonts">'+
4022
+ '<div class="pagelayer-elp-global-typo">'+
4023
+ '<label class="pagelayer-elp-label">'+pagelayer_l('global_fonts')+'</label>'+
4024
+ '<span class="pagelayer-elp-typo-icons">'+
4025
+ '<span class="pagelayer-elp-global-icon '+global_active+'"></span>'+
4026
+ '<span class="pli pli-service"></span>'+
4027
+ '</span>'+
4028
+ '<div class="pagelayer-global-font-list">';
4029
+
4030
+ for( cid in pagelayer_global_fonts ){
4031
+
4032
+ var font = pagelayer_global_fonts[cid];
4033
+
4034
+ div += '<div class="pagelayer-global-font-list-item" data-global-id="'+ cid +'">'+
4035
+ '<span class="pagelayer-global-font-title">'+font['title']+'</span>'+
4036
+ '</div>';
4037
+ }
4038
+ div += '</div>'+
4039
+ '</div>'+
4040
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-family">'+
4041
  '<label class="pagelayer-elp-label">'+pagelayer_l('font_family')+'</label>'+
4042
+ '<select class="pagelayer-elp-typo-input pagelayer-elp-select" name="font-family">'+font_options+'</select>'+
4043
  '</div>';
4044
 
4045
  div += '<div class="pagelayer-elp-typo pagelayer-elp-typo-size">'+
4046
+ '<label class="pagelayer-elp-label">'+pagelayer_l('font_size')+' '+screen+'</label>'+
4047
+ '<input name="font-size" pagelayer-show-device="desktop" class="pagelayer-elp-typo-input" type="number" max="200" min="0" step="1" value="'+val[1]+'"></input>'+
4048
+ '<input name="font-size_tablet" pagelayer-show-device="tablet" class="pagelayer-elp-typo-input" type="number" max="200" min="0" step="1" value="'+val_tablet[1]+'"></input>'+
4049
+ '<input name="font-size_mobile" pagelayer-show-device="mobile" class="pagelayer-elp-typo-input" type="number" max="200" min="0" step="1" value="'+val_mobile[1]+'"></input>'+
4050
  '</div>'+
4051
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-style">'+
4052
  '<label class="pagelayer-elp-label">'+pagelayer_l('font_style')+'</label>'+
4053
+ '<select name="font-style" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4054
 
4055
  jQuery.each(select['style'],function(key, value){
4056
+ div += option(key, value, val[2]);
4057
  });
4058
  div +='</select>'+
4059
  '</div>'+
4060
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-weight">'+
4061
+ '<label class="pagelayer-elp-label">'+pagelayer_l('font_weight')+' '+screen+'</label>'+
4062
+ '<select name="font-weight" pagelayer-show-device="desktop" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4063
  jQuery.each(select['weight'],function(key, value){
4064
+ div += option(key, value, val[3]);
4065
+ });
4066
+
4067
+ div += '</select>'+
4068
+ '<select name="font-weight_tablet" pagelayer-show-device="tablet" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4069
+ jQuery.each(select['weight'],function(key, value){
4070
+ div += option(key, value, val_tablet[3]);
4071
+ });
4072
+
4073
+ div += '</select>'+
4074
+ '<select name="font-weight_mobile" pagelayer-show-device="mobile" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4075
+ jQuery.each(select['weight'],function(key, value){
4076
+ div += option(key, value, val_mobile[3]);
4077
  });
4078
 
4079
  div += '</select>'+
4080
  '</div>'+
4081
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-variant">'+
4082
  '<label class="pagelayer-elp-label">'+pagelayer_l('font_variant')+'</label>'+
4083
+ '<select name="font-variant" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4084
  jQuery.each(select['variant'],function(key, value){
4085
+ div += option(key, value, val[4]);
4086
  });
4087
 
4088
  div += '</select>'+
4089
  '</div>'+
4090
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-deco-line">'+
4091
  '<label class="pagelayer-elp-label">'+pagelayer_l('decoration_line')+'</label>'+
4092
+ '<select name="text-decoration-line" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4093
  jQuery.each(select['deco-line'],function(key, value){
4094
+ div += option(key, value, val[5]);
4095
  });
4096
 
4097
  div += '</select>'+
4098
  '</div>'+
4099
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-deco-style">'+
4100
  '<label class="pagelayer-elp-label">'+pagelayer_l('decoration_style')+'</label>'+
4101
+ '<select name="text-decoration-style" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4102
  jQuery.each(select['deco-style'],function(key, value){
4103
+ div += option(key, value, val[6]);
4104
  });
4105
 
4106
  div += '</select>'+
4107
  '</div>'+
4108
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-height">'+
4109
+ '<label class="pagelayer-elp-label">'+pagelayer_l('line_height')+' '+screen+'</label>'+
4110
+ '<input name="line-height" class="pagelayer-elp-typo-input" pagelayer-show-device="desktop" type="number" max="15" min="0" step="0.1" value="'+val[7]+'"></input>'+
4111
+ '<input name="line-height_tablet" pagelayer-show-device="tablet" class="pagelayer-elp-typo-input" type="number" max="15" min="0" step="0.1" value="'+val_tablet[7]+'"</input>'+
4112
+ '<input name="line-height_mobile" class="pagelayer-elp-typo-input" pagelayer-show-device="mobile" type="number" max="15" min="0" step="0.1" value="'+val_mobile[7]+'"></input>'+
4113
  '</div>'+
4114
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-transform">'+
4115
  '<label class="pagelayer-elp-label">'+pagelayer_l('text_transform')+'</label>'+
4116
+ '<select name="text-transform" class="pagelayer-elp-typo-input pagelayer-elp-select">';
4117
  jQuery.each(select['transform'],function(key, value){
4118
+ div += option(key, value, val[8]);
4119
  });
4120
 
4121
  div += '</select>'+
4122
  '</div>'+
4123
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-lspacing">'+
4124
+ '<label class="pagelayer-elp-label">'+pagelayer_l('text_spacing')+' '+screen+'</label>'+
4125
+ '<input name="letter-spacing" pagelayer-show-device="desktop" class="pagelayer-elp-typo-input" type="number" max="10" min="-10" step="0.1" value="'+val[9]+'"></input>'+
4126
+ '<input name="letter-spacing_tablet" pagelayer-show-device="tablet" class="pagelayer-elp-typo-input" type="number" max="10" min="-10" step="0.1" value="'+val_tablet[9]+'"></input>'+
4127
+ '<input name="letter-spacing_mobile" pagelayer-show-device="mobile" class="pagelayer-elp-typo-input" type="number" max="10" min="-10" step="0.1" value="'+val_mobile[9]+'"></input>'+
4128
  '</div>'+
4129
  '<div class="pagelayer-elp-typo pagelayer-elp-typo-wspacing">'+
4130
+ '<label class="pagelayer-elp-label">'+pagelayer_l('word_spacing')+' '+screen+'</label>'+
4131
+ '<input name="word-spacing" pagelayer-show-device="desktop" class="pagelayer-elp-typo-input" type="number" max="50" min="0" step="1" value="'+val[10]+'"></input>'+
4132
+ '<input name="word-spacing_tablet" pagelayer-show-device="tablet" class="pagelayer-elp-typo-input" type="number" max="50" min="0" step="1" value="'+val_tablet[10]+'"></input>'+
4133
+ '<input name="word-spacing_mobile" pagelayer-show-device="mobile" class="pagelayer-elp-typo-input" type="number" max="50" min="0" step="1" value="'+val_mobile[10]+'"></input>'+
4134
  '</div>'+
4135
  '</div>'+
 
 
 
 
4136
  '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4137
 
4138
  row.append(div);
4139
 
4142
  }
4143
 
4144
  row.find('.pagelayer-elp-typo-edit-div .pli-pencil').on('click', function(){
4145
+ row.find('.pagelayer-elp-typo-div').toggleClass('pagelayer-prop-show');
4146
+ });
4147
+
4148
+ var save_typography = function(){
4149
+ var globalEle = row.find('.pagelayer-global-selected');
4150
+ var atts = {};
4151
+
4152
+ atts[prop.c['name']] = {};
4153
+ atts[prop.c['name']+'_tablet'] = {};
4154
+ atts[prop.c['name']+'_mobile'] = {};
4155
+
4156
 
4157
+ if(globalEle.length > 0){
4158
+ atts[prop.c['name']]['global-font'] = globalEle.attr('data-global-id');
4159
+ }
4160
+
4161
+ row.find('.pagelayer-elp-typo-input').each(function(){
4162
+
4163
+ var iEle = jQuery(this);
4164
+ var name = iEle.attr('name');
4165
+ var value = iEle.val();
4166
+ var isGlobal = iEle.closest('[pagelayer-set-global]');
4167
+
4168
+ if((value == '' && isGlobal.length < 1 && globalEle.length < 1) || isGlobal.length > 0){
4169
+ return;
4170
+ }
4171
+
4172
+ if(name.indexOf('_tablet') > -1){
4173
+ name = name.replace('_tablet', '');
4174
+ atts[prop.c['name']+'_tablet'][name] = value;
4175
+ return;
4176
+ }
4177
+
4178
+ if(name.indexOf('_mobile') > -1){
4179
+ name = name.replace('_mobile', '');
4180
+ atts[prop.c['name']+'_mobile'][name] = value;
4181
+ return;
4182
+ }
4183
+
4184
+ atts[prop.c['name']][name] = value;
4185
+ });
4186
 
4187
+ pagelayer_set_atts(prop.el.$, atts);
4188
+ pagelayer_sc_render(prop.el.$); // Render
4189
+ }
4190
 
4191
  row.find('.pagelayer-elp-typo-input').on('change', function(e){
4192
+
4193
  var jEle = jQuery(e.target);
4194
 
4195
  pagelayer_link_font_family(jEle);
4196
+ jEle.closest('[pagelayer-set-global]').removeAttr('pagelayer-set-global');
4197
 
4198
+ // Save value
4199
+ save_typography();
 
 
 
 
 
4200
  });
4201
 
4202
  row.find('.pagelayer-elp-typo-deco-line select').on('change', function(){
4209
  });
4210
 
4211
  // Handle for global font
4212
+ row.find('.pagelayer-elp-global-typo .pagelayer-elp-global-icon').on('click', function(e){
4213
+ e.stopPropagation();
4214
  row.find('.pagelayer-global-font-list').slideToggle();
 
4215
 
4216
  });
4217
 
4218
+ row.find('.pagelayer-elp-global-typo .pli-service').on('click', function(e){
4219
  e.stopPropagation();
4220
  window.open(pagelayer_customizer_url+'&autofocus%5Bsection%5D=pagelayer_global_fonts_sec', '_blank');
4221
  });
4222
+
4223
+ // Added restore global val
4224
+ row.find('.pagelayer-elp-typo > .pagelayer-elp-label').each(function(){
4225
+ var label = jQuery(this);
4226
+ var defaultButton = '<span class="pagelayer-typo-default" title="'+pagelayer_l('restore_global')+'" ><i class="fas fa-undo"></i></span>';
4227
+ label.append(defaultButton);
4228
+
4229
+ label.find('.pagelayer-typo-default').on('click', function(e, skip_save){
4230
+
4231
+ skip_save = skip_save || false;
4232
+
4233
+ var globalID = row.find('.pagelayer-global-selected').data('global-id');
4234
+
4235
+ if(pagelayer_empty(globalID) || pagelayer_empty(pagelayer_global_fonts[globalID])){
4236
+ return;
4237
+ }
4238
+
4239
+ var setFonts = pagelayer_global_fonts[globalID]['value'];
4240
+ var holder = label.closest('.pagelayer-elp-typo');
4241
+ var inputs = holder.find('.pagelayer-elp-typo-input');
4242
+ var name = inputs.first().attr('name');
4243
+ var val = '';
4244
+
4245
+ holder.attr('pagelayer-set-global', 1);
4246
+
4247
+ if(name in setFonts){
4248
+ val = setFonts[name];
4249
+ }
4250
+
4251
+ if(typeof val == 'object'){
4252
+ for(var mode in modes){
4253
+ var _val = '';
4254
+ if(mode in val){
4255
+ _val = val[mode];
4256
+ }
4257
+
4258
+ holder.find('.pagelayer-elp-typo-input[name="'+name+modes[mode]+'"]').val(_val);
4259
+ }
4260
+ }else{
4261
+
4262
+ if(inputs.length > 1){
4263
+ inputs.val('');
4264
+ }
4265
+
4266
+ inputs.first().val(val);
4267
+ }
4268
+
4269
+ if(skip_save){
4270
+ return;
4271
+ }
4272
+
4273
+ // save value
4274
+ clearTimeout(save_timer);
4275
+ save_timer = setTimeout(save_typography, 200);
4276
+
4277
+ });
4278
+ });
4279
+
4280
  // Handle for global font
4281
  row.find('.pagelayer-global-font-list-item').on('click', function(e){
4282
  e.stopPropagation();
4283
 
4284
  var listItem = jQuery(this);
4285
+ var fontSelect = row.find('.pagelayer-elp-typo-family .pagelayer-elp-typo-input');
4286
+
4287
+ // Remove global typo
4288
+ if(listItem.hasClass('pagelayer-global-selected')){
4289
+ row.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
4290
+ row.find('.pagelayer-elp-global-icon').removeClass('pagelayer-active-global');
4291
+ row.find('[pagelayer-set-global]').removeAttr('pagelayer-set-global');
4292
+ row.find('.pagelayer-global-on').removeClass('pagelayer-global-on');
4293
+
4294
+ // To save and render the typo
4295
+ fontSelect.trigger('change');
4296
+ return;
4297
+ }
4298
+
4299
  var globalID = listItem.data('global-id');
4300
  var listHolder = row.find('.pagelayer-global-font-list');
4301
 
4302
  // Remove previous selecttion
4303
  listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected');
4304
  listItem.addClass('pagelayer-global-selected');
4305
+ row.find('.pagelayer-elp-global-icon').addClass('pagelayer-active-global');
4306
+ row.find('.pagelayer-elp-typo-fonts').addClass('pagelayer-global-on');
4307
  listHolder.slideUp();
4308
 
 
 
 
 
4309
  pagelayer_link_font_family(fontSelect); // Apply google fonts
4310
 
4311
+ // Set global value to all fields and save
4312
+ row.find('.pagelayer-elp-label .pagelayer-typo-default').click();
4313
+ });
4314
+
4315
+ // Active global typography
4316
+ if(!pagelayer_empty(is_typo)){
4317
+ row.find('[data-global-id="'+is_typo+'"]').addClass('pagelayer-global-selected');
4318
+ row.find('.pagelayer-elp-global-icon').addClass('pagelayer-active-global');
4319
+ row.find('.pagelayer-elp-typo-fonts').addClass('pagelayer-global-on');
4320
+
4321
+ // Show the global values if is not customize
4322
+ row.find('.pagelayer-elp-typo').attr('pagelayer-set-global', 1);
4323
+ row.find('.pagelayer-elp-typo').find('select, input').each(function(){
4324
+ var sEle = jQuery(this);
4325
+ var val = sEle.val();
4326
+
4327
+ if(pagelayer_empty(val)){
4328
+ return true;
4329
+ }
4330
+
4331
+ sEle.closest('.pagelayer-elp-typo').removeAttr('pagelayer-set-global');
4332
+ });
4333
+
4334
+ row.find('[pagelayer-set-global="1"] .pagelayer-typo-default').trigger('click', [true]);
4335
+ }
4336
+
4337
+ // Set screen mode on change
4338
+ row.find('.pagelayer-elp-screen .pli:not(.pagelayer-prop-screen)').on('click', function(){
4339
+ var mode = 'desktop';
4340
+ var jEle = jQuery(this);
4341
+
4342
+ // Tablet ?
4343
+ if(jEle.hasClass('pli-tablet')){
4344
+ mode = 'tablet';
4345
+ }
4346
+
4347
+ // Mobile ?
4348
+ if(jEle.hasClass('pli-mobile')){
4349
+ mode = 'mobile';
4350
+ }
4351
+
4352
+ pagelayer_set_screen_mode(mode);
4353
+ row.find('.pagelayer-elp-screen .pli').removeClass('open');
4354
+ });
4355
+
4356
+ row.find('.pagelayer-elp-screen').on('pagelayer-screen-changed', function(e){
4357
+ var mode = pagelayer_get_screen_mode();
4358
+ row.find('[pagelayer-screen-mode]').attr('pagelayer-screen-mode', mode);
4359
+ });
4360
+
4361
+ row.find('.pagelayer-elp-screen .pagelayer-prop-screen').on('click', function(e){
4362
+ jQuery(this).siblings().toggleClass('open');
4363
  });
4364
 
4365
  }
5320
 
5321
  // Function which checks the properties to not to show default button
5322
  function pagelayer_properties_filter(property){
5323
+ var propTypeDefault = ['image', 'text', 'editor', 'textarea', 'checkbox', 'access', 'modal', 'group', 'radio', 'postCategory', 'postTags', 'postDate', 'gradient'];
5324
 
5325
  return (jQuery.inArray(property, propTypeDefault) == -1)
5326
  }
js/widgets.js CHANGED
@@ -1654,6 +1654,10 @@ function pagelayer_render_end_pl_anim_heading(el){
1654
  pagelayer_anim_heading(jEle);
1655
  }
1656
 
 
 
 
 
1657
  ////////////////
1658
  // Freemium End
1659
  ////////////////
1654
  pagelayer_anim_heading(jEle);
1655
  }
1656
 
1657
+ function pagelayer_render_pl_post_title(el){
1658
+ el['atts']['open_html_tag'] = !pagelayer_empty(el['atts']['html_tag']) ? '<'+el['atts']['html_tag']+'>' : '';
1659
+ el['atts']['close_html_tag'] = !pagelayer_empty(el['atts']['html_tag']) ? '</'+el['atts']['html_tag']+'>' : '';
1660
+ }
1661
  ////////////////
1662
  // Freemium End
1663
  ////////////////
languages/en.json CHANGED
@@ -1978,5 +1978,9 @@
1978
  "tools" : "Tools",
1979
  "navigator_options" : "Navigator Options",
1980
  "delete_widget" : "Delete active widget",
1981
- "general_shortcuts" : "General Shortcuts"
 
 
 
 
1982
  }
1978
  "tools" : "Tools",
1979
  "navigator_options" : "Navigator Options",
1980
  "delete_widget" : "Delete active widget",
1981
+ "general_shortcuts" : "General Shortcuts",
1982
+ "global_fonts" : "Global Fonts",
1983
+ "restore_global" : "Restore Global",
1984
+ "list_type" : "List Type",
1985
+ "html_tag" : "HTML Tag"
1986
  }
main/class.php CHANGED
@@ -52,6 +52,7 @@ class PageLayer{
52
  var $runtime_fonts = array();
53
  var $fonts_sent = array();
54
  var $system_fonts = array();
 
55
 
56
  // Array of all the template paths
57
  var $all_template_paths = array();
@@ -133,6 +134,7 @@ class PageLayer{
133
  $this->system_fonts = ['Arial', 'Arial Black', 'Courier', 'Georgia', 'Helvetica', 'impact', 'Tahoma', 'Times New Roman', 'Trebuchet MS', 'Verdana'];
134
  $this->customizer_mods = get_option('pagelayer_customizer_mods', []);
135
  $this->support = (defined('SITEPAD') ? 'http://sitepad.deskuss.com' : $this->support);
 
136
 
137
  }
138
 
52
  var $runtime_fonts = array();
53
  var $fonts_sent = array();
54
  var $system_fonts = array();
55
+ var $typo_props = array();
56
 
57
  // Array of all the template paths
58
  var $all_template_paths = array();
134
  $this->system_fonts = ['Arial', 'Arial Black', 'Courier', 'Georgia', 'Helvetica', 'impact', 'Tahoma', 'Times New Roman', 'Trebuchet MS', 'Verdana'];
135
  $this->customizer_mods = get_option('pagelayer_customizer_mods', []);
136
  $this->support = (defined('SITEPAD') ? 'http://sitepad.deskuss.com' : $this->support);
137
+ $this->typo_props = ['font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing'];
138
 
139
  }
140
 
main/customizer-controls.php CHANGED
@@ -137,13 +137,16 @@ class Pagelayer_Padding_Control extends Pagelayer_Customize_Control {
137
  $screens = array('', '_tablet', '_mobile');
138
  }
139
 
140
- echo '<div class="pagelayer-paddings-holder" data-device-detector="desktop">';
141
 
142
  foreach($screens as $screen){
143
 
144
- $show_device = empty($screen)? '_desktop' : $screen;
 
 
 
145
 
146
- echo '<div class="pagelayer-control-padding" data-show-device="'.$show_device.'">';
147
  foreach($settings as $setting){
148
 
149
  // Skip units for responsive
@@ -192,76 +195,90 @@ class Pagelayer_typo_Control extends Pagelayer_Customize_Control {
192
 
193
  // Output the label and description if they were passed in.
194
  if ( isset( $this->label ) && '' !== $this->label ) {
195
- echo '<span class="customize-control-title">' . sanitize_text_field( $this->label );
196
- if(!empty($this->responsive )){
197
- echo '<span class="pagelayer-devices">
198
- <button type="button" class="active-device" aria-pressed="true" data-device="desktop">
199
- <i class="dashicons dashicons-desktop"></i>
200
- </button>
201
- <button type="button"aria-pressed="false" data-device="tablet">
202
- <i class="dashicons dashicons-tablet"></i>
203
- </button>
204
- <button type="button" aria-pressed="false" data-device="mobile">
205
- <i class="dashicons dashicons-smartphone"></i>
206
- </button>
207
- </span>';
208
- }
209
- echo '</span>';
210
  }
211
 
212
- $screens = array('');
213
  $settings = $pagelayer->font_settings;
214
 
215
- if(!empty($this->responsive)){
216
- $screens = array('', '_tablet', '_mobile');
217
- }
218
-
219
- echo '<div class="pagelayer-typography-holder" data-device-detector="desktop">';
220
-
221
- foreach($screens as $screen){
222
 
223
- $show_device = empty($screen)? '_desktop' : $screen;
224
- $global_font = $this->value('global-font'.$screen);
225
 
226
  if(!empty($global_font) && !isset($pagelayer->global_fonts[$global_font])){
227
  $global_font = 'primary';
228
  }
229
 
230
- echo '<div class="pagelayer-control-typography" data-show-device="'.$show_device.'">';
231
  ?>
232
- <div class="pagelayer-control-typo-holder">
233
  <div class="pagelayer-control-typo-icons-holder">
234
- <span class="pagelayer-control-global-typo-icon dashicons dashicons-admin-site-alt3"></span>
235
  <span class="pagelayer-control-typo-icon dashicons dashicons-edit"></span>
236
  </div>
237
- <div class="pagelayer-global-font-list">
238
  <div class="pagelayer-global-setting-font">
239
- <b>Global Fonts</b>
240
- <span class="dashicons dashicons-admin-generic"></span></div>
241
- <input class="pagelayer-global-font-input" type="hidden" <?php $this->link('global-font'.$screen); ?> value="<?php echo esc_attr($global_font); ?>" data-key="<?php echo esc_attr($global_font); ?>">
242
- </div>
243
- <div class="pagelayer-control-typo">
 
 
244
  <?php foreach($settings as $sk => $sval){ ?>
245
- <div class="pagelayer-control-typo-fields">
246
- <label class="pagelayer-control-typo-fields-label"><?php echo $sval['label']?></label>
247
- <?php if(isset($sval['choices'])){ ?>
248
- <select <?php $this->link($sk.$screen); ?> data-font-key="<?php echo $sk;?>" data-default-value="<?php echo esc_attr($this->value($sk.$screen)); ?>">
249
- <?php
250
- // This add this js
251
- //echo pagelayer_create_font_options($sval['choices'], $this->value($sk.$screen));
252
- ?>
253
- </select>
254
- <?php } else { ?>
255
- <input type="number" <?php $this->link($sk.$screen); ?> value="<?php echo esc_attr($this->value($sk.$screen)); ?>">
 
 
 
 
 
 
 
 
 
256
  <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  </div>
258
  <?php }?>
259
  </div>
260
  </div>
261
- <?php
262
- echo '</div>';
263
- }
264
- echo '</div>';
265
  }
266
  }
267
 
@@ -457,7 +474,7 @@ class Pagelayer_Font_Repeater_Control extends Pagelayer_Customize_Control {
457
  <?php if( !empty( $this->description ) ) { ?>
458
  <span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span>
459
  <?php } ?>
460
- <input type="hidden" class="pagelayer-font-palette-data" value="<?php echo $values; ?>" <?php $this->link(); ?>>
461
  <?php
462
  foreach( $decode_values as $kk => $val){ ?>
463
 
@@ -474,20 +491,60 @@ class Pagelayer_Font_Repeater_Control extends Pagelayer_Customize_Control {
474
 
475
  <?php foreach($settings as $sk => $sval){ ?>
476
  <div class="pagelayer-control-typo-fields">
477
- <label class="pagelayer-control-typo-fields-label"><?php echo $sval['label']?></label>
478
 
479
- <?php if(isset($sval['choices'])){ ?>
480
- <select name="<?php echo $sk; ?>" data-font-key="<?php echo $sk;?>" data-default-value="<?php echo (empty($val['value'][$sk]) ? '' : $val['value'][$sk]) ?>">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
481
  <?php
482
  // This add this js
483
  //echo pagelayer_create_font_options($sval['choices'], $val['value'][$sk]);
484
  ?>
485
  </select>
486
  <?php } else { ?>
487
- <input type="number" name="<?php echo $sk; ?>" value="<?php echo (empty($val['value'][$sk]) ? '' : $val['value'][$sk]) ?>">
488
- <?php } ?>
 
 
 
489
  </div>
490
- <?php }?>
491
 
492
  </div>
493
  </div>
137
  $screens = array('', '_tablet', '_mobile');
138
  }
139
 
140
+ echo '<div class="pagelayer-paddings-holder">';
141
 
142
  foreach($screens as $screen){
143
 
144
+ $show_device = '';
145
+ if(count($screens) > 1){
146
+ $show_device = 'data-show-device="'.(empty($screen) ? '_desktop' : $screen).'"';
147
+ }
148
 
149
+ echo '<div class="pagelayer-control-padding" '.$show_device.'>';
150
  foreach($settings as $setting){
151
 
152
  // Skip units for responsive
195
 
196
  // Output the label and description if they were passed in.
197
  if ( isset( $this->label ) && '' !== $this->label ) {
198
+ echo '<span class="customize-control-title">' . sanitize_text_field( $this->label ) .'</span>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  }
200
 
 
201
  $settings = $pagelayer->font_settings;
202
 
203
+ echo '<div class="pagelayer-typography-holder">';
 
 
 
 
 
 
204
 
205
+ $global_font = $this->value('global-font');
 
206
 
207
  if(!empty($global_font) && !isset($pagelayer->global_fonts[$global_font])){
208
  $global_font = 'primary';
209
  }
210
 
211
+ echo '<div class="pagelayer-control-typography">';
212
  ?>
213
+ <div class="pagelayer-control-typo-holder <?php echo (!empty($global_font) ? 'pagelayer-global-on' : ''); ?>">
214
  <div class="pagelayer-control-typo-icons-holder">
 
215
  <span class="pagelayer-control-typo-icon dashicons dashicons-edit"></span>
216
  </div>
217
+ <div class="pagelayer-control-typo">
218
  <div class="pagelayer-global-setting-font">
219
+ <b><?php _e('Global Fonts'); ?></b>
220
+ <span class="pagelayer-control-global-typo-icon dashicons dashicons-admin-site-alt3"></span>
221
+ <span class="dashicons dashicons-admin-generic"></span>
222
+ <input class="pagelayer-global-font-input" type="hidden" <?php $this->link('global-font'); ?> value="<?php echo esc_attr($global_font); ?>" data-key="<?php echo esc_attr($global_font); ?>">
223
+
224
+ <div class="pagelayer-global-font-list"></div>
225
+ </div>
226
  <?php foreach($settings as $sk => $sval){ ?>
227
+ <div class="pagelayer-control-typo-fields <?php $this->value($field_name)?>">
228
+ <label class="pagelayer-control-typo-fields-label"><?php echo $sval['label']?>
229
+ <?php
230
+ $screens = array('');
231
+ if(!empty($sval['responsive'])){
232
+
233
+ $screens = array('desktop', 'tablet', 'mobile');
234
+
235
+ ?>
236
+ <span class="pagelayer-devices">
237
+ <button type="button" class="active-device" aria-pressed="true" data-device="desktop">
238
+ <i class="dashicons dashicons-desktop"></i>
239
+ </button>
240
+ <button type="button"aria-pressed="false" data-device="tablet">
241
+ <i class="dashicons dashicons-tablet"></i>
242
+ </button>
243
+ <button type="button" aria-pressed="false" data-device="mobile">
244
+ <i class="dashicons dashicons-smartphone"></i>
245
+ </button>
246
+ </span>
247
  <?php } ?>
248
+ <span class="pagelayer-typo-global-default dashicons dashicons-undo" title="<?php _e('Restore Global'); ?>"></span>
249
+ </label>
250
+ <?php
251
+ foreach($screens as $screen){
252
+
253
+ $show_device = '';
254
+ $field_name = $sk;
255
+
256
+ if(count($screens) > 1){
257
+ $show_device = 'data-show-device="_'.$screen.'"';
258
+ $field_name = $sk.($screen == 'desktop' ? '' : '_'.$screen);
259
+ }
260
+
261
+ $field_val = esc_attr($this->value($field_name));
262
+
263
+ if(isset($sval['choices'])){ ?>
264
+
265
+ <select name="<?php echo $field_name; ?>" <?php $this->link($field_name); ?> data-font-key="<?php echo $sk;?>" data-default-value="<?php echo $field_val; ?>" <?php echo $show_device; ?>>
266
+ <?php
267
+ // This add this js
268
+ //echo pagelayer_create_font_options($sval['choices'], $this->value($field_name));
269
+ ?>
270
+ </select>
271
+ <?php } else { ?>
272
+ <input name="<?php echo $field_name; ?>" type="number" <?php $this->link($field_name); ?> <?php echo $show_device; ?>>
273
+ <?php }
274
+ }
275
+ ?>
276
  </div>
277
  <?php }?>
278
  </div>
279
  </div>
280
+ <?php
281
+ echo '</div></div>';
 
 
282
  }
283
  }
284
 
474
  <?php if( !empty( $this->description ) ) { ?>
475
  <span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span>
476
  <?php } ?>
477
+ <input type="hidden" class="pagelayer-font-palette-data" <?php $this->link(); ?>>
478
  <?php
479
  foreach( $decode_values as $kk => $val){ ?>
480
 
491
 
492
  <?php foreach($settings as $sk => $sval){ ?>
493
  <div class="pagelayer-control-typo-fields">
494
+ <label class="pagelayer-control-typo-fields-label"><?php echo $sval['label']?>
495
 
496
+ <?php
497
+ $screens = array('');
498
+ if(!empty($sval['responsive'])){
499
+
500
+ $screens = array('desktop', 'tablet', 'mobile');
501
+
502
+ ?>
503
+ <span class="pagelayer-devices">
504
+ <button type="button" class="active-device" aria-pressed="true" data-device="desktop">
505
+ <i class="dashicons dashicons-desktop"></i>
506
+ </button>
507
+ <button type="button"aria-pressed="false" data-device="tablet">
508
+ <i class="dashicons dashicons-tablet"></i>
509
+ </button>
510
+ <button type="button" aria-pressed="false" data-device="mobile">
511
+ <i class="dashicons dashicons-smartphone"></i>
512
+ </button>
513
+ </span>
514
+ <?php } ?>
515
+ </label>
516
+
517
+ <?php
518
+ foreach($screens as $screen){
519
+
520
+ $show_device = '';
521
+ $field_name = $sk;
522
+ $field_val = (empty($val['value'][$sk]) ? '' : $val['value'][$sk]);
523
+
524
+ if(count($screens) > 1){
525
+ $field_name = $sk.'['.$screen.']';
526
+ $show_device = 'data-show-device="_'.$screen.'"';
527
+
528
+ if(is_array($field_val)){
529
+ $field_val = (empty($field_val[$screen]) ? '' : $field_val[$screen]);
530
+ }
531
+ }
532
+
533
+ if(isset($sval['choices'])){ ?>
534
+ <select name="<?php echo $field_name; ?>" data-font-key="<?php echo $sk;?>" data-default-value="<?php echo $field_val; ?>" <?php echo $show_device;?>>
535
  <?php
536
  // This add this js
537
  //echo pagelayer_create_font_options($sval['choices'], $val['value'][$sk]);
538
  ?>
539
  </select>
540
  <?php } else { ?>
541
+ <input type="number" name="<?php echo $field_name; ?>" value="<?php echo $field_val; ?>" <?php echo $show_device;?>>
542
+ <?php
543
+ }
544
+ }
545
+ ?>
546
  </div>
547
+ <?php } ?>
548
 
549
  </div>
550
  </div>
main/customizer.php CHANGED
@@ -52,43 +52,49 @@ function pagelayer_customize_controls_print_styles(){
52
  $pagelayer->font_settings = array(
53
  'font-family' => array(
54
  'label' => __('Family', 'pagelayer'),
55
- 'choices' => $font_family,
56
  ),
57
  'font-size' => array(
58
- 'label' => __('Size', 'pagelayer'),
 
59
  ),
60
  'font-style' => array(
61
  'label' => __('Style', 'pagelayer'),
62
- 'choices' => $style,
63
  ),
64
  'font-weight' => array(
65
  'label' => __('Weight', 'pagelayer'),
66
- 'choices' => $weight,
 
67
  ),
68
  'font-variant' => array(
69
  'label' => __('Variant', 'pagelayer'),
70
- 'choices' => $variant,
71
  ),
72
  'text-decoration-line' => array(
73
  'label' => __('Decoration', 'pagelayer'),
74
- 'choices' => $decoration,
75
  ),
76
  'text-decoration-style' => array(
77
  'label' => __('Decoration Style', 'pagelayer'),
78
- 'choices' => $decoration_style,
79
  ),
80
  'line-height' => array(
81
- 'label' => __('Line Height', 'pagelayer'),
 
82
  ),
83
  'text-transform' => array(
84
- 'label' => __('Transform', 'pagelayer'),
85
- 'choices' => $transform,
86
  ),
87
  'letter-spacing' => array(
88
- 'label' => __('Text Spacing', 'pagelayer'),
 
89
  ),
90
  'word-spacing' => array(
91
- 'label' => __('Word Spacing', 'pagelayer'), ),
 
 
92
  );
93
 
94
  $styles = '<style id="pagelayer-customize-global-style">:root{';
52
  $pagelayer->font_settings = array(
53
  'font-family' => array(
54
  'label' => __('Family', 'pagelayer'),
55
+ 'choices' => $font_family
56
  ),
57
  'font-size' => array(
58
+ 'label' => __('Size', 'pagelayer'),
59
+ 'responsive' => 1,
60
  ),
61
  'font-style' => array(
62
  'label' => __('Style', 'pagelayer'),
63
+ 'choices' => $style,
64
  ),
65
  'font-weight' => array(
66
  'label' => __('Weight', 'pagelayer'),
67
+ 'choices' => $weight,
68
+ 'responsive' => 1,
69
  ),
70
  'font-variant' => array(
71
  'label' => __('Variant', 'pagelayer'),
72
+ 'choices' => $variant,
73
  ),
74
  'text-decoration-line' => array(
75
  'label' => __('Decoration', 'pagelayer'),
76
+ 'choices' => $decoration,
77
  ),
78
  'text-decoration-style' => array(
79
  'label' => __('Decoration Style', 'pagelayer'),
80
+ 'choices' => $decoration_style,
81
  ),
82
  'line-height' => array(
83
+ 'label' => __('Line Height', 'pagelayer'),
84
+ 'responsive' => 1,
85
  ),
86
  'text-transform' => array(
87
+ 'label' => __('Transform', 'pagelayer'),
88
+ 'choices' => $transform,
89
  ),
90
  'letter-spacing' => array(
91
+ 'label' => __('Text Spacing', 'pagelayer'),
92
+ 'responsive' => 1,
93
  ),
94
  'word-spacing' => array(
95
+ 'label' => __('Word Spacing', 'pagelayer'),
96
+ 'responsive' => 1,
97
+ ),
98
  );
99
 
100
  $styles = '<style id="pagelayer-customize-global-style">:root{';
main/functions.php CHANGED
@@ -3134,7 +3134,7 @@ function pagelayer_maybe_explode( $separator = ',', $string = '', $limit = PHP_I
3134
  function pagelayer_maybe_implode($array, $separator = ','){
3135
 
3136
  if(is_array($array)){
3137
- return implode($separator, $array);
3138
  }
3139
 
3140
  return $array;
@@ -3489,7 +3489,7 @@ function pagelayer_load_global_palette(){
3489
  }
3490
 
3491
  // Sanitize style props for colors and fons
3492
- function pagelayer_sanitize_global_style($val){
3493
  global $pagelayer;
3494
 
3495
  // Sanitize Global background color
@@ -3506,20 +3506,50 @@ function pagelayer_sanitize_global_style($val){
3506
  $val['color'] = 'var(--pagelayer-color-'.$gcolor.')';
3507
  }
3508
 
3509
- if(empty($val['global-font'])){
 
3510
  return $val;
3511
  }
3512
 
3513
- $font_key = $val['global-font'];
 
 
 
 
 
 
 
 
 
 
 
 
3514
 
3515
  if(!isset($pagelayer->global_fonts[$font_key])){
3516
  $font_key = 'primary';
3517
  }
3518
 
3519
- // This array contains other values like margin padding so we merge the array
3520
- $val = array_merge($val, $pagelayer->global_fonts[$font_key]['value']);
3521
- unset($val['global-font']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3522
 
 
 
 
3523
  return $val;
3524
  }
3525
 
@@ -3531,4 +3561,34 @@ function pagelayer_is_empty_array($arr){
3531
  }
3532
 
3533
  return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3534
  }
3134
  function pagelayer_maybe_implode($array, $separator = ','){
3135
 
3136
  if(is_array($array)){
3137
+ return @implode($separator, $array);
3138
  }
3139
 
3140
  return $array;
3489
  }
3490
 
3491
  // Sanitize style props for colors and fons
3492
+ function pagelayer_sanitize_global_style($val, $val_desk = '', $mode = 'desktop'){
3493
  global $pagelayer;
3494
 
3495
  // Sanitize Global background color
3506
  $val['color'] = 'var(--pagelayer-color-'.$gcolor.')';
3507
  }
3508
 
3509
+ // Not set global for typo
3510
+ if(empty($val['global-font']) && empty($val_desk['global-font'])){
3511
  return $val;
3512
  }
3513
 
3514
+ $_desk_global = false;
3515
+
3516
+ if(empty($val['global-font'])){
3517
+ $font_key = @$val_desk['global-font'];
3518
+ $_desk_global = true;
3519
+ }else{
3520
+ $font_key = $val['global-font'];
3521
+ unset($val['global-font']);
3522
+ }
3523
+
3524
+ if(empty($font_key)){
3525
+ return $val;
3526
+ }
3527
 
3528
  if(!isset($pagelayer->global_fonts[$font_key])){
3529
  $font_key = 'primary';
3530
  }
3531
 
3532
+ $_val = [];
3533
+
3534
+ // Apply global typo
3535
+ foreach($pagelayer->typo_props as $typo_key){
3536
+
3537
+ if(!empty($val[$typo_key])){
3538
+ continue;
3539
+ }
3540
+
3541
+ $global_val = $pagelayer->global_fonts[$font_key]['value'];
3542
+
3543
+ if( empty($global_val[$typo_key]) || (is_array($global_val[$typo_key]) && empty($global_val[$typo_key][$mode])) || (!is_array($global_val[$typo_key]) && !empty($_desk_global) && $mode != 'desktop') ){
3544
+ continue;
3545
+ }
3546
+
3547
+ $_val[$typo_key] = 'var(--pagelayer-font-'.$font_key.'-'.$typo_key.')';
3548
+ }
3549
 
3550
+ // This array contains other values like margin padding so we merge the array
3551
+ $val = empty($val) ? array() : $val;
3552
+ $val = array_merge($val, $_val);
3553
  return $val;
3554
  }
3555
 
3561
  }
3562
 
3563
  return true;
3564
+ }
3565
+
3566
+ // Pagelayer load font family
3567
+ function pagelayer_load_font_family($font, $font_weight, $font_style){
3568
+ global $pagelayer;
3569
+
3570
+ // Load global fonts
3571
+ if(strripos($font, 'var(') !== false){
3572
+ $matches = [];
3573
+ preg_match('/(var\(--pagelayer-font-)(\w+)(-font-family\))/i', $font, $matches);
3574
+ $font_key = @$matches[2];
3575
+ $font = @$pagelayer->global_fonts[$font_key]['value']['font-family'];
3576
+ }
3577
+
3578
+ if(empty($font)){
3579
+ return;
3580
+ }
3581
+
3582
+ $font_weights = array('400' =>'400');
3583
+ $font_style = empty($font_style) ? 'normal' : $font_style;
3584
+ $font_style = in_array($font_style, ['italic', 'oblique']) ? 'i' : '';
3585
+
3586
+ if(!empty($font_weight)){
3587
+ $font_weights[$font_weight.$font_style] = $font_weight.$font_style;
3588
+ }
3589
+
3590
+ foreach($font_weights as $fkey => $fvalue){
3591
+ $pagelayer->runtime_fonts[$font][$fkey] = $fvalue;
3592
+ }
3593
+
3594
  }
main/shortcode_functions.php CHANGED
@@ -378,6 +378,8 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
378
  'mobile' => '_mobile'
379
  ];
380
 
 
 
381
  // Handle the CSS
382
  if(!empty($param['css'])){
383
  //echo $prop.'<br>';
@@ -392,24 +394,37 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
392
  $M_prop = $prop.$mv;
393
 
394
  // Any value ?
395
- if(empty($el['atts'][$M_prop])){
396
  continue;
397
  }
398
 
399
  $prop_val = $el['atts'][$M_prop];
400
 
401
  // Global color handler
402
- if($param['type'] == 'color' && $prop_val[0] == '$' ){
403
- $gkey = substr($prop_val, 1);
404
- $gkey = isset($pagelayer->global_colors[$gkey]) ? $gkey : 'primary';
405
- $prop_val = 'var(--pagelayer-color-'.$gkey.')';
406
  }
407
 
408
- // If is global color
409
- if($param['type'] == 'typography' && $prop_val[0] == '$' ){
410
- $gkey = substr($prop_val, 1);
411
- $gkey = isset($pagelayer->global_fonts[$gkey]) ? $gkey : 'primary';
412
- $prop_val = array_values($pagelayer->global_fonts[$gkey]['value']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
413
  }
414
 
415
  // Loop through
@@ -419,7 +434,6 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
419
  $selector = (!is_numeric($k) ? $k : $el['cssSel']);
420
  $selector = pagelayer_parse_el_vars($selector, $el);
421
 
422
-
423
  if($mk == 'tablet'){
424
  $selector = '|pl_tablet|'.$selector;
425
  }
@@ -440,32 +454,28 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
440
 
441
  }
442
 
 
443
  // Loop the modes and check for values
444
  foreach($modes as $mk => $mv){
445
 
446
  $M_prop = $prop.$mv;
 
447
  if($param['type'] == 'typography' && !empty($el['atts'][$M_prop])){
448
 
449
- $prop_val = $el['atts'][$M_prop];
450
 
451
- // If is global typo
452
- if($prop_val[0] == '$' ){
453
- $gkey = substr($prop_val, 1);
454
- $gkey = isset($pagelayer->global_fonts[$gkey]) ? $gkey : 'primary';
455
- $prop_val = array_values($pagelayer->global_fonts[$gkey]['value']);
456
  }
457
 
458
- $val = pagelayer_maybe_explode(',', $prop_val);
459
 
460
  if(!empty($val[0])){
461
- $font_weights = array('400' =>'400');
462
- $font_style = !empty($val[2]) && in_array($val[2], ['italic', 'oblique']) ? 'i' : '';
463
-
464
- if(!empty($val[3])){
465
- $font_weights[$val[3].$font_style] = $val[3].$font_style;
466
- }
467
-
468
- $pagelayer->runtime_fonts[$val[0]] = $font_weights;
469
  //pagelayer_print($pagelayer->runtime_fonts);
470
  }
471
  }
@@ -473,18 +483,7 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
473
  if($prop == 'font_family' && !empty($el['atts'][$M_prop])){
474
  $val = $el['atts'][$M_prop];
475
  if(!empty($val)){
476
- $font_weights = array('400' =>'400');
477
- $font_weight = empty($el['atts']['font_weight'.$mv]) ? @$el['atts']['font_weight'] : $el['atts']['font_weight'.$mv];
478
- $font_style = empty($el['atts']['font_style'.$mv]) ? @$el['atts']['font_style'] : $el['atts']['font_style'.$mv];
479
- $font_style = empty($font_style) ? 'normal' : $font_style;
480
- $font_style = in_array($font_style, ['italic', 'oblique']) ? 'i' : '';
481
-
482
- if(!empty($font_weight)){
483
- $font_weights[$font_weight.$font_style] = $font_weight.$font_style;
484
- }
485
-
486
- $pagelayer->runtime_fonts[$val] = $font_weights;
487
-
488
  }
489
  }
490
  }
@@ -854,6 +853,97 @@ function pagelayer_var($var){
854
  return substr($var, 2, -2);
855
  }
856
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
857
  // Replace the variables
858
  function pagelayer_parse_el_vars($str, &$el){
859
 
@@ -909,18 +999,31 @@ function pagelayer_css_render($rule, $val, $sep = ','){
909
  }
910
 
911
  // Replace the val
912
- $rule = str_replace('{{val}}', pagelayer_hex8_to_rgba($val), $rule);
913
 
914
  // If there is an array
915
  if(preg_match('/\{val\[\d/is', $rule)){
916
  $val = explode($sep, $val);
917
  foreach($val as $k => $v){
918
- $rule = str_replace('{{val['.$k.']}}', pagelayer_hex8_to_rgba($v), $rule);
919
  }
920
  }
921
 
922
  return $rule;
 
 
 
 
 
 
 
 
 
 
 
923
 
 
 
924
  }
925
 
926
  // Post Property Handler
378
  'mobile' => '_mobile'
379
  ];
380
 
381
+ $global_typo = ($param['type'] == 'typography') ? pagelayer_is_global_typo(@$el['atts'][$prop]) : '';
382
+
383
  // Handle the CSS
384
  if(!empty($param['css'])){
385
  //echo $prop.'<br>';
394
  $M_prop = $prop.$mv;
395
 
396
  // Any value ?
397
+ if(empty($el['atts'][$M_prop]) && empty($global_typo)){
398
  continue;
399
  }
400
 
401
  $prop_val = $el['atts'][$M_prop];
402
 
403
  // Global color handler
404
+ if($param['type'] == 'color'){
405
+ $prop_val = pagelayer_parse_color($prop_val);
 
 
406
  }
407
 
408
+ // If is global font
409
+ if($param['type'] == 'typography'){
410
+ $prop_val = pagelayer_parse_typo($prop_val, $global_typo, $mk);
411
+ }
412
+
413
+ // If there is global gradient color
414
+ if($param['type'] == 'gradient'){
415
+
416
+ $prop_val = pagelayer_maybe_explode(',', $prop_val);
417
+
418
+ foreach($prop_val as $grad_key => $grad_val){
419
+
420
+ if($grad_val[0] != '$'){
421
+ continue;
422
+ }
423
+
424
+ $prop_val[$grad_key] = pagelayer_parse_color($grad_val);
425
+
426
+ }
427
+
428
  }
429
 
430
  // Loop through
434
  $selector = (!is_numeric($k) ? $k : $el['cssSel']);
435
  $selector = pagelayer_parse_el_vars($selector, $el);
436
 
 
437
  if($mk == 'tablet'){
438
  $selector = '|pl_tablet|'.$selector;
439
  }
454
 
455
  }
456
 
457
+ $font_cache = '';
458
  // Loop the modes and check for values
459
  foreach($modes as $mk => $mv){
460
 
461
  $M_prop = $prop.$mv;
462
+
463
  if($param['type'] == 'typography' && !empty($el['atts'][$M_prop])){
464
 
465
+ $prop_val = pagelayer_parse_typo($el['atts'][$M_prop], $global_typo, $mk);
466
 
467
+ $val = pagelayer_maybe_explode(',', $prop_val);
468
+
469
+ //For backward comaptibility
470
+ if($mk == 'desktop'){
471
+ $font_cache = $val[0];
472
  }
473
 
474
+ $val[0] = empty($val[0]) ? $font_cache : $val[0];
475
 
476
  if(!empty($val[0])){
477
+ pagelayer_load_font_family($val[0], @$val[3], @$val[2]);
478
+
 
 
 
 
 
 
479
  //pagelayer_print($pagelayer->runtime_fonts);
480
  }
481
  }
483
  if($prop == 'font_family' && !empty($el['atts'][$M_prop])){
484
  $val = $el['atts'][$M_prop];
485
  if(!empty($val)){
486
+ pagelayer_load_font_family($val, @$el['atts']['font_weight'.$mv], @$el['atts']['font_style'.$mv]);
 
 
 
 
 
 
 
 
 
 
 
487
  }
488
  }
489
  }
853
  return substr($var, 2, -2);
854
  }
855
 
856
+ // Is the given global color
857
+ function pagelayer_is_global_typo($value){
858
+ global $pagelayer;
859
+
860
+ $typo_key = '';
861
+
862
+ // Backward compatibility
863
+ if(!is_array($value) && $value[0] == '$'){
864
+ $typo_key = substr($value, 1);
865
+ }
866
+
867
+ if(is_array($value) && isset($value['global-font'])){
868
+ $typo_key = $value['global-font'];
869
+ }
870
+
871
+ // If global color not exist
872
+ if(!empty($typo_key)){
873
+ $typo_key = isset($pagelayer->global_fonts[$typo_key]) ? $typo_key : 'primary';
874
+ }
875
+
876
+ return $typo_key;
877
+
878
+ }
879
+
880
+ // Parse typography and handle Backward compatibility
881
+ function pagelayer_parse_typo($value, $desk_global = '', $mk = 'desktop'){
882
+ global $pagelayer;
883
+
884
+ $value = empty($value)? [] : $value;
885
+
886
+ // Backward compatibility for comma seperated val
887
+ if(!is_array($value) && $value[0] != '$'){
888
+ return $value;
889
+ }
890
+
891
+ $val = ['','','','','','','','','','',''];
892
+ $global_typo = pagelayer_is_global_typo($value);
893
+ $_desk_global = false;
894
+
895
+ if( empty($global_typo) ){
896
+ $global_typo = $desk_global;
897
+ $_desk_global = true;
898
+ }
899
+
900
+ // Apply global typo
901
+ foreach($pagelayer->typo_props as $typo => $typo_key){
902
+
903
+ // Backspace compatibility for normal array and if is set global in '$' format like $primary
904
+ if(is_array($value) && !empty($value[$typo])){
905
+ $val[$typo] = $value[$typo];
906
+ }
907
+
908
+ if(!empty($value[$typo_key])){
909
+ $val[$typo] = $value[$typo_key];
910
+ }
911
+
912
+ if(!empty($val[$typo]) || empty($global_typo)){
913
+ continue;
914
+ }
915
+
916
+ $global_val = $pagelayer->global_fonts[$global_typo]['value'];
917
+
918
+ if( empty($global_val[$typo_key]) || (is_array($global_val[$typo_key]) && empty($global_val[$typo_key][$mk])) || (!is_array($global_val[$typo_key]) && !empty($_desk_global) && $mk != 'desktop') ){
919
+ continue;
920
+ }
921
+
922
+ $val[$typo] = 'var(--pagelayer-font-'.$global_typo.'-'.$typo_key.')';
923
+ }
924
+
925
+ return $val;
926
+ }
927
+
928
+ // Parse color for global color
929
+ function pagelayer_parse_color($value, $var = true){
930
+ global $pagelayer;
931
+
932
+ // Global color handler
933
+ if($value[0] != '$' ){
934
+ return $value;
935
+ }
936
+
937
+ $gkey = substr($value, 1);
938
+ $gkey = isset($pagelayer->global_colors[$gkey]) ? $gkey : 'primary';
939
+
940
+ if(empty($var)){
941
+ return @$pagelayer->global_colors[$gkey]['value'];
942
+ }
943
+
944
+ return 'var(--pagelayer-color-'.$gkey.')';
945
+ }
946
+
947
  // Replace the variables
948
  function pagelayer_parse_el_vars($str, &$el){
949
 
999
  }
1000
 
1001
  // Replace the val
1002
+ $rule = pagelayer_css_val_replace('{{val}}', pagelayer_hex8_to_rgba($val), $rule);
1003
 
1004
  // If there is an array
1005
  if(preg_match('/\{val\[\d/is', $rule)){
1006
  $val = explode($sep, $val);
1007
  foreach($val as $k => $v){
1008
+ $rule = pagelayer_css_val_replace('{{val['.$k.']}}', pagelayer_hex8_to_rgba($v), $rule);
1009
  }
1010
  }
1011
 
1012
  return $rule;
1013
+ }
1014
+
1015
+ // Make the rule
1016
+ function pagelayer_css_val_replace($val, $v, $rule){
1017
+
1018
+ // If value has css var then we remove units
1019
+ if(strripos($v, 'var(') !== false){
1020
+ $pattern = '/'.preg_quote($val, '/').'?[^\s|;]+/is';
1021
+ $rule = preg_replace($pattern, $v, $rule);
1022
+ return $rule;
1023
+ }
1024
 
1025
+ $rule = str_replace($val, $v, $rule);
1026
+ return $rule;
1027
  }
1028
 
1029
  // Post Property Handler
main/shortcodes.php CHANGED
@@ -530,6 +530,7 @@ $pagelayer->slider_pager_styles = [
530
  'dot_border_width' => array(
531
  'type' => 'padding',
532
  'label' => __pl('border_width'),
 
533
  'css' => [ '{{element}} .pagelayer-owl-dot span' => 'border-width: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;' ],
534
  'req' => ['!dot_border_type' => ''],
535
  ),
@@ -2154,6 +2155,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_row', array(
2154
  'default' => 10,
2155
  'min' => 0,
2156
  'step' => 1,
 
2157
  'max' => 1000,
2158
  'css' => ['{{element}} .pagelayer-col-holder' => 'padding: {{val}}px;'],
2159
  ),
@@ -3158,7 +3160,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_heading', array(
3158
  'heading_typo' => array(
3159
  'type' => 'typography',
3160
  'label' => __pl('typography'),
3161
- 'screen' => 1,
3162
  'css' => ['{{element}} .pagelayer-heading-holder *' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3163
  '{{element}} .pagelayer-heading-holder' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3164
  'show' => ['heading_state' => 'normal']
@@ -3178,7 +3179,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_heading', array(
3178
  'heading_typo_hover' => array(
3179
  'type' => 'typography',
3180
  'label' => __pl('typography'),
3181
- 'screen' => 1,
3182
  'css' => ['{{element}} .pagelayer-heading-holder:hover *' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3183
  '{{element}} .pagelayer-heading-holder:hover' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3184
  'show' => ['heading_state' => 'hover']
@@ -3255,12 +3255,12 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array(
3255
  'quote_content_space' => array(
3256
  'type' => 'dimension',
3257
  'label' => __pl('space_between'),
 
3258
  'css' => ['{{element}} .pagelayer-quote-content' => 'margin-top:{{val[0]}}px;margin-bottom:{{val[1]}}px;'],
3259
  ),
3260
  'quote_content_typo' => array(
3261
  'type' => 'typography',
3262
  'label' => __pl('quote_content_typo'),
3263
- 'screen' => 1,
3264
  'css' => ['{{element}} .pagelayer-quote-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3265
  ),
3266
  ),
@@ -3402,7 +3402,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array(
3402
  'type' => 'typography',
3403
  'label' => __pl('cite_typo'),
3404
  'default' => ',16,italic,,,,solid,,,,',
3405
- 'screen' => 1,
3406
  'css' => ['{{element}} .pagelayer-quote-cite' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3407
  )
3408
  ],
@@ -3583,7 +3582,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_list', array(
3583
  'list_typo' => array(
3584
  'type' => 'typography',
3585
  'label' => __pl('list_typo'),
3586
- 'screen' => 1,
3587
  'css' => [
3588
  '{{element}} li' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3589
  '{{element}} li > a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'
@@ -3625,7 +3623,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_list', array(
3625
  'list_typo_hover' => array(
3626
  'type' => 'typography',
3627
  'label' => __pl('list_typo'),
3628
- 'screen' => 1,
3629
  'css' => [
3630
  '{{element}} .pagelayer-list-ul > div:hover li' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3631
  '{{element}} .pagelayer-list-ul > div:hover li > a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'
@@ -4272,7 +4269,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_badge', array(
4272
  'type' => 'typography',
4273
  'label' => __pl('text_size'),
4274
  'default' => ',25,,400,,,,,,,',
4275
- 'screen' => 1,
4276
  'css' => ['{{element}} .pagelayer-badge-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
4277
  ),
4278
  ],
@@ -4440,7 +4436,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tooltip', array(
4440
  'type' => 'typography',
4441
  'label' => __pl('tooltip_title_size'),
4442
  'default' => ',25,,400,,,,,,,',
4443
- 'screen' => 1,
4444
  'css' => ['{{element}} .pagelayer-tooltip-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
4445
  '{{element}} .pagelayer-tooltip-icon i' => 'font-size: {{val[1]}}px !important;'],
4446
  ),
@@ -4502,7 +4497,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tooltip', array(
4502
  'type' => 'typography',
4503
  'label' => __pl('tooltip_text_size'),
4504
  'default' => ',18,,400,,,,,,,',
4505
- 'screen' => 1,
4506
  'css' => ['{{element}} .pagelayer-tooltip-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
4507
  ),
4508
  'tooltip_shadow' => array(
@@ -4612,6 +4606,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array(
4612
  'custom_size' => array(
4613
  'label' => __pl('image_custom_size_label'),
4614
  'type' => 'text',
 
4615
  'default' => '100x100',
4616
  'sep' => 'x',
4617
  'css' => ['{{element}} img' => 'width: {{val[0]}}px; height: {{val[1]}}px;'],
@@ -4623,7 +4618,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array(
4623
  'label' => __pl('obj_align_label'),
4624
  'type' => 'radio',
4625
  'default' => 'center',
4626
- 'addAttr' => 'align="{{align}}"',
4627
  'css' => ['{{element}} .pagelayer-image-holder' => 'text-align: {{val}}', '{{element}} .pagelayer-image-holder .pagelayer-image-overlay-content' => 'text-align: {{val}}'],
4628
  'list' => array(
4629
  'left' => __pl('left'),
@@ -4803,7 +4798,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array(
4803
  'caption_typo' => array(
4804
  'type' => 'typography',
4805
  'label' => __pl('typography'),
4806
- 'screen' => 1,
4807
  'css' => ['{{element}} .pagelayer-image-caption' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
4808
  )
4809
  ],
@@ -5267,7 +5261,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array(
5267
  'btn_typo' => array(
5268
  'type' => 'typography',
5269
  'label' => __pl('quote_content_typo'),
5270
- 'screen' => 1,
5271
  'css' => [
5272
  '{{element}} .pagelayer-btn-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
5273
  '{{element}} .pagelayer-btn-holder' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
@@ -6279,6 +6272,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
6279
  'service_img_alignment' => array(
6280
  'type' => 'radio',
6281
  'label' => __pl('horizontal_pos'),
 
6282
  'css' => ['{{element}} .pagelayer-service-image' => 'text-align: {{val}};,'],
6283
  'list' => array(
6284
  'left' => __pl('left'),
@@ -6468,7 +6462,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
6468
  'type' => 'typography',
6469
  'label' => __pl('service_heading_typo'),
6470
  'default' => ',28,,600,,,,,,,',
6471
- 'screen' => 1,
6472
  'css' => ['{{element}} .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6473
  'show' => ['heading_state' => 'normal'],
6474
  ),
@@ -6491,7 +6484,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
6491
  'heading_typo_hover' => array(
6492
  'type' => 'typography',
6493
  'label' => __pl('service_heading_typo'),
6494
- 'screen' => 1,
6495
  'css' => ['{{element}}:hover .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6496
  'show' => ['heading_state' => 'hover'],
6497
  ),
@@ -6605,13 +6597,13 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
6605
  'service_button_typo' => array(
6606
  'type' => 'typography',
6607
  'label' => __pl('typography'),
6608
- 'screen' => 1,
6609
  'css' => ['{{element}} .pagelayer-service-btn' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6610
  'req' => ['service_button' => 'true']
6611
  ),
6612
  'service_btn_spacing' => array(
6613
  'type' => 'padding',
6614
  'label' => __pl('spacing'),
 
6615
  'css' => ['{{element}} .pagelayer-service-btn' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'],
6616
  'req' => ['service_button' => 'true']
6617
  ),
@@ -6861,6 +6853,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
6861
  'service_icon_alignment' => array(
6862
  'type' => 'radio',
6863
  'label' => __pl('horizontal_pos'),
 
6864
  'css' => ['{{element}} .pagelayer-service-icon' => 'text-align: {{val}};,'],
6865
  'list' => array(
6866
  'left' => __pl('left'),
@@ -7186,7 +7179,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
7186
  'type' => 'typography',
7187
  'label' => __pl('service_heading_typo'),
7188
  'default' => ',28,,600,,,,,,,',
7189
- 'screen' => 1,
7190
  'css' => ['{{element}} .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7191
  'show' => ['heading_state' => 'normal']
7192
  ),
@@ -7209,7 +7201,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
7209
  'heading_typo_hover' => array(
7210
  'type' => 'typography',
7211
  'label' => __pl('service_heading_typo'),
7212
- 'screen' => 1,
7213
  'css' => ['{{element}}:hover .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7214
  'show' => ['heading_state' => 'hover']
7215
  ),
@@ -7313,7 +7304,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
7313
  'service_button_typo' => array(
7314
  'type' => 'typography',
7315
  'label' => __pl('typography'),
7316
- 'screen' => 1,
7317
  'css' => ['{{element}} .pagelayer-service-btn' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7318
  'req' => ['service_button' => 'true']
7319
  ),
@@ -7663,7 +7653,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tabs', array(
7663
  'tab_title_typo' => array(
7664
  'type' => 'typography',
7665
  'label' => __pl('tab_title_typo'),
7666
- 'screen' => 1,
7667
  'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7668
  ),
7669
  'tabs_icon_align' => array(
@@ -7691,7 +7680,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_tabs', array(
7691
  'tabs_content_typo' => array(
7692
  'type' => 'typography',
7693
  'label' => __pl('tab_content_typo'),
7694
- 'screen' => 1,
7695
  'css' => ['{{element}} .pagelayer-tabcontainer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7696
  ),
7697
  'tabs_content_color' => array(
@@ -7913,7 +7901,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_accordion', array(
7913
  'acc_content_typo' => array(
7914
  'type' => 'typography',
7915
  'label' => __pl('accordion_content_typo'),
7916
- 'screen' => 1,
7917
  'css' => ['{{element}} .pagelayer-accordion-panel' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7918
  ),
7919
  'acc_content_padding' => array(
@@ -8118,7 +8105,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_collapse', array(
8118
  'collapse_title_typo' => array(
8119
  'type' => 'typography',
8120
  'label' => __pl('collapsse_title_typo'),
8121
- 'screen' => 1,
8122
  'css' => ['{{element}} .pagelayer-accordion-tabs' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8123
  ),
8124
  ],
@@ -8607,7 +8593,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_testimonial', array(
8607
  'type' => 'typography',
8608
  'label' => __pl('cite_style'),
8609
  'default' => ',20,,100,,none,,,,,',
8610
- 'screen' => 1,
8611
  'css' => ['{{element}} .pagelayer-testimonial-author' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8612
  ),
8613
  'cite_url' => array(
@@ -8641,7 +8626,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_testimonial', array(
8641
  'type' => 'typography',
8642
  'label' => __pl('cite_designation_style'),
8643
  'default' => ',16,,100,,,,,,,',
8644
- 'screen' => 1,
8645
  'css' => ['{{element}} .pagelayer-testimonial-author-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8646
  ),
8647
  ],
@@ -8774,7 +8758,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_progress', array(
8774
  'type' => 'typography',
8775
  'label' => __pl('title_size'),
8776
  'default' => ',25,,100,,,,,,,',
8777
- 'screen' => 1,
8778
  'css' => ['{{element}} .pagelayer-progress-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8779
  ),
8780
  ],
@@ -8964,7 +8947,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_alert', array(
8964
  'type' => 'typography',
8965
  'label' => __pl('title_typo'),
8966
  'default' => ',22,,600,,,,,,,',
8967
- 'screen' => 1,
8968
  'css' => ['{{element}} .pagelayer-alert-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8969
  ),
8970
  ],
@@ -8987,7 +8969,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_alert', array(
8987
  'type' => 'typography',
8988
  'label' => __pl('title_typo'),
8989
  'default' => ',13,,,,,,,,,',
8990
- 'screen' => 1,
8991
  'css' => ['{{element}} .pagelayer-alert-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8992
  ),
8993
  ],
@@ -9067,7 +9048,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_stars', array(
9067
  'type' => 'typography',
9068
  'label' => __pl('counter_number_size'),
9069
  'default' => ',25,,600,,,solid,,,,',
9070
- 'screen' => 1,
9071
  'css' => ['{{element}} .pagelayer-stars-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9072
  ),
9073
  ],
@@ -9265,7 +9245,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_counter', array(
9265
  'type' => 'typography',
9266
  'label' => __pl('counter_number_size'),
9267
  'default' => ',60,,600,,,solid,,,,',
9268
- 'screen' => 1,
9269
  'css' => ['{{element}} .pagelayer-counter-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9270
  ),
9271
  ],
@@ -9286,7 +9265,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_counter', array(
9286
  'type' => 'typography',
9287
  'label' => __pl('counter_text_style'),
9288
  'default' => ',25,,400,,,solid,,,,',
9289
- 'screen' => 1,
9290
  'css' => ['{{element}} .pagelayer-counter-info' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9291
  ),
9292
  ],
@@ -9316,7 +9294,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_address', array(
9316
  'typography' => array(
9317
  'type' => 'typography',
9318
  'label' => __pl('typography'),
9319
- 'screen' => 1,
9320
  'css' => ['{{element}} .pagelayer-address *, {{element}} .pagelayer-address' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9321
  ),
9322
  'align' => array(
@@ -9392,7 +9369,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_email', array(
9392
  'typography' => array(
9393
  'type' => 'typography',
9394
  'label' => __pl('typography'),
9395
- 'screen' => 1,
9396
  'css' => ['{{element}} .pagelayer-email *, {{element}} .pagelayer-email' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9397
  ),
9398
  'align' => array(
@@ -9468,7 +9444,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_phone', array(
9468
  'typography' => array(
9469
  'type' => 'typography',
9470
  'label' => __pl('typography'),
9471
- 'screen' => 1,
9472
  'css' => ['{{element}} .pagelayer-phone *, {{element}} .pagelayer-phone' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9473
  ),
9474
  'align' => array(
@@ -9817,119 +9792,102 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_customizer', array(
9817
  ),
9818
  'body' => array(
9819
  'type' => 'typography',
9820
- 'screen' => 1,
9821
  'label' => __pl('body'),
9822
  'group' => 'body_group',
9823
  'css' => ['body.pagelayer-body' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9824
  ),
9825
  'header' => array(
9826
  'type' => 'typography',
9827
- 'screen' => 1,
9828
  'label' => __pl('header'),
9829
  'group' => 'header_group',
9830
  'css' => ['body.pagelayer-body header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9831
  ),
9832
  'h1' => array(
9833
  'type' => 'typography',
9834
- 'screen' => 1,
9835
  'label' => __pl('h1'),
9836
  'group' => 'h1_group',
9837
  'css' => ['body.pagelayer-body h1' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9838
  ),
9839
  'h2' => array(
9840
  'type' => 'typography',
9841
- 'screen' => 1,
9842
  'label' => __pl('h2'),
9843
  'group' => 'h2_group',
9844
  'css' => ['body.pagelayer-body h2' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9845
  ),
9846
  'h3' => array(
9847
  'type' => 'typography',
9848
- 'screen' => 1,
9849
  'label' => __pl('h3'),
9850
  'group' => 'h3_group',
9851
  'css' => ['body.pagelayer-body h3' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9852
  ),
9853
  'h4' => array(
9854
  'type' => 'typography',
9855
- 'screen' => 1,
9856
  'label' => __pl('h4'),
9857
  'group' => 'h4_group',
9858
  'css' => ['body.pagelayer-body h4' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9859
  ),
9860
  'h5' => array(
9861
  'type' => 'typography',
9862
- 'screen' => 1,
9863
  'label' => __pl('h5'),
9864
  'group' => 'h5_group',
9865
  'css' => ['body.pagelayer-body h5' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9866
  ),
9867
  'h6' => array(
9868
  'type' => 'typography',
9869
- 'screen' => 1,
9870
  'label' => __pl('h6'),
9871
  'group' => 'h6_group',
9872
  'css' => ['body.pagelayer-body h6' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9873
  ),
9874
  'b' => array(
9875
  'type' => 'typography',
9876
- 'screen' => 1,
9877
  'label' => __pl('b'),
9878
  'group' => 'b_group',
9879
  'css' => ['body.pagelayer-body b' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9880
  ),
9881
  'i' => array(
9882
  'type' => 'typography',
9883
- 'screen' => 1,
9884
  'label' => __pl('i'),
9885
  'group' => 'i_group',
9886
  'css' => ['body.pagelayer-body i' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9887
  ),
9888
  'a' => array(
9889
  'type' => 'typography',
9890
- 'screen' => 1,
9891
  'label' => __pl('a'),
9892
  'group' => 'a_group',
9893
  'css' => ['body.pagelayer-body a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9894
  ),
9895
  'a_hover' => array(
9896
  'type' => 'typography',
9897
- 'screen' => 1,
9898
  'label' => __pl('a-hover'),
9899
  'group' => 'a_hover_group',
9900
  'css' => ['body.pagelayer-body a:hover' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9901
  ),
9902
  'aside' => array(
9903
  'type' => 'typography',
9904
- 'screen' => 1,
9905
  'label' => __pl('aside'),
9906
  'group' => 'aside_group',
9907
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9908
  ),
9909
  'p' => array(
9910
  'type' => 'typography',
9911
- 'screen' => 1,
9912
  'label' => __pl('p'),
9913
  'group' => 'p_group',
9914
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9915
  ),
9916
  'entry-header' => array(
9917
  'type' => 'typography',
9918
- 'screen' => 1,
9919
  'label' => __pl('entry-header'),
9920
  'group' => 'entry_header_group',
9921
  'css' => ['body.pagelayer-body .entry-header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9922
  ),
9923
  'entry_content' => array(
9924
  'type' => 'typography',
9925
- 'screen' => 1,
9926
  'label' => __pl('entry-content'),
9927
  'group' => 'content_group',
9928
  'css' => ['body.pagelayer-body .entry-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9929
  ),
9930
  'entry_footer' => array(
9931
  'type' => 'typography',
9932
- 'screen' => 1,
9933
  'label' => __pl('entry-footer'),
9934
  'group' => 'footer_group',
9935
  'css' => ['body.pagelayer-body .entry-footer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
@@ -10499,7 +10457,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_customizer', array(
10499
  ),
10500
  'current_body' => array(
10501
  'type' => 'typography',
10502
- 'screen' => 1,
10503
  'label' => __pl('current_body'),
10504
  'group' => 'post_body_group',
10505
  'customizer_mods' => 'pagelayer_body_typography_{{post_type}}',
@@ -10508,112 +10465,96 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_customizer', array(
10508
  ),
10509
  'current_header' => array(
10510
  'type' => 'typography',
10511
- 'screen' => 1,
10512
  'label' => __pl('current_header'),
10513
  'group' => 'post_header_group',
10514
  'css' => ['body.pagelayer-body header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10515
  ),
10516
  'current_h1' => array(
10517
  'type' => 'typography',
10518
- 'screen' => 1,
10519
  'label' => __pl('current_h1'),
10520
  'group' => 'post_h1_group',
10521
  'css' => ['body.pagelayer-body h1' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10522
  ),
10523
  'current_h2' => array(
10524
  'type' => 'typography',
10525
- 'screen' => 1,
10526
  'label' => __pl('current_h2'),
10527
  'group' => 'post_h2_group',
10528
  'css' => ['body.pagelayer-body h2' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10529
  ),
10530
  'current_h3' => array(
10531
  'type' => 'typography',
10532
- 'screen' => 1,
10533
  'label' => __pl('current_h3'),
10534
  'group' => 'post_h3_group',
10535
  'css' => ['body.pagelayer-body h3' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10536
  ),
10537
  'current_h4' => array(
10538
  'type' => 'typography',
10539
- 'screen' => 1,
10540
  'label' => __pl('current_h4'),
10541
  'group' => 'post_h4_group',
10542
  'css' => ['body.pagelayer-body h4' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10543
  ),
10544
  'current_h5' => array(
10545
  'type' => 'typography',
10546
- 'screen' => 1,
10547
  'label' => __pl('current_h5'),
10548
  'group' => 'post_h5_group',
10549
  'css' => ['body.pagelayer-body h5' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10550
  ),
10551
  'current_h6' => array(
10552
  'type' => 'typography',
10553
- 'screen' => 1,
10554
  'label' => __pl('current_h6'),
10555
  'group' => 'post_h6_group',
10556
  'css' => ['body.pagelayer-body h6' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10557
  ),
10558
  'current_b' => array(
10559
  'type' => 'typography',
10560
- 'screen' => 1,
10561
  'label' => __pl('current_b'),
10562
  'group' => 'post_b_group',
10563
  'css' => ['body.pagelayer-body b' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10564
  ),
10565
  'current_i' => array(
10566
  'type' => 'typography',
10567
- 'screen' => 1,
10568
  'label' => __pl('current_i'),
10569
  'group' => 'post_i_group',
10570
  'css' => ['body.pagelayer-body i' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10571
  ),
10572
  'current_a' => array(
10573
  'type' => 'typography',
10574
- 'screen' => 1,
10575
  'label' => __pl('current_a'),
10576
  'group' => 'post_a_group',
10577
  'css' => ['body.pagelayer-body a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10578
  ),
10579
  'current_a-hover' => array(
10580
  'type' => 'typography',
10581
- 'screen' => 1,
10582
  'label' => __pl('current_a_hover'),
10583
  'group' => 'post_a_hover_group',
10584
  'css' => ['body.pagelayer-body a:hover' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10585
  ),
10586
  'current_aside' => array(
10587
  'type' => 'typography',
10588
- 'screen' => 1,
10589
  'label' => __pl('current_aside'),
10590
  'group' => 'post_aside_group',
10591
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10592
  ),
10593
  'current_p' => array(
10594
  'type' => 'typography',
10595
- 'screen' => 1,
10596
  'label' => __pl('p'),
10597
  'group' => 'post_p_group',
10598
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10599
  ),
10600
  'current_entry-header' => array(
10601
  'type' => 'typography',
10602
- 'screen' => 1,
10603
  'label' => __pl('current_entry_header'),
10604
  'group' => 'post_entry_header_group',
10605
  'css' => ['body.pagelayer-body .entry-header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10606
  ),
10607
  'current_entry-content' => array(
10608
  'type' => 'typography',
10609
- 'screen' => 1,
10610
  'label' => __pl('current_entry_content'),
10611
  'group' => 'post_content_group',
10612
  'css' => ['body.pagelayer-body .entry-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10613
  ),
10614
  'current_entry-footer' => array(
10615
  'type' => 'typography',
10616
- 'screen' => 1,
10617
  'label' => __pl('current_entry_footer'),
10618
  'group' => 'post_footer_group',
10619
  'css' => ['body.pagelayer-body .entry-footer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
@@ -11234,7 +11175,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_customizer', array(
11234
  'global_button' => array(
11235
  'button' => array(
11236
  'type' => 'typography',
11237
- 'screen' => 1,
11238
  'label' => __pl('Typography'),
11239
  'customizer_css' => 1,
11240
  'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
@@ -11244,7 +11184,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_customizer', array(
11244
  'label' => __pl('global_btn_dim'),
11245
  'screen' => 1,
11246
  'customizer_css' => 1,
11247
- 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[3]}}px;padding-left:{{val[4]}}px;'],
11248
  ),
11249
  'button_margin' => array(
11250
  'type' => 'padding',
530
  'dot_border_width' => array(
531
  'type' => 'padding',
532
  'label' => __pl('border_width'),
533
+ 'screen' => 1,
534
  'css' => [ '{{element}} .pagelayer-owl-dot span' => 'border-width: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px;' ],
535
  'req' => ['!dot_border_type' => ''],
536
  ),
2155
  'default' => 10,
2156
  'min' => 0,
2157
  'step' => 1,
2158
+ 'screen' => 1,
2159
  'max' => 1000,
2160
  'css' => ['{{element}} .pagelayer-col-holder' => 'padding: {{val}}px;'],
2161
  ),
3160
  'heading_typo' => array(
3161
  'type' => 'typography',
3162
  'label' => __pl('typography'),
 
3163
  'css' => ['{{element}} .pagelayer-heading-holder *' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3164
  '{{element}} .pagelayer-heading-holder' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3165
  'show' => ['heading_state' => 'normal']
3179
  'heading_typo_hover' => array(
3180
  'type' => 'typography',
3181
  'label' => __pl('typography'),
 
3182
  'css' => ['{{element}} .pagelayer-heading-holder:hover *' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3183
  '{{element}} .pagelayer-heading-holder:hover' => 'font-family: {{val[0]}} !important; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3184
  'show' => ['heading_state' => 'hover']
3255
  'quote_content_space' => array(
3256
  'type' => 'dimension',
3257
  'label' => __pl('space_between'),
3258
+ 'screen' => 1,
3259
  'css' => ['{{element}} .pagelayer-quote-content' => 'margin-top:{{val[0]}}px;margin-bottom:{{val[1]}}px;'],
3260
  ),
3261
  'quote_content_typo' => array(
3262
  'type' => 'typography',
3263
  'label' => __pl('quote_content_typo'),
 
3264
  'css' => ['{{element}} .pagelayer-quote-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3265
  ),
3266
  ),
3402
  'type' => 'typography',
3403
  'label' => __pl('cite_typo'),
3404
  'default' => ',16,italic,,,,solid,,,,',
 
3405
  'css' => ['{{element}} .pagelayer-quote-cite' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
3406
  )
3407
  ],
3582
  'list_typo' => array(
3583
  'type' => 'typography',
3584
  'label' => __pl('list_typo'),
 
3585
  'css' => [
3586
  '{{element}} li' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3587
  '{{element}} li > a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'
3623
  'list_typo_hover' => array(
3624
  'type' => 'typography',
3625
  'label' => __pl('list_typo'),
 
3626
  'css' => [
3627
  '{{element}} .pagelayer-list-ul > div:hover li' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
3628
  '{{element}} .pagelayer-list-ul > div:hover li > a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'
4269
  'type' => 'typography',
4270
  'label' => __pl('text_size'),
4271
  'default' => ',25,,400,,,,,,,',
 
4272
  'css' => ['{{element}} .pagelayer-badge-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
4273
  ),
4274
  ],
4436
  'type' => 'typography',
4437
  'label' => __pl('tooltip_title_size'),
4438
  'default' => ',25,,400,,,,,,,',
 
4439
  'css' => ['{{element}} .pagelayer-tooltip-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
4440
  '{{element}} .pagelayer-tooltip-icon i' => 'font-size: {{val[1]}}px !important;'],
4441
  ),
4497
  'type' => 'typography',
4498
  'label' => __pl('tooltip_text_size'),
4499
  'default' => ',18,,400,,,,,,,',
 
4500
  'css' => ['{{element}} .pagelayer-tooltip-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
4501
  ),
4502
  'tooltip_shadow' => array(
4606
  'custom_size' => array(
4607
  'label' => __pl('image_custom_size_label'),
4608
  'type' => 'text',
4609
+ 'screen' => 1,
4610
  'default' => '100x100',
4611
  'sep' => 'x',
4612
  'css' => ['{{element}} img' => 'width: {{val[0]}}px; height: {{val[1]}}px;'],
4618
  'label' => __pl('obj_align_label'),
4619
  'type' => 'radio',
4620
  'default' => 'center',
4621
+ 'screen' => 1,
4622
  'css' => ['{{element}} .pagelayer-image-holder' => 'text-align: {{val}}', '{{element}} .pagelayer-image-holder .pagelayer-image-overlay-content' => 'text-align: {{val}}'],
4623
  'list' => array(
4624
  'left' => __pl('left'),
4798
  'caption_typo' => array(
4799
  'type' => 'typography',
4800
  'label' => __pl('typography'),
 
4801
  'css' => ['{{element}} .pagelayer-image-caption' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
4802
  )
4803
  ],
5261
  'btn_typo' => array(
5262
  'type' => 'typography',
5263
  'label' => __pl('quote_content_typo'),
 
5264
  'css' => [
5265
  '{{element}} .pagelayer-btn-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
5266
  '{{element}} .pagelayer-btn-holder' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;',
6272
  'service_img_alignment' => array(
6273
  'type' => 'radio',
6274
  'label' => __pl('horizontal_pos'),
6275
+ 'screen' => 1,
6276
  'css' => ['{{element}} .pagelayer-service-image' => 'text-align: {{val}};,'],
6277
  'list' => array(
6278
  'left' => __pl('left'),
6462
  'type' => 'typography',
6463
  'label' => __pl('service_heading_typo'),
6464
  'default' => ',28,,600,,,,,,,',
 
6465
  'css' => ['{{element}} .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6466
  'show' => ['heading_state' => 'normal'],
6467
  ),
6484
  'heading_typo_hover' => array(
6485
  'type' => 'typography',
6486
  'label' => __pl('service_heading_typo'),
 
6487
  'css' => ['{{element}}:hover .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6488
  'show' => ['heading_state' => 'hover'],
6489
  ),
6597
  'service_button_typo' => array(
6598
  'type' => 'typography',
6599
  'label' => __pl('typography'),
 
6600
  'css' => ['{{element}} .pagelayer-service-btn' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6601
  'req' => ['service_button' => 'true']
6602
  ),
6603
  'service_btn_spacing' => array(
6604
  'type' => 'padding',
6605
  'label' => __pl('spacing'),
6606
+ 'screen' => 1,
6607
  'css' => ['{{element}} .pagelayer-service-btn' => 'margin-top:{{val[0]}}px; margin-right:{{val[1]}}px; margin-bottom:{{val[2]}}px; margin-left:{{val[3]}}px;'],
6608
  'req' => ['service_button' => 'true']
6609
  ),
6853
  'service_icon_alignment' => array(
6854
  'type' => 'radio',
6855
  'label' => __pl('horizontal_pos'),
6856
+ 'screen' => 1,
6857
  'css' => ['{{element}} .pagelayer-service-icon' => 'text-align: {{val}};,'],
6858
  'list' => array(
6859
  'left' => __pl('left'),
7179
  'type' => 'typography',
7180
  'label' => __pl('service_heading_typo'),
7181
  'default' => ',28,,600,,,,,,,',
 
7182
  'css' => ['{{element}} .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7183
  'show' => ['heading_state' => 'normal']
7184
  ),
7201
  'heading_typo_hover' => array(
7202
  'type' => 'typography',
7203
  'label' => __pl('service_heading_typo'),
 
7204
  'css' => ['{{element}}:hover .pagelayer-service-heading' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7205
  'show' => ['heading_state' => 'hover']
7206
  ),
7304
  'service_button_typo' => array(
7305
  'type' => 'typography',
7306
  'label' => __pl('typography'),
 
7307
  'css' => ['{{element}} .pagelayer-service-btn' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7308
  'req' => ['service_button' => 'true']
7309
  ),
7653
  'tab_title_typo' => array(
7654
  'type' => 'typography',
7655
  'label' => __pl('tab_title_typo'),
 
7656
  'css' => ['{{element}} .pagelayer-tabs-holder .pagelayer-tablinks' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7657
  ),
7658
  'tabs_icon_align' => array(
7680
  'tabs_content_typo' => array(
7681
  'type' => 'typography',
7682
  'label' => __pl('tab_content_typo'),
 
7683
  'css' => ['{{element}} .pagelayer-tabcontainer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7684
  ),
7685
  'tabs_content_color' => array(
7901
  'acc_content_typo' => array(
7902
  'type' => 'typography',
7903
  'label' => __pl('accordion_content_typo'),
 
7904
  'css' => ['{{element}} .pagelayer-accordion-panel' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7905
  ),
7906
  'acc_content_padding' => array(
8105
  'collapse_title_typo' => array(
8106
  'type' => 'typography',
8107
  'label' => __pl('collapsse_title_typo'),
 
8108
  'css' => ['{{element}} .pagelayer-accordion-tabs' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8109
  ),
8110
  ],
8593
  'type' => 'typography',
8594
  'label' => __pl('cite_style'),
8595
  'default' => ',20,,100,,none,,,,,',
 
8596
  'css' => ['{{element}} .pagelayer-testimonial-author' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8597
  ),
8598
  'cite_url' => array(
8626
  'type' => 'typography',
8627
  'label' => __pl('cite_designation_style'),
8628
  'default' => ',16,,100,,,,,,,',
 
8629
  'css' => ['{{element}} .pagelayer-testimonial-author-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8630
  ),
8631
  ],
8758
  'type' => 'typography',
8759
  'label' => __pl('title_size'),
8760
  'default' => ',25,,100,,,,,,,',
 
8761
  'css' => ['{{element}} .pagelayer-progress-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8762
  ),
8763
  ],
8947
  'type' => 'typography',
8948
  'label' => __pl('title_typo'),
8949
  'default' => ',22,,600,,,,,,,',
 
8950
  'css' => ['{{element}} .pagelayer-alert-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8951
  ),
8952
  ],
8969
  'type' => 'typography',
8970
  'label' => __pl('title_typo'),
8971
  'default' => ',13,,,,,,,,,',
 
8972
  'css' => ['{{element}} .pagelayer-alert-text' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
8973
  ),
8974
  ],
9048
  'type' => 'typography',
9049
  'label' => __pl('counter_number_size'),
9050
  'default' => ',25,,600,,,solid,,,,',
 
9051
  'css' => ['{{element}} .pagelayer-stars-title' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9052
  ),
9053
  ],
9245
  'type' => 'typography',
9246
  'label' => __pl('counter_number_size'),
9247
  'default' => ',60,,600,,,solid,,,,',
 
9248
  'css' => ['{{element}} .pagelayer-counter-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9249
  ),
9250
  ],
9265
  'type' => 'typography',
9266
  'label' => __pl('counter_text_style'),
9267
  'default' => ',25,,400,,,solid,,,,',
 
9268
  'css' => ['{{element}} .pagelayer-counter-info' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9269
  ),
9270
  ],
9294
  'typography' => array(
9295
  'type' => 'typography',
9296
  'label' => __pl('typography'),
 
9297
  'css' => ['{{element}} .pagelayer-address *, {{element}} .pagelayer-address' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9298
  ),
9299
  'align' => array(
9369
  'typography' => array(
9370
  'type' => 'typography',
9371
  'label' => __pl('typography'),
 
9372
  'css' => ['{{element}} .pagelayer-email *, {{element}} .pagelayer-email' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9373
  ),
9374
  'align' => array(
9444
  'typography' => array(
9445
  'type' => 'typography',
9446
  'label' => __pl('typography'),
 
9447
  'css' => ['{{element}} .pagelayer-phone *, {{element}} .pagelayer-phone' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
9448
  ),
9449
  'align' => array(
9792
  ),
9793
  'body' => array(
9794
  'type' => 'typography',
 
9795
  'label' => __pl('body'),
9796
  'group' => 'body_group',
9797
  'css' => ['body.pagelayer-body' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9798
  ),
9799
  'header' => array(
9800
  'type' => 'typography',
 
9801
  'label' => __pl('header'),
9802
  'group' => 'header_group',
9803
  'css' => ['body.pagelayer-body header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9804
  ),
9805
  'h1' => array(
9806
  'type' => 'typography',
 
9807
  'label' => __pl('h1'),
9808
  'group' => 'h1_group',
9809
  'css' => ['body.pagelayer-body h1' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9810
  ),
9811
  'h2' => array(
9812
  'type' => 'typography',
 
9813
  'label' => __pl('h2'),
9814
  'group' => 'h2_group',
9815
  'css' => ['body.pagelayer-body h2' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9816
  ),
9817
  'h3' => array(
9818
  'type' => 'typography',
 
9819
  'label' => __pl('h3'),
9820
  'group' => 'h3_group',
9821
  'css' => ['body.pagelayer-body h3' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9822
  ),
9823
  'h4' => array(
9824
  'type' => 'typography',
 
9825
  'label' => __pl('h4'),
9826
  'group' => 'h4_group',
9827
  'css' => ['body.pagelayer-body h4' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9828
  ),
9829
  'h5' => array(
9830
  'type' => 'typography',
 
9831
  'label' => __pl('h5'),
9832
  'group' => 'h5_group',
9833
  'css' => ['body.pagelayer-body h5' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9834
  ),
9835
  'h6' => array(
9836
  'type' => 'typography',
 
9837
  'label' => __pl('h6'),
9838
  'group' => 'h6_group',
9839
  'css' => ['body.pagelayer-body h6' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9840
  ),
9841
  'b' => array(
9842
  'type' => 'typography',
 
9843
  'label' => __pl('b'),
9844
  'group' => 'b_group',
9845
  'css' => ['body.pagelayer-body b' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9846
  ),
9847
  'i' => array(
9848
  'type' => 'typography',
 
9849
  'label' => __pl('i'),
9850
  'group' => 'i_group',
9851
  'css' => ['body.pagelayer-body i' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9852
  ),
9853
  'a' => array(
9854
  'type' => 'typography',
 
9855
  'label' => __pl('a'),
9856
  'group' => 'a_group',
9857
  'css' => ['body.pagelayer-body a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9858
  ),
9859
  'a_hover' => array(
9860
  'type' => 'typography',
 
9861
  'label' => __pl('a-hover'),
9862
  'group' => 'a_hover_group',
9863
  'css' => ['body.pagelayer-body a:hover' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9864
  ),
9865
  'aside' => array(
9866
  'type' => 'typography',
 
9867
  'label' => __pl('aside'),
9868
  'group' => 'aside_group',
9869
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9870
  ),
9871
  'p' => array(
9872
  'type' => 'typography',
 
9873
  'label' => __pl('p'),
9874
  'group' => 'p_group',
9875
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9876
  ),
9877
  'entry-header' => array(
9878
  'type' => 'typography',
 
9879
  'label' => __pl('entry-header'),
9880
  'group' => 'entry_header_group',
9881
  'css' => ['body.pagelayer-body .entry-header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9882
  ),
9883
  'entry_content' => array(
9884
  'type' => 'typography',
 
9885
  'label' => __pl('entry-content'),
9886
  'group' => 'content_group',
9887
  'css' => ['body.pagelayer-body .entry-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
9888
  ),
9889
  'entry_footer' => array(
9890
  'type' => 'typography',
 
9891
  'label' => __pl('entry-footer'),
9892
  'group' => 'footer_group',
9893
  'css' => ['body.pagelayer-body .entry-footer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10457
  ),
10458
  'current_body' => array(
10459
  'type' => 'typography',
 
10460
  'label' => __pl('current_body'),
10461
  'group' => 'post_body_group',
10462
  'customizer_mods' => 'pagelayer_body_typography_{{post_type}}',
10465
  ),
10466
  'current_header' => array(
10467
  'type' => 'typography',
 
10468
  'label' => __pl('current_header'),
10469
  'group' => 'post_header_group',
10470
  'css' => ['body.pagelayer-body header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10471
  ),
10472
  'current_h1' => array(
10473
  'type' => 'typography',
 
10474
  'label' => __pl('current_h1'),
10475
  'group' => 'post_h1_group',
10476
  'css' => ['body.pagelayer-body h1' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10477
  ),
10478
  'current_h2' => array(
10479
  'type' => 'typography',
 
10480
  'label' => __pl('current_h2'),
10481
  'group' => 'post_h2_group',
10482
  'css' => ['body.pagelayer-body h2' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10483
  ),
10484
  'current_h3' => array(
10485
  'type' => 'typography',
 
10486
  'label' => __pl('current_h3'),
10487
  'group' => 'post_h3_group',
10488
  'css' => ['body.pagelayer-body h3' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10489
  ),
10490
  'current_h4' => array(
10491
  'type' => 'typography',
 
10492
  'label' => __pl('current_h4'),
10493
  'group' => 'post_h4_group',
10494
  'css' => ['body.pagelayer-body h4' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10495
  ),
10496
  'current_h5' => array(
10497
  'type' => 'typography',
 
10498
  'label' => __pl('current_h5'),
10499
  'group' => 'post_h5_group',
10500
  'css' => ['body.pagelayer-body h5' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10501
  ),
10502
  'current_h6' => array(
10503
  'type' => 'typography',
 
10504
  'label' => __pl('current_h6'),
10505
  'group' => 'post_h6_group',
10506
  'css' => ['body.pagelayer-body h6' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10507
  ),
10508
  'current_b' => array(
10509
  'type' => 'typography',
 
10510
  'label' => __pl('current_b'),
10511
  'group' => 'post_b_group',
10512
  'css' => ['body.pagelayer-body b' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10513
  ),
10514
  'current_i' => array(
10515
  'type' => 'typography',
 
10516
  'label' => __pl('current_i'),
10517
  'group' => 'post_i_group',
10518
  'css' => ['body.pagelayer-body i' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10519
  ),
10520
  'current_a' => array(
10521
  'type' => 'typography',
 
10522
  'label' => __pl('current_a'),
10523
  'group' => 'post_a_group',
10524
  'css' => ['body.pagelayer-body a' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10525
  ),
10526
  'current_a-hover' => array(
10527
  'type' => 'typography',
 
10528
  'label' => __pl('current_a_hover'),
10529
  'group' => 'post_a_hover_group',
10530
  'css' => ['body.pagelayer-body a:hover' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10531
  ),
10532
  'current_aside' => array(
10533
  'type' => 'typography',
 
10534
  'label' => __pl('current_aside'),
10535
  'group' => 'post_aside_group',
10536
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10537
  ),
10538
  'current_p' => array(
10539
  'type' => 'typography',
 
10540
  'label' => __pl('p'),
10541
  'group' => 'post_p_group',
10542
  'css' => ['body.pagelayer-body p' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10543
  ),
10544
  'current_entry-header' => array(
10545
  'type' => 'typography',
 
10546
  'label' => __pl('current_entry_header'),
10547
  'group' => 'post_entry_header_group',
10548
  'css' => ['body.pagelayer-body .entry-header' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10549
  ),
10550
  'current_entry-content' => array(
10551
  'type' => 'typography',
 
10552
  'label' => __pl('current_entry_content'),
10553
  'group' => 'post_content_group',
10554
  'css' => ['body.pagelayer-body .entry-content' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
10555
  ),
10556
  'current_entry-footer' => array(
10557
  'type' => 'typography',
 
10558
  'label' => __pl('current_entry_footer'),
10559
  'group' => 'post_footer_group',
10560
  'css' => ['body.pagelayer-body .entry-footer' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
11175
  'global_button' => array(
11176
  'button' => array(
11177
  'type' => 'typography',
 
11178
  'label' => __pl('Typography'),
11179
  'customizer_css' => 1,
11180
  'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px; font-style: {{val[2]}}; font-weight: {{val[3]}}; font-variant: {{val[4]}}; text-decoration-line: {{val[5]}}; text-decoration-style: {{val[6]}}; line-height: {{val[7]}}em; text-transform: {{val[8]}}; letter-spacing: {{val[9]}}px; word-spacing: {{val[10]}}px;'],
11184
  'label' => __pl('global_btn_dim'),
11185
  'screen' => 1,
11186
  'customizer_css' => 1,
11187
+ 'css' => ['body.pagelayer-body .pagelayer-btn-holder' => 'padding-top:{{val[0]}}px;padding-right:{{val[1]}}px;padding-bottom:{{val[2]}}px;padding-left:{{val[3]}}px;'],
11188
  ),
11189
  'button_margin' => array(
11190
  'type' => 'padding',
pagelayer.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: PageLayer
4
  Plugin URI: http://wordpress.org/plugins/pagelayer/
5
  Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
6
- Version: 1.6.9
7
  Author: Pagelayer Team
8
  Author URI: https://pagelayer.com/
9
  License: LGPL v2.1
3
  Plugin Name: PageLayer
4
  Plugin URI: http://wordpress.org/plugins/pagelayer/
5
  Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
6
+ Version: 1.7.0
7
  Author: Pagelayer Team
8
  Author URI: https://pagelayer.com/
9
  License: LGPL v2.1
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: page builder, editor, drag and drop, form builder, landing page, responsiv
4
  Requires at least: 4.7
5
  Tested up to: 6.0
6
  Requires PHP: 5.5
7
- Stable tag: 1.6.9
8
  License: LGPL v2.1
9
  License URI: http://www.gnu.org/licenses/lgpl-2.1.html
10
 
@@ -127,6 +127,14 @@ Do you have questions related to Pagelayer? Use the following links :
127
 
128
  == Changelog ==
129
 
 
 
 
 
 
 
 
 
130
  = 1.6.9 (June 02, 2022) =
131
  * [Bug-Fix] After the previous version, in some cases, the add section was not working properly. This is fixed.
132
 
4
  Requires at least: 4.7
5
  Tested up to: 6.0
6
  Requires PHP: 5.5
7
+ Stable tag: 1.7.0
8
  License: LGPL v2.1
9
  License URI: http://www.gnu.org/licenses/lgpl-2.1.html
10
 
127
 
128
  == Changelog ==
129
 
130
+ = 1.7.0 (July 28, 2022) =
131
+ * [Task] The typography properties has been further improved.
132
+ * [Task] Added global color option for the gradient property.
133
+ * [Task] Added the "HTML Tag" option in post title widget. Now you can select the tags to wrap the post title.
134
+ * [Bug-Fix] In the some widgets global color were not applied properly. This is fixed.
135
+ * [Bug-Fix] In some cases Ctrl+Z was not working properly. This is fixed.
136
+ * [Bug-Fix] In the Social Icon widget, icons were aligning with respect to the holder. This is fixed.
137
+
138
  = 1.6.9 (June 02, 2022) =
139
  * [Bug-Fix] After the previous version, in some cases, the add section was not working properly. This is fixed.
140