WooCommerce Variation Swatches - Version 1.0.65

Version Description

  • Add: Speed Improvement
Download this release

Release Info

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

Code changes from version 1.0.64 to 1.0.65

README.txt CHANGED
@@ -3,11 +3,11 @@
3
  Contributors: EmranAhmed, getwooplugins
4
  Tags: woocommerce variation swatches, woocommerce variation, woocommerce, variation swatches, woocommerce attributes, product attributes, product color, product size, variable product attributes, variation product swatches, color variation swatch, image variation swatch, printful color swatches
5
  Requires at least: 4.8
6
- Tested up to: 5.2
7
  Requires PHP: 5.6
8
  Stable tag: trunk
9
  WC requires at least: 3.2
10
- WC tested up to: 3.7
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
13
 
@@ -378,6 +378,10 @@ And your are ready to go.
378
 
379
  == Changelog ==
380
 
 
 
 
 
381
  = 1.0.64 =
382
 
383
  * Fix: Mobile Scroll Issue
3
  Contributors: EmranAhmed, getwooplugins
4
  Tags: woocommerce variation swatches, woocommerce variation, woocommerce, variation swatches, woocommerce attributes, product attributes, product color, product size, variable product attributes, variation product swatches, color variation swatch, image variation swatch, printful color swatches
5
  Requires at least: 4.8
6
+ Tested up to: 5.3
7
  Requires PHP: 5.6
8
  Stable tag: trunk
9
  WC requires at least: 3.2
10
+ WC tested up to: 3.8
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
13
 
378
 
379
  == Changelog ==
380
 
381
+ = 1.0.65 =
382
+
383
+ * Add: Speed Improvement
384
+
385
  = 1.0.64 =
386
 
387
  * Fix: Mobile Scroll Issue
assets/css/admin.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
assets/css/admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:50 AM
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-depends]{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:flex;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.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:26 AM
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-depends]{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:flex;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}
assets/css/frontend-tooltip.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip] {
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip] {
assets/css/frontend-tooltip.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:50 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.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)}.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;margin-left:-50px;padding:7px;min-width:100px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-wvstooltip);text-align:center;font-size:14px;line-height:1.2}.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 [data-wvstooltip]:active:after,.variable-items-wrapper [data-wvstooltip]:active:before,.variable-items-wrapper [data-wvstooltip]:focus:after,.variable-items-wrapper [data-wvstooltip]:focus:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}.variable-items-wrapper .image-tooltip-wrapper{position:absolute;bottom:140%;border-width:2px;border-style:solid;box-shadow:0 7px 15px rgba(0,0,0,.3);line-height:0;visibility:hidden;opacity:0;pointer-events:none;transition:all .2s linear;z-index:999}.variable-items-wrapper .image-tooltip-wrapper img{border-radius:0!important}.variable-items-wrapper .image-tooltip-wrapper:after{content:"";bottom:-16px;display:block;position:absolute;border-radius:0!important;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:8px solid transparent}.variable-items-wrapper .variable-item:active .image-tooltip-wrapper,.variable-items-wrapper .variable-item:focus .image-tooltip-wrapper,.variable-items-wrapper .variable-item:hover .image-tooltip-wrapper{bottom:130%;visibility:visible;opacity:1}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:26 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.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)}.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;margin-left:-50px;padding:7px;min-width:100px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-wvstooltip);text-align:center;font-size:14px;line-height:1.2}.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 [data-wvstooltip]:active:after,.variable-items-wrapper [data-wvstooltip]:active:before,.variable-items-wrapper [data-wvstooltip]:focus:after,.variable-items-wrapper [data-wvstooltip]:focus:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}.variable-items-wrapper .image-tooltip-wrapper{position:absolute;bottom:140%;border-width:2px;border-style:solid;box-shadow:0 7px 15px rgba(0,0,0,.3);line-height:0;visibility:hidden;opacity:0;pointer-events:none;transition:all .2s linear;z-index:999}.variable-items-wrapper .image-tooltip-wrapper img{border-radius:0!important}.variable-items-wrapper .image-tooltip-wrapper:after{content:"";bottom:-16px;display:block;position:absolute;border-radius:0!important;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:8px solid transparent}.variable-items-wrapper .variable-item:active .image-tooltip-wrapper,.variable-items-wrapper .variable-item:focus .image-tooltip-wrapper,.variable-items-wrapper .variable-item:hover .image-tooltip-wrapper{bottom:130%;visibility:visible;opacity:1}
assets/css/frontend.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,
assets/css/frontend.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:50 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,.woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;transition:all .2s ease;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item img{margin:0;padding:0;width:100%}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches-stylesheet-enabled .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-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item){box-sizing:border-box;cursor:pointer;display:flex;justify-content: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-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches-stylesheet-enabled .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-stylesheet-enabled .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-stylesheet-enabled .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-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover{overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled label{pointer-events:none;opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-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-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}.woo-variation-swatches-stylesheet-enabled.rtl table.variations td.label{padding-left:15px;padding-right:0;text-align:left}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item{text-align:right}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item){margin:4px 0 4px 8px}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{margin-right:0;margin-left:5px}.woo-variation-swatches-stylesheet-enabled.woocommerce .product.elementor table.variations td.value:before{display:none!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-ie11 .variable-items-wrapper{display:block!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-ie11 .variable-items-wrapper .variable-item:not(.radio-variable-item){float:left}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:26 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,.woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;transition:all .2s ease;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item img{margin:0;padding:0;width:100%}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches-stylesheet-enabled .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-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item){box-sizing:border-box;cursor:pointer;display:flex;justify-content: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-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches-stylesheet-enabled .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-stylesheet-enabled .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-stylesheet-enabled .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-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover{overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled label{pointer-events:none;opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-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-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-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-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}.woo-variation-swatches-stylesheet-enabled.rtl table.variations td.label{padding-left:15px;padding-right:0;text-align:left}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item{text-align:right}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item){margin:4px 0 4px 8px}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{margin-right:0;margin-left:5px}.woo-variation-swatches-stylesheet-enabled.woocommerce .product.elementor table.variations td.value:before{display:none!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-ie11 .variable-items-wrapper{display:block!important}.woo-variation-swatches-stylesheet-enabled.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.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents {
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
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.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:50 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents{position:relative;clear:both;overflow:hidden}.gwp-live-feed-contents.notice-info:before{content:"\F348";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-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{border:0;display:flex;align-items:stretch;padding:0;border-radius:4px}.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:flex;align-items:center}.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:flex;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:flex;justify-content:space-between;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:flex;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:flex;justify-content:space-between;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:hover{background:#39b1ca;border-color:#3a9db1}.gwp-live-feed-contents .gwp-live-feed-close{display:flex;right:0;text-decoration:none;padding:10px 10px 10px 25px}.gwp-live-feed-contents .gwp-live-feed-close:before{display:inline-block}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:26 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents{position:relative;clear:both;overflow:hidden}.gwp-live-feed-contents.notice-info:before{content:"\F348";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-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{border:0;display:flex;align-items:stretch;padding:0;border-radius:4px}.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:flex;align-items:center}.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:flex;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:flex;justify-content:space-between;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:flex;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:flex;justify-content:space-between;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:hover{background:#39b1ca;border-color:#3a9db1}.gwp-live-feed-contents .gwp-live-feed-close{display:flex;right:0;text-decoration:none;padding:10px 10px 10px 25px}.gwp-live-feed-contents .gwp-live-feed-close:before{display:inline-block}
assets/css/gwp-admin.css CHANGED
@@ -1,63 +1,58 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
- .gwp-deactivate-feedback-dialog {
9
- border-radius: 3px;
10
- }
11
 
12
- .gwp-deactivate-feedback-dialog .ui-dialog-titlebar {
13
- color: #495157;
14
- font-weight: bold;
15
- font-size: 14px;
16
- background: transparent;
17
- padding: 0 36px 0 20px;
18
- height: 50px;
19
- line-height: 50px;
20
- box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
21
- text-transform: uppercase;
22
- border: 0;
23
  }
24
 
25
- .gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close {
26
- width: 50px;
27
- height: 50px;
 
 
 
 
 
 
 
28
  }
29
 
30
- .gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close:before {
31
- width: 50px;
32
- height: 50px;
33
- line-height: 50px;
34
  }
35
 
36
- .gwp-deactivate-feedback-dialog .ui-dialog-content {
37
- padding: 30px;
38
  }
39
 
40
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-caption {
41
- font-weight: bold;
42
  font-size: 15px;
43
  color: #495157;
44
- line-height: 1.4;
45
- margin-bottom: 20px;
46
  }
47
 
48
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input-wrapper {
49
  line-height: 1.3;
50
  overflow: hidden;
51
  margin-bottom: 15px;
52
  }
53
 
54
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input {
55
  float: left;
56
  margin: 0 10px 0 0;
57
  box-shadow: none;
58
  }
59
 
60
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-text {
61
  margin: 10px 0 0 25px;
62
  padding: 5px;
63
  font-size: 13px;
@@ -67,34 +62,25 @@
67
  display: none;
68
  }
69
 
70
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-alert {
71
  color: #0273A9;
72
  background-color: #FFFFFF;
73
  font-weight: 600;
74
  }
75
 
76
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-label {
77
  display: block;
78
  font-size: 13px;
79
  color: #6D7882;
80
  }
81
 
82
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons {
83
  margin-top: 30px;
84
  overflow: hidden;
85
  clear: both;
86
  }
87
 
88
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner {
89
- float: left;
90
- margin: 10px;
91
- }
92
-
93
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner.visible {
94
- visibility: visible;
95
- }
96
-
97
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send {
98
  background-color: #56BFD4;
99
  border-radius: 3px;
100
  color: #FFFFFF;
@@ -108,16 +94,16 @@
108
  float: left;
109
  }
110
 
111
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:hover {
112
  background: #389DB1;
113
  }
114
 
115
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:active {
116
  -webkit-transform: translateY(0);
117
  transform: translateY(0);
118
  }
119
 
120
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip {
121
  font-size: 12px;
122
  color: #A4AFB7;
123
  background: none;
@@ -129,10 +115,250 @@
129
  text-decoration: none;
130
  }
131
 
132
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:focus {
133
  box-shadow: none;
134
  }
135
 
136
- .gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:hover {
137
  text-decoration: underline;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  }
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
+ /**
9
+ * GWP Backbone modal dialog
10
+ */
11
 
12
+ .gwp-backbone-modal * {
13
+ box-sizing: border-box;
 
 
 
 
 
 
 
 
 
14
  }
15
 
16
+ .gwp-backbone-modal .gwp-backbone-modal-content {
17
+ position: fixed;
18
+ background: #FFFFFF;
19
+ z-index: 100000;
20
+ left: 50%;
21
+ top: 50%;
22
+ -webkit-transform: translate(-50%, -50%);
23
+ transform: translate(-50%, -50%);
24
+ max-width: 100%;
25
+ min-width: 300px;
26
  }
27
 
28
+ .gwp-backbone-modal .gwp-backbone-modal-content article {
29
+ overflow: auto;
 
 
30
  }
31
 
32
+ .gwp-backbone-modal .gwp-backbone-modal-content {
33
+ width: 40%;
34
  }
35
 
36
+ .gwp-backbone-modal .gwp-feedback-dialog-form-body h2 {
37
+ font-weight: 700;
38
  font-size: 15px;
39
  color: #495157;
40
+ margin: 0 0 20px 0;
 
41
  }
42
 
43
+ .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input-wrapper {
44
  line-height: 1.3;
45
  overflow: hidden;
46
  margin-bottom: 15px;
47
  }
48
 
49
+ .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input {
50
  float: left;
51
  margin: 0 10px 0 0;
52
  box-shadow: none;
53
  }
54
 
55
+ .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-text {
56
  margin: 10px 0 0 25px;
57
  padding: 5px;
58
  font-size: 13px;
62
  display: none;
63
  }
64
 
65
+ .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-alert {
66
  color: #0273A9;
67
  background-color: #FFFFFF;
68
  font-weight: 600;
69
  }
70
 
71
+ .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-label {
72
  display: block;
73
  font-size: 13px;
74
  color: #6D7882;
75
  }
76
 
77
+ .gwp-backbone-modal footer {
78
  margin-top: 30px;
79
  overflow: hidden;
80
  clear: both;
81
  }
82
 
83
+ .gwp-backbone-modal footer .feedback-dialog-form-button-send {
 
 
 
 
 
 
 
 
 
84
  background-color: #56BFD4;
85
  border-radius: 3px;
86
  color: #FFFFFF;
94
  float: left;
95
  }
96
 
97
+ .gwp-backbone-modal footer .feedback-dialog-form-button-send:hover {
98
  background: #389DB1;
99
  }
100
 
101
+ .gwp-backbone-modal footer .feedback-dialog-form-button-send:active {
102
  -webkit-transform: translateY(0);
103
  transform: translateY(0);
104
  }
105
 
106
+ .gwp-backbone-modal footer .feedback-dialog-form-button-skip {
107
  font-size: 12px;
108
  color: #A4AFB7;
109
  background: none;
115
  text-decoration: none;
116
  }
117
 
118
+ .gwp-backbone-modal footer .feedback-dialog-form-button-skip:focus {
119
  box-shadow: none;
120
  }
121
 
122
+ .gwp-backbone-modal footer .feedback-dialog-form-button-skip:hover {
123
  text-decoration: underline;
124
+ }
125
+
126
+ @media screen and (max-width: 782px) {
127
+ .gwp-backbone-modal .gwp-backbone-modal-content {
128
+ width: 100%;
129
+ height: 100%;
130
+ min-width: 100%;
131
+ }
132
+ }
133
+
134
+ .gwp-backbone-modal-backdrop {
135
+ position: fixed;
136
+ top: 0;
137
+ left: 0;
138
+ right: 0;
139
+ bottom: 0;
140
+ min-height: 360px;
141
+ background: #000000;
142
+ opacity: 0.7;
143
+ z-index: 99900;
144
+ }
145
+
146
+ .gwp-backbone-modal-main {
147
+ padding-bottom: 55px;
148
+ }
149
+
150
+ .gwp-backbone-modal-main header,
151
+ .gwp-backbone-modal-main article {
152
+ display: block;
153
+ position: relative;
154
+ }
155
+
156
+ .gwp-backbone-modal-main .gwp-backbone-modal-header {
157
+ height: auto;
158
+ background: #FCFCFC;
159
+ padding: 1em 1.5em;
160
+ border-bottom: 1px solid #DDDDDD;
161
+ }
162
+
163
+ .gwp-backbone-modal-main .gwp-backbone-modal-header h1 {
164
+ margin: 0;
165
+ color: #495157;
166
+ font-weight: 700;
167
+ font-size: 14px;
168
+ background: transparent;
169
+ line-height: 2em;
170
+ text-transform: uppercase;
171
+ border: 0;
172
+ }
173
+
174
+ .gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link {
175
+ cursor: pointer;
176
+ color: #777777;
177
+ height: 54px;
178
+ width: 54px;
179
+ padding: 0;
180
+ position: absolute;
181
+ top: 0;
182
+ right: 0;
183
+ text-align: center;
184
+ border: 0;
185
+ border-left: 1px solid #DDDDDD;
186
+ background-color: transparent;
187
+ transition: color 0.1s ease-in-out, background 0.1s ease-in-out;
188
+ }
189
+
190
+ .gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link::before {
191
+ font: normal 22px/50px "dashicons" !important;
192
+ color: #666666;
193
+ display: block;
194
+ content: "\F335";
195
+ font-weight: 300;
196
+ }
197
+
198
+ .gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:hover,
199
+ .gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus {
200
+ background: #DDDDDD;
201
+ border-color: #CCCCCC;
202
+ color: #000000;
203
+ }
204
+
205
+ .gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus {
206
+ outline: none;
207
+ }
208
+
209
+ .gwp-backbone-modal-main article {
210
+ padding: 1.5em;
211
+ }
212
+
213
+ .gwp-backbone-modal-main article p {
214
+ margin: 1.5em 0;
215
+ }
216
+
217
+ .gwp-backbone-modal-main article p:first-child {
218
+ margin-top: 0;
219
+ }
220
+
221
+ .gwp-backbone-modal-main article p:last-child {
222
+ margin-bottom: 0;
223
+ }
224
+
225
+ .gwp-backbone-modal-main article .pagination {
226
+ padding: 10px 0 0;
227
+ text-align: center;
228
+ }
229
+
230
+ .gwp-backbone-modal-main article table.widefat {
231
+ margin: 0;
232
+ width: 100%;
233
+ border: 0;
234
+ box-shadow: none;
235
+ }
236
+
237
+ .gwp-backbone-modal-main article table.widefat thead th {
238
+ padding: 0 1em 1em 1em;
239
+ text-align: left;
240
+ }
241
+
242
+ .gwp-backbone-modal-main article table.widefat thead th:first-child {
243
+ padding-left: 0;
244
+ }
245
+
246
+ .gwp-backbone-modal-main article table.widefat thead th:last-child {
247
+ padding-right: 0;
248
+ text-align: right;
249
+ }
250
+
251
+ .gwp-backbone-modal-main article table.widefat tbody td,
252
+ .gwp-backbone-modal-main article table.widefat tbody th {
253
+ padding: 1em;
254
+ text-align: left;
255
+ vertical-align: middle;
256
+ }
257
+
258
+ .gwp-backbone-modal-main article table.widefat tbody td:first-child,
259
+ .gwp-backbone-modal-main article table.widefat tbody th:first-child {
260
+ padding-left: 0;
261
+ }
262
+
263
+ .gwp-backbone-modal-main article table.widefat tbody td:last-child,
264
+ .gwp-backbone-modal-main article table.widefat tbody th:last-child {
265
+ padding-right: 0;
266
+ text-align: right;
267
+ }
268
+
269
+ .gwp-backbone-modal-main article table.widefat tbody td select,
270
+ .gwp-backbone-modal-main article table.widefat tbody td .select2-container,
271
+ .gwp-backbone-modal-main article table.widefat tbody th select,
272
+ .gwp-backbone-modal-main article table.widefat tbody th .select2-container {
273
+ width: 100%;
274
+ }
275
+
276
+ .gwp-backbone-modal-main footer {
277
+ position: absolute;
278
+ left: 0;
279
+ right: 0;
280
+ bottom: 0;
281
+ z-index: 100;
282
+ padding: 1em 1.5em;
283
+ background: #FCFCFC;
284
+ border-top: 1px solid #DFDFDF;
285
+ box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1);
286
+ }
287
+
288
+ .gwp-backbone-modal-main footer .inner {
289
+ text-align: right;
290
+ line-height: 23px;
291
+ }
292
+
293
+ .gwp-backbone-modal-main footer .inner .button {
294
+ margin-bottom: 0;
295
+ }
296
+
297
+ .gwp-backbone-modal-main footer .inner .gwp-action-button-group {
298
+ display: inline-block;
299
+ float: left;
300
+ }
301
+
302
+ .gwp-backbone-modal-main footer .inner .button.button-large {
303
+ margin-left: 10px;
304
+ padding: 0 10px !important;
305
+ line-height: 28px;
306
+ height: auto;
307
+ display: inline-block;
308
+ }
309
+
310
+ .gwp-action-button-group {
311
+ vertical-align: middle;
312
+ line-height: 26px;
313
+ text-align: left;
314
+ }
315
+
316
+ .gwp-action-button-group .gwp-action-button-group__items {
317
+ display: inline-flex;
318
+ flex-flow: row wrap;
319
+ align-content: flex-start;
320
+ justify-content: flex-start;
321
+ }
322
+
323
+ .gwp-action-button-group .gwp-action-button {
324
+ margin: 0 0 0 -1px !important;
325
+ border: 1px solid #CCCCCC;
326
+ padding: 0 10px !important;
327
+ border-radius: 0 !important;
328
+ float: none;
329
+ line-height: 28px;
330
+ height: auto;
331
+ z-index: 1;
332
+ position: relative;
333
+ overflow: hidden;
334
+ text-overflow: ellipsis;
335
+ flex: 1 0 auto;
336
+ box-sizing: border-box;
337
+ text-align: center;
338
+ white-space: nowrap;
339
+ }
340
+
341
+ .gwp-action-button-group .gwp-action-button:hover,
342
+ .gwp-action-button-group .gwp-action-button:focus {
343
+ border: 1px solid #999999;
344
+ z-index: 2;
345
+ }
346
+
347
+ .gwp-action-button-group .gwp-action-button:first-child {
348
+ margin-left: 0 !important;
349
+ border-top-left-radius: 3px !important;
350
+ border-bottom-left-radius: 3px !important;
351
+ }
352
+
353
+ .gwp-action-button-group .gwp-action-button:last-child {
354
+ border-top-right-radius: 3px !important;
355
+ border-bottom-right-radius: 3px !important;
356
+ }
357
+
358
+ .gwp-action-button-group .spinner {
359
+ margin: 10px;
360
+ }
361
+
362
+ .gwp-action-button-group .spinner.visible {
363
+ visibility: visible;
364
  }
assets/css/gwp-admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:50 AM
6
  * Released under the GPLv3 license.
7
  */
8
- .gwp-deactivate-feedback-dialog{border-radius:3px}.gwp-deactivate-feedback-dialog .ui-dialog-titlebar{color:#495157;font-weight:700;font-size:14px;background:transparent;padding:0 36px 0 20px;height:50px;line-height:50px;box-shadow:0 0 8px rgba(0,0,0,.1);text-transform:uppercase;border:0}.gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close{width:50px;height:50px}.gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close:before{width:50px;height:50px;line-height:50px}.gwp-deactivate-feedback-dialog .ui-dialog-content{padding:30px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-caption{font-weight:700;font-size:15px;color:#495157;line-height:1.4;margin-bottom:20px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input-wrapper{line-height:1.3;overflow:hidden;margin-bottom:15px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input{float:left;margin:0 10px 0 0;box-shadow:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .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-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-alert{color:#0273a9;background-color:#fff;font-weight:600}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-label{display:block;font-size:13px;color:#6d7882}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons{margin-top:30px;overflow:hidden;clear:both}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner{float:left;margin:10px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner.visible{visibility:visible}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .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-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:hover{background:#389db1}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:active{-webkit-transform:translateY(0);transform:translateY(0)}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .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-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:focus{box-shadow:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:hover{text-decoration:underline}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:26 AM
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;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:inline-flex;flex-flow:row wrap;align-content:flex-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;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-theme-override.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-sober .product form.cart .variations .variable,
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-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.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:50 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-child-sober .product form.cart .variations .variable,.woo-variation-swatches-theme-sober .product form.cart .variations .variable{margin-bottom:15px!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options{border:0!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options:after,.woo-variation-swatches-theme-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options:after{display:none}.woo-variation-swatches-theme-child-sober .product form.cart .variations .label,.woo-variation-swatches-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.woo-variation-swatches-theme-child-sober .product form.cart .variations .value,.woo-variation-swatches-theme-sober .product form.cart .variations .value{flex-grow:unset}.woo-variation-swatches-theme-child-sober .product form.cart .variations select,.woo-variation-swatches-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb!important;padding:.5em 1em!important;text-align:left!important;text-align-last:left!important;-webkit-appearance:menulist-button!important}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item:last-child,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:before,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:after,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.woo-variation-swatches-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.woo-variation-swatches-theme-shophistic-lite .ql_custom_variations{display:none!important}.woo-variation-swatches-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.woo-variation-swatches-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.woo-variation-swatches-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.woo-variation-swatches-theme-kalium-child .image-variable-item img,.woo-variation-swatches-theme-kalium .image-variable-item img{width:100%!important}.woo-variation-swatches-theme-kalium-child .radio-variable-item input,.woo-variation-swatches-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}.woo-variation-swatches-theme-kalium-child .woo-variation-items-wrapper .select-option-ui,.woo-variation-swatches-theme-kalium .woo-variation-items-wrapper .select-option-ui{display:none}.woo-variation-swatches-theme-aurum .variable-items-wrapper .image-variable-item>img,.woo-variation-swatches-theme-child-aurum .variable-items-wrapper .image-variable-item>img{width:100%}.woo-variation-swatches-theme-hestia .woo-variation-items-wrapper.value:before{display:none!important}.woo-variation-swatches-theme-child-thegem .woo-variation-items-wrapper .combobox-wrapper,.woo-variation-swatches-theme-thegem .woo-variation-items-wrapper .combobox-wrapper{display:none}.woo-variation-swatches-theme-child-thegem .wvs-archive-variation-wrapper .variations,.woo-variation-swatches-theme-thegem .wvs-archive-variation-wrapper .variations{padding:0}.woo-variation-swatches-theme-child-ushop .variations_form,.woo-variation-swatches-theme-ushop .variations_form{overflow:visible!important}.woo-variation-swatches-theme-child-ushop .single-product-summary .product_meta,.woo-variation-swatches-theme-ushop .single-product-summary .product_meta{display:inline-table}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper{position:relative!important}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper .sod_select,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper .sod_select{display:none!important}.woo-variation-swatches-theme-child-savoy .nm-variation-row,.woo-variation-swatches-theme-savoy .nm-variation-row{display:flex}.woo-variation-swatches-theme-child-woodstock .woo-variation-items-wrapper .variation-select,.woo-variation-swatches-theme-woodstock .woo-variation-items-wrapper .variation-select{display:none!important}.woo-variation-swatches-theme-child-woodmart .woo-variation-items-wrapper>.swatches-select,.woo-variation-swatches-theme-woodmart .woo-variation-items-wrapper>.swatches-select{display:none}.woo-variation-swatches-theme-gecko-child .variations .value.woo-variation-items-wrapper,.woo-variation-swatches-theme-gecko .variations .value.woo-variation-items-wrapper{border:0!important}.woo-variation-swatches-theme-gecko-child .variations .value.woo-variation-items-wrapper:after,.woo-variation-swatches-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}.woo-variation-swatches-theme-child-claue .woo-variation-items-wrapper,.woo-variation-swatches-theme-claue .woo-variation-items-wrapper{border:none}.woo-variation-swatches-theme-child-claue .woo-variation-items-wrapper:after,.woo-variation-swatches-theme-claue .woo-variation-items-wrapper:after{display:none}.woo-variation-swatches-theme-child-jupiter table.variations,.woo-variation-swatches-theme-jupiter table.variations{overflow:initial}.woo-variation-swatches-theme-child-oxygen .woo-variation-items-wrapper .select-wrapper,.woo-variation-swatches-theme-oxygen .woo-variation-items-wrapper .select-wrapper{display:none}.woo-variation-swatches-theme-child-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-theme-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:18px}.woo-variation-swatches-theme-child-simple-elegant .woo-variation-items-wrapper .wi-nice-select,.woo-variation-swatches-theme-simple-elegant .woo-variation-items-wrapper .wi-nice-select{display:none}
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:26 AM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-child-sober .product form.cart .variations .variable,.woo-variation-swatches-theme-sober .product form.cart .variations .variable{margin-bottom:15px!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options{border:0!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options:after,.woo-variation-swatches-theme-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options:after{display:none}.woo-variation-swatches-theme-child-sober .product form.cart .variations .label,.woo-variation-swatches-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.woo-variation-swatches-theme-child-sober .product form.cart .variations .value,.woo-variation-swatches-theme-sober .product form.cart .variations .value{flex-grow:unset}.woo-variation-swatches-theme-child-sober .product form.cart .variations select,.woo-variation-swatches-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb!important;padding:.5em 1em!important;text-align:left!important;text-align-last:left!important;-webkit-appearance:menulist-button!important}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item:last-child,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:before,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:after,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.woo-variation-swatches-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.woo-variation-swatches-theme-shophistic-lite .ql_custom_variations{display:none!important}.woo-variation-swatches-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.woo-variation-swatches-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.woo-variation-swatches-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.woo-variation-swatches-theme-kalium-child .image-variable-item img,.woo-variation-swatches-theme-kalium .image-variable-item img{width:100%!important}.woo-variation-swatches-theme-kalium-child .radio-variable-item input,.woo-variation-swatches-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}.woo-variation-swatches-theme-kalium-child .woo-variation-items-wrapper .select-option-ui,.woo-variation-swatches-theme-kalium .woo-variation-items-wrapper .select-option-ui{display:none}.woo-variation-swatches-theme-aurum .variable-items-wrapper .image-variable-item>img,.woo-variation-swatches-theme-child-aurum .variable-items-wrapper .image-variable-item>img{width:100%}.woo-variation-swatches-theme-hestia .woo-variation-items-wrapper.value:before{display:none!important}.woo-variation-swatches-theme-child-thegem .woo-variation-items-wrapper .combobox-wrapper,.woo-variation-swatches-theme-thegem .woo-variation-items-wrapper .combobox-wrapper{display:none}.woo-variation-swatches-theme-child-thegem .wvs-archive-variation-wrapper .variations,.woo-variation-swatches-theme-thegem .wvs-archive-variation-wrapper .variations{padding:0}.woo-variation-swatches-theme-child-ushop .variations_form,.woo-variation-swatches-theme-ushop .variations_form{overflow:visible!important}.woo-variation-swatches-theme-child-ushop .single-product-summary .product_meta,.woo-variation-swatches-theme-ushop .single-product-summary .product_meta{display:inline-table}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper{position:relative!important}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper .sod_select,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper .sod_select{display:none!important}.woo-variation-swatches-theme-child-savoy .nm-variation-row,.woo-variation-swatches-theme-savoy .nm-variation-row{display:flex}.woo-variation-swatches-theme-child-woodstock .woo-variation-items-wrapper .variation-select,.woo-variation-swatches-theme-woodstock .woo-variation-items-wrapper .variation-select{display:none!important}.woo-variation-swatches-theme-child-woodmart .woo-variation-items-wrapper>.swatches-select,.woo-variation-swatches-theme-woodmart .woo-variation-items-wrapper>.swatches-select{display:none}.woo-variation-swatches-theme-gecko-child .variations .value.woo-variation-items-wrapper,.woo-variation-swatches-theme-gecko .variations .value.woo-variation-items-wrapper{border:0!important}.woo-variation-swatches-theme-gecko-child .variations .value.woo-variation-items-wrapper:after,.woo-variation-swatches-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}.woo-variation-swatches-theme-child-claue .woo-variation-items-wrapper,.woo-variation-swatches-theme-claue .woo-variation-items-wrapper{border:none}.woo-variation-swatches-theme-child-claue .woo-variation-items-wrapper:after,.woo-variation-swatches-theme-claue .woo-variation-items-wrapper:after{display:none}.woo-variation-swatches-theme-child-jupiter table.variations,.woo-variation-swatches-theme-jupiter table.variations{overflow:initial}.woo-variation-swatches-theme-child-oxygen .woo-variation-items-wrapper .select-wrapper,.woo-variation-swatches-theme-oxygen .woo-variation-items-wrapper .select-wrapper{display:none}.woo-variation-swatches-theme-child-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-theme-oxygen .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:18px}.woo-variation-swatches-theme-child-simple-elegant .woo-variation-items-wrapper .wi-nice-select,.woo-variation-swatches-theme-simple-elegant .woo-variation-items-wrapper .wi-nice-select{display:none}
assets/js/admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
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.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
assets/js/gwp-admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * Variation Swatches for WooCommerce v1.0.64
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 10/26/2019, 3:22:36 AM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -149,74 +149,6 @@ var GWPAdminHelper = function ($) {
149
 
150
  var id = '#gwp-plugin-deactivate-feedback-dialog-wrapper-' + pluginslug;
151
 
152
- $(id).dialog({
153
- title: GWPAdmin.feedback_title,
154
- dialogClass: 'wp-dialog gwp-deactivate-feedback-dialog',
155
- autoOpen: false,
156
- draggable: false,
157
- width: 'auto',
158
- modal: true,
159
- resizable: false,
160
- closeOnEscape: true,
161
- position: {
162
- my: "center",
163
- at: "center",
164
- of: window
165
- },
166
- create: function create() {
167
- $('.ui-dialog-titlebar-close').addClass('ui-button');
168
- },
169
- open: function open() {
170
- $('.ui-widget-overlay').bind('click', function () {
171
- $(id).dialog('close');
172
- });
173
-
174
- var opener = $(this).data('gwp-deactivate-dialog-opener');
175
-
176
- GWPAdminHelper.ResetPopupData(pluginslug);
177
-
178
- var slug = $(opener).data('slug');
179
- var plugin = $(opener).data('plugin');
180
- var deactivate_link = $(opener).data('deactivate_link');
181
-
182
- $('.feedback-dialog-form-button-skip', id).prop('href', deactivate_link);
183
- $('.feedback-dialog-form-button-send', id).data('deactivate_link', deactivate_link);
184
- }
185
- });
186
-
187
- $('.feedback-dialog-form-button-send', id).on('click', function (event) {
188
- event.preventDefault();
189
- var data = $('.feedback-dialog-form', id).serializeJSON();
190
-
191
- var link = $(this).data('deactivate_link');
192
-
193
- if (typeof data['reason_type'] === 'undefined') {
194
- return;
195
- }
196
-
197
- $(this).prop('disabled', true).text($(this).data('deactivating')).next().addClass('visible');
198
-
199
- wp.ajax.send(data.action, {
200
- data: data,
201
- success: function success(response) {
202
- window.location.replace(link);
203
- },
204
- error: function error() {
205
- window.location.replace(link);
206
- }
207
- });
208
-
209
- //console.log(data)
210
- });
211
-
212
- $(':radio', id).on('change', function () {
213
-
214
- $(this).closest('.feedback-dialog-form-body').find('.feedback-text').prop('disabled', true).hide();
215
-
216
- $(this).nextAll('.feedback-text').prop('disabled', false).show().focus();
217
- // console.log($(this).val())
218
- });
219
-
220
  $('.wp-list-table.plugins').find('[data-slug="' + pluginslug + '"].active').each(function () {
221
  var _this = this;
222
 
@@ -227,7 +159,13 @@ var GWPAdminHelper = function ($) {
227
  $(this).find('.deactivate a').on('click', function (event) {
228
  event.preventDefault();
229
 
230
- $(id).data('gwp-deactivate-dialog-opener', _this).dialog('open');
 
 
 
 
 
 
231
  });
232
  });
233
  }
1
  /*!
2
+ * Variation Swatches for WooCommerce v1.0.65
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 11/14/2019, 2:14:16 AM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
149
 
150
  var id = '#gwp-plugin-deactivate-feedback-dialog-wrapper-' + pluginslug;
151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  $('.wp-list-table.plugins').find('[data-slug="' + pluginslug + '"].active').each(function () {
153
  var _this = this;
154
 
159
  $(this).find('.deactivate a').on('click', function (event) {
160
  event.preventDefault();
161
 
162
+ $(_this).GWPBackboneModal({
163
+ template: 'gwp-deactive-feedback-dialog-' + pluginslug,
164
+ data: {
165
+ deactivate_link: deactivate_link,
166
+ plugin: pluginslug
167
+ }
168
+ });
169
  });
170
  });
171
  }
assets/js/gwp-admin.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function a(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,a),i.l=!0,i.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=12)}({12:function(e,t,a){e.exports=a(13)},13:function(e,t,a){var n;n=jQuery,Promise.resolve().then(function(){return a(14)}).then(function(e){var t=e.GWPAdminHelper;n.fn.gwp_live_feed=function(){t.LiveFeed()},n.fn.gwp_deactivate_popup=function(e){t.DeactivatePopup(e)}})},14:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),a.d(t,"GWPAdminHelper",function(){return o});var n=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();var i,o=(i=jQuery,function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return n(e,null,[{key:"LiveFeed",value:function(){i(".gwp-live-feed-close").on("click",function(e){e.preventDefault();var t=i(this).data("feed_id");wp.ajax.send("gwp_live_feed_close",{data:{id:t}}),i(this).parent().fadeOut("fast",function(){i(this).remove()})})}},{key:"ResetPopupData",value:function(e){var t=i(".feedback-dialog-form-button-send","#gwp-plugin-deactivate-feedback-dialog-wrapper-"+e);t.prop("disabled",!1).text(t.data("defaultvalue")).next().removeClass("visible")}},{key:"DeactivatePopup",value:function(t){var a="#gwp-plugin-deactivate-feedback-dialog-wrapper-"+t;i(a).dialog({title:GWPAdmin.feedback_title,dialogClass:"wp-dialog gwp-deactivate-feedback-dialog",autoOpen:!1,draggable:!1,width:"auto",modal:!0,resizable:!1,closeOnEscape:!0,position:{my:"center",at:"center",of:window},create:function(){i(".ui-dialog-titlebar-close").addClass("ui-button")},open:function(){i(".ui-widget-overlay").bind("click",function(){i(a).dialog("close")});var n=i(this).data("gwp-deactivate-dialog-opener");e.ResetPopupData(t),i(n).data("slug"),i(n).data("plugin");var o=i(n).data("deactivate_link");i(".feedback-dialog-form-button-skip",a).prop("href",o),i(".feedback-dialog-form-button-send",a).data("deactivate_link",o)}}),i(".feedback-dialog-form-button-send",a).on("click",function(e){e.preventDefault();var t=i(".feedback-dialog-form",a).serializeJSON(),n=i(this).data("deactivate_link");void 0!==t.reason_type&&(i(this).prop("disabled",!0).text(i(this).data("deactivating")).next().addClass("visible"),wp.ajax.send(t.action,{data:t,success:function(e){window.location.replace(n)},error:function(){window.location.replace(n)}}))}),i(":radio",a).on("change",function(){i(this).closest(".feedback-dialog-form-body").find(".feedback-text").prop("disabled",!0).hide(),i(this).nextAll(".feedback-text").prop("disabled",!1).show().focus()}),i(".wp-list-table.plugins").find('[data-slug="'+t+'"].active').each(function(){var e=this,t=i(this).find(".deactivate a").prop("href");i(this).data("deactivate_link",t),i(this).find(".deactivate a").on("click",function(t){t.preventDefault(),i(a).data("gwp-deactivate-dialog-opener",e).dialog("open")})})}}]),e}())}});
1
+ !function(e){var t={};function n(a){if(t[a])return t[a].exports;var i=t[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=12)}({12:function(e,t,n){e.exports=n(13)},13:function(e,t,n){var a;a=jQuery,Promise.resolve().then(function(){return n(14)}).then(function(e){var t=e.GWPAdminHelper;a.fn.gwp_live_feed=function(){t.LiveFeed()},a.fn.gwp_deactivate_popup=function(e){t.DeactivatePopup(e)}})},14:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"GWPAdminHelper",function(){return r});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();var i,r=(i=jQuery,function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return a(e,null,[{key:"LiveFeed",value:function(){i(".gwp-live-feed-close").on("click",function(e){e.preventDefault();var t=i(this).data("feed_id");wp.ajax.send("gwp_live_feed_close",{data:{id:t}}),i(this).parent().fadeOut("fast",function(){i(this).remove()})})}},{key:"ResetPopupData",value:function(e){var t=i(".feedback-dialog-form-button-send","#gwp-plugin-deactivate-feedback-dialog-wrapper-"+e);t.prop("disabled",!1).text(t.data("defaultvalue")).next().removeClass("visible")}},{key:"DeactivatePopup",value:function(e){i(".wp-list-table.plugins").find('[data-slug="'+e+'"].active').each(function(){var t=this,n=i(this).find(".deactivate a").prop("href");i(this).data("deactivate_link",n),i(this).find(".deactivate a").on("click",function(a){a.preventDefault(),i(t).GWPBackboneModal({template:"gwp-deactive-feedback-dialog-"+e,data:{deactivate_link:n,plugin:e}})})})}}]),e}())}});
assets/js/gwp-backbone-modal.js ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*global jQuery, Backbone, _ */
2
+ (function ($, Backbone, _) {
3
+ 'use strict';
4
+
5
+ /**
6
+ * GWP Backbone Modal plugin
7
+ *
8
+ * @param {object} options
9
+ */
10
+
11
+ $.fn.GWPBackboneModal = function (options) {
12
+ return this.each(function () {
13
+ new $.GWPBackboneModal($(this), options);
14
+ });
15
+ };
16
+
17
+ /**
18
+ * Initialize the Backbone Modal
19
+ *
20
+ * @param {object} element [description]
21
+ * @param {object} options [description]
22
+ */
23
+ $.GWPBackboneModal = function (element, options) {
24
+ // Set settings
25
+ var settings = $.extend({}, $.GWPBackboneModal.defaultOptions, options);
26
+
27
+ if (settings.template) {
28
+ new $.GWPBackboneModal.View({
29
+ target: settings.template,
30
+ string: settings.data
31
+ });
32
+ }
33
+ };
34
+
35
+ /**
36
+ * Set default options
37
+ *
38
+ * @type {object}
39
+ */
40
+ $.GWPBackboneModal.defaultOptions = {
41
+ template: '',
42
+ data: {}
43
+ };
44
+
45
+ /**
46
+ * Create the Backbone Modal
47
+ *
48
+ * @return {null}
49
+ */
50
+ $.GWPBackboneModal.View = Backbone.View.extend({
51
+ tagName: 'div',
52
+ id: 'gwp-backbone-modal-dialog',
53
+ _target: undefined,
54
+ _string: undefined,
55
+ events: {
56
+ 'click .modal-close': 'closeButton',
57
+ 'click #btn-ok': 'addButton',
58
+ 'click #send-ajax': 'sendAjax',
59
+ 'touchstart #btn-ok': 'addButton',
60
+ 'keydown': 'keyboardActions',
61
+ 'change :radio': 'optionChange'
62
+ },
63
+ resizeContent: function resizeContent() {
64
+ var $content = $('.gwp-backbone-modal-content').find('article');
65
+ var max_h = $(window).height() * 0.75;
66
+
67
+ $content.css({
68
+ 'max-height': max_h + 'px'
69
+ });
70
+ },
71
+ initialize: function initialize(data) {
72
+ var view = this;
73
+ this._target = data.target;
74
+ this._string = data.string;
75
+ _.bindAll(this, 'render');
76
+ this.render();
77
+
78
+ $(window).resize(function () {
79
+ view.resizeContent();
80
+ });
81
+ },
82
+ render: function render() {
83
+ var template = wp.template(this._target);
84
+
85
+ this.$el.append(template(this._string));
86
+
87
+ $(document.body).css({
88
+ 'overflow': 'hidden'
89
+ }).append(this.$el);
90
+
91
+ this.resizeContent();
92
+ this.$('.gwp-backbone-modal-content').attr('tabindex', '0').focus();
93
+
94
+ // $( document.body ).trigger( 'init_tooltips' );
95
+
96
+ $(document.body).trigger('gwp_backbone_modal_loaded', this._target);
97
+ },
98
+ closeButton: function closeButton(e) {
99
+ e.preventDefault();
100
+ $(document.body).trigger('gwp_backbone_modal_before_remove', this._target);
101
+ this.undelegateEvents();
102
+ $(document).off('focusin');
103
+ $(document.body).css({
104
+ 'overflow': 'auto'
105
+ });
106
+ this.remove();
107
+ $(document.body).trigger('gwp_backbone_modal_removed', this._target);
108
+ },
109
+
110
+ addButton: function addButton(e) {
111
+ $(document.body).trigger('gwp_backbone_modal_response', [this._target, this.getFormData()]);
112
+ this.closeButton(e);
113
+ },
114
+
115
+ sendAjax: function sendAjax(event) {
116
+ var _this = this;
117
+
118
+ event.preventDefault();
119
+
120
+ var form = this.getFormData();
121
+ var data = this._string;
122
+
123
+ if (typeof form['reason_type'] === 'undefined') {
124
+ this.closeButton(event);
125
+ return;
126
+ }
127
+
128
+ $(event.target).prop('disabled', true).text($(event.target).data('deactivating')).next().addClass('visible');
129
+
130
+ wp.ajax.send(form.action, {
131
+ form: form,
132
+ success: function success(response) {
133
+ window.location.replace(data.deactivate_link);
134
+ _this.closeButton(event);
135
+ },
136
+ error: function error() {
137
+ window.location.replace(data.deactivate_link);
138
+ _this.closeButton(event);
139
+ }
140
+ });
141
+ },
142
+
143
+ optionChange: function optionChange(event) {
144
+
145
+ $(event.target).closest('.feedback-dialog-form-body').find('.feedback-text').prop('disabled', true).hide();
146
+
147
+ $(event.target).nextAll('.feedback-text').prop('disabled', false).show().focus();
148
+ },
149
+
150
+ getFormData: function getFormData() {
151
+ var data = {};
152
+
153
+ $(document.body).trigger('gwp_backbone_modal_before_update', this._target);
154
+
155
+ $.each($('form', this.$el).serializeArray(), function (index, item) {
156
+ if (item.name.indexOf('[]') !== -1) {
157
+ item.name = item.name.replace('[]', '');
158
+ data[item.name] = $.makeArray(data[item.name]);
159
+ data[item.name].push(item.value);
160
+ } else {
161
+ data[item.name] = item.value;
162
+ }
163
+ });
164
+
165
+ return data;
166
+ },
167
+ keyboardActions: function keyboardActions(e) {
168
+ var button = e.keyCode || e.which;
169
+
170
+ // Enter key
171
+ if (13 === button && !(e.target.tagName && (e.target.tagName.toLowerCase() === 'input' || e.target.tagName.toLowerCase() === 'textarea'))) {
172
+ this.addButton(e);
173
+ }
174
+
175
+ // ESC key
176
+ if (27 === button) {
177
+ this.closeButton(e);
178
+ }
179
+ }
180
+ });
181
+ })(jQuery, Backbone, _);
assets/js/gwp-backbone-modal.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(n,t,a){"use strict";n.fn.GWPBackboneModal=function(t){return this.each(function(){new n.GWPBackboneModal(n(this),t)})},n.GWPBackboneModal=function(t,e){var a=n.extend({},n.GWPBackboneModal.defaultOptions,e);a.template&&new n.GWPBackboneModal.View({target:a.template,string:a.data})},n.GWPBackboneModal.defaultOptions={template:"",data:{}},n.GWPBackboneModal.View=t.View.extend({tagName:"div",id:"gwp-backbone-modal-dialog",_target:void 0,_string:void 0,events:{"click .modal-close":"closeButton","click #btn-ok":"addButton","click #send-ajax":"sendAjax","touchstart #btn-ok":"addButton",keydown:"keyboardActions","change :radio":"optionChange"},resizeContent:function(){var t=n(".gwp-backbone-modal-content").find("article"),e=.75*n(window).height();t.css({"max-height":e+"px"})},initialize:function(t){var e=this;this._target=t.target,this._string=t.string,a.bindAll(this,"render"),this.render(),n(window).resize(function(){e.resizeContent()})},render:function(){var t=wp.template(this._target);this.$el.append(t(this._string)),n(document.body).css({overflow:"hidden"}).append(this.$el),this.resizeContent(),this.$(".gwp-backbone-modal-content").attr("tabindex","0").focus(),n(document.body).trigger("gwp_backbone_modal_loaded",this._target)},closeButton:function(t){t.preventDefault(),n(document.body).trigger("gwp_backbone_modal_before_remove",this._target),this.undelegateEvents(),n(document).off("focusin"),n(document.body).css({overflow:"auto"}),this.remove(),n(document.body).trigger("gwp_backbone_modal_removed",this._target)},addButton:function(t){n(document.body).trigger("gwp_backbone_modal_response",[this._target,this.getFormData()]),this.closeButton(t)},sendAjax:function(e){var a=this;e.preventDefault();var t=this.getFormData(),o=this._string;void 0!==t.reason_type?(n(e.target).prop("disabled",!0).text(n(e.target).data("deactivating")).next().addClass("visible"),wp.ajax.send(t.action,{form:t,success:function(t){window.location.replace(o.deactivate_link),a.closeButton(e)},error:function(){window.location.replace(o.deactivate_link),a.closeButton(e)}})):this.closeButton(e)},optionChange:function(t){n(t.target).closest(".feedback-dialog-form-body").find(".feedback-text").prop("disabled",!0).hide(),n(t.target).nextAll(".feedback-text").prop("disabled",!1).show().focus()},getFormData:function(){var a={};return n(document.body).trigger("gwp_backbone_modal_before_update",this._target),n.each(n("form",this.$el).serializeArray(),function(t,e){-1!==e.name.indexOf("[]")?(e.name=e.name.replace("[]",""),a[e.name]=n.makeArray(a[e.name]),a[e.name].push(e.value)):a[e.name]=e.value}),a},keyboardActions:function(t){var e=t.keyCode||t.which;13!==e||t.target.tagName&&("input"===t.target.tagName.toLowerCase()||"textarea"===t.target.tagName.toLowerCase())||this.addButton(t),27===e&&this.closeButton(t)}})}(jQuery,Backbone,_);
includes/class-woo-variation-swatches-export-import.php CHANGED
@@ -105,7 +105,7 @@
105
  return $columns;
106
  }
107
 
108
- public function process_wc_import( &$product, $data ) {
109
 
110
  $product_id = $product->get_id();
111
 
@@ -130,7 +130,6 @@
130
 
131
  wc_update_attribute( $id, array( 'type' => $attr[ 'type' ] ) );
132
 
133
-
134
  foreach ( $attr[ 'terms' ] as $term_name => $term_data ) {
135
 
136
  $term = get_term_by( 'name', $term_name, $taxonomy );
105
  return $columns;
106
  }
107
 
108
+ public function process_wc_import( $product, $data ) {
109
 
110
  $product_id = $product->get_id();
111
 
130
 
131
  wc_update_attribute( $id, array( 'type' => $attr[ 'type' ] ) );
132
 
 
133
  foreach ( $attr[ 'terms' ] as $term_name => $term_data ) {
134
 
135
  $term = get_term_by( 'name', $term_name, $taxonomy );
includes/class-wvs-settings-api.php CHANGED
@@ -13,6 +13,7 @@
13
 
14
  private $setting_name = 'woo_variation_swatches';
15
  private $transient_setting_name = '_temp_woo_variation_swatches_options';
 
16
  private $theme_feature_name = 'woo-variation-swatches';
17
  private $slug;
18
  private $plugin_class;
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';
18
  private $slug;
19
  private $plugin_class;
includes/deactive-feedback-dialog.php CHANGED
@@ -2,31 +2,55 @@
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
  ?>
4
 
5
- <div id="gwp-plugin-deactivate-feedback-dialog-wrapper-<?php echo esc_attr( $slug ) ?>" style="display: none">
6
- <form class="feedback-dialog-form" method="post" onsubmit="return false">
7
- <input type="hidden" name="action" value="gwp_deactivate_feedback"/>
8
- <input type="hidden" name="plugin" value="<?php echo esc_attr( $slug ) ?>"/>
9
- <input type="hidden" name="version" value="<?php echo esc_attr( $version ) ?>"/>
10
- <div class="feedback-dialog-form-caption"><?php esc_html_e( 'May we have a little info about why you are deactivating?', 'woo-variation-swatches' ); ?></div>
11
- <div class="feedback-dialog-form-body">
12
- <?php foreach ( $deactivate_reasons as $reason_key => $reason ) : ?>
13
- <div class="feedback-dialog-input-wrapper">
14
- <input id="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-input" type="radio" name="reason_type" value="<?php echo esc_attr( $reason_key ); ?>"/>
15
- <label for="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-label"><?php echo $reason[ 'title' ]; ?></label>
16
- <?php if ( ! empty( $reason[ 'input_placeholder' ] ) ) : ?>
17
- <input value="<?php echo( isset( $reason[ 'input_value' ] ) ? $reason[ 'input_value' ] : '' ) ?>" class="feedback-text" style="display: none" disabled type="text" name="reason_text" placeholder="<?php echo esc_attr( $reason[ 'input_placeholder' ] ); ?>"/>
18
- <?php endif; ?>
19
- <?php if ( ! empty( $reason[ 'alert' ] ) ) : ?>
20
- <div class="feedback-text feedback-alert"><?php echo $reason[ 'alert' ]; ?></div>
21
- <?php endif; ?>
22
- </div>
23
- <?php endforeach; ?>
24
- </div>
25
- <div class="feedback-dialog-form-buttons">
26
- <button class="button button-primary feedback-dialog-form-button-send" data-defaultvalue="<?php esc_html_e( 'Send &amp; Deactivate', 'woo-variation-swatches' ) ?>" data-deactivating="<?php esc_html_e( 'Deactivating...', 'woo-variation-swatches' ) ?>"><?php esc_html_e( 'Send &amp; Deactivate', 'woo-variation-swatches' ) ?></button>
27
- <span class="spinner"></span>
28
- <a href="#" class="feedback-dialog-form-button-skip"><?php esc_html_e( 'Skip &amp; Deactivate', 'woo-variation-swatches' ) ?></a>
29
- <div class="clear"></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  </div>
31
- </form>
32
- </div>
 
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
  ?>
4
 
5
+ <script type="text/template" id="tmpl-gwp-deactive-feedback-dialog-<?php echo esc_attr( $slug ) ?>">
6
+ <div class="gwp-backbone-modal gwp-deactive-feedback-dialog">
7
+ <div class="gwp-backbone-modal-content">
8
+ <section class="gwp-backbone-modal-main" role="main">
9
+ <header class="gwp-backbone-modal-header">
10
+ <h1><?php esc_html_e( 'QUICK FEEDBACK', 'woo-variation-swatches' ); ?></h1>
11
+ <button class="modal-close modal-close-link dashicons dashicons-no-alt">
12
+ <span class="screen-reader-text"><?php esc_html_e( 'Close modal panel', 'woo-variation-swatches' ); ?></span>
13
+ </button>
14
+ </header>
15
+ <article>
16
+ <div class="gwp-feedback-dialog-form-body">
17
+
18
+ <h2><?php esc_html_e( 'May we have a little info about why you are deactivating?', 'woo-variation-swatches' ); ?></h2>
19
+
20
+ <form class="feedback-dialog-form" method="post" onsubmit="return false">
21
+ <input type="hidden" name="action" value="gwp_deactivate_feedback"/>
22
+ <input type="hidden" name="plugin" value="<?php echo esc_attr( $slug ) ?>"/>
23
+ <input type="hidden" name="version" value="<?php echo esc_attr( $version ) ?>"/>
24
+ <div class="feedback-dialog-form-body">
25
+ <?php foreach ( $deactivate_reasons as $reason_key => $reason ) : ?>
26
+ <div class="feedback-dialog-input-wrapper">
27
+ <input id="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-input" type="radio" name="reason_type" value="<?php echo esc_attr( $reason_key ); ?>"/>
28
+ <label for="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-label"><?php echo $reason[ 'title' ]; ?></label>
29
+ <?php if ( ! empty( $reason[ 'input_placeholder' ] ) ) : ?>
30
+ <input value="<?php echo( isset( $reason[ 'input_value' ] ) ? $reason[ 'input_value' ] : '' ) ?>" class="feedback-text" style="display: none" disabled type="text" name="reason_text" placeholder="<?php echo esc_attr( $reason[ 'input_placeholder' ] ); ?>"/>
31
+ <?php endif; ?>
32
+ <?php if ( ! empty( $reason[ 'alert' ] ) ) : ?>
33
+ <div class="feedback-text feedback-alert"><?php echo $reason[ 'alert' ]; ?></div>
34
+ <?php endif; ?>
35
+ </div>
36
+ <?php endforeach; ?>
37
+ </div>
38
+ </form>
39
+ </div>
40
+ </article>
41
+ <footer>
42
+ <div class="inner">
43
+ <div class="gwp-action-button-group">
44
+ <button id="send-ajax" class="button button-primary feedback-dialog-form-button-send" data-defaultvalue="<?php esc_html_e( 'Send &amp; Deactivate', 'woo-variation-swatches' ) ?>" data-deactivating="<?php esc_html_e( 'Deactivating...', 'woo-variation-swatches' ) ?>"><?php esc_html_e( 'Send &amp; Deactivate', 'woo-variation-swatches' ) ?></button>
45
+ <span class="spinner"></span>
46
+ </div>
47
+
48
+ <a class="feedback-dialog-form-button-skip" href="{{ data.deactivate_link }}"><?php esc_html_e( 'Skip &amp; Deactivate', 'woo-variation-swatches' ) ?></a>
49
+ <div class="clear"></div>
50
+ </div>
51
+ </footer>
52
+ </section>
53
  </div>
54
+ </div>
55
+ <div class="gwp-backbone-modal-backdrop modal-close"></div>
56
+ </script>
includes/functions.php CHANGED
@@ -95,9 +95,8 @@
95
 
96
  $key = $fields[ 0 ][ 'id' ];
97
  $attachment_id = absint( get_term_meta( $term_id, $key, true ) );
98
- $image = wp_get_attachment_image_url( $attachment_id );
99
-
100
- printf( '<img src="%s" class="wvs-preview wvs-image-preview" />', esc_url( $image ) );
101
  }
102
  endif;
103
 
@@ -297,6 +296,29 @@
297
  )
298
  ) ), apply_filters( 'wvs_advanced_setting_default_active', false ) );
299
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  if ( ! woo_variation_swatches()->is_pro_active() ) {
301
  woo_variation_swatches()->add_setting( 'style', esc_html__( 'Style', 'woo-variation-swatches' ), array(
302
  array(
@@ -664,34 +686,25 @@
664
  if ( ! function_exists( 'wvs_get_wc_attribute_taxonomy' ) ):
665
  function wvs_get_wc_attribute_taxonomy( $attribute_name ) {
666
 
667
- global $wpdb;
668
- $attribute_name = str_replace( 'pa_', '', wc_sanitize_taxonomy_name( $attribute_name ) );
669
- $attribute_taxonomy = $wpdb->get_row( "SELECT * FROM " . $wpdb->prefix . "woocommerce_attribute_taxonomies WHERE attribute_name='{$attribute_name}'" );
 
 
 
 
 
 
 
 
 
 
 
670
 
671
  return apply_filters( 'wvs_get_wc_attribute_taxonomy', $attribute_taxonomy, $attribute_name );
672
  }
673
  endif;
674
 
675
- /*// Clean transient
676
- add_action( 'woocommerce_attribute_updated', function ( $attribute_id, $attribute, $old_attribute_name ) {
677
- $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $attribute[ 'attribute_name' ] ) );
678
- $old_transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $old_attribute_name ) );
679
- delete_transient( $transient );
680
- delete_transient( $old_transient );
681
- }, 20, 3 );
682
-
683
- // Clean transient
684
- add_action( 'woocommerce_attribute_deleted', function ( $attribute_id, $attribute_name, $taxonomy ) {
685
- $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', $taxonomy );
686
- delete_transient( $transient );
687
- }, 20, 3 );
688
-
689
- // Clean transient
690
- add_action( 'woocommerce_attribute_added', function ( $attribute_id, $attribute ) {
691
- $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $attribute[ 'attribute_name' ] ) );
692
- delete_transient( $transient );
693
- }, 20, 2 );*/
694
-
695
  //-------------------------------------------------------------------------------
696
  // Check has attribute type like color or image etc.
697
  //-------------------------------------------------------------------------------
@@ -708,6 +721,7 @@
708
  return $attribute_name_clean === $attribute->attribute_name;
709
  } ) );
710
 
 
711
  if ( ! empty( $attribute ) ) {
712
  $attribute = apply_filters( 'wvs_get_wc_attribute_taxonomy', $attribute[ 0 ], $attribute_name );
713
  } else {
@@ -777,8 +791,11 @@
777
  case 'image':
778
  $attachment_id = absint( get_term_meta( $term->term_id, 'product_attribute_image', true ) );
779
  $image_size = woo_variation_swatches()->get_option( 'attribute_image_size' );
780
- $image_url = wp_get_attachment_image_url( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
781
- $data .= sprintf( '<img alt="%s" src="%s" />', esc_attr( $term->name ), esc_url( $image_url ) );
 
 
 
782
  break;
783
 
784
 
@@ -847,8 +864,10 @@
847
  case 'image':
848
  $attachment_id = $assigned[ $term->slug ][ 'image_id' ];
849
  $image_size = woo_variation_swatches()->get_option( 'attribute_image_size' );
850
- $image_url = wp_get_attachment_image_url( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
851
- $data .= sprintf( '<img alt="%s" src="%s" />', esc_attr( apply_filters( 'woocommerce_variation_option_name', $term->name, $term, $attribute, $product ) ), esc_url( $image_url ) );
 
 
852
  break;
853
 
854
 
@@ -893,8 +912,10 @@
893
  case 'image':
894
  $attachment_id = $assigned[ $option ][ 'image_id' ];
895
  $image_size = woo_variation_swatches()->get_option( 'attribute_image_size' );
896
- $image_url = wp_get_attachment_image_url( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
897
- $data .= sprintf( '<img alt="%s" src="%s" />', esc_attr( $option ), esc_url( $image_url ) );
 
 
898
  break;
899
 
900
 
@@ -1239,12 +1260,9 @@
1239
 
1240
  if ( $type === 'select' ) {
1241
  echo '<select id="' . esc_attr( $id ) . '" class="' . esc_attr( $class ) . '" name="' . esc_attr( $name ) . '" data-attribute_name="' . esc_attr( wc_variation_attribute_name( $attribute ) ) . '" data-show_option_none="' . ( $show_option_none ? 'yes' : 'no' ) . '">';
1242
-
1243
  } else {
1244
  echo '<select id="' . esc_attr( $id ) . '" class="' . esc_attr( $class ) . ' hide woo-variation-raw-select woo-variation-raw-type-' . $type . '" style="display:none" name="' . esc_attr( $name ) . '" data-attribute_name="' . esc_attr( wc_variation_attribute_name( $attribute ) ) . '" data-show_option_none="' . ( $show_option_none ? 'yes' : 'no' ) . '">';
1245
-
1246
  }
1247
-
1248
  }
1249
 
1250
  if ( $args[ 'show_option_none' ] ) {
@@ -1364,28 +1382,28 @@
1364
  return $html;
1365
  }
1366
 
1367
- $attributes = $args[ 'product' ]->get_variation_attributes();
1368
- $variations = $args[ 'product' ]->get_available_variations();
1369
 
1370
- ob_start();
 
 
1371
 
1372
- $available_type_keys = array_keys( wvs_available_attributes_types() );
1373
- $available_types = wvs_available_attributes_types();
1374
- $default = true;
1375
 
1376
- foreach ( $available_type_keys as $type ) {
1377
- if ( wvs_wc_product_has_attribute_type( $type, $args[ 'attribute' ] ) ) {
1378
-
1379
- $output_callback = apply_filters( 'wvs_variation_attribute_options_callback', $available_types[ $type ][ 'output' ], $available_types, $type, $args, $html );
1380
- $output_callback( apply_filters( 'wvs_variation_attribute_options_args', wp_parse_args( $args, array(
1381
- 'options' => $args[ 'options' ],
1382
- 'attribute' => $args[ 'attribute' ],
1383
- 'product' => $args[ 'product' ],
1384
- 'selected' => $args[ 'selected' ],
1385
- 'type' => $type,
1386
- 'is_archive' => ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] )
1387
- ) ) ) );
1388
- $default = false;
 
1389
  }
1390
  }
1391
 
@@ -1395,93 +1413,128 @@
1395
 
1396
  $is_default_to_image_button = ( $is_default_to_image || $is_default_to_button );
1397
 
1398
- if ( $default && $is_default_to_image_button ) {
1399
-
1400
- if ( $default_image_type_attribute === '__max' ) {
1401
-
1402
- $attribute_counts = array();
1403
- foreach ( $attributes as $attr_key => $attr_values ) {
1404
- $attribute_counts[ $attr_key ] = count( $attr_values );
1405
- }
1406
-
1407
- $max_attribute_count = max( $attribute_counts );
1408
- $attribute_key = array_search( $max_attribute_count, $attribute_counts );
1409
-
1410
- } elseif ( $default_image_type_attribute === '__min' ) {
1411
- $attribute_counts = array();
1412
- foreach ( $attributes as $attr_key => $attr_values ) {
1413
- $attribute_counts[ $attr_key ] = count( $attr_values );
1414
- }
1415
- $min_attribute_count = min( $attribute_counts );
1416
- $attribute_key = array_search( $min_attribute_count, $attribute_counts );
1417
-
1418
- } elseif ( $default_image_type_attribute === '__first' ) {
1419
- $attribute_keys = array_keys( $attributes );
1420
- $attribute_key = current( $attribute_keys );
1421
- } else {
1422
- $attribute_key = $default_image_type_attribute;
1423
- }
1424
-
1425
- $selected_attribute_name = wc_variation_attribute_name( $attribute_key );
1426
-
1427
 
1428
- $default_attribute_keys = array_keys( $attributes );
1429
- $default_attribute_key = current( $default_attribute_keys );
1430
- $default_attribute_name = wc_variation_attribute_name( $default_attribute_key );
1431
 
1432
- $current_attribute = $args[ 'attribute' ];
1433
- $current_attribute_name = wc_variation_attribute_name( $current_attribute );
 
1434
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1435
 
1436
- if ( $is_default_to_image ) {
1437
 
1438
- $assigned = array();
1439
- foreach ( $variations as $variation_key => $variation ) {
1440
- $attribute_name = $variation[ 'attributes' ][ $selected_attribute_name ] ? $selected_attribute_name : $default_attribute_name;
1441
 
1442
- $assigned[ $attribute_name ][ $variation[ 'attributes' ][ $attribute_name ] ] = array(
1443
- 'image_id' => $variation[ 'image_id' ],
1444
- 'variation_id' => $variation[ 'variation_id' ],
1445
- 'type' => ( empty( $variation[ 'image_id' ] ) ? 'button' : 'image' ),
1446
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1447
  }
1448
 
1449
- $type = ( empty( $assigned[ $current_attribute_name ] ) ? 'button' : 'image' );
1450
- $assigned = ( isset( $assigned[ $current_attribute_name ] ) ? $assigned[ $current_attribute_name ] : array() );
1451
 
1452
- if ( $type === 'button' && ! $is_default_to_button ) {
1453
- $type = 'select';
1454
- }
1455
 
1456
- wvs_default_image_variation_attribute_options( apply_filters( 'wvs_variation_attribute_options_args', wp_parse_args( $args, array(
1457
- 'options' => $args[ 'options' ],
1458
- 'attribute' => $args[ 'attribute' ],
1459
- 'product' => $args[ 'product' ],
1460
- 'selected' => $args[ 'selected' ],
1461
- 'assigned' => $assigned,
1462
- 'type' => $type,
1463
- 'is_archive' => ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] )
1464
- ) ) ) );
1465
 
1466
- } elseif ( $is_default_to_button ) {
 
1467
 
1468
- wvs_default_button_variation_attribute_options( apply_filters( 'wvs_variation_attribute_options_args', wp_parse_args( $args, array(
1469
- 'options' => $args[ 'options' ],
1470
- 'attribute' => $args[ 'attribute' ],
1471
- 'product' => $args[ 'product' ],
1472
- 'selected' => $args[ 'selected' ],
1473
- 'is_archive' => ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] )
1474
- ) ) ) );
1475
- } else {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1476
  echo $html;
1477
  }
1478
- } elseif ( $default && ! $is_default_to_image_button ) {
1479
- echo $html;
1480
  }
1481
 
1482
  $data = ob_get_clean();
1483
 
1484
- return apply_filters( 'wvs_variation_attribute_options_html', $data, $args, $is_default_to_image, $is_default_to_button );
 
 
 
 
 
 
1485
  }
1486
  endif;
1487
 
95
 
96
  $key = $fields[ 0 ][ 'id' ];
97
  $attachment_id = absint( get_term_meta( $term_id, $key, true ) );
98
+ $image = wp_get_attachment_image_src( $attachment_id, 'thumbnail' );
99
+ printf( '<img src="%s" width="%d" height="%d" class="wvs-preview wvs-image-preview" />', esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
 
100
  }
101
  endif;
102
 
296
  )
297
  ) ), apply_filters( 'wvs_advanced_setting_default_active', false ) );
298
 
299
+ woo_variation_swatches()->add_setting( 'performance', esc_html__( 'Performance', 'woo-variation-swatches' ), apply_filters( 'wvs_performance_settings_section', array(
300
+ array(
301
+ 'title' => esc_html__( 'Performance Section', 'woo-variation-swatches' ),
302
+ 'desc' => esc_html__( 'Change for Performance', 'woo-variation-swatches' ),
303
+ 'fields' => apply_filters( 'wvs_performance_setting_fields', array(
304
+ array(
305
+ 'id' => 'defer_load_js',
306
+ 'type' => 'checkbox',
307
+ 'title' => esc_html__( 'Defer Load JS', 'woo-variation-swatches' ),
308
+ 'desc' => esc_html__( 'Defer Load JS for PageSpeed Score', 'woo-variation-swatches' ),
309
+ 'default' => true
310
+ ),
311
+ array(
312
+ 'id' => 'use_transient',
313
+ 'type' => 'checkbox',
314
+ 'title' => esc_html__( 'Use Transient Cache', 'woo-variation-swatches' ),
315
+ 'desc' => esc_html__( 'Use Transient Cache for PageSpeed Score', 'woo-variation-swatches' ),
316
+ 'default' => false
317
+ )
318
+ ) )
319
+ )
320
+ ) ), apply_filters( 'wvs_advanced_setting_default_active', false ) );
321
+
322
  if ( ! woo_variation_swatches()->is_pro_active() ) {
323
  woo_variation_swatches()->add_setting( 'style', esc_html__( 'Style', 'woo-variation-swatches' ), array(
324
  array(
686
  if ( ! function_exists( 'wvs_get_wc_attribute_taxonomy' ) ):
687
  function wvs_get_wc_attribute_taxonomy( $attribute_name ) {
688
 
689
+ $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', $attribute_name );
690
+
691
+ if ( isset( $_GET[ 'wvs_clear_transient' ] ) ) {
692
+ delete_transient( $transient );
693
+ }
694
+
695
+ if ( false === ( $attribute_taxonomy = get_transient( $transient ) ) ) {
696
+ global $wpdb;
697
+ $attribute_name = str_replace( 'pa_', '', wc_sanitize_taxonomy_name( $attribute_name ) );
698
+
699
+ $attribute_taxonomy = $wpdb->get_row( "SELECT * FROM " . $wpdb->prefix . "woocommerce_attribute_taxonomies WHERE attribute_name='{$attribute_name}'" );
700
+
701
+ set_transient( $transient, $attribute_taxonomy, HOUR_IN_SECONDS );
702
+ }
703
 
704
  return apply_filters( 'wvs_get_wc_attribute_taxonomy', $attribute_taxonomy, $attribute_name );
705
  }
706
  endif;
707
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
708
  //-------------------------------------------------------------------------------
709
  // Check has attribute type like color or image etc.
710
  //-------------------------------------------------------------------------------
721
  return $attribute_name_clean === $attribute->attribute_name;
722
  } ) );
723
 
724
+
725
  if ( ! empty( $attribute ) ) {
726
  $attribute = apply_filters( 'wvs_get_wc_attribute_taxonomy', $attribute[ 0 ], $attribute_name );
727
  } else {
791
  case 'image':
792
  $attachment_id = absint( get_term_meta( $term->term_id, 'product_attribute_image', true ) );
793
  $image_size = woo_variation_swatches()->get_option( 'attribute_image_size' );
794
+ $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
795
+ // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
796
+
797
+ $data .= sprintf( '<img alt="%s" src="%s" width="%d" height="%d" />', esc_attr( $term->name ), esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
798
+
799
  break;
800
 
801
 
864
  case 'image':
865
  $attachment_id = $assigned[ $term->slug ][ 'image_id' ];
866
  $image_size = woo_variation_swatches()->get_option( 'attribute_image_size' );
867
+ $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
868
+ // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
869
+ $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 ] );
870
+ // $data .= $image_html;
871
  break;
872
 
873
 
912
  case 'image':
913
  $attachment_id = $assigned[ $option ][ 'image_id' ];
914
  $image_size = woo_variation_swatches()->get_option( 'attribute_image_size' );
915
+ $image = wp_get_attachment_image_src( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ) );
916
+ // $image_html = wp_get_attachment_image( $attachment_id, apply_filters( 'wvs_product_attribute_image_size', $image_size ), false, array( 'class' => '' ) );
917
+ $data .= sprintf( '<img alt="%s" src="%s" width="%d" height="%d" />', esc_attr( $option ), esc_url( $image[ 0 ] ), $image[ 1 ], $image[ 2 ] );
918
+ // $data .= $image_html;
919
  break;
920
 
921
 
1260
 
1261
  if ( $type === 'select' ) {
1262
  echo '<select id="' . esc_attr( $id ) . '" class="' . esc_attr( $class ) . '" name="' . esc_attr( $name ) . '" data-attribute_name="' . esc_attr( wc_variation_attribute_name( $attribute ) ) . '" data-show_option_none="' . ( $show_option_none ? 'yes' : 'no' ) . '">';
 
1263
  } else {
1264
  echo '<select id="' . esc_attr( $id ) . '" class="' . esc_attr( $class ) . ' hide woo-variation-raw-select woo-variation-raw-type-' . $type . '" style="display:none" name="' . esc_attr( $name ) . '" data-attribute_name="' . esc_attr( wc_variation_attribute_name( $attribute ) ) . '" data-show_option_none="' . ( $show_option_none ? 'yes' : 'no' ) . '">';
 
1265
  }
 
1266
  }
1267
 
1268
  if ( $args[ 'show_option_none' ] ) {
1382
  return $html;
1383
  }
1384
 
 
 
1385
 
1386
+ $attribute_id = wc_variation_attribute_name( $args[ 'attribute' ] );
1387
+ // $attribute_id = sanitize_title( $args[ 'attribute' ] );
1388
+ $product_id = $args[ 'product' ]->get_id();
1389
 
1390
+ $transient_type = ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] ) ? "archive_" . $product_id . "_" . $attribute_id : $product_id . "_" . $attribute_id;
1391
+ $transient_name = 'wvs_attribute_html_' . $transient_type;
 
1392
 
1393
+ $archive_transient_name = 'wvs_attribute_html_archive_' . $product_id . "_" . $attribute_id;
1394
+ $product_transient_name = 'wvs_attribute_html_' . $product_id . "_" . $attribute_id;
1395
+ $use_transient = (bool) woo_variation_swatches()->get_option( 'use_transient' );
1396
+
1397
+ if ( isset( $_GET[ 'wvs_clear_transient' ] ) || ! $use_transient ) {
1398
+ delete_transient( $transient_name );
1399
+ delete_transient( $archive_transient_name );
1400
+ delete_transient( $product_transient_name );
1401
+ }
1402
+
1403
+ if ( ! isset( $_GET[ 'wvs_clear_transient' ] ) && $use_transient ) {
1404
+ $transient_html = get_transient( $transient_name );
1405
+ if ( ! empty( $transient_html ) ) {
1406
+ return $transient_html;
1407
  }
1408
  }
1409
 
1413
 
1414
  $is_default_to_image_button = ( $is_default_to_image || $is_default_to_button );
1415
 
1416
+ ob_start();
1417
+
1418
+ if ( apply_filters( 'wvs_no_individual_settings', true, $args, $is_default_to_image, $is_default_to_button ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1419
 
1420
+ $attributes = $args[ 'product' ]->get_variation_attributes();
1421
+ $variations = $args[ 'product' ]->get_available_variations();
 
1422
 
1423
+ $available_type_keys = array_keys( wvs_available_attributes_types() );
1424
+ $available_types = wvs_available_attributes_types();
1425
+ $default = true;
1426
 
1427
+ foreach ( $available_type_keys as $type ) {
1428
+ if ( wvs_wc_product_has_attribute_type( $type, $args[ 'attribute' ] ) ) {
1429
+
1430
+ $output_callback = apply_filters( 'wvs_variation_attribute_options_callback', $available_types[ $type ][ 'output' ], $available_types, $type, $args, $html );
1431
+ $output_callback( apply_filters( 'wvs_variation_attribute_options_args', wp_parse_args( $args, array(
1432
+ 'options' => $args[ 'options' ],
1433
+ 'attribute' => $args[ 'attribute' ],
1434
+ 'product' => $args[ 'product' ],
1435
+ 'selected' => $args[ 'selected' ],
1436
+ 'type' => $type,
1437
+ 'is_archive' => ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] )
1438
+ ) ) ) );
1439
+ $default = false;
1440
+ }
1441
+ }
1442
 
1443
+ if ( $default && $is_default_to_image_button ) {
1444
 
1445
+ if ( $default_image_type_attribute === '__max' ) {
 
 
1446
 
1447
+ $attribute_counts = array();
1448
+ foreach ( $attributes as $attr_key => $attr_values ) {
1449
+ $attribute_counts[ $attr_key ] = count( $attr_values );
1450
+ }
1451
+
1452
+ $max_attribute_count = max( $attribute_counts );
1453
+ $attribute_key = array_search( $max_attribute_count, $attribute_counts );
1454
+
1455
+ } elseif ( $default_image_type_attribute === '__min' ) {
1456
+ $attribute_counts = array();
1457
+ foreach ( $attributes as $attr_key => $attr_values ) {
1458
+ $attribute_counts[ $attr_key ] = count( $attr_values );
1459
+ }
1460
+ $min_attribute_count = min( $attribute_counts );
1461
+ $attribute_key = array_search( $min_attribute_count, $attribute_counts );
1462
+
1463
+ } elseif ( $default_image_type_attribute === '__first' ) {
1464
+ $attribute_keys = array_keys( $attributes );
1465
+ $attribute_key = current( $attribute_keys );
1466
+ } else {
1467
+ $attribute_key = $default_image_type_attribute;
1468
  }
1469
 
1470
+ $selected_attribute_name = wc_variation_attribute_name( $attribute_key );
 
1471
 
 
 
 
1472
 
1473
+ $default_attribute_keys = array_keys( $attributes );
1474
+ $default_attribute_key = current( $default_attribute_keys );
1475
+ $default_attribute_name = wc_variation_attribute_name( $default_attribute_key );
 
 
 
 
 
 
1476
 
1477
+ $current_attribute = $args[ 'attribute' ];
1478
+ $current_attribute_name = wc_variation_attribute_name( $current_attribute );
1479
 
1480
+
1481
+ if ( $is_default_to_image ) {
1482
+
1483
+ $assigned = array();
1484
+ foreach ( $variations as $variation_key => $variation ) {
1485
+ $attribute_name = $variation[ 'attributes' ][ $selected_attribute_name ] ? $selected_attribute_name : $default_attribute_name;
1486
+
1487
+ $assigned[ $attribute_name ][ $variation[ 'attributes' ][ $attribute_name ] ] = array(
1488
+ 'image_id' => $variation[ 'image_id' ],
1489
+ 'variation_id' => $variation[ 'variation_id' ],
1490
+ 'type' => ( empty( $variation[ 'image_id' ] ) ? 'button' : 'image' ),
1491
+ );
1492
+ }
1493
+
1494
+ $type = ( empty( $assigned[ $current_attribute_name ] ) ? 'button' : 'image' );
1495
+ $assigned = ( isset( $assigned[ $current_attribute_name ] ) ? $assigned[ $current_attribute_name ] : array() );
1496
+
1497
+ if ( $type === 'button' && ! $is_default_to_button ) {
1498
+ $type = 'select';
1499
+ }
1500
+
1501
+ wvs_default_image_variation_attribute_options( apply_filters( 'wvs_variation_attribute_options_args', wp_parse_args( $args, array(
1502
+ 'options' => $args[ 'options' ],
1503
+ 'attribute' => $args[ 'attribute' ],
1504
+ 'product' => $args[ 'product' ],
1505
+ 'selected' => $args[ 'selected' ],
1506
+ 'assigned' => $assigned,
1507
+ 'type' => $type,
1508
+ 'is_archive' => ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] )
1509
+ ) ) ) );
1510
+
1511
+ } elseif ( $is_default_to_button ) {
1512
+
1513
+ wvs_default_button_variation_attribute_options( apply_filters( 'wvs_variation_attribute_options_args', wp_parse_args( $args, array(
1514
+ 'options' => $args[ 'options' ],
1515
+ 'attribute' => $args[ 'attribute' ],
1516
+ 'product' => $args[ 'product' ],
1517
+ 'selected' => $args[ 'selected' ],
1518
+ 'is_archive' => ( isset( $args[ 'is_archive' ] ) && $args[ 'is_archive' ] )
1519
+ ) ) ) );
1520
+ } else {
1521
+ echo $html;
1522
+ }
1523
+ } elseif ( $default && ! $is_default_to_image_button ) {
1524
  echo $html;
1525
  }
1526
+
 
1527
  }
1528
 
1529
  $data = ob_get_clean();
1530
 
1531
+ $html = apply_filters( 'wvs_variation_attribute_options_html', $data, $args, $is_default_to_image, $is_default_to_button );
1532
+
1533
+ if ( ! isset( $_GET[ 'wvs_clear_transient' ] ) && $use_transient ) {
1534
+ set_transient( $transient_name, $html, HOUR_IN_SECONDS );
1535
+ }
1536
+
1537
+ return $html;
1538
  }
1539
  endif;
1540
 
includes/hooks.php CHANGED
@@ -38,8 +38,83 @@
38
  return $attr;
39
  }, 9 );
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  if ( ! class_exists( 'Woo_Variation_Swatches_Pro' ) ) {
42
  add_filter( 'woocommerce_product_data_tabs', 'add_wvs_pro_preview_tab' );
43
 
44
  add_filter( 'woocommerce_product_data_panels', 'add_wvs_pro_preview_tab_panel' );
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  return $attr;
39
  }, 9 );
40
 
41
+ add_filter( 'script_loader_tag', function ( $tag, $handle, $src ) {
42
+
43
+ $defer_load_js = (bool) woo_variation_swatches()->get_option( 'defer_load_js' );
44
+
45
+ if ( $defer_load_js ) {
46
+ $handles = array( 'woo-variation-swatches-pro', 'wc-add-to-cart-variation', 'woo-variation-swatches' );
47
+
48
+ if ( in_array( $handle, $handles ) && ( strpos( $tag, 'plugins' . DIRECTORY_SEPARATOR . 'woo-variation-swatches' ) !== false ) ) {
49
+ return str_ireplace( ' src=', ' defer src=', $tag );
50
+ }
51
+ }
52
+
53
+ return $tag;
54
+
55
+ }, 10, 3 );
56
+
57
  if ( ! class_exists( 'Woo_Variation_Swatches_Pro' ) ) {
58
  add_filter( 'woocommerce_product_data_tabs', 'add_wvs_pro_preview_tab' );
59
 
60
  add_filter( 'woocommerce_product_data_panels', 'add_wvs_pro_preview_tab_panel' );
61
+ }
62
+
63
+ add_action( 'woocommerce_save_product_variation', function ( $variation_id ) {
64
+ $product = wc_get_product( $variation_id );
65
+ $product_id = $product->get_parent_id();
66
+ $attribute_keys = array_keys( $product->get_variation_attributes() );
67
+
68
+ foreach ( $attribute_keys as $attribute_id ) {
69
+ $archive_transient_name = 'wvs_attribute_html_archive_' . $product_id . "_" . $attribute_id;
70
+ $product_transient_name = 'wvs_attribute_html_' . $product_id . "_" . $attribute_id;
71
+ delete_transient( $archive_transient_name );
72
+ delete_transient( $product_transient_name );
73
+ }
74
+ } );
75
+
76
+ add_action( 'woocommerce_update_product_variation', function ( $variation_id ) {
77
+ $product = wc_get_product( $variation_id );
78
+ $product_id = $product->get_parent_id();
79
+ $attribute_keys = array_keys( $product->get_variation_attributes() );
80
+
81
+ foreach ( $attribute_keys as $attribute_id ) {
82
+ $archive_transient_name = 'wvs_attribute_html_archive_' . $product_id . "_" . $attribute_id;
83
+ $product_transient_name = 'wvs_attribute_html_' . $product_id . "_" . $attribute_id;
84
+ delete_transient( $archive_transient_name );
85
+ delete_transient( $product_transient_name );
86
+ }
87
+ } );
88
+
89
+ add_action( 'woocommerce_delete_product_transients', function ( $product_id ) {
90
+ $product = wc_get_product( $product_id );
91
+ $attribute_keys = array_keys( $product->get_variation_attributes() );
92
+
93
+ foreach ( $attribute_keys as $attribute_id ) {
94
+ $archive_transient_name = 'wvs_attribute_html_archive_' . $product_id . "_" . wc_variation_attribute_name( $attribute_id );
95
+ $product_transient_name = 'wvs_attribute_html_' . $product_id . "_" . wc_variation_attribute_name( $attribute_id );
96
+ delete_transient( $archive_transient_name );
97
+ delete_transient( $product_transient_name );
98
+ }
99
+ } );
100
+
101
+ // Clean transient
102
+ add_action( 'woocommerce_attribute_updated', function ( $attribute_id, $attribute, $old_attribute_name ) {
103
+ $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $attribute[ 'attribute_name' ] ) );
104
+ $old_transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $old_attribute_name ) );
105
+ delete_transient( $transient );
106
+ delete_transient( $old_transient );
107
+ }, 20, 3 );
108
+
109
+ // Clean transient
110
+ add_action( 'woocommerce_attribute_deleted', function ( $attribute_id, $attribute_name, $taxonomy ) {
111
+ $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', $taxonomy );
112
+ delete_transient( $transient );
113
+ }, 20, 3 );
114
+
115
+ // Clean transient
116
+ add_action( 'woocommerce_attribute_added', function ( $attribute_id, $attribute ) {
117
+ $transient = sprintf( 'wvs_get_wc_attribute_taxonomy_%s', wc_attribute_taxonomy_name( $attribute[ 'attribute_name' ] ) );
118
+ delete_transient( $transient );
119
+ }, 20, 2 );
120
+
languages/woo-variation-swatches.pot CHANGED
@@ -1,8 +1,8 @@
1
- # Copyright (C) 2019 WooCommerce Variation Swatches
2
- # This file is distributed under the same license as the WooCommerce Variation Swatches package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WooCommerce Variation Swatches\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -20,19 +20,19 @@ msgstr ""
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
23
- #: ../includes/class-wvs-settings-api.php:90
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
- #: ../includes/class-wvs-settings-api.php:91, ../includes/class-wvs-settings-api.php:104, ../includes/functions.php:1495
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
31
- #: ../includes/class-wvs-settings-api.php:119
32
  msgid "Clear transient"
33
  msgstr ""
34
 
35
- #: ../includes/class-wvs-settings-api.php:140
36
  msgid "Settings"
37
  msgstr ""
38
 
@@ -45,26 +45,34 @@ msgid "Remove image"
45
  msgstr ""
46
 
47
  #: ../includes/deactive-feedback-dialog.php:10
 
 
 
 
 
 
 
 
48
  msgid "May we have a little info about why you are deactivating?"
49
  msgstr ""
50
 
51
- #: ../includes/deactive-feedback-dialog.php:26, ../includes/deactive-feedback-dialog.php:26
52
  msgid "Send &amp; Deactivate"
53
  msgstr ""
54
 
55
- #: ../includes/deactive-feedback-dialog.php:26
56
  msgid "Deactivating..."
57
  msgstr ""
58
 
59
- #: ../includes/deactive-feedback-dialog.php:28
60
  msgid "Skip &amp; Deactivate"
61
  msgstr ""
62
 
63
- #: ../includes/functions.php:48, ../includes/functions.php:369
64
  msgid "Color"
65
  msgstr ""
66
 
67
- #: ../includes/functions.php:54, ../includes/functions.php:378
68
  msgid "Image"
69
  msgstr ""
70
 
@@ -72,210 +80,238 @@ msgstr ""
72
  msgid "Button"
73
  msgstr ""
74
 
75
- #: ../includes/functions.php:158
76
  msgid "Tutorials"
77
  msgstr ""
78
 
79
- #: ../includes/functions.php:161
80
  msgid "How to tutorials"
81
  msgstr ""
82
 
83
- #: ../includes/functions.php:162
84
  msgid "How to setup and use this plugin"
85
  msgstr ""
86
 
87
- #: ../includes/functions.php:184
88
  msgid "Simple"
89
  msgstr ""
90
 
91
- #: ../includes/functions.php:186, ../includes/functions.php:227, ../includes/functions.php:322
92
  msgid "Visual Section"
93
  msgstr ""
94
 
95
- #: ../includes/functions.php:187
96
  msgid "Simple change some visual styles"
97
  msgstr ""
98
 
99
- #: ../includes/functions.php:192
100
  msgid "Enable Tooltip"
101
  msgstr ""
102
 
103
- #: ../includes/functions.php:193
104
  msgid "Enable / Disable plugin default tooltip on each product attribute."
105
  msgstr ""
106
 
107
- #: ../includes/functions.php:199
108
  msgid "Enable Stylesheet"
109
  msgstr ""
110
 
111
- #: ../includes/functions.php:200
112
  msgid "Enable / Disable plugin default stylesheet"
113
  msgstr ""
114
 
115
- #: ../includes/functions.php:206
116
  msgid "Shape style"
117
  msgstr ""
118
 
119
- #: ../includes/functions.php:207
120
  msgid "Attribute Shape Style"
121
  msgstr ""
122
 
123
- #: ../includes/functions.php:209
124
  msgid "Rounded Shape"
125
  msgstr ""
126
 
127
- #: ../includes/functions.php:210
128
  msgid "Squared Shape"
129
  msgstr ""
130
 
131
- #: ../includes/functions.php:217
132
  msgid "Auto Dropdowns to Button"
133
  msgstr ""
134
 
135
- #: ../includes/functions.php:218
136
  msgid "Convert default dropdowns to button type"
137
  msgstr ""
138
 
139
- #: ../includes/functions.php:225
140
  msgid "Advanced"
141
  msgstr ""
142
 
143
- #: ../includes/functions.php:228
144
  msgid "Advanced change some visual styles"
145
  msgstr ""
146
 
147
- #: ../includes/functions.php:233
148
  msgid "Clear on Reselect"
149
  msgstr ""
150
 
151
- #: ../includes/functions.php:234
152
  msgid "Clear selected attribute on select again"
153
  msgstr ""
154
 
155
- #: ../includes/functions.php:240
156
  msgid "Ajax variation threshold"
157
  msgstr ""
158
 
159
- #: ../includes/functions.php:241
160
  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>"
161
  msgstr ""
162
 
163
- #: ../includes/functions.php:249
164
  msgid "Attribute behavior"
165
  msgstr ""
166
 
167
- #: ../includes/functions.php:250
168
  msgid "Disabled attribute will be hide / blur. <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't apply this feature.</span>"
169
  msgstr ""
170
 
171
- #: ../includes/functions.php:252
172
  msgid "Blur with cross"
173
  msgstr ""
174
 
175
- #: ../includes/functions.php:253
176
  msgid "Blur without cross"
177
  msgstr ""
178
 
179
- #: ../includes/functions.php:254
180
  msgid "Hide"
181
  msgstr ""
182
 
183
- #: ../includes/functions.php:261
184
  msgid "Attribute image size"
185
  msgstr ""
186
 
187
- #: ../includes/functions.php:262
188
  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>"
189
  msgstr ""
190
 
191
- #: ../includes/functions.php:262
192
  msgstr ""
193
 
194
- #: ../includes/functions.php:269
195
  msgid "Width"
196
  msgstr ""
197
 
198
- #: ../includes/functions.php:270
199
  msgid "Variation item width"
200
  msgstr ""
201
 
202
- #: ../includes/functions.php:279
203
  msgid "Height"
204
  msgstr ""
205
 
206
- #: ../includes/functions.php:280
207
  msgid "Variation item height"
208
  msgstr ""
209
 
210
- #: ../includes/functions.php:289
211
  msgid "Font Size"
212
  msgstr ""
213
 
214
- #: ../includes/functions.php:290
215
  msgid "Single product variation item font size"
216
  msgstr ""
217
 
 
 
 
 
218
  #: ../includes/functions.php:301
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  msgid "Style"
220
  msgstr ""
221
 
222
- #: ../includes/functions.php:304
223
  msgid "Visual Styling"
224
  msgstr ""
225
 
226
- #: ../includes/functions.php:305
227
  msgid "Change some visual styles"
228
  msgstr ""
229
 
230
- #: ../includes/functions.php:319
231
  msgid "Archive / Shop"
232
  msgstr ""
233
 
234
- #: ../includes/functions.php:323
235
  msgid "Advanced change some visual styles on shop / archive page"
236
  msgstr ""
237
 
238
- #: ../includes/functions.php:337
239
  msgid "Special Attribute"
240
  msgstr ""
241
 
242
- #: ../includes/functions.php:340
243
  msgid "Catalog mode"
244
  msgstr ""
245
 
246
- #: ../includes/functions.php:341
247
  msgid "Show single attribute as catalog mode on shop / archive pages"
248
  msgstr ""
249
 
250
- #: ../includes/functions.php:370
251
  msgid "Choose a color"
252
  msgstr ""
253
 
254
- #: ../includes/functions.php:379, ../woo-variation-swatches.php:375
255
  msgid "Choose an Image"
256
  msgstr ""
257
 
258
- #: ../includes/functions.php:547, ../includes/functions.php:597, ../includes/functions.php:626
259
  msgid "Select terms"
260
  msgstr ""
261
 
262
- #: ../includes/functions.php:557, ../includes/functions.php:609, ../includes/functions.php:642
263
  msgid "Select all"
264
  msgstr ""
265
 
266
- #: ../includes/functions.php:558, ../includes/functions.php:610, ../includes/functions.php:643
267
  msgid "Select none"
268
  msgstr ""
269
 
270
- #: ../includes/functions.php:564, ../includes/functions.php:649
271
  msgid "Add new %s"
272
  msgstr ""
273
 
274
- #: ../includes/functions.php:564, ../includes/functions.php:566, ../includes/functions.php:649, ../includes/functions.php:651
275
  msgid "Add new"
276
  msgstr ""
277
 
278
- #: ../includes/functions.php:936, ../includes/functions.php:1008, ../includes/functions.php:1081, ../includes/functions.php:1151, ../includes/functions.php:1219, ../includes/functions.php:1301
279
  msgid "Choose an option"
280
  msgstr ""
281
 
@@ -347,70 +383,66 @@ msgstr ""
347
  msgid "Please share the reason"
348
  msgstr ""
349
 
350
- #: ../woo-variation-swatches.php:376
351
  msgid "Add Attribute"
352
  msgstr ""
353
 
354
- #: ../woo-variation-swatches.php:377
355
  msgid "Add"
356
  msgstr ""
357
 
358
- #: ../woo-variation-swatches.php:378
359
  msgid "Cancel"
360
  msgstr ""
361
 
362
- #: ../woo-variation-swatches.php:379
363
  msgid "Use Image"
364
  msgstr ""
365
 
366
- #: ../woo-variation-swatches.php:380
367
  msgid "Add Media"
368
  msgstr ""
369
 
370
- #: ../woo-variation-swatches.php:388
371
- msgid "Quick Feedback"
372
- msgstr ""
373
-
374
- #: ../woo-variation-swatches.php:467, ../woo-variation-swatches.php:467
375
  msgid "Read Documentation"
376
  msgstr ""
377
 
378
- #: ../woo-variation-swatches.php:469
379
  msgid "Facing issue?"
380
  msgstr ""
381
 
382
- #: ../woo-variation-swatches.php:469
383
  msgid "Please open a ticket."
384
  msgstr ""
385
 
386
- #: ../woo-variation-swatches.php:484
387
  msgid "Go Pro"
388
  msgstr ""
389
 
390
- #: ../woo-variation-swatches.php:537
391
  msgid "Please check PHP version requirement."
392
  msgstr ""
393
 
394
- #: ../woo-variation-swatches.php:539
395
  msgid "It's required to use latest version of PHP to use <strong>Variation Swatches for WooCommerce</strong>."
396
  msgstr ""
397
 
398
- #: ../woo-variation-swatches.php:551
399
  msgid "WooCommerce"
400
  msgstr ""
401
 
402
- #: ../woo-variation-swatches.php:559
403
  msgid "<strong>Variation Swatches for WooCommerce</strong> is an add-on of "
404
  msgstr ""
405
 
406
- #: ../woo-variation-swatches.php:572
407
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
408
  msgstr ""
409
 
410
- #: ../woo-variation-swatches.php:572
411
  msgid "Variation Swatches for WooCommerce"
412
  msgstr ""
413
 
414
- #: ../woo-variation-swatches.php:667
415
  msgid "Variation Swatches for WooCommerce Plugin try to load \"%s\" but template \"%s\" was not found."
416
  msgstr ""
1
+ # Copyright (C) 2019 Variation Swatches for WooCommerce
2
+ # This file is distributed under the same license as the Variation Swatches for WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Variation Swatches for WooCommerce\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
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:1548
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
 
45
  msgstr ""
46
 
47
  #: ../includes/deactive-feedback-dialog.php:10
48
+ msgid "QUICK FEEDBACK"
49
+ msgstr ""
50
+
51
+ #: ../includes/deactive-feedback-dialog.php:12
52
+ msgid "Close modal panel"
53
+ msgstr ""
54
+
55
+ #: ../includes/deactive-feedback-dialog.php:18
56
  msgid "May we have a little info about why you are deactivating?"
57
  msgstr ""
58
 
59
+ #: ../includes/deactive-feedback-dialog.php:44, ../includes/deactive-feedback-dialog.php:44
60
  msgid "Send &amp; Deactivate"
61
  msgstr ""
62
 
63
+ #: ../includes/deactive-feedback-dialog.php:44
64
  msgid "Deactivating..."
65
  msgstr ""
66
 
67
+ #: ../includes/deactive-feedback-dialog.php:48
68
  msgid "Skip &amp; Deactivate"
69
  msgstr ""
70
 
71
+ #: ../includes/functions.php:48, ../includes/functions.php:391
72
  msgid "Color"
73
  msgstr ""
74
 
75
+ #: ../includes/functions.php:54, ../includes/functions.php:400
76
  msgid "Image"
77
  msgstr ""
78
 
80
  msgid "Button"
81
  msgstr ""
82
 
83
+ #: ../includes/functions.php:157
84
  msgid "Tutorials"
85
  msgstr ""
86
 
87
+ #: ../includes/functions.php:160
88
  msgid "How to tutorials"
89
  msgstr ""
90
 
91
+ #: ../includes/functions.php:161
92
  msgid "How to setup and use this plugin"
93
  msgstr ""
94
 
95
+ #: ../includes/functions.php:183
96
  msgid "Simple"
97
  msgstr ""
98
 
99
+ #: ../includes/functions.php:185, ../includes/functions.php:226, ../includes/functions.php:344
100
  msgid "Visual Section"
101
  msgstr ""
102
 
103
+ #: ../includes/functions.php:186
104
  msgid "Simple change some visual styles"
105
  msgstr ""
106
 
107
+ #: ../includes/functions.php:191
108
  msgid "Enable Tooltip"
109
  msgstr ""
110
 
111
+ #: ../includes/functions.php:192
112
  msgid "Enable / Disable plugin default tooltip on each product attribute."
113
  msgstr ""
114
 
115
+ #: ../includes/functions.php:198
116
  msgid "Enable Stylesheet"
117
  msgstr ""
118
 
119
+ #: ../includes/functions.php:199
120
  msgid "Enable / Disable plugin default stylesheet"
121
  msgstr ""
122
 
123
+ #: ../includes/functions.php:205
124
  msgid "Shape style"
125
  msgstr ""
126
 
127
+ #: ../includes/functions.php:206
128
  msgid "Attribute Shape Style"
129
  msgstr ""
130
 
131
+ #: ../includes/functions.php:208
132
  msgid "Rounded Shape"
133
  msgstr ""
134
 
135
+ #: ../includes/functions.php:209
136
  msgid "Squared Shape"
137
  msgstr ""
138
 
139
+ #: ../includes/functions.php:216
140
  msgid "Auto Dropdowns to Button"
141
  msgstr ""
142
 
143
+ #: ../includes/functions.php:217
144
  msgid "Convert default dropdowns to button type"
145
  msgstr ""
146
 
147
+ #: ../includes/functions.php:224
148
  msgid "Advanced"
149
  msgstr ""
150
 
151
+ #: ../includes/functions.php:227
152
  msgid "Advanced change some visual styles"
153
  msgstr ""
154
 
155
+ #: ../includes/functions.php:232
156
  msgid "Clear on Reselect"
157
  msgstr ""
158
 
159
+ #: ../includes/functions.php:233
160
  msgid "Clear selected attribute on select again"
161
  msgstr ""
162
 
163
+ #: ../includes/functions.php:239
164
  msgid "Ajax variation threshold"
165
  msgstr ""
166
 
167
+ #: ../includes/functions.php:240
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:248
172
  msgid "Attribute behavior"
173
  msgstr ""
174
 
175
+ #: ../includes/functions.php:249
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:251
180
  msgid "Blur with cross"
181
  msgstr ""
182
 
183
+ #: ../includes/functions.php:252
184
  msgid "Blur without cross"
185
  msgstr ""
186
 
187
+ #: ../includes/functions.php:253
188
  msgid "Hide"
189
  msgstr ""
190
 
191
+ #: ../includes/functions.php:260
192
  msgid "Attribute image size"
193
  msgstr ""
194
 
195
+ #: ../includes/functions.php:261
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:261
200
  msgstr ""
201
 
202
+ #: ../includes/functions.php:268
203
  msgid "Width"
204
  msgstr ""
205
 
206
+ #: ../includes/functions.php:269
207
  msgid "Variation item width"
208
  msgstr ""
209
 
210
+ #: ../includes/functions.php:278
211
  msgid "Height"
212
  msgstr ""
213
 
214
+ #: ../includes/functions.php:279
215
  msgid "Variation item height"
216
  msgstr ""
217
 
218
+ #: ../includes/functions.php:288
219
  msgid "Font Size"
220
  msgstr ""
221
 
222
+ #: ../includes/functions.php:289
223
  msgid "Single product variation item font size"
224
  msgstr ""
225
 
226
+ #: ../includes/functions.php:299
227
+ msgid "Performance"
228
+ msgstr ""
229
+
230
  #: ../includes/functions.php:301
231
+ msgid "Performance Section"
232
+ msgstr ""
233
+
234
+ #: ../includes/functions.php:302
235
+ msgid "Change for Performance"
236
+ msgstr ""
237
+
238
+ #: ../includes/functions.php:307
239
+ msgid "Defer Load JS"
240
+ msgstr ""
241
+
242
+ #: ../includes/functions.php:308
243
+ msgid "Defer Load JS for PageSpeed Score"
244
+ msgstr ""
245
+
246
+ #: ../includes/functions.php:314
247
+ msgid "Use Transient Cache"
248
+ msgstr ""
249
+
250
+ #: ../includes/functions.php:315
251
+ msgid "Use Transient Cache for PageSpeed Score"
252
+ msgstr ""
253
+
254
+ #: ../includes/functions.php:323
255
  msgid "Style"
256
  msgstr ""
257
 
258
+ #: ../includes/functions.php:326
259
  msgid "Visual Styling"
260
  msgstr ""
261
 
262
+ #: ../includes/functions.php:327
263
  msgid "Change some visual styles"
264
  msgstr ""
265
 
266
+ #: ../includes/functions.php:341
267
  msgid "Archive / Shop"
268
  msgstr ""
269
 
270
+ #: ../includes/functions.php:345
271
  msgid "Advanced change some visual styles on shop / archive page"
272
  msgstr ""
273
 
274
+ #: ../includes/functions.php:359
275
  msgid "Special Attribute"
276
  msgstr ""
277
 
278
+ #: ../includes/functions.php:362
279
  msgid "Catalog mode"
280
  msgstr ""
281
 
282
+ #: ../includes/functions.php:363
283
  msgid "Show single attribute as catalog mode on shop / archive pages"
284
  msgstr ""
285
 
286
+ #: ../includes/functions.php:392
287
  msgid "Choose a color"
288
  msgstr ""
289
 
290
+ #: ../includes/functions.php:401, ../woo-variation-swatches.php:382
291
  msgid "Choose an Image"
292
  msgstr ""
293
 
294
+ #: ../includes/functions.php:569, ../includes/functions.php:619, ../includes/functions.php:648
295
  msgid "Select terms"
296
  msgstr ""
297
 
298
+ #: ../includes/functions.php:579, ../includes/functions.php:631, ../includes/functions.php:664
299
  msgid "Select all"
300
  msgstr ""
301
 
302
+ #: ../includes/functions.php:580, ../includes/functions.php:632, ../includes/functions.php:665
303
  msgid "Select none"
304
  msgstr ""
305
 
306
+ #: ../includes/functions.php:586, ../includes/functions.php:671
307
  msgid "Add new %s"
308
  msgstr ""
309
 
310
+ #: ../includes/functions.php:586, ../includes/functions.php:588, ../includes/functions.php:671, ../includes/functions.php:673
311
  msgid "Add new"
312
  msgstr ""
313
 
314
+ #: ../includes/functions.php:957, ../includes/functions.php:1029, ../includes/functions.php:1102, ../includes/functions.php:1172, ../includes/functions.php:1240, ../includes/functions.php:1319
315
  msgid "Choose an option"
316
  msgstr ""
317
 
383
  msgid "Please share the reason"
384
  msgstr ""
385
 
386
+ #: ../woo-variation-swatches.php:383
387
  msgid "Add Attribute"
388
  msgstr ""
389
 
390
+ #: ../woo-variation-swatches.php:384
391
  msgid "Add"
392
  msgstr ""
393
 
394
+ #: ../woo-variation-swatches.php:385
395
  msgid "Cancel"
396
  msgstr ""
397
 
398
+ #: ../woo-variation-swatches.php:386
399
  msgid "Use Image"
400
  msgstr ""
401
 
402
+ #: ../woo-variation-swatches.php:387
403
  msgid "Add Media"
404
  msgstr ""
405
 
406
+ #: ../woo-variation-swatches.php:473, ../woo-variation-swatches.php:473
 
 
 
 
407
  msgid "Read Documentation"
408
  msgstr ""
409
 
410
+ #: ../woo-variation-swatches.php:475
411
  msgid "Facing issue?"
412
  msgstr ""
413
 
414
+ #: ../woo-variation-swatches.php:475
415
  msgid "Please open a ticket."
416
  msgstr ""
417
 
418
+ #: ../woo-variation-swatches.php:490
419
  msgid "Go Pro"
420
  msgstr ""
421
 
422
+ #: ../woo-variation-swatches.php:543
423
  msgid "Please check PHP version requirement."
424
  msgstr ""
425
 
426
+ #: ../woo-variation-swatches.php:545
427
  msgid "It's required to use latest version of PHP to use <strong>Variation Swatches for WooCommerce</strong>."
428
  msgstr ""
429
 
430
+ #: ../woo-variation-swatches.php:557
431
  msgid "WooCommerce"
432
  msgstr ""
433
 
434
+ #: ../woo-variation-swatches.php:565
435
  msgid "<strong>Variation Swatches for WooCommerce</strong> is an add-on of "
436
  msgstr ""
437
 
438
+ #: ../woo-variation-swatches.php:578
439
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
440
  msgstr ""
441
 
442
+ #: ../woo-variation-swatches.php:578
443
  msgid "Variation Swatches for WooCommerce"
444
  msgstr ""
445
 
446
+ #: ../woo-variation-swatches.php:673
447
  msgid "Variation Swatches for WooCommerce Plugin try to load \"%s\" but template \"%s\" was not found."
448
  msgstr ""
package.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "package": "Variation Swatches for WooCommerce",
3
  "name": "woo-variation-swatches",
4
- "version": "1.0.64",
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.0.65",
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
@@ -52,7 +52,7 @@ webpack.mix.js`;
52
 
53
  if (Mix.inProduction()) {
54
  mix.generatePot({
55
- package : 'WooCommerce Variation Swatches',
56
  bugReport : 'https://github.com/EmranAhmed/woo-variation-swatches/issues',
57
  src : '**/*.php',
58
  domain : 'woo-variation-swatches',
@@ -61,7 +61,7 @@ if (Mix.inProduction()) {
61
  }
62
 
63
  mix.banner({
64
- banner : "Variation Swatches for WooCommerce v1.0.64 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
@@ -84,6 +84,7 @@ mix.babel(`src/js/divi_woo_layout_injector.js`, `assets/js/divi_woo_layout_injec
84
 
85
  mix.babel(`src/js/FormFieldDependency.js`, `assets/js/form-field-dependency${min}.js`);
86
  mix.babel(`src/js/wp-color-picker-alpha.js`, `assets/js/wp-color-picker-alpha${min}.js`);
 
87
  // mix.babel(`src/js/wvs-customize-alpha-color-control.js`, `assets/js/wvs-customize-alpha-color-control${min}.js`);
88
  mix.sass(`src/scss/backend.scss`, `assets/css/admin${min}.css`);
89
 
52
 
53
  if (Mix.inProduction()) {
54
  mix.generatePot({
55
+ package : 'Variation Swatches for WooCommerce',
56
  bugReport : 'https://github.com/EmranAhmed/woo-variation-swatches/issues',
57
  src : '**/*.php',
58
  domain : 'woo-variation-swatches',
61
  }
62
 
63
  mix.banner({
64
+ banner : "Variation Swatches for WooCommerce v1.0.65 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
84
 
85
  mix.babel(`src/js/FormFieldDependency.js`, `assets/js/form-field-dependency${min}.js`);
86
  mix.babel(`src/js/wp-color-picker-alpha.js`, `assets/js/wp-color-picker-alpha${min}.js`);
87
+ mix.babel(`src/js/gwp-backbone-modal.js`, `assets/js/gwp-backbone-modal${min}.js`);
88
  // mix.babel(`src/js/wvs-customize-alpha-color-control.js`, `assets/js/wvs-customize-alpha-color-control${min}.js`);
89
  mix.sass(`src/scss/backend.scss`, `assets/css/admin${min}.css`);
90
 
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.64
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
- * Tested up to: 5.2
11
  * WC requires at least: 3.2
12
- * WC tested up to: 3.7
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.64';
24
 
25
  protected static $_instance = null;
26
  private $_settings_api;
@@ -343,12 +343,19 @@
343
  ob_start();
344
  include_once $this->include_path( 'stylesheet.php' );
345
  $css = ob_get_clean();
346
- $css = str_ireplace( array( '<style type="text/css">', '</style>' ), '', $css );
347
-
348
  $css = apply_filters( 'wvs_inline_style', $css );
349
  wp_add_inline_style( 'woo-variation-swatches', $css );
350
  }
351
 
 
 
 
 
 
 
 
 
352
  public function admin_enqueue_scripts() {
353
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
354
 
@@ -383,11 +390,10 @@
383
  ) );
384
 
385
  // GWP Admin Helper
386
- wp_enqueue_script( 'gwp-admin', $this->assets_uri( "/js/gwp-admin{$suffix}.js" ), array( 'jquery', 'jquery-ui-dialog', 'serializejson' ), $this->version(), true );
387
- wp_localize_script( 'gwp-admin', 'GWPAdmin', array(
388
- 'feedback_title' => esc_html__( 'Quick Feedback', 'woo-variation-swatches' )
389
- ) );
390
- wp_enqueue_style( 'gwp-admin', $this->assets_uri( "/css/gwp-admin{$suffix}.css" ), array( 'wp-jquery-ui-dialog', 'dashicons' ), $this->version() );
391
 
392
  }
393
 
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.65
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
+ * Tested up to: 5.3
11
  * WC requires at least: 3.2
12
+ * WC tested up to: 3.8
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.0.65';
24
 
25
  protected static $_instance = null;
26
  private $_settings_api;
343
  ob_start();
344
  include_once $this->include_path( 'stylesheet.php' );
345
  $css = ob_get_clean();
346
+ $css = $this->clean_css( $css );
 
347
  $css = apply_filters( 'wvs_inline_style', $css );
348
  wp_add_inline_style( 'woo-variation-swatches', $css );
349
  }
350
 
351
+ public function clean_css( $inline_css ) {
352
+ $inline_css = str_ireplace( array( '<style type="text/css">', '</style>' ), '', $inline_css );
353
+ $inline_css = str_ireplace( array( "\r\n", "\r", "\n", "\t" ), '', $inline_css );
354
+ $inline_css = preg_replace( "/\s+/", ' ', $inline_css );
355
+
356
+ return trim( $inline_css );
357
+ }
358
+
359
  public function admin_enqueue_scripts() {
360
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
361
 
390
  ) );
391
 
392
  // GWP Admin Helper
393
+ wp_enqueue_script( 'gwp-backbone-modal', $this->assets_uri( "/js/gwp-backbone-modal{$suffix}.js" ), array( 'jquery', 'underscore', 'backbone', 'wp-util' ), $this->version(), true );
394
+ wp_enqueue_script( 'gwp-admin', $this->assets_uri( "/js/gwp-admin{$suffix}.js" ), array( 'gwp-backbone-modal' ), $this->version(), true );
395
+
396
+ wp_enqueue_style( 'gwp-admin', $this->assets_uri( "/css/gwp-admin{$suffix}.css" ), array( 'dashicons' ), $this->version() );
 
397
 
398
  }
399