WooCommerce Variation Swatches - Version 1.1.0

Version Description

  • Add: Selected attribute name beside label
  • Update: Support WooCommerce 4.6 version
  • Update: Accessibility
Download this release

Release Info

Developer EmranAhmed
Plugin Icon 128x128 WooCommerce Variation Swatches
Version 1.1.0
Comparing to
See all releases

Code changes from version 1.0.86 to 1.1.0

README.txt CHANGED
@@ -6,7 +6,7 @@ Tested up to: 5.5
6
  Requires PHP: 5.6
7
  Stable tag: trunk
8
  WC requires at least: 3.2
9
- WC tested up to: 4.4
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
12
 
@@ -65,6 +65,9 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
65
  👉 Product Page Swatches Size Control
66
  [Live Demo & Documentation](http://bit.ly/3rd-demo-size-control-readme)
67
  <hr />
 
 
 
68
  👉 Flexible Swatches Tooltip Insert and Display settings
69
  [Live Demo & Documentation](https://bit.ly/tooltip-swatches-disable)
70
  <hr />
@@ -168,6 +171,9 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
168
  👉 Make Selected Attribute Variation Swatches Size Larger Than Other Default Attribute Variations
169
  [Live Demo & Documentation](http://bit.ly/3rd-demo-readme-swatches-size-special-attribute)
170
  <hr />
 
 
 
171
  👉 Show Custom Text in Variation Tooltip
172
  [Live Demo & Documentation](http://bit.ly/3rd-demo-readme-how-to-enable-text-tooltip)
173
  <hr />
@@ -186,6 +192,9 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
186
  👉 Archive Page Swatches Alignment
187
  [Live Demo & Documentation](http://bit.ly/3rd-demo-readme-shop-alignment)
188
  <hr />
 
 
 
189
  👉 Compatible with Printful, Alidrop, and Multivendor Plugins
190
  👉 Customize Tooltip Text and Background Color
191
  👉 Enable / Disable Ajax Variation
@@ -381,6 +390,12 @@ And your are ready to go.
381
 
382
  == Changelog ==
383
 
 
 
 
 
 
 
384
  = 1.0.86 =
385
 
386
  * Update: Support WooCommerce 4.4 version
6
  Requires PHP: 5.6
7
  Stable tag: trunk
8
  WC requires at least: 3.2
9
+ WC tested up to: 4.6
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
12
 
65
  👉 Product Page Swatches Size Control
66
  [Live Demo & Documentation](http://bit.ly/3rd-demo-size-control-readme)
67
  <hr />
68
+ 👉 Show Selected Variation Name Beside Label
69
+ [Live Demo & Documentation](http://bit.ly/show-selected-variation-name-beside-label)
70
+ <hr />
71
  👉 Flexible Swatches Tooltip Insert and Display settings
72
  [Live Demo & Documentation](https://bit.ly/tooltip-swatches-disable)
73
  <hr />
171
  👉 Make Selected Attribute Variation Swatches Size Larger Than Other Default Attribute Variations
172
  [Live Demo & Documentation](http://bit.ly/3rd-demo-readme-swatches-size-special-attribute)
173
  <hr />
174
+ 👉 Keep Attribute Variation Selected on Product Page After Choosing from Catalog page like Walmart
175
+ [Live Demo & Documentation](http://bit.ly/keep-attribute-variation-selected-on-product-page-after-choosing-from-catalog-page)
176
+ <hr />
177
  👉 Show Custom Text in Variation Tooltip
178
  [Live Demo & Documentation](http://bit.ly/3rd-demo-readme-how-to-enable-text-tooltip)
179
  <hr />
192
  👉 Archive Page Swatches Alignment
193
  [Live Demo & Documentation](http://bit.ly/3rd-demo-readme-shop-alignment)
194
  <hr />
195
+ 👉 Show Variation Product Stock Notice
196
+ [Live Demo & Documentation](http://bit.ly/show-variation-product-stock-notice)
197
+ <hr />
198
  👉 Compatible with Printful, Alidrop, and Multivendor Plugins
199
  👉 Customize Tooltip Text and Background Color
200
  👉 Enable / Disable Ajax Variation
390
 
391
  == Changelog ==
392
 
393
+ = 1.1.0 =
394
+
395
+ * Add: Selected attribute name beside label
396
+ * Update: Support WooCommerce 4.6 version
397
+ * Update: Accessibility
398
+
399
  = 1.0.86 =
400
 
401
  * Update: Support WooCommerce 4.4 version
assets/css/admin.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
@@ -274,18 +274,20 @@
274
  border-top: 3px solid #8F0808;
275
  }
276
 
277
- #woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab {
 
278
  position: relative;
279
  }
280
 
281
- #woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab::before {
282
- content: attr(data-pro-text);
 
 
 
 
283
  position: absolute;
284
  right: 5px;
285
  top: 0;
286
- -webkit-transform: translateY(-50%);
287
- transform: translateY(-50%);
288
- background: #FF5722;
289
  color: #FFFFFF;
290
  font-size: 8px;
291
  font-weight: normal;
@@ -295,7 +297,68 @@
295
  border-radius: 10px;
296
  }
297
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  .woo-variation-swatches-pro_tab.pro-inactive a {
299
  background-color: #FF9800;
300
  color: #FFFFFF;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  }
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
274
  border-top: 3px solid #8F0808;
275
  }
276
 
277
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text],
278
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text] {
279
  position: relative;
280
  }
281
 
282
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]::before,
283
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]::after,
284
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text]::before,
285
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text]::after {
286
+ -webkit-transform: translateY(-50%);
287
+ transform: translateY(-50%);
288
  position: absolute;
289
  right: 5px;
290
  top: 0;
 
 
 
291
  color: #FFFFFF;
292
  font-size: 8px;
293
  font-weight: normal;
297
  border-radius: 10px;
298
  }
299
 
300
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]::before {
301
+ content: attr(data-pro-text);
302
+ background: #F44336;
303
+ }
304
+
305
+ #woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text]::after {
306
+ content: attr(data-new-text);
307
+ background: #2196F3;
308
+ }
309
+
310
+ #woo-variation-swatches-settings-wrap .wvs-setting-tab .wvs-new-feature-tick {
311
+ position: relative;
312
+ /*transform: translateY(-50%);*/
313
+ right: -5px;
314
+ top: -2px;
315
+ color: #FFFFFF;
316
+ background: #FF5722;
317
+ font-size: 8px;
318
+ font-weight: normal;
319
+ text-transform: uppercase;
320
+ padding: 3px 5px;
321
+ line-height: 1;
322
+ border-radius: 10px;
323
+ }
324
+
325
+ #woo-variation-swatches-settings-wrap .wvs-setting-tab .description {
326
+ font-size: small;
327
+ font-style: italic;
328
+ }
329
+
330
  .woo-variation-swatches-pro_tab.pro-inactive a {
331
  background-color: #FF9800;
332
  color: #FFFFFF;
333
+ }
334
+
335
+ .wvs-settings-field-content {
336
+ position: relative;
337
+ }
338
+
339
+ .wvs-show-pro-label {
340
+ display: block;
341
+ }
342
+
343
+ .wvs-show-pro-label span {
344
+ padding: 2px 4px;
345
+ background: #fa0000;
346
+ color: #fff;
347
+ text-transform: uppercase;
348
+ font-size: 9px;
349
+ border-radius: 2px;
350
+ }
351
+
352
+ .wvs-show-pro-contents {
353
+ display: inline-block;
354
+ color: #fa0000;
355
+ font-size: 11px;
356
+ text-transform: uppercase;
357
+ font-style: italic;
358
+ text-decoration: underline;
359
+ padding: 0 5px;
360
+ }
361
+
362
+ .wvs-button-wrapper .reset {
363
+ color: #a00;
364
  }
assets/css/admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
- .button.button-danger{color:#fff;background-color:#af2d2b;border-color:#a62d2b;box-shadow:0 1px 0 #a72d2b;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{color:#fff;background:#c9302c}[data-wvsdepends]{display:none}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{margin:5px 0;display:block}.meta-image-field-wrapper .image-preview{display:table-cell;width:60px;padding-right:10px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.gwp-rate-stars{display:inline-block;color:#ffb900;position:relative;top:3px}.gwp-rate-stars svg,.gwp-rate-stars svg a{fill:#ffb900;stroke:#ffb900;cursor:pointer}.gwp-rate-stars svg:hover,.gwp-rate-stars svg a:hover{fill:#ffb900}.gwp-rate-stars svg:hover~svg,.gwp-rate-stars svg:hover~svg a,.gwp-rate-stars svg a:hover~svg,.gwp-rate-stars svg a:hover~svg a{fill:none}#wvs-meta-preview{width:30px}.wvs-preview{width:30px;height:30px;border:1px solid #000}#woo-variation-swatches-settings-wrap #settings-tabs{margin-top:30px}#woo-variation-swatches-settings-wrap #settings-tabs h2{font-size:1.5em;margin-bottom:10px}#woo-variation-swatches-settings-wrap #settings-tabs .form-table{margin-top:15px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 1px 1px rgba(0,0,0,.04)}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr{border-bottom:1px solid #eee;display:block}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr:last-child{border:0}#woo-variation-swatches-settings-wrap #settings-tabs .form-table th{padding:20px 10px 20px 20px}#woo-variation-swatches-settings-wrap #settings-tabs #special .form-table,#woo-variation-swatches-settings-wrap #settings-tabs #style .form-table{margin-bottom:30px}#woo-variation-swatches-settings-wrap #tutorial .form-table tr{padding:0!important}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper img{width:100%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper ul{margin:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li{overflow:hidden;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:50px 30px;margin:0;border-bottom:1px solid #ddd;position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li:last-child{border:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper,#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{float:left;padding:0 20px;box-sizing:border-box}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{width:60%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper{width:40%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper h3{margin:0 0 20px;font-size:1.5em}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-contents{font-size:15px;line-height:1.5em;margin-bottom:20px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button{border-radius:3px;line-height:1;padding:13px 20px;font-size:13px;height:40px;box-shadow:none;text-shadow:none}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button:active{-webkit-transform:translateY(0);transform:translateY(0)}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo{background-color:#fff;color:#333;border:1px solid #eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo:hover{background:#eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs{background-color:#36373a;color:#fff;border:1px solid #36373a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs:hover{background:#5d5e61;border-color:#5d5e61}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro{background-color:#39b54a;color:#fff;border:1px solid #39b54a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover{background:#3fc851;border-color:#3fc851}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon{position:absolute;left:-5px;top:-5px;z-index:1;overflow:hidden;width:75px;height:75px;text-align:right;margin:1px 22px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);width:100px;display:block;background:#bc0808;box-shadow:0 3px 10px -5px #000;position:absolute;top:19px;left:-21px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #8f0808;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #8f0808;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab{position:relative}#woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab:before{content:attr(data-pro-text);position:absolute;right:5px;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:#ff5722;color:#fff;font-size:8px;font-weight:400;text-transform:uppercase;padding:3px 5px;line-height:1;border-radius:10px}.woo-variation-swatches-pro_tab.pro-inactive a{background-color:#ff9800;color:#fff}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:27 PM
6
  * Released under the GPLv3 license.
7
  */
8
+ .button.button-danger{color:#fff;background-color:#af2d2b;border-color:#a62d2b;box-shadow:0 1px 0 #a72d2b;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{color:#fff;background:#c9302c}[data-wvsdepends]{display:none}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{margin:5px 0;display:block}.meta-image-field-wrapper .image-preview{display:table-cell;width:60px;padding-right:10px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.gwp-rate-stars{display:inline-block;color:#ffb900;position:relative;top:3px}.gwp-rate-stars svg,.gwp-rate-stars svg a{fill:#ffb900;stroke:#ffb900;cursor:pointer}.gwp-rate-stars svg:hover,.gwp-rate-stars svg a:hover{fill:#ffb900}.gwp-rate-stars svg:hover~svg,.gwp-rate-stars svg:hover~svg a,.gwp-rate-stars svg a:hover~svg,.gwp-rate-stars svg a:hover~svg a{fill:none}#wvs-meta-preview{width:30px}.wvs-preview{width:30px;height:30px;border:1px solid #000}#woo-variation-swatches-settings-wrap #settings-tabs{margin-top:30px}#woo-variation-swatches-settings-wrap #settings-tabs h2{font-size:1.5em;margin-bottom:10px}#woo-variation-swatches-settings-wrap #settings-tabs .form-table{margin-top:15px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 1px 1px rgba(0,0,0,.04)}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr{border-bottom:1px solid #eee;display:block}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr:last-child{border:0}#woo-variation-swatches-settings-wrap #settings-tabs .form-table th{padding:20px 10px 20px 20px}#woo-variation-swatches-settings-wrap #settings-tabs #special .form-table,#woo-variation-swatches-settings-wrap #settings-tabs #style .form-table{margin-bottom:30px}#woo-variation-swatches-settings-wrap #tutorial .form-table tr{padding:0!important}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper img{width:100%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper ul{margin:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li{overflow:hidden;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:50px 30px;margin:0;border-bottom:1px solid #ddd;position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li:last-child{border:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper,#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{float:left;padding:0 20px;box-sizing:border-box}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{width:60%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper{width:40%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper h3{margin:0 0 20px;font-size:1.5em}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-contents{font-size:15px;line-height:1.5em;margin-bottom:20px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button{border-radius:3px;line-height:1;padding:13px 20px;font-size:13px;height:40px;box-shadow:none;text-shadow:none}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button:active{-webkit-transform:translateY(0);transform:translateY(0)}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo{background-color:#fff;color:#333;border:1px solid #eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo:hover{background:#eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs{background-color:#36373a;color:#fff;border:1px solid #36373a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs:hover{background:#5d5e61;border-color:#5d5e61}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro{background-color:#39b54a;color:#fff;border:1px solid #39b54a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover{background:#3fc851;border-color:#3fc851}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon{position:absolute;left:-5px;top:-5px;z-index:1;overflow:hidden;width:75px;height:75px;text-align:right;margin:1px 22px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);width:100px;display:block;background:#bc0808;box-shadow:0 3px 10px -5px #000;position:absolute;top:19px;left:-21px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #8f0808;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #8f0808;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text],#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]{position:relative}#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text]:after,#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text]:before,#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]:after,#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%);position:absolute;right:5px;top:0;color:#fff;font-size:8px;font-weight:400;text-transform:uppercase;padding:3px 5px;line-height:1;border-radius:10px}#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-pro-text]:before{content:attr(data-pro-text);background:#f44336}#woo-variation-swatches-settings-wrap .nav-tab-wrapper [data-new-text]:after{content:attr(data-new-text);background:#2196f3}#woo-variation-swatches-settings-wrap .wvs-setting-tab .wvs-new-feature-tick{position:relative;right:-5px;top:-2px;color:#fff;background:#ff5722;font-size:8px;font-weight:400;text-transform:uppercase;padding:3px 5px;line-height:1;border-radius:10px}#woo-variation-swatches-settings-wrap .wvs-setting-tab .description{font-size:small;font-style:italic}.woo-variation-swatches-pro_tab.pro-inactive a{background-color:#ff9800;color:#fff}.wvs-settings-field-content{position:relative}.wvs-show-pro-label{display:block}.wvs-show-pro-label span{padding:2px 4px;background:#fa0000;color:#fff;text-transform:uppercase;font-size:9px;border-radius:2px}.wvs-show-pro-contents{display:inline-block;color:#fa0000;font-size:11px;text-transform:uppercase;font-style:italic;text-decoration:underline;padding:0 5px}.wvs-button-wrapper .reset{color:#a00}
assets/css/frontend-tooltip.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches .radio-variable-item[data-wvstooltip] {
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches .radio-variable-item[data-wvstooltip] {
assets/css/frontend-tooltip.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches.wvs-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches.wvs-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches.wvs-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%}.woo-variation-swatches.wvs-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches.wvs-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches.wvs-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}.variable-items-wrapper .wvs-has-image-tooltip,.variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.variable-items-wrapper .wvs-has-image-tooltip:after,.variable-items-wrapper .wvs-has-image-tooltip:before,.variable-items-wrapper [data-wvstooltip]:after,.variable-items-wrapper [data-wvstooltip]:before{visibility:hidden;opacity:0;pointer-events:none;box-sizing:inherit;position:absolute;bottom:130%;left:50%;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0);box-shadow:0 7px 15px rgba(0,0,0,.3);-webkit-transition:opacity .3s linear,bottom .3s linear;transition:opacity .3s linear,bottom .3s linear}.variable-items-wrapper .wvs-has-image-tooltip:before,.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:7px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;text-align:center;font-size:14px;line-height:1.2}.variable-items-wrapper [data-wvstooltip]:before{min-width:100px;content:attr(data-wvstooltip)}.variable-items-wrapper .wvs-has-image-tooltip:before{content:" ";background-image:var(--tooltip-background);width:var(--tooltip-width);height:var(--tooltip-height);background-size:cover;border:2px solid;background-position:50%}.variable-items-wrapper .wvs-has-image-tooltip:after,.variable-items-wrapper [data-wvstooltip]:after{margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.variable-items-wrapper .wvs-has-image-tooltip:hover:after,.variable-items-wrapper .wvs-has-image-tooltip:hover:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:27 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches.wvs-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches.wvs-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches.wvs-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%}.woo-variation-swatches.wvs-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches.wvs-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches.wvs-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}.variable-items-wrapper .wvs-has-image-tooltip,.variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.variable-items-wrapper .wvs-has-image-tooltip:after,.variable-items-wrapper .wvs-has-image-tooltip:before,.variable-items-wrapper [data-wvstooltip]:after,.variable-items-wrapper [data-wvstooltip]:before{visibility:hidden;opacity:0;pointer-events:none;box-sizing:inherit;position:absolute;bottom:130%;left:50%;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0);box-shadow:0 7px 15px rgba(0,0,0,.3);-webkit-transition:opacity .3s linear,bottom .3s linear;transition:opacity .3s linear,bottom .3s linear}.variable-items-wrapper .wvs-has-image-tooltip:before,.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:7px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;text-align:center;font-size:14px;line-height:1.2}.variable-items-wrapper [data-wvstooltip]:before{min-width:100px;content:attr(data-wvstooltip)}.variable-items-wrapper .wvs-has-image-tooltip:before{content:" ";background-image:var(--tooltip-background);width:var(--tooltip-width);height:var(--tooltip-height);background-size:cover;border:2px solid;background-position:50%}.variable-items-wrapper .wvs-has-image-tooltip:after,.variable-items-wrapper [data-wvstooltip]:after{margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.variable-items-wrapper .wvs-has-image-tooltip:hover:after,.variable-items-wrapper .wvs-has-image-tooltip:hover:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}
assets/css/frontend.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches .woo-variation-raw-select,
@@ -25,11 +25,15 @@
25
  list-style: none;
26
  -webkit-transition: all 200ms ease;
27
  transition: all 200ms ease;
28
- position: relative;
29
  -webkit-user-select: none;
30
  -moz-user-select: none;
31
  -ms-user-select: none;
32
  user-select: none;
 
 
 
 
 
33
  }
34
 
35
  .woo-variation-swatches .variable-items-wrapper .variable-item img {
@@ -98,6 +102,10 @@
98
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
99
  }
100
 
 
 
 
 
101
  .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
102
  .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
103
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.9);
@@ -151,9 +159,9 @@
151
 
152
  .woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled,
153
  .woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover {
154
- cursor: not-allowed;
155
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
156
  pointer-events: none;
 
157
  position: relative;
158
  overflow: hidden;
159
  }
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches .woo-variation-raw-select,
25
  list-style: none;
26
  -webkit-transition: all 200ms ease;
27
  transition: all 200ms ease;
 
28
  -webkit-user-select: none;
29
  -moz-user-select: none;
30
  -ms-user-select: none;
31
  user-select: none;
32
+ outline: none;
33
+ }
34
+
35
+ .woo-variation-swatches .variable-items-wrapper .variable-item.variation-disabled {
36
+ display: none !important;
37
  }
38
 
39
  .woo-variation-swatches .variable-items-wrapper .variable-item img {
102
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
103
  }
104
 
105
+ .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):focus {
106
+ box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.3);
107
+ }
108
+
109
  .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
110
  .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
111
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.9);
159
 
160
  .woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled,
161
  .woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover {
 
162
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
163
  pointer-events: none;
164
+ cursor: not-allowed;
165
  position: relative;
166
  overflow: hidden;
167
  }
assets/css/frontend.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
- .woo-variation-swatches .woo-variation-raw-select,.woo-variation-swatches .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches .variable-items-wrapper{display:-webkit-box;display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.woo-variation-swatches .variable-items-wrapper .variable-item img{margin:0;padding:0;width:100%;height:100%;pointer-events:none}.woo-variation-swatches .variable-items-wrapper .variable-item span{pointer-events:none}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item{box-sizing:border-box;display:block;list-style:none;cursor:pointer;margin:0}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item){box-sizing:border-box;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.3);padding:2px;margin:4px 8px 4px 0}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover{box-shadow:0 0 0 2px rgba(0,0,0,.9)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color{width:100%;height:100%;position:relative}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover{cursor:not-allowed;box-shadow:0 0 0 1px rgba(0,0,0,.05);pointer-events:none;position:relative;overflow:hidden}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:0}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover{pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.05);position:relative;overflow:hidden}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled:hover{overflow:hidden}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled:hover input,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled:hover label,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled input,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled label{pointer-events:none;opacity:.3}.woo-variation-swatches.wvs-attr-behavior-hide .variable-item.disabled{opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center;transform-origin:center;width:0!important;height:0!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important}.woo-variation-swatches.wvs-attr-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches.rtl table.variations td.label{padding-left:15px;padding-right:0;text-align:left}.woo-variation-swatches.rtl .variable-items-wrapper .variable-item{text-align:right}.woo-variation-swatches.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item){margin:4px 0 4px 8px}.woo-variation-swatches.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{margin-right:0;margin-left:5px}.woo-variation-swatches.woocommerce .product.elementor table.variations td.value:before{display:none!important}.woo-variation-swatches.woo-variation-swatches-ie11 .variable-items-wrapper{display:block!important}.woo-variation-swatches.woo-variation-swatches-ie11 .variable-items-wrapper .variable-item:not(.radio-variable-item){float:left}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:27 PM
6
  * Released under the GPLv3 license.
7
  */
8
+ .woo-variation-swatches .woo-variation-raw-select,.woo-variation-swatches .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches .variable-items-wrapper{display:-webkit-box;display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none}.woo-variation-swatches .variable-items-wrapper .variable-item.variation-disabled{display:none!important}.woo-variation-swatches .variable-items-wrapper .variable-item img{margin:0;padding:0;width:100%;height:100%;pointer-events:none}.woo-variation-swatches .variable-items-wrapper .variable-item span{pointer-events:none}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item{box-sizing:border-box;display:block;list-style:none;cursor:pointer;margin:0}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item){box-sizing:border-box;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.3);padding:2px;margin:4px 8px 4px 0}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):focus{box-shadow:0 0 0 3px rgba(0,0,0,.3)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover{box-shadow:0 0 0 2px rgba(0,0,0,.9)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color{width:100%;height:100%;position:relative}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches.wvs-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches.wvs-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05);pointer-events:none;cursor:not-allowed;position:relative;overflow:hidden}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:0}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches.wvs-attr-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches.wvs-attr-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover{pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.05);position:relative;overflow:hidden}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled:hover{overflow:hidden}.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled:hover input,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled:hover label,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled input,.woo-variation-swatches.wvs-attr-behavior-blur-no-cross .radio-variable-item.disabled label{pointer-events:none;opacity:.3}.woo-variation-swatches.wvs-attr-behavior-hide .variable-item.disabled{opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center;transform-origin:center;width:0!important;height:0!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important}.woo-variation-swatches.wvs-attr-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches.rtl table.variations td.label{padding-left:15px;padding-right:0;text-align:left}.woo-variation-swatches.rtl .variable-items-wrapper .variable-item{text-align:right}.woo-variation-swatches.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item){margin:4px 0 4px 8px}.woo-variation-swatches.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{margin-right:0;margin-left:5px}.woo-variation-swatches.woocommerce .product.elementor table.variations td.value:before{display:none!important}.woo-variation-swatches.woo-variation-swatches-ie11 .variable-items-wrapper{display:block!important}.woo-variation-swatches.woo-variation-swatches-ie11 .variable-items-wrapper .variable-item:not(.radio-variable-item){float:left}
assets/css/gwp-admin-notice.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents {
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents {
assets/css/gwp-admin-notice.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents{position:relative;clear:both;overflow:hidden}.gwp-live-feed-contents.gwp-ad-gallery:before,.gwp-live-feed-contents.notice-info:before{content:"\F161";background:#41a1d3}.gwp-live-feed-contents.notice-success:before{content:"\F147";background:#46b450}.gwp-live-feed-contents.notice-error:before{content:"\F158";background:#dc3232}.gwp-live-feed-contents.notice-warning:before{content:"\F534";background:#f6ba33}.gwp-live-feed-contents.gwp-notice-required:before{content:"\F463";background:#ce3100;text-shadow:0 -1px 1px #ce3100}.gwp-live-feed-contents.gwp-notice-recommended:before{content:"\F529";background:#3d4046;text-shadow:0 -1px 1px #3d4046}.gwp-live-feed-contents.gwp-ad-gallery,.gwp-live-feed-contents.gwp-notice-recommended,.gwp-live-feed-contents.gwp-notice-required,.gwp-live-feed-contents.notice-error,.gwp-live-feed-contents.notice-info,.gwp-live-feed-contents.notice-success,.gwp-live-feed-contents.notice-warning{display:-webkit-box;display:flex;-webkit-box-align:stretch;align-items:stretch;padding:0;border-radius:4px}.gwp-live-feed-contents.gwp-ad-gallery:before,.gwp-live-feed-contents.gwp-notice-recommended:before,.gwp-live-feed-contents.gwp-notice-required:before,.gwp-live-feed-contents.notice-error:before,.gwp-live-feed-contents.notice-info:before,.gwp-live-feed-contents.notice-success:before,.gwp-live-feed-contents.notice-warning:before{font-family:dashicons;font-size:20px;color:#fff;padding:10px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gwp-live-feed-contents.gwp-ad-gallery .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-recommended .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-required .feed-message-wrapper,.gwp-live-feed-contents.notice-error .feed-message-wrapper,.gwp-live-feed-contents.notice-info .feed-message-wrapper,.gwp-live-feed-contents.notice-success .feed-message-wrapper,.gwp-live-feed-contents.notice-warning .feed-message-wrapper{padding:10px 60px 10px 20px}.gwp-live-feed-contents.gwp-notice-discount{border-radius:5px;border:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#594679}.gwp-live-feed-contents.gwp-notice-discount .feed-thumbnail-wrapper .attachment-thumbnail{display:block}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;width:100%;color:#fff;text-shadow:0 -1px 1px #594679;padding:20px 30px 20px 20px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper .button-primary{font-size:16px;border-radius:30px;padding:0 25px;border:0;height:40px;line-height:40px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-pro{border-radius:5px;border:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#2196f3}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;width:100%;color:#fff;text-shadow:0 -1px 1px #2196f3;padding:20px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade{position:relative;font-size:16px;color:#fff;font-weight:600;text-decoration:none;padding:25px 25px 25px 80px;display:block;margin:-20px;background:#673ab7;text-shadow:0 -1px 1px #673ab7}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade small{font-weight:300;display:block}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade i{position:absolute;left:25px;font-size:36px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:36px;height:36px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade:hover{background:#305af3;text-shadow:0 -1px 1px #305af3}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px;z-index:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-new{border:0;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:transparent;box-shadow:none}.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper img,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper p{padding:0;margin:0}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close{color:rgba(0,0,0,.5);opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:before{color:rgba(0,0,0,.5)}.gwp-live-feed-contents .button-primary{background:#56bfd4;border-color:#3a9db1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);text-shadow:0 -1px 1px #238ea5}.gwp-live-feed-contents .button-primary:active,.gwp-live-feed-contents .button-primary:focus,.gwp-live-feed-contents .button-primary:hover{background:#39b1ca;border-color:#3a9db1}.gwp-live-feed-contents .gwp-live-feed-close{display:-webkit-box;display:flex;right:0;text-decoration:none;padding:10px 10px 10px 25px}.gwp-live-feed-contents .gwp-live-feed-close:before{display:inline-block}.gwp-live-feed-contents .gwp-live-feed-close-plain{display:-webkit-box;display:flex;right:0;text-decoration:none;padding:15px}.gwp-live-feed-contents .gwp-live-feed-close-plain:before{display:inline-block}.wp-admin.rtl .gwp-live-feed-contents .gwp-live-feed-close-plain{left:0;right:auto}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:27 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents{position:relative;clear:both;overflow:hidden}.gwp-live-feed-contents.gwp-ad-gallery:before,.gwp-live-feed-contents.notice-info:before{content:"\F161";background:#41a1d3}.gwp-live-feed-contents.notice-success:before{content:"\F147";background:#46b450}.gwp-live-feed-contents.notice-error:before{content:"\F158";background:#dc3232}.gwp-live-feed-contents.notice-warning:before{content:"\F534";background:#f6ba33}.gwp-live-feed-contents.gwp-notice-required:before{content:"\F463";background:#ce3100;text-shadow:0 -1px 1px #ce3100}.gwp-live-feed-contents.gwp-notice-recommended:before{content:"\F529";background:#3d4046;text-shadow:0 -1px 1px #3d4046}.gwp-live-feed-contents.gwp-ad-gallery,.gwp-live-feed-contents.gwp-notice-recommended,.gwp-live-feed-contents.gwp-notice-required,.gwp-live-feed-contents.notice-error,.gwp-live-feed-contents.notice-info,.gwp-live-feed-contents.notice-success,.gwp-live-feed-contents.notice-warning{display:-webkit-box;display:flex;-webkit-box-align:stretch;align-items:stretch;padding:0;border-radius:4px}.gwp-live-feed-contents.gwp-ad-gallery:before,.gwp-live-feed-contents.gwp-notice-recommended:before,.gwp-live-feed-contents.gwp-notice-required:before,.gwp-live-feed-contents.notice-error:before,.gwp-live-feed-contents.notice-info:before,.gwp-live-feed-contents.notice-success:before,.gwp-live-feed-contents.notice-warning:before{font-family:dashicons;font-size:20px;color:#fff;padding:10px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gwp-live-feed-contents.gwp-ad-gallery .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-recommended .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-required .feed-message-wrapper,.gwp-live-feed-contents.notice-error .feed-message-wrapper,.gwp-live-feed-contents.notice-info .feed-message-wrapper,.gwp-live-feed-contents.notice-success .feed-message-wrapper,.gwp-live-feed-contents.notice-warning .feed-message-wrapper{padding:10px 60px 10px 20px}.gwp-live-feed-contents.gwp-notice-discount{border-radius:5px;border:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#594679}.gwp-live-feed-contents.gwp-notice-discount .feed-thumbnail-wrapper .attachment-thumbnail{display:block}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;width:100%;color:#fff;text-shadow:0 -1px 1px #594679;padding:20px 30px 20px 20px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper .button-primary{font-size:16px;border-radius:30px;padding:0 25px;border:0;height:40px;line-height:40px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-pro{border-radius:5px;border:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#2196f3}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;width:100%;color:#fff;text-shadow:0 -1px 1px #2196f3;padding:20px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade{position:relative;font-size:16px;color:#fff;font-weight:600;text-decoration:none;padding:25px 25px 25px 80px;display:block;margin:-20px;background:#673ab7;text-shadow:0 -1px 1px #673ab7}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade small{font-weight:300;display:block}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade i{position:absolute;left:25px;font-size:36px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:36px;height:36px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade:hover{background:#305af3;text-shadow:0 -1px 1px #305af3}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px;z-index:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-new{border:0;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:transparent;box-shadow:none}.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper img,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper p{padding:0;margin:0}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close{color:rgba(0,0,0,.5);opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:before{color:rgba(0,0,0,.5)}.gwp-live-feed-contents .button-primary{background:#56bfd4;border-color:#3a9db1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);text-shadow:0 -1px 1px #238ea5}.gwp-live-feed-contents .button-primary:active,.gwp-live-feed-contents .button-primary:focus,.gwp-live-feed-contents .button-primary:hover{background:#39b1ca;border-color:#3a9db1}.gwp-live-feed-contents .gwp-live-feed-close{display:-webkit-box;display:flex;right:0;text-decoration:none;padding:10px 10px 10px 25px}.gwp-live-feed-contents .gwp-live-feed-close:before{display:inline-block}.gwp-live-feed-contents .gwp-live-feed-close-plain{display:-webkit-box;display:flex;right:0;text-decoration:none;padding:15px}.gwp-live-feed-contents .gwp-live-feed-close-plain:before{display:inline-block}.wp-admin.rtl .gwp-live-feed-contents .gwp-live-feed-close-plain{left:0;right:auto}
assets/css/gwp-admin.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /**
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /**
assets/css/gwp-admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-backbone-modal *{box-sizing:border-box}.gwp-backbone-modal .gwp-backbone-modal-content{position:fixed;background:#fff;z-index:100000;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:100%;min-width:300px}.gwp-backbone-modal .gwp-backbone-modal-content article{overflow:auto}.gwp-backbone-modal .gwp-backbone-modal-content{width:40%}.gwp-backbone-modal .gwp-feedback-dialog-form-body h2{font-weight:700;font-size:15px;color:#495157;margin:0 0 20px}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input-wrapper{line-height:1.3;overflow:hidden;margin-bottom:15px}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input{float:left;margin:0 10px 0 0;box-shadow:none}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-text{margin:10px 0 0 25px;padding:5px;font-size:13px;box-shadow:none;background-color:#fff;width:92%;display:none}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-alert{color:#0273a9;background-color:#fff;font-weight:600}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-label{display:block;font-size:13px;color:#6d7882}.gwp-backbone-modal footer{margin-top:30px;overflow:hidden;clear:both}.gwp-backbone-modal footer .feedback-dialog-form-button-send{background-color:#56bfd4;border-radius:3px;color:#fff;line-height:1;padding:12px 20px;font-size:13px;height:40px;border:0;box-shadow:none;text-shadow:none;float:left}.gwp-backbone-modal footer .feedback-dialog-form-button-send:hover{background:#389db1}.gwp-backbone-modal footer .feedback-dialog-form-button-send:active{-webkit-transform:translateY(0);transform:translateY(0)}.gwp-backbone-modal footer .feedback-dialog-form-button-skip{font-size:12px;color:#a4afb7;background:none;float:right;width:auto;cursor:pointer;padding:10px 0;outline:0;text-decoration:none}.gwp-backbone-modal footer .feedback-dialog-form-button-skip:focus{box-shadow:none}.gwp-backbone-modal footer .feedback-dialog-form-button-skip:hover{text-decoration:underline}@media screen and (max-width:782px){.gwp-backbone-modal .gwp-backbone-modal-content{width:100%;height:100%;min-width:100%}}.gwp-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.gwp-backbone-modal-main{padding-bottom:55px}.gwp-backbone-modal-main article,.gwp-backbone-modal-main header{display:block;position:relative}.gwp-backbone-modal-main .gwp-backbone-modal-header{height:auto;background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}.gwp-backbone-modal-main .gwp-backbone-modal-header h1{margin:0;color:#495157;font-weight:700;font-size:14px;background:transparent;line-height:2em;text-transform:uppercase;border:0}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:54px;width:54px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:before{font:normal 22px/50px dashicons!important;color:#666;display:block;content:"\F335";font-weight:300}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus,.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus{outline:none}.gwp-backbone-modal-main article{padding:1.5em}.gwp-backbone-modal-main article p{margin:1.5em 0}.gwp-backbone-modal-main article p:first-child{margin-top:0}.gwp-backbone-modal-main article p:last-child{margin-bottom:0}.gwp-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.gwp-backbone-modal-main article table.widefat{margin:0;width:100%;border:0;box-shadow:none}.gwp-backbone-modal-main article table.widefat thead th{padding:0 1em 1em;text-align:left}.gwp-backbone-modal-main article table.widefat thead th:first-child{padding-left:0}.gwp-backbone-modal-main article table.widefat thead th:last-child{padding-right:0;text-align:right}.gwp-backbone-modal-main article table.widefat tbody td,.gwp-backbone-modal-main article table.widefat tbody th{padding:1em;text-align:left;vertical-align:middle}.gwp-backbone-modal-main article table.widefat tbody td:first-child,.gwp-backbone-modal-main article table.widefat tbody th:first-child{padding-left:0}.gwp-backbone-modal-main article table.widefat tbody td:last-child,.gwp-backbone-modal-main article table.widefat tbody th:last-child{padding-right:0;text-align:right}.gwp-backbone-modal-main article table.widefat tbody td .select2-container,.gwp-backbone-modal-main article table.widefat tbody td select,.gwp-backbone-modal-main article table.widefat tbody th .select2-container,.gwp-backbone-modal-main article table.widefat tbody th select{width:100%}.gwp-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.gwp-backbone-modal-main footer .inner{text-align:right;line-height:23px}.gwp-backbone-modal-main footer .inner .button{margin-bottom:0}.gwp-backbone-modal-main footer .inner .gwp-action-button-group{display:inline-block;float:left}.gwp-backbone-modal-main footer .inner .button.button-large{margin-left:10px;padding:0 10px!important;line-height:28px;height:auto;display:inline-block}.gwp-action-button-group{vertical-align:middle;line-height:26px;text-align:left}.gwp-action-button-group .gwp-action-button-group__items{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;align-content:flex-start;-webkit-box-pack:start;justify-content:flex-start}.gwp-action-button-group .gwp-action-button{margin:0 0 0 -1px!important;border:1px solid #ccc;padding:0 10px!important;border-radius:0!important;float:none;line-height:28px;height:auto;z-index:1;position:relative;overflow:hidden;text-overflow:ellipsis;-webkit-box-flex:1;flex:1 0 auto;box-sizing:border-box;text-align:center;white-space:nowrap}.gwp-action-button-group .gwp-action-button:focus,.gwp-action-button-group .gwp-action-button:hover{border:1px solid #999;z-index:2}.gwp-action-button-group .gwp-action-button:first-child{margin-left:0!important;border-top-left-radius:3px!important;border-bottom-left-radius:3px!important}.gwp-action-button-group .gwp-action-button:last-child{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}.gwp-action-button-group .spinner{margin:10px}.gwp-action-button-group .spinner.visible{visibility:visible}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:27 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-backbone-modal *{box-sizing:border-box}.gwp-backbone-modal .gwp-backbone-modal-content{position:fixed;background:#fff;z-index:100000;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:100%;min-width:300px}.gwp-backbone-modal .gwp-backbone-modal-content article{overflow:auto}.gwp-backbone-modal .gwp-backbone-modal-content{width:40%}.gwp-backbone-modal .gwp-feedback-dialog-form-body h2{font-weight:700;font-size:15px;color:#495157;margin:0 0 20px}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input-wrapper{line-height:1.3;overflow:hidden;margin-bottom:15px}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input{float:left;margin:0 10px 0 0;box-shadow:none}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-text{margin:10px 0 0 25px;padding:5px;font-size:13px;box-shadow:none;background-color:#fff;width:92%;display:none}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-alert{color:#0273a9;background-color:#fff;font-weight:600}.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-label{display:block;font-size:13px;color:#6d7882}.gwp-backbone-modal footer{margin-top:30px;overflow:hidden;clear:both}.gwp-backbone-modal footer .feedback-dialog-form-button-send{background-color:#56bfd4;border-radius:3px;color:#fff;line-height:1;padding:12px 20px;font-size:13px;height:40px;border:0;box-shadow:none;text-shadow:none;float:left}.gwp-backbone-modal footer .feedback-dialog-form-button-send:hover{background:#389db1}.gwp-backbone-modal footer .feedback-dialog-form-button-send:active{-webkit-transform:translateY(0);transform:translateY(0)}.gwp-backbone-modal footer .feedback-dialog-form-button-skip{font-size:12px;color:#a4afb7;background:none;float:right;width:auto;cursor:pointer;padding:10px 0;outline:0;text-decoration:none}.gwp-backbone-modal footer .feedback-dialog-form-button-skip:focus{box-shadow:none}.gwp-backbone-modal footer .feedback-dialog-form-button-skip:hover{text-decoration:underline}@media screen and (max-width:782px){.gwp-backbone-modal .gwp-backbone-modal-content{width:100%;height:100%;min-width:100%}}.gwp-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.gwp-backbone-modal-main{padding-bottom:55px}.gwp-backbone-modal-main article,.gwp-backbone-modal-main header{display:block;position:relative}.gwp-backbone-modal-main .gwp-backbone-modal-header{height:auto;background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}.gwp-backbone-modal-main .gwp-backbone-modal-header h1{margin:0;color:#495157;font-weight:700;font-size:14px;background:transparent;line-height:2em;text-transform:uppercase;border:0}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:54px;width:54px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:before{font:normal 22px/50px dashicons!important;color:#666;display:block;content:"\F335";font-weight:300}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus,.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus{outline:none}.gwp-backbone-modal-main article{padding:1.5em}.gwp-backbone-modal-main article p{margin:1.5em 0}.gwp-backbone-modal-main article p:first-child{margin-top:0}.gwp-backbone-modal-main article p:last-child{margin-bottom:0}.gwp-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.gwp-backbone-modal-main article table.widefat{margin:0;width:100%;border:0;box-shadow:none}.gwp-backbone-modal-main article table.widefat thead th{padding:0 1em 1em;text-align:left}.gwp-backbone-modal-main article table.widefat thead th:first-child{padding-left:0}.gwp-backbone-modal-main article table.widefat thead th:last-child{padding-right:0;text-align:right}.gwp-backbone-modal-main article table.widefat tbody td,.gwp-backbone-modal-main article table.widefat tbody th{padding:1em;text-align:left;vertical-align:middle}.gwp-backbone-modal-main article table.widefat tbody td:first-child,.gwp-backbone-modal-main article table.widefat tbody th:first-child{padding-left:0}.gwp-backbone-modal-main article table.widefat tbody td:last-child,.gwp-backbone-modal-main article table.widefat tbody th:last-child{padding-right:0;text-align:right}.gwp-backbone-modal-main article table.widefat tbody td .select2-container,.gwp-backbone-modal-main article table.widefat tbody td select,.gwp-backbone-modal-main article table.widefat tbody th .select2-container,.gwp-backbone-modal-main article table.widefat tbody th select{width:100%}.gwp-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.gwp-backbone-modal-main footer .inner{text-align:right;line-height:23px}.gwp-backbone-modal-main footer .inner .button{margin-bottom:0}.gwp-backbone-modal-main footer .inner .gwp-action-button-group{display:inline-block;float:left}.gwp-backbone-modal-main footer .inner .button.button-large{margin-left:10px;padding:0 10px!important;line-height:28px;height:auto;display:inline-block}.gwp-action-button-group{vertical-align:middle;line-height:26px;text-align:left}.gwp-action-button-group .gwp-action-button-group__items{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;align-content:flex-start;-webkit-box-pack:start;justify-content:flex-start}.gwp-action-button-group .gwp-action-button{margin:0 0 0 -1px!important;border:1px solid #ccc;padding:0 10px!important;border-radius:0!important;float:none;line-height:28px;height:auto;z-index:1;position:relative;overflow:hidden;text-overflow:ellipsis;-webkit-box-flex:1;flex:1 0 auto;box-sizing:border-box;text-align:center;white-space:nowrap}.gwp-action-button-group .gwp-action-button:focus,.gwp-action-button-group .gwp-action-button:hover{border:1px solid #999;z-index:2}.gwp-action-button-group .gwp-action-button:first-child{margin-left:0!important;border-top-left-radius:3px!important;border-bottom-left-radius:3px!important}.gwp-action-button-group .gwp-action-button:last-child{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}.gwp-action-button-group .spinner{margin:10px}.gwp-action-button-group .spinner.visible{visibility:visible}
assets/css/wvs-customize-heading-control.css ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * WooCommerce Variation Swatches v1.0.53
3
+ *
4
+ * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2019-1-28 16:55:25
6
+ * Released under the GPLv3 license.
7
+ */
8
+ .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title {
9
+ margin-top: -15px;
10
+ margin-bottom: 0;
11
+ }
12
+
13
+ .wvs-customize-heading-control-title {
14
+ background-color: #191E23;
15
+ padding: 10px 15px;
16
+ color: #FFFFFF;
17
+ margin: 5px -15px;
18
+ font-size: 1rem;
19
+ font-weight: 200;
20
+ display: block;
21
+ overflow: hidden;
22
+ white-space: nowrap;
23
+ text-overflow: ellipsis;
24
+ }
25
+
26
+
27
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy93dnMtY3VzdG9taXplLWhlYWRpbmctY29udHJvbC5jc3MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9zcmMvc2Nzcy9jdXN0b21pemUtaGVhZGluZy1jb250cm9sLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY3VzdG9taXplLWhlYWRpbmctY29udHJvbC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLmFjY29yZGlvbi1zZWN0aW9uLWNvbnRlbnQgbGk6bnRoLWNoaWxkKDIpLmN1c3RvbWl6ZS1jb250cm9sLXd2cy1oZWFkaW5nIHtcbiAgLnd2cy1jdXN0b21pemUtaGVhZGluZy1jb250cm9sLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wICAgIDogLTE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgfVxuICB9XG5cbi53dnMtY3VzdG9taXplLWhlYWRpbmctY29udHJvbC10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3IgOiAjMTkxRTIzO1xuICBwYWRkaW5nICAgICAgICAgIDogMTBweCAxNXB4O1xuICBjb2xvciAgICAgICAgICAgIDogI0ZGRkZGRjtcbiAgbWFyZ2luICAgICAgICAgICA6IDVweCAtMTVweDtcbiAgZm9udC1zaXplICAgICAgICA6IDFyZW07XG4gIGZvbnQtd2VpZ2h0ICAgICAgOiAyMDA7XG4gIGRpc3BsYXkgICAgICAgICAgOiBibG9jaztcbiAgb3ZlcmZsb3cgICAgICAgICA6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2UgICAgICA6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdyAgICA6IGVsbGlwc2lzO1xuICB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc2Nzcy9zcmMvc2Nzcy9jdXN0b21pemUtaGVhZGluZy1jb250cm9sLnNjc3MiLCIuYWNjb3JkaW9uLXNlY3Rpb24tY29udGVudCBsaTpudGgtY2hpbGQoMikuY3VzdG9taXplLWNvbnRyb2wtd3ZzLWhlYWRpbmcgLnd2cy1jdXN0b21pemUtaGVhZGluZy1jb250cm9sLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53dnMtY3VzdG9taXplLWhlYWRpbmctY29udHJvbC10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTFFMjM7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbjogNXB4IC0xNXB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vY3VzdG9taXplLWhlYWRpbmctY29udHJvbC5zY3NzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FDREE7QUFDQTtBRElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNGQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==*/
assets/css/wvs-customize-heading-control.min.css ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * WooCommerce Variation Swatches v1.0.53
3
+ *
4
+ * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2019-1-28 16:55:31
6
+ * Released under the GPLv3 license.
7
+ */
8
+ .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title{margin-top:-15px;margin-bottom:0}.wvs-customize-heading-control-title{background-color:#191e23;padding:10px 15px;color:#fff;margin:5px -15px;font-size:1rem;font-weight:200;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
assets/css/wvs-theme-override.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .wvs-theme-sober .product form.cart .variations .variable,
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .wvs-theme-sober .product form.cart .variations .variable,
assets/css/wvs-theme-override.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .wvs-theme-child-sober .product form.cart .variations .variable,.wvs-theme-sober .product form.cart .variations .variable{margin-bottom:15px!important}.wvs-theme-child-sober .product form.cart .variations .variable-options,.wvs-theme-sober .product form.cart .variations .variable-options{border:0!important}.wvs-theme-child-sober .product form.cart .variations .arrow,.wvs-theme-child-sober .product form.cart .variations .variable-options:after,.wvs-theme-sober .product form.cart .variations .arrow,.wvs-theme-sober .product form.cart .variations .variable-options:after{display:none}.wvs-theme-child-sober .product form.cart .variations .label,.wvs-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.wvs-theme-child-sober .product form.cart .variations .value,.wvs-theme-sober .product form.cart .variations .value{-webkit-box-flex:unset;flex-grow:unset}.wvs-theme-child-sober .product form.cart .variations select,.wvs-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb!important;padding:.5em 1em!important;text-align:left!important;-moz-text-align-last:left!important;text-align-last:left!important;-webkit-appearance:menulist-button!important}.wvs-theme-child-sober .product form.cart .radio-variable-item,.wvs-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.wvs-theme-child-sober .product form.cart .radio-variable-item:last-child,.wvs-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.wvs-theme-child-sober .product form.cart .radio-variable-item label,.wvs-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.wvs-theme-child-sober .product form.cart .radio-variable-item label:before,.wvs-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.wvs-theme-child-sober .product form.cart .radio-variable-item label:after,.wvs-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.wvs-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.wvs-theme-shophistic-lite .ql_custom_variations{display:none!important}.wvs-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.wvs-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.wvs-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.wvs-theme-kalium-child .image-variable-item img,.wvs-theme-kalium .image-variable-item img{width:100%!important}.wvs-theme-kalium-child .radio-variable-item input,.wvs-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}.wvs-theme-kalium-child .woo-variation-items-wrapper .select-option-ui,.wvs-theme-kalium .woo-variation-items-wrapper .select-option-ui{display:none}.wvs-theme-aurum .variable-items-wrapper .image-variable-item>img,.wvs-theme-child-aurum .variable-items-wrapper .image-variable-item>img{width:100%}.wvs-theme-hestia .woo-variation-items-wrapper.value:before{display:none!important}.wvs-theme-child-thegem .woo-variation-items-wrapper .combobox-wrapper,.wvs-theme-thegem .woo-variation-items-wrapper .combobox-wrapper{display:none}.wvs-theme-child-thegem .wvs-archive-variation-wrapper .variations,.wvs-theme-thegem .wvs-archive-variation-wrapper .variations{padding:0}.wvs-theme-child-ushop .variations_form,.wvs-theme-ushop .variations_form{overflow:visible!important}.wvs-theme-child-ushop .single-product-summary .product_meta,.wvs-theme-ushop .single-product-summary .product_meta{display:inline-table}.wvs-theme-child-savoy .woo-variation-items-wrapper,.wvs-theme-savoy .woo-variation-items-wrapper{position:relative!important}.wvs-theme-child-savoy .woo-variation-items-wrapper .sod_select,.wvs-theme-savoy .woo-variation-items-wrapper .sod_select{display:none!important}.wvs-theme-child-savoy .nm-variation-row,.wvs-theme-savoy .nm-variation-row{display:-webkit-box;display:flex}.wvs-theme-child-woodstock .woo-variation-items-wrapper .variation-select,.wvs-theme-woodstock .woo-variation-items-wrapper .variation-select{display:none!important}.wvs-theme-child-woodmart .woo-variation-items-wrapper>.swatches-select,.wvs-theme-woodmart .woo-variation-items-wrapper>.swatches-select{display:none}.wvs-theme-gecko-child .variations .value.woo-variation-items-wrapper,.wvs-theme-gecko .variations .value.woo-variation-items-wrapper{border:0!important}.wvs-theme-gecko-child .variations .value.woo-variation-items-wrapper:after,.wvs-theme-gecko .variations .value.woo-variation-items-wrapper:after{display:none!important}.woo-variation-gallery-theme-child-massive-dynamic .woo-variation-items-wrapper .clear-selection,.woo-variation-gallery-theme-massive-dynamic .woo-variation-items-wrapper .clear-selection{border:0;height:auto;width:auto}.woo-variation-gallery-theme-child-massive-dynamic .woo-variation-items-wrapper .clear-selection .reset_variations,.woo-variation-gallery-theme-massive-dynamic .woo-variation-items-wrapper .clear-selection .reset_variations{font-size:8px!important;width:20px;height:20px;padding:5px;box-sizing:border-box;border-radius:100%;border:1px solid #f04040;color:#f04040}.wvs-theme-child-claue .woo-variation-items-wrapper,.wvs-theme-claue .woo-variation-items-wrapper{border:none}.wvs-theme-child-claue .woo-variation-items-wrapper:after,.wvs-theme-claue .woo-variation-items-wrapper:after{display:none}.wvs-theme-child-jupiter table.variations,.wvs-theme-jupiter table.variations{overflow:initial}.wvs-theme-child-oxygen .woo-variation-items-wrapper .select-wrapper,.wvs-theme-oxygen .woo-variation-items-wrapper .select-wrapper{display:none}.wvs-theme-child-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.wvs-theme-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:18px}.wvs-theme-child-simple-elegant .woo-variation-items-wrapper .wi-nice-select,.wvs-theme-simple-elegant .woo-variation-items-wrapper .wi-nice-select{display:none}.wvs-theme-child-twentytwenty table.variations,.wvs-theme-twentytwenty table.variations{overflow:auto}.woo-variation-swatches-theme-child-jevelin .sh-woo-layout table.variations td select.woo-variation-raw-select,.woo-variation-swatches-theme-jevelin .sh-woo-layout table.variations td select.woo-variation-raw-select,.wvs-theme-child-divi .et_pb_wc_add_to_cart form.variations_form.cart .variations td.value span:after,.wvs-theme-divi .et_pb_wc_add_to_cart form.variations_form.cart .variations td.value span:after{display:none!important}.woo-variation-swatches-theme-child-jevelin .sh-woo-layout table.variations,.woo-variation-swatches-theme-jevelin .sh-woo-layout table.variations{max-width:100%}.woo-variation-swatches-theme-child-jevelin .radio-variable-item label,.woo-variation-swatches-theme-jevelin .radio-variable-item label{line-height:1!important}.woo-variation-swatches-theme-child-stockie .woo-variation-raw-select+.select-styled,.woo-variation-swatches-theme-child .woo-variation-raw-select+.select-styled{display:none!important}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:27 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .wvs-theme-child-sober .product form.cart .variations .variable,.wvs-theme-sober .product form.cart .variations .variable{margin-bottom:15px!important}.wvs-theme-child-sober .product form.cart .variations .variable-options,.wvs-theme-sober .product form.cart .variations .variable-options{border:0!important}.wvs-theme-child-sober .product form.cart .variations .arrow,.wvs-theme-child-sober .product form.cart .variations .variable-options:after,.wvs-theme-sober .product form.cart .variations .arrow,.wvs-theme-sober .product form.cart .variations .variable-options:after{display:none}.wvs-theme-child-sober .product form.cart .variations .label,.wvs-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.wvs-theme-child-sober .product form.cart .variations .value,.wvs-theme-sober .product form.cart .variations .value{-webkit-box-flex:unset;flex-grow:unset}.wvs-theme-child-sober .product form.cart .variations select,.wvs-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb!important;padding:.5em 1em!important;text-align:left!important;-moz-text-align-last:left!important;text-align-last:left!important;-webkit-appearance:menulist-button!important}.wvs-theme-child-sober .product form.cart .radio-variable-item,.wvs-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.wvs-theme-child-sober .product form.cart .radio-variable-item:last-child,.wvs-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.wvs-theme-child-sober .product form.cart .radio-variable-item label,.wvs-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.wvs-theme-child-sober .product form.cart .radio-variable-item label:before,.wvs-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.wvs-theme-child-sober .product form.cart .radio-variable-item label:after,.wvs-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.wvs-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.wvs-theme-shophistic-lite .ql_custom_variations{display:none!important}.wvs-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.wvs-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.wvs-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.wvs-theme-kalium-child .image-variable-item img,.wvs-theme-kalium .image-variable-item img{width:100%!important}.wvs-theme-kalium-child .radio-variable-item input,.wvs-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}.wvs-theme-kalium-child .woo-variation-items-wrapper .select-option-ui,.wvs-theme-kalium .woo-variation-items-wrapper .select-option-ui{display:none}.wvs-theme-aurum .variable-items-wrapper .image-variable-item>img,.wvs-theme-child-aurum .variable-items-wrapper .image-variable-item>img{width:100%}.wvs-theme-hestia .woo-variation-items-wrapper.value:before{display:none!important}.wvs-theme-child-thegem .woo-variation-items-wrapper .combobox-wrapper,.wvs-theme-thegem .woo-variation-items-wrapper .combobox-wrapper{display:none}.wvs-theme-child-thegem .wvs-archive-variation-wrapper .variations,.wvs-theme-thegem .wvs-archive-variation-wrapper .variations{padding:0}.wvs-theme-child-ushop .variations_form,.wvs-theme-ushop .variations_form{overflow:visible!important}.wvs-theme-child-ushop .single-product-summary .product_meta,.wvs-theme-ushop .single-product-summary .product_meta{display:inline-table}.wvs-theme-child-savoy .woo-variation-items-wrapper,.wvs-theme-savoy .woo-variation-items-wrapper{position:relative!important}.wvs-theme-child-savoy .woo-variation-items-wrapper .sod_select,.wvs-theme-savoy .woo-variation-items-wrapper .sod_select{display:none!important}.wvs-theme-child-savoy .nm-variation-row,.wvs-theme-savoy .nm-variation-row{display:-webkit-box;display:flex}.wvs-theme-child-woodstock .woo-variation-items-wrapper .variation-select,.wvs-theme-woodstock .woo-variation-items-wrapper .variation-select{display:none!important}.wvs-theme-child-woodmart .woo-variation-items-wrapper>.swatches-select,.wvs-theme-woodmart .woo-variation-items-wrapper>.swatches-select{display:none}.wvs-theme-gecko-child .variations .value.woo-variation-items-wrapper,.wvs-theme-gecko .variations .value.woo-variation-items-wrapper{border:0!important}.wvs-theme-gecko-child .variations .value.woo-variation-items-wrapper:after,.wvs-theme-gecko .variations .value.woo-variation-items-wrapper:after{display:none!important}.woo-variation-gallery-theme-child-massive-dynamic .woo-variation-items-wrapper .clear-selection,.woo-variation-gallery-theme-massive-dynamic .woo-variation-items-wrapper .clear-selection{border:0;height:auto;width:auto}.woo-variation-gallery-theme-child-massive-dynamic .woo-variation-items-wrapper .clear-selection .reset_variations,.woo-variation-gallery-theme-massive-dynamic .woo-variation-items-wrapper .clear-selection .reset_variations{font-size:8px!important;width:20px;height:20px;padding:5px;box-sizing:border-box;border-radius:100%;border:1px solid #f04040;color:#f04040}.wvs-theme-child-claue .woo-variation-items-wrapper,.wvs-theme-claue .woo-variation-items-wrapper{border:none}.wvs-theme-child-claue .woo-variation-items-wrapper:after,.wvs-theme-claue .woo-variation-items-wrapper:after{display:none}.wvs-theme-child-jupiter table.variations,.wvs-theme-jupiter table.variations{overflow:initial}.wvs-theme-child-oxygen .woo-variation-items-wrapper .select-wrapper,.wvs-theme-oxygen .woo-variation-items-wrapper .select-wrapper{display:none}.wvs-theme-child-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.wvs-theme-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:18px}.wvs-theme-child-simple-elegant .woo-variation-items-wrapper .wi-nice-select,.wvs-theme-simple-elegant .woo-variation-items-wrapper .wi-nice-select{display:none}.wvs-theme-child-twentytwenty table.variations,.wvs-theme-twentytwenty table.variations{overflow:auto}.woo-variation-swatches-theme-child-jevelin .sh-woo-layout table.variations td select.woo-variation-raw-select,.woo-variation-swatches-theme-jevelin .sh-woo-layout table.variations td select.woo-variation-raw-select,.wvs-theme-child-divi .et_pb_wc_add_to_cart form.variations_form.cart .variations td.value span:after,.wvs-theme-divi .et_pb_wc_add_to_cart form.variations_form.cart .variations td.value span:after{display:none!important}.woo-variation-swatches-theme-child-jevelin .sh-woo-layout table.variations,.woo-variation-swatches-theme-jevelin .sh-woo-layout table.variations{max-width:100%}.woo-variation-swatches-theme-child-jevelin .radio-variable-item label,.woo-variation-swatches-theme-jevelin .radio-variable-item label{line-height:1!important}.woo-variation-swatches-theme-child-stockie .woo-variation-raw-select+.select-styled,.woo-variation-swatches-theme-child .woo-variation-raw-select+.select-styled{display:none!important}
assets/js/admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
assets/js/frontend.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -76,20 +76,16 @@
76
  /***/ (function(module, exports, __webpack_require__) {
77
 
78
  jQuery(function ($) {
 
79
  Promise.resolve().then(function () {
80
  return __webpack_require__(11);
81
  }).then(function () {
 
82
  // Init on Ajax Popup :)
83
- $(document).on('wc_variation_form.wvs', '.variations_form', function () {
84
  $(this).WooVariationSwatches();
85
  });
86
 
87
- /*$('.variations_form').each(function () {
88
- $(this).on('found_variation', function(e){
89
- console.log('found_variation called', $(this))
90
- });
91
- })*/
92
-
93
  // Support for Jetpack's Infinite Scroll,
94
  $(document.body).on('post-load.wvs', function () {
95
  $('.variations_form').each(function () {
@@ -162,7 +158,8 @@ var _createClass = function () { function defineProperties(target, props) { for
162
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
163
 
164
  // ================================================================
165
- // WooCommerce Variation Change
 
166
  // ================================================================
167
 
168
  var WooVariationSwatches = function ($) {
@@ -178,17 +175,20 @@ var WooVariationSwatches = function ($) {
178
  this._config = $.extend({}, Default, config);
179
  this._generated = {};
180
  this._out_of_stock = {};
181
- this.product_variations = this._element.data('product_variations');
182
- this.is_ajax_variation = !this.product_variations;
 
183
  this.product_id = this._element.data('product_id');
184
- this.hidden_behaviour = $('body').hasClass('woo-variation-swatches-attribute-behavior-hide');
 
185
  this.is_mobile = $('body').hasClass('woo-variation-swatches-on-mobile');
 
 
 
186
 
187
  // Call
188
- this.init(this.is_ajax_variation, this.hidden_behaviour);
189
- this.loaded(this.is_ajax_variation, this.hidden_behaviour);
190
- this.update(this.is_ajax_variation, this.hidden_behaviour);
191
- this.reset(this.is_ajax_variation, this.hidden_behaviour);
192
 
193
  // Trigger
194
  $(document).trigger('woo_variation_swatches', [this._element]);
@@ -196,27 +196,140 @@ var WooVariationSwatches = function ($) {
196
 
197
  _createClass(WooVariationSwatches, [{
198
  key: 'init',
199
- value: function init(is_ajax, hidden_behaviour) {
200
- var _this3 = this;
201
 
202
  var _this = this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  this._element.find('ul.variable-items-wrapper').each(function (i, el) {
204
 
 
 
205
  var select = $(this).siblings('select.woo-variation-raw-select');
206
- var li = $(this).find('li');
 
 
 
 
 
 
 
207
  var reselect_clear = $(this).hasClass('reselect-clear');
208
- var is_mobile = $('body').hasClass('woo-variation-swatches-on-mobile');
209
- // let mouse_event_name = 'touchstart click';
210
- var mouse_event_name = 'click';
211
 
212
- $(this).parent().addClass('woo-variation-items-wrapper');
 
 
 
 
 
 
 
213
 
214
  // For Avada FIX
215
- if (select.length < 1) {
216
  select = $(this).parent().find('select.woo-variation-raw-select');
 
 
 
 
217
  }
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  if (reselect_clear) {
 
 
220
  $(this).on(mouse_event_name, 'li:not(.selected):not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)', function (e) {
221
  e.preventDefault();
222
  e.stopPropagation();
@@ -226,7 +339,7 @@ var WooVariationSwatches = function ($) {
226
 
227
  select.trigger('focusin');
228
 
229
- if (is_mobile) {
230
  select.trigger('touchstart');
231
  }
232
 
@@ -234,7 +347,8 @@ var WooVariationSwatches = function ($) {
234
  $(this).trigger('wvs-selected-item', [value, select, _this._element]); // Custom Event for li
235
  });
236
 
237
- $(this).on(mouse_event_name, 'li.selected:not(.radio-variable-item)', function (e) {
 
238
  e.preventDefault();
239
  e.stopPropagation();
240
 
@@ -245,7 +359,7 @@ var WooVariationSwatches = function ($) {
245
 
246
  select.trigger('focusin');
247
 
248
- if (is_mobile) {
249
  select.trigger('touchstart');
250
  }
251
 
@@ -255,46 +369,52 @@ var WooVariationSwatches = function ($) {
255
  });
256
 
257
  // RADIO
 
 
258
  $(this).on(mouse_event_name, 'input.wvs-radio-variable-item:radio', function (e) {
259
- e.preventDefault();
260
  e.stopPropagation();
261
- $(this).trigger('change');
 
262
  });
263
 
264
- $(this).on('change', 'input.wvs-radio-variable-item:radio', function (e) {
265
- var _this2 = this;
266
 
267
  e.preventDefault();
268
  e.stopPropagation();
269
 
270
- var value = $(this).val();
271
 
272
- if ($(this).parent('li.radio-variable-item').hasClass('selected')) {
273
- select.val('').trigger('change');
274
- _.delay(function () {
275
- $(_this2).prop('checked', false);
276
- $(_this2).parent('li.radio-variable-item').trigger('wvs-unselected-item', [value, select, _this._element]); // Custom Event for li
277
- }, 1);
278
- } else {
279
- select.val(value).trigger('change');
280
- $(this).parent('.radio-variable-item').trigger('wvs-selected-item', [value, select, _this._element]); // Custom Event for li
281
- }
282
 
283
- select.trigger('click');
284
- select.trigger('focusin');
285
- if (is_mobile) {
286
- select.trigger('touchstart');
 
 
 
 
 
 
 
 
 
287
  }
288
  });
289
  } else {
290
- $(this).on(mouse_event_name, 'li:not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)', function (e) {
291
- e.preventDefault();
292
- e.stopPropagation();
 
 
 
293
  var value = $(this).data('value');
294
  select.val(value).trigger('change');
295
  select.trigger('click');
296
  select.trigger('focusin');
297
- if (is_mobile) {
298
  select.trigger('touchstart');
299
  }
300
 
@@ -304,16 +424,17 @@ var WooVariationSwatches = function ($) {
304
  });
305
 
306
  // Radio
307
- $(this).on('change', 'input.wvs-radio-variable-item:radio', function (e) {
308
- e.preventDefault();
309
- e.stopPropagation();
 
310
  var value = $(this).val();
311
 
312
  select.val(value).trigger('change');
313
  select.trigger('click');
314
  select.trigger('focusin');
315
 
316
- if (is_mobile) {
317
  select.trigger('touchstart');
318
  }
319
 
@@ -322,229 +443,160 @@ var WooVariationSwatches = function ($) {
322
  $(this).parent('li.radio-variable-item').trigger('wvs-selected-item', [value, select, _this._element]); // Custom Event for li
323
  });
324
  }
 
 
 
 
 
 
 
 
325
  });
326
 
327
- _.delay(function () {
328
- _this3._element.trigger('reload_product_variations');
329
- _this3._element.trigger('woo_variation_swatches_init', [_this3, _this3.product_variations]);
330
- $(document).trigger('woo_variation_swatches_loaded', [_this3._element, _this3.product_variations]);
331
- }, 1);
332
  }
333
  }, {
334
- key: 'loaded',
335
- value: function loaded(is_ajax, hidden_behaviour) {
336
- if (!is_ajax) {
337
- this._element.on('woo_variation_swatches_init', function (event, object, product_variations) {
338
-
339
- object._generated = product_variations.reduce(function (obj, variation) {
340
-
341
- Object.keys(variation.attributes).map(function (attribute_name) {
342
- if (!obj[attribute_name]) {
343
- obj[attribute_name] = [];
344
- }
345
 
346
- if (variation.attributes[attribute_name]) {
347
- obj[attribute_name].push(variation.attributes[attribute_name]);
348
- }
349
- });
350
 
351
- return obj;
352
- }, {});
353
 
354
- object._out_of_stock = product_variations.reduce(function (obj, variation) {
355
 
356
- Object.keys(variation.attributes).map(function (attribute_name) {
357
- if (!obj[attribute_name]) {
358
- obj[attribute_name] = [];
359
- }
360
 
361
- if (variation.attributes[attribute_name] && !variation.is_in_stock) {
362
- obj[attribute_name].push(variation.attributes[attribute_name]);
363
- }
364
- });
365
 
366
- return obj;
367
- }, {});
 
 
 
368
 
369
- // console.log(object._out_of_stock);
 
 
370
 
371
- $(this).find('ul.variable-items-wrapper').each(function () {
372
- var li = $(this).find('li:not(.woo-variation-swatches-variable-item-more)');
373
- var attribute = $(this).data('attribute_name');
374
- var attribute_values = object._generated[attribute];
375
- var out_of_stock_values = object._out_of_stock[attribute];
 
376
 
377
- //console.log(out_of_stock_values)
 
 
 
 
 
 
 
378
 
379
- li.each(function () {
380
- var attribute_value = $(this).attr('data-value');
 
 
 
 
381
 
382
- // if (!_.isEmpty(attribute_values) && !_.contains(attribute_values, attribute_value)){}
 
 
 
 
383
 
384
- if (!_.isEmpty(attribute_values) && _.indexOf(attribute_values, attribute_value) === -1) {
385
- $(this).removeClass('selected');
386
- $(this).addClass('disabled');
387
 
388
- if ($(this).hasClass('radio-variable-item')) {
389
- $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', true).prop('checked', false);
390
- }
391
- }
392
- });
393
- });
394
- });
395
- }
396
- }
397
- }, {
398
- key: 'reset',
399
- value: function reset(is_ajax, hidden_behaviour) {
400
- var _this = this;
401
- this._element.on('reset_data', function (event) {
402
- $(this).find('ul.variable-items-wrapper').each(function () {
403
- var li = $(this).find('li');
404
- li.each(function () {
405
- if (!is_ajax) {
406
- $(this).removeClass('selected disabled');
407
 
408
- if ($(this).hasClass('radio-variable-item')) {
409
- $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', false).prop('checked', false);
410
- }
411
- } else {
412
- if ($(this).hasClass('radio-variable-item')) {
413
- // $(this).find('input.wvs-radio-variable-item:radio').prop('checked', false);
414
- }
415
- }
416
 
417
- $(this).trigger('wvs-unselected-item', ['', '', _this._element]); // Custom Event for li
418
- });
419
- });
420
- });
421
- }
422
- }, {
423
- key: 'update',
424
- value: function update(is_ajax, hidden_behaviour) {
425
-
426
- this._element.on('__found_variation', function (event, variation) {
427
-
428
- //console.log(this.$attributeFields);
429
-
430
- /* _.delay(() => {
431
- $(this).find('ul.variable-items-wrapper').each(function () {
432
- let attribute_name = $(this).data('attribute_name');
433
- $(this).find('li').each(function () {
434
- let value = $(this).attr('data-value');
435
- console.log(variation)
436
- if (variation.attributes[attribute_name] === value && !variation.is_in_stock) {
437
- $(this).addClass('disabled');
438
- }
439
- });
440
- });
441
- }, 2)*/
442
- });
443
 
444
- this._element.on('woocommerce_variation_has_changed', function (event) {
445
- if (is_ajax) {
446
- $(this).find('ul.variable-items-wrapper').each(function () {
447
- var _this4 = this;
448
-
449
- var selected = '',
450
- options = $(this).siblings('select.woo-variation-raw-select').find('option'),
451
- current = $(this).siblings('select.woo-variation-raw-select').find('option:selected'),
452
- eq = $(this).siblings('select.woo-variation-raw-select').find('option').eq(1),
453
- li = $(this).find('li'),
454
- selects = [];
455
-
456
- // For Avada FIX
457
- if (options.length < 1) {
458
- options = $(this).parent().find('select.woo-variation-raw-select').find('option');
459
- current = $(this).parent().find('select.woo-variation-raw-select').find('option:selected');
460
- eq = $(this).parent().find('select.woo-variation-raw-select').find('option').eq(1);
461
- }
462
 
463
- options.each(function () {
464
- if ($(this).val() !== '') {
465
- selects.push($(this).val());
466
- selected = current ? current.val() : eq.val();
467
  }
468
- });
469
 
470
- _.delay(function () {
471
- li.each(function () {
472
- var value = $(this).attr('data-value');
473
- $(this).removeClass('selected disabled');
474
 
475
- if (value === selected) {
476
- $(this).addClass('selected');
477
- if ($(this).hasClass('radio-variable-item')) {
478
- $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', false).prop('checked', true);
479
- }
480
  }
481
- });
482
-
483
- // Items Updated
484
- $(_this4).trigger('wvs-items-updated');
485
- }, 1);
486
- });
487
- }
488
- });
489
 
490
- // WithOut Ajax Update
491
- this._element.on('woocommerce_update_variation_values', function (event) {
492
- $(this).find('ul.variable-items-wrapper').each(function () {
493
- var _this5 = this;
494
 
495
- var selected = '',
496
- options = $(this).siblings('select.woo-variation-raw-select').find('option'),
497
- current = $(this).siblings('select.woo-variation-raw-select').find('option:selected'),
498
- eq = $(this).siblings('select.woo-variation-raw-select').find('option').eq(1),
499
- li = $(this).find('li:not(.woo-variation-swatches-variable-item-more)'),
500
- selects = [];
501
 
502
- // For Avada FIX
503
- if (options.length < 1) {
504
- options = $(this).parent().find('select.woo-variation-raw-select').find('option');
505
- current = $(this).parent().find('select.woo-variation-raw-select').find('option:selected');
506
- eq = $(this).parent().find('select.woo-variation-raw-select').find('option').eq(1);
507
- }
508
 
509
- options.each(function () {
510
- if ($(this).val() !== '') {
511
- selects.push($(this).val());
512
- selected = current ? current.val() : eq.val();
513
- }
514
- });
515
 
516
- _.delay(function () {
517
- li.each(function () {
518
- var value = $(this).attr('data-value');
519
  $(this).removeClass('selected disabled').addClass('disabled');
 
 
 
 
 
 
520
 
521
  // if (_.contains(selects, value))
 
 
522
 
523
- if (_.indexOf(selects, value) !== -1) {
 
524
 
525
- $(this).removeClass('disabled');
 
 
526
 
527
  $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', false);
528
 
529
- if (value === selected) {
 
 
 
 
 
530
 
531
  $(this).addClass('selected');
 
 
 
 
 
532
 
533
  if ($(this).hasClass('radio-variable-item')) {
534
  $(this).find('input.wvs-radio-variable-item:radio').prop('checked', true);
535
  }
536
  }
537
- } else {
538
-
539
- if ($(this).hasClass('radio-variable-item')) {
540
- $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', true).prop('checked', false);
541
- }
542
  }
 
 
543
  });
 
544
 
545
- // Items Updated
546
- $(_this5).trigger('wvs-items-updated');
547
- }, 1);
548
  });
549
  });
550
  }
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
76
  /***/ (function(module, exports, __webpack_require__) {
77
 
78
  jQuery(function ($) {
79
+
80
  Promise.resolve().then(function () {
81
  return __webpack_require__(11);
82
  }).then(function () {
83
+
84
  // Init on Ajax Popup :)
85
+ $(document).on('wc_variation_form.wvs', '.variations_form:not(.wvs-loaded)', function (event) {
86
  $(this).WooVariationSwatches();
87
  });
88
 
 
 
 
 
 
 
89
  // Support for Jetpack's Infinite Scroll,
90
  $(document.body).on('post-load.wvs', function () {
91
  $('.variations_form').each(function () {
158
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
159
 
160
  // ================================================================
161
+ // WooCommerce Variation Swatches
162
+ /*global _, wc_add_to_cart_variation_params, woo_variation_swatches_options */
163
  // ================================================================
164
 
165
  var WooVariationSwatches = function ($) {
175
  this._config = $.extend({}, Default, config);
176
  this._generated = {};
177
  this._out_of_stock = {};
178
+ this._disabled = {};
179
+ this.product_variations = this._element.data('product_variations') || [];
180
+ this.is_ajax_variation = this.product_variations.length < 1;
181
  this.product_id = this._element.data('product_id');
182
+ this.reset_variations = this._element.find('.reset_variations');
183
+ /*this.hidden_behaviour = $('body').hasClass('woo-variation-swatches-attribute-behavior-hide');*/
184
  this.is_mobile = $('body').hasClass('woo-variation-swatches-on-mobile');
185
+ this.selected_item_template = '<span class="woo-selected-variation-item-name" data-default=""></span>';
186
+
187
+ this._element.addClass('wvs-loaded');
188
 
189
  // Call
190
+ this.init();
191
+ this.update();
 
 
192
 
193
  // Trigger
194
  $(document).trigger('woo_variation_swatches', [this._element]);
196
 
197
  _createClass(WooVariationSwatches, [{
198
  key: 'init',
199
+ value: function init() {
200
+ var _this2 = this;
201
 
202
  var _this = this;
203
+
204
+ this._generated = this.product_variations.reduce(function (obj, variation) {
205
+
206
+ Object.keys(variation.attributes).map(function (attribute_name) {
207
+ if (!obj[attribute_name]) {
208
+ obj[attribute_name] = [];
209
+ }
210
+
211
+ if (variation.attributes[attribute_name]) {
212
+ obj[attribute_name].push(variation.attributes[attribute_name]);
213
+ }
214
+ });
215
+
216
+ return obj;
217
+ }, {});
218
+
219
+ this._out_of_stock = this.product_variations.reduce(function (obj, variation) {
220
+
221
+ Object.keys(variation.attributes).map(function (attribute_name) {
222
+ if (!obj[attribute_name]) {
223
+ obj[attribute_name] = [];
224
+ }
225
+
226
+ if (variation.attributes[attribute_name] && !variation.is_in_stock) {
227
+ obj[attribute_name].push(variation.attributes[attribute_name]);
228
+ }
229
+ });
230
+
231
+ return obj;
232
+ }, {});
233
+
234
+ // Append Selected Item Template
235
+ if (woo_variation_swatches_options.show_variation_label) {
236
+ this._element.find('.variations .label').each(function (index, el) {
237
+ $(el).append(_this2.selected_item_template);
238
+ });
239
+ }
240
+
241
  this._element.find('ul.variable-items-wrapper').each(function (i, el) {
242
 
243
+ $(this).parent().addClass('woo-variation-items-wrapper');
244
+
245
  var select = $(this).siblings('select.woo-variation-raw-select');
246
+ var selected = '';
247
+
248
+ var options = $(this).siblings('select.woo-variation-raw-select').find('option');
249
+ var disabled = $(this).siblings('select.woo-variation-raw-select').find('option:disabled');
250
+ var current = $(this).siblings('select.woo-variation-raw-select').find('option:selected');
251
+ var eq = $(this).siblings('select.woo-variation-raw-select').find('option').eq(1);
252
+
253
+ var li = $(this).find('li:not(.woo-variation-swatches-variable-item-more)');
254
  var reselect_clear = $(this).hasClass('reselect-clear');
 
 
 
255
 
256
+ var mouse_event_name = 'click.wvs'; // 'touchstart click';
257
+
258
+ var attribute = $(this).data('attribute_name');
259
+ var attribute_values = _this.is_ajax_variation ? [] : _this._generated[attribute];
260
+ var out_of_stocks = _this.is_ajax_variation ? [] : _this._out_of_stock[attribute];
261
+ var selects = [];
262
+ var disabled_selects = [];
263
+ var $selected_variation_item = $(this).parent().prev().find('.woo-selected-variation-item-name');
264
 
265
  // For Avada FIX
266
+ if (options.length < 1) {
267
  select = $(this).parent().find('select.woo-variation-raw-select');
268
+ options = $(this).parent().find('select.woo-variation-raw-select').find('option');
269
+ disabled = $(this).parent().find('select.woo-variation-raw-select').find('option:disabled');
270
+ current = $(this).parent().find('select.woo-variation-raw-select').find('option:selected');
271
+ eq = $(this).parent().find('select.woo-variation-raw-select').find('option').eq(1);
272
  }
273
 
274
+ options.each(function () {
275
+ if ($(this).val() !== '') {
276
+ selects.push($(this).val());
277
+ selected = current ? current.val() : eq.val();
278
+ }
279
+ });
280
+
281
+ disabled.each(function () {
282
+ if ($(this).val() !== '') {
283
+ disabled_selects.push($(this).val());
284
+ }
285
+ });
286
+
287
+ var in_stocks = _.difference(selects, disabled_selects);
288
+
289
+ // Mark Selected
290
+ li.each(function (index, li) {
291
+
292
+ var attribute_value = $(this).attr('data-value');
293
+ var attribute_title = $(this).attr('data-title');
294
+
295
+ $(this).removeClass('selected disabled').addClass('disabled');
296
+ $(this).attr('aria-checked', 'false');
297
+ $(this).attr('tabindex', '-1');
298
+
299
+ if ($(this).hasClass('radio-variable-item')) {
300
+ $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', true).prop('checked', false);
301
+ }
302
+
303
+ // Default Selected
304
+ if (in_stocks.includes(attribute_value)) {
305
+
306
+ $(this).removeClass('selected disabled');
307
+ $(this).removeAttr('aria-hidden');
308
+ $(this).attr('tabindex', '0');
309
+
310
+ $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', false);
311
+
312
+ if (attribute_value === selected) {
313
+
314
+ $(this).addClass('selected');
315
+ $(this).attr('aria-checked', 'true');
316
+
317
+ if (woo_variation_swatches_options.show_variation_label) {
318
+ $selected_variation_item.text(': ' + attribute_title);
319
+ }
320
+
321
+ if ($(this).hasClass('radio-variable-item')) {
322
+ $(this).find('input.wvs-radio-variable-item:radio').prop('checked', true);
323
+ }
324
+ }
325
+ }
326
+ });
327
+
328
+ // Trigger Select event based on list
329
+
330
  if (reselect_clear) {
331
+
332
+ // Non Selected Item Should Select
333
  $(this).on(mouse_event_name, 'li:not(.selected):not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)', function (e) {
334
  e.preventDefault();
335
  e.stopPropagation();
339
 
340
  select.trigger('focusin');
341
 
342
+ if (_this.is_mobile) {
343
  select.trigger('touchstart');
344
  }
345
 
347
  $(this).trigger('wvs-selected-item', [value, select, _this._element]); // Custom Event for li
348
  });
349
 
350
+ // Selected Item Should Non Select
351
+ $(this).on(mouse_event_name, 'li.selected:not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)', function (e) {
352
  e.preventDefault();
353
  e.stopPropagation();
354
 
359
 
360
  select.trigger('focusin');
361
 
362
+ if (_this.is_mobile) {
363
  select.trigger('touchstart');
364
  }
365
 
369
  });
370
 
371
  // RADIO
372
+
373
+ // On Click trigger change event on Radio button
374
  $(this).on(mouse_event_name, 'input.wvs-radio-variable-item:radio', function (e) {
375
+
376
  e.stopPropagation();
377
+
378
+ $(this).trigger('change.wvs', { radioChange: true });
379
  });
380
 
381
+ $(this).on('change.wvs', 'input.wvs-radio-variable-item:radio', function (e, params) {
 
382
 
383
  e.preventDefault();
384
  e.stopPropagation();
385
 
386
+ if (params && params.radioChange) {
387
 
388
+ var value = $(this).val();
389
+ var is_selected = $(this).parent('li.radio-variable-item').hasClass('selected');
 
 
 
 
 
 
 
 
390
 
391
+ if (is_selected) {
392
+ select.val('').trigger('change');
393
+ $(this).parent('li.radio-variable-item').trigger('wvs-unselected-item', [value, select, _this._element]); // Custom Event for li
394
+ } else {
395
+ select.val(value).trigger('change');
396
+ $(this).parent('li.radio-variable-item').trigger('wvs-selected-item', [value, select, _this._element]); // Custom Event for li
397
+ }
398
+
399
+ select.trigger('click');
400
+ select.trigger('focusin');
401
+ if (_this.is_mobile) {
402
+ select.trigger('touchstart');
403
+ }
404
  }
405
  });
406
  } else {
407
+
408
+ $(this).on(mouse_event_name, 'li:not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)', function (event) {
409
+
410
+ event.preventDefault();
411
+ event.stopPropagation();
412
+
413
  var value = $(this).data('value');
414
  select.val(value).trigger('change');
415
  select.trigger('click');
416
  select.trigger('focusin');
417
+ if (_this.is_mobile) {
418
  select.trigger('touchstart');
419
  }
420
 
424
  });
425
 
426
  // Radio
427
+ $(this).on('change.wvs', 'input.wvs-radio-variable-item:radio', function (event) {
428
+ event.preventDefault();
429
+ event.stopPropagation();
430
+
431
  var value = $(this).val();
432
 
433
  select.val(value).trigger('change');
434
  select.trigger('click');
435
  select.trigger('focusin');
436
 
437
+ if (_this.is_mobile) {
438
  select.trigger('touchstart');
439
  }
440
 
443
  $(this).parent('li.radio-variable-item').trigger('wvs-selected-item', [value, select, _this._element]); // Custom Event for li
444
  });
445
  }
446
+
447
+ // Keyboard Access
448
+ $(this).on('keydown.wvs', 'li:not(.disabled):not(.woo-variation-swatches-variable-item-more)', function (event) {
449
+ if (event.keyCode && 32 === event.keyCode || event.key && " " === event.key || event.keyCode && 13 === event.keyCode || event.key && "enter" === event.key.toLowerCase()) {
450
+ event.preventDefault();
451
+ $(this).trigger(mouse_event_name);
452
+ }
453
+ });
454
  });
455
 
456
+ this._element.trigger('woo_variation_swatches_init', [this, this.product_variations]);
457
+
458
+ $(document).trigger('woo_variation_swatches_loaded', [this._element, this.product_variations]);
 
 
459
  }
460
  }, {
461
+ key: 'update',
462
+ value: function update() {
 
 
 
 
 
 
 
 
 
463
 
464
+ var _this = this;
 
 
 
465
 
466
+ this._element.on('woocommerce_variation_has_changed.wvs', function (event) {
 
467
 
468
+ event.stopPropagation();
469
 
470
+ $(this).find('ul.variable-items-wrapper').each(function (index, el) {
 
 
 
471
 
472
+ var select = $(this).siblings('select.woo-variation-raw-select');
473
+ var selected = '';
 
 
474
 
475
+ var options = $(this).siblings('select.woo-variation-raw-select').find('option');
476
+ var disabled = $(this).siblings('select.woo-variation-raw-select').find('option:disabled');
477
+ var current = $(this).siblings('select.woo-variation-raw-select').find('option:selected');
478
+ var eq = $(this).siblings('select.woo-variation-raw-select').find('option').eq(1);
479
+ var li = $(this).find('li:not(.woo-variation-swatches-variable-item-more)');
480
 
481
+ //let reselect_clear = $(this).hasClass('reselect-clear');
482
+ //let is_mobile = $('body').hasClass('woo-variation-swatches-on-mobile');
483
+ //let mouse_event_name = 'click.wvs'; // 'touchstart click';
484
 
485
+ var attribute = $(this).data('attribute_name');
486
+ var attribute_values = _this.is_ajax_variation ? [] : _this._generated[attribute];
487
+ var out_of_stocks = _this.is_ajax_variation ? [] : _this._out_of_stock[attribute];
488
+ var selects = [];
489
+ var disabled_selects = [];
490
+ var $selected_variation_item = $(this).parent().prev().find('.woo-selected-variation-item-name');
491
 
492
+ // For Avada FIX
493
+ if (options.length < 1) {
494
+ select = $(this).parent().find('select.woo-variation-raw-select');
495
+ options = $(this).parent().find('select.woo-variation-raw-select').find('option');
496
+ disabled = $(this).parent().find('select.woo-variation-raw-select').find('option:disabled');
497
+ current = $(this).parent().find('select.woo-variation-raw-select').find('option:selected');
498
+ eq = $(this).parent().find('select.woo-variation-raw-select').find('option').eq(1);
499
+ }
500
 
501
+ options.each(function () {
502
+ if ($(this).val() !== '') {
503
+ selects.push($(this).val());
504
+ selected = current ? current.val() : eq.val();
505
+ }
506
+ });
507
 
508
+ disabled.each(function () {
509
+ if ($(this).val() !== '') {
510
+ disabled_selects.push($(this).val());
511
+ }
512
+ });
513
 
514
+ var in_stocks = _.difference(selects, disabled_selects);
 
 
515
 
516
+ if (_this.is_ajax_variation) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
517
 
518
+ li.each(function (index, el) {
 
 
 
 
 
 
 
519
 
520
+ var attribute_value = $(this).attr('data-value');
521
+ var attribute_title = $(this).attr('data-title');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
 
523
+ $(this).removeClass('selected disabled');
524
+ $(this).attr('aria-checked', 'false');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
525
 
526
+ // To Prevent blink
527
+ if (selected.length < 1 && woo_variation_swatches_options.show_variation_label) {
528
+ $selected_variation_item.text('');
 
529
  }
 
530
 
531
+ if (attribute_value === selected) {
532
+ $(this).addClass('selected');
533
+ $(this).attr('aria-checked', 'true');
 
534
 
535
+ if (woo_variation_swatches_options.show_variation_label) {
536
+ $selected_variation_item.text(': ' + attribute_title);
 
 
 
537
  }
 
 
 
 
 
 
 
 
538
 
539
+ if ($(this).hasClass('radio-variable-item')) {
540
+ $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', false).prop('checked', true);
541
+ }
542
+ }
543
 
544
+ $(this).trigger('wvs-item-updated', [selected, attribute_value, _this]);
545
+ });
546
+ } else {
 
 
 
547
 
548
+ li.each(function (index, el) {
 
 
 
 
 
549
 
550
+ var attribute_value = $(this).attr('data-value');
551
+ var attribute_title = $(this).attr('data-title');
 
 
 
 
552
 
 
 
 
553
  $(this).removeClass('selected disabled').addClass('disabled');
554
+ $(this).attr('aria-checked', 'false');
555
+ $(this).attr('tabindex', '-1');
556
+
557
+ if ($(this).hasClass('radio-variable-item')) {
558
+ $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', true).prop('checked', false);
559
+ }
560
 
561
  // if (_.contains(selects, value))
562
+ // if (_.indexOf(selects, value) !== -1)
563
+ // if (selects.includes(value))
564
 
565
+ // Make Selected // selects.includes(attribute_value) // in_stocks
566
+ if (in_stocks.includes(attribute_value)) {
567
 
568
+ $(this).removeClass('selected disabled');
569
+ $(this).removeAttr('aria-hidden');
570
+ $(this).attr('tabindex', '0');
571
 
572
  $(this).find('input.wvs-radio-variable-item:radio').prop('disabled', false);
573
 
574
+ // To Prevent blink
575
+ if (selected.length < 1 && woo_variation_swatches_options.show_variation_label) {
576
+ $selected_variation_item.text('');
577
+ }
578
+
579
+ if (attribute_value === selected) {
580
 
581
  $(this).addClass('selected');
582
+ $(this).attr('aria-checked', 'true');
583
+
584
+ if (woo_variation_swatches_options.show_variation_label) {
585
+ $selected_variation_item.text(': ' + attribute_title);
586
+ }
587
 
588
  if ($(this).hasClass('radio-variable-item')) {
589
  $(this).find('input.wvs-radio-variable-item:radio').prop('checked', true);
590
  }
591
  }
 
 
 
 
 
592
  }
593
+
594
+ $(this).trigger('wvs-item-updated', [selected, attribute_value, _this]);
595
  });
596
+ }
597
 
598
+ // Items Updated
599
+ $(this).trigger('wvs-items-updated');
 
600
  });
601
  });
602
  }
assets/js/frontend.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var i={};function e(a){if(i[a])return i[a].exports;var o=i[a]={i:a,l:!1,exports:{}};return t[a].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=i,e.d=function(t,i,a){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:a})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=9)}({10:function(t,i,e){jQuery(function(t){Promise.resolve().then(function(){return e(11)}).then(function(){t(document).on("wc_variation_form.wvs",".variations_form",function(){t(this).WooVariationSwatches()}),t(document.body).on("post-load.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("yith_infs_added_elem.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("yith-wcan-ajax-filtered.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("wood-images-loaded.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("berocket_ajax_products_loaded.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(".shop-container .products").on("append.infiniteScroll",function(i,e,a){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("facetwp-loaded.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t("body").on("aln_reloaded.wvs",function(){_.delay(function(){t(".variations_form").each(function(){t(this).wc_variation_form()})},100)})})})},11:function(t,i,e){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,i){for(var e=0;e<i.length;e++){var a=i[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(i,e,a){return e&&t(i.prototype,e),a&&t(i,a),i}}();var o=function(t){var i={},e=function(){function e(a,o){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,e),this._element=t(a),this._config=t.extend({},i,o),this._generated={},this._out_of_stock={},this.product_variations=this._element.data("product_variations"),this.is_ajax_variation=!this.product_variations,this.product_id=this._element.data("product_id"),this.hidden_behaviour=t("body").hasClass("woo-variation-swatches-attribute-behavior-hide"),this.is_mobile=t("body").hasClass("woo-variation-swatches-on-mobile"),this.init(this.is_ajax_variation,this.hidden_behaviour),this.loaded(this.is_ajax_variation,this.hidden_behaviour),this.update(this.is_ajax_variation,this.hidden_behaviour),this.reset(this.is_ajax_variation,this.hidden_behaviour),t(document).trigger("woo_variation_swatches",[this._element])}return a(e,[{key:"init",value:function(i,e){var a=this,o=this;this._element.find("ul.variable-items-wrapper").each(function(i,e){var a=t(this).siblings("select.woo-variation-raw-select"),n=(t(this).find("li"),t(this).hasClass("reselect-clear")),r=t("body").hasClass("woo-variation-swatches-on-mobile");t(this).parent().addClass("woo-variation-items-wrapper"),a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select")),n?(t(this).on("click","li:not(.selected):not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[e,a,o._element])}),t(this).on("click","li.selected:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).val();a.val("").trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-unselected-item",[e,a,o._element])}),t(this).on("click","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation(),t(this).trigger("change")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){var e=this;i.preventDefault(),i.stopPropagation();var n=t(this).val();t(this).parent("li.radio-variable-item").hasClass("selected")?(a.val("").trigger("change"),_.delay(function(){t(e).prop("checked",!1),t(e).parent("li.radio-variable-item").trigger("wvs-unselected-item",[n,a,o._element])},1)):(a.val(n).trigger("change"),t(this).parent(".radio-variable-item").trigger("wvs-selected-item",[n,a,o._element])),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart")})):(t(this).on("click","li:not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[e,a,o._element])}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).val();a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).parent("li.radio-variable-item").removeClass("selected disabled").addClass("selected"),t(this).parent("li.radio-variable-item").trigger("wvs-selected-item",[e,a,o._element])}))}),_.delay(function(){a._element.trigger("reload_product_variations"),a._element.trigger("woo_variation_swatches_init",[a,a.product_variations]),t(document).trigger("woo_variation_swatches_loaded",[a._element,a.product_variations])},1)}},{key:"loaded",value:function(i,e){i||this._element.on("woo_variation_swatches_init",function(i,e,a){e._generated=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&t[e].push(i.attributes[e])}),t},{}),e._out_of_stock=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&!i.is_in_stock&&t[e].push(i.attributes[e])}),t},{}),t(this).find("ul.variable-items-wrapper").each(function(){var i=t(this).find("li:not(.woo-variation-swatches-variable-item-more)"),a=t(this).data("attribute_name"),o=e._generated[a];e._out_of_stock[a];i.each(function(){var i=t(this).attr("data-value");_.isEmpty(o)||-1!==_.indexOf(o,i)||(t(this).removeClass("selected"),t(this).addClass("disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1))})})})}},{key:"reset",value:function(i,e){var a=this;this._element.on("reset_data",function(e){t(this).find("ul.variable-items-wrapper").each(function(){t(this).find("li").each(function(){i?t(this).hasClass("radio-variable-item"):(t(this).removeClass("selected disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!1)),t(this).trigger("wvs-unselected-item",["","",a._element])})})})}},{key:"update",value:function(i,e){this._element.on("__found_variation",function(t,i){}),this._element.on("woocommerce_variation_has_changed",function(e){i&&t(this).find("ul.variable-items-wrapper").each(function(){var i=this,e="",a=t(this).siblings("select.woo-variation-raw-select").find("option"),o=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),n=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),r=t(this).find("li"),s=[];a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select").find("option"),o=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),n=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),a.each(function(){""!==t(this).val()&&(s.push(t(this).val()),e=o?o.val():n.val())}),_.delay(function(){r.each(function(){var i=t(this).attr("data-value");t(this).removeClass("selected disabled"),i===e&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!0))}),t(i).trigger("wvs-items-updated")},1)})}),this._element.on("woocommerce_update_variation_values",function(i){t(this).find("ul.variable-items-wrapper").each(function(){var i=this,e="",a=t(this).siblings("select.woo-variation-raw-select").find("option"),o=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),n=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),r=t(this).find("li:not(.woo-variation-swatches-variable-item-more)"),s=[];a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select").find("option"),o=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),n=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),a.each(function(){""!==t(this).val()&&(s.push(t(this).val()),e=o?o.val():n.val())}),_.delay(function(){r.each(function(){var i=t(this).attr("data-value");t(this).removeClass("selected disabled").addClass("disabled"),-1!==_.indexOf(s,i)?(t(this).removeClass("disabled"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),i===e&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0))):t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1)}),t(i).trigger("wvs-items-updated")},1)})})}}],[{key:"_jQueryInterface",value:function(t){return this.each(function(){new e(this,t)})}}]),e}();return t.fn.WooVariationSwatches=e._jQueryInterface,t.fn.WooVariationSwatches.Constructor=e,t.fn.WooVariationSwatches.noConflict=function(){return t.fn.WooVariationSwatches=t.fn.WooVariationSwatches,e._jQueryInterface},e}(jQuery);i.default=o},9:function(t,i,e){t.exports=e(10)}});
1
+ !function(t){var i={};function e(a){if(i[a])return i[a].exports;var o=i[a]={i:a,l:!1,exports:{}};return t[a].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=i,e.d=function(t,i,a){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:a})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=9)}({10:function(t,i,e){jQuery(function(t){Promise.resolve().then(function(){return e(11)}).then(function(){t(document).on("wc_variation_form.wvs",".variations_form:not(.wvs-loaded)",function(i){t(this).WooVariationSwatches()}),t(document.body).on("post-load.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("yith_infs_added_elem.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("yith-wcan-ajax-filtered.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("wood-images-loaded.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("berocket_ajax_products_loaded.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(".shop-container .products").on("append.infiniteScroll",function(i,e,a){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("facetwp-loaded.wvs",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t("body").on("aln_reloaded.wvs",function(){_.delay(function(){t(".variations_form").each(function(){t(this).wc_variation_form()})},100)})})})},11:function(t,i,e){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,i){for(var e=0;e<i.length;e++){var a=i[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(i,e,a){return e&&t(i.prototype,e),a&&t(i,a),i}}();var o=function(t){var i={},e=function(){function e(a,o){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,e),this._element=t(a),this._config=t.extend({},i,o),this._generated={},this._out_of_stock={},this._disabled={},this.product_variations=this._element.data("product_variations")||[],this.is_ajax_variation=this.product_variations.length<1,this.product_id=this._element.data("product_id"),this.reset_variations=this._element.find(".reset_variations"),this.is_mobile=t("body").hasClass("woo-variation-swatches-on-mobile"),this.selected_item_template='<span class="woo-selected-variation-item-name" data-default=""></span>',this._element.addClass("wvs-loaded"),this.init(),this.update(),t(document).trigger("woo_variation_swatches",[this._element])}return a(e,[{key:"init",value:function(){var i=this,e=this;this._generated=this.product_variations.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&t[e].push(i.attributes[e])}),t},{}),this._out_of_stock=this.product_variations.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&!i.is_in_stock&&t[e].push(i.attributes[e])}),t},{}),woo_variation_swatches_options.show_variation_label&&this._element.find(".variations .label").each(function(e,a){t(a).append(i.selected_item_template)}),this._element.find("ul.variable-items-wrapper").each(function(i,a){t(this).parent().addClass("woo-variation-items-wrapper");var o=t(this).siblings("select.woo-variation-raw-select"),s="",n=t(this).siblings("select.woo-variation-raw-select").find("option"),r=t(this).siblings("select.woo-variation-raw-select").find("option:disabled"),c=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),l=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),d=t(this).find("li:not(.woo-variation-swatches-variable-item-more)"),h=t(this).hasClass("reselect-clear"),v=t(this).data("attribute_name"),u=(e.is_ajax_variation||e._generated[v],e.is_ajax_variation||e._out_of_stock[v],[]),f=[],w=t(this).parent().prev().find(".woo-selected-variation-item-name");n.length<1&&(o=t(this).parent().find("select.woo-variation-raw-select"),n=t(this).parent().find("select.woo-variation-raw-select").find("option"),r=t(this).parent().find("select.woo-variation-raw-select").find("option:disabled"),c=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),l=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),n.each(function(){""!==t(this).val()&&(u.push(t(this).val()),s=c?c.val():l.val())}),r.each(function(){""!==t(this).val()&&f.push(t(this).val())});var p=_.difference(u,f);d.each(function(i,e){var a=t(this).attr("data-value"),o=t(this).attr("data-title");t(this).removeClass("selected disabled").addClass("disabled"),t(this).attr("aria-checked","false"),t(this).attr("tabindex","-1"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1),p.includes(a)&&(t(this).removeClass("selected disabled"),t(this).removeAttr("aria-hidden"),t(this).attr("tabindex","0"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),a===s&&(t(this).addClass("selected"),t(this).attr("aria-checked","true"),woo_variation_swatches_options.show_variation_label&&w.text(": "+o),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0)))}),h?(t(this).on("click.wvs","li:not(.selected):not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)",function(i){i.preventDefault(),i.stopPropagation();var a=t(this).data("value");o.val(a).trigger("change"),o.trigger("click"),o.trigger("focusin"),e.is_mobile&&o.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[a,o,e._element])}),t(this).on("click.wvs","li.selected:not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)",function(i){i.preventDefault(),i.stopPropagation();var a=t(this).val();o.val("").trigger("change"),o.trigger("click"),o.trigger("focusin"),e.is_mobile&&o.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-unselected-item",[a,o,e._element])}),t(this).on("click.wvs","input.wvs-radio-variable-item:radio",function(i){i.stopPropagation(),t(this).trigger("change.wvs",{radioChange:!0})}),t(this).on("change.wvs","input.wvs-radio-variable-item:radio",function(i,a){if(i.preventDefault(),i.stopPropagation(),a&&a.radioChange){var s=t(this).val();t(this).parent("li.radio-variable-item").hasClass("selected")?(o.val("").trigger("change"),t(this).parent("li.radio-variable-item").trigger("wvs-unselected-item",[s,o,e._element])):(o.val(s).trigger("change"),t(this).parent("li.radio-variable-item").trigger("wvs-selected-item",[s,o,e._element])),o.trigger("click"),o.trigger("focusin"),e.is_mobile&&o.trigger("touchstart")}})):(t(this).on("click.wvs","li:not(.radio-variable-item):not(.woo-variation-swatches-variable-item-more)",function(i){i.preventDefault(),i.stopPropagation();var a=t(this).data("value");o.val(a).trigger("change"),o.trigger("click"),o.trigger("focusin"),e.is_mobile&&o.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[a,o,e._element])}),t(this).on("change.wvs","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation();var a=t(this).val();o.val(a).trigger("change"),o.trigger("click"),o.trigger("focusin"),e.is_mobile&&o.trigger("touchstart"),t(this).parent("li.radio-variable-item").removeClass("selected disabled").addClass("selected"),t(this).parent("li.radio-variable-item").trigger("wvs-selected-item",[a,o,e._element])})),t(this).on("keydown.wvs","li:not(.disabled):not(.woo-variation-swatches-variable-item-more)",function(i){(i.keyCode&&32===i.keyCode||i.key&&" "===i.key||i.keyCode&&13===i.keyCode||i.key&&"enter"===i.key.toLowerCase())&&(i.preventDefault(),t(this).trigger("click.wvs"))})}),this._element.trigger("woo_variation_swatches_init",[this,this.product_variations]),t(document).trigger("woo_variation_swatches_loaded",[this._element,this.product_variations])}},{key:"update",value:function(){var i=this;this._element.on("woocommerce_variation_has_changed.wvs",function(e){e.stopPropagation(),t(this).find("ul.variable-items-wrapper").each(function(e,a){t(this).siblings("select.woo-variation-raw-select");var o="",s=t(this).siblings("select.woo-variation-raw-select").find("option"),n=t(this).siblings("select.woo-variation-raw-select").find("option:disabled"),r=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),c=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),l=t(this).find("li:not(.woo-variation-swatches-variable-item-more)"),d=t(this).data("attribute_name"),h=(i.is_ajax_variation||i._generated[d],i.is_ajax_variation||i._out_of_stock[d],[]),v=[],u=t(this).parent().prev().find(".woo-selected-variation-item-name");s.length<1&&(t(this).parent().find("select.woo-variation-raw-select"),s=t(this).parent().find("select.woo-variation-raw-select").find("option"),n=t(this).parent().find("select.woo-variation-raw-select").find("option:disabled"),r=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),c=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),s.each(function(){""!==t(this).val()&&(h.push(t(this).val()),o=r?r.val():c.val())}),n.each(function(){""!==t(this).val()&&v.push(t(this).val())});var f=_.difference(h,v);i.is_ajax_variation?l.each(function(e,a){var s=t(this).attr("data-value"),n=t(this).attr("data-title");t(this).removeClass("selected disabled"),t(this).attr("aria-checked","false"),o.length<1&&woo_variation_swatches_options.show_variation_label&&u.text(""),s===o&&(t(this).addClass("selected"),t(this).attr("aria-checked","true"),woo_variation_swatches_options.show_variation_label&&u.text(": "+n),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!0)),t(this).trigger("wvs-item-updated",[o,s,i])}):l.each(function(e,a){var s=t(this).attr("data-value"),n=t(this).attr("data-title");t(this).removeClass("selected disabled").addClass("disabled"),t(this).attr("aria-checked","false"),t(this).attr("tabindex","-1"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1),f.includes(s)&&(t(this).removeClass("selected disabled"),t(this).removeAttr("aria-hidden"),t(this).attr("tabindex","0"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),o.length<1&&woo_variation_swatches_options.show_variation_label&&u.text(""),s===o&&(t(this).addClass("selected"),t(this).attr("aria-checked","true"),woo_variation_swatches_options.show_variation_label&&u.text(": "+n),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0))),t(this).trigger("wvs-item-updated",[o,s,i])}),t(this).trigger("wvs-items-updated")})})}}],[{key:"_jQueryInterface",value:function(t){return this.each(function(){new e(this,t)})}}]),e}();return t.fn.WooVariationSwatches=e._jQueryInterface,t.fn.WooVariationSwatches.Constructor=e,t.fn.WooVariationSwatches.noConflict=function(){return t.fn.WooVariationSwatches=t.fn.WooVariationSwatches,e._jQueryInterface},e}(jQuery);i.default=o},9:function(t,i,e){t.exports=e(10)}});
assets/js/gwp-admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.86
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 9/7/2020, 1:59:18 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.1.0
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 10/27/2020, 8:26:21 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
assets/js/wvs-customize-alpha-color-control.js ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*global wp*/
2
+ var WVS_Customize_Alpha_Color_Control = {
3
+ ready: function ready() {
4
+
5
+ var control = this,
6
+ updating = false,
7
+ picker = void 0;
8
+
9
+ picker = this.container.find('.wvs-color-picker');
10
+ picker.val(control.setting()).wpColorPicker({
11
+ change: function change() {
12
+ updating = true;
13
+ control.setting.set(picker.wpColorPicker('color'));
14
+ updating = false;
15
+ },
16
+ clear: function clear() {
17
+ updating = true;
18
+ control.setting.set('');
19
+ updating = false;
20
+ }
21
+ });
22
+
23
+ control.setting.bind(function (value) {
24
+ // Bail if the update came from the control itself.
25
+ if (updating) {
26
+ return;
27
+ }
28
+ picker.val(value);
29
+ picker.wpColorPicker('color', value);
30
+ });
31
+
32
+ // Collapse color picker when hitting Esc instead of collapsing the current section.
33
+ control.container.on('keydown', function (event) {
34
+ var pickerContainer = void 0;
35
+ if (27 !== event.which) {
36
+ // Esc.
37
+ return;
38
+ }
39
+ pickerContainer = control.container.find('.wp-picker-container');
40
+ if (pickerContainer.hasClass('wp-picker-active')) {
41
+ picker.wpColorPicker('close');
42
+ control.container.find('.wp-color-result').focus();
43
+ event.stopPropagation(); // Prevent section from being collapsed.
44
+ }
45
+ });
46
+ }
47
+ };
48
+
49
+ wp.customize.controlConstructor['wvs-alpha-color'] = wp.customize.Control.extend(WVS_Customize_Alpha_Color_Control);
assets/js/wvs-customize-alpha-color-control.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var WVS_Customize_Alpha_Color_Control={ready:function(){var o=this,n=!1,t=void 0;t=this.container.find(".wvs-color-picker"),t.val(o.setting()).wpColorPicker({change:function(){n=!0,o.setting.set(t.wpColorPicker("color")),n=!1},clear:function(){n=!0,o.setting.set(""),n=!1}}),o.setting.bind(function(o){n||(t.val(o),t.wpColorPicker("color",o))}),o.container.on("keydown",function(n){var i=void 0;27===n.which&&(i=o.container.find(".wp-picker-container"),i.hasClass("wp-picker-active")&&(t.wpColorPicker("close"),o.container.find(".wp-color-result").focus(),n.stopPropagation()))})}};wp.customize.controlConstructor["wvs-alpha-color"]=wp.customize.Control.extend(WVS_Customize_Alpha_Color_Control);
images/advanced-screenshot.png ADDED
Binary file
images/archive-preview.png ADDED
Binary file
images/archive-pro.png ADDED
Binary file
images/red-archive-preview.png CHANGED
Binary file
images/red-special-preview.png CHANGED
Binary file
images/red-style-preview.png CHANGED
Binary file
images/special-preview.png ADDED
Binary file
images/style-preview.png ADDED
Binary file
images/tutorial-21.jpg ADDED
Binary file
includes/class-wvs-settings-api.php CHANGED
@@ -12,6 +12,8 @@
12
  class WVS_Settings_API {
13
 
14
  private $setting_name = 'woo_variation_swatches';
 
 
15
  private $transient_setting_name = '_temp_woo_variation_swatches_options';
16
  private $cache_key = 'woo_variation_swatches_options';
17
  private $theme_feature_name = 'woo-variation-swatches';
@@ -25,7 +27,8 @@
25
 
26
  $this->plugin_class = woo_variation_swatches();
27
 
28
- $this->settings_name = apply_filters( 'wvs_settings_name', $this->setting_name );
 
29
 
30
  $this->slug = sprintf( '%s-settings', sanitize_key( $this->plugin_class->dirname() ) );
31
 
@@ -40,6 +43,8 @@
40
  // add_action( 'pre_update_option', array( $this, 'before_update' ), 10, 3 );
41
 
42
  add_action( "pre_update_option_{$this->settings_name}", array( $this, 'before_update' ), 10, 3 );
 
 
43
 
44
  add_filter( 'plugin_action_links_' . $this->plugin_class->basename(), array( $this, 'plugin_action_links' ) );
45
 
@@ -56,7 +61,17 @@
56
  do_action( 'wvs_setting_api_init', $this );
57
  }
58
 
59
- public function before_update( $value, $option, $old_value ) {
 
 
 
 
 
 
 
 
 
 
60
  //if ( $this->settings_name === $option ) {
61
  // Here We will do magic :D
62
  // delete_transient( $this->transient_setting_name );
@@ -224,14 +239,29 @@
224
  return $options;
225
  }
226
 
 
 
 
 
 
 
 
 
227
  public function settings_init() {
228
 
 
 
 
 
 
229
  register_setting( $this->settings_name, $this->settings_name, array( $this, 'sanitize_callback' ) );
230
 
231
  foreach ( $this->fields as $tab_key => $tab ) {
232
 
233
  $tab = apply_filters( 'wvs_settings_tab', $tab );
234
 
 
 
235
  foreach ( $tab[ 'sections' ] as $section_key => $section ) {
236
 
237
  $section = apply_filters( 'wvs_settings_section', $section, $tab );
@@ -334,7 +364,7 @@
334
 
335
  $attrs = isset( $args[ 'attrs' ] ) ? $this->make_implode_html_attributes( $args[ 'attrs' ] ) : '';
336
 
337
- $html = sprintf( '<fieldset><label><input %1$s type="checkbox" id="%2$s-field" name="%4$s[%2$s]" value="%3$s" %5$s/> %6$s</label></fieldset>', $attrs, $args[ 'id' ], true, $this->settings_name, checked( $value, true, false ), esc_attr( $args[ 'desc' ] ) );
338
 
339
  echo $html;
340
  }
@@ -374,13 +404,17 @@
374
  }
375
 
376
  public function get_field_description( $args ) {
 
 
 
 
377
  if ( ! empty( $args[ 'desc' ] ) ) {
378
- $desc = sprintf( '<p class="description">%s</p>', $args[ 'desc' ] );
379
  } else {
380
- $desc = '';
381
  }
382
 
383
- return $desc;
384
  }
385
 
386
  public function post_select_field_callback( $args ) {
@@ -498,13 +532,26 @@
498
  </div>
499
  <?php
500
  $this->last_tab_input();
501
- submit_button();
502
  ?>
 
 
 
 
 
503
  </form>
504
  </div>
505
  <?php
506
  }
507
 
 
 
 
 
 
 
 
 
508
  private function last_tab_input() {
509
  printf( '<input type="hidden" id="_last_active_tab" name="%s[_last_active_tab]" value="%s">', $this->settings_name, $this->get_last_active_tab() );
510
  }
@@ -520,7 +567,10 @@
520
  }
521
 
522
  private function get_options_tab_pro_attr( $tabs ) {
523
- return ( isset( $tabs[ 'is_pro' ] ) && $tabs[ 'is_pro' ] ) ? sprintf( 'data-pro-text="%s"', apply_filters( 'wvs_settings_tab_pro_text', 'Pro' ) ) : false;
 
 
 
524
  }
525
 
526
  private function get_options_tab_css_classes( $tabs ) {
@@ -634,6 +684,9 @@
634
  $wrapper_id = ! empty( $field[ 'args' ][ 'id' ] ) ? esc_attr( $field[ 'args' ][ 'id' ] ) . '-wrapper' : '';
635
  $dependency = ! empty( $field[ 'args' ][ 'require' ] ) ? $this->build_dependency( $field[ 'args' ][ 'require' ] ) : '';
636
 
 
 
 
637
  printf( '<tr id="%s" %s %s>', $wrapper_id, $custom_attributes, $dependency );
638
 
639
  if ( isset( $field[ 'args' ][ 'pro' ] ) ) {
@@ -641,14 +694,18 @@
641
  $this->pro_field_callback( $field[ 'args' ] );
642
  echo '</td>';
643
  } else {
644
-
645
  if ( ! empty( $field[ 'args' ][ 'label_for' ] ) ) {
646
- echo '<th scope="row"><label for="' . esc_attr( $field[ 'args' ][ 'label_for' ] ) . '">' . $field[ 'title' ] . '</label></th>';
647
  } else {
648
- echo '<th scope="row">' . $field[ 'title' ] . '</th>';
649
  }
650
 
651
- echo '<td>';
 
 
 
 
652
  call_user_func( $field[ 'callback' ], $field[ 'args' ] );
653
  echo '</td>';
654
  }
@@ -656,5 +713,17 @@
656
  echo '</tr>';
657
  }
658
  }
 
 
 
 
 
 
 
 
 
 
 
 
659
  }
660
  endif;
12
  class WVS_Settings_API {
13
 
14
  private $setting_name = 'woo_variation_swatches';
15
+ private $setting_reset_name = 'reset';
16
+ private $show_pro_name = 'pro';
17
  private $transient_setting_name = '_temp_woo_variation_swatches_options';
18
  private $cache_key = 'woo_variation_swatches_options';
19
  private $theme_feature_name = 'woo-variation-swatches';
27
 
28
  $this->plugin_class = woo_variation_swatches();
29
 
30
+ $this->settings_name = apply_filters( 'wvs_settings_name', $this->setting_name );
31
+ $this->setting_reset_name = apply_filters( 'wvs_reset_settings_name', $this->setting_reset_name );
32
 
33
  $this->slug = sprintf( '%s-settings', sanitize_key( $this->plugin_class->dirname() ) );
34
 
43
  // add_action( 'pre_update_option', array( $this, 'before_update' ), 10, 3 );
44
 
45
  add_action( "pre_update_option_{$this->settings_name}", array( $this, 'before_update' ), 10, 3 );
46
+ add_action( "update_option_{$this->settings_name}", array( $this, 'after_update' ), 10, 3 );
47
+
48
 
49
  add_filter( 'plugin_action_links_' . $this->plugin_class->basename(), array( $this, 'plugin_action_links' ) );
50
 
61
  do_action( 'wvs_setting_api_init', $this );
62
  }
63
 
64
+ public function before_update( $value, $old_value, $option ) {
65
+ //if ( $this->settings_name === $option ) {
66
+ // Here We will do magic :D
67
+ // delete_transient( $this->transient_setting_name );
68
+
69
+ //}
70
+
71
+ return $value;
72
+ }
73
+
74
+ public function after_update( $old_value, $value, $option ) {
75
  //if ( $this->settings_name === $option ) {
76
  // Here We will do magic :D
77
  // delete_transient( $this->transient_setting_name );
239
  return $options;
240
  }
241
 
242
+ public function is_reset_all() {
243
+ return isset( $_GET[ 'page' ] ) && ( $_GET[ 'page' ] == $this->slug ) && isset( $_GET[ $this->setting_reset_name ] );
244
+ }
245
+
246
+ public function is_show_pro() {
247
+ return isset( $_GET[ 'page' ] ) && ( $_GET[ 'page' ] == $this->slug ) && isset( $_GET[ $this->show_pro_name ] );
248
+ }
249
+
250
  public function settings_init() {
251
 
252
+ if ( $this->is_reset_all() ) {
253
+ $this->delete_settings();
254
+ wp_redirect( $this->settings_url() );
255
+ }
256
+
257
  register_setting( $this->settings_name, $this->settings_name, array( $this, 'sanitize_callback' ) );
258
 
259
  foreach ( $this->fields as $tab_key => $tab ) {
260
 
261
  $tab = apply_filters( 'wvs_settings_tab', $tab );
262
 
263
+ // print_r( $tab); die;
264
+
265
  foreach ( $tab[ 'sections' ] as $section_key => $section ) {
266
 
267
  $section = apply_filters( 'wvs_settings_section', $section, $tab );
364
 
365
  $attrs = isset( $args[ 'attrs' ] ) ? $this->make_implode_html_attributes( $args[ 'attrs' ] ) : '';
366
 
367
+ $html = sprintf( '<fieldset><label><input %1$s type="checkbox" id="%2$s-field" name="%4$s[%2$s]" value="%3$s" %5$s/> %6$s</label> %7$s</fieldset>', $attrs, $args[ 'id' ], true, $this->settings_name, checked( $value, true, false ), esc_attr( $args[ 'desc' ] ), $this->get_field_description( $args ) );
368
 
369
  echo $html;
370
  }
404
  }
405
 
406
  public function get_field_description( $args ) {
407
+
408
+ $desc = '';
409
+ $desc .= $this->show_pro_label_tag_content();
410
+
411
  if ( ! empty( $args[ 'desc' ] ) ) {
412
+ $desc .= sprintf( '<p class="description">%s</p>', $args[ 'desc' ] );
413
  } else {
414
+ $desc .= '';
415
  }
416
 
417
+ return ( ( $args[ 'type' ] === 'checkbox' ) ) ? $this->show_pro_label_tag_content() : $desc;
418
  }
419
 
420
  public function post_select_field_callback( $args ) {
532
  </div>
533
  <?php
534
  $this->last_tab_input();
535
+ // submit_button();
536
  ?>
537
+ <p class="submit wvs-button-wrapper">
538
+ <input type="submit" id="submit" class="button button-primary" value="<?php esc_html_e( 'Save Changes', 'woo-variation-swatches' ) ?>">
539
+ <a onclick="return confirm('<?php esc_attr_e( 'Are you sure to reset current settings?', 'woo-variation-swatches' ) ?>')" class="reset" href="<?php echo $this->reset_url() ?>"><?php esc_html_e( 'Reset all', 'woo-variation-swatches' ) ?></a>
540
+ </p>
541
+
542
  </form>
543
  </div>
544
  <?php
545
  }
546
 
547
+ public function reset_url() {
548
+ return add_query_arg( array( 'page' => $this->slug, 'reset' => '' ), admin_url( 'admin.php' ) );
549
+ }
550
+
551
+ public function settings_url() {
552
+ return add_query_arg( array( 'page' => $this->slug ), admin_url( 'admin.php' ) );
553
+ }
554
+
555
  private function last_tab_input() {
556
  printf( '<input type="hidden" id="_last_active_tab" name="%s[_last_active_tab]" value="%s">', $this->settings_name, $this->get_last_active_tab() );
557
  }
567
  }
568
 
569
  private function get_options_tab_pro_attr( $tabs ) {
570
+ // $attrs[] = ( isset( $tabs[ 'is_pro' ] ) && $tabs[ 'is_pro' ] ) ? sprintf( 'data-pro-text="%s"', apply_filters( 'wvs_settings_tab_pro_text', 'Pro' ) ) : false;
571
+ $attrs[] = ( isset( $tabs[ 'is_new' ] ) && $tabs[ 'is_new' ] ) ? sprintf( 'data-new-text="%s"', apply_filters( 'wvs_settings_tab_new_text', 'New' ) ) : false;
572
+
573
+ return implode( ' ', $attrs );
574
  }
575
 
576
  private function get_options_tab_css_classes( $tabs ) {
684
  $wrapper_id = ! empty( $field[ 'args' ][ 'id' ] ) ? esc_attr( $field[ 'args' ][ 'id' ] ) . '-wrapper' : '';
685
  $dependency = ! empty( $field[ 'args' ][ 'require' ] ) ? $this->build_dependency( $field[ 'args' ][ 'require' ] ) : '';
686
 
687
+ $is_new = ( isset( $field[ 'args' ][ 'is_new' ] ) && $field[ 'args' ][ 'is_new' ] );
688
+ $new_html = $is_new ? '<span class="wvs-new-feature-tick">' . esc_html__( 'NEW', 'woo-variation-swatches' ) . '</span>' : '';
689
+
690
  printf( '<tr id="%s" %s %s>', $wrapper_id, $custom_attributes, $dependency );
691
 
692
  if ( isset( $field[ 'args' ][ 'pro' ] ) ) {
694
  $this->pro_field_callback( $field[ 'args' ] );
695
  echo '</td>';
696
  } else {
697
+ echo '<th scope="row" class="wvs-settings-label">';
698
  if ( ! empty( $field[ 'args' ][ 'label_for' ] ) ) {
699
+ echo '<label for="' . esc_attr( $field[ 'args' ][ 'label_for' ] ) . '">' . $field[ 'title' ] . $new_html . '</label>';
700
  } else {
701
+ echo $field[ 'title' ] . $new_html;
702
  }
703
 
704
+ echo $this->show_pro_label_tag();
705
+ echo '</th>';
706
+
707
+
708
+ echo '<td class="wvs-settings-field-content">';
709
  call_user_func( $field[ 'callback' ], $field[ 'args' ] );
710
  echo '</td>';
711
  }
713
  echo '</tr>';
714
  }
715
  }
716
+
717
+ public function show_pro_label_tag() {
718
+ if ( $this->is_show_pro() ) {
719
+ return '<div class="wvs-show-pro-label"><span>PRO FEATURE</span></div>';
720
+ }
721
+ }
722
+
723
+ public function show_pro_label_tag_content() {
724
+ if ( $this->is_show_pro() ) {
725
+ return '<span class="wvs-show-pro-contents">Upgrade to premium &gt;&gt;</span>';
726
+ }
727
+ }
728
  }
729
  endif;
includes/functions.php CHANGED
@@ -302,11 +302,21 @@
302
  'min' => 1,
303
  'max' => 80,
304
  ),
 
 
 
 
 
 
 
 
 
 
305
  array(
306
- 'id' => 'attribute-behavior',
307
  'type' => 'radio',
308
  'title' => esc_html__( 'Attribute behavior', 'woo-variation-swatches' ),
309
- 'desc' => __( 'Disabled attribute will be hide / blur. <br><span style="color: red">Note: Product variation loaded via ajax doesn\'t apply this feature.</span>', 'woo-variation-swatches' ),
310
  'options' => array(
311
  'blur' => esc_html__( 'Blur with cross', 'woo-variation-swatches' ),
312
  'blur-no-cross' => esc_html__( 'Blur without cross', 'woo-variation-swatches' ),
@@ -343,7 +353,7 @@
343
  'suffix' => 'px'
344
  ),
345
  array(
346
- 'id' => 'single-font-size',
347
  'type' => 'number',
348
  'title' => esc_html__( 'Font Size', 'woo-variation-swatches' ),
349
  'desc' => esc_html__( 'Single product variation item font size', 'woo-variation-swatches' ),
@@ -746,19 +756,21 @@
746
  if ( ! function_exists( 'wvs_get_wc_attribute_taxonomy' ) ):
747
  function wvs_get_wc_attribute_taxonomy( $attribute_name ) {
748
 
749
- $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', $attribute_name );
750
 
751
  if ( isset( $_GET[ 'wvs_clear_transient' ] ) ) {
752
- delete_transient( $transient );
753
  }
754
 
755
- if ( false === ( $attribute_taxonomy = get_transient( $transient ) ) ) {
 
 
756
  global $wpdb;
757
  $attribute_name = str_replace( 'pa_', '', wc_sanitize_taxonomy_name( $attribute_name ) );
758
 
759
  $attribute_taxonomy = $wpdb->get_row( "SELECT * FROM " . $wpdb->prefix . "woocommerce_attribute_taxonomies WHERE attribute_name='{$attribute_name}'" );
760
 
761
- set_transient( $transient, $attribute_taxonomy, HOUR_IN_SECONDS );
762
  }
763
 
764
  return apply_filters( 'wvs_get_wc_attribute_taxonomy', $attribute_taxonomy, $attribute_name );
@@ -802,6 +814,7 @@
802
  function wvs_variable_items_wrapper( $contents, $type, $args, $saved_attribute = array() ) {
803
 
804
  $attribute = $args[ 'attribute' ];
 
805
 
806
  $css_classes = apply_filters( 'wvs_variable_items_wrapper_class', array( "{$type}-variable-wrapper" ), $type, $args, $saved_attribute );
807
 
@@ -809,7 +822,8 @@
809
 
810
  array_push( $css_classes, $clear_on_reselect );
811
 
812
- $data = sprintf( '<ul class="variable-items-wrapper %s" data-attribute_name="%s">%s</ul>', trim( implode( ' ', array_unique( $css_classes ) ) ), esc_attr( wc_variation_attribute_name( $attribute ) ), $contents );
 
813
 
814
  return apply_filters( 'wvs_variable_items_wrapper', $data, $contents, $type, $args, $saved_attribute );
815
  }
@@ -831,16 +845,20 @@
831
  $name = uniqid( wc_variation_attribute_name( $attribute ) );
832
  foreach ( $terms as $term ) {
833
  if ( in_array( $term->slug, $options ) ) {
834
- $selected_class = ( sanitize_title( $args[ 'selected' ] ) == $term->slug ) ? 'selected' : '';
 
 
 
835
  $tooltip = trim( apply_filters( 'wvs_variable_item_tooltip', $term->name, $term, $args ) );
836
 
837
- $tooltip_html_attr = ! empty( $tooltip ) ? sprintf( 'data-wvstooltip="%s"', esc_attr( $tooltip ) ) : '';
 
838
 
839
  if ( wp_is_mobile() ) {
840
  $tooltip_html_attr .= ! empty( $tooltip ) ? ' tabindex="2"' : '';
841
  }
842
 
843
- $data .= sprintf( '<li %1$s class="variable-item %2$s-variable-item %2$s-variable-item-%3$s %4$s" title="%5$s" data-value="%3$s" role="button" tabindex="0">', $tooltip_html_attr, esc_attr( $type ), esc_attr( $term->slug ), esc_attr( $selected_class ), esc_html( $term->name ) );
844
 
845
  switch ( $type ):
846
  case 'color':
@@ -855,7 +873,7 @@
855
  $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
856
  // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
857
 
858
- $data .= sprintf( '<img alt="%s" src="%s" width="%d" height="%d" />', esc_attr( $term->name ), esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
859
 
860
  break;
861
 
@@ -866,7 +884,7 @@
866
 
867
  case 'radio':
868
  $id = uniqid( $term->slug );
869
- $data .= sprintf( '<input name="%1$s" id="%2$s" class="wvs-radio-variable-item" %3$s type="radio" value="%4$s" data-value="%4$s" /><label for="%2$s">%5$s</label>', $name, $id, checked( sanitize_title( $args[ 'selected' ] ), $term->slug, false ), esc_attr( $term->slug ), esc_html( $term->name ) );
870
  break;
871
 
872
  default:
@@ -890,6 +908,10 @@
890
  $attribute = $args[ 'attribute' ];
891
  $assigned = $args[ 'assigned' ];
892
 
 
 
 
 
893
  $is_archive = ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] );
894
  $show_archive_tooltip = (bool) woo_variation_swatches()->get_option( 'show_tooltip_on_archive' );
895
 
@@ -905,14 +927,19 @@
905
  $name = uniqid( wc_variation_attribute_name( $attribute ) );
906
  foreach ( $terms as $term ) {
907
  if ( in_array( $term->slug, $options ) ) {
908
- $selected_class = ( sanitize_title( $args[ 'selected' ] ) == $term->slug ) ? 'selected' : '';
 
 
 
909
  $tooltip = trim( apply_filters( 'wvs_variable_item_tooltip', $term->name, $term, $args ) );
910
 
911
  if ( $is_archive && ! $show_archive_tooltip ) {
912
  $tooltip = false;
913
  }
914
 
915
- $tooltip_html_attr = ! empty( $tooltip ) ? sprintf( 'data-wvstooltip="%s"', esc_attr( $tooltip ) ) : '';
 
 
916
 
917
  if ( wp_is_mobile() ) {
918
  $tooltip_html_attr .= ! empty( $tooltip ) ? ' tabindex="2"' : '';
@@ -924,7 +951,7 @@
924
  $type = 'button';
925
  }
926
 
927
- $data .= sprintf( '<li %1$s class="variable-item %2$s-variable-item %2$s-variable-item-%3$s %4$s" title="%5$s" data-value="%3$s" role="button" tabindex="0">', $tooltip_html_attr, esc_attr( $type ), esc_attr( $term->slug ), esc_attr( $selected_class ), esc_html( $term->name ) );
928
 
929
  switch ( $type ):
930
 
@@ -933,7 +960,7 @@
933
  $image_size = sanitize_text_field( woo_variation_swatches()->get_option( 'attribute_image_size' ) );
934
  $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
935
  // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
936
- $data .= sprintf( '<img alt="%s" src="%s" width="%d" height="%d" />', esc_attr( apply_filters( 'woocommerce_variation_option_name', $term->name, $term, $attribute, $product ) ), esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
937
  // $data .= $image_html;
938
  break;
939
 
@@ -956,14 +983,18 @@
956
 
957
  $option = esc_html( apply_filters( 'woocommerce_variation_option_name', $option, null, $attribute, $product ) );
958
 
959
- $selected_class = ( sanitize_title( $option ) == sanitize_title( $args[ 'selected' ] ) ) ? 'selected' : '';
 
 
960
  $tooltip = trim( apply_filters( 'wvs_variable_item_tooltip', esc_attr( $option ), $options, $args ) );
961
 
 
962
  if ( $is_archive && ! $show_archive_tooltip ) {
963
  $tooltip = false;
964
  }
965
 
966
- $tooltip_html_attr = ! empty( $tooltip ) ? sprintf( 'data-wvstooltip="%s"', esc_attr( $tooltip ) ) : '';
 
967
 
968
  if ( wp_is_mobile() ) {
969
  $tooltip_html_attr .= ! empty( $tooltip ) ? ' tabindex="2"' : '';
@@ -975,7 +1006,7 @@
975
  $type = 'button';
976
  }
977
 
978
- $data .= sprintf( '<li %1$s class="variable-item %2$s-variable-item %2$s-variable-item-%3$s %4$s" title="%5$s" data-value="%3$s" role="button" tabindex="0">', $tooltip_html_attr, esc_attr( $type ), esc_attr( $option ), esc_attr( $selected_class ), esc_html( $option ) );
979
 
980
  switch ( $type ):
981
 
@@ -984,7 +1015,7 @@
984
  $image_size = sanitize_text_field( woo_variation_swatches()->get_option( 'attribute_image_size' ) );
985
  $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
986
  // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
987
- $data .= sprintf( '<img alt="%s" src="%s" width="%d" height="%d" />', esc_attr( $option ), esc_url( $image[ 0 ] ), esc_attr( $image[ 1 ] ), esc_attr( $image[ 2 ] ) );
988
  // $data .= $image_html;
989
  break;
990
 
@@ -1450,6 +1481,8 @@
1450
  return $html;
1451
  }
1452
 
 
 
1453
  // WooCommerce Product Bundle Fixing
1454
  if ( isset( $_POST[ 'action' ] ) && $_POST[ 'action' ] === 'woocommerce_configure_bundle_order_item' ) {
1455
  return $html;
@@ -1467,11 +1500,16 @@
1467
  $product_transient_name = 'wvs_attribute_html_' . $product_id . "_" . $attribute_id;
1468
  $use_transient = (bool) woo_variation_swatches()->get_option( 'use_transient' );
1469
 
1470
- if ( isset( $_GET[ 'wvs_clear_transient' ] ) || ! $use_transient ) {
1471
  delete_transient( $transient_name );
1472
- delete_transient( $archive_transient_name );
1473
- delete_transient( $product_transient_name );
1474
  }
 
 
 
 
 
1475
 
1476
  if ( ! isset( $_GET[ 'wvs_clear_transient' ] ) && $use_transient ) {
1477
  $transient_html = get_transient( $transient_name );
@@ -1760,4 +1798,41 @@
1760
 
1761
  echo ob_get_clean();
1762
  }
1763
- endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  'min' => 1,
303
  'max' => 80,
304
  ),
305
+
306
+ array(
307
+ 'id' => 'show_variation_label',
308
+ 'type' => 'checkbox',
309
+ 'title' => esc_html__( 'Show selected attribute', 'woo-variation-swatches' ),
310
+ 'desc' => esc_html__( 'Show selected attribute variation name beside the title', 'woo-variation-swatches' ),
311
+ 'default' => true,
312
+ 'is_new' => true
313
+ ),
314
+
315
  array(
316
+ 'id' => 'attribute_behavior',
317
  'type' => 'radio',
318
  'title' => esc_html__( 'Attribute behavior', 'woo-variation-swatches' ),
319
+ 'desc' => sprintf( __( 'Disabled attribute will be hide / blur. %sNote: Product variation loaded via ajax doesn\'t apply this feature.%s', 'woo-variation-swatches' ), '<br><span style="color: red">', '</span>' ),
320
  'options' => array(
321
  'blur' => esc_html__( 'Blur with cross', 'woo-variation-swatches' ),
322
  'blur-no-cross' => esc_html__( 'Blur without cross', 'woo-variation-swatches' ),
353
  'suffix' => 'px'
354
  ),
355
  array(
356
+ 'id' => 'single_font_size',
357
  'type' => 'number',
358
  'title' => esc_html__( 'Font Size', 'woo-variation-swatches' ),
359
  'desc' => esc_html__( 'Single product variation item font size', 'woo-variation-swatches' ),
756
  if ( ! function_exists( 'wvs_get_wc_attribute_taxonomy' ) ):
757
  function wvs_get_wc_attribute_taxonomy( $attribute_name ) {
758
 
759
+ $transient_name = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', $attribute_name );
760
 
761
  if ( isset( $_GET[ 'wvs_clear_transient' ] ) ) {
762
+ delete_transient( $transient_name );
763
  }
764
 
765
+ $attribute_taxonomy = get_transient( $transient_name );
766
+
767
+ if ( false === $attribute_taxonomy ) {
768
  global $wpdb;
769
  $attribute_name = str_replace( 'pa_', '', wc_sanitize_taxonomy_name( $attribute_name ) );
770
 
771
  $attribute_taxonomy = $wpdb->get_row( "SELECT * FROM " . $wpdb->prefix . "woocommerce_attribute_taxonomies WHERE attribute_name='{$attribute_name}'" );
772
 
773
+ set_transient( $transient_name, $attribute_taxonomy );
774
  }
775
 
776
  return apply_filters( 'wvs_get_wc_attribute_taxonomy', $attribute_taxonomy, $attribute_name );
814
  function wvs_variable_items_wrapper( $contents, $type, $args, $saved_attribute = array() ) {
815
 
816
  $attribute = $args[ 'attribute' ];
817
+ $options = $args[ 'options' ];
818
 
819
  $css_classes = apply_filters( 'wvs_variable_items_wrapper_class', array( "{$type}-variable-wrapper" ), $type, $args, $saved_attribute );
820
 
822
 
823
  array_push( $css_classes, $clear_on_reselect );
824
 
825
+ // <div aria-live="polite" aria-atomic="true" class="screen-reader-text">%1$s: <span data-default=""></span></div>
826
+ $data = sprintf( '<ul role="radiogroup" aria-label="%1$s" class="variable-items-wrapper %2$s" data-attribute_name="%3$s" data-attribute_values="%4$s">%5$s</ul>', esc_attr( wc_attribute_label( $attribute ) ), trim( implode( ' ', array_unique( $css_classes ) ) ), esc_attr( wc_variation_attribute_name( $attribute ) ), wc_esc_json( wp_json_encode( array_values( $options ) ) ), $contents );
827
 
828
  return apply_filters( 'wvs_variable_items_wrapper', $data, $contents, $type, $args, $saved_attribute );
829
  }
845
  $name = uniqid( wc_variation_attribute_name( $attribute ) );
846
  foreach ( $terms as $term ) {
847
  if ( in_array( $term->slug, $options ) ) {
848
+
849
+ // aria-checked="false"
850
+ $is_selected = ( sanitize_title( $args[ 'selected' ] ) == $term->slug );
851
+ $selected_class = $is_selected ? 'selected' : '';
852
  $tooltip = trim( apply_filters( 'wvs_variable_item_tooltip', $term->name, $term, $args ) );
853
 
854
+ $tooltip_html_attr = ! empty( $tooltip ) ? sprintf( ' data-wvstooltip="%s"', esc_attr( $tooltip ) ) : '';
855
+ $screen_reader_html_attr = $is_selected ? ' aria-checked="true"' : ' aria-checked="false"';
856
 
857
  if ( wp_is_mobile() ) {
858
  $tooltip_html_attr .= ! empty( $tooltip ) ? ' tabindex="2"' : '';
859
  }
860
 
861
+ $data .= sprintf( '<li %1$s class="variable-item %2$s-variable-item %2$s-variable-item-%3$s %4$s" title="%5$s" data-title="%5$s" data-value="%3$s" role="radio" tabindex="0">', $screen_reader_html_attr . $tooltip_html_attr, esc_attr( $type ), esc_attr( $term->slug ), esc_attr( $selected_class ), esc_html( $term->name ) );
862
 
863
  switch ( $type ):
864
  case 'color':
873
  $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
874
  // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
875
 
876
+ $data .= sprintf( '<img aria-hidden="true" alt="%s" src="%s" width="%d" height="%d" />', esc_attr( $term->name ), esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
877
 
878
  break;
879
 
884
 
885
  case 'radio':
886
  $id = uniqid( $term->slug );
887
+ $data .= sprintf( '<input name="%1$s" id="%2$s" class="wvs-radio-variable-item" %3$s type="radio" value="%4$s" data-title="%5$s" data-value="%4$s" /><label for="%2$s">%5$s</label>', $name, $id, checked( sanitize_title( $args[ 'selected' ] ), $term->slug, false ), esc_attr( $term->slug ), esc_html( $term->name ) );
888
  break;
889
 
890
  default:
908
  $attribute = $args[ 'attribute' ];
909
  $assigned = $args[ 'assigned' ];
910
 
911
+ /*$product_variations = new WC_Product_Variable( $product->get_id() );
912
+ $product_variations = $product_variations->get_available_variations();
913
+ print_r($product_variations); die;*/
914
+
915
  $is_archive = ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] );
916
  $show_archive_tooltip = (bool) woo_variation_swatches()->get_option( 'show_tooltip_on_archive' );
917
 
927
  $name = uniqid( wc_variation_attribute_name( $attribute ) );
928
  foreach ( $terms as $term ) {
929
  if ( in_array( $term->slug, $options ) ) {
930
+
931
+ $is_selected = ( sanitize_title( $args[ 'selected' ] ) == $term->slug );
932
+
933
+ $selected_class = $is_selected ? 'selected' : '';
934
  $tooltip = trim( apply_filters( 'wvs_variable_item_tooltip', $term->name, $term, $args ) );
935
 
936
  if ( $is_archive && ! $show_archive_tooltip ) {
937
  $tooltip = false;
938
  }
939
 
940
+ $tooltip_html_attr = ! empty( $tooltip ) ? sprintf( ' data-wvstooltip="%s"', esc_attr( $tooltip ) ) : '';
941
+ $screen_reader_html_attr = $is_selected ? ' aria-checked="true"' : ' aria-checked="false"';
942
+
943
 
944
  if ( wp_is_mobile() ) {
945
  $tooltip_html_attr .= ! empty( $tooltip ) ? ' tabindex="2"' : '';
951
  $type = 'button';
952
  }
953
 
954
+ $data .= sprintf( '<li %1$s class="variable-item %2$s-variable-item %2$s-variable-item-%3$s %4$s" title="%5$s" data-title="%5$s" data-value="%3$s" role="radio" tabindex="0">', $screen_reader_html_attr . $tooltip_html_attr, esc_attr( $type ), esc_attr( $term->slug ), esc_attr( $selected_class ), esc_html( $term->name ) );
955
 
956
  switch ( $type ):
957
 
960
  $image_size = sanitize_text_field( woo_variation_swatches()->get_option( 'attribute_image_size' ) );
961
  $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
962
  // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
963
+ $data .= sprintf( '<img aria-hidden="true" alt="%s" src="%s" width="%d" height="%d" />', esc_attr( apply_filters( 'woocommerce_variation_option_name', $term->name, $term, $attribute, $product ) ), esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
964
  // $data .= $image_html;
965
  break;
966
 
983
 
984
  $option = esc_html( apply_filters( 'woocommerce_variation_option_name', $option, null, $attribute, $product ) );
985
 
986
+ $is_selected = ( sanitize_title( $option ) == sanitize_title( $args[ 'selected' ] ) );
987
+
988
+ $selected_class = $is_selected ? 'selected' : '';
989
  $tooltip = trim( apply_filters( 'wvs_variable_item_tooltip', esc_attr( $option ), $options, $args ) );
990
 
991
+
992
  if ( $is_archive && ! $show_archive_tooltip ) {
993
  $tooltip = false;
994
  }
995
 
996
+ $tooltip_html_attr = ! empty( $tooltip ) ? sprintf( 'data-wvstooltip="%s"', esc_attr( $tooltip ) ) : '';
997
+ $screen_reader_html_attr = $is_selected ? ' aria-checked="true"' : ' aria-checked="false"';
998
 
999
  if ( wp_is_mobile() ) {
1000
  $tooltip_html_attr .= ! empty( $tooltip ) ? ' tabindex="2"' : '';
1006
  $type = 'button';
1007
  }
1008
 
1009
+ $data .= sprintf( '<li %1$s class="variable-item %2$s-variable-item %2$s-variable-item-%3$s %4$s" title="%5$s" data-title="%5$s" data-value="%3$s" role="radio" tabindex="0">', $screen_reader_html_attr . $tooltip_html_attr, esc_attr( $type ), esc_attr( $option ), esc_attr( $selected_class ), esc_html( $option ) );
1010
 
1011
  switch ( $type ):
1012
 
1015
  $image_size = sanitize_text_field( woo_variation_swatches()->get_option( 'attribute_image_size' ) );
1016
  $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
1017
  // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
1018
+ $data .= sprintf( '<img aria-hidden="true" alt="%s" src="%s" width="%d" height="%d" />', esc_attr( $option ), esc_url( $image[ 0 ] ), esc_attr( $image[ 1 ] ), esc_attr( $image[ 2 ] ) );
1019
  // $data .= $image_html;
1020
  break;
1021
 
1481
  return $html;
1482
  }
1483
 
1484
+ //return $html;
1485
+
1486
  // WooCommerce Product Bundle Fixing
1487
  if ( isset( $_POST[ 'action' ] ) && $_POST[ 'action' ] === 'woocommerce_configure_bundle_order_item' ) {
1488
  return $html;
1500
  $product_transient_name = 'wvs_attribute_html_' . $product_id . "_" . $attribute_id;
1501
  $use_transient = (bool) woo_variation_swatches()->get_option( 'use_transient' );
1502
 
1503
+ if ( isset( $_GET[ 'wvs_clear_transient' ] ) ) {
1504
  delete_transient( $transient_name );
1505
+ // delete_transient( $archive_transient_name );
1506
+ // delete_transient( $product_transient_name );
1507
  }
1508
+ /* if ( isset( $_GET[ 'wvs_clear_transient' ] ) || ! $use_transient ) {
1509
+ delete_transient( $transient_name );
1510
+ delete_transient( $archive_transient_name );
1511
+ delete_transient( $product_transient_name );
1512
+ }*/
1513
 
1514
  if ( ! isset( $_GET[ 'wvs_clear_transient' ] ) && $use_transient ) {
1515
  $transient_html = get_transient( $transient_name );
1798
 
1799
  echo ob_get_clean();
1800
  }
1801
+ endif;
1802
+
1803
+ //-------------------------------------------------------------------------------
1804
+ // Swatch Locate Template
1805
+ //-------------------------------------------------------------------------------
1806
+
1807
+ if ( ! function_exists( 'wvs_locate_template' ) ):
1808
+ function wvs_locate_template( $template, $template_name, $template_path ) {
1809
+
1810
+ $default_template = $template;
1811
+
1812
+ if ( ! $template_path ) {
1813
+ $template_path = WC()->template_path();
1814
+ }
1815
+
1816
+ // Swatch Plugin Path
1817
+ $plugin_path = woo_variation_swatches()->plugin_path() . '/woocommerce/';
1818
+
1819
+ // Look within passed path within the theme - this is priority
1820
+ $template = locate_template( array(
1821
+ $template_path . $template_name,
1822
+ $template_name
1823
+ ) );
1824
+
1825
+ // Modification: Get the template from this plugin, if it exists
1826
+ if ( ! $template && file_exists( $plugin_path . $template_name ) ) {
1827
+ $template = $plugin_path . $template_name;
1828
+ }
1829
+
1830
+ // Use default template
1831
+ if ( ! $template || WC_TEMPLATE_DEBUG_MODE ) {
1832
+ $template = $default_template;
1833
+ }
1834
+
1835
+ // Return what we found
1836
+ return $template;
1837
+ }
1838
+ endif;
includes/hooks.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
4
 
5
-
6
  add_action( 'wp_ajax_nopriv_wvs_get_available_variations', 'wvs_get_available_product_variations' );
7
 
8
  add_action( 'wp_ajax_wvs_get_available_variations', 'wvs_get_available_product_variations' );
@@ -107,4 +106,6 @@
107
  $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $attribute[ 'attribute_name' ] ) );
108
  delete_transient( $transient );
109
  }, 20, 2 );
110
-
 
 
2
 
3
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
4
 
 
5
  add_action( 'wp_ajax_nopriv_wvs_get_available_variations', 'wvs_get_available_product_variations' );
6
 
7
  add_action( 'wp_ajax_wvs_get_available_variations', 'wvs_get_available_product_variations' );
106
  $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $attribute[ 'attribute_name' ] ) );
107
  delete_transient( $transient );
108
  }, 20, 2 );
109
+
110
+ // Load Template
111
+ // add_filter( 'woocommerce_locate_template', 'wvs_locate_template', 10, 3 );
includes/tutorials.php CHANGED
@@ -43,7 +43,7 @@
43
  </div>
44
  <div class="tutorial-buttons">
45
  <a href="http://j.mp/button-video-preview-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
46
-
47
  </div>
48
  </div>
49
  </li>
@@ -77,7 +77,7 @@
77
 
78
  </li>
79
 
80
- <li>
81
 
82
  <div class="tutorial-description-wrapper">
83
  <h3>Cross/Blur/Hide Out of Stock Variation</h3>
@@ -93,9 +93,9 @@
93
  </li>
94
  <li>
95
  <div class="tutorial-image-wrapper">
96
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
97
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
98
- <?php endif; ?>
99
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-14.gif' ) ?>">
100
  </div>
101
  <div class="tutorial-description-wrapper">
@@ -106,9 +106,9 @@
106
  <div class="tutorial-buttons">
107
  <a href="http://j.mp/autoimage-swatches-generate-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
108
  <a href="http://j.mp/auto-image-swatches-insideplugin" target="_blank" class="button button-docs">Documentation</a>
109
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
110
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
111
- <?php endif; ?>
112
  </div>
113
  </div>
114
 
@@ -123,82 +123,83 @@
123
  <div class="tutorial-buttons">
124
  <a href="http://j.mp/radio-swatches-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
125
  <a href="http://bit.ly/radio-tuts-doc-inside" target="_blank" class="button button-docs">Documentation</a>
126
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
127
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
128
- <?php endif; ?>
129
  </div>
130
  </div>
131
  <div class="tutorial-image-wrapper">
132
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
133
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
134
- <?php endif; ?>
135
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-7.jpg' ) ?>">
136
  </div>
137
  </li>
138
 
139
  <li>
140
  <div class="tutorial-image-wrapper">
141
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
142
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
143
- <?php endif; ?>
144
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-13.jpg' ) ?>">
145
  </div>
146
  <div class="tutorial-description-wrapper">
147
  <h3>Enable Dual Color Variation Swatches</h3>
148
  <div class="tutorial-contents">
149
- Besides the color, image, label, and radio swatches, you can enable dual color swatches as well. If you have dual color for your product, you can represent it from dual color variation swatches.
150
  </div>
151
  <div class="tutorial-buttons">
152
  <a href="http://j.mp/dual-color-inside-plugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
153
  <a href="http://j.mp/dual-color-doc-inside-plugin" target="_blank" class="button button-docs">Documentation</a>
154
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
155
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
156
- <?php endif; ?>
157
  </div>
158
  </div>
159
 
160
  </li>
161
 
162
- <li>
163
 
164
  <div class="tutorial-description-wrapper">
165
  <h3>Change Product Gallery Image Selecting Only Color Variation Like Amazon and Aliexpress (Or Selected Variation)</h3>
166
  <div class="tutorial-contents">
167
- Variable product changes variation image when all available attribute variations are selected. First time in the WooCommerce Variation Swatches plugin history, we enabled option to change gallery image selecting single attribute variation. You don’t need to match entire attribute variation to change variation image.
168
  </div>
169
  <div class="tutorial-buttons">
170
  <a href="http://j.mp/amazon-like-swatches-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
171
  <a href="http://bit.ly/amazon-swatches-doc-insideplugin" target="_blank" class="button button-docs">Documentation</a>
172
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
173
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
174
- <?php endif; ?>
175
  </div>
176
  </div>
177
  <div class="tutorial-image-wrapper">
178
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
179
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
180
- <?php endif; ?>
181
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-15.gif' ) ?>">
182
  </div>
183
  </li>
184
 
185
  <li>
186
  <div class="tutorial-image-wrapper">
187
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
188
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
189
- <?php endif; ?>
190
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-16.jpg' ) ?>">
191
  </div>
192
  <div class="tutorial-description-wrapper">
193
  <h3>Individual Product Based Swatches Customization</h3>
194
  <div class="tutorial-contents">
195
- WooCommerce Variation Swatch plugin offers global swatches. If you need personalized variation per variable product basis, you quickly achieve them from the desired product admin page. </div>
 
196
  <div class="tutorial-buttons">
197
  <a href="http://j.mp/productbased-customization-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
198
  <a href="http://bit.ly/product-basis-swatches-plugininsie" target="_blank" class="button button-docs">Documentation</a>
199
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
200
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
201
- <?php endif; ?>
202
  </div>
203
  </div>
204
 
@@ -214,37 +215,37 @@
214
  <div class="tutorial-buttons">
215
  <a href="http://j.mp/image-tooltip-insideplugin-demo" target="_blank" class="button button-live-demo">Live Video Preview</a>
216
  <a href="http://j.mp/image-tooltip-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
217
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
218
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
219
- <?php endif; ?>
220
  </div>
221
  </div>
222
  <div class="tutorial-image-wrapper">
223
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
224
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
225
- <?php endif; ?>
226
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-17.jpg' ) ?>">
227
  </div>
228
  </li>
229
 
230
  <li>
231
  <div class="tutorial-image-wrapper">
232
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
233
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
234
- <?php endif; ?>
235
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-18.jpg' ) ?>">
236
  </div>
237
  <div class="tutorial-description-wrapper">
238
- <h3>Generate Sarable Variation Link</h3>
239
  <div class="tutorial-contents">
240
  WooCommerce doesn’t come with this option. We brought this feature the first time. With this feature, you can generate and share your specific attribute link in your customer for a quick purchase or share it the social media.
241
  </div>
242
  <div class="tutorial-buttons">
243
  <a href="http://j.mp/generatelink-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
244
  <a href="http://bit.ly/generlink-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
245
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
246
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
247
- <?php endif; ?>
248
  </div>
249
  </div>
250
 
@@ -260,15 +261,15 @@
260
  <div class="tutorial-buttons">
261
  <a href="http://j.mp/one-shop-swatches-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
262
  <a href="http://bit.ly/shop-one-swatches-doc-insideplugin" target="_blank" class="button button-docs">Documentation</a>
263
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
264
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
265
- <?php endif; ?>
266
  </div>
267
  </div>
268
  <div class="tutorial-image-wrapper">
269
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
270
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
271
- <?php endif; ?>
272
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-11.jpg' ) ?>">
273
  </div>
274
  </li>
@@ -296,34 +297,34 @@
296
 
297
  </li>
298
 
299
- <li>
300
 
301
  <div class="tutorial-description-wrapper">
302
  <h3>Set MORE Link To avoid misalignment of the uneven number of swatches</h3>
303
  <div class="tutorial-contents">
304
- Products may have a different number of swatches which creates misalignment issues in the product archive pages. To avoid that, you can enable MORE link. Keep archive product look equal and parallel
305
  </div>
306
  <div class="tutorial-buttons">
307
  <a href="http://j.mp/addmorelink-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
308
  <a href="http://j.mp/addmorelink-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
309
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
310
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
311
- <?php endif; ?>
312
  </div>
313
  </div>
314
  <div class="tutorial-image-wrapper">
315
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
316
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
317
- <?php endif; ?>
318
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-19.jpg' ) ?>">
319
  </div>
320
  </li>
321
 
322
  <li>
323
  <div class="tutorial-image-wrapper">
324
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
325
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
326
- <?php endif; ?>
327
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-20.jpg' ) ?>">
328
  </div>
329
  <div class="tutorial-description-wrapper">
@@ -334,13 +335,36 @@
334
  <div class="tutorial-buttons">
335
  <a href="http://j.mp/highlight-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
336
  <a href="http://bit.ly/enlarage-selected-attr-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
337
- <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
338
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
339
- <?php endif; ?>
340
  </div>
341
  </div>
342
 
343
  </li>
344
- </ul>
345
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
346
  </div>
43
  </div>
44
  <div class="tutorial-buttons">
45
  <a href="http://j.mp/button-video-preview-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
46
+
47
  </div>
48
  </div>
49
  </li>
77
 
78
  </li>
79
 
80
+ <li>
81
 
82
  <div class="tutorial-description-wrapper">
83
  <h3>Cross/Blur/Hide Out of Stock Variation</h3>
93
  </li>
94
  <li>
95
  <div class="tutorial-image-wrapper">
96
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
97
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
98
+ <?php endif; ?>
99
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-14.gif' ) ?>">
100
  </div>
101
  <div class="tutorial-description-wrapper">
106
  <div class="tutorial-buttons">
107
  <a href="http://j.mp/autoimage-swatches-generate-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
108
  <a href="http://j.mp/auto-image-swatches-insideplugin" target="_blank" class="button button-docs">Documentation</a>
109
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
110
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
111
+ <?php endif; ?>
112
  </div>
113
  </div>
114
 
123
  <div class="tutorial-buttons">
124
  <a href="http://j.mp/radio-swatches-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
125
  <a href="http://bit.ly/radio-tuts-doc-inside" target="_blank" class="button button-docs">Documentation</a>
126
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
127
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
128
+ <?php endif; ?>
129
  </div>
130
  </div>
131
  <div class="tutorial-image-wrapper">
132
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
133
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
134
+ <?php endif; ?>
135
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-7.jpg' ) ?>">
136
  </div>
137
  </li>
138
 
139
  <li>
140
  <div class="tutorial-image-wrapper">
141
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
142
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
143
+ <?php endif; ?>
144
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-13.jpg' ) ?>">
145
  </div>
146
  <div class="tutorial-description-wrapper">
147
  <h3>Enable Dual Color Variation Swatches</h3>
148
  <div class="tutorial-contents">
149
+ Besides the color, image, label, and radio swatches, you can enable dual color swatches as well. If you have dual color for your product, you can represent it from dual color variation swatches.
150
  </div>
151
  <div class="tutorial-buttons">
152
  <a href="http://j.mp/dual-color-inside-plugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
153
  <a href="http://j.mp/dual-color-doc-inside-plugin" target="_blank" class="button button-docs">Documentation</a>
154
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
155
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
156
+ <?php endif; ?>
157
  </div>
158
  </div>
159
 
160
  </li>
161
 
162
+ <li>
163
 
164
  <div class="tutorial-description-wrapper">
165
  <h3>Change Product Gallery Image Selecting Only Color Variation Like Amazon and Aliexpress (Or Selected Variation)</h3>
166
  <div class="tutorial-contents">
167
+ Variable product changes variation image when all available attribute variations are selected. First time in the WooCommerce Variation Swatches plugin history, we enabled option to change gallery image selecting single attribute variation. You don’t need to match entire attribute variation to change variation image.
168
  </div>
169
  <div class="tutorial-buttons">
170
  <a href="http://j.mp/amazon-like-swatches-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
171
  <a href="http://bit.ly/amazon-swatches-doc-insideplugin" target="_blank" class="button button-docs">Documentation</a>
172
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
173
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
174
+ <?php endif; ?>
175
  </div>
176
  </div>
177
  <div class="tutorial-image-wrapper">
178
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
179
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
180
+ <?php endif; ?>
181
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-15.gif' ) ?>">
182
  </div>
183
  </li>
184
 
185
  <li>
186
  <div class="tutorial-image-wrapper">
187
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
188
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
189
+ <?php endif; ?>
190
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-16.jpg' ) ?>">
191
  </div>
192
  <div class="tutorial-description-wrapper">
193
  <h3>Individual Product Based Swatches Customization</h3>
194
  <div class="tutorial-contents">
195
+ WooCommerce Variation Swatch plugin offers global swatches. If you need personalized variation per variable product basis, you quickly achieve them from the desired product admin page.
196
+ </div>
197
  <div class="tutorial-buttons">
198
  <a href="http://j.mp/productbased-customization-insideplugin" target="_blank" class="button button-live-demo">Live Video Preview</a>
199
  <a href="http://bit.ly/product-basis-swatches-plugininsie" target="_blank" class="button button-docs">Documentation</a>
200
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
201
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
202
+ <?php endif; ?>
203
  </div>
204
  </div>
205
 
215
  <div class="tutorial-buttons">
216
  <a href="http://j.mp/image-tooltip-insideplugin-demo" target="_blank" class="button button-live-demo">Live Video Preview</a>
217
  <a href="http://j.mp/image-tooltip-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
218
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
219
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
220
+ <?php endif; ?>
221
  </div>
222
  </div>
223
  <div class="tutorial-image-wrapper">
224
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
225
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
226
+ <?php endif; ?>
227
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-17.jpg' ) ?>">
228
  </div>
229
  </li>
230
 
231
  <li>
232
  <div class="tutorial-image-wrapper">
233
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
234
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
235
+ <?php endif; ?>
236
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-18.jpg' ) ?>">
237
  </div>
238
  <div class="tutorial-description-wrapper">
239
+ <h3>Generate Sharable Variation Link</h3>
240
  <div class="tutorial-contents">
241
  WooCommerce doesn’t come with this option. We brought this feature the first time. With this feature, you can generate and share your specific attribute link in your customer for a quick purchase or share it the social media.
242
  </div>
243
  <div class="tutorial-buttons">
244
  <a href="http://j.mp/generatelink-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
245
  <a href="http://bit.ly/generlink-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
246
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
247
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
248
+ <?php endif; ?>
249
  </div>
250
  </div>
251
 
261
  <div class="tutorial-buttons">
262
  <a href="http://j.mp/one-shop-swatches-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
263
  <a href="http://bit.ly/shop-one-swatches-doc-insideplugin" target="_blank" class="button button-docs">Documentation</a>
264
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
265
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
266
+ <?php endif; ?>
267
  </div>
268
  </div>
269
  <div class="tutorial-image-wrapper">
270
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
271
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
272
+ <?php endif; ?>
273
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-11.jpg' ) ?>">
274
  </div>
275
  </li>
297
 
298
  </li>
299
 
300
+ <li>
301
 
302
  <div class="tutorial-description-wrapper">
303
  <h3>Set MORE Link To avoid misalignment of the uneven number of swatches</h3>
304
  <div class="tutorial-contents">
305
+ Products may have a different number of swatches which creates misalignment issues in the product archive pages. To avoid that, you can enable MORE link. Keep archive product look equal and parallel
306
  </div>
307
  <div class="tutorial-buttons">
308
  <a href="http://j.mp/addmorelink-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
309
  <a href="http://j.mp/addmorelink-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
310
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
311
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
312
+ <?php endif; ?>
313
  </div>
314
  </div>
315
  <div class="tutorial-image-wrapper">
316
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
317
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
318
+ <?php endif; ?>
319
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-19.jpg' ) ?>">
320
  </div>
321
  </li>
322
 
323
  <li>
324
  <div class="tutorial-image-wrapper">
325
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
326
  <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
327
+ <?php endif; ?>
328
  <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-20.jpg' ) ?>">
329
  </div>
330
  <div class="tutorial-description-wrapper">
335
  <div class="tutorial-buttons">
336
  <a href="http://j.mp/highlight-demo-plugininside" target="_blank" class="button button-live-demo">Live Video Preview</a>
337
  <a href="http://bit.ly/enlarage-selected-attr-doc-plugininside" target="_blank" class="button button-docs">Documentation</a>
338
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
339
  <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
340
+ <?php endif; ?>
341
  </div>
342
  </div>
343
 
344
  </li>
 
345
 
346
+
347
+ <li>
348
+
349
+ <div class="tutorial-description-wrapper">
350
+ <h3>Show Attribute Variation Remaining Stock Quantity</h3>
351
+ <div class="tutorial-contents">
352
+ When you are selling products having multiple attribute variations like color and size. It’s really essential to show the remaining product variation so that it can help to create an urge to purchase a certain limited variation as soon as possible.
353
+ </div>
354
+ <div class="tutorial-buttons">
355
+ <a href="http://bit.ly/show-remaining-stock-quantity-notice-demo" target="_blank" class="button button-live-demo">Live Video Preview</a>
356
+ <a href="http://bit.ly/show-variation-product-stocks-notice" target="_blank" class="button button-docs">Documentation</a>
357
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
358
+ <a href="<?php echo woo_variation_swatches()->get_pro_link( 'settings-tutorial' ) ?>" target="_blank" class="button button-pro">Upgrade to pro</a>
359
+ <?php endif; ?>
360
+ </div>
361
+ </div>
362
+ <div class="tutorial-image-wrapper">
363
+ <?php if ( ! woo_variation_swatches()->is_pro_active() ): ?>
364
+ <div class="ribbon"><span><?php esc_html_e( 'PRO', 'woo-varriation-swatches' ) ?></span></div>
365
+ <?php endif; ?>
366
+ <img alt="" src="<?php echo woo_variation_swatches()->images_uri( 'tutorial-21.jpg' ) ?>">
367
+ </div>
368
+ </li>
369
+ </ul>
370
  </div>
languages/woo-variation-swatches.pot CHANGED
@@ -20,22 +20,38 @@ msgstr ""
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
23
- #: ../includes/class-wvs-settings-api.php:91
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
- #: ../includes/class-wvs-settings-api.php:92, ../includes/class-wvs-settings-api.php:105, ../includes/functions.php:1625
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
31
- #: ../includes/class-wvs-settings-api.php:120
32
  msgid "Clear transient"
33
  msgstr ""
34
 
35
- #: ../includes/class-wvs-settings-api.php:141
36
  msgid "Settings"
37
  msgstr ""
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  #: ../includes/class-wvs-term-meta.php:227
40
  msgid "Upload / Add image"
41
  msgstr ""
@@ -68,11 +84,11 @@ msgstr ""
68
  msgid "Skip &amp; Deactivate"
69
  msgstr ""
70
 
71
- #: ../includes/functions.php:106, ../includes/functions.php:451
72
  msgid "Color"
73
  msgstr ""
74
 
75
- #: ../includes/functions.php:112, ../includes/functions.php:460
76
  msgid "Image"
77
  msgstr ""
78
 
@@ -96,7 +112,7 @@ msgstr ""
96
  msgid "Simple"
97
  msgstr ""
98
 
99
- #: ../includes/functions.php:245, ../includes/functions.php:286, ../includes/functions.php:404
100
  msgid "Visual Section"
101
  msgstr ""
102
 
@@ -168,147 +184,155 @@ msgstr ""
168
  msgid "Control the number of enable ajax variation threshold, If you set <code>1</code> all product variation will be load via ajax. Default value is <code>30</code>, <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't follow attribute behaviour. It's recommended to keep this number between 30 - 40.</span>"
169
  msgstr ""
170
 
171
- #: ../includes/functions.php:308
 
 
 
 
 
 
 
 
172
  msgid "Attribute behavior"
173
  msgstr ""
174
 
175
- #: ../includes/functions.php:309
176
- msgid "Disabled attribute will be hide / blur. <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't apply this feature.</span>"
177
  msgstr ""
178
 
179
- #: ../includes/functions.php:311
180
  msgid "Blur with cross"
181
  msgstr ""
182
 
183
- #: ../includes/functions.php:312
184
  msgid "Blur without cross"
185
  msgstr ""
186
 
187
- #: ../includes/functions.php:313
188
  msgid "Hide"
189
  msgstr ""
190
 
191
- #: ../includes/functions.php:320
192
  msgid "Attribute image size"
193
  msgstr ""
194
 
195
- #: ../includes/functions.php:321
196
  msgid "<span style=\"color: red\">Attribute image size changed by <code>wvs_product_attribute_image_size</code> hook. So this option will not apply any effect.</span>"
197
  msgstr ""
198
 
199
- #: ../includes/functions.php:328
200
  msgid "Width"
201
  msgstr ""
202
 
203
- #: ../includes/functions.php:329
204
  msgid "Variation item width"
205
  msgstr ""
206
 
207
- #: ../includes/functions.php:338
208
  msgid "Height"
209
  msgstr ""
210
 
211
- #: ../includes/functions.php:339
212
  msgid "Variation item height"
213
  msgstr ""
214
 
215
- #: ../includes/functions.php:348
216
  msgid "Font Size"
217
  msgstr ""
218
 
219
- #: ../includes/functions.php:349
220
  msgid "Single product variation item font size"
221
  msgstr ""
222
 
223
- #: ../includes/functions.php:359
224
  msgid "Performance"
225
  msgstr ""
226
 
227
- #: ../includes/functions.php:361
228
  msgid "Performance Section"
229
  msgstr ""
230
 
231
- #: ../includes/functions.php:362
232
  msgid "Change for Performance"
233
  msgstr ""
234
 
235
- #: ../includes/functions.php:367
236
  msgid "Defer Load JS"
237
  msgstr ""
238
 
239
- #: ../includes/functions.php:368
240
  msgid "Defer Load JS for PageSpeed Score"
241
  msgstr ""
242
 
243
- #: ../includes/functions.php:374
244
  msgid "Use Transient Cache"
245
  msgstr ""
246
 
247
- #: ../includes/functions.php:375
248
  msgid "Use Transient Cache for PageSpeed Score"
249
  msgstr ""
250
 
251
- #: ../includes/functions.php:383
252
  msgid "Style"
253
  msgstr ""
254
 
255
- #: ../includes/functions.php:386
256
  msgid "Visual Styling"
257
  msgstr ""
258
 
259
- #: ../includes/functions.php:387
260
  msgid "Change some visual styles"
261
  msgstr ""
262
 
263
- #: ../includes/functions.php:401
264
  msgid "Archive / Shop"
265
  msgstr ""
266
 
267
- #: ../includes/functions.php:405
268
  msgid "Advanced change some visual styles on shop / archive page"
269
  msgstr ""
270
 
271
- #: ../includes/functions.php:419
272
  msgid "Special Attribute"
273
  msgstr ""
274
 
275
- #: ../includes/functions.php:422
276
  msgid "Catalog mode"
277
  msgstr ""
278
 
279
- #: ../includes/functions.php:423
280
  msgid "Show single attribute as catalog mode on shop / archive pages"
281
  msgstr ""
282
 
283
- #: ../includes/functions.php:452
284
  msgid "Choose a color"
285
  msgstr ""
286
 
287
- #: ../includes/functions.php:461, ../woo-variation-swatches.php:404
288
  msgid "Choose an Image"
289
  msgstr ""
290
 
291
- #: ../includes/functions.php:629, ../includes/functions.php:679, ../includes/functions.php:708
292
  msgid "Select terms"
293
  msgstr ""
294
 
295
- #: ../includes/functions.php:639, ../includes/functions.php:691, ../includes/functions.php:724
296
  msgid "Select all"
297
  msgstr ""
298
 
299
- #: ../includes/functions.php:640, ../includes/functions.php:692, ../includes/functions.php:725
300
  msgid "Select none"
301
  msgstr ""
302
 
303
- #: ../includes/functions.php:646, ../includes/functions.php:731
304
  msgid "Add new %s"
305
  msgstr ""
306
 
307
- #: ../includes/functions.php:646, ../includes/functions.php:648, ../includes/functions.php:731, ../includes/functions.php:733
308
  msgid "Add new"
309
  msgstr ""
310
 
311
- #: ../includes/functions.php:1025, ../includes/functions.php:1097, ../includes/functions.php:1170, ../includes/functions.php:1240, ../includes/functions.php:1308, ../includes/functions.php:1387
312
  msgid "Choose an option"
313
  msgstr ""
314
 
@@ -380,94 +404,94 @@ msgstr ""
380
  msgid "Please share the reason"
381
  msgstr ""
382
 
383
- #: ../woo-variation-swatches.php:381
384
  msgid "Clear"
385
  msgstr ""
386
 
387
- #: ../woo-variation-swatches.php:382
388
  msgid "Clear color"
389
  msgstr ""
390
 
391
- #: ../woo-variation-swatches.php:383
392
  msgid "Default"
393
  msgstr ""
394
 
395
- #: ../woo-variation-swatches.php:384
396
  msgid "Select default color"
397
  msgstr ""
398
 
399
- #: ../woo-variation-swatches.php:385
400
  msgid "Select Color"
401
  msgstr ""
402
 
403
- #: ../woo-variation-swatches.php:386
404
  msgid "Color value"
405
  msgstr ""
406
 
407
- #: ../woo-variation-swatches.php:405
408
  msgid "Add Attribute"
409
  msgstr ""
410
 
411
- #: ../woo-variation-swatches.php:406
412
  msgid "Add"
413
  msgstr ""
414
 
415
- #: ../woo-variation-swatches.php:407
416
  msgid "Cancel"
417
  msgstr ""
418
 
419
- #: ../woo-variation-swatches.php:408
420
  msgid "Use Image"
421
  msgstr ""
422
 
423
- #: ../woo-variation-swatches.php:409
424
  msgid "Add Media"
425
  msgstr ""
426
 
427
- #: ../woo-variation-swatches.php:497, ../woo-variation-swatches.php:497
428
  msgid "Read Documentation"
429
  msgstr ""
430
 
431
- #: ../woo-variation-swatches.php:499
432
  msgid "Facing issue?"
433
  msgstr ""
434
 
435
- #: ../woo-variation-swatches.php:499
436
  msgid "Please open a ticket."
437
  msgstr ""
438
 
439
- #: ../woo-variation-swatches.php:514
440
  msgid "Go Pro"
441
  msgstr ""
442
 
443
- #: ../woo-variation-swatches.php:567
444
  msgid "Please check PHP version requirement."
445
  msgstr ""
446
 
447
- #: ../woo-variation-swatches.php:569
448
  msgid "It's required to use latest version of PHP to use <strong>Variation Swatches for WooCommerce</strong>."
449
  msgstr ""
450
 
451
- #: ../woo-variation-swatches.php:581
452
  msgid "WooCommerce"
453
  msgstr ""
454
 
455
- #: ../woo-variation-swatches.php:589
456
  msgid "<strong>Variation Swatches for WooCommerce</strong> is an add-on of "
457
  msgstr ""
458
 
459
- #: ../woo-variation-swatches.php:602
460
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
461
  msgstr ""
462
 
463
- #: ../woo-variation-swatches.php:602
464
  msgid "Variation Swatches for WooCommerce"
465
  msgstr ""
466
 
467
- #: ../woo-variation-swatches.php:697
468
  msgid "Variation Swatches for WooCommerce Plugin try to load \"%s\" but template \"%s\" was not found."
469
  msgstr ""
470
 
471
- #: ../woo-variation-swatches.php:916
472
  msgid "Install Now"
473
  msgstr ""
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
23
+ #: ../includes/class-wvs-settings-api.php:106
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
+ #: ../includes/class-wvs-settings-api.php:107, ../includes/class-wvs-settings-api.php:120, ../includes/functions.php:1663
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
31
+ #: ../includes/class-wvs-settings-api.php:135
32
  msgid "Clear transient"
33
  msgstr ""
34
 
35
+ #: ../includes/class-wvs-settings-api.php:156
36
  msgid "Settings"
37
  msgstr ""
38
 
39
+ #: ../includes/class-wvs-settings-api.php:538
40
+ msgid "Save Changes"
41
+ msgstr ""
42
+
43
+ #: ../includes/class-wvs-settings-api.php:539
44
+ msgid "Are you sure to reset current settings?"
45
+ msgstr ""
46
+
47
+ #: ../includes/class-wvs-settings-api.php:539
48
+ msgid "Reset all"
49
+ msgstr ""
50
+
51
+ #: ../includes/class-wvs-settings-api.php:688
52
+ msgid "NEW"
53
+ msgstr ""
54
+
55
  #: ../includes/class-wvs-term-meta.php:227
56
  msgid "Upload / Add image"
57
  msgstr ""
84
  msgid "Skip &amp; Deactivate"
85
  msgstr ""
86
 
87
+ #: ../includes/functions.php:106, ../includes/functions.php:461
88
  msgid "Color"
89
  msgstr ""
90
 
91
+ #: ../includes/functions.php:112, ../includes/functions.php:470
92
  msgid "Image"
93
  msgstr ""
94
 
112
  msgid "Simple"
113
  msgstr ""
114
 
115
+ #: ../includes/functions.php:245, ../includes/functions.php:286, ../includes/functions.php:414
116
  msgid "Visual Section"
117
  msgstr ""
118
 
184
  msgid "Control the number of enable ajax variation threshold, If you set <code>1</code> all product variation will be load via ajax. Default value is <code>30</code>, <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't follow attribute behaviour. It's recommended to keep this number between 30 - 40.</span>"
185
  msgstr ""
186
 
187
+ #: ../includes/functions.php:309
188
+ msgid "Show selected attribute"
189
+ msgstr ""
190
+
191
+ #: ../includes/functions.php:310
192
+ msgid "Show selected attribute variation name beside the title"
193
+ msgstr ""
194
+
195
+ #: ../includes/functions.php:318
196
  msgid "Attribute behavior"
197
  msgstr ""
198
 
199
+ #: ../includes/functions.php:319
200
+ msgid "Disabled attribute will be hide / blur. %sNote: Product variation loaded via ajax doesn't apply this feature.%s"
201
  msgstr ""
202
 
203
+ #: ../includes/functions.php:321
204
  msgid "Blur with cross"
205
  msgstr ""
206
 
207
+ #: ../includes/functions.php:322
208
  msgid "Blur without cross"
209
  msgstr ""
210
 
211
+ #: ../includes/functions.php:323
212
  msgid "Hide"
213
  msgstr ""
214
 
215
+ #: ../includes/functions.php:330
216
  msgid "Attribute image size"
217
  msgstr ""
218
 
219
+ #: ../includes/functions.php:331
220
  msgid "<span style=\"color: red\">Attribute image size changed by <code>wvs_product_attribute_image_size</code> hook. So this option will not apply any effect.</span>"
221
  msgstr ""
222
 
223
+ #: ../includes/functions.php:338
224
  msgid "Width"
225
  msgstr ""
226
 
227
+ #: ../includes/functions.php:339
228
  msgid "Variation item width"
229
  msgstr ""
230
 
231
+ #: ../includes/functions.php:348
232
  msgid "Height"
233
  msgstr ""
234
 
235
+ #: ../includes/functions.php:349
236
  msgid "Variation item height"
237
  msgstr ""
238
 
239
+ #: ../includes/functions.php:358
240
  msgid "Font Size"
241
  msgstr ""
242
 
243
+ #: ../includes/functions.php:359
244
  msgid "Single product variation item font size"
245
  msgstr ""
246
 
247
+ #: ../includes/functions.php:369
248
  msgid "Performance"
249
  msgstr ""
250
 
251
+ #: ../includes/functions.php:371
252
  msgid "Performance Section"
253
  msgstr ""
254
 
255
+ #: ../includes/functions.php:372
256
  msgid "Change for Performance"
257
  msgstr ""
258
 
259
+ #: ../includes/functions.php:377
260
  msgid "Defer Load JS"
261
  msgstr ""
262
 
263
+ #: ../includes/functions.php:378
264
  msgid "Defer Load JS for PageSpeed Score"
265
  msgstr ""
266
 
267
+ #: ../includes/functions.php:384
268
  msgid "Use Transient Cache"
269
  msgstr ""
270
 
271
+ #: ../includes/functions.php:385
272
  msgid "Use Transient Cache for PageSpeed Score"
273
  msgstr ""
274
 
275
+ #: ../includes/functions.php:393
276
  msgid "Style"
277
  msgstr ""
278
 
279
+ #: ../includes/functions.php:396
280
  msgid "Visual Styling"
281
  msgstr ""
282
 
283
+ #: ../includes/functions.php:397
284
  msgid "Change some visual styles"
285
  msgstr ""
286
 
287
+ #: ../includes/functions.php:411
288
  msgid "Archive / Shop"
289
  msgstr ""
290
 
291
+ #: ../includes/functions.php:415
292
  msgid "Advanced change some visual styles on shop / archive page"
293
  msgstr ""
294
 
295
+ #: ../includes/functions.php:429
296
  msgid "Special Attribute"
297
  msgstr ""
298
 
299
+ #: ../includes/functions.php:432
300
  msgid "Catalog mode"
301
  msgstr ""
302
 
303
+ #: ../includes/functions.php:433
304
  msgid "Show single attribute as catalog mode on shop / archive pages"
305
  msgstr ""
306
 
307
+ #: ../includes/functions.php:462
308
  msgid "Choose a color"
309
  msgstr ""
310
 
311
+ #: ../includes/functions.php:471, ../woo-variation-swatches.php:408
312
  msgid "Choose an Image"
313
  msgstr ""
314
 
315
+ #: ../includes/functions.php:639, ../includes/functions.php:689, ../includes/functions.php:718
316
  msgid "Select terms"
317
  msgstr ""
318
 
319
+ #: ../includes/functions.php:649, ../includes/functions.php:701, ../includes/functions.php:734
320
  msgid "Select all"
321
  msgstr ""
322
 
323
+ #: ../includes/functions.php:650, ../includes/functions.php:702, ../includes/functions.php:735
324
  msgid "Select none"
325
  msgstr ""
326
 
327
+ #: ../includes/functions.php:656, ../includes/functions.php:741
328
  msgid "Add new %s"
329
  msgstr ""
330
 
331
+ #: ../includes/functions.php:656, ../includes/functions.php:658, ../includes/functions.php:741, ../includes/functions.php:743
332
  msgid "Add new"
333
  msgstr ""
334
 
335
+ #: ../includes/functions.php:1056, ../includes/functions.php:1128, ../includes/functions.php:1201, ../includes/functions.php:1271, ../includes/functions.php:1339, ../includes/functions.php:1418
336
  msgid "Choose an option"
337
  msgstr ""
338
 
404
  msgid "Please share the reason"
405
  msgstr ""
406
 
407
+ #: ../woo-variation-swatches.php:385
408
  msgid "Clear"
409
  msgstr ""
410
 
411
+ #: ../woo-variation-swatches.php:386
412
  msgid "Clear color"
413
  msgstr ""
414
 
415
+ #: ../woo-variation-swatches.php:387
416
  msgid "Default"
417
  msgstr ""
418
 
419
+ #: ../woo-variation-swatches.php:388
420
  msgid "Select default color"
421
  msgstr ""
422
 
423
+ #: ../woo-variation-swatches.php:389
424
  msgid "Select Color"
425
  msgstr ""
426
 
427
+ #: ../woo-variation-swatches.php:390
428
  msgid "Color value"
429
  msgstr ""
430
 
431
+ #: ../woo-variation-swatches.php:409
432
  msgid "Add Attribute"
433
  msgstr ""
434
 
435
+ #: ../woo-variation-swatches.php:410
436
  msgid "Add"
437
  msgstr ""
438
 
439
+ #: ../woo-variation-swatches.php:411
440
  msgid "Cancel"
441
  msgstr ""
442
 
443
+ #: ../woo-variation-swatches.php:412
444
  msgid "Use Image"
445
  msgstr ""
446
 
447
+ #: ../woo-variation-swatches.php:413
448
  msgid "Add Media"
449
  msgstr ""
450
 
451
+ #: ../woo-variation-swatches.php:504, ../woo-variation-swatches.php:504
452
  msgid "Read Documentation"
453
  msgstr ""
454
 
455
+ #: ../woo-variation-swatches.php:506
456
  msgid "Facing issue?"
457
  msgstr ""
458
 
459
+ #: ../woo-variation-swatches.php:506
460
  msgid "Please open a ticket."
461
  msgstr ""
462
 
463
+ #: ../woo-variation-swatches.php:521
464
  msgid "Go Pro"
465
  msgstr ""
466
 
467
+ #: ../woo-variation-swatches.php:574
468
  msgid "Please check PHP version requirement."
469
  msgstr ""
470
 
471
+ #: ../woo-variation-swatches.php:576
472
  msgid "It's required to use latest version of PHP to use <strong>Variation Swatches for WooCommerce</strong>."
473
  msgstr ""
474
 
475
+ #: ../woo-variation-swatches.php:588
476
  msgid "WooCommerce"
477
  msgstr ""
478
 
479
+ #: ../woo-variation-swatches.php:596
480
  msgid "<strong>Variation Swatches for WooCommerce</strong> is an add-on of "
481
  msgstr ""
482
 
483
+ #: ../woo-variation-swatches.php:609
484
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
485
  msgstr ""
486
 
487
+ #: ../woo-variation-swatches.php:609
488
  msgid "Variation Swatches for WooCommerce"
489
  msgstr ""
490
 
491
+ #: ../woo-variation-swatches.php:704
492
  msgid "Variation Swatches for WooCommerce Plugin try to load \"%s\" but template \"%s\" was not found."
493
  msgstr ""
494
 
495
+ #: ../woo-variation-swatches.php:923
496
  msgid "Install Now"
497
  msgstr ""
package.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "package": "Variation Swatches for WooCommerce",
3
  "name": "woo-variation-swatches",
4
- "version": "1.0.86",
5
  "author": "Emran Ahmed <emran.bd.08@gmail.com>",
6
  "contact": "emran.bd.08@gmail.com",
7
  "license": "GNU General Public License v3",
1
  {
2
  "package": "Variation Swatches for WooCommerce",
3
  "name": "woo-variation-swatches",
4
+ "version": "1.1.0",
5
  "author": "Emran Ahmed <emran.bd.08@gmail.com>",
6
  "contact": "emran.bd.08@gmail.com",
7
  "license": "GNU General Public License v3",
webpack.mix.js CHANGED
@@ -61,7 +61,7 @@ if (Mix.inProduction()) {
61
  }
62
 
63
  mix.banner({
64
- banner : "Variation Swatches for WooCommerce v1.0.86 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
61
  }
62
 
63
  mix.banner({
64
+ banner : "Variation Swatches for WooCommerce v1.1.0 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
woo-variation-swatches.php CHANGED
@@ -4,12 +4,12 @@
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 3.2+
6
  * Author: Emran Ahmed
7
- * Version: 1.0.86
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
  * Tested up to: 5.5
11
  * WC requires at least: 3.2
12
- * WC tested up to: 4.4
13
  * Text Domain: woo-variation-swatches
14
  * Author URI: https://getwooplugins.com/
15
  */
@@ -20,7 +20,7 @@
20
 
21
  final class Woo_Variation_Swatches {
22
 
23
- protected $_version = '1.0.85';
24
 
25
  protected static $_instance = null;
26
  private $_settings_api;
@@ -292,7 +292,7 @@
292
  array_push( $classes, sprintf( 'wvs-theme-%s', $this->get_parent_theme_dir() ) );
293
  array_push( $classes, sprintf( 'wvs-theme-child-%s', $this->get_theme_dir() ) );
294
  array_push( $classes, sprintf( 'wvs-style-%s', $this->get_option( 'style' ) ) );
295
- array_push( $classes, sprintf( 'wvs-attr-behavior-%s', $this->get_option( 'attribute-behavior' ) ) );
296
  // array_push( $classes, sprintf( 'woo-variation-swatches-tooltip-%s', $this->get_option( 'tooltip' ) ? 'enabled' : 'disabled' ) );
297
  array_push( $classes, sprintf( 'wvs%s-tooltip', $this->get_option( 'tooltip' ) ? '' : '-no' ) );
298
  // array_push( $classes, sprintf( 'woo-variation-swatches-stylesheet-%s', $this->get_option( 'stylesheet' ) ? 'enabled' : 'disabled' ) );
@@ -318,12 +318,16 @@
318
  wp_enqueue_script( 'bluebird', $this->assets_uri( "/js/bluebird{$suffix}.js" ), array(), '3.5.3' );
319
  }
320
 
321
- $is_defer = (bool) woo_variation_swatches()->get_option( 'defer_load_js' );
 
 
322
 
323
  // If defer enable we want to load this script to top
324
  wp_enqueue_script( 'woo-variation-swatches', $this->assets_uri( "/js/frontend{$suffix}.js" ), array( 'jquery', 'wp-util' ), $this->version(), ! $is_defer );
325
  wp_localize_script( 'woo-variation-swatches', 'woo_variation_swatches_options', apply_filters( 'woo_variation_swatches_js_options', array(
326
- 'is_product_page' => is_product()
 
 
327
  ) ) );
328
 
329
  if ( $this->get_option( 'stylesheet' ) ) {
@@ -346,7 +350,7 @@
346
 
347
  $width = $this->get_option( 'width' );
348
  $height = $this->get_option( 'height' );
349
- $font_size = $this->get_option( 'single-font-size' );
350
 
351
  ob_start();
352
  include_once $this->include_path( 'stylesheet.php' );
@@ -430,7 +434,7 @@
430
  return $this->_settings_api;
431
  }
432
 
433
- public function add_setting( $tab_id, $tab_title, $tab_sections, $active = false, $is_pro_tab = false ) {
434
  // Example:
435
 
436
  // fn(tab_id, tab_title, [
@@ -444,19 +448,22 @@
444
  // 'type'=>'',
445
  // 'title'=>'',
446
  // 'desc'=>'',
447
- // 'value'=>''
 
 
448
  // ]
449
  // ] // fields end
450
  // ]
451
  //], active ? true | false)
452
 
453
- add_filter( 'wvs_settings', function ( $fields ) use ( $tab_id, $tab_title, $tab_sections, $active, $is_pro_tab ) {
454
  array_push( $fields, array(
455
  'id' => $tab_id,
456
  'title' => esc_html( $tab_title ),
457
  'active' => $active,
458
  'sections' => $tab_sections,
459
- 'is_pro' => $is_pro_tab
 
460
  ) );
461
 
462
  return $fields;
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 3.2+
6
  * Author: Emran Ahmed
7
+ * Version: 1.1.0
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
  * Tested up to: 5.5
11
  * WC requires at least: 3.2
12
+ * WC tested up to: 4.6
13
  * Text Domain: woo-variation-swatches
14
  * Author URI: https://getwooplugins.com/
15
  */
20
 
21
  final class Woo_Variation_Swatches {
22
 
23
+ protected $_version = '1.1.0';
24
 
25
  protected static $_instance = null;
26
  private $_settings_api;
292
  array_push( $classes, sprintf( 'wvs-theme-%s', $this->get_parent_theme_dir() ) );
293
  array_push( $classes, sprintf( 'wvs-theme-child-%s', $this->get_theme_dir() ) );
294
  array_push( $classes, sprintf( 'wvs-style-%s', $this->get_option( 'style' ) ) );
295
+ array_push( $classes, sprintf( 'wvs-attr-behavior-%s', $this->get_option( 'attribute_behavior' ) ) );
296
  // array_push( $classes, sprintf( 'woo-variation-swatches-tooltip-%s', $this->get_option( 'tooltip' ) ? 'enabled' : 'disabled' ) );
297
  array_push( $classes, sprintf( 'wvs%s-tooltip', $this->get_option( 'tooltip' ) ? '' : '-no' ) );
298
  // array_push( $classes, sprintf( 'woo-variation-swatches-stylesheet-%s', $this->get_option( 'stylesheet' ) ? 'enabled' : 'disabled' ) );
318
  wp_enqueue_script( 'bluebird', $this->assets_uri( "/js/bluebird{$suffix}.js" ), array(), '3.5.3' );
319
  }
320
 
321
+ $is_defer = (bool) woo_variation_swatches()->get_option( 'defer_load_js' );
322
+ $show_variation_label = (bool) woo_variation_swatches()->get_option( 'show_variation_label' );
323
+ //$hide_disabled_variation = (bool) woo_variation_swatches()->get_option( 'hide_disabled_variation' );
324
 
325
  // If defer enable we want to load this script to top
326
  wp_enqueue_script( 'woo-variation-swatches', $this->assets_uri( "/js/frontend{$suffix}.js" ), array( 'jquery', 'wp-util' ), $this->version(), ! $is_defer );
327
  wp_localize_script( 'woo-variation-swatches', 'woo_variation_swatches_options', apply_filters( 'woo_variation_swatches_js_options', array(
328
+ 'is_product_page' => is_product(),
329
+ 'show_variation_label' => $show_variation_label,
330
+ //'hide_disabled_variation' => $hide_disabled_variation
331
  ) ) );
332
 
333
  if ( $this->get_option( 'stylesheet' ) ) {
350
 
351
  $width = $this->get_option( 'width' );
352
  $height = $this->get_option( 'height' );
353
+ $font_size = $this->get_option( 'single_font_size' );
354
 
355
  ob_start();
356
  include_once $this->include_path( 'stylesheet.php' );
434
  return $this->_settings_api;
435
  }
436
 
437
+ public function add_setting( $tab_id, $tab_title, $tab_sections, $active = false, $is_pro_tab = false, $is_new = false ) {
438
  // Example:
439
 
440
  // fn(tab_id, tab_title, [
448
  // 'type'=>'',
449
  // 'title'=>'',
450
  // 'desc'=>'',
451
+ // 'default'=>'',
452
+ // 'is_new'=>true|false,
453
+ // 'require' => array( 'trigger_catalog_mode' => array( 'type' => '==', 'value' => 'hover' ) )
454
  // ]
455
  // ] // fields end
456
  // ]
457
  //], active ? true | false)
458
 
459
+ add_filter( 'wvs_settings', function ( $fields ) use ( $tab_id, $tab_title, $tab_sections, $active, $is_pro_tab, $is_new ) {
460
  array_push( $fields, array(
461
  'id' => $tab_id,
462
  'title' => esc_html( $tab_title ),
463
  'active' => $active,
464
  'sections' => $tab_sections,
465
+ 'is_pro' => $is_pro_tab,
466
+ 'is_new' => $is_new
467
  ) );
468
 
469
  return $fields;