SiteOrigin Widgets Bundle - Version 1.36.0

Version Description

  • 19 June 2022 =
  • Contact Form: Added support for Really Simple CAPTCHA plugin. A DSGVO complaint captcha.
  • Features: Moved the title HTML tag setting to the Font Design > Title settings section.
  • Features: Restored feature column width when Icon container shape set to None.
  • Google Maps: Fixed static maps custom style notice.
  • Hero: Fixed Top Padding unit of measurement.
  • Sliders: Resolved Modern Parallax jump on load.
  • Sliders: Added anchor-id attribute.
  • Tabs: Removed Anchor ID functionality when disabled.
  • Video Player: Standardized YouTube URLs.
  • Web Safe Fonts: Added Times New Roman. Alphabetized and updated the CSS font stacks.
  • jQuery Migrate: Replaced error shorthand and bind usage.
  • Developer: Sliders - Added slider_setup_before and slider_setup_after events.
  • Developer: Added siteorigin_widgets_search_posts_order_by filter. Change post search order results as required.
Download this release

Release Info

Developer SiteOrigin
Plugin Icon 128x128 SiteOrigin Widgets Bundle
Version 1.36.0
Comparing to
See all releases

Code changes from version 1.35.1 to 1.36.0

base/base.php CHANGED
@@ -125,11 +125,12 @@ $sow_registered_fonts = array();
125
  function siteorigin_widget_get_font($font_value) {
126
 
127
  $web_safe = array(
128
- 'Arial' => 'Arial, "Helvetica Neue", Helvetica, sans-serif',
129
- 'Helvetica Neue' => '"Helvetica Neue", Helvetica, Arial, sans-serif',
130
- 'Lucida Grande' => 'Lucida, Verdana, sans-serif',
131
- 'Georgia' => '"Times New Roman", Times, serif',
132
- 'Courier New' => 'Courier, mono',
 
133
  'default' => 'default',
134
  );
135
 
@@ -279,10 +280,11 @@ function siteorigin_widgets_font_families( ){
279
  // Add the default fonts
280
  $font_families = array(
281
  'Arial' => 'Arial',
 
 
282
  'Helvetica Neue' => 'Helvetica Neue',
283
  'Lucida Grande' => 'Lucida Grande',
284
- 'Georgia' => 'Georgia',
285
- 'Courier New' => 'Courier New',
286
  );
287
 
288
  // Add in all the Google font families
125
  function siteorigin_widget_get_font($font_value) {
126
 
127
  $web_safe = array(
128
+ 'Arial' => 'Arial, Helvetica Neue, Helvetica, sans-serif',
129
+ 'Courier New' => 'Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace',
130
+ 'Georgia' => 'Georgia, Times, Times New Roman, serif',
131
+ 'Helvetica Neue' => 'Helvetica Neue, Helvetica, Arial, sans-serif',
132
+ 'Lucida Grande' => 'Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif',
133
+ 'Times New Roman' => 'Times New Roman, Times, Baskerville, Georgia, serif',
134
  'default' => 'default',
135
  );
136
 
280
  // Add the default fonts
281
  $font_families = array(
282
  'Arial' => 'Arial',
283
+ 'Courier New' => 'Courier New',
284
+ 'Georgia' => 'Georgia',
285
  'Helvetica Neue' => 'Helvetica Neue',
286
  'Lucida Grande' => 'Lucida Grande',
287
+ 'Times New Roman' => 'Times New Roman',
 
288
  );
289
 
290
  // Add in all the Google font families
base/inc/actions.php CHANGED
@@ -106,13 +106,16 @@ function siteorigin_widget_action_search_posts() {
106
  $post_types = apply_filters( 'siteorigin_widgets_search_posts_post_types', $post_types );
107
  $post_types = "'" . implode("', '", array_map( 'esc_sql', $post_types ) ) . "'";
108
 
 
 
 
109
  $results = $wpdb->get_results( "
110
  SELECT ID AS 'value', post_title AS label, post_type AS 'type'
111
  FROM {$wpdb->posts}
112
  {$wpml_query}
113
  WHERE
114
  post_type IN ( {$post_types} ) AND post_status = 'publish' {$query}
115
- ORDER BY post_modified DESC
116
  LIMIT 20
117
  ", ARRAY_A );
118
 
106
  $post_types = apply_filters( 'siteorigin_widgets_search_posts_post_types', $post_types );
107
  $post_types = "'" . implode("', '", array_map( 'esc_sql', $post_types ) ) . "'";
108
 
109
+
110
+ $ordered_by = esc_sql( apply_filters( 'siteorigin_widgets_search_posts_order_by', 'post_modified DESC' ) );
111
+
112
  $results = $wpdb->get_results( "
113
  SELECT ID AS 'value', post_title AS label, post_type AS 'type'
114
  FROM {$wpdb->posts}
115
  {$wpml_query}
116
  WHERE
117
  post_type IN ( {$post_types} ) AND post_status = 'publish' {$query}
118
+ ORDER BY {$ordered_by}
119
  LIMIT 20
120
  ", ARRAY_A );
121
 
base/inc/fonts.php CHANGED
@@ -64,6 +64,14 @@ return array(
64
  array(
65
  0 => 'regular',
66
  ),
 
 
 
 
 
 
 
 
67
  'Aladin' =>
68
  array(
69
  0 => 'regular',
@@ -303,6 +311,9 @@ return array(
303
  'Andika' =>
304
  array(
305
  0 => 'regular',
 
 
 
306
  ),
307
  'Andika New Basic' =>
308
  array(
@@ -1271,6 +1282,14 @@ return array(
1271
  array(
1272
  0 => 'regular',
1273
  ),
 
 
 
 
 
 
 
 
1274
  'Blinker' =>
1275
  array(
1276
  0 => '100',
@@ -1588,6 +1607,13 @@ return array(
1588
  array(
1589
  0 => 'regular',
1590
  ),
 
 
 
 
 
 
 
1591
  'Charm' =>
1592
  array(
1593
  0 => 'regular',
@@ -1906,6 +1932,15 @@ return array(
1906
  14 => '800italic',
1907
  15 => '900italic',
1908
  ),
 
 
 
 
 
 
 
 
 
1909
  'Croissant One' =>
1910
  array(
1911
  0 => 'regular',
@@ -2779,6 +2814,13 @@ return array(
2779
  2 => '700',
2780
  3 => '700italic',
2781
  ),
 
 
 
 
 
 
 
2782
  'Geo' =>
2783
  array(
2784
  0 => 'regular',
@@ -3555,6 +3597,10 @@ return array(
3555
  array(
3556
  0 => 'regular',
3557
  ),
 
 
 
 
3558
  'Jockey One' =>
3559
  array(
3560
  0 => 'regular',
@@ -3806,6 +3852,10 @@ return array(
3806
  array(
3807
  0 => 'regular',
3808
  ),
 
 
 
 
3809
  'Keania One' =>
3810
  array(
3811
  0 => 'regular',
@@ -4239,6 +4289,17 @@ return array(
4239
  1 => 'italic',
4240
  2 => '700',
4241
  ),
 
 
 
 
 
 
 
 
 
 
 
4242
  'Libre Caslon Display' =>
4243
  array(
4244
  0 => 'regular',
@@ -4976,6 +5037,10 @@ return array(
4976
  array(
4977
  0 => 'regular',
4978
  ),
 
 
 
 
4979
  'Mukta' =>
4980
  array(
4981
  0 => '200',
@@ -5059,6 +5124,10 @@ return array(
5059
  7 => '800',
5060
  8 => '900',
5061
  ),
 
 
 
 
5062
  'Mystery Quest' =>
5063
  array(
5064
  0 => 'regular',
@@ -5206,6 +5275,14 @@ return array(
5206
  2 => '700',
5207
  3 => '700italic',
5208
  ),
 
 
 
 
 
 
 
 
5209
  'Noto Kufi Arabic' =>
5210
  array(
5211
  0 => '100',
@@ -6534,6 +6611,10 @@ return array(
6534
  12 => '900',
6535
  13 => '900italic',
6536
  ),
 
 
 
 
6537
  'Odibee Sans' =>
6538
  array(
6539
  0 => 'regular',
@@ -6953,6 +7034,23 @@ return array(
6953
  4 => '900',
6954
  5 => '900italic',
6955
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6956
  'Podkova' =>
6957
  array(
6958
  0 => 'regular',
@@ -7187,6 +7285,19 @@ return array(
7187
  array(
7188
  0 => 'regular',
7189
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
7190
  'Radley' =>
7191
  array(
7192
  0 => 'regular',
@@ -7437,6 +7548,10 @@ return array(
7437
  4 => '700',
7438
  5 => '700italic',
7439
  ),
 
 
 
 
7440
  'Roboto Mono' =>
7441
  array(
7442
  0 => '100',
@@ -8188,18 +8303,6 @@ return array(
8188
  2 => '700',
8189
  3 => '700italic',
8190
  ),
8191
- 'Spartan' =>
8192
- array(
8193
- 0 => '100',
8194
- 1 => '200',
8195
- 2 => '300',
8196
- 3 => 'regular',
8197
- 4 => '500',
8198
- 5 => '600',
8199
- 6 => '700',
8200
- 7 => '800',
8201
- 8 => '900',
8202
- ),
8203
  'Special Elite' =>
8204
  array(
8205
  0 => 'regular',
@@ -8258,10 +8361,22 @@ return array(
8258
  3 => '600',
8259
  4 => '700',
8260
  ),
 
 
 
 
 
 
 
 
8261
  'Squada One' =>
8262
  array(
8263
  0 => 'regular',
8264
  ),
 
 
 
 
8265
  'Sree Krushnadevaraya' =>
8266
  array(
8267
  0 => 'regular',
@@ -8410,6 +8525,11 @@ return array(
8410
  array(
8411
  0 => 'regular',
8412
  ),
 
 
 
 
 
8413
  'Tajawal' =>
8414
  array(
8415
  0 => '200',
@@ -8425,6 +8545,10 @@ return array(
8425
  0 => 'regular',
8426
  1 => '700',
8427
  ),
 
 
 
 
8428
  'Taprom' =>
8429
  array(
8430
  0 => 'regular',
@@ -8540,6 +8664,46 @@ return array(
8540
  2 => '700',
8541
  3 => '700italic',
8542
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8543
  'Titan One' =>
8544
  array(
8545
  0 => 'regular',
@@ -8749,6 +8913,10 @@ return array(
8749
  2 => '700',
8750
  3 => '700italic',
8751
  ),
 
 
 
 
8752
  'Urbanist' =>
8753
  array(
8754
  0 => '100',
@@ -8894,6 +9062,10 @@ return array(
8894
  array(
8895
  0 => 'regular',
8896
  ),
 
 
 
 
8897
  'Waterfall' =>
8898
  array(
8899
  0 => 'regular',
@@ -8906,6 +9078,10 @@ return array(
8906
  array(
8907
  0 => 'regular',
8908
  ),
 
 
 
 
8909
  'WindSong' =>
8910
  array(
8911
  0 => 'regular',
64
  array(
65
  0 => 'regular',
66
  ),
67
+ 'Akshar' =>
68
+ array(
69
+ 0 => '300',
70
+ 1 => 'regular',
71
+ 2 => '500',
72
+ 3 => '600',
73
+ 4 => '700',
74
+ ),
75
  'Aladin' =>
76
  array(
77
  0 => 'regular',
311
  'Andika' =>
312
  array(
313
  0 => 'regular',
314
+ 1 => 'italic',
315
+ 2 => '700',
316
+ 3 => '700italic',
317
  ),
318
  'Andika New Basic' =>
319
  array(
1282
  array(
1283
  0 => 'regular',
1284
  ),
1285
+ 'Blaka' =>
1286
+ array(
1287
+ 0 => 'regular',
1288
+ ),
1289
+ 'Blaka Hollow' =>
1290
+ array(
1291
+ 0 => 'regular',
1292
+ ),
1293
  'Blinker' =>
1294
  array(
1295
  0 => '100',
1607
  array(
1608
  0 => 'regular',
1609
  ),
1610
+ 'Charis SIL' =>
1611
+ array(
1612
+ 0 => 'regular',
1613
+ 1 => 'italic',
1614
+ 2 => '700',
1615
+ 3 => '700italic',
1616
+ ),
1617
  'Charm' =>
1618
  array(
1619
  0 => 'regular',
1932
  14 => '800italic',
1933
  15 => '900italic',
1934
  ),
1935
+ 'Crimson Text' =>
1936
+ array(
1937
+ 0 => 'regular',
1938
+ 1 => 'italic',
1939
+ 2 => '600',
1940
+ 3 => '600italic',
1941
+ 4 => '700',
1942
+ 5 => '700italic',
1943
+ ),
1944
  'Croissant One' =>
1945
  array(
1946
  0 => 'regular',
2814
  2 => '700',
2815
  3 => '700italic',
2816
  ),
2817
+ 'Gentium Plus' =>
2818
+ array(
2819
+ 0 => 'regular',
2820
+ 1 => 'italic',
2821
+ 2 => '700',
2822
+ 3 => '700italic',
2823
+ ),
2824
  'Geo' =>
2825
  array(
2826
  0 => 'regular',
3597
  array(
3598
  0 => 'regular',
3599
  ),
3600
+ 'Joan' =>
3601
+ array(
3602
+ 0 => 'regular',
3603
+ ),
3604
  'Jockey One' =>
3605
  array(
3606
  0 => 'regular',
3852
  array(
3853
  0 => 'regular',
3854
  ),
3855
+ 'Kdam Thmor Pro' =>
3856
+ array(
3857
+ 0 => 'regular',
3858
+ ),
3859
  'Keania One' =>
3860
  array(
3861
  0 => 'regular',
4289
  1 => 'italic',
4290
  2 => '700',
4291
  ),
4292
+ 'Libre Bodoni' =>
4293
+ array(
4294
+ 0 => 'regular',
4295
+ 1 => '500',
4296
+ 2 => '600',
4297
+ 3 => '700',
4298
+ 4 => 'italic',
4299
+ 5 => '500italic',
4300
+ 6 => '600italic',
4301
+ 7 => '700italic',
4302
+ ),
4303
  'Libre Caslon Display' =>
4304
  array(
4305
  0 => 'regular',
5037
  array(
5038
  0 => 'regular',
5039
  ),
5040
+ 'Ms Madi' =>
5041
+ array(
5042
+ 0 => 'regular',
5043
+ ),
5044
  'Mukta' =>
5045
  array(
5046
  0 => '200',
5124
  7 => '800',
5125
  8 => '900',
5126
  ),
5127
+ 'My Soul' =>
5128
+ array(
5129
+ 0 => 'regular',
5130
+ ),
5131
  'Mystery Quest' =>
5132
  array(
5133
  0 => 'regular',
5275
  2 => '700',
5276
  3 => '700italic',
5277
  ),
5278
+ 'Noto Emoji' =>
5279
+ array(
5280
+ 0 => '300',
5281
+ 1 => 'regular',
5282
+ 2 => '500',
5283
+ 3 => '600',
5284
+ 4 => '700',
5285
+ ),
5286
  'Noto Kufi Arabic' =>
5287
  array(
5288
  0 => '100',
6611
  12 => '900',
6612
  13 => '900italic',
6613
  ),
6614
+ 'Nuosu SIL' =>
6615
+ array(
6616
+ 0 => 'regular',
6617
+ ),
6618
  'Odibee Sans' =>
6619
  array(
6620
  0 => 'regular',
7034
  4 => '900',
7035
  5 => '900italic',
7036
  ),
7037
+ 'Plus Jakarta Sans' =>
7038
+ array(
7039
+ 0 => '200',
7040
+ 1 => '300',
7041
+ 2 => 'regular',
7042
+ 3 => '500',
7043
+ 4 => '600',
7044
+ 5 => '700',
7045
+ 6 => '800',
7046
+ 7 => '200italic',
7047
+ 8 => '300italic',
7048
+ 9 => 'italic',
7049
+ 10 => '500italic',
7050
+ 11 => '600italic',
7051
+ 12 => '700italic',
7052
+ 13 => '800italic',
7053
+ ),
7054
  'Podkova' =>
7055
  array(
7056
  0 => 'regular',
7285
  array(
7286
  0 => 'regular',
7287
  ),
7288
+ 'Radio Canada' =>
7289
+ array(
7290
+ 0 => '300',
7291
+ 1 => 'regular',
7292
+ 2 => '500',
7293
+ 3 => '600',
7294
+ 4 => '700',
7295
+ 5 => '300italic',
7296
+ 6 => 'italic',
7297
+ 7 => '500italic',
7298
+ 8 => '600italic',
7299
+ 9 => '700italic',
7300
+ ),
7301
  'Radley' =>
7302
  array(
7303
  0 => 'regular',
7548
  4 => '700',
7549
  5 => '700italic',
7550
  ),
7551
+ 'Roboto Flex' =>
7552
+ array(
7553
+ 0 => 'regular',
7554
+ ),
7555
  'Roboto Mono' =>
7556
  array(
7557
  0 => '100',
8303
  2 => '700',
8304
  3 => '700italic',
8305
  ),
 
 
 
 
 
 
 
 
 
 
 
 
8306
  'Special Elite' =>
8307
  array(
8308
  0 => 'regular',
8361
  3 => '600',
8362
  4 => '700',
8363
  ),
8364
+ 'Spline Sans Mono' =>
8365
+ array(
8366
+ 0 => '300',
8367
+ 1 => 'regular',
8368
+ 2 => '500',
8369
+ 3 => '600',
8370
+ 4 => '700',
8371
+ ),
8372
  'Squada One' =>
8373
  array(
8374
  0 => 'regular',
8375
  ),
8376
+ 'Square Peg' =>
8377
+ array(
8378
+ 0 => 'regular',
8379
+ ),
8380
  'Sree Krushnadevaraya' =>
8381
  array(
8382
  0 => 'regular',
8525
  array(
8526
  0 => 'regular',
8527
  ),
8528
+ 'Tai Heritage Pro' =>
8529
+ array(
8530
+ 0 => 'regular',
8531
+ 1 => '700',
8532
+ ),
8533
  'Tajawal' =>
8534
  array(
8535
  0 => '200',
8545
  0 => 'regular',
8546
  1 => '700',
8547
  ),
8548
+ 'Tapestry' =>
8549
+ array(
8550
+ 0 => 'regular',
8551
+ ),
8552
  'Taprom' =>
8553
  array(
8554
  0 => 'regular',
8664
  2 => '700',
8665
  3 => '700italic',
8666
  ),
8667
+ 'Tiro Bangla' =>
8668
+ array(
8669
+ 0 => 'regular',
8670
+ 1 => 'italic',
8671
+ ),
8672
+ 'Tiro Devanagari Hindi' =>
8673
+ array(
8674
+ 0 => 'regular',
8675
+ 1 => 'italic',
8676
+ ),
8677
+ 'Tiro Devanagari Marathi' =>
8678
+ array(
8679
+ 0 => 'regular',
8680
+ 1 => 'italic',
8681
+ ),
8682
+ 'Tiro Devanagari Sanskrit' =>
8683
+ array(
8684
+ 0 => 'regular',
8685
+ 1 => 'italic',
8686
+ ),
8687
+ 'Tiro Gurmukhi' =>
8688
+ array(
8689
+ 0 => 'regular',
8690
+ 1 => 'italic',
8691
+ ),
8692
+ 'Tiro Kannada' =>
8693
+ array(
8694
+ 0 => 'regular',
8695
+ 1 => 'italic',
8696
+ ),
8697
+ 'Tiro Tamil' =>
8698
+ array(
8699
+ 0 => 'regular',
8700
+ 1 => 'italic',
8701
+ ),
8702
+ 'Tiro Telugu' =>
8703
+ array(
8704
+ 0 => 'regular',
8705
+ 1 => 'italic',
8706
+ ),
8707
  'Titan One' =>
8708
  array(
8709
  0 => 'regular',
8913
  2 => '700',
8914
  3 => '700italic',
8915
  ),
8916
+ 'Updock' =>
8917
+ array(
8918
+ 0 => 'regular',
8919
+ ),
8920
  'Urbanist' =>
8921
  array(
8922
  0 => '100',
9062
  array(
9063
  0 => 'regular',
9064
  ),
9065
+ 'Water Brush' =>
9066
+ array(
9067
+ 0 => 'regular',
9068
+ ),
9069
  'Waterfall' =>
9070
  array(
9071
  0 => 'regular',
9078
  array(
9079
  0 => 'regular',
9080
  ),
9081
+ 'Whisper' =>
9082
+ array(
9083
+ 0 => 'regular',
9084
+ ),
9085
  'WindSong' =>
9086
  array(
9087
  0 => 'regular',
base/inc/video.php CHANGED
@@ -48,8 +48,18 @@ class SiteOrigin_Video {
48
  'loop' => $loop,
49
  ) ) );
50
 
51
- // Convert embed format to standard format to be compatible with wp_oembed_get
52
- $this->src = preg_replace( '/https?:\/\/www.youtube.com\/embed\/([^\/]+)/', 'https://www.youtube.com/watch?v=$1', $src );
 
 
 
 
 
 
 
 
 
 
53
 
54
  $html = get_transient( 'sow-vid-embed[' . $hash . ']' );
55
  if ( empty( $html ) ) {
48
  'loop' => $loop,
49
  ) ) );
50
 
51
+ // Standardize YouTube video URL.
52
+ if ( strpos( $src, 'youtube.com/watch' ) !== false ) {
53
+ $src_parse = parse_url( $src, PHP_URL_QUERY );
54
+ // Check if the URL was encoded.
55
+ if ( strpos( $src_parse, '&' ) !== false ) {
56
+ $src_parse = str_replace( '&', '&', $src_parse );
57
+ }
58
+ parse_str( $src_parse, $src_parse );
59
+ $this->src = ! empty( $src_parse['v'] ) ? 'https://www.youtube.com/watch?v='. $src_parse['v'] : $src;
60
+ } else {
61
+ $this->src = $src;
62
+ }
63
 
64
  $html = get_transient( 'sow-vid-embed[' . $hash . ']' );
65
  if ( empty( $html ) ) {
base/inc/widgets/base-slider.class.php CHANGED
@@ -389,6 +389,9 @@ abstract class SiteOrigin_Widget_Base_Slider extends SiteOrigin_Widget {
389
  break;
390
  case 'before_slides':
391
  $settings = $this->slider_settings( $controls );
 
 
 
392
  if ( $settings['swipe'] ) {
393
  wp_enqueue_script( 'sow-slider-slider-cycle2-swipe' );
394
  }
@@ -400,6 +403,7 @@ abstract class SiteOrigin_Widget_Base_Slider extends SiteOrigin_Widget {
400
  class="sow-slider-images"
401
  data-settings="<?php echo esc_attr( json_encode($settings) ) ?>"
402
  <?php echo ! empty( $layout['desktop'] ) && ! empty( $layout['desktop']['height'] ) ? 'style="min-height: ' . esc_attr( $layout['desktop']['height'] ) . '"' : ''; ?>
 
403
  ><?php
404
  break;
405
  case 'after_slides':
389
  break;
390
  case 'before_slides':
391
  $settings = $this->slider_settings( $controls );
392
+ if ( ! empty( $controls['anchor'] ) ) {
393
+ $anchorId = $controls['anchor'];
394
+ }
395
  if ( $settings['swipe'] ) {
396
  wp_enqueue_script( 'sow-slider-slider-cycle2-swipe' );
397
  }
403
  class="sow-slider-images"
404
  data-settings="<?php echo esc_attr( json_encode($settings) ) ?>"
405
  <?php echo ! empty( $layout['desktop'] ) && ! empty( $layout['desktop']['height'] ) ? 'style="min-height: ' . esc_attr( $layout['desktop']['height'] ) . '"' : ''; ?>
406
+ data-anchor-id="<?php echo ! empty( $controls['anchor'] ) ? esc_attr( $controls['anchor'] ) : ''; ?>"
407
  ><?php
408
  break;
409
  case 'after_slides':
base/js/admin.js CHANGED
@@ -602,7 +602,7 @@ var sowbForms = window.sowbForms || {};
602
  var $items = $el.find('.siteorigin-widget-field-repeater-items');
603
  var name = $el.data('repeater-name');
604
 
605
- $items.bind('updateFieldPositions', function () {
606
  var $$ = $(this);
607
  var $rptrItems = $$.find('> .siteorigin-widget-field-repeater-item');
608
 
602
  var $items = $el.find('.siteorigin-widget-field-repeater-items');
603
  var name = $el.data('repeater-name');
604
 
605
+ $items.on( 'updateFieldPositions', function() {
606
  var $$ = $(this);
607
  var $rptrItems = $$.find('> .siteorigin-widget-field-repeater-item');
608
 
base/js/admin.min.js CHANGED
@@ -1 +1 @@
1
- var sowbForms=window.sowbForms||{};!function(e){e.fn.sowSetupForm=function(){return e(this).each((function(i,t){var r,n=e(t),a=!0,s=e("body"),o=n.find("input[name]");if(o.length&&-1!==o.attr("name").indexOf("__i__"))return this;if(n.is(".siteorigin-widget-form-main")){if(!0===n.data("sow-form-setup"))return!0;if(s.hasClass("widgets-php")&&!s.hasClass("block-editor-page")&&!n.is(":visible")&&0===n.closest(".panel-dialog").length)return!0;n.on("sowstatechange",(function(i,t,r){n.find("[data-state-handler]").each((function(){var i,n,s,o,d,l,g=e(this),f=e.extend({},g.data("state-handler"),a?g.data("state-handler-initial"):{});if(0===Object.keys(f).length)return!0;var p={},c=sowbForms.getContainerFieldId(g,"repeater",".siteorigin-widget-field-repeater-item");if(!1!==c){var u={};for(var w in f)u[w.replace("{$repeater}",c)]=f[w];f=u}var m=sowbForms.getContainerFieldId(g,"widget",".siteorigin-widget-widget");if(!1!==m){var v={};for(var h in f){var b=h.match(/_else\[(.*)\]|(.*)\[(.*)\]/);v[b&&b.length&&void 0===b[1]?b[2]+"_"+m+"["+b[3]+"]":"_else["+b[1]+"_"+m+"]"]=f[h]}f=v}for(var y in f)if(d=!1,null!==(i=y.match(/^([a-zA-Z0-9_-]+)(\[([a-zA-Z0-9_\-,]+)\])?(\[\])?$/))){if(n={group:"default",name:"",multi:!1},void 0!==i[2]?(n.group=i[1],n.name=i[3]):n.name=i[0],n.multi=void 0!==i[4],"_else"===n.group)n.group=n.name,n.name="",d=n.group===t&&void 0===p[n.group];else{l=n.name.split(",").map((function(e){return e.trim()}));for(var k=0;k<l.length&&!(d=n.group===t&&l[k]===r);k++);}if(d){s=f[y],n.multi||(s=[s]);for(k=0;k<s.length;k++){var F=!1;if((o=void 0!==s[k][1]&&Boolean(s[k][1])?g.find(s[k][1]):g).prop("style").length&&("show"==s[k][0]?(o.fadeIn("fast"),F=!0):"hide"==s[k][0]&&(o.fadeOut("fast"),F=!0)),F||o[s[k][0]].apply(o,void 0!==s[k][2]?s[k][2]:[]),o.is(".siteorigin-widget-field:visible"))if(o.is(".siteorigin-widget-field-type-section"))o.find("> .siteorigin-widget-section > .siteorigin-widget-field").trigger("sowsetupformfield");else o.trigger("sowsetupformfield")}p[n.group]=!0}}}))})),n.sowSetupPreview(),r=n;var d=n.find(".siteorigin-widget-teaser");if(d.find(".dashicons-dismiss").on("click",(function(){var i=e(this);e.get(i.data("dismiss-url")),d.slideUp("normal",(function(){d.remove()}))})),!n.data("backupDisabled")){var l=n.find("> .siteorigin-widgets-form-id").val(),g=n.find("> .siteorigin-widgets-form-timestamp"),f=parseInt(g.val()||0),p=JSON.parse(sessionStorage.getItem(l));p&&(p._sow_form_timestamp>f?sowbForms.displayNotice(n,soWidgets.backup.newerVersion,soWidgets.backup.replaceWarning,[{label:soWidgets.backup.restore,callback:function(e){sowbForms.setWidgetFormValues(r,p),e.slideUp("fast",(function(){e.remove()}))}},{label:soWidgets.backup.dismiss,callback:function(e){e.slideUp("fast",(function(){sessionStorage.removeItem(l),e.remove()}))}}]):sessionStorage.removeItem(l)),n.on("change",(function(){g.val((new Date).getTime());var e=sowbForms.getWidgetFormValues(n);sessionStorage.setItem(l,JSON.stringify(e))}))}}else r=n.closest(".siteorigin-widget-form-main");r.find("> .siteorigin-widgets-form-id").val();var c=n.find("> .siteorigin-widget-field");c.find("> .siteorigin-widget-section").sowSetupForm();var u=c.find("> .siteorigin-widget-widget");u.find("> .siteorigin-widget-section").sowSetupForm(),u.filter(":not(:has(> .siteorigin-widget-section))").sowSetupForm(),c.find(".siteorigin-widget-input").each((function(i,t){null===e(t).data("original-name")&&e(t).data("original-name",e(t).attr("name"))})),c.find("> .siteorigin-widget-field-repeater").sowSetupRepeater(),n.find(".siteorigin-widget-field-repeater-item").sowSetupRepeaterItems(),c.find("> .siteorigin-widget-input-color").each((function(){var i=e(this),t={change:function(i,t){setTimeout((function(){e(i.target).trigger("change")}),100)}};i.data("defaultColor")&&(t.defaultColor=i.data("defaultColor")),i.wpColorPicker(t)}));var w=function(i){("keyup"!=i.type||sowbForms.isEnter(i))&&(e(this).toggleClass("siteorigin-widget-section-visible"),e(this).parent().find("> .siteorigin-widget-section, > .siteorigin-widget-widget > .siteorigin-widget-section").slideToggle("fast",(function(){(e(window).trigger("resize"),e(this).find("> .siteorigin-widget-field-container-state").val(e(this).is(":visible")?"open":"closed"),e(this).is(":visible"))&&e(this).find("> .siteorigin-widget-field").trigger("sowsetupformfield")})))};c.filter(".siteorigin-widget-field-type-widget, .siteorigin-widget-field-type-section").find("> label").on("click keyup",w).attr("tabinex",0),c.filter(".siteorigin-widget-field-type-posts").find(".posts-container-label-wrapper").on("click keyup",w),c.filter(".siteorigin-widget-field-type-slider").each((function(){var i=e(this),t=i.find('input[type="number"]'),r=i.find(".siteorigin-widget-value-slider");r.slider({max:parseFloat(t.attr("max")),min:parseFloat(t.attr("min")),step:parseFloat(t.attr("step")),value:parseFloat(t.val()),slide:function(e,r){t.val(parseFloat(r.value)),t.trigger("change"),i.find(".siteorigin-widget-slider-value").html(r.value)}}),t.on("change",(function(e,i){i&&i.silent||r.slider("value",parseFloat(t.val()))}))})),c.filter(".siteorigin-widget-field-type-link").each((function(){var i=e(this),t=function(){var t=i.find(".content-text-search"),r={action:"so_widgets_search_posts",query:t.val(),postTypes:t.data("postTypes")};"string"==typeof icl_this_lang&&(r.language=icl_this_lang);var n=i.find("ul.posts").empty().addClass("loading");e.get(soWidgets.ajaxurl,r,(function(i){for(var t=0;t<i.length;t++)""===i[t].label&&(i[t].label="&nbsp;"),n.append(e("<li>").addClass("post").html(i[t].label+"<span>("+i[t].type+")</span>").data(i[t]).attr("tabindex",0));n.removeClass("loading")}))};i.find(".select-content-button, .button-close").on("click",(function(r){r.preventDefault(),e(this).trigger("blur");var n=i.find(".existing-content-selector");n.toggle(),n.is(":visible")&&0===n.find("ul.posts li").length&&t()})),i.on("click keyup",".posts li",(function(t){if(t.preventDefault(),"keyup"!=t.type||sowbForms.isEnter(t)){var r=e(this);i.find("input.siteorigin-widget-input").val("post: "+r.data("value")),i.trigger("change"),i.find(".existing-content-selector").toggle()}}));var r=null;i.find(".content-text-search").on("keyup",(function(){null!==r&&clearTimeout(r),r=setTimeout((function(){t()}),500)}))})),void 0!==jQuery.fn.soPanelsSetupBuilderWidget&&c.filter(".siteorigin-widget-field-type-builder").each((function(){e(this).find("> .siteorigin-page-builder-field").each((function(){var i=e(this);i.soPanelsSetupBuilderWidget({builderType:i.data("type")})}))}));var m=function(){var i=e(this),t=i.closest("[data-state-emitter]").data("state-emitter");if(void 0!==t){var n=function(t,r){if(void 0===sowEmitters[t.callback]||"_"===t.callback.substr(0,1))return r;if(i.is('[type="radio"]')&&!i.is(":checked"))return r;var n=sowbForms.getContainerFieldId(i,"repeater",".siteorigin-widget-field-repeater-item");!1!==n&&(t.args=t.args.map((function(e){return e.replace("{$repeater}",n)})));var a=sowbForms.getContainerFieldId(i,"widget",".siteorigin-widget-widget");!1===a||t.hasOwnProperty("widgetFieldId")||(t.widgetFieldId=a,t.args=t.args.map((function(e){return e="conditional"===t.callback?e.replace(/(.*)(\[.*)/,"$1_"+a+"$2"):e+"_"+a})));var s=i.is('[type="checkbox"]')?i.is(":checked"):i.val();return i.parent().hasClass("siteorigin-widget-field-type-media")&&"conditional"==t.callback&&(s||(s=i.hasClass("media-fallback-external")?i.prev().val():fallbackField=i.next().val()),0==s&&(s="")),e.extend(r,sowEmitters[t.callback](s,t.args))},a={default:""};void 0===t.length&&(t=[t]);for(var s=0;s<t.length;s++)a=n(t[s],a);var o=r.data("states");for(var d in void 0===o&&(o={default:""}),a)void 0!==o[d]&&a[d]===o[d]||(o[d]=a[d],r.trigger("sowstatechange",[d,a[d]]));r.data("states",o)}};c.filter("[data-state-emitter]").each((function(){var i=e(this).find(".siteorigin-widget-input:not(.custom-image-size)");i.on("keyup change",m),i.each((function(){var i=e(this);i.is(":radio")?i.is(":checked")&&m.call(i[0]):m.call(i[0])}))})),n.trigger("sowsetupform",c).data("sow-form-setup",!0),c.trigger("sowsetupformfield"),n.find(".siteorigin-widget-field-repeater-item").trigger("updateFieldPositions"),(s.hasClass("wp-customizer")||s.hasClass("widgets-php"))&&n.closest(".ui-sortable").on("sortstop",(function(e,i){i.item.find(".siteorigin-widget-form").find("> .siteorigin-widget-field").trigger("sowsetupformfield")})),a=!1}))},e.fn.sowSetupPreview=function(){var i=e(this);i.siblings(".siteorigin-widget-preview").find("> a").on("click",(function(t){t.preventDefault();var r=sowbForms.getWidgetFormValues(i),n=e(e("#so-widgets-bundle-tpl-preview-dialog").html().trim()).appendTo("body");n.find('input[name="data"]').val(JSON.stringify(r)),n.find('input[name="class"]').val(i.data("class")),n.find("iframe").on("load",(function(){e(this).css("visibility","visible")})),n.find("form").trigger("submit"),n.find(".close").on("click keyup",(function(e){("keyup"!=e.type||sowbForms.isEnter(e))&&n.remove()}))}))},e.fn.sowSetupRepeater=function(){return e(this).each((function(i,t){var r=e(t),n=r.find(".siteorigin-widget-field-repeater-items"),a=r.data("repeater-name");n.bind("updateFieldPositions",(function(){var i=e(this),t=i.find("> .siteorigin-widget-field-repeater-item");t.each((function(i,t){e(t).find(".siteorigin-widget-input").each((function(t,r){var n=e(r).data("repeater-positions");void 0===n&&(n={}),n[a]=i,e(r).data("repeater-positions",n)}))})),i.find(".siteorigin-widget-input").each((function(i,t){var r=e(t),n=r.data("repeater-positions");if(void 0!==n){var a=r.attr("data-original-name");if(a||(r.attr("data-original-name",r.attr("name")),a=r.attr("name")),!a)return;if(n)for(var s in n)a=a.replace("#"+s+"#",n[s]);r.attr("name",a)}})),i.data("initialSetup")||(i.find(".siteorigin-widget-input").each((function(i,t){var r=e(t);r.prop("checked",r.prop("defaultChecked"))})),i.data("initialSetup",!0));var n=r.data("scroll-count")?parseInt(r.data("scroll-count")):0;if(n>0&&t.length>n){var s=t.first().outerHeight();i.css("max-height",s*n+"px"),i.css("overflow","auto")}else i.css("max-height","").css("overflow","")})),n.sortable({handle:".siteorigin-widget-field-repeater-item-top",items:"> .siteorigin-widget-field-repeater-item",update:function(){n.find('input[type="radio"].siteorigin-widget-input').attr("name",""),n.trigger("updateFieldPositions"),r.trigger("change")},sortstop:function(i,t){t.item.is(".siteorigin-widget-field-repeater-item")?t.item.find("> .siteorigin-widget-field-repeater-item-form").each((function(){e(this).find("> .siteorigin-widget-field").trigger("sowsetupformfield")})):t.item.find(".siteorigin-widget-form").find("> .siteorigin-widget-field").trigger("sowsetupformfield");r.trigger("change")}}),n.trigger("updateFieldPositions"),r.find("> .siteorigin-widget-field-repeater-add").disableSelection().on("click keyup",(function(i){i.preventDefault(),("keyup"!=i.type||sowbForms.isEnter(i))&&r.closest(".siteorigin-widget-field-repeater").sowAddRepeaterItem().find("> .siteorigin-widget-field-repeater-items").slideDown("fast",(function(){e(window).trigger("resize")}))})),r.find("> .siteorigin-widget-field-repeater-top > .siteorigin-widget-field-repeater-expand").on("click",(function(i){i.preventDefault(),r.closest(".siteorigin-widget-field-repeater").find("> .siteorigin-widget-field-repeateritems-").slideToggle("fast",(function(){e(window).trigger("resize")}))}))}))},e.fn.sowAddRepeaterItem=function(){return e(this).each((function(i,t){var r=e(t),n=r.find("> .siteorigin-widget-field-repeater-items").children().length+1,a=e("<div>"+r.find("> .siteorigin-widget-field-repeater-item-html").html()+"</div>");a.find(".siteorigin-widget-input[data-name]").each((function(){var i=e(this);0===i.closest(".siteorigin-widget-field-repeater-item-html").length&&i.attr("name",e(this).data("name"))}));var s="";a.find("> .siteorigin-widget-field").each((function(i,t){var r=t.outerHTML;e(t).is(".siteorigin-widget-field-type-repeater")||(r=r.replace(/_id_/g,n)),s+=r}));var o=void 0!==r.attr("readonly"),d=e('<div class="siteorigin-widget-field-repeater-item ui-draggable"></div>').append(e('<div class="siteorigin-widget-field-repeater-item-top" tabindex="0" />').append(e('<div class="siteorigin-widget-field-expand" tabindex="0" />')).append(o?"":e('<div class="siteorigin-widget-field-copy" tabindex="0" />')).append(o?"":e('<div class="siteorigin-widget-field-remove" tabindex="0" />')).append(e("<h4></h4>").html(r.data("item-name")))).append(e('<div class="siteorigin-widget-field-repeater-item-form"></div>').html(s));r.find("> .siteorigin-widget-field-repeater-items").append(d).sortable("refresh").trigger("updateFieldPositions"),d.sowSetupRepeaterItems(),d.hide().slideDown("fast",(function(){e(window).trigger("resize")})),r.trigger("change")}))},e.fn.sowRemoveRepeaterItem=function(){return e(this).each((function(i,t){var r=e(this).closest(".siteorigin-widget-field-repeater-items");e(this).remove(),r.sortable("refresh").trigger("updateFieldPositions"),e(t).trigger("change")}))},e.fn.sowSetupRepeaterItems=function(){return e(this).each((function(i,t){var r=e(t);if(void 0===r.data("sowrepeater-actions-setup")){var n=r.closest(".siteorigin-widget-field-repeater"),a=r.find("> .siteorigin-widget-field-repeater-item-top"),s=n.data("item-label"),o=r.parents(".siteorigin-widget-field-repeater").data("item-name");if(s&&(s.hasOwnProperty("selector")||s.hasOwnProperty("selectorArray"))){var d=function(){var e,i,t;if(s.hasOwnProperty("selectorArray"))for(var n=0;n<s.selectorArray.length&&(e=(t=s.selectorArray[n]).hasOwnProperty("valueMethod")&&t.valueMethod?t.valueMethod:"val",!(i=r.find(t.selector)[e]()));n++);else e=s.hasOwnProperty("valueMethod")&&s.valueMethod?s.valueMethod:"val",i=r.find(s.selector)[e]();if(i)i.length>80&&(i=i.substr(0,79)+"...");else if(i=o,s.increment){var d=r.index();d++,isNaN(d)||("before"==s.increment?i=d+" "+i:i+=" "+d)}a.find("h4").text(i)};d();var l=s.hasOwnProperty("updateEvent")&&s.updateEvent?s.updateEvent:"change";r.on(l,d)}a.on("click keyup",(function(i){"siteorigin-widget-field-remove"!==i.target.className&&"siteorigin-widget-field-copy"!==i.target.className&&("keyup"!=i.type||sowbForms.isEnter(i))&&(i.preventDefault(),e(this).closest(".siteorigin-widget-field-repeater-item").find(".siteorigin-widget-field-repeater-item-form").eq(0).slideToggle("fast",(function(){e(window).trigger("resize"),e(this).is(":visible")?(e(this).trigger("slideToggleOpenComplete"),e(this).find(".siteorigin-widget-field-type-section > .siteorigin-widget-section > .siteorigin-widget-field,> .siteorigin-widget-field").each((function(i,t){var r=e(t);r.is(":visible")&&r.trigger("sowsetupformfield")}))):e(this).trigger("slideToggleCloseComplete")})))})),a.find(".siteorigin-widget-field-remove").on("click keyup",(function(i,t){if(i.preventDefault(),"keyup"!=i.type||sowbForms.isEnter(i)){var a=e(this).closest(".siteorigin-widget-field-repeater-items"),s=e(this).closest(".siteorigin-widget-field-repeater-item"),o=function(){s.remove(),a.sortable("refresh").trigger("updateFieldPositions"),e(window).trigger("resize"),n.trigger("change")};t&&t.silent?o():confirm(soWidgets.sure)&&s.slideUp("fast",o),"string"==typeof r.closest(".siteorigin-widget-field-repeater").data("item-label").increment&&r.parent().find(".siteorigin-widget-field-repeater-item").trigger("change")}})),a.find(".siteorigin-widget-field-copy").on("click keyup",(function(i){if(i.preventDefault(),"keyup"!=i.type||sowbForms.isEnter(i)){var t=e(this).closest(".siteorigin-widget-form-main"),n=e(this).closest(".siteorigin-widget-field-repeater-item"),a=n.clone(),s=n.closest(".siteorigin-widget-field-repeater-items"),o=s.children().length,d={};a.find("*[name]").each((function(){var i=e(this),s=i.attr("id"),l=i.attr("name");if(i.is("textarea")&&i.parent().is(".wp-editor-container")&&"undefined"!=typeof tinymce){i.parent().empty().append(i),i.css("display","");var g=tinymce.get(s);if(g){var f=g.getContent();_.isEmpty(f)?-1!==f.search("<")&&-1===f.search(">")&&$textarea.val(f.replace(/</g,"")):i.val(f)}}else if(i.is(".wp-color-picker")){var p=i.closest(".wp-picker-container"),c=i.closest(".siteorigin-widget-field");p.remove(),c.append(i.remove())}else{var u=s?n.find("#"+s):n.find('[name="'+l+'"]');u.length&&null!=u.val()&&i.val(u.val())}if(s){var w,m;if(i.is('[type="radio"]')){w=s.replace(/-\d+-\d+$/,"");var v=s.replace(/-\d+$/,"");if(!d[w]){var h={};d[w]=t.find(".siteorigin-widget-input[id^="+w+"]").not("[id*=_id_]").filter((function(i,t){var r=e(t).attr("name");return!h[r]&&(h[r]=!0,!0)})).length+1}var b=w+"-"+d[w];m=b+s.match(/-\d+$/)[0],a.find("label[for="+v+"]").attr("for",b)}else F=new RegExp("-\\d+$"),w=s.replace(F,""),d[w]||(d[w]=t.find(".siteorigin-widget-input[id^="+w+"]").not("[id*=_id_]").length+1),m=w+"-"+d[w]++;if(i.is(".wp-editor-area")&&(m+=Math.floor(1e3*Math.random()),i.data("tinymce-id",m)),i.attr("id",m),i.is(".wp-editor-area")){var y=i.closest(".siteorigin-widget-tinymce-container"),k=y.data("media-buttons");if(k&&k.html){var F=new RegExp(s,"g");k.html=k.html.replace(F,m),y.data("media-buttons",k)}}a.find("label[for="+s+"]").attr("for",m),a.find("[id*="+s+"]").each((function(){var i=e(this).attr("id").replace(s,m);e(this).attr("id",i)})),"undefined"!=typeof tinymce&&tinymce.get(m)&&tinymce.get(m).remove()}var x=n.parents(".siteorigin-widget-field-repeater").length,C=e("body");(C.hasClass("wp-customizer")||C.hasClass("widgets-php"))&&0===r.closest(".panel-dialog").length&&(x+=1);var E=l.replace(new RegExp("((?:.*?\\[\\d+\\]){"+(x-1).toString()+"})?(.*?\\[)\\d+(\\])"),"$1$2"+o.toString()+"$3");i.attr("name",E),i.data("original-name",E)})),s.append(a).sortable("refresh").trigger("updateFieldPositions"),a.sowSetupRepeaterItems(),a.hide().slideDown("fast",(function(){e(window).trigger("resize")})),"string"==typeof r.closest(".siteorigin-widget-field-repeater").data("item-label").increment?r.parent().find(".siteorigin-widget-field-repeater-item").trigger("change"):r.trigger("change")}})),r.find("> .siteorigin-widget-field-repeater-item-form").sowSetupForm(),r.data("sowrepeater-actions-setup",!0)}}))},sowbForms.getContainerFieldId=function(e,i,t){var r=i+"FieldId";this.hasOwnProperty(r)||(this[r]=1);var n=e.closest(t);if(n.length){var a=n.data("field-id");return void 0===a&&(a=this[r]++),n.data("field-id",a),a}return!1},sowbForms.getWidgetFieldVariable=function(e,i,t){var r=window.sow_field_javascript_variables[e];i=i.replace(/\[#.*?#\]/g,"");for(var n=/[a-zA-Z0-9\-]+(?:\[c?[0-9]+\])?\[(.*)\]/.exec(i)[1].split("]["),a=n.length?r:null;n.length;)a=a[n.shift()];return a[t]},sowbForms.fetchWidgetVariable=function(i,t,r){window.sowVars=window.sowVars||{},void 0===window.sowVars[t]?e.post(soWidgets.ajaxurl,{action:"sow_get_javascript_variables",widget:t,key:i},(function(e){window.sowVars[t]=e,r(window.sowVars[t][i])})):r(window.sowVars[t][i])},sowbForms.getWidgetIdBase=function(e){return e.data("id-base")},sowbForms.getWidgetFormValues=function(i){if(_.isUndefined(i))return null;var t={};return i.find("*[name]").each((function(){var i=e(this);try{var r=/[a-zA-Z0-9\-]+\[[a-zA-Z0-9]+\]\[(.*)\]/.exec(i.attr("name"));if(_.isEmpty(r))return!0;var n=(r=r[1]).split("][");n=n.map((function(e){return!isNaN(parseFloat(e))&&isFinite(e)?parseInt(e):e}));var a=t,s=null,o=_.isString(i.attr("type"))?i.attr("type").toLowerCase():null;if("checkbox"===o)s=!!i.is(":checked")&&(""===i.val()||i.val());else if("radio"===o){if(!i.is(":checked"))return;s=i.val()}else if("TEXTAREA"===i.prop("tagName")&&i.hasClass("wp-editor-area")){var d=null;"undefined"!=typeof tinyMCE&&(d=tinyMCE.get(i.attr("id"))),s=null===d||"function"!=typeof d.getContent||d.isHidden()?i.val():d.getContent()}else if("SELECT"===i.prop("tagName")){var l=i.find("option:selected");1===l.length?s=i.find("option:selected").val():l.length>1&&(s=_.map(i.find("option:selected"),(function(i,t){return e(i).val()})))}else s=i.val();for(var g=0;g<n.length;g++)g===n.length-1?""===n[g]?a.push(s):a[n[g]]=s:(_.isUndefined(a[n[g]])&&(_.isNumber(n[g+1])||""===n[g+1]?a[n[g]]=[]:a[n[g]]={}),a=a[n[g]])}catch(e){console.error("Field ["+i.attr("name")+"] could not be processed and was skipped - "+e.message)}})),t},sowbForms.isEnter=function(i,t=!1){if(13==i.which){if(!t)return!0;e(i.target).trigger("click")}},sowbForms.setWidgetFormValues=function(i,t,r,n){r=r||!1,n=void 0!==n&&n||void 0===n;var a=0,s=function(i,t){10!=++a?(i.find("> .siteorigin-widget-field-type-repeater,> .siteorigin-widget-field-type-section > .siteorigin-widget-section > .siteorigin-widget-field-type-repeater").each((function(i,n){var a=e(this),o=a.find("> .siteorigin-widget-field-repeater"),d=o.data("repeaterName"),l=t.hasOwnProperty(d)?t[d]:null;if(a.parent().is(".siteorigin-widget-section")){var g=o.data("element-name");g=g.replace(/\[#.*?#\]/g,"");for(var f=/[a-zA-Z0-9\-]+(?:\[c?[0-9]+\])?\[(.*)\]/.exec(g)[1].split("]["),p=f.length?t:null;f.length;){var c=f.shift();p=p.hasOwnProperty(c)?p[c]:p}l=p}if(l&&Array.isArray(l)){var u=o.find("> .siteorigin-widget-field-repeater-items > .siteorigin-widget-field-repeater-item"),w=l.length,m=u.length;if(w>m)for(var v=0;v<w-m;v++)o.find("> .siteorigin-widget-field-repeater-add").trigger("click");else if(!r&&w<m)for(var h=w;h<m;h++){e(u.eq(h)).find("> .siteorigin-widget-field-repeater-item-top").find(".siteorigin-widget-field-remove").trigger("click",{silent:!0})}u=o.find("> .siteorigin-widget-field-repeater-items > .siteorigin-widget-field-repeater-item");for(var b=0;b<u.length;b++)u.eq(b).find("> .siteorigin-widget-field-repeater-item-form"),s(u.eq(b).find("> .siteorigin-widget-field-repeater-item-form"),l[b])}})),--a):--a};s(i,t),i.find("*[name]").each((function(){var i=e(this),a=/[a-zA-Z0-9\-]+\[[a-zA-Z0-9]+\]\[(.*)\]/.exec(i.attr("name"));if(null==a)return!0;var s=(a=a[1]).split("][");s=s.map((function(e){return!isNaN(parseFloat(e))&&isFinite(e)?parseInt(e):e}));for(var o,d=t,l=0;l<s.length;l++){if(!d.hasOwnProperty(s[l])){if(r)return!0;break}l===s.length-1?o=d[s[l]]:d=d[s[l]]}if("checkbox"===i.attr("type"))i.prop("checked",o);else if("radio"===i.attr("type"))i.prop("checked",o===i.val());else if("TEXTAREA"===i.prop("tagName")&&i.hasClass("wp-editor-area")){var g=null;"undefined"!=typeof tinyMCE&&(g=tinyMCE.get(i.attr("id"))),null!==g&&"function"==typeof g.setContent&&!g.isHidden()&&i.parent().is(":visible")?g.initialized?g.setContent(o):g.on("init",(function(){g.setContent(o)})):i.val(o)}else if(i.is(".panels-data")){i.val(o);var f=i.data("builder");f&&f.setDataField(i)}else i.val(o);n&&(i.trigger("change"),this.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})))}))},sowbForms.displayNotice=function(i,t,r,n,a){var s=e('<div class="siteorigin-widget-form-notification"></div>');t&&s.append("<span>"+t+"</span>"),n&&n.length&&n.forEach((function(i){var t="";i.classes&&i.classes.length&&(t=" "+i.classes.join(" "));var r=e('<a class="button button-small'+t+'" tabindex="0">'+i.label+"</a>");i.url&&r.attr("href",i.url),i.callback&&r.on("click keyup",(function(e){("keyup"!=e.type||sowbForms.isEnter(e))&&i.callback(s)})),s.append(r)})),r&&s.append("<div><small>"+r+"</small></div>"),a?a.before(s):i.prepend(s)},e(".widgets-holder-wrap").on("click",".widget:has(.siteorigin-widget-form-main) .widget-top",(function(){var i=e(this).closest(".widget").find(".siteorigin-widget-form-main");setTimeout((function(){i.sowSetupForm()}),200)}));var i=e("body");e(document).on("widget-added",(function(e,i){console.log(i.find(".siteorigin-widget-form")),i.find(".siteorigin-widget-form").sowSetupForm()})),i.hasClass("block-editor-page")&&e(document).on("panels_setup_preview",(function(){window.hasOwnProperty("sowb")&&e(sowb).trigger("setup_widgets",{preview:!0})})),e(document).on("open_dialog",(function(e,i){i.$el.find(".so-panels-dialog").is(".so-panels-dialog-edit-widget")&&i.$el.find(".siteorigin-widget-form-main").find("> .siteorigin-widget-field").trigger("sowsetupformfield")})),e((function(){e(document).trigger("sowadminloaded")}))}(jQuery);var sowEmitters={_match:function(e,i){void 0===i&&(i=".*");var t=new RegExp("^([a-zA-Z0-9_-]+)(\\[([a-zA-Z0-9_-]+)\\])? *: *("+i+") *$").exec(e);if(null===t)return!1;var r="",n="default";return void 0!==t[3]?(n=t[1],r=t[3]):r=t[1],{match:t[4].trim(),group:n,state:r}},_checker:function(e,i,t,r){var n,a={};void 0===i.length&&(i=[i]);for(var s=0;s<i.length;s++)!1!==(n=sowEmitters._match(i[s],t))&&("_true"===n.match||r(e,i,n.match))&&(a[n.group]=n.state);return a},select:function(e,i){void 0===i.length&&(i=[i]);for(var t={},r=0;r<i.length;r++)""===i[r]&&(i[r]="default"),t[i[r]]=e;return t},conditional:function(val,args){return sowEmitters._checker(val,args,"[^;{}]*",(function(val,args,match){return eval(match)}))},in:function(e,i){return sowEmitters._checker(e,i,"[^;{}]*",(function(e,i,t){return-1!==t.split(",").map((function(e){return e.trim()})).indexOf(e)}))}};window.sowbForms=sowbForms;
1
+ var sowbForms=window.sowbForms||{};!function(e){e.fn.sowSetupForm=function(){return e(this).each((function(i,t){var r,n=e(t),a=!0,s=e("body"),o=n.find("input[name]");if(o.length&&-1!==o.attr("name").indexOf("__i__"))return this;if(n.is(".siteorigin-widget-form-main")){if(!0===n.data("sow-form-setup"))return!0;if(s.hasClass("widgets-php")&&!s.hasClass("block-editor-page")&&!n.is(":visible")&&0===n.closest(".panel-dialog").length)return!0;n.on("sowstatechange",(function(i,t,r){n.find("[data-state-handler]").each((function(){var i,n,s,o,d,l,g=e(this),f=e.extend({},g.data("state-handler"),a?g.data("state-handler-initial"):{});if(0===Object.keys(f).length)return!0;var p={},c=sowbForms.getContainerFieldId(g,"repeater",".siteorigin-widget-field-repeater-item");if(!1!==c){var u={};for(var w in f)u[w.replace("{$repeater}",c)]=f[w];f=u}var m=sowbForms.getContainerFieldId(g,"widget",".siteorigin-widget-widget");if(!1!==m){var v={};for(var h in f){var b=h.match(/_else\[(.*)\]|(.*)\[(.*)\]/);v[b&&b.length&&void 0===b[1]?b[2]+"_"+m+"["+b[3]+"]":"_else["+b[1]+"_"+m+"]"]=f[h]}f=v}for(var y in f)if(d=!1,null!==(i=y.match(/^([a-zA-Z0-9_-]+)(\[([a-zA-Z0-9_\-,]+)\])?(\[\])?$/))){if(n={group:"default",name:"",multi:!1},void 0!==i[2]?(n.group=i[1],n.name=i[3]):n.name=i[0],n.multi=void 0!==i[4],"_else"===n.group)n.group=n.name,n.name="",d=n.group===t&&void 0===p[n.group];else{l=n.name.split(",").map((function(e){return e.trim()}));for(var k=0;k<l.length&&!(d=n.group===t&&l[k]===r);k++);}if(d){s=f[y],n.multi||(s=[s]);for(k=0;k<s.length;k++){var F=!1;if((o=void 0!==s[k][1]&&Boolean(s[k][1])?g.find(s[k][1]):g).prop("style").length&&("show"==s[k][0]?(o.fadeIn("fast"),F=!0):"hide"==s[k][0]&&(o.fadeOut("fast"),F=!0)),F||o[s[k][0]].apply(o,void 0!==s[k][2]?s[k][2]:[]),o.is(".siteorigin-widget-field:visible"))if(o.is(".siteorigin-widget-field-type-section"))o.find("> .siteorigin-widget-section > .siteorigin-widget-field").trigger("sowsetupformfield");else o.trigger("sowsetupformfield")}p[n.group]=!0}}}))})),n.sowSetupPreview(),r=n;var d=n.find(".siteorigin-widget-teaser");if(d.find(".dashicons-dismiss").on("click",(function(){var i=e(this);e.get(i.data("dismiss-url")),d.slideUp("normal",(function(){d.remove()}))})),!n.data("backupDisabled")){var l=n.find("> .siteorigin-widgets-form-id").val(),g=n.find("> .siteorigin-widgets-form-timestamp"),f=parseInt(g.val()||0),p=JSON.parse(sessionStorage.getItem(l));p&&(p._sow_form_timestamp>f?sowbForms.displayNotice(n,soWidgets.backup.newerVersion,soWidgets.backup.replaceWarning,[{label:soWidgets.backup.restore,callback:function(e){sowbForms.setWidgetFormValues(r,p),e.slideUp("fast",(function(){e.remove()}))}},{label:soWidgets.backup.dismiss,callback:function(e){e.slideUp("fast",(function(){sessionStorage.removeItem(l),e.remove()}))}}]):sessionStorage.removeItem(l)),n.on("change",(function(){g.val((new Date).getTime());var e=sowbForms.getWidgetFormValues(n);sessionStorage.setItem(l,JSON.stringify(e))}))}}else r=n.closest(".siteorigin-widget-form-main");r.find("> .siteorigin-widgets-form-id").val();var c=n.find("> .siteorigin-widget-field");c.find("> .siteorigin-widget-section").sowSetupForm();var u=c.find("> .siteorigin-widget-widget");u.find("> .siteorigin-widget-section").sowSetupForm(),u.filter(":not(:has(> .siteorigin-widget-section))").sowSetupForm(),c.find(".siteorigin-widget-input").each((function(i,t){null===e(t).data("original-name")&&e(t).data("original-name",e(t).attr("name"))})),c.find("> .siteorigin-widget-field-repeater").sowSetupRepeater(),n.find(".siteorigin-widget-field-repeater-item").sowSetupRepeaterItems(),c.find("> .siteorigin-widget-input-color").each((function(){var i=e(this),t={change:function(i,t){setTimeout((function(){e(i.target).trigger("change")}),100)}};i.data("defaultColor")&&(t.defaultColor=i.data("defaultColor")),i.wpColorPicker(t)}));var w=function(i){("keyup"!=i.type||sowbForms.isEnter(i))&&(e(this).toggleClass("siteorigin-widget-section-visible"),e(this).parent().find("> .siteorigin-widget-section, > .siteorigin-widget-widget > .siteorigin-widget-section").slideToggle("fast",(function(){(e(window).trigger("resize"),e(this).find("> .siteorigin-widget-field-container-state").val(e(this).is(":visible")?"open":"closed"),e(this).is(":visible"))&&e(this).find("> .siteorigin-widget-field").trigger("sowsetupformfield")})))};c.filter(".siteorigin-widget-field-type-widget, .siteorigin-widget-field-type-section").find("> label").on("click keyup",w).attr("tabinex",0),c.filter(".siteorigin-widget-field-type-posts").find(".posts-container-label-wrapper").on("click keyup",w),c.filter(".siteorigin-widget-field-type-slider").each((function(){var i=e(this),t=i.find('input[type="number"]'),r=i.find(".siteorigin-widget-value-slider");r.slider({max:parseFloat(t.attr("max")),min:parseFloat(t.attr("min")),step:parseFloat(t.attr("step")),value:parseFloat(t.val()),slide:function(e,r){t.val(parseFloat(r.value)),t.trigger("change"),i.find(".siteorigin-widget-slider-value").html(r.value)}}),t.on("change",(function(e,i){i&&i.silent||r.slider("value",parseFloat(t.val()))}))})),c.filter(".siteorigin-widget-field-type-link").each((function(){var i=e(this),t=function(){var t=i.find(".content-text-search"),r={action:"so_widgets_search_posts",query:t.val(),postTypes:t.data("postTypes")};"string"==typeof icl_this_lang&&(r.language=icl_this_lang);var n=i.find("ul.posts").empty().addClass("loading");e.get(soWidgets.ajaxurl,r,(function(i){for(var t=0;t<i.length;t++)""===i[t].label&&(i[t].label="&nbsp;"),n.append(e("<li>").addClass("post").html(i[t].label+"<span>("+i[t].type+")</span>").data(i[t]).attr("tabindex",0));n.removeClass("loading")}))};i.find(".select-content-button, .button-close").on("click",(function(r){r.preventDefault(),e(this).trigger("blur");var n=i.find(".existing-content-selector");n.toggle(),n.is(":visible")&&0===n.find("ul.posts li").length&&t()})),i.on("click keyup",".posts li",(function(t){if(t.preventDefault(),"keyup"!=t.type||sowbForms.isEnter(t)){var r=e(this);i.find("input.siteorigin-widget-input").val("post: "+r.data("value")),i.trigger("change"),i.find(".existing-content-selector").toggle()}}));var r=null;i.find(".content-text-search").on("keyup",(function(){null!==r&&clearTimeout(r),r=setTimeout((function(){t()}),500)}))})),void 0!==jQuery.fn.soPanelsSetupBuilderWidget&&c.filter(".siteorigin-widget-field-type-builder").each((function(){e(this).find("> .siteorigin-page-builder-field").each((function(){var i=e(this);i.soPanelsSetupBuilderWidget({builderType:i.data("type")})}))}));var m=function(){var i=e(this),t=i.closest("[data-state-emitter]").data("state-emitter");if(void 0!==t){var n=function(t,r){if(void 0===sowEmitters[t.callback]||"_"===t.callback.substr(0,1))return r;if(i.is('[type="radio"]')&&!i.is(":checked"))return r;var n=sowbForms.getContainerFieldId(i,"repeater",".siteorigin-widget-field-repeater-item");!1!==n&&(t.args=t.args.map((function(e){return e.replace("{$repeater}",n)})));var a=sowbForms.getContainerFieldId(i,"widget",".siteorigin-widget-widget");!1===a||t.hasOwnProperty("widgetFieldId")||(t.widgetFieldId=a,t.args=t.args.map((function(e){return e="conditional"===t.callback?e.replace(/(.*)(\[.*)/,"$1_"+a+"$2"):e+"_"+a})));var s=i.is('[type="checkbox"]')?i.is(":checked"):i.val();return i.parent().hasClass("siteorigin-widget-field-type-media")&&"conditional"==t.callback&&(s||(s=i.hasClass("media-fallback-external")?i.prev().val():fallbackField=i.next().val()),0==s&&(s="")),e.extend(r,sowEmitters[t.callback](s,t.args))},a={default:""};void 0===t.length&&(t=[t]);for(var s=0;s<t.length;s++)a=n(t[s],a);var o=r.data("states");for(var d in void 0===o&&(o={default:""}),a)void 0!==o[d]&&a[d]===o[d]||(o[d]=a[d],r.trigger("sowstatechange",[d,a[d]]));r.data("states",o)}};c.filter("[data-state-emitter]").each((function(){var i=e(this).find(".siteorigin-widget-input:not(.custom-image-size)");i.on("keyup change",m),i.each((function(){var i=e(this);i.is(":radio")?i.is(":checked")&&m.call(i[0]):m.call(i[0])}))})),n.trigger("sowsetupform",c).data("sow-form-setup",!0),c.trigger("sowsetupformfield"),n.find(".siteorigin-widget-field-repeater-item").trigger("updateFieldPositions"),(s.hasClass("wp-customizer")||s.hasClass("widgets-php"))&&n.closest(".ui-sortable").on("sortstop",(function(e,i){i.item.find(".siteorigin-widget-form").find("> .siteorigin-widget-field").trigger("sowsetupformfield")})),a=!1}))},e.fn.sowSetupPreview=function(){var i=e(this);i.siblings(".siteorigin-widget-preview").find("> a").on("click",(function(t){t.preventDefault();var r=sowbForms.getWidgetFormValues(i),n=e(e("#so-widgets-bundle-tpl-preview-dialog").html().trim()).appendTo("body");n.find('input[name="data"]').val(JSON.stringify(r)),n.find('input[name="class"]').val(i.data("class")),n.find("iframe").on("load",(function(){e(this).css("visibility","visible")})),n.find("form").trigger("submit"),n.find(".close").on("click keyup",(function(e){("keyup"!=e.type||sowbForms.isEnter(e))&&n.remove()}))}))},e.fn.sowSetupRepeater=function(){return e(this).each((function(i,t){var r=e(t),n=r.find(".siteorigin-widget-field-repeater-items"),a=r.data("repeater-name");n.on("updateFieldPositions",(function(){var i=e(this),t=i.find("> .siteorigin-widget-field-repeater-item");t.each((function(i,t){e(t).find(".siteorigin-widget-input").each((function(t,r){var n=e(r).data("repeater-positions");void 0===n&&(n={}),n[a]=i,e(r).data("repeater-positions",n)}))})),i.find(".siteorigin-widget-input").each((function(i,t){var r=e(t),n=r.data("repeater-positions");if(void 0!==n){var a=r.attr("data-original-name");if(a||(r.attr("data-original-name",r.attr("name")),a=r.attr("name")),!a)return;if(n)for(var s in n)a=a.replace("#"+s+"#",n[s]);r.attr("name",a)}})),i.data("initialSetup")||(i.find(".siteorigin-widget-input").each((function(i,t){var r=e(t);r.prop("checked",r.prop("defaultChecked"))})),i.data("initialSetup",!0));var n=r.data("scroll-count")?parseInt(r.data("scroll-count")):0;if(n>0&&t.length>n){var s=t.first().outerHeight();i.css("max-height",s*n+"px"),i.css("overflow","auto")}else i.css("max-height","").css("overflow","")})),n.sortable({handle:".siteorigin-widget-field-repeater-item-top",items:"> .siteorigin-widget-field-repeater-item",update:function(){n.find('input[type="radio"].siteorigin-widget-input').attr("name",""),n.trigger("updateFieldPositions"),r.trigger("change")},sortstop:function(i,t){t.item.is(".siteorigin-widget-field-repeater-item")?t.item.find("> .siteorigin-widget-field-repeater-item-form").each((function(){e(this).find("> .siteorigin-widget-field").trigger("sowsetupformfield")})):t.item.find(".siteorigin-widget-form").find("> .siteorigin-widget-field").trigger("sowsetupformfield");r.trigger("change")}}),n.trigger("updateFieldPositions"),r.find("> .siteorigin-widget-field-repeater-add").disableSelection().on("click keyup",(function(i){i.preventDefault(),("keyup"!=i.type||sowbForms.isEnter(i))&&r.closest(".siteorigin-widget-field-repeater").sowAddRepeaterItem().find("> .siteorigin-widget-field-repeater-items").slideDown("fast",(function(){e(window).trigger("resize")}))})),r.find("> .siteorigin-widget-field-repeater-top > .siteorigin-widget-field-repeater-expand").on("click",(function(i){i.preventDefault(),r.closest(".siteorigin-widget-field-repeater").find("> .siteorigin-widget-field-repeateritems-").slideToggle("fast",(function(){e(window).trigger("resize")}))}))}))},e.fn.sowAddRepeaterItem=function(){return e(this).each((function(i,t){var r=e(t),n=r.find("> .siteorigin-widget-field-repeater-items").children().length+1,a=e("<div>"+r.find("> .siteorigin-widget-field-repeater-item-html").html()+"</div>");a.find(".siteorigin-widget-input[data-name]").each((function(){var i=e(this);0===i.closest(".siteorigin-widget-field-repeater-item-html").length&&i.attr("name",e(this).data("name"))}));var s="";a.find("> .siteorigin-widget-field").each((function(i,t){var r=t.outerHTML;e(t).is(".siteorigin-widget-field-type-repeater")||(r=r.replace(/_id_/g,n)),s+=r}));var o=void 0!==r.attr("readonly"),d=e('<div class="siteorigin-widget-field-repeater-item ui-draggable"></div>').append(e('<div class="siteorigin-widget-field-repeater-item-top" tabindex="0" />').append(e('<div class="siteorigin-widget-field-expand" tabindex="0" />')).append(o?"":e('<div class="siteorigin-widget-field-copy" tabindex="0" />')).append(o?"":e('<div class="siteorigin-widget-field-remove" tabindex="0" />')).append(e("<h4></h4>").html(r.data("item-name")))).append(e('<div class="siteorigin-widget-field-repeater-item-form"></div>').html(s));r.find("> .siteorigin-widget-field-repeater-items").append(d).sortable("refresh").trigger("updateFieldPositions"),d.sowSetupRepeaterItems(),d.hide().slideDown("fast",(function(){e(window).trigger("resize")})),r.trigger("change")}))},e.fn.sowRemoveRepeaterItem=function(){return e(this).each((function(i,t){var r=e(this).closest(".siteorigin-widget-field-repeater-items");e(this).remove(),r.sortable("refresh").trigger("updateFieldPositions"),e(t).trigger("change")}))},e.fn.sowSetupRepeaterItems=function(){return e(this).each((function(i,t){var r=e(t);if(void 0===r.data("sowrepeater-actions-setup")){var n=r.closest(".siteorigin-widget-field-repeater"),a=r.find("> .siteorigin-widget-field-repeater-item-top"),s=n.data("item-label"),o=r.parents(".siteorigin-widget-field-repeater").data("item-name");if(s&&(s.hasOwnProperty("selector")||s.hasOwnProperty("selectorArray"))){var d=function(){var e,i,t;if(s.hasOwnProperty("selectorArray"))for(var n=0;n<s.selectorArray.length&&(e=(t=s.selectorArray[n]).hasOwnProperty("valueMethod")&&t.valueMethod?t.valueMethod:"val",!(i=r.find(t.selector)[e]()));n++);else e=s.hasOwnProperty("valueMethod")&&s.valueMethod?s.valueMethod:"val",i=r.find(s.selector)[e]();if(i)i.length>80&&(i=i.substr(0,79)+"...");else if(i=o,s.increment){var d=r.index();d++,isNaN(d)||("before"==s.increment?i=d+" "+i:i+=" "+d)}a.find("h4").text(i)};d();var l=s.hasOwnProperty("updateEvent")&&s.updateEvent?s.updateEvent:"change";r.on(l,d)}a.on("click keyup",(function(i){"siteorigin-widget-field-remove"!==i.target.className&&"siteorigin-widget-field-copy"!==i.target.className&&("keyup"!=i.type||sowbForms.isEnter(i))&&(i.preventDefault(),e(this).closest(".siteorigin-widget-field-repeater-item").find(".siteorigin-widget-field-repeater-item-form").eq(0).slideToggle("fast",(function(){e(window).trigger("resize"),e(this).is(":visible")?(e(this).trigger("slideToggleOpenComplete"),e(this).find(".siteorigin-widget-field-type-section > .siteorigin-widget-section > .siteorigin-widget-field,> .siteorigin-widget-field").each((function(i,t){var r=e(t);r.is(":visible")&&r.trigger("sowsetupformfield")}))):e(this).trigger("slideToggleCloseComplete")})))})),a.find(".siteorigin-widget-field-remove").on("click keyup",(function(i,t){if(i.preventDefault(),"keyup"!=i.type||sowbForms.isEnter(i)){var a=e(this).closest(".siteorigin-widget-field-repeater-items"),s=e(this).closest(".siteorigin-widget-field-repeater-item"),o=function(){s.remove(),a.sortable("refresh").trigger("updateFieldPositions"),e(window).trigger("resize"),n.trigger("change")};t&&t.silent?o():confirm(soWidgets.sure)&&s.slideUp("fast",o),"string"==typeof r.closest(".siteorigin-widget-field-repeater").data("item-label").increment&&r.parent().find(".siteorigin-widget-field-repeater-item").trigger("change")}})),a.find(".siteorigin-widget-field-copy").on("click keyup",(function(i){if(i.preventDefault(),"keyup"!=i.type||sowbForms.isEnter(i)){var t=e(this).closest(".siteorigin-widget-form-main"),n=e(this).closest(".siteorigin-widget-field-repeater-item"),a=n.clone(),s=n.closest(".siteorigin-widget-field-repeater-items"),o=s.children().length,d={};a.find("*[name]").each((function(){var i=e(this),s=i.attr("id"),l=i.attr("name");if(i.is("textarea")&&i.parent().is(".wp-editor-container")&&"undefined"!=typeof tinymce){i.parent().empty().append(i),i.css("display","");var g=tinymce.get(s);if(g){var f=g.getContent();_.isEmpty(f)?-1!==f.search("<")&&-1===f.search(">")&&$textarea.val(f.replace(/</g,"")):i.val(f)}}else if(i.is(".wp-color-picker")){var p=i.closest(".wp-picker-container"),c=i.closest(".siteorigin-widget-field");p.remove(),c.append(i.remove())}else{var u=s?n.find("#"+s):n.find('[name="'+l+'"]');u.length&&null!=u.val()&&i.val(u.val())}if(s){var w,m;if(i.is('[type="radio"]')){w=s.replace(/-\d+-\d+$/,"");var v=s.replace(/-\d+$/,"");if(!d[w]){var h={};d[w]=t.find(".siteorigin-widget-input[id^="+w+"]").not("[id*=_id_]").filter((function(i,t){var r=e(t).attr("name");return!h[r]&&(h[r]=!0,!0)})).length+1}var b=w+"-"+d[w];m=b+s.match(/-\d+$/)[0],a.find("label[for="+v+"]").attr("for",b)}else F=new RegExp("-\\d+$"),w=s.replace(F,""),d[w]||(d[w]=t.find(".siteorigin-widget-input[id^="+w+"]").not("[id*=_id_]").length+1),m=w+"-"+d[w]++;if(i.is(".wp-editor-area")&&(m+=Math.floor(1e3*Math.random()),i.data("tinymce-id",m)),i.attr("id",m),i.is(".wp-editor-area")){var y=i.closest(".siteorigin-widget-tinymce-container"),k=y.data("media-buttons");if(k&&k.html){var F=new RegExp(s,"g");k.html=k.html.replace(F,m),y.data("media-buttons",k)}}a.find("label[for="+s+"]").attr("for",m),a.find("[id*="+s+"]").each((function(){var i=e(this).attr("id").replace(s,m);e(this).attr("id",i)})),"undefined"!=typeof tinymce&&tinymce.get(m)&&tinymce.get(m).remove()}var x=n.parents(".siteorigin-widget-field-repeater").length,C=e("body");(C.hasClass("wp-customizer")||C.hasClass("widgets-php"))&&0===r.closest(".panel-dialog").length&&(x+=1);var E=l.replace(new RegExp("((?:.*?\\[\\d+\\]){"+(x-1).toString()+"})?(.*?\\[)\\d+(\\])"),"$1$2"+o.toString()+"$3");i.attr("name",E),i.data("original-name",E)})),s.append(a).sortable("refresh").trigger("updateFieldPositions"),a.sowSetupRepeaterItems(),a.hide().slideDown("fast",(function(){e(window).trigger("resize")})),"string"==typeof r.closest(".siteorigin-widget-field-repeater").data("item-label").increment?r.parent().find(".siteorigin-widget-field-repeater-item").trigger("change"):r.trigger("change")}})),r.find("> .siteorigin-widget-field-repeater-item-form").sowSetupForm(),r.data("sowrepeater-actions-setup",!0)}}))},sowbForms.getContainerFieldId=function(e,i,t){var r=i+"FieldId";this.hasOwnProperty(r)||(this[r]=1);var n=e.closest(t);if(n.length){var a=n.data("field-id");return void 0===a&&(a=this[r]++),n.data("field-id",a),a}return!1},sowbForms.getWidgetFieldVariable=function(e,i,t){var r=window.sow_field_javascript_variables[e];i=i.replace(/\[#.*?#\]/g,"");for(var n=/[a-zA-Z0-9\-]+(?:\[c?[0-9]+\])?\[(.*)\]/.exec(i)[1].split("]["),a=n.length?r:null;n.length;)a=a[n.shift()];return a[t]},sowbForms.fetchWidgetVariable=function(i,t,r){window.sowVars=window.sowVars||{},void 0===window.sowVars[t]?e.post(soWidgets.ajaxurl,{action:"sow_get_javascript_variables",widget:t,key:i},(function(e){window.sowVars[t]=e,r(window.sowVars[t][i])})):r(window.sowVars[t][i])},sowbForms.getWidgetIdBase=function(e){return e.data("id-base")},sowbForms.getWidgetFormValues=function(i){if(_.isUndefined(i))return null;var t={};return i.find("*[name]").each((function(){var i=e(this);try{var r=/[a-zA-Z0-9\-]+\[[a-zA-Z0-9]+\]\[(.*)\]/.exec(i.attr("name"));if(_.isEmpty(r))return!0;var n=(r=r[1]).split("][");n=n.map((function(e){return!isNaN(parseFloat(e))&&isFinite(e)?parseInt(e):e}));var a=t,s=null,o=_.isString(i.attr("type"))?i.attr("type").toLowerCase():null;if("checkbox"===o)s=!!i.is(":checked")&&(""===i.val()||i.val());else if("radio"===o){if(!i.is(":checked"))return;s=i.val()}else if("TEXTAREA"===i.prop("tagName")&&i.hasClass("wp-editor-area")){var d=null;"undefined"!=typeof tinyMCE&&(d=tinyMCE.get(i.attr("id"))),s=null===d||"function"!=typeof d.getContent||d.isHidden()?i.val():d.getContent()}else if("SELECT"===i.prop("tagName")){var l=i.find("option:selected");1===l.length?s=i.find("option:selected").val():l.length>1&&(s=_.map(i.find("option:selected"),(function(i,t){return e(i).val()})))}else s=i.val();for(var g=0;g<n.length;g++)g===n.length-1?""===n[g]?a.push(s):a[n[g]]=s:(_.isUndefined(a[n[g]])&&(_.isNumber(n[g+1])||""===n[g+1]?a[n[g]]=[]:a[n[g]]={}),a=a[n[g]])}catch(e){console.error("Field ["+i.attr("name")+"] could not be processed and was skipped - "+e.message)}})),t},sowbForms.isEnter=function(i,t=!1){if(13==i.which){if(!t)return!0;e(i.target).trigger("click")}},sowbForms.setWidgetFormValues=function(i,t,r,n){r=r||!1,n=void 0!==n&&n||void 0===n;var a=0,s=function(i,t){10!=++a?(i.find("> .siteorigin-widget-field-type-repeater,> .siteorigin-widget-field-type-section > .siteorigin-widget-section > .siteorigin-widget-field-type-repeater").each((function(i,n){var a=e(this),o=a.find("> .siteorigin-widget-field-repeater"),d=o.data("repeaterName"),l=t.hasOwnProperty(d)?t[d]:null;if(a.parent().is(".siteorigin-widget-section")){var g=o.data("element-name");g=g.replace(/\[#.*?#\]/g,"");for(var f=/[a-zA-Z0-9\-]+(?:\[c?[0-9]+\])?\[(.*)\]/.exec(g)[1].split("]["),p=f.length?t:null;f.length;){var c=f.shift();p=p.hasOwnProperty(c)?p[c]:p}l=p}if(l&&Array.isArray(l)){var u=o.find("> .siteorigin-widget-field-repeater-items > .siteorigin-widget-field-repeater-item"),w=l.length,m=u.length;if(w>m)for(var v=0;v<w-m;v++)o.find("> .siteorigin-widget-field-repeater-add").trigger("click");else if(!r&&w<m)for(var h=w;h<m;h++){e(u.eq(h)).find("> .siteorigin-widget-field-repeater-item-top").find(".siteorigin-widget-field-remove").trigger("click",{silent:!0})}u=o.find("> .siteorigin-widget-field-repeater-items > .siteorigin-widget-field-repeater-item");for(var b=0;b<u.length;b++)u.eq(b).find("> .siteorigin-widget-field-repeater-item-form"),s(u.eq(b).find("> .siteorigin-widget-field-repeater-item-form"),l[b])}})),--a):--a};s(i,t),i.find("*[name]").each((function(){var i=e(this),a=/[a-zA-Z0-9\-]+\[[a-zA-Z0-9]+\]\[(.*)\]/.exec(i.attr("name"));if(null==a)return!0;var s=(a=a[1]).split("][");s=s.map((function(e){return!isNaN(parseFloat(e))&&isFinite(e)?parseInt(e):e}));for(var o,d=t,l=0;l<s.length;l++){if(!d.hasOwnProperty(s[l])){if(r)return!0;break}l===s.length-1?o=d[s[l]]:d=d[s[l]]}if("checkbox"===i.attr("type"))i.prop("checked",o);else if("radio"===i.attr("type"))i.prop("checked",o===i.val());else if("TEXTAREA"===i.prop("tagName")&&i.hasClass("wp-editor-area")){var g=null;"undefined"!=typeof tinyMCE&&(g=tinyMCE.get(i.attr("id"))),null!==g&&"function"==typeof g.setContent&&!g.isHidden()&&i.parent().is(":visible")?g.initialized?g.setContent(o):g.on("init",(function(){g.setContent(o)})):i.val(o)}else if(i.is(".panels-data")){i.val(o);var f=i.data("builder");f&&f.setDataField(i)}else i.val(o);n&&(i.trigger("change"),this.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})))}))},sowbForms.displayNotice=function(i,t,r,n,a){var s=e('<div class="siteorigin-widget-form-notification"></div>');t&&s.append("<span>"+t+"</span>"),n&&n.length&&n.forEach((function(i){var t="";i.classes&&i.classes.length&&(t=" "+i.classes.join(" "));var r=e('<a class="button button-small'+t+'" tabindex="0">'+i.label+"</a>");i.url&&r.attr("href",i.url),i.callback&&r.on("click keyup",(function(e){("keyup"!=e.type||sowbForms.isEnter(e))&&i.callback(s)})),s.append(r)})),r&&s.append("<div><small>"+r+"</small></div>"),a?a.before(s):i.prepend(s)},e(".widgets-holder-wrap").on("click",".widget:has(.siteorigin-widget-form-main) .widget-top",(function(){var i=e(this).closest(".widget").find(".siteorigin-widget-form-main");setTimeout((function(){i.sowSetupForm()}),200)}));var i=e("body");e(document).on("widget-added",(function(e,i){console.log(i.find(".siteorigin-widget-form")),i.find(".siteorigin-widget-form").sowSetupForm()})),i.hasClass("block-editor-page")&&e(document).on("panels_setup_preview",(function(){window.hasOwnProperty("sowb")&&e(sowb).trigger("setup_widgets",{preview:!0})})),e(document).on("open_dialog",(function(e,i){i.$el.find(".so-panels-dialog").is(".so-panels-dialog-edit-widget")&&i.$el.find(".siteorigin-widget-form-main").find("> .siteorigin-widget-field").trigger("sowsetupformfield")})),e((function(){e(document).trigger("sowadminloaded")}))}(jQuery);var sowEmitters={_match:function(e,i){void 0===i&&(i=".*");var t=new RegExp("^([a-zA-Z0-9_-]+)(\\[([a-zA-Z0-9_-]+)\\])? *: *("+i+") *$").exec(e);if(null===t)return!1;var r="",n="default";return void 0!==t[3]?(n=t[1],r=t[3]):r=t[1],{match:t[4].trim(),group:n,state:r}},_checker:function(e,i,t,r){var n,a={};void 0===i.length&&(i=[i]);for(var s=0;s<i.length;s++)!1!==(n=sowEmitters._match(i[s],t))&&("_true"===n.match||r(e,i,n.match))&&(a[n.group]=n.state);return a},select:function(e,i){void 0===i.length&&(i=[i]);for(var t={},r=0;r<i.length;r++)""===i[r]&&(i[r]="default"),t[i[r]]=e;return t},conditional:function(val,args){return sowEmitters._checker(val,args,"[^;{}]*",(function(val,args,match){return eval(match)}))},in:function(e,i){return sowEmitters._checker(e,i,"[^;{}]*",(function(e,i,t){return-1!==t.split(",").map((function(e){return e.trim()})).indexOf(e)}))}};window.sowbForms=sowbForms;
js/slider/jquery.slider.js CHANGED
@@ -164,6 +164,12 @@ jQuery( function($){
164
  return;
165
  }
166
 
 
 
 
 
 
 
167
  // Show everything for this slider
168
  $base.show();
169
 
@@ -177,6 +183,23 @@ jQuery( function($){
177
  $( window ).on('resize panelsStretchRows', resizeFrames ).trigger( 'resize' );
178
  $(sowb).on('setup_widgets', resizeFrames );
179
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
  // Set up the Cycle with videos
181
  $$
182
  .on({
@@ -319,6 +342,8 @@ jQuery( function($){
319
  } );
320
  }
321
  };
 
 
322
 
323
  var images = $$.find( 'img.sow-slider-background-image, img.sow-slider-foreground-image' );
324
  var imagesLoaded = 0;
164
  return;
165
  }
166
 
167
+ var slidesWithModernParallax = $$.find( '.sow-slider-image-parallax:not([data-siteorigin-parallax]) ' );
168
+ if ( slidesWithModernParallax.length ) {
169
+ // Allow slider to be size itself while preventing visual "jump" in modern parallax.
170
+ $base.css( 'opacity', 0 );
171
+ }
172
+
173
  // Show everything for this slider
174
  $base.show();
175
 
183
  $( window ).on('resize panelsStretchRows', resizeFrames ).trigger( 'resize' );
184
  $(sowb).on('setup_widgets', resizeFrames );
185
 
186
+ if ( slidesWithModernParallax.length ) {
187
+ // Wait for the parallax to finish setting up before
188
+ // setting up the rest of the slider.
189
+ if ( ! slidesWithModernParallax.find( '.simpleParallax' ).length ) {
190
+ setTimeout( setupSlider, 50 );
191
+ return;
192
+ } else {
193
+ // Trigger resize to allow for parallax to work after showing Slider.
194
+ window.dispatchEvent( new Event( 'resize' ) );
195
+ setTimeout( function() {
196
+ $base.css( 'opacity', 1 );
197
+ }, 425 );
198
+ }
199
+ }
200
+
201
+ $$.trigger( 'slider_setup_before' );
202
+
203
  // Set up the Cycle with videos
204
  $$
205
  .on({
342
  } );
343
  }
344
  };
345
+
346
+ $$.trigger( 'slider_setup_after' );
347
 
348
  var images = $$.find( 'img.sow-slider-background-image, img.sow-slider-foreground-image' );
349
  var imagesLoaded = 0;
js/slider/jquery.slider.min.js CHANGED
@@ -1 +1 @@
1
- var sowb=window.sowb||{};sowb.SiteOriginSlider=function(e){return{playSlideVideo:function(i){e(i).find("video").each((function(){void 0!==this.play&&this.play()}));var t=e(i).find(".sow-slide-video-oembed iframe");t.length&&(t[0].contentWindow.postMessage('{"method":"play"}',"*"),t[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"))},pauseSlideVideo:function(i){e(i).find("video").each((function(){void 0!==this.pause&&this.pause()}));var t=e(i).find(".sow-slide-video-oembed iframe");t.length&&(t[0].contentWindow.postMessage('{"method":"pause"}',"*"),t[0].contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"))},setupActiveSlide:function(i,t,s){var o=e(i).find(".cycle-sentinel"),n=e(t),a=n.find("video.sow-background-element"),d=e(i).prev();if(void 0===s?o.css("height",n.outerHeight()+"px"):o.animate({height:n.outerHeight()},s),d.length){e(i).find(".sow-slider-image > video").prop("muted",!0);var l=n.find("> video");if(l.length){d.clearQueue().fadeIn(s);var r=d.siblings(".sow-slider-images").data("settings");l.hasClass("sow-player-unmuted")?(l.prop("muted",!1),d.addClass("sow-player-unmuted"),d.attr("aria-label",r.muteLoc)):(d.removeClass("sow-player-unmuted"),d.attr("aria-label",r.unmuteLoc))}else d.clearQueue().fadeOut(s)}a.length&&(n.outerWidth()/n.outerHeight()>a.outerWidth()/a.outerHeight()?a.css({width:"100%",height:"auto"}):a.css({width:"auto",height:"100%"}),a.css({"margin-left":-Math.ceil(a.width()/2),"margin-top":-Math.ceil(a.height()/2)}))}}},jQuery((function(e){sowb.setupSliders=sowb.setupSlider=function(){var i=new sowb.SiteOriginSlider(e);e(".sow-slider-images").each((function(){var t=e(this);if(t.data("initialized"))return t;var s=t.siblings(".sow-slider-pagination"),o=t.closest(".sow-slider-base"),n=o.find(".sow-slide-nav"),a=t.find(".sow-slider-image"),d=t.data("settings");d.breakpoint&&e(window).on("load resize",(function(){window.matchMedia("(max-width: "+d.breakpoint+")").matches?o.addClass("sow-slider-is-mobile"):o.removeClass("sow-slider-is-mobile")})),a.each((function(i,t){var s=e(t),o=s.data("url");void 0!==o&&o.hasOwnProperty("url")&&(s.on("click",(function(e){e.preventDefault(),window.open(o.url,o.hasOwnProperty("new_window")&&o.new_window?"_blank":"_self").opener=null})),s.find("a").on("click",(function(e){e.stopPropagation()})))}));var l=function(){var r=t.closest(".so-widget-fittext-wrapper");if(r.length>0&&!r.data("fitTextDone"))r.on("fitTextDone",(function(){l()}));else{o.show();var c=function(){t.find(".sow-slider-image").each((function(){var i=e(this);i.css("height",i.find(".sow-slider-image-wrapper").outerHeight()+"px")}))};if(e(window).on("resize panelsStretchRows",c).trigger("resize"),e(sowb).on("setup_widgets",c),t.on({"cycle-after":function(t,s,o,n,a){var d=e(this);i.playSlideVideo(n),i.setupActiveSlide(d,n),e(n).trigger("sowSlideCycleAfter")},"cycle-before":function(t,o,n,a,d){var l=e(this);s.find("> li").removeClass("sow-active").eq(o.slideNum-1).addClass("sow-active"),i.pauseSlideVideo(n),i.setupActiveSlide(l,a,o.speed),e(a).trigger("sowSlideCycleBefore")},"cycle-initialized":function(o,a){i.playSlideVideo(e(this).find(".cycle-slide-active")),i.setupActiveSlide(t,a.slides[0]),s.find(">li").removeClass("sow-active").eq(0).addClass("sow-active"),e(this).find(".cycle-slide-active").trigger("sowSlideInitial"),a.slideCount<=1&&(s.hide(),n.hide()),e(window).trigger("resize"),setTimeout((function(){c(),i.setupActiveSlide(t,a.slides[0]),t.find(".cycle-sentinel").empty()}),200)}}).cycle({slides:"> .sow-slider-image",speed:d.speed,timeout:d.timeout,swipe:d.swipe,paused:d.paused,pauseOnHover:d.pause_on_hover,"swipe-fx":"scrollHorz",log:!1}),t.find("video.sow-background-element").on("loadeddata",(function(){i.setupActiveSlide(t,t.find(".cycle-slide-active"))})),s.add(n).hide(),a.length>1)if(o.hasClass("sow-slider-is-mobile"))d.nav_always_show_mobile&&window.matchMedia("(max-width: "+d.breakpoint+")").matches&&(s.show(),n.show());else if(d.nav_always_show_desktop&&window.matchMedia("(min-width: "+d.breakpoint+")").matches)s.show(),n.show();else{var u=!1;o.on("mouseenter",(function(){s.add(n).clearQueue().fadeIn(150),u=!1})).on("mouseleave",(function(){u=!0,setTimeout((function(){u&&s.add(n).clearQueue().fadeOut(150),u=!1}),750)}))}var w=function(){i.setupActiveSlide(t,t.find(".cycle-slide-active"))};e(window).on("resize",w),e(sowb).on("setup_widgets",w),s.find("> li > a").on("click",(function(i){i.preventDefault(),t.cycle("goto",e(this).data("goto"))})),n.find("> a").on("click",(function(i){i.preventDefault(),t.cycle(e(this).data("action"))})),o.on("keydown",(function(e){37===e.which?t.cycle("prev"):39===e.which&&t.cycle("next")})),d.unmute&&o.find(".sow-player-controls-sound").on("click",(function(){var i=e(this),t=i.next().find(".cycle-slide-active > video");t.prop("muted",!t.prop("muted")),t.prop("muted")?(i.removeClass("sow-player-unmuted"),t.removeClass("sow-player-muted"),i.attr("aria-label",d.unmuteLoc)):(i.addClass("sow-player-unmuted"),t.addClass("sow-player-unmuted"),i.attr("aria-label",d.muteLoc))}))}},r=t.find("img.sow-slider-background-image, img.sow-slider-foreground-image"),c=0,u=!1;r.each((function(){e(this);this.complete?c++:e(this).one("load",(function(){++c!==r.length||u||(l(),u=!0)})).attr("src",e(this).attr("src")),c!==r.length||u||(l(),u=!0)})),0===r.length&&l(),t.data("initialized",!0)}))},sowb.setupSliders(),e(sowb).on("setup_widgets",sowb.setupSliders)})),window.sowb=sowb;
1
+ var sowb=window.sowb||{};sowb.SiteOriginSlider=function(e){return{playSlideVideo:function(i){e(i).find("video").each((function(){void 0!==this.play&&this.play()}));var t=e(i).find(".sow-slide-video-oembed iframe");t.length&&(t[0].contentWindow.postMessage('{"method":"play"}',"*"),t[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"))},pauseSlideVideo:function(i){e(i).find("video").each((function(){void 0!==this.pause&&this.pause()}));var t=e(i).find(".sow-slide-video-oembed iframe");t.length&&(t[0].contentWindow.postMessage('{"method":"pause"}',"*"),t[0].contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"))},setupActiveSlide:function(i,t,s){var o=e(i).find(".cycle-sentinel"),n=e(t),a=n.find("video.sow-background-element"),d=e(i).prev();if(void 0===s?o.css("height",n.outerHeight()+"px"):o.animate({height:n.outerHeight()},s),d.length){e(i).find(".sow-slider-image > video").prop("muted",!0);var l=n.find("> video");if(l.length){d.clearQueue().fadeIn(s);var r=d.siblings(".sow-slider-images").data("settings");l.hasClass("sow-player-unmuted")?(l.prop("muted",!1),d.addClass("sow-player-unmuted"),d.attr("aria-label",r.muteLoc)):(d.removeClass("sow-player-unmuted"),d.attr("aria-label",r.unmuteLoc))}else d.clearQueue().fadeOut(s)}a.length&&(n.outerWidth()/n.outerHeight()>a.outerWidth()/a.outerHeight()?a.css({width:"100%",height:"auto"}):a.css({width:"auto",height:"100%"}),a.css({"margin-left":-Math.ceil(a.width()/2),"margin-top":-Math.ceil(a.height()/2)}))}}},jQuery((function(e){sowb.setupSliders=sowb.setupSlider=function(){var i=new sowb.SiteOriginSlider(e);e(".sow-slider-images").each((function(){var t=e(this);if(t.data("initialized"))return t;var s=t.siblings(".sow-slider-pagination"),o=t.closest(".sow-slider-base"),n=o.find(".sow-slide-nav"),a=t.find(".sow-slider-image"),d=t.data("settings");d.breakpoint&&e(window).on("load resize",(function(){window.matchMedia("(max-width: "+d.breakpoint+")").matches?o.addClass("sow-slider-is-mobile"):o.removeClass("sow-slider-is-mobile")})),a.each((function(i,t){var s=e(t),o=s.data("url");void 0!==o&&o.hasOwnProperty("url")&&(s.on("click",(function(e){e.preventDefault(),window.open(o.url,o.hasOwnProperty("new_window")&&o.new_window?"_blank":"_self").opener=null})),s.find("a").on("click",(function(e){e.stopPropagation()})))}));var l=function(){var r=t.closest(".so-widget-fittext-wrapper");if(r.length>0&&!r.data("fitTextDone"))r.on("fitTextDone",(function(){l()}));else{var c=t.find(".sow-slider-image-parallax:not([data-siteorigin-parallax]) ");c.length&&o.css("opacity",0),o.show();var u=function(){t.find(".sow-slider-image").each((function(){var i=e(this);i.css("height",i.find(".sow-slider-image-wrapper").outerHeight()+"px")}))};if(e(window).on("resize panelsStretchRows",u).trigger("resize"),e(sowb).on("setup_widgets",u),c.length){if(!c.find(".simpleParallax").length)return void setTimeout(l,50);window.dispatchEvent(new Event("resize")),setTimeout((function(){o.css("opacity",1)}),425)}if(t.trigger("slider_setup_before"),t.on({"cycle-after":function(t,s,o,n,a){var d=e(this);i.playSlideVideo(n),i.setupActiveSlide(d,n),e(n).trigger("sowSlideCycleAfter")},"cycle-before":function(t,o,n,a,d){var l=e(this);s.find("> li").removeClass("sow-active").eq(o.slideNum-1).addClass("sow-active"),i.pauseSlideVideo(n),i.setupActiveSlide(l,a,o.speed),e(a).trigger("sowSlideCycleBefore")},"cycle-initialized":function(o,a){i.playSlideVideo(e(this).find(".cycle-slide-active")),i.setupActiveSlide(t,a.slides[0]),s.find(">li").removeClass("sow-active").eq(0).addClass("sow-active"),e(this).find(".cycle-slide-active").trigger("sowSlideInitial"),a.slideCount<=1&&(s.hide(),n.hide()),e(window).trigger("resize"),setTimeout((function(){u(),i.setupActiveSlide(t,a.slides[0]),t.find(".cycle-sentinel").empty()}),200)}}).cycle({slides:"> .sow-slider-image",speed:d.speed,timeout:d.timeout,swipe:d.swipe,paused:d.paused,pauseOnHover:d.pause_on_hover,"swipe-fx":"scrollHorz",log:!1}),t.find("video.sow-background-element").on("loadeddata",(function(){i.setupActiveSlide(t,t.find(".cycle-slide-active"))})),s.add(n).hide(),a.length>1)if(o.hasClass("sow-slider-is-mobile"))d.nav_always_show_mobile&&window.matchMedia("(max-width: "+d.breakpoint+")").matches&&(s.show(),n.show());else if(d.nav_always_show_desktop&&window.matchMedia("(min-width: "+d.breakpoint+")").matches)s.show(),n.show();else{var w=!1;o.on("mouseenter",(function(){s.add(n).clearQueue().fadeIn(150),w=!1})).on("mouseleave",(function(){w=!0,setTimeout((function(){w&&s.add(n).clearQueue().fadeOut(150),w=!1}),750)}))}var f=function(){i.setupActiveSlide(t,t.find(".cycle-slide-active"))};e(window).on("resize",f),e(sowb).on("setup_widgets",f),s.find("> li > a").on("click",(function(i){i.preventDefault(),t.cycle("goto",e(this).data("goto"))})),n.find("> a").on("click",(function(i){i.preventDefault(),t.cycle(e(this).data("action"))})),o.on("keydown",(function(e){37===e.which?t.cycle("prev"):39===e.which&&t.cycle("next")})),d.unmute&&o.find(".sow-player-controls-sound").on("click",(function(){var i=e(this),t=i.next().find(".cycle-slide-active > video");t.prop("muted",!t.prop("muted")),t.prop("muted")?(i.removeClass("sow-player-unmuted"),t.removeClass("sow-player-muted"),i.attr("aria-label",d.unmuteLoc)):(i.addClass("sow-player-unmuted"),t.addClass("sow-player-unmuted"),i.attr("aria-label",d.muteLoc))}))}};t.trigger("slider_setup_after");var r=t.find("img.sow-slider-background-image, img.sow-slider-foreground-image"),c=0,u=!1;r.each((function(){e(this);this.complete?c++:e(this).one("load",(function(){++c!==r.length||u||(l(),u=!0)})).attr("src",e(this).attr("src")),c!==r.length||u||(l(),u=!0)})),0===r.length&&l(),t.data("initialized",!0)}))},sowb.setupSliders(),e(sowb).on("setup_widgets",sowb.setupSliders)})),window.sowb=sowb;
lang/so-widgets-bundle.pot CHANGED
@@ -36,7 +36,7 @@ msgstr ""
36
  msgid "https://siteorigin.com/widgets-bundle/"
37
  msgstr ""
38
 
39
- #: so-widgets-bundle.php:387, so-widgets-bundle.php:411, so-widgets-bundle.php:424, so-widgets-bundle.php:454, so-widgets-bundle.php:465, so-widgets-bundle.php:532, so-widgets-bundle.php:543, base/base.php:51, base/base.php:55, base/inc/actions.php:11, base/inc/actions.php:77, base/inc/actions.php:128, base/inc/actions.php:164, base/inc/actions.php:177, base/inc/actions.php:181, base/inc/actions.php:272, base/inc/actions.php:275
40
  msgid "Invalid request."
41
  msgstr ""
42
 
@@ -208,15 +208,15 @@ msgstr ""
208
  msgid "Invalid widget."
209
  msgstr ""
210
 
211
- #: base/inc/actions.php:220
212
  msgid "Nonce error"
213
  msgstr ""
214
 
215
- #: base/inc/actions.php:230
216
  msgid "Signature error"
217
  msgstr ""
218
 
219
- #: base/inc/actions.php:256
220
  msgid "Attachment error"
221
  msgstr ""
222
 
@@ -272,7 +272,7 @@ msgstr ""
272
  msgid "Regular"
273
  msgstr ""
274
 
275
- #: icons/fontawesome/filter.php:1472, widgets/contact/contact.php:391, widgets/contact/contact.php:513, widgets/contact/contact.php:621, widgets/contact/contact.php:699, widgets/headline/headline.php:219
276
  msgid "Solid"
277
  msgstr ""
278
 
@@ -328,7 +328,7 @@ msgstr ""
328
  msgid "Closed"
329
  msgstr ""
330
 
331
- #: widgets/accordion/accordion.php:111, widgets/contact/contact.php:354, widgets/cta/cta.php:74, widgets/hero/hero.php:254, widgets/layout-slider/layout-slider.php:222, widgets/slider/slider.php:134, widgets/tabs/tabs.php:101, widgets/testimonial/testimonial.php:184, base/inc/widgets/base-carousel.class.php:350
332
  msgid "Design"
333
  msgstr ""
334
 
@@ -336,7 +336,7 @@ msgstr ""
336
  msgid "Headings"
337
  msgstr ""
338
 
339
- #: widgets/accordion/accordion.php:121, widgets/accordion/accordion.php:159, widgets/contact/contact.php:364, widgets/contact/contact.php:602, widgets/cta/cta.php:78, widgets/hero/hero.php:133, widgets/layout-slider/layout-slider.php:101, widgets/slider/slider.php:87, widgets/social-media-buttons/social-media-buttons.php:85, widgets/tabs/tabs.php:111, widgets/tabs/tabs.php:131, widgets/tabs/tabs.php:175
340
  msgid "Background color"
341
  msgstr ""
342
 
@@ -352,7 +352,7 @@ msgstr ""
352
  msgid "Title hover color"
353
  msgstr ""
354
 
355
- #: widgets/accordion/accordion.php:140, widgets/accordion/accordion.php:168, widgets/contact/contact.php:374, widgets/contact/contact.php:496, widgets/contact/contact.php:612, widgets/cta/cta.php:83, widgets/tabs/tabs.php:116, widgets/tabs/tabs.php:150, widgets/tabs/tabs.php:184
356
  msgid "Border color"
357
  msgstr ""
358
 
@@ -360,7 +360,7 @@ msgstr ""
360
  msgid "Border hover color"
361
  msgstr ""
362
 
363
- #: widgets/accordion/accordion.php:148, widgets/accordion/accordion.php:172, widgets/contact/contact.php:379, widgets/contact/contact.php:501, widgets/contact/contact.php:628, widgets/tabs/tabs.php:120, widgets/tabs/tabs.php:160, widgets/tabs/tabs.php:188
364
  msgid "Border width"
365
  msgstr ""
366
 
@@ -396,19 +396,19 @@ msgstr ""
396
  msgid "Item"
397
  msgstr ""
398
 
399
- #: widgets/anything-carousel/anything-carousel.php:95, widgets/button/button.php:201, widgets/contact/contact.php:408, widgets/contact/contact.php:458, widgets/features/features.php:145, widgets/features/features.php:166, widgets/features/features.php:187, widgets/headline/headline.php:88, widgets/headline/headline.php:169, base/inc/widgets/base-carousel.class.php:374
400
  msgid "Font"
401
  msgstr ""
402
 
403
- #: widgets/anything-carousel/anything-carousel.php:99, widgets/button/button.php:207, widgets/contact/contact.php:413, widgets/contact/contact.php:463, widgets/contact/contact.php:645, base/inc/widgets/base-carousel.class.php:378
404
  msgid "Font size"
405
  msgstr ""
406
 
407
- #: widgets/anything-carousel/anything-carousel.php:103, widgets/contact/contact.php:418, widgets/contact/contact.php:542, widgets/contact/contact.php:711, widgets/features/features.php:154, widgets/features/features.php:175, widgets/features/features.php:196, widgets/google-map/google-map.php:376, widgets/headline/headline.php:80, widgets/headline/headline.php:161, widgets/headline/headline.php:231, widgets/icon/icon.php:36, widgets/taxonomy/taxonomy.php:56, base/inc/widgets/base-carousel.class.php:382
408
  msgid "Color"
409
  msgstr ""
410
 
411
- #: widgets/anything-carousel/anything-carousel.php:107, widgets/contact/contact.php:471, widgets/social-media-buttons/social-media-buttons.php:193
412
  msgid "Margin"
413
  msgstr ""
414
 
@@ -416,7 +416,7 @@ msgstr ""
416
  msgid "Top"
417
  msgstr ""
418
 
419
- #: widgets/anything-carousel/anything-carousel.php:116, widgets/button/button.php:105, widgets/button/button.php:131, widgets/button/button.php:142, widgets/contact/contact.php:429, widgets/contact/contact.php:444, widgets/contact/contact.php:673, widgets/cta/cta.php:100, widgets/features/features.php:73, widgets/headline/headline.php:102, widgets/headline/headline.php:112, widgets/headline/headline.php:183, widgets/headline/headline.php:193, widgets/headline/headline.php:248, widgets/headline/headline.php:257, widgets/icon/icon.php:50, widgets/image/image.php:50, widgets/image/image.php:62, widgets/image-grid/image-grid.php:137, widgets/image-grid/image-grid.php:167, widgets/simple-masonry/simple-masonry.php:216, widgets/social-media-buttons/social-media-buttons.php:175, widgets/social-media-buttons/social-media-buttons.php:186, widgets/testimonial/testimonial.php:256
420
  msgid "Right"
421
  msgstr ""
422
 
@@ -424,7 +424,7 @@ msgstr ""
424
  msgid "Bottom"
425
  msgstr ""
426
 
427
- #: widgets/anything-carousel/anything-carousel.php:124, widgets/button/button.php:107, widgets/button/button.php:130, widgets/button/button.php:141, widgets/contact/contact.php:428, widgets/contact/contact.php:443, widgets/contact/contact.php:672, widgets/cta/cta.php:99, widgets/features/features.php:75, widgets/headline/headline.php:101, widgets/headline/headline.php:111, widgets/headline/headline.php:182, widgets/headline/headline.php:192, widgets/headline/headline.php:247, widgets/headline/headline.php:256, widgets/icon/icon.php:49, widgets/image/image.php:49, widgets/image/image.php:61, widgets/image-grid/image-grid.php:143, widgets/image-grid/image-grid.php:165, widgets/simple-masonry/simple-masonry.php:215, widgets/social-media-buttons/social-media-buttons.php:174, widgets/social-media-buttons/social-media-buttons.php:185, widgets/testimonial/testimonial.php:255
428
  msgid "Left"
429
  msgstr ""
430
 
@@ -468,16 +468,16 @@ msgstr ""
468
  msgid "SiteOrigin Button"
469
  msgstr ""
470
 
471
- #: widgets/button/button.php:33, widgets/contact/contact.php:866, widgets/features/features.php:368, widgets/headline/headline.php:37, widgets/social-media-buttons/social-media-buttons.php:32, base/inc/widgets/base-slider.class.php:222
472
  msgid "Responsive Breakpoint"
473
  msgstr ""
474
 
475
  #: widgets/button/button.php:35
476
- msgid "This setting controls when the Mobile align setting will be used. The default value is 780px."
477
  msgstr ""
478
 
479
- #: widgets/button/button.php:57, widgets/price-table/price-table.php:93
480
- msgid "Button text"
481
  msgstr ""
482
 
483
  #: widgets/button/button.php:62, widgets/google-map/google-map.php:103, widgets/headline/headline.php:57, widgets/headline/headline.php:138, widgets/hero/hero.php:139, widgets/icon/icon.php:57, widgets/image/image.php:90, widgets/layout-slider/layout-slider.php:107, widgets/lottie-player/lottie-player.php:73, widgets/simple-masonry/simple-masonry.php:89, widgets/slider/slider.php:116
@@ -500,12 +500,12 @@ msgstr ""
500
  msgid "Icon"
501
  msgstr ""
502
 
503
- #: widgets/button/button.php:90, widgets/features/features.php:93, widgets/price-table/price-table.php:123, widgets/social-media-buttons/social-media-buttons.php:81
504
- msgid "Icon color"
505
  msgstr ""
506
 
507
  #: widgets/button/button.php:95
508
- msgid "Image icon"
509
  msgstr ""
510
 
511
  #: widgets/button/button.php:96
@@ -516,11 +516,11 @@ msgstr ""
516
  msgid "Icon Placement"
517
  msgstr ""
518
 
519
- #: widgets/button/button.php:115
520
- msgid "Design and layout"
521
  msgstr ""
522
 
523
- #: widgets/button/button.php:121, widgets/contact/contact.php:435, widgets/contact/contact.php:665, widgets/contact/contact.php:716, widgets/google-map/google-map.php:94, base/inc/fields/image-size.class.php:57
524
  msgid "Width"
525
  msgstr ""
526
 
@@ -528,24 +528,24 @@ msgstr ""
528
  msgid "Leave blank to let the button resize according to content."
529
  msgstr ""
530
 
531
- #: widgets/button/button.php:127, widgets/contact/contact.php:440, widgets/contact/contact.php:669, widgets/social-media-buttons/social-media-buttons.php:171
532
  msgid "Align"
533
  msgstr ""
534
 
535
- #: widgets/button/button.php:132, widgets/button/button.php:143, widgets/contact/contact.php:445, widgets/contact/contact.php:674, widgets/headline/headline.php:100, widgets/headline/headline.php:110, widgets/headline/headline.php:181, widgets/headline/headline.php:191, widgets/headline/headline.php:246, widgets/headline/headline.php:255, widgets/icon/icon.php:48, widgets/image/image.php:51, widgets/image/image.php:63, widgets/image-grid/image-grid.php:155, widgets/image-grid/image-grid.php:166, widgets/social-media-buttons/social-media-buttons.php:176, widgets/social-media-buttons/social-media-buttons.php:187
536
  msgid "Center"
537
  msgstr ""
538
 
539
- #: widgets/button/button.php:133, widgets/button/button.php:144, widgets/contact/contact.php:446, widgets/headline/headline.php:103, widgets/headline/headline.php:113, widgets/headline/headline.php:184, widgets/headline/headline.php:194, widgets/social-media-buttons/social-media-buttons.php:177, widgets/social-media-buttons/social-media-buttons.php:188
540
  msgid "Justify"
541
  msgstr ""
542
 
543
- #: widgets/button/button.php:138
544
- msgid "Mobile align"
545
  msgstr ""
546
 
547
- #: widgets/button/button.php:149, widgets/social-media-buttons/social-media-buttons.php:117
548
- msgid "Button theme"
549
  msgstr ""
550
 
551
  #: widgets/button/button.php:152, widgets/price-table/price-table.php:134, widgets/social-media-buttons/social-media-buttons.php:120
@@ -560,12 +560,12 @@ msgstr ""
560
  msgid "Wire"
561
  msgstr ""
562
 
563
- #: widgets/button/button.php:160, widgets/price-table/price-table.php:167
564
- msgid "Button color"
565
  msgstr ""
566
 
567
- #: widgets/button/button.php:165, widgets/contact/contact.php:467, widgets/contact/contact.php:640, widgets/hero/hero.php:311, widgets/layout-slider/layout-slider.php:252, widgets/testimonial/testimonial.php:227
568
- msgid "Text color"
569
  msgstr ""
570
 
571
  #: widgets/button/button.php:171, widgets/social-media-buttons/social-media-buttons.php:127
@@ -573,14 +573,18 @@ msgid "Use hover effects"
573
  msgstr ""
574
 
575
  #: widgets/button/button.php:183
576
- msgid "Hover background color"
577
  msgstr ""
578
 
579
  #: widgets/button/button.php:192
580
- msgid "Hover text color"
581
  msgstr ""
582
 
583
- #: widgets/button/button.php:209, widgets/contact/contact.php:317, widgets/contact/contact.php:551, widgets/contact/contact.php:653, widgets/social-media-buttons/social-media-buttons.php:141
 
 
 
 
584
  msgid "Normal"
585
  msgstr ""
586
 
@@ -600,23 +604,23 @@ msgstr ""
600
  msgid "Rounding"
601
  msgstr ""
602
 
603
- #: widgets/button/button.php:221, widgets/contact/contact.php:387, widgets/contact/contact.php:509, widgets/contact/contact.php:620, widgets/contact/contact.php:705, widgets/google-map/google-map.php:158, widgets/headline/headline.php:218, widgets/social-media-buttons/social-media-buttons.php:152
604
  msgid "None"
605
  msgstr ""
606
 
607
- #: widgets/button/button.php:222, widgets/social-media-buttons/social-media-buttons.php:153
608
- msgid "Slightly rounded"
609
  msgstr ""
610
 
611
- #: widgets/button/button.php:223, widgets/social-media-buttons/social-media-buttons.php:154
612
- msgid "Very rounded"
613
  msgstr ""
614
 
615
- #: widgets/button/button.php:224, widgets/social-media-buttons/social-media-buttons.php:155
616
- msgid "Completely rounded"
617
  msgstr ""
618
 
619
- #: widgets/button/button.php:230, widgets/contact/contact.php:369, widgets/contact/contact.php:475, widgets/contact/contact.php:660, widgets/social-media-buttons/social-media-buttons.php:160, widgets/testimonial/testimonial.php:235
620
  msgid "Padding"
621
  msgstr ""
622
 
@@ -628,24 +632,24 @@ msgstr ""
628
  msgid "High"
629
  msgstr ""
630
 
631
- #: widgets/button/button.php:236, widgets/social-media-buttons/social-media-buttons.php:166, widgets/social-media-buttons/social-media-buttons.php:199
632
- msgid "Very high"
633
  msgstr ""
634
 
635
  #: widgets/button/button.php:245
636
- msgid "Other attributes and SEO"
637
  msgstr ""
638
 
639
  #: widgets/button/button.php:250, widgets/contact/contact.php:97
640
  msgid "Button ID"
641
  msgstr ""
642
 
643
- #: widgets/button/button.php:251
644
- msgid "An ID attribute allows you to target this button in Javascript."
645
  msgstr ""
646
 
647
  #: widgets/button/button.php:256
648
- msgid "Button classes"
649
  msgstr ""
650
 
651
  #: widgets/button/button.php:257
@@ -653,7 +657,7 @@ msgid "Additional CSS classes added to the button link."
653
  msgstr ""
654
 
655
  #: widgets/button/button.php:262
656
- msgid "Title attribute"
657
  msgstr ""
658
 
659
  #: widgets/button/button.php:263
@@ -664,12 +668,12 @@ msgstr ""
664
  msgid "Onclick"
665
  msgstr ""
666
 
667
- #: widgets/button/button.php:269
668
- msgid "Run this Javascript when the button is clicked. Ideal for tracking."
669
  msgstr ""
670
 
671
  #: widgets/button/button.php:274
672
- msgid "Rel attribute"
673
  msgstr ""
674
 
675
  #: widgets/button/button.php:275
@@ -744,14 +748,6 @@ msgstr ""
744
  msgid "Submit button text"
745
  msgstr ""
746
 
747
- #: widgets/contact/contact.php:98
748
- msgid "An ID attribute allows you to target this button in JavaScript."
749
- msgstr ""
750
-
751
- #: widgets/contact/contact.php:103
752
- msgid "Run this JavaScript when the button is clicked. Ideal for tracking."
753
- msgstr ""
754
-
755
  #: widgets/contact/contact.php:107
756
  msgid "Indicate required fields with asterisk (*)"
757
  msgstr ""
@@ -772,7 +768,7 @@ msgstr ""
772
  msgid "List in contact emails, the IP address of the form sender."
773
  msgstr ""
774
 
775
- #: widgets/contact/contact.php:137, widgets/contact/contact.php:454
776
  msgid "Fields"
777
  msgstr ""
778
 
@@ -804,11 +800,11 @@ msgstr ""
804
  msgid "Number"
805
  msgstr ""
806
 
807
- #: widgets/contact/contact.php:153, widgets/contact/contact.php:765
808
  msgid "Subject"
809
  msgstr ""
810
 
811
- #: widgets/contact/contact.php:154, widgets/features/features.php:118, widgets/features/features.php:161, widgets/headline/headline.php:53, widgets/headline/headline.php:134, widgets/price-table/price-table.php:111, widgets/taxonomy/taxonomy.php:51, widgets/testimonial/testimonial.php:83
812
  msgid "Text"
813
  msgstr ""
814
 
@@ -844,7 +840,7 @@ msgstr ""
844
  msgid "Required Field"
845
  msgstr ""
846
 
847
- #: widgets/contact/contact.php:183, widgets/contact/contact.php:190, widgets/contact/contact.php:1145
848
  msgid "Required field"
849
  msgstr ""
850
 
@@ -924,7 +920,7 @@ msgstr ""
924
  msgid "Audio"
925
  msgstr ""
926
 
927
- #: widgets/contact/contact.php:314, widgets/contact/contact.php:537, widgets/features/features.php:150, widgets/features/features.php:171, widgets/features/features.php:192, widgets/icon/icon.php:41
928
  msgid "Size"
929
  msgstr ""
930
 
@@ -956,244 +952,268 @@ msgstr ""
956
  msgid "How to handle submissions that are identified as spam."
957
  msgstr ""
958
 
959
- #: widgets/contact/contact.php:360
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
960
  msgid "Container"
961
  msgstr ""
962
 
963
- #: widgets/contact/contact.php:384, widgets/contact/contact.php:617
964
  msgid "Border style"
965
  msgstr ""
966
 
967
- #: widgets/contact/contact.php:388, widgets/contact/contact.php:510, widgets/contact/contact.php:706, widgets/image/image.php:77
968
  msgid "Hidden"
969
  msgstr ""
970
 
971
- #: widgets/contact/contact.php:389, widgets/contact/contact.php:511, widgets/contact/contact.php:622, widgets/contact/contact.php:697, widgets/headline/headline.php:220
972
  msgid "Dotted"
973
  msgstr ""
974
 
975
- #: widgets/contact/contact.php:390, widgets/contact/contact.php:512, widgets/contact/contact.php:623, widgets/contact/contact.php:698, widgets/headline/headline.php:221
976
  msgid "Dashed"
977
  msgstr ""
978
 
979
- #: widgets/contact/contact.php:392, widgets/contact/contact.php:514, widgets/contact/contact.php:700, widgets/headline/headline.php:222
980
  msgid "Double"
981
  msgstr ""
982
 
983
- #: widgets/contact/contact.php:393, widgets/contact/contact.php:515, widgets/contact/contact.php:701, widgets/headline/headline.php:223
984
  msgid "Groove"
985
  msgstr ""
986
 
987
- #: widgets/contact/contact.php:394, widgets/contact/contact.php:516, widgets/contact/contact.php:702, widgets/headline/headline.php:224
988
  msgid "Ridge"
989
  msgstr ""
990
 
991
- #: widgets/contact/contact.php:395, widgets/contact/contact.php:517, widgets/contact/contact.php:703, widgets/headline/headline.php:225
992
  msgid "Inset"
993
  msgstr ""
994
 
995
- #: widgets/contact/contact.php:396, widgets/contact/contact.php:518, widgets/contact/contact.php:704, widgets/headline/headline.php:226
996
  msgid "Outset"
997
  msgstr ""
998
 
999
- #: widgets/contact/contact.php:404
1000
  msgid "Field labels"
1001
  msgstr ""
1002
 
1003
- #: widgets/contact/contact.php:423
1004
  msgid "Position"
1005
  msgstr ""
1006
 
1007
- #: widgets/contact/contact.php:426, widgets/image/image.php:78
1008
  msgid "Above"
1009
  msgstr ""
1010
 
1011
- #: widgets/contact/contact.php:427, widgets/image/image.php:79
1012
  msgid "Below"
1013
  msgstr ""
1014
 
1015
- #: widgets/contact/contact.php:430
1016
  msgid "Inside"
1017
  msgstr ""
1018
 
1019
- #: widgets/contact/contact.php:479
1020
  msgid "Max width"
1021
  msgstr ""
1022
 
1023
- #: widgets/contact/contact.php:484, widgets/google-map/google-map.php:98, widgets/hero/hero.php:187, widgets/hero/hero.php:223, widgets/layout-slider/layout-slider.php:155, widgets/layout-slider/layout-slider.php:191, widgets/slider/slider.php:142, base/inc/fields/image-size.class.php:64
1024
  msgid "Height"
1025
  msgstr ""
1026
 
1027
- #: widgets/contact/contact.php:488
1028
  msgid "Text area height"
1029
  msgstr ""
1030
 
1031
- #: widgets/contact/contact.php:492, widgets/hero/hero.php:100, widgets/layout-slider/layout-slider.php:72, widgets/post-carousel/post-carousel.php:194
1032
  msgid "Background"
1033
  msgstr ""
1034
 
1035
- #: widgets/contact/contact.php:506
1036
  msgid " Border style"
1037
  msgstr ""
1038
 
1039
- #: widgets/contact/contact.php:523, widgets/contact/contact.php:633
1040
  msgid "Border rounding"
1041
  msgstr ""
1042
 
1043
- #: widgets/contact/contact.php:533
1044
  msgid "Field descriptions"
1045
  msgstr ""
1046
 
1047
- #: widgets/contact/contact.php:547, widgets/contact/contact.php:694, widgets/google-map/google-map.php:329, widgets/headline/headline.php:215
1048
  msgid "Style"
1049
  msgstr ""
1050
 
1051
- #: widgets/contact/contact.php:550
1052
  msgid "Italic"
1053
  msgstr ""
1054
 
1055
- #: widgets/contact/contact.php:559
1056
  msgid "Error messages"
1057
  msgstr ""
1058
 
1059
- #: widgets/contact/contact.php:563
1060
  msgid "Error background color"
1061
  msgstr ""
1062
 
1063
- #: widgets/contact/contact.php:568
1064
  msgid "Error border color"
1065
  msgstr ""
1066
 
1067
- #: widgets/contact/contact.php:573
1068
  msgid "Error text color"
1069
  msgstr ""
1070
 
1071
- #: widgets/contact/contact.php:578
1072
  msgid "Error padding"
1073
  msgstr ""
1074
 
1075
- #: widgets/contact/contact.php:583
1076
  msgid "Error margin"
1077
  msgstr ""
1078
 
1079
- #: widgets/contact/contact.php:591
1080
  msgid "Submit button"
1081
  msgstr ""
1082
 
1083
- #: widgets/contact/contact.php:595
1084
  msgid "Style submit button"
1085
  msgstr ""
1086
 
1087
- #: widgets/contact/contact.php:596
1088
  msgid "Style the button or leave it with default theme styling."
1089
  msgstr ""
1090
 
1091
- #: widgets/contact/contact.php:607
1092
  msgid "Gradient intensity"
1093
  msgstr ""
1094
 
1095
- #: widgets/contact/contact.php:650
1096
  msgid "Font weight"
1097
  msgstr ""
1098
 
1099
- #: widgets/contact/contact.php:654
1100
  msgid "Semi-bold"
1101
  msgstr ""
1102
 
1103
- #: widgets/contact/contact.php:655
1104
  msgid "Bold"
1105
  msgstr ""
1106
 
1107
- #: widgets/contact/contact.php:679
1108
  msgid "Inset highlight"
1109
  msgstr ""
1110
 
1111
- #: widgets/contact/contact.php:680
1112
  msgid "The white highlight at the bottom of the button"
1113
  msgstr ""
1114
 
1115
- #: widgets/contact/contact.php:690
1116
  msgid "Input focus"
1117
  msgstr ""
1118
 
1119
- #: widgets/contact/contact.php:749
1120
  msgid "Your Name"
1121
  msgstr ""
1122
 
1123
- #: widgets/contact/contact.php:752
1124
  msgid "Please enter your name"
1125
  msgstr ""
1126
 
1127
- #: widgets/contact/contact.php:757
1128
  msgid "Your Email"
1129
  msgstr ""
1130
 
1131
- #: widgets/contact/contact.php:760
1132
  msgid "Please enter a valid email address"
1133
  msgstr ""
1134
 
1135
- #: widgets/contact/contact.php:768
1136
  msgid "Please enter a subject"
1137
  msgstr ""
1138
 
1139
- #: widgets/contact/contact.php:773
1140
  msgid "Message"
1141
  msgstr ""
1142
 
1143
- #: widgets/contact/contact.php:776
1144
  msgid "Please write something"
1145
  msgstr ""
1146
 
1147
- #: widgets/contact/contact.php:868
1148
  msgid "This setting controls when the field max width will be disabled. The default value is 780px"
1149
  msgstr ""
1150
 
1151
- #: widgets/contact/contact.php:1157
1152
  msgid "Invalid email address."
1153
  msgstr ""
1154
 
1155
- #: widgets/contact/contact.php:1182
1156
  msgid "Invalid phone number. It should contain at least three digits."
1157
  msgstr ""
1158
 
1159
- #: widgets/contact/contact.php:1193
1160
  msgid "Invalid number."
1161
  msgstr ""
1162
 
1163
- #: widgets/contact/contact.php:1259
1164
  msgid "Error sending email, please try again later."
1165
  msgstr ""
1166
 
1167
- #: widgets/contact/contact.php:1285
1168
  msgid "A valid email is required"
1169
  msgstr ""
1170
 
1171
- #: widgets/contact/contact.php:1287
1172
  msgid "The email address is invalid"
1173
  msgstr ""
1174
 
1175
- #: widgets/contact/contact.php:1291
1176
  msgid "Missing subject"
1177
  msgstr ""
1178
 
1179
- #: widgets/contact/contact.php:1322
1180
  msgid "Error validating your Captcha response."
1181
  msgstr ""
1182
 
1183
- #: widgets/contact/contact.php:1354
1184
  msgid "Unfortunately our system identified your message as spam."
1185
  msgstr ""
1186
 
1187
- #: widgets/contact/contact.php:1362
 
 
 
 
 
 
 
 
1188
  msgctxt "The name of who sent this email"
1189
  msgid "From"
1190
  msgstr ""
1191
 
1192
- #: widgets/contact/contact.php:1467
1193
  msgid "Add a form autoresponder and additional fields, including a date and time picker with %sSiteOrigin Premium%s"
1194
  msgstr ""
1195
 
1196
- #: widgets/contact/contact.php:1472
1197
  msgid "Use Google Fonts right inside the Contact Form Widget with %sSiteOrigin Premium%s"
1198
  msgstr ""
1199
 
@@ -1269,6 +1289,10 @@ msgstr ""
1269
  msgid "Icon title"
1270
  msgstr ""
1271
 
 
 
 
 
1272
  #: widgets/features/features.php:100
1273
  msgid "Icon image"
1274
  msgstr ""
@@ -1297,87 +1321,87 @@ msgstr ""
1297
  msgid "Font Design"
1298
  msgstr ""
1299
 
1300
- #: widgets/features/features.php:182
1301
- msgid "More Link"
1302
  msgstr ""
1303
 
1304
- #: widgets/features/features.php:205
1305
- msgid "Icon container shape"
1306
  msgstr ""
1307
 
1308
- #: widgets/features/features.php:212
1309
- msgid "Icon container size"
1310
  msgstr ""
1311
 
1312
- #: widgets/features/features.php:218, widgets/social-media-buttons/social-media-buttons.php:139
1313
- msgid "Icon size"
1314
  msgstr ""
1315
 
1316
- #: widgets/features/features.php:224
1317
- msgid "Use icon size for custom icon"
1318
  msgstr ""
1319
 
1320
- #: widgets/features/features.php:230
1321
- msgid "Title text HTML tag"
1322
  msgstr ""
1323
 
1324
- #: widgets/features/features.php:233, widgets/headline/headline.php:69, widgets/headline/headline.php:150, base/inc/widgets/base-carousel.class.php:363
1325
- msgid "H1"
1326
  msgstr ""
1327
 
1328
- #: widgets/features/features.php:234, widgets/headline/headline.php:70, widgets/headline/headline.php:151, base/inc/widgets/base-carousel.class.php:364
1329
- msgid "H2"
1330
  msgstr ""
1331
 
1332
- #: widgets/features/features.php:235, widgets/headline/headline.php:71, widgets/headline/headline.php:152, base/inc/widgets/base-carousel.class.php:365
1333
- msgid "H3"
1334
  msgstr ""
1335
 
1336
- #: widgets/features/features.php:236, widgets/headline/headline.php:72, widgets/headline/headline.php:153, base/inc/widgets/base-carousel.class.php:366
1337
- msgid "H4"
1338
  msgstr ""
1339
 
1340
- #: widgets/features/features.php:237, widgets/headline/headline.php:73, widgets/headline/headline.php:154, base/inc/widgets/base-carousel.class.php:367
1341
- msgid "H5"
1342
  msgstr ""
1343
 
1344
- #: widgets/features/features.php:238, widgets/headline/headline.php:74, widgets/headline/headline.php:155, base/inc/widgets/base-carousel.class.php:368
1345
- msgid "H6"
1346
  msgstr ""
1347
 
1348
- #: widgets/features/features.php:244
1349
  msgid "Features per row"
1350
  msgstr ""
1351
 
1352
- #: widgets/features/features.php:250
1353
  msgid "Responsive layout"
1354
  msgstr ""
1355
 
1356
- #: widgets/features/features.php:256
1357
  msgid "Link feature title to more URL"
1358
  msgstr ""
1359
 
1360
- #: widgets/features/features.php:266
1361
  msgid "Link icon to more URL"
1362
  msgstr ""
1363
 
1364
- #: widgets/features/features.php:276
1365
  msgid "Link feature column to more URL"
1366
  msgstr ""
1367
 
1368
- #: widgets/features/features.php:288
1369
  msgid "Open more URL in a new window"
1370
  msgstr ""
1371
 
1372
- #: widgets/features/features.php:370
1373
  msgid "This setting controls when the features widget will collapse for mobile devices. The default value is 520px"
1374
  msgstr ""
1375
 
1376
- #: widgets/features/features.php:379
1377
  msgid "Add an feature icon title tooltip with %sSiteOrigin Premium%s"
1378
  msgstr ""
1379
 
1380
- #: widgets/features/features.php:384
1381
  msgid "Use Google Fonts right inside the Features Widget with %sSiteOrigin Premium%s"
1382
  msgstr ""
1383
 
@@ -1840,15 +1864,15 @@ msgstr ""
1840
  msgid "Custom Map"
1841
  msgstr ""
1842
 
1843
- #: widgets/google-map/google-map.php:948
1844
  msgid "Get additional map consent design settings with %sSiteOrigin Premium%s"
1845
  msgstr ""
1846
 
1847
- #: widgets/google-map/google-map.php:953
1848
  msgid "Get a curated list of predefined map styles with %sSiteOrigin Premium%s"
1849
  msgstr ""
1850
 
1851
- #: widgets/google-map/google-map.php:958
1852
  msgid "Use Google Fonts right inside the Google Maps Widget with %sSiteOrigin Premium%s"
1853
  msgstr ""
1854
 
@@ -1880,10 +1904,6 @@ msgstr ""
1880
  msgid "Hover Color"
1881
  msgstr ""
1882
 
1883
- #: widgets/headline/headline.php:93, widgets/headline/headline.php:174
1884
- msgid "Font Size"
1885
- msgstr ""
1886
-
1887
  #: widgets/headline/headline.php:97, widgets/headline/headline.php:178, widgets/headline/headline.php:243, widgets/icon/icon.php:46
1888
  msgid "Alignment"
1889
  msgstr ""
@@ -2084,19 +2104,19 @@ msgstr ""
2084
  msgid "Link hover color"
2085
  msgstr ""
2086
 
2087
- #: widgets/hero/hero.php:577
2088
  msgid "Add multiple Hero frames in one go with %sSiteOrigin Premium%s"
2089
  msgstr ""
2090
 
2091
- #: widgets/hero/hero.php:582
2092
  msgid "Add Hero frame content animation effects with %sSiteOrigin Premium%s"
2093
  msgstr ""
2094
 
2095
- #: widgets/hero/hero.php:587, widgets/layout-slider/layout-slider.php:482, widgets/slider/slider.php:368
2096
  msgid "Add parallax and fixed background images with %sSiteOrigin Premium%s"
2097
  msgstr ""
2098
 
2099
- #: widgets/hero/hero.php:592
2100
  msgid "Use Google Fonts right inside the Hero Widget with %sSiteOrigin Premium%s"
2101
  msgstr ""
2102
 
@@ -2428,6 +2448,10 @@ msgstr ""
2428
  msgid "Per"
2429
  msgstr ""
2430
 
 
 
 
 
2431
  #: widgets/price-table/price-table.php:97
2432
  msgid "Button URL"
2433
  msgstr ""
@@ -2460,6 +2484,10 @@ msgstr ""
2460
  msgid "Feature text color"
2461
  msgstr ""
2462
 
 
 
 
 
2463
  #: widgets/price-table/price-table.php:172
2464
  msgid "Featured button color"
2465
  msgstr ""
@@ -2624,12 +2652,24 @@ msgstr ""
2624
  msgid "Icon hover color"
2625
  msgstr ""
2626
 
2627
- #: widgets/social-media-buttons/social-media-buttons.php:107
2628
- msgid "Design and Layout"
2629
  msgstr ""
2630
 
2631
- #: widgets/social-media-buttons/social-media-buttons.php:182
2632
- msgid "Mobile Align"
 
 
 
 
 
 
 
 
 
 
 
 
2633
  msgstr ""
2634
 
2635
  #: widgets/social-media-buttons/social-media-buttons.php:361
@@ -3425,18 +3465,26 @@ msgstr ""
3425
  msgid "Background video opacity"
3426
  msgstr ""
3427
 
3428
- #: base/inc/widgets/base-slider.class.php:412
3429
  msgid "display slide %s"
3430
  msgstr ""
3431
 
3432
- #: base/inc/widgets/base-slider.class.php:417
3433
  msgid "next slide"
3434
  msgstr ""
3435
 
3436
- #: base/inc/widgets/base-slider.class.php:423
3437
  msgid "previous slide"
3438
  msgstr ""
3439
 
 
 
 
 
 
 
 
 
3440
  #: widgets/google-map/fields/location.class.php:58
3441
  msgid "This widget requires a Google Maps API key. Please ensure you have set yours in Google Maps Widget settings."
3442
  msgstr ""
36
  msgid "https://siteorigin.com/widgets-bundle/"
37
  msgstr ""
38
 
39
+ #: so-widgets-bundle.php:387, so-widgets-bundle.php:411, so-widgets-bundle.php:424, so-widgets-bundle.php:454, so-widgets-bundle.php:465, so-widgets-bundle.php:532, so-widgets-bundle.php:543, base/base.php:51, base/base.php:55, base/inc/actions.php:11, base/inc/actions.php:77, base/inc/actions.php:131, base/inc/actions.php:167, base/inc/actions.php:180, base/inc/actions.php:184, base/inc/actions.php:275, base/inc/actions.php:278
40
  msgid "Invalid request."
41
  msgstr ""
42
 
208
  msgid "Invalid widget."
209
  msgstr ""
210
 
211
+ #: base/inc/actions.php:223
212
  msgid "Nonce error"
213
  msgstr ""
214
 
215
+ #: base/inc/actions.php:233
216
  msgid "Signature error"
217
  msgstr ""
218
 
219
+ #: base/inc/actions.php:259
220
  msgid "Attachment error"
221
  msgstr ""
222
 
272
  msgid "Regular"
273
  msgstr ""
274
 
275
+ #: icons/fontawesome/filter.php:1472, widgets/contact/contact.php:433, widgets/contact/contact.php:555, widgets/contact/contact.php:663, widgets/contact/contact.php:741, widgets/headline/headline.php:219
276
  msgid "Solid"
277
  msgstr ""
278
 
328
  msgid "Closed"
329
  msgstr ""
330
 
331
+ #: widgets/accordion/accordion.php:111, widgets/contact/contact.php:396, widgets/cta/cta.php:74, widgets/hero/hero.php:254, widgets/layout-slider/layout-slider.php:222, widgets/slider/slider.php:134, widgets/tabs/tabs.php:101, widgets/testimonial/testimonial.php:184, base/inc/widgets/base-carousel.class.php:350
332
  msgid "Design"
333
  msgstr ""
334
 
336
  msgid "Headings"
337
  msgstr ""
338
 
339
+ #: widgets/accordion/accordion.php:121, widgets/accordion/accordion.php:159, widgets/contact/contact.php:373, widgets/contact/contact.php:406, widgets/contact/contact.php:644, widgets/cta/cta.php:78, widgets/hero/hero.php:133, widgets/layout-slider/layout-slider.php:101, widgets/slider/slider.php:87, widgets/social-media-buttons/social-media-buttons.php:85, widgets/tabs/tabs.php:111, widgets/tabs/tabs.php:131, widgets/tabs/tabs.php:175
340
  msgid "Background color"
341
  msgstr ""
342
 
352
  msgid "Title hover color"
353
  msgstr ""
354
 
355
+ #: widgets/accordion/accordion.php:140, widgets/accordion/accordion.php:168, widgets/contact/contact.php:416, widgets/contact/contact.php:538, widgets/contact/contact.php:654, widgets/cta/cta.php:83, widgets/tabs/tabs.php:116, widgets/tabs/tabs.php:150, widgets/tabs/tabs.php:184
356
  msgid "Border color"
357
  msgstr ""
358
 
360
  msgid "Border hover color"
361
  msgstr ""
362
 
363
+ #: widgets/accordion/accordion.php:148, widgets/accordion/accordion.php:172, widgets/contact/contact.php:421, widgets/contact/contact.php:543, widgets/contact/contact.php:670, widgets/tabs/tabs.php:120, widgets/tabs/tabs.php:160, widgets/tabs/tabs.php:188
364
  msgid "Border width"
365
  msgstr ""
366
 
396
  msgid "Item"
397
  msgstr ""
398
 
399
+ #: widgets/anything-carousel/anything-carousel.php:95, widgets/button/button.php:201, widgets/contact/contact.php:450, widgets/contact/contact.php:500, widgets/features/features.php:158, widgets/features/features.php:179, widgets/features/features.php:200, widgets/headline/headline.php:88, widgets/headline/headline.php:169, base/inc/widgets/base-carousel.class.php:374
400
  msgid "Font"
401
  msgstr ""
402
 
403
+ #: widgets/anything-carousel/anything-carousel.php:99, widgets/contact/contact.php:455, widgets/contact/contact.php:505, widgets/contact/contact.php:687, base/inc/widgets/base-carousel.class.php:378
404
  msgid "Font size"
405
  msgstr ""
406
 
407
+ #: widgets/anything-carousel/anything-carousel.php:103, widgets/contact/contact.php:460, widgets/contact/contact.php:584, widgets/contact/contact.php:753, widgets/features/features.php:167, widgets/features/features.php:188, widgets/features/features.php:209, widgets/google-map/google-map.php:376, widgets/headline/headline.php:80, widgets/headline/headline.php:161, widgets/headline/headline.php:231, widgets/icon/icon.php:36, widgets/taxonomy/taxonomy.php:56, base/inc/widgets/base-carousel.class.php:382
408
  msgid "Color"
409
  msgstr ""
410
 
411
+ #: widgets/anything-carousel/anything-carousel.php:107, widgets/contact/contact.php:513, widgets/social-media-buttons/social-media-buttons.php:193
412
  msgid "Margin"
413
  msgstr ""
414
 
416
  msgid "Top"
417
  msgstr ""
418
 
419
+ #: widgets/anything-carousel/anything-carousel.php:116, widgets/button/button.php:105, widgets/button/button.php:131, widgets/button/button.php:142, widgets/contact/contact.php:471, widgets/contact/contact.php:486, widgets/contact/contact.php:715, widgets/cta/cta.php:100, widgets/features/features.php:73, widgets/headline/headline.php:102, widgets/headline/headline.php:112, widgets/headline/headline.php:183, widgets/headline/headline.php:193, widgets/headline/headline.php:248, widgets/headline/headline.php:257, widgets/icon/icon.php:50, widgets/image/image.php:50, widgets/image/image.php:62, widgets/image-grid/image-grid.php:137, widgets/image-grid/image-grid.php:167, widgets/simple-masonry/simple-masonry.php:216, widgets/social-media-buttons/social-media-buttons.php:175, widgets/social-media-buttons/social-media-buttons.php:186, widgets/testimonial/testimonial.php:256
420
  msgid "Right"
421
  msgstr ""
422
 
424
  msgid "Bottom"
425
  msgstr ""
426
 
427
+ #: widgets/anything-carousel/anything-carousel.php:124, widgets/button/button.php:107, widgets/button/button.php:130, widgets/button/button.php:141, widgets/contact/contact.php:470, widgets/contact/contact.php:485, widgets/contact/contact.php:714, widgets/cta/cta.php:99, widgets/features/features.php:75, widgets/headline/headline.php:101, widgets/headline/headline.php:111, widgets/headline/headline.php:182, widgets/headline/headline.php:192, widgets/headline/headline.php:247, widgets/headline/headline.php:256, widgets/icon/icon.php:49, widgets/image/image.php:49, widgets/image/image.php:61, widgets/image-grid/image-grid.php:143, widgets/image-grid/image-grid.php:165, widgets/simple-masonry/simple-masonry.php:215, widgets/social-media-buttons/social-media-buttons.php:174, widgets/social-media-buttons/social-media-buttons.php:185, widgets/testimonial/testimonial.php:255
428
  msgid "Left"
429
  msgstr ""
430
 
468
  msgid "SiteOrigin Button"
469
  msgstr ""
470
 
471
+ #: widgets/button/button.php:33, widgets/contact/contact.php:953, widgets/features/features.php:381, widgets/headline/headline.php:37, widgets/social-media-buttons/social-media-buttons.php:32, base/inc/widgets/base-slider.class.php:222
472
  msgid "Responsive Breakpoint"
473
  msgstr ""
474
 
475
  #: widgets/button/button.php:35
476
+ msgid "This setting controls when the Mobile Align setting will be used. The default value is 780px."
477
  msgstr ""
478
 
479
+ #: widgets/button/button.php:57
480
+ msgid "Button Text"
481
  msgstr ""
482
 
483
  #: widgets/button/button.php:62, widgets/google-map/google-map.php:103, widgets/headline/headline.php:57, widgets/headline/headline.php:138, widgets/hero/hero.php:139, widgets/icon/icon.php:57, widgets/image/image.php:90, widgets/layout-slider/layout-slider.php:107, widgets/lottie-player/lottie-player.php:73, widgets/simple-masonry/simple-masonry.php:89, widgets/slider/slider.php:116
500
  msgid "Icon"
501
  msgstr ""
502
 
503
+ #: widgets/button/button.php:90
504
+ msgid "Icon Color"
505
  msgstr ""
506
 
507
  #: widgets/button/button.php:95
508
+ msgid "Image Icon"
509
  msgstr ""
510
 
511
  #: widgets/button/button.php:96
516
  msgid "Icon Placement"
517
  msgstr ""
518
 
519
+ #: widgets/button/button.php:115, widgets/social-media-buttons/social-media-buttons.php:107
520
+ msgid "Design and Layout"
521
  msgstr ""
522
 
523
+ #: widgets/button/button.php:121, widgets/contact/contact.php:477, widgets/contact/contact.php:707, widgets/contact/contact.php:758, widgets/google-map/google-map.php:94, base/inc/fields/image-size.class.php:57
524
  msgid "Width"
525
  msgstr ""
526
 
528
  msgid "Leave blank to let the button resize according to content."
529
  msgstr ""
530
 
531
+ #: widgets/button/button.php:127, widgets/contact/contact.php:482, widgets/contact/contact.php:711, widgets/social-media-buttons/social-media-buttons.php:171
532
  msgid "Align"
533
  msgstr ""
534
 
535
+ #: widgets/button/button.php:132, widgets/button/button.php:143, widgets/contact/contact.php:487, widgets/contact/contact.php:716, widgets/headline/headline.php:100, widgets/headline/headline.php:110, widgets/headline/headline.php:181, widgets/headline/headline.php:191, widgets/headline/headline.php:246, widgets/headline/headline.php:255, widgets/icon/icon.php:48, widgets/image/image.php:51, widgets/image/image.php:63, widgets/image-grid/image-grid.php:155, widgets/image-grid/image-grid.php:166, widgets/social-media-buttons/social-media-buttons.php:176, widgets/social-media-buttons/social-media-buttons.php:187
536
  msgid "Center"
537
  msgstr ""
538
 
539
+ #: widgets/button/button.php:133, widgets/button/button.php:144, widgets/contact/contact.php:488, widgets/headline/headline.php:103, widgets/headline/headline.php:113, widgets/headline/headline.php:184, widgets/headline/headline.php:194, widgets/social-media-buttons/social-media-buttons.php:177, widgets/social-media-buttons/social-media-buttons.php:188
540
  msgid "Justify"
541
  msgstr ""
542
 
543
+ #: widgets/button/button.php:138, widgets/social-media-buttons/social-media-buttons.php:182
544
+ msgid "Mobile Align"
545
  msgstr ""
546
 
547
+ #: widgets/button/button.php:149
548
+ msgid "Button Theme"
549
  msgstr ""
550
 
551
  #: widgets/button/button.php:152, widgets/price-table/price-table.php:134, widgets/social-media-buttons/social-media-buttons.php:120
560
  msgid "Wire"
561
  msgstr ""
562
 
563
+ #: widgets/button/button.php:160
564
+ msgid "Button Color"
565
  msgstr ""
566
 
567
+ #: widgets/button/button.php:165
568
+ msgid "Text Color"
569
  msgstr ""
570
 
571
  #: widgets/button/button.php:171, widgets/social-media-buttons/social-media-buttons.php:127
573
  msgstr ""
574
 
575
  #: widgets/button/button.php:183
576
+ msgid "Hover Background Color"
577
  msgstr ""
578
 
579
  #: widgets/button/button.php:192
580
+ msgid "Hover Text Color"
581
  msgstr ""
582
 
583
+ #: widgets/button/button.php:207, widgets/headline/headline.php:93, widgets/headline/headline.php:174
584
+ msgid "Font Size"
585
+ msgstr ""
586
+
587
+ #: widgets/button/button.php:209, widgets/contact/contact.php:317, widgets/contact/contact.php:593, widgets/contact/contact.php:695, widgets/social-media-buttons/social-media-buttons.php:141
588
  msgid "Normal"
589
  msgstr ""
590
 
604
  msgid "Rounding"
605
  msgstr ""
606
 
607
+ #: widgets/button/button.php:221, widgets/contact/contact.php:429, widgets/contact/contact.php:551, widgets/contact/contact.php:662, widgets/contact/contact.php:747, widgets/google-map/google-map.php:158, widgets/headline/headline.php:218, widgets/social-media-buttons/social-media-buttons.php:152
608
  msgid "None"
609
  msgstr ""
610
 
611
+ #: widgets/button/button.php:222
612
+ msgid "Slightly Rounded"
613
  msgstr ""
614
 
615
+ #: widgets/button/button.php:223
616
+ msgid "Very Rounded"
617
  msgstr ""
618
 
619
+ #: widgets/button/button.php:224
620
+ msgid "Completely Rounded"
621
  msgstr ""
622
 
623
+ #: widgets/button/button.php:230, widgets/contact/contact.php:411, widgets/contact/contact.php:517, widgets/contact/contact.php:702, widgets/social-media-buttons/social-media-buttons.php:160, widgets/testimonial/testimonial.php:235
624
  msgid "Padding"
625
  msgstr ""
626
 
632
  msgid "High"
633
  msgstr ""
634
 
635
+ #: widgets/button/button.php:236
636
+ msgid "Very High"
637
  msgstr ""
638
 
639
  #: widgets/button/button.php:245
640
+ msgid "Other Attributes and SEO"
641
  msgstr ""
642
 
643
  #: widgets/button/button.php:250, widgets/contact/contact.php:97
644
  msgid "Button ID"
645
  msgstr ""
646
 
647
+ #: widgets/button/button.php:251, widgets/contact/contact.php:98
648
+ msgid "An ID attribute allows you to target this button in JavaScript."
649
  msgstr ""
650
 
651
  #: widgets/button/button.php:256
652
+ msgid "Button Classes"
653
  msgstr ""
654
 
655
  #: widgets/button/button.php:257
657
  msgstr ""
658
 
659
  #: widgets/button/button.php:262
660
+ msgid "Title Attribute"
661
  msgstr ""
662
 
663
  #: widgets/button/button.php:263
668
  msgid "Onclick"
669
  msgstr ""
670
 
671
+ #: widgets/button/button.php:269, widgets/contact/contact.php:103
672
+ msgid "Run this JavaScript when the button is clicked. Ideal for tracking."
673
  msgstr ""
674
 
675
  #: widgets/button/button.php:274
676
+ msgid "Rel Attribute"
677
  msgstr ""
678
 
679
  #: widgets/button/button.php:275
748
  msgid "Submit button text"
749
  msgstr ""
750
 
 
 
 
 
 
 
 
 
751
  #: widgets/contact/contact.php:107
752
  msgid "Indicate required fields with asterisk (*)"
753
  msgstr ""
768
  msgid "List in contact emails, the IP address of the form sender."
769
  msgstr ""
770
 
771
+ #: widgets/contact/contact.php:137, widgets/contact/contact.php:496
772
  msgid "Fields"
773
  msgstr ""
774
 
800
  msgid "Number"
801
  msgstr ""
802
 
803
+ #: widgets/contact/contact.php:153, widgets/contact/contact.php:807
804
  msgid "Subject"
805
  msgstr ""
806
 
807
+ #: widgets/contact/contact.php:154, widgets/features/features.php:118, widgets/features/features.php:174, widgets/headline/headline.php:53, widgets/headline/headline.php:134, widgets/price-table/price-table.php:111, widgets/taxonomy/taxonomy.php:51, widgets/testimonial/testimonial.php:83
808
  msgid "Text"
809
  msgstr ""
810
 
840
  msgid "Required Field"
841
  msgstr ""
842
 
843
+ #: widgets/contact/contact.php:183, widgets/contact/contact.php:190, widgets/contact/contact.php:1232
844
  msgid "Required field"
845
  msgstr ""
846
 
920
  msgid "Audio"
921
  msgstr ""
922
 
923
+ #: widgets/contact/contact.php:314, widgets/contact/contact.php:579, widgets/features/features.php:163, widgets/features/features.php:184, widgets/features/features.php:205, widgets/icon/icon.php:41
924
  msgid "Size"
925
  msgstr ""
926
 
952
  msgid "How to handle submissions that are identified as spam."
953
  msgstr ""
954
 
955
+ #: widgets/contact/contact.php:352
956
+ msgid "Really Simple CAPTCHA"
957
+ msgstr ""
958
+
959
+ #: widgets/contact/contact.php:356
960
+ msgid "Add Really Simple CAPTCHA"
961
+ msgstr ""
962
+
963
+ #: widgets/contact/contact.php:358
964
+ msgid "The %sReally Simple CAPTCHA%s plugin is DSGVO compliant."
965
+ msgstr ""
966
+
967
+ #: widgets/contact/contact.php:382, widgets/contact/contact.php:509, widgets/contact/contact.php:682, widgets/hero/hero.php:311, widgets/layout-slider/layout-slider.php:252, widgets/testimonial/testimonial.php:227
968
+ msgid "Text color"
969
+ msgstr ""
970
+
971
+ #: widgets/contact/contact.php:402
972
  msgid "Container"
973
  msgstr ""
974
 
975
+ #: widgets/contact/contact.php:426, widgets/contact/contact.php:659
976
  msgid "Border style"
977
  msgstr ""
978
 
979
+ #: widgets/contact/contact.php:430, widgets/contact/contact.php:552, widgets/contact/contact.php:748, widgets/image/image.php:77
980
  msgid "Hidden"
981
  msgstr ""
982
 
983
+ #: widgets/contact/contact.php:431, widgets/contact/contact.php:553, widgets/contact/contact.php:664, widgets/contact/contact.php:739, widgets/headline/headline.php:220
984
  msgid "Dotted"
985
  msgstr ""
986
 
987
+ #: widgets/contact/contact.php:432, widgets/contact/contact.php:554, widgets/contact/contact.php:665, widgets/contact/contact.php:740, widgets/headline/headline.php:221
988
  msgid "Dashed"
989
  msgstr ""
990
 
991
+ #: widgets/contact/contact.php:434, widgets/contact/contact.php:556, widgets/contact/contact.php:742, widgets/headline/headline.php:222
992
  msgid "Double"
993
  msgstr ""
994
 
995
+ #: widgets/contact/contact.php:435, widgets/contact/contact.php:557, widgets/contact/contact.php:743, widgets/headline/headline.php:223
996
  msgid "Groove"
997
  msgstr ""
998
 
999
+ #: widgets/contact/contact.php:436, widgets/contact/contact.php:558, widgets/contact/contact.php:744, widgets/headline/headline.php:224
1000
  msgid "Ridge"
1001
  msgstr ""
1002
 
1003
+ #: widgets/contact/contact.php:437, widgets/contact/contact.php:559, widgets/contact/contact.php:745, widgets/headline/headline.php:225
1004
  msgid "Inset"
1005
  msgstr ""
1006
 
1007
+ #: widgets/contact/contact.php:438, widgets/contact/contact.php:560, widgets/contact/contact.php:746, widgets/headline/headline.php:226
1008
  msgid "Outset"
1009
  msgstr ""
1010
 
1011
+ #: widgets/contact/contact.php:446
1012
  msgid "Field labels"
1013
  msgstr ""
1014
 
1015
+ #: widgets/contact/contact.php:465
1016
  msgid "Position"
1017
  msgstr ""
1018
 
1019
+ #: widgets/contact/contact.php:468, widgets/image/image.php:78
1020
  msgid "Above"
1021
  msgstr ""
1022
 
1023
+ #: widgets/contact/contact.php:469, widgets/image/image.php:79
1024
  msgid "Below"
1025
  msgstr ""
1026
 
1027
+ #: widgets/contact/contact.php:472
1028
  msgid "Inside"
1029
  msgstr ""
1030
 
1031
+ #: widgets/contact/contact.php:521
1032
  msgid "Max width"
1033
  msgstr ""
1034
 
1035
+ #: widgets/contact/contact.php:526, widgets/google-map/google-map.php:98, widgets/hero/hero.php:187, widgets/hero/hero.php:223, widgets/layout-slider/layout-slider.php:155, widgets/layout-slider/layout-slider.php:191, widgets/slider/slider.php:142, base/inc/fields/image-size.class.php:64
1036
  msgid "Height"
1037
  msgstr ""
1038
 
1039
+ #: widgets/contact/contact.php:530
1040
  msgid "Text area height"
1041
  msgstr ""
1042
 
1043
+ #: widgets/contact/contact.php:534, widgets/hero/hero.php:100, widgets/layout-slider/layout-slider.php:72, widgets/post-carousel/post-carousel.php:194
1044
  msgid "Background"
1045
  msgstr ""
1046
 
1047
+ #: widgets/contact/contact.php:548
1048
  msgid " Border style"
1049
  msgstr ""
1050
 
1051
+ #: widgets/contact/contact.php:565, widgets/contact/contact.php:675
1052
  msgid "Border rounding"
1053
  msgstr ""
1054
 
1055
+ #: widgets/contact/contact.php:575
1056
  msgid "Field descriptions"
1057
  msgstr ""
1058
 
1059
+ #: widgets/contact/contact.php:589, widgets/contact/contact.php:736, widgets/google-map/google-map.php:329, widgets/headline/headline.php:215
1060
  msgid "Style"
1061
  msgstr ""
1062
 
1063
+ #: widgets/contact/contact.php:592
1064
  msgid "Italic"
1065
  msgstr ""
1066
 
1067
+ #: widgets/contact/contact.php:601
1068
  msgid "Error messages"
1069
  msgstr ""
1070
 
1071
+ #: widgets/contact/contact.php:605
1072
  msgid "Error background color"
1073
  msgstr ""
1074
 
1075
+ #: widgets/contact/contact.php:610
1076
  msgid "Error border color"
1077
  msgstr ""
1078
 
1079
+ #: widgets/contact/contact.php:615
1080
  msgid "Error text color"
1081
  msgstr ""
1082
 
1083
+ #: widgets/contact/contact.php:620
1084
  msgid "Error padding"
1085
  msgstr ""
1086
 
1087
+ #: widgets/contact/contact.php:625
1088
  msgid "Error margin"
1089
  msgstr ""
1090
 
1091
+ #: widgets/contact/contact.php:633
1092
  msgid "Submit button"
1093
  msgstr ""
1094
 
1095
+ #: widgets/contact/contact.php:637
1096
  msgid "Style submit button"
1097
  msgstr ""
1098
 
1099
+ #: widgets/contact/contact.php:638
1100
  msgid "Style the button or leave it with default theme styling."
1101
  msgstr ""
1102
 
1103
+ #: widgets/contact/contact.php:649
1104
  msgid "Gradient intensity"
1105
  msgstr ""
1106
 
1107
+ #: widgets/contact/contact.php:692
1108
  msgid "Font weight"
1109
  msgstr ""
1110
 
1111
+ #: widgets/contact/contact.php:696
1112
  msgid "Semi-bold"
1113
  msgstr ""
1114
 
1115
+ #: widgets/contact/contact.php:697
1116
  msgid "Bold"
1117
  msgstr ""
1118
 
1119
+ #: widgets/contact/contact.php:721
1120
  msgid "Inset highlight"
1121
  msgstr ""
1122
 
1123
+ #: widgets/contact/contact.php:722
1124
  msgid "The white highlight at the bottom of the button"
1125
  msgstr ""
1126
 
1127
+ #: widgets/contact/contact.php:732
1128
  msgid "Input focus"
1129
  msgstr ""
1130
 
1131
+ #: widgets/contact/contact.php:791
1132
  msgid "Your Name"
1133
  msgstr ""
1134
 
1135
+ #: widgets/contact/contact.php:794
1136
  msgid "Please enter your name"
1137
  msgstr ""
1138
 
1139
+ #: widgets/contact/contact.php:799
1140
  msgid "Your Email"
1141
  msgstr ""
1142
 
1143
+ #: widgets/contact/contact.php:802
1144
  msgid "Please enter a valid email address"
1145
  msgstr ""
1146
 
1147
+ #: widgets/contact/contact.php:810
1148
  msgid "Please enter a subject"
1149
  msgstr ""
1150
 
1151
+ #: widgets/contact/contact.php:815
1152
  msgid "Message"
1153
  msgstr ""
1154
 
1155
+ #: widgets/contact/contact.php:818
1156
  msgid "Please write something"
1157
  msgstr ""
1158
 
1159
+ #: widgets/contact/contact.php:955
1160
  msgid "This setting controls when the field max width will be disabled. The default value is 780px"
1161
  msgstr ""
1162
 
1163
+ #: widgets/contact/contact.php:1244
1164
  msgid "Invalid email address."
1165
  msgstr ""
1166
 
1167
+ #: widgets/contact/contact.php:1269
1168
  msgid "Invalid phone number. It should contain at least three digits."
1169
  msgstr ""
1170
 
1171
+ #: widgets/contact/contact.php:1280
1172
  msgid "Invalid number."
1173
  msgstr ""
1174
 
1175
+ #: widgets/contact/contact.php:1346
1176
  msgid "Error sending email, please try again later."
1177
  msgstr ""
1178
 
1179
+ #: widgets/contact/contact.php:1372
1180
  msgid "A valid email is required"
1181
  msgstr ""
1182
 
1183
+ #: widgets/contact/contact.php:1374
1184
  msgid "The email address is invalid"
1185
  msgstr ""
1186
 
1187
+ #: widgets/contact/contact.php:1378
1188
  msgid "Missing subject"
1189
  msgstr ""
1190
 
1191
+ #: widgets/contact/contact.php:1409
1192
  msgid "Error validating your Captcha response."
1193
  msgstr ""
1194
 
1195
+ #: widgets/contact/contact.php:1440
1196
  msgid "Unfortunately our system identified your message as spam."
1197
  msgstr ""
1198
 
1199
+ #: widgets/contact/contact.php:1447
1200
+ msgid "Error validating your Captcha response. Really Simple CAPTCHA missing."
1201
+ msgstr ""
1202
+
1203
+ #: widgets/contact/contact.php:1455
1204
+ msgid "Error validating your Captcha response. Please try again."
1205
+ msgstr ""
1206
+
1207
+ #: widgets/contact/contact.php:1465
1208
  msgctxt "The name of who sent this email"
1209
  msgid "From"
1210
  msgstr ""
1211
 
1212
+ #: widgets/contact/contact.php:1570
1213
  msgid "Add a form autoresponder and additional fields, including a date and time picker with %sSiteOrigin Premium%s"
1214
  msgstr ""
1215
 
1216
+ #: widgets/contact/contact.php:1575
1217
  msgid "Use Google Fonts right inside the Contact Form Widget with %sSiteOrigin Premium%s"
1218
  msgstr ""
1219
 
1289
  msgid "Icon title"
1290
  msgstr ""
1291
 
1292
+ #: widgets/features/features.php:93, widgets/price-table/price-table.php:123, widgets/social-media-buttons/social-media-buttons.php:81
1293
+ msgid "Icon color"
1294
+ msgstr ""
1295
+
1296
  #: widgets/features/features.php:100
1297
  msgid "Icon image"
1298
  msgstr ""
1321
  msgid "Font Design"
1322
  msgstr ""
1323
 
1324
+ #: widgets/features/features.php:145
1325
+ msgid "HTML tag"
1326
  msgstr ""
1327
 
1328
+ #: widgets/features/features.php:148, widgets/headline/headline.php:69, widgets/headline/headline.php:150, base/inc/widgets/base-carousel.class.php:363
1329
+ msgid "H1"
1330
  msgstr ""
1331
 
1332
+ #: widgets/features/features.php:149, widgets/headline/headline.php:70, widgets/headline/headline.php:151, base/inc/widgets/base-carousel.class.php:364
1333
+ msgid "H2"
1334
  msgstr ""
1335
 
1336
+ #: widgets/features/features.php:150, widgets/headline/headline.php:71, widgets/headline/headline.php:152, base/inc/widgets/base-carousel.class.php:365
1337
+ msgid "H3"
1338
  msgstr ""
1339
 
1340
+ #: widgets/features/features.php:151, widgets/headline/headline.php:72, widgets/headline/headline.php:153, base/inc/widgets/base-carousel.class.php:366
1341
+ msgid "H4"
1342
  msgstr ""
1343
 
1344
+ #: widgets/features/features.php:152, widgets/headline/headline.php:73, widgets/headline/headline.php:154, base/inc/widgets/base-carousel.class.php:367
1345
+ msgid "H5"
1346
  msgstr ""
1347
 
1348
+ #: widgets/features/features.php:153, widgets/headline/headline.php:74, widgets/headline/headline.php:155, base/inc/widgets/base-carousel.class.php:368
1349
+ msgid "H6"
1350
  msgstr ""
1351
 
1352
+ #: widgets/features/features.php:195
1353
+ msgid "More Link"
1354
  msgstr ""
1355
 
1356
+ #: widgets/features/features.php:218
1357
+ msgid "Icon container shape"
1358
  msgstr ""
1359
 
1360
+ #: widgets/features/features.php:225
1361
+ msgid "Icon container size"
1362
  msgstr ""
1363
 
1364
+ #: widgets/features/features.php:231, widgets/social-media-buttons/social-media-buttons.php:139
1365
+ msgid "Icon size"
1366
  msgstr ""
1367
 
1368
+ #: widgets/features/features.php:237
1369
+ msgid "Use icon size for custom icon"
1370
  msgstr ""
1371
 
1372
+ #: widgets/features/features.php:243
1373
  msgid "Features per row"
1374
  msgstr ""
1375
 
1376
+ #: widgets/features/features.php:249
1377
  msgid "Responsive layout"
1378
  msgstr ""
1379
 
1380
+ #: widgets/features/features.php:255
1381
  msgid "Link feature title to more URL"
1382
  msgstr ""
1383
 
1384
+ #: widgets/features/features.php:265
1385
  msgid "Link icon to more URL"
1386
  msgstr ""
1387
 
1388
+ #: widgets/features/features.php:275
1389
  msgid "Link feature column to more URL"
1390
  msgstr ""
1391
 
1392
+ #: widgets/features/features.php:287
1393
  msgid "Open more URL in a new window"
1394
  msgstr ""
1395
 
1396
+ #: widgets/features/features.php:383
1397
  msgid "This setting controls when the features widget will collapse for mobile devices. The default value is 520px"
1398
  msgstr ""
1399
 
1400
+ #: widgets/features/features.php:392
1401
  msgid "Add an feature icon title tooltip with %sSiteOrigin Premium%s"
1402
  msgstr ""
1403
 
1404
+ #: widgets/features/features.php:397
1405
  msgid "Use Google Fonts right inside the Features Widget with %sSiteOrigin Premium%s"
1406
  msgstr ""
1407
 
1864
  msgid "Custom Map"
1865
  msgstr ""
1866
 
1867
+ #: widgets/google-map/google-map.php:947
1868
  msgid "Get additional map consent design settings with %sSiteOrigin Premium%s"
1869
  msgstr ""
1870
 
1871
+ #: widgets/google-map/google-map.php:952
1872
  msgid "Get a curated list of predefined map styles with %sSiteOrigin Premium%s"
1873
  msgstr ""
1874
 
1875
+ #: widgets/google-map/google-map.php:957
1876
  msgid "Use Google Fonts right inside the Google Maps Widget with %sSiteOrigin Premium%s"
1877
  msgstr ""
1878
 
1904
  msgid "Hover Color"
1905
  msgstr ""
1906
 
 
 
 
 
1907
  #: widgets/headline/headline.php:97, widgets/headline/headline.php:178, widgets/headline/headline.php:243, widgets/icon/icon.php:46
1908
  msgid "Alignment"
1909
  msgstr ""
2104
  msgid "Link hover color"
2105
  msgstr ""
2106
 
2107
+ #: widgets/hero/hero.php:625
2108
  msgid "Add multiple Hero frames in one go with %sSiteOrigin Premium%s"
2109
  msgstr ""
2110
 
2111
+ #: widgets/hero/hero.php:630
2112
  msgid "Add Hero frame content animation effects with %sSiteOrigin Premium%s"
2113
  msgstr ""
2114
 
2115
+ #: widgets/hero/hero.php:635, widgets/layout-slider/layout-slider.php:482, widgets/slider/slider.php:368
2116
  msgid "Add parallax and fixed background images with %sSiteOrigin Premium%s"
2117
  msgstr ""
2118
 
2119
+ #: widgets/hero/hero.php:640
2120
  msgid "Use Google Fonts right inside the Hero Widget with %sSiteOrigin Premium%s"
2121
  msgstr ""
2122
 
2448
  msgid "Per"
2449
  msgstr ""
2450
 
2451
+ #: widgets/price-table/price-table.php:93
2452
+ msgid "Button text"
2453
+ msgstr ""
2454
+
2455
  #: widgets/price-table/price-table.php:97
2456
  msgid "Button URL"
2457
  msgstr ""
2484
  msgid "Feature text color"
2485
  msgstr ""
2486
 
2487
+ #: widgets/price-table/price-table.php:167
2488
+ msgid "Button color"
2489
+ msgstr ""
2490
+
2491
  #: widgets/price-table/price-table.php:172
2492
  msgid "Featured button color"
2493
  msgstr ""
2652
  msgid "Icon hover color"
2653
  msgstr ""
2654
 
2655
+ #: widgets/social-media-buttons/social-media-buttons.php:117
2656
+ msgid "Button theme"
2657
  msgstr ""
2658
 
2659
+ #: widgets/social-media-buttons/social-media-buttons.php:153
2660
+ msgid "Slightly rounded"
2661
+ msgstr ""
2662
+
2663
+ #: widgets/social-media-buttons/social-media-buttons.php:154
2664
+ msgid "Very rounded"
2665
+ msgstr ""
2666
+
2667
+ #: widgets/social-media-buttons/social-media-buttons.php:155
2668
+ msgid "Completely rounded"
2669
+ msgstr ""
2670
+
2671
+ #: widgets/social-media-buttons/social-media-buttons.php:166, widgets/social-media-buttons/social-media-buttons.php:199
2672
+ msgid "Very high"
2673
  msgstr ""
2674
 
2675
  #: widgets/social-media-buttons/social-media-buttons.php:361
3465
  msgid "Background video opacity"
3466
  msgstr ""
3467
 
3468
+ #: base/inc/widgets/base-slider.class.php:416
3469
  msgid "display slide %s"
3470
  msgstr ""
3471
 
3472
+ #: base/inc/widgets/base-slider.class.php:421
3473
  msgid "next slide"
3474
  msgstr ""
3475
 
3476
+ #: base/inc/widgets/base-slider.class.php:427
3477
  msgid "previous slide"
3478
  msgstr ""
3479
 
3480
+ #: widgets/contact/tpl/default.php:51
3481
+ msgid "Unable to detect Really Simple CAPTCHA plugin."
3482
+ msgstr ""
3483
+
3484
+ #: widgets/contact/tpl/simple.php:11, widgets/contact/tpl/simple.php:24
3485
+ msgid "Captcha"
3486
+ msgstr ""
3487
+
3488
  #: widgets/google-map/fields/location.class.php:58
3489
  msgid "This widget requires a Google Maps API key. Please ensure you have set yours in Google Maps Widget settings."
3490
  msgstr ""
readme.txt CHANGED
@@ -3,8 +3,8 @@ Tags: widget, button, slider, hero, google maps, image, carousel, lottie, featur
3
  Requires at least: 4.2
4
  Tested up to: 6.0
5
  Requires PHP: 5.6.20
6
- Stable tag: 1.35.1
7
- Build time: 2022-05-25T18:44:28+02:00
8
  License: GPLv3 or later
9
  Contributors: gpriday, braam-genis, alexgso
10
  Donate link: https://siteorigin.com/downloads/premium/
@@ -105,6 +105,21 @@ The Widgets Bundle global interface is available at Plugins > SiteOrigin Widgets
105
 
106
  == Changelog ==
107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  = 1.35.1 - 25 May 2022 =
109
  * Updated WordPress `Tested up to` tag.
110
  * Accordion: Added a hyphen prior to the panel URL anchor.
3
  Requires at least: 4.2
4
  Tested up to: 6.0
5
  Requires PHP: 5.6.20
6
+ Stable tag: 1.36.0
7
+ Build time: 2022-06-19T19:13:05+02:00
8
  License: GPLv3 or later
9
  Contributors: gpriday, braam-genis, alexgso
10
  Donate link: https://siteorigin.com/downloads/premium/
105
 
106
  == Changelog ==
107
 
108
+ = 1.36.0 - 19 June 2022 =
109
+ * Contact Form: Added support for [Really Simple CAPTCHA](Really Simple CAPTCHA) plugin. A DSGVO complaint captcha.
110
+ * Features: Moved the title `HTML tag` setting to the `Font Design > Title` settings section.
111
+ * Features: Restored feature column width when `Icon container shape` set to `None`.
112
+ * Google Maps: Fixed static maps custom style notice.
113
+ * Hero: Fixed Top Padding unit of measurement.
114
+ * Sliders: Resolved Modern Parallax jump on load.
115
+ * Sliders: Added `anchor-id` attribute.
116
+ * Tabs: Removed Anchor ID functionality when disabled.
117
+ * Video Player: Standardized YouTube URLs.
118
+ * Web Safe Fonts: Added Times New Roman. Alphabetized and updated the CSS font stacks.
119
+ * jQuery Migrate: Replaced error shorthand and bind usage.
120
+ * Developer: Sliders - Added `slider_setup_before` and `slider_setup_after` events.
121
+ * Developer: Added `siteorigin_widgets_search_posts_order_by` filter. Change post search order results as required.
122
+
123
  = 1.35.1 - 25 May 2022 =
124
  * Updated WordPress `Tested up to` tag.
125
  * Accordion: Added a hyphen prior to the panel URL anchor.
so-widgets-bundle.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: SiteOrigin Widgets Bundle
4
  Description: A highly customizable collection of widgets, ready to be used anywhere, neatly bundled into a single plugin.
5
- Version: 1.35.1
6
  Text Domain: so-widgets-bundle
7
  Domain Path: /lang
8
  Author: SiteOrigin
@@ -12,7 +12,7 @@ License: GPL3
12
  License URI: https://www.gnu.org/licenses/gpl-3.0.txt
13
  */
14
 
15
- define( 'SOW_BUNDLE_VERSION', '1.35.1' );
16
  define( 'SOW_BUNDLE_BASE_FILE', __FILE__ );
17
 
18
  // Allow JS suffix to be pre-set.
2
  /*
3
  Plugin Name: SiteOrigin Widgets Bundle
4
  Description: A highly customizable collection of widgets, ready to be used anywhere, neatly bundled into a single plugin.
5
+ Version: 1.36.0
6
  Text Domain: so-widgets-bundle
7
  Domain Path: /lang
8
  Author: SiteOrigin
12
  License URI: https://www.gnu.org/licenses/gpl-3.0.txt
13
  */
14
 
15
+ define( 'SOW_BUNDLE_VERSION', '1.36.0' );
16
  define( 'SOW_BUNDLE_BASE_FILE', __FILE__ );
17
 
18
  // Allow JS suffix to be pre-set.
widgets/button/button.php CHANGED
@@ -21,7 +21,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
21
 
22
  ),
23
  false,
24
- plugin_dir_path(__FILE__)
25
  );
26
 
27
  }
@@ -32,7 +32,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
32
  'type' => 'measurement',
33
  'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ),
34
  'default' => '780px',
35
- 'description' => __( 'This setting controls when the Mobile align setting will be used. The default value is 780px.', 'so-widgets-bundle' ),
36
  )
37
  );
38
  }
@@ -54,7 +54,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
54
  return array(
55
  'text' => array(
56
  'type' => 'text',
57
- 'label' => __( 'Button text', 'so-widgets-bundle' ),
58
  ),
59
 
60
  'url' => array(
@@ -66,7 +66,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
66
  'new_window' => array(
67
  'type' => 'checkbox',
68
  'default' => false,
69
- 'label' => __('Open in a new window', 'so-widgets-bundle'),
70
  ),
71
 
72
  'download' => array(
@@ -87,12 +87,12 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
87
 
88
  'icon_color' => array(
89
  'type' => 'color',
90
- 'label' => __( 'Icon color', 'so-widgets-bundle' ),
91
  ),
92
 
93
  'icon' => array(
94
  'type' => 'media',
95
- 'label' => __( 'Image icon', 'so-widgets-bundle' ),
96
  'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ),
97
  ),
98
 
@@ -112,7 +112,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
112
 
113
  'design' => array(
114
  'type' => 'section',
115
- 'label' => __('Design and layout', 'so-widgets-bundle'),
116
  'hide' => true,
117
  'fields' => array(
118
 
@@ -124,18 +124,18 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
124
 
125
  'align' => array(
126
  'type' => 'select',
127
- 'label' => __('Align', 'so-widgets-bundle'),
128
  'default' => 'center',
129
  'options' => array(
130
- 'left' => __('Left', 'so-widgets-bundle'),
131
- 'right' => __('Right', 'so-widgets-bundle'),
132
- 'center' => __('Center', 'so-widgets-bundle'),
133
- 'justify' => __('Justify', 'so-widgets-bundle'),
134
  ),
135
  ),
136
  'mobile_align' => array(
137
  'type' => 'select',
138
- 'label' => __( 'Mobile align', 'so-widgets-bundle' ),
139
  'default' => 'center',
140
  'options' => array(
141
  'left' => __( 'Left', 'so-widgets-bundle' ),
@@ -146,7 +146,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
146
  ),
147
  'theme' => array(
148
  'type' => 'select',
149
- 'label' => __( 'Button theme', 'so-widgets-bundle' ),
150
  'default' => 'atom',
151
  'options' => array(
152
  'atom' => __( 'Atom', 'so-widgets-bundle' ),
@@ -157,12 +157,12 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
157
 
158
  'button_color' => array(
159
  'type' => 'color',
160
- 'label' => __( 'Button color', 'so-widgets-bundle' ),
161
  ),
162
 
163
  'text_color' => array(
164
  'type' => 'color',
165
- 'label' => __( 'Text color', 'so-widgets-bundle' ),
166
  ),
167
 
168
  'hover' => array(
@@ -180,7 +180,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
180
 
181
  'hover_background_color' => array(
182
  'type' => 'color',
183
- 'label' => __( 'Hover background color', 'so-widgets-bundle' ),
184
  'state_handler' => array(
185
  'hover[show]' => array( 'show' ),
186
  'hover[hide]' => array( 'hide' ),
@@ -189,7 +189,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
189
 
190
  'hover_text_color' => array(
191
  'type' => 'color',
192
- 'label' => __( 'Hover text color', 'so-widgets-bundle' ),
193
  'state_handler' => array(
194
  'hover[show]' => array( 'show' ),
195
  'hover[hide]' => array( 'hide' ),
@@ -204,7 +204,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
204
 
205
  'font_size' => array(
206
  'type' => 'select',
207
- 'label' => __( 'Font size', 'so-widgets-bundle' ),
208
  'options' => array(
209
  '1' => __( 'Normal', 'so-widgets-bundle' ),
210
  '1.15' => __( 'Medium', 'so-widgets-bundle' ),
@@ -219,9 +219,9 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
219
  'default' => '0.25',
220
  'options' => array(
221
  '0' => __( 'None', 'so-widgets-bundle' ),
222
- '0.25' => __( 'Slightly rounded', 'so-widgets-bundle' ),
223
- '0.5' => __( 'Very rounded', 'so-widgets-bundle' ),
224
- '1.5' => __( 'Completely rounded', 'so-widgets-bundle' ),
225
  ),
226
  ),
227
 
@@ -233,7 +233,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
233
  '0.5' => __( 'Low', 'so-widgets-bundle' ),
234
  '1' => __( 'Medium', 'so-widgets-bundle' ),
235
  '1.4' => __( 'High', 'so-widgets-bundle' ),
236
- '1.8' => __( 'Very high', 'so-widgets-bundle' ),
237
  ),
238
  ),
239
 
@@ -242,36 +242,36 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
242
 
243
  'attributes' => array(
244
  'type' => 'section',
245
- 'label' => __( 'Other attributes and SEO', 'so-widgets-bundle' ),
246
  'hide' => true,
247
  'fields' => array(
248
  'id' => array(
249
  'type' => 'text',
250
  'label' => __( 'Button ID', 'so-widgets-bundle' ),
251
- 'description' => __( 'An ID attribute allows you to target this button in Javascript.', 'so-widgets-bundle' ),
252
  ),
253
 
254
  'classes' => array(
255
  'type' => 'text',
256
- 'label' => __( 'Button classes', 'so-widgets-bundle' ),
257
  'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ),
258
  ),
259
 
260
  'title' => array(
261
  'type' => 'text',
262
- 'label' => __( 'Title attribute', 'so-widgets-bundle' ),
263
  'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ),
264
  ),
265
 
266
  'on_click' => array(
267
  'type' => 'text',
268
  'label' => __( 'Onclick', 'so-widgets-bundle' ),
269
- 'description' => __( 'Run this Javascript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ),
270
  ),
271
 
272
  'rel' => array(
273
  'type' => 'text',
274
- 'label' => __( 'Rel attribute', 'so-widgets-bundle' ),
275
  'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ),
276
  ),
277
  )
@@ -280,7 +280,7 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
280
  }
281
 
282
  function get_style_name( $instance ) {
283
- if(empty($instance['design']['theme'])) return 'atom';
284
  return $instance['design']['theme'];
285
  }
286
 
@@ -474,4 +474,4 @@ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget {
474
  }
475
  }
476
 
477
- siteorigin_widget_register('sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget');
21
 
22
  ),
23
  false,
24
+ plugin_dir_path( __FILE__ )
25
  );
26
 
27
  }
32
  'type' => 'measurement',
33
  'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ),
34
  'default' => '780px',
35
+ 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ),
36
  )
37
  );
38
  }
54
  return array(
55
  'text' => array(
56
  'type' => 'text',
57
+ 'label' => __( 'Button Text', 'so-widgets-bundle' ),
58
  ),
59
 
60
  'url' => array(
66
  'new_window' => array(
67
  'type' => 'checkbox',
68
  'default' => false,
69
+ 'label' => __( 'Open in a new window', 'so-widgets-bundle' ),
70
  ),
71
 
72
  'download' => array(
87
 
88
  'icon_color' => array(
89
  'type' => 'color',
90
+ 'label' => __( 'Icon Color', 'so-widgets-bundle' ),
91
  ),
92
 
93
  'icon' => array(
94
  'type' => 'media',
95
+ 'label' => __( 'Image Icon', 'so-widgets-bundle' ),
96
  'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ),
97
  ),
98
 
112
 
113
  'design' => array(
114
  'type' => 'section',
115
+ 'label' => __( 'Design and Layout', 'so-widgets-bundle' ),
116
  'hide' => true,
117
  'fields' => array(
118
 
124
 
125
  'align' => array(
126
  'type' => 'select',
127
+ 'label' => __( 'Align', 'so-widgets-bundle' ),
128
  'default' => 'center',
129
  'options' => array(
130
+ 'left' => __( 'Left', 'so-widgets-bundle' ),
131
+ 'right' => __( 'Right', 'so-widgets-bundle' ),
132
+ 'center' => __( 'Center', 'so-widgets-bundle' ),
133
+ 'justify' => __( 'Justify', 'so-widgets-bundle' ),
134
  ),
135
  ),
136
  'mobile_align' => array(
137
  'type' => 'select',
138
+ 'label' => __( 'Mobile Align', 'so-widgets-bundle' ),
139
  'default' => 'center',
140
  'options' => array(
141
  'left' => __( 'Left', 'so-widgets-bundle' ),
146
  ),
147
  'theme' => array(
148
  'type' => 'select',
149
+ 'label' => __( 'Button Theme', 'so-widgets-bundle' ),
150
  'default' => 'atom',
151
  'options' => array(
152
  'atom' => __( 'Atom', 'so-widgets-bundle' ),
157
 
158
  'button_color' => array(
159
  'type' => 'color',
160
+ 'label' => __( 'Button Color', 'so-widgets-bundle' ),
161
  ),
162
 
163
  'text_color' => array(
164
  'type' => 'color',
165
+ 'label' => __( 'Text Color', 'so-widgets-bundle' ),
166
  ),
167
 
168
  'hover' => array(
180
 
181
  'hover_background_color' => array(
182
  'type' => 'color',
183
+ 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ),
184
  'state_handler' => array(
185
  'hover[show]' => array( 'show' ),
186
  'hover[hide]' => array( 'hide' ),
189
 
190
  'hover_text_color' => array(
191
  'type' => 'color',
192
+ 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ),
193
  'state_handler' => array(
194
  'hover[show]' => array( 'show' ),
195
  'hover[hide]' => array( 'hide' ),
204
 
205
  'font_size' => array(
206
  'type' => 'select',
207
+ 'label' => __( 'Font Size', 'so-widgets-bundle' ),
208
  'options' => array(
209
  '1' => __( 'Normal', 'so-widgets-bundle' ),
210
  '1.15' => __( 'Medium', 'so-widgets-bundle' ),
219
  'default' => '0.25',
220
  'options' => array(
221
  '0' => __( 'None', 'so-widgets-bundle' ),
222
+ '0.25' => __( 'Slightly Rounded', 'so-widgets-bundle' ),
223
+ '0.5' => __( 'Very Rounded', 'so-widgets-bundle' ),
224
+ '1.5' => __( 'Completely Rounded', 'so-widgets-bundle' ),
225
  ),
226
  ),
227
 
233
  '0.5' => __( 'Low', 'so-widgets-bundle' ),
234
  '1' => __( 'Medium', 'so-widgets-bundle' ),
235
  '1.4' => __( 'High', 'so-widgets-bundle' ),
236
+ '1.8' => __( 'Very High', 'so-widgets-bundle' ),
237
  ),
238
  ),
239
 
242
 
243
  'attributes' => array(
244
  'type' => 'section',
245
+ 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ),
246
  'hide' => true,
247
  'fields' => array(
248
  'id' => array(
249
  'type' => 'text',
250
  'label' => __( 'Button ID', 'so-widgets-bundle' ),
251
+ 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ),
252
  ),
253
 
254
  'classes' => array(
255
  'type' => 'text',
256
+ 'label' => __( 'Button Classes', 'so-widgets-bundle' ),
257
  'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ),
258
  ),
259
 
260
  'title' => array(
261
  'type' => 'text',
262
+ 'label' => __( 'Title Attribute', 'so-widgets-bundle' ),
263
  'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ),
264
  ),
265
 
266
  'on_click' => array(
267
  'type' => 'text',
268
  'label' => __( 'Onclick', 'so-widgets-bundle' ),
269
+ 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ),
270
  ),
271
 
272
  'rel' => array(
273
  'type' => 'text',
274
+ 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ),
275
  'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ),
276
  ),
277
  )
280
  }
281
 
282
  function get_style_name( $instance ) {
283
+ if ( empty( $instance['design']['theme'] ) ) return 'atom';
284
  return $instance['design']['theme'];
285
  }
286
 
474
  }
475
  }
476
 
477
+ siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );
widgets/contact/contact.php CHANGED
@@ -346,6 +346,48 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
346
  ),
347
  )
348
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
  ),
350
  ),
351
 
@@ -832,6 +874,7 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
832
 
833
  // Include '_sow_form_id' in generation of 'instance_hash' to allow multiple instances of the same form on a page.
834
  $template_vars['instance_hash'] = md5( serialize( $instance ) );
 
835
  unset( $instance['_sow_form_id'] );
836
 
837
  $submit_attributes = array();
@@ -855,7 +898,51 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
855
  );
856
  }
857
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
858
  $template_vars['submit_attributes'] = $submit_attributes;
 
859
  return $template_vars;
860
  }
861
 
@@ -1323,7 +1410,6 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
1323
  }
1324
  }
1325
  }
1326
-
1327
  if ( $instance['spam']['akismet']['use_akismet'] && class_exists( 'Akismet' ) ) {
1328
  $comment = array();
1329
 
@@ -1355,6 +1441,23 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
1355
  }
1356
  }
1357
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1358
  return $errors;
1359
  }
1360
 
346
  ),
347
  )
348
  ),
349
+
350
+ 'simple' => array(
351
+ 'type' => 'section',
352
+ 'label' => __( 'Really Simple CAPTCHA', 'so-widgets-bundle' ),
353
+ 'fields' => array(
354
+ 'enabled' => array(
355
+ 'type' => 'checkbox',
356
+ 'label' => __( 'Add Really Simple CAPTCHA', 'so-widgets-bundle' ),
357
+ 'description' => sprintf(
358
+ __( 'The %sReally Simple CAPTCHA%s plugin is DSGVO compliant.', 'so-widgets-bundle' ),
359
+ '<a href="https://wordpress.org/plugins/really-simple-captcha/" target="_blank">',
360
+ '</a>'
361
+ ),
362
+ 'default' => false,
363
+ 'state_emitter' => array(
364
+ 'callback' => 'conditional',
365
+ 'args' => array(
366
+ 'really_simple[show]: val',
367
+ 'really_simple[hide]: ! val'
368
+ ),
369
+ )
370
+ ),
371
+ 'background' => array(
372
+ 'type' => 'color',
373
+ 'label' => __( 'Background color', 'so-widgets-bundle' ),
374
+ 'default' => '#ffffff',
375
+ 'state_handler' => array(
376
+ 'really_simple[show]' => array( 'slideDown' ),
377
+ 'really_simple[hide]' => array( 'slideUp' ),
378
+ ),
379
+ ),
380
+ 'color' => array(
381
+ 'type' => 'color',
382
+ 'label' => __( 'Text color', 'so-widgets-bundle' ),
383
+ 'default' => '#000000',
384
+ 'state_handler' => array(
385
+ 'really_simple[show]' => array( 'slideDown' ),
386
+ 'really_simple[hide]' => array( 'slideUp' ),
387
+ ),
388
+ ),
389
+ )
390
+ ),
391
  ),
392
  ),
393
 
874
 
875
  // Include '_sow_form_id' in generation of 'instance_hash' to allow multiple instances of the same form on a page.
876
  $template_vars['instance_hash'] = md5( serialize( $instance ) );
877
+ $template_vars['result'] = $this->contact_form_action( $instance, $template_vars['instance_hash'] );
878
  unset( $instance['_sow_form_id'] );
879
 
880
  $submit_attributes = array();
898
  );
899
  }
900
  }
901
+
902
+ if ( ! empty( $instance['spam']['simple'] ) && ! empty( $instance['spam']['simple']['enabled'] ) ) {
903
+ if ( ! class_exists( 'ReallySimpleCaptcha' ) ) {
904
+ $template_vars['really_simple_spam'] = 'missing';
905
+ } else {
906
+ $template_vars['really_simple_spam'] = new ReallySimpleCaptcha();
907
+
908
+ // Apply the RSC colors.
909
+ if ( ! class_exists( 'SiteOrigin_Widgets_Color_Object' ) ) {
910
+ require plugin_dir_path( SOW_BUNDLE_BASE_FILE ) . 'base/inc/color.php';
911
+ }
912
+
913
+ if ( ! empty( $instance['spam']['simple']['background'] ) ) {
914
+ $color = new SiteOrigin_Widgets_Color_Object( $instance['spam']['simple']['background'], 'hex' );
915
+ $template_vars['really_simple_spam']->bg = $color->__get( 'rgb' );
916
+ }
917
+
918
+ if ( ! empty( $instance['spam']['simple']['color'] ) ) {
919
+ $color = new SiteOrigin_Widgets_Color_Object( $instance['spam']['simple']['color'], 'hex' );
920
+ $template_vars['really_simple_spam']->fg = $color->__get( 'rgb' );
921
+ }
922
+
923
+ // Allow other plugins to adjust Really Simple Captcha settings.
924
+ $template_vars['really_simple_spam'] = apply_filters( 'siteorigin_widgets_contact_really_simple_captcha', $template_vars['really_simple_spam'] );
925
+ $template_vars['really_simple_spam_prefix'] = mt_rand() . $template_vars['instance_hash'];
926
+ $template_vars['really_simple_spam_image'] = $template_vars['really_simple_spam']->generate_image(
927
+ $template_vars['really_simple_spam_prefix'],
928
+ $template_vars['really_simple_spam']->generate_random_word()
929
+ );
930
+
931
+ if (
932
+ ! empty( $template_vars['result'] ) &&
933
+ ! empty( $template_vars['result'] ) &&
934
+ ! empty( $template_vars['result']['errors'] ) &&
935
+ ! empty( $template_vars['result']['errors']['_general'] ) &&
936
+ ! empty( $template_vars['result']['errors']['_general']['simple'] )
937
+ ) {
938
+ $template_vars['really_simple_spam_error'] = $template_vars['result']['errors']['_general']['simple'];
939
+ unset( $template_vars['result']['errors'] );
940
+ }
941
+ }
942
+ }
943
+
944
  $template_vars['submit_attributes'] = $submit_attributes;
945
+
946
  return $template_vars;
947
  }
948
 
1410
  }
1411
  }
1412
  }
 
1413
  if ( $instance['spam']['akismet']['use_akismet'] && class_exists( 'Akismet' ) ) {
1414
  $comment = array();
1415
 
1441
  }
1442
  }
1443
 
1444
+ if ( ! empty( $instance['spam']['simple'] ) && ! empty( $instance['spam']['simple']['enabled'] ) ) {
1445
+ if ( ! class_exists( 'ReallySimpleCaptcha' ) ) {
1446
+ $template_vars['really_simple_spam'] = 'missing';
1447
+ $errors['simple'] = __( 'Error validating your Captcha response. Really Simple CAPTCHA missing.', 'so-widgets-bundle' );
1448
+ } else {
1449
+ $captcha = new ReallySimpleCaptcha();
1450
+ $prefix = $post_vars['really-simple-captcha-prefix-' . $post_vars['instance_hash'] ];
1451
+ if ( ! $captcha->check(
1452
+ $prefix,
1453
+ $post_vars['really-simple-captcha-' . $post_vars['instance_hash'] ]
1454
+ ) ) {
1455
+ $errors['simple'] = __( 'Error validating your Captcha response. Please try again.', 'so-widgets-bundle' );
1456
+ }
1457
+ $captcha->remove( $prefix );
1458
+ }
1459
+ }
1460
+
1461
  return $errors;
1462
  }
1463
 
widgets/contact/tpl/default.php CHANGED
@@ -1,12 +1,10 @@
1
  <?php
2
- $result = $this->contact_form_action( $instance, $instance_hash );
3
-
4
- // Display the title
5
- if( $instance['display_title'] && !empty( $instance['title'] ) ) {
6
  echo $args['before_title'] . $instance['title'] . $args['after_title'];
7
  }
8
  $short_hash = substr( $instance_hash, 0, 4 );
9
- if( $result['status'] == 'success' ) {
10
  // Display the success message
11
  ?>
12
  <div class="sow-contact-form-success" id="contact-form-<?php echo esc_attr( $short_hash ) ?>">
@@ -25,11 +23,11 @@ else {
25
  }
26
  ?>
27
  <form action="#contact-form-<?php echo esc_attr( $short_hash ); ?>"
28
- method="POST" class="sow-contact-form" id="contact-form-<?php echo esc_attr( $short_hash ) ?>">
29
 
30
- <?php if( !empty($result['errors']['_general']) ) : ?>
31
  <ul class="sow-error">
32
- <?php foreach( $result['errors']['_general'] as $type => $message ) : ?>
33
  <li><?php echo esc_html( $message ) ?></li>
34
  <?php endforeach ?>
35
  </ul>
@@ -46,16 +44,25 @@ else {
46
  <?php endif; ?>
47
  ></div>
48
  <?php endif; ?>
49
- <div class="sow-submit-wrapper <?php if( $instance['design']['submit']['styled'] ) echo 'sow-submit-styled'; ?>">
 
 
 
 
 
 
 
 
 
 
50
 
51
  <button class="sow-submit<?php if ( $recaptcha && empty( $recaptcha_v2 ) ) echo ' g-recaptcha'; ?>"
52
- <?php foreach( $submit_attributes as $name => $val ) echo $name . '="' . esc_attr( $val ) . '" ' ?>
53
  <?php if ( ! empty( $onclick ) ) echo 'onclick="' . esc_js( $onclick ) . '"'; ?>
54
  >
55
  <?php echo esc_attr( $instance['settings']['submit_text'] ) ?>
56
  </button>
57
 
58
-
59
  </div>
60
  </form>
61
  <?php
1
  <?php
2
+ // Display the title.
3
+ if ( $instance['display_title'] && !empty( $instance['title'] ) ) {
 
 
4
  echo $args['before_title'] . $instance['title'] . $args['after_title'];
5
  }
6
  $short_hash = substr( $instance_hash, 0, 4 );
7
+ if ( $result['status'] == 'success' ) {
8
  // Display the success message
9
  ?>
10
  <div class="sow-contact-form-success" id="contact-form-<?php echo esc_attr( $short_hash ) ?>">
23
  }
24
  ?>
25
  <form action="#contact-form-<?php echo esc_attr( $short_hash ); ?>"
26
+ method="POST" class="sow-contact-form" id="contact-form-<?php echo esc_attr( $short_hash ) ?>">
27
 
28
+ <?php if ( ! empty( $result['errors']['_general'] ) ) : ?>
29
  <ul class="sow-error">
30
+ <?php foreach ( $result['errors']['_general'] as $type => $message ) : ?>
31
  <li><?php echo esc_html( $message ) ?></li>
32
  <?php endforeach ?>
33
  </ul>
44
  <?php endif; ?>
45
  ></div>
46
  <?php endif; ?>
47
+
48
+ <?php
49
+ if ( ! empty( $really_simple_spam ) ) {
50
+ if ( $really_simple_spam == 'missing' ) {
51
+ echo __( 'Unable to detect Really Simple CAPTCHA plugin.', 'so-widgets-bundle' );
52
+ } else {
53
+ require( 'simple.php' );
54
+ }
55
+ }
56
+ ?>
57
+ <div class="sow-submit-wrapper <?php if ( $instance['design']['submit']['styled'] ) echo 'sow-submit-styled'; ?>">
58
 
59
  <button class="sow-submit<?php if ( $recaptcha && empty( $recaptcha_v2 ) ) echo ' g-recaptcha'; ?>"
60
+ <?php foreach ( $submit_attributes as $name => $val ) echo $name . '="' . esc_attr( $val ) . '" ' ?>
61
  <?php if ( ! empty( $onclick ) ) echo 'onclick="' . esc_js( $onclick ) . '"'; ?>
62
  >
63
  <?php echo esc_attr( $instance['settings']['submit_text'] ) ?>
64
  </button>
65
 
 
66
  </div>
67
  </form>
68
  <?php
widgets/contact/tpl/simple.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! empty( $template_vars['really_simple_spam_error'] ) ) : ?>
2
+ <div class="sow-error">
3
+ <?php echo esc_html( $template_vars['really_simple_spam_error'] ) ?>
4
+ </div>
5
+ <?php endif; ?>
6
+ <div class="sow-form-field sow-form-field-captcha">
7
+ <?php if ( $instance['design']['labels']['position'] != 'below' ) : ?>
8
+ <label
9
+ class="sow-form-field-label-<?php echo esc_attr( $instance['design']['labels']['position'] != 'inside' ? $instance['design']['labels']['position'] : 'above' ); ?>"
10
+ for="really-simple-captcha-<?php echo esc_attr( $instance_hash ); ?>">
11
+ <strong><?php _e( 'Captcha', 'so-widgets-bundle' ); ?></strong>
12
+ </label>
13
+ <?php endif; ?>
14
+ <img
15
+ src="<?php echo esc_url( plugins_url() . '/really-simple-captcha/tmp/' . $really_simple_spam_image ); ?>"
16
+ width="<?php echo esc_attr( $really_simple_spam->img_size[0] ); ?>"
17
+ height="<?php echo esc_attr( $really_simple_spam->img_size[1] ); ?>"
18
+ >
19
+ <span class="sow-field-container">
20
+ <input type="text" name="really-simple-captcha-<?php echo esc_attr( $instance_hash ); ?>" id="really-simple-captcha-<?php echo esc_attr( $instance_hash ); ?>" value="" class="sow-text-field">
21
+ </span>
22
+ <?php if ( $instance['design']['labels']['position'] == 'below' ) : ?>
23
+ <label class="sow-form-field-label-left" for="really-simple-captcha-<?php echo esc_attr( $instance_hash ); ?>">
24
+ <strong><?php _e( 'Captcha', 'so-widgets-bundle' ); ?></strong>
25
+ </label>
26
+ <?php endif; ?>
27
+ <input type="hidden" name="really-simple-captcha-prefix-<?php echo esc_attr( $instance_hash ); ?>" value="<?php echo esc_attr( $really_simple_spam_prefix ) ?>" />
28
+ </div>
widgets/features/features.php CHANGED
@@ -140,6 +140,19 @@ class SiteOrigin_Widget_Features_Widget extends SiteOrigin_Widget {
140
  'label' => __( 'Title', 'so-widgets-bundle' ),
141
  'hide' => true,
142
  'fields' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  'font' => array(
144
  'type' => 'font',
145
  'label' => __( 'Font', 'so-widgets-bundle' ),
@@ -225,20 +238,6 @@ class SiteOrigin_Widget_Features_Widget extends SiteOrigin_Widget {
225
  'default' => false,
226
  ),
227
 
228
- 'title_tag' => array(
229
- 'type' => 'select',
230
- 'label' => __( 'Title text HTML tag', 'so-widgets-bundle' ),
231
- 'default' => 'h5',
232
- 'options' => array(
233
- 'h1' => __( 'H1', 'so-widgets-bundle' ),
234
- 'h2' => __( 'H2', 'so-widgets-bundle' ),
235
- 'h3' => __( 'H3', 'so-widgets-bundle' ),
236
- 'h4' => __( 'H4', 'so-widgets-bundle' ),
237
- 'h5' => __( 'H5', 'so-widgets-bundle' ),
238
- 'h6' => __( 'H6', 'so-widgets-bundle' ),
239
- )
240
- ),
241
-
242
  'per_row' => array(
243
  'type' => 'number',
244
  'label' => __( 'Features per row', 'so-widgets-bundle' ),
@@ -292,6 +291,20 @@ class SiteOrigin_Widget_Features_Widget extends SiteOrigin_Widget {
292
  );
293
  }
294
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  function get_less_variables( $instance ) {
296
  $less_vars = array();
297
 
@@ -325,7 +338,7 @@ class SiteOrigin_Widget_Features_Widget extends SiteOrigin_Widget {
325
 
326
  $less_vars['container_size'] = $instance['container_size'];
327
  $less_vars['icon_size'] = $instance['icon_size'];
328
- $less_vars['title_tag'] = ! empty( $instance['title_tag'] ) ? $instance['title_tag'] : 'h5';
329
  $less_vars['per_row'] = $instance['per_row'];
330
  $less_vars['use_icon_size'] = empty( $instance['icon_size_custom'] ) ? 'false' : 'true';
331
  $less_vars['link_feature'] = ! empty( $instance['link_feature'] );
140
  'label' => __( 'Title', 'so-widgets-bundle' ),
141
  'hide' => true,
142
  'fields' => array(
143
+ 'tag' => array(
144
+ 'type' => 'select',
145
+ 'label' => __( 'HTML tag', 'so-widgets-bundle' ),
146
+ 'default' => 'h5',
147
+ 'options' => array(
148
+ 'h1' => __( 'H1', 'so-widgets-bundle' ),
149
+ 'h2' => __( 'H2', 'so-widgets-bundle' ),
150
+ 'h3' => __( 'H3', 'so-widgets-bundle' ),
151
+ 'h4' => __( 'H4', 'so-widgets-bundle' ),
152
+ 'h5' => __( 'H5', 'so-widgets-bundle' ),
153
+ 'h6' => __( 'H6', 'so-widgets-bundle' ),
154
+ )
155
+ ),
156
  'font' => array(
157
  'type' => 'font',
158
  'label' => __( 'Font', 'so-widgets-bundle' ),
238
  'default' => false,
239
  ),
240
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  'per_row' => array(
242
  'type' => 'number',
243
  'label' => __( 'Features per row', 'so-widgets-bundle' ),
291
  );
292
  }
293
 
294
+ function modify_instance( $instance ) {
295
+ if ( empty( $instance ) ) {
296
+ return array();
297
+ }
298
+
299
+ // Migrate legacy Title Tag setting to new Title Options Tag setting.
300
+ if ( ! empty( $instance['title_tag'] ) ) {
301
+ $instance['fonts']['title_options']['tag'] = $instance['title_tag'];
302
+ unset( $instance['title_tag'] );
303
+ }
304
+
305
+ return $instance;
306
+ }
307
+
308
  function get_less_variables( $instance ) {
309
  $less_vars = array();
310
 
338
 
339
  $less_vars['container_size'] = $instance['container_size'];
340
  $less_vars['icon_size'] = $instance['icon_size'];
341
+ $less_vars['title_tag'] = ! empty( $instance['fonts']['title_options']['tag'] ) ? $instance['fonts']['title_options']['tag'] : 'h5';
342
  $less_vars['per_row'] = $instance['per_row'];
343
  $less_vars['use_icon_size'] = empty( $instance['icon_size_custom'] ) ? 'false' : 'true';
344
  $less_vars['link_feature'] = ! empty( $instance['link_feature'] );
widgets/features/styles/default.less CHANGED
@@ -91,15 +91,16 @@
91
  height: @container_size;
92
  text-decoration: none;
93
  width: @container_size;
 
94
 
95
  & when not ( @per_row = 1 ) {
96
  margin: auto;
97
  }
98
 
99
- [class^="sow-icon-"],
100
  .sow-icon-image {
101
  align-items: center;
102
- color: #FFFFFF;
103
  display: flex;
104
  height: @container_size;
105
  justify-content: center;
@@ -123,7 +124,7 @@
123
  @{title_tag} {
124
  margin: 1em 0;
125
 
126
- a{
127
  color: inherit;
128
  text-decoration: none;
129
 
@@ -134,6 +135,7 @@
134
  }
135
 
136
  p.sow-more-text {
 
137
  a {
138
  color: inherit;
139
  font-weight: 500;
@@ -219,6 +221,5 @@
219
  width: 100%;
220
  }
221
  }
222
-
223
  }
224
  }
91
  height: @container_size;
92
  text-decoration: none;
93
  width: @container_size;
94
+ flex: 0 0 @container_size;
95
 
96
  & when not ( @per_row = 1 ) {
97
  margin: auto;
98
  }
99
 
100
+ &:not(.sow-container-none) [class^="sow-icon-"],
101
  .sow-icon-image {
102
  align-items: center;
103
+ color: #fff;
104
  display: flex;
105
  height: @container_size;
106
  justify-content: center;
124
  @{title_tag} {
125
  margin: 1em 0;
126
 
127
+ a {
128
  color: inherit;
129
  text-decoration: none;
130
 
135
  }
136
 
137
  p.sow-more-text {
138
+
139
  a {
140
  color: inherit;
141
  font-weight: 500;
221
  width: 100%;
222
  }
223
  }
 
224
  }
225
  }
widgets/features/tpl/default.php CHANGED
@@ -58,7 +58,7 @@ if ( ! empty( $instance['features'] ) ) {
58
 
59
  <div class="textwidget">
60
  <?php if(!empty($feature['title'])) : ?>
61
- <<?php echo esc_html( $instance['title_tag'] ); ?>>
62
  <?php if ( ! empty( $feature['more_url'] ) && $instance['title_link'] && empty( $instance['link_feature'] ) ) : ?>
63
  <a
64
  href="<?php echo sow_esc_url( $feature['more_url'] ); ?>"
@@ -70,7 +70,7 @@ if ( ! empty( $instance['features'] ) ) {
70
  <?php if ( !empty( $feature['more_url'] ) && $instance['title_link'] && empty( $instance['link_feature'] ) ) : ?>
71
  </a>
72
  <?php endif; ?>
73
- </<?php echo esc_html( $instance['title_tag'] ); ?>>
74
  <?php endif; ?>
75
 
76
  <?php if(!empty($feature['text'])) : ?>
58
 
59
  <div class="textwidget">
60
  <?php if(!empty($feature['title'])) : ?>
61
+ <<?php echo esc_html( $instance['fonts']['title_options']['tag'] ); ?>>
62
  <?php if ( ! empty( $feature['more_url'] ) && $instance['title_link'] && empty( $instance['link_feature'] ) ) : ?>
63
  <a
64
  href="<?php echo sow_esc_url( $feature['more_url'] ); ?>"
70
  <?php if ( !empty( $feature['more_url'] ) && $instance['title_link'] && empty( $instance['link_feature'] ) ) : ?>
71
  </a>
72
  <?php endif; ?>
73
+ </<?php echo esc_html( $instance['fonts']['title_options']['tag'] ); ?>>
74
  <?php endif; ?>
75
 
76
  <?php if(!empty($feature['text'])) : ?>
widgets/google-map/google-map.php CHANGED
@@ -791,11 +791,10 @@ class SiteOrigin_Widget_GoogleMap_Widget extends SiteOrigin_Widget {
791
  if ( ! empty( $st_string ) ) {
792
  $st_string .= "|";
793
  }
794
- if ( $prop_val[0] == "#" ) {
795
- $prop_val = "0x" . substr( $prop_val, 1 );
796
- }
797
  if ( is_bool( $prop_val ) ) {
798
  $prop_val = $prop_val ? 'true' : 'false';
 
 
799
  }
800
  $st_string .= $prop_name . ":" . $prop_val;
801
  }
791
  if ( ! empty( $st_string ) ) {
792
  $st_string .= "|";
793
  }
 
 
 
794
  if ( is_bool( $prop_val ) ) {
795
  $prop_val = $prop_val ? 'true' : 'false';
796
+ } elseif ( $prop_val[0] == "#" ) {
797
+ $prop_val = "0x" . substr( $prop_val, 1 );
798
  }
799
  $st_string .= $prop_name . ":" . $prop_val;
800
  }
widgets/google-map/js/static-map.js CHANGED
@@ -19,7 +19,7 @@ jQuery( function ( $ ) {
19
  if ( this.sowbLoadError ) {
20
  showFallbackImage();
21
  } else if ( !this.complete ) {
22
- $this.error( showFallbackImage );
23
  }
24
  } );
25
 
19
  if ( this.sowbLoadError ) {
20
  showFallbackImage();
21
  } else if ( !this.complete ) {
22
+ $this.on( 'error', showFallbackImage );
23
  }
24
  } );
25
 
widgets/google-map/js/static-map.min.js CHANGED
@@ -1 +1 @@
1
- var sowb=window.sowb||{};jQuery((function(a){a(".sowb-google-map-static").each((function(){var t=a(this),o=function(){if(t.data("fallbackImage")){var a=t.data("fallbackImage");a.hasOwnProperty("img")&&a.img.length>0&&(t.parent().append(a.img),t.remove())}};this.sowbLoadError?o():this.complete||t.error(o)})),a(window).on("load resize setup_widgets",(function(){a(".sowb-google-map-static").each((function(){var t=a(this),o=t.prop("src");window.matchMedia("(max-width: "+t.data("breakpoint")+"px)").matches?t.attr("src",o+"&scale=2"):o.indexOf("&scale=2")>=0&&t.attr("src",o.split("&scale=2")[0])}))}))})),window.sowb=sowb;
1
+ var sowb=window.sowb||{};jQuery((function(a){a(".sowb-google-map-static").each((function(){var o=a(this),t=function(){if(o.data("fallbackImage")){var a=o.data("fallbackImage");a.hasOwnProperty("img")&&a.img.length>0&&(o.parent().append(a.img),o.remove())}};this.sowbLoadError?t():this.complete||o.on("error",t)})),a(window).on("load resize setup_widgets",(function(){a(".sowb-google-map-static").each((function(){var o=a(this),t=o.prop("src");window.matchMedia("(max-width: "+o.data("breakpoint")+"px)").matches?o.attr("src",t+"&scale=2"):t.indexOf("&scale=2")>=0&&o.attr("src",t.split("&scale=2")[0])}))}))})),window.sowb=sowb;
widgets/hero/hero.php CHANGED
@@ -56,7 +56,7 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
56
  'valueMethod' => 'html',
57
  ),
58
  array(
59
- 'selector' => '.siteorigin-widget-field-videos .siteorigin-widget-field-repeater-items .media-field-wrapper .current .title',
60
  'valueMethod' => 'html',
61
  ),
62
  array(
@@ -193,7 +193,7 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
193
  'default' => '50px',
194
  ),
195
 
196
- 'extra_top_padding' => array(
197
  'type' => 'measurement',
198
  'label' => __( 'Extra top padding', 'so-widgets-bundle' ),
199
  'description' => __( 'Additional padding added to the top of the slider', 'so-widgets-bundle' ),
@@ -228,7 +228,7 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
228
  'label' => __( 'Top and bottom padding', 'so-widgets-bundle' ),
229
  ),
230
 
231
- 'extra_top_padding' => array(
232
  'type' => 'measurement',
233
  'label' => __( 'Extra top padding', 'so-widgets-bundle' ),
234
  'description' => __( 'Additional padding added to the top of the slider', 'so-widgets-bundle' ),
@@ -427,6 +427,43 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
427
  return apply_filters( 'siteorigin_hero_frame_content', $content, $frame );
428
  }
429
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
  /**
431
  * Migrate Slider settings.
432
  *
@@ -448,7 +485,19 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
448
  $instance['design']['text_shadow'] *= 100;
449
  }
450
 
451
- return parent::modify_instance( $instance );
 
 
 
 
 
 
 
 
 
 
 
 
452
  }
453
 
454
  /**
@@ -479,7 +528,7 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
479
 
480
  $meas_options['slide_height'] = ! empty( $settings['height'] ) ? $settings['height'] : '';
481
  $meas_options['slide_padding'] = ! empty( $settings['padding'] ) ? $settings['padding'] : '';
482
- $meas_options['slide_padding_extra_top'] = ! empty( $settings['extra_top_padding'] ) ? $settings['extra_top_padding'] : '';
483
  $meas_options['slide_padding_sides'] = ! empty( $settings['padding_sides'] ) ? $settings['padding_sides'] : '';
484
  $meas_options['slide_width'] = ! empty( $settings['width'] ) ? $settings['width'] : '';
485
  }
@@ -488,13 +537,12 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
488
  $settings = $instance['layout']['mobile'];
489
 
490
  $meas_options['slide_height_responsive'] = ! empty( $settings['height_responsive'] ) ? $settings['height_responsive'] : '';
491
- $meas_options['slide_padding_responsive'] = ! empty( $settings['padding'] ) ? $settings['padding'] : '';
492
- $meas_options['slide_padding_sides_responsive'] = ! empty( $settings['padding_sides'] ) ? $settings['padding_sides'] : '';
493
 
494
- if ( ! empty( $settings['extra_top_padding'] ) ) {
495
- // Add extra padding to top padidng.
496
- $meas_options['slide_padding_top_responsive'] = (int) $meas_options['slide_padding_responsive'] + (int) $settings['extra_top_padding'];
497
  }
 
498
  }
499
  }
500
 
56
  'valueMethod' => 'html',
57
  ),
58
  array(
59
+ 'selector' => '.siteorigin-widget-field-videos .siteorigin-widget-field-repeater-items .media-field-wrapper .current .title',
60
  'valueMethod' => 'html',
61
  ),
62
  array(
193
  'default' => '50px',
194
  ),
195
 
196
+ 'padding_extra_top' => array(
197
  'type' => 'measurement',
198
  'label' => __( 'Extra top padding', 'so-widgets-bundle' ),
199
  'description' => __( 'Additional padding added to the top of the slider', 'so-widgets-bundle' ),
228
  'label' => __( 'Top and bottom padding', 'so-widgets-bundle' ),
229
  ),
230
 
231
+ 'padding_extra_top' => array(
232
  'type' => 'measurement',
233
  'label' => __( 'Extra top padding', 'so-widgets-bundle' ),
234
  'description' => __( 'Additional padding added to the top of the slider', 'so-widgets-bundle' ),
427
  return apply_filters( 'siteorigin_hero_frame_content', $content, $frame );
428
  }
429
 
430
+ /**
431
+ * Handle Migration of `extra_top_padding` to `padding_top_padding` setting.
432
+ *
433
+ * The `padding_top_padding` setting was introduced because of an issue
434
+ * With padding being unreliably set.
435
+ *
436
+ * @param $instance
437
+ * @param $context
438
+ *
439
+ * @return $instance
440
+ */
441
+ private static function migrate_padding( $instance, $context ) {
442
+ // If padding and extra top padding unit of measurement is different,
443
+ // we need to reset the extra top padding unit to be the same as the
444
+ // base padding to prevent unexpected changes.
445
+ if (
446
+ ! empty( $instance['layout'][ $context ]['padding'] ) &&
447
+ $instance['layout'][ $context ]['padding_unit'] != $instance['layout'][ $context ]['extra_top_padding_unit']
448
+ ) {
449
+ $instance['layout'][ $context ]['padding_extra_top'] = str_replace(
450
+ $instance['layout'][ $context ]['extra_top_padding_unit'],
451
+ $instance['layout'][ $context ]['padding_unit'],
452
+ $instance['layout'][ $context ]['extra_top_padding']
453
+ );
454
+ $instance['layout'][ $context ]['padding_extra_top_unit'] = $instance['layout'][ $context ]['padding_unit'];
455
+ } else {
456
+ // No adjustments needed, copy extra padding setting to new setting structure.
457
+ $instance['layout'][ $context ]['padding_extra_top_unit'] = $instance['layout'][ $context ]['extra_top_padding_unit'];
458
+ $instance['layout'][ $context ]['padding_extra_top'] = $instance['layout'][ $context ]['extra_top_padding'];
459
+ }
460
+
461
+ unset( $instance['layout'][ $context ]['extra_top_padding'] );
462
+ unset( $instance['layout'][ $context ]['extra_top_padding_unit'] );
463
+
464
+ return $instance;
465
+ }
466
+
467
  /**
468
  * Migrate Slider settings.
469
  *
485
  $instance['design']['text_shadow'] *= 100;
486
  }
487
 
488
+ // Run general slider migrations.
489
+ $instance = parent::modify_instance( $instance );
490
+
491
+ // Migrate `extra_top_padding` to `padding_extra_top`.
492
+ if ( ! empty( $instance['layout']['desktop']['extra_top_padding'] ) ) {
493
+ $instance = self::migrate_padding( $instance, 'desktop' );
494
+ }
495
+
496
+ if ( ! empty( $instance['layout']['mobile']['extra_top_padding'] ) ) {
497
+ $instance = self::migrate_padding( $instance, 'mobile' );
498
+ }
499
+
500
+ return $instance;
501
  }
502
 
503
  /**
528
 
529
  $meas_options['slide_height'] = ! empty( $settings['height'] ) ? $settings['height'] : '';
530
  $meas_options['slide_padding'] = ! empty( $settings['padding'] ) ? $settings['padding'] : '';
531
+ $meas_options['slide_padding_extra_top'] = ! empty( $settings['padding_extra_top'] ) ? $settings['padding_extra_top'] : '';
532
  $meas_options['slide_padding_sides'] = ! empty( $settings['padding_sides'] ) ? $settings['padding_sides'] : '';
533
  $meas_options['slide_width'] = ! empty( $settings['width'] ) ? $settings['width'] : '';
534
  }
537
  $settings = $instance['layout']['mobile'];
538
 
539
  $meas_options['slide_height_responsive'] = ! empty( $settings['height_responsive'] ) ? $settings['height_responsive'] : '';
540
+ if ( $settings['padding'] != '' || $settings['padding_extra_top'] != '' ) {
541
+ $meas_options['slide_padding_responsive'] = ! empty( $settings['padding'] ) ? $settings['padding'] : '0px';
542
 
543
+ $meas_options['slide_padding_extra_top_responsive'] = ! empty( $settings['padding_extra_top'] ) ? $settings['padding_extra_top'] : '0px';
 
 
544
  }
545
+ $meas_options['slide_padding_sides_responsive'] = ! empty( $settings['padding_sides'] ) ? $settings['padding_sides'] : '';
546
  }
547
  }
548
 
widgets/hero/styles/default.less CHANGED
@@ -16,6 +16,7 @@
16
  @responsive_breakpoint: 780px;
17
  @slide_height_responsive: default;
18
  @slide_padding_responsive: default;
 
19
  @slide_padding_top_responsive: default;
20
  @slide_padding_sides_responsive: default;
21
 
@@ -54,7 +55,7 @@
54
  min-height: 0 !important;
55
 
56
  .sow-slider-image-wrapper {
57
- padding: @slide_padding+@slide_padding_extra_top @slide_padding_sides @slide_padding @slide_padding_sides;
58
 
59
  max-width: @slide_width;
60
  height: @slide_height;
@@ -65,21 +66,13 @@
65
  justify-content: center;
66
  }
67
 
68
- & when ( isnumber( @slide_height_responsive ) ) {
69
  @media (max-width: @responsive_breakpoint) {
70
- & when ( isnumber( @slide_height_responsive ) ) {
71
- height: @slide_height_responsive;
72
- }
73
-
74
- & when ( isnumber( @slide_padding_top_responsive ) ) {
75
- padding-top: @slide_padding_top_responsive;
76
- }
77
-
78
- & when ( isnumber( @slide_padding_sides_responsive ) ) {
79
- padding-right: @slide_padding_sides_responsive;
80
- padding-left: @slide_padding_sides_responsive;
81
- }
82
- & when ( isnumber( @slide_padding_responsive ) ) {
83
  padding-bottom: @slide_padding_responsive;
84
  }
85
  }
16
  @responsive_breakpoint: 780px;
17
  @slide_height_responsive: default;
18
  @slide_padding_responsive: default;
19
+ @slide_padding_extra_top_responsive: default;
20
  @slide_padding_top_responsive: default;
21
  @slide_padding_sides_responsive: default;
22
 
55
  min-height: 0 !important;
56
 
57
  .sow-slider-image-wrapper {
58
+ padding: ~"calc( @{slide_padding} + @{slide_padding_extra_top} )" @slide_padding_sides @slide_padding @slide_padding_sides;
59
 
60
  max-width: @slide_width;
61
  height: @slide_height;
66
  justify-content: center;
67
  }
68
 
69
+ & when ( isnumber( @responsive_breakpoint ) ) {
70
  @media (max-width: @responsive_breakpoint) {
71
+ height: @slide_height_responsive;
72
+ padding-top: ~"calc( @{slide_padding_responsive} + @{slide_padding_extra_top_responsive} )";
73
+ padding-right: @slide_padding_sides_responsive;
74
+ padding-left: @slide_padding_sides_responsive;
75
+ & when not ( @slide_padding_responsive = 0 ) {
 
 
 
 
 
 
 
 
76
  padding-bottom: @slide_padding_responsive;
77
  }
78
  }
widgets/tabs/js/tabs.js CHANGED
@@ -13,12 +13,12 @@ jQuery( function ( $ ) {
13
  }
14
  var anchorId = $widget.data( 'anchor-id' ) ? $widget.data( 'anchor-id' ) : false;
15
  var $tabPanelsContainer = $this.find( '> .sow-tabs-panel-container' );
16
-
17
  var $tabs = $this.find( '> .sow-tabs-tab-container > .sow-tabs-tab' );
18
-
19
  var $selectedTab = $this.find( '.sow-tabs-tab-selected' );
20
  var selectedIndex = $selectedTab.index();
21
-
22
  var $tabPanels = $tabPanelsContainer.find( '> .sow-tabs-panel' );
23
  $tabPanels.not( ':eq(' + selectedIndex + ')' ).hide();
24
  var tabAnimation;
@@ -57,23 +57,23 @@ jQuery( function ( $ ) {
57
  if (tabAnimation ) {
58
  tabAnimation.finish();
59
  }
60
-
61
  var $prevTab = $tabs.filter( '.sow-tabs-tab-selected' );
62
  $prevTab.removeClass( 'sow-tabs-tab-selected' );
63
  var prevTabIndex = $prevTab.index();
64
  var prevTabContent = $tabPanels.eq( prevTabIndex ).children();
65
  var selectedTabContent = $tabPanels.eq( selectedIndex ).children();
66
 
67
- // Set previous tab as inactive
68
  $prevTab.attr( 'tabindex', -1 );
69
  $prevTab.attr( 'aria-selected', false );
70
  prevTabContent.attr( 'tabindex', -1 );
71
-
72
- // Set new tab as active
73
  $tab.attr( 'tabindex', 0 );
74
  $tab.attr( 'aria-selected', true );
75
  selectedTabContent.attr( 'tabindex', 0 );
76
-
77
  prevTabContent.attr( 'aria-hidden', 'true' );
78
  tabAnimation = $tabPanels.eq( prevTabIndex ).fadeOut( 'fast',
79
  function () {
@@ -99,7 +99,7 @@ jQuery( function ( $ ) {
99
  );
100
  $tab.addClass( 'sow-tabs-tab-selected' );
101
 
102
- if ( ! preventHashChange ) {
103
  if ( ! anchorId ) {
104
  window.location.hash = $tab.data( 'anchor' );
105
  } else {
@@ -112,7 +112,7 @@ jQuery( function ( $ ) {
112
  }
113
  }
114
  };
115
-
116
  $tabs.on( 'click', function() {
117
  selectTab( this );
118
  } );
@@ -125,20 +125,20 @@ jQuery( function ( $ ) {
125
  }
126
 
127
  var $newTab;
128
- // did the user press left arrow?
129
  if ( e.keyCode === 37 ) {
130
- // Check if there are any additional tabs to the left
131
- if( ! $currentTab.prev().get(0) ) { // no tabs to left
132
  $newTab = $currentTab.siblings().last();
133
  } else {
134
  $newTab = $currentTab.prev();
135
  }
136
  }
137
 
138
- // did the user press right arrow?
139
  if ( e.keyCode === 39 ) {
140
- // Check if there are any additional tabs to the right
141
- if( ! $currentTab.next().get(0) ) { // no tabs to right
142
  $newTab = $currentTab.siblings().first();
143
  } else {
144
  $newTab = $currentTab.next();
@@ -150,7 +150,7 @@ jQuery( function ( $ ) {
150
  $newTab.trigger( 'focus' );
151
  selectTab( $newTab.get(0) );
152
  } );
153
-
154
  if ( $widget.data( 'anchor-id' ) || $widget.data( 'use-anchor-tags' ) ) {
155
  var updateSelectedTab = function () {
156
  if ( window.location.hash ) {
@@ -174,13 +174,13 @@ jQuery( function ( $ ) {
174
  updateSelectedTab();
175
  }
176
  }
177
-
178
  $widget.data( 'initialized', true );
179
  } );
180
  };
181
-
182
  sowb.setupTabs();
183
-
184
  $( sowb ).on( 'setup_widgets', sowb.setupTabs );
185
  } );
186
 
13
  }
14
  var anchorId = $widget.data( 'anchor-id' ) ? $widget.data( 'anchor-id' ) : false;
15
  var $tabPanelsContainer = $this.find( '> .sow-tabs-panel-container' );
16
+
17
  var $tabs = $this.find( '> .sow-tabs-tab-container > .sow-tabs-tab' );
18
+
19
  var $selectedTab = $this.find( '.sow-tabs-tab-selected' );
20
  var selectedIndex = $selectedTab.index();
21
+
22
  var $tabPanels = $tabPanelsContainer.find( '> .sow-tabs-panel' );
23
  $tabPanels.not( ':eq(' + selectedIndex + ')' ).hide();
24
  var tabAnimation;
57
  if (tabAnimation ) {
58
  tabAnimation.finish();
59
  }
60
+
61
  var $prevTab = $tabs.filter( '.sow-tabs-tab-selected' );
62
  $prevTab.removeClass( 'sow-tabs-tab-selected' );
63
  var prevTabIndex = $prevTab.index();
64
  var prevTabContent = $tabPanels.eq( prevTabIndex ).children();
65
  var selectedTabContent = $tabPanels.eq( selectedIndex ).children();
66
 
67
+ // Set previous tab as inactive.
68
  $prevTab.attr( 'tabindex', -1 );
69
  $prevTab.attr( 'aria-selected', false );
70
  prevTabContent.attr( 'tabindex', -1 );
71
+
72
+ // Set new tab as active.
73
  $tab.attr( 'tabindex', 0 );
74
  $tab.attr( 'aria-selected', true );
75
  selectedTabContent.attr( 'tabindex', 0 );
76
+
77
  prevTabContent.attr( 'aria-hidden', 'true' );
78
  tabAnimation = $tabPanels.eq( prevTabIndex ).fadeOut( 'fast',
79
  function () {
99
  );
100
  $tab.addClass( 'sow-tabs-tab-selected' );
101
 
102
+ if ( ! preventHashChange && ( anchorId || $widget.data( 'use-anchor-tags' ) ) ) {
103
  if ( ! anchorId ) {
104
  window.location.hash = $tab.data( 'anchor' );
105
  } else {
112
  }
113
  }
114
  };
115
+
116
  $tabs.on( 'click', function() {
117
  selectTab( this );
118
  } );
125
  }
126
 
127
  var $newTab;
128
+ // Did the user press left arrow?
129
  if ( e.keyCode === 37 ) {
130
+ // Check if there are any additional tabs to the left.
131
+ if ( ! $currentTab.prev().get(0) ) { // No tabs to left.
132
  $newTab = $currentTab.siblings().last();
133
  } else {
134
  $newTab = $currentTab.prev();
135
  }
136
  }
137
 
138
+ // Did the user press right arrow?
139
  if ( e.keyCode === 39 ) {
140
+ // Check if there are any additional tabs to the right.
141
+ if ( ! $currentTab.next().get(0) ) { // No tabs to right.
142
  $newTab = $currentTab.siblings().first();
143
  } else {
144
  $newTab = $currentTab.next();
150
  $newTab.trigger( 'focus' );
151
  selectTab( $newTab.get(0) );
152
  } );
153
+
154
  if ( $widget.data( 'anchor-id' ) || $widget.data( 'use-anchor-tags' ) ) {
155
  var updateSelectedTab = function () {
156
  if ( window.location.hash ) {
174
  updateSelectedTab();
175
  }
176
  }
177
+
178
  $widget.data( 'initialized', true );
179
  } );
180
  };
181
+
182
  sowb.setupTabs();
183
+
184
  $( sowb ).on( 'setup_widgets', sowb.setupTabs );
185
  } );
186
 
widgets/tabs/js/tabs.min.js CHANGED
@@ -1 +1 @@
1
- var sowb=window.sowb||{};jQuery((function(t){sowb.setupTabs=function(){t(".sow-tabs").each((function(a,o){var e=t(o),i=e.closest(".so-widget-sow-tabs");if(i.data("initialized"))return t(this);var s,n=!!i.data("anchor-id")&&i.data("anchor-id"),r=e.find("> .sow-tabs-panel-container"),d=e.find("> .sow-tabs-tab-container > .sow-tabs-tab"),c=e.find(".sow-tabs-tab-selected").index(),w=r.find("> .sow-tabs-panel");w.not(":eq("+c+")").hide();var l=function(a){var o=sowTabs.scrollto_offset?sowTabs.scrollto_offset:90,e=i.offset().top-o;a?t("body,html").animate({scrollTop:e},200):window.scrollTo(0,e)},f=function(t){return sowTabs.scrollto_after_change&&(t.offset().top<window.scrollY||t.offset().top+t.height()>window.scrollY)},h=function(a,o){var e=t(a);if(e.is(".sow-tabs-tab-selected"))return f(e)&&l(!0),!0;var r=e.index();if(r>-1){s&&s.finish();var c=d.filter(".sow-tabs-tab-selected");c.removeClass("sow-tabs-tab-selected");var h=c.index(),b=w.eq(h).children(),u=w.eq(r).children();if(c.attr("tabindex",-1),c.attr("aria-selected",!1),b.attr("tabindex",-1),e.attr("tabindex",0),e.attr("aria-selected",!0),u.attr("tabindex",0),b.attr("aria-hidden","true"),s=w.eq(h).fadeOut("fast",(function(){t(this).trigger("hide"),u.removeAttr("aria-hidden"),w.eq(r).fadeIn({duration:"fast",start:function(){t(window).trigger("resize"),t(sowb).trigger("setup_widgets")},complete:function(){t(this).trigger("show"),(o||f(e))&&l(!0)}})})),e.addClass("sow-tabs-tab-selected"),!o)if(n){var g=e.data("anchor");1!=i.data("anchor-id")&&(g=i.data("anchor-id")+"-"+g),window.location.hash=g}else window.location.hash=e.data("anchor")}};if(d.on("click",(function(){h(this)})),d.on("keyup",(function(a){var o,e=t(this);37!==a.keyCode&&39!==a.keyCode||(37===a.keyCode&&(o=e.prev().get(0)?e.prev():e.siblings().last()),39===a.keyCode&&(o=e.next().get(0)?e.next():e.siblings().first()),e!==o&&(o.trigger("focus"),h(o.get(0))))})),i.data("anchor-id")||i.data("use-anchor-tags")){var b=function(){window.location.hash&&window.location.hash.substring(1).split(",").forEach((function(a){var o=d.filter((function(o,e){var s=t(e).data("anchor");return i.data("anchor-id")&&1!=i.data("anchor-id")&&(s=i.data("anchor-id")+"-"+s),decodeURI(a)===decodeURI(s)}));o.length>0&&h(o,!0)}))};t(window).on("hashchange",b),window.location.hash&&b()}i.data("initialized",!0)}))},sowb.setupTabs(),t(sowb).on("setup_widgets",sowb.setupTabs)})),window.sowb=sowb;
1
+ var sowb=window.sowb||{};jQuery((function(t){sowb.setupTabs=function(){t(".sow-tabs").each((function(a,o){var e=t(o),i=e.closest(".so-widget-sow-tabs");if(i.data("initialized"))return t(this);var s,n=!!i.data("anchor-id")&&i.data("anchor-id"),r=e.find("> .sow-tabs-panel-container"),d=e.find("> .sow-tabs-tab-container > .sow-tabs-tab"),c=e.find(".sow-tabs-tab-selected").index(),w=r.find("> .sow-tabs-panel");w.not(":eq("+c+")").hide();var h=function(a){var o=sowTabs.scrollto_offset?sowTabs.scrollto_offset:90,e=i.offset().top-o;a?t("body,html").animate({scrollTop:e},200):window.scrollTo(0,e)},l=function(t){return sowTabs.scrollto_after_change&&(t.offset().top<window.scrollY||t.offset().top+t.height()>window.scrollY)},f=function(a,o){var e=t(a);if(e.is(".sow-tabs-tab-selected"))return l(e)&&h(!0),!0;var r=e.index();if(r>-1){s&&s.finish();var c=d.filter(".sow-tabs-tab-selected");c.removeClass("sow-tabs-tab-selected");var f=c.index(),b=w.eq(f).children(),u=w.eq(r).children();if(c.attr("tabindex",-1),c.attr("aria-selected",!1),b.attr("tabindex",-1),e.attr("tabindex",0),e.attr("aria-selected",!0),u.attr("tabindex",0),b.attr("aria-hidden","true"),s=w.eq(f).fadeOut("fast",(function(){t(this).trigger("hide"),u.removeAttr("aria-hidden"),w.eq(r).fadeIn({duration:"fast",start:function(){t(window).trigger("resize"),t(sowb).trigger("setup_widgets")},complete:function(){t(this).trigger("show"),(o||l(e))&&h(!0)}})})),e.addClass("sow-tabs-tab-selected"),!o&&(n||i.data("use-anchor-tags")))if(n){var g=e.data("anchor");1!=i.data("anchor-id")&&(g=i.data("anchor-id")+"-"+g),window.location.hash=g}else window.location.hash=e.data("anchor")}};if(d.on("click",(function(){f(this)})),d.on("keyup",(function(a){var o,e=t(this);37!==a.keyCode&&39!==a.keyCode||(37===a.keyCode&&(o=e.prev().get(0)?e.prev():e.siblings().last()),39===a.keyCode&&(o=e.next().get(0)?e.next():e.siblings().first()),e!==o&&(o.trigger("focus"),f(o.get(0))))})),i.data("anchor-id")||i.data("use-anchor-tags")){var b=function(){window.location.hash&&window.location.hash.substring(1).split(",").forEach((function(a){var o=d.filter((function(o,e){var s=t(e).data("anchor");return i.data("anchor-id")&&1!=i.data("anchor-id")&&(s=i.data("anchor-id")+"-"+s),decodeURI(a)===decodeURI(s)}));o.length>0&&f(o,!0)}))};t(window).on("hashchange",b),window.location.hash&&b()}i.data("initialized",!0)}))},sowb.setupTabs(),t(sowb).on("setup_widgets",sowb.setupTabs)})),window.sowb=sowb;