SiteOrigin Widgets Bundle - Version 1.17.3

Version Description

  • 23 July 2020 ==
  • Reverted: Features: Prevented icon overlapping text in edge cases.
  • Social Media Buttons: Added TikTok.
  • Button: Removed :visited color targeting.
  • Button: Set hover background color defaults.
  • Carousel: Improved multi-carousel support.
  • Carousel: Triggered click on swipe for mobile devices.
  • Carousel: Contextualized variables as needed.
  • Carousel: Find the ItemWidth as needed rather than predefining it.

=

Download this release

Release Info

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

Code changes from version 1.17.2 to 1.17.3

lang/so-widgets-bundle.pot CHANGED
@@ -3143,42 +3143,46 @@ msgid "Telegram"
3143
  msgstr ""
3144
 
3145
  #: widgets/social-media-buttons/data/networks.php:272
3146
- msgid "Trello"
3147
  msgstr ""
3148
 
3149
  #: widgets/social-media-buttons/data/networks.php:278
3150
- msgid "TripAdvisor"
3151
  msgstr ""
3152
 
3153
  #: widgets/social-media-buttons/data/networks.php:284
3154
- msgid "Twitch"
3155
  msgstr ""
3156
 
3157
  #: widgets/social-media-buttons/data/networks.php:290
3158
- msgid "Vimeo"
3159
  msgstr ""
3160
 
3161
  #: widgets/social-media-buttons/data/networks.php:296
3162
- msgid "WhatsApp"
3163
  msgstr ""
3164
 
3165
  #: widgets/social-media-buttons/data/networks.php:302
3166
- msgid "WordPress"
3167
  msgstr ""
3168
 
3169
  #: widgets/social-media-buttons/data/networks.php:308
3170
- msgid "Xing"
3171
  msgstr ""
3172
 
3173
  #: widgets/social-media-buttons/data/networks.php:314
3174
- msgid "Yahoo"
3175
  msgstr ""
3176
 
3177
  #: widgets/social-media-buttons/data/networks.php:320
3178
- msgid "Yelp"
3179
  msgstr ""
3180
 
3181
  #: widgets/social-media-buttons/data/networks.php:326
 
 
 
 
3182
  msgid "YouTube"
3183
  msgstr ""
3184
 
3143
  msgstr ""
3144
 
3145
  #: widgets/social-media-buttons/data/networks.php:272
3146
+ msgid "TikTok"
3147
  msgstr ""
3148
 
3149
  #: widgets/social-media-buttons/data/networks.php:278
3150
+ msgid "Trello"
3151
  msgstr ""
3152
 
3153
  #: widgets/social-media-buttons/data/networks.php:284
3154
+ msgid "TripAdvisor"
3155
  msgstr ""
3156
 
3157
  #: widgets/social-media-buttons/data/networks.php:290
3158
+ msgid "Twitch"
3159
  msgstr ""
3160
 
3161
  #: widgets/social-media-buttons/data/networks.php:296
3162
+ msgid "Vimeo"
3163
  msgstr ""
3164
 
3165
  #: widgets/social-media-buttons/data/networks.php:302
3166
+ msgid "WhatsApp"
3167
  msgstr ""
3168
 
3169
  #: widgets/social-media-buttons/data/networks.php:308
3170
+ msgid "WordPress"
3171
  msgstr ""
3172
 
3173
  #: widgets/social-media-buttons/data/networks.php:314
3174
+ msgid "Xing"
3175
  msgstr ""
3176
 
3177
  #: widgets/social-media-buttons/data/networks.php:320
3178
+ msgid "Yahoo"
3179
  msgstr ""
3180
 
3181
  #: widgets/social-media-buttons/data/networks.php:326
3182
+ msgid "Yelp"
3183
+ msgstr ""
3184
+
3185
+ #: widgets/social-media-buttons/data/networks.php:332
3186
  msgid "YouTube"
3187
  msgstr ""
3188
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Tags: bundle, widget, button, slider, image, carousel, price table, google maps, tinymce, social links
3
  Requires at least: 4.2
4
  Tested up to: 5.5
5
- Stable tag: 1.17.2
6
- Build time: 2020-07-21T09:02:06+02:00
7
  License: GPLv3 or later
8
  Contributors: gpriday, braam-genis
9
  Donate link: https://siteorigin.com/downloads/premium/
@@ -65,6 +65,16 @@ The SiteOrigin Widgets Bundle is the perfect platform to build widgets for your
65
 
66
  == Changelog ==
67
 
 
 
 
 
 
 
 
 
 
 
68
  == 1.17.2 - 21 July 2020 ==
69
  * Resolved button Less CSS bug.
70
 
2
  Tags: bundle, widget, button, slider, image, carousel, price table, google maps, tinymce, social links
3
  Requires at least: 4.2
4
  Tested up to: 5.5
5
+ Stable tag: 1.17.3
6
+ Build time: 2020-07-23T18:39:48+02:00
7
  License: GPLv3 or later
8
  Contributors: gpriday, braam-genis
9
  Donate link: https://siteorigin.com/downloads/premium/
65
 
66
  == Changelog ==
67
 
68
+ == 1.17.3 - 23 July 2020 ==
69
+ * Reverted: Features: Prevented icon overlapping text in edge cases.
70
+ * Social Media Buttons: Added TikTok.
71
+ * Button: Removed `:visited` color targeting.
72
+ * Button: Set hover background color defaults.
73
+ * Carousel: Improved multi-carousel support.
74
+ * Carousel: Triggered click on swipe for mobile devices.
75
+ * Carousel: Contextualized variables as needed.
76
+ * Carousel: Find the `ItemWidth` as needed rather than predefining it.
77
+
78
  == 1.17.2 - 21 July 2020 ==
79
  * Resolved button Less CSS bug.
80
 
so-widgets-bundle.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: SiteOrigin Widgets Bundle
4
  Description: A collection of all widgets, neatly bundled into a single plugin. It's also a framework to code your own widgets on top of.
5
- Version: 1.17.2
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.17.2');
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 collection of all widgets, neatly bundled into a single plugin. It's also a framework to code your own widgets on top of.
5
+ Version: 1.17.3
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.17.3');
16
  define('SOW_BUNDLE_BASE_FILE', __FILE__);
17
 
18
  // Allow JS suffix to be pre-set
widgets/button/styles/atom.less CHANGED
@@ -7,8 +7,8 @@
7
  @border_color: darken(@button_color, 15%);
8
  @text_color: #FFFFFF;
9
 
10
- @hover_text_color: default;
11
- @hover_background_color: default;
12
 
13
  @button_font: default;
14
  @button_font_weight: default;
@@ -48,7 +48,6 @@
48
  }
49
  }
50
 
51
- &:visited,
52
  &:active,
53
  &:hover{
54
  color: @hover_text_color !important;
7
  @border_color: darken(@button_color, 15%);
8
  @text_color: #FFFFFF;
9
 
10
+ @hover_background_color: #41a9d5;
11
+ @hover_text_color: #FFFFFF;
12
 
13
  @button_font: default;
14
  @button_font_weight: default;
48
  }
49
  }
50
 
 
51
  &:active,
52
  &:hover{
53
  color: @hover_text_color !important;
widgets/button/styles/flat.less CHANGED
@@ -7,8 +7,8 @@
7
  @border_color: darken(@button_color, 5%);
8
  @text_color: #FFFFFF;
9
 
10
- @hover_text_color: default;
11
- @hover_background_color: default;
12
 
13
  @button_font: default;
14
  @button_font_weight: default;
@@ -48,7 +48,6 @@
48
  }
49
  }
50
 
51
- &:visited,
52
  &:active,
53
  &:hover{
54
  color: @hover_text_color !important;
7
  @border_color: darken(@button_color, 5%);
8
  @text_color: #FFFFFF;
9
 
10
+ @hover_background_color: #41a9d5;
11
+ @hover_text_color: #FFFFFF;
12
 
13
  @button_font: default;
14
  @button_font_weight: default;
48
  }
49
  }
50
 
 
51
  &:active,
52
  &:hover{
53
  color: @hover_text_color !important;
widgets/button/styles/wire.less CHANGED
@@ -6,8 +6,8 @@
6
  @button_color: #41a9d5;
7
  @text_color: #FFFFFF;
8
 
9
- @hover_background_color: default;
10
- @hover_text_color: default;
11
 
12
  @button_font: default;
13
  @button_font_weight: default;
@@ -46,7 +46,6 @@
46
  }
47
  }
48
 
49
- &:visited,
50
  &:active,
51
  &:hover{
52
  color: @hover_text_color !important;
6
  @button_color: #41a9d5;
7
  @text_color: #FFFFFF;
8
 
9
+ @hover_background_color: #41a9d5;
10
+ @hover_text_color: #FFFFFF;
11
 
12
  @button_font: default;
13
  @button_font_weight: default;
46
  }
47
  }
48
 
 
49
  &:active,
50
  &:hover{
51
  color: @hover_text_color !important;
widgets/features/styles/default.less CHANGED
@@ -91,47 +91,37 @@
91
  }
92
 
93
  .sow-icon-container {
 
 
 
94
  text-decoration: none;
95
 
96
  & when not ( @per_row = 1 ) {
97
  margin: auto;
98
  }
99
 
100
- [class^="sow-icon-"] {
101
- text-decoration: none;
102
- color: #FFFFFF;
103
- display: flex;
104
- align-items: center;
105
- justify-content: center;
106
- }
107
-
108
  .sow-icon-image {
109
- .icon_size() when ( @use_icon_size = true) {
110
- background-size: @icon_size @icon_size;
111
- width: @container_size;
112
- height: @container_size;
113
- }
114
- .icon_size() when not ( @use_icon_size = true) {
115
- background-size: contain;
116
- }
117
- .icon_size();
 
 
 
 
 
 
 
 
118
  background-repeat: no-repeat;
119
  background-position: center;
120
  }
121
-
122
- &:not(.sow-container-none) {
123
- width: @container_size;
124
- height: @container_size;
125
- font-size: @container_size;
126
-
127
- [class^="sow-icon-"] {
128
- width: @container_size;
129
- height: @container_size;
130
- font-size: @container_size;
131
- position: absolute;
132
- top: 0;
133
- }
134
- }
135
  }
136
 
137
  @{title_tag} {
91
  }
92
 
93
  .sow-icon-container {
94
+ width: @container_size;
95
+ height: @container_size;
96
+ font-size: @container_size;
97
  text-decoration: none;
98
 
99
  & when not ( @per_row = 1 ) {
100
  margin: auto;
101
  }
102
 
103
+ [class^="sow-icon-"],
 
 
 
 
 
 
 
104
  .sow-icon-image {
105
+ text-decoration: none;
106
+ color: #FFFFFF;
107
+ width: @container_size;
108
+ height: @container_size;
109
+ position: absolute;
110
+ top: 0;
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+
115
+ .icon_size() when ( @use_icon_size = true) {
116
+ background-size: @icon_size @icon_size;
117
+ }
118
+ .icon_size() when not ( @use_icon_size = true) {
119
+ background-size: contain;
120
+ }
121
+ .icon_size();
122
  background-repeat: no-repeat;
123
  background-position: center;
124
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  }
126
 
127
  @{title_tag} {
widgets/post-carousel/js/carousel.js CHANGED
@@ -8,22 +8,13 @@ jQuery( function ( $ ) {
8
  // The carousel widget
9
  $( '.sow-carousel-wrapper' ).each( function () {
10
  var $$ = $( this );
11
- direction = $$.attr( 'dir' );
12
- $items = $$.find( '.sow-carousel-items' ),
13
- $widget = $$.parent().parent();
14
- instanceHash = $widget.find( 'input[name="instance_hash"]' ).val(),
15
- numItems = $items.find( '.sow-carousel-item' ).length,
16
- totalPosts = $$.data( 'post-count' ),
17
- complete = numItems === totalPosts,
18
- fetching = false,
19
- page = 1,
20
- itemWidth = $items.find( '.sow-carousel-item' ).outerWidth( true );
21
 
22
  $items.not( '.slick-initialized' ).slick( {
23
  arrows: false,
24
  infinite: false,
25
  rows: 0,
26
- rtl: direction == 'rtl',
27
  touchThreshold: 20,
28
  variableWidth: true,
29
  responsive: [
@@ -44,41 +35,46 @@ jQuery( function ( $ ) {
44
  ],
45
  } );
46
 
 
 
 
 
 
47
  // click is used rather than Slick's beforeChange or afterChange
48
  // due to the inability to stop a slide from changing from those events
49
- $widget.find( '.sow-carousel-previous, .sow-carousel-next' ).on( 'click', function( e ) {
50
  e.preventDefault();
51
  $items = $$.find( '.sow-carousel-items' );
52
- var numVisibleItems = Math.ceil( $items.outerWidth() / itemWidth );
53
- var lastPosition = numItems - numVisibleItems + 1
 
 
 
54
 
55
  // Check if all posts are displayed
56
  if ( ! complete ) {
57
  // Check if we need to fetch the next batch of posts
58
  if ( $items.slick( 'slickCurrentSlide' ) + numVisibleItems >= numItems - 1 ) {
59
 
60
- if ( ! fetching ) {
61
  // Fetch the next batch
62
- fetching = true;
63
- page++;
64
 
65
  $items.slick( 'slickAdd', '<div class="sow-carousel-item sow-carousel-loading"></div>' );
66
-
67
  $.get(
68
  $$.data( 'ajax-url' ),
69
  {
70
- query: $$.data( 'query' ),
71
  action: 'sow_carousel_load',
72
  paged: page,
73
- instance_hash: instanceHash
74
  },
75
  function ( data, status ) {
76
  $items.find( '.sow-carousel-loading' ).remove();
77
  $items.slick( 'slickAdd', data.html );
78
  numItems = $$.find( '.sow-carousel-item' ).length;
79
-
80
- complete = numItems === totalPosts;
81
- fetching = false;
82
  }
83
  );
84
  }
@@ -94,7 +90,7 @@ jQuery( function ( $ ) {
94
  // https://github.com/kenwheeler/slick/issues/3567
95
  if ( $( this ).hasClass( 'sow-carousel-next' ) ) {
96
  if ( $items.slick( 'slickCurrentSlide' ) >= lastPosition ) {
97
- if ( $$.data( 'loop-posts-enabled' ) && ! fetching ) {
98
  $items.slick( 'slickGoTo', 0 );
99
  }
100
  } else {
@@ -113,7 +109,7 @@ jQuery( function ( $ ) {
113
  // Hide/disable scroll if number of visible items is less than total posts.
114
  $( window ).on( 'resize load', function() {
115
  $items = $$.find( '.sow-carousel-items' );
116
- var numVisibleItems = Math.ceil( $items.outerWidth() / itemWidth );
117
  var navigation = $$.parent().parent().find( '.sow-carousel-navigation' );
118
  if ( numVisibleItems >= $items.find( '.sow-carousel-item' ).length ) {
119
  navigation.hide();
8
  // The carousel widget
9
  $( '.sow-carousel-wrapper' ).each( function () {
10
  var $$ = $( this );
11
+ $items = $$.find( '.sow-carousel-items' );
 
 
 
 
 
 
 
 
 
12
 
13
  $items.not( '.slick-initialized' ).slick( {
14
  arrows: false,
15
  infinite: false,
16
  rows: 0,
17
+ rtl: $$.data( 'dir' ) == 'rtl',
18
  touchThreshold: 20,
19
  variableWidth: true,
20
  responsive: [
35
  ],
36
  } );
37
 
38
+ // Trigger navigation click on swipe
39
+ $items.on( 'swipe', function( e, slick, direction ) {
40
+ $$.parent().parent().find( '.sow-carousel-' + ( direction == 'left' ? 'next' : 'prev' ) ).trigger( 'touchend' );
41
+ } );
42
+
43
  // click is used rather than Slick's beforeChange or afterChange
44
  // due to the inability to stop a slide from changing from those events
45
+ $$.parent().parent().find( '.sow-carousel-previous, .sow-carousel-next' ).on( 'click touchend', function( e ) {
46
  e.preventDefault();
47
  $items = $$.find( '.sow-carousel-items' );
48
+ var numItems = $items.find( '.sow-carousel-item' ).length,
49
+ totalPosts = $$.data( 'post-count' );
50
+ complete = numItems === totalPosts,
51
+ numVisibleItems = Math.ceil( $items.outerWidth() / $items.find( '.sow-carousel-item' ).outerWidth( true ) ),
52
+ lastPosition = numItems - numVisibleItems + 1;
53
 
54
  // Check if all posts are displayed
55
  if ( ! complete ) {
56
  // Check if we need to fetch the next batch of posts
57
  if ( $items.slick( 'slickCurrentSlide' ) + numVisibleItems >= numItems - 1 ) {
58
 
59
+ if ( ! $$.data( 'fetching' ) ) {
60
  // Fetch the next batch
61
+ $$.data( 'fetching', true );
62
+ var page = $$.data( 'page' ) + 1;
63
 
64
  $items.slick( 'slickAdd', '<div class="sow-carousel-item sow-carousel-loading"></div>' );
 
65
  $.get(
66
  $$.data( 'ajax-url' ),
67
  {
 
68
  action: 'sow_carousel_load',
69
  paged: page,
70
+ instance_hash: $$.parent().parent().find( 'input[name="instance_hash"]' ).val()
71
  },
72
  function ( data, status ) {
73
  $items.find( '.sow-carousel-loading' ).remove();
74
  $items.slick( 'slickAdd', data.html );
75
  numItems = $$.find( '.sow-carousel-item' ).length;
76
+ $$.data( 'fetching', false );
77
+ $$.data( 'page', page );
 
78
  }
79
  );
80
  }
90
  // https://github.com/kenwheeler/slick/issues/3567
91
  if ( $( this ).hasClass( 'sow-carousel-next' ) ) {
92
  if ( $items.slick( 'slickCurrentSlide' ) >= lastPosition ) {
93
+ if ( $$.data( 'loop-posts-enabled' ) && ! $$.data( 'fetching' ) ) {
94
  $items.slick( 'slickGoTo', 0 );
95
  }
96
  } else {
109
  // Hide/disable scroll if number of visible items is less than total posts.
110
  $( window ).on( 'resize load', function() {
111
  $items = $$.find( '.sow-carousel-items' );
112
+ var numVisibleItems = Math.ceil( $items.outerWidth() / $items.find( '.sow-carousel-item' ).outerWidth( true ) );
113
  var navigation = $$.parent().parent().find( '.sow-carousel-navigation' );
114
  if ( numVisibleItems >= $items.find( '.sow-carousel-item' ).length ) {
115
  navigation.hide();
widgets/post-carousel/js/carousel.min.js CHANGED
@@ -1 +1 @@
1
- var sowb=window.sowb||{};jQuery((function(s){sowb.setupCarousel=function(){s(".sow-carousel-wrapper").each((function(){var e=s(this);direction=e.attr("dir"),$items=e.find(".sow-carousel-items"),$widget=e.parent().parent(),instanceHash=$widget.find('input[name="instance_hash"]').val(),numItems=$items.find(".sow-carousel-item").length,totalPosts=e.data("post-count"),complete=numItems===totalPosts,fetching=!1,page=1,itemWidth=$items.find(".sow-carousel-item").outerWidth(!0),$items.not(".slick-initialized").slick({arrows:!1,infinite:!1,rows:0,rtl:"rtl"==direction,touchThreshold:20,variableWidth:!0,responsive:[{breakpoint:carouselBreakpoints.tablet_portrait,settings:{slidesToScroll:2,slidesToShow:2}},{breakpoint:carouselBreakpoints.mobile,settings:{slidesToScroll:1,slidesToShow:1}}]}),$widget.find(".sow-carousel-previous, .sow-carousel-next").on("click",(function(i){i.preventDefault(),$items=e.find(".sow-carousel-items");var t=Math.ceil($items.outerWidth()/itemWidth),o=numItems-t+1;complete||$items.slick("slickCurrentSlide")+t>=numItems-1&&(fetching||(fetching=!0,page++,$items.slick("slickAdd",'<div class="sow-carousel-item sow-carousel-loading"></div>'),s.get(e.data("ajax-url"),{query:e.data("query"),action:"sow_carousel_load",paged:page,instance_hash:instanceHash},(function(s,i){$items.find(".sow-carousel-loading").remove(),$items.slick("slickAdd",s.html),numItems=e.find(".sow-carousel-item").length,complete=numItems===totalPosts,fetching=!1})))),s(this).hasClass("sow-carousel-next")?$items.slick("slickCurrentSlide")>=o?e.data("loop-posts-enabled")&&!fetching&&$items.slick("slickGoTo",0):$items.slick("slickNext"):s(this).hasClass("sow-carousel-previous")&&(e.data("loop-posts-enabled")&&0==$items.slick("slickCurrentSlide")?$items.slick("slickGoTo",o-(complete?0:1)):$items.slick("slickPrev"))})),s(window).on("resize load",(function(){$items=e.find(".sow-carousel-items");var s=Math.ceil($items.outerWidth()/itemWidth),i=e.parent().parent().find(".sow-carousel-navigation");s>=$items.find(".sow-carousel-item").length?(i.hide(),$items.slick("slickSetOption","touchMove",!1),$items.slick("slickSetOption","draggable",!1)):i.not(":visible")&&(i.show(),$items.slick("slickSetOption","touchMove",!0),$items.slick("slickSetOption","draggable",!0))}))})),s(window).resize((function(){window.matchMedia("(min-width: "+carouselBreakpoints.tablet_portrait+"px) and (max-width: "+carouselBreakpoints.tablet_landscape+"px) and (orientation: landscape)").matches&&(s(".sow-carousel-items").slick("slickSetOption","slidesToShow",3),s(".sow-carousel-items").slick("slickSetOption","slidesToScroll",3))}))},sowb.setupCarousel(),s(sowb).on("setup_widgets",sowb.setupCarousel)})),window.sowb=sowb;
1
+ var sowb=window.sowb||{};jQuery((function(s){sowb.setupCarousel=function(){s(".sow-carousel-wrapper").each((function(){var e=s(this);$items=e.find(".sow-carousel-items"),$items.not(".slick-initialized").slick({arrows:!1,infinite:!1,rows:0,rtl:"rtl"==e.data("dir"),touchThreshold:20,variableWidth:!0,responsive:[{breakpoint:carouselBreakpoints.tablet_portrait,settings:{slidesToScroll:2,slidesToShow:2}},{breakpoint:carouselBreakpoints.mobile,settings:{slidesToScroll:1,slidesToShow:1}}]}),$items.on("swipe",(function(s,i,t){e.parent().parent().find(".sow-carousel-"+("left"==t?"next":"prev")).trigger("touchend")})),e.parent().parent().find(".sow-carousel-previous, .sow-carousel-next").on("click touchend",(function(i){i.preventDefault(),$items=e.find(".sow-carousel-items");var t=$items.find(".sow-carousel-item").length,o=e.data("post-count");if(complete=t===o,numVisibleItems=Math.ceil($items.outerWidth()/$items.find(".sow-carousel-item").outerWidth(!0)),lastPosition=t-numVisibleItems+1,!complete&&$items.slick("slickCurrentSlide")+numVisibleItems>=t-1&&!e.data("fetching")){e.data("fetching",!0);var a=e.data("page")+1;$items.slick("slickAdd",'<div class="sow-carousel-item sow-carousel-loading"></div>'),s.get(e.data("ajax-url"),{action:"sow_carousel_load",paged:a,instance_hash:e.parent().parent().find('input[name="instance_hash"]').val()},(function(s,i){$items.find(".sow-carousel-loading").remove(),$items.slick("slickAdd",s.html),t=e.find(".sow-carousel-item").length,e.data("fetching",!1),e.data("page",a)}))}s(this).hasClass("sow-carousel-next")?$items.slick("slickCurrentSlide")>=lastPosition?e.data("loop-posts-enabled")&&!e.data("fetching")&&$items.slick("slickGoTo",0):$items.slick("slickNext"):s(this).hasClass("sow-carousel-previous")&&(e.data("loop-posts-enabled")&&0==$items.slick("slickCurrentSlide")?$items.slick("slickGoTo",lastPosition-(complete?0:1)):$items.slick("slickPrev"))})),s(window).on("resize load",(function(){$items=e.find(".sow-carousel-items");var s=Math.ceil($items.outerWidth()/$items.find(".sow-carousel-item").outerWidth(!0)),i=e.parent().parent().find(".sow-carousel-navigation");s>=$items.find(".sow-carousel-item").length?(i.hide(),$items.slick("slickSetOption","touchMove",!1),$items.slick("slickSetOption","draggable",!1)):i.not(":visible")&&(i.show(),$items.slick("slickSetOption","touchMove",!0),$items.slick("slickSetOption","draggable",!0))}))})),s(window).resize((function(){window.matchMedia("(min-width: "+carouselBreakpoints.tablet_portrait+"px) and (max-width: "+carouselBreakpoints.tablet_landscape+"px) and (orientation: landscape)").matches&&(s(".sow-carousel-items").slick("slickSetOption","slidesToShow",3),s(".sow-carousel-items").slick("slickSetOption","slidesToScroll",3))}))},sowb.setupCarousel(),s(sowb).on("setup_widgets",sowb.setupCarousel)})),window.sowb=sowb;
widgets/post-carousel/tpl/base.php CHANGED
@@ -31,8 +31,10 @@
31
  data-post-count="<?php echo esc_attr($posts->found_posts) ?>"
32
  data-loop-posts-enabled="<?php echo esc_attr( $loop_posts ) ?>"
33
  data-ajax-url="<?php echo sow_esc_url( wp_nonce_url( admin_url('admin-ajax.php'), 'widgets_action', '_widgets_nonce' ) ) ?>"
34
- dir="<?php echo is_rtl() ? 'rtl' : 'ltr'; ?>"
35
- >
 
 
36
  <div class="sow-carousel-items">
37
  <?php include plugin_dir_path( __FILE__ ) . 'carousel-post-loop.php' ?>
38
  </div>
31
  data-post-count="<?php echo esc_attr($posts->found_posts) ?>"
32
  data-loop-posts-enabled="<?php echo esc_attr( $loop_posts ) ?>"
33
  data-ajax-url="<?php echo sow_esc_url( wp_nonce_url( admin_url('admin-ajax.php'), 'widgets_action', '_widgets_nonce' ) ) ?>"
34
+ data-page="1"
35
+ data-fetching="false"
36
+ data-dir="<?php echo is_rtl() ? 'rtl' : 'ltr'; ?>"
37
+ >
38
  <div class="sow-carousel-items">
39
  <?php include plugin_dir_path( __FILE__ ) . 'carousel-post-loop.php' ?>
40
  </div>
widgets/social-media-buttons/data/networks.php CHANGED
@@ -268,6 +268,12 @@ return array(
268
  'icon_color' => '#FFFFFF',
269
  'button_color' => '#27a7e5'
270
  ),
 
 
 
 
 
 
271
  'trello' => array(
272
  'label' => __( 'Trello', 'so-widgets-bundle' ),
273
  'base_url' => 'https://trello.com/',
268
  'icon_color' => '#FFFFFF',
269
  'button_color' => '#27a7e5'
270
  ),
271
+ 'tiktok' => array(
272
+ 'label' => __( 'TikTok', 'so-widgets-bundle' ),
273
+ 'base_url' => 'https://www.tiktok.com/',
274
+ 'icon_color' => '#FFFFFF',
275
+ 'button_color' => '#000',
276
+ ),
277
  'trello' => array(
278
  'label' => __( 'Trello', 'so-widgets-bundle' ),
279
  'base_url' => 'https://trello.com/',