SiteOrigin Widgets Bundle - Version 1.29.0

Version Description

  • 15 January 2022 =
  • Accordion/Tabs: Removed the Border Radius setting dependency on Border Width.
  • Contact Form: Added a new Enabled setting to checkbox options.
  • Sliders: Disabled loading override when the AMP plugin is active.
  • Widget Block: Excluded Post Carousel from caching.
Download this release

Release Info

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

Code changes from version 1.28.0 to 1.29.0

compat/block-editor/widget-block.php CHANGED
@@ -161,6 +161,7 @@ class SiteOrigin_Widgets_Bundle_Widget_Block {
161
  if (
162
  empty( $attributes['widgetHtml'] ) ||
163
  ! empty( $_POST ) ||
 
164
  // Is WPML active? If so, is there a translation for this page?
165
  (
166
  defined( 'ICL_LANGUAGE_CODE' ) &&
161
  if (
162
  empty( $attributes['widgetHtml'] ) ||
163
  ! empty( $_POST ) ||
164
+ $attributes['widgetClass'] == 'SiteOrigin_Widget_PostCarousel_Widget' ||
165
  // Is WPML active? If so, is there a translation for this page?
166
  (
167
  defined( 'ICL_LANGUAGE_CODE' ) &&
compat/compat.php CHANGED
@@ -30,6 +30,20 @@ class SiteOrigin_Widgets_Bundle_Compatibility {
30
  add_action( 'siteorigin_widgets_stylesheet_deleted', array( $this, 'clear_page_cache' ) );
31
  add_action( 'siteorigin_widgets_stylesheet_added', array( $this, 'clear_page_cache' ) );
32
  add_action( 'siteorigin_widgets_stylesheet_cleared', array( $this, 'clear_all_cache' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  }
34
 
35
  function get_active_builder() {
30
  add_action( 'siteorigin_widgets_stylesheet_deleted', array( $this, 'clear_page_cache' ) );
31
  add_action( 'siteorigin_widgets_stylesheet_added', array( $this, 'clear_page_cache' ) );
32
  add_action( 'siteorigin_widgets_stylesheet_cleared', array( $this, 'clear_all_cache' ) );
33
+
34
+ if (
35
+ function_exists( 'amp_is_enabled' ) &&
36
+ amp_is_enabled()
37
+ ) {
38
+ // AMP plugin is installed and enabled. Remove Slider Lazy Loading.
39
+ add_filter( 'siteorigin_widgets_slider_attr', function( $attr ) {
40
+ if ( ! empty( $attr['class'] ) ) {
41
+ $attr['class'] = str_replace( ' skip-lazy', '', $attr['class'] );
42
+ }
43
+ $attr['loading'] = false;
44
+ return $attr;
45
+ } );
46
+ }
47
  }
48
 
49
  function get_active_builder() {
lang/so-widgets-bundle.pot CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2021 so-widgets-bundle
2
  # This file is distributed under the same license as the so-widgets-bundle package.
3
  msgid ""
4
  msgstr ""
@@ -160,7 +160,7 @@ msgstr ""
160
  msgid "All"
161
  msgstr ""
162
 
163
- #: admin/tpl/admin.php:18
164
  msgid "Enabled"
165
  msgstr ""
166
 
@@ -256,7 +256,7 @@ msgstr ""
256
  msgid "You need to select a widget type before you'll see anything here. :)"
257
  msgstr ""
258
 
259
- #: compat/block-editor/widget-block.php:209
260
  msgid "Invalid widget class %s. Please make sure the widget has been activated in %sSiteOrigin Widgets%s."
261
  msgstr ""
262
 
@@ -272,7 +272,7 @@ msgstr ""
272
  msgid "Regular"
273
  msgstr ""
274
 
275
- #: icons/fontawesome/filter.php:1472, widgets/contact/contact.php:365, widgets/contact/contact.php:487, widgets/contact/contact.php:595, widgets/contact/contact.php:673, 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:110, widgets/contact/contact.php:328, 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:100, widgets/testimonial/testimonial.php:184, base/inc/widgets/base-carousel.class.php:277
332
  msgid "Design"
333
  msgstr ""
334
 
@@ -336,7 +336,7 @@ msgstr ""
336
  msgid "Headings"
337
  msgstr ""
338
 
339
- #: widgets/accordion/accordion.php:120, widgets/accordion/accordion.php:158, widgets/contact/contact.php:338, widgets/contact/contact.php:576, widgets/cta/cta.php:78, widgets/hero/hero.php:133, widgets/layout-slider/layout-slider.php:101, widgets/social-media-buttons/social-media-buttons.php:86, widgets/tabs/tabs.php:110, widgets/tabs/tabs.php:130, widgets/tabs/tabs.php:174
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:139, widgets/accordion/accordion.php:167, widgets/contact/contact.php:348, widgets/contact/contact.php:470, widgets/contact/contact.php:586, widgets/cta/cta.php:82, widgets/tabs/tabs.php:115, widgets/tabs/tabs.php:149, widgets/tabs/tabs.php:183
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:147, widgets/accordion/accordion.php:171, widgets/contact/contact.php:353, widgets/contact/contact.php:475, widgets/contact/contact.php:602, widgets/tabs/tabs.php:119, widgets/tabs/tabs.php:159, widgets/tabs/tabs.php:187
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:203, widgets/contact/contact.php:382, widgets/contact/contact.php:432, 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:301
400
  msgid "Font"
401
  msgstr ""
402
 
403
- #: widgets/anything-carousel/anything-carousel.php:99, widgets/button/button.php:209, widgets/contact/contact.php:387, widgets/contact/contact.php:437, widgets/contact/contact.php:619, base/inc/widgets/base-carousel.class.php:305
404
  msgid "Font size"
405
  msgstr ""
406
 
407
- #: widgets/anything-carousel/anything-carousel.php:103, widgets/contact/contact.php:392, widgets/contact/contact.php:516, widgets/contact/contact.php:685, widgets/features/features.php:154, widgets/features/features.php:175, widgets/features/features.php:196, widgets/google-map/google-map.php:368, 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:309
408
  msgid "Color"
409
  msgstr ""
410
 
411
- #: widgets/anything-carousel/anything-carousel.php:107, widgets/contact/contact.php:445, widgets/social-media-buttons/social-media-buttons.php:171
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:403, widgets/contact/contact.php:418, widgets/contact/contact.php:647, widgets/cta/cta.php:103, 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:136, widgets/image-grid/image-grid.php:166, widgets/simple-masonry/simple-masonry.php:216, widgets/social-media-buttons/social-media-buttons.php:153, widgets/social-media-buttons/social-media-buttons.php:164, 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:402, widgets/contact/contact.php:417, widgets/contact/contact.php:646, widgets/cta/cta.php:102, 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:142, widgets/image-grid/image-grid.php:164, widgets/simple-masonry/simple-masonry.php:215, widgets/social-media-buttons/social-media-buttons.php:152, widgets/social-media-buttons/social-media-buttons.php:163, widgets/testimonial/testimonial.php:255
428
  msgid "Left"
429
  msgstr ""
430
 
@@ -468,7 +468,7 @@ msgstr ""
468
  msgid "SiteOrigin Button"
469
  msgstr ""
470
 
471
- #: widgets/button/button.php:33, widgets/contact/contact.php:785, widgets/features/features.php:346, widgets/headline/headline.php:37, widgets/social-media-buttons/social-media-buttons.php:33, base/inc/widgets/base-slider.class.php:222
472
  msgid "Responsive Breakpoint"
473
  msgstr ""
474
 
@@ -516,11 +516,11 @@ msgstr ""
516
  msgid "Icon Placement"
517
  msgstr ""
518
 
519
- #: widgets/button/button.php:115, widgets/social-media-buttons/social-media-buttons.php:92
520
  msgid "Design and layout"
521
  msgstr ""
522
 
523
- #: widgets/button/button.php:121, widgets/contact/contact.php:409, widgets/contact/contact.php:639, widgets/contact/contact.php:690, widgets/google-map/google-map.php:94, base/inc/fields/image-size.class.php:57
524
  msgid "Width"
525
  msgstr ""
526
 
@@ -528,15 +528,15 @@ 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:414, widgets/contact/contact.php:643, widgets/social-media-buttons/social-media-buttons.php:149
532
  msgid "Align"
533
  msgstr ""
534
 
535
- #: widgets/button/button.php:132, widgets/button/button.php:143, widgets/contact/contact.php:419, widgets/contact/contact.php:648, 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:154, widgets/image-grid/image-grid.php:165, widgets/social-media-buttons/social-media-buttons.php:154, widgets/social-media-buttons/social-media-buttons.php:165
536
  msgid "Center"
537
  msgstr ""
538
 
539
- #: widgets/button/button.php:133, widgets/button/button.php:144, widgets/contact/contact.php:420, 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:155, widgets/social-media-buttons/social-media-buttons.php:166
540
  msgid "Justify"
541
  msgstr ""
542
 
@@ -564,7 +564,7 @@ msgstr ""
564
  msgid "Button color"
565
  msgstr ""
566
 
567
- #: widgets/button/button.php:166, widgets/contact/contact.php:441, widgets/contact/contact.php:614, widgets/hero/hero.php:311, widgets/layout-slider/layout-slider.php:252, widgets/testimonial/testimonial.php:227
568
  msgid "Text color"
569
  msgstr ""
570
 
@@ -580,7 +580,7 @@ msgstr ""
580
  msgid "Hover text color"
581
  msgstr ""
582
 
583
- #: widgets/button/button.php:211, widgets/contact/contact.php:291, widgets/contact/contact.php:525, widgets/contact/contact.php:627, widgets/social-media-buttons/social-media-buttons.php:119
584
  msgid "Normal"
585
  msgstr ""
586
 
@@ -600,7 +600,7 @@ msgstr ""
600
  msgid "Rounding"
601
  msgstr ""
602
 
603
- #: widgets/button/button.php:223, widgets/contact/contact.php:361, widgets/contact/contact.php:483, widgets/contact/contact.php:594, widgets/contact/contact.php:679, widgets/google-map/google-map.php:158, widgets/headline/headline.php:218, widgets/social-media-buttons/social-media-buttons.php:130
604
  msgid "None"
605
  msgstr ""
606
 
@@ -616,7 +616,7 @@ msgstr ""
616
  msgid "Completely rounded"
617
  msgstr ""
618
 
619
- #: widgets/button/button.php:232, widgets/contact/contact.php:343, widgets/contact/contact.php:449, widgets/contact/contact.php:634, widgets/social-media-buttons/social-media-buttons.php:138, widgets/testimonial/testimonial.php:235
620
  msgid "Padding"
621
  msgstr ""
622
 
@@ -768,7 +768,7 @@ 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:428
772
  msgid "Fields"
773
  msgstr ""
774
 
@@ -800,7 +800,7 @@ msgstr ""
800
  msgid "Number"
801
  msgstr ""
802
 
803
- #: widgets/contact/contact.php:153, widgets/contact/contact.php:739
804
  msgid "Subject"
805
  msgstr ""
806
 
@@ -840,7 +840,7 @@ msgstr ""
840
  msgid "Required Field"
841
  msgstr ""
842
 
843
- #: widgets/contact/contact.php:183, widgets/contact/contact.php:190, widgets/contact/contact.php:1064
844
  msgid "Required field"
845
  msgstr ""
846
 
@@ -868,324 +868,324 @@ msgstr ""
868
  msgid "Value"
869
  msgstr ""
870
 
871
- #: widgets/contact/contact.php:219
872
  msgid "Spam Protection"
873
  msgstr ""
874
 
875
- #: widgets/contact/contact.php:225
876
  msgid "reCAPTCHA v2"
877
  msgstr ""
878
 
879
- #: widgets/contact/contact.php:229
880
  msgid "Use reCAPTCHA v2"
881
  msgstr ""
882
 
883
- #: widgets/contact/contact.php:232
884
  msgid "Please make sure you register a new reCAPTCHA v2 key %shere%s."
885
  msgstr ""
886
 
887
- #: widgets/contact/contact.php:246
888
  msgid "reCAPTCHA v2 Site Key"
889
  msgstr ""
890
 
891
- #: widgets/contact/contact.php:254
892
  msgid "reCAPTCHA v2 Secret Key"
893
  msgstr ""
894
 
895
- #: widgets/contact/contact.php:262
896
  msgid "Theme"
897
  msgstr ""
898
 
899
- #: widgets/contact/contact.php:265
900
  msgid "Light"
901
  msgstr ""
902
 
903
- #: widgets/contact/contact.php:266
904
  msgid "Dark"
905
  msgstr ""
906
 
907
- #: widgets/contact/contact.php:275
908
  msgid "Challenge type"
909
  msgstr ""
910
 
911
- #: widgets/contact/contact.php:278, widgets/image-grid/image-grid.php:53, widgets/image-grid/image-grid.php:69, widgets/price-table/price-table.php:70, widgets/simple-masonry/simple-masonry.php:64, widgets/testimonial/testimonial.php:72, widgets/testimonial/testimonial.php:189
912
  msgid "Image"
913
  msgstr ""
914
 
915
- #: widgets/contact/contact.php:279
916
  msgid "Audio"
917
  msgstr ""
918
 
919
- #: widgets/contact/contact.php:288, widgets/contact/contact.php:511, widgets/features/features.php:150, widgets/features/features.php:171, widgets/features/features.php:192, widgets/icon/icon.php:41
920
  msgid "Size"
921
  msgstr ""
922
 
923
- #: widgets/contact/contact.php:292
924
  msgid "Compact"
925
  msgstr ""
926
 
927
- #: widgets/contact/contact.php:304
928
  msgid "Akismet"
929
  msgstr ""
930
 
931
- #: widgets/contact/contact.php:308
932
  msgid "Use Akismet filtering"
933
  msgstr ""
934
 
935
- #: widgets/contact/contact.php:313
936
  msgid "Spam action"
937
  msgstr ""
938
 
939
- #: widgets/contact/contact.php:315
940
  msgid "Show error message"
941
  msgstr ""
942
 
943
- #: widgets/contact/contact.php:316
944
  msgid "Tag as spam in subject"
945
  msgstr ""
946
 
947
- #: widgets/contact/contact.php:318
948
  msgid "How to handle submissions that are identified as spam."
949
  msgstr ""
950
 
951
- #: widgets/contact/contact.php:334
952
  msgid "Container"
953
  msgstr ""
954
 
955
- #: widgets/contact/contact.php:358, widgets/contact/contact.php:591
956
  msgid "Border style"
957
  msgstr ""
958
 
959
- #: widgets/contact/contact.php:362, widgets/contact/contact.php:484, widgets/contact/contact.php:680, widgets/image/image.php:77
960
  msgid "Hidden"
961
  msgstr ""
962
 
963
- #: widgets/contact/contact.php:363, widgets/contact/contact.php:485, widgets/contact/contact.php:596, widgets/contact/contact.php:671, widgets/headline/headline.php:220
964
  msgid "Dotted"
965
  msgstr ""
966
 
967
- #: widgets/contact/contact.php:364, widgets/contact/contact.php:486, widgets/contact/contact.php:597, widgets/contact/contact.php:672, widgets/headline/headline.php:221
968
  msgid "Dashed"
969
  msgstr ""
970
 
971
- #: widgets/contact/contact.php:366, widgets/contact/contact.php:488, widgets/contact/contact.php:674, widgets/headline/headline.php:222
972
  msgid "Double"
973
  msgstr ""
974
 
975
- #: widgets/contact/contact.php:367, widgets/contact/contact.php:489, widgets/contact/contact.php:675, widgets/headline/headline.php:223
976
  msgid "Groove"
977
  msgstr ""
978
 
979
- #: widgets/contact/contact.php:368, widgets/contact/contact.php:490, widgets/contact/contact.php:676, widgets/headline/headline.php:224
980
  msgid "Ridge"
981
  msgstr ""
982
 
983
- #: widgets/contact/contact.php:369, widgets/contact/contact.php:491, widgets/contact/contact.php:677, widgets/headline/headline.php:225
984
  msgid "Inset"
985
  msgstr ""
986
 
987
- #: widgets/contact/contact.php:370, widgets/contact/contact.php:492, widgets/contact/contact.php:678, widgets/headline/headline.php:226
988
  msgid "Outset"
989
  msgstr ""
990
 
991
- #: widgets/contact/contact.php:378
992
  msgid "Field labels"
993
  msgstr ""
994
 
995
- #: widgets/contact/contact.php:397
996
  msgid "Position"
997
  msgstr ""
998
 
999
- #: widgets/contact/contact.php:400, widgets/image/image.php:78
1000
  msgid "Above"
1001
  msgstr ""
1002
 
1003
- #: widgets/contact/contact.php:401, widgets/image/image.php:79
1004
  msgid "Below"
1005
  msgstr ""
1006
 
1007
- #: widgets/contact/contact.php:404
1008
  msgid "Inside"
1009
  msgstr ""
1010
 
1011
- #: widgets/contact/contact.php:453
1012
  msgid "Max width"
1013
  msgstr ""
1014
 
1015
- #: widgets/contact/contact.php:458, 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
1016
  msgid "Height"
1017
  msgstr ""
1018
 
1019
- #: widgets/contact/contact.php:462
1020
  msgid "Text area height"
1021
  msgstr ""
1022
 
1023
- #: widgets/contact/contact.php:466, widgets/hero/hero.php:100, widgets/layout-slider/layout-slider.php:72
1024
  msgid "Background"
1025
  msgstr ""
1026
 
1027
- #: widgets/contact/contact.php:480
1028
  msgid " Border style"
1029
  msgstr ""
1030
 
1031
- #: widgets/contact/contact.php:497, widgets/contact/contact.php:607
1032
  msgid "Border rounding"
1033
  msgstr ""
1034
 
1035
- #: widgets/contact/contact.php:507
1036
  msgid "Field descriptions"
1037
  msgstr ""
1038
 
1039
- #: widgets/contact/contact.php:521, widgets/contact/contact.php:668, widgets/google-map/google-map.php:321, widgets/headline/headline.php:215
1040
  msgid "Style"
1041
  msgstr ""
1042
 
1043
- #: widgets/contact/contact.php:524
1044
  msgid "Italic"
1045
  msgstr ""
1046
 
1047
- #: widgets/contact/contact.php:533
1048
  msgid "Error messages"
1049
  msgstr ""
1050
 
1051
- #: widgets/contact/contact.php:537
1052
  msgid "Error background color"
1053
  msgstr ""
1054
 
1055
- #: widgets/contact/contact.php:542
1056
  msgid "Error border color"
1057
  msgstr ""
1058
 
1059
- #: widgets/contact/contact.php:547
1060
  msgid "Error text color"
1061
  msgstr ""
1062
 
1063
- #: widgets/contact/contact.php:552
1064
  msgid "Error padding"
1065
  msgstr ""
1066
 
1067
- #: widgets/contact/contact.php:557
1068
  msgid "Error margin"
1069
  msgstr ""
1070
 
1071
- #: widgets/contact/contact.php:565
1072
  msgid "Submit button"
1073
  msgstr ""
1074
 
1075
- #: widgets/contact/contact.php:569
1076
  msgid "Style submit button"
1077
  msgstr ""
1078
 
1079
- #: widgets/contact/contact.php:570
1080
  msgid "Style the button or leave it with default theme styling."
1081
  msgstr ""
1082
 
1083
- #: widgets/contact/contact.php:581
1084
  msgid "Gradient intensity"
1085
  msgstr ""
1086
 
1087
- #: widgets/contact/contact.php:624
1088
  msgid "Font weight"
1089
  msgstr ""
1090
 
1091
- #: widgets/contact/contact.php:628
1092
  msgid "Semi-bold"
1093
  msgstr ""
1094
 
1095
- #: widgets/contact/contact.php:629
1096
  msgid "Bold"
1097
  msgstr ""
1098
 
1099
- #: widgets/contact/contact.php:653
1100
  msgid "Inset highlight"
1101
  msgstr ""
1102
 
1103
- #: widgets/contact/contact.php:654
1104
  msgid "The white highlight at the bottom of the button"
1105
  msgstr ""
1106
 
1107
- #: widgets/contact/contact.php:664
1108
  msgid "Input focus"
1109
  msgstr ""
1110
 
1111
- #: widgets/contact/contact.php:723
1112
  msgid "Your Name"
1113
  msgstr ""
1114
 
1115
- #: widgets/contact/contact.php:726
1116
  msgid "Please enter your name"
1117
  msgstr ""
1118
 
1119
- #: widgets/contact/contact.php:731
1120
  msgid "Your Email"
1121
  msgstr ""
1122
 
1123
- #: widgets/contact/contact.php:734
1124
  msgid "Please enter a valid email address"
1125
  msgstr ""
1126
 
1127
- #: widgets/contact/contact.php:742
1128
  msgid "Please enter a subject"
1129
  msgstr ""
1130
 
1131
- #: widgets/contact/contact.php:747
1132
  msgid "Message"
1133
  msgstr ""
1134
 
1135
- #: widgets/contact/contact.php:750
1136
  msgid "Please write something"
1137
  msgstr ""
1138
 
1139
- #: widgets/contact/contact.php:787
1140
  msgid "This setting controls when the field max width will be disabled. The default value is 780px"
1141
  msgstr ""
1142
 
1143
- #: widgets/contact/contact.php:1076
1144
  msgid "Invalid email address."
1145
  msgstr ""
1146
 
1147
- #: widgets/contact/contact.php:1101
1148
  msgid "Invalid phone number. It should contain at least three digits."
1149
  msgstr ""
1150
 
1151
- #: widgets/contact/contact.php:1112
1152
  msgid "Invalid number."
1153
  msgstr ""
1154
 
1155
- #: widgets/contact/contact.php:1178
1156
  msgid "Error sending email, please try again later."
1157
  msgstr ""
1158
 
1159
- #: widgets/contact/contact.php:1204
1160
  msgid "A valid email is required"
1161
  msgstr ""
1162
 
1163
- #: widgets/contact/contact.php:1206
1164
  msgid "The email address is invalid"
1165
  msgstr ""
1166
 
1167
- #: widgets/contact/contact.php:1210
1168
  msgid "Missing subject"
1169
  msgstr ""
1170
 
1171
- #: widgets/contact/contact.php:1244
1172
  msgid "Error validating your Captcha response."
1173
  msgstr ""
1174
 
1175
- #: widgets/contact/contact.php:1276
1176
  msgid "Unfortunately our system identified your message as spam."
1177
  msgstr ""
1178
 
1179
- #: widgets/contact/contact.php:1284
1180
  msgctxt "The name of who sent this email"
1181
  msgid "From"
1182
  msgstr ""
1183
 
1184
- #: widgets/contact/contact.php:1384
1185
  msgid "Add a form autoresponder and additional fields, including a date and time picker with %sSiteOrigin Premium%s"
1186
  msgstr ""
1187
 
1188
- #: widgets/contact/contact.php:1389
1189
  msgid "Use Google Fonts right inside the Contact Form Widget with %sSiteOrigin Premium%s"
1190
  msgstr ""
1191
 
@@ -2080,7 +2080,7 @@ msgstr ""
2080
  msgid "Add Hero frame content animation effects with %sSiteOrigin Premium%s"
2081
  msgstr ""
2082
 
2083
- #: widgets/hero/hero.php:587, widgets/layout-slider/layout-slider.php:482, widgets/slider/slider.php:364
2084
  msgid "Add parallax and fixed background images with %sSiteOrigin Premium%s"
2085
  msgstr ""
2086
 
@@ -2160,11 +2160,11 @@ msgstr ""
2160
  msgid "Rel"
2161
  msgstr ""
2162
 
2163
- #: widgets/image/image.php:272, widgets/image-grid/image-grid.php:305, widgets/simple-masonry/simple-masonry.php:310, widgets/slider/slider.php:349
2164
  msgid "Add a Lightbox to your images with %sSiteOrigin Premium%s"
2165
  msgstr ""
2166
 
2167
- #: widgets/image/image.php:277, widgets/image-grid/image-grid.php:310, widgets/simple-masonry/simple-masonry.php:315, widgets/slider/slider.php:354
2168
  msgid "Add a beautiful and customizable text overlay with animations to your images with %sSiteOrigin Premium%s"
2169
  msgstr ""
2170
 
@@ -2548,10 +2548,6 @@ msgstr ""
2548
  msgid "SiteOrigin Slider"
2549
  msgstr ""
2550
 
2551
- #: widgets/slider/slider.php:87
2552
- msgid "Background Color"
2553
- msgstr ""
2554
-
2555
  #: widgets/slider/slider.php:103
2556
  msgid "Foreground image"
2557
  msgstr ""
@@ -2564,7 +2560,7 @@ msgstr ""
2564
  msgid "Responsive Height"
2565
  msgstr ""
2566
 
2567
- #: widgets/slider/slider.php:359
2568
  msgid "Add multiple Slider frames in one go with %sSiteOrigin Premium%s"
2569
  msgstr ""
2570
 
@@ -2592,6 +2588,10 @@ msgstr ""
2592
  msgid "Select network"
2593
  msgstr ""
2594
 
 
 
 
 
2595
  #: widgets/social-media-buttons/social-media-buttons.php:160
2596
  msgid "Mobile Align"
2597
  msgstr ""
1
+ # Copyright (C) 2022 so-widgets-bundle
2
  # This file is distributed under the same license as the so-widgets-bundle package.
3
  msgid ""
4
  msgstr ""
160
  msgid "All"
161
  msgstr ""
162
 
163
+ #: admin/tpl/admin.php:18, widgets/contact/contact.php:208
164
  msgid "Enabled"
165
  msgstr ""
166
 
256
  msgid "You need to select a widget type before you'll see anything here. :)"
257
  msgstr ""
258
 
259
+ #: compat/block-editor/widget-block.php:210
260
  msgid "Invalid widget class %s. Please make sure the widget has been activated in %sSiteOrigin Widgets%s."
261
  msgstr ""
262
 
272
  msgid "Regular"
273
  msgstr ""
274
 
275
+ #: icons/fontawesome/filter.php:1472, widgets/contact/contact.php:373, widgets/contact/contact.php:495, widgets/contact/contact.php:603, widgets/contact/contact.php:681, widgets/headline/headline.php:219
276
  msgid "Solid"
277
  msgstr ""
278
 
328
  msgid "Closed"
329
  msgstr ""
330
 
331
+ #: widgets/accordion/accordion.php:110, widgets/contact/contact.php:336, 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:100, widgets/testimonial/testimonial.php:184, base/inc/widgets/base-carousel.class.php:277
332
  msgid "Design"
333
  msgstr ""
334
 
336
  msgid "Headings"
337
  msgstr ""
338
 
339
+ #: widgets/accordion/accordion.php:120, widgets/accordion/accordion.php:158, widgets/contact/contact.php:346, widgets/contact/contact.php:584, 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:86, widgets/tabs/tabs.php:110, widgets/tabs/tabs.php:130, widgets/tabs/tabs.php:174
340
  msgid "Background color"
341
  msgstr ""
342
 
352
  msgid "Title hover color"
353
  msgstr ""
354
 
355
+ #: widgets/accordion/accordion.php:139, widgets/accordion/accordion.php:167, widgets/contact/contact.php:356, widgets/contact/contact.php:478, widgets/contact/contact.php:594, widgets/cta/cta.php:82, widgets/tabs/tabs.php:115, widgets/tabs/tabs.php:149, widgets/tabs/tabs.php:183
356
  msgid "Border color"
357
  msgstr ""
358
 
360
  msgid "Border hover color"
361
  msgstr ""
362
 
363
+ #: widgets/accordion/accordion.php:147, widgets/accordion/accordion.php:171, widgets/contact/contact.php:361, widgets/contact/contact.php:483, widgets/contact/contact.php:610, widgets/tabs/tabs.php:119, widgets/tabs/tabs.php:159, widgets/tabs/tabs.php:187
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:203, widgets/contact/contact.php:390, widgets/contact/contact.php:440, 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:301
400
  msgid "Font"
401
  msgstr ""
402
 
403
+ #: widgets/anything-carousel/anything-carousel.php:99, widgets/button/button.php:209, widgets/contact/contact.php:395, widgets/contact/contact.php:445, widgets/contact/contact.php:627, base/inc/widgets/base-carousel.class.php:305
404
  msgid "Font size"
405
  msgstr ""
406
 
407
+ #: widgets/anything-carousel/anything-carousel.php:103, widgets/contact/contact.php:400, widgets/contact/contact.php:524, widgets/contact/contact.php:693, widgets/features/features.php:154, widgets/features/features.php:175, widgets/features/features.php:196, widgets/google-map/google-map.php:368, 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:309
408
  msgid "Color"
409
  msgstr ""
410
 
411
+ #: widgets/anything-carousel/anything-carousel.php:107, widgets/contact/contact.php:453, widgets/social-media-buttons/social-media-buttons.php:171
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:411, widgets/contact/contact.php:426, widgets/contact/contact.php:655, widgets/cta/cta.php:103, 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:136, widgets/image-grid/image-grid.php:166, widgets/simple-masonry/simple-masonry.php:216, widgets/social-media-buttons/social-media-buttons.php:153, widgets/social-media-buttons/social-media-buttons.php:164, 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:410, widgets/contact/contact.php:425, widgets/contact/contact.php:654, widgets/cta/cta.php:102, 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:142, widgets/image-grid/image-grid.php:164, widgets/simple-masonry/simple-masonry.php:215, widgets/social-media-buttons/social-media-buttons.php:152, widgets/social-media-buttons/social-media-buttons.php:163, 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:793, widgets/features/features.php:346, widgets/headline/headline.php:37, widgets/social-media-buttons/social-media-buttons.php:33, base/inc/widgets/base-slider.class.php:222
472
  msgid "Responsive Breakpoint"
473
  msgstr ""
474
 
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:417, widgets/contact/contact.php:647, widgets/contact/contact.php:698, 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:422, widgets/contact/contact.php:651, widgets/social-media-buttons/social-media-buttons.php:149
532
  msgid "Align"
533
  msgstr ""
534
 
535
+ #: widgets/button/button.php:132, widgets/button/button.php:143, widgets/contact/contact.php:427, widgets/contact/contact.php:656, 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:154, widgets/image-grid/image-grid.php:165, widgets/social-media-buttons/social-media-buttons.php:154, widgets/social-media-buttons/social-media-buttons.php:165
536
  msgid "Center"
537
  msgstr ""
538
 
539
+ #: widgets/button/button.php:133, widgets/button/button.php:144, widgets/contact/contact.php:428, 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:155, widgets/social-media-buttons/social-media-buttons.php:166
540
  msgid "Justify"
541
  msgstr ""
542
 
564
  msgid "Button color"
565
  msgstr ""
566
 
567
+ #: widgets/button/button.php:166, widgets/contact/contact.php:449, widgets/contact/contact.php:622, widgets/hero/hero.php:311, widgets/layout-slider/layout-slider.php:252, widgets/testimonial/testimonial.php:227
568
  msgid "Text color"
569
  msgstr ""
570
 
580
  msgid "Hover text color"
581
  msgstr ""
582
 
583
+ #: widgets/button/button.php:211, widgets/contact/contact.php:299, widgets/contact/contact.php:533, widgets/contact/contact.php:635, widgets/social-media-buttons/social-media-buttons.php:119
584
  msgid "Normal"
585
  msgstr ""
586
 
600
  msgid "Rounding"
601
  msgstr ""
602
 
603
+ #: widgets/button/button.php:223, widgets/contact/contact.php:369, widgets/contact/contact.php:491, widgets/contact/contact.php:602, widgets/contact/contact.php:687, widgets/google-map/google-map.php:158, widgets/headline/headline.php:218, widgets/social-media-buttons/social-media-buttons.php:130
604
  msgid "None"
605
  msgstr ""
606
 
616
  msgid "Completely rounded"
617
  msgstr ""
618
 
619
+ #: widgets/button/button.php:232, widgets/contact/contact.php:351, widgets/contact/contact.php:457, widgets/contact/contact.php:642, widgets/social-media-buttons/social-media-buttons.php:138, widgets/testimonial/testimonial.php:235
620
  msgid "Padding"
621
  msgstr ""
622
 
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:436
772
  msgid "Fields"
773
  msgstr ""
774
 
800
  msgid "Number"
801
  msgstr ""
802
 
803
+ #: widgets/contact/contact.php:153, widgets/contact/contact.php:747
804
  msgid "Subject"
805
  msgstr ""
806
 
840
  msgid "Required Field"
841
  msgstr ""
842
 
843
+ #: widgets/contact/contact.php:183, widgets/contact/contact.php:190, widgets/contact/contact.php:1072
844
  msgid "Required field"
845
  msgstr ""
846
 
868
  msgid "Value"
869
  msgstr ""
870
 
871
+ #: widgets/contact/contact.php:227
872
  msgid "Spam Protection"
873
  msgstr ""
874
 
875
+ #: widgets/contact/contact.php:233
876
  msgid "reCAPTCHA v2"
877
  msgstr ""
878
 
879
+ #: widgets/contact/contact.php:237
880
  msgid "Use reCAPTCHA v2"
881
  msgstr ""
882
 
883
+ #: widgets/contact/contact.php:240
884
  msgid "Please make sure you register a new reCAPTCHA v2 key %shere%s."
885
  msgstr ""
886
 
887
+ #: widgets/contact/contact.php:254
888
  msgid "reCAPTCHA v2 Site Key"
889
  msgstr ""
890
 
891
+ #: widgets/contact/contact.php:262
892
  msgid "reCAPTCHA v2 Secret Key"
893
  msgstr ""
894
 
895
+ #: widgets/contact/contact.php:270
896
  msgid "Theme"
897
  msgstr ""
898
 
899
+ #: widgets/contact/contact.php:273
900
  msgid "Light"
901
  msgstr ""
902
 
903
+ #: widgets/contact/contact.php:274
904
  msgid "Dark"
905
  msgstr ""
906
 
907
+ #: widgets/contact/contact.php:283
908
  msgid "Challenge type"
909
  msgstr ""
910
 
911
+ #: widgets/contact/contact.php:286, widgets/image-grid/image-grid.php:53, widgets/image-grid/image-grid.php:69, widgets/price-table/price-table.php:70, widgets/simple-masonry/simple-masonry.php:64, widgets/testimonial/testimonial.php:72, widgets/testimonial/testimonial.php:189
912
  msgid "Image"
913
  msgstr ""
914
 
915
+ #: widgets/contact/contact.php:287
916
  msgid "Audio"
917
  msgstr ""
918
 
919
+ #: widgets/contact/contact.php:296, widgets/contact/contact.php:519, widgets/features/features.php:150, widgets/features/features.php:171, widgets/features/features.php:192, widgets/icon/icon.php:41
920
  msgid "Size"
921
  msgstr ""
922
 
923
+ #: widgets/contact/contact.php:300
924
  msgid "Compact"
925
  msgstr ""
926
 
927
+ #: widgets/contact/contact.php:312
928
  msgid "Akismet"
929
  msgstr ""
930
 
931
+ #: widgets/contact/contact.php:316
932
  msgid "Use Akismet filtering"
933
  msgstr ""
934
 
935
+ #: widgets/contact/contact.php:321
936
  msgid "Spam action"
937
  msgstr ""
938
 
939
+ #: widgets/contact/contact.php:323
940
  msgid "Show error message"
941
  msgstr ""
942
 
943
+ #: widgets/contact/contact.php:324
944
  msgid "Tag as spam in subject"
945
  msgstr ""
946
 
947
+ #: widgets/contact/contact.php:326
948
  msgid "How to handle submissions that are identified as spam."
949
  msgstr ""
950
 
951
+ #: widgets/contact/contact.php:342
952
  msgid "Container"
953
  msgstr ""
954
 
955
+ #: widgets/contact/contact.php:366, widgets/contact/contact.php:599
956
  msgid "Border style"
957
  msgstr ""
958
 
959
+ #: widgets/contact/contact.php:370, widgets/contact/contact.php:492, widgets/contact/contact.php:688, widgets/image/image.php:77
960
  msgid "Hidden"
961
  msgstr ""
962
 
963
+ #: widgets/contact/contact.php:371, widgets/contact/contact.php:493, widgets/contact/contact.php:604, widgets/contact/contact.php:679, widgets/headline/headline.php:220
964
  msgid "Dotted"
965
  msgstr ""
966
 
967
+ #: widgets/contact/contact.php:372, widgets/contact/contact.php:494, widgets/contact/contact.php:605, widgets/contact/contact.php:680, widgets/headline/headline.php:221
968
  msgid "Dashed"
969
  msgstr ""
970
 
971
+ #: widgets/contact/contact.php:374, widgets/contact/contact.php:496, widgets/contact/contact.php:682, widgets/headline/headline.php:222
972
  msgid "Double"
973
  msgstr ""
974
 
975
+ #: widgets/contact/contact.php:375, widgets/contact/contact.php:497, widgets/contact/contact.php:683, widgets/headline/headline.php:223
976
  msgid "Groove"
977
  msgstr ""
978
 
979
+ #: widgets/contact/contact.php:376, widgets/contact/contact.php:498, widgets/contact/contact.php:684, widgets/headline/headline.php:224
980
  msgid "Ridge"
981
  msgstr ""
982
 
983
+ #: widgets/contact/contact.php:377, widgets/contact/contact.php:499, widgets/contact/contact.php:685, widgets/headline/headline.php:225
984
  msgid "Inset"
985
  msgstr ""
986
 
987
+ #: widgets/contact/contact.php:378, widgets/contact/contact.php:500, widgets/contact/contact.php:686, widgets/headline/headline.php:226
988
  msgid "Outset"
989
  msgstr ""
990
 
991
+ #: widgets/contact/contact.php:386
992
  msgid "Field labels"
993
  msgstr ""
994
 
995
+ #: widgets/contact/contact.php:405
996
  msgid "Position"
997
  msgstr ""
998
 
999
+ #: widgets/contact/contact.php:408, widgets/image/image.php:78
1000
  msgid "Above"
1001
  msgstr ""
1002
 
1003
+ #: widgets/contact/contact.php:409, widgets/image/image.php:79
1004
  msgid "Below"
1005
  msgstr ""
1006
 
1007
+ #: widgets/contact/contact.php:412
1008
  msgid "Inside"
1009
  msgstr ""
1010
 
1011
+ #: widgets/contact/contact.php:461
1012
  msgid "Max width"
1013
  msgstr ""
1014
 
1015
+ #: widgets/contact/contact.php:466, 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
1016
  msgid "Height"
1017
  msgstr ""
1018
 
1019
+ #: widgets/contact/contact.php:470
1020
  msgid "Text area height"
1021
  msgstr ""
1022
 
1023
+ #: widgets/contact/contact.php:474, widgets/hero/hero.php:100, widgets/layout-slider/layout-slider.php:72
1024
  msgid "Background"
1025
  msgstr ""
1026
 
1027
+ #: widgets/contact/contact.php:488
1028
  msgid " Border style"
1029
  msgstr ""
1030
 
1031
+ #: widgets/contact/contact.php:505, widgets/contact/contact.php:615
1032
  msgid "Border rounding"
1033
  msgstr ""
1034
 
1035
+ #: widgets/contact/contact.php:515
1036
  msgid "Field descriptions"
1037
  msgstr ""
1038
 
1039
+ #: widgets/contact/contact.php:529, widgets/contact/contact.php:676, widgets/google-map/google-map.php:321, widgets/headline/headline.php:215
1040
  msgid "Style"
1041
  msgstr ""
1042
 
1043
+ #: widgets/contact/contact.php:532
1044
  msgid "Italic"
1045
  msgstr ""
1046
 
1047
+ #: widgets/contact/contact.php:541
1048
  msgid "Error messages"
1049
  msgstr ""
1050
 
1051
+ #: widgets/contact/contact.php:545
1052
  msgid "Error background color"
1053
  msgstr ""
1054
 
1055
+ #: widgets/contact/contact.php:550
1056
  msgid "Error border color"
1057
  msgstr ""
1058
 
1059
+ #: widgets/contact/contact.php:555
1060
  msgid "Error text color"
1061
  msgstr ""
1062
 
1063
+ #: widgets/contact/contact.php:560
1064
  msgid "Error padding"
1065
  msgstr ""
1066
 
1067
+ #: widgets/contact/contact.php:565
1068
  msgid "Error margin"
1069
  msgstr ""
1070
 
1071
+ #: widgets/contact/contact.php:573
1072
  msgid "Submit button"
1073
  msgstr ""
1074
 
1075
+ #: widgets/contact/contact.php:577
1076
  msgid "Style submit button"
1077
  msgstr ""
1078
 
1079
+ #: widgets/contact/contact.php:578
1080
  msgid "Style the button or leave it with default theme styling."
1081
  msgstr ""
1082
 
1083
+ #: widgets/contact/contact.php:589
1084
  msgid "Gradient intensity"
1085
  msgstr ""
1086
 
1087
+ #: widgets/contact/contact.php:632
1088
  msgid "Font weight"
1089
  msgstr ""
1090
 
1091
+ #: widgets/contact/contact.php:636
1092
  msgid "Semi-bold"
1093
  msgstr ""
1094
 
1095
+ #: widgets/contact/contact.php:637
1096
  msgid "Bold"
1097
  msgstr ""
1098
 
1099
+ #: widgets/contact/contact.php:661
1100
  msgid "Inset highlight"
1101
  msgstr ""
1102
 
1103
+ #: widgets/contact/contact.php:662
1104
  msgid "The white highlight at the bottom of the button"
1105
  msgstr ""
1106
 
1107
+ #: widgets/contact/contact.php:672
1108
  msgid "Input focus"
1109
  msgstr ""
1110
 
1111
+ #: widgets/contact/contact.php:731
1112
  msgid "Your Name"
1113
  msgstr ""
1114
 
1115
+ #: widgets/contact/contact.php:734
1116
  msgid "Please enter your name"
1117
  msgstr ""
1118
 
1119
+ #: widgets/contact/contact.php:739
1120
  msgid "Your Email"
1121
  msgstr ""
1122
 
1123
+ #: widgets/contact/contact.php:742
1124
  msgid "Please enter a valid email address"
1125
  msgstr ""
1126
 
1127
+ #: widgets/contact/contact.php:750
1128
  msgid "Please enter a subject"
1129
  msgstr ""
1130
 
1131
+ #: widgets/contact/contact.php:755
1132
  msgid "Message"
1133
  msgstr ""
1134
 
1135
+ #: widgets/contact/contact.php:758
1136
  msgid "Please write something"
1137
  msgstr ""
1138
 
1139
+ #: widgets/contact/contact.php:795
1140
  msgid "This setting controls when the field max width will be disabled. The default value is 780px"
1141
  msgstr ""
1142
 
1143
+ #: widgets/contact/contact.php:1084
1144
  msgid "Invalid email address."
1145
  msgstr ""
1146
 
1147
+ #: widgets/contact/contact.php:1109
1148
  msgid "Invalid phone number. It should contain at least three digits."
1149
  msgstr ""
1150
 
1151
+ #: widgets/contact/contact.php:1120
1152
  msgid "Invalid number."
1153
  msgstr ""
1154
 
1155
+ #: widgets/contact/contact.php:1186
1156
  msgid "Error sending email, please try again later."
1157
  msgstr ""
1158
 
1159
+ #: widgets/contact/contact.php:1212
1160
  msgid "A valid email is required"
1161
  msgstr ""
1162
 
1163
+ #: widgets/contact/contact.php:1214
1164
  msgid "The email address is invalid"
1165
  msgstr ""
1166
 
1167
+ #: widgets/contact/contact.php:1218
1168
  msgid "Missing subject"
1169
  msgstr ""
1170
 
1171
+ #: widgets/contact/contact.php:1252
1172
  msgid "Error validating your Captcha response."
1173
  msgstr ""
1174
 
1175
+ #: widgets/contact/contact.php:1284
1176
  msgid "Unfortunately our system identified your message as spam."
1177
  msgstr ""
1178
 
1179
+ #: widgets/contact/contact.php:1292
1180
  msgctxt "The name of who sent this email"
1181
  msgid "From"
1182
  msgstr ""
1183
 
1184
+ #: widgets/contact/contact.php:1392
1185
  msgid "Add a form autoresponder and additional fields, including a date and time picker with %sSiteOrigin Premium%s"
1186
  msgstr ""
1187
 
1188
+ #: widgets/contact/contact.php:1397
1189
  msgid "Use Google Fonts right inside the Contact Form Widget with %sSiteOrigin Premium%s"
1190
  msgstr ""
1191
 
2080
  msgid "Add Hero frame content animation effects with %sSiteOrigin Premium%s"
2081
  msgstr ""
2082
 
2083
+ #: widgets/hero/hero.php:587, widgets/layout-slider/layout-slider.php:482, widgets/slider/slider.php:368
2084
  msgid "Add parallax and fixed background images with %sSiteOrigin Premium%s"
2085
  msgstr ""
2086
 
2160
  msgid "Rel"
2161
  msgstr ""
2162
 
2163
+ #: widgets/image/image.php:272, widgets/image-grid/image-grid.php:305, widgets/simple-masonry/simple-masonry.php:310, widgets/slider/slider.php:353
2164
  msgid "Add a Lightbox to your images with %sSiteOrigin Premium%s"
2165
  msgstr ""
2166
 
2167
+ #: widgets/image/image.php:277, widgets/image-grid/image-grid.php:310, widgets/simple-masonry/simple-masonry.php:315, widgets/slider/slider.php:358
2168
  msgid "Add a beautiful and customizable text overlay with animations to your images with %sSiteOrigin Premium%s"
2169
  msgstr ""
2170
 
2548
  msgid "SiteOrigin Slider"
2549
  msgstr ""
2550
 
 
 
 
 
2551
  #: widgets/slider/slider.php:103
2552
  msgid "Foreground image"
2553
  msgstr ""
2560
  msgid "Responsive Height"
2561
  msgstr ""
2562
 
2563
+ #: widgets/slider/slider.php:363
2564
  msgid "Add multiple Slider frames in one go with %sSiteOrigin Premium%s"
2565
  msgstr ""
2566
 
2588
  msgid "Select network"
2589
  msgstr ""
2590
 
2591
+ #: widgets/social-media-buttons/social-media-buttons.php:92
2592
+ msgid "Design and Layout"
2593
+ msgstr ""
2594
+
2595
  #: widgets/social-media-buttons/social-media-buttons.php:160
2596
  msgid "Mobile Align"
2597
  msgstr ""
readme.txt CHANGED
@@ -3,8 +3,8 @@ Tags: widget, button, slider, hero, google maps, image, carousel, features, icon
3
  Requires at least: 4.2
4
  Tested up to: 5.8
5
  Requires PHP: 5.6.20
6
- Stable tag: 1.28.0
7
- Build time: 2021-12-26T17:41:53+02:00
8
  License: GPLv3 or later
9
  Contributors: gpriday, braam-genis, alexgso
10
  Donate link: https://siteorigin.com/downloads/premium/
@@ -100,6 +100,12 @@ The Widgets Bundle global interface is available at Plugins > SiteOrigin Widgets
100
 
101
  == Changelog ==
102
 
 
 
 
 
 
 
103
  = 1.28.0 - 26 December 2021 =
104
  * Accordion: Set closed panels to hidden prior to loading.
105
  * Anything Carousel: Added a new Animation setting. Choose between Ease or Linear.
3
  Requires at least: 4.2
4
  Tested up to: 5.8
5
  Requires PHP: 5.6.20
6
+ Stable tag: 1.29.0
7
+ Build time: 2022-01-15T13:04:06+02:00
8
  License: GPLv3 or later
9
  Contributors: gpriday, braam-genis, alexgso
10
  Donate link: https://siteorigin.com/downloads/premium/
100
 
101
  == Changelog ==
102
 
103
+ = 1.29.0 - 15 January 2022 =
104
+ * Accordion/Tabs: Removed the Border Radius setting dependency on Border Width.
105
+ * Contact Form: Added a new `Enabled` setting to checkbox options.
106
+ * Sliders: Disabled `loading` override when the AMP plugin is active.
107
+ * Widget Block: Excluded Post Carousel from caching.
108
+
109
  = 1.28.0 - 26 December 2021 =
110
  * Accordion: Set closed panels to hidden prior to loading.
111
  * Anything Carousel: Added a new Animation setting. Choose between Ease or Linear.
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.28.0
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.28.0');
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.29.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.29.0');
16
  define('SOW_BUNDLE_BASE_FILE', __FILE__);
17
 
18
  // Allow JS suffix to be pre-set
widgets/accordion/accordion.php CHANGED
@@ -24,7 +24,7 @@ class SiteOrigin_Widget_Accordion_Widget extends SiteOrigin_Widget {
24
  }
25
 
26
  /**
27
- * Initialize the accordion widget.
28
  */
29
  function initialize() {
30
  $this->register_frontend_scripts(
@@ -64,7 +64,7 @@ class SiteOrigin_Widget_Accordion_Widget extends SiteOrigin_Widget {
64
  }
65
 
66
  function get_widget_form() {
67
-
68
  return array(
69
  'title' => array(
70
  'type' => 'text',
@@ -181,7 +181,7 @@ class SiteOrigin_Widget_Accordion_Widget extends SiteOrigin_Widget {
181
  ),
182
  );
183
  }
184
-
185
  public function get_less_variables( $instance ) {
186
  if ( empty( $instance['design'] ) ) {
187
  return array();
@@ -225,11 +225,11 @@ class SiteOrigin_Widget_Accordion_Widget extends SiteOrigin_Widget {
225
  $id = $this->id_base;
226
  if ( ! empty( $instance['_sow_form_id'] ) ) {
227
  $id .= '-' . $instance['_sow_form_id'];
228
- } else if ( ! empty( $args['widget_id'] ) ) {
229
  $id .= '-' . $args['widget_id'];
230
  }
231
  $panel['anchor'] = $id . '-' . $i;
232
- } else if ( isset( $anchor_list[ strtolower( $panel['title'] ) ] ) ) {
233
  // Ensure this anchor is unique, if it's not, append the array key to the anchor.
234
  $panel['anchor'] = $panel['title'] . "-$i-" . uniqid();
235
  } else {
@@ -254,7 +254,7 @@ class SiteOrigin_Widget_Accordion_Widget extends SiteOrigin_Widget {
254
  'icon_close' => $instance['design']['heading']['icon_close'],
255
  );
256
  }
257
-
258
  public function render_panel_content( $panel, $instance ) {
259
  $content = $panel['autop'] ? wpautop( $panel['content_text'] ) : $panel['content_text'];
260
 
24
  }
25
 
26
  /**
27
+ * Initialize the Accordion Widget.
28
  */
29
  function initialize() {
30
  $this->register_frontend_scripts(
64
  }
65
 
66
  function get_widget_form() {
67
+
68
  return array(
69
  'title' => array(
70
  'type' => 'text',
181
  ),
182
  );
183
  }
184
+
185
  public function get_less_variables( $instance ) {
186
  if ( empty( $instance['design'] ) ) {
187
  return array();
225
  $id = $this->id_base;
226
  if ( ! empty( $instance['_sow_form_id'] ) ) {
227
  $id .= '-' . $instance['_sow_form_id'];
228
+ } elseif ( ! empty( $args['widget_id'] ) ) {
229
  $id .= '-' . $args['widget_id'];
230
  }
231
  $panel['anchor'] = $id . '-' . $i;
232
+ } elseif ( isset( $anchor_list[ strtolower( $panel['title'] ) ] ) ) {
233
  // Ensure this anchor is unique, if it's not, append the array key to the anchor.
234
  $panel['anchor'] = $panel['title'] . "-$i-" . uniqid();
235
  } else {
254
  'icon_close' => $instance['design']['heading']['icon_close'],
255
  );
256
  }
257
+
258
  public function render_panel_content( $panel, $instance ) {
259
  $content = $panel['autop'] ? wpautop( $panel['content_text'] ) : $panel['content_text'];
260
 
widgets/accordion/styles/default.less CHANGED
@@ -30,30 +30,34 @@
30
  @panels_margin_bottom: 10px;
31
 
32
  .sow-accordion {
 
33
  .sow-accordion-panel {
 
34
  .sow-accordion-panel-header {
35
- position: relative;
36
- cursor: pointer;
37
- padding: @heading_padding;
38
  background-color: @heading_background_color;
 
39
  color: @title_color;
 
 
40
  font-family: @heading_title_font_family;
41
- font-weight: @heading_title_font_weight;
42
  font-size: @heading_title_font_size;
 
 
 
43
  text-transform: @heading_title_text_transform;
44
- display: flex;
45
  & when ( @open_close_location = right ) {
46
  flex-direction: row;
47
  }
 
48
  & when ( @open_close_location = left ) {
49
  flex-direction: row-reverse;
50
  }
51
 
52
  & when( @has_heading_border_width = true ) {
53
- border-style: solid;
54
  border-color: @heading_border_color;
 
55
  border-width: @heading_border_width;
56
- border-radius: @heading_border_radius;
57
  }
58
 
59
  &:hover {
@@ -61,7 +65,7 @@
61
  color: @title_hover_color;
62
  border-color: @heading_border_hover_color;
63
  }
64
-
65
  &:focus {
66
  outline: 1px dotted #666;
67
  outline: auto 5px -webkit-focus-ring-color;
@@ -73,7 +77,7 @@
73
  & when ( @heading_title_align = center ) {
74
  justify-content: center;
75
  }
76
-
77
  & when ( @heading_title_align = right ) {
78
  justify-content: flex-end;
79
  }
@@ -106,30 +110,35 @@
106
  margin-left: 5px;
107
  }
108
  }
 
109
  &:not(.sow-accordion-panel-open) > .sow-accordion-panel-header-container > .sow-accordion-panel-header {
110
  .sow-accordion-close-button {
111
  display: none;
112
  }
113
  }
 
114
  &.sow-accordion-panel-open > .sow-accordion-panel-header-container > .sow-accordion-panel-header {
115
  .sow-accordion-open-button {
116
  display: none;
117
  }
118
  }
 
119
  .sow-accordion-panel-content {
 
120
  .sow-accordion-panel-border {
121
  background-color: @panels_background_color;
 
122
  & when ( @has_panels_border_width = true ) {
123
- border-style: solid;
124
  border-color: @panels_border_color;
 
125
  border-width: @panels_border_width;
126
- border-radius: @panels_border_radius;
127
  }
128
- padding: @panels_padding;
129
  color: @panels_font_color;
130
  font-family: @panels_font_family;
131
  font-size: @panels_font_size;
132
  overflow: auto;
 
 
133
  &:focus {
134
  outline: 1px dotted #666;
135
  outline: auto 5px -webkit-focus-ring-color;
30
  @panels_margin_bottom: 10px;
31
 
32
  .sow-accordion {
33
+
34
  .sow-accordion-panel {
35
+
36
  .sow-accordion-panel-header {
 
 
 
37
  background-color: @heading_background_color;
38
+ border-radius: @heading_border_radius;
39
  color: @title_color;
40
+ cursor: pointer;
41
+ display: flex;
42
  font-family: @heading_title_font_family;
 
43
  font-size: @heading_title_font_size;
44
+ font-weight: @heading_title_font_weight;
45
+ padding: @heading_padding;
46
+ position: relative;
47
  text-transform: @heading_title_text_transform;
48
+
49
  & when ( @open_close_location = right ) {
50
  flex-direction: row;
51
  }
52
+
53
  & when ( @open_close_location = left ) {
54
  flex-direction: row-reverse;
55
  }
56
 
57
  & when( @has_heading_border_width = true ) {
 
58
  border-color: @heading_border_color;
59
+ border-style: solid;
60
  border-width: @heading_border_width;
 
61
  }
62
 
63
  &:hover {
65
  color: @title_hover_color;
66
  border-color: @heading_border_hover_color;
67
  }
68
+
69
  &:focus {
70
  outline: 1px dotted #666;
71
  outline: auto 5px -webkit-focus-ring-color;
77
  & when ( @heading_title_align = center ) {
78
  justify-content: center;
79
  }
80
+
81
  & when ( @heading_title_align = right ) {
82
  justify-content: flex-end;
83
  }
110
  margin-left: 5px;
111
  }
112
  }
113
+
114
  &:not(.sow-accordion-panel-open) > .sow-accordion-panel-header-container > .sow-accordion-panel-header {
115
  .sow-accordion-close-button {
116
  display: none;
117
  }
118
  }
119
+
120
  &.sow-accordion-panel-open > .sow-accordion-panel-header-container > .sow-accordion-panel-header {
121
  .sow-accordion-open-button {
122
  display: none;
123
  }
124
  }
125
+
126
  .sow-accordion-panel-content {
127
+
128
  .sow-accordion-panel-border {
129
  background-color: @panels_background_color;
130
+ border-radius: @panels_border_radius;
131
  & when ( @has_panels_border_width = true ) {
 
132
  border-color: @panels_border_color;
133
+ border-style: solid;
134
  border-width: @panels_border_width;
 
135
  }
 
136
  color: @panels_font_color;
137
  font-family: @panels_font_family;
138
  font-size: @panels_font_size;
139
  overflow: auto;
140
+ padding: @panels_padding;
141
+
142
  &:focus {
143
  outline: 1px dotted #666;
144
  outline: auto 5px -webkit-focus-ring-color;
widgets/contact/contact.php CHANGED
@@ -203,6 +203,14 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
203
  'type' => 'text',
204
  'label' => __( 'Value', 'so-widgets-bundle' ),
205
  ),
 
 
 
 
 
 
 
 
206
  ),
207
 
208
  // These are only required for a few states
203
  'type' => 'text',
204
  'label' => __( 'Value', 'so-widgets-bundle' ),
205
  ),
206
+ 'default' => array(
207
+ 'type' => 'checkbox',
208
+ 'label' => __( 'Enabled', 'so-widgets-bundle' ),
209
+ 'state_handler' => array(
210
+ 'field_type_{$repeater}[checkboxes]' => array( 'show' ),
211
+ '_else[field_type_{$repeater}]' => array( 'hide' ),
212
+ ),
213
+ ),
214
  ),
215
 
216
  // These are only required for a few states
widgets/contact/fields/checkboxes.class.php CHANGED
@@ -10,8 +10,17 @@ class SiteOrigin_Widget_ContactForm_Field_Checkboxes extends SiteOrigin_Widget_C
10
  ?>
11
  <ul>
12
  <?php foreach ( $options['field']['options'] as $i => $option ): ?>
 
 
 
13
  <li>
14
- <input type="checkbox" value="<?php echo esc_attr( $option['value'] ) ?>" name="<?php echo esc_attr( $options['field_name'] ) ?>[]" id="<?php echo esc_attr( $options['field_id'] ) . '-' . $i ?>"<?php echo checked( in_array( $option['value'], $options['value'] ), true, false ) ?>/>
 
 
 
 
 
 
15
  <label for="<?php echo esc_attr( $options['field_id'] ) . '-' . $i ?>">
16
  <?php echo wp_kses_post( $option['value'] ); ?>
17
  </label>
10
  ?>
11
  <ul>
12
  <?php foreach ( $options['field']['options'] as $i => $option ): ?>
13
+ <?php
14
+ $is_checked = in_array( $option['value'], $options['value'] ) || ( isset( $option['default'] ) && $option['default'] );
15
+ ?>
16
  <li>
17
+ <input
18
+ type="checkbox"
19
+ value="<?php echo esc_attr( $option['value'] ) ?>"
20
+ name="<?php echo esc_attr( $options['field_name'] ) ?>[]"
21
+ id="<?php echo esc_attr( $options['field_id'] ) . '-' . $i ?>"
22
+ <?php echo checked( $is_checked, true, false ) ?>
23
+ />
24
  <label for="<?php echo esc_attr( $options['field_id'] ) . '-' . $i ?>">
25
  <?php echo wp_kses_post( $option['value'] ); ?>
26
  </label>
widgets/slider/slider.php CHANGED
@@ -7,7 +7,7 @@ Author URI: https://siteorigin.com
7
  Documentation: https://siteorigin.com/widgets-bundle/slider-widget-documentation/
8
  */
9
 
10
- if( !class_exists( 'SiteOrigin_Widget_Base_Slider' ) ) include_once plugin_dir_path(SOW_BUNDLE_BASE_FILE) . '/base/inc/widgets/base-slider.class.php';
11
 
12
  class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
13
  function __construct() {
@@ -27,7 +27,7 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
27
  );
28
  }
29
 
30
- function get_widget_form(){
31
  return parent::widget_form( array(
32
  'frames' => array(
33
  'type' => 'repeater',
@@ -57,8 +57,8 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
57
  'fields' => array(
58
  'background_videos' => array(
59
  'type' => 'repeater',
60
- 'item_name' => __('Video', 'so-widgets-bundle'),
61
- 'label' => __('Background videos', 'so-widgets-bundle'),
62
  'item_label' => array(
63
  'selectorArray' => array(
64
  array(
@@ -78,21 +78,21 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
78
  'background_image' => array(
79
  'type' => 'media',
80
  'library' => 'image',
81
- 'label' => __('Background image', 'so-widgets-bundle'),
82
  'fallback' => true,
83
  ),
84
 
85
  'background_color' => array(
86
  'type' => 'color',
87
- 'label' => __('Background Color', 'so-widgets-bundle'),
88
  ),
89
 
90
  'background_image_type' => array(
91
  'type' => 'select',
92
- 'label' => __('Background image type', 'so-widgets-bundle'),
93
  'options' => array(
94
- 'cover' => __('Cover', 'so-widgets-bundle'),
95
- 'tile' => __('Tile', 'so-widgets-bundle'),
96
  ),
97
  'default' => 'cover',
98
  ),
@@ -100,7 +100,7 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
100
  'foreground_image' => array(
101
  'type' => 'media',
102
  'library' => 'image',
103
- 'label' => __('Foreground image', 'so-widgets-bundle'),
104
  'fallback' => true,
105
  'state_emitter' => array(
106
  'callback' => 'conditional',
@@ -113,25 +113,25 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
113
 
114
  'url' => array(
115
  'type' => 'link',
116
- 'label' => __('Destination URL', 'so-widgets-bundle'),
117
  ),
118
 
119
  'new_window' => array(
120
  'type' => 'checkbox',
121
- 'label' => __('Open in new window', 'so-widgets-bundle'),
122
  'default' => false,
123
  ),
124
  ),
125
  ),
126
  'controls' => array(
127
  'type' => 'section',
128
- 'label' => __('Controls', 'so-widgets-bundle'),
129
  'fields' => $this->control_form_fields()
130
  ),
131
 
132
  'design' => array(
133
  'type' => 'section',
134
- 'label' => __('Design', 'so-widgets-bundle'),
135
  'state_handler' => array(
136
  'show_height[show]' => array( 'show' ),
137
  'show_height[hide]' => array( 'hide' ),
@@ -152,16 +152,16 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
152
  ) );
153
  }
154
 
155
- function get_frame_background( $i, $frame ){
156
  $background_image = siteorigin_widgets_get_attachment_image_src(
157
  $frame['background_image'],
158
  'full',
159
- !empty( $frame['background_image_fallback'] ) ? $frame['background_image_fallback'] : ''
160
  );
161
 
162
  return array(
163
- 'color' => !empty( $frame['background_color'] ) ? $frame['background_color'] : false,
164
- 'image' => !empty( $background_image ) ? $background_image[0] : false,
165
  'image-width' => !empty( $background_image[1] ) ? $background_image[1] : 0,
166
  'image-height' => !empty( $background_image[2] ) ? $background_image[2] : 0,
167
  'image-sizing' => $frame['background_image_type'],
@@ -175,10 +175,10 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
175
 
176
  function render_frame_contents($i, $frame) {
177
 
178
- // Clear out any empty background videos
179
- if( !empty($frame['background_videos']) && is_array($frame['background_videos']) ){
180
- for( $i = 0; $i < count($frame['background_videos']); $i++ ){
181
- if( empty( $frame['background_videos'][$i]['file'] ) && empty($frame['background_videos'][$i]['url']) ) {
182
  unset($frame['background_videos'][$i]);
183
  }
184
  }
@@ -187,10 +187,10 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
187
  $foreground_src = siteorigin_widgets_get_attachment_image_src(
188
  $frame['foreground_image'],
189
  'full',
190
- !empty( $frame['foreground_image_fallback'] ) ? $frame['foreground_image_fallback'] : ''
191
  );
192
 
193
- if( !empty($foreground_src) ) {
194
  // If a custom height is set, build the foreground style attribute.
195
  if ( ! empty( $frame['custom_height'] ) ) {
196
  $foreground_style_attr = 'height: ' . intval( $frame['custom_height'] ) . 'px; width: auto;';
@@ -201,7 +201,7 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
201
  }
202
  ?>
203
  <div class="sow-slider-image-container">
204
- <div class="sow-slider-image-wrapper" style="<?php if( ! empty( $foreground_src[1] ) ) echo 'max-width: ' . (int) $foreground_src[1] . 'px'; ?>">
205
  <?php if ( ! empty( $frame['url'] ) ) : ?>
206
  <a href="<?php echo sow_esc_url( $frame['url'] ) ?>"
207
  <?php foreach( $frame['link_attributes'] as $att => $val ) : ?>
@@ -216,10 +216,12 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
216
  $frame['foreground_image'],
217
  'full',
218
  ! empty( $frame['foreground_image_fallback'] ) ? $frame['foreground_image_fallback'] : '',
219
- array(
220
- 'class' => 'sow-slider-foreground-image skip-lazy',
221
- 'loading' => 'eager',
222
- 'style' => ! empty( $foreground_style_attr ) ? $foreground_style_attr : '',
 
 
223
  )
224
  );
225
  ?>
@@ -231,11 +233,11 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
231
  </div>
232
  <?php
233
  }
234
- else if( empty($frame['background_videos']) ) {
235
  ?>
236
  <?php if ( ! empty( $frame['url'] ) ) : ?>
237
  <a href="<?php echo sow_esc_url( $frame['url'] ) ?>"
238
- <?php foreach( $frame['link_attributes'] as $att => $val ) : ?>
239
  <?php if ( ! empty( $val ) ) : ?>
240
  <?php echo $att . '="' . esc_attr( $val ) . '" '; ?>
241
  <?php endif; ?>
@@ -243,14 +245,16 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
243
  <?php endif; ?>
244
  <?php
245
 
246
- // Lets use the background image
247
  echo siteorigin_widgets_get_attachment_image(
248
  $frame['background_image'],
249
  'full',
250
- !empty( $frame['background_image_fallback'] ) ? $frame['background_image_fallback'] : '',
251
- array(
252
- 'class' => 'sow-slider-background-image skip-lazy',
253
- 'loading' => 'eager',
 
 
254
  )
255
  );
256
 
@@ -284,17 +288,17 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
284
  }
285
 
286
  /**
287
- * The less variables to control the design of the slider
288
  *
289
  * @param $instance
290
  *
291
  * @return array
292
  */
293
- function get_less_variables($instance) {
294
  $less = array();
295
 
296
- if( !empty($instance['controls']['nav_color_hex']) ) $less['nav_color_hex'] = $instance['controls']['nav_color_hex'];
297
- if( !empty($instance['controls']['nav_size']) ) $less['nav_size'] = $instance['controls']['nav_size'];
298
 
299
  $less['slide_height'] = ! empty( $instance['design']['height'] ) ? $instance['design']['height'] : false;
300
  $less['slide_height_responsive'] = ! empty( $instance['design']['height_responsive'] ) ? $instance['design']['height_responsive'] : false;
@@ -314,8 +318,8 @@ class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
314
  *
315
  * @return mixed
316
  */
317
- function modify_instance( $instance ){
318
- if( empty($instance['controls']) ) {
319
  if ( ! empty( $instance['speed'] ) ) {
320
  $instance['controls']['speed'] = $instance['speed'];
321
  unset($instance['speed']);
7
  Documentation: https://siteorigin.com/widgets-bundle/slider-widget-documentation/
8
  */
9
 
10
+ if ( ! class_exists( 'SiteOrigin_Widget_Base_Slider' ) ) include_once plugin_dir_path(SOW_BUNDLE_BASE_FILE) . '/base/inc/widgets/base-slider.class.php';
11
 
12
  class SiteOrigin_Widget_Slider_Widget extends SiteOrigin_Widget_Base_Slider {
13
  function __construct() {
27
  );
28
  }
29
 
30
+ function get_widget_form() {
31
  return parent::widget_form( array(
32
  'frames' => array(
33
  'type' => 'repeater',
57
  'fields' => array(
58
  'background_videos' => array(
59
  'type' => 'repeater',
60
+ 'item_name' => __( 'Video', 'so-widgets-bundle' ),
61
+ 'label' => __( 'Background videos', 'so-widgets-bundle' ),
62
  'item_label' => array(
63
  'selectorArray' => array(
64
  array(
78
  'background_image' => array(
79
  'type' => 'media',
80
  'library' => 'image',
81
+ 'label' => __( 'Background image', 'so-widgets-bundle' ),
82
  'fallback' => true,
83
  ),
84
 
85
  'background_color' => array(
86
  'type' => 'color',
87
+ 'label' => __( 'Background color', 'so-widgets-bundle' ),
88
  ),
89
 
90
  'background_image_type' => array(
91
  'type' => 'select',
92
+ 'label' => __( 'Background image type', 'so-widgets-bundle' ),
93
  'options' => array(
94
+ 'cover' => __( 'Cover', 'so-widgets-bundle' ),
95
+ 'tile' => __( 'Tile', 'so-widgets-bundle' ),
96
  ),
97
  'default' => 'cover',
98
  ),
100
  'foreground_image' => array(
101
  'type' => 'media',
102
  'library' => 'image',
103
+ 'label' => __( 'Foreground image', 'so-widgets-bundle' ),
104
  'fallback' => true,
105
  'state_emitter' => array(
106
  'callback' => 'conditional',
113
 
114
  'url' => array(
115
  'type' => 'link',
116
+ 'label' => __( 'Destination URL', 'so-widgets-bundle' ),
117
  ),
118
 
119
  'new_window' => array(
120
  'type' => 'checkbox',
121
+ 'label' => __( 'Open in new window', 'so-widgets-bundle' ),
122
  'default' => false,
123
  ),
124
  ),
125
  ),
126
  'controls' => array(
127
  'type' => 'section',
128
+ 'label' => __( 'Controls', 'so-widgets-bundle' ),
129
  'fields' => $this->control_form_fields()
130
  ),
131
 
132
  'design' => array(
133
  'type' => 'section',
134
+ 'label' => __( 'Design', 'so-widgets-bundle' ),
135
  'state_handler' => array(
136
  'show_height[show]' => array( 'show' ),
137
  'show_height[hide]' => array( 'hide' ),
152
  ) );
153
  }
154
 
155
+ function get_frame_background( $i, $frame ) {
156
  $background_image = siteorigin_widgets_get_attachment_image_src(
157
  $frame['background_image'],
158
  'full',
159
+ ! empty( $frame['background_image_fallback'] ) ? $frame['background_image_fallback'] : ''
160
  );
161
 
162
  return array(
163
+ 'color' => ! empty( $frame['background_color'] ) ? $frame['background_color'] : false,
164
+ 'image' => ! empty( $background_image ) ? $background_image[0] : false,
165
  'image-width' => !empty( $background_image[1] ) ? $background_image[1] : 0,
166
  'image-height' => !empty( $background_image[2] ) ? $background_image[2] : 0,
167
  'image-sizing' => $frame['background_image_type'],
175
 
176
  function render_frame_contents($i, $frame) {
177
 
178
+ // Clear out any empty background videos.
179
+ if ( ! empty($frame['background_videos']) && is_array( $frame['background_videos'] ) ) {
180
+ for( $i = 0; $i < count($frame['background_videos']); $i++ ) {
181
+ if ( empty( $frame['background_videos'][$i]['file'] ) && empty($frame['background_videos'][$i]['url']) ) {
182
  unset($frame['background_videos'][$i]);
183
  }
184
  }
187
  $foreground_src = siteorigin_widgets_get_attachment_image_src(
188
  $frame['foreground_image'],
189
  'full',
190
+ ! empty( $frame['foreground_image_fallback'] ) ? $frame['foreground_image_fallback'] : ''
191
  );
192
 
193
+ if ( ! empty( $foreground_src ) ) {
194
  // If a custom height is set, build the foreground style attribute.
195
  if ( ! empty( $frame['custom_height'] ) ) {
196
  $foreground_style_attr = 'height: ' . intval( $frame['custom_height'] ) . 'px; width: auto;';
201
  }
202
  ?>
203
  <div class="sow-slider-image-container">
204
+ <div class="sow-slider-image-wrapper" style="<?php if ( ! empty( $foreground_src[1] ) ) echo 'max-width: ' . (int) $foreground_src[1] . 'px'; ?>">
205
  <?php if ( ! empty( $frame['url'] ) ) : ?>
206
  <a href="<?php echo sow_esc_url( $frame['url'] ) ?>"
207
  <?php foreach( $frame['link_attributes'] as $att => $val ) : ?>
216
  $frame['foreground_image'],
217
  'full',
218
  ! empty( $frame['foreground_image_fallback'] ) ? $frame['foreground_image_fallback'] : '',
219
+ apply_filters( 'siteorigin_widgets_slider_attr',
220
+ array(
221
+ 'class' => 'sow-slider-foreground-image skip-lazy',
222
+ 'loading' => apply_filters( 'siteorigin_widgets_slider_loading_attr', 'eager' ),
223
+ 'style' => ! empty( $foreground_style_attr ) ? $foreground_style_attr : '',
224
+ )
225
  )
226
  );
227
  ?>
233
  </div>
234
  <?php
235
  }
236
+ elseif ( empty($frame['background_videos']) ) {
237
  ?>
238
  <?php if ( ! empty( $frame['url'] ) ) : ?>
239
  <a href="<?php echo sow_esc_url( $frame['url'] ) ?>"
240
+ <?php foreach ( $frame['link_attributes'] as $att => $val ) : ?>
241
  <?php if ( ! empty( $val ) ) : ?>
242
  <?php echo $att . '="' . esc_attr( $val ) . '" '; ?>
243
  <?php endif; ?>
245
  <?php endif; ?>
246
  <?php
247
 
248
+ // Lets use the background image.
249
  echo siteorigin_widgets_get_attachment_image(
250
  $frame['background_image'],
251
  'full',
252
+ ! empty( $frame['background_image_fallback'] ) ? $frame['background_image_fallback'] : '',
253
+ apply_filters( 'siteorigin_widgets_slider_attr',
254
+ array(
255
+ 'class' => 'sow-slider-background-image skip-lazy',
256
+ 'loading' => 'eager',
257
+ )
258
  )
259
  );
260
 
288
  }
289
 
290
  /**
291
+ * The less variables to control the design of the slider.
292
  *
293
  * @param $instance
294
  *
295
  * @return array
296
  */
297
+ function get_less_variables( $instance ) {
298
  $less = array();
299
 
300
+ if ( !empty($instance['controls']['nav_color_hex']) ) $less['nav_color_hex'] = $instance['controls']['nav_color_hex'];
301
+ if ( !empty($instance['controls']['nav_size']) ) $less['nav_size'] = $instance['controls']['nav_size'];
302
 
303
  $less['slide_height'] = ! empty( $instance['design']['height'] ) ? $instance['design']['height'] : false;
304
  $less['slide_height_responsive'] = ! empty( $instance['design']['height_responsive'] ) ? $instance['design']['height_responsive'] : false;
318
  *
319
  * @return mixed
320
  */
321
+ function modify_instance( $instance ) {
322
+ if ( empty($instance['controls']) ) {
323
  if ( ! empty( $instance['speed'] ) ) {
324
  $instance['controls']['speed'] = $instance['speed'];
325
  unset($instance['speed']);
widgets/social-media-buttons/social-media-buttons.php CHANGED
@@ -37,9 +37,9 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
37
  );
38
  }
39
 
40
- function get_widget_form(){
41
 
42
- if( empty( $this->networks ) ) {
43
  $this->networks = include plugin_dir_path( __FILE__ ) . 'data/networks.php';
44
  }
45
 
@@ -89,7 +89,7 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
89
  ),
90
  'design' => array(
91
  'type' => 'section',
92
- 'label' => __( 'Design and layout', 'so-widgets-bundle' ),
93
  'hide' => true,
94
  'fields' => array(
95
  'new_window' => array(
@@ -206,7 +206,7 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
206
  }
207
 
208
  function get_javascript_variables() {
209
- if( empty( $this->networks ) ) {
210
  $this->networks = include plugin_dir_path( __FILE__ ) . 'data/networks.php';
211
  }
212
 
@@ -231,7 +231,7 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
231
  }
232
 
233
  function get_less_variables( $instance ) {
234
- if( empty( $instance ) ) return;
235
 
236
  $design = $instance['design'];
237
  $m = $design['margin'];
@@ -314,11 +314,11 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
314
  *
315
  * @return array
316
  */
317
- protected function get_style_hash_variables( $instance ){
318
- $networks = $this->get_instance_networks($instance);
319
 
320
- foreach($networks as $i => $network) {
321
- // URL is not important for the styling
322
  unset($networks[$i]['url']);
323
  }
324
 
@@ -328,8 +328,8 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
328
  );
329
  }
330
 
331
- function get_form_teaser(){
332
- if( class_exists( 'SiteOrigin_Premium' ) ) return false;
333
 
334
  return sprintf(
335
  __( 'Add custom social networks with %sSiteOrigin Premium%s', 'so-widgets-bundle' ),
37
  );
38
  }
39
 
40
+ function get_widget_form() {
41
 
42
+ if ( empty( $this->networks ) ) {
43
  $this->networks = include plugin_dir_path( __FILE__ ) . 'data/networks.php';
44
  }
45
 
89
  ),
90
  'design' => array(
91
  'type' => 'section',
92
+ 'label' => __( 'Design and Layout', 'so-widgets-bundle' ),
93
  'hide' => true,
94
  'fields' => array(
95
  'new_window' => array(
206
  }
207
 
208
  function get_javascript_variables() {
209
+ if ( empty( $this->networks ) ) {
210
  $this->networks = include plugin_dir_path( __FILE__ ) . 'data/networks.php';
211
  }
212
 
231
  }
232
 
233
  function get_less_variables( $instance ) {
234
+ if ( empty( $instance ) ) return;
235
 
236
  $design = $instance['design'];
237
  $m = $design['margin'];
314
  *
315
  * @return array
316
  */
317
+ protected function get_style_hash_variables( $instance ) {
318
+ $networks = $this->get_instance_networks( $instance );
319
 
320
+ foreach ( $networks as $i => $network ) {
321
+ // URL is not important for the styling.
322
  unset($networks[$i]['url']);
323
  }
324
 
328
  );
329
  }
330
 
331
+ function get_form_teaser() {
332
+ if ( class_exists( 'SiteOrigin_Premium' ) ) return false;
333
 
334
  return sprintf(
335
  __( 'Add custom social networks with %sSiteOrigin Premium%s', 'so-widgets-bundle' ),
widgets/tabs/styles/default.less CHANGED
@@ -38,10 +38,12 @@
38
  @panels_padding: 30px 30px 30px 35px;
39
 
40
  .sow-tabs {
 
41
  .sow-tabs-tab-container {
42
  background-color: @tabs_container_background_color;
43
- padding: @tabs_container_padding;
44
  display: flex;
 
45
 
46
  & when ( @tabs_container_tabs_position = top ), ( @tabs_container_tabs_position = bottom ) {
47
  flex-wrap: wrap;
@@ -65,42 +67,41 @@
65
 
66
  //noinspection CssOptimizeSimilarProperties
67
  & when ( @has_tabs_container_border_width = true ) {
68
- border-style: solid;
69
  border-color: @tabs_container_border_color;
 
70
  border-width: @tabs_container_border_width;
71
- border-radius: @tabs_container_border_radius;
72
  }
73
 
74
  .sow-tabs-tab {
75
- display: inline-block;
76
- cursor: pointer;
77
  background-color: @tabs_background_color;
78
- padding: @tabs_padding;
79
- margin: @tabs_margin;
80
  color: @tabs_title_color;
 
 
81
  font-family: @tabs_font_family;
82
- font-weight: @tabs_font_weight;
83
  font-size: @tabs_font_size;
 
 
 
84
  transition: all 0.3s;
85
 
86
  //noinspection CssOptimizeSimilarProperties
87
  & when ( @has_tabs_border_width = true ) {
88
- border-style: solid;
89
  border-color: @tabs_border_color;
 
90
  border-width: @tabs_border_width;
91
- border-radius: @tabs_border_radius;
92
  }
93
 
94
  &.sow-tabs-tab-selected, &:hover {
95
  background-color: @tabs_background_hover_color;
 
96
  color: @tabs_title_hover_color;
97
 
98
  //noinspection CssOptimizeSimilarProperties
99
  & when ( @has_tabs_border_hover_width = true ) {
100
- border-style: solid;
101
  border-color: @tabs_border_hover_color;
 
102
  border-width: @tabs_border_hover_width;
103
- border-radius: @tabs_border_radius;
104
  }
105
  }
106
 
@@ -128,20 +129,21 @@
128
  }
129
 
130
  .sow-tabs-panel-container {
131
- position: relative;
132
  background-color: @panels_background_color;
133
  color: @panels_font_color;
 
134
 
135
  //noinspection CssOptimizeSimilarProperties
136
  & when( @has_panels_border_width = true ) {
 
137
  border-style: solid;
138
  border-width: @panels_border_width;
139
- border-color: @panels_border_color;
140
- border-radius: @panels_border_radius;
141
  }
142
 
143
  .sow-tabs-panel {
144
  padding: @panels_padding;
 
145
  .sow-tabs-panel-content {
146
  font-family: @panels_font_family;
147
  font-weight: @panels_font_weight;
@@ -155,7 +157,7 @@
155
  }
156
 
157
  & when ( @tabs_container_tabs_position = bottom ) {
158
- flex-direction: column-reverse;
159
  }
160
 
161
 
38
  @panels_padding: 30px 30px 30px 35px;
39
 
40
  .sow-tabs {
41
+
42
  .sow-tabs-tab-container {
43
  background-color: @tabs_container_background_color;
44
+ border-radius: @tabs_container_border_radius;
45
  display: flex;
46
+ padding: @tabs_container_padding;
47
 
48
  & when ( @tabs_container_tabs_position = top ), ( @tabs_container_tabs_position = bottom ) {
49
  flex-wrap: wrap;
67
 
68
  //noinspection CssOptimizeSimilarProperties
69
  & when ( @has_tabs_container_border_width = true ) {
 
70
  border-color: @tabs_container_border_color;
71
+ border-style: solid;
72
  border-width: @tabs_container_border_width;
 
73
  }
74
 
75
  .sow-tabs-tab {
 
 
76
  background-color: @tabs_background_color;
77
+ border-radius: @tabs_border_radius;
 
78
  color: @tabs_title_color;
79
+ cursor: pointer;
80
+ display: inline-block;
81
  font-family: @tabs_font_family;
 
82
  font-size: @tabs_font_size;
83
+ font-weight: @tabs_font_weight;
84
+ margin: @tabs_margin;
85
+ padding: @tabs_padding;
86
  transition: all 0.3s;
87
 
88
  //noinspection CssOptimizeSimilarProperties
89
  & when ( @has_tabs_border_width = true ) {
 
90
  border-color: @tabs_border_color;
91
+ border-style: solid;
92
  border-width: @tabs_border_width;
 
93
  }
94
 
95
  &.sow-tabs-tab-selected, &:hover {
96
  background-color: @tabs_background_hover_color;
97
+ border-radius: @tabs_border_radius;
98
  color: @tabs_title_hover_color;
99
 
100
  //noinspection CssOptimizeSimilarProperties
101
  & when ( @has_tabs_border_hover_width = true ) {
 
102
  border-color: @tabs_border_hover_color;
103
+ border-style: solid;
104
  border-width: @tabs_border_hover_width;
 
105
  }
106
  }
107
 
129
  }
130
 
131
  .sow-tabs-panel-container {
132
+ border-radius: @panels_border_radius;
133
  background-color: @panels_background_color;
134
  color: @panels_font_color;
135
+ position: relative;
136
 
137
  //noinspection CssOptimizeSimilarProperties
138
  & when( @has_panels_border_width = true ) {
139
+ border-color: @panels_border_color;
140
  border-style: solid;
141
  border-width: @panels_border_width;
 
 
142
  }
143
 
144
  .sow-tabs-panel {
145
  padding: @panels_padding;
146
+
147
  .sow-tabs-panel-content {
148
  font-family: @panels_font_family;
149
  font-weight: @panels_font_weight;
157
  }
158
 
159
  & when ( @tabs_container_tabs_position = bottom ) {
160
+ flex-direction: column-reverse;
161
  }
162
 
163
 
widgets/tabs/tabs.php CHANGED
@@ -9,7 +9,7 @@ Documentation: https://siteorigin.com/widgets-bundle/tabs-widget/
9
 
10
  class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
11
  function __construct() {
12
-
13
  parent::__construct(
14
  'sow-tabs',
15
  __( 'SiteOrigin Tabs', 'so-widgets-bundle' ),
@@ -22,9 +22,9 @@ class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
22
  plugin_dir_path( __FILE__ )
23
  );
24
  }
25
-
26
  /**
27
- * Initialize the tabs widget.
28
  */
29
  function initialize() {
30
  $this->register_frontend_scripts(
@@ -64,7 +64,7 @@ class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
64
  }
65
 
66
  function get_widget_form() {
67
-
68
  return array(
69
  'title' => array(
70
  'type' => 'text',
@@ -224,8 +224,8 @@ class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
224
  }
225
 
226
  public function get_template_variables( $instance, $args ) {
227
- if( empty( $instance ) ) return array();
228
-
229
  $tabs = empty( $instance['tabs'] ) ? array() : $instance['tabs'];
230
 
231
  foreach ( $tabs as $i => &$tab ) {
@@ -235,12 +235,12 @@ class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
235
  if ( empty( $tab['after_title'] ) ) {
236
  $tab['after_title'] = '';
237
  }
238
-
239
  if ( empty( $tab['title'] ) ) {
240
  $id = $this->id_base;
241
  if ( ! empty( $instance['_sow_form_id'] ) ) {
242
  $id .= '-' . $instance['_sow_form_id'];
243
- } else if ( ! empty( $args['widget_id'] ) ) {
244
  $id .= '-' . $args['widget_id'];
245
  }
246
  $tab['anchor'] = $id . '-' . $i;
@@ -248,7 +248,7 @@ class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
248
  $tab['anchor'] = $tab['title'];
249
  }
250
  }
251
-
252
  if ( empty( $instance['initial_tab_position'] ) ||
253
  $instance['initial_tab_position'] < 1 ||
254
  $instance['initial_tab_position'] > count( $tabs ) ) {
@@ -257,7 +257,7 @@ class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
257
  } else {
258
  $init_tab_index = $instance['initial_tab_position'] - 1;
259
  }
260
-
261
  return array(
262
  'tabs' => $tabs,
263
  'initial_tab_index' => $init_tab_index,
9
 
10
  class SiteOrigin_Widget_Tabs_Widget extends SiteOrigin_Widget {
11
  function __construct() {
12
+
13
  parent::__construct(
14
  'sow-tabs',
15
  __( 'SiteOrigin Tabs', 'so-widgets-bundle' ),
22
  plugin_dir_path( __FILE__ )
23
  );
24
  }
25
+
26
  /**
27
+ * Initialize the Tabs Widget.
28
  */
29
  function initialize() {
30
  $this->register_frontend_scripts(
64
  }
65
 
66
  function get_widget_form() {
67
+
68
  return array(
69
  'title' => array(
70
  'type' => 'text',
224
  }
225
 
226
  public function get_template_variables( $instance, $args ) {
227
+ if ( empty( $instance ) ) return array();
228
+
229
  $tabs = empty( $instance['tabs'] ) ? array() : $instance['tabs'];
230
 
231
  foreach ( $tabs as $i => &$tab ) {
235
  if ( empty( $tab['after_title'] ) ) {
236
  $tab['after_title'] = '';
237
  }
238
+
239
  if ( empty( $tab['title'] ) ) {
240
  $id = $this->id_base;
241
  if ( ! empty( $instance['_sow_form_id'] ) ) {
242
  $id .= '-' . $instance['_sow_form_id'];
243
+ } elseif ( ! empty( $args['widget_id'] ) ) {
244
  $id .= '-' . $args['widget_id'];
245
  }
246
  $tab['anchor'] = $id . '-' . $i;
248
  $tab['anchor'] = $tab['title'];
249
  }
250
  }
251
+
252
  if ( empty( $instance['initial_tab_position'] ) ||
253
  $instance['initial_tab_position'] < 1 ||
254
  $instance['initial_tab_position'] > count( $tabs ) ) {
257
  } else {
258
  $init_tab_index = $instance['initial_tab_position'] - 1;
259
  }
260
+
261
  return array(
262
  'tabs' => $tabs,
263
  'initial_tab_index' => $init_tab_index,