Version Description
Download this release
Release Info
Code changes from version 2.3.2 to 2.4.1
- assets/css/woolentor-widgets-rtl.css +2 -2
- assets/css/woolentor-widgets.css +583 -16
- assets/js/woolentor-widgets-active.js +2 -0
- classes/class.assest_management.php +13 -0
- classes/class.default_data.php +49 -13
- classes/class.quickview_manage.php +1 -1
- includes/addons/universal_product.php +9 -1
- includes/addons/wb_archive_catalog_ordering.php +1 -1
- includes/addons/wb_archive_product.php +0 -1
- includes/addons/wb_archive_result_count.php +1 -1
- includes/addons/wb_product_add_to_cart.php +971 -6
- includes/addons/wb_product_additional_information.php +1 -1
- includes/addons/wb_product_categories.php +20 -1
- includes/addons/wb_product_data_tab.php +1 -1
- includes/addons/wb_product_description.php +1 -4
- includes/addons/wb_product_image.php +1 -1
- includes/addons/wb_product_meta.php +1 -1
- includes/addons/wb_product_price.php +1 -1
- includes/addons/wb_product_qr_code.php +1 -1
- includes/addons/wb_product_rating.php +1 -1
- includes/addons/wb_product_related.php +1 -1
- includes/addons/wb_product_reviews.php +1 -1
- includes/addons/wb_product_short_description.php +1 -1
- includes/addons/wb_product_sku.php +20 -1
- includes/addons/wb_product_stock.php +1 -1
- includes/addons/wb_product_tags.php +20 -1
- includes/addons/wb_product_title.php +1 -1
- includes/addons/wb_product_upsell.php +1 -1
- includes/addons/wl_archive_title.php +1 -1
- includes/addons/wl_product_video_gallery.php +2 -2
- includes/admin/admin-init.php +3 -8
- includes/admin/assets/css/template_edit_manager.css +31 -34
- includes/admin/assets/css/woolentor-admin.css +148 -6
- includes/admin/assets/images/helping-screenshot.png +0 -0
- includes/admin/assets/images/icons/menu-bar_32x32.png +0 -0
- includes/admin/assets/js/template_edit_manager.js +56 -8
- includes/admin/assets/js/template_library_manager.js +5 -1
- includes/admin/assets/js/woolentor-admin.js +7 -45
- includes/admin/assets/js/woolentor-condition.js +47 -0
- includes/admin/include/admin_field-manager.php +6 -7
- includes/admin/include/admin_fields.php +634 -7
- includes/admin/include/class.extension-manager.php +2 -16
- includes/admin/include/class.template-manager.php +114 -32
- includes/admin/include/class.template_cpt.php +60 -0
- includes/admin/templates/dashboard-gutenberg.php +67 -0
- includes/admin/templates/dashboard-module.php +1 -0
- includes/admin/templates/dashboard-navs.php +16 -8
- includes/admin/templates/dashboard-sidebar.php +3 -3
- includes/admin/templates/dashboard-welcome.php +0 -1
- includes/admin/templates/template_edit_popup.php +22 -4
- includes/base.php +9 -2
- includes/helper-function.php +52 -8
- includes/manage_wc_template.php +323 -0
- includes/modules/class.module-manager.php +16 -1
- includes/modules/compare/includes/classes/Frontend/Manage_Compare.php +4 -0
- includes/modules/shopify-like-checkout/assets/shopify-like-checkout.css +11 -0
- includes/modules/shopify-like-checkout/class.shopify-like-checkout.php +56 -6
- includes/modules/shopify-like-checkout/templates/form-checkout.php +6 -36
- includes/modules/shopify-like-checkout/templates/payment.php +4 -0
- includes/modules/variation-swatch/assets/css/admin.css +305 -0
- includes/modules/variation-swatch/assets/css/frontend.css +526 -0
- includes/modules/variation-swatch/assets/js/add-to-cart-variation.js +878 -0
- includes/modules/variation-swatch/assets/js/admin.js +331 -0
- includes/modules/variation-swatch/assets/js/frontend.js +648 -0
- includes/modules/variation-swatch/assets/js/wp-color-picker-alpha.min.js +11 -0
- includes/modules/variation-swatch/includes/Admin.php +58 -0
- includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php +400 -0
- includes/modules/variation-swatch/includes/Admin/Product_Metabox.php +441 -0
- includes/modules/variation-swatch/includes/Admin/Woo_Config.php +105 -0
- includes/modules/variation-swatch/includes/Frontend.php +163 -0
- includes/modules/variation-swatch/includes/Frontend/Woo_Config.php +1008 -0
- includes/modules/variation-swatch/includes/Helper.php +217 -0
- includes/modules/variation-swatch/includes/ajax-actions.php +187 -0
- includes/modules/variation-swatch/includes/functions.php +20 -0
- includes/modules/variation-swatch/init.php +118 -0
- includes/modules/wishlist/includes/classes/Admin/Settings_Api.php +0 -792
- includes/modules/wishlist/includes/classes/Ajax.php +2 -2
- languages/woolentor.pot +788 -243
- readme.txt +287 -33
- wl-woo-templates/archive-product-canvas.php +7 -2
- wl-woo-templates/archive-product-fullwidth.php +9 -2
- wl-woo-templates/single-product-canvas.php +9 -3
- wl-woo-templates/single-product-fullwidth.php +5 -2
- woolentor-blocks/build/blocks-woolentor.asset.php +1 -1
- woolentor-blocks/build/blocks-woolentor.js +1 -1
assets/css/woolentor-widgets-rtl.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
.ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting {
|
2 |
-
|
3 |
-
|
4 |
}
|
5 |
.ht-products .ht-product.ht-product-category-right-bottom .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap {
|
6 |
padding-bottom: 30px;
|
1 |
.ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting {
|
2 |
+
left: auto;
|
3 |
+
right: 5px;
|
4 |
}
|
5 |
.ht-products .ht-product.ht-product-category-right-bottom .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap {
|
6 |
padding-bottom: 30px;
|
assets/css/woolentor-widgets.css
CHANGED
@@ -116,6 +116,9 @@
|
|
116 |
position: relative;
|
117 |
background: transparent;
|
118 |
}
|
|
|
|
|
|
|
119 |
.product-item .actions a::before {
|
120 |
color: #fff;
|
121 |
content: "";
|
@@ -165,6 +168,7 @@
|
|
165 |
transition: all 0.4s ease 0s;
|
166 |
visibility: hidden;
|
167 |
width: 100%;
|
|
|
168 |
}
|
169 |
.product_information_area .content {
|
170 |
padding-bottom: 15px;
|
@@ -429,15 +433,15 @@ li.woolentor-cart .button:before {
|
|
429 |
overflow: hidden;
|
430 |
}
|
431 |
.woolentor-product-same-height.ht-products .ht-product .ht-product-inner {
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
}
|
436 |
.woolentor-product-same-height.ht-products .ht-product .ht-product-content {
|
437 |
-
|
438 |
}
|
439 |
.woolentor-product-same-height.ht-products.product-slider .slick-list,.woolentor-product-same-height.ht-products.product-slider .slick-track,.woolentor-product-same-height.ht-products.product-slider .ht-product{
|
440 |
-
|
441 |
}
|
442 |
.ht-products .ht-product .ht-product-inner .ht-product-countdown-wrap {
|
443 |
position: absolute;
|
@@ -1184,7 +1188,7 @@ li.woolentor-cart .button:before {
|
|
1184 |
padding: 10px;
|
1185 |
}
|
1186 |
|
1187 |
-
.ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom span.woolentor-tip,.ht-products .ht-product.ht-product-action-bottom span.wishsuite-btn-text {
|
1188 |
left: 50%;
|
1189 |
right: auto;
|
1190 |
top: auto;
|
@@ -1274,7 +1278,10 @@ li.woolentor-cart .button:before {
|
|
1274 |
padding: 10px;
|
1275 |
}
|
1276 |
|
1277 |
-
.ht-products .ht-product.ht-product-action-bottom-content
|
|
|
|
|
|
|
1278 |
left: 50%;
|
1279 |
right: auto;
|
1280 |
top: auto;
|
@@ -1901,9 +1908,7 @@ li.woolentor-cart .button:before {
|
|
1901 |
}
|
1902 |
|
1903 |
/* Capability With Wishsuite */
|
1904 |
-
|
1905 |
-
display: none;
|
1906 |
-
}
|
1907 |
.ht-product-action-bottom .ht-product-inner .wishsuite-button.wishlist,.ht-product-action-bottom-content .ht-product-inner .wishsuite-button.wishlist,.ht-product-action-middle .ht-product-inner .wishsuite-button.wishlist,.wl_single-product-item .product-content .action li .wishsuite-button.wishlist{
|
1908 |
padding-top: 4px;
|
1909 |
}
|
@@ -2047,7 +2052,13 @@ li.woolentor-cart .button:before {
|
|
2047 |
width: 100%;
|
2048 |
}
|
2049 |
|
|
|
2050 |
|
|
|
|
|
|
|
|
|
|
|
2051 |
.wlds-css{
|
2052 |
display: flex;
|
2053 |
justify-content: center;
|
@@ -3416,6 +3427,561 @@ span.woolentor-order-item-title .product-thumbnail{
|
|
3416 |
display: none;
|
3417 |
}
|
3418 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3419 |
/* Product Filter Start */
|
3420 |
.woolentor-filter-wrap{
|
3421 |
overflow: hidden;
|
@@ -4512,6 +5078,7 @@ h2.wl_filter_title {
|
|
4512 |
}
|
4513 |
.wl_single-product-item .product-content .action a.added_to_cart.wc-forward {
|
4514 |
text-indent: -9999px;
|
|
|
4515 |
}
|
4516 |
|
4517 |
.wl_single-product-item .product-content .action .action-item.loading:before {
|
@@ -5146,12 +5713,12 @@ div[class*="woolentor-single-select-drop"] .select2-results__option::before{
|
|
5146 |
}
|
5147 |
|
5148 |
.woolentor-no-view-product {
|
5149 |
-
|
5150 |
-
|
5151 |
-
|
5152 |
-
|
5153 |
-
|
5154 |
-
|
5155 |
}
|
5156 |
|
5157 |
/**
|
116 |
position: relative;
|
117 |
background: transparent;
|
118 |
}
|
119 |
+
.product-item .actions a{
|
120 |
+
border-radius: 20px 0 0 20px;
|
121 |
+
}
|
122 |
.product-item .actions a::before {
|
123 |
color: #fff;
|
124 |
content: "";
|
168 |
transition: all 0.4s ease 0s;
|
169 |
visibility: hidden;
|
170 |
width: 100%;
|
171 |
+
z-index: 9;
|
172 |
}
|
173 |
.product_information_area .content {
|
174 |
padding-bottom: 15px;
|
433 |
overflow: hidden;
|
434 |
}
|
435 |
.woolentor-product-same-height.ht-products .ht-product .ht-product-inner {
|
436 |
+
height: 100%;
|
437 |
+
display: flex;
|
438 |
+
flex-direction: column;
|
439 |
}
|
440 |
.woolentor-product-same-height.ht-products .ht-product .ht-product-content {
|
441 |
+
flex: 1 0;
|
442 |
}
|
443 |
.woolentor-product-same-height.ht-products.product-slider .slick-list,.woolentor-product-same-height.ht-products.product-slider .slick-track,.woolentor-product-same-height.ht-products.product-slider .ht-product{
|
444 |
+
height: 100% !important;
|
445 |
}
|
446 |
.ht-products .ht-product .ht-product-inner .ht-product-countdown-wrap {
|
447 |
position: absolute;
|
1188 |
padding: 10px;
|
1189 |
}
|
1190 |
|
1191 |
+
.ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom span.woolentor-tip,.ht-products .ht-product.ht-product-action-bottom .wishsuite-button.wishlist span.wishsuite-btn-text {
|
1192 |
left: 50%;
|
1193 |
right: auto;
|
1194 |
top: auto;
|
1278 |
padding: 10px;
|
1279 |
}
|
1280 |
|
1281 |
+
:is(.ht-products .ht-product.ht-product-action-bottom-content,.ht-products .ht-product.ht-product-action-bottom) .wishsuite-button.wishlist{
|
1282 |
+
padding-top: 0;
|
1283 |
+
}
|
1284 |
+
.ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom-content span.woolentor-tip,.ht-products .ht-product.ht-product-action-bottom-content .wishsuite-button.wishlist span.wishsuite-btn-text {
|
1285 |
left: 50%;
|
1286 |
right: auto;
|
1287 |
top: auto;
|
1908 |
}
|
1909 |
|
1910 |
/* Capability With Wishsuite */
|
1911 |
+
|
|
|
|
|
1912 |
.ht-product-action-bottom .ht-product-inner .wishsuite-button.wishlist,.ht-product-action-bottom-content .ht-product-inner .wishsuite-button.wishlist,.ht-product-action-middle .ht-product-inner .wishsuite-button.wishlist,.wl_single-product-item .product-content .action li .wishsuite-button.wishlist{
|
1913 |
padding-top: 4px;
|
1914 |
}
|
2052 |
width: 100%;
|
2053 |
}
|
2054 |
|
2055 |
+
/* single product meta */
|
2056 |
|
2057 |
+
.woocommerce .elementor-widget-wl-single-product-meta .product_meta > span{
|
2058 |
+
position: relative;
|
2059 |
+
}
|
2060 |
+
|
2061 |
+
/* end single product meta */
|
2062 |
.wlds-css{
|
2063 |
display: flex;
|
2064 |
justify-content: center;
|
3427 |
display: none;
|
3428 |
}
|
3429 |
|
3430 |
+
/* single product advance addto cart */
|
3431 |
+
|
3432 |
+
.wl-quantity-wrap .label, .wl-quantity-wrap .wl-quantity, .wl-cart-icon,.wl-wishlist-compare-txt{
|
3433 |
+
display: none;
|
3434 |
+
}
|
3435 |
+
|
3436 |
+
.wl-addto-cart .wishsuite-button.wltooltip_no span.wishsuite-btn-text{
|
3437 |
+
display: none;
|
3438 |
+
}
|
3439 |
+
|
3440 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap span.label{
|
3441 |
+
margin: 22px 0px;
|
3442 |
+
}
|
3443 |
+
|
3444 |
+
.woolentor_current_theme_blocksy .wl-addto-cart a.htcompare-btn{
|
3445 |
+
display: unset !important;
|
3446 |
+
}
|
3447 |
+
|
3448 |
+
.woolentor_current_theme_oceanwp .wl-addto-cart form.cart .quantity{
|
3449 |
+
min-width: unset;
|
3450 |
+
}
|
3451 |
+
|
3452 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.grouped.wl-style-5 form.cart .wl-cart-wrap,
|
3453 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.variable.wl-style-3 form.cart .wl-quantity-wrap,
|
3454 |
+
#holmes .wl-addto-cart.variable.wl-style-3 form.cart .wl-quantity-wrap,
|
3455 |
+
#holmes .wl-addto-cart.variable.wl-style-5 form.cart .wl-quantity-wrap{
|
3456 |
+
flex-wrap: unset !important;
|
3457 |
+
}
|
3458 |
+
|
3459 |
+
#holmes .wl-addto-cart form.cart .button{
|
3460 |
+
height: auto !important;
|
3461 |
+
}
|
3462 |
+
|
3463 |
+
/*blocsky support*/
|
3464 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.wl-style-2 .quantity .qty,
|
3465 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.wl-style-3 .quantity .qty,
|
3466 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.wl-style-5 .quantity .qty{
|
3467 |
+
width: inherit !important;
|
3468 |
+
text-align: center !important;
|
3469 |
+
}
|
3470 |
+
|
3471 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.grouped.wl-style-5 form.cart .wl-cart-wrap,
|
3472 |
+
.woolentor_current_theme_blocksy .wl-addto-cart.variable.wl-style-3 form.cart .wl-quantity-wrap{
|
3473 |
+
flex-wrap: unset !important;
|
3474 |
+
}
|
3475 |
+
|
3476 |
+
.wl-addto-cart.wl-style-2 .cart .quantity[data-type=type-2] .ct-increase,
|
3477 |
+
.wl-addto-cart.wl-style-4 .cart .quantity[data-type=type-2] .ct-increase,
|
3478 |
+
.wl-addto-cart.wl-style-4 .cart .quantity[data-type=type-2] .ct-decrease,
|
3479 |
+
.wl-addto-cart.wl-style-2 .cart .quantity[data-type=type-2] .ct-decrease{
|
3480 |
+
display: none;
|
3481 |
+
}
|
3482 |
+
|
3483 |
+
/*ocean wp support*/
|
3484 |
+
.wl-addto-cart.wl-style-2 .cart .quantity a.plus,
|
3485 |
+
.wl-addto-cart.wl-style-4 .cart .quantity a.minus,
|
3486 |
+
.wl-addto-cart.wl-style-4 .cart .quantity a.plus,
|
3487 |
+
.wl-addto-cart.wl-style-2 .cart .quantity a.minus,
|
3488 |
+
.wl-addto-cart.wl-style-4 .cart .quantity > .plus,
|
3489 |
+
.wl-addto-cart.wl-style-2 .cart .quantity > .minus,
|
3490 |
+
.woolentor_current_theme_oceanwp .wl-addto-cart .cart .quantity a.plus,
|
3491 |
+
.woolentor_current_theme_oceanwp .wl-addto-cart .cart .quantity a.minus{
|
3492 |
+
display: none;
|
3493 |
+
}
|
3494 |
+
|
3495 |
+
.wl-addto-cart.wl-style-2 .wl-quantity-wrap .label,
|
3496 |
+
.wl-addto-cart.wl-style-2 .wl-quantity-wrap .wl-quantity,
|
3497 |
+
.wl-addto-cart.wl-style-3 .wl-quantity-wrap .label,
|
3498 |
+
.wl-addto-cart.wl-style-5 .wl-quantity-wrap .label{
|
3499 |
+
display: inline-block;
|
3500 |
+
}
|
3501 |
+
|
3502 |
+
.wl-addto-cart form.cart > a.wishsuite-product-before_cart_btn,
|
3503 |
+
.wl-addto-cart.grouped form.cart .wl-cart-wrap > a.wishsuite-product-before_cart_btn,
|
3504 |
+
.wl-addto-cart.variable form.cart .single_variation_wrap .woocommerce-variation-add-to-cart > a.wishsuite-product-before_cart_btn{
|
3505 |
+
display: none;
|
3506 |
+
}
|
3507 |
+
|
3508 |
+
.wl-addto-cart form.cart .htcompare-button-area,
|
3509 |
+
.wl-addto-cart form.cart .single_variation_wrap .woocommerce-variation-add-to-cart .htcompare-button-area{
|
3510 |
+
display: none;
|
3511 |
+
}
|
3512 |
+
|
3513 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart div.quantity,
|
3514 |
+
.wl-addto-cart.wl-style-2 form.cart div.quantity{
|
3515 |
+
float: none;
|
3516 |
+
margin-right: 0px;
|
3517 |
+
}
|
3518 |
+
|
3519 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap{
|
3520 |
+
display: flex;
|
3521 |
+
margin-bottom: 30px;
|
3522 |
+
}
|
3523 |
+
|
3524 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity-cal{
|
3525 |
+
display: flex;
|
3526 |
+
flex-wrap: wrap;
|
3527 |
+
border-bottom: 1px solid #333333;
|
3528 |
+
align-items: center;
|
3529 |
+
margin-left: 80px;
|
3530 |
+
}
|
3531 |
+
|
3532 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap span.label{
|
3533 |
+
font-size: 14px;
|
3534 |
+
font-weight: 400;
|
3535 |
+
letter-spacing: 1px;
|
3536 |
+
text-transform: uppercase;
|
3537 |
+
color: #333333;
|
3538 |
+
margin-top: 5px;
|
3539 |
+
}
|
3540 |
+
|
3541 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity{
|
3542 |
+
background: transparent;
|
3543 |
+
color: #666;
|
3544 |
+
font-size: 14px;
|
3545 |
+
}
|
3546 |
+
|
3547 |
+
.woocommerce .wl-addto-cart.wl-style-2 .quantity input[type=number]{
|
3548 |
+
border-width: 0px;
|
3549 |
+
color: #212529;
|
3550 |
+
font-weight: 500;
|
3551 |
+
text-align: center;
|
3552 |
+
width: 4em;
|
3553 |
+
}
|
3554 |
+
|
3555 |
+
.wl-addto-cart form.cart .wl-quantity-wrap .wl-quantity{
|
3556 |
+
cursor: pointer;
|
3557 |
+
}
|
3558 |
+
|
3559 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity{
|
3560 |
+
padding-left: 0px;
|
3561 |
+
padding-right: 35px;
|
3562 |
+
}
|
3563 |
+
|
3564 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-plus{
|
3565 |
+
padding-right: 0px;
|
3566 |
+
padding-left: 35px;
|
3567 |
+
}
|
3568 |
+
|
3569 |
+
.woocommerce .wl-addto-cart.wl-style-2 .quantity input[type=number]::-webkit-outer-spin-button,
|
3570 |
+
.woocommerce .wl-addto-cart.wl-style-2 .quantity input[type=number]::-webkit-inner-spin-button {
|
3571 |
+
-webkit-appearance: none;
|
3572 |
+
margin: 0;
|
3573 |
+
}
|
3574 |
+
|
3575 |
+
.woocommerce .wl-addto-cart.wl-style-2 .quantity input[type=number] {
|
3576 |
+
-moz-appearance: textfield;
|
3577 |
+
}
|
3578 |
+
|
3579 |
+
.woocommerce div.product .wl-addto-cart form.cart:after,
|
3580 |
+
.woocommerce div.product .wl-addto-cart form.cart:before,
|
3581 |
+
.wl-addto-cart form.cart:after,
|
3582 |
+
.wl-addto-cart form.cart:before{
|
3583 |
+
display: none;
|
3584 |
+
}
|
3585 |
+
|
3586 |
+
.woocommerce div.product .wl-addto-cart.external.wl-style-2 form.cart .button,
|
3587 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart .button,
|
3588 |
+
.wl-addto-cart.wl-style-2 form.cart .button,
|
3589 |
+
.wl-addto-cart.external.wl-style-2 form.cart .button{
|
3590 |
+
vertical-align: baseline;
|
3591 |
+
float: none;
|
3592 |
+
font-weight: 400;
|
3593 |
+
line-height: 24px;
|
3594 |
+
margin-bottom: 10px;
|
3595 |
+
padding: 15px 40px;
|
3596 |
+
text-align: center;
|
3597 |
+
white-space: nowrap;
|
3598 |
+
letter-spacing: 1px;
|
3599 |
+
text-transform: uppercase;
|
3600 |
+
color: #FFFFFF;
|
3601 |
+
border: 1px solid #333333;
|
3602 |
+
border-radius: 500px;
|
3603 |
+
background-color: #333333;
|
3604 |
+
}
|
3605 |
+
|
3606 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart .button:hover,
|
3607 |
+
.wl-addto-cart.wl-style-2 form.cart .button:hover{
|
3608 |
+
background: #FFFFFF;
|
3609 |
+
color: #333333;
|
3610 |
+
border: 1px solid #333333;
|
3611 |
+
}
|
3612 |
+
|
3613 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap,
|
3614 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap{
|
3615 |
+
display: flex;
|
3616 |
+
margin-bottom: 30px;
|
3617 |
+
gap: 15px;
|
3618 |
+
}
|
3619 |
+
|
3620 |
+
.woocommerce div.product .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap,
|
3621 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap{
|
3622 |
+
display: flex;
|
3623 |
+
flex-wrap: wrap;
|
3624 |
+
gap: 15px;
|
3625 |
+
|
3626 |
+
}
|
3627 |
+
|
3628 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.after .single_add_to_cart_button,
|
3629 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.after .single_add_to_cart_button{
|
3630 |
+
order: 1;
|
3631 |
+
}
|
3632 |
+
|
3633 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.after .wishlist,
|
3634 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.after .wishlist{
|
3635 |
+
order: 2;
|
3636 |
+
}
|
3637 |
+
|
3638 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.after .compare,
|
3639 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.after .compare{
|
3640 |
+
order: 3;
|
3641 |
+
}
|
3642 |
+
|
3643 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.before .single_add_to_cart_button,
|
3644 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.before .single_add_to_cart_button{
|
3645 |
+
order: 3;
|
3646 |
+
}
|
3647 |
+
|
3648 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.before .wishlist,
|
3649 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.before .wishlist{
|
3650 |
+
order: 1;
|
3651 |
+
}
|
3652 |
+
|
3653 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.before .compare,
|
3654 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.before .compare{
|
3655 |
+
order: 2;
|
3656 |
+
}
|
3657 |
+
|
3658 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.both .single_add_to_cart_button,
|
3659 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.both .single_add_to_cart_button{
|
3660 |
+
order: 2;
|
3661 |
+
}
|
3662 |
+
|
3663 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.both .wishlist,
|
3664 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.both .wishlist{
|
3665 |
+
order: 1;
|
3666 |
+
}
|
3667 |
+
|
3668 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap.both .compare,
|
3669 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap.both .compare{
|
3670 |
+
order: 3;
|
3671 |
+
}
|
3672 |
+
|
3673 |
+
.wl-addto-cart.external.before.wl-style-2 form.cart .single_add_to_cart_button,
|
3674 |
+
.wl-addto-cart.external.before.wl-style-5 form.cart .single_add_to_cart_button{
|
3675 |
+
order: 3;
|
3676 |
+
}
|
3677 |
+
|
3678 |
+
.wl-addto-cart.external.before.wl-style-2 form.cart .wishlist,
|
3679 |
+
.wl-addto-cart.external.before.wl-style-5 form.cart .wishlist{
|
3680 |
+
order: 1;
|
3681 |
+
}
|
3682 |
+
|
3683 |
+
.wl-addto-cart.external.before.wl-style-2 form.cart .compare,
|
3684 |
+
.wl-addto-cart.external.before.wl-style-5 form.cart .compare{
|
3685 |
+
order: 2;
|
3686 |
+
}
|
3687 |
+
|
3688 |
+
.wl-addto-cart.external.after.wl-style-2 form.cart .single_add_to_cart_button,
|
3689 |
+
.wl-addto-cart.external.after.wl-style-5 form.cart .single_add_to_cart_button{
|
3690 |
+
order: 1;
|
3691 |
+
}
|
3692 |
+
|
3693 |
+
.wl-addto-cart.external.after.wl-style-2 form.cart .wishlist,
|
3694 |
+
.wl-addto-cart.external.after.wl-style-5 form.cart .wishlist{
|
3695 |
+
order: 2;
|
3696 |
+
}
|
3697 |
+
|
3698 |
+
.wl-addto-cart.external.after.wl-style-2 form.cart .compare,
|
3699 |
+
.wl-addto-cart.external.after.wl-style-5 form.cart .compare{
|
3700 |
+
order: 3;
|
3701 |
+
}
|
3702 |
+
|
3703 |
+
.wl-addto-cart.external.both.wl-style-2 form.cart .single_add_to_cart_button,
|
3704 |
+
.wl-addto-cart.external.both.wl-style-5 form.cart .single_add_to_cart_button{
|
3705 |
+
order: 2;
|
3706 |
+
}
|
3707 |
+
|
3708 |
+
.wl-addto-cart.external.both.wl-style-2 form.cart .wishlist,
|
3709 |
+
.wl-addto-cart.external.both.wl-style-5 form.cart .wishlist{
|
3710 |
+
order: 1;
|
3711 |
+
}
|
3712 |
+
|
3713 |
+
.wl-addto-cart.external.both.wl-style-2 form.cart .compare,
|
3714 |
+
.wl-addto-cart.external.both.wl-style-5 form.cart .compare{
|
3715 |
+
order: 3;
|
3716 |
+
}
|
3717 |
+
|
3718 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart .wl-cart-icon,
|
3719 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-icon,
|
3720 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-icon{
|
3721 |
+
width: 56px;
|
3722 |
+
height: 56px;
|
3723 |
+
display: block;
|
3724 |
+
color: #333333;
|
3725 |
+
border: 1px solid #696969;
|
3726 |
+
background-color: transparent;
|
3727 |
+
border-radius: 50%;
|
3728 |
+
display: block;
|
3729 |
+
text-align: center;
|
3730 |
+
font-size: 22px;
|
3731 |
+
line-height: 56px;
|
3732 |
+
cursor: pointer;
|
3733 |
+
transition: 1.2s;
|
3734 |
+
}
|
3735 |
+
|
3736 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-icon.wishlist .wishsuite-button svg{
|
3737 |
+
height: 22px;
|
3738 |
+
width: 22px;
|
3739 |
+
}
|
3740 |
+
|
3741 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-icon{
|
3742 |
+
border-radius: 0px;
|
3743 |
+
}
|
3744 |
+
|
3745 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart .wl-cart-icon:hover,
|
3746 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-icon:hover,
|
3747 |
+
.woocommerce div.product .wl-addto-cart.wl-style-5 form.cart .wl-cart-icon:hover,
|
3748 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-icon:hover{
|
3749 |
+
color: #FFFFFF;
|
3750 |
+
background: #333333;
|
3751 |
+
}
|
3752 |
+
|
3753 |
+
.woocommerce div.product .wl-addto-cart.wl-style-2 form.cart .wl-cart-icon:hover > a,
|
3754 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-icon:hover > a,
|
3755 |
+
.woocommerce div.product .wl-addto-cart.wl-style-5 form.cart .wl-cart-icon:hover > a,
|
3756 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-cart-icon:hover > a{
|
3757 |
+
color: #FFFFFF;
|
3758 |
+
}
|
3759 |
+
|
3760 |
+
.wl-addto-cart.wl-style-2 form.cart .wl-cart-icon a svg{
|
3761 |
+
width: 19px;
|
3762 |
+
height: 18px;
|
3763 |
+
}
|
3764 |
+
|
3765 |
+
.wl-addto-cart.external.wl-style-2 form.cart{
|
3766 |
+
display: flex;
|
3767 |
+
flex-wrap: wrap;
|
3768 |
+
gap:10px;
|
3769 |
+
}
|
3770 |
+
|
3771 |
+
.woocommerce div.product .wl-addto-cart.external.wl-style-5 form.cart .button,
|
3772 |
+
.wl-addto-cart.external.wl-style-5 form.cart .button{
|
3773 |
+
padding: 15px 40px;
|
3774 |
+
line-height: 24px;
|
3775 |
+
}
|
3776 |
+
|
3777 |
+
.wl-addto-cart.wl-style-3 form.cart,
|
3778 |
+
.wl-addto-cart.wl-style-4 form.cart,
|
3779 |
+
.wl-addto-cart.wl-style-5 form.cart,
|
3780 |
+
.wl-addto-cart.variable.wl-style-3 form.cart .single_variation_wrap .woocommerce-variation-add-to-cart,
|
3781 |
+
.wl-addto-cart.variable.wl-style-4 form.cart .single_variation_wrap .woocommerce-variation-add-to-cart,
|
3782 |
+
.wl-addto-cart.variable.wl-style-5 form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{
|
3783 |
+
display: flex;
|
3784 |
+
flex-wrap: wrap;
|
3785 |
+
gap: 15px;
|
3786 |
+
flex-direction: row;
|
3787 |
+
margin-bottom: 30px;
|
3788 |
+
align-items: center;
|
3789 |
+
}
|
3790 |
+
|
3791 |
+
.woolentor-quickview-content-builder .wl-addto-cart.external.wl-style-5 form.cart{
|
3792 |
+
flex-wrap: unset;
|
3793 |
+
}
|
3794 |
+
|
3795 |
+
.wl-addto-cart.wl-style-3 form.cart .wl-quantity-wrap,
|
3796 |
+
.wl-addto-cart.wl-style-5 form.cart .wl-quantity-wrap{
|
3797 |
+
display: flex;
|
3798 |
+
align-items: center;
|
3799 |
+
flex-wrap: wrap;
|
3800 |
+
gap: 15px;
|
3801 |
+
}
|
3802 |
+
|
3803 |
+
.wl-addto-cart.wl-style-3 form.cart .wl-quantity-wrap{
|
3804 |
+
flex: 1;
|
3805 |
+
}
|
3806 |
+
|
3807 |
+
.woocommerce div.product .wl-addto-cart.wl-style-3 form.cart .wl-cart-wrap,
|
3808 |
+
.wl-addto-cart.wl-style-3 form.cart .wl-cart-wrap,
|
3809 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart .wl-cart-wrap,
|
3810 |
+
.wl-addto-cart.wl-style-4 form.cart .wl-cart-wrap{
|
3811 |
+
flex: 1.5;
|
3812 |
+
}
|
3813 |
+
|
3814 |
+
.woocommerce div.product .wl-addto-cart.wl-style-3 form.cart .button,
|
3815 |
+
.wl-addto-cart.wl-style-3 form.cart .button,
|
3816 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart .button,
|
3817 |
+
.wl-addto-cart.wl-style-4 form.cart .button{
|
3818 |
+
float: none;
|
3819 |
+
width: 100%;
|
3820 |
+
}
|
3821 |
+
|
3822 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart .button,
|
3823 |
+
.wl-addto-cart.wl-style-4 form.cart .button{
|
3824 |
+
padding: 19px 0px;
|
3825 |
+
border-radius: 5px;
|
3826 |
+
}
|
3827 |
+
|
3828 |
+
.woocommerce div.product .wl-addto-cart.wl-style-3 form.cart .button,
|
3829 |
+
.wl-addto-cart.wl-style-3 form.cart .button{
|
3830 |
+
padding: 15px 0px;
|
3831 |
+
border-radius: 5px;
|
3832 |
+
}
|
3833 |
+
|
3834 |
+
.woocommerce .wl-addto-cart.wl-style-5 .quantity .qty{
|
3835 |
+
width: 4.631em;
|
3836 |
+
text-align: left;
|
3837 |
+
min-height: 54px;
|
3838 |
+
}
|
3839 |
+
|
3840 |
+
.woocommerce .wl-addto-cart.wl-style-5 .quantity input[type=number]{
|
3841 |
+
padding: 0px 7px;
|
3842 |
+
}
|
3843 |
+
|
3844 |
+
.woocommerce .wl-addto-cart.wl-style-3 .quantity input[type=number]{
|
3845 |
+
text-align: left;
|
3846 |
+
width: 100%;
|
3847 |
+
padding: 10px 9px;
|
3848 |
+
border-radius: 5px;
|
3849 |
+
|
3850 |
+
}
|
3851 |
+
.woocommerce div.product .wl-addto-cart.wl-style-3 .wl-quantity-wrap .label,
|
3852 |
+
.wl-addto-cart.wl-style-3 .wl-quantity-wrap .label{
|
3853 |
+
flex: 1;
|
3854 |
+
}
|
3855 |
+
|
3856 |
+
.woolentor-quickview-content-builder .wl-addto-cart.wl-style-3 .wl-quantity-wrap .label{
|
3857 |
+
flex: unset;
|
3858 |
+
}
|
3859 |
+
|
3860 |
+
.wl-addto-cart.wl-style-3 form.cart .wl-quantity-wrap .wl-quantity-cal{
|
3861 |
+
flex: 2;
|
3862 |
+
}
|
3863 |
+
|
3864 |
+
.woolentor-quickview-content-builder .wl-addto-cart.wl-style-3 form.cart .wl-quantity-wrap .wl-quantity-cal{
|
3865 |
+
flex: unset;
|
3866 |
+
}
|
3867 |
+
|
3868 |
+
.wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity-cal{
|
3869 |
+
display: flex;
|
3870 |
+
background: #F7F8FA;
|
3871 |
+
align-items: center;
|
3872 |
+
padding: 8px 0px;
|
3873 |
+
border-radius: 5px;
|
3874 |
+
}
|
3875 |
+
|
3876 |
+
.wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap{
|
3877 |
+
display: flex;
|
3878 |
+
align-items: center;
|
3879 |
+
flex-wrap: wrap;
|
3880 |
+
}
|
3881 |
+
|
3882 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity,
|
3883 |
+
.wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity{
|
3884 |
+
float: none;
|
3885 |
+
display: inline-block;
|
3886 |
+
text-align: center;
|
3887 |
+
width: 50px;
|
3888 |
+
height: auto;
|
3889 |
+
}
|
3890 |
+
|
3891 |
+
.woocommerce .wl-addto-cart.wl-style-4 .quantity input[type=number]{
|
3892 |
+
border-width: 0px;
|
3893 |
+
color: #212529;
|
3894 |
+
font-weight: 500;
|
3895 |
+
text-align: center;
|
3896 |
+
padding: 0px;
|
3897 |
+
background: transparent;
|
3898 |
+
}
|
3899 |
+
|
3900 |
+
.woocommerce .wl-addto-cart.wl-style-4 .quantity input[type=number]::-webkit-outer-spin-button,
|
3901 |
+
.woocommerce .wl-addto-cart.wl-style-4 .quantity input[type=number]::-webkit-inner-spin-button {
|
3902 |
+
-webkit-appearance: none;
|
3903 |
+
margin: 0;
|
3904 |
+
}
|
3905 |
+
|
3906 |
+
.woocommerce .wl-addto-cart.wl-style-4 .quantity input[type=number] {
|
3907 |
+
-moz-appearance: textfield;
|
3908 |
+
}
|
3909 |
+
|
3910 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart div.quantity,
|
3911 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart div.quantity{
|
3912 |
+
margin: 0px;
|
3913 |
+
}
|
3914 |
+
|
3915 |
+
.woocommerce div.product .wl-addto-cart.wl-style-3 form.cart .wl-wishlist-compare-txt,
|
3916 |
+
.wl-addto-cart.wl-style-3 form.cart .wl-wishlist-compare-txt{
|
3917 |
+
display: block;
|
3918 |
+
}
|
3919 |
+
|
3920 |
+
.wl-wishlist-compare-txt{
|
3921 |
+
margin: 0;
|
3922 |
+
padding: 0;
|
3923 |
+
width: 100%;
|
3924 |
+
margin-top: 15px;
|
3925 |
+
}
|
3926 |
+
|
3927 |
+
.wl-wishlist-compare-txt li {
|
3928 |
+
list-style: none;
|
3929 |
+
}
|
3930 |
+
|
3931 |
+
.wl-wishlist-compare-txt .wishsuite-button.wltooltip_no span.wishsuite-btn-text{
|
3932 |
+
display: block;
|
3933 |
+
}
|
3934 |
+
|
3935 |
+
.wl-wishlist-compare-txt .htcompare-btn.woolentor-compare{
|
3936 |
+
margin-left: 6px;
|
3937 |
+
}
|
3938 |
+
|
3939 |
+
.woocommerce div.product .wl-addto-cart.wl-style-4 form.cart .wl-wishlist-compare-txt,
|
3940 |
+
.wl-addto-cart.wl-style-4 form.cart .wl-wishlist-compare-txt{
|
3941 |
+
display: flex;
|
3942 |
+
flex-wrap: wrap;
|
3943 |
+
gap: 20px;
|
3944 |
+
}
|
3945 |
+
|
3946 |
+
.wl-addto-cart.grouped .wl-quantity-grouped-cal{
|
3947 |
+
display: flex;
|
3948 |
+
align-items: center;
|
3949 |
+
}
|
3950 |
+
|
3951 |
+
.wl-addto-cart.grouped .wl-quantity-grouped-cal .wl-quantity{
|
3952 |
+
padding: 2px 16px;
|
3953 |
+
border: 1px solid #eaeaea;
|
3954 |
+
cursor: pointer;
|
3955 |
+
}
|
3956 |
+
|
3957 |
+
.wl-addto-cart.grouped.wl-style-1 .wl-quantity-grouped-cal .wl-quantity{
|
3958 |
+
display: none;
|
3959 |
+
}
|
3960 |
+
|
3961 |
+
.wl-addto-cart.grouped .wl-quantity-grouped-cal .wl-quantity.wl-qunatity-minus{
|
3962 |
+
border-right: none;
|
3963 |
+
}
|
3964 |
+
|
3965 |
+
.wl-addto-cart.grouped .wl-quantity-grouped-cal .wl-quantity.wl-qunatity-plus{
|
3966 |
+
border-left: none;
|
3967 |
+
}
|
3968 |
+
|
3969 |
+
.wl-addto-cart.grouped.wl-style-3 .wl-quantity-grouped-cal .wl-quantity.wl-qunatity-minus,
|
3970 |
+
.wl-addto-cart.grouped.wl-style-5 .wl-quantity-grouped-cal .wl-quantity.wl-qunatity-minus{
|
3971 |
+
display: none;
|
3972 |
+
}
|
3973 |
+
|
3974 |
+
.wl-addto-cart.grouped.wl-style-3 .wl-quantity-grouped-cal .wl-quantity.wl-qunatity-plus,
|
3975 |
+
.wl-addto-cart.grouped.wl-style-5 .wl-quantity-grouped-cal .wl-quantity.wl-qunatity-plus{
|
3976 |
+
display: none;
|
3977 |
+
}
|
3978 |
+
|
3979 |
+
.wl-addto-cart.grouped .wl-quantity-grouped-cal .quantity input[type=number]{
|
3980 |
+
border: 1px solid #eaeaea;
|
3981 |
+
}
|
3982 |
+
|
3983 |
+
/* end single product advance addto cart */
|
3984 |
+
|
3985 |
/* Product Filter Start */
|
3986 |
.woolentor-filter-wrap{
|
3987 |
overflow: hidden;
|
5078 |
}
|
5079 |
.wl_single-product-item .product-content .action a.added_to_cart.wc-forward {
|
5080 |
text-indent: -9999px;
|
5081 |
+
padding: 0;
|
5082 |
}
|
5083 |
|
5084 |
.wl_single-product-item .product-content .action .action-item.loading:before {
|
5713 |
}
|
5714 |
|
5715 |
.woolentor-no-view-product {
|
5716 |
+
padding: 15px 15px 15px 20px;
|
5717 |
+
margin-bottom: 10px;
|
5718 |
+
color: #000000;
|
5719 |
+
font-size: 14px;
|
5720 |
+
box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
|
5721 |
+
background-color: #ffffff;
|
5722 |
}
|
5723 |
|
5724 |
/**
|
assets/js/woolentor-widgets-active.js
CHANGED
@@ -276,6 +276,8 @@
|
|
276 |
woolentorquickviewThumb();
|
277 |
woolentor_render_variation_quick_view_data( $('.woolentorquickview-open') );
|
278 |
woolentorquickviewAjaxCart( ".htwl-modal-content .single_add_to_cart_button:not(.disabled)" );
|
|
|
|
|
279 |
}, 300 );
|
280 |
},
|
281 |
complete: function () {
|
276 |
woolentorquickviewThumb();
|
277 |
woolentor_render_variation_quick_view_data( $('.woolentorquickview-open') );
|
278 |
woolentorquickviewAjaxCart( ".htwl-modal-content .single_add_to_cart_button:not(.disabled)" );
|
279 |
+
|
280 |
+
$(document).trigger('woolentor_quick_view_rendered');
|
281 |
}, 300 );
|
282 |
},
|
283 |
complete: function () {
|
classes/class.assest_management.php
CHANGED
@@ -235,6 +235,16 @@ class Assets_Management{
|
|
235 |
'deps' => [ 'jquery', 'countdown-min' ]
|
236 |
],
|
237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
'woolentor-admin-main' =>[
|
239 |
'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/js/woolentor-admin.js',
|
240 |
'version' => WOOLENTOR_VERSION,
|
@@ -390,6 +400,9 @@ class Assets_Management{
|
|
390 |
wp_enqueue_style( 'woolentor-widgets-rtl' );
|
391 |
}
|
392 |
|
|
|
|
|
|
|
393 |
}
|
394 |
|
395 |
|
235 |
'deps' => [ 'jquery', 'countdown-min' ]
|
236 |
],
|
237 |
|
238 |
+
'woolentor-jquery-interdependencies' => [
|
239 |
+
'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/lib/js/jquery-interdependencies.min.js',
|
240 |
+
'version' => WOOLENTOR_VERSION,
|
241 |
+
'deps' => [ 'jquery' ],
|
242 |
+
],
|
243 |
+
'woolentor-condition' => [
|
244 |
+
'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/js/woolentor-condition.js',
|
245 |
+
'version' => WOOLENTOR_VERSION,
|
246 |
+
'deps' => [ 'jquery'],
|
247 |
+
],
|
248 |
'woolentor-admin-main' =>[
|
249 |
'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/js/woolentor-admin.js',
|
250 |
'version' => WOOLENTOR_VERSION,
|
400 |
wp_enqueue_style( 'woolentor-widgets-rtl' );
|
401 |
}
|
402 |
|
403 |
+
// .woocommerce div.product .woocommerce-tabs ul.tabs
|
404 |
+
// wp_enqueue_script('wc-single-product');
|
405 |
+
|
406 |
}
|
407 |
|
408 |
|
classes/class.default_data.php
CHANGED
@@ -44,9 +44,26 @@ class WooLentor_Default_Data{
|
|
44 |
add_filter( 'post_class', [ $this, 'post_class' ] );
|
45 |
}
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
/**
|
48 |
* [body_class] Body Classes
|
49 |
-
* @param [
|
50 |
* @return [void]
|
51 |
*/
|
52 |
public function body_class( $classes ){
|
@@ -63,7 +80,7 @@ class WooLentor_Default_Data{
|
|
63 |
|
64 |
/**
|
65 |
* [post_class] Post Classes
|
66 |
-
* @param [
|
67 |
* @return [void]
|
68 |
*/
|
69 |
public function post_class( $classes ){
|
@@ -121,7 +138,7 @@ class WooLentor_Default_Data{
|
|
121 |
$current_theme = wp_get_theme();
|
122 |
|
123 |
// For Astra Theme
|
124 |
-
if( 'astra' === $current_theme->get( 'TextDomain' ) || 'hello-elementor' === $current_theme->get( 'TextDomain' ) ){
|
125 |
|
126 |
if( $name === 'woolentor-product-archive-addons' ){
|
127 |
|
@@ -201,7 +218,7 @@ class WooLentor_Default_Data{
|
|
201 |
}else{
|
202 |
if( function_exists('woolentor_get_last_product_id') ){
|
203 |
self::$product_id = woolentor_get_last_product_id();
|
204 |
-
$product =
|
205 |
}
|
206 |
}
|
207 |
|
@@ -228,24 +245,31 @@ class WooLentor_Default_Data{
|
|
228 |
ob_start();
|
229 |
$short_description = get_the_excerpt( self::$product_id );
|
230 |
$short_description = apply_filters( 'woocommerce_short_description', $short_description );
|
231 |
-
if ( empty( $short_description ) ) {
|
232 |
-
|
233 |
-
|
234 |
-
|
|
|
|
|
|
|
235 |
return ob_get_clean();
|
236 |
break;
|
237 |
|
238 |
case 'wl-single-product-description':
|
239 |
ob_start();
|
240 |
$description = get_post_field( 'post_content', self::$product_id );
|
241 |
-
if ( empty( $description ) ) {
|
242 |
-
|
|
|
|
|
|
|
|
|
243 |
break;
|
244 |
|
245 |
case 'wl-single-product-rating':
|
246 |
ob_start();
|
247 |
if ( 'no' === get_option( 'woocommerce_enable_review_rating' ) ) {
|
248 |
-
echo '<div class="wl-nodata">'.__('Rating
|
249 |
}
|
250 |
$rating_count = $product->get_rating_count();
|
251 |
$review_count = $product->get_review_count();
|
@@ -255,7 +279,7 @@ class WooLentor_Default_Data{
|
|
255 |
<div class="product">
|
256 |
<div class="woocommerce-product-rating">
|
257 |
<?php echo wc_get_rating_html( $average, $rating_count ); // WPCS: XSS ok. ?>
|
258 |
-
<?php if ( comments_open() ) : ?>
|
259 |
<?php //phpcs:disable ?>
|
260 |
<a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<?php printf( _n( '%s customer review', '%s customer reviews', $review_count, 'woolentor' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?>)</a>
|
261 |
<?php // phpcs:enable ?>
|
@@ -270,6 +294,7 @@ class WooLentor_Default_Data{
|
|
270 |
|
271 |
case 'wl-single-product-image':
|
272 |
ob_start();
|
|
|
273 |
$columns = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
|
274 |
$thumbnail_id = $product->get_image_id();
|
275 |
$wrapper_classes = apply_filters( 'woocommerce_single_product_image_gallery_classes', array(
|
@@ -408,10 +433,21 @@ class WooLentor_Default_Data{
|
|
408 |
echo '</div>';
|
409 |
return ob_get_clean();
|
410 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
|
412 |
case 'wl-single-product-reviews':
|
413 |
ob_start();
|
414 |
-
if( comments_open() ){
|
415 |
comments_template();
|
416 |
}
|
417 |
return ob_get_clean();
|
44 |
add_filter( 'post_class', [ $this, 'post_class' ] );
|
45 |
}
|
46 |
|
47 |
+
// public function wc_fontend_includes() {
|
48 |
+
// if( defined( 'WC_ABSPATH' ) ){
|
49 |
+
// include_once WC_ABSPATH . 'includes/wc-cart-functions.php';
|
50 |
+
// include_once WC_ABSPATH . 'includes/wc-notice-functions.php';
|
51 |
+
// include_once WC_ABSPATH . 'includes/wc-template-hooks.php';
|
52 |
+
// include_once WC_ABSPATH . 'includes/class-wc-template-loader.php';
|
53 |
+
// include_once WC_ABSPATH . 'includes/class-wc-frontend-scripts.php';
|
54 |
+
// include_once WC_ABSPATH . 'includes/class-wc-form-handler.php';
|
55 |
+
// include_once WC_ABSPATH . 'includes/class-wc-cart.php';
|
56 |
+
// include_once WC_ABSPATH . 'includes/class-wc-tax.php';
|
57 |
+
// include_once WC_ABSPATH . 'includes/class-wc-shipping-zones.php';
|
58 |
+
// include_once WC_ABSPATH . 'includes/class-wc-customer.php';
|
59 |
+
// include_once WC_ABSPATH . 'includes/class-wc-embed.php';
|
60 |
+
// include_once WC_ABSPATH . 'includes/class-wc-session-handler.php';
|
61 |
+
// }
|
62 |
+
// }
|
63 |
+
|
64 |
/**
|
65 |
* [body_class] Body Classes
|
66 |
+
* @param [array] $classes body class list
|
67 |
* @return [void]
|
68 |
*/
|
69 |
public function body_class( $classes ){
|
80 |
|
81 |
/**
|
82 |
* [post_class] Post Classes
|
83 |
+
* @param [array] $classes post class list
|
84 |
* @return [void]
|
85 |
*/
|
86 |
public function post_class( $classes ){
|
138 |
$current_theme = wp_get_theme();
|
139 |
|
140 |
// For Astra Theme
|
141 |
+
if( 'astra' === $current_theme->get( 'TextDomain' ) || 'hello-elementor' === $current_theme->get( 'TextDomain' ) || 'blocksy' === $current_theme->get( 'TextDomain' ) ){
|
142 |
|
143 |
if( $name === 'woolentor-product-archive-addons' ){
|
144 |
|
218 |
}else{
|
219 |
if( function_exists('woolentor_get_last_product_id') ){
|
220 |
self::$product_id = woolentor_get_last_product_id();
|
221 |
+
$product = $this->get_product('');
|
222 |
}
|
223 |
}
|
224 |
|
245 |
ob_start();
|
246 |
$short_description = get_the_excerpt( self::$product_id );
|
247 |
$short_description = apply_filters( 'woocommerce_short_description', $short_description );
|
248 |
+
if ( empty( $short_description ) ) {
|
249 |
+
echo '<p>'.esc_html__('The short description does not set this product.','woolentor').'</p>';
|
250 |
+
}else{
|
251 |
+
?>
|
252 |
+
<div class="woocommerce-product-details__short-description"><?php echo wp_kses_post( $short_description ); ?></div>
|
253 |
+
<?php
|
254 |
+
}
|
255 |
return ob_get_clean();
|
256 |
break;
|
257 |
|
258 |
case 'wl-single-product-description':
|
259 |
ob_start();
|
260 |
$description = get_post_field( 'post_content', self::$product_id );
|
261 |
+
if ( empty( $description ) ) {
|
262 |
+
echo '<p>'.esc_html__('The description does not set this product.','woolentor').'</p>';
|
263 |
+
}else{
|
264 |
+
echo wp_kses_post( $description );
|
265 |
+
}
|
266 |
+
return ob_get_clean();
|
267 |
break;
|
268 |
|
269 |
case 'wl-single-product-rating':
|
270 |
ob_start();
|
271 |
if ( 'no' === get_option( 'woocommerce_enable_review_rating' ) ) {
|
272 |
+
echo '<div class="wl-nodata">'.__('Rating does not enable.','woolentor').'</div>';
|
273 |
}
|
274 |
$rating_count = $product->get_rating_count();
|
275 |
$review_count = $product->get_review_count();
|
279 |
<div class="product">
|
280 |
<div class="woocommerce-product-rating">
|
281 |
<?php echo wc_get_rating_html( $average, $rating_count ); // WPCS: XSS ok. ?>
|
282 |
+
<?php if ( comments_open( self::$product_id ) ) : ?>
|
283 |
<?php //phpcs:disable ?>
|
284 |
<a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<?php printf( _n( '%s customer review', '%s customer reviews', $review_count, 'woolentor' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?>)</a>
|
285 |
<?php // phpcs:enable ?>
|
294 |
|
295 |
case 'wl-single-product-image':
|
296 |
ob_start();
|
297 |
+
|
298 |
$columns = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
|
299 |
$thumbnail_id = $product->get_image_id();
|
300 |
$wrapper_classes = apply_filters( 'woocommerce_single_product_image_gallery_classes', array(
|
433 |
echo '</div>';
|
434 |
return ob_get_clean();
|
435 |
break;
|
436 |
+
|
437 |
+
case 'wl-product-data-tabs2':
|
438 |
+
// setup_postdata( $product->get_id() );
|
439 |
+
$post = get_post( $product->get_id() );
|
440 |
+
ob_start();
|
441 |
+
if( get_post_type() == 'elementor_library' ){
|
442 |
+
add_filter( 'the_content', [ $this, 'product_content' ] );
|
443 |
+
}
|
444 |
+
wc_get_template( 'single-product/tabs/tabs.php' );
|
445 |
+
return ob_get_clean();
|
446 |
+
break;
|
447 |
|
448 |
case 'wl-single-product-reviews':
|
449 |
ob_start();
|
450 |
+
if( comments_open( self::$product_id ) ){
|
451 |
comments_template();
|
452 |
}
|
453 |
return ob_get_clean();
|
classes/class.quickview_manage.php
CHANGED
@@ -31,7 +31,7 @@ class Quick_View_Manager{
|
|
31 |
global $post, $product, $woocommerce;
|
32 |
$id = ( int ) $_POST['id'];
|
33 |
$post = get_post( $id );
|
34 |
-
$product =
|
35 |
if ( $product ) {
|
36 |
include ( apply_filters( 'woolentor_quickview_tmp', WOOLENTOR_ADDONS_PL_PATH.'includes/quickview-content.php' ) );
|
37 |
}
|
31 |
global $post, $product, $woocommerce;
|
32 |
$id = ( int ) $_POST['id'];
|
33 |
$post = get_post( $id );
|
34 |
+
$product = wc_get_product( $id );
|
35 |
if ( $product ) {
|
36 |
include ( apply_filters( 'woolentor_quickview_tmp', WOOLENTOR_ADDONS_PL_PATH.'includes/quickview-content.php' ) );
|
37 |
}
|
includes/addons/universal_product.php
CHANGED
@@ -2282,7 +2282,7 @@ class Woolentor_Universal_Product_Widget extends Widget_Base {
|
|
2282 |
?>
|
2283 |
</ul>
|
2284 |
</div>
|
2285 |
-
<?php }
|
2286 |
|
2287 |
<?php if( is_array( $product_cats ) && (count( $product_cats ) > 0) && ( $settings['product_layout_style'] == 'tab' ) ): ?>
|
2288 |
<div class="<?php echo $same_height_box == 'yes' ? 'woolentor-product-same-height' : ''; ?> ht-products woocommerce">
|
@@ -2438,8 +2438,12 @@ class Woolentor_Universal_Product_Widget extends Widget_Base {
|
|
2438 |
<div class="ht-product-content">
|
2439 |
<div class="ht-product-content-inner">
|
2440 |
<div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
|
|
|
2441 |
<?php echo sprintf( "<%s class='ht-product-title'><a href='%s'>%s</a></%s>", $title_html_tag, get_the_permalink(), get_the_title(), $title_html_tag ); ?>
|
|
|
|
|
2442 |
<div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
|
|
|
2443 |
<div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
|
2444 |
|
2445 |
<?php if( $settings['show_action_button'] == 'yes' ){ if( $settings['action_button_position'] == 'contentbottom' ): ?>
|
@@ -2621,8 +2625,12 @@ class Woolentor_Universal_Product_Widget extends Widget_Base {
|
|
2621 |
<div class="ht-product-content">
|
2622 |
<div class="ht-product-content-inner">
|
2623 |
<div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
|
|
|
2624 |
<?php echo sprintf( "<%s class='ht-product-title'><a href='%s'>%s</a></%s>", $title_html_tag, get_the_permalink(), get_the_title(), $title_html_tag ); ?>
|
|
|
|
|
2625 |
<div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
|
|
|
2626 |
<div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
|
2627 |
|
2628 |
<?php if( $settings['show_action_button'] == 'yes' ){ if( $settings['action_button_position'] == 'contentbottom' ): ?>
|
2282 |
?>
|
2283 |
</ul>
|
2284 |
</div>
|
2285 |
+
<?php } ?>
|
2286 |
|
2287 |
<?php if( is_array( $product_cats ) && (count( $product_cats ) > 0) && ( $settings['product_layout_style'] == 'tab' ) ): ?>
|
2288 |
<div class="<?php echo $same_height_box == 'yes' ? 'woolentor-product-same-height' : ''; ?> ht-products woocommerce">
|
2438 |
<div class="ht-product-content">
|
2439 |
<div class="ht-product-content-inner">
|
2440 |
<div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
|
2441 |
+
<?php do_action( 'woolentor_universal_before_title' ); ?>
|
2442 |
<?php echo sprintf( "<%s class='ht-product-title'><a href='%s'>%s</a></%s>", $title_html_tag, get_the_permalink(), get_the_title(), $title_html_tag ); ?>
|
2443 |
+
<?php do_action( 'woolentor_universal_after_title' ); ?>
|
2444 |
+
<?php do_action( 'woolentor_universal_before_price' ); ?>
|
2445 |
<div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
|
2446 |
+
<?php do_action( 'woolentor_universal_after_price' ); ?>
|
2447 |
<div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
|
2448 |
|
2449 |
<?php if( $settings['show_action_button'] == 'yes' ){ if( $settings['action_button_position'] == 'contentbottom' ): ?>
|
2625 |
<div class="ht-product-content">
|
2626 |
<div class="ht-product-content-inner">
|
2627 |
<div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
|
2628 |
+
<?php do_action( 'woolentor_universal_before_title' ); ?>
|
2629 |
<?php echo sprintf( "<%s class='ht-product-title'><a href='%s'>%s</a></%s>", $title_html_tag, get_the_permalink(), get_the_title(), $title_html_tag ); ?>
|
2630 |
+
<?php do_action( 'woolentor_universal_after_title' ); ?>
|
2631 |
+
<?php do_action( 'woolentor_universal_before_price' ); ?>
|
2632 |
<div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
|
2633 |
+
<?php do_action( 'woolentor_universal_after_price' ); ?>
|
2634 |
<div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
|
2635 |
|
2636 |
<?php if( $settings['show_action_button'] == 'yes' ){ if( $settings['action_button_position'] == 'contentbottom' ): ?>
|
includes/addons/wb_archive_catalog_ordering.php
CHANGED
@@ -134,7 +134,7 @@ class Woolentor_Wb_Archive_Catalog_Ordering_Widget extends Widget_Base {
|
|
134 |
|
135 |
$settings = $this->get_settings_for_display();
|
136 |
|
137 |
-
if(
|
138 |
echo '<div class="woolentor_archive_catalog_ordering">';
|
139 |
woolentor_product_shorting('menu_order');
|
140 |
echo '</div>';
|
134 |
|
135 |
$settings = $this->get_settings_for_display();
|
136 |
|
137 |
+
if( woolentor_is_preview_mode() ){
|
138 |
echo '<div class="woolentor_archive_catalog_ordering">';
|
139 |
woolentor_product_shorting('menu_order');
|
140 |
echo '</div>';
|
includes/addons/wb_archive_product.php
CHANGED
@@ -931,7 +931,6 @@ class Woolentor_Wb_Archive_Product_Widget extends Widget_Base {
|
|
931 |
protected function render( $instance = [] ) {
|
932 |
|
933 |
$settings = $this->get_settings_for_display();
|
934 |
-
|
935 |
if ( WC()->session && function_exists('wc_print_notices') ) {
|
936 |
wc_print_notices();
|
937 |
}
|
931 |
protected function render( $instance = [] ) {
|
932 |
|
933 |
$settings = $this->get_settings_for_display();
|
|
|
934 |
if ( WC()->session && function_exists('wc_print_notices') ) {
|
935 |
wc_print_notices();
|
936 |
}
|
includes/addons/wb_archive_result_count.php
CHANGED
@@ -129,7 +129,7 @@ class Woolentor_Wb_Archive_Result_Count_Widget extends Widget_Base {
|
|
129 |
|
130 |
$settings = $this->get_settings_for_display();
|
131 |
|
132 |
-
if(
|
133 |
echo '<div class="woolentor_archive_result_count">';
|
134 |
$args = array(
|
135 |
'total' => wp_count_posts( 'product' )->publish,
|
129 |
|
130 |
$settings = $this->get_settings_for_display();
|
131 |
|
132 |
+
if( woolentor_is_preview_mode() ){
|
133 |
echo '<div class="woolentor_archive_result_count">';
|
134 |
$args = array(
|
135 |
'total' => wp_count_posts( 'product' )->publish,
|
includes/addons/wb_product_add_to_cart.php
CHANGED
@@ -28,6 +28,10 @@ class Woolentor_Wb_Product_Add_To_Cart_Widget extends Widget_Base {
|
|
28 |
public function get_style_depends(){
|
29 |
return [
|
30 |
'woolentor-widgets',
|
|
|
|
|
|
|
|
|
31 |
];
|
32 |
}
|
33 |
|
@@ -38,10 +42,786 @@ class Woolentor_Wb_Product_Add_To_Cart_Widget extends Widget_Base {
|
|
38 |
protected function register_controls() {
|
39 |
|
40 |
$this->start_controls_section(
|
41 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
[
|
43 |
'label' => __( 'Button', 'woolentor' ),
|
44 |
'tab' => Controls_Manager::TAB_STYLE,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
]
|
46 |
);
|
47 |
|
@@ -52,6 +832,7 @@ class Woolentor_Wb_Product_Add_To_Cart_Widget extends Widget_Base {
|
|
52 |
'type' => Controls_Manager::SWITCHER,
|
53 |
'selectors' => [
|
54 |
'{{WRAPPER}} .quantity,{{WRAPPER}} form.cart input[type=number]' => 'display: none !important;',
|
|
|
55 |
],
|
56 |
]
|
57 |
);
|
@@ -193,21 +974,205 @@ class Woolentor_Wb_Product_Add_To_Cart_Widget extends Widget_Base {
|
|
193 |
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
protected function render() {
|
197 |
-
|
198 |
-
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
if ( Plugin::instance()->editor->is_edit_mode() ) {
|
201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
}else{
|
203 |
if ( empty( $product ) ) { return; }
|
|
|
204 |
?>
|
205 |
-
<div class="<?php echo esc_attr(
|
206 |
<?php woocommerce_template_single_add_to_cart(); ?>
|
207 |
</div>
|
208 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
}
|
210 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
}
|
212 |
|
213 |
}
|
28 |
public function get_style_depends(){
|
29 |
return [
|
30 |
'woolentor-widgets',
|
31 |
+
'elementor-icons-shared-0-css',
|
32 |
+
'elementor-icons-fa-brands',
|
33 |
+
'elementor-icons-fa-regular',
|
34 |
+
'elementor-icons-fa-solid'
|
35 |
];
|
36 |
}
|
37 |
|
42 |
protected function register_controls() {
|
43 |
|
44 |
$this->start_controls_section(
|
45 |
+
'product_advance_single_addtocart_content',
|
46 |
+
array(
|
47 |
+
'label' => __( 'Layout', 'woolentor' ),
|
48 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
49 |
+
)
|
50 |
+
);
|
51 |
+
|
52 |
+
$this->add_control(
|
53 |
+
'single_product_advance_layout_style',
|
54 |
+
[
|
55 |
+
'label' => __( 'Layout', 'woolentor' ),
|
56 |
+
'type' => Controls_Manager::SELECT,
|
57 |
+
'default' => 'wl-style-1',
|
58 |
+
'options' => [
|
59 |
+
'wl-style-1' => __( 'Default', 'woolentor' ),
|
60 |
+
'wl-style-2' => __( 'Layout One', 'woolentor' ),
|
61 |
+
'wl-style-3' => __( 'Layout Two', 'woolentor' ),
|
62 |
+
'wl-style-4' => __( 'Layout Three', 'woolentor' ),
|
63 |
+
'wl-style-5' => __( 'Layout Four', 'woolentor' ),
|
64 |
+
],
|
65 |
+
]
|
66 |
+
);
|
67 |
+
|
68 |
+
$this->end_controls_section();
|
69 |
+
|
70 |
+
$this->start_controls_section(
|
71 |
+
'product_advance_single_addtocart_content_settings',
|
72 |
+
array(
|
73 |
+
'label' => __( 'Settings', 'woolentor' ),
|
74 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
75 |
+
'conditions' => [
|
76 |
+
'relation' => 'or',
|
77 |
+
'terms' => [
|
78 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
79 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
80 |
+
]
|
81 |
+
],
|
82 |
+
)
|
83 |
+
);
|
84 |
+
|
85 |
+
$this->add_control(
|
86 |
+
'advance_cart_quantity_text',
|
87 |
+
[
|
88 |
+
'label' => __( 'Quantity Text', 'woolentor' ),
|
89 |
+
'type' => Controls_Manager::TEXT,
|
90 |
+
'default' => 'Quantity',
|
91 |
+
'conditions' => [
|
92 |
+
'relation' => 'or',
|
93 |
+
'terms' => [
|
94 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
95 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-3'],
|
96 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-5'],
|
97 |
+
]
|
98 |
+
],
|
99 |
+
]
|
100 |
+
);
|
101 |
+
|
102 |
+
$this->add_control(
|
103 |
+
'quantity_plus_icon',
|
104 |
+
[
|
105 |
+
'label' => esc_html__( 'Plus Icon', 'woolentor' ),
|
106 |
+
'type' => Controls_Manager::ICONS,
|
107 |
+
'default' => [
|
108 |
+
'value'=>'fas fa-plus',
|
109 |
+
'library' => 'solid',
|
110 |
+
],
|
111 |
+
'label_block' => true,
|
112 |
+
'fa4compatibility' => 'buttonicon'
|
113 |
+
]
|
114 |
+
);
|
115 |
+
|
116 |
+
|
117 |
+
$this->add_control(
|
118 |
+
'qunantity_minus_icon',
|
119 |
+
[
|
120 |
+
'label' => esc_html__( 'Minus Icon', 'woolentor' ),
|
121 |
+
'type' => Controls_Manager::ICONS,
|
122 |
+
'default' => [
|
123 |
+
'value'=>'fas fa-minus',
|
124 |
+
'library' => 'solid',
|
125 |
+
],
|
126 |
+
'label_block' => true,
|
127 |
+
'fa4compatibility' => 'buttonicon'
|
128 |
+
]
|
129 |
+
);
|
130 |
+
|
131 |
+
$this->end_controls_section();
|
132 |
+
|
133 |
+
$this->start_controls_section(
|
134 |
+
'add_to_cart_advance_quaantity_style',
|
135 |
+
[
|
136 |
+
'label' => __( 'Quantity', 'woolentor' ),
|
137 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
138 |
+
]
|
139 |
+
);
|
140 |
+
|
141 |
+
$this->start_controls_tabs(
|
142 |
+
'advance_quantity_style_tabs'
|
143 |
+
);
|
144 |
+
// Normal Style Tab
|
145 |
+
$this->start_controls_tab(
|
146 |
+
'style_arvance_quantity_normal_tab',
|
147 |
+
[
|
148 |
+
'label' => __( 'Normal', 'woolentor' ),
|
149 |
+
]
|
150 |
+
);
|
151 |
+
|
152 |
+
$this->add_control(
|
153 |
+
'advance_quantity_minus_icon_color',
|
154 |
+
[
|
155 |
+
'label' => __( 'Minus Icon Color', 'woolentor' ),
|
156 |
+
'type' => Controls_Manager::COLOR,
|
157 |
+
'selectors' => [
|
158 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-minus' => 'color: {{VALUE}}',
|
159 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-minus' => 'color: {{VALUE}}',
|
160 |
+
],
|
161 |
+
'conditions' => [
|
162 |
+
'relation' => 'or',
|
163 |
+
'terms' => [
|
164 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
165 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
166 |
+
]
|
167 |
+
],
|
168 |
+
]
|
169 |
+
);
|
170 |
+
|
171 |
+
$this->add_control(
|
172 |
+
'advance_quantity_plus_icon_color',
|
173 |
+
[
|
174 |
+
'label' => __( 'Plus Icon Color', 'woolentor' ),
|
175 |
+
'type' => Controls_Manager::COLOR,
|
176 |
+
'selectors' => [
|
177 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-plus' => 'color: {{VALUE}}',
|
178 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-plus' => 'color: {{VALUE}}',
|
179 |
+
],
|
180 |
+
'conditions' => [
|
181 |
+
'relation' => 'or',
|
182 |
+
'terms' => [
|
183 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
184 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
185 |
+
]
|
186 |
+
],
|
187 |
+
]
|
188 |
+
);
|
189 |
+
|
190 |
+
$this->add_control(
|
191 |
+
'advance_quantity_number_color',
|
192 |
+
[
|
193 |
+
'label' => __( 'Quantity Number', 'woolentor' ),
|
194 |
+
'type' => Controls_Manager::COLOR,
|
195 |
+
'selectors' => [
|
196 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-1 .quantity input[type=number]' => 'color: {{VALUE}}',
|
197 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 .quantity input[type=number]' => 'color: {{VALUE}}',
|
198 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 .quantity input[type=number]' => 'color: {{VALUE}}',
|
199 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 .quantity input[type=number]' => 'color: {{VALUE}}',
|
200 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 .quantity input[type=number]' => 'color: {{VALUE}}',
|
201 |
+
],
|
202 |
+
]
|
203 |
+
);
|
204 |
+
|
205 |
+
$this->add_control(
|
206 |
+
'advance_quantity_background_color',
|
207 |
+
[
|
208 |
+
'label' => __( 'Quantity Backgeound', 'woolentor' ),
|
209 |
+
'type' => Controls_Manager::COLOR,
|
210 |
+
'selectors' => [
|
211 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity-cal' => 'background: {{VALUE}}',
|
212 |
+
],
|
213 |
+
'condition'=>[
|
214 |
+
'single_product_advance_layout_style' => 'wl-style-4',
|
215 |
+
],
|
216 |
+
]
|
217 |
+
);
|
218 |
+
|
219 |
+
$this->add_control(
|
220 |
+
'advance_quantity_text_color',
|
221 |
+
[
|
222 |
+
'label' => __( 'Qunantity Text Color', 'woolentor' ),
|
223 |
+
'type' => Controls_Manager::COLOR,
|
224 |
+
'selectors' => [
|
225 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap span.label' => 'color: {{VALUE}}',
|
226 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 form.cart .wl-quantity-wrap span.label' => 'color: {{VALUE}}',
|
227 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-quantity-wrap span.label' => 'color: {{VALUE}}',
|
228 |
+
],
|
229 |
+
'conditions' => [
|
230 |
+
'relation' => 'or',
|
231 |
+
'terms' => [
|
232 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
233 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-3'],
|
234 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-5'],
|
235 |
+
]
|
236 |
+
],
|
237 |
+
]
|
238 |
+
);
|
239 |
+
|
240 |
+
$this->end_controls_tab();
|
241 |
+
|
242 |
+
// Hover Style Tab
|
243 |
+
$this->start_controls_tab(
|
244 |
+
'style_arvance_quantity_hover_tab',
|
245 |
+
[
|
246 |
+
'label' => __( 'Hover', 'woolentor' ),
|
247 |
+
]
|
248 |
+
);
|
249 |
+
|
250 |
+
$this->add_control(
|
251 |
+
'advance_quantity_hover_minus_icon_color',
|
252 |
+
[
|
253 |
+
'label' => __( 'Minus Icon Color', 'woolentor' ),
|
254 |
+
'type' => Controls_Manager::COLOR,
|
255 |
+
'selectors' => [
|
256 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-minus:hover' => 'color: {{VALUE}}',
|
257 |
+
],
|
258 |
+
'conditions' => [
|
259 |
+
'relation' => 'or',
|
260 |
+
'terms' => [
|
261 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
262 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
263 |
+
]
|
264 |
+
],
|
265 |
+
]
|
266 |
+
);
|
267 |
+
|
268 |
+
$this->add_control(
|
269 |
+
'advance_quantity_hover_plus_icon_color',
|
270 |
+
[
|
271 |
+
'label' => __( 'Plus Icon Color', 'woolentor' ),
|
272 |
+
'type' => Controls_Manager::COLOR,
|
273 |
+
'selectors' => [
|
274 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity.wl-qunatity-plus:hover' => 'color: {{VALUE}}',
|
275 |
+
],
|
276 |
+
'conditions' => [
|
277 |
+
'relation' => 'or',
|
278 |
+
'terms' => [
|
279 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
280 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
281 |
+
]
|
282 |
+
],
|
283 |
+
]
|
284 |
+
);
|
285 |
+
|
286 |
+
$this->add_control(
|
287 |
+
'advance_quantity_hover_number_color',
|
288 |
+
[
|
289 |
+
'label' => __( 'Quantity Number', 'woolentor' ),
|
290 |
+
'type' => Controls_Manager::COLOR,
|
291 |
+
'selectors' => [
|
292 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-1 .quantity input[type=number]:hover' => 'color: {{VALUE}}',
|
293 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 .quantity input[type=number]:hover' => 'color: {{VALUE}}',
|
294 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 .quantity input[type=number]:hover' => 'color: {{VALUE}}',
|
295 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 .quantity input[type=number]:hover' => 'color: {{VALUE}}',
|
296 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 .quantity input[type=number]:hover' => 'color: {{VALUE}}',
|
297 |
+
],
|
298 |
+
]
|
299 |
+
);
|
300 |
+
|
301 |
+
$this->add_control(
|
302 |
+
'advance_quantity_text_hover_color',
|
303 |
+
[
|
304 |
+
'label' => __( 'Qunantity Text Color', 'woolentor' ),
|
305 |
+
'type' => Controls_Manager::COLOR,
|
306 |
+
'selectors' => [
|
307 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap span.label:hover' => 'color: {{VALUE}}',
|
308 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 form.cart .wl-quantity-wrap span.label:hover' => 'color: {{VALUE}}',
|
309 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-quantity-wrap span.label:hover' => 'color: {{VALUE}}',
|
310 |
+
],
|
311 |
+
'conditions' => [
|
312 |
+
'relation' => 'or',
|
313 |
+
'terms' => [
|
314 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
315 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-3'],
|
316 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-5'],
|
317 |
+
]
|
318 |
+
],
|
319 |
+
]
|
320 |
+
);
|
321 |
+
|
322 |
+
$this->add_control(
|
323 |
+
'advance_quantity_background_hover_color',
|
324 |
+
[
|
325 |
+
'label' => __( 'Quantity Backgeound', 'woolentor' ),
|
326 |
+
'type' => Controls_Manager::COLOR,
|
327 |
+
'selectors' => [
|
328 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity-cal:hover' => 'background: {{VALUE}}',
|
329 |
+
],
|
330 |
+
'condition'=>[
|
331 |
+
'single_product_advance_layout_style' => 'wl-style-4',
|
332 |
+
],
|
333 |
+
]
|
334 |
+
);
|
335 |
+
|
336 |
+
$this->end_controls_tab();
|
337 |
+
$this->end_controls_tabs();
|
338 |
+
|
339 |
+
$this->add_group_control(
|
340 |
+
Group_Control_Border::get_type(),
|
341 |
+
[
|
342 |
+
'name' => 'advance_quantity_border',
|
343 |
+
'label' => __( 'Quantity Border', 'woolentor' ),
|
344 |
+
'selector' => '{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity-cal,{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity-cal,{{WRAPPER}} .wl-addto-cart.wl-style-1 .quantity input[type=number],{{WRAPPER}} .wl-addto-cart.wl-style-3 .quantity input[type=number],{{WRAPPER}} .wl-addto-cart.wl-style-5 .quantity input[type=number]',
|
345 |
+
'separator' =>'before',
|
346 |
+
]
|
347 |
+
);
|
348 |
+
|
349 |
+
$this->add_responsive_control(
|
350 |
+
'advance_add_to_cart_quantity_radius',
|
351 |
+
[
|
352 |
+
'label' => esc_html__( 'Border Radius', 'woolentor' ),
|
353 |
+
'size_units' => [ 'px', '%' ],
|
354 |
+
'type' => Controls_Manager::DIMENSIONS,
|
355 |
+
'selectors' => [
|
356 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity-cal' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
357 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity-cal' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
358 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-1 .quantity input[type=number]' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
359 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 .quantity input[type=number]' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
360 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 .quantity input[type=number]' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
361 |
+
],
|
362 |
+
]
|
363 |
+
);
|
364 |
+
|
365 |
+
$this->add_responsive_control(
|
366 |
+
'advance_qunatity_padding',
|
367 |
+
[
|
368 |
+
'label' => __( 'Padding', 'woolentor' ),
|
369 |
+
'type' => Controls_Manager::DIMENSIONS,
|
370 |
+
'size_units' => [ 'px', '%', 'em' ],
|
371 |
+
'selectors' => [
|
372 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity-cal' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
373 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 form.cart .wl-quantity-wrap .wl-quantity-cal' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
374 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 .quantity input[type=number]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
375 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-1 .quantity input[type=number]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
376 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 .quantity input[type=number]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
377 |
+
],
|
378 |
+
]
|
379 |
+
);
|
380 |
+
|
381 |
+
$this->add_control(
|
382 |
+
'single_product_quantity_spacing',
|
383 |
+
[
|
384 |
+
'label' => esc_html__( 'Spacing', 'woolentor' ),
|
385 |
+
'type' => Controls_Manager::SLIDER,
|
386 |
+
'size_units' => [ 'px' ],
|
387 |
+
'range' => [
|
388 |
+
'px' => [
|
389 |
+
'min' => 0,
|
390 |
+
'max' => 200,
|
391 |
+
'step' => 5,
|
392 |
+
],
|
393 |
+
],
|
394 |
+
'default' => [
|
395 |
+
'unit' => 'px',
|
396 |
+
'size' => 80,
|
397 |
+
],
|
398 |
+
'selectors' => [
|
399 |
+
'.woocommerce {{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-quantity-wrap .wl-quantity-cal' => 'margin-left: {{SIZE}}{{UNIT}};',
|
400 |
+
],
|
401 |
+
'condition'=>[
|
402 |
+
'single_product_advance_layout_style' => 'wl-style-2',
|
403 |
+
],
|
404 |
+
]
|
405 |
+
);
|
406 |
+
|
407 |
+
$this->end_controls_section();
|
408 |
+
|
409 |
+
$this->start_controls_section(
|
410 |
+
'add_to_cart_advance_icon_style',
|
411 |
[
|
412 |
'label' => __( 'Button', 'woolentor' ),
|
413 |
'tab' => Controls_Manager::TAB_STYLE,
|
414 |
+
'conditions' => [
|
415 |
+
'relation' => 'or',
|
416 |
+
'terms' => [
|
417 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
418 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-5'],
|
419 |
+
]
|
420 |
+
],
|
421 |
+
]
|
422 |
+
);
|
423 |
+
|
424 |
+
$this->add_control(
|
425 |
+
'hide_advance_cart_wishlist_icon',
|
426 |
+
[
|
427 |
+
'label' => __( 'Hide Wishlist', 'woolentor' ),
|
428 |
+
'type' => Controls_Manager::SWITCHER,
|
429 |
+
'return_value' => 'yes',
|
430 |
+
'default' => '',
|
431 |
+
]
|
432 |
+
);
|
433 |
+
|
434 |
+
$this->add_control(
|
435 |
+
'hide_advance_cart_compare_icon',
|
436 |
+
[
|
437 |
+
'label' => __( 'Hide Compare', 'woolentor' ),
|
438 |
+
'type' => Controls_Manager::SWITCHER,
|
439 |
+
'return_value' => 'yes',
|
440 |
+
'default' => '',
|
441 |
+
]
|
442 |
+
);
|
443 |
+
|
444 |
+
$this->add_control(
|
445 |
+
'product_wishlist_compare_btn_position',
|
446 |
+
[
|
447 |
+
'label' => __( 'Position', 'woolentor' ),
|
448 |
+
'type' => Controls_Manager::SELECT,
|
449 |
+
'description' => __('Only for wishlist and compare button.','woolentor'),
|
450 |
+
'default' => 'both',
|
451 |
+
'options' => [
|
452 |
+
'before' => __( 'Befor Add to Cart', 'woolentor' ),
|
453 |
+
'after' => __( 'After Add to Cart', 'woolentor' ),
|
454 |
+
'both' => __( 'Both Side of Add to Cart', 'woolentor' ),
|
455 |
+
],
|
456 |
+
'conditions' => [
|
457 |
+
'relation' => 'or',
|
458 |
+
'terms' => [
|
459 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-2'],
|
460 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-5'],
|
461 |
+
]
|
462 |
+
],
|
463 |
+
]
|
464 |
+
);
|
465 |
+
|
466 |
+
$this->start_controls_tabs(
|
467 |
+
'advance_button_icon_tabs',
|
468 |
+
[
|
469 |
+
'conditions' => [
|
470 |
+
'relation' => 'or',
|
471 |
+
'terms' => [
|
472 |
+
['name' => 'hide_advance_cart_wishlist_icon', 'operator' => '===', 'value' => ''],
|
473 |
+
['name' => 'hide_advance_cart_compare_icon', 'operator' => '===', 'value' => ''],
|
474 |
+
]
|
475 |
+
],
|
476 |
+
]
|
477 |
+
);
|
478 |
+
// Normal Style Tab
|
479 |
+
$this->start_controls_tab(
|
480 |
+
'style_advance_cart_icon_normal_tab',
|
481 |
+
[
|
482 |
+
'label' => __( 'Normal', 'woolentor' )
|
483 |
+
]
|
484 |
+
);
|
485 |
+
|
486 |
+
$this->add_control(
|
487 |
+
'advance_cart_icon_wishlist_color',
|
488 |
+
[
|
489 |
+
'label' => __( 'Wishlist Icon Color', 'woolentor' ),
|
490 |
+
'type' => Controls_Manager::COLOR,
|
491 |
+
'selectors' => [
|
492 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.wishlist' => 'color: {{VALUE}}',
|
493 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.wishlist' => 'color: {{VALUE}}',
|
494 |
+
],
|
495 |
+
'condition'=>[
|
496 |
+
'hide_advance_cart_wishlist_icon' => '',
|
497 |
+
],
|
498 |
+
]
|
499 |
+
);
|
500 |
+
|
501 |
+
$this->add_control(
|
502 |
+
'advance_cart_icon_wishlist_background',
|
503 |
+
[
|
504 |
+
'label' => __( 'Wishlist Background Color', 'woolentor' ),
|
505 |
+
'type' => Controls_Manager::COLOR,
|
506 |
+
'selectors' => [
|
507 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.wishlist' => 'background: {{VALUE}}',
|
508 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.wishlist' => 'background: {{VALUE}}',
|
509 |
+
],
|
510 |
+
'condition'=>[
|
511 |
+
'hide_advance_cart_wishlist_icon' => '',
|
512 |
+
],
|
513 |
+
]
|
514 |
+
);
|
515 |
+
|
516 |
+
$this->add_control(
|
517 |
+
'advance_cart_icon_compare_color',
|
518 |
+
[
|
519 |
+
'label' => __( 'Compare Icon Color', 'woolentor' ),
|
520 |
+
'type' => Controls_Manager::COLOR,
|
521 |
+
'selectors' => [
|
522 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.compare' => 'color: {{VALUE}}',
|
523 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.compare' => 'color: {{VALUE}}',
|
524 |
+
],
|
525 |
+
'condition'=>[
|
526 |
+
'hide_advance_cart_compare_icon' => '',
|
527 |
+
],
|
528 |
+
]
|
529 |
+
);
|
530 |
+
|
531 |
+
$this->add_control(
|
532 |
+
'advance_cart_icon_compare_background',
|
533 |
+
[
|
534 |
+
'label' => __( 'Compare Background Color', 'woolentor' ),
|
535 |
+
'type' => Controls_Manager::COLOR,
|
536 |
+
'selectors' => [
|
537 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.compare' => 'background: {{VALUE}}',
|
538 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.compare' => 'background: {{VALUE}}',
|
539 |
+
],
|
540 |
+
'condition'=>[
|
541 |
+
'hide_advance_cart_compare_icon' => '',
|
542 |
+
],
|
543 |
+
]
|
544 |
+
);
|
545 |
+
|
546 |
+
$this->add_group_control(
|
547 |
+
Group_Control_Border::get_type(),
|
548 |
+
[
|
549 |
+
'name' => 'advance_cart_icon_border',
|
550 |
+
'label' => __( 'Border', 'woolentor' ),
|
551 |
+
'selector' => '{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon,{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon',
|
552 |
+
]
|
553 |
+
);
|
554 |
+
|
555 |
+
$this->add_responsive_control(
|
556 |
+
'advance_cart_icon_border_radius',
|
557 |
+
[
|
558 |
+
'label' => esc_html__( 'Border Radius', 'woolentor' ),
|
559 |
+
'size_units' => [ 'px', '%' ],
|
560 |
+
'type' => Controls_Manager::DIMENSIONS,
|
561 |
+
'selectors' => [
|
562 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
563 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
564 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-icon' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
565 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-icon' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
566 |
+
],
|
567 |
+
]
|
568 |
+
);
|
569 |
+
|
570 |
+
$this->end_controls_tab();
|
571 |
+
|
572 |
+
// Hover Style Tab
|
573 |
+
$this->start_controls_tab(
|
574 |
+
'style_advance_icon_hover_tab',
|
575 |
+
[
|
576 |
+
'label' => __( 'Hover', 'woolentor' )
|
577 |
+
]
|
578 |
+
);
|
579 |
+
|
580 |
+
$this->add_control(
|
581 |
+
'advance_cart_hover_icon_wishlist_color',
|
582 |
+
[
|
583 |
+
'label' => __( 'Wishlist Icon Color', 'woolentor' ),
|
584 |
+
'type' => Controls_Manager::COLOR,
|
585 |
+
'selectors' => [
|
586 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.wishlist:hover > a' => 'color: {{VALUE}}',
|
587 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.wishlist:hover > a' => 'color: {{VALUE}}',
|
588 |
+
],
|
589 |
+
'condition'=>[
|
590 |
+
'hide_advance_cart_wishlist_icon' => '',
|
591 |
+
],
|
592 |
+
]
|
593 |
+
);
|
594 |
+
|
595 |
+
$this->add_control(
|
596 |
+
'advance_cart_hover_icon_wishlist_background',
|
597 |
+
[
|
598 |
+
'label' => __( 'Wishlist Background Color', 'woolentor' ),
|
599 |
+
'type' => Controls_Manager::COLOR,
|
600 |
+
'selectors' => [
|
601 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.wishlist:hover' => 'background: {{VALUE}}',
|
602 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.wishlist:hover' => 'background: {{VALUE}}',
|
603 |
+
],
|
604 |
+
'condition'=>[
|
605 |
+
'hide_advance_cart_wishlist_icon' => '',
|
606 |
+
],
|
607 |
+
]
|
608 |
+
);
|
609 |
+
|
610 |
+
$this->add_control(
|
611 |
+
'advance_cart_hover_icon_compare_color',
|
612 |
+
[
|
613 |
+
'label' => __( 'Compare Icon Color', 'woolentor' ),
|
614 |
+
'type' => Controls_Manager::COLOR,
|
615 |
+
'selectors' => [
|
616 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.compare:hover > a' => 'color: {{VALUE}}',
|
617 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.compare:hover > a' => 'color: {{VALUE}}',
|
618 |
+
],
|
619 |
+
'condition'=>[
|
620 |
+
'hide_advance_cart_compare_icon' => '',
|
621 |
+
],
|
622 |
+
]
|
623 |
+
);
|
624 |
+
|
625 |
+
$this->add_control(
|
626 |
+
'advance_cart_hover_icon_compare_background',
|
627 |
+
[
|
628 |
+
'label' => __( 'Compare Background Color', 'woolentor' ),
|
629 |
+
'type' => Controls_Manager::COLOR,
|
630 |
+
'selectors' => [
|
631 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon.compare:hover' => 'background: {{VALUE}}',
|
632 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon.compare:hover' => 'background: {{VALUE}}',
|
633 |
+
],
|
634 |
+
'condition'=>[
|
635 |
+
'hide_advance_cart_compare_icon' => '',
|
636 |
+
],
|
637 |
+
]
|
638 |
+
);
|
639 |
+
|
640 |
+
$this->add_group_control(
|
641 |
+
Group_Control_Border::get_type(),
|
642 |
+
[
|
643 |
+
'name' => 'advance_cart_hover_icon_border',
|
644 |
+
'label' => __( 'Border', 'woolentor' ),
|
645 |
+
'selector' => '{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon:hover,{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon:hover',
|
646 |
+
]
|
647 |
+
);
|
648 |
+
|
649 |
+
$this->add_responsive_control(
|
650 |
+
'advance_cart_hover_icon_border_radius',
|
651 |
+
[
|
652 |
+
'label' => esc_html__( 'Border Radius', 'woolentor' ),
|
653 |
+
'type' => Controls_Manager::DIMENSIONS,
|
654 |
+
'size_units' => [ 'px', '%' ],
|
655 |
+
'selectors' => [
|
656 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-wrap .wl-cart-icon:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
657 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-wrap .wl-cart-icon:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
658 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-2 form.cart .wl-cart-icon:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
659 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-5 form.cart .wl-cart-icon:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
|
660 |
+
],
|
661 |
+
]
|
662 |
+
);
|
663 |
+
|
664 |
+
$this->end_controls_tab();
|
665 |
+
|
666 |
+
$this->end_controls_tabs();
|
667 |
+
|
668 |
+
$this->end_controls_section();
|
669 |
+
|
670 |
+
$this->start_controls_section(
|
671 |
+
'add_to_cart_advance_text_style',
|
672 |
+
[
|
673 |
+
'label' => __( 'Button', 'woolentor' ),
|
674 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
675 |
+
'conditions' => [
|
676 |
+
'relation' => 'or',
|
677 |
+
'terms' => [
|
678 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-3'],
|
679 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
680 |
+
]
|
681 |
+
],
|
682 |
+
]
|
683 |
+
);
|
684 |
+
|
685 |
+
|
686 |
+
$this->add_control(
|
687 |
+
'hide_advance_cart_wishlist_text',
|
688 |
+
[
|
689 |
+
'label' => __( 'Hide Wishlist', 'woolentor' ),
|
690 |
+
'type' => Controls_Manager::SWITCHER,
|
691 |
+
'return_value' => 'yes',
|
692 |
+
'default' => '',
|
693 |
+
]
|
694 |
+
);
|
695 |
+
|
696 |
+
$this->add_control(
|
697 |
+
'hide_advance_cart_compare_text',
|
698 |
+
[
|
699 |
+
'label' => __( 'Hide Compare', 'woolentor' ),
|
700 |
+
'type' => Controls_Manager::SWITCHER,
|
701 |
+
'return_value' => 'yes',
|
702 |
+
'default' => '',
|
703 |
+
]
|
704 |
+
);
|
705 |
+
|
706 |
+
$this->start_controls_tabs(
|
707 |
+
'advance_add_to_cart_icon_text_style_tabs'
|
708 |
+
);
|
709 |
+
// Normal Style Tab
|
710 |
+
$this->start_controls_tab(
|
711 |
+
'advance_cart_icon_text_tab',
|
712 |
+
[
|
713 |
+
'label' => __( 'Normal', 'woolentor' ),
|
714 |
+
]
|
715 |
+
);
|
716 |
+
|
717 |
+
$this->add_control(
|
718 |
+
'advance_quantity_cart_icon_text_color',
|
719 |
+
[
|
720 |
+
'label' => __( 'Color', 'woolentor' ),
|
721 |
+
'type' => Controls_Manager::COLOR,
|
722 |
+
'selectors' => [
|
723 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li a' => 'color: {{VALUE}}',
|
724 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li span' => 'color: {{VALUE}}',
|
725 |
+
]
|
726 |
+
]
|
727 |
+
);
|
728 |
+
|
729 |
+
$this->end_controls_tab();
|
730 |
+
|
731 |
+
// Hover Style Tab
|
732 |
+
$this->start_controls_tab(
|
733 |
+
'advance_quantity_cart_icon_text_hover_tab',
|
734 |
+
[
|
735 |
+
'label' => __( 'Hover', 'woolentor' ),
|
736 |
+
]
|
737 |
+
);
|
738 |
+
|
739 |
+
$this->add_control(
|
740 |
+
'advance_quantity_cart_icon_text_hover_color',
|
741 |
+
[
|
742 |
+
'label' => __( 'Color', 'woolentor' ),
|
743 |
+
'type' => Controls_Manager::COLOR,
|
744 |
+
'selectors' => [
|
745 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li:hover a' => 'color: {{VALUE}}',
|
746 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li:hover span' => 'color: {{VALUE}}',
|
747 |
+
]
|
748 |
+
]
|
749 |
+
);
|
750 |
+
|
751 |
+
$this->end_controls_tab();
|
752 |
+
$this->end_controls_tabs();
|
753 |
+
|
754 |
+
$this->add_control(
|
755 |
+
'product_wishlist_compare_button',
|
756 |
+
[
|
757 |
+
'label' => __( 'Font Size', 'woolentor-pro' ),
|
758 |
+
'type' => Controls_Manager::SLIDER,
|
759 |
+
'size_units' => [ 'px', '%' ],
|
760 |
+
'range' => [
|
761 |
+
'px' => [
|
762 |
+
'min' => 0,
|
763 |
+
'max' => 100,
|
764 |
+
'step' => 1,
|
765 |
+
],
|
766 |
+
'%' => [
|
767 |
+
'min' => 0,
|
768 |
+
'max' => 100,
|
769 |
+
],
|
770 |
+
],
|
771 |
+
'selectors' => [
|
772 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li a' => 'font-size: {{SIZE}}{{UNIT}}',
|
773 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li a svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}}',
|
774 |
+
'{{WRAPPER}} .wl-wishlist-compare-txt li span' => 'font-size: {{SIZE}}{{UNIT}}',
|
775 |
+
],
|
776 |
+
'conditions' => [
|
777 |
+
'relation' => 'or',
|
778 |
+
'terms' => [
|
779 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-3'],
|
780 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
781 |
+
]
|
782 |
+
],
|
783 |
+
]
|
784 |
+
);
|
785 |
+
|
786 |
+
$this->add_control(
|
787 |
+
'product_wishlist_compare_txt_spacing',
|
788 |
+
[
|
789 |
+
'label' => __( 'Space Between', 'woolentor-pro' ),
|
790 |
+
'type' => Controls_Manager::SLIDER,
|
791 |
+
'size_units' => [ 'px', '%' ],
|
792 |
+
'range' => [
|
793 |
+
'px' => [
|
794 |
+
'min' => 0,
|
795 |
+
'max' => 100,
|
796 |
+
'step' => 1,
|
797 |
+
],
|
798 |
+
'%' => [
|
799 |
+
'min' => 0,
|
800 |
+
'max' => 100,
|
801 |
+
],
|
802 |
+
],
|
803 |
+
'selectors' => [
|
804 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 span.wishsuite-btn-text' => 'margin-left: {{SIZE}}{{UNIT}}',
|
805 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 span.wishsuite-btn-text' => 'margin-left: {{SIZE}}{{UNIT}}',
|
806 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-4 .htcompare-btn.woolentor-compare' => 'margin-left: {{SIZE}}{{UNIT}}',
|
807 |
+
'{{WRAPPER}} .wl-addto-cart.wl-style-3 .htcompare-btn.woolentor-compare' => 'margin-left: {{SIZE}}{{UNIT}}',
|
808 |
+
],
|
809 |
+
'conditions' => [
|
810 |
+
'relation' => 'or',
|
811 |
+
'terms' => [
|
812 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-3'],
|
813 |
+
['name' => 'single_product_advance_layout_style', 'operator' => '===', 'value' => 'wl-style-4'],
|
814 |
+
]
|
815 |
+
],
|
816 |
+
]
|
817 |
+
);
|
818 |
+
$this->end_controls_section();
|
819 |
+
|
820 |
+
$this->start_controls_section(
|
821 |
+
'add_to_cart_button_style',
|
822 |
+
[
|
823 |
+
'label' => __( 'Add to Cart', 'woolentor' ),
|
824 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
825 |
]
|
826 |
);
|
827 |
|
832 |
'type' => Controls_Manager::SWITCHER,
|
833 |
'selectors' => [
|
834 |
'{{WRAPPER}} .quantity,{{WRAPPER}} form.cart input[type=number]' => 'display: none !important;',
|
835 |
+
'{{WRAPPER}} .wl-addto-cart form.cart .wl-quantity-wrap' => 'display: none;',
|
836 |
],
|
837 |
]
|
838 |
);
|
974 |
|
975 |
}
|
976 |
|
977 |
+
protected function customise_single_product_add_to_cart($settings, $porduct_type){
|
978 |
+
$plus_icon = !empty( $settings['quantity_plus_icon']['value'] ) ? woolentor_render_icon( $settings, 'quantity_plus_icon', 'buttonicon' ) : '<i class="ion-plus"></i>';
|
979 |
+
$minus_icon = !empty( $settings['qunantity_minus_icon']['value'] ) ? woolentor_render_icon( $settings, 'qunantity_minus_icon', 'buttonicon' ) : '<i class="ion-minus"></i>';
|
980 |
+
|
981 |
+
if( 'grouped' != $porduct_type ){
|
982 |
+
add_action( 'woocommerce_before_add_to_cart_quantity', function() use ($settings, $minus_icon) {
|
983 |
+
echo '<div class="wl-quantity-wrap">';
|
984 |
+
if(!empty($settings['advance_cart_quantity_text'])){
|
985 |
+
echo '<span class="label">'.$settings['advance_cart_quantity_text'].'</span>';
|
986 |
+
}
|
987 |
+
echo '<div class="wl-quantity-cal">';
|
988 |
+
echo '<span class="wl-quantity wl-qunatity-minus" >'.$minus_icon.'</span>';
|
989 |
+
});
|
990 |
+
|
991 |
+
add_action( 'woocommerce_after_add_to_cart_quantity', function() use ($settings, $plus_icon) {
|
992 |
+
echo '<span class="wl-quantity wl-qunatity-plus" >'.$plus_icon.'</span>';
|
993 |
+
echo '</div>';
|
994 |
+
echo '</div>';
|
995 |
+
echo '<div class="wl-cart-wrap '.$settings['product_wishlist_compare_btn_position'].'">';
|
996 |
+
if( 'wl-style-5' !== $settings['single_product_advance_layout_style']){
|
997 |
+
if( true === woolentor_has_wishlist_plugin() && 'yes' !== $settings['hide_advance_cart_wishlist_icon'] ){
|
998 |
+
echo '<span class="wl-cart-icon wishlist">'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'no').'</span>';
|
999 |
+
}
|
1000 |
+
}
|
1001 |
+
} );
|
1002 |
+
}else{
|
1003 |
+
add_action( 'woocommerce_before_add_to_cart_quantity', function() use ($settings, $minus_icon) {
|
1004 |
+
echo '<div class="wl-quantity-grouped-cal">';
|
1005 |
+
echo '<span class="wl-quantity wl-qunatity-minus" >'.$minus_icon.'</span>';
|
1006 |
+
});
|
1007 |
+
|
1008 |
+
add_action( 'woocommerce_after_add_to_cart_quantity', function() use ($settings, $plus_icon) {
|
1009 |
+
echo '<span class="wl-quantity wl-qunatity-plus" >'.$plus_icon.'</span>';
|
1010 |
+
echo '</div>';
|
1011 |
+
} );
|
1012 |
+
add_action( 'woocommerce_before_add_to_cart_button', function() use ($settings) {
|
1013 |
+
echo '<div class="wl-cart-wrap '.$settings['product_wishlist_compare_btn_position'].'">';
|
1014 |
+
if( 'wl-style-5' !== $settings['single_product_advance_layout_style']){
|
1015 |
+
if( true === woolentor_has_wishlist_plugin() && 'yes' !== $settings['hide_advance_cart_wishlist_icon'] ){
|
1016 |
+
echo '<span class="wl-cart-icon wishlist">'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'no').'</span>';
|
1017 |
+
}
|
1018 |
+
}
|
1019 |
+
});
|
1020 |
+
}
|
1021 |
+
|
1022 |
+
add_action( 'woocommerce_after_add_to_cart_button', function() use ($settings, $porduct_type) {
|
1023 |
+
if( 'simple' == $porduct_type || 'grouped' == $porduct_type || 'variable' == $porduct_type){
|
1024 |
+
if( 'wl-style-5' === $settings['single_product_advance_layout_style']){
|
1025 |
+
if( true === woolentor_has_wishlist_plugin() && 'yes' !== $settings['hide_advance_cart_wishlist_icon'] ){
|
1026 |
+
echo '<span class="wl-cart-icon wishlist">'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'no').'</span>';
|
1027 |
+
}
|
1028 |
+
}
|
1029 |
+
if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() && 'yes' !== $settings['hide_advance_cart_compare_icon'] ){
|
1030 |
+
echo '<span class="wl-cart-icon compare">';
|
1031 |
+
woolentor_compare_button(
|
1032 |
+
array(
|
1033 |
+
'style'=> 2,
|
1034 |
+
'btn_text'=> '<i class="sli sli-refresh"></i>',
|
1035 |
+
'btn_added_txt'=> '<i class="sli sli-check"></i>'
|
1036 |
+
)
|
1037 |
+
);
|
1038 |
+
echo '</span>';
|
1039 |
+
}
|
1040 |
+
echo "</div>";
|
1041 |
+
}elseif ('external' == $porduct_type) {
|
1042 |
+
if( true === woolentor_has_wishlist_plugin() && 'yes' !== $settings['hide_advance_cart_wishlist_icon'] ){
|
1043 |
+
echo '<span class="wl-cart-icon wishlist">'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'no').'</span>';
|
1044 |
+
}
|
1045 |
+
if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() && 'yes' !== $settings['hide_advance_cart_compare_icon'] ){
|
1046 |
+
echo '<span class="wl-cart-icon compare">';
|
1047 |
+
woolentor_compare_button(
|
1048 |
+
array(
|
1049 |
+
'style'=> 2,
|
1050 |
+
'btn_text'=> '<i class="sli sli-refresh"></i>',
|
1051 |
+
'btn_added_txt'=> '<i class="sli sli-check"></i>'
|
1052 |
+
)
|
1053 |
+
);
|
1054 |
+
echo '</span>';
|
1055 |
+
}
|
1056 |
+
}
|
1057 |
+
?>
|
1058 |
+
<ul class="wl-wishlist-compare-txt">
|
1059 |
+
<?php if( true === woolentor_has_wishlist_plugin() ): ?>
|
1060 |
+
<li>
|
1061 |
+
<?php if( '' == $settings['hide_advance_cart_wishlist_text']): ?>
|
1062 |
+
<?php echo woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes'); ?>
|
1063 |
+
<?php endif; ?>
|
1064 |
+
</li>
|
1065 |
+
<?php endif; ?>
|
1066 |
+
<?php if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() ): ?>
|
1067 |
+
<li>
|
1068 |
+
<?php if( '' == $settings['hide_advance_cart_compare_text']): ?>
|
1069 |
+
<span><i class="sli sli-refresh"></i></span>
|
1070 |
+
<?php echo woolentor_compare_button(
|
1071 |
+
array(
|
1072 |
+
'style'=> 2,
|
1073 |
+
'btn_text'=> 'Compare',
|
1074 |
+
'btn_added_txt'=> 'Already Compared'
|
1075 |
+
)
|
1076 |
+
);
|
1077 |
+
?>
|
1078 |
+
<?php endif; ?>
|
1079 |
+
</li>
|
1080 |
+
<?php endif; ?>
|
1081 |
+
</ul>
|
1082 |
+
<?php
|
1083 |
+
} );
|
1084 |
+
}
|
1085 |
+
|
1086 |
protected function render() {
|
1087 |
+
$settings = $this->get_settings();
|
1088 |
+
if( Plugin::instance()->editor->is_edit_mode() ){
|
1089 |
+
$product = wc_get_product( woolentor_get_last_product_id() );
|
1090 |
+
}else{
|
1091 |
+
global $product;
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
$product_layout_class = $settings['single_product_advance_layout_style'];
|
1095 |
+
$poduct_type = $product ? $product->get_type() : '';
|
1096 |
+
|
1097 |
+
if( 'wl-style-1' != $product_layout_class ){
|
1098 |
+
$this->customise_single_product_add_to_cart($settings, $poduct_type);
|
1099 |
+
}
|
1100 |
+
|
1101 |
if ( Plugin::instance()->editor->is_edit_mode() ) {
|
1102 |
+
if('external' == $poduct_type){
|
1103 |
+
echo '<div class="wl-addto-cart '.esc_attr( $poduct_type ).' '.esc_attr( $settings['product_wishlist_compare_btn_position']).' '.esc_attr( $product_layout_class ).'">';
|
1104 |
+
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
1105 |
+
echo '</div>';
|
1106 |
+
}else{
|
1107 |
+
echo '<div class="wl-addto-cart '.esc_attr( $poduct_type ).' '.esc_attr( $product_layout_class ).'">';
|
1108 |
+
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
1109 |
+
echo '</div>';
|
1110 |
+
}
|
1111 |
}else{
|
1112 |
if ( empty( $product ) ) { return; }
|
1113 |
+
if('wl-style-1' == $product_layout_class):
|
1114 |
?>
|
1115 |
+
<div class="<?php echo esc_attr( $product->get_type() ).' '.esc_attr( $product_layout_class ); ?>">
|
1116 |
<?php woocommerce_template_single_add_to_cart(); ?>
|
1117 |
</div>
|
1118 |
<?php
|
1119 |
+
elseif('external' == $poduct_type):
|
1120 |
+
?>
|
1121 |
+
<div class="wl-addto-cart <?php echo esc_attr( $product->get_type() ).' '.esc_attr($settings['product_wishlist_compare_btn_position']).' '.esc_attr( $product_layout_class ); ?>">
|
1122 |
+
<?php woocommerce_template_single_add_to_cart(); ?>
|
1123 |
+
</div>
|
1124 |
+
<?php
|
1125 |
+
else:
|
1126 |
+
?>
|
1127 |
+
<div class="wl-addto-cart <?php echo esc_attr( $product->get_type() ).' '.esc_attr( $product_layout_class ); ?>">
|
1128 |
+
<?php woocommerce_template_single_add_to_cart(); ?>
|
1129 |
+
</div>
|
1130 |
+
<?php
|
1131 |
+
endif;
|
1132 |
}
|
1133 |
|
1134 |
+
?>
|
1135 |
+
<script type="text/javascript">
|
1136 |
+
;jQuery(document).ready(function($){
|
1137 |
+
$('form.cart').on( 'click', 'span.wl-qunatity-plus, span.wl-qunatity-minus', function() {
|
1138 |
+
|
1139 |
+
// Get current quantity values
|
1140 |
+
<?php if('grouped' != $poduct_type): ?>
|
1141 |
+
var qty = $( this ).closest( 'form.cart' ).find( '.qty' );
|
1142 |
+
var val = parseFloat(qty.val());
|
1143 |
+
var min_val = 1;
|
1144 |
+
<?php else: ?>
|
1145 |
+
var qty = $( this ).closest( '.wl-quantity-grouped-cal' ).find( '.qty' );
|
1146 |
+
var val = !qty.val() ? 0 : parseFloat(qty.val());
|
1147 |
+
var min_val = 0;
|
1148 |
+
<?php endif; ?>
|
1149 |
+
var max = parseFloat(qty.attr( 'max' ));
|
1150 |
+
var min = parseFloat(qty.attr( 'min' ));
|
1151 |
+
var step = parseFloat(qty.attr( 'step' ));
|
1152 |
+
|
1153 |
+
// Change the value if plus or minus
|
1154 |
+
if ( $( this ).is( '.wl-qunatity-plus' ) ) {
|
1155 |
+
if ( max && ( max <= val ) ) {
|
1156 |
+
qty.val( max );
|
1157 |
+
}
|
1158 |
+
else{
|
1159 |
+
qty.val( val + step );
|
1160 |
+
}
|
1161 |
+
}
|
1162 |
+
else {
|
1163 |
+
if ( min && ( min >= val ) ) {
|
1164 |
+
qty.val( min );
|
1165 |
+
}
|
1166 |
+
else if ( val > min_val ) {
|
1167 |
+
qty.val( val - step );
|
1168 |
+
}
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
});
|
1172 |
+
});
|
1173 |
+
</script>
|
1174 |
+
<?php
|
1175 |
+
|
1176 |
}
|
1177 |
|
1178 |
}
|
includes/addons/wb_product_additional_information.php
CHANGED
@@ -147,7 +147,7 @@ class Woolentor_Wb_Product_Additional_Information_Widget extends Widget_Base {
|
|
147 |
protected function render( $instance = [] ) {
|
148 |
|
149 |
$settings = $this->get_settings_for_display();
|
150 |
-
if
|
151 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
152 |
} else{
|
153 |
global $product;
|
147 |
protected function render( $instance = [] ) {
|
148 |
|
149 |
$settings = $this->get_settings_for_display();
|
150 |
+
if( woolentor_is_preview_mode() ){
|
151 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
152 |
} else{
|
153 |
global $product;
|
includes/addons/wb_product_categories.php
CHANGED
@@ -126,6 +126,25 @@ class Woolentor_Wb_Product_Categories_Widget extends Widget_Base {
|
|
126 |
]
|
127 |
);
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
$this->add_responsive_control(
|
130 |
'categories_margin',
|
131 |
[
|
@@ -149,7 +168,7 @@ class Woolentor_Wb_Product_Categories_Widget extends Widget_Base {
|
|
149 |
global $product;
|
150 |
$product = wc_get_product();
|
151 |
|
152 |
-
if(
|
153 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
154 |
} else{
|
155 |
if ( empty( $product ) ) { return; }
|
126 |
]
|
127 |
);
|
128 |
|
129 |
+
$this->add_control(
|
130 |
+
'category_spacing',
|
131 |
+
[
|
132 |
+
'label' => esc_html__( 'Spacing', 'woolentor' ),
|
133 |
+
'type' => \Elementor\Controls_Manager::SLIDER,
|
134 |
+
'size_units' => [ 'px' ],
|
135 |
+
'range' => [
|
136 |
+
'px' => [
|
137 |
+
'min' => 0,
|
138 |
+
'max' => 100,
|
139 |
+
'step' => 5,
|
140 |
+
],
|
141 |
+
],
|
142 |
+
'selectors' => [
|
143 |
+
'.woocommerce {{WRAPPER}} .woolentor_product_categories_info .posted_in a' => 'margin-left: {{SIZE}}{{UNIT}};',
|
144 |
+
],
|
145 |
+
]
|
146 |
+
);
|
147 |
+
|
148 |
$this->add_responsive_control(
|
149 |
'categories_margin',
|
150 |
[
|
168 |
global $product;
|
169 |
$product = wc_get_product();
|
170 |
|
171 |
+
if( woolentor_is_preview_mode() ){
|
172 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
173 |
} else{
|
174 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_data_tab.php
CHANGED
@@ -275,7 +275,7 @@ class Woolentor_Wb_Product_Data_Tab_Widget extends Widget_Base {
|
|
275 |
|
276 |
$settings = $this->get_settings_for_display();
|
277 |
|
278 |
-
if
|
279 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
280 |
}else{
|
281 |
global $product;
|
275 |
|
276 |
$settings = $this->get_settings_for_display();
|
277 |
|
278 |
+
if( woolentor_is_preview_mode() ){
|
279 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
280 |
}else{
|
281 |
global $product;
|
includes/addons/wb_product_description.php
CHANGED
@@ -102,16 +102,13 @@ class Woolentor_Wb_Product_Description_Widget extends Widget_Base {
|
|
102 |
protected function render( $instance = [] ) {
|
103 |
global $product, $post;
|
104 |
$product = wc_get_product();
|
105 |
-
if
|
106 |
echo '<div class="woocommerce_product_description">'.\WooLentor_Default_Data::instance()->default( $this->get_name() ).'</div>';
|
107 |
}else{
|
108 |
if ( empty( $product ) ) { return; }
|
109 |
echo '<div class="woocommerce_product_description">';
|
110 |
the_content();
|
111 |
echo '</div>';
|
112 |
-
//echo '<div class="woocommerce_product_description">'.$post->post_content.'</div>';
|
113 |
-
//echo '<div class="woocommerce_product_description">'.$product->get_description().'</div>';
|
114 |
-
|
115 |
}
|
116 |
}
|
117 |
|
102 |
protected function render( $instance = [] ) {
|
103 |
global $product, $post;
|
104 |
$product = wc_get_product();
|
105 |
+
if( woolentor_is_preview_mode() ){
|
106 |
echo '<div class="woocommerce_product_description">'.\WooLentor_Default_Data::instance()->default( $this->get_name() ).'</div>';
|
107 |
}else{
|
108 |
if ( empty( $product ) ) { return; }
|
109 |
echo '<div class="woocommerce_product_description">';
|
110 |
the_content();
|
111 |
echo '</div>';
|
|
|
|
|
|
|
112 |
}
|
113 |
}
|
114 |
|
includes/addons/wb_product_image.php
CHANGED
@@ -136,7 +136,7 @@ class Woolentor_Wb_Product_Image_Widget extends Widget_Base {
|
|
136 |
global $product;
|
137 |
$product = wc_get_product();
|
138 |
|
139 |
-
if(
|
140 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
141 |
} else{
|
142 |
if ( empty( $product ) ) { return; }
|
136 |
global $product;
|
137 |
$product = wc_get_product();
|
138 |
|
139 |
+
if( woolentor_is_preview_mode() ){
|
140 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
141 |
} else{
|
142 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_meta.php
CHANGED
@@ -109,7 +109,7 @@ class Woolentor_Wb_Product_Meta_Widget extends Widget_Base {
|
|
109 |
global $product;
|
110 |
$product = wc_get_product();
|
111 |
|
112 |
-
if(
|
113 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
114 |
} else{
|
115 |
if ( empty( $product ) ) { return; }
|
109 |
global $product;
|
110 |
$product = wc_get_product();
|
111 |
|
112 |
+
if( woolentor_is_preview_mode() ){
|
113 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
114 |
} else{
|
115 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_price.php
CHANGED
@@ -118,7 +118,7 @@ class Woolentor_Wb_Product_Price_Widget extends Widget_Base {
|
|
118 |
global $product;
|
119 |
$product = wc_get_product();
|
120 |
|
121 |
-
if(
|
122 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
123 |
}else{
|
124 |
if ( empty( $product ) ) { return; }
|
118 |
global $product;
|
119 |
$product = wc_get_product();
|
120 |
|
121 |
+
if( woolentor_is_preview_mode() ){
|
122 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
123 |
}else{
|
124 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_qr_code.php
CHANGED
@@ -115,7 +115,7 @@ class Woolentor_Wb_Product_Qr_Code_Widget extends Widget_Base {
|
|
115 |
$settings = $this->get_settings_for_display();
|
116 |
$this->add_render_attribute( 'area_attr', 'class', 'woolentor-qrcode' );
|
117 |
|
118 |
-
if(
|
119 |
$product_id = woolentor_get_last_product_id();
|
120 |
} else{
|
121 |
$product_id = get_the_ID();
|
115 |
$settings = $this->get_settings_for_display();
|
116 |
$this->add_render_attribute( 'area_attr', 'class', 'woolentor-qrcode' );
|
117 |
|
118 |
+
if( woolentor_is_preview_mode() ){
|
119 |
$product_id = woolentor_get_last_product_id();
|
120 |
} else{
|
121 |
$product_id = get_the_ID();
|
includes/addons/wb_product_rating.php
CHANGED
@@ -101,7 +101,7 @@ class Woolentor_Wb_Product_Rating_Widget extends Widget_Base {
|
|
101 |
global $product;
|
102 |
$product = wc_get_product();
|
103 |
|
104 |
-
if(
|
105 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
106 |
} else{
|
107 |
if ( empty( $product ) ) { return; }
|
101 |
global $product;
|
102 |
$product = wc_get_product();
|
103 |
|
104 |
+
if( woolentor_is_preview_mode() ){
|
105 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
106 |
} else{
|
107 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_related.php
CHANGED
@@ -197,7 +197,7 @@ class Woolentor_Wb_Product_Related_Widget extends Widget_Base {
|
|
197 |
global $product;
|
198 |
$product = wc_get_product();
|
199 |
|
200 |
-
if(
|
201 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name(), $settings );
|
202 |
} else{
|
203 |
if ( ! $product ) { return; }
|
197 |
global $product;
|
198 |
$product = wc_get_product();
|
199 |
|
200 |
+
if( woolentor_is_preview_mode() ){
|
201 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name(), $settings );
|
202 |
} else{
|
203 |
if ( ! $product ) { return; }
|
includes/addons/wb_product_reviews.php
CHANGED
@@ -65,7 +65,7 @@ class Woolentor_Wb_Product_Reviews_Widget extends Widget_Base {
|
|
65 |
global $product;
|
66 |
$product = wc_get_product();
|
67 |
|
68 |
-
if(
|
69 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
70 |
} else{
|
71 |
if ( empty( $product ) ) { return; }
|
65 |
global $product;
|
66 |
$product = wc_get_product();
|
67 |
|
68 |
+
if( woolentor_is_preview_mode() ){
|
69 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
70 |
} else{
|
71 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_short_description.php
CHANGED
@@ -105,7 +105,7 @@ class Woolentor_Wb_Product_Short_Description_Widget extends Widget_Base {
|
|
105 |
protected function render( $instance = [] ) {
|
106 |
global $product;
|
107 |
$product = wc_get_product();
|
108 |
-
if
|
109 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
110 |
}else{
|
111 |
if ( empty( $product ) ) {
|
105 |
protected function render( $instance = [] ) {
|
106 |
global $product;
|
107 |
$product = wc_get_product();
|
108 |
+
if( woolentor_is_preview_mode() ){
|
109 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
110 |
}else{
|
111 |
if ( empty( $product ) ) {
|
includes/addons/wb_product_sku.php
CHANGED
@@ -114,6 +114,25 @@ class Woolentor_Wb_Product_Sku_Widget extends Widget_Base {
|
|
114 |
]
|
115 |
);
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
$this->add_responsive_control(
|
118 |
'sku_margin',
|
119 |
[
|
@@ -137,7 +156,7 @@ class Woolentor_Wb_Product_Sku_Widget extends Widget_Base {
|
|
137 |
global $product;
|
138 |
$product = wc_get_product();
|
139 |
|
140 |
-
if(
|
141 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
142 |
} else{
|
143 |
if ( empty( $product ) ) { return; }
|
114 |
]
|
115 |
);
|
116 |
|
117 |
+
$this->add_control(
|
118 |
+
'sku_spacing',
|
119 |
+
[
|
120 |
+
'label' => esc_html__( 'Spacing', 'woolentor' ),
|
121 |
+
'type' => \Elementor\Controls_Manager::SLIDER,
|
122 |
+
'size_units' => [ 'px' ],
|
123 |
+
'range' => [
|
124 |
+
'px' => [
|
125 |
+
'min' => 0,
|
126 |
+
'max' => 100,
|
127 |
+
'step' => 5,
|
128 |
+
],
|
129 |
+
],
|
130 |
+
'selectors' => [
|
131 |
+
'.woocommerce {{WRAPPER}} .woolentor_product_sku_info .sku' => 'margin-left: {{SIZE}}{{UNIT}};',
|
132 |
+
],
|
133 |
+
]
|
134 |
+
);
|
135 |
+
|
136 |
$this->add_responsive_control(
|
137 |
'sku_margin',
|
138 |
[
|
156 |
global $product;
|
157 |
$product = wc_get_product();
|
158 |
|
159 |
+
if( woolentor_is_preview_mode() ){
|
160 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
161 |
} else{
|
162 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_stock.php
CHANGED
@@ -88,7 +88,7 @@ class Woolentor_Wb_Product_Stock_Widget extends Widget_Base {
|
|
88 |
global $product;
|
89 |
$product = wc_get_product();
|
90 |
|
91 |
-
if(
|
92 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
93 |
} else{
|
94 |
if ( empty( $product ) ) { return; }
|
88 |
global $product;
|
89 |
$product = wc_get_product();
|
90 |
|
91 |
+
if( woolentor_is_preview_mode() ){
|
92 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
93 |
} else{
|
94 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_tags.php
CHANGED
@@ -126,6 +126,25 @@ class Woolentor_Wb_Product_Tags_Widget extends Widget_Base {
|
|
126 |
]
|
127 |
);
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
$this->add_responsive_control(
|
130 |
'tags_margin',
|
131 |
[
|
@@ -149,7 +168,7 @@ class Woolentor_Wb_Product_Tags_Widget extends Widget_Base {
|
|
149 |
global $product;
|
150 |
$product = wc_get_product();
|
151 |
|
152 |
-
if(
|
153 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
154 |
} else{
|
155 |
if ( empty( $product ) ) { return; }
|
126 |
]
|
127 |
);
|
128 |
|
129 |
+
$this->add_control(
|
130 |
+
'tag_spacing',
|
131 |
+
[
|
132 |
+
'label' => esc_html__( 'Spacing', 'woolentor' ),
|
133 |
+
'type' => \Elementor\Controls_Manager::SLIDER,
|
134 |
+
'size_units' => [ 'px' ],
|
135 |
+
'range' => [
|
136 |
+
'px' => [
|
137 |
+
'min' => 0,
|
138 |
+
'max' => 100,
|
139 |
+
'step' => 5,
|
140 |
+
],
|
141 |
+
],
|
142 |
+
'selectors' => [
|
143 |
+
'.woocommerce {{WRAPPER}} .woolentor_product_tags_info .tagged_as a:first-child' => 'margin-left: {{SIZE}}{{UNIT}};',
|
144 |
+
],
|
145 |
+
]
|
146 |
+
);
|
147 |
+
|
148 |
$this->add_responsive_control(
|
149 |
'tags_margin',
|
150 |
[
|
168 |
global $product;
|
169 |
$product = wc_get_product();
|
170 |
|
171 |
+
if( woolentor_is_preview_mode() ){
|
172 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name() );
|
173 |
} else{
|
174 |
if ( empty( $product ) ) { return; }
|
includes/addons/wb_product_title.php
CHANGED
@@ -130,7 +130,7 @@ class Woolentor_Wb_Product_Title_Widget extends Widget_Base {
|
|
130 |
|
131 |
$title_html_tag = woolentor_validate_html_tag( $settings['product_title_html_tag'] );
|
132 |
|
133 |
-
if(
|
134 |
$title = get_the_title( woolentor_get_last_product_id() );
|
135 |
echo sprintf( "<%s class='product_title entry-title'>%s</%s>", $title_html_tag, $title, $title_html_tag );
|
136 |
}else{
|
130 |
|
131 |
$title_html_tag = woolentor_validate_html_tag( $settings['product_title_html_tag'] );
|
132 |
|
133 |
+
if( woolentor_is_preview_mode() ){
|
134 |
$title = get_the_title( woolentor_get_last_product_id() );
|
135 |
echo sprintf( "<%s class='product_title entry-title'>%s</%s>", $title_html_tag, $title, $title_html_tag );
|
136 |
}else{
|
includes/addons/wb_product_upsell.php
CHANGED
@@ -174,7 +174,7 @@ class Woolentor_Wb_Product_Upsell_Widget extends Widget_Base {
|
|
174 |
$order = $settings['order'];
|
175 |
}
|
176 |
|
177 |
-
if(
|
178 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name(), $settings );
|
179 |
}else{
|
180 |
woocommerce_upsell_display( $product_per_page, $columns, $orderby, $order );
|
174 |
$order = $settings['order'];
|
175 |
}
|
176 |
|
177 |
+
if( woolentor_is_preview_mode() ){
|
178 |
echo \WooLentor_Default_Data::instance()->default( $this->get_name(), $settings );
|
179 |
}else{
|
180 |
woocommerce_upsell_display( $product_per_page, $columns, $orderby, $order );
|
includes/addons/wl_archive_title.php
CHANGED
@@ -220,7 +220,7 @@ class Woolentor_Wl_Archive_Title_Widget extends Widget_Base {
|
|
220 |
$data = woolentor_get_archive_data();
|
221 |
$title_tag = woolentor_validate_html_tag( $settings['title_html_tag'] );
|
222 |
|
223 |
-
if(
|
224 |
$data['title'] = esc_html__('Archive Title','woolentor');
|
225 |
$data['image_url'] = '';
|
226 |
$data['desc'] = esc_html__('Archive Description','woolentor');
|
220 |
$data = woolentor_get_archive_data();
|
221 |
$title_tag = woolentor_validate_html_tag( $settings['title_html_tag'] );
|
222 |
|
223 |
+
if( woolentor_is_preview_mode() ){
|
224 |
$data['title'] = esc_html__('Archive Title','woolentor');
|
225 |
$data['image_url'] = '';
|
226 |
$data['desc'] = esc_html__('Archive Description','woolentor');
|
includes/addons/wl_product_video_gallery.php
CHANGED
@@ -209,7 +209,7 @@ class Woolentor_Wl_Product_Video_Gallery_Widget extends Widget_Base {
|
|
209 |
$this->add_render_attribute( 'wl_product_thumbnails_attr', 'class', 'wlpro-product-videothumbnails thumbnails-tab-position-'.$settings['tab_thumbnails_position'] );
|
210 |
|
211 |
global $post;
|
212 |
-
if(
|
213 |
$product = wc_get_product( woolentor_get_last_product_id() );
|
214 |
} else{
|
215 |
global $product;
|
@@ -255,7 +255,7 @@ class Woolentor_Wl_Product_Video_Gallery_Widget extends Widget_Base {
|
|
255 |
|
256 |
<div class="woolentor-product-gallery-video">
|
257 |
<?php
|
258 |
-
if(
|
259 |
if ( $product->is_on_sale() ) {
|
260 |
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . esc_html__( 'Sale!', 'woolentor-pro' ) . '</span>', $post, $product );
|
261 |
}
|
209 |
$this->add_render_attribute( 'wl_product_thumbnails_attr', 'class', 'wlpro-product-videothumbnails thumbnails-tab-position-'.$settings['tab_thumbnails_position'] );
|
210 |
|
211 |
global $post;
|
212 |
+
if( woolentor_is_preview_mode() ){
|
213 |
$product = wc_get_product( woolentor_get_last_product_id() );
|
214 |
} else{
|
215 |
global $product;
|
255 |
|
256 |
<div class="woolentor-product-gallery-video">
|
257 |
<?php
|
258 |
+
if( woolentor_is_preview_mode() ){
|
259 |
if ( $product->is_on_sale() ) {
|
260 |
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . esc_html__( 'Sale!', 'woolentor-pro' ) . '</span>', $post, $product );
|
261 |
}
|
includes/admin/admin-init.php
CHANGED
@@ -149,14 +149,9 @@ class Woolentor_Admin_Init{
|
|
149 |
TRUE
|
150 |
);
|
151 |
|
152 |
-
wp_enqueue_script(
|
153 |
-
'woolentor-jquery-interdependencies',
|
154 |
-
WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/lib/js/jquery-interdependencies.min.js',
|
155 |
-
array( 'jquery' ),
|
156 |
-
WOOLENTOR_VERSION,
|
157 |
-
TRUE
|
158 |
-
);
|
159 |
|
|
|
|
|
160 |
wp_enqueue_script('woolentor-sweetalert');
|
161 |
wp_enqueue_script('woolentor-admin-main');
|
162 |
|
@@ -167,7 +162,6 @@ class Woolentor_Admin_Init{
|
|
167 |
'iconset' => Woolentor_Icon_List::icon_sets(),
|
168 |
]
|
169 |
);
|
170 |
-
|
171 |
}
|
172 |
}
|
173 |
|
@@ -194,6 +188,7 @@ class Woolentor_Admin_Init{
|
|
194 |
<?php self::load_template('navs'); ?>
|
195 |
<div class="woolentor-admin-main-body">
|
196 |
<?php self::load_template('welcome'); ?>
|
|
|
197 |
<?php self::load_template('settings'); ?>
|
198 |
<?php self::load_template('element'); ?>
|
199 |
<?php self::load_template('style'); ?>
|
149 |
TRUE
|
150 |
);
|
151 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
+
wp_enqueue_script('woolentor-jquery-interdependencies');
|
154 |
+
wp_enqueue_script('woolentor-condition');
|
155 |
wp_enqueue_script('woolentor-sweetalert');
|
156 |
wp_enqueue_script('woolentor-admin-main');
|
157 |
|
162 |
'iconset' => Woolentor_Icon_List::icon_sets(),
|
163 |
]
|
164 |
);
|
|
|
165 |
}
|
166 |
}
|
167 |
|
188 |
<?php self::load_template('navs'); ?>
|
189 |
<div class="woolentor-admin-main-body">
|
190 |
<?php self::load_template('welcome'); ?>
|
191 |
+
<?php self::load_template('gutenberg'); ?>
|
192 |
<?php self::load_template('settings'); ?>
|
193 |
<?php self::load_template('element'); ?>
|
194 |
<?php self::load_template('style'); ?>
|
includes/admin/assets/css/template_edit_manager.css
CHANGED
@@ -394,54 +394,46 @@ body.post-type-woolentor-template.open-editor{
|
|
394 |
.woolenor-help-tip {
|
395 |
color: #666;
|
396 |
display: inline-block;
|
397 |
-
height: 16px;
|
398 |
-
line-height: 16px;
|
399 |
position: relative;
|
400 |
-
width: 16px;
|
401 |
-
font-size: 20px;
|
402 |
-
top: 1px;
|
403 |
}
|
404 |
-
.woolenor-help-
|
405 |
-
font-family: Dashicons;
|
406 |
-
font-weight: 400;
|
407 |
-
text-transform: none;
|
408 |
-
line-height: 1;
|
409 |
-
-webkit-font-smoothing: antialiased;
|
410 |
-
text-indent: 0px;
|
411 |
position: absolute;
|
412 |
-
|
413 |
-
|
414 |
-
width:
|
415 |
-
|
416 |
-
text-align: center;
|
417 |
-
content: "";
|
418 |
-
cursor: help;
|
419 |
-
font-variant: normal;
|
420 |
-
margin: 0px;
|
421 |
-
}
|
422 |
-
span.woolenor-help-text {
|
423 |
opacity: 0;
|
424 |
-
visibility: hidden;
|
425 |
-
position: absolute;
|
426 |
-
top: -53px;
|
427 |
-
line-height: 14px;
|
428 |
-
background: #333;
|
429 |
-
color: #fff;
|
430 |
padding: 5px 5px;
|
431 |
-
|
|
|
|
|
432 |
font-weight: 400;
|
433 |
text-align: center;
|
|
|
|
|
434 |
border-radius: 3px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
435 |
left: 50%;
|
436 |
-
transition: 0.4s;
|
437 |
-
width: 200px;
|
438 |
-
margin-left: -100px;
|
439 |
}
|
440 |
.woolenor-help-tip:hover span.woolenor-help-text{
|
441 |
opacity: 1;
|
442 |
visibility: visible;
|
443 |
}
|
444 |
-
|
445 |
.woolentor-template-edit-body {
|
446 |
padding: 15px 50px;
|
447 |
}
|
@@ -831,6 +823,10 @@ label.woolentor-template-edit-demo-plan.woolentor-tmp-pro.slick-slide .woolentor
|
|
831 |
background-color: #19934e !important;
|
832 |
}
|
833 |
|
|
|
|
|
|
|
|
|
834 |
/* Loader */
|
835 |
.woolentor-template-loading{
|
836 |
position: relative;
|
@@ -858,6 +854,7 @@ label.woolentor-template-edit-demo-plan.woolentor-tmp-pro.slick-slide .woolentor
|
|
858 |
left: 50%;
|
859 |
margin-top: -25px;
|
860 |
margin-left: -25px;
|
|
|
861 |
}
|
862 |
@keyframes woolentorloaderspin {
|
863 |
0% { transform: rotate(0deg); }
|
394 |
.woolenor-help-tip {
|
395 |
color: #666;
|
396 |
display: inline-block;
|
|
|
|
|
397 |
position: relative;
|
|
|
|
|
|
|
398 |
}
|
399 |
+
.woolenor-help-text {
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
position: absolute;
|
401 |
+
max-width: 200px;
|
402 |
+
width: -webkit-max-content;
|
403 |
+
width: -moz-max-content;
|
404 |
+
width: max-content;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
405 |
opacity: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
padding: 5px 5px;
|
407 |
+
background-color: #333;
|
408 |
+
font-size: 12px;
|
409 |
+
line-height: 14px;
|
410 |
font-weight: 400;
|
411 |
text-align: center;
|
412 |
+
z-index: 1;
|
413 |
+
transition: all 0.15s ease-in-out;
|
414 |
border-radius: 3px;
|
415 |
+
color: #fff;
|
416 |
+
pointer-events: none;
|
417 |
+
bottom: calc(100% + 10px);
|
418 |
+
left: 50%;
|
419 |
+
transform: translate(-50%, 5px);
|
420 |
+
}
|
421 |
+
.woolenor-help-text::before {
|
422 |
+
content: "";
|
423 |
+
position: absolute;
|
424 |
+
width: 0;
|
425 |
+
height: 0;
|
426 |
+
border: 0.375rem solid transparent;
|
427 |
+
border-top-color: #333;
|
428 |
+
top: 100%;
|
429 |
+
transform: translate(-50%, 0);
|
430 |
left: 50%;
|
|
|
|
|
|
|
431 |
}
|
432 |
.woolenor-help-tip:hover span.woolenor-help-text{
|
433 |
opacity: 1;
|
434 |
visibility: visible;
|
435 |
}
|
436 |
+
|
437 |
.woolentor-template-edit-body {
|
438 |
padding: 15px 50px;
|
439 |
}
|
823 |
background-color: #19934e !important;
|
824 |
}
|
825 |
|
826 |
+
.woolentor-template-button-item[class*="woolentor-editor-"]:not(.button-show){
|
827 |
+
display: none !important;
|
828 |
+
}
|
829 |
+
|
830 |
/* Loader */
|
831 |
.woolentor-template-loading{
|
832 |
position: relative;
|
854 |
left: 50%;
|
855 |
margin-top: -25px;
|
856 |
margin-left: -25px;
|
857 |
+
z-index: 9;
|
858 |
}
|
859 |
@keyframes woolentorloaderspin {
|
860 |
0% { transform: rotate(0deg); }
|
includes/admin/assets/css/woolentor-admin.css
CHANGED
@@ -127,6 +127,89 @@
|
|
127 |
transform: translateX(-50%) rotate(45deg);
|
128 |
background-color: #333333;
|
129 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
|
131 |
/* Button */
|
132 |
.woolentor-admin-btn {
|
@@ -253,7 +336,7 @@
|
|
253 |
.woolentor-admin-number {
|
254 |
position: relative;
|
255 |
display: flex;
|
256 |
-
width:
|
257 |
}
|
258 |
.woolentor-admin-number input[type=number] {
|
259 |
display: flex;
|
@@ -705,6 +788,10 @@
|
|
705 |
transition: all 0.15s ease 0s;
|
706 |
opacity: 0.75;
|
707 |
}
|
|
|
|
|
|
|
|
|
708 |
.woolentor-admin-main-nav-btn.wlactive, .woolentor-admin-main-nav-btn:hover {
|
709 |
color: #FFFFFF;
|
710 |
background-color: #007EFF;
|
@@ -721,6 +808,57 @@
|
|
721 |
.woolentor-admin-main-nav-btn:focus {
|
722 |
color: #007EFF;
|
723 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
|
725 |
.woolentor-admin-wrapper {
|
726 |
display: flex;
|
@@ -755,7 +893,7 @@
|
|
755 |
box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
|
756 |
}
|
757 |
|
758 |
-
.woolentor-admin-main-tab-pane:not(.wlactive) {
|
759 |
display: none;
|
760 |
}
|
761 |
.woolentor-admin-main-tab-pane-inner {
|
@@ -892,7 +1030,7 @@
|
|
892 |
.woolentor-admin-switch-block-content {
|
893 |
display: flex;
|
894 |
flex-wrap: wrap;
|
895 |
-
max-width: calc(100% -
|
896 |
margin-bottom: -5px;
|
897 |
}
|
898 |
.woolentor-admin-switch-block-title {
|
@@ -940,7 +1078,7 @@
|
|
940 |
display: flex;
|
941 |
align-items: center;
|
942 |
justify-content: flex-end;
|
943 |
-
width:
|
944 |
}
|
945 |
.woolentor-admin-switch-block-setting {
|
946 |
display: flex;
|
@@ -1407,7 +1545,7 @@
|
|
1407 |
padding-left: 0;
|
1408 |
}
|
1409 |
}
|
1410 |
-
#woolentor_elements_tabs .woolentor-admin-header{
|
1411 |
border-bottom: 1px solid #E7E7E7;
|
1412 |
margin-bottom: 0;
|
1413 |
padding-bottom: 10px;
|
@@ -1807,7 +1945,6 @@
|
|
1807 |
color: #FFFFFF;
|
1808 |
background-color: #007EFF;
|
1809 |
}
|
1810 |
-
|
1811 |
/* Extension Tabs */
|
1812 |
.extension-admin-tab-area.wp-filter {
|
1813 |
padding: 0;
|
@@ -1995,4 +2132,9 @@
|
|
1995 |
}
|
1996 |
.woolentor-condition-on{
|
1997 |
display: none !important;
|
|
|
|
|
|
|
|
|
|
|
1998 |
}
|
127 |
transform: translateX(-50%) rotate(45deg);
|
128 |
background-color: #333333;
|
129 |
}
|
130 |
+
|
131 |
+
/* Help Tip */
|
132 |
+
.woolenor-help-tip {
|
133 |
+
color: #666;
|
134 |
+
display: inline-block;
|
135 |
+
position: relative;
|
136 |
+
}
|
137 |
+
.woolenor-help-text {
|
138 |
+
position: absolute;
|
139 |
+
max-width: 200px;
|
140 |
+
width: -webkit-max-content;
|
141 |
+
width: -moz-max-content;
|
142 |
+
width: max-content;
|
143 |
+
opacity: 0;
|
144 |
+
padding: 10px 10px;
|
145 |
+
background-color: #333;
|
146 |
+
font-size: 11px;
|
147 |
+
line-height: 16px;
|
148 |
+
font-weight: 400;
|
149 |
+
text-align: center;
|
150 |
+
z-index: 1;
|
151 |
+
transition: all 0.15s ease-in-out;
|
152 |
+
border-radius: 3px;
|
153 |
+
color: #fff;
|
154 |
+
pointer-events: none;
|
155 |
+
}
|
156 |
+
.woolenor-help-text::before {
|
157 |
+
content: "";
|
158 |
+
position: absolute;
|
159 |
+
width: 0;
|
160 |
+
height: 0;
|
161 |
+
border: 0.375rem solid transparent;
|
162 |
+
border-top-color: #333;
|
163 |
+
}
|
164 |
+
.woolenor-help-tip:hover span.woolenor-help-text{
|
165 |
+
opacity: 1;
|
166 |
+
visibility: visible;
|
167 |
+
}
|
168 |
+
.woolenor-help-tip .woolentor-helptip-top, .woolenor-help-tip .woolentor-helptip-bottom {
|
169 |
+
left: 50%;
|
170 |
+
transform: translate(-50%, 5px);
|
171 |
+
}
|
172 |
+
.woolenor-help-tip .woolentor-helptip-top {
|
173 |
+
bottom: calc(100% + 10px);
|
174 |
+
}
|
175 |
+
.woolenor-help-tip .woolentor-helptip-bottom {
|
176 |
+
top: 100%;
|
177 |
+
}
|
178 |
+
.woolenor-help-tip .woolentor-helptip-left, .woolenor-help-tip .woolentor-helptip-right {
|
179 |
+
top: 50%;
|
180 |
+
}
|
181 |
+
.woolenor-help-tip .woolentor-helptip-left {
|
182 |
+
right: 100%;
|
183 |
+
transform: translate(-5px, -50%);
|
184 |
+
}
|
185 |
+
.woolenor-help-tip .woolentor-helptip-right {
|
186 |
+
left: 100%;
|
187 |
+
transform: translate(5px, -50%);
|
188 |
+
}
|
189 |
+
|
190 |
+
/* Arrow Position */
|
191 |
+
.woolenor-help-tip .woolentor-helptip-top:before, .woolenor-help-tip .woolentor-helptip-bottom:before {
|
192 |
+
left: 50%;
|
193 |
+
}
|
194 |
+
.woolenor-help-tip .woolentor-helptip-top:before {
|
195 |
+
top: 100%;
|
196 |
+
transform: translate(-50%, 0);
|
197 |
+
}
|
198 |
+
.woolenor-help-tip .woolentor-helptip-bottom:before {
|
199 |
+
bottom: 100%;
|
200 |
+
transform: translate(-50%, 0) rotate(180deg);
|
201 |
+
}
|
202 |
+
.woolenor-help-tip .woolentor-helptip-left:before, .woolenor-help-tip .woolentor-helptip-right:before {
|
203 |
+
top: 50%;
|
204 |
+
}
|
205 |
+
.woolenor-help-tip .woolentor-helptip-left:before {
|
206 |
+
left: 100%;
|
207 |
+
transform: translate(0, -50%) rotate(-90deg);
|
208 |
+
}
|
209 |
+
.woolenor-help-tip .woolentor-helptip-right:before {
|
210 |
+
right: 100%;
|
211 |
+
transform: translate(0, -50%) rotate(90deg);
|
212 |
+
}
|
213 |
|
214 |
/* Button */
|
215 |
.woolentor-admin-btn {
|
336 |
.woolentor-admin-number {
|
337 |
position: relative;
|
338 |
display: flex;
|
339 |
+
width: 85px;
|
340 |
}
|
341 |
.woolentor-admin-number input[type=number] {
|
342 |
display: flex;
|
788 |
transition: all 0.15s ease 0s;
|
789 |
opacity: 0.75;
|
790 |
}
|
791 |
+
.woolentor-admin-main-nav-btn i.dashicons{
|
792 |
+
font-size: 18px;
|
793 |
+
margin-right: 5px;
|
794 |
+
}
|
795 |
.woolentor-admin-main-nav-btn.wlactive, .woolentor-admin-main-nav-btn:hover {
|
796 |
color: #FFFFFF;
|
797 |
background-color: #007EFF;
|
808 |
.woolentor-admin-main-nav-btn:focus {
|
809 |
color: #007EFF;
|
810 |
}
|
811 |
+
|
812 |
+
/* Nested Tab */
|
813 |
+
#woolentor_gutenberg_tabs .woolentor-admin-main-tab-pane-inner {
|
814 |
+
padding-top: 10px;
|
815 |
+
}
|
816 |
+
.woolentor-nested-tabs-area {
|
817 |
+
margin-bottom: 30px;
|
818 |
+
border-bottom: 2px solid #EAEAEA;
|
819 |
+
}
|
820 |
+
ul.woolentor-nested-tabs {
|
821 |
+
margin: 0;
|
822 |
+
list-style: none;
|
823 |
+
display: block;
|
824 |
+
}
|
825 |
+
ul.woolentor-nested-tabs li {
|
826 |
+
display: inline-block;
|
827 |
+
margin: 0 5px;
|
828 |
+
}
|
829 |
+
ul.woolentor-nested-tabs li:first-child{
|
830 |
+
margin: 0;
|
831 |
+
}
|
832 |
+
ul.woolentor-nested-tabs li:last-child {
|
833 |
+
margin-right: 0;
|
834 |
+
}
|
835 |
+
ul.woolentor-nested-tabs li a {
|
836 |
+
padding: 15px 0;
|
837 |
+
margin-right: 20px;
|
838 |
+
display: block;
|
839 |
+
text-decoration: none;
|
840 |
+
color: #6D7175;
|
841 |
+
position: relative;
|
842 |
+
font-size: 14px;
|
843 |
+
font-weight: 400;
|
844 |
+
line-height: 1;
|
845 |
+
}
|
846 |
+
ul.woolentor-nested-tabs li a:after {
|
847 |
+
content: "";
|
848 |
+
background: transparent;
|
849 |
+
width: 100%;
|
850 |
+
height: 3px;
|
851 |
+
position: absolute;
|
852 |
+
bottom: -2px;
|
853 |
+
left: 0;
|
854 |
+
}
|
855 |
+
ul.woolentor-nested-tabs li a.wlactive:after,ul.woolentor-nested-tabs li a:hover:after{
|
856 |
+
background: #007EFF;
|
857 |
+
}
|
858 |
+
ul.woolentor-nested-tabs li a.wlactive{
|
859 |
+
color: #000000;
|
860 |
+
font-weight: 700;
|
861 |
+
}
|
862 |
|
863 |
.woolentor-admin-wrapper {
|
864 |
display: flex;
|
893 |
box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
|
894 |
}
|
895 |
|
896 |
+
.woolentor-admin-main-tab-pane:not(.wlactive),.woolentor-admin-nested-tab-pane:not(.wlactive) {
|
897 |
display: none;
|
898 |
}
|
899 |
.woolentor-admin-main-tab-pane-inner {
|
1030 |
.woolentor-admin-switch-block-content {
|
1031 |
display: flex;
|
1032 |
flex-wrap: wrap;
|
1033 |
+
max-width: calc(100% - 85px);
|
1034 |
margin-bottom: -5px;
|
1035 |
}
|
1036 |
.woolentor-admin-switch-block-title {
|
1078 |
display: flex;
|
1079 |
align-items: center;
|
1080 |
justify-content: flex-end;
|
1081 |
+
width: 85px;
|
1082 |
}
|
1083 |
.woolentor-admin-switch-block-setting {
|
1084 |
display: flex;
|
1545 |
padding-left: 0;
|
1546 |
}
|
1547 |
}
|
1548 |
+
#woolentor_elements_tabs .woolentor-admin-header, .woolentor-admin-header-two{
|
1549 |
border-bottom: 1px solid #E7E7E7;
|
1550 |
margin-bottom: 0;
|
1551 |
padding-bottom: 10px;
|
1945 |
color: #FFFFFF;
|
1946 |
background-color: #007EFF;
|
1947 |
}
|
|
|
1948 |
/* Extension Tabs */
|
1949 |
.extension-admin-tab-area.wp-filter {
|
1950 |
padding: 0;
|
2132 |
}
|
2133 |
.woolentor-condition-on{
|
2134 |
display: none !important;
|
2135 |
+
}
|
2136 |
+
|
2137 |
+
.woolentor-adv-pro-notice > *,.woolentor-adv-pro-opacity{
|
2138 |
+
opacity: 0.5;
|
2139 |
+
pointer-events: none;
|
2140 |
}
|
includes/admin/assets/images/helping-screenshot.png
CHANGED
Binary file
|
includes/admin/assets/images/icons/menu-bar_32x32.png
ADDED
Binary file
|
includes/admin/assets/js/template_edit_manager.js
CHANGED
@@ -5,17 +5,38 @@
|
|
5 |
|
6 |
instance: [],
|
7 |
templateId: 0,
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
init: function() {
|
10 |
this.renderPopup();
|
11 |
this.slickSlider();
|
12 |
|
13 |
$('#woolentor-template-type').on('change', function() {
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
});
|
16 |
|
17 |
$( 'body.post-type-woolentor-template #wpcontent' )
|
18 |
-
.on( 'click.woolentorTemplateAdmin', '.page-title-action, .row-title, .row-actions
|
19 |
|
20 |
$( document )
|
21 |
.on( 'click.woolentorTemplateAdmin', '.woolentor-body-overlay,.woolentor-template-edit-cross', this.closePopup )
|
@@ -34,7 +55,9 @@
|
|
34 |
content = null;
|
35 |
|
36 |
content = popupTmp( {
|
|
|
37 |
templatetype: WLTMCPT.templatetype,
|
|
|
38 |
heading: WLTMCPT.labels,
|
39 |
templatelist: WLTMCPT.templatelist,
|
40 |
} );
|
@@ -61,7 +84,7 @@
|
|
61 |
},
|
62 |
|
63 |
// Show Demo template
|
64 |
-
showSampleDemoTypeWise: function( tmpType ){
|
65 |
|
66 |
// Sample design showing button hide/show
|
67 |
if( $('.woolentor-template-edit-demo-design-show-wrap').find('.woolentor-template-edit-demo-design-slider.demo-'+tmpType).length == 0 ){
|
@@ -70,11 +93,22 @@
|
|
70 |
$('.woolentor-template-edit-set-design').show();
|
71 |
}
|
72 |
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
},
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
// Active Save Button
|
79 |
activeSaveButton: function( event ){
|
80 |
$(".woolentor-tmp-save").removeClass("disabled");
|
@@ -120,6 +154,9 @@
|
|
120 |
tmpId = rowId.replace( 'post-', '' );
|
121 |
editLink = 'post.php?post='+tmpId+'&action=edit';
|
122 |
elementorEditlink = 'post.php?post='+tmpId+'&action=elementor';
|
|
|
|
|
|
|
123 |
}
|
124 |
$('.woolentor-tmp-save').attr( 'data-tmpid', tmpId );
|
125 |
$('.woolentor-tmp-gutenberg').attr( { 'data-link': editLink, 'data-tmpid': tmpId } );
|
@@ -153,11 +190,17 @@
|
|
153 |
$('#woolentor-template-default').prop('checked', false);
|
154 |
}
|
155 |
|
|
|
|
|
|
|
|
|
|
|
156 |
// Enable edit button
|
157 |
-
woolentorTemplateAdmin.
|
|
|
158 |
|
159 |
// Show Demo Design
|
160 |
-
woolentorTemplateAdmin.showSampleDemoTypeWise( response.data.tmpType );
|
161 |
|
162 |
},
|
163 |
|
@@ -186,6 +229,9 @@
|
|
186 |
// Show Demo Design
|
187 |
woolentorTemplateAdmin.showSampleDemoTypeWise('single');
|
188 |
|
|
|
|
|
|
|
189 |
}
|
190 |
|
191 |
$('body.post-type-woolentor-template').addClass('open-editor');
|
@@ -210,10 +256,11 @@
|
|
210 |
title = $('#woolentor-template-title').val(),
|
211 |
setdefault = $('#woolentor-template-default').is(":checked") ? 'yes' : 'no',
|
212 |
tmpType = $('#woolentor-template-type').val(),
|
|
|
213 |
sampleDemoId = '',
|
214 |
sampleDemoBuilder = '';
|
215 |
|
216 |
-
if( $('.woolentor-template-edit-demo-plan input[name="woolentor-template-edit-demo-plan"]').is(":checked") ){
|
217 |
sampleDemoId = $('.woolentor-template-edit-demo-plan input[name="woolentor-template-edit-demo-plan"]:checked').val();
|
218 |
sampleDemoBuilder = $('.woolentor-template-edit-demo-plan input[name="woolentor-template-edit-demo-plan"]:checked').data('builder');
|
219 |
}
|
@@ -226,6 +273,7 @@
|
|
226 |
'tmpId' : tmpId,
|
227 |
'title' : title,
|
228 |
'tmpType' : tmpType,
|
|
|
229 |
'setDefault' : setdefault,
|
230 |
'sampleTmpID' : sampleDemoId,
|
231 |
'sampleTmpBuilder' : sampleDemoBuilder,
|
5 |
|
6 |
instance: [],
|
7 |
templateId: 0,
|
8 |
+
templateType:[
|
9 |
+
'shop',
|
10 |
+
'archive',
|
11 |
+
'single',
|
12 |
+
],
|
13 |
|
14 |
init: function() {
|
15 |
this.renderPopup();
|
16 |
this.slickSlider();
|
17 |
|
18 |
$('#woolentor-template-type').on('change', function() {
|
19 |
+
var selectedEditor = $('#woolentor-template-editor').val() ? $('#woolentor-template-editor').val() : 'gutenberg';
|
20 |
+
if( woolentorTemplateAdmin.templateType.indexOf(this.value) == -1 ){
|
21 |
+
$('#woolentor-template-editor').find('option[value="gutenberg"]').attr('disabled',true);
|
22 |
+
$('#woolentor-template-editor').find('option[value="elementor"]').prop("selected",true);
|
23 |
+
selectedEditor = 'elementor';
|
24 |
+
woolentorTemplateAdmin.manageEditButton( selectedEditor );
|
25 |
+
}else{
|
26 |
+
woolentorTemplateAdmin.manageEditButton( selectedEditor );
|
27 |
+
$('#woolentor-template-editor').find('option[value="gutenberg"]').removeAttr('disabled');
|
28 |
+
}
|
29 |
+
woolentorTemplateAdmin.showSampleDemoTypeWise( this.value, selectedEditor );
|
30 |
+
});
|
31 |
+
|
32 |
+
$('#woolentor-template-editor').on('change', function() {
|
33 |
+
var selectedType = $('#woolentor-template-type').val();
|
34 |
+
woolentorTemplateAdmin.manageEditButton( this.value );
|
35 |
+
woolentorTemplateAdmin.showSampleDemoTypeWise( selectedType, this.value );
|
36 |
});
|
37 |
|
38 |
$( 'body.post-type-woolentor-template #wpcontent' )
|
39 |
+
.on( 'click.woolentorTemplateAdmin', '.page-title-action, .row-title, .row-actions .edit > a', this.openPopup );
|
40 |
|
41 |
$( document )
|
42 |
.on( 'click.woolentorTemplateAdmin', '.woolentor-body-overlay,.woolentor-template-edit-cross', this.closePopup )
|
55 |
content = null;
|
56 |
|
57 |
content = popupTmp( {
|
58 |
+
haselementor: WLTMCPT.haselementor,
|
59 |
templatetype: WLTMCPT.templatetype,
|
60 |
+
editor: WLTMCPT.editor,
|
61 |
heading: WLTMCPT.labels,
|
62 |
templatelist: WLTMCPT.templatelist,
|
63 |
} );
|
84 |
},
|
85 |
|
86 |
// Show Demo template
|
87 |
+
showSampleDemoTypeWise: function( tmpType = 'single', tmpEditor = 'elementor' ){
|
88 |
|
89 |
// Sample design showing button hide/show
|
90 |
if( $('.woolentor-template-edit-demo-design-show-wrap').find('.woolentor-template-edit-demo-design-slider.demo-'+tmpType).length == 0 ){
|
93 |
$('.woolentor-template-edit-set-design').show();
|
94 |
}
|
95 |
|
96 |
+
if( tmpEditor === 'gutenberg'){
|
97 |
+
$('.woolentor-template-edit-set-design').hide();
|
98 |
+
$('.woolentor-template-edit-demo-design-slider.demo-'+tmpType).removeClass('demo-show').slick('refresh');
|
99 |
+
}else{
|
100 |
+
$('.woolentor-template-edit-demo-design-slider').removeClass('demo-show');
|
101 |
+
$('.woolentor-template-edit-demo-design-slider.demo-'+tmpType).addClass('demo-show').slick('refresh');
|
102 |
+
}
|
103 |
|
104 |
},
|
105 |
|
106 |
+
// Manage Edit button based on Editor
|
107 |
+
manageEditButton : function ( editor ){
|
108 |
+
$('.woolentor-template-button-item[class*="woolentor-editor-"]').removeClass('button-show');
|
109 |
+
$('.woolentor-template-button-item.woolentor-editor-'+editor).addClass('button-show');
|
110 |
+
},
|
111 |
+
|
112 |
// Active Save Button
|
113 |
activeSaveButton: function( event ){
|
114 |
$(".woolentor-tmp-save").removeClass("disabled");
|
154 |
tmpId = rowId.replace( 'post-', '' );
|
155 |
editLink = 'post.php?post='+tmpId+'&action=edit';
|
156 |
elementorEditlink = 'post.php?post='+tmpId+'&action=elementor';
|
157 |
+
// Hide Editor Selector Field
|
158 |
+
$('.woolentor-template-editor-field').hide();
|
159 |
+
woolentorTemplateAdmin.enableDisableEditorButton();
|
160 |
}
|
161 |
$('.woolentor-tmp-save').attr( 'data-tmpid', tmpId );
|
162 |
$('.woolentor-tmp-gutenberg').attr( { 'data-link': editLink, 'data-tmpid': tmpId } );
|
190 |
$('#woolentor-template-default').prop('checked', false);
|
191 |
}
|
192 |
|
193 |
+
let tmpBuilder = 'gutenberg';
|
194 |
+
if( WLTMCPT.haselementor === 'yes' ){
|
195 |
+
tmpBuilder = response.data.tmpEditor;
|
196 |
+
}
|
197 |
+
|
198 |
// Enable edit button
|
199 |
+
woolentorTemplateAdmin.manageEditButton( tmpBuilder );
|
200 |
+
woolentorTemplateAdmin.enableDisableEditorButton( 'yes' );
|
201 |
|
202 |
// Show Demo Design
|
203 |
+
woolentorTemplateAdmin.showSampleDemoTypeWise( response.data.tmpType, tmpBuilder );
|
204 |
|
205 |
},
|
206 |
|
229 |
// Show Demo Design
|
230 |
woolentorTemplateAdmin.showSampleDemoTypeWise('single');
|
231 |
|
232 |
+
// Show Editor Selector Field
|
233 |
+
$('.woolentor-template-editor-field').show();
|
234 |
+
|
235 |
}
|
236 |
|
237 |
$('body.post-type-woolentor-template').addClass('open-editor');
|
256 |
title = $('#woolentor-template-title').val(),
|
257 |
setdefault = $('#woolentor-template-default').is(":checked") ? 'yes' : 'no',
|
258 |
tmpType = $('#woolentor-template-type').val(),
|
259 |
+
tmpEditor = $('#woolentor-template-editor').val(),
|
260 |
sampleDemoId = '',
|
261 |
sampleDemoBuilder = '';
|
262 |
|
263 |
+
if( $('.woolentor-template-edit-demo-plan input[name="woolentor-template-edit-demo-plan"]:visible').is(":checked") ){
|
264 |
sampleDemoId = $('.woolentor-template-edit-demo-plan input[name="woolentor-template-edit-demo-plan"]:checked').val();
|
265 |
sampleDemoBuilder = $('.woolentor-template-edit-demo-plan input[name="woolentor-template-edit-demo-plan"]:checked').data('builder');
|
266 |
}
|
273 |
'tmpId' : tmpId,
|
274 |
'title' : title,
|
275 |
'tmpType' : tmpType,
|
276 |
+
'tmpEditor' : tmpEditor,
|
277 |
'setDefault' : setdefault,
|
278 |
'sampleTmpID' : sampleDemoId,
|
279 |
'sampleTmpBuilder' : sampleDemoBuilder,
|
includes/admin/assets/js/template_library_manager.js
CHANGED
@@ -142,7 +142,8 @@
|
|
142 |
|
143 |
let htwptPrintDataArray = Array.from(new Set(htwptProjectData.map(i => i.shareId))).map(j => htwptProjectData.find(a => a.shareId === j)),
|
144 |
htwptPrintData = htwptPrintDataArray.slice(htwptProjectStartCount, htwptProjectEndCount),
|
145 |
-
html = ''
|
|
|
146 |
for (let i = 0; i < htwptPrintData.length; i++) {
|
147 |
let {
|
148 |
thumbnail,
|
@@ -153,6 +154,9 @@
|
|
153 |
} = htwptPrintData[i],
|
154 |
totalItem = htwptProjectData.filter(i => i.shareId == shareId).length,
|
155 |
singleItem = totalItem == 1 ? 'htwpt-project-item-signle' : '';
|
|
|
|
|
|
|
156 |
html += `<div class="${singleItem} col-xl-4 col-md-6 col-12">
|
157 |
<div class="htwpt-project-item ${singleItem}" data-group="${shareId}">
|
158 |
<div class="htwpt-project-thumb">
|
142 |
|
143 |
let htwptPrintDataArray = Array.from(new Set(htwptProjectData.map(i => i.shareId))).map(j => htwptProjectData.find(a => a.shareId === j)),
|
144 |
htwptPrintData = htwptPrintDataArray.slice(htwptProjectStartCount, htwptProjectEndCount),
|
145 |
+
html = '',
|
146 |
+
excludeCategory = ["No Category", "Email Customizer"];
|
147 |
for (let i = 0; i < htwptPrintData.length; i++) {
|
148 |
let {
|
149 |
thumbnail,
|
154 |
} = htwptPrintData[i],
|
155 |
totalItem = htwptProjectData.filter(i => i.shareId == shareId).length,
|
156 |
singleItem = totalItem == 1 ? 'htwpt-project-item-signle' : '';
|
157 |
+
if( excludeCategory.includes( shareId ) === true ){
|
158 |
+
continue;
|
159 |
+
}
|
160 |
html += `<div class="${singleItem} col-xl-4 col-md-6 col-12">
|
161 |
<div class="htwpt-project-item ${singleItem}" data-group="${shareId}">
|
162 |
<div class="htwpt-project-thumb">
|
includes/admin/assets/js/woolentor-admin.js
CHANGED
@@ -12,6 +12,12 @@
|
|
12 |
});
|
13 |
}
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
// Navigation Tabs
|
16 |
$('.woolentor-admin-main-nav').on('click', '.woolentor-admin-main-nav-btn', function(e) {
|
17 |
e.preventDefault()
|
@@ -567,55 +573,11 @@
|
|
567 |
woolentor_repeater_field();
|
568 |
|
569 |
// Extension Tabs
|
570 |
-
woolentor_admin_tabs( $(".woolentor-admin-tabs"), '.woolentor-admin-tab-pane' );
|
571 |
|
572 |
// Field Dependency
|
573 |
$(document).ready(function() {
|
574 |
$('.woolentor-dashboard').children('.woolentor-admin-options').woolentor_conditions();
|
575 |
});
|
576 |
-
|
577 |
-
// Fields Conditions System
|
578 |
-
$.fn.woolentor_conditions = function() {
|
579 |
-
return this.each( function() {
|
580 |
-
|
581 |
-
var $this = $(this),
|
582 |
-
$fields = $this.children('[data-controller]');
|
583 |
-
|
584 |
-
if( $fields.length ) {
|
585 |
-
|
586 |
-
var condition_ruleset = $.woolentor_deps.createRuleset(),
|
587 |
-
all_conditions = [];
|
588 |
-
|
589 |
-
$fields.each( function() {
|
590 |
-
|
591 |
-
var $field = $(this),
|
592 |
-
controllers = $field.data('controller').split('|'),
|
593 |
-
conditions = $field.data('condition').split('|'),
|
594 |
-
values = $field.data('value').toString().split('|'),
|
595 |
-
ruleset = condition_ruleset;
|
596 |
-
|
597 |
-
$.each( controllers, function( index, depend_id ) {
|
598 |
-
|
599 |
-
var value = values[index] || '',
|
600 |
-
condition = conditions[index] || conditions[0];
|
601 |
-
|
602 |
-
ruleset = ruleset.createRule('[data-depend-id="'+ depend_id +'"]', condition, value );
|
603 |
-
|
604 |
-
ruleset.include( $field );
|
605 |
-
|
606 |
-
all_conditions.push( depend_id );
|
607 |
-
|
608 |
-
});
|
609 |
-
|
610 |
-
});
|
611 |
-
|
612 |
-
if ( all_conditions.length ) {
|
613 |
-
$.woolentor_deps.enable($this, condition_ruleset, all_conditions);
|
614 |
-
}
|
615 |
-
|
616 |
-
}
|
617 |
-
|
618 |
-
});
|
619 |
-
};
|
620 |
|
621 |
})(jQuery);
|
12 |
});
|
13 |
}
|
14 |
|
15 |
+
// Navigation tabs Nested tabs
|
16 |
+
woolentor_admin_tabs( $(".woolentor-nested-tabs"), '.woolentor-admin-nested-tab-pane' );
|
17 |
+
|
18 |
+
// Extension Tabs
|
19 |
+
woolentor_admin_tabs( $(".woolentor-admin-tabs"), '.woolentor-admin-tab-pane' );
|
20 |
+
|
21 |
// Navigation Tabs
|
22 |
$('.woolentor-admin-main-nav').on('click', '.woolentor-admin-main-nav-btn', function(e) {
|
23 |
e.preventDefault()
|
573 |
woolentor_repeater_field();
|
574 |
|
575 |
// Extension Tabs
|
576 |
+
// woolentor_admin_tabs( $(".woolentor-admin-tabs"), '.woolentor-admin-tab-pane' );
|
577 |
|
578 |
// Field Dependency
|
579 |
$(document).ready(function() {
|
580 |
$('.woolentor-dashboard').children('.woolentor-admin-options').woolentor_conditions();
|
581 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
|
583 |
})(jQuery);
|
includes/admin/assets/js/woolentor-condition.js
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// Fields Conditions System
|
2 |
+
;( function ( $ ) {
|
3 |
+
"use strict";
|
4 |
+
|
5 |
+
$.fn.woolentor_conditions = function() {
|
6 |
+
return this.each( function() {
|
7 |
+
|
8 |
+
var $this = $(this),
|
9 |
+
$fields = $this.children('[data-controller]');
|
10 |
+
|
11 |
+
if( $fields.length ) {
|
12 |
+
|
13 |
+
var condition_ruleset = $.woolentor_deps.createRuleset(),
|
14 |
+
all_conditions = [];
|
15 |
+
|
16 |
+
$fields.each( function() {
|
17 |
+
|
18 |
+
var $field = $(this),
|
19 |
+
controllers = $field.data('controller').split('|'),
|
20 |
+
conditions = $field.data('condition').split('|'),
|
21 |
+
values = $field.data('value').toString().split('|'),
|
22 |
+
ruleset = condition_ruleset;
|
23 |
+
|
24 |
+
$.each( controllers, function( index, depend_id ) {
|
25 |
+
|
26 |
+
var value = values[index] || '',
|
27 |
+
condition = conditions[index] || conditions[0];
|
28 |
+
|
29 |
+
ruleset = ruleset.createRule('[data-depend-id="'+ depend_id +'"]', condition, value );
|
30 |
+
|
31 |
+
ruleset.include( $field );
|
32 |
+
|
33 |
+
all_conditions.push( depend_id );
|
34 |
+
|
35 |
+
});
|
36 |
+
|
37 |
+
});
|
38 |
+
|
39 |
+
if ( all_conditions.length ) {
|
40 |
+
$.woolentor_deps.enable($this, condition_ruleset, all_conditions);
|
41 |
+
}
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
});
|
46 |
+
};
|
47 |
+
})(jQuery);
|
includes/admin/include/admin_field-manager.php
CHANGED
@@ -41,6 +41,7 @@ class Woolentor_Admin_Fields_Manager {
|
|
41 |
$depend_id = isset( $option['option_depend_id'] ) ? $option['option_depend_id'] : $option['name'];
|
42 |
$value = isset( $option['value'] ) ? $option['value'] : '';
|
43 |
$type = isset( $option['type'] ) ? $option['type'] : 'text';
|
|
|
44 |
$label = isset( $option['label'] ) ? $option['label'] : '';
|
45 |
$preview = isset( $option['preview'] ) ? $option['preview'] : '';
|
46 |
$section = isset( $option['section'] ) ? $option['section'] : $section;
|
@@ -80,7 +81,7 @@ class Woolentor_Admin_Fields_Manager {
|
|
80 |
'depend_id' => $depend_id,
|
81 |
'class' => isset( $option['class'] ) ? $option['class'] : $name,
|
82 |
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
|
83 |
-
'name' => $label,
|
84 |
'value' => $value,
|
85 |
'title_field' => isset( $option['title_field'] ) ? $option['title_field'] : '',
|
86 |
'section' => $section,
|
@@ -346,8 +347,8 @@ class Woolentor_Admin_Fields_Manager {
|
|
346 |
$html .= '<div class="woolentor-admin-switch-block-content">';
|
347 |
$html .= sprintf('<h6 class="woolentor-admin-switch-block-title">%1$s</h6>', $args['name'] );
|
348 |
$html .= '<div class="woolentor-admin-switch-block-info">';
|
349 |
-
$html .= !empty( $args['additional_info']['preview'] ) ? '<a href="'.$args['additional_info']['preview'].'" data-woolentor-tooltip="'.esc_attr__('Preview','woolentor').'"><i class="wli wli-monitor"></i></a>' : '';
|
350 |
-
$html .= !empty( $args['additional_info']['documentation'] ) ? '<a href="'.$args['additional_info']['documentation'].'" data-woolentor-tooltip="'.esc_attr__('Documentation','woolentor').'"><i class="wli wli-question"></i></a>' : '';
|
351 |
$html .= $probadge;
|
352 |
$html .= '</div>';
|
353 |
$html .= '</div>';
|
@@ -442,7 +443,6 @@ class Woolentor_Admin_Fields_Manager {
|
|
442 |
public function callback_element( $args ) {
|
443 |
|
444 |
$value = ( isset( $args['value'] ) && !empty ( $args['value'] ) ) ? esc_attr( $args['value'] ) : esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
445 |
-
|
446 |
$checked = checked( $value, 'on', false );
|
447 |
$switch_id = esc_attr('data-switch-id=element');
|
448 |
$probadge = $data_atr = '';
|
@@ -466,8 +466,8 @@ class Woolentor_Admin_Fields_Manager {
|
|
466 |
$html .= '<div class="woolentor-admin-switch-block-content">';
|
467 |
$html .= sprintf('<h6 class="woolentor-admin-switch-block-title">%1$s</h6>', $args['name'] );
|
468 |
$html .= '<div class="woolentor-admin-switch-block-info">';
|
469 |
-
$html .= !empty( $args['additional_info']['preview'] ) ? '<a href="'.$args['additional_info']['preview'].'" data-woolentor-tooltip="'.esc_attr__('Preview','woolentor').'"><i class="wli wli-monitor"></i></a>' : '';
|
470 |
-
$html .= !empty( $args['additional_info']['documentation'] ) ? '<a href="'.$args['additional_info']['documentation'].'" data-woolentor-tooltip="'.esc_attr__('Documentation','woolentor').'"><i class="wli wli-question"></i></a>' : '';
|
471 |
$html .= $probadge;
|
472 |
$html .= '</div>';
|
473 |
$html .= '</div>';
|
@@ -948,7 +948,6 @@ class Woolentor_Admin_Fields_Manager {
|
|
948 |
</script>
|
949 |
<?php
|
950 |
}
|
951 |
-
|
952 |
|
953 |
|
954 |
}
|
41 |
$depend_id = isset( $option['option_depend_id'] ) ? $option['option_depend_id'] : $option['name'];
|
42 |
$value = isset( $option['value'] ) ? $option['value'] : '';
|
43 |
$type = isset( $option['type'] ) ? $option['type'] : 'text';
|
44 |
+
$tooltip = isset( $option['tooltip'] ) && is_array( $option['tooltip'] ) ? sprintf( '<span class="woolenor-help-tip"><span class="woolentor-help-tip-trigger">%s</span><span class="woolenor-help-text woolentor-helptip-%s">%s</span></span>','<i class="dashicons dashicons-editor-help"></i>',$option['tooltip']['placement'], $option['tooltip']['text'] ) : '';
|
45 |
$label = isset( $option['label'] ) ? $option['label'] : '';
|
46 |
$preview = isset( $option['preview'] ) ? $option['preview'] : '';
|
47 |
$section = isset( $option['section'] ) ? $option['section'] : $section;
|
81 |
'depend_id' => $depend_id,
|
82 |
'class' => isset( $option['class'] ) ? $option['class'] : $name,
|
83 |
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
|
84 |
+
'name' => $label.$tooltip,
|
85 |
'value' => $value,
|
86 |
'title_field' => isset( $option['title_field'] ) ? $option['title_field'] : '',
|
87 |
'section' => $section,
|
347 |
$html .= '<div class="woolentor-admin-switch-block-content">';
|
348 |
$html .= sprintf('<h6 class="woolentor-admin-switch-block-title">%1$s</h6>', $args['name'] );
|
349 |
$html .= '<div class="woolentor-admin-switch-block-info">';
|
350 |
+
$html .= !empty( $args['additional_info']['preview'] ) ? '<a href="'.$args['additional_info']['preview'].'" data-woolentor-tooltip="'.esc_attr__('Preview','woolentor').'" target="_blank"><i class="wli wli-monitor"></i></a>' : '';
|
351 |
+
$html .= !empty( $args['additional_info']['documentation'] ) ? '<a href="'.$args['additional_info']['documentation'].'" data-woolentor-tooltip="'.esc_attr__('Documentation','woolentor').'" target="_blank"><i class="wli wli-question"></i></a>' : '';
|
352 |
$html .= $probadge;
|
353 |
$html .= '</div>';
|
354 |
$html .= '</div>';
|
443 |
public function callback_element( $args ) {
|
444 |
|
445 |
$value = ( isset( $args['value'] ) && !empty ( $args['value'] ) ) ? esc_attr( $args['value'] ) : esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
|
|
446 |
$checked = checked( $value, 'on', false );
|
447 |
$switch_id = esc_attr('data-switch-id=element');
|
448 |
$probadge = $data_atr = '';
|
466 |
$html .= '<div class="woolentor-admin-switch-block-content">';
|
467 |
$html .= sprintf('<h6 class="woolentor-admin-switch-block-title">%1$s</h6>', $args['name'] );
|
468 |
$html .= '<div class="woolentor-admin-switch-block-info">';
|
469 |
+
$html .= !empty( $args['additional_info']['preview'] ) ? '<a href="'.$args['additional_info']['preview'].'" data-woolentor-tooltip="'.esc_attr__('Preview','woolentor').'" target="_blank"><i class="wli wli-monitor"></i></a>' : '';
|
470 |
+
$html .= !empty( $args['additional_info']['documentation'] ) ? '<a href="'.$args['additional_info']['documentation'].'" data-woolentor-tooltip="'.esc_attr__('Documentation','woolentor').'" target="_blank"><i class="wli wli-question"></i></a>' : '';
|
471 |
$html .= $probadge;
|
472 |
$html .= '</div>';
|
473 |
$html .= '</div>';
|
948 |
</script>
|
949 |
<?php
|
950 |
}
|
|
|
951 |
|
952 |
|
953 |
}
|
includes/admin/include/admin_fields.php
CHANGED
@@ -27,11 +27,11 @@ class Woolentor_Admin_Fields {
|
|
27 |
public function field_sections(){
|
28 |
|
29 |
$sections = array(
|
30 |
-
|
31 |
array(
|
32 |
'id' => 'woolentor_general_tabs',
|
33 |
'title' => esc_html__( 'General', 'woolentor' ),
|
34 |
-
'icon' => '
|
35 |
),
|
36 |
|
37 |
array(
|
@@ -40,6 +40,12 @@ class Woolentor_Admin_Fields {
|
|
40 |
'icon' => 'wli-store'
|
41 |
),
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
array(
|
44 |
'id' => 'woolentor_elements_tabs',
|
45 |
'title' => esc_html__( 'Elements', 'woolentor' ),
|
@@ -243,6 +249,245 @@ class Woolentor_Admin_Fields {
|
|
243 |
|
244 |
),
|
245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
'woolentor_elements_tabs' => array(
|
247 |
|
248 |
array(
|
@@ -672,6 +917,14 @@ class Woolentor_Admin_Fields {
|
|
672 |
'is_pro' => true,
|
673 |
),
|
674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
array(
|
676 |
'name' => 'cart_widget_heading',
|
677 |
'headding' => esc_html__( 'Cart', 'woolentor' ),
|
@@ -729,7 +982,7 @@ class Woolentor_Admin_Fields {
|
|
729 |
|
730 |
array(
|
731 |
'name' => 'checkout_widget_heading',
|
732 |
-
'headding' => esc_html__( 'Checkout', 'woolentor
|
733 |
'type' => 'title',
|
734 |
'class' => 'woolentor_heading_style_two'
|
735 |
),
|
@@ -895,7 +1148,7 @@ class Woolentor_Admin_Fields {
|
|
895 |
|
896 |
array(
|
897 |
'name' => 'thankyou_widget_heading',
|
898 |
-
'headding' => esc_html__( 'Thank You', 'woolentor
|
899 |
'type' => 'title',
|
900 |
'class' => 'woolentor_heading_style_two'
|
901 |
),
|
@@ -961,6 +1214,7 @@ class Woolentor_Admin_Fields {
|
|
961 |
'section' => 'woolentor_rename_label_tabs',
|
962 |
'option_id'=> 'enablerenamelabel',
|
963 |
'require_settings'=> true,
|
|
|
964 |
'setting_fields' => array(
|
965 |
|
966 |
array(
|
@@ -1058,6 +1312,7 @@ class Woolentor_Admin_Fields {
|
|
1058 |
'section' => 'woolentor_sales_notification_tabs',
|
1059 |
'option_id'=> 'enableresalenotification',
|
1060 |
'require_settings'=> true,
|
|
|
1061 |
'setting_fields' => array(
|
1062 |
|
1063 |
array(
|
@@ -1461,6 +1716,7 @@ class Woolentor_Admin_Fields {
|
|
1461 |
'section' => 'woolentor_shopify_checkout_settings',
|
1462 |
'option_id'=> 'enable',
|
1463 |
'require_settings' => true,
|
|
|
1464 |
'setting_fields' => array(
|
1465 |
|
1466 |
array(
|
@@ -1494,6 +1750,22 @@ class Woolentor_Admin_Fields {
|
|
1494 |
'class' => 'woolentor-action-field-left'
|
1495 |
),
|
1496 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1497 |
array(
|
1498 |
'name' => 'hide_cart_nivigation',
|
1499 |
'label' => esc_html__( 'Hide Cart Navigation', 'woolentor' ),
|
@@ -1576,6 +1848,7 @@ class Woolentor_Admin_Fields {
|
|
1576 |
'section' => 'woolentor_flash_sale_settings',
|
1577 |
'option_id'=> 'enable',
|
1578 |
'require_settings' => true,
|
|
|
1579 |
'setting_fields' => array(
|
1580 |
|
1581 |
array(
|
@@ -1682,7 +1955,7 @@ class Woolentor_Admin_Fields {
|
|
1682 |
|
1683 |
array(
|
1684 |
'name' => 'discount_value',
|
1685 |
-
'label' => esc_html__( 'Discount Value', 'woolentor
|
1686 |
'min' => 0.0,
|
1687 |
'step' => 0.01,
|
1688 |
'type' => 'number',
|
@@ -1777,6 +2050,7 @@ class Woolentor_Admin_Fields {
|
|
1777 |
'section' => 'woolentor_backorder_settings',
|
1778 |
'option_id'=> 'enable',
|
1779 |
'require_settings' => true,
|
|
|
1780 |
'setting_fields' => array(
|
1781 |
|
1782 |
array(
|
@@ -1816,11 +2090,360 @@ class Woolentor_Admin_Fields {
|
|
1816 |
|
1817 |
),
|
1818 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1819 |
array(
|
1820 |
'name' => 'wishlist',
|
1821 |
'label' => esc_html__( 'Wishlist', 'woolentor' ),
|
1822 |
'type' => 'element',
|
1823 |
'default' => 'off',
|
|
|
1824 |
),
|
1825 |
|
1826 |
array(
|
@@ -1828,6 +2451,7 @@ class Woolentor_Admin_Fields {
|
|
1828 |
'label' => esc_html__( 'Compare', 'woolentor' ),
|
1829 |
'type' => 'element',
|
1830 |
'default' => 'off',
|
|
|
1831 |
),
|
1832 |
|
1833 |
array(
|
@@ -1836,6 +2460,7 @@ class Woolentor_Admin_Fields {
|
|
1836 |
'desc' => esc_html__( 'AJAX Search Widget', 'woolentor' ),
|
1837 |
'type' => 'element',
|
1838 |
'default' => 'off',
|
|
|
1839 |
),
|
1840 |
|
1841 |
array(
|
@@ -1844,6 +2469,7 @@ class Woolentor_Admin_Fields {
|
|
1844 |
'desc' => esc_html__( 'AJAX Add to Cart on Single Product page', 'woolentor' ),
|
1845 |
'type' => 'element',
|
1846 |
'default' => 'off',
|
|
|
1847 |
),
|
1848 |
|
1849 |
array(
|
@@ -1924,7 +2550,7 @@ class Woolentor_Admin_Fields {
|
|
1924 |
|
1925 |
array(
|
1926 |
'name' => 'redirect_add_to_cartp',
|
1927 |
-
'label' => esc_html__( 'Redirect to Checkout', 'woolentor
|
1928 |
'type' => 'element',
|
1929 |
'default'=> 'off',
|
1930 |
'is_pro' => true
|
@@ -2178,10 +2804,11 @@ class Woolentor_Admin_Fields {
|
|
2178 |
|
2179 |
$settings_fields['woolentor_others_tabs']['modules'][] = [
|
2180 |
'name' => 'postduplicator',
|
2181 |
-
'label' => esc_html__( 'Post Duplicator', 'woolentor
|
2182 |
'type' => 'element',
|
2183 |
'default' => 'off',
|
2184 |
'require_settings' => true,
|
|
|
2185 |
'setting_fields' => array(
|
2186 |
|
2187 |
array(
|
27 |
public function field_sections(){
|
28 |
|
29 |
$sections = array(
|
30 |
+
|
31 |
array(
|
32 |
'id' => 'woolentor_general_tabs',
|
33 |
'title' => esc_html__( 'General', 'woolentor' ),
|
34 |
+
'icon' => 'dashicons-admin-home'
|
35 |
),
|
36 |
|
37 |
array(
|
40 |
'icon' => 'wli-store'
|
41 |
),
|
42 |
|
43 |
+
array(
|
44 |
+
'id' => 'woolentor_gutenberg_tabs',
|
45 |
+
'title' => esc_html__( 'Gutenberg', 'woolentor' ),
|
46 |
+
'icon' => 'wli-cog'
|
47 |
+
),
|
48 |
+
|
49 |
array(
|
50 |
'id' => 'woolentor_elements_tabs',
|
51 |
'title' => esc_html__( 'Elements', 'woolentor' ),
|
249 |
|
250 |
),
|
251 |
|
252 |
+
'woolentor_gutenberg_tabs' => array(
|
253 |
+
|
254 |
+
'settings' => array(
|
255 |
+
|
256 |
+
array(
|
257 |
+
'name' => 'css_add_via',
|
258 |
+
'label' => esc_html__( 'Add CSS through', 'woolentor' ),
|
259 |
+
'desc' => esc_html__( 'Choose how you want to add the newly generated CSS.', 'woolentor' ),
|
260 |
+
'type' => 'select',
|
261 |
+
'default' => 'internal',
|
262 |
+
'options' => array(
|
263 |
+
'internal' => esc_html__('Internal','woolentor'),
|
264 |
+
'external' => esc_html__('External','woolentor'),
|
265 |
+
)
|
266 |
+
),
|
267 |
+
|
268 |
+
array(
|
269 |
+
'name' => 'container_width',
|
270 |
+
'label' => esc_html__( 'Container Width', 'woolentor' ),
|
271 |
+
'desc' => esc_html__( 'You can set the container width from here.', 'woolentor' ),
|
272 |
+
'min' => 1,
|
273 |
+
'max' => 10000,
|
274 |
+
'step' => '1',
|
275 |
+
'type' => 'number',
|
276 |
+
'default' => '1140',
|
277 |
+
'sanitize_callback' => 'floatval'
|
278 |
+
),
|
279 |
+
|
280 |
+
),
|
281 |
+
|
282 |
+
'blocks' => array(
|
283 |
+
|
284 |
+
array(
|
285 |
+
'name' => 'general_blocks_heading',
|
286 |
+
'headding' => esc_html__( 'General', 'woolentor' ),
|
287 |
+
'type' => 'title',
|
288 |
+
'class' => 'woolentor_heading_style_two'
|
289 |
+
),
|
290 |
+
|
291 |
+
array(
|
292 |
+
'name' => 'product_tab',
|
293 |
+
'label' => esc_html__( 'Product Tab', 'woolentor' ),
|
294 |
+
'type' => 'element',
|
295 |
+
'default' => 'on'
|
296 |
+
),
|
297 |
+
|
298 |
+
array(
|
299 |
+
'name' => 'promo_banner',
|
300 |
+
'label' => esc_html__( 'Promo Banner', 'woolentor' ),
|
301 |
+
'type' => 'element',
|
302 |
+
'default' => 'on'
|
303 |
+
),
|
304 |
+
|
305 |
+
array(
|
306 |
+
'name' => 'special_day_offer',
|
307 |
+
'label' => esc_html__( 'Special Day Offer', 'woolentor' ),
|
308 |
+
'type' => 'element',
|
309 |
+
'default' => 'on'
|
310 |
+
),
|
311 |
+
|
312 |
+
array(
|
313 |
+
'name' => 'image_marker',
|
314 |
+
'label' => esc_html__( 'Image Marker', 'woolentor' ),
|
315 |
+
'type' => 'element',
|
316 |
+
'default' => 'on'
|
317 |
+
),
|
318 |
+
|
319 |
+
array(
|
320 |
+
'name' => 'store_feature',
|
321 |
+
'label' => esc_html__( 'Store Feature', 'woolentor' ),
|
322 |
+
'type' => 'element',
|
323 |
+
'default' => 'on'
|
324 |
+
),
|
325 |
+
|
326 |
+
array(
|
327 |
+
'name' => 'brand_logo',
|
328 |
+
'label' => esc_html__( 'Brand Logo', 'woolentor' ),
|
329 |
+
'type' => 'element',
|
330 |
+
'default' => 'on'
|
331 |
+
),
|
332 |
+
|
333 |
+
array(
|
334 |
+
'name' => 'category_grid',
|
335 |
+
'label' => esc_html__( 'Category Grid', 'woolentor' ),
|
336 |
+
'type' => 'element',
|
337 |
+
'default' => 'on'
|
338 |
+
),
|
339 |
+
|
340 |
+
array(
|
341 |
+
'name' => 'faq',
|
342 |
+
'label' => esc_html__( 'FAQ', 'woolentor' ),
|
343 |
+
'type' => 'element',
|
344 |
+
'default' => 'on'
|
345 |
+
),
|
346 |
+
|
347 |
+
array(
|
348 |
+
'name' => 'product_curvy',
|
349 |
+
'label' => esc_html__( 'Product Curvy', 'woolentor' ),
|
350 |
+
'type' => 'element',
|
351 |
+
'default' => 'on'
|
352 |
+
),
|
353 |
+
|
354 |
+
array(
|
355 |
+
'name' => 'archive_title',
|
356 |
+
'label' => esc_html__( 'Archive Title', 'woolentor' ),
|
357 |
+
'type' => 'element',
|
358 |
+
'default' => 'on'
|
359 |
+
),
|
360 |
+
|
361 |
+
array(
|
362 |
+
'name' => 'breadcrumbs',
|
363 |
+
'label' => esc_html__( 'Breadcrumbs', 'woolentor' ),
|
364 |
+
'type' => 'element',
|
365 |
+
'default' => 'on'
|
366 |
+
),
|
367 |
+
|
368 |
+
array(
|
369 |
+
'name' => 'shop_blocks_heading',
|
370 |
+
'headding' => esc_html__( 'Shop / Archive', 'woolentor' ),
|
371 |
+
'type' => 'title',
|
372 |
+
'class' => 'woolentor_heading_style_two'
|
373 |
+
),
|
374 |
+
|
375 |
+
array(
|
376 |
+
'name' => 'shop_archive_product',
|
377 |
+
'label' => esc_html__( 'Product Archive (Default)', 'woolentor' ),
|
378 |
+
'type' => 'element',
|
379 |
+
'default' => 'on'
|
380 |
+
),
|
381 |
+
|
382 |
+
array(
|
383 |
+
'name' => 'single_blocks_heading',
|
384 |
+
'headding' => esc_html__( 'Single Product', 'woolentor' ),
|
385 |
+
'type' => 'title',
|
386 |
+
'class' => 'woolentor_heading_style_two'
|
387 |
+
),
|
388 |
+
|
389 |
+
array(
|
390 |
+
'name' => 'product_title',
|
391 |
+
'label' => esc_html__('Product Title','woolentor'),
|
392 |
+
'type' => 'element',
|
393 |
+
'default' => 'on'
|
394 |
+
),
|
395 |
+
|
396 |
+
array(
|
397 |
+
'name' => 'product_price',
|
398 |
+
'label' => esc_html__('Product Price','woolentor'),
|
399 |
+
'type' => 'element',
|
400 |
+
'default' => 'on'
|
401 |
+
),
|
402 |
+
|
403 |
+
array(
|
404 |
+
'name' => 'product_addtocart',
|
405 |
+
'label' => esc_html__('Product Add To Cart','woolentor'),
|
406 |
+
'type' => 'element',
|
407 |
+
'default' => 'on'
|
408 |
+
),
|
409 |
+
|
410 |
+
array(
|
411 |
+
'name' => 'product_short_description',
|
412 |
+
'label' => esc_html__('Product Short Description','woolentor'),
|
413 |
+
'type' => 'element',
|
414 |
+
'default' => 'on'
|
415 |
+
),
|
416 |
+
|
417 |
+
array(
|
418 |
+
'name' => 'product_description',
|
419 |
+
'label' => esc_html__('Product Description','woolentor'),
|
420 |
+
'type' => 'element',
|
421 |
+
'default' => 'on'
|
422 |
+
),
|
423 |
+
|
424 |
+
array(
|
425 |
+
'name' => 'product_rating',
|
426 |
+
'label' => esc_html__('Product Rating','woolentor'),
|
427 |
+
'type' => 'element',
|
428 |
+
'default' => 'on'
|
429 |
+
),
|
430 |
+
|
431 |
+
array(
|
432 |
+
'name' => 'product_image',
|
433 |
+
'label' => esc_html__('Product Image','woolentor'),
|
434 |
+
'type' => 'element',
|
435 |
+
'default' => 'on'
|
436 |
+
),
|
437 |
+
|
438 |
+
array(
|
439 |
+
'name' => 'product_meta',
|
440 |
+
'label' => esc_html__('Product Meta','woolentor'),
|
441 |
+
'type' => 'element',
|
442 |
+
'default' => 'on'
|
443 |
+
),
|
444 |
+
|
445 |
+
array(
|
446 |
+
'name' => 'product_additional_info',
|
447 |
+
'label' => esc_html__('Product Additional Info','woolentor'),
|
448 |
+
'type' => 'element',
|
449 |
+
'default' => 'on'
|
450 |
+
),
|
451 |
+
|
452 |
+
array(
|
453 |
+
'name' => 'product_tabs',
|
454 |
+
'label' => esc_html__('Product Tabs','woolentor'),
|
455 |
+
'type' => 'element',
|
456 |
+
'default' => 'on'
|
457 |
+
),
|
458 |
+
|
459 |
+
array(
|
460 |
+
'name' => 'product_stock',
|
461 |
+
'label' => esc_html__('Product Stock','woolentor'),
|
462 |
+
'type' => 'element',
|
463 |
+
'default' => 'on'
|
464 |
+
),
|
465 |
+
|
466 |
+
array(
|
467 |
+
'name' => 'product_qrcode',
|
468 |
+
'label' => esc_html__('Product QR Code','woolentor'),
|
469 |
+
'type' => 'element',
|
470 |
+
'default' => 'on'
|
471 |
+
),
|
472 |
+
|
473 |
+
array(
|
474 |
+
'name' => 'product_related',
|
475 |
+
'label' => esc_html__('Product Related','woolentor'),
|
476 |
+
'type' => 'element',
|
477 |
+
'default' => 'on'
|
478 |
+
),
|
479 |
+
|
480 |
+
array(
|
481 |
+
'name' => 'product_upsell',
|
482 |
+
'label' => esc_html__('Product Upsell','woolentor'),
|
483 |
+
'type' => 'element',
|
484 |
+
'default' => 'on'
|
485 |
+
)
|
486 |
+
|
487 |
+
)
|
488 |
+
|
489 |
+
),
|
490 |
+
|
491 |
'woolentor_elements_tabs' => array(
|
492 |
|
493 |
array(
|
917 |
'is_pro' => true,
|
918 |
),
|
919 |
|
920 |
+
array(
|
921 |
+
'name' => 'wl_single_pdoduct_navigation',
|
922 |
+
'label' => __( 'Product Navigation', 'woolentor-pro' ),
|
923 |
+
'type' => 'element',
|
924 |
+
'default' => 'off',
|
925 |
+
'is_pro'=> true,
|
926 |
+
),
|
927 |
+
|
928 |
array(
|
929 |
'name' => 'cart_widget_heading',
|
930 |
'headding' => esc_html__( 'Cart', 'woolentor' ),
|
982 |
|
983 |
array(
|
984 |
'name' => 'checkout_widget_heading',
|
985 |
+
'headding' => esc_html__( 'Checkout', 'woolentor' ),
|
986 |
'type' => 'title',
|
987 |
'class' => 'woolentor_heading_style_two'
|
988 |
),
|
1148 |
|
1149 |
array(
|
1150 |
'name' => 'thankyou_widget_heading',
|
1151 |
+
'headding' => esc_html__( 'Thank You', 'woolentor' ),
|
1152 |
'type' => 'title',
|
1153 |
'class' => 'woolentor_heading_style_two'
|
1154 |
),
|
1214 |
'section' => 'woolentor_rename_label_tabs',
|
1215 |
'option_id'=> 'enablerenamelabel',
|
1216 |
'require_settings'=> true,
|
1217 |
+
'documentation' => esc_url('https://woolentor.com/doc/change-woocommerce-text/'),
|
1218 |
'setting_fields' => array(
|
1219 |
|
1220 |
array(
|
1312 |
'section' => 'woolentor_sales_notification_tabs',
|
1313 |
'option_id'=> 'enableresalenotification',
|
1314 |
'require_settings'=> true,
|
1315 |
+
'documentation' => esc_url('https://woolentor.com/doc/sales-notification-for-woocommerce/'),
|
1316 |
'setting_fields' => array(
|
1317 |
|
1318 |
array(
|
1716 |
'section' => 'woolentor_shopify_checkout_settings',
|
1717 |
'option_id'=> 'enable',
|
1718 |
'require_settings' => true,
|
1719 |
+
'documentation' => esc_url('https://woolentor.com/doc/how-to-make-woocommerce-checkout-like-shopify/'),
|
1720 |
'setting_fields' => array(
|
1721 |
|
1722 |
array(
|
1750 |
'class' => 'woolentor-action-field-left'
|
1751 |
),
|
1752 |
|
1753 |
+
array(
|
1754 |
+
'name' => 'show_phone',
|
1755 |
+
'label' => esc_html__( 'Show Phone Number Field', 'woolentor' ),
|
1756 |
+
'desc' => esc_html__( 'Show the Phone Number Field.', 'woolentor' ),
|
1757 |
+
'type' => 'checkbox',
|
1758 |
+
'class' => 'woolentor-action-field-left'
|
1759 |
+
),
|
1760 |
+
|
1761 |
+
array(
|
1762 |
+
'name' => 'show_company',
|
1763 |
+
'label' => esc_html__( 'Show Company Name Field', 'woolentor' ),
|
1764 |
+
'desc' => esc_html__( 'Show the Company Name Field.', 'woolentor' ),
|
1765 |
+
'type' => 'checkbox',
|
1766 |
+
'class' => 'woolentor-action-field-left'
|
1767 |
+
),
|
1768 |
+
|
1769 |
array(
|
1770 |
'name' => 'hide_cart_nivigation',
|
1771 |
'label' => esc_html__( 'Hide Cart Navigation', 'woolentor' ),
|
1848 |
'section' => 'woolentor_flash_sale_settings',
|
1849 |
'option_id'=> 'enable',
|
1850 |
'require_settings' => true,
|
1851 |
+
'documentation' => esc_url('https://woolentor.com/doc/enable-sales-countdown-timer-in-woocommerce/'),
|
1852 |
'setting_fields' => array(
|
1853 |
|
1854 |
array(
|
1955 |
|
1956 |
array(
|
1957 |
'name' => 'discount_value',
|
1958 |
+
'label' => esc_html__( 'Discount Value', 'woolentor' ),
|
1959 |
'min' => 0.0,
|
1960 |
'step' => 0.01,
|
1961 |
'type' => 'number',
|
2050 |
'section' => 'woolentor_backorder_settings',
|
2051 |
'option_id'=> 'enable',
|
2052 |
'require_settings' => true,
|
2053 |
+
'documentation' => esc_url('https://woolentor.com/doc/how-to-enable-woocommerce-backorder/'),
|
2054 |
'setting_fields' => array(
|
2055 |
|
2056 |
array(
|
2090 |
|
2091 |
),
|
2092 |
|
2093 |
+
array(
|
2094 |
+
'name' => 'swatch_settings',
|
2095 |
+
'label' => esc_html__( 'Variation Swatches', 'woolentor' ),
|
2096 |
+
'type' => 'module',
|
2097 |
+
'default' => 'off',
|
2098 |
+
'section' => 'woolentor_swatch_settings',
|
2099 |
+
'option_id'=> 'enable',
|
2100 |
+
'require_settings' => true,
|
2101 |
+
'setting_fields' => array(
|
2102 |
+
|
2103 |
+
array(
|
2104 |
+
'name' => 'enable',
|
2105 |
+
'label' => esc_html__( 'Enable / Disable', 'woolentor' ),
|
2106 |
+
'desc' => esc_html__( 'Enable / disable this module.', 'woolentor' ),
|
2107 |
+
'type' => 'checkbox',
|
2108 |
+
'default' => 'off',
|
2109 |
+
'class' => 'woolentor-action-field-left'
|
2110 |
+
),
|
2111 |
+
|
2112 |
+
array(
|
2113 |
+
'name' => 'sp_enable_swatches',
|
2114 |
+
'label' => esc_html__( 'Enable On Product Details Page', 'woolentor' ),
|
2115 |
+
'desc' => esc_html__( 'Enable Swatches for the Product Details pages.', 'woolentor' ),
|
2116 |
+
'type' => 'checkbox',
|
2117 |
+
'default' => 'on',
|
2118 |
+
'class' => 'woolentor-action-field-left',
|
2119 |
+
'condition' => array('enable', '==', '1')
|
2120 |
+
),
|
2121 |
+
|
2122 |
+
array(
|
2123 |
+
'name' => 'pl_enable_swatches',
|
2124 |
+
'label' => esc_html__( 'Enable On Shop / Archive Page', 'woolentor' ),
|
2125 |
+
'desc' => esc_html__( 'Enable Swatches for the products in the Shop / Archive Pages', 'woolentor' ),
|
2126 |
+
'type' => 'checkbox',
|
2127 |
+
'default' => 'off',
|
2128 |
+
'class' => 'woolentor-action-field-left',
|
2129 |
+
'condition' => array('enable', '==', '1')
|
2130 |
+
),
|
2131 |
+
|
2132 |
+
array(
|
2133 |
+
'name' => 'heading_1',
|
2134 |
+
'type' => 'title',
|
2135 |
+
'headding' => esc_html__( 'General Options', 'woolentor' ),
|
2136 |
+
'size' => 'woolentor_style_seperator',
|
2137 |
+
'condition' => array('enable', '==', '1')
|
2138 |
+
),
|
2139 |
+
|
2140 |
+
array(
|
2141 |
+
'name' => 'auto_convert_dropdowns_to_label',
|
2142 |
+
'label' => esc_html__( 'Auto Convert Dropdowns To Label', 'woolentor' ),
|
2143 |
+
'desc' => esc_html__( 'Automatically convert dropdowns to "label swatch" by default.', 'woolentor' ),
|
2144 |
+
'type' => 'checkbox',
|
2145 |
+
'default' => 'on',
|
2146 |
+
'class' => 'woolentor-action-field-left',
|
2147 |
+
'condition' => array('enable', '==', '1')
|
2148 |
+
),
|
2149 |
+
|
2150 |
+
array(
|
2151 |
+
'name' => 'auto_convert_dropdowns_to_image',
|
2152 |
+
'label' => esc_html__( 'Auto Convert Dropdowns To Image', 'woolentor' ),
|
2153 |
+
'desc' => esc_html__( 'Automatically convert dropdowns to "Image Swatch" if variation has an image.', 'woolentor' ),
|
2154 |
+
'type' => 'checkbox',
|
2155 |
+
'default' => 'off',
|
2156 |
+
'class' => 'woolentor-action-field-left woolentor-adv-pro-notice',
|
2157 |
+
'condition' => array('enable', '==', '1'),
|
2158 |
+
'is_pro' => true
|
2159 |
+
),
|
2160 |
+
|
2161 |
+
array(
|
2162 |
+
'name' => 'auto_convert_dropdowns_to_image_condition',
|
2163 |
+
'label' => esc_html__( 'Apply Auto Image For', 'woolentor' ),
|
2164 |
+
'type' => 'select',
|
2165 |
+
'class' => 'woolentor-action-field-left',
|
2166 |
+
'default' => 'first_attribute',
|
2167 |
+
'options' => array(
|
2168 |
+
'first_attribute' => esc_html__('The First attribute', 'woolentor'),
|
2169 |
+
'maximum' => esc_html__('The attribute with Maximum variations count', 'woolentor'),
|
2170 |
+
'minimum' => esc_html__('The attribute with Minimum variations count', 'woolentor'),
|
2171 |
+
),
|
2172 |
+
'condition' => array('enable|auto_convert_dropdowns_to_image', '==|==', '1|1')
|
2173 |
+
),
|
2174 |
+
|
2175 |
+
array(
|
2176 |
+
'name' => 'tooltip',
|
2177 |
+
'label' => esc_html__( 'Tooltip', 'woolentor' ),
|
2178 |
+
'desc' => esc_html__( 'Enable Tooltip', 'woolentor' ),
|
2179 |
+
'type' => 'checkbox',
|
2180 |
+
'default' => 'on',
|
2181 |
+
'class' => 'woolentor-action-field-left',
|
2182 |
+
'condition' => array('enable', '==', '1')
|
2183 |
+
),
|
2184 |
+
|
2185 |
+
array(
|
2186 |
+
'name' => 'swatch_width_height',
|
2187 |
+
'label' => esc_html__( 'Swatch Width & Height', 'woolentor' ),
|
2188 |
+
'desc' => esc_html__( 'Change Swatch Width and Height From Here.', 'woolentor' ),
|
2189 |
+
'type' => 'dimensions',
|
2190 |
+
'options' => [
|
2191 |
+
'width' => esc_html__( 'Width', 'woolentor' ),
|
2192 |
+
'height' => esc_html__( 'Height', 'woolentor' ),
|
2193 |
+
'unit' => esc_html__( 'Unit', 'woolentor' ),
|
2194 |
+
],
|
2195 |
+
'default' => array(
|
2196 |
+
'unit' => 'px'
|
2197 |
+
),
|
2198 |
+
'class' => 'woolentor-action-field-left woolentor-dimention-field-left',
|
2199 |
+
'condition' => array('enable', '==', '1')
|
2200 |
+
),
|
2201 |
+
|
2202 |
+
array(
|
2203 |
+
'name' => 'tooltip_width_height',
|
2204 |
+
'label' => esc_html__( 'Tooltip Width', 'woolentor' ),
|
2205 |
+
'desc' => esc_html__( 'Change Tooltip Width From Here.', 'woolentor' ),
|
2206 |
+
'type' => 'dimensions',
|
2207 |
+
'options' => [
|
2208 |
+
'width' => esc_html__( 'Width', 'woolentor' ),
|
2209 |
+
'unit' => esc_html__( 'Unit', 'woolentor' ),
|
2210 |
+
],
|
2211 |
+
'default' => array(
|
2212 |
+
'unit' => 'px'
|
2213 |
+
),
|
2214 |
+
'class' => 'woolentor-action-field-left woolentor-dimention-field-left',
|
2215 |
+
'condition' => array('enable', '==', '1')
|
2216 |
+
),
|
2217 |
+
|
2218 |
+
array(
|
2219 |
+
'name' => 'show_swatch_image_in_tooltip',
|
2220 |
+
'type' => 'checkbox',
|
2221 |
+
'label' => esc_html__('Swatch Image as Tooltip', 'woolentor'),
|
2222 |
+
'desc' => esc_html__('If you check this options. When a watch type is "image" and has an image. The image will be shown into the tooltip.', 'woolentor'),
|
2223 |
+
'class' => 'woolentor-action-field-left',
|
2224 |
+
'condition' => array('enable', '==', '1')
|
2225 |
+
),
|
2226 |
+
|
2227 |
+
array(
|
2228 |
+
'name' => 'ajax_variation_threshold',
|
2229 |
+
'type' => 'number',
|
2230 |
+
'label' => esc_html__('Change AJAX Variation Threshold', 'woolentor'),
|
2231 |
+
'placeholder'=> '30',
|
2232 |
+
'class' => 'woolentor-action-field-left',
|
2233 |
+
'condition' => array('enable', '==', '1'),
|
2234 |
+
'tooltip' => [
|
2235 |
+
'text' => __('If a variable product has over 30 variants, WooCommerce doesn\'t allow you to show which combinations are unavailable for purchase. That\'s why customers need to check each combination to see if it is available or not. Although you can increase the threshold, keeping it at a standard value is recommended, so it doesn\'t negatively impact your website\'s performance.
|
2236 |
+
<br/>Here \"standard value\" refers to the number of highest combinations you have set for one of your products.','woolentor'),
|
2237 |
+
'placement' => 'top',
|
2238 |
+
],
|
2239 |
+
),
|
2240 |
+
|
2241 |
+
array(
|
2242 |
+
'name' => 'shape_style',
|
2243 |
+
'type' => 'select',
|
2244 |
+
'label' => esc_html__('Shape Style', 'woolentor'),
|
2245 |
+
'options' => array(
|
2246 |
+
'squared' => esc_html__('Squared', 'woolentor'),
|
2247 |
+
'rounded' => esc_html__('Rounded', 'woolentor'),
|
2248 |
+
'circle' => esc_html__('Circle', 'woolentor'),
|
2249 |
+
),
|
2250 |
+
'default' => 'squared',
|
2251 |
+
'class' => 'woolentor-action-field-left',
|
2252 |
+
'condition' => array('enable', '==', '1')
|
2253 |
+
),
|
2254 |
+
|
2255 |
+
array(
|
2256 |
+
'name' => 'enable_shape_inset',
|
2257 |
+
'type' => 'checkbox',
|
2258 |
+
'label' => esc_html__('Enable Shape Inset', 'woolentor'),
|
2259 |
+
'desc' => esc_html__('Shape inset is the empty space arround the swatch.', 'woolentor'),
|
2260 |
+
'class' => 'woolentor-action-field-left',
|
2261 |
+
'condition' => array('enable', '==', '1')
|
2262 |
+
),
|
2263 |
+
|
2264 |
+
array(
|
2265 |
+
'name' => 'show_selected_attribute_name',
|
2266 |
+
'type' => 'checkbox',
|
2267 |
+
'label' => esc_html__('Show Selected Variation Name', 'woolentor'),
|
2268 |
+
'default' => 'on',
|
2269 |
+
'class' => 'woolentor-action-field-left',
|
2270 |
+
'condition' => array('enable', '==', '1')
|
2271 |
+
),
|
2272 |
+
|
2273 |
+
array(
|
2274 |
+
'name' => 'variation_label_separator',
|
2275 |
+
'type' => 'text',
|
2276 |
+
'label' => esc_html__('Variation Label Separator', 'woolentor'),
|
2277 |
+
'default' => esc_html__(' : ', 'woolentor'),
|
2278 |
+
'class' => 'woolentor-action-field-left',
|
2279 |
+
'condition' => array( 'enable|show_selected_attribute_name', '==|==', '1|1' ),
|
2280 |
+
),
|
2281 |
+
|
2282 |
+
array(
|
2283 |
+
'name' => 'disabled_attribute_type',
|
2284 |
+
'type' => 'select',
|
2285 |
+
'label' => esc_html__('Disabled Attribute Type', 'woolentor'),
|
2286 |
+
'options' => array(
|
2287 |
+
'' => esc_html__('Cross Sign', 'woolentor'),
|
2288 |
+
'blur_with_cross' => esc_html__('Blur With Cross', 'woolentor'),
|
2289 |
+
'blur' => esc_html__('Blur', 'woolentor'),
|
2290 |
+
'hide' => esc_html__('Hide', 'woolentor'),
|
2291 |
+
),
|
2292 |
+
'desc' => esc_html__('Note: It will not effective when you have large number of variations but the "Ajax Variation Threshold" value is less than the number of variations.', 'woolentor'),
|
2293 |
+
'class' => 'woolentor-action-field-left',
|
2294 |
+
'condition' => array('enable', '==', '1'),
|
2295 |
+
),
|
2296 |
+
|
2297 |
+
array(
|
2298 |
+
'name' => 'disable_out_of_stock',
|
2299 |
+
'type' => 'checkbox',
|
2300 |
+
'label' => esc_html__('Disable Variation Form for The "Out of Stock" Products', 'woolentor'),
|
2301 |
+
'desc' => esc_html__('If disabled, an out of stock message will be shown instead of showing the variations form / swatches.', 'woolentor'),
|
2302 |
+
'class' => 'woolentor-action-field-left woolentor-adv-pro-notice',
|
2303 |
+
'condition' => array('enable', '==', '1'),
|
2304 |
+
'is_pro' => true
|
2305 |
+
),
|
2306 |
+
|
2307 |
+
// Archive page options
|
2308 |
+
array(
|
2309 |
+
'name' => 'heading_2',
|
2310 |
+
'type' => 'title',
|
2311 |
+
'headding' => esc_html__( 'Shop / Archive Page Swatch Options', 'woolentor' ),
|
2312 |
+
'size' => 'woolentor_style_seperator',
|
2313 |
+
'condition' => array( 'enable|pl_enable_swatches', '==|==', '1|1' ),
|
2314 |
+
),
|
2315 |
+
|
2316 |
+
array(
|
2317 |
+
'name' => 'pl_show_swatches_label',
|
2318 |
+
'type' => 'checkbox',
|
2319 |
+
'label' => esc_html__('Show Swatches Label', 'woolentor'),
|
2320 |
+
'class' => 'woolentor-action-field-left',
|
2321 |
+
'condition' => array( 'enable|pl_enable_swatches', '==|==', '1|1' ),
|
2322 |
+
),
|
2323 |
+
|
2324 |
+
array(
|
2325 |
+
'name' => 'pl_show_clear_link',
|
2326 |
+
'type' => 'checkbox',
|
2327 |
+
'label' => esc_html__('Show Clear Button', 'woolentor'),
|
2328 |
+
'class' => 'woolentor-action-field-left',
|
2329 |
+
'default' => 'on',
|
2330 |
+
'condition' => array( 'enable|pl_enable_swatches', '==|==', '1|1' ),
|
2331 |
+
),
|
2332 |
+
|
2333 |
+
array(
|
2334 |
+
'name' => 'pl_align',
|
2335 |
+
'type' => 'select',
|
2336 |
+
'label' => esc_html__('Swatches Align', 'woolentor'),
|
2337 |
+
'options' => array(
|
2338 |
+
'left' => esc_html__('Left', 'woolentor'),
|
2339 |
+
'center' => esc_html__('Center', 'woolentor'),
|
2340 |
+
'right' => esc_html__('Right', 'woolentor'),
|
2341 |
+
),
|
2342 |
+
'default' => 'center',
|
2343 |
+
'class' => 'woolentor-action-field-left',
|
2344 |
+
'condition' => array( 'enable|pl_enable_swatches', '==|==', '1|1' ),
|
2345 |
+
),
|
2346 |
+
|
2347 |
+
array(
|
2348 |
+
'name' => 'pl_position',
|
2349 |
+
'type' => 'select',
|
2350 |
+
'label' => esc_html__('Swatches Position', 'woolentor'),
|
2351 |
+
'options' => array(
|
2352 |
+
'before_title' => esc_html__('Before Title', 'woolentor'),
|
2353 |
+
'after_title' => esc_html__('After Title', 'woolentor'),
|
2354 |
+
'before_price' => esc_html__('Before Price', 'woolentor'),
|
2355 |
+
'after_price' => esc_html__('After Price', 'woolentor'),
|
2356 |
+
'custom_position' => esc_html__('Custom Position', 'woolentor'),
|
2357 |
+
'shortcode' => esc_html__('Use Shortcode', 'woolentor'),
|
2358 |
+
),
|
2359 |
+
'default' => 'after_title',
|
2360 |
+
'class' => 'woolentor-action-field-left',
|
2361 |
+
'condition' => array( 'enable|pl_enable_swatches', '==|==', '1|1' ),
|
2362 |
+
),
|
2363 |
+
|
2364 |
+
array(
|
2365 |
+
'name' => 'pl_custom_position_hook_name',
|
2366 |
+
'type' => 'text',
|
2367 |
+
'label' => esc_html__('Hook Name', 'woolentor'),
|
2368 |
+
'desc' => esc_html__('e.g: woocommerce_after_shop_loop_item_title', 'woolentor'),
|
2369 |
+
'class' => 'woolentor-action-field-left',
|
2370 |
+
'condition' => array('enable|pl_enable_swatches|pl_position', '==|==|==', '1|1|custom_position'),
|
2371 |
+
),
|
2372 |
+
|
2373 |
+
array(
|
2374 |
+
'name' => 'pl_custom_position_hook_priority',
|
2375 |
+
'type' => 'text',
|
2376 |
+
'label' => esc_html__('Hook Priority', 'woolentor'),
|
2377 |
+
'desc' => esc_html__('Default: 10', 'woolentor'),
|
2378 |
+
'class' => 'woolentor-action-field-left',
|
2379 |
+
'condition' => array('enable|pl_enable_swatches|pl_position', '==|==|==', '1|1|custom_position'),
|
2380 |
+
),
|
2381 |
+
|
2382 |
+
array(
|
2383 |
+
'name' => 'pl_product_thumbnail_selector',
|
2384 |
+
'type' => 'text',
|
2385 |
+
'label' => esc_html__('Product Thumbnail Selector', 'woolentor'),
|
2386 |
+
'placeholder' => esc_html__('Example: img.attachment-woocommerce_thumbnail', 'woolentor'),
|
2387 |
+
'class' => 'woolentor-action-field-left',
|
2388 |
+
'condition' => array( 'enable|pl_enable_swatches', '==|==', '1|1' ),
|
2389 |
+
'tooltip' => [
|
2390 |
+
'text' => esc_html__( 'Some themes remove the default product image. In this case, variation image will not be changed after choose a variation. Here you can place the CSS selector of the product thumbnail, so the product image will be chagned once a variation is choosen.', 'woolentor' ),
|
2391 |
+
'placement' => 'top',
|
2392 |
+
],
|
2393 |
+
),
|
2394 |
+
|
2395 |
+
array(
|
2396 |
+
'name' => 'pl_enable_ajax_add_to_cart',
|
2397 |
+
'type' => 'checkbox',
|
2398 |
+
'label' => esc_html__('Enable AJAX Add to Cart', 'woolentor'),
|
2399 |
+
'class' => 'woolentor-action-field-left woolentor-adv-pro-notice',
|
2400 |
+
'condition' => array(
|
2401 |
+
'enable|pl_enable_swatches', '==|==', '1|1',
|
2402 |
+
),
|
2403 |
+
'is_pro' => true
|
2404 |
+
),
|
2405 |
+
|
2406 |
+
array(
|
2407 |
+
'name' => 'pl_add_to_cart_text',
|
2408 |
+
'type' => 'text',
|
2409 |
+
'label' => esc_html__('Add to Cart Text', 'woolentor'),
|
2410 |
+
'desc' => esc_html__('Leave it empty for default.', 'woolentor'),
|
2411 |
+
'class' => 'woolentor-action-field-left woolentor-adv-pro-opacity',
|
2412 |
+
'condition' => array('enable|pl_enable_swatches', '==|==', '1|1',),
|
2413 |
+
'is_pro' => true
|
2414 |
+
),
|
2415 |
+
|
2416 |
+
array(
|
2417 |
+
'name' => 'pl_hide_wc_forward_button',
|
2418 |
+
'type' => 'checkbox',
|
2419 |
+
'label' => esc_html__('Hide "View Cart" button after Added to Cart', 'woolentor'),
|
2420 |
+
'desc' => esc_html__('After successfully add to cart, a new button shows linked to the cart page. You can controll of that button from here. Note: If redirect option is enable from WooCommerce it will not work.', 'woolentor'),
|
2421 |
+
'class' => 'woolentor-action-field-left woolentor-adv-pro-opacity',
|
2422 |
+
'condition' => array('enable|pl_enable_swatches', '==|==', '1|1'),
|
2423 |
+
'is_pro' => true
|
2424 |
+
),
|
2425 |
+
|
2426 |
+
array(
|
2427 |
+
'name' => 'pl_enable_cart_popup_notice',
|
2428 |
+
'type' => 'checkbox',
|
2429 |
+
'label' => esc_html__('Enable poupup notice after added to cart', 'woolentor'),
|
2430 |
+
'desc' => esc_html__('After successfully add to cart, a pupup notice will be generated containing a button linked to the cart page. Note: If redirect option is enable from WooCommerce it will not work.', 'woolentor'),
|
2431 |
+
'class' => 'woolentor-action-field-left woolentor-adv-pro-opacity',
|
2432 |
+
'condition' => array('enable|pl_enable_swatches', '==|==', '1|1'),
|
2433 |
+
'is_pro' => true
|
2434 |
+
),
|
2435 |
+
|
2436 |
+
|
2437 |
+
)
|
2438 |
+
|
2439 |
+
),
|
2440 |
+
|
2441 |
array(
|
2442 |
'name' => 'wishlist',
|
2443 |
'label' => esc_html__( 'Wishlist', 'woolentor' ),
|
2444 |
'type' => 'element',
|
2445 |
'default' => 'off',
|
2446 |
+
'documentation' => esc_url('https://woolentor.com/doc/wishlist-for-woocommerce/')
|
2447 |
),
|
2448 |
|
2449 |
array(
|
2451 |
'label' => esc_html__( 'Compare', 'woolentor' ),
|
2452 |
'type' => 'element',
|
2453 |
'default' => 'off',
|
2454 |
+
'documentation' => esc_url('https://woolentor.com/doc/woocommerce-product-compare/')
|
2455 |
),
|
2456 |
|
2457 |
array(
|
2460 |
'desc' => esc_html__( 'AJAX Search Widget', 'woolentor' ),
|
2461 |
'type' => 'element',
|
2462 |
'default' => 'off',
|
2463 |
+
'documentation' => esc_url('https://woolentor.com/doc/how-to-use-woocommerce-ajax-search/')
|
2464 |
),
|
2465 |
|
2466 |
array(
|
2469 |
'desc' => esc_html__( 'AJAX Add to Cart on Single Product page', 'woolentor' ),
|
2470 |
'type' => 'element',
|
2471 |
'default' => 'off',
|
2472 |
+
'documentation' => esc_url('https://woolentor.com/doc/single-product-ajax-add-to-cart/')
|
2473 |
),
|
2474 |
|
2475 |
array(
|
2550 |
|
2551 |
array(
|
2552 |
'name' => 'redirect_add_to_cartp',
|
2553 |
+
'label' => esc_html__( 'Redirect to Checkout', 'woolentor' ),
|
2554 |
'type' => 'element',
|
2555 |
'default'=> 'off',
|
2556 |
'is_pro' => true
|
2804 |
|
2805 |
$settings_fields['woolentor_others_tabs']['modules'][] = [
|
2806 |
'name' => 'postduplicator',
|
2807 |
+
'label' => esc_html__( 'Post Duplicator', 'woolentor' ),
|
2808 |
'type' => 'element',
|
2809 |
'default' => 'off',
|
2810 |
'require_settings' => true,
|
2811 |
+
'documentation' => esc_url('https://woolentor.com/doc/duplicate-woocommerce-product/'),
|
2812 |
'setting_fields' => array(
|
2813 |
|
2814 |
array(
|
includes/admin/include/class.extension-manager.php
CHANGED
@@ -59,12 +59,7 @@ class Woolentor_Extension_Manager{
|
|
59 |
$plugins_list = array(
|
60 |
|
61 |
'free' => array(
|
62 |
-
|
63 |
-
array(
|
64 |
-
'slug' => 'swatchly',
|
65 |
-
'location' => 'swatchly.php',
|
66 |
-
'name' => esc_html__( 'Swatchly', 'woolentor' )
|
67 |
-
),
|
68 |
array(
|
69 |
'slug' => 'whols',
|
70 |
'location' => 'whols.php',
|
@@ -110,16 +105,7 @@ class Woolentor_Extension_Manager{
|
|
110 |
'link' => 'https://hasthemes.com/plugins/multi-currency-pro-for-woocommerce/',
|
111 |
'author_link'=> 'https://hasthemes.com/',
|
112 |
'description'=> esc_html__( 'Multi-Currency Pro for WooCommerce is a prominent currency switcher plugin for WooCommerce. This plugin allows your website or online store visitors to switch to their preferred currency or their country’s currency.', 'woolentor' ),
|
113 |
-
)
|
114 |
-
|
115 |
-
array(
|
116 |
-
'slug' => 'email-candy-pro',
|
117 |
-
'location' => 'email-candy-pro.php',
|
118 |
-
'name' => esc_html__( 'Email Candy Pro - Email customizer for WooCommerce', 'woolentor' ),
|
119 |
-
'link' => 'https://hasthemes.com/plugins/email-candy-pro/',
|
120 |
-
'author_link'=> 'https://hasthemes.com/',
|
121 |
-
'description'=> esc_html__( 'Email Candy is an outstanding WordPress plugin that allows you to customize the default WooCommerce email templates and give a professional look to your WooCommerce emails. If you are tired of using the boring design of WooCommerce emails and want to create customized emails, then this plugin will come in handy.', 'woolentor' ),
|
122 |
-
),
|
123 |
|
124 |
),
|
125 |
);
|
59 |
$plugins_list = array(
|
60 |
|
61 |
'free' => array(
|
62 |
+
|
|
|
|
|
|
|
|
|
|
|
63 |
array(
|
64 |
'slug' => 'whols',
|
65 |
'location' => 'whols.php',
|
105 |
'link' => 'https://hasthemes.com/plugins/multi-currency-pro-for-woocommerce/',
|
106 |
'author_link'=> 'https://hasthemes.com/',
|
107 |
'description'=> esc_html__( 'Multi-Currency Pro for WooCommerce is a prominent currency switcher plugin for WooCommerce. This plugin allows your website or online store visitors to switch to their preferred currency or their country’s currency.', 'woolentor' ),
|
108 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
|
110 |
),
|
111 |
);
|
includes/admin/include/class.template-manager.php
CHANGED
@@ -21,7 +21,7 @@ class Woolentor_Template_Manager{
|
|
21 |
|
22 |
//Add Menu
|
23 |
add_action( 'admin_menu', [ $this, 'admin_menu' ], 225 );
|
24 |
-
|
25 |
// Load Scripts
|
26 |
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
|
27 |
|
@@ -37,6 +37,11 @@ class Woolentor_Template_Manager{
|
|
37 |
|
38 |
// query filter
|
39 |
add_filter( 'parse_query', [ $this, 'query_filter' ] );
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
// Template store ajax action
|
42 |
add_action( 'wp_ajax_woolentor_template_store', [ $this, 'template_store_request' ] );
|
@@ -49,23 +54,9 @@ class Woolentor_Template_Manager{
|
|
49 |
|
50 |
// Template Import
|
51 |
add_action( 'wp_ajax_woolentor_import_template', [ $this, 'template_import' ] );
|
52 |
-
|
53 |
-
// Elementor Plugin Missing
|
54 |
-
if ( ! did_action( 'elementor/loaded' ) ) {
|
55 |
-
add_action( 'admin_notices', [ $this, 'admin_notice_missing_main_plugin' ] );
|
56 |
-
}
|
57 |
|
58 |
}
|
59 |
|
60 |
-
// Missing Elementor Notices
|
61 |
-
public function admin_notice_missing_main_plugin(){
|
62 |
-
if ( ! is_admin() || ! $this->is_current_screen() ) {
|
63 |
-
return;
|
64 |
-
}else{
|
65 |
-
\WooLentor\Base::instance()->admin_notice_missing_main_plugin();
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
/**
|
70 |
* [admin_menu] Add Post type Submenu
|
71 |
*
|
@@ -193,6 +184,67 @@ class Woolentor_Template_Manager{
|
|
193 |
}
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
/**
|
197 |
* Get Template Menu Tabs
|
198 |
*
|
@@ -212,7 +264,11 @@ class Woolentor_Template_Manager{
|
|
212 |
],
|
213 |
];
|
214 |
|
215 |
-
|
|
|
|
|
|
|
|
|
216 |
|
217 |
}
|
218 |
|
@@ -238,7 +294,11 @@ class Woolentor_Template_Manager{
|
|
238 |
],
|
239 |
];
|
240 |
|
241 |
-
|
|
|
|
|
|
|
|
|
242 |
|
243 |
}
|
244 |
|
@@ -262,18 +322,22 @@ class Woolentor_Template_Manager{
|
|
262 |
if( !empty( $get_data['templates'] ) ){
|
263 |
foreach( $get_data['templates'] as $template ){
|
264 |
|
265 |
-
if( $template['
|
266 |
-
$data['
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
$
|
272 |
-
|
273 |
-
$
|
274 |
-
|
275 |
-
|
276 |
-
|
|
|
|
|
|
|
|
|
277 |
}
|
278 |
|
279 |
}
|
@@ -375,6 +439,11 @@ class Woolentor_Template_Manager{
|
|
375 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
376 |
'nonce' => wp_create_nonce('woolentor_tmp_nonce'),
|
377 |
'templatetype' => self::get_template_type(),
|
|
|
|
|
|
|
|
|
|
|
378 |
'templatelist' => $this->get_template_library(),
|
379 |
'adminURL' => admin_url(),
|
380 |
'labels' => [
|
@@ -384,6 +453,7 @@ class Woolentor_Template_Manager{
|
|
384 |
'placeholder' => __('Enter a template name','woolentor')
|
385 |
],
|
386 |
'type' => __('Type','woolentor'),
|
|
|
387 |
'setdefault' => __('Set Default','woolentor'),
|
388 |
],
|
389 |
'head' => __('Template Settings','woolentor'),
|
@@ -447,6 +517,7 @@ class Woolentor_Template_Manager{
|
|
447 |
$title = !empty( $_POST['title'] ) ? sanitize_text_field( $_POST['title'] ) : esc_html__( 'WooLentor template '.time(), 'woolentor' );
|
448 |
$tmpid = !empty( $_POST['tmpId'] ) ? sanitize_text_field( $_POST['tmpId'] ) : '';
|
449 |
$tmpType = !empty( $_POST['tmpType'] ) ? sanitize_text_field( $_POST['tmpType'] ) : 'single';
|
|
|
450 |
$setDefault = !empty( $_POST['setDefault'] ) ? sanitize_text_field( $_POST['setDefault'] ) : 'no';
|
451 |
$sampleTmpID = !empty( $_POST['sampleTmpID'] ) ? sanitize_text_field( $_POST['sampleTmpID'] ) : '';
|
452 |
$sampleTmpBuilder = !empty( $_POST['sampleTmpBuilder'] ) ? sanitize_text_field( $_POST['sampleTmpBuilder'] ) : '';
|
@@ -460,6 +531,10 @@ class Woolentor_Template_Manager{
|
|
460 |
'sampletmpbuilder' => $sampleTmpBuilder
|
461 |
];
|
462 |
|
|
|
|
|
|
|
|
|
463 |
if( $tmpid ){
|
464 |
$this->update( $data );
|
465 |
}else{
|
@@ -497,16 +572,22 @@ class Woolentor_Template_Manager{
|
|
497 |
);
|
498 |
|
499 |
// Meta data
|
500 |
-
$
|
|
|
|
|
501 |
update_post_meta( $new_post_id, self::CPT_META . '_type', $data['tmptype'] );
|
|
|
502 |
update_post_meta( $new_post_id, '_wp_page_template', $default_page_template );
|
503 |
|
|
|
|
|
|
|
|
|
504 |
// Sample data import
|
505 |
if( !empty( $data['sampletmpid'] ) && $data['sampletmpbuilder'] == 'elementor' ){
|
506 |
$templateurl = sprintf( Woolentor_Template_Library_Manager::get_api_templateapi(), $data['sampletmpid'] );
|
507 |
$response_data = Woolentor_Template_Library_Manager::get_content_remote_request( $templateurl );
|
508 |
update_post_meta( $new_post_id, '_elementor_data', $response_data['content']['content'] );
|
509 |
-
update_post_meta( $new_post_id, '_elementor_edit_mode', 'builder' );
|
510 |
}
|
511 |
|
512 |
if( $data['setdefaullt'] == 'yes' ) {
|
@@ -547,7 +628,6 @@ class Woolentor_Template_Manager{
|
|
547 |
$templateurl = sprintf( Woolentor_Template_Library_Manager::get_api_templateapi(), $data['sampletmpid'] );
|
548 |
$response_data = Woolentor_Template_Library_Manager::get_content_remote_request( $templateurl );
|
549 |
update_post_meta( $data['id'], '_elementor_data', $response_data['content']['content'] );
|
550 |
-
update_post_meta( $data['id'], '_elementor_edit_mode', 'builder' );
|
551 |
}
|
552 |
|
553 |
if( $data['setdefaullt'] == 'yes' ) {
|
@@ -583,9 +663,11 @@ class Woolentor_Template_Manager{
|
|
583 |
$tmpid = !empty( $_POST['tmpId'] ) ? sanitize_text_field( $_POST['tmpId'] ) : '';
|
584 |
$postdata = get_post( $tmpid );
|
585 |
$tmpType = !empty( get_post_meta( $tmpid, self::CPT_META . '_type', true ) ) ? get_post_meta( $tmpid, self::CPT_META . '_type', true ) : 'single';
|
|
|
586 |
$data = [
|
587 |
'tmpTitle' => $postdata->post_title,
|
588 |
'tmpType' => $tmpType,
|
|
|
589 |
'setDefault' => isset( self::get_template_type()[$tmpType]['optionkey'] ) ? woolentor_get_option( self::get_template_type()[$tmpType]['optionkey'], 'woolentor_woo_template_tabs', '0' ) : '0',
|
590 |
];
|
591 |
wp_send_json_success( $data );
|
21 |
|
22 |
//Add Menu
|
23 |
add_action( 'admin_menu', [ $this, 'admin_menu' ], 225 );
|
24 |
+
|
25 |
// Load Scripts
|
26 |
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
|
27 |
|
37 |
|
38 |
// query filter
|
39 |
add_filter( 'parse_query', [ $this, 'query_filter' ] );
|
40 |
+
|
41 |
+
// Post Row Action
|
42 |
+
add_filter( 'post_row_actions', [ $this, 'row_actions' ], 10, 2 );
|
43 |
+
|
44 |
+
add_filter('theme_'.self::CPTTYPE.'_templates', [ $this, 'add_page_templates' ], 999, 4 );
|
45 |
|
46 |
// Template store ajax action
|
47 |
add_action( 'wp_ajax_woolentor_template_store', [ $this, 'template_store_request' ] );
|
54 |
|
55 |
// Template Import
|
56 |
add_action( 'wp_ajax_woolentor_import_template', [ $this, 'template_import' ] );
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
}
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
/**
|
61 |
* [admin_menu] Add Post type Submenu
|
62 |
*
|
184 |
}
|
185 |
}
|
186 |
|
187 |
+
/**
|
188 |
+
* Manage Row Action
|
189 |
+
*
|
190 |
+
* @param [array] $actions
|
191 |
+
* @param [object] $post
|
192 |
+
* @return array
|
193 |
+
*/
|
194 |
+
public function row_actions( $actions, $post ) {
|
195 |
+
if ( $post->post_type == self::CPTTYPE ) {
|
196 |
+
|
197 |
+
// if ( isset( $actions['edit'] ) ) {
|
198 |
+
// $actions['edit'] = str_replace( strip_tags( $actions['edit'] ), __( 'Edit with Gutenberg', 'woolentor' ), $actions['edit'] );
|
199 |
+
// }
|
200 |
+
|
201 |
+
//$new_element = array( 'condition' => '<a href="'.get_edit_post_link($post->ID).'" class="woolentor-builder-conditions">'.__('Edit Condition' , 'woolentor').'</a>' );
|
202 |
+
//array_splice( $actions, 1, 0, $new_element );
|
203 |
+
|
204 |
+
if( $this->edit_with_gutenberg( $post->ID ) ) {
|
205 |
+
$actions['woolentor_edit_with_gutenberg'] = '<a href="'.get_edit_post_link($post->ID).'">'.esc_html__('Edit With Gutenberg', 'woolentor').'</a>';
|
206 |
+
}
|
207 |
+
|
208 |
+
}
|
209 |
+
return $actions;
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Add page templates.
|
214 |
+
*
|
215 |
+
* Fired by `theme_self::CPTTYPE_templates` filter.
|
216 |
+
*
|
217 |
+
* @param array $page_templates Array of page templates. Keys are filenames,
|
218 |
+
*
|
219 |
+
* @param \WP_Theme $wp_theme
|
220 |
+
* @param \WP_Post $post
|
221 |
+
*
|
222 |
+
* @return array Page templates.
|
223 |
+
*/
|
224 |
+
public function add_page_templates( $page_templates, $wp_theme, $post ){
|
225 |
+
unset( $page_templates['elementor_theme'] );
|
226 |
+
|
227 |
+
$page_templates['woolentor_canvas'] = esc_html__('WooLentor Canvas', 'woolentor');
|
228 |
+
$page_templates['woolentor_fullwidth'] = esc_html__('WooLentor Full width', 'woolentor');
|
229 |
+
|
230 |
+
return $page_templates;
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Check edit with gutenberg
|
235 |
+
*
|
236 |
+
* @param [ind] $id
|
237 |
+
* @return boolean
|
238 |
+
*/
|
239 |
+
public function edit_with_gutenberg( $id ){
|
240 |
+
$editor = get_post_meta( $id, 'woolentor_template_meta_editor', true );
|
241 |
+
if( ! empty( $editor ) && $editor === 'gutenberg' ){
|
242 |
+
return true;
|
243 |
+
}else{
|
244 |
+
return false;
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
/**
|
249 |
* Get Template Menu Tabs
|
250 |
*
|
264 |
],
|
265 |
];
|
266 |
|
267 |
+
if ( ! did_action( 'elementor/loaded' ) ) {
|
268 |
+
return $tabs;
|
269 |
+
}else{
|
270 |
+
return apply_filters( 'woolentor_template_menu_tabs', $tabs );
|
271 |
+
}
|
272 |
|
273 |
}
|
274 |
|
294 |
],
|
295 |
];
|
296 |
|
297 |
+
if ( ! did_action( 'elementor/loaded' ) ) {
|
298 |
+
return $template_type;
|
299 |
+
}else{
|
300 |
+
return apply_filters( 'woolentor_template_types', $template_type );
|
301 |
+
}
|
302 |
|
303 |
}
|
304 |
|
322 |
if( !empty( $get_data['templates'] ) ){
|
323 |
foreach( $get_data['templates'] as $template ){
|
324 |
|
325 |
+
if( $template['post_type'] === 'woolentor-template' ){
|
326 |
+
$data[$template['type']][] = $template;
|
327 |
+
}else{
|
328 |
+
if( $template['shareId'] == 'Shop'){
|
329 |
+
$data['shop'][] = $template;
|
330 |
+
$data['archive'][] = $template;
|
331 |
+
}else if($template['shareId'] == 'Product Details'){
|
332 |
+
$data['single'][] = $template;
|
333 |
+
}else if($template['shareId'] == 'Cart'){
|
334 |
+
$data['cart'][] = $template;
|
335 |
+
}else if( $template['shareId'] == 'Checkout Page' ){
|
336 |
+
$data['checkout'][] = $template;
|
337 |
+
}
|
338 |
+
else if( $template['shareId'] == 'My Account' ){
|
339 |
+
$data['myaccount'][] = $template;
|
340 |
+
}
|
341 |
}
|
342 |
|
343 |
}
|
439 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
440 |
'nonce' => wp_create_nonce('woolentor_tmp_nonce'),
|
441 |
'templatetype' => self::get_template_type(),
|
442 |
+
'haselementor' => woolentor_is_elementor_editor() ? 'yes' : 'no',
|
443 |
+
'editor' => [
|
444 |
+
'elementor' => __('Elementor','woolentor'),
|
445 |
+
'gutenberg' => __('Gutenberg','woolentor')
|
446 |
+
],
|
447 |
'templatelist' => $this->get_template_library(),
|
448 |
'adminURL' => admin_url(),
|
449 |
'labels' => [
|
453 |
'placeholder' => __('Enter a template name','woolentor')
|
454 |
],
|
455 |
'type' => __('Type','woolentor'),
|
456 |
+
'editor' => __('Select Editor','woolentor'),
|
457 |
'setdefault' => __('Set Default','woolentor'),
|
458 |
],
|
459 |
'head' => __('Template Settings','woolentor'),
|
517 |
$title = !empty( $_POST['title'] ) ? sanitize_text_field( $_POST['title'] ) : esc_html__( 'WooLentor template '.time(), 'woolentor' );
|
518 |
$tmpid = !empty( $_POST['tmpId'] ) ? sanitize_text_field( $_POST['tmpId'] ) : '';
|
519 |
$tmpType = !empty( $_POST['tmpType'] ) ? sanitize_text_field( $_POST['tmpType'] ) : 'single';
|
520 |
+
$tmpEditor = !empty( $_POST['tmpEditor'] ) ? sanitize_text_field( $_POST['tmpEditor'] ) : 'gutenberg';
|
521 |
$setDefault = !empty( $_POST['setDefault'] ) ? sanitize_text_field( $_POST['setDefault'] ) : 'no';
|
522 |
$sampleTmpID = !empty( $_POST['sampleTmpID'] ) ? sanitize_text_field( $_POST['sampleTmpID'] ) : '';
|
523 |
$sampleTmpBuilder = !empty( $_POST['sampleTmpBuilder'] ) ? sanitize_text_field( $_POST['sampleTmpBuilder'] ) : '';
|
531 |
'sampletmpbuilder' => $sampleTmpBuilder
|
532 |
];
|
533 |
|
534 |
+
if( empty( $tmpid ) ){
|
535 |
+
$data['tmpeditor'] = $tmpEditor;
|
536 |
+
}
|
537 |
+
|
538 |
if( $tmpid ){
|
539 |
$this->update( $data );
|
540 |
}else{
|
572 |
);
|
573 |
|
574 |
// Meta data
|
575 |
+
$template_slug = ( $data['tmpeditor'] === 'elementor' ) ? 'elementor_header_footer' : 'woolentor_fullwidth';
|
576 |
+
$default_page_template = apply_filters( 'woolentor_default_page_template', $template_slug, $data['tmptype'] );
|
577 |
+
|
578 |
update_post_meta( $new_post_id, self::CPT_META . '_type', $data['tmptype'] );
|
579 |
+
update_post_meta( $new_post_id, self::CPT_META . '_editor', $data['tmpeditor'] );
|
580 |
update_post_meta( $new_post_id, '_wp_page_template', $default_page_template );
|
581 |
|
582 |
+
if( $data['tmpeditor'] === 'elementor' ){
|
583 |
+
update_post_meta( $new_post_id, '_elementor_edit_mode', 'builder');
|
584 |
+
}
|
585 |
+
|
586 |
// Sample data import
|
587 |
if( !empty( $data['sampletmpid'] ) && $data['sampletmpbuilder'] == 'elementor' ){
|
588 |
$templateurl = sprintf( Woolentor_Template_Library_Manager::get_api_templateapi(), $data['sampletmpid'] );
|
589 |
$response_data = Woolentor_Template_Library_Manager::get_content_remote_request( $templateurl );
|
590 |
update_post_meta( $new_post_id, '_elementor_data', $response_data['content']['content'] );
|
|
|
591 |
}
|
592 |
|
593 |
if( $data['setdefaullt'] == 'yes' ) {
|
628 |
$templateurl = sprintf( Woolentor_Template_Library_Manager::get_api_templateapi(), $data['sampletmpid'] );
|
629 |
$response_data = Woolentor_Template_Library_Manager::get_content_remote_request( $templateurl );
|
630 |
update_post_meta( $data['id'], '_elementor_data', $response_data['content']['content'] );
|
|
|
631 |
}
|
632 |
|
633 |
if( $data['setdefaullt'] == 'yes' ) {
|
663 |
$tmpid = !empty( $_POST['tmpId'] ) ? sanitize_text_field( $_POST['tmpId'] ) : '';
|
664 |
$postdata = get_post( $tmpid );
|
665 |
$tmpType = !empty( get_post_meta( $tmpid, self::CPT_META . '_type', true ) ) ? get_post_meta( $tmpid, self::CPT_META . '_type', true ) : 'single';
|
666 |
+
$tmpEditor = !empty( get_post_meta( $tmpid, self::CPT_META . '_editor', true ) ) ? get_post_meta( $tmpid, self::CPT_META . '_editor', true ) : 'elementor';
|
667 |
$data = [
|
668 |
'tmpTitle' => $postdata->post_title,
|
669 |
'tmpType' => $tmpType,
|
670 |
+
'tmpEditor' => $tmpEditor,
|
671 |
'setDefault' => isset( self::get_template_type()[$tmpType]['optionkey'] ) ? woolentor_get_option( self::get_template_type()[$tmpType]['optionkey'], 'woolentor_woo_template_tabs', '0' ) : '0',
|
672 |
];
|
673 |
wp_send_json_success( $data );
|
includes/admin/include/class.template_cpt.php
CHANGED
@@ -15,6 +15,8 @@ class Woolentor_Template_CPT{
|
|
15 |
|
16 |
function __construct(){
|
17 |
add_action( 'init', [ $this, 'register_custom_post_type' ] );
|
|
|
|
|
18 |
}
|
19 |
|
20 |
public function register_custom_post_type() {
|
@@ -94,5 +96,63 @@ class Woolentor_Template_CPT{
|
|
94 |
}
|
95 |
}
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
}
|
15 |
|
16 |
function __construct(){
|
17 |
add_action( 'init', [ $this, 'register_custom_post_type' ] );
|
18 |
+
add_action( 'add_meta_boxes', [ $this, 'add_meta_boxes' ] );
|
19 |
+
add_action('save_post', [ $this, 'metabox_save_data' ] );
|
20 |
}
|
21 |
|
22 |
public function register_custom_post_type() {
|
96 |
}
|
97 |
}
|
98 |
|
99 |
+
/**
|
100 |
+
* Add Metaboxes
|
101 |
+
*
|
102 |
+
* @return void
|
103 |
+
*/
|
104 |
+
public function add_meta_boxes() {
|
105 |
+
add_meta_box(
|
106 |
+
'container_width',
|
107 |
+
esc_html__('Container Width', 'woolentor'),
|
108 |
+
[ $this, 'container_width_field' ],
|
109 |
+
self::CPTTYPE,
|
110 |
+
'side'
|
111 |
+
);
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Container field HTML
|
116 |
+
*
|
117 |
+
* @param [object] $post
|
118 |
+
* @return void
|
119 |
+
*/
|
120 |
+
public function container_width_field( $post ) {
|
121 |
+
wp_nonce_field( 'woolentor_container_width', 'woolentor_container_width_nonce' );
|
122 |
+
|
123 |
+
$get_width = get_post_meta( $post->ID, '_woolentor_container_width', true );
|
124 |
+
$width = $get_width ? $get_width : (int)woolentorBlocks_get_option( 'container_width', 'woolentor_gutenberg_tabs', 1140 );
|
125 |
+
|
126 |
+
?>
|
127 |
+
<p>
|
128 |
+
<input style="width:100%" type="number" name="container_width" value="<?php echo esc_attr( $width ); ?>" />
|
129 |
+
</p>
|
130 |
+
<?php
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Save Meta box data
|
135 |
+
*
|
136 |
+
* @param [int] $post_id
|
137 |
+
* @return void
|
138 |
+
*/
|
139 |
+
public function metabox_save_data( $post_id ) {
|
140 |
+
|
141 |
+
if ( ! isset( $_POST['woolentor_container_width_nonce'] ) ) {
|
142 |
+
return;
|
143 |
+
}
|
144 |
+
|
145 |
+
if ( ! wp_verify_nonce( $_POST['woolentor_container_width_nonce'], 'woolentor_container_width' ) ) {
|
146 |
+
return;
|
147 |
+
}
|
148 |
+
|
149 |
+
if ( ! isset( $_POST['container_width'] ) ) {
|
150 |
+
return;
|
151 |
+
}
|
152 |
+
|
153 |
+
$width = sanitize_text_field( $_POST['container_width'] );
|
154 |
+
update_post_meta( $post_id, '_woolentor_container_width', $width );
|
155 |
+
|
156 |
+
}
|
157 |
|
158 |
}
|
includes/admin/templates/dashboard-gutenberg.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
3 |
+
|
4 |
+
$settings_fields = Woolentor_Admin_Fields::instance()->fields()['woolentor_gutenberg_tabs']['settings'];
|
5 |
+
$blocks_fields = Woolentor_Admin_Fields::instance()->fields()['woolentor_gutenberg_tabs']['blocks'];
|
6 |
+
|
7 |
+
$all_fields = array_merge( $settings_fields, $blocks_fields );
|
8 |
+
$element_keys = Woolentor_Admin_Fields_Manager::instance()->get_field_key( $all_fields, 'name' );
|
9 |
+
?>
|
10 |
+
<div id="woolentor_gutenberg_tabs" class="woolentor-admin-main-tab-pane">
|
11 |
+
<div class="woolentor-admin-main-tab-pane-inner">
|
12 |
+
<div class="woolentor-nested-tabs-area">
|
13 |
+
<ul class="woolentor-nested-tabs">
|
14 |
+
<li><a href="#general-settings" class="wlactive">Settings</a></li>
|
15 |
+
<li><a href="#blocks-settings">Blocks</a></li>
|
16 |
+
</ul>
|
17 |
+
</div>
|
18 |
+
|
19 |
+
<form class="woolentor-dashboard" id="woolentor-dashboard-settings-form" action="#" method="post" data-section="woolentor_gutenberg_tabs" data-fields='<?php echo wp_json_encode( $element_keys ); ?>'>
|
20 |
+
<div class="woolentor-admin-settings-area">
|
21 |
+
|
22 |
+
<!-- Settings Start -->
|
23 |
+
<div id="general-settings" class="woolentor-admin-nested-tab-pane wlactive">
|
24 |
+
<?php
|
25 |
+
foreach( $settings_fields as $key => $field ){
|
26 |
+
Woolentor_Admin_Fields_Manager::instance()->add_field( $field, 'woolentor_gutenberg_tabs' );
|
27 |
+
}
|
28 |
+
?>
|
29 |
+
</div>
|
30 |
+
<!-- Settings End -->
|
31 |
+
|
32 |
+
<!-- Blocks Start -->
|
33 |
+
<div id="blocks-settings" class="woolentor-admin-nested-tab-pane">
|
34 |
+
|
35 |
+
<!-- Header Start -->
|
36 |
+
<div class="woolentor-admin-header woolentor-admin-header-two">
|
37 |
+
<div class="woolentor-admin-header-content">
|
38 |
+
<h6 class="woolentor-admin-header-title"><?php echo esc_html__('WooLentor Blocks','woolentor');?></h6>
|
39 |
+
<p class="woolentor-admin-header-text"><?php echo esc_html__('You can enable or disable all blocks by one click.','woolentor');?></p>
|
40 |
+
</div>
|
41 |
+
<div class="woolentor-admin-header-actions">
|
42 |
+
<button class="woolentor-admin-btn enable" data-switch-toggle="enable" data-switch-target="element"><?php echo esc_html__('Enable all','woolentor'); ?></button>
|
43 |
+
<button class="woolentor-admin-btn disable" data-switch-toggle="disable" data-switch-target="element"><?php echo esc_html__('Disable all','woolentor'); ?></button>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
<!-- Header End -->
|
47 |
+
|
48 |
+
<div class="woolentor-admin-switch-blocks">
|
49 |
+
<?php
|
50 |
+
foreach( $blocks_fields as $key => $field ){
|
51 |
+
Woolentor_Admin_Fields_Manager::instance()->add_field( $field, 'woolentor_gutenberg_tabs' );
|
52 |
+
}
|
53 |
+
?>
|
54 |
+
</div>
|
55 |
+
|
56 |
+
</div>
|
57 |
+
<!-- Blocks End -->
|
58 |
+
|
59 |
+
<div class="woolentor-admin-footer">
|
60 |
+
<button class="woolentor-admin-btn-save woolentor-admin-btn woolentor-admin-btn-primary hover-effect-1" style="margin-left:auto;" disabled="disabled"><?php echo esc_html__('Save Changes','woolentor');?></button>
|
61 |
+
</div>
|
62 |
+
|
63 |
+
</div>
|
64 |
+
</form>
|
65 |
+
|
66 |
+
</div>
|
67 |
+
</div>
|
includes/admin/templates/dashboard-module.php
CHANGED
@@ -24,6 +24,7 @@
|
|
24 |
</div>
|
25 |
<!-- Header End -->
|
26 |
|
|
|
27 |
<form class="woolentor-dashboard" id="woolentor-dashboard-module-form" action="#" method="post" data-section="woolentor_others_tabs" data-fields='<?php echo wp_json_encode( $element_keys ); ?>'>
|
28 |
|
29 |
<!-- Modules Start -->
|
24 |
</div>
|
25 |
<!-- Header End -->
|
26 |
|
27 |
+
|
28 |
<form class="woolentor-dashboard" id="woolentor-dashboard-module-form" action="#" method="post" data-section="woolentor_others_tabs" data-fields='<?php echo wp_json_encode( $element_keys ); ?>'>
|
29 |
|
30 |
<!-- Modules Start -->
|
includes/admin/templates/dashboard-navs.php
CHANGED
@@ -11,14 +11,22 @@
|
|
11 |
<?php
|
12 |
foreach( $navs as $key => $nav ){
|
13 |
?>
|
14 |
-
<li class="woolentor-admin-main-nav-li"
|
15 |
-
<
|
16 |
-
<
|
17 |
-
|
18 |
-
|
19 |
-
<
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
</li>
|
23 |
<?php
|
24 |
}
|
11 |
<?php
|
12 |
foreach( $navs as $key => $nav ){
|
13 |
?>
|
14 |
+
<li class="woolentor-admin-main-nav-li">
|
15 |
+
<a href="#<?php echo esc_attr( $nav['id'] ); ?>" class="woolentor-admin-main-nav-btn">
|
16 |
+
<svg class="left" width="8" height="8" viewBox="0 0 8 8" xmlns="http://www.w3.org/2000/svg">
|
17 |
+
<path d="M8 8H0L0.152774 7.97004C4.16091 7.18414 7.27643 4.01985 8 0V8Z" fill="currentColor" />
|
18 |
+
</svg>
|
19 |
+
<svg class="right" width="8" height="8" viewBox="0 0 8 8" xmlns="http://www.w3.org/2000/svg">
|
20 |
+
<path d="M0 8H8L7.84723 7.97004C3.83909 7.18414 0.723573 4.01985 0 0V8Z" fill="currentColor" />
|
21 |
+
</svg>
|
22 |
+
<?php
|
23 |
+
if ( strstr( $nav['icon'], 'dashicons' ) ){
|
24 |
+
echo sprintf('<i class="dashicons %s"></i>%s', $nav['icon'], esc_html__( $nav['title'],'woolentor') );
|
25 |
+
}else{
|
26 |
+
echo sprintf('<i class="wli %s"></i>%s', $nav['icon'], esc_html__( $nav['title'],'woolentor') );
|
27 |
+
}
|
28 |
+
?>
|
29 |
+
</a>
|
30 |
</li>
|
31 |
<?php
|
32 |
}
|
includes/admin/templates/dashboard-sidebar.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
<div class="woolentor-admin-sidebar">
|
7 |
|
8 |
<?php
|
9 |
-
if( $sideBarNotice['notices'] && $sideBarNotice['notices']['sidebar'] ){
|
10 |
if( $sideBarNotice['notices']['sidebar']['status'] == 1 ) {
|
11 |
$proBannerLink = $sideBarNotice['notices']['sidebar']['link'] ? $sideBarNotice['notices']['sidebar']['link'] : '#';
|
12 |
$proBannerTitle = $sideBarNotice['notices']['sidebar']['title'] ? $sideBarNotice['notices']['sidebar']['title'] : esc_html__('Promo Banner','woolentor');
|
@@ -21,9 +21,9 @@
|
|
21 |
<?php if( !is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ) :?>
|
22 |
<div class="woolentor-pro-banner">
|
23 |
<div class="woolentor-pro-banner-logo"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/logo.png" alt="<?php echo esc_attr__('Woolentor Logo','woolentor'); ?>"></div>
|
24 |
-
<p class="woolentor-pro-banner-summary"><?php echo esc_html__('WooLentor is one of the most popular WooCommerce Elementor Addons on WordPress.org. It has been downloaded more than 1,
|
25 |
<ul class="woolentor-pro-banner-options">
|
26 |
-
<li><?php echo esc_html__('
|
27 |
<li><?php echo esc_html__('15 Product Custom Templates','woolentor'); ?></li>
|
28 |
<li><?php echo esc_html__('10 Custom Shop Page Templates','woolentor'); ?></li>
|
29 |
<li><?php echo esc_html__('Cart Page, Checkout, My Account, Registration and Thank you page custom layout template','woolentor'); ?></li>
|
6 |
<div class="woolentor-admin-sidebar">
|
7 |
|
8 |
<?php
|
9 |
+
if( isset( $sideBarNotice['notices'] ) && is_array( $sideBarNotice['notices']['sidebar'] ) ){
|
10 |
if( $sideBarNotice['notices']['sidebar']['status'] == 1 ) {
|
11 |
$proBannerLink = $sideBarNotice['notices']['sidebar']['link'] ? $sideBarNotice['notices']['sidebar']['link'] : '#';
|
12 |
$proBannerTitle = $sideBarNotice['notices']['sidebar']['title'] ? $sideBarNotice['notices']['sidebar']['title'] : esc_html__('Promo Banner','woolentor');
|
21 |
<?php if( !is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ) :?>
|
22 |
<div class="woolentor-pro-banner">
|
23 |
<div class="woolentor-pro-banner-logo"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/logo.png" alt="<?php echo esc_attr__('Woolentor Logo','woolentor'); ?>"></div>
|
24 |
+
<p class="woolentor-pro-banner-summary"><?php echo esc_html__('WooLentor is one of the most popular WooCommerce Elementor Addons on WordPress.org. It has been downloaded more than 1,627,298 times and 90,000 stores are using WooLentor plugin. Why not you?','woolentor'); ?></p>
|
25 |
<ul class="woolentor-pro-banner-options">
|
26 |
+
<li><?php echo esc_html__('100+ Elementor Elements','woolentor'); ?></li>
|
27 |
<li><?php echo esc_html__('15 Product Custom Templates','woolentor'); ?></li>
|
28 |
<li><?php echo esc_html__('10 Custom Shop Page Templates','woolentor'); ?></li>
|
29 |
<li><?php echo esc_html__('Cart Page, Checkout, My Account, Registration and Thank you page custom layout template','woolentor'); ?></li>
|
includes/admin/templates/dashboard-welcome.php
CHANGED
@@ -68,6 +68,5 @@
|
|
68 |
<a href="https://hasthemes.com/subscribe-and-get-offers/" class="woolentor-admin-btn woolentor-admin-btn-primary" target="_blank"><?php echo esc_html__('Subscribe','woolentor'); ?></a>
|
69 |
</div>
|
70 |
<!-- Subscribe Banner End -->
|
71 |
-
|
72 |
</div>
|
73 |
</div>
|
68 |
<a href="https://hasthemes.com/subscribe-and-get-offers/" class="woolentor-admin-btn woolentor-admin-btn-primary" target="_blank"><?php echo esc_html__('Subscribe','woolentor'); ?></a>
|
69 |
</div>
|
70 |
<!-- Subscribe Banner End -->
|
|
|
71 |
</div>
|
72 |
</div>
|
includes/admin/templates/template_edit_popup.php
CHANGED
@@ -43,6 +43,21 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
43 |
</select>
|
44 |
</div>
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
<div class="woolentor-template-edit-bottom-box">
|
47 |
|
48 |
<div class="woolentor-template-edit-set-default-field woolentor-template-edit-set-checkbox">
|
@@ -50,15 +65,18 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
50 |
<label class="woolentor-template-edit-set-checkbox-lable" for="woolentor-template-default">
|
51 |
{{{data.heading.fields.setdefault}}}
|
52 |
<span class="woolenor-help-tip">
|
|
|
53 |
<span class="woolenor-help-text">It will override the WooCommerce default template with the template type you selected above.</span>
|
54 |
</span>
|
55 |
</label>
|
56 |
</div>
|
57 |
|
|
|
58 |
<div class="woolentor-template-edit-set-default-field woolentor-template-edit-set-design">
|
59 |
<label>{{{data.heading.sampledata.visibility}}}</label>
|
60 |
<span class="woolentor-template-edit-eye-icon dashicons dashicons-visibility"></span>
|
61 |
</div>
|
|
|
62 |
|
63 |
</div>
|
64 |
|
@@ -99,12 +117,12 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
99 |
<div class="woolentor-template-edit-footer">
|
100 |
|
101 |
<div class="woolentor-template-button-group">
|
102 |
-
<div class="woolentor-template-button-item">
|
103 |
<button class="woolentor-tmp-elementor">{{{ data.heading.buttons.elementor.label }}}</button>
|
104 |
</div>
|
105 |
-
|
106 |
-
<button class="woolentor-tmp-gutenberg"
|
107 |
-
</div>
|
108 |
<div class="woolentor-template-button-item">
|
109 |
<button class="woolentor-tmp-save button button-primary disabled" disabled="disabled">{{{ data.heading.buttons.save.label }}}</button>
|
110 |
</div>
|
43 |
</select>
|
44 |
</div>
|
45 |
|
46 |
+
<# if( data.haselementor === 'yes' ){ #>
|
47 |
+
<div class="woolentor-template-edit-field woolentor-template-editor-field">
|
48 |
+
<label class="woolentor-template-edit-label">{{{data.heading.fields.editor}}}</label>
|
49 |
+
<select class="woolentor-template-edit-input" name="woolentor-template-editor" id="woolentor-template-editor">
|
50 |
+
<#
|
51 |
+
_.each( data.editor, function( item, key ) {
|
52 |
+
|
53 |
+
#><option value="{{ key }}">{{{ item }}}</option><#
|
54 |
+
|
55 |
+
} );
|
56 |
+
#>
|
57 |
+
</select>
|
58 |
+
</div>
|
59 |
+
<# } #>
|
60 |
+
|
61 |
<div class="woolentor-template-edit-bottom-box">
|
62 |
|
63 |
<div class="woolentor-template-edit-set-default-field woolentor-template-edit-set-checkbox">
|
65 |
<label class="woolentor-template-edit-set-checkbox-lable" for="woolentor-template-default">
|
66 |
{{{data.heading.fields.setdefault}}}
|
67 |
<span class="woolenor-help-tip">
|
68 |
+
<span class="woolentor-help-tip-trigger"><i class="dashicons dashicons-editor-help"></i></span>
|
69 |
<span class="woolenor-help-text">It will override the WooCommerce default template with the template type you selected above.</span>
|
70 |
</span>
|
71 |
</label>
|
72 |
</div>
|
73 |
|
74 |
+
<# if( data.haselementor === 'yes' ){ #>
|
75 |
<div class="woolentor-template-edit-set-default-field woolentor-template-edit-set-design">
|
76 |
<label>{{{data.heading.sampledata.visibility}}}</label>
|
77 |
<span class="woolentor-template-edit-eye-icon dashicons dashicons-visibility"></span>
|
78 |
</div>
|
79 |
+
<# } #>
|
80 |
|
81 |
</div>
|
82 |
|
117 |
<div class="woolentor-template-edit-footer">
|
118 |
|
119 |
<div class="woolentor-template-button-group">
|
120 |
+
<div class="woolentor-template-button-item woolentor-editor-elementor {{ data.haselementor === 'yes' ? 'button-show' : '' }}">
|
121 |
<button class="woolentor-tmp-elementor">{{{ data.heading.buttons.elementor.label }}}</button>
|
122 |
</div>
|
123 |
+
<div class="woolentor-template-button-item woolentor-editor-gutenberg {{ data.haselementor === 'no' ? 'button-show' : '' }}">
|
124 |
+
<button class="woolentor-tmp-gutenberg">{{{ data.heading.buttons.gutenberg.label }}}</button>
|
125 |
+
</div>
|
126 |
<div class="woolentor-template-button-item">
|
127 |
<button class="woolentor-tmp-save button button-primary disabled" disabled="disabled">{{{ data.heading.buttons.save.label }}}</button>
|
128 |
</div>
|
includes/base.php
CHANGED
@@ -210,7 +210,7 @@ final class Base {
|
|
210 |
return;
|
211 |
}
|
212 |
|
213 |
-
if( self::$template_info['notices'] ){
|
214 |
?>
|
215 |
<style type="text/css">
|
216 |
.woolentor-admin-notice.notice {
|
@@ -279,6 +279,7 @@ final class Base {
|
|
279 |
*/
|
280 |
public function plugin_activate_hook() {
|
281 |
add_option( 'woolentor_do_activation_redirect', TRUE );
|
|
|
282 |
}
|
283 |
|
284 |
/**
|
@@ -402,7 +403,13 @@ final class Base {
|
|
402 |
|
403 |
// Builder File
|
404 |
if( woolentor_get_option( 'enablecustomlayout', 'woolentor_woo_template_tabs', 'on' ) == 'on' ){
|
405 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
require( WOOLENTOR_ADDONS_PL_PATH.'includes/archive_product_render.php' );
|
407 |
require( WOOLENTOR_ADDONS_PL_PATH.'includes/class.product_video_gallery.php' );
|
408 |
require( WOOLENTOR_ADDONS_PL_PATH.'classes/class.product_query.php' );
|
210 |
return;
|
211 |
}
|
212 |
|
213 |
+
if( isset( self::$template_info['notices'] ) && is_array( self::$template_info['notices'] ) ){
|
214 |
?>
|
215 |
<style type="text/css">
|
216 |
.woolentor-admin-notice.notice {
|
279 |
*/
|
280 |
public function plugin_activate_hook() {
|
281 |
add_option( 'woolentor_do_activation_redirect', TRUE );
|
282 |
+
flush_rewrite_rules();
|
283 |
}
|
284 |
|
285 |
/**
|
403 |
|
404 |
// Builder File
|
405 |
if( woolentor_get_option( 'enablecustomlayout', 'woolentor_woo_template_tabs', 'on' ) == 'on' ){
|
406 |
+
|
407 |
+
if( woolentor_get_option( 'woolentoreditor', 'woolentor_woo_template_tabs', 'both' ) == 'elementor' ){
|
408 |
+
require( WOOLENTOR_ADDONS_PL_PATH.'includes/wl_woo_shop.php' );
|
409 |
+
}else{
|
410 |
+
require( WOOLENTOR_ADDONS_PL_PATH.'includes/manage_wc_template.php' );
|
411 |
+
}
|
412 |
+
|
413 |
require( WOOLENTOR_ADDONS_PL_PATH.'includes/archive_product_render.php' );
|
414 |
require( WOOLENTOR_ADDONS_PL_PATH.'includes/class.product_video_gallery.php' );
|
415 |
require( WOOLENTOR_ADDONS_PL_PATH.'classes/class.product_query.php' );
|
includes/helper-function.php
CHANGED
@@ -28,11 +28,35 @@ function woolentor_elementor() {
|
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
-
* Elementor
|
32 |
* @return [boolean]
|
33 |
*/
|
34 |
function woolentor_is_elementor_editor(){
|
35 |
-
return class_exists('\Elementor\Plugin') ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
|
38 |
/**
|
@@ -721,9 +745,12 @@ if( class_exists('WooCommerce') ){
|
|
721 |
}
|
722 |
|
723 |
/* Sale Flash for Single Product page */
|
724 |
-
function woolentor_show_product_sale_flash(){
|
725 |
global $post, $product;
|
726 |
if( is_a( $product, 'WC_Product' ) ){
|
|
|
|
|
|
|
727 |
if( $product->is_on_sale() && $product->is_in_stock() ){
|
728 |
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . esc_html__( 'Sale!', 'woolentor' ) . '</span>', $post, $product );
|
729 |
}else{
|
@@ -733,12 +760,16 @@ if( class_exists('WooCommerce') ){
|
|
733 |
echo '<span class="outofstock onsale">'.esc_html( $out_of_stock_text ).'</span>';
|
734 |
}
|
735 |
}
|
|
|
|
|
|
|
736 |
}
|
737 |
}
|
738 |
|
739 |
/* Sale badge */
|
740 |
-
function woolentor_sale_flash( $offertype = 'default' ){
|
741 |
global $product;
|
|
|
742 |
if( $product->is_on_sale() && $product->is_in_stock() ){
|
743 |
if( $offertype !='default' && $product->get_regular_price() > 0 ){
|
744 |
$_off_percent = (1 - round($product->get_price() / $product->get_regular_price(), 2))*100;
|
@@ -777,6 +808,7 @@ if( class_exists('WooCommerce') ){
|
|
777 |
echo '<span class="ht-stockout ht-product-label ht-product-label-right">'.esc_html( $out_of_stock_text ).'</span>';
|
778 |
}
|
779 |
}
|
|
|
780 |
|
781 |
}
|
782 |
|
@@ -862,7 +894,7 @@ if( class_exists('WooCommerce') ){
|
|
862 |
|
863 |
// Customize rating html
|
864 |
if( !function_exists('woolentor_wc_get_rating_html') ){
|
865 |
-
function woolentor_wc_get_rating_html(){
|
866 |
if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' ) { return; }
|
867 |
global $product;
|
868 |
$rating_count = $product->get_rating_count();
|
@@ -872,7 +904,7 @@ if( class_exists('WooCommerce') ){
|
|
872 |
$flug = 0;
|
873 |
|
874 |
$icon_svg = get_option('elementor_experiment-e_font_icon_svg','default');
|
875 |
-
$icon_prefix = $icon_svg == 'active' ? 'fa' : 'fas';
|
876 |
|
877 |
if ( $rating_count > 0 ) {
|
878 |
$wrapper_class = is_single() ? 'rating-number' : 'top-rated-rating';
|
@@ -886,14 +918,14 @@ if( class_exists('WooCommerce') ){
|
|
886 |
echo '<i class="'.$icon_prefix.' fa-star"></i>';
|
887 |
} else {
|
888 |
if( $rating_fraction > 0 && $flug == 0 ){
|
889 |
-
if( $icon_svg == 'active' ){
|
890 |
echo '<i class="fa fa-star-half-o"></i>';
|
891 |
}else{
|
892 |
echo '<i class="fas fa-star-half-alt"></i>';
|
893 |
}
|
894 |
$flug = 1;
|
895 |
} else {
|
896 |
-
if( $icon_svg == 'active' ){
|
897 |
echo '<i class="fa fa-star-o"></i>';
|
898 |
}else{
|
899 |
echo '<i class="far fa-star empty"></i>';
|
@@ -1188,4 +1220,16 @@ function woolentor_ajax_login(){
|
|
1188 |
|
1189 |
wp_die();
|
1190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1191 |
}
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
+
* Is Elementor check
|
32 |
* @return [boolean]
|
33 |
*/
|
34 |
function woolentor_is_elementor_editor(){
|
35 |
+
return class_exists('\Elementor\Plugin') ? true : false;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Elementor editor mode
|
40 |
+
* @return [boolean]
|
41 |
+
*/
|
42 |
+
function woolentor_is_elementor_editor_mode(){
|
43 |
+
if( woolentor_is_elementor_editor() && \Elementor\Plugin::instance()->editor->is_edit_mode() ){
|
44 |
+
return true;
|
45 |
+
}else{
|
46 |
+
return false;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Template Preview mode
|
52 |
+
* @return [boolean]
|
53 |
+
*/
|
54 |
+
function woolentor_is_preview_mode(){
|
55 |
+
if( woolentor_is_elementor_editor_mode() || get_post_type() === 'woolentor-template' ){
|
56 |
+
return true;
|
57 |
+
}else{
|
58 |
+
return false;
|
59 |
+
}
|
60 |
}
|
61 |
|
62 |
/**
|
745 |
}
|
746 |
|
747 |
/* Sale Flash for Single Product page */
|
748 |
+
function woolentor_show_product_sale_flash( $echo = true ){
|
749 |
global $post, $product;
|
750 |
if( is_a( $product, 'WC_Product' ) ){
|
751 |
+
|
752 |
+
if( $echo == false ){ ob_start(); }
|
753 |
+
|
754 |
if( $product->is_on_sale() && $product->is_in_stock() ){
|
755 |
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . esc_html__( 'Sale!', 'woolentor' ) . '</span>', $post, $product );
|
756 |
}else{
|
760 |
echo '<span class="outofstock onsale">'.esc_html( $out_of_stock_text ).'</span>';
|
761 |
}
|
762 |
}
|
763 |
+
|
764 |
+
if( $echo == false ){ return ob_get_clean(); }
|
765 |
+
|
766 |
}
|
767 |
}
|
768 |
|
769 |
/* Sale badge */
|
770 |
+
function woolentor_sale_flash( $offertype = 'default', $echo = true ){
|
771 |
global $product;
|
772 |
+
if( $echo == false ){ ob_start(); }
|
773 |
if( $product->is_on_sale() && $product->is_in_stock() ){
|
774 |
if( $offertype !='default' && $product->get_regular_price() > 0 ){
|
775 |
$_off_percent = (1 - round($product->get_price() / $product->get_regular_price(), 2))*100;
|
808 |
echo '<span class="ht-stockout ht-product-label ht-product-label-right">'.esc_html( $out_of_stock_text ).'</span>';
|
809 |
}
|
810 |
}
|
811 |
+
if( $echo == false ){ return ob_get_clean(); }
|
812 |
|
813 |
}
|
814 |
|
894 |
|
895 |
// Customize rating html
|
896 |
if( !function_exists('woolentor_wc_get_rating_html') ){
|
897 |
+
function woolentor_wc_get_rating_html( $block = '' ){
|
898 |
if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' ) { return; }
|
899 |
global $product;
|
900 |
$rating_count = $product->get_rating_count();
|
904 |
$flug = 0;
|
905 |
|
906 |
$icon_svg = get_option('elementor_experiment-e_font_icon_svg','default');
|
907 |
+
$icon_prefix = ( $icon_svg == 'active' || $block == 'yes' ) ? 'fa' : 'fas';
|
908 |
|
909 |
if ( $rating_count > 0 ) {
|
910 |
$wrapper_class = is_single() ? 'rating-number' : 'top-rated-rating';
|
918 |
echo '<i class="'.$icon_prefix.' fa-star"></i>';
|
919 |
} else {
|
920 |
if( $rating_fraction > 0 && $flug == 0 ){
|
921 |
+
if( $icon_svg == 'active' || $block == 'yes' ){
|
922 |
echo '<i class="fa fa-star-half-o"></i>';
|
923 |
}else{
|
924 |
echo '<i class="fas fa-star-half-alt"></i>';
|
925 |
}
|
926 |
$flug = 1;
|
927 |
} else {
|
928 |
+
if( $icon_svg == 'active' || $block == 'yes' ){
|
929 |
echo '<i class="fa fa-star-o"></i>';
|
930 |
}else{
|
931 |
echo '<i class="far fa-star empty"></i>';
|
1220 |
|
1221 |
wp_die();
|
1222 |
|
1223 |
+
}
|
1224 |
+
|
1225 |
+
/**
|
1226 |
+
* Get Image Sizes
|
1227 |
+
*/
|
1228 |
+
function woolentor_get_image_size() {
|
1229 |
+
$sizes = get_intermediate_image_sizes();
|
1230 |
+
$filter = array('full' => 'Full');
|
1231 |
+
foreach ( $sizes as $value ) {
|
1232 |
+
$filter[$value] = ucwords( str_replace( array('_', '-'), array(' ', ' '), $value ) );
|
1233 |
+
}
|
1234 |
+
return $filter;
|
1235 |
}
|
includes/manage_wc_template.php
ADDED
@@ -0,0 +1,323 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Manage WC Template
|
4 |
+
*/
|
5 |
+
class Woolentor_Manage_WC_Template{
|
6 |
+
|
7 |
+
private static $_instance = null;
|
8 |
+
public static function instance() {
|
9 |
+
if ( is_null( self::$_instance ) ) {
|
10 |
+
self::$_instance = new self();
|
11 |
+
}
|
12 |
+
return self::$_instance;
|
13 |
+
}
|
14 |
+
|
15 |
+
function __construct(){
|
16 |
+
add_action( 'init', [ $this, 'init' ] );
|
17 |
+
}
|
18 |
+
|
19 |
+
public function init(){
|
20 |
+
|
21 |
+
// Body classes
|
22 |
+
add_filter( 'body_class', [ $this, 'body_classes' ] );
|
23 |
+
|
24 |
+
// Add Admin bar Menu
|
25 |
+
add_action( 'admin_bar_menu', [ $this, 'add_menu_in_admin_bar' ], 300 );
|
26 |
+
|
27 |
+
// Product details page
|
28 |
+
add_filter( 'wc_get_template_part', [ $this, 'set_product_content_template' ], 99, 3 );
|
29 |
+
add_filter( 'template_include', [ $this, 'set_product_template' ], 100 );
|
30 |
+
add_action( 'woolentor_woocommerce_product_content', [ $this, 'set_product_builder_content' ], 5 );
|
31 |
+
add_action( 'woolentor_woocommerce_product_content', [ $this, 'get_default_product_data' ], 10 );
|
32 |
+
|
33 |
+
// Product Archive Page
|
34 |
+
// add_action('template_redirect', [ $this, 'archive_template_id' ], 999 );
|
35 |
+
add_filter('template_include', [ $this, 'set_product_archive_template' ], 999 );
|
36 |
+
add_action( 'woolentor_woocommerce_archive_product_content', [ $this, 'set_archive_product_builder_content' ] );
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* [body_classes]
|
42 |
+
* @param [array] $classes
|
43 |
+
* @return [array]
|
44 |
+
*/
|
45 |
+
public function body_classes( $classes ){
|
46 |
+
|
47 |
+
$class_prefix = 'elementor-page-';
|
48 |
+
|
49 |
+
if ( is_product() && false !== self::has_template( 'singleproductpage', '_selectproduct_layout' ) ) {
|
50 |
+
|
51 |
+
$classes[] = $class_prefix.self::has_template( 'singleproductpage', '_selectproduct_layout' );
|
52 |
+
|
53 |
+
}elseif( is_checkout() && false !== self::has_template( 'productcheckoutpage' ) ){
|
54 |
+
|
55 |
+
$classes[] = $class_prefix.self::has_template( 'productcheckoutpage' );
|
56 |
+
|
57 |
+
}elseif( is_shop() && false !== self::has_template( 'productarchivepage' ) ){
|
58 |
+
|
59 |
+
$classes[] = $class_prefix.self::has_template( 'productarchivepage' );
|
60 |
+
|
61 |
+
}elseif ( is_account_page() ) {
|
62 |
+
if ( is_user_logged_in() && false !== self::has_template( 'productmyaccountpage' ) ) {
|
63 |
+
$classes[] = $class_prefix.self::has_template( 'productmyaccountpage' );
|
64 |
+
}else{
|
65 |
+
if( false !== self::has_template( 'productmyaccountloginpage' ) ){
|
66 |
+
$classes[] = $class_prefix.self::has_template( 'productmyaccountloginpage' );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}else{
|
70 |
+
if ( is_cart() && ! WC()->cart->is_empty() && false !== self::has_template( 'productcartpage' ) ) {
|
71 |
+
$classes[] = $class_prefix.self::has_template( 'productcartpage' );
|
72 |
+
}else{
|
73 |
+
if( false !== self::has_template( 'productemptycartpage' ) ){
|
74 |
+
$classes[] = $class_prefix.self::has_template( 'productemptycartpage' );
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
return $classes;
|
80 |
+
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* [add_menu_in_admin_bar] Add Admin Bar Menu For Navigate Quick Edit builder template
|
85 |
+
*
|
86 |
+
* @param \WP_Admin_Bar $wp_admin_bar
|
87 |
+
* @return void
|
88 |
+
*/
|
89 |
+
public function add_menu_in_admin_bar( \WP_Admin_Bar $wp_admin_bar ) {
|
90 |
+
|
91 |
+
if( function_exists('woolentorBlocks_get_ID') ){
|
92 |
+
if( ! Woolentor_Template_Manager::instance()->edit_with_gutenberg( woolentorBlocks_get_ID() ) || is_admin()){
|
93 |
+
return;
|
94 |
+
}
|
95 |
+
|
96 |
+
$icon = WOOLENTOR_ADDONS_PL_URL.'includes/admin/assets/images/icons/menu-bar_32x32.png';
|
97 |
+
|
98 |
+
$wp_admin_bar->add_menu( [
|
99 |
+
'id' => 'woolentor_template_builder',
|
100 |
+
'parent' => '',
|
101 |
+
'title' => sprintf( '<img src="%s" alt="%s">%s', $icon, __('WooLentor Admin Menu','woolentor'), esc_html__('WooLentor','woolentor') ),
|
102 |
+
] );
|
103 |
+
|
104 |
+
$wp_admin_bar->add_menu( [
|
105 |
+
'id' => 'woolentor_template_' . woolentorBlocks_get_ID() . get_the_ID(),
|
106 |
+
'parent' => 'woolentor_template_builder',
|
107 |
+
'href' => get_edit_post_link( woolentorBlocks_get_ID() ),
|
108 |
+
'title' => sprintf( '%s', get_the_title( woolentorBlocks_get_ID() ) ),
|
109 |
+
'meta' => [],
|
110 |
+
] );
|
111 |
+
}
|
112 |
+
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* [has_template]
|
117 |
+
* @param [string] $field_key
|
118 |
+
* @return boolean | int
|
119 |
+
*/
|
120 |
+
public static function has_template( $field_key = '', $meta_key = '' ){
|
121 |
+
$template_id = woolentor_get_option( $field_key, 'woolentor_woo_template_tabs', '0' );
|
122 |
+
$wlindividualid = !empty( $meta_key ) && get_post_meta( get_the_ID(), $meta_key, true ) ? get_post_meta( get_the_ID(), $meta_key, true ) : '0';
|
123 |
+
|
124 |
+
if( '0' !== $wlindividualid ){
|
125 |
+
return $wlindividualid;
|
126 |
+
}elseif( '0' !== $template_id ){
|
127 |
+
return $template_id;
|
128 |
+
}else{
|
129 |
+
return false;
|
130 |
+
}
|
131 |
+
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* [get_template_id]
|
136 |
+
* @param [string] $field_key
|
137 |
+
* @param [string] $meta_key
|
138 |
+
* @return boolean | int
|
139 |
+
*/
|
140 |
+
public static function get_template_id( $field_key = '', $meta_key = '' ){
|
141 |
+
$wltemplateid = woolentor_get_option( $field_key, 'woolentor_woo_template_tabs', '0' );
|
142 |
+
$wlindividualid = !empty( $meta_key ) && get_post_meta( get_the_ID(), $meta_key, true ) ? get_post_meta( get_the_ID(), $meta_key, true ) : '0';
|
143 |
+
|
144 |
+
if( $wlindividualid != '0' ){
|
145 |
+
$wltemplateid = $wlindividualid;
|
146 |
+
}
|
147 |
+
return $wltemplateid;
|
148 |
+
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* [render_build_content]
|
152 |
+
* @param [int] $id
|
153 |
+
* @return string
|
154 |
+
*/
|
155 |
+
public static function render_build_content( $id ){
|
156 |
+
|
157 |
+
$output = '';
|
158 |
+
$document = woolentor_is_elementor_editor() ? Elementor\Plugin::instance()->documents->get( $id ) : false;
|
159 |
+
|
160 |
+
if( $document && $document->is_built_with_elementor() ){
|
161 |
+
$output = Elementor\Plugin::instance()->frontend->get_builder_content_for_display( $id );
|
162 |
+
}else{
|
163 |
+
$content = get_the_content( null, false, $id );
|
164 |
+
|
165 |
+
if ( has_blocks( $content ) ) {
|
166 |
+
$blocks = parse_blocks( $content );
|
167 |
+
foreach ( $blocks as $block ) {
|
168 |
+
$output .= render_block( $block );
|
169 |
+
}
|
170 |
+
}else{
|
171 |
+
$content = apply_filters( 'the_content', $content );
|
172 |
+
$content = str_replace(']]>', ']]>', $content );
|
173 |
+
return $content;
|
174 |
+
}
|
175 |
+
|
176 |
+
}
|
177 |
+
|
178 |
+
return $output;
|
179 |
+
|
180 |
+
}
|
181 |
+
|
182 |
+
/*
|
183 |
+
* Manage Product Page
|
184 |
+
*/
|
185 |
+
// Change Product page content template
|
186 |
+
public function set_product_content_template( $template, $slug, $name ) {
|
187 |
+
if ( 'content' === $slug && 'single-product' === $name ) {
|
188 |
+
if ( self::has_template( 'singleproductpage', '_selectproduct_layout' ) ) {
|
189 |
+
$template = WOOLENTOR_ADDONS_PL_PATH . 'wl-woo-templates/single-product.php';
|
190 |
+
}
|
191 |
+
}
|
192 |
+
return $template;
|
193 |
+
}
|
194 |
+
|
195 |
+
// Set Product page template
|
196 |
+
public function set_product_template( $template ) {
|
197 |
+
if ( is_embed() ) {
|
198 |
+
return $template;
|
199 |
+
}
|
200 |
+
if ( is_singular( 'product' ) ) {
|
201 |
+
if ( self::has_template( 'singleproductpage', '_selectproduct_layout' ) ) {
|
202 |
+
$templateid = get_page_template_slug( self::get_template_id( 'singleproductpage', '_selectproduct_layout' ) );
|
203 |
+
if ( ( 'elementor_header_footer' === $templateid ) || ( 'woolentor_fullwidth' === $templateid ) ) {
|
204 |
+
$template = WOOLENTOR_ADDONS_PL_PATH . 'wl-woo-templates/single-product-fullwidth.php';
|
205 |
+
} elseif ( ( 'elementor_canvas' === $templateid ) || ( 'woolentor_canvas' === $templateid ) ) {
|
206 |
+
$template = WOOLENTOR_ADDONS_PL_PATH . 'wl-woo-templates/single-product-canvas.php';
|
207 |
+
}
|
208 |
+
}
|
209 |
+
}
|
210 |
+
return $template;
|
211 |
+
}
|
212 |
+
|
213 |
+
// Single product default content
|
214 |
+
public function get_default_product_data() {
|
215 |
+
WC()->structured_data->generate_product_data();
|
216 |
+
}
|
217 |
+
|
218 |
+
// Set Builder content
|
219 |
+
public static function set_product_builder_content() {
|
220 |
+
if ( self::has_template( 'singleproductpage', '_selectproduct_layout' ) ) {
|
221 |
+
$wltemplateid = self::get_template_id( 'singleproductpage', '_selectproduct_layout' );
|
222 |
+
echo self::render_build_content( $wltemplateid );
|
223 |
+
}
|
224 |
+
}
|
225 |
+
|
226 |
+
/*
|
227 |
+
* Manage product archive page
|
228 |
+
*/
|
229 |
+
public function archive_template_id(){
|
230 |
+
$template_id = 0;
|
231 |
+
|
232 |
+
if ( defined('WOOCOMMERCE_VERSION') ) {
|
233 |
+
|
234 |
+
$termobj = get_queried_object();
|
235 |
+
$get_all_taxonomies = woolentor_get_taxonomies();
|
236 |
+
|
237 |
+
if ( is_shop() || ( is_tax('product_cat') && is_product_category() ) || ( is_tax('product_tag') && is_product_tag() ) || ( isset( $termobj->taxonomy ) && is_tax( $termobj->taxonomy ) && array_key_exists( $termobj->taxonomy, $get_all_taxonomies ) ) ) {
|
238 |
+
|
239 |
+
$product_shop_custom_page_id = self::get_template_id( 'productarchivepage' );
|
240 |
+
|
241 |
+
// Archive Layout Control
|
242 |
+
$wltermlayoutid = 0;
|
243 |
+
if(( is_tax('product_cat') && is_product_category() ) || ( is_tax('product_tag') && is_product_tag() )){
|
244 |
+
|
245 |
+
$product_archive_custom_page_id = self::get_template_id( 'productallarchivepage' );
|
246 |
+
|
247 |
+
// Get Meta Value
|
248 |
+
$wltermlayoutid = get_term_meta( $termobj->term_id, 'wooletor_selectcategory_layout', true ) ? get_term_meta( $termobj->term_id, 'wooletor_selectcategory_layout', true ) : '0';
|
249 |
+
|
250 |
+
if( !empty( $product_archive_custom_page_id ) && $wltermlayoutid == '0' ){
|
251 |
+
$wltermlayoutid = $product_archive_custom_page_id;
|
252 |
+
}
|
253 |
+
|
254 |
+
}
|
255 |
+
if( $wltermlayoutid != '0' ){
|
256 |
+
$template_id = $wltermlayoutid;
|
257 |
+
}else{
|
258 |
+
if ( !empty( $product_shop_custom_page_id ) ) {
|
259 |
+
$template_id = $product_shop_custom_page_id;
|
260 |
+
}
|
261 |
+
}
|
262 |
+
// return $template_id;
|
263 |
+
}
|
264 |
+
|
265 |
+
return $template_id;
|
266 |
+
}
|
267 |
+
|
268 |
+
}
|
269 |
+
|
270 |
+
public function set_product_archive_template( $template ){
|
271 |
+
$archive_template_id = $this->archive_template_id();
|
272 |
+
$templatefile = array();
|
273 |
+
$templatefile[] = 'wl-woo-templates/archive-product.php';
|
274 |
+
if( $archive_template_id != '0' ){
|
275 |
+
$template = locate_template( $templatefile );
|
276 |
+
if ( ! $template || ( ! empty( $status_options['template_debug_mode'] ) && current_user_can( 'manage_options' ) ) ){
|
277 |
+
$template = WOOLENTOR_ADDONS_PL_PATH . '/wl-woo-templates/archive-product.php';
|
278 |
+
}
|
279 |
+
$page_template_slug = get_page_template_slug( $archive_template_id );
|
280 |
+
if ( ( 'elementor_header_footer' === $page_template_slug ) || ( 'woolentor_fullwidth' === $page_template_slug ) ) {
|
281 |
+
$template = WOOLENTOR_ADDONS_PL_PATH . '/wl-woo-templates/archive-product-fullwidth.php';
|
282 |
+
} elseif ( ( 'elementor_canvas' === $page_template_slug ) || ( 'woolentor_canvas' === $page_template_slug ) ) {
|
283 |
+
$template = WOOLENTOR_ADDONS_PL_PATH . '/wl-woo-templates/archive-product-canvas.php';
|
284 |
+
}
|
285 |
+
}
|
286 |
+
return $template;
|
287 |
+
}
|
288 |
+
|
289 |
+
// Set Builder Content
|
290 |
+
public function set_archive_product_builder_content(){
|
291 |
+
$archive_template_id = $this->archive_template_id();
|
292 |
+
if( $archive_template_id != '0' ){
|
293 |
+
echo self::render_build_content( $archive_template_id );
|
294 |
+
}
|
295 |
+
}
|
296 |
+
|
297 |
+
// Get Template width
|
298 |
+
public static function get_template_width( $template_id ){
|
299 |
+
$get_width = get_post_meta( $template_id, '_woolentor_container_width', true );
|
300 |
+
return $get_width ? $get_width : '';
|
301 |
+
}
|
302 |
+
|
303 |
+
// Get Builder Template ID
|
304 |
+
public function get_builder_template_id(){
|
305 |
+
|
306 |
+
if ( is_singular( 'product' ) ) {
|
307 |
+
if ( self::has_template( 'singleproductpage', '_selectproduct_layout' ) ) {
|
308 |
+
$template_id = self::get_template_id( 'singleproductpage', '_selectproduct_layout' );
|
309 |
+
}else{
|
310 |
+
$template_id = '';
|
311 |
+
}
|
312 |
+
}else{
|
313 |
+
$archive_template_id = $this->archive_template_id();
|
314 |
+
$template_id = $archive_template_id != '0' ? $archive_template_id : '';
|
315 |
+
}
|
316 |
+
|
317 |
+
return apply_filters( 'woolentor_builder_template_id', $template_id );
|
318 |
+
|
319 |
+
}
|
320 |
+
|
321 |
+
}
|
322 |
+
|
323 |
+
Woolentor_Manage_WC_Template::instance();
|
includes/modules/class.module-manager.php
CHANGED
@@ -92,6 +92,21 @@ class Woolentor_Module_Manager{
|
|
92 |
if( woolentor_get_option( 'enable', 'woolentor_shopify_checkout_settings', 'off' ) == 'on' ){
|
93 |
require_once( WOOLENTOR_ADDONS_PL_PATH .'includes/modules/shopify-like-checkout/class.shopify-like-checkout.php' );
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
// Flash Sale
|
97 |
if( woolentor_get_option( 'enable', 'woolentor_flash_sale_settings', 'off' ) == 'on' ){
|
@@ -104,7 +119,7 @@ class Woolentor_Module_Manager{
|
|
104 |
}
|
105 |
|
106 |
// Pro-Modules
|
107 |
-
if( is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ){
|
108 |
|
109 |
// Partial payment
|
110 |
if( ( woolentor_get_option( 'enable', 'woolentor_partial_payment_settings', 'off' ) == 'on' ) ){
|
92 |
if( woolentor_get_option( 'enable', 'woolentor_shopify_checkout_settings', 'off' ) == 'on' ){
|
93 |
require_once( WOOLENTOR_ADDONS_PL_PATH .'includes/modules/shopify-like-checkout/class.shopify-like-checkout.php' );
|
94 |
}
|
95 |
+
|
96 |
+
// Variation swatch
|
97 |
+
if( woolentor_get_option( 'enable', 'woolentor_swatch_settings', 'off' ) == 'on' ){
|
98 |
+
$swatchly_plugin_status = is_plugin_active( 'swatchly/swatchly.php') || is_plugin_active( 'swatchly-pro/swatchly-pro.php') ? true : false;
|
99 |
+
if( !$swatchly_plugin_status ){
|
100 |
+
require_once( WOOLENTOR_ADDONS_PL_PATH .'includes/modules/variation-swatch/init.php' );
|
101 |
+
}else{
|
102 |
+
add_filter('woolentor_admin_fields',function( $fields ){
|
103 |
+
$element_keys = array_column( $fields['woolentor_others_tabs']['modules'], 'name' );
|
104 |
+
$unset_key = array_search('swatch_settings', $element_keys);
|
105 |
+
unset( $fields['woolentor_others_tabs']['modules'][$unset_key] );
|
106 |
+
return $fields;
|
107 |
+
});
|
108 |
+
}
|
109 |
+
}
|
110 |
|
111 |
// Flash Sale
|
112 |
if( woolentor_get_option( 'enable', 'woolentor_flash_sale_settings', 'off' ) == 'on' ){
|
119 |
}
|
120 |
|
121 |
// Pro-Modules
|
122 |
+
if( is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') && defined( "WOOLENTOR_ADDONS_PL_PATH_PRO" ) ){
|
123 |
|
124 |
// Partial payment
|
125 |
if( ( woolentor_get_option( 'enable', 'woolentor_partial_payment_settings', 'off' ) == 'on' ) ){
|
includes/modules/compare/includes/classes/Frontend/Manage_Compare.php
CHANGED
@@ -194,6 +194,10 @@ class Manage_Compare {
|
|
194 |
}
|
195 |
}
|
196 |
|
|
|
|
|
|
|
|
|
197 |
$buttonText = woolentor_get_option( 'shareable_link_button_text','ever_compare_table_settings_tabs','Copy shareable link' ) ? woolentor_get_option( 'shareable_link_button_text','ever_compare_table_settings_tabs','Copy shareable link' ) : esc_html__( 'Copy shareable link', 'ever-compare' );
|
198 |
$aftercopy_buttonText = woolentor_get_option( 'shareable_link_after_button_text','ever_compare_table_settings_tabs','Copied' ) ? woolentor_get_option( 'shareable_link_after_button_text','ever_compare_table_settings_tabs','Copied' ) : esc_html__( 'Copied', 'ever-compare' );
|
199 |
$button_pos = woolentor_get_option( 'linkshare_btn_pos','ever_compare_table_settings_tabs','right' );
|
194 |
}
|
195 |
}
|
196 |
|
197 |
+
if ( empty($ids) ) {
|
198 |
+
return;
|
199 |
+
}
|
200 |
+
|
201 |
$buttonText = woolentor_get_option( 'shareable_link_button_text','ever_compare_table_settings_tabs','Copy shareable link' ) ? woolentor_get_option( 'shareable_link_button_text','ever_compare_table_settings_tabs','Copy shareable link' ) : esc_html__( 'Copy shareable link', 'ever-compare' );
|
202 |
$aftercopy_buttonText = woolentor_get_option( 'shareable_link_after_button_text','ever_compare_table_settings_tabs','Copied' ) ? woolentor_get_option( 'shareable_link_after_button_text','ever_compare_table_settings_tabs','Copied' ) : esc_html__( 'Copied', 'ever-compare' );
|
203 |
$button_pos = woolentor_get_option( 'linkshare_btn_pos','ever_compare_table_settings_tabs','right' );
|
includes/modules/shopify-like-checkout/assets/shopify-like-checkout.css
CHANGED
@@ -1107,6 +1107,10 @@
|
|
1107 |
display: block;
|
1108 |
}
|
1109 |
|
|
|
|
|
|
|
|
|
1110 |
.woolentor-checkout__box a:focus, .woolentor-checkout__box input:focus, .woolentor-checkout__box textarea:focus, .woolentor-checkout__box button:focus {
|
1111 |
outline: none;
|
1112 |
}
|
@@ -1440,4 +1444,11 @@
|
|
1440 |
.woolentor-checkout__left-sidebar{
|
1441 |
padding: 0 40px;
|
1442 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1443 |
}
|
1107 |
display: block;
|
1108 |
}
|
1109 |
|
1110 |
+
.woolentor-step--payment .woolentor-step--payment{
|
1111 |
+
margin-bottom: 5px;
|
1112 |
+
}
|
1113 |
+
|
1114 |
.woolentor-checkout__box a:focus, .woolentor-checkout__box input:focus, .woolentor-checkout__box textarea:focus, .woolentor-checkout__box button:focus {
|
1115 |
outline: none;
|
1116 |
}
|
1444 |
.woolentor-checkout__left-sidebar{
|
1445 |
padding: 0 40px;
|
1446 |
}
|
1447 |
+
}
|
1448 |
+
|
1449 |
+
/* Third party compatibility
|
1450 |
+
======================================================= */
|
1451 |
+
/* WooFunnel's order bump plugin */
|
1452 |
+
.woolentor-slc-terms-and-conditions .wfob_bump_wrapper{
|
1453 |
+
margin-top: 10px;
|
1454 |
}
|
includes/modules/shopify-like-checkout/class.shopify-like-checkout.php
CHANGED
@@ -7,6 +7,7 @@ class Woolentor_Shopify_Like_Checkout extends \WC_Checkout{
|
|
7 |
|
8 |
public $hide_billing_company = true;
|
9 |
public $hide_billing_phone = true;
|
|
|
10 |
|
11 |
/**
|
12 |
* Get Instance
|
@@ -22,8 +23,13 @@ class Woolentor_Shopify_Like_Checkout extends \WC_Checkout{
|
|
22 |
* Constructor
|
23 |
*/
|
24 |
function __construct(){
|
25 |
-
$this->hide_billing_company = apply_filters('woolentor_slc_hide_billing_company', true);
|
26 |
-
$this->hide_billing_phone = apply_filters('woolentor_slc_hide_billing_phone', true);
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
// Enqueue scripts
|
29 |
add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 );
|
@@ -207,8 +213,8 @@ class Woolentor_Shopify_Like_Checkout extends \WC_Checkout{
|
|
207 |
}
|
208 |
|
209 |
// Customize classes
|
210 |
-
if( $field_name == 'billing_country' || $field_name == 'billing_state' || $field_name == 'billing_postcode' ){
|
211 |
-
$fieldset['billing'][$field_name]['class']
|
212 |
}
|
213 |
}
|
214 |
|
@@ -218,8 +224,8 @@ class Woolentor_Shopify_Like_Checkout extends \WC_Checkout{
|
|
218 |
}
|
219 |
|
220 |
// Customize classes
|
221 |
-
if( $field_name == 'shipping_country' || $field_name == 'shipping_state' || $field_name == 'shipping_postcode' ){
|
222 |
-
$fieldset['shipping'][$field_name]['class']
|
223 |
}
|
224 |
}
|
225 |
|
@@ -309,6 +315,12 @@ class Woolentor_Shopify_Like_Checkout extends \WC_Checkout{
|
|
309 |
$fragments['.woolentor-checkout__shipping-method'] = '<table class="woolentor-checkout__shipping-method"><tbody>'. ob_get_clean() .'</tbody></table>';
|
310 |
|
311 |
$fragments['.woolentor-order-reivew-shipping-cost'] = '<sapn class="woolentor-order-reivew-shipping-fee">'. wc_price( $this::get_cart_totals_shipping_cost() ) .'</span>';
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
|
313 |
return $fragments;
|
314 |
}
|
@@ -484,6 +496,44 @@ class Woolentor_Shopify_Like_Checkout extends \WC_Checkout{
|
|
484 |
return $args;
|
485 |
}
|
486 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
/**
|
488 |
* Outputs a checkout/address form field.
|
489 |
*
|
7 |
|
8 |
public $hide_billing_company = true;
|
9 |
public $hide_billing_phone = true;
|
10 |
+
public $field_manager_enable = false;
|
11 |
|
12 |
/**
|
13 |
* Get Instance
|
23 |
* Constructor
|
24 |
*/
|
25 |
function __construct(){
|
26 |
+
$this->hide_billing_company = woolentor_get_option( 'show_company', 'woolentor_shopify_checkout_settings', 'off' ) === 'on' ? false : apply_filters('woolentor_slc_hide_billing_company', true);
|
27 |
+
$this->hide_billing_phone = woolentor_get_option( 'show_phone', 'woolentor_shopify_checkout_settings', 'off' ) === 'on' ? false : apply_filters('woolentor_slc_hide_billing_phone', true);
|
28 |
+
|
29 |
+
// Field Manager Active status
|
30 |
+
if( woolentor_get_option( 'billing_enable', 'woolentor_checkout_fields', 'off' ) == 'on' || woolentor_get_option( 'shipping_enable', 'woolentor_checkout_fields', 'off' ) == 'on' ){
|
31 |
+
$this->field_manager_enable = true;
|
32 |
+
}
|
33 |
|
34 |
// Enqueue scripts
|
35 |
add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 );
|
213 |
}
|
214 |
|
215 |
// Customize classes
|
216 |
+
if( ( $this->field_manager_enable === false ) && ( $field_name == 'billing_country' || $field_name == 'billing_state' || $field_name == 'billing_postcode' ) ){
|
217 |
+
$fieldset['billing'][$field_name]['class'][] = 'woolentor-one-third';
|
218 |
}
|
219 |
}
|
220 |
|
224 |
}
|
225 |
|
226 |
// Customize classes
|
227 |
+
if( ( $this->field_manager_enable === false ) && ($field_name == 'shipping_country' || $field_name == 'shipping_state' || $field_name == 'shipping_postcode') ){
|
228 |
+
$fieldset['shipping'][$field_name]['class'][] = 'woolentor-one-third';
|
229 |
}
|
230 |
}
|
231 |
|
315 |
$fragments['.woolentor-checkout__shipping-method'] = '<table class="woolentor-checkout__shipping-method"><tbody>'. ob_get_clean() .'</tbody></table>';
|
316 |
|
317 |
$fragments['.woolentor-order-reivew-shipping-cost'] = '<sapn class="woolentor-order-reivew-shipping-fee">'. wc_price( $this::get_cart_totals_shipping_cost() ) .'</span>';
|
318 |
+
|
319 |
+
// Compatibilty for the WooFunnels order bump plugin
|
320 |
+
ob_start();
|
321 |
+
$this::review_order_mini_cart_html();
|
322 |
+
|
323 |
+
$fragments['.woolentor-checkout__right-sidebar .woolentor-checkout__prduct-box'] = '<div class="woolentor-checkout__prduct-box">' .ob_get_clean() . '</div>';
|
324 |
|
325 |
return $fragments;
|
326 |
}
|
496 |
return $args;
|
497 |
}
|
498 |
|
499 |
+
/**
|
500 |
+
* This method is used to display the mini cart in the checkout page review order section.
|
501 |
+
*/
|
502 |
+
public static function review_order_mini_cart_html(){
|
503 |
+
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
504 |
+
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
|
505 |
+
|
506 |
+
if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
|
507 |
+
?>
|
508 |
+
<!-- Single product Start -->
|
509 |
+
<div class="woolentor-checkout__product">
|
510 |
+
<div class="woolentor-checkout__product-left">
|
511 |
+
<div class="woolentor-checkout__product-image">
|
512 |
+
<div class="woolentor-checkout__product-thumbnail">
|
513 |
+
<?php
|
514 |
+
if($_product->get_image_id()){
|
515 |
+
echo wp_kses_post(wp_get_attachment_image($_product->get_image_id()));
|
516 |
+
} else {
|
517 |
+
echo wc_placeholder_img();
|
518 |
+
}
|
519 |
+
?>
|
520 |
+
</div>
|
521 |
+
<span class="woolentor-checkout__product-quantity"><?php echo esc_html($cart_item['quantity']) ?></span>
|
522 |
+
</div>
|
523 |
+
<div class="woolentor-checkout__product-description">
|
524 |
+
<span class="woolentor-checkout__product-name"><a href="<?php echo esc_url( get_permalink($_product->get_id()) ); ?>"><?php echo esc_html($_product->get_name()); ?></a></span>
|
525 |
+
</div>
|
526 |
+
</div>
|
527 |
+
<div class="woolentor-checkout__product-price-box">
|
528 |
+
<span class="woolentor-checkout__product-price"><?php echo wp_kses_post(wc_price($_product->get_price())) ?></span>
|
529 |
+
</div>
|
530 |
+
</div>
|
531 |
+
<!-- Single product End -->
|
532 |
+
<?php
|
533 |
+
}
|
534 |
+
}
|
535 |
+
}
|
536 |
+
|
537 |
/**
|
538 |
* Outputs a checkout/address form field.
|
539 |
*
|
includes/modules/shopify-like-checkout/templates/form-checkout.php
CHANGED
@@ -184,6 +184,8 @@ $labels = apply_filters( 'woolentor_slc_labels', $labels );
|
|
184 |
|
185 |
<!-- Shipping address Start -->
|
186 |
<div class="woolentor-checkout__section woolentor-step--info">
|
|
|
|
|
187 |
<?php $checkout->checkout_form_billing(); ?>
|
188 |
|
189 |
<?php
|
@@ -192,6 +194,8 @@ $labels = apply_filters( 'woolentor_slc_labels', $labels );
|
|
192 |
}
|
193 |
?>
|
194 |
<?php wp_nonce_field( 'woocommerce-process_checkout', 'woocommerce-process-checkout-nonce' ); ?>
|
|
|
|
|
195 |
</div>
|
196 |
<!-- Shipping address End -->
|
197 |
|
@@ -297,9 +301,6 @@ $labels = apply_filters( 'woolentor_slc_labels', $labels );
|
|
297 |
<?php endif; ?>
|
298 |
|
299 |
<div class="woolentor-checkout__step-footer step--payment woolentor-footer--3">
|
300 |
-
<div>
|
301 |
-
<?php wc_get_template( 'checkout/terms.php' ); ?>
|
302 |
-
</div>
|
303 |
<div>
|
304 |
<?php
|
305 |
$order_button_text = apply_filters( 'woocommerce_order_button_text', $labels['place_order'] );
|
@@ -372,40 +373,9 @@ $labels = apply_filters( 'woolentor_slc_labels', $labels );
|
|
372 |
|
373 |
<div class="woolentor-checkout__prduct-box">
|
374 |
<?php
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
|
379 |
-
?>
|
380 |
-
<!-- Single product Start -->
|
381 |
-
<div class="woolentor-checkout__product">
|
382 |
-
<div class="woolentor-checkout__product-left">
|
383 |
-
<div class="woolentor-checkout__product-image">
|
384 |
-
<div class="woolentor-checkout__product-thumbnail">
|
385 |
-
<?php
|
386 |
-
if($_product->get_image_id()){
|
387 |
-
echo wp_kses_post(wp_get_attachment_image($_product->get_image_id()));
|
388 |
-
} else {
|
389 |
-
echo wc_placeholder_img();
|
390 |
-
}
|
391 |
-
?>
|
392 |
-
</div>
|
393 |
-
<span class="woolentor-checkout__product-quantity"><?php echo esc_html($cart_item['quantity']) ?></span>
|
394 |
-
</div>
|
395 |
-
<div class="woolentor-checkout__product-description">
|
396 |
-
<span class="woolentor-checkout__product-name"><a href="<?php echo esc_url( get_permalink($_product->get_id()) ); ?>"><?php echo esc_html($_product->get_name()); ?></a></span>
|
397 |
-
</div>
|
398 |
-
</div>
|
399 |
-
<div class="woolentor-checkout__product-price-box">
|
400 |
-
<span class="woolentor-checkout__product-price"><?php echo wp_kses_post(wc_price($_product->get_price())) ?></span>
|
401 |
-
</div>
|
402 |
-
</div>
|
403 |
-
<!-- Single product End -->
|
404 |
-
<?php
|
405 |
-
}
|
406 |
-
}
|
407 |
?>
|
408 |
-
|
409 |
</div>
|
410 |
|
411 |
<!-- Coupon Code -->
|
184 |
|
185 |
<!-- Shipping address Start -->
|
186 |
<div class="woolentor-checkout__section woolentor-step--info">
|
187 |
+
<?php do_action( 'woocommerce_checkout_before_customer_details' ); ?>
|
188 |
+
|
189 |
<?php $checkout->checkout_form_billing(); ?>
|
190 |
|
191 |
<?php
|
194 |
}
|
195 |
?>
|
196 |
<?php wp_nonce_field( 'woocommerce-process_checkout', 'woocommerce-process-checkout-nonce' ); ?>
|
197 |
+
|
198 |
+
<?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>
|
199 |
</div>
|
200 |
<!-- Shipping address End -->
|
201 |
|
301 |
<?php endif; ?>
|
302 |
|
303 |
<div class="woolentor-checkout__step-footer step--payment woolentor-footer--3">
|
|
|
|
|
|
|
304 |
<div>
|
305 |
<?php
|
306 |
$order_button_text = apply_filters( 'woocommerce_order_button_text', $labels['place_order'] );
|
373 |
|
374 |
<div class="woolentor-checkout__prduct-box">
|
375 |
<?php
|
376 |
+
// Converted to method to avoid duplicate coding and comatibiltity with Order bump plugin
|
377 |
+
Woolentor_Shopify_Like_Checkout::review_order_mini_cart_html();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
?>
|
|
|
379 |
</div>
|
380 |
|
381 |
<!-- Coupon Code -->
|
includes/modules/shopify-like-checkout/templates/payment.php
CHANGED
@@ -23,6 +23,10 @@ if ( ! wp_doing_ajax() ) {
|
|
23 |
?>
|
24 |
</ul>
|
25 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
26 |
</div>
|
27 |
<?php
|
28 |
if ( ! wp_doing_ajax() ) {
|
23 |
?>
|
24 |
</ul>
|
25 |
<?php endif; ?>
|
26 |
+
|
27 |
+
<div class="woolentor-slc-terms-and-conditions">
|
28 |
+
<?php wc_get_template( 'checkout/terms.php' ); ?>
|
29 |
+
</div>
|
30 |
</div>
|
31 |
<?php
|
32 |
if ( ! wp_doing_ajax() ) {
|
includes/modules/variation-swatch/assets/css/admin.css
ADDED
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
Admin style.
|
3 |
+
Contain all admin style of the plugin.
|
4 |
+
|
5 |
+
/* 1. General
|
6 |
+
======================================================= */
|
7 |
+
.swatchly_d_none,
|
8 |
+
.woolentor-condition-on {
|
9 |
+
display: none;
|
10 |
+
}
|
11 |
+
.csf-nav-options .swatchly_active{
|
12 |
+
position: relative;
|
13 |
+
}
|
14 |
+
.csf-nav-options .swatchly_active::after{
|
15 |
+
content: "";
|
16 |
+
width: 10px;
|
17 |
+
height: 10px;
|
18 |
+
color: #2dbe60;
|
19 |
+
background: #2dbe60;
|
20 |
+
position: absolute;
|
21 |
+
z-index: 1;
|
22 |
+
border-radius: 50%;
|
23 |
+
left: 7px;
|
24 |
+
top: 49%;
|
25 |
+
-webkit-transform: translateY(-51%);
|
26 |
+
-ms-transform: translateY(-51%);
|
27 |
+
transform: translateY(-51%);
|
28 |
+
line-height: 10px;
|
29 |
+
}
|
30 |
+
|
31 |
+
/*Taxonomy metabox*/
|
32 |
+
.swatchly-cs-field:after,
|
33 |
+
.swatchly-cs-field:before {
|
34 |
+
content: " ";
|
35 |
+
display: table;
|
36 |
+
}
|
37 |
+
.swatchly-cs-taxonomy {
|
38 |
+
max-width: 95%;
|
39 |
+
overflow: hidden;
|
40 |
+
}
|
41 |
+
.swatchly-cs-field .swatchly-cs-title h4 {
|
42 |
+
margin: 0;
|
43 |
+
color: #23282d;
|
44 |
+
}
|
45 |
+
|
46 |
+
.swatchly-cs-field-media .swatchly-cs--placeholder {
|
47 |
+
display: flex;
|
48 |
+
align-items: flex-start;
|
49 |
+
}
|
50 |
+
.swatchly-cs-field-media .swatchly-cs--placeholder input {
|
51 |
+
width: 100%;
|
52 |
+
margin: 0;
|
53 |
+
}
|
54 |
+
|
55 |
+
.swatchly-cs-field-media .hidden+.button {
|
56 |
+
margin-left: 0;
|
57 |
+
}
|
58 |
+
|
59 |
+
.swatchly-cs-field-media .swatchly-cs--preview {
|
60 |
+
position: relative;
|
61 |
+
}
|
62 |
+
|
63 |
+
.swatchly-cs-field-media .swatchly-cs--preview .fa-times {
|
64 |
+
position: absolute;
|
65 |
+
z-index: 1;
|
66 |
+
right: 2px;
|
67 |
+
top: 2px;
|
68 |
+
font-size: 14px;
|
69 |
+
width: 22px;
|
70 |
+
height: 22px;
|
71 |
+
line-height: 22px;
|
72 |
+
text-align: center;
|
73 |
+
text-decoration: none;
|
74 |
+
color: #fff;
|
75 |
+
background-color: #dd3333;
|
76 |
+
opacity: 0.75;
|
77 |
+
border-radius: 2px;
|
78 |
+
transition: all .2s;
|
79 |
+
}
|
80 |
+
|
81 |
+
.swatchly-cs-image-preview {
|
82 |
+
display: inline-block;
|
83 |
+
position: relative;
|
84 |
+
padding: 4px;
|
85 |
+
min-width: 100px;
|
86 |
+
min-height: 100px;
|
87 |
+
line-height: 100px;
|
88 |
+
margin-bottom: 10px;
|
89 |
+
text-align: center;
|
90 |
+
border-radius: 2px;
|
91 |
+
border: 1px solid #ccc;
|
92 |
+
background-color: #f9f9f9;
|
93 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
|
94 |
+
}
|
95 |
+
.swatchly-cs-image-preview img {
|
96 |
+
max-width: 100px;
|
97 |
+
max-height: 100px;
|
98 |
+
display: inline-block;
|
99 |
+
vertical-align: middle;
|
100 |
+
object-fit: contain;
|
101 |
+
}
|
102 |
+
|
103 |
+
.swatchly-cs-field-media .swatchly-cs--preview .fa-times:hover {
|
104 |
+
opacity: 1;
|
105 |
+
}
|
106 |
+
|
107 |
+
.swatchly-cs-field-media .swatchly-cs--preview .fa-times:focus {
|
108 |
+
box-shadow: none;
|
109 |
+
}
|
110 |
+
|
111 |
+
/* Add */
|
112 |
+
.swatchly-cs-taxonomy-add-fields .swatchly-cs-field {
|
113 |
+
padding: 8px 0;
|
114 |
+
}
|
115 |
+
.swatchly-cs-taxonomy-add-fields .swatchly-cs-field .swatchly-cs-title {
|
116 |
+
float: none;
|
117 |
+
width: 100%;
|
118 |
+
padding: 2px 2px 4px 0;
|
119 |
+
}
|
120 |
+
.swatchly-cs-taxonomy-add-fields .swatchly-cs-field .swatchly-cs-fieldset {
|
121 |
+
float: none;
|
122 |
+
width: 100%;
|
123 |
+
}
|
124 |
+
.swatchly-cs-taxonomy-add-fields + p.submit {
|
125 |
+
margin-top: 0;
|
126 |
+
}
|
127 |
+
|
128 |
+
/* Edit */
|
129 |
+
.swatchly-cs-taxonomy-edit-fields .swatchly-cs-field {
|
130 |
+
padding: 20px 0;
|
131 |
+
overflow: hidden;
|
132 |
+
}
|
133 |
+
.swatchly-cs-taxonomy-edit-fields .swatchly-cs-title {
|
134 |
+
position: relative;
|
135 |
+
width: 20%;
|
136 |
+
float: left;
|
137 |
+
}
|
138 |
+
.swatchly-cs-taxonomy-edit-fields .swatchly-cs-field .swatchly-cs-title {
|
139 |
+
width: 200px;
|
140 |
+
}
|
141 |
+
.swatchly-cs-taxonomy-edit-fields .swatchly-cs-field .swatchly-cs-title h4 {
|
142 |
+
font-size: 14px;
|
143 |
+
font-weight: 600;
|
144 |
+
line-height: 1.3;
|
145 |
+
display: inline-block;
|
146 |
+
vertical-align: middle;
|
147 |
+
}
|
148 |
+
.swatchly-cs-taxonomy-edit-fields .swatchly-cs-field .swatchly-cs-fieldset {
|
149 |
+
float: right;
|
150 |
+
width: calc(100% - 220px);
|
151 |
+
}
|
152 |
+
.swatchly-cs-after-text {
|
153 |
+
margin-top: 6px;
|
154 |
+
}
|
155 |
+
|
156 |
+
/*Swatch preview*/
|
157 |
+
table.wp-list-table td.column-thumb .swatchly_preview {
|
158 |
+
width: 44px;
|
159 |
+
height: 44px;
|
160 |
+
line-height: 44px;
|
161 |
+
text-align: center;
|
162 |
+
font-weight: 700;
|
163 |
+
border: 1px solid #ddd;
|
164 |
+
}
|
165 |
+
|
166 |
+
/* 2. Product Metabox
|
167 |
+
======================================================= */
|
168 |
+
.swatchly .wc-metabox h3 .fr strong {
|
169 |
+
font-weight: 400;
|
170 |
+
margin-right: 5px;
|
171 |
+
}
|
172 |
+
|
173 |
+
.swatchly .wc-metabox h3 .fr select {
|
174 |
+
max-width: 100%;
|
175 |
+
margin: 0;
|
176 |
+
width: auto !important;
|
177 |
+
}
|
178 |
+
|
179 |
+
.swatchly .wc-metabox .wc-metabox {
|
180 |
+
border: 1px solid transparent;
|
181 |
+
margin-bottom: 10px !important;
|
182 |
+
}
|
183 |
+
|
184 |
+
.swatchly .wc-metabox .wc-metabox h3 {
|
185 |
+
border: 1px solid #eee !important;
|
186 |
+
}
|
187 |
+
|
188 |
+
.swatchly .wc-metabox .wc-metabox table {
|
189 |
+
border: 0;
|
190 |
+
}
|
191 |
+
|
192 |
+
.swatchly .wc-metabox .wc-metabox.open {
|
193 |
+
border: 1px solid #eee;
|
194 |
+
margin-bottom: 10px !important;
|
195 |
+
}
|
196 |
+
|
197 |
+
.swatchly .wc-metabox .wc-metabox h3 {
|
198 |
+
padding-top: 5px !important;
|
199 |
+
padding-bottom: 5px !important;
|
200 |
+
}
|
201 |
+
|
202 |
+
.swatchly .wc-metabox .wc-metabox.open h3 {
|
203 |
+
background: #eee;
|
204 |
+
}
|
205 |
+
|
206 |
+
.swatchly .wc-metabox .wc-metabox-content > table td select {
|
207 |
+
width: auto !important;
|
208 |
+
}
|
209 |
+
|
210 |
+
.swatchly.wc-metaboxes-wrapper .woocommerce-message {
|
211 |
+
display: none;
|
212 |
+
margin: 10px !important;
|
213 |
+
}
|
214 |
+
|
215 |
+
.swatchly_media_preview {
|
216 |
+
margin-right: 10px;
|
217 |
+
}
|
218 |
+
|
219 |
+
.swatchly_media_preview img {
|
220 |
+
width: 60px;
|
221 |
+
height: 60px;
|
222 |
+
}
|
223 |
+
|
224 |
+
/*Conditional fields*/
|
225 |
+
.swatchly_show_if_label,
|
226 |
+
.swatchly_show_if_color,
|
227 |
+
.swatchly_show_if_image,
|
228 |
+
.swatchly_show_if_tooltip_text,
|
229 |
+
.swatchly_show_if_tooltip_image,
|
230 |
+
.swatchly_show_if_enable_multi_color_1,
|
231 |
+
.swatchly_type_ .swatchly-cs-field.swatchly_hide_if_select,
|
232 |
+
.swatchly_type_select .swatchly-cs-field.swatchly_hide_if_select,
|
233 |
+
.swatchly_show_if_auto_convert_to_dropdown_image_1 {
|
234 |
+
display: none;
|
235 |
+
}
|
236 |
+
|
237 |
+
.swatchly_1.swatchly_type_color tr.swatchly_show_if_color,
|
238 |
+
.swatchly_1.swatchly_type_image tr.swatchly_show_if_image,
|
239 |
+
.swatchly_1.swatchly_tooltip_text tr.swatchly_show_if_tooltip_text,
|
240 |
+
.swatchly_1.swatchly_tooltip_image tr.swatchly_show_if_tooltip_image,
|
241 |
+
.swatchly_1.swatchly_type_color.swatchly_enable_multi_color_1 tr.swatchly_show_if_enable_multi_color_1,
|
242 |
+
.swatchly_2.swatchly_tooltip_text>.wc-metabox-content>table>tbody>tr.swatchly_show_if_tooltip_text,
|
243 |
+
.swatchly_2.swatchly_tooltip_image>.wc-metabox-content>table>tbody>tr.swatchly_show_if_tooltip_image {
|
244 |
+
display: table-row;
|
245 |
+
}
|
246 |
+
|
247 |
+
.swatchly_type_color .swatchly-cs-field.swatchly_show_if_color,
|
248 |
+
.swatchly_type_image .swatchly-cs-field.swatchly_show_if_image,
|
249 |
+
.swatchly_type_label .swatchly-cs-field.swatchly_show_if_label,
|
250 |
+
.swatchly_auto_convert_dropdowns_to_image_1 .swatchly_show_if_auto_convert_to_dropdown_image_1 {
|
251 |
+
display: block;
|
252 |
+
}
|
253 |
+
|
254 |
+
.swatchly .toolbar-top input[type="checkbox"] {
|
255 |
+
float: none;
|
256 |
+
}
|
257 |
+
|
258 |
+
.swatchly .toolbar-top label {
|
259 |
+
margin-left: 5px;
|
260 |
+
float: none;
|
261 |
+
width: auto;
|
262 |
+
}
|
263 |
+
|
264 |
+
.swatchly .toolbar-top .swatchly_condition label{
|
265 |
+
margin-left: 0;
|
266 |
+
}
|
267 |
+
.swatchly .wc-metabox table td input[type="text"] {
|
268 |
+
padding: 0px 4px;
|
269 |
+
}
|
270 |
+
|
271 |
+
.swatchly .wc-metabox table td input[type="checkbox"] {
|
272 |
+
width: 1rem;
|
273 |
+
min-width: 1rem;
|
274 |
+
}
|
275 |
+
|
276 |
+
.swatchly .wc-metabox .wp-picker-input-wrap {
|
277 |
+
min-width: 150px;
|
278 |
+
}
|
279 |
+
|
280 |
+
.swatchly .wc-metabox .swatchly_color_picker {
|
281 |
+
width: 4rem !important;
|
282 |
+
min-width: 4rem !important;
|
283 |
+
}
|
284 |
+
|
285 |
+
#swatchly_swatches_product_data .wc-metabox .wp-picker-clear {
|
286 |
+
display: inline-block;
|
287 |
+
min-width: auto;
|
288 |
+
width: auto;
|
289 |
+
}
|
290 |
+
|
291 |
+
.wc-metabox.swatchly_2.swatchly_type_ h3,
|
292 |
+
.wc-metabox.swatchly_2.swatchly_type_select h3 {
|
293 |
+
cursor: no-drop;
|
294 |
+
}
|
295 |
+
|
296 |
+
.wc-metabox.swatchly_2.swatchly_type_label h3,
|
297 |
+
.wc-metabox.swatchly_2.swatchly_type_color h3,
|
298 |
+
.wc-metabox.swatchly_2.swatchly_type_image h3 {
|
299 |
+
cursor: pointer;
|
300 |
+
}
|
301 |
+
|
302 |
+
.swatchly .wc-metabox.swatchly_1 table td {
|
303 |
+
padding: .6em .6em .6em 0;
|
304 |
+
vertical-align: middle;
|
305 |
+
}
|
includes/modules/variation-swatch/assets/css/frontend.css
ADDED
@@ -0,0 +1,526 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
Frontend style.
|
3 |
+
Contain all frontend style of the plugin.
|
4 |
+
|
5 |
+
/* 1. General
|
6 |
+
======================================================= */
|
7 |
+
.swatchly-type-wrap *,
|
8 |
+
.swatchly-type-wrap *::after,
|
9 |
+
.swatchly-type-wrap *::before {
|
10 |
+
-webkit-box-sizing: border-box;
|
11 |
+
box-sizing: border-box;
|
12 |
+
}
|
13 |
+
|
14 |
+
.swatchly_d_none,
|
15 |
+
.single-product .variations_form .variations tr.swatchly_d_none {
|
16 |
+
display: none !important;
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
+
/* Swatch Alignment */
|
21 |
+
.swatchly_align_center .swatchly-type-wrap{
|
22 |
+
justify-content: center;
|
23 |
+
}
|
24 |
+
.swatchly_align_right .swatchly-type-wrap{
|
25 |
+
justify-content: flex-end;
|
26 |
+
}
|
27 |
+
|
28 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form tr,
|
29 |
+
.single-product .variations_form .variations tr{
|
30 |
+
display: grid !important;
|
31 |
+
grid-auto-columns: auto;
|
32 |
+
grid-auto-rows: auto;
|
33 |
+
justify-content: flex-start;
|
34 |
+
text-align: left;
|
35 |
+
grid-template-columns: auto;
|
36 |
+
grid-gap: 0;
|
37 |
+
width: 100%;
|
38 |
+
max-width: 100%;
|
39 |
+
border: unset !important;
|
40 |
+
margin-bottom: 10px;
|
41 |
+
height: auto !important;
|
42 |
+
}
|
43 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form td,
|
44 |
+
.single-product .variations_form .variations td{
|
45 |
+
display: flex;
|
46 |
+
justify-content: flex-start;
|
47 |
+
align-items: center;
|
48 |
+
text-align: left;
|
49 |
+
border: unset;
|
50 |
+
padding: 0;
|
51 |
+
margin: 0;
|
52 |
+
}
|
53 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form .reset_variations{
|
54 |
+
display: inline-block;
|
55 |
+
margin-left: 5px;
|
56 |
+
}
|
57 |
+
|
58 |
+
/* 2. Swatch design
|
59 |
+
======================================================= */
|
60 |
+
.swatchly-type-wrap img {
|
61 |
+
max-width: 100%;
|
62 |
+
max-height: 100%;
|
63 |
+
}
|
64 |
+
|
65 |
+
.swatchly-type-wrap {
|
66 |
+
display: -webkit-box;
|
67 |
+
display: -webkit-flex;
|
68 |
+
display: -ms-flexbox;
|
69 |
+
display: flex;
|
70 |
+
-webkit-box-align: center;
|
71 |
+
-webkit-align-items: center;
|
72 |
+
-ms-flex-align: center;
|
73 |
+
align-items: center;
|
74 |
+
flex-wrap: wrap;
|
75 |
+
}
|
76 |
+
|
77 |
+
.swatchly-swatch {
|
78 |
+
margin: 5px 5px 5px 0;
|
79 |
+
position: relative;
|
80 |
+
background-size: cover;
|
81 |
+
display: -webkit-box;
|
82 |
+
display: -webkit-flex;
|
83 |
+
display: -ms-flexbox;
|
84 |
+
display: flex;
|
85 |
+
-webkit-box-align: center;
|
86 |
+
-webkit-align-items: center;
|
87 |
+
-ms-flex-align: center;
|
88 |
+
align-items: center;
|
89 |
+
-webkit-box-pack: center;
|
90 |
+
-webkit-justify-content: center;
|
91 |
+
-ms-flex-pack: center;
|
92 |
+
justify-content: center;
|
93 |
+
cursor: pointer;
|
94 |
+
-webkit-transition: all 0.2s ease-in-out;
|
95 |
+
-o-transition: all 0.2s ease-in-out;
|
96 |
+
transition: all 0.2s ease-in-out;
|
97 |
+
}
|
98 |
+
|
99 |
+
/*Width & Height controll*/
|
100 |
+
.swatchly-swatch {
|
101 |
+
min-width: 33px;
|
102 |
+
min-height: 33px;
|
103 |
+
}
|
104 |
+
|
105 |
+
.swatchly-type-image .swatchly-swatch {
|
106 |
+
width: 35px;
|
107 |
+
height: 35px;
|
108 |
+
}
|
109 |
+
|
110 |
+
/* border controll */
|
111 |
+
.swatchly-swatch{
|
112 |
+
border: 1px solid #d8d8d8;
|
113 |
+
}
|
114 |
+
|
115 |
+
|
116 |
+
.swatchly-swatch:last-child {
|
117 |
+
margin-right: 0;
|
118 |
+
}
|
119 |
+
|
120 |
+
.swatchly-swatch:focus {
|
121 |
+
display: none;
|
122 |
+
}
|
123 |
+
|
124 |
+
.swatchly-swatch .swatchly-content {
|
125 |
+
position: relative;
|
126 |
+
border: none;
|
127 |
+
text-align: center;
|
128 |
+
display: -webkit-box;
|
129 |
+
display: -webkit-flex;
|
130 |
+
display: -ms-flexbox;
|
131 |
+
display: flex;
|
132 |
+
-webkit-box-align: center;
|
133 |
+
-webkit-align-items: center;
|
134 |
+
-ms-flex-align: center;
|
135 |
+
align-items: center;
|
136 |
+
-webkit-box-pack: center;
|
137 |
+
-webkit-justify-content: center;
|
138 |
+
-ms-flex-pack: center;
|
139 |
+
justify-content: center;
|
140 |
+
padding: 0px 7px;
|
141 |
+
border-radius: 0px;
|
142 |
+
cursor: pointer;
|
143 |
+
-webkit-transition: all 0.3s ease-in-out;
|
144 |
+
-o-transition: all 0.3s ease-in-out;
|
145 |
+
transition: all 0.3s ease-in-out;
|
146 |
+
background-color: transparent;
|
147 |
+
}
|
148 |
+
|
149 |
+
.swatchly-inset .swatchly-swatch:before {
|
150 |
+
content: "";
|
151 |
+
position: absolute;
|
152 |
+
border: 2px solid #fff;
|
153 |
+
width: 100%;
|
154 |
+
height: 100%;
|
155 |
+
}
|
156 |
+
|
157 |
+
|
158 |
+
/*Swatch Types*/
|
159 |
+
.swatchly-type-image .swatchly-swatch:not(.swatchly-disabled) .swatchly-content {
|
160 |
+
padding: 0;
|
161 |
+
}
|
162 |
+
|
163 |
+
.swatchly-type-image .swatchly-content img {
|
164 |
+
vertical-align: middle;
|
165 |
+
width: 100%;
|
166 |
+
height: 100%;
|
167 |
+
}
|
168 |
+
|
169 |
+
|
170 |
+
/*Shapes*/
|
171 |
+
.swatchly-shape-type-rounded .swatchly-swatch {
|
172 |
+
border-radius: 3px;
|
173 |
+
}
|
174 |
+
|
175 |
+
.swatchly-shape-type-rounded .swatchly-content img {
|
176 |
+
border-radius: 3px;
|
177 |
+
}
|
178 |
+
|
179 |
+
.swatchly-shape-type-rounded.swatchly-type-image .swatchly-content {
|
180 |
+
display: inline-block;
|
181 |
+
height: 100%;
|
182 |
+
border-radius: 3px;
|
183 |
+
}
|
184 |
+
|
185 |
+
.swatchly-shape-type-circle .swatchly-swatch {
|
186 |
+
border-radius: 5000px;
|
187 |
+
}
|
188 |
+
|
189 |
+
.swatchly-shape-type-circle .swatchly-content {
|
190 |
+
text-align: center;
|
191 |
+
display: -webkit-box;
|
192 |
+
display: -webkit-flex;
|
193 |
+
display: -ms-flexbox;
|
194 |
+
display: flex;
|
195 |
+
-webkit-box-align: center;
|
196 |
+
-webkit-align-items: center;
|
197 |
+
-ms-flex-align: center;
|
198 |
+
align-items: center;
|
199 |
+
}
|
200 |
+
|
201 |
+
.swatchly-shape-type-circle .swatchly-content img {
|
202 |
+
border-radius: 5000px;
|
203 |
+
}
|
204 |
+
|
205 |
+
.swatchly-shape-type-circle.swatchly-type-image .swatchly-swatch .swatchly-content {
|
206 |
+
border-radius: 50000px;
|
207 |
+
text-align: center;
|
208 |
+
}
|
209 |
+
|
210 |
+
.swatchly-shape-type-circle.swatchly-type-image .swatchly-content img {
|
211 |
+
border-radius: 5000px;
|
212 |
+
vertical-align: middle;
|
213 |
+
}
|
214 |
+
|
215 |
+
|
216 |
+
/*Inset*/
|
217 |
+
.swatchly-shape-type-rounded.swatchly-inset .swatchly-swatch:before {
|
218 |
+
border-radius: 3px;
|
219 |
+
}
|
220 |
+
|
221 |
+
.swatchly-shape-type-circle.swatchly-inset .swatchly-swatch:before {
|
222 |
+
border-radius: 5000px;
|
223 |
+
}
|
224 |
+
|
225 |
+
/*Hover & Selected*/
|
226 |
+
.swatchly-swatch:hover,
|
227 |
+
.swatchly-swatch.swatchly-selected,
|
228 |
+
.swatchly-swatch.swatchly-more-button {
|
229 |
+
border-color: #000;
|
230 |
+
}
|
231 |
+
|
232 |
+
.swatchly-swatch.swatchly-more-button {
|
233 |
+
background-color: #000;
|
234 |
+
color: #ffffff;
|
235 |
+
}
|
236 |
+
|
237 |
+
.swatchly-shape-type-circle .swatchly-selected,
|
238 |
+
.swatchly-type-image .swatchly-shape-type-circle .swatchly-selected .swatchly-content {
|
239 |
+
border-radius: 5000px;
|
240 |
+
}
|
241 |
+
|
242 |
+
.swatchly-swatch.swatchly-selected.swatchly-content {
|
243 |
+
border: 1px solid #000 !important;
|
244 |
+
}
|
245 |
+
|
246 |
+
|
247 |
+
/*Disabled*/
|
248 |
+
.swatchly-swatch.swatchly-disabled {
|
249 |
+
position: relative;
|
250 |
+
pointer-events: none;
|
251 |
+
cursor: not-allowed;
|
252 |
+
overflow: hidden;
|
253 |
+
opacity: .7;
|
254 |
+
}
|
255 |
+
|
256 |
+
.swatchly-swatch.swatchly-disabled .swatchly-content:after,
|
257 |
+
.swatchly-type-image .swatchly-swatch.swatchly-disabled .swatchly-content:after {
|
258 |
+
-webkit-transform: rotate(-45deg);
|
259 |
+
-ms-transform: rotate(-45deg);
|
260 |
+
transform: rotate(-45deg);
|
261 |
+
}
|
262 |
+
|
263 |
+
.swatchly-swatch.swatchly-disabled .swatchly-content:before,
|
264 |
+
.swatchly-type-image .swatchly-swatch.swatchly-disabled .swatchly-content:before {
|
265 |
+
-webkit-transform: rotate(45deg);
|
266 |
+
-ms-transform: rotate(45deg);
|
267 |
+
transform: rotate(45deg);
|
268 |
+
}
|
269 |
+
|
270 |
+
.swatchly-swatch.swatchly-disabled .swatchly-content::after,
|
271 |
+
.swatchly-swatch.swatchly-disabled .swatchly-content::before,
|
272 |
+
.swatchly-type-image .swatchly-swatch.swatchly-disabled .swatchly-content::after,
|
273 |
+
.swatchly-type-image .swatchly-swatch.swatchly-disabled .swatchly-content::before {
|
274 |
+
position: absolute;
|
275 |
+
content: "";
|
276 |
+
opacity: 1;
|
277 |
+
border: 0;
|
278 |
+
margin: 0;
|
279 |
+
padding: 0;
|
280 |
+
min-width: auto;
|
281 |
+
width: 100%;
|
282 |
+
height: 1px;
|
283 |
+
background: #fd2727;
|
284 |
+
left: 0;
|
285 |
+
right: 0;
|
286 |
+
bottom: 0;
|
287 |
+
top: 50%;
|
288 |
+
visibility: visible;
|
289 |
+
}
|
290 |
+
|
291 |
+
.swatchly-blur-without-cross .swatchly-disabled .swatchly-content::before,
|
292 |
+
.swatchly-blur-without-cross .swatchly-disabled .swatchly-content::after,
|
293 |
+
.swatchly-blur .swatchly-disabled .swatchly-content::before,
|
294 |
+
.swatchly-blur .swatchly-disabled .swatchly-content::after {
|
295 |
+
display: none;
|
296 |
+
}
|
297 |
+
|
298 |
+
.swatchly-blur-with-cross .swatchly-disabled,
|
299 |
+
.swatchly-blur .swatchly-disabled {
|
300 |
+
opacity: .3;
|
301 |
+
}
|
302 |
+
|
303 |
+
.swatchly-hide .swatchly-disabled {
|
304 |
+
display: none;
|
305 |
+
}
|
306 |
+
|
307 |
+
|
308 |
+
/* 3. Tooltip
|
309 |
+
======================================================= */
|
310 |
+
.swatchly-swatch .swatchly-tooltip {
|
311 |
+
position: absolute;
|
312 |
+
background: #000;
|
313 |
+
text-align: center;
|
314 |
+
z-index: 999;
|
315 |
+
border: 2px solid #000;
|
316 |
+
align-items: center;
|
317 |
+
max-width: 150px;
|
318 |
+
width: max-content;
|
319 |
+
opacity: 0;
|
320 |
+
visibility: hidden;
|
321 |
+
-webkit-transition: opacity .6s, margin .3s;
|
322 |
+
-o-transition: opacity .6s, margin .3s;
|
323 |
+
transition: opacity .6s, margin .3s;
|
324 |
+
font-size: 13px;
|
325 |
+
line-height: 14px;
|
326 |
+
bottom: calc(100% + 10px);
|
327 |
+
left: 50%;
|
328 |
+
-webkit-transform: translateX(-50%);
|
329 |
+
-ms-transform: translateX(-50%);
|
330 |
+
transform: translateX(-50%);
|
331 |
+
color: #fff;
|
332 |
+
border-radius: 2px;
|
333 |
+
display: -webkit-box;
|
334 |
+
display: -webkit-flex;
|
335 |
+
display: -ms-flexbox;
|
336 |
+
display: flex;
|
337 |
+
-webkit-box-orient: vertical;
|
338 |
+
-webkit-box-direction: reverse;
|
339 |
+
-webkit-flex-direction: column-reverse;
|
340 |
+
-ms-flex-direction: column-reverse;
|
341 |
+
flex-direction: column-reverse;
|
342 |
+
-webkit-transition: all 0.3s ease-in-out;
|
343 |
+
-o-transition: all 0.3s ease-in-out;
|
344 |
+
transition: all 0.3s ease-in-out;
|
345 |
+
}
|
346 |
+
|
347 |
+
.swatchly-swatch .swatchly-tooltip::after {
|
348 |
+
border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #000;
|
349 |
+
border-style: solid;
|
350 |
+
border-width: 5px 0 5px 5px;
|
351 |
+
content: "";
|
352 |
+
height: 0;
|
353 |
+
position: absolute;
|
354 |
+
bottom: 10px;
|
355 |
+
left: 50%;
|
356 |
+
width: 0;
|
357 |
+
bottom: -9px;
|
358 |
+
-webkit-transform: translateX(-50%) rotate(90deg);
|
359 |
+
-ms-transform: translateX(-50%) rotate(90deg);
|
360 |
+
transform: translateX(-50%) rotate(90deg);
|
361 |
+
}
|
362 |
+
|
363 |
+
.swatchly-swatch .swatchly-tooltip-text {
|
364 |
+
white-space: normal;
|
365 |
+
padding: 7px 7px;
|
366 |
+
}
|
367 |
+
|
368 |
+
.swatchly-swatch .swatchly-tooltip-image {
|
369 |
+
background-color: #ffffff;
|
370 |
+
padding: 5px;
|
371 |
+
max-width: 80px;
|
372 |
+
width: 100%;
|
373 |
+
min-width: 50px;
|
374 |
+
}
|
375 |
+
|
376 |
+
.swatchly-swatch .swatchly-tooltip img {
|
377 |
+
/* Remove theme default margin */
|
378 |
+
margin: 0 !important;
|
379 |
+
}
|
380 |
+
|
381 |
+
.swatchly-swatch:hover .swatchly-tooltip {
|
382 |
+
visibility: visible;
|
383 |
+
opacity: 1;
|
384 |
+
}
|
385 |
+
|
386 |
+
.woocommerce.single-product div.product form.cart .variations td.label,
|
387 |
+
.woocommerce.single-product div.product form.cart .variations td.value {
|
388 |
+
width: auto;
|
389 |
+
display: block;
|
390 |
+
}
|
391 |
+
|
392 |
+
|
393 |
+
/* 4. Archive Page
|
394 |
+
======================================================= */
|
395 |
+
.swatchly-more-button a {
|
396 |
+
color: #333;
|
397 |
+
text-decoration: none;
|
398 |
+
}
|
399 |
+
|
400 |
+
.swatchly-swatch.swatchly-more-button .swatchly-content::after {
|
401 |
+
content: '';
|
402 |
+
left: 50%;
|
403 |
+
top: 50%;
|
404 |
+
height: 18px;
|
405 |
+
width: 1px;
|
406 |
+
background-color: #fff;
|
407 |
+
position: absolute;
|
408 |
+
-webkit-transform: translateY(-50%);
|
409 |
+
-ms-transform: translateY(-50%);
|
410 |
+
transform: translateY(-50%);
|
411 |
+
}
|
412 |
+
|
413 |
+
.swatchly-swatch.swatchly-more-button .swatchly-content::before {
|
414 |
+
content: '';
|
415 |
+
left: 50%;
|
416 |
+
top: 50%;
|
417 |
+
height: 1px;
|
418 |
+
width: 18px;
|
419 |
+
background-color: #fff;
|
420 |
+
position: absolute;
|
421 |
+
-webkit-transform: translateX(-50%);
|
422 |
+
-ms-transform: translateX(-50%);
|
423 |
+
transform: translateX(-50%);
|
424 |
+
}
|
425 |
+
|
426 |
+
/*Loop variation form*/
|
427 |
+
.swatchly_loop_variation_form table {
|
428 |
+
border: none;
|
429 |
+
margin-bottom: 0px;
|
430 |
+
background: transparent !important;
|
431 |
+
}
|
432 |
+
|
433 |
+
.swatchly_loop_variation_form table td {
|
434 |
+
border: unset;
|
435 |
+
padding: 0 5px 0 0 !important;
|
436 |
+
}
|
437 |
+
|
438 |
+
.swatchly_loop_variation_form td.value {
|
439 |
+
padding-bottom: 5px;
|
440 |
+
}
|
441 |
+
|
442 |
+
/*center align*/
|
443 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form.swatchly_align_center tr,
|
444 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form.swatchly_align_center td{
|
445 |
+
text-align: center;
|
446 |
+
justify-content: center;
|
447 |
+
}
|
448 |
+
.swatchly_loop_variation_form.swatchly_align_center td{
|
449 |
+
text-align: center;
|
450 |
+
}
|
451 |
+
|
452 |
+
/*right align*/
|
453 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form.swatchly_align_right tr,
|
454 |
+
.swatchly_pl_show_swatches_label_1 .swatchly_loop_variation_form.swatchly_align_right td{
|
455 |
+
text-align: right;
|
456 |
+
justify-content: flex-end;
|
457 |
+
}
|
458 |
+
.swatchly_loop_variation_form.swatchly_align_right td{
|
459 |
+
text-align: right;
|
460 |
+
}
|
461 |
+
|
462 |
+
.swatchly_loop_variation_form.swatchly_align_right td.value,
|
463 |
+
.swatchly_loop_variation_form.swatchly_align_right .swatchly-type-wrap {
|
464 |
+
text-align: right;
|
465 |
+
justify-content: flex-end;
|
466 |
+
}
|
467 |
+
|
468 |
+
.swatchly_loop_variation_form.swatchly_align_right .reset_variations {
|
469 |
+
display: inline-block;
|
470 |
+
text-align: right;
|
471 |
+
}
|
472 |
+
.swatchly_pl.swatchly_out_of_stock p {
|
473 |
+
margin-bottom: 0;
|
474 |
+
color: red;
|
475 |
+
}
|
476 |
+
|
477 |
+
.swatchly_default_select {
|
478 |
+
display: none !important;
|
479 |
+
}
|
480 |
+
|
481 |
+
/*Notice*/
|
482 |
+
#TB_window #TB_title {
|
483 |
+
background: transparent;
|
484 |
+
border-bottom: none;
|
485 |
+
}
|
486 |
+
|
487 |
+
#TB_window #TB_ajaxContent {
|
488 |
+
-webkit-box-sizing: border-box;
|
489 |
+
-moz-box-sizing: border-box;
|
490 |
+
box-sizing: border-box;
|
491 |
+
background-color: #fff;
|
492 |
+
width: 100% !important;
|
493 |
+
height: auto !important;
|
494 |
+
max-height: 80vh !important;
|
495 |
+
overflow: auto;
|
496 |
+
padding: 0 15px;
|
497 |
+
}
|
498 |
+
|
499 |
+
/* 5. Theme Support
|
500 |
+
======================================================= */
|
501 |
+
|
502 |
+
/* Hello elementor */
|
503 |
+
.theme-hello-elementor table.variations tbody>tr>td,
|
504 |
+
.theme-hello-elementor table.variations tbody>tr>th{
|
505 |
+
background: transparent;
|
506 |
+
}
|
507 |
+
|
508 |
+
/* Woodmart */
|
509 |
+
.theme-woodmart.single-product .variations label:after{
|
510 |
+
display: none;
|
511 |
+
}
|
512 |
+
.theme-woodmart .swatchly_loop_variation_form .reset_variations{
|
513 |
+
visibility: visible !important;
|
514 |
+
opacity: 1 !important;
|
515 |
+
pointer-events: auto;
|
516 |
+
}
|
517 |
+
|
518 |
+
/* Salient */
|
519 |
+
body.theme-salient.swatchly_pl_show_clear_link_1 .swatchly_loop_variation_form .reset_variations {
|
520 |
+
display: inline-block !important;
|
521 |
+
}
|
522 |
+
|
523 |
+
/* Woolentor */
|
524 |
+
.quick-cart-loaded .swatchly_loop_variation_form{
|
525 |
+
display: none;
|
526 |
+
}
|
includes/modules/variation-swatch/assets/js/add-to-cart-variation.js
ADDED
@@ -0,0 +1,878 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*global swatchly_add_to_cart_variation_params */
|
2 |
+
;(function ( $, window, document, undefined ) {
|
3 |
+
|
4 |
+
/**
|
5 |
+
* VariationForm class which handles variation forms and attributes.
|
6 |
+
*/
|
7 |
+
var VariationForm = function( $form ) {
|
8 |
+
var self = this;
|
9 |
+
|
10 |
+
self.$form = $form;
|
11 |
+
self.$attributeFields = $form.find( '.variations select' );
|
12 |
+
self.$singleVariation = $form.find( '.single_variation' );
|
13 |
+
self.$singleVariationWrap = $form.find( '.single_variation_wrap' );
|
14 |
+
self.$resetVariations = $form.find( '.reset_variations' );
|
15 |
+
self.$product = $form.closest( '.product' );
|
16 |
+
self.variationData = $form.data( 'product_variations' );
|
17 |
+
self.useAjax = false === self.variationData;
|
18 |
+
self.xhr = false;
|
19 |
+
self.loading = true;
|
20 |
+
|
21 |
+
// Initial state.
|
22 |
+
self.$singleVariationWrap.show();
|
23 |
+
self.$form.off( '.wc-variation-form' );
|
24 |
+
|
25 |
+
// Methods.
|
26 |
+
self.getChosenAttributes = self.getChosenAttributes.bind( self );
|
27 |
+
self.findMatchingVariations = self.findMatchingVariations.bind( self );
|
28 |
+
self.isMatch = self.isMatch.bind( self );
|
29 |
+
self.toggleResetLink = self.toggleResetLink.bind( self );
|
30 |
+
|
31 |
+
// Events.
|
32 |
+
$form.on( 'click.wc-variation-form', '.reset_variations', { variationForm: self }, self.onReset );
|
33 |
+
$form.on( 'reload_product_variations', { variationForm: self }, self.onReload );
|
34 |
+
$form.on( 'hide_variation', { variationForm: self }, self.onHide );
|
35 |
+
$form.on( 'show_variation', { variationForm: self }, self.onShow );
|
36 |
+
$form.on( 'click', '.single_add_to_cart_button', { variationForm: self }, self.onAddToCart );
|
37 |
+
$form.on( 'reset_data', { variationForm: self }, self.onResetDisplayedVariation );
|
38 |
+
$form.on( 'reset_image', { variationForm: self }, self.onResetImage );
|
39 |
+
$form.on( 'change.wc-variation-form', '.variations select', { variationForm: self }, self.onChange );
|
40 |
+
$form.on( 'found_variation.wc-variation-form', { variationForm: self }, self.onFoundVariation );
|
41 |
+
$form.on( 'check_variations.wc-variation-form', { variationForm: self }, self.onFindVariation );
|
42 |
+
$form.on( 'update_variation_values.wc-variation-form', { variationForm: self }, self.onUpdateAttributes );
|
43 |
+
|
44 |
+
// Init after gallery.
|
45 |
+
setTimeout( function() {
|
46 |
+
$form.trigger( 'check_variations' );
|
47 |
+
$form.trigger( 'wc_variation_form', self );
|
48 |
+
self.loading = false;
|
49 |
+
}, 100 );
|
50 |
+
};
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Reset all fields.
|
54 |
+
*/
|
55 |
+
VariationForm.prototype.onReset = function( event ) {
|
56 |
+
event.preventDefault();
|
57 |
+
event.data.variationForm.$attributeFields.val( '' ).trigger( 'change' );
|
58 |
+
event.data.variationForm.$form.trigger( 'reset_data' );
|
59 |
+
};
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Reload variation data from the DOM.
|
63 |
+
*/
|
64 |
+
VariationForm.prototype.onReload = function( event ) {
|
65 |
+
var form = event.data.variationForm;
|
66 |
+
form.variationData = form.$form.data( 'product_variations' );
|
67 |
+
form.useAjax = false === form.variationData;
|
68 |
+
form.$form.trigger( 'check_variations' );
|
69 |
+
};
|
70 |
+
|
71 |
+
/**
|
72 |
+
* When a variation is hidden.
|
73 |
+
*/
|
74 |
+
VariationForm.prototype.onHide = function( event ) {
|
75 |
+
event.preventDefault();
|
76 |
+
event.data.variationForm.$form
|
77 |
+
.find( '.single_add_to_cart_button' )
|
78 |
+
.removeClass( 'wc-variation-is-unavailable' )
|
79 |
+
.addClass( 'disabled wc-variation-selection-needed' );
|
80 |
+
event.data.variationForm.$form
|
81 |
+
.find( '.woocommerce-variation-add-to-cart' )
|
82 |
+
.removeClass( 'woocommerce-variation-add-to-cart-enabled' )
|
83 |
+
.addClass( 'woocommerce-variation-add-to-cart-disabled' );
|
84 |
+
};
|
85 |
+
|
86 |
+
/**
|
87 |
+
* When a variation is shown.
|
88 |
+
*/
|
89 |
+
VariationForm.prototype.onShow = function( event, variation, purchasable ) {
|
90 |
+
event.preventDefault();
|
91 |
+
if ( purchasable ) {
|
92 |
+
event.data.variationForm.$form
|
93 |
+
.find( '.single_add_to_cart_button' )
|
94 |
+
.removeClass( 'disabled wc-variation-selection-needed wc-variation-is-unavailable' );
|
95 |
+
event.data.variationForm.$form
|
96 |
+
.find( '.woocommerce-variation-add-to-cart' )
|
97 |
+
.removeClass( 'woocommerce-variation-add-to-cart-disabled' )
|
98 |
+
.addClass( 'woocommerce-variation-add-to-cart-enabled' );
|
99 |
+
} else {
|
100 |
+
event.data.variationForm.$form
|
101 |
+
.find( '.single_add_to_cart_button' )
|
102 |
+
.removeClass( 'wc-variation-selection-needed' )
|
103 |
+
.addClass( 'disabled wc-variation-is-unavailable' );
|
104 |
+
event.data.variationForm.$form
|
105 |
+
.find( '.woocommerce-variation-add-to-cart' )
|
106 |
+
.removeClass( 'woocommerce-variation-add-to-cart-enabled' )
|
107 |
+
.addClass( 'woocommerce-variation-add-to-cart-disabled' );
|
108 |
+
}
|
109 |
+
|
110 |
+
// If present, the media element library needs initialized on the variation description.
|
111 |
+
if ( wp.mediaelement ) {
|
112 |
+
event.data.variationForm.$form.find( '.wp-audio-shortcode, .wp-video-shortcode' )
|
113 |
+
.not( '.mejs-container' )
|
114 |
+
.filter(
|
115 |
+
function () {
|
116 |
+
return ! $( this ).parent().hasClass( 'mejs-mediaelement' );
|
117 |
+
}
|
118 |
+
)
|
119 |
+
.mediaelementplayer( wp.mediaelement.settings );
|
120 |
+
}
|
121 |
+
};
|
122 |
+
|
123 |
+
/**
|
124 |
+
* When the cart button is pressed.
|
125 |
+
*/
|
126 |
+
VariationForm.prototype.onAddToCart = function( event ) {
|
127 |
+
if ( $( this ).is('.disabled') ) {
|
128 |
+
event.preventDefault();
|
129 |
+
|
130 |
+
if ( $( this ).is('.wc-variation-is-unavailable') ) {
|
131 |
+
window.alert( swatchly_add_to_cart_variation_params.i18n_unavailable_text );
|
132 |
+
} else if ( $( this ).is('.wc-variation-selection-needed') ) {
|
133 |
+
window.alert( swatchly_add_to_cart_variation_params.i18n_make_a_selection_text );
|
134 |
+
}
|
135 |
+
}
|
136 |
+
};
|
137 |
+
|
138 |
+
/**
|
139 |
+
* When displayed variation data is reset.
|
140 |
+
*/
|
141 |
+
VariationForm.prototype.onResetDisplayedVariation = function( event ) {
|
142 |
+
var form = event.data.variationForm;
|
143 |
+
form.$product.find( '.product_meta' ).find( '.sku' ).wc_reset_content();
|
144 |
+
form.$product
|
145 |
+
.find( '.product_weight, .woocommerce-product-attributes-item--weight .woocommerce-product-attributes-item__value' )
|
146 |
+
.wc_reset_content();
|
147 |
+
form.$product
|
148 |
+
.find( '.product_dimensions, .woocommerce-product-attributes-item--dimensions .woocommerce-product-attributes-item__value' )
|
149 |
+
.wc_reset_content();
|
150 |
+
form.$form.trigger( 'reset_image' );
|
151 |
+
form.$singleVariation.slideUp( 200 ).trigger( 'hide_variation' );
|
152 |
+
};
|
153 |
+
|
154 |
+
/**
|
155 |
+
* When the product image is reset.
|
156 |
+
*/
|
157 |
+
VariationForm.prototype.onResetImage = function( event ) {
|
158 |
+
event.data.variationForm.$form.wc_variations_image_update( false );
|
159 |
+
};
|
160 |
+
|
161 |
+
/**
|
162 |
+
*
|
163 |
+
*/
|
164 |
+
VariationForm.prototype.onFindVariation = function( event, chosenAttributes ) {
|
165 |
+
var form = event.data.variationForm,
|
166 |
+
attributes = 'undefined' !== typeof chosenAttributes ? chosenAttributes : form.getChosenAttributes(),
|
167 |
+
currentAttributes = attributes.data;
|
168 |
+
|
169 |
+
if ( attributes.count && attributes.count === attributes.chosenCount ) {
|
170 |
+
if ( form.useAjax ) {
|
171 |
+
if ( form.xhr ) {
|
172 |
+
form.xhr.abort();
|
173 |
+
}
|
174 |
+
form.$form.block( { message: null, overlayCSS: { background: '#fff', opacity: 0.6 } } );
|
175 |
+
currentAttributes.product_id = parseInt( form.$form.data( 'product_id' ), 10 );
|
176 |
+
currentAttributes.custom_data = form.$form.data( 'custom_data' );
|
177 |
+
form.xhr = $.ajax( {
|
178 |
+
url: swatchly_add_to_cart_variation_params.wc_ajax_url.toString().replace( '%%endpoint%%', 'get_variation' ),
|
179 |
+
type: 'POST',
|
180 |
+
data: currentAttributes,
|
181 |
+
success: function( variation ) {
|
182 |
+
if ( variation ) {
|
183 |
+
form.$form.trigger( 'found_variation', [ variation ] );
|
184 |
+
} else {
|
185 |
+
form.$form.trigger( 'reset_data' );
|
186 |
+
attributes.chosenCount = 0;
|
187 |
+
|
188 |
+
if ( ! form.loading ) {
|
189 |
+
form.$form
|
190 |
+
.find( '.single_variation' )
|
191 |
+
.after(
|
192 |
+
'<p class="wc-no-matching-variations woocommerce-info">' +
|
193 |
+
swatchly_add_to_cart_variation_params.i18n_no_matching_variations_text +
|
194 |
+
'</p>'
|
195 |
+
);
|
196 |
+
form.$form.find( '.wc-no-matching-variations' ).slideDown( 200 );
|
197 |
+
}
|
198 |
+
}
|
199 |
+
},
|
200 |
+
complete: function() {
|
201 |
+
form.$form.unblock();
|
202 |
+
}
|
203 |
+
} );
|
204 |
+
} else {
|
205 |
+
form.$form.trigger( 'update_variation_values' );
|
206 |
+
|
207 |
+
var matching_variations = form.findMatchingVariations( form.variationData, currentAttributes ),
|
208 |
+
variation = matching_variations.shift();
|
209 |
+
|
210 |
+
if ( variation ) {
|
211 |
+
form.$form.trigger( 'found_variation', [ variation ] );
|
212 |
+
} else {
|
213 |
+
form.$form.trigger( 'reset_data' );
|
214 |
+
attributes.chosenCount = 0;
|
215 |
+
|
216 |
+
if ( ! form.loading ) {
|
217 |
+
form.$form
|
218 |
+
.find( '.single_variation' )
|
219 |
+
.after(
|
220 |
+
'<p class="wc-no-matching-variations woocommerce-info">' +
|
221 |
+
swatchly_add_to_cart_variation_params.i18n_no_matching_variations_text +
|
222 |
+
'</p>'
|
223 |
+
);
|
224 |
+
form.$form.find( '.wc-no-matching-variations' ).slideDown( 200 );
|
225 |
+
}
|
226 |
+
}
|
227 |
+
}
|
228 |
+
} else {
|
229 |
+
form.$form.trigger( 'update_variation_values' );
|
230 |
+
form.$form.trigger( 'reset_data' );
|
231 |
+
}
|
232 |
+
|
233 |
+
// Show reset link.
|
234 |
+
form.toggleResetLink( attributes.chosenCount > 0 );
|
235 |
+
};
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Triggered when a variation has been found which matches all attributes.
|
239 |
+
*/
|
240 |
+
VariationForm.prototype.onFoundVariation = function( event, variation ) {
|
241 |
+
var form = event.data.variationForm,
|
242 |
+
$sku = form.$product.find( '.product_meta' ).find( '.sku' ),
|
243 |
+
$weight = form.$product.find(
|
244 |
+
'.product_weight, .woocommerce-product-attributes-item--weight .woocommerce-product-attributes-item__value'
|
245 |
+
),
|
246 |
+
$dimensions = form.$product.find(
|
247 |
+
'.product_dimensions, .woocommerce-product-attributes-item--dimensions .woocommerce-product-attributes-item__value'
|
248 |
+
),
|
249 |
+
$qty = form.$singleVariationWrap.find( '.quantity' ),
|
250 |
+
purchasable = true,
|
251 |
+
variation_id = '',
|
252 |
+
template = false,
|
253 |
+
$template_html = '';
|
254 |
+
|
255 |
+
if ( variation.sku ) {
|
256 |
+
$sku.wc_set_content( variation.sku );
|
257 |
+
} else {
|
258 |
+
$sku.wc_reset_content();
|
259 |
+
}
|
260 |
+
|
261 |
+
if ( variation.weight ) {
|
262 |
+
$weight.wc_set_content( variation.weight_html );
|
263 |
+
} else {
|
264 |
+
$weight.wc_reset_content();
|
265 |
+
}
|
266 |
+
|
267 |
+
if ( variation.dimensions ) {
|
268 |
+
// Decode HTML entities.
|
269 |
+
$dimensions.wc_set_content( $.parseHTML( variation.dimensions_html )[0].data );
|
270 |
+
} else {
|
271 |
+
$dimensions.wc_reset_content();
|
272 |
+
}
|
273 |
+
|
274 |
+
form.$form.wc_variations_image_update( variation );
|
275 |
+
|
276 |
+
if ( ! variation.variation_is_visible ) {
|
277 |
+
template = wp_template( 'unavailable-variation-template' );
|
278 |
+
} else {
|
279 |
+
template = wp_template( 'variation-template' );
|
280 |
+
variation_id = variation.variation_id;
|
281 |
+
}
|
282 |
+
|
283 |
+
$template_html = template( {
|
284 |
+
variation: variation
|
285 |
+
} );
|
286 |
+
$template_html = $template_html.replace( '/*<![CDATA[*/', '' );
|
287 |
+
$template_html = $template_html.replace( '/*]]>*/', '' );
|
288 |
+
|
289 |
+
form.$singleVariation.html( $template_html );
|
290 |
+
form.$form.find( 'input[name="variation_id"], input.variation_id' ).val( variation.variation_id ).trigger( 'change' );
|
291 |
+
|
292 |
+
// Hide or show qty input
|
293 |
+
if ( variation.is_sold_individually === 'yes' ) {
|
294 |
+
$qty.find( 'input.qty' ).val( '1' ).attr( 'min', '1' ).attr( 'max', '' ).trigger( 'change' );
|
295 |
+
$qty.hide();
|
296 |
+
} else {
|
297 |
+
|
298 |
+
var $qty_input = $qty.find( 'input.qty' ),
|
299 |
+
qty_val = parseFloat( $qty_input.val() );
|
300 |
+
|
301 |
+
if ( isNaN( qty_val ) ) {
|
302 |
+
qty_val = variation.min_qty;
|
303 |
+
} else {
|
304 |
+
qty_val = qty_val > parseFloat( variation.max_qty ) ? variation.max_qty : qty_val;
|
305 |
+
qty_val = qty_val < parseFloat( variation.min_qty ) ? variation.min_qty : qty_val;
|
306 |
+
}
|
307 |
+
|
308 |
+
$qty_input.attr( 'min', variation.min_qty ).attr( 'max', variation.max_qty ).val( qty_val ).trigger( 'change' );
|
309 |
+
$qty.show();
|
310 |
+
}
|
311 |
+
|
312 |
+
// Enable or disable the add to cart button
|
313 |
+
if ( ! variation.is_purchasable || ! variation.is_in_stock || ! variation.variation_is_visible ) {
|
314 |
+
purchasable = false;
|
315 |
+
}
|
316 |
+
|
317 |
+
// Reveal
|
318 |
+
if ( form.$singleVariation.text().trim() ) {
|
319 |
+
form.$singleVariation.slideDown( 200 ).trigger( 'show_variation', [ variation, purchasable ] );
|
320 |
+
} else {
|
321 |
+
form.$singleVariation.show().trigger( 'show_variation', [ variation, purchasable ] );
|
322 |
+
}
|
323 |
+
};
|
324 |
+
|
325 |
+
/**
|
326 |
+
* Triggered when an attribute field changes.
|
327 |
+
*/
|
328 |
+
VariationForm.prototype.onChange = function( event ) {
|
329 |
+
var form = event.data.variationForm;
|
330 |
+
|
331 |
+
form.$form.find( 'input[name="variation_id"], input.variation_id' ).val( '' ).trigger( 'change' );
|
332 |
+
form.$form.find( '.wc-no-matching-variations' ).remove();
|
333 |
+
|
334 |
+
if ( form.useAjax ) {
|
335 |
+
form.$form.trigger( 'check_variations' );
|
336 |
+
} else {
|
337 |
+
form.$form.trigger( 'woocommerce_variation_select_change' );
|
338 |
+
form.$form.trigger( 'check_variations' );
|
339 |
+
}
|
340 |
+
|
341 |
+
// Custom event for when variation selection has been changed
|
342 |
+
form.$form.trigger( 'woocommerce_variation_has_changed' );
|
343 |
+
};
|
344 |
+
|
345 |
+
/**
|
346 |
+
* Escape quotes in a string.
|
347 |
+
* @param {string} string
|
348 |
+
* @return {string}
|
349 |
+
*/
|
350 |
+
VariationForm.prototype.addSlashes = function( string ) {
|
351 |
+
string = string.replace( /'/g, '\\\'' );
|
352 |
+
string = string.replace( /"/g, '\\\"' );
|
353 |
+
return string;
|
354 |
+
};
|
355 |
+
|
356 |
+
/**
|
357 |
+
* Updates attributes in the DOM to show valid values.
|
358 |
+
*/
|
359 |
+
VariationForm.prototype.onUpdateAttributes = function( event ) {
|
360 |
+
var form = event.data.variationForm,
|
361 |
+
attributes = form.getChosenAttributes(),
|
362 |
+
currentAttributes = attributes.data;
|
363 |
+
|
364 |
+
if ( form.useAjax ) {
|
365 |
+
return;
|
366 |
+
}
|
367 |
+
|
368 |
+
// Loop through selects and disable/enable options based on selections.
|
369 |
+
form.$attributeFields.each( function( index, el ) {
|
370 |
+
var current_attr_select = $( el ),
|
371 |
+
current_attr_name = current_attr_select.data( 'attribute_name' ) || current_attr_select.attr( 'name' ),
|
372 |
+
show_option_none = $( el ).data( 'show_option_none' ),
|
373 |
+
option_gt_filter = ':gt(0)',
|
374 |
+
attached_options_count = 0,
|
375 |
+
new_attr_select = $( '<select/>' ),
|
376 |
+
selected_attr_val = current_attr_select.val() || '',
|
377 |
+
selected_attr_val_valid = true;
|
378 |
+
|
379 |
+
// Reference options set at first.
|
380 |
+
if ( ! current_attr_select.data( 'attribute_html' ) ) {
|
381 |
+
var refSelect = current_attr_select.clone();
|
382 |
+
|
383 |
+
refSelect.find( 'option' ).removeAttr( 'attached' ).prop( 'disabled', false ).prop( 'selected', false );
|
384 |
+
|
385 |
+
// Legacy data attribute.
|
386 |
+
current_attr_select.data(
|
387 |
+
'attribute_options',
|
388 |
+
refSelect.find( 'option' + option_gt_filter ).get()
|
389 |
+
);
|
390 |
+
current_attr_select.data( 'attribute_html', refSelect.html() );
|
391 |
+
}
|
392 |
+
|
393 |
+
new_attr_select.html( current_attr_select.data( 'attribute_html' ) );
|
394 |
+
|
395 |
+
// The attribute of this select field should not be taken into account when calculating its matching variations:
|
396 |
+
// The constraints of this attribute are shaped by the values of the other attributes.
|
397 |
+
var checkAttributes = $.extend( true, {}, currentAttributes );
|
398 |
+
|
399 |
+
checkAttributes[ current_attr_name ] = '';
|
400 |
+
|
401 |
+
var variations = form.findMatchingVariations( form.variationData, checkAttributes );
|
402 |
+
|
403 |
+
// Loop through variations.
|
404 |
+
for ( var num in variations ) {
|
405 |
+
if ( typeof( variations[ num ] ) !== 'undefined' ) {
|
406 |
+
var variationAttributes = variations[ num ].attributes;
|
407 |
+
|
408 |
+
for ( var attr_name in variationAttributes ) {
|
409 |
+
if ( variationAttributes.hasOwnProperty( attr_name ) ) {
|
410 |
+
var attr_val = variationAttributes[ attr_name ],
|
411 |
+
variation_active = '';
|
412 |
+
|
413 |
+
if ( attr_name === current_attr_name ) {
|
414 |
+
if ( variations[ num ].variation_is_active ) {
|
415 |
+
variation_active = 'enabled';
|
416 |
+
}
|
417 |
+
|
418 |
+
if ( attr_val ) {
|
419 |
+
// Decode entities.
|
420 |
+
attr_val = $( '<div/>' ).html( attr_val ).text();
|
421 |
+
|
422 |
+
// Attach to matching options by value. This is done to compare
|
423 |
+
// TEXT values rather than any HTML entities.
|
424 |
+
var $option_elements = new_attr_select.find( 'option' );
|
425 |
+
if ( $option_elements.length ) {
|
426 |
+
for (var i = 0, len = $option_elements.length; i < len; i++) {
|
427 |
+
var $option_element = $( $option_elements[i] ),
|
428 |
+
option_value = $option_element.val();
|
429 |
+
|
430 |
+
if ( attr_val === option_value ) {
|
431 |
+
$option_element.addClass( 'attached ' + variation_active );
|
432 |
+
break;
|
433 |
+
}
|
434 |
+
}
|
435 |
+
}
|
436 |
+
} else {
|
437 |
+
// Attach all apart from placeholder.
|
438 |
+
new_attr_select.find( 'option:gt(0)' ).addClass( 'attached ' + variation_active );
|
439 |
+
}
|
440 |
+
}
|
441 |
+
}
|
442 |
+
}
|
443 |
+
}
|
444 |
+
}
|
445 |
+
|
446 |
+
// Count available options.
|
447 |
+
attached_options_count = new_attr_select.find( 'option.attached' ).length;
|
448 |
+
|
449 |
+
// Check if current selection is in attached options.
|
450 |
+
if ( selected_attr_val ) {
|
451 |
+
selected_attr_val_valid = false;
|
452 |
+
|
453 |
+
if ( 0 !== attached_options_count ) {
|
454 |
+
new_attr_select.find( 'option.attached.enabled' ).each( function() {
|
455 |
+
var option_value = $( this ).val();
|
456 |
+
|
457 |
+
if ( selected_attr_val === option_value ) {
|
458 |
+
selected_attr_val_valid = true;
|
459 |
+
return false; // break.
|
460 |
+
}
|
461 |
+
});
|
462 |
+
}
|
463 |
+
}
|
464 |
+
|
465 |
+
// Detach the placeholder if:
|
466 |
+
// - Valid options exist.
|
467 |
+
// - The current selection is non-empty.
|
468 |
+
// - The current selection is valid.
|
469 |
+
// - Placeholders are not set to be permanently visible.
|
470 |
+
if ( attached_options_count > 0 && selected_attr_val && selected_attr_val_valid && ( 'no' === show_option_none ) ) {
|
471 |
+
new_attr_select.find( 'option:first' ).remove();
|
472 |
+
option_gt_filter = '';
|
473 |
+
}
|
474 |
+
|
475 |
+
// Detach unattached.
|
476 |
+
new_attr_select.find( 'option' + option_gt_filter + ':not(.attached)' ).remove();
|
477 |
+
|
478 |
+
// Finally, copy to DOM and set value.
|
479 |
+
current_attr_select.html( new_attr_select.html() );
|
480 |
+
current_attr_select.find( 'option' + option_gt_filter + ':not(.enabled)' ).prop( 'disabled', true );
|
481 |
+
|
482 |
+
// Choose selected value.
|
483 |
+
if ( selected_attr_val ) {
|
484 |
+
// If the previously selected value is no longer available, fall back to the placeholder (it's going to be there).
|
485 |
+
if ( selected_attr_val_valid ) {
|
486 |
+
current_attr_select.val( selected_attr_val );
|
487 |
+
} else {
|
488 |
+
current_attr_select.val( '' ).trigger( 'change' );
|
489 |
+
}
|
490 |
+
} else {
|
491 |
+
current_attr_select.val( '' ); // No change event to prevent infinite loop.
|
492 |
+
}
|
493 |
+
});
|
494 |
+
|
495 |
+
// Custom event for when variations have been updated.
|
496 |
+
form.$form.trigger( 'woocommerce_update_variation_values' );
|
497 |
+
};
|
498 |
+
|
499 |
+
/**
|
500 |
+
* Get chosen attributes from form.
|
501 |
+
* @return array
|
502 |
+
*/
|
503 |
+
VariationForm.prototype.getChosenAttributes = function() {
|
504 |
+
var data = {};
|
505 |
+
var count = 0;
|
506 |
+
var chosen = 0;
|
507 |
+
|
508 |
+
this.$attributeFields.each( function() {
|
509 |
+
var attribute_name = $( this ).data( 'attribute_name' ) || $( this ).attr( 'name' );
|
510 |
+
var value = $( this ).val() || '';
|
511 |
+
|
512 |
+
if ( value.length > 0 ) {
|
513 |
+
chosen ++;
|
514 |
+
}
|
515 |
+
|
516 |
+
count ++;
|
517 |
+
data[ attribute_name ] = value;
|
518 |
+
});
|
519 |
+
|
520 |
+
return {
|
521 |
+
'count' : count,
|
522 |
+
'chosenCount': chosen,
|
523 |
+
'data' : data
|
524 |
+
};
|
525 |
+
};
|
526 |
+
|
527 |
+
/**
|
528 |
+
* Find matching variations for attributes.
|
529 |
+
*/
|
530 |
+
VariationForm.prototype.findMatchingVariations = function( variations, attributes ) {
|
531 |
+
var matching = [];
|
532 |
+
for ( var i = 0; i < variations.length; i++ ) {
|
533 |
+
var variation = variations[i];
|
534 |
+
|
535 |
+
if ( this.isMatch( variation.attributes, attributes ) ) {
|
536 |
+
matching.push( variation );
|
537 |
+
}
|
538 |
+
}
|
539 |
+
return matching;
|
540 |
+
};
|
541 |
+
|
542 |
+
/**
|
543 |
+
* See if attributes match.
|
544 |
+
* @return {Boolean}
|
545 |
+
*/
|
546 |
+
VariationForm.prototype.isMatch = function( variation_attributes, attributes ) {
|
547 |
+
var match = true;
|
548 |
+
for ( var attr_name in variation_attributes ) {
|
549 |
+
if ( variation_attributes.hasOwnProperty( attr_name ) ) {
|
550 |
+
var val1 = variation_attributes[ attr_name ];
|
551 |
+
var val2 = attributes[ attr_name ];
|
552 |
+
if ( val1 !== undefined && val2 !== undefined && val1.length !== 0 && val2.length !== 0 && val1 !== val2 ) {
|
553 |
+
match = false;
|
554 |
+
}
|
555 |
+
}
|
556 |
+
}
|
557 |
+
return match;
|
558 |
+
};
|
559 |
+
|
560 |
+
/**
|
561 |
+
* Show or hide the reset link.
|
562 |
+
*/
|
563 |
+
VariationForm.prototype.toggleResetLink = function( on ) {
|
564 |
+
if ( on ) {
|
565 |
+
if ( this.$resetVariations.css( 'visibility' ) === 'hidden' ) {
|
566 |
+
this.$resetVariations.css( 'visibility', 'visible' ).hide().fadeIn();
|
567 |
+
}
|
568 |
+
} else {
|
569 |
+
this.$resetVariations.css( 'visibility', 'hidden' );
|
570 |
+
}
|
571 |
+
};
|
572 |
+
|
573 |
+
/**
|
574 |
+
* Function to call wc_variation_form on jquery selector.
|
575 |
+
*/
|
576 |
+
$.fn.wc_variation_form = function() {
|
577 |
+
new VariationForm( this );
|
578 |
+
return this;
|
579 |
+
};
|
580 |
+
|
581 |
+
/**
|
582 |
+
* Stores the default text for an element so it can be reset later
|
583 |
+
*/
|
584 |
+
$.fn.wc_set_content = function( content ) {
|
585 |
+
if ( undefined === this.attr( 'data-o_content' ) ) {
|
586 |
+
this.attr( 'data-o_content', this.text() );
|
587 |
+
}
|
588 |
+
this.text( content );
|
589 |
+
};
|
590 |
+
|
591 |
+
/**
|
592 |
+
* Stores the default text for an element so it can be reset later
|
593 |
+
*/
|
594 |
+
$.fn.wc_reset_content = function() {
|
595 |
+
if ( undefined !== this.attr( 'data-o_content' ) ) {
|
596 |
+
this.text( this.attr( 'data-o_content' ) );
|
597 |
+
}
|
598 |
+
};
|
599 |
+
|
600 |
+
/**
|
601 |
+
* Stores a default attribute for an element so it can be reset later
|
602 |
+
*/
|
603 |
+
$.fn.wc_set_variation_attr = function( attr, value ) {
|
604 |
+
if ( undefined === this.attr( 'data-o_' + attr ) ) {
|
605 |
+
this.attr( 'data-o_' + attr, ( ! this.attr( attr ) ) ? '' : this.attr( attr ) );
|
606 |
+
}
|
607 |
+
if ( false === value ) {
|
608 |
+
this.removeAttr( attr );
|
609 |
+
} else {
|
610 |
+
this.attr( attr, value );
|
611 |
+
}
|
612 |
+
};
|
613 |
+
|
614 |
+
/**
|
615 |
+
* Reset a default attribute for an element so it can be reset later
|
616 |
+
*/
|
617 |
+
$.fn.wc_reset_variation_attr = function( attr ) {
|
618 |
+
if ( undefined !== this.attr( 'data-o_' + attr ) ) {
|
619 |
+
this.attr( attr, this.attr( 'data-o_' + attr ) );
|
620 |
+
}
|
621 |
+
};
|
622 |
+
|
623 |
+
/**
|
624 |
+
* Reset the slide position if the variation has a different image than the current one
|
625 |
+
*/
|
626 |
+
$.fn.wc_maybe_trigger_slide_position_reset = function( variation ) {
|
627 |
+
var $form = $( this ),
|
628 |
+
$product = $form.closest( '.product' ),
|
629 |
+
$product_gallery = $product.find( '.images' ),
|
630 |
+
reset_slide_position = false,
|
631 |
+
new_image_id = ( variation && variation.image_id ) ? variation.image_id : '';
|
632 |
+
|
633 |
+
if ( $form.attr( 'current-image' ) !== new_image_id ) {
|
634 |
+
reset_slide_position = true;
|
635 |
+
}
|
636 |
+
|
637 |
+
$form.attr( 'current-image', new_image_id );
|
638 |
+
|
639 |
+
if ( reset_slide_position ) {
|
640 |
+
$product_gallery.trigger( 'woocommerce_gallery_reset_slide_position' );
|
641 |
+
}
|
642 |
+
};
|
643 |
+
|
644 |
+
/**
|
645 |
+
* Sets product images for the chosen variation
|
646 |
+
*/
|
647 |
+
$.fn.wc_variations_image_update = function( variation ) {
|
648 |
+
var $form = this,
|
649 |
+
$product = $form.closest( '.product' ),
|
650 |
+
$product_gallery = $product.find( '.images' ),
|
651 |
+
$gallery_nav = $product.find( '.flex-control-nav' ),
|
652 |
+
$gallery_img = $gallery_nav.find( 'li:eq(0) img' ),
|
653 |
+
$product_img_wrap = $product_gallery
|
654 |
+
.find( '.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder' )
|
655 |
+
.eq( 0 ),
|
656 |
+
$product_img = $product_img_wrap.find( '.wp-post-image' ),
|
657 |
+
$product_link = $product_img_wrap.find( 'a' ).eq( 0 );
|
658 |
+
|
659 |
+
if ( variation && variation.image && variation.image.src && variation.image.src.length > 1 ) {
|
660 |
+
// See if the gallery has an image with the same original src as the image we want to switch to.
|
661 |
+
var galleryHasImage = $gallery_nav.find( 'li img[data-o_src="' + variation.image.gallery_thumbnail_src + '"]' ).length > 0;
|
662 |
+
|
663 |
+
// If the gallery has the image, reset the images. We'll scroll to the correct one.
|
664 |
+
if ( galleryHasImage ) {
|
665 |
+
$form.wc_variations_image_reset();
|
666 |
+
}
|
667 |
+
|
668 |
+
// See if gallery has a matching image we can slide to.
|
669 |
+
var slideToImage = $gallery_nav.find( 'li img[src="' + variation.image.gallery_thumbnail_src + '"]' );
|
670 |
+
|
671 |
+
if ( slideToImage.length > 0 ) {
|
672 |
+
slideToImage.trigger( 'click' );
|
673 |
+
$form.attr( 'current-image', variation.image_id );
|
674 |
+
window.setTimeout( function() {
|
675 |
+
$( window ).trigger( 'resize' );
|
676 |
+
$product_gallery.trigger( 'woocommerce_gallery_init_zoom' );
|
677 |
+
}, 20 );
|
678 |
+
return;
|
679 |
+
}
|
680 |
+
|
681 |
+
$product_img.wc_set_variation_attr( 'src', variation.image.src );
|
682 |
+
$product_img.wc_set_variation_attr( 'height', variation.image.src_h );
|
683 |
+
$product_img.wc_set_variation_attr( 'width', variation.image.src_w );
|
684 |
+
$product_img.wc_set_variation_attr( 'srcset', variation.image.srcset );
|
685 |
+
$product_img.wc_set_variation_attr( 'sizes', variation.image.sizes );
|
686 |
+
$product_img.wc_set_variation_attr( 'title', variation.image.title );
|
687 |
+
$product_img.wc_set_variation_attr( 'data-caption', variation.image.caption );
|
688 |
+
$product_img.wc_set_variation_attr( 'alt', variation.image.alt );
|
689 |
+
$product_img.wc_set_variation_attr( 'data-src', variation.image.full_src );
|
690 |
+
$product_img.wc_set_variation_attr( 'data-large_image', variation.image.full_src );
|
691 |
+
$product_img.wc_set_variation_attr( 'data-large_image_width', variation.image.full_src_w );
|
692 |
+
$product_img.wc_set_variation_attr( 'data-large_image_height', variation.image.full_src_h );
|
693 |
+
$product_img_wrap.wc_set_variation_attr( 'data-thumb', variation.image.src );
|
694 |
+
$gallery_img.wc_set_variation_attr( 'src', variation.image.gallery_thumbnail_src );
|
695 |
+
$product_link.wc_set_variation_attr( 'href', variation.image.full_src );
|
696 |
+
} else {
|
697 |
+
$form.wc_variations_image_reset();
|
698 |
+
}
|
699 |
+
|
700 |
+
window.setTimeout( function() {
|
701 |
+
$( window ).trigger( 'resize' );
|
702 |
+
$form.wc_maybe_trigger_slide_position_reset( variation );
|
703 |
+
$product_gallery.trigger( 'woocommerce_gallery_init_zoom' );
|
704 |
+
}, 20 );
|
705 |
+
};
|
706 |
+
|
707 |
+
/**
|
708 |
+
* Reset main image to defaults.
|
709 |
+
*/
|
710 |
+
$.fn.wc_variations_image_reset = function() {
|
711 |
+
var $form = this,
|
712 |
+
$product = $form.closest( '.product' ),
|
713 |
+
$product_gallery = $product.find( '.images' ),
|
714 |
+
$gallery_nav = $product.find( '.flex-control-nav' ),
|
715 |
+
$gallery_img = $gallery_nav.find( 'li:eq(0) img' ),
|
716 |
+
$product_img_wrap = $product_gallery
|
717 |
+
.find( '.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder' )
|
718 |
+
.eq( 0 ),
|
719 |
+
$product_img = $product_img_wrap.find( '.wp-post-image' ),
|
720 |
+
$product_link = $product_img_wrap.find( 'a' ).eq( 0 );
|
721 |
+
|
722 |
+
$product_img.wc_reset_variation_attr( 'src' );
|
723 |
+
$product_img.wc_reset_variation_attr( 'width' );
|
724 |
+
$product_img.wc_reset_variation_attr( 'height' );
|
725 |
+
$product_img.wc_reset_variation_attr( 'srcset' );
|
726 |
+
$product_img.wc_reset_variation_attr( 'sizes' );
|
727 |
+
$product_img.wc_reset_variation_attr( 'title' );
|
728 |
+
$product_img.wc_reset_variation_attr( 'data-caption' );
|
729 |
+
$product_img.wc_reset_variation_attr( 'alt' );
|
730 |
+
$product_img.wc_reset_variation_attr( 'data-src' );
|
731 |
+
$product_img.wc_reset_variation_attr( 'data-large_image' );
|
732 |
+
$product_img.wc_reset_variation_attr( 'data-large_image_width' );
|
733 |
+
$product_img.wc_reset_variation_attr( 'data-large_image_height' );
|
734 |
+
$product_img_wrap.wc_reset_variation_attr( 'data-thumb' );
|
735 |
+
$gallery_img.wc_reset_variation_attr( 'src' );
|
736 |
+
$product_link.wc_reset_variation_attr( 'href' );
|
737 |
+
};
|
738 |
+
|
739 |
+
$(function() {
|
740 |
+
if ( typeof swatchly_add_to_cart_variation_params !== 'undefined' ) {
|
741 |
+
$( '.variations_form' ).each( function() {
|
742 |
+
$( this ).wc_variation_form();
|
743 |
+
});
|
744 |
+
}
|
745 |
+
});
|
746 |
+
|
747 |
+
|
748 |
+
/**
|
749 |
+
* Third party plugins compatibility
|
750 |
+
* 1. annasta Woocommerce Product Filters
|
751 |
+
*/
|
752 |
+
$( document ).on( 'awf_after_ajax_products_update', function() {
|
753 |
+
if ( typeof swatchly_add_to_cart_variation_params !== 'undefined' ) {
|
754 |
+
$( '.variations_form' ).each( function() {
|
755 |
+
$( this ).wc_variation_form();
|
756 |
+
});
|
757 |
+
}
|
758 |
+
});
|
759 |
+
|
760 |
+
/**
|
761 |
+
* 2. Jet Smart Filters
|
762 |
+
*/
|
763 |
+
$( document ).on( 'jet-filter-content-rendered', function() {
|
764 |
+
if ( typeof swatchly_add_to_cart_variation_params !== 'undefined' ) {
|
765 |
+
$( '.variations_form' ).each( function() {
|
766 |
+
$( this ).wc_variation_form();
|
767 |
+
});
|
768 |
+
}
|
769 |
+
});
|
770 |
+
|
771 |
+
/**
|
772 |
+
* Themes compatibility
|
773 |
+
* 1. urna theme
|
774 |
+
*/
|
775 |
+
$( document ).on( 'urna_lazyload_image', function() {
|
776 |
+
if ( typeof swatchly_add_to_cart_variation_params !== 'undefined' ) {
|
777 |
+
$( '.variations_form' ).each( function() {
|
778 |
+
$( this ).wc_variation_form();
|
779 |
+
});
|
780 |
+
}
|
781 |
+
});
|
782 |
+
$( document ).on( 'woolentor_quick_cart_rendered', function() {
|
783 |
+
if ( typeof swatchly_add_to_cart_variation_params !== 'undefined' ) {
|
784 |
+
$( '.variations_form' ).each( function() {
|
785 |
+
$( this ).wc_variation_form();
|
786 |
+
});
|
787 |
+
}
|
788 |
+
});
|
789 |
+
|
790 |
+
/**
|
791 |
+
*
|
792 |
+
* 2. Airi theme
|
793 |
+
* All major themes compatibility
|
794 |
+
* It is intended to add compatibility for the airy theme's infinite scroll
|
795 |
+
*/
|
796 |
+
$( document ).on('ajaxComplete', function (event, jqxhr, settings) {
|
797 |
+
if ( typeof swatchly_add_to_cart_variation_params !== 'undefined' ) {
|
798 |
+
$( '.swatchly_loop_variation_form:not(.swatchly_loaded_on_ready)' ).each( function() {
|
799 |
+
$( this ).wc_variation_form();
|
800 |
+
});
|
801 |
+
}
|
802 |
+
|
803 |
+
return false;
|
804 |
+
});
|
805 |
+
|
806 |
+
/**
|
807 |
+
* Matches inline variation objects to chosen attributes
|
808 |
+
* @deprecated 2.6.9
|
809 |
+
* @type {Object}
|
810 |
+
*/
|
811 |
+
var wc_variation_form_matcher = {
|
812 |
+
find_matching_variations: function( product_variations, settings ) {
|
813 |
+
var matching = [];
|
814 |
+
for ( var i = 0; i < product_variations.length; i++ ) {
|
815 |
+
var variation = product_variations[i];
|
816 |
+
|
817 |
+
if ( wc_variation_form_matcher.variations_match( variation.attributes, settings ) ) {
|
818 |
+
matching.push( variation );
|
819 |
+
}
|
820 |
+
}
|
821 |
+
return matching;
|
822 |
+
},
|
823 |
+
variations_match: function( attrs1, attrs2 ) {
|
824 |
+
var match = true;
|
825 |
+
for ( var attr_name in attrs1 ) {
|
826 |
+
if ( attrs1.hasOwnProperty( attr_name ) ) {
|
827 |
+
var val1 = attrs1[ attr_name ];
|
828 |
+
var val2 = attrs2[ attr_name ];
|
829 |
+
if ( val1 !== undefined && val2 !== undefined && val1.length !== 0 && val2.length !== 0 && val1 !== val2 ) {
|
830 |
+
match = false;
|
831 |
+
}
|
832 |
+
}
|
833 |
+
}
|
834 |
+
return match;
|
835 |
+
}
|
836 |
+
};
|
837 |
+
|
838 |
+
/**
|
839 |
+
* Avoids using wp.template where possible in order to be CSP compliant.
|
840 |
+
* wp.template uses internally eval().
|
841 |
+
* @param {string} templateId
|
842 |
+
* @return {Function}
|
843 |
+
*/
|
844 |
+
var wp_template = function( templateId ) {
|
845 |
+
var html = document.getElementById( 'tmpl-' + templateId ).textContent;
|
846 |
+
var hard = false;
|
847 |
+
// any <# #> interpolate (evaluate).
|
848 |
+
hard = hard || /<#\s?data\./.test( html );
|
849 |
+
// any data that is NOT data.variation.
|
850 |
+
hard = hard || /{{{?\s?data\.(?!variation\.).+}}}?/.test( html );
|
851 |
+
// any data access deeper than 1 level e.g.
|
852 |
+
// data.variation.object.item
|
853 |
+
// data.variation.object['item']
|
854 |
+
// data.variation.array[0]
|
855 |
+
hard = hard || /{{{?\s?data\.variation\.[\w-]*[^\s}]/.test ( html );
|
856 |
+
if ( hard ) {
|
857 |
+
return wp.template( templateId );
|
858 |
+
}
|
859 |
+
return function template ( data ) {
|
860 |
+
var variation = data.variation || {};
|
861 |
+
return html.replace( /({{{?)\s?data\.variation\.([\w-]*)\s?(}}}?)/g, function( _, open, key, close ) {
|
862 |
+
// Error in the format, ignore.
|
863 |
+
if ( open.length !== close.length ) {
|
864 |
+
return '';
|
865 |
+
}
|
866 |
+
var replacement = variation[ key ] || '';
|
867 |
+
// {{{ }}} => interpolate (unescaped).
|
868 |
+
// {{ }} => interpolate (escaped).
|
869 |
+
// https://codex.wordpress.org/Javascript_Reference/wp.template
|
870 |
+
if ( open.length === 2 ) {
|
871 |
+
return window.escape( replacement );
|
872 |
+
}
|
873 |
+
return replacement;
|
874 |
+
});
|
875 |
+
};
|
876 |
+
};
|
877 |
+
|
878 |
+
})( jQuery, window, document );
|
includes/modules/variation-swatch/assets/js/admin.js
ADDED
@@ -0,0 +1,331 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Admin JS
|
3 |
+
*/
|
4 |
+
;( function ( $ ) {
|
5 |
+
'use strict';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Ajax request on product variation changes
|
9 |
+
*/
|
10 |
+
$('#woocommerce-product-data').on('woocommerce_variations_loaded', function () {
|
11 |
+
var data = {
|
12 |
+
action: 'swatchly_ajax_reload_metabox_panel',
|
13 |
+
product_id: swatchly_params.product_id,
|
14 |
+
nonce: swatchly_params.nonce,
|
15 |
+
};
|
16 |
+
|
17 |
+
$.ajax({
|
18 |
+
type: 'POST',
|
19 |
+
url: woocommerce_admin.ajax_url,
|
20 |
+
data: data,
|
21 |
+
beforeSend: function(){},
|
22 |
+
success: function ( response ) {
|
23 |
+
$('#swatchly_swatches_product_data .wc-metaboxes').html(response.data);
|
24 |
+
|
25 |
+
// Reinitialize color picker
|
26 |
+
if($('.swatchly_color_picker').length){
|
27 |
+
$( ".swatchly_color_picker" ).wpColorPicker();
|
28 |
+
}
|
29 |
+
},
|
30 |
+
error: function(errorThrown) {
|
31 |
+
console.log(errorThrown);
|
32 |
+
},
|
33 |
+
});
|
34 |
+
});
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Ajax request on product metabox save swatches
|
38 |
+
*/
|
39 |
+
$('.swatchly_save_swatches').on('click', function(e){
|
40 |
+
e.preventDefault();
|
41 |
+
|
42 |
+
var $message = $('.swatchly.wc-metaboxes-wrapper .woocommerce-message'),
|
43 |
+
$product_data = $('#woocommerce-product-data'),
|
44 |
+
data = {
|
45 |
+
action: 'swatchly_ajax_save_product_meta',
|
46 |
+
product_id: swatchly_params.product_id,
|
47 |
+
input_fields: $('#swatchly_swatches_product_data').find(':input').serializeJSON({checkboxUncheckedValue: "0"}),
|
48 |
+
nonce: swatchly_params.nonce
|
49 |
+
};
|
50 |
+
|
51 |
+
|
52 |
+
$product_data.block({
|
53 |
+
message: null,
|
54 |
+
overlayCSS: {
|
55 |
+
background: '#fff',
|
56 |
+
opacity: 0.6
|
57 |
+
}
|
58 |
+
});
|
59 |
+
|
60 |
+
$.ajax({
|
61 |
+
type: 'POST',
|
62 |
+
url: woocommerce_admin.ajax_url,
|
63 |
+
data: data,
|
64 |
+
beforeSend: function(){
|
65 |
+
$message.html(`<p>${ swatchly_params.i18n.saving }</p>`);
|
66 |
+
},
|
67 |
+
success: function ( response ) {
|
68 |
+
$message.addClass('updated').html(`<p>${ response.data.message }</p>`).css('display', 'block');
|
69 |
+
$product_data.unblock();
|
70 |
+
},
|
71 |
+
error: function(errorThrown) {
|
72 |
+
console.log(errorThrown);
|
73 |
+
},
|
74 |
+
});
|
75 |
+
});
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Reset to default
|
79 |
+
*/
|
80 |
+
$('.swatchly_reset_to_default').on('click', function(e){
|
81 |
+
e.preventDefault();
|
82 |
+
|
83 |
+
var $message = $('.swatchly.wc-metaboxes-wrapper .woocommerce-message'),
|
84 |
+
$product_data = $('#woocommerce-product-data'),
|
85 |
+
data = {
|
86 |
+
action: 'swatchly_ajax_reset_product_meta',
|
87 |
+
product_id: swatchly_params.product_id,
|
88 |
+
nonce: swatchly_params.nonce
|
89 |
+
};
|
90 |
+
|
91 |
+
$product_data.block({
|
92 |
+
message: null,
|
93 |
+
overlayCSS: {
|
94 |
+
background: '#fff',
|
95 |
+
opacity: 0.6
|
96 |
+
}
|
97 |
+
});
|
98 |
+
|
99 |
+
if( confirm("Are you sure??") ){
|
100 |
+
$.ajax({
|
101 |
+
type: 'POST',
|
102 |
+
url: woocommerce_admin.ajax_url,
|
103 |
+
data: data,
|
104 |
+
beforeSend: function(){
|
105 |
+
$message.html(`<p>${ swatchly_params.i18n.saving }</p>`);
|
106 |
+
},
|
107 |
+
success: function ( response ) {
|
108 |
+
$message.addClass('updated').html(`<p>${ response.data.message }</p>`).css('display', 'block');
|
109 |
+
$product_data.unblock();
|
110 |
+
$product_data.trigger('woocommerce_variations_loaded');
|
111 |
+
},
|
112 |
+
error: function(errorThrown) {
|
113 |
+
console.log(errorThrown);
|
114 |
+
},
|
115 |
+
});
|
116 |
+
}
|
117 |
+
});
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Media uploader field
|
121 |
+
*/
|
122 |
+
$( document ).ready( function () {
|
123 |
+
// Only show the "remove image" button when needed
|
124 |
+
$( '.swatchly_media_field .swatchly_input' ).each(function(){
|
125 |
+
if( !$(this).val() ){
|
126 |
+
$(this).siblings('.swatchly_remove_image').hide();
|
127 |
+
}
|
128 |
+
});
|
129 |
+
|
130 |
+
$( document ).on( 'click', '.button.swatchly_upload_image', function( event ) {
|
131 |
+
event.preventDefault();
|
132 |
+
|
133 |
+
var file_frame;
|
134 |
+
var $this = $(this);
|
135 |
+
|
136 |
+
// If the media frame already exists, reopen it.
|
137 |
+
if ( file_frame ) {
|
138 |
+
file_frame.open();
|
139 |
+
return;
|
140 |
+
}
|
141 |
+
|
142 |
+
// Create the media frame.
|
143 |
+
file_frame = wp.media.frames.downloadable_file = wp.media({
|
144 |
+
title: swatchly_params.i18n.choose_an_image,
|
145 |
+
button: {
|
146 |
+
text: swatchly_params.i18n.use_image
|
147 |
+
},
|
148 |
+
multiple: false
|
149 |
+
});
|
150 |
+
|
151 |
+
// When an image is selected, run a callback.
|
152 |
+
file_frame.on( 'select', function() {
|
153 |
+
var attachment = file_frame.state().get( 'selection' ).first().toJSON();
|
154 |
+
var attachment_thumbnail = attachment.sizes.thumbnail || attachment.sizes.full;
|
155 |
+
|
156 |
+
$this.closest('.swatchly_media_field').find( '.swatchly_input' ).val( attachment.id );
|
157 |
+
$this.closest('.swatchly_media_field').find( '.swatchly_media_preview' ).html('<img width="60px" height="60x" src="'+ attachment_thumbnail.url +'" alt="" />');
|
158 |
+
$this.closest('.swatchly_media_field').find( '.button.swatchly_remove_image' ).show();
|
159 |
+
});
|
160 |
+
|
161 |
+
// Finally, open the modal.
|
162 |
+
file_frame.open();
|
163 |
+
});
|
164 |
+
|
165 |
+
$( document ).on( 'click', '.button.swatchly_remove_image', function() {
|
166 |
+
var $this = $(this);
|
167 |
+
|
168 |
+
$this.closest('.swatchly_media_field').find( '.swatchly_input' ).val( '' );
|
169 |
+
$this.closest('.swatchly_media_field').find( '.swatchly_media_preview' ).html('');
|
170 |
+
$this.closest('.swatchly_media_field').find( '.button.swatchly_remove_image' ).hide();
|
171 |
+
|
172 |
+
return false;
|
173 |
+
});
|
174 |
+
});
|
175 |
+
|
176 |
+
/**
|
177 |
+
* Color picker field
|
178 |
+
*/
|
179 |
+
if($('.swatchly_color_picker').length){
|
180 |
+
$( ".swatchly_color_picker" ).wpColorPicker();
|
181 |
+
}
|
182 |
+
|
183 |
+
/**
|
184 |
+
* Media field (2)
|
185 |
+
*/
|
186 |
+
$('.swatchly-cs-field-media').on('click', '.button', function (event) {
|
187 |
+
event.preventDefault();
|
188 |
+
|
189 |
+
var $this = $(this);
|
190 |
+
|
191 |
+
// Create the media frame.
|
192 |
+
var file_frame = wp.media.frames.file_frame = wp.media({
|
193 |
+
title: $this.data('popup_title'),
|
194 |
+
button: {
|
195 |
+
text: $this.data('upload_button_text'),
|
196 |
+
},
|
197 |
+
multiple: false
|
198 |
+
});
|
199 |
+
|
200 |
+
file_frame.on('select', function () {
|
201 |
+
var attachment = file_frame.state().get('selection').first().toJSON(),
|
202 |
+
thumbnail;
|
203 |
+
|
204 |
+
$this.siblings('.swatchly-cs--url').attr('value', attachment.url).change();
|
205 |
+
$this.siblings('.swatchly-cs--preview').html(`
|
206 |
+
<div class="swatchly-cs-image-preview">
|
207 |
+
<a href="#" class="swatchly-cs--remove fas fa-times">x</a>
|
208 |
+
<img src="`+ attachment.url +`" class="swatchly-cs--src">
|
209 |
+
</div>
|
210 |
+
`);
|
211 |
+
|
212 |
+
if ( typeof attachment.sizes !== 'undefined' && typeof attachment.sizes.thumbnail !== 'undefined' ) {
|
213 |
+
thumbnail = attachment.sizes.thumbnail.url;
|
214 |
+
} else if ( typeof attachment.sizes !== 'undefined' && typeof attachment.sizes.full !== 'undefined' ) {
|
215 |
+
thumbnail = attachment.sizes.full.url;
|
216 |
+
} else if ( attachment.url.split('.').pop().toLowerCase() === 'svg' ) {
|
217 |
+
thumbnail = attachment.url;
|
218 |
+
} else {
|
219 |
+
thumbnail = attachment.icon;
|
220 |
+
}
|
221 |
+
|
222 |
+
$this.siblings('.swatchly-cs--thumbnail').attr('value', thumbnail);
|
223 |
+
$this.siblings('.swatchly-cs--id').val( attachment.id );
|
224 |
+
$this.siblings('.swatchly-cs--width').val( attachment.width );
|
225 |
+
$this.siblings('.swatchly-cs--height').val( attachment.height );
|
226 |
+
$this.siblings('.swatchly-cs--alt').val( attachment.alt );
|
227 |
+
$this.siblings('.swatchly-cs--title').val( attachment.title );
|
228 |
+
$this.siblings('.swatchly-cs--description').val( attachment.description );
|
229 |
+
});
|
230 |
+
|
231 |
+
// Finally, open the modal
|
232 |
+
file_frame.open();
|
233 |
+
});
|
234 |
+
|
235 |
+
$('.swatchly-cs-field-media').on('click', '.swatchly-cs--remove', function(e){
|
236 |
+
e.preventDefault();
|
237 |
+
|
238 |
+
$(this).closest('.swatchly-cs--preview').siblings('input[type="hidden"]').each(function(){
|
239 |
+
$(this).attr('value', '');
|
240 |
+
});
|
241 |
+
|
242 |
+
$('.swatchly-cs--preview .swatchly-cs-image-preview').remove();
|
243 |
+
});
|
244 |
+
|
245 |
+
/**
|
246 |
+
* Auto change swatch types (when click parent)
|
247 |
+
*/
|
248 |
+
$(document).on('change', '.swatchly_swatch_type.swatchly_2', function(e){
|
249 |
+
var $inner_swatch_types = $(this).closest('.wc-metabox').find('.swatchly_swatch_type.swatchly_1'),
|
250 |
+
$wc_metabox1 = $(this).closest('.wc-metabox').find('.wc-metabox.swatchly_1'),
|
251 |
+
$wc_metabox2 = $(this).closest('.wc-metabox.swatchly_2');
|
252 |
+
|
253 |
+
if(this.value == 'label' || this.value == 'color' || this.value == 'image'){
|
254 |
+
// Remove class
|
255 |
+
$wc_metabox2.removeClass( 'swatchly_type_ swatchly_type_select swatchly_type_label swatchly_type_color swatchly_type_image' );
|
256 |
+
$wc_metabox1.removeClass( 'swatchly_type_ swatchly_type_select swatchly_type_label swatchly_type_color swatchly_type_image' );
|
257 |
+
|
258 |
+
// Set curret swatch type class
|
259 |
+
$wc_metabox2.addClass( 'swatchly_type_'+ this.value );
|
260 |
+
$wc_metabox1.addClass( 'swatchly_type_'+ this.value );
|
261 |
+
|
262 |
+
// Auto select swatch types
|
263 |
+
$inner_swatch_types.val(this.value).change();
|
264 |
+
} else {
|
265 |
+
// Remove current swatch type class
|
266 |
+
$wc_metabox2.removeClass( 'swatchly_type_label swatchly_type_color swatchly_type_image' );
|
267 |
+
$wc_metabox1.removeClass( 'swatchly_type_label swatchly_type_color swatchly_type_image' );
|
268 |
+
|
269 |
+
// Set current swatch type class
|
270 |
+
$wc_metabox2.addClass( 'swatchly_type_'+ this.value );
|
271 |
+
$wc_metabox1.addClass( 'swatchly_type_'+ this.value );
|
272 |
+
|
273 |
+
// Auto select swatch types
|
274 |
+
if( this.value == 'select' ){
|
275 |
+
$inner_swatch_types.val(this.value).change();
|
276 |
+
} else {
|
277 |
+
$inner_swatch_types.val(this.value).change('');
|
278 |
+
}
|
279 |
+
|
280 |
+
$inner_swatch_types.attr('selected', 'selected');
|
281 |
+
$wc_metabox2.find('.wc-metabox-content').css('display', 'none');
|
282 |
+
}
|
283 |
+
});
|
284 |
+
|
285 |
+
/**
|
286 |
+
* Disable toggle while swatch type = select
|
287 |
+
*/
|
288 |
+
$(document).on('click','#wpcontent .wc-metabox.swatchly_2.swatchly_type_select > h3,#wpcontent .wc-metabox.swatchly_2.swatchly_type_ > h3', function(e){
|
289 |
+
$(this).closest('.wc-metabox.swatchly_2').find('.wc-metabox-content').css('display', 'none');
|
290 |
+
});
|
291 |
+
|
292 |
+
/**
|
293 |
+
* Tooltip fields conditon
|
294 |
+
*/
|
295 |
+
$(document).on('change', '.swatchly_tooltip', function(){
|
296 |
+
var $wc_metabox = $(this).closest('.wc-metabox');
|
297 |
+
|
298 |
+
$wc_metabox.removeClass('swatchly_tooltip_ swatchly_tooltip_disable swatchly_tooltip_text swatchly_tooltip_image');
|
299 |
+
$wc_metabox.addClass( 'swatchly_tooltip_'+ this.value );
|
300 |
+
});
|
301 |
+
|
302 |
+
/**
|
303 |
+
* Enable multi color field condition
|
304 |
+
*/
|
305 |
+
$(document).on('change', '.wc-metabox.swatchly_1 .enable_multi_color', function(){
|
306 |
+
var $wc_metabox1 = $(this).closest('.wc-metabox.swatchly_1');
|
307 |
+
var $val = this.checked == true ? '1' : '';
|
308 |
+
|
309 |
+
$wc_metabox1.removeClass('swatchly_enable_multi_color_ swatchly_enable_multi_color_1' );
|
310 |
+
$wc_metabox1.addClass( 'swatchly_enable_multi_color_'+ $val );
|
311 |
+
});
|
312 |
+
|
313 |
+
/**
|
314 |
+
* Metabox Auto convert dropdown to image condition
|
315 |
+
*/
|
316 |
+
$(document).on('change', '#swatchly_auto_convert_dropdowns_image', function(){
|
317 |
+
var $toolbar_top = $(this).closest('.toolbar-top');
|
318 |
+
var $val = this.checked == true ? '1' : '';
|
319 |
+
|
320 |
+
$toolbar_top.removeClass('swatchly_auto_convert_dropdowns_to_image_ swatchly_auto_convert_dropdowns_to_image_1' );
|
321 |
+
$toolbar_top.addClass( 'swatchly_auto_convert_dropdowns_to_image_'+ $val );
|
322 |
+
});
|
323 |
+
|
324 |
+
/**
|
325 |
+
* Dependency
|
326 |
+
*/
|
327 |
+
$(document).ready(function() {
|
328 |
+
$('.swatchly-cs-taxonomy').woolentor_conditions();
|
329 |
+
});
|
330 |
+
|
331 |
+
} )( jQuery );
|
includes/modules/variation-swatch/assets/js/frontend.js
ADDED
@@ -0,0 +1,648 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Swatchly Frontend JS
|
3 |
+
*/
|
4 |
+
;( function ( $ ) {
|
5 |
+
"use strict";
|
6 |
+
|
7 |
+
if ( typeof swatchly_params === 'undefined' ) {
|
8 |
+
return false;
|
9 |
+
}
|
10 |
+
|
11 |
+
/* Tooltip JS
|
12 |
+
======================================================= */
|
13 |
+
function addTooltip(){
|
14 |
+
var image_src = $(this).data('tooltip_image'),
|
15 |
+
text = $(this).data('tooltip_text');
|
16 |
+
|
17 |
+
if(image_src && text){
|
18 |
+
$(this).append(`<div class="swatchly-tooltip"><span class="swatchly-tooltip-text">${text}</span><img src="${image_src}" /></div>`);
|
19 |
+
} else if(image_src){
|
20 |
+
$(this).append(`<div class="swatchly-tooltip"><img src="${image_src}" /></div>`);
|
21 |
+
} else if(text){
|
22 |
+
$(this).append(`<div class="swatchly-tooltip"><span class="swatchly-tooltip-text">${text}</span></div>`);
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
function removeTooltip(e){
|
27 |
+
$('.swatchly-tooltip').remove();
|
28 |
+
}
|
29 |
+
|
30 |
+
$(document).ready(function() {
|
31 |
+
$(document).on( 'mouseover', 'div.swatchly-swatch,a.swatchly-swatch', addTooltip );
|
32 |
+
$(document).on('mouseleave', 'div.swatchly-swatch,a.swatchly-swatch', removeTooltip);
|
33 |
+
});
|
34 |
+
|
35 |
+
/* For both Single & Product loop
|
36 |
+
======================================================= */
|
37 |
+
$(document).ready(function(){
|
38 |
+
$('.swatchly-hide-this-variation-row').closest('tr').addClass('swatchly_d_none');
|
39 |
+
});
|
40 |
+
|
41 |
+
/* Product Loop JS
|
42 |
+
======================================================= */
|
43 |
+
var product_loop = {
|
44 |
+
/*
|
45 |
+
* Some thems make the full product loop item linked to the product details.
|
46 |
+
* Preventing the user from clicking on the product loop item so the swatches will be clickable.
|
47 |
+
*/
|
48 |
+
prevent_click: function(){
|
49 |
+
$('.swatchly_loop_variation_form').on( 'click', function(e){
|
50 |
+
if( $(e.target).is('.swatchly-more-button') || $(e.target).closest('.swatchly-more-button').length ){
|
51 |
+
return;
|
52 |
+
}
|
53 |
+
|
54 |
+
e.preventDefault();
|
55 |
+
e.stopPropagation();
|
56 |
+
e.stopImmediatePropagation();
|
57 |
+
});
|
58 |
+
},
|
59 |
+
init_variation_form: function(){
|
60 |
+
var enable_swatches = Boolean(Number(swatchly_params.enable_swatches));
|
61 |
+
|
62 |
+
if(enable_swatches){
|
63 |
+
$( '.swatchly_loop_variation_form' ).swatchly_loop_variation_form();
|
64 |
+
}
|
65 |
+
},
|
66 |
+
init_ajax_add_to_cart: function(){
|
67 |
+
var hide_wc_forward_button = Boolean(Number(swatchly_params.hide_wc_forward_button)),
|
68 |
+
enable_cart_popup_notice = Boolean(Number(swatchly_params.enable_cart_popup_notice));
|
69 |
+
|
70 |
+
// Ajax add to cart
|
71 |
+
$('body').on('click', '.swatchly_ajax_add_to_cart.swatchly_found_variation', function(e){
|
72 |
+
e.preventDefault();
|
73 |
+
|
74 |
+
var $thisbutton = $( this ),
|
75 |
+
productId = $thisbutton.data( 'product_id' ),
|
76 |
+
variationId = $thisbutton.attr( 'data-variation_id' ),
|
77 |
+
variation = $thisbutton.attr( 'data-variation' );
|
78 |
+
|
79 |
+
productId = parseFloat( productId );
|
80 |
+
productId = productId.toFixed(0);
|
81 |
+
productId = Math.abs( productId );
|
82 |
+
|
83 |
+
variationId = parseFloat( variationId );
|
84 |
+
variationId = variationId.toFixed(0);
|
85 |
+
variationId = Math.abs( variationId );
|
86 |
+
|
87 |
+
if ( (isNaN( productId ) || productId === 0) || (isNaN( variationId ) || variationId === 0) ) {
|
88 |
+
return true;
|
89 |
+
}
|
90 |
+
|
91 |
+
if($thisbutton.is('.wc-variation-is-unavailable')){
|
92 |
+
return window.alert( wc_add_to_cart_variation_params.i18n_unavailable_text );
|
93 |
+
}
|
94 |
+
|
95 |
+
if ( '' !== variation ) {
|
96 |
+
variation = JSON.parse( variation );
|
97 |
+
}
|
98 |
+
|
99 |
+
var data = {
|
100 |
+
action: 'swatchly_ajax_add_to_cart',
|
101 |
+
product_id: productId,
|
102 |
+
variation_id: variationId,
|
103 |
+
variation: variation
|
104 |
+
};
|
105 |
+
|
106 |
+
$( document.body ).trigger( 'adding_to_cart', [ $thisbutton, data ] );
|
107 |
+
|
108 |
+
$thisbutton.removeClass( 'added' );
|
109 |
+
$thisbutton.addClass( 'loading' );
|
110 |
+
|
111 |
+
// Ajax add to cart request
|
112 |
+
$.ajax({
|
113 |
+
type: 'POST',
|
114 |
+
url: woocommerce_params.ajax_url,
|
115 |
+
data: data,
|
116 |
+
dataType: 'json',
|
117 |
+
success: function ( response ) {
|
118 |
+
if ( ! response ) {
|
119 |
+
return;
|
120 |
+
}
|
121 |
+
|
122 |
+
// remove thickbox
|
123 |
+
tb_remove();
|
124 |
+
|
125 |
+
if ( response.error && response.product_url ) {
|
126 |
+
window.location = response.product_url;
|
127 |
+
return;
|
128 |
+
}
|
129 |
+
|
130 |
+
// Trigger event so themes can refresh other areas.
|
131 |
+
$( document.body ).trigger( 'added_to_cart', [ response.fragments, response.cart_hash, $thisbutton ] );
|
132 |
+
$( document.body ).trigger("update_checkout");
|
133 |
+
|
134 |
+
// Redirect to cart option
|
135 |
+
if ( wc_add_to_cart_params.cart_redirect_after_add === 'yes' ) {
|
136 |
+
window.location = wc_add_to_cart_params.cart_url;
|
137 |
+
return;
|
138 |
+
} else {
|
139 |
+
if(hide_wc_forward_button){
|
140 |
+
$thisbutton.closest('.product').find('.added_to_cart.wc-forward').hide();
|
141 |
+
}
|
142 |
+
|
143 |
+
if(enable_cart_popup_notice){
|
144 |
+
// Genrate Notice Popup
|
145 |
+
$.ajax( {
|
146 |
+
type: 'POST',
|
147 |
+
url: woocommerce_params.ajax_url,
|
148 |
+
data: {
|
149 |
+
action: 'swatchly_ajax_add_to_cart_notice',
|
150 |
+
},
|
151 |
+
success: function( response ) {
|
152 |
+
if ( ! response ) {
|
153 |
+
return;
|
154 |
+
}
|
155 |
+
|
156 |
+
tb_remove();
|
157 |
+
|
158 |
+
$( '#swatchly_notice_popup' ).html( response );
|
159 |
+
|
160 |
+
tb_show( '', '#TB_inline?&width=600&inlineId=swatchly_notice_popup' );
|
161 |
+
},
|
162 |
+
error: function(errorThrown) {
|
163 |
+
console.log(errorThrown);
|
164 |
+
},
|
165 |
+
} );
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
$thisbutton.removeClass('loading');
|
170 |
+
},
|
171 |
+
error: function(errorThrown) {
|
172 |
+
$thisbutton.removeClass('loading');
|
173 |
+
console.log(errorThrown);
|
174 |
+
},
|
175 |
+
});
|
176 |
+
});
|
177 |
+
}
|
178 |
+
}
|
179 |
+
|
180 |
+
$(document).ready(function(){
|
181 |
+
$('.swatchly_loop_variation_form').addClass('swatchly_loaded_on_ready');
|
182 |
+
product_loop.prevent_click();
|
183 |
+
});
|
184 |
+
|
185 |
+
// Reset the changes
|
186 |
+
$.fn.reset = function (event){
|
187 |
+
$(this).find('.swatchly_ajax_add_to_cart').removeClass('alt disabled wc-variation-is-unavailable swatchly_found_variation added');
|
188 |
+
|
189 |
+
if(event === 'click'){
|
190 |
+
var $button_text = $(this).find('.swatchly_ajax_add_to_cart').data('select_options_text')
|
191 |
+
$(this).find('.swatchly_ajax_add_to_cart').text($button_text);
|
192 |
+
}
|
193 |
+
|
194 |
+
// remove veiw cart button
|
195 |
+
$(this).find('.added_to_cart.wc-forward').remove();
|
196 |
+
$(this).remove_out_of_stock();
|
197 |
+
|
198 |
+
// hide reset button
|
199 |
+
$(this).find('.reset_variations').attr('style', 'display: none !important');
|
200 |
+
};
|
201 |
+
|
202 |
+
// Reset to the initial price
|
203 |
+
$.fn.reset_to_default_price = function(){
|
204 |
+
$(this).find('.price').first().removeClass('swatchly_d_none');
|
205 |
+
$(this).find('.swatchly_price').remove();
|
206 |
+
};
|
207 |
+
|
208 |
+
// Don't show the out of stock element
|
209 |
+
$.fn.remove_out_of_stock = function (){
|
210 |
+
if($(this).find('.swatchly_pl.swatchly_out_of_stock')){
|
211 |
+
$(this).find('.swatchly_pl.swatchly_out_of_stock').remove();
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
// Find the product image selector
|
216 |
+
$.fn.get_product_image_selector = function(){
|
217 |
+
var $product_thumbnail = '',
|
218 |
+
product_thumbnail_selector = swatchly_params.product_thumbnail_selector;
|
219 |
+
|
220 |
+
// custom selector priority first
|
221 |
+
if(product_thumbnail_selector){
|
222 |
+
$product_thumbnail = $(this).find(product_thumbnail_selector);
|
223 |
+
|
224 |
+
return $product_thumbnail;
|
225 |
+
}
|
226 |
+
|
227 |
+
// look for default wc image selector
|
228 |
+
$product_thumbnail = $(this).find('img.attachment-woocommerce_thumbnail');
|
229 |
+
|
230 |
+
// ocean theme support
|
231 |
+
if($product_thumbnail.length === 0){
|
232 |
+
$product_thumbnail = $(this).find('img.woo-entry-image-main');
|
233 |
+
|
234 |
+
// look for other default seletors
|
235 |
+
if($product_thumbnail.length === 0){
|
236 |
+
$product_thumbnail = $(this).find('img.attachment-woocommerce_thumbnail');
|
237 |
+
|
238 |
+
if($product_thumbnail.length === 0){
|
239 |
+
$product_thumbnail = $(this).find('img.wp-post-image');
|
240 |
+
|
241 |
+
if($product_thumbnail.length === 0){
|
242 |
+
$product_thumbnail = $(this).find('img').first();
|
243 |
+
}
|
244 |
+
}
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
return $product_thumbnail;
|
249 |
+
};
|
250 |
+
|
251 |
+
// Backup product image properties
|
252 |
+
// Needed when reset variation & show the default image
|
253 |
+
$.fn.backup_product_image = function(){
|
254 |
+
var $product_thumbnail = $(this).get_product_image_selector();
|
255 |
+
|
256 |
+
// Clone & set default image's properties
|
257 |
+
var backup_attributes = {
|
258 |
+
"data-backup_alt": $product_thumbnail.attr('alt'),
|
259 |
+
"data-backup_src": $product_thumbnail.attr('src'),
|
260 |
+
"data-backup_width": $product_thumbnail.attr('width'),
|
261 |
+
"data-backup_height": $product_thumbnail.attr('height')
|
262 |
+
}
|
263 |
+
|
264 |
+
if( $product_thumbnail.attr('srcset') ) {
|
265 |
+
backup_attributes["data-backup_srcset"] = $product_thumbnail.attr( 'srcset' );
|
266 |
+
backup_attributes["data-backup_sizes"] = $product_thumbnail.attr( 'sizes' );
|
267 |
+
}
|
268 |
+
|
269 |
+
$product_thumbnail.attr(backup_attributes);
|
270 |
+
};
|
271 |
+
|
272 |
+
// Change the product image when variation found
|
273 |
+
$.fn.change_image = function(variation){
|
274 |
+
// image selector
|
275 |
+
var $product_thumbnail = $(this).get_product_image_selector();
|
276 |
+
|
277 |
+
// if the variation does not have any image use the main image
|
278 |
+
if( !variation.image_id ){
|
279 |
+
$product_thumbnail.reset_to_default_image();
|
280 |
+
return;
|
281 |
+
}
|
282 |
+
|
283 |
+
var attributes = {
|
284 |
+
alt: variation.image.alt,
|
285 |
+
src: variation.image.thumb_src,
|
286 |
+
width: variation.image.thumb_src_w,
|
287 |
+
height: variation.image.thumb_src_h
|
288 |
+
};
|
289 |
+
|
290 |
+
if( $product_thumbnail.attr('srcset') ) {
|
291 |
+
attributes.srcset = variation.image.srcset;
|
292 |
+
attributes.sizes = variation.image.sizes;
|
293 |
+
}
|
294 |
+
|
295 |
+
// Finally change/update image
|
296 |
+
$product_thumbnail.attr(attributes);
|
297 |
+
};
|
298 |
+
|
299 |
+
// Reset to the default image when click on "reset" button
|
300 |
+
$.fn.reset_to_default_image = function(){
|
301 |
+
// Image selector
|
302 |
+
var $product_thumbnail = $(this).get_product_image_selector();
|
303 |
+
if( $(this).is('img') ){
|
304 |
+
$product_thumbnail = $(this);
|
305 |
+
}
|
306 |
+
|
307 |
+
// Get backup attributes before reset
|
308 |
+
var backup_attributes = {
|
309 |
+
alt: $product_thumbnail.attr('data-backup_alt'),
|
310 |
+
src: $product_thumbnail.attr('data-backup_src'),
|
311 |
+
width: $product_thumbnail.attr('data-backup_width'),
|
312 |
+
height: $product_thumbnail.attr('data-backup_height')
|
313 |
+
}
|
314 |
+
|
315 |
+
if( $product_thumbnail.attr('srcset') ) {
|
316 |
+
backup_attributes["srcset"] = $product_thumbnail.attr( 'data-backup_srcset' );
|
317 |
+
backup_attributes["sizes"] = $product_thumbnail.attr( 'data-backup_sizes' );
|
318 |
+
}
|
319 |
+
|
320 |
+
// Finally reset the image
|
321 |
+
$product_thumbnail.attr(backup_attributes);
|
322 |
+
};
|
323 |
+
|
324 |
+
// Change add to cart button text
|
325 |
+
$.fn.change_add_to_cart_text = function(){
|
326 |
+
var original_cart_text = $(this).text(),
|
327 |
+
new_cart_text = $(this).data('add_to_cart_text');
|
328 |
+
|
329 |
+
$(this).html($(this).html().replace(original_cart_text, new_cart_text));
|
330 |
+
};
|
331 |
+
|
332 |
+
// Function for each loop variation form
|
333 |
+
$.fn.swatchly_loop_variation_form = function(){
|
334 |
+
var $price_selector = '.price';
|
335 |
+
|
336 |
+
return this.each( function(){
|
337 |
+
var $el_variation_form = $( this ),
|
338 |
+
$el_product = $el_variation_form.closest('.product'),
|
339 |
+
$el_ajax_add_to_cart = $el_product.find('.swatchly_ajax_add_to_cart');
|
340 |
+
|
341 |
+
$el_product.backup_product_image();
|
342 |
+
|
343 |
+
// hide reset button by default
|
344 |
+
$el_product.find('.reset_variations').attr('style', 'display: none !important');
|
345 |
+
|
346 |
+
$el_variation_form.on('found_variation', function(e, variation){
|
347 |
+
$el_product.reset();
|
348 |
+
|
349 |
+
var availability_html = variation.availability_html,
|
350 |
+
is_in_stock = variation.is_in_stock;
|
351 |
+
|
352 |
+
// If out of stcok
|
353 |
+
if(!is_in_stock){
|
354 |
+
$el_ajax_add_to_cart.before(`<div class="swatchly_pl swatchly_out_of_stock">${availability_html}</div>`);
|
355 |
+
$el_ajax_add_to_cart.addClass('alt disabled wc-variation-is-unavailable');
|
356 |
+
} else {
|
357 |
+
$el_product.remove_out_of_stock();
|
358 |
+
}
|
359 |
+
|
360 |
+
// show reset buton once a vaiation found
|
361 |
+
$el_product.find('.reset_variations').attr('style', '');
|
362 |
+
|
363 |
+
// Update price if catalog mode is not enabled
|
364 |
+
if( !parseInt(swatchly_params.enable_catalog_mode ) ){
|
365 |
+
if( !$el_product.find('.swatchly_price').length ){
|
366 |
+
if($(variation.price_html).length){
|
367 |
+
$el_product.find($price_selector).addClass('swatchly_d_none').after( $(variation.price_html).addClass('swatchly_price') );
|
368 |
+
}
|
369 |
+
} else {
|
370 |
+
$el_product.find('.swatchly_price').remove();
|
371 |
+
$el_product.find($price_selector).addClass('swatchly_d_none').after($(variation.price_html).addClass('swatchly_price'));
|
372 |
+
}
|
373 |
+
}
|
374 |
+
|
375 |
+
// Update Image
|
376 |
+
$el_product.change_image(variation);
|
377 |
+
|
378 |
+
// For ajax add to cart
|
379 |
+
// Manually generate selected variation attributes
|
380 |
+
var selected_variation = {},
|
381 |
+
variations = $(this).find( 'select[name^=attribute]' );
|
382 |
+
if ( !variations.length) {
|
383 |
+
variations = $(this).find( '[name^=attribute]:checked' );
|
384 |
+
}
|
385 |
+
if ( !variations.length) {
|
386 |
+
variations = $(this).find( 'input[name^=attribute]' );
|
387 |
+
}
|
388 |
+
|
389 |
+
variations.each( function() {
|
390 |
+
var $this_item = $( this ),
|
391 |
+
attribute_name = $this_item.attr( 'name' ),
|
392 |
+
attribute_value = $this_item.val(),
|
393 |
+
index,
|
394 |
+
attribute_tax_name;
|
395 |
+
$this_item.removeClass( 'error' );
|
396 |
+
if ( attribute_value.length === 0 ) {
|
397 |
+
index = attribute_name.lastIndexOf( '_' );
|
398 |
+
attribute_tax_name = attribute_name.substring( index + 1 );
|
399 |
+
$this_item.addClass( 'required error' );
|
400 |
+
} else {
|
401 |
+
selected_variation[attribute_name] = attribute_value;
|
402 |
+
}
|
403 |
+
});
|
404 |
+
|
405 |
+
// Don't work on the cart button if catalog mode is enabled
|
406 |
+
if( !parseInt(swatchly_params.enable_catalog_mode) ){
|
407 |
+
// Cart button update class, text etc..
|
408 |
+
if($el_ajax_add_to_cart.length){
|
409 |
+
$el_ajax_add_to_cart.change_add_to_cart_text('found_variation');
|
410 |
+
$el_ajax_add_to_cart.addClass('swatchly_found_variation');
|
411 |
+
|
412 |
+
$el_ajax_add_to_cart.attr('data-variation_id', variation.variation_id);
|
413 |
+
$el_ajax_add_to_cart.attr('data-variation', JSON.stringify(selected_variation));
|
414 |
+
|
415 |
+
if($el_ajax_add_to_cart.hasClass('added')){
|
416 |
+
$el_ajax_add_to_cart.removeClass('added');
|
417 |
+
}
|
418 |
+
}
|
419 |
+
}
|
420 |
+
}).on('click','.reset_variations', function(e){
|
421 |
+
$el_product.reset('click');
|
422 |
+
$el_product.remove_out_of_stock();
|
423 |
+
$el_product.reset_to_default_price();
|
424 |
+
$el_product.reset_to_default_image();
|
425 |
+
|
426 |
+
});
|
427 |
+
});
|
428 |
+
};
|
429 |
+
|
430 |
+
// Product loop init
|
431 |
+
$(window).on('load', function(){
|
432 |
+
product_loop.init_variation_form();
|
433 |
+
product_loop.init_ajax_add_to_cart();
|
434 |
+
} );
|
435 |
+
|
436 |
+
/*===== End of Product Loop JS ======*/
|
437 |
+
|
438 |
+
|
439 |
+
/* Single product page JS
|
440 |
+
======================================================= */
|
441 |
+
var single_product = {
|
442 |
+
init: function(){
|
443 |
+
var enable_swatches = Boolean(Number(swatchly_params.enable_swatches)),
|
444 |
+
is_product = Boolean(Number(swatchly_params.is_product)),
|
445 |
+
deselect_on_click = Boolean(Number(swatchly_params.deselect_on_click)),
|
446 |
+
show_selected_attribute_name = Boolean(Number(swatchly_params.show_selected_attribute_name)),
|
447 |
+
variation_label_separator = swatchly_params.variation_label_separator;
|
448 |
+
|
449 |
+
if( enable_swatches){
|
450 |
+
$.fn.swatchly_variation_form = function(){
|
451 |
+
return this.each( function(){
|
452 |
+
var $el_variation_form = $( this );
|
453 |
+
|
454 |
+
// Actions while select a swatch
|
455 |
+
$el_variation_form.on( 'click', 'div.swatchly-swatch', function ( e ) {
|
456 |
+
var $el_swatch = $( this ),
|
457 |
+
$el_default_select = $el_swatch.closest( '.value' ).find( 'select' ),
|
458 |
+
value = $el_swatch.attr( 'data-attr_value' ),
|
459 |
+
|
460 |
+
// single attribute preview image support
|
461 |
+
enable_varation_image_preview_on_single_attribute_select = Boolean(Number(0)),
|
462 |
+
image_for_clicked_swatch = {};
|
463 |
+
|
464 |
+
if( enable_varation_image_preview_on_single_attribute_select ){
|
465 |
+
var data_product_variations = $(this).closest('.variations_form').data('product_variations');
|
466 |
+
|
467 |
+
// find out the first variation image if vairation has an image
|
468 |
+
// using the selected attribute value
|
469 |
+
if( typeof data_product_variations === 'object' ){
|
470 |
+
for( let i in data_product_variations ){
|
471 |
+
if( Object.values( data_product_variations[i].attributes ).includes(value) ){
|
472 |
+
if( data_product_variations[i].image_id ){
|
473 |
+
image_for_clicked_swatch = data_product_variations[i].image;
|
474 |
+
break;
|
475 |
+
}
|
476 |
+
}
|
477 |
+
}
|
478 |
+
}
|
479 |
+
}
|
480 |
+
|
481 |
+
|
482 |
+
if( !deselect_on_click ){
|
483 |
+
|
484 |
+
// Add selected class & remove siblings selected class
|
485 |
+
$el_swatch.addClass('swatchly-selected').siblings('div.swatchly-swatch').removeClass('swatchly-selected');
|
486 |
+
|
487 |
+
// Show selected variation name
|
488 |
+
if( show_selected_attribute_name ){
|
489 |
+
if($el_swatch.closest('tr').find('.swatchly_selected_variation_name').length){
|
490 |
+
$el_swatch.closest('tr').find('.swatchly_selected_variation_name').text( variation_label_separator + $el_swatch.data('attr_label') );
|
491 |
+
} else {
|
492 |
+
$el_swatch.closest('tr').find('.label label').append('<span class="swatchly_selected_variation_name">'+ variation_label_separator + $el_swatch.data('attr_label') +'</span>');
|
493 |
+
|
494 |
+
}
|
495 |
+
}
|
496 |
+
|
497 |
+
} else {
|
498 |
+
|
499 |
+
if($el_swatch.hasClass('swatchly-selected')){
|
500 |
+
|
501 |
+
// Remove selection
|
502 |
+
$el_swatch.removeClass('swatchly-selected');
|
503 |
+
|
504 |
+
// Change select field value to empty
|
505 |
+
value = '';
|
506 |
+
|
507 |
+
// Remove selected variation name
|
508 |
+
$el_swatch.closest('tr').find('.swatchly_selected_variation_name').text( '' );
|
509 |
+
|
510 |
+
} else {
|
511 |
+
|
512 |
+
// Add selected class & remove siblings selected class
|
513 |
+
$el_swatch.addClass('swatchly-selected').siblings('div.swatchly-swatch').removeClass('swatchly-selected');
|
514 |
+
|
515 |
+
// Show selected variation name
|
516 |
+
if( show_selected_attribute_name ){
|
517 |
+
if($el_swatch.closest('tr').find('.swatchly_selected_variation_name').length){
|
518 |
+
$el_swatch.closest('tr').find('.swatchly_selected_variation_name').text( variation_label_separator + $el_swatch.data('attr_label') );
|
519 |
+
} else {
|
520 |
+
$el_swatch.closest('tr').find('.label label').append('<span class="swatchly_selected_variation_name">'+ variation_label_separator + $el_swatch.data('attr_label') +'</span>');
|
521 |
+
}
|
522 |
+
}
|
523 |
+
|
524 |
+
}
|
525 |
+
}
|
526 |
+
|
527 |
+
$el_default_select.val(value);
|
528 |
+
$el_default_select.change();
|
529 |
+
|
530 |
+
})
|
531 |
+
.on( 'woocommerce_update_variation_values', function() {
|
532 |
+
setTimeout( function() {
|
533 |
+
|
534 |
+
// Loop through each variation row
|
535 |
+
$el_variation_form.find( 'tbody tr' ).each( function() {
|
536 |
+
var $tr = $(this),
|
537 |
+
values = [];
|
538 |
+
|
539 |
+
// Set default attribute label
|
540 |
+
if( show_selected_attribute_name && !$tr.find('.swatchly_selected_variation_name').length ){
|
541 |
+
var default_attr_label = $tr.find('.swatchly-type-wrap').attr('data-default_attr_value');
|
542 |
+
|
543 |
+
if(default_attr_label){
|
544 |
+
$tr.find('.label label').append('<span class="swatchly_selected_variation_name">'+ variation_label_separator + default_attr_label +'</span>');
|
545 |
+
|
546 |
+
} else {
|
547 |
+
$tr.find('.label label').append('<span class="swatchly_selected_variation_name"></span>');
|
548 |
+
|
549 |
+
}
|
550 |
+
}
|
551 |
+
|
552 |
+
// List all attribute values
|
553 |
+
$tr.find('select').find('option').each(function(index, option){
|
554 |
+
values.push( option.value );
|
555 |
+
});
|
556 |
+
|
557 |
+
// Disable unavailable swatches
|
558 |
+
$tr.find( 'div.swatchly-swatch' ).each( function() {
|
559 |
+
var $el_swatch = $( this ),
|
560 |
+
value = $el_swatch.attr( 'data-attr_value' );
|
561 |
+
|
562 |
+
if( values.indexOf( value ) == -1 ){
|
563 |
+
$el_swatch.addClass('swatchly-disabled');
|
564 |
+
} else {
|
565 |
+
$el_swatch.removeClass('swatchly-disabled');
|
566 |
+
}
|
567 |
+
});
|
568 |
+
|
569 |
+
}); // tbody tr each
|
570 |
+
}, 100 ); // timeout
|
571 |
+
|
572 |
+
// Update price for product loop
|
573 |
+
var $price_selector = '.price',
|
574 |
+
$el_product = $el_variation_form.closest('.product');
|
575 |
+
if(!swatchly_params.is_product){
|
576 |
+
if($el_product.find('.swatchly_price').length){
|
577 |
+
$el_product.find($price_selector).removeClass('swatchly_d_none');
|
578 |
+
$el_product.find('.swatchly_price').remove();
|
579 |
+
}
|
580 |
+
}
|
581 |
+
})
|
582 |
+
.on( 'click', '.reset_variations', function () {
|
583 |
+
$el_variation_form.find( '.swatchly-selected' ).removeClass( 'swatchly-selected' );
|
584 |
+
$el_variation_form.find( '.swatchly-disabled' ).removeClass( 'swatchly-disabled' );
|
585 |
+
$el_variation_form.find('.swatchly_selected_variation_name').text( '' );
|
586 |
+
}); // on click div.swatchly-swatch
|
587 |
+
});
|
588 |
+
}
|
589 |
+
|
590 |
+
// Do stuffs for each variations form
|
591 |
+
$( function () {
|
592 |
+
$( '.variations_form:not(.swatchly_variation_form)' ).addClass('swatchly_variation_form').swatchly_variation_form();
|
593 |
+
} );
|
594 |
+
|
595 |
+
// All major quick view plugin support
|
596 |
+
$(document).ajaxComplete(function (event, request, settings) {
|
597 |
+
$( '.variations_form:not(.swatchly_variation_form)' ).addClass('swatchly_variation_form').swatchly_variation_form();
|
598 |
+
});
|
599 |
+
}
|
600 |
+
}
|
601 |
+
}
|
602 |
+
|
603 |
+
// Single product init
|
604 |
+
single_product.init();
|
605 |
+
|
606 |
+
/* Third party plugin/theme's compatibility
|
607 |
+
======================================================= */
|
608 |
+
|
609 |
+
/**
|
610 |
+
* 1. annasta Woocommerce Product Filters
|
611 |
+
*/
|
612 |
+
$( document ).on( 'awf_after_ajax_products_update', function() {
|
613 |
+
product_loop.prevent_click();
|
614 |
+
product_loop.init_variation_form();
|
615 |
+
single_product.init();
|
616 |
+
});
|
617 |
+
|
618 |
+
/**
|
619 |
+
* 2. Jet Smart Filters
|
620 |
+
*/
|
621 |
+
$( document ).on( 'jet-filter-content-rendered', function() {
|
622 |
+
product_loop.prevent_click();
|
623 |
+
product_loop.init_variation_form();
|
624 |
+
single_product.init();
|
625 |
+
});
|
626 |
+
|
627 |
+
/**
|
628 |
+
* 3. Woolentor Support
|
629 |
+
*/
|
630 |
+
$( document ).on('woolentor_quick_view_rendered', function(){
|
631 |
+
product_loop.prevent_click();
|
632 |
+
product_loop.init_variation_form();
|
633 |
+
single_product.init();
|
634 |
+
});
|
635 |
+
|
636 |
+
/**
|
637 |
+
* 2. Airi theme
|
638 |
+
* It is intended to add compatibility for the airi theme's infinite scroll
|
639 |
+
*/
|
640 |
+
$( document ).on('ajaxComplete', function (event, jqxhr, settings) {
|
641 |
+
$('.swatchly_loop_variation_form:not(.swatchly_loaded_on_ready)').each(function(){
|
642 |
+
product_loop.prevent_click();
|
643 |
+
product_loop.init_variation_form();
|
644 |
+
single_product.init();
|
645 |
+
});
|
646 |
+
});
|
647 |
+
|
648 |
+
})(jQuery);
|
includes/modules/variation-swatch/assets/js/wp-color-picker-alpha.min.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**!
|
2 |
+
* wp-color-picker-alpha
|
3 |
+
*
|
4 |
+
* Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker
|
5 |
+
* Only run in input and is defined data alpha in true
|
6 |
+
*
|
7 |
+
* Version: 3.0.0
|
8 |
+
* https://github.com/kallookoo/wp-color-picker-alpha
|
9 |
+
* Licensed under the GPLv2 license or later.
|
10 |
+
*/
|
11 |
+
!function(e,a){var l,o={version:300};if("wpColorPickerAlpha"in window&&"version"in window.wpColorPickerAlpha){var t=parseInt(window.wpColorPickerAlpha.version,10);if(!isNaN(t)&&o.version<=t)return}Color.fn.hasOwnProperty("to_s")||(Color.fn.to_s=function(o){"hex"===(o=o||"hex")&&this._alpha<1&&(o="rgba");var a="";return"hex"===o?a=this.toString():this.error||(a=this.toCSS(o).replace(/\(\s+/,"(").replace(/\s+\)/,")")),a},window.wpColorPickerAlpha=o,l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==",e.widget("a8c.iris",e.a8c.iris,{alphaOptions:{alphaEnabled:!1},_getColor:function(o){return o===a&&(o=this._color),this.alphaOptions.alphaEnabled?(o=o.to_s(this.alphaOptions.alphaColorType),this.alphaOptions.alphaColorWithSpace||(o=o.replace(/\s+/g,"")),o):o.toString()},_create:function(){try{this.alphaOptions=this.element.wpColorPicker("instance").alphaOptions}catch(o){}e.extend({},this.alphaOptions,{alphaEnabled:!1,alphaCustomWidth:130,alphaReset:!1,alphaColorType:"hex",alphaColorWithSpace:!1}),this._super()},_addInputListeners:function(i){function o(o){var a=i.val(),t=new Color(a),a=a.replace(/^(#|(rgb|hsl)a?)/,""),r=l.alphaOptions.alphaColorType;i.removeClass("iris-error"),t.error?""!==a&&i.addClass("iris-error"):"hex"===r&&"keyup"===o.type&&a.match(/^[0-9a-fA-F]{3}$/)||t.toIEOctoHex()!==l._color.toIEOctoHex()&&l._setOption("color",l._getColor(t))}var l=this;i.on("change",o).on("keyup",l._debounce(o,100)),l.options.hide&&i.one("focus",function(){l.show()})},_initControls:function(){var t,o,a,r;this._super(),this.alphaOptions.alphaEnabled&&(a=(o=(t=this).controls.strip.clone(!1,!1)).find(".iris-slider-offset"),r={stripAlpha:o,stripAlphaSlider:a},o.addClass("iris-strip-alpha"),a.addClass("iris-slider-offset-alpha"),o.appendTo(t.picker.find(".iris-picker-inner")),e.each(r,function(o,a){t.controls[o]=a}),t.controls.stripAlphaSlider.slider({orientation:"vertical",min:0,max:100,step:1,value:parseInt(100*t._color._alpha),slide:function(o,a){t.active="strip",t._color._alpha=parseFloat(a.value/100),t._change.apply(t,arguments)}}))},_dimensions:function(o){if(this._super(o),this.alphaOptions.alphaEnabled){for(var a=this,t=a.options,r=a.controls.square,o=a.picker.find(".iris-strip"),i=Math.round(a.picker.outerWidth(!0)-(t.border?22:0)),l=Math.round(r.outerWidth()),e=Math.round((i-l)/2),s=Math.round(e/2),n=Math.round(l+2*e+2*s);i<n;)e=Math.round(e-2),s=Math.round(s-1),n=Math.round(l+2*e+2*s);r.css("margin","0"),o.width(e).css("margin-left",s+"px")}},_change:function(){var o,a,t,r=this,i=r.active;r._super(),r.alphaOptions.alphaEnabled&&(o=r.controls,a=parseInt(100*r._color._alpha),t=["rgb("+(t=r._color.toRgb()).r+","+t.g+","+t.b+") 0%","rgba("+t.r+","+t.g+","+t.b+", 0) 100%"],r.picker.closest(".wp-picker-container").find(".wp-color-result"),r.options.color=r._getColor(),o.stripAlpha.css({background:"linear-gradient(to bottom, "+t.join(", ")+"), url("+l+")"}),i&&o.stripAlphaSlider.slider("value",a),r._color.error||r.element.removeClass("iris-error").val(r.options.color),r.picker.find(".iris-palette-container").on("click.palette",".iris-palette",function(){var o=e(this).data("color");r.alphaOptions.alphaReset&&(r._color._alpha=1,o=r._getColor()),r._setOption("color",o)}))},_paintDimension:function(o,a){var t=this,r=!1;t.alphaOptions.alphaEnabled&&"strip"===a&&(r=t._color,t._color=new Color(r.toString()),t.hue=t._color.h()),t._super(o,a),r&&(t._color=r)},_setOption:function(o,a){var t=this;if("color"!==o||!t.alphaOptions.alphaEnabled)return t._super(o,a);a=""+a,newColor=new Color(a).setHSpace(t.options.mode),newColor.error||t._getColor(newColor)===t._getColor()||(t._color=newColor,t.options.color=t._getColor(),t.active="external",t._change())},color:function(o){return!0===o?this._color.clone():o===a?this._getColor():void this.option("color",o)}}),e.widget("wp.wpColorPicker",e.wp.wpColorPicker,{alphaOptions:{alphaEnabled:!1},_getAlphaOptions:function(){var r=this.element,o=r.data("type")||this.options.type,i=r.data("defaultColor")||r.val(),l={alphaEnabled:r.data("alphaEnabled")||!1,alphaCustomWidth:130,alphaReset:!1,alphaColorType:"rgb",alphaColorWithSpace:!1};return l.alphaEnabled&&(l.alphaEnabled=r.is("input")&&"full"===o),l.alphaEnabled&&(l.alphaColorWithSpace=i&&i.match(/\s/),e.each(l,function(o,a){var t=r.data(o)||a;switch(o){case"alphaCustomWidth":t=t?parseInt(t,10):0,t=isNaN(t)?a:t;break;case"alphaColorType":t.match(/^(hex|(rgb|hsl)a?)$/)||(t=i&&i.match(/^#/)?"hex":i&&i.match(/^hsla?/)?"hsl":a);break;default:t=!!t}l[o]=t})),l},_create:function(){e.support.iris&&(this.alphaOptions=this._getAlphaOptions(),this._super())},_addListeners:function(){if(!this.alphaOptions.alphaEnabled)return this._super();var t=this,r=t.element,i=t.toggler.is("a");this.alphaOptions.defaultWidth=r.width(),this.alphaOptions.alphaCustomWidth&&r.width(parseInt(this.alphaOptions.defaultWidth+this.alphaOptions.alphaCustomWidth,10)),t.toggler.css({position:"relative","background-image":"url("+l+")"}),i?t.toggler.html('<span class="color-alpha" />'):t.toggler.append('<span class="color-alpha" />'),t.colorAlpha=t.toggler.find("span.color-alpha").css({width:"30px",height:"100%",position:"absolute",top:0,"background-color":r.val()}),"ltr"===t.colorAlpha.css("direction")?t.colorAlpha.css({"border-bottom-left-radius":"2px","border-top-left-radius":"2px",left:0}):t.colorAlpha.css({"border-bottom-right-radius":"2px","border-top-right-radius":"2px",right:0}),r.iris({change:function(o,a){t.colorAlpha.css({"background-color":a.color.to_s(t.alphaOptions.alphaColorType)}),e.isFunction(t.options.change)&&t.options.change.call(this,o,a)}}),t.wrap.on("click.wpcolorpicker",function(o){o.stopPropagation()}),t.toggler.click(function(){t.toggler.hasClass("wp-picker-open")?t.close():t.open()}),r.change(function(o){var a=e(this).val();(r.hasClass("iris-error")||""===a||a.match(/^(#|(rgb|hsl)a?)$/))&&(i&&t.toggler.removeAttr("style"),t.colorAlpha.css("background-color",""),e.isFunction(t.options.clear)&&t.options.clear.call(this,o))}),t.button.click(function(o){e(this).hasClass("wp-picker-default")?r.val(t.options.defaultColor).change():e(this).hasClass("wp-picker-clear")&&(r.val(""),i&&t.toggler.removeAttr("style"),t.colorAlpha.css("background-color",""),e.isFunction(t.options.clear)&&t.options.clear.call(this,o),r.trigger("change"))})}}))}(jQuery);
|
includes/modules/variation-swatch/includes/Admin.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Admin class.
|
6 |
+
*/
|
7 |
+
class Admin {
|
8 |
+
/**
|
9 |
+
* Constructor.
|
10 |
+
*/
|
11 |
+
public function __construct() {
|
12 |
+
new Admin\Woo_Config();
|
13 |
+
new Admin\Attribute_Taxonomy_Metabox();
|
14 |
+
new Admin\Product_Metabox();
|
15 |
+
|
16 |
+
// Admin assets hook into action.
|
17 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_assets' ) );
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Enqueue admin assets.
|
22 |
+
*/
|
23 |
+
public function enqueue_admin_assets( $hook_suffix ) {
|
24 |
+
$current_screen = get_current_screen();
|
25 |
+
|
26 |
+
if (
|
27 |
+
$current_screen->post_type == 'product' ||
|
28 |
+
$hook_suffix == 'woolentor_page_woolentor'
|
29 |
+
) {
|
30 |
+
if( $current_screen->base == 'post' ){
|
31 |
+
wp_enqueue_style( 'wp-color-picker' );
|
32 |
+
wp_enqueue_script( 'wp-color-picker-alpha', MODULE_ASSETS . '/js/wp-color-picker-alpha.min.js', array( 'wp-color-picker' ), WOOLENTOR_VERSION, true );
|
33 |
+
}
|
34 |
+
|
35 |
+
// For conditional fields
|
36 |
+
wp_enqueue_script('woolentor-jquery-interdependencies');
|
37 |
+
wp_enqueue_script('woolentor-condition');
|
38 |
+
|
39 |
+
wp_enqueue_style( 'swatchly-admin', MODULE_ASSETS . '/css/admin.css', array(), WOOLENTOR_VERSION );
|
40 |
+
wp_enqueue_script( 'swatchly-admin', MODULE_ASSETS . '/js/admin.js', array('jquery'), WOOLENTOR_VERSION, true );
|
41 |
+
|
42 |
+
$localize_vars = array();
|
43 |
+
if(get_post_type() == 'product'){
|
44 |
+
$localize_vars['product_id'] = get_the_id();
|
45 |
+
} else {
|
46 |
+
$localize_vars['product_id'] = '';
|
47 |
+
}
|
48 |
+
|
49 |
+
$localize_vars['nonce'] = wp_create_nonce('swatchly_product_metabox_save_nonce');
|
50 |
+
$localize_vars['i18n']['saving'] = esc_html__('Saving...', 'woolentor');
|
51 |
+
$localize_vars['i18n']['choose_an_image'] = esc_html__('Choose an image', 'woolentor');
|
52 |
+
$localize_vars['i18n']['use_image'] = esc_html__('Use image', 'woolentor');
|
53 |
+
$localize_vars['pl_override_global'] = false;
|
54 |
+
$localize_vars['sp_override_global'] = false;
|
55 |
+
wp_localize_script( 'swatchly-admin', 'swatchly_params', $localize_vars );
|
56 |
+
}
|
57 |
+
}
|
58 |
+
}
|
includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php
ADDED
@@ -0,0 +1,400 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly\Admin;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Attribute_Taxonomy_Metabox class
|
6 |
+
*/
|
7 |
+
class Attribute_Taxonomy_Metabox{
|
8 |
+
public $image_defaults;
|
9 |
+
|
10 |
+
public $fields;
|
11 |
+
|
12 |
+
public $taxnow;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Constructor
|
16 |
+
*/
|
17 |
+
public function __construct() {
|
18 |
+
$this->image_defaults = array(
|
19 |
+
'url' => '',
|
20 |
+
'id' => '',
|
21 |
+
'width' => '',
|
22 |
+
'height' => '',
|
23 |
+
'thumbnail' => '',
|
24 |
+
'alt' => '',
|
25 |
+
'title' => '',
|
26 |
+
'description' => '',
|
27 |
+
);
|
28 |
+
|
29 |
+
$this->taxonomy = isset( $_GET['taxonomy'] ) ? sanitize_text_field( $_GET['taxonomy'] ) : '';
|
30 |
+
$swatch_type = $this->get_taxonomy_swatch_type( $this->taxnow );
|
31 |
+
|
32 |
+
$prefix = 'swatchly_taxonomy_meta';
|
33 |
+
$taxonomies_obj = wc_get_attribute_taxonomies();
|
34 |
+
$attribute_taxonomy_slugs = array_map( function($taxonomies_obj){
|
35 |
+
return 'pa_'. $taxonomies_obj->attribute_name;
|
36 |
+
}, $taxonomies_obj);
|
37 |
+
|
38 |
+
$this->fields = array(
|
39 |
+
array(
|
40 |
+
'id' => 'swatchly_image',
|
41 |
+
'type' => 'media',
|
42 |
+
'title' => esc_html__( 'Swatch Image', 'woolentor' ),
|
43 |
+
'url' => false,
|
44 |
+
'class' => 'swatchly_show_if_image swatchly_hide_if_select'
|
45 |
+
),
|
46 |
+
|
47 |
+
array(
|
48 |
+
'id' => 'swatchly_tooltip',
|
49 |
+
'type' => 'select',
|
50 |
+
'title' => esc_html__( 'Swatch Tooltip', 'woolentor' ),
|
51 |
+
'options' => array(
|
52 |
+
'' => esc_html__('Use Global Setting', 'woolenor'),
|
53 |
+
'text' => esc_html__('Text', 'woolenor'),
|
54 |
+
'image' => esc_html__('Image', 'woolenor'),
|
55 |
+
'disable' => esc_html__('Disable', 'woolenor'),
|
56 |
+
),
|
57 |
+
'class' => 'swatchly_hide_if_select'
|
58 |
+
),
|
59 |
+
|
60 |
+
array(
|
61 |
+
'id' => 'swatchly_tooltip_text',
|
62 |
+
'type' => 'text',
|
63 |
+
'title' => esc_html__( 'Tooltip Text', 'woolentor' ),
|
64 |
+
'after' => esc_html__( 'By default, the "Attribute Name" will be shown as the tooltip. If you want custom tooltip text, put it here.', 'woolentor' ),
|
65 |
+
'condition' => array( 'swatchly_tooltip', '==', 'text' ),
|
66 |
+
),
|
67 |
+
|
68 |
+
array(
|
69 |
+
'id' => 'swatchly_tooltip_image',
|
70 |
+
'type' => 'media',
|
71 |
+
'title' => esc_html__( 'Tooltip Image', 'woolentor' ),
|
72 |
+
'url' => false,
|
73 |
+
'condition' => array( 'swatchly_tooltip', '==', 'image' ),
|
74 |
+
),
|
75 |
+
|
76 |
+
array(
|
77 |
+
'id' => 'swatchly_color',
|
78 |
+
'type' => 'color',
|
79 |
+
'title' => esc_html__( 'Swatch Color', 'woolentor' ),
|
80 |
+
'class' => 'swatchly_show_if_color swatchly_hide_if_select'
|
81 |
+
),
|
82 |
+
|
83 |
+
array(
|
84 |
+
'id' => 'swatchly_enable_multi_color',
|
85 |
+
'type' => 'checkbox',
|
86 |
+
'title' => esc_html__( 'Enable Multi Color', 'woolenor' ),
|
87 |
+
'label' => esc_html__( 'By checking this will enable you to set multiple color.', 'woolenor' ),
|
88 |
+
'class' => 'swatchly_show_if_color swatchly_hide_if_select'
|
89 |
+
),
|
90 |
+
|
91 |
+
array(
|
92 |
+
'id' => 'swatchly_color_2',
|
93 |
+
'type' => 'color',
|
94 |
+
'title' => esc_html__( 'Swatch Color 2', 'woolenor' ),
|
95 |
+
'condition' => array( 'swatchly_enable_multi_color', '==', '1' ),
|
96 |
+
'class' => 'swatchly_show_if_color swatchly_hide_if_select'
|
97 |
+
),
|
98 |
+
);
|
99 |
+
|
100 |
+
// Create taxonomy meta option wrapper
|
101 |
+
$this->createTaxonomyOptions( $prefix, array(
|
102 |
+
'taxonomy' => $attribute_taxonomy_slugs,
|
103 |
+
'data_type' => 'unserialize', // The type of the database save options. `serialize` or `unserialize`
|
104 |
+
'class' => 'swatchly_type_'. $swatch_type
|
105 |
+
) );
|
106 |
+
}
|
107 |
+
|
108 |
+
public function createTaxonomyOptions( $prefix, $args ){
|
109 |
+
$taxnow = isset($_REQUEST['taxonomy']) ? sanitize_text_field($_REQUEST['taxonomy']) : '';
|
110 |
+
if( !$taxnow ){
|
111 |
+
return;
|
112 |
+
}
|
113 |
+
|
114 |
+
// Make custom fields for the edit and add new screen of the attributes.
|
115 |
+
add_action( $taxnow . '_add_form_fields', array($this, 'add_screen_custom_fields_html') );
|
116 |
+
add_action( $taxnow . '_edit_form', array($this, 'edit_screen_custom_fields_html'), 10, 2);
|
117 |
+
|
118 |
+
// Save custom fields
|
119 |
+
add_action( 'edited_' . $taxnow, array($this, 'save_term_meta') );
|
120 |
+
add_action( 'created_' . $taxnow, array( $this, 'save_term_meta') );
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* It adds custom fields to the add new attribute screen
|
125 |
+
*/
|
126 |
+
public function add_screen_custom_fields_html( $taxonomy ){
|
127 |
+
$swatch_type = $this->get_taxonomy_swatch_type( $taxonomy );
|
128 |
+
$field_default = array(
|
129 |
+
'title' => '',
|
130 |
+
'type' => '',
|
131 |
+
'class' => '',
|
132 |
+
'condition' => array(),
|
133 |
+
);
|
134 |
+
|
135 |
+
// Nonce
|
136 |
+
wp_nonce_field( 'swatchly_save_term_meta_nonce', 'swatchly_term_meta_nonce' );
|
137 |
+
?>
|
138 |
+
<div class="swatchly-cs-taxonomy swatchly-cs-taxonomy-add-fields swatchly_type_<?php echo esc_attr($swatch_type); ?>">
|
139 |
+
<?php foreach($this->fields as $field):
|
140 |
+
$field = wp_parse_args( $field, $field_default);
|
141 |
+
|
142 |
+
$data_controller = '';
|
143 |
+
$data_condition = '';
|
144 |
+
$data_value = '';
|
145 |
+
|
146 |
+
if( $field['condition'] ){
|
147 |
+
if( !empty($field['condition'][0]) ){
|
148 |
+
$data_controller = 'data-controller='. $field['condition'][0] .'';
|
149 |
+
}
|
150 |
+
|
151 |
+
if( !empty($field['condition'][1]) ){
|
152 |
+
$data_condition = 'data-condition='. $field['condition'][1] .'';
|
153 |
+
}
|
154 |
+
|
155 |
+
if( !empty($field['condition'][1]) ){
|
156 |
+
$data_value = 'data-value='. $field['condition'][2] .'';
|
157 |
+
}
|
158 |
+
}
|
159 |
+
?>
|
160 |
+
<div class="swatchly-cs-field swatchly-cs-field-<?php echo esc_attr($field['type']); ?> <?php echo esc_attr($field['class']); ?>" <?php echo esc_attr($data_controller) ?> <?php echo esc_attr($data_condition) ?> <?php echo esc_attr($data_value) ?>>
|
161 |
+
<div class="swatchly-cs-title">
|
162 |
+
<h4><?php echo esc_html($field['title']) ?></h4>
|
163 |
+
</div>
|
164 |
+
|
165 |
+
<?php $this->field_html( 'add', $field ) ?>
|
166 |
+
</div>
|
167 |
+
<?php endforeach; ?>
|
168 |
+
</div>
|
169 |
+
|
170 |
+
<?php
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* It adds a new field to the edit screen of the taxonomy
|
175 |
+
*
|
176 |
+
* @param tag The term object.
|
177 |
+
* @param taxonomy The taxonomy slug.
|
178 |
+
*/
|
179 |
+
public function edit_screen_custom_fields_html($tag, $taxonomy){
|
180 |
+
$swatch_type = $this->get_taxonomy_swatch_type( $taxonomy );
|
181 |
+
$tax_meta = array(
|
182 |
+
'swatchly_color' => get_term_meta($tag->term_id, 'swatchly_color', true),
|
183 |
+
'swatchly_enable_multi_color' => get_term_meta($tag->term_id, 'swatchly_enable_multi_color', true),
|
184 |
+
'swatchly_color_2' => get_term_meta($tag->term_id, 'swatchly_color_2', true),
|
185 |
+
'swatchly_image' => wp_parse_args( get_term_meta($tag->term_id, 'swatchly_image', true), $this->image_defaults ),
|
186 |
+
'swatchly_tooltip' => get_term_meta($tag->term_id, 'swatchly_tooltip', true),
|
187 |
+
'swatchly_tooltip_text' => get_term_meta($tag->term_id, 'swatchly_tooltip_text', true),
|
188 |
+
'swatchly_tooltip_image' => wp_parse_args( get_term_meta($tag->term_id, 'swatchly_tooltip_image', true), $this->image_defaults ),
|
189 |
+
);
|
190 |
+
|
191 |
+
$swatch_type = $this->get_taxonomy_swatch_type( $taxonomy );
|
192 |
+
|
193 |
+
$field_default = array(
|
194 |
+
'title' => '',
|
195 |
+
'type' => '',
|
196 |
+
'class' => '',
|
197 |
+
'condition' => array(),
|
198 |
+
);
|
199 |
+
|
200 |
+
wp_nonce_field( 'swatchly_save_term_meta_nonce', 'swatchly_term_meta_nonce' );
|
201 |
+
?>
|
202 |
+
<div class="swatchly-cs-taxonomy swatchly-cs-taxonomy-edit-fields swatchly_type_<?php echo esc_attr($swatch_type); ?>">
|
203 |
+
|
204 |
+
<?php foreach($this->fields as $field):
|
205 |
+
$field = wp_parse_args( $field, $field_default);
|
206 |
+
$data_controller = '';
|
207 |
+
$data_condition = '';
|
208 |
+
$data_value = '';
|
209 |
+
|
210 |
+
if( $field['condition'] ){
|
211 |
+
if( !empty($field['condition'][0]) ){
|
212 |
+
$data_controller = 'data-controller='. $field['condition'][0] .'';
|
213 |
+
}
|
214 |
+
|
215 |
+
if( !empty($field['condition'][1]) ){
|
216 |
+
$data_condition = 'data-condition='. $field['condition'][1] .'';
|
217 |
+
}
|
218 |
+
|
219 |
+
if( !empty($field['condition'][1]) ){
|
220 |
+
$data_value = 'data-value='. $field['condition'][2] .'';
|
221 |
+
}
|
222 |
+
}
|
223 |
+
?>
|
224 |
+
<div class="swatchly-cs-field swatchly-cs-field-<?php echo esc_attr($field['type']); ?> <?php echo $field['class'];?>" <?php echo esc_attr($data_controller) ?> <?php echo esc_attr($data_condition) ?> <?php echo esc_attr($data_value) ?>>
|
225 |
+
<div class="swatchly-cs-title">
|
226 |
+
<h4><?php echo esc_html($field['title']) ?></h4>
|
227 |
+
</div>
|
228 |
+
|
229 |
+
<?php $this->field_html( 'edit', $field, $tax_meta ) ?>
|
230 |
+
</div>
|
231 |
+
<?php endforeach; ?>
|
232 |
+
|
233 |
+
</div>
|
234 |
+
<?php
|
235 |
+
}
|
236 |
+
|
237 |
+
public function field_html( $screen = 'add', $field = array(), $tax_meta = array() ){
|
238 |
+
$field_value = '';
|
239 |
+
if( $screen == 'edit' && $tax_meta ){
|
240 |
+
$enable_multi_color = $tax_meta['swatchly_enable_multi_color'];
|
241 |
+
$field_value = $tax_meta[$field['id']];
|
242 |
+
|
243 |
+
if( $field['type'] == 'media' ){
|
244 |
+
$field_value = $tax_meta[$field['id']];
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
echo '<div class="swatchly-cs-fieldset">';
|
249 |
+
|
250 |
+
if( $field['type'] == 'color' ){
|
251 |
+
?>
|
252 |
+
<input name="<?php echo esc_attr($field['id']) ?>" id="<?php echo esc_attr($field['id']) ?>" class=" swatchly_color_picker" data-alpha-enabled="true" type="text" value="<?php echo esc_attr($field_value) ?>" size="40">
|
253 |
+
<?php
|
254 |
+
} elseif( $field['type'] == 'media' ){
|
255 |
+
echo '<div class="swatchly-cs--preview">';
|
256 |
+
if( $screen == 'edit' && $field_value['thumbnail'] ){
|
257 |
+
?>
|
258 |
+
<div class="swatchly-cs-image-preview">
|
259 |
+
<a href="#" class="swatchly-cs--remove fas fa-times">x</a>
|
260 |
+
<img src="<?php echo esc_attr($field_value['thumbnail']) ?>" class="watchly-cs--src">
|
261 |
+
</div>
|
262 |
+
<?php } ?>
|
263 |
+
</div>
|
264 |
+
<a href="#" class="button button-primary csf--button" data-popup_title="<?php echo esc_attr__('Select Swatch Image', 'woolenor') ?>" data-upload_button_text="<?php echo esc_attr__('Upload Image', 'woolenor') ?>" data-preview-size="thumbnail"><?php echo esc_html__('Upload', 'woolentor') ?></a>
|
265 |
+
|
266 |
+
<?php if( $screen == 'edit' ): ?>
|
267 |
+
<input name="<?php echo esc_attr($field['id']) ?>[url]" id="<?php echo esc_attr($field['id']) ?>" type="hidden" value="<?php echo esc_attr($field_value['url']) ?>" class="swatchly-cs--url" size="40">
|
268 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[id]" value="<?php echo esc_attr($field_value['id']) ?>" class="swatchly-cs--id">
|
269 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[width]" value="<?php echo esc_attr($field_value['width']) ?>" class="swatchly-cs--width">
|
270 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[height]" value="<?php echo esc_attr($field_value['height']) ?>" class="swatchly-cs--height">
|
271 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[thumbnail]" value="<?php echo esc_attr($field_value['thumbnail']) ?>" class="swatchly-cs--thumbnail">
|
272 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[alt]" value="<?php echo esc_attr($field_value['alt']) ?>" class="swatchly-cs--alt">
|
273 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[title]" value="<?php echo esc_attr($field_value['title']) ?>" class="swatchly-cs--title">
|
274 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[description]" value="<?php echo esc_attr($field_value['description']) ?>" class="swatchly-cs--description">
|
275 |
+
<?php else: ?>
|
276 |
+
<input name="<?php echo esc_attr($field['id']) ?>[url]" id="<?php echo esc_attr($field['id']) ?>" type="hidden" value="" class="swatchly-cs--url" size="40">
|
277 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[id]" value="" class="swatchly-cs--id">
|
278 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[width]" value="" class="swatchly-cs--width">
|
279 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[height]" value="" class="swatchly-cs--height">
|
280 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[thumbnail]" value="" class="swatchly-cs--thumbnail">
|
281 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[alt]" value="" class="swatchly-cs--alt">
|
282 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[title]" value="" class="swatchly-cs--title">
|
283 |
+
<input type="hidden" name="<?php echo esc_attr($field['id']) ?>[description]" value="" class="swatchly-cs--description">
|
284 |
+
<?php endif; ?>
|
285 |
+
|
286 |
+
|
287 |
+
<?php
|
288 |
+
} elseif( $field['type'] == 'checkbox' ){
|
289 |
+
?>
|
290 |
+
<label class="swatchly-cs-checkbox">
|
291 |
+
<?php if( $screen == 'add' ): ?>
|
292 |
+
<input type="checkbox" name="<?php echo esc_attr($field['id']) ?>" class="swatchly-cs--input" data-depend-id="swatchly_enable_multi_color">
|
293 |
+
<?php else: ?>
|
294 |
+
<input type="checkbox" name="<?php echo esc_attr($field['id']) ?>" class="swatchly-cs--input" data-depend-id="swatchly_enable_multi_color" <?php checked($enable_multi_color, 1) ?>>
|
295 |
+
<?php endif; ?>
|
296 |
+
<span class="swatchly-cs--text"><?php echo esc_html('Checking this will allow you to set multiple colors.', 'woolentor') ?></span>
|
297 |
+
</label>
|
298 |
+
<?php
|
299 |
+
} elseif( $field['type'] == 'select' ){
|
300 |
+
?>
|
301 |
+
<select name="swatchly_tooltip" data-depend-id="swatchly_tooltip">
|
302 |
+
<?php foreach($field['options'] as $value => $label){
|
303 |
+
echo '<option value="'. esc_attr($value) .'"'. selected($value, $field_value) .'>'. esc_html($label) .'</option>';
|
304 |
+
} ?>
|
305 |
+
</select>
|
306 |
+
<?php
|
307 |
+
} elseif( $field['type'] == 'text' ){
|
308 |
+
?>
|
309 |
+
<input type="text" name="swatchly_tooltip_text" value="<?php echo esc_attr($field_value) ?>" data-depend-id="swatchly_tooltip_text">
|
310 |
+
<div class="swatchly-cs-after-text"><?php echo esc_html__('By default, the "Attribute Name" will be shown as the tooltip. If you want custom tooltip text, put it here.', 'woolentor') ?></div>
|
311 |
+
<?php
|
312 |
+
}
|
313 |
+
|
314 |
+
echo '</div>';
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* It saves meta values to the database
|
319 |
+
*
|
320 |
+
* @param term_id The ID of the term you're saving the meta for.
|
321 |
+
*/
|
322 |
+
public function save_term_meta( $term_id ){
|
323 |
+
$post_data = wp_unslash($_POST);
|
324 |
+
|
325 |
+
$nonce = sanitize_text_field($post_data['swatchly_term_meta_nonce']);
|
326 |
+
if ( !wp_verify_nonce( $nonce, 'swatchly_save_term_meta_nonce' ) ) {
|
327 |
+
die( esc_html__( 'No naughty business please!', 'woolentor' ) );
|
328 |
+
}
|
329 |
+
|
330 |
+
$tooltip = isset($post_data['swatchly_tooltip']) ? sanitize_text_field($post_data['swatchly_tooltip']) : '';
|
331 |
+
$tooltip_text = isset($post_data['swatchly_tooltip_text']) ? sanitize_text_field($post_data['swatchly_tooltip_text']) : '';
|
332 |
+
$tooltip_image_value = isset($post_data['swatchly_tooltip_image']) ? $post_data['swatchly_tooltip_image'] : $this->image_defaults;
|
333 |
+
$color_value = isset($post_data['swatchly_color']) ? sanitize_text_field($post_data['swatchly_color']) : '';
|
334 |
+
$enable_multi_color = isset($post_data['swatchly_enable_multi_color']) ? sanitize_text_field($post_data['swatchly_enable_multi_color']) : '';
|
335 |
+
$enable_multi_color = $enable_multi_color == 'on' ? '1' : '0';
|
336 |
+
$color_value_2 = isset($post_data['swatchly_color_2']) ? sanitize_text_field($post_data['swatchly_color_2']) : '';
|
337 |
+
$image_value = isset($post_data['swatchly_image']) ? $post_data['swatchly_image'] : $this->image_defaults;
|
338 |
+
|
339 |
+
update_term_meta(
|
340 |
+
$term_id,
|
341 |
+
'swatchly_tooltip',
|
342 |
+
$tooltip,
|
343 |
+
);
|
344 |
+
|
345 |
+
if( $tooltip == 'text' ){
|
346 |
+
update_term_meta(
|
347 |
+
$term_id,
|
348 |
+
'swatchly_tooltip_text',
|
349 |
+
$tooltip_text,
|
350 |
+
);
|
351 |
+
}
|
352 |
+
|
353 |
+
if( $tooltip == 'image' ){
|
354 |
+
update_term_meta(
|
355 |
+
$term_id,
|
356 |
+
'swatchly_tooltip_image',
|
357 |
+
$tooltip_image_value,
|
358 |
+
);
|
359 |
+
}
|
360 |
+
|
361 |
+
update_term_meta(
|
362 |
+
$term_id,
|
363 |
+
'swatchly_color',
|
364 |
+
$color_value,
|
365 |
+
);
|
366 |
+
|
367 |
+
update_term_meta(
|
368 |
+
$term_id,
|
369 |
+
'swatchly_enable_multi_color',
|
370 |
+
$enable_multi_color,
|
371 |
+
);
|
372 |
+
|
373 |
+
if( $enable_multi_color ){
|
374 |
+
update_term_meta(
|
375 |
+
$term_id,
|
376 |
+
'swatchly_color_2',
|
377 |
+
$color_value_2
|
378 |
+
);
|
379 |
+
}
|
380 |
+
|
381 |
+
update_term_meta(
|
382 |
+
$term_id,
|
383 |
+
'swatchly_image',
|
384 |
+
$image_value,
|
385 |
+
);
|
386 |
+
}
|
387 |
+
|
388 |
+
/**
|
389 |
+
* Get swatch type of given taxonomy
|
390 |
+
*/
|
391 |
+
public function get_taxonomy_swatch_type( $taxonomy ){
|
392 |
+
global $wpdb;
|
393 |
+
|
394 |
+
$attr = substr( $taxonomy, 3 );
|
395 |
+
$attr = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->prefix . "woocommerce_attribute_taxonomies WHERE attribute_name = %s", $attr ) );
|
396 |
+
$swatch_type = isset($attr->attribute_type) ? $attr->attribute_type : '';
|
397 |
+
|
398 |
+
return $swatch_type;
|
399 |
+
}
|
400 |
+
}
|
includes/modules/variation-swatch/includes/Admin/Product_Metabox.php
ADDED
@@ -0,0 +1,441 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly\Admin;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Product Metabox Class
|
6 |
+
*/
|
7 |
+
class Product_Metabox {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Constructor.
|
11 |
+
*/
|
12 |
+
public function __construct() {
|
13 |
+
// Add new tab into the WC metabox tab
|
14 |
+
add_filter( 'woocommerce_product_data_tabs', array( $this, 'append_product_metabox_tab' ) );
|
15 |
+
|
16 |
+
// Add new panel to the WC metabox
|
17 |
+
add_action( 'woocommerce_product_data_panels', array( $this, 'append_product_metabox_panel' ) );
|
18 |
+
|
19 |
+
// Save product metabox data (non ajax)
|
20 |
+
add_action( 'woocommerce_process_product_meta_variable', array( $this, 'save_product_metabox') );
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Metabox Tab
|
25 |
+
*/
|
26 |
+
public function append_product_metabox_tab($tabs){
|
27 |
+
$product_obj = wc_get_product(get_the_id());
|
28 |
+
$product_type = $product_obj->get_type();
|
29 |
+
if($product_type != 'variable'){
|
30 |
+
return $tabs;
|
31 |
+
}
|
32 |
+
|
33 |
+
$new_tab = array(
|
34 |
+
'label' => esc_html__( 'Swatches Settings', 'woolentor' ),
|
35 |
+
'target' => 'swatchly_swatches_product_data',
|
36 |
+
'class' => '',
|
37 |
+
'priority' => 80,
|
38 |
+
);
|
39 |
+
|
40 |
+
$tabs[] = $new_tab;
|
41 |
+
|
42 |
+
return $tabs;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Metabox panel
|
47 |
+
*/
|
48 |
+
public function append_product_metabox_panel(){
|
49 |
+
$product_id = get_the_id();
|
50 |
+
$product_obj = wc_get_product($product_id);
|
51 |
+
$product_type = $product_obj->get_type();
|
52 |
+
|
53 |
+
if($product_type != 'variable'){
|
54 |
+
return;
|
55 |
+
}
|
56 |
+
?>
|
57 |
+
|
58 |
+
<div id="swatchly_swatches_product_data" class="swatchly panel wc-metaboxes-wrapper hidden">
|
59 |
+
<div class="woocommerce-message"></div>
|
60 |
+
<?php $this->metabox_panel_inner_html( $product_id ); ?>
|
61 |
+
<div class="toolbar">
|
62 |
+
<button type="button" class="button swatchly_save_swatches button-primary"><?php echo esc_html__('Save Swatches', 'woolentor') ?></button>
|
63 |
+
<button type="button" class="button swatchly_reset_to_default"><?php echo esc_html__('Reset to Default', 'woolentor') ?></button>
|
64 |
+
</div>
|
65 |
+
</div>
|
66 |
+
|
67 |
+
<?php
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Save product metabox data (non ajax)
|
72 |
+
*/
|
73 |
+
public function save_product_metabox( $product_id ){
|
74 |
+
$product_obj = wc_get_product($product_id);
|
75 |
+
$product_type = $product_obj->get_type();
|
76 |
+
|
77 |
+
if($product_type != 'variable'){
|
78 |
+
return;
|
79 |
+
}
|
80 |
+
|
81 |
+
if(isset( $_REQUEST['swatchly_product_meta'] )){
|
82 |
+
$meta_data = map_deep( wp_unslash( $_REQUEST['swatchly_product_meta'] ), 'sanitize_text_field' );
|
83 |
+
update_post_meta( $product_id, '_swatchly_product_meta', $meta_data );
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Metabox panel inner HTML
|
89 |
+
*/
|
90 |
+
public static function metabox_panel_inner_html( $product_id ){
|
91 |
+
$product_obj = wc_get_product($product_id);
|
92 |
+
$product_attributes = $product_obj->get_variation_attributes();
|
93 |
+
$meta_data = get_post_meta($product_id, '_swatchly_product_meta', true);
|
94 |
+
|
95 |
+
$auto_convert_dropdowns_to_label = isset($meta_data['auto_convert_dropdowns_to_label']) ? $meta_data['auto_convert_dropdowns_to_label'] : '0';
|
96 |
+
$auto_convert_dropdowns_to_image = isset($meta_data['auto_convert_dropdowns_to_image']) ? $meta_data['auto_convert_dropdowns_to_image'] : '0';
|
97 |
+
$auto_convert_dropdowns_to_image_condition = isset($meta_data['auto_convert_dropdowns_to_image_condition']) ? $meta_data['auto_convert_dropdowns_to_image_condition'] : '';
|
98 |
+
?>
|
99 |
+
<div class="wc-metaboxes">
|
100 |
+
<div class="toolbar toolbar-top swatchly_auto_convert_dropdowns_to_image_<?php echo esc_attr($auto_convert_dropdowns_to_image) ?>">
|
101 |
+
|
102 |
+
<p class="form-fieldd">
|
103 |
+
<input type="checkbox" class="checkbox" name="swatchly_product_meta[auto_convert_dropdowns_to_label]" id="swatchly_auto_convert_dropdowns" value="1" <?php checked('1', $auto_convert_dropdowns_to_label) ?>>
|
104 |
+
<label for="swatchly_auto_convert_dropdowns"><?php esc_html_e('Auto convert Dropdowns to Label Swatch', 'woolentor') ?></label>
|
105 |
+
</p>
|
106 |
+
|
107 |
+
<?php if( is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ): ?>
|
108 |
+
<p class="form-fieldd">
|
109 |
+
<input type="checkbox" class="checkbox" name="swatchly_product_meta[auto_convert_dropdowns_to_image]" id="swatchly_auto_convert_dropdowns_image" value="1" <?php checked('1', $auto_convert_dropdowns_to_image) ?>>
|
110 |
+
<label for="swatchly_auto_convert_dropdowns_image"><?php esc_html_e('Auto convert Dropdown to Image Swatch', 'woolentor') ?></label>
|
111 |
+
</p>
|
112 |
+
<?php else: ?>
|
113 |
+
<p class="form-fieldd wlswatchly-pro-opacity">
|
114 |
+
<input type="checkbox" class="checkbox" name="swatchly_product_meta[auto_convert_dropdowns_to_image]" id="swatchly_auto_convert_dropdowns_image" value="1" <?php checked('1', $auto_convert_dropdowns_to_image) ?>>
|
115 |
+
<label for="swatchly_auto_convert_dropdowns_image"><?php esc_html_e('Auto convert Dropdown to Image Swatch', 'woolentor') ?> <span class="wlswatchly-pro">Pro</span> </label>
|
116 |
+
</p>
|
117 |
+
<?php endif; ?>
|
118 |
+
|
119 |
+
<p class="swatchly_condition swatchly_show_if_auto_convert_to_dropdown_image_1">
|
120 |
+
<label for="auto_convert_dropdowns_to_image_condition"><?php esc_html_e('Enable Image Type Attribute For', 'woolentor') ?></label>
|
121 |
+
<select class="" id="auto_convert_dropdowns_to_image_condition" name="swatchly_product_meta[auto_convert_dropdowns_to_image_condition]">
|
122 |
+
<option value="first_attribute" <?php selected('first_attribute', $auto_convert_dropdowns_to_image_condition) ?>><?php echo esc_html__( 'The First attribute', 'woolentor' ); ?></option>
|
123 |
+
<option value="maximum" <?php selected('maximum', $auto_convert_dropdowns_to_image_condition) ?>><?php echo esc_html__('The attribute with Maximum variations count', 'woolentor') ?></option>
|
124 |
+
<option value="minimum" <?php selected('minimum', $auto_convert_dropdowns_to_image_condition) ?>><?php echo esc_html__('The attribute with Minimum variations count', 'woolentor') ?></option>
|
125 |
+
</select>
|
126 |
+
</p>
|
127 |
+
|
128 |
+
<div class="clear"></div>
|
129 |
+
</div>
|
130 |
+
<?php
|
131 |
+
$tooltip_image_size_content = esc_html__('Place the image size name here. WordPress default image sizes are: thumbnail, medium, medium_large, large and full. Custom image size also can be used. Default is: thumbnail', 'woolentor');
|
132 |
+
|
133 |
+
foreach( $product_attributes as $taxonomy => $terms ):
|
134 |
+
$swatch_types = array('select', 'label', 'color', 'image');
|
135 |
+
$tax_terms = $product_attributes[$taxonomy];
|
136 |
+
$tax_name = $taxonomy;
|
137 |
+
|
138 |
+
if ( taxonomy_exists( $taxonomy ) ) {
|
139 |
+
$tax_obj = get_taxonomy( $taxonomy );
|
140 |
+
$tax_label = $tax_obj->labels->singular_name;
|
141 |
+
} else {
|
142 |
+
$tax_label = $taxonomy;
|
143 |
+
}
|
144 |
+
|
145 |
+
$swatch_type = isset($meta_data[$tax_name]['swatch_type']) ? $meta_data[$tax_name]['swatch_type'] : '';
|
146 |
+
|
147 |
+
$tooltip2 = isset($meta_data[$tax_name]['tooltip']) ? $meta_data[$tax_name]['tooltip'] : '';
|
148 |
+
$tooltip_text2 = isset($meta_data[$tax_name]['tooltip_text']) ? $meta_data[$tax_name]['tooltip_text'] : '';
|
149 |
+
$tooltip_image_id2 = isset($meta_data[$tax_name]['tooltip_image']) ? $meta_data[$tax_name]['tooltip_image'] : '';
|
150 |
+
$tooltip_image_size2 = isset($meta_data[$tax_name]['tooltip_image_size']) ? $meta_data[$tax_name]['tooltip_image_size'] : '';
|
151 |
+
|
152 |
+
$shape_style2 = isset($meta_data[$tax_name]['shape_style']) ? $meta_data[$tax_name]['shape_style'] : '';
|
153 |
+
$enable_shape_inset2 = isset($meta_data[$tax_name]['enable_shape_inset']) ? $meta_data[$tax_name]['enable_shape_inset'] : '';
|
154 |
+
$shape_inset_size2 = isset($meta_data[$tax_name]['shape_inset_size']) ? $meta_data[$tax_name]['shape_inset_size'] : '';
|
155 |
+
?>
|
156 |
+
<div class="wc-metabox swatchly_2 swatchly_type_<?php echo esc_attr($swatch_type); ?> swatchly_tooltip_<?php echo esc_attr($tooltip2) ?> swatchly_shape_inset_<?php echo esc_attr($enable_shape_inset2) ?>">
|
157 |
+
<h3>
|
158 |
+
<div class="handlediv" title="Click to toggle" aria-expanded="false"></div>
|
159 |
+
<strong><?php echo esc_html($tax_label) ?></strong>
|
160 |
+
<div class="fr">
|
161 |
+
|
162 |
+
<!-- Swatch type 2 -->
|
163 |
+
<strong><?php echo esc_html__('Swatch Type', 'woolentor') ?></strong>
|
164 |
+
<select class="swatchly_swatch_type swatchly_2" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][swatch_type]">
|
165 |
+
<option value=""><?php echo esc_html__('Inherit', 'woolentor'); ?></option>
|
166 |
+
<?php
|
167 |
+
foreach($swatch_types as $type){
|
168 |
+
?>
|
169 |
+
<option value="<?php echo esc_attr($type); ?>" <?php selected($type, $swatch_type) ?>><?php echo esc_html(ucwords($type)); ?></option>
|
170 |
+
<?php
|
171 |
+
}
|
172 |
+
?>
|
173 |
+
</select>
|
174 |
+
|
175 |
+
</div>
|
176 |
+
</h3>
|
177 |
+
<!-- Level 2 -->
|
178 |
+
<div class="wc-metabox-content hidden">
|
179 |
+
<table cellpadding="0" cellspacing="0">
|
180 |
+
<tbody>
|
181 |
+
<!-- shape style -->
|
182 |
+
<tr>
|
183 |
+
<td class="label" width="25%">
|
184 |
+
<label for="swatchly_shape_style"><?php echo esc_html__('Shape Style', 'woolentor') ?></label>
|
185 |
+
</td>
|
186 |
+
<td>
|
187 |
+
<select class="swatchly_shape_style" id="swatchly_shape_style" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][shape_style]">
|
188 |
+
<option value=""><?php echo esc_html__('-------', 'woolentor') ?></option>
|
189 |
+
<option value="squared" <?php selected('squared', $shape_style2) ?>><?php echo esc_html__('Squared', 'woolentor') ?></option>
|
190 |
+
<option value="rounded" <?php selected('rounded', $shape_style2) ?>><?php echo esc_html__('Rounded', 'woolentor') ?></option>
|
191 |
+
<option value="circle" <?php selected('circle', $shape_style2) ?>><?php echo esc_html__('Circle', 'woolentor') ?></option>
|
192 |
+
</select>
|
193 |
+
</td>
|
194 |
+
</tr>
|
195 |
+
|
196 |
+
<!-- enable_shape_inset -->
|
197 |
+
<tr>
|
198 |
+
<td class="label" width="25%">
|
199 |
+
<label for="swatchly_enable_shape_inset"><?php echo esc_html__('Enable Shape Inset', 'woolentor') ?></label>
|
200 |
+
</td>
|
201 |
+
<td>
|
202 |
+
<select class="swatchly_enable_shape_inset" id="swatchly_enable_shape_inset" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][enable_shape_inset]">
|
203 |
+
<option value=""><?php echo esc_html__('-------', 'woolentor') ?></option>
|
204 |
+
<option value="enable" <?php selected('enable', $enable_shape_inset2) ?>><?php echo esc_html__('Enable', 'woolentor') ?></option>
|
205 |
+
<option value="disable" <?php selected('disable', $enable_shape_inset2) ?>><?php echo esc_html__('Disable', 'woolentor') ?></option>
|
206 |
+
</select>
|
207 |
+
</td>
|
208 |
+
</tr>
|
209 |
+
|
210 |
+
<!-- tooltip -->
|
211 |
+
<tr>
|
212 |
+
<td class="label" width="25%">
|
213 |
+
<label for="swatchly_tooltip"><?php echo esc_html__('Swatch Tooltip', 'woolentor') ?></label>
|
214 |
+
</td>
|
215 |
+
<td>
|
216 |
+
<select class="swatchly_tooltip" id="swatchly_tooltip" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][tooltip]">
|
217 |
+
<option value=""><?php echo esc_html__('-------', 'woolentor') ?></option>
|
218 |
+
<option value="text" <?php selected('text', $tooltip2) ?>><?php echo esc_html__('Text', 'woolentor') ?></option>
|
219 |
+
<option value="image" <?php selected('image', $tooltip2) ?>><?php echo esc_html__('Image', 'woolentor') ?></option>
|
220 |
+
<option value="disable" <?php selected('disable', $tooltip2) ?>><?php echo esc_html__('Disable', 'woolentor') ?></option>
|
221 |
+
</select>
|
222 |
+
</td>
|
223 |
+
</tr>
|
224 |
+
|
225 |
+
<!-- tooltip_text -->
|
226 |
+
<tr class="swatchly_show_if_tooltip_text">
|
227 |
+
<td><label for="swatchly_tooltip_text"><?php echo esc_html__('Tooltip Text', 'woolentor') ?></label></td>
|
228 |
+
<td>
|
229 |
+
<input type="text" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][tooltip_text]" id="swatchly_tooltip_text" class="short" value="<?php echo esc_attr($tooltip_text2) ?>">
|
230 |
+
</td>
|
231 |
+
</tr>
|
232 |
+
|
233 |
+
<!-- tooltip_image -->
|
234 |
+
<tr class="swatchly_show_if_tooltip_image">
|
235 |
+
<td><?php echo esc_html__('Tooltip Image', 'woolentor') ?></td>
|
236 |
+
<td>
|
237 |
+
<div class="swatchly_media_field">
|
238 |
+
<div class="swatchly_media_preview">
|
239 |
+
<?php
|
240 |
+
if( $tooltip_image_id2 ){
|
241 |
+
echo '<img src="'. wp_get_attachment_image_url($tooltip_image_id2, 'thumbnail') .'" />';
|
242 |
+
}
|
243 |
+
?>
|
244 |
+
</div>
|
245 |
+
<div>
|
246 |
+
<input type="hidden" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][tooltip_image]" class="swatchly_input" value="<?php echo esc_attr($tooltip_image_id2) ?>" />
|
247 |
+
<button type="button" class="swatchly_upload_image button"><?php echo esc_html__( 'Upload/Add image', 'woolentor' ); ?></button>
|
248 |
+
<button type="button" class="swatchly_remove_image button"><?php echo esc_html__( 'Remove image', 'woolentor' ); ?></button>
|
249 |
+
</div>
|
250 |
+
</div>
|
251 |
+
</td>
|
252 |
+
</tr>
|
253 |
+
|
254 |
+
<!-- tooltip_image_size -->
|
255 |
+
<tr class="swatchly_show_if_tooltip_image">
|
256 |
+
<td><label for="swatchly_tooltip_image_size"><?php echo esc_html__('Tooltip Image Size', 'woolentor') ?></label></td>
|
257 |
+
<td>
|
258 |
+
<input type="text" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][tooltip_image_size]" id="swatchly_tooltip_image_size" class="short" value="<?php echo esc_attr($tooltip_image_size2) ?>">
|
259 |
+
<?php
|
260 |
+
echo wc_help_tip( $tooltip_image_size_content );
|
261 |
+
?>
|
262 |
+
</td>
|
263 |
+
</tr>
|
264 |
+
|
265 |
+
<tr>
|
266 |
+
<td colspan="2">
|
267 |
+
<?php
|
268 |
+
foreach($tax_terms as $term_value):
|
269 |
+
if ( taxonomy_exists( $taxonomy ) ) {
|
270 |
+
$term = get_term_by('slug', $term_value, $taxonomy);
|
271 |
+
$term_id = $term->term_id;
|
272 |
+
$term_label = $term->name;
|
273 |
+
} else {
|
274 |
+
$term_label = $term_value; // name
|
275 |
+
$term_id = $term_value; // name
|
276 |
+
}
|
277 |
+
|
278 |
+
// get saved values
|
279 |
+
$swatch_type = isset($meta_data[$tax_name]['terms'][$term_id]['swatch_type']) ? $meta_data[$tax_name]['terms'][$term_id]['swatch_type'] : '';
|
280 |
+
|
281 |
+
$image_id = isset($meta_data[$tax_name]['terms'][$term_id]['image']) ? $meta_data[$tax_name]['terms'][$term_id]['image'] : '';
|
282 |
+
$image_size = isset($meta_data[$tax_name]['terms'][$term_id]['image_size']) ? $meta_data[$tax_name]['terms'][$term_id]['image_size'] : '';
|
283 |
+
$tooltip = isset($meta_data[$tax_name]['terms'][$term_id]['tooltip']) ? $meta_data[$tax_name]['terms'][$term_id]['tooltip'] : '';
|
284 |
+
$tooltip_text = isset($meta_data[$tax_name]['terms'][$term_id]['tooltip_text']) ? $meta_data[$tax_name]['terms'][$term_id]['tooltip_text'] : '';
|
285 |
+
$tooltip_image_id = isset($meta_data[$tax_name]['terms'][$term_id]['tooltip_image']) ? $meta_data[$tax_name]['terms'][$term_id]['tooltip_image'] : '';
|
286 |
+
$tooltip_image_size = isset($meta_data[$tax_name]['terms'][$term_id]['tooltip_image_size']) ? $meta_data[$tax_name]['terms'][$term_id]['tooltip_image_size'] : '';
|
287 |
+
|
288 |
+
$color = isset($meta_data[$tax_name]['terms'][$term_id]['color']) ? $meta_data[$tax_name]['terms'][$term_id]['color'] : '';
|
289 |
+
$enable_multi_color = isset($meta_data[$tax_name]['terms'][$term_id]['enable_multi_color']) ? $meta_data[$tax_name]['terms'][$term_id]['enable_multi_color'] : '';
|
290 |
+
$color_2 = isset($meta_data[$tax_name]['terms'][$term_id]['color_2']) ? $meta_data[$tax_name]['terms'][$term_id]['color_2'] : '';
|
291 |
+
?>
|
292 |
+
<div class="wc-metabox swatchly_1 swatchly_type_<?php echo esc_attr($swatch_type); ?> swatchly_tooltip_<?php echo esc_attr($tooltip) ?> swatchly_enable_multi_color_<?php echo esc_attr($enable_multi_color) ?>">
|
293 |
+
<h3>
|
294 |
+
<strong><?php echo esc_html($term_label) ?></strong>
|
295 |
+
<div class="fr">
|
296 |
+
|
297 |
+
<!-- Swatch type 1 -->
|
298 |
+
<strong class="swatchly_d_none"><?php echo esc_html__('Swatch Type', 'woolentor') ?></strong>
|
299 |
+
<select class="swatchly_swatch_type swatchly_1 swatchly_d_none" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][swatch_type]">
|
300 |
+
<option value=""><?php echo esc_html__('Inherit', 'woolentor'); ?></option>
|
301 |
+
<?php
|
302 |
+
$swatch_type = isset($meta_data[$tax_name]['terms'][$term_id]['swatch_type']) ? $meta_data[$tax_name]['terms'][$term_id]['swatch_type'] : '';
|
303 |
+
unset($swatch_types[0]);
|
304 |
+
|
305 |
+
foreach($swatch_types as $type){
|
306 |
+
?>
|
307 |
+
<option value="<?php echo esc_attr($type); ?>" <?php selected($type, $swatch_type) ?>><?php echo esc_html(ucwords($type)); ?></option>
|
308 |
+
<?php
|
309 |
+
}
|
310 |
+
?>
|
311 |
+
</select>
|
312 |
+
|
313 |
+
</div>
|
314 |
+
</h3>
|
315 |
+
|
316 |
+
<div class="wc-metabox-content hidden">
|
317 |
+
<table cellpadding="0" cellspacing="0">
|
318 |
+
<tbody>
|
319 |
+
|
320 |
+
<!-- tooltip -->
|
321 |
+
<tr>
|
322 |
+
<td class="label" width="25%">
|
323 |
+
<label for="swatchly_tooltip"><?php echo esc_html__('Swatch Tooltip', 'woolentor') ?></label>
|
324 |
+
</td>
|
325 |
+
<td>
|
326 |
+
<select class="swatchly_tooltip" id="swatchly_tooltip" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][tooltip]">
|
327 |
+
<option value=""><?php echo esc_html__('Inherit', 'woolentor') ?></option>
|
328 |
+
<option value="text" <?php selected('text', $tooltip) ?>><?php echo esc_html__('Text', 'woolentor') ?></option>
|
329 |
+
<option value="image" <?php selected('image', $tooltip) ?>><?php echo esc_html__('Image', 'woolentor') ?></option>
|
330 |
+
<option value="disable" <?php selected('disable', $tooltip) ?>><?php echo esc_html__('Disable', 'woolentor') ?></option>
|
331 |
+
</select>
|
332 |
+
</td>
|
333 |
+
</tr>
|
334 |
+
|
335 |
+
<!-- tooltip_text -->
|
336 |
+
<tr class="swatchly_show_if_tooltip_text">
|
337 |
+
<td><label for="swatchly_tooltip_text"><?php echo esc_html__('Tooltip Text', 'woolentor') ?></label></td>
|
338 |
+
<td>
|
339 |
+
<input type="text" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][tooltip_text]" id="swatchly_tooltip_text" class="short" value="<?php echo esc_attr($tooltip_text) ?>">
|
340 |
+
</td>
|
341 |
+
</tr>
|
342 |
+
|
343 |
+
<!-- tooltip_image -->
|
344 |
+
<tr class="swatchly_show_if_tooltip_image">
|
345 |
+
<td><?php echo esc_html__('Tooltip Image', 'woolentor') ?></td>
|
346 |
+
<td>
|
347 |
+
<div class="swatchly_media_field">
|
348 |
+
<div class="swatchly_media_preview">
|
349 |
+
<?php
|
350 |
+
if( $tooltip_image_id ){
|
351 |
+
echo '<img src="'. wp_get_attachment_image_url($tooltip_image_id, 'thumbnail') .'" />';
|
352 |
+
}
|
353 |
+
?>
|
354 |
+
</div>
|
355 |
+
<div>
|
356 |
+
<input type="hidden" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][tooltip_image]" class="swatchly_input" value="<?php echo esc_attr($tooltip_image_id) ?>" />
|
357 |
+
<button type="button" class="swatchly_upload_image button"><?php echo esc_html__( 'Upload/Add image', 'woolentor' ); ?></button>
|
358 |
+
<button type="button" class="swatchly_remove_image button"><?php echo esc_html__( 'Remove image', 'woolentor' ); ?></button>
|
359 |
+
</div>
|
360 |
+
</div>
|
361 |
+
</td>
|
362 |
+
</tr>
|
363 |
+
|
364 |
+
<!-- tooltip_image_size -->
|
365 |
+
<tr class="swatchly_show_if_tooltip_image">
|
366 |
+
<td><label for="swatchly_tooltip_image_size"><?php echo esc_html__('Tooltip Image Size', 'woolentor') ?></label></td>
|
367 |
+
<td>
|
368 |
+
<input type="text" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][tooltip_image_size]" id="swatchly_tooltip_image_size" class="short" value="<?php echo esc_attr($tooltip_image_size) ?>">
|
369 |
+
<?php
|
370 |
+
echo wc_help_tip( $tooltip_image_size_content );
|
371 |
+
?>
|
372 |
+
</td>
|
373 |
+
</tr>
|
374 |
+
|
375 |
+
<!-- swatchly_color -->
|
376 |
+
<tr class="swatchly_show_if_color">
|
377 |
+
<td><?php echo esc_html__('Swatch Color', 'woolentor') ?></td>
|
378 |
+
<td><input type="text" class="swatchly_color_picker" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][color]" data-alpha-enabled="true" data-default-color="" value="<?php echo esc_attr($color) ?>" /></td>
|
379 |
+
</tr>
|
380 |
+
|
381 |
+
<!-- enable_multi_color -->
|
382 |
+
<tr class="swatchly_show_if_color">
|
383 |
+
<td><?php echo esc_html__('Enable Multi Color', 'woolentor') ?></td>
|
384 |
+
<td><input type="checkbox" class="enable_multi_color" id="enable_multi_color" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][enable_multi_color]" value="1" <?php checked( '1', $enable_multi_color ) ?>/></td>
|
385 |
+
</tr>
|
386 |
+
|
387 |
+
<!-- color_2 -->
|
388 |
+
<tr class="swatchly_show_if_enable_multi_color_1">
|
389 |
+
<td><?php echo esc_html__('Swatch Color 2', 'woolentor') ?></td>
|
390 |
+
<td><input type="text" class="swatchly_color_picker" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][color_2]" data-alpha-enabled="true" data-default-color="" value="<?php echo esc_attr($color_2) ?>" /></td>
|
391 |
+
</tr>
|
392 |
+
|
393 |
+
<!-- swatchly_image -->
|
394 |
+
<tr class="swatchly_show_if_image">
|
395 |
+
<td><?php echo esc_html__('Swatch Image', 'woolentor') ?></td>
|
396 |
+
<td>
|
397 |
+
<div class="swatchly_media_field">
|
398 |
+
<div class="swatchly_media_preview">
|
399 |
+
<?php
|
400 |
+
if( $image_id ){
|
401 |
+
echo '<img src="'. wp_get_attachment_image_url($image_id, 'thumbnail') .'" />';
|
402 |
+
}
|
403 |
+
?>
|
404 |
+
</div>
|
405 |
+
<div>
|
406 |
+
<input type="hidden" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][image]" class="swatchly_input" value="<?php echo esc_attr($image_id) ?>" />
|
407 |
+
<button type="button" class="swatchly_upload_image button"><?php echo esc_html__( 'Upload/Add image', 'woolentor' ); ?></button>
|
408 |
+
<button type="button" class="swatchly_remove_image button"><?php echo esc_html__( 'Remove image', 'woolentor' ); ?></button>
|
409 |
+
</div>
|
410 |
+
</div>
|
411 |
+
</td>
|
412 |
+
</tr>
|
413 |
+
|
414 |
+
<!-- swatchly_image_size -->
|
415 |
+
<tr class="swatchly_show_if_image">
|
416 |
+
<td><label for="swatchly_image_size"><?php echo esc_html__('Swatch Image Size', 'woolentor') ?></label></td>
|
417 |
+
<td>
|
418 |
+
<input type="text" name="swatchly_product_meta[<?php echo esc_attr($tax_name) ?>][terms][<?php echo esc_attr($term_id) ?>][image_size]" id="swatchly_image_size" class="short" value="<?php echo esc_attr($image_size) ?>">
|
419 |
+
<?php
|
420 |
+
echo wc_help_tip( $tooltip_image_size_content );
|
421 |
+
?>
|
422 |
+
</td>
|
423 |
+
</tr>
|
424 |
+
|
425 |
+
</tbody>
|
426 |
+
</table>
|
427 |
+
</div>
|
428 |
+
</div>
|
429 |
+
<?php endforeach; // tax_terms ?>
|
430 |
+
</td>
|
431 |
+
</tr>
|
432 |
+
</tbody>
|
433 |
+
</table>
|
434 |
+
</div>
|
435 |
+
</div>
|
436 |
+
<?php //endif; // is_taxonomy ?>
|
437 |
+
<?php endforeach; // product_attributes ?>
|
438 |
+
</div><!-- .wc-metabox -->
|
439 |
+
<?php
|
440 |
+
}
|
441 |
+
}
|
includes/modules/variation-swatch/includes/Admin/Woo_Config.php
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly\Admin;
|
3 |
+
use Woolentor\Modules\Swatchly\Helper as Helper;
|
4 |
+
/**
|
5 |
+
* Woo_Config class
|
6 |
+
*/
|
7 |
+
class Woo_Config {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Constructor
|
11 |
+
*/
|
12 |
+
public function __construct() {
|
13 |
+
// Add swatch types
|
14 |
+
add_filter( 'product_attributes_type_selector', array( $this, 'add_swatch_types'), 10, 1 );
|
15 |
+
|
16 |
+
// Swatch type preview column
|
17 |
+
$taxonomy = isset($_GET['taxonomy']) ? sanitize_title( $_GET['taxonomy'] ) : '';
|
18 |
+
add_filter( 'manage_edit-'. $taxonomy .'_columns', array( $this, 'add_new_attribute_column') );
|
19 |
+
add_filter( 'manage_'. $taxonomy .'_custom_column', array( $this, 'add_swatch_preview_markup' ), 10, 3 );
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Add swatch types
|
24 |
+
*/
|
25 |
+
public function add_swatch_types( $fields ){
|
26 |
+
$current_screen = get_current_screen();
|
27 |
+
|
28 |
+
if(isset($current_screen->base) && $current_screen->base == 'product_page_product_attributes'){
|
29 |
+
$new_fields = array();
|
30 |
+
$new_fields['select'] = esc_html__( 'Select', 'woolentor' );
|
31 |
+
$new_fields['label'] = esc_html__( 'WL Label', 'woolentor' );
|
32 |
+
$new_fields['color'] = esc_html__( 'WL Color', 'woolentor' );
|
33 |
+
$new_fields['image'] = esc_html__( 'WL Image', 'woolentor' );
|
34 |
+
$fields = array_merge( $new_fields, $fields );
|
35 |
+
}
|
36 |
+
|
37 |
+
return $fields;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Add new column for swatch preview
|
42 |
+
*/
|
43 |
+
public function add_new_attribute_column( $columns ){
|
44 |
+
global $taxnow;
|
45 |
+
$request_taxonomy = isset($_GET['taxonomy']) ? sanitize_title($_GET['taxonomy']) : '';
|
46 |
+
if($request_taxonomy !== $taxnow){
|
47 |
+
return $columns;
|
48 |
+
}
|
49 |
+
|
50 |
+
$swatch_type = Helper::get_swatch_type( $request_taxonomy );
|
51 |
+
if( !in_array($swatch_type, array('color', 'image')) ){
|
52 |
+
return $columns;
|
53 |
+
}
|
54 |
+
|
55 |
+
$new_columns = array();
|
56 |
+
$new_columns['cb'] = isset($columns['cb']) ? $columns['cb'] : '';
|
57 |
+
$new_columns['thumb'] = '';
|
58 |
+
unset( $columns['cb'] );
|
59 |
+
|
60 |
+
$new_columns = array_merge( $new_columns, $columns );
|
61 |
+
|
62 |
+
return $new_columns;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Add swatch preview markup
|
67 |
+
*/
|
68 |
+
public function add_swatch_preview_markup( $columns, $column, $term_id ){
|
69 |
+
global $taxnow;
|
70 |
+
$request_taxonomy = isset($_GET['taxonomy']) ? sanitize_title($_GET['taxonomy']) : '';
|
71 |
+
if( ($request_taxonomy !== $taxnow) || ('thumb' !== $column)){
|
72 |
+
return $columns;
|
73 |
+
}
|
74 |
+
|
75 |
+
$swatch_type = Helper::get_swatch_type( $request_taxonomy );
|
76 |
+
if( !in_array($swatch_type, array('color', 'image')) ){
|
77 |
+
return $columns;
|
78 |
+
}
|
79 |
+
|
80 |
+
switch ( $swatch_type ) {
|
81 |
+
case 'color':
|
82 |
+
$color = get_term_meta( $term_id, 'swatchly_color', true );
|
83 |
+
$enable_multi_color = get_term_meta( $term_id, 'swatchly_enable_multi_color', true );
|
84 |
+
$color_2 = get_term_meta( $term_id, 'swatchly_color_2', true );
|
85 |
+
|
86 |
+
if($enable_multi_color){
|
87 |
+
echo '<div class="swatchly_preview" style="background: linear-gradient( -50deg, '. esc_attr($color) .' 50%, '. esc_attr($color_2) .' 50% );"></div>';
|
88 |
+
} else{
|
89 |
+
printf( '<div class="swatchly_preview" style="background-color:%s;"></div>', esc_attr( $color ) );
|
90 |
+
}
|
91 |
+
break;
|
92 |
+
|
93 |
+
case 'image':
|
94 |
+
$image_arr = get_term_meta( $term_id, 'swatchly_image', true );
|
95 |
+
$image_url = (is_array($image_arr) && $image_arr['thumbnail']) ? $image_arr['thumbnail'] : wc_placeholder_img_src();
|
96 |
+
$image_url = str_replace( ' ', '%20', $image_url );
|
97 |
+
printf( '<img class="swatchly_preview" src="%s" width="44px" height="44px">', esc_url( $image_url ) );
|
98 |
+
break;
|
99 |
+
|
100 |
+
case 'label':
|
101 |
+
echo '<div class="swatchly_preview"></div>';
|
102 |
+
break;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
}
|
includes/modules/variation-swatch/includes/Frontend.php
ADDED
@@ -0,0 +1,163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly;
|
3 |
+
use Woolentor\Modules\Swatchly\Helper as Helper;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Frontend class.
|
7 |
+
*/
|
8 |
+
class Frontend {
|
9 |
+
public $sp_enable_swatches;
|
10 |
+
public $pl_enable_swatches;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Constructor.
|
14 |
+
*/
|
15 |
+
public function __construct() {
|
16 |
+
$this->sp_enable_swatches = Helper::get_option('sp_enable_swatches');
|
17 |
+
$this->pl_enable_swatches = Helper::get_option('pl_enable_swatches');
|
18 |
+
|
19 |
+
// frontend assets
|
20 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_frontend_assets' ) );
|
21 |
+
|
22 |
+
// generate blank notice wrapper for ajax add to cart
|
23 |
+
if( $this->pl_enable_swatches ){
|
24 |
+
add_action('wp_footer', array( $this, 'popup_notice_blank_div') );
|
25 |
+
}
|
26 |
+
|
27 |
+
// add body class
|
28 |
+
add_filter( 'body_class', array( $this, 'custom_body_class') );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Enqueue frontend assets
|
33 |
+
*/
|
34 |
+
public function enqueue_frontend_assets() {
|
35 |
+
// Thickbox.
|
36 |
+
add_thickbox();
|
37 |
+
|
38 |
+
wp_register_style( 'swatchly-frontend', MODULE_ASSETS . '/css/frontend.css', array(), WOOLENTOR_VERSION );
|
39 |
+
wp_register_script( 'swatchly-add-to-cart-variation', MODULE_ASSETS . '/js/add-to-cart-variation.js', array('jquery', 'wp-util', 'jquery-blockui' ), WOOLENTOR_VERSION, true );
|
40 |
+
wp_register_script( 'swatchly-frontend', MODULE_ASSETS . '/js/frontend.js', array('jquery'), WOOLENTOR_VERSION );
|
41 |
+
|
42 |
+
$enable_swatches = $this->pl_enable_swatches;
|
43 |
+
|
44 |
+
if( is_product() ){
|
45 |
+
$enable_swatches = $this->sp_enable_swatches;
|
46 |
+
}
|
47 |
+
|
48 |
+
if( $enable_swatches ){
|
49 |
+
wp_enqueue_style( 'swatchly-frontend' );
|
50 |
+
wp_enqueue_script( 'swatchly-frontend' );
|
51 |
+
|
52 |
+
$swatch_width_height = Helper::get_option('swatch_width_height');
|
53 |
+
$swatch_width = !empty($swatch_width_height['width']) ? $swatch_width_height['width'] : '';
|
54 |
+
$swatch_height = !empty($swatch_width_height['height']) ? $swatch_width_height['height'] : '';
|
55 |
+
$swatch_unit = !empty($swatch_width_height['unit']) ? $swatch_width_height['unit'] : 'px';
|
56 |
+
|
57 |
+
$tooltip_width_height = Helper::get_option('tooltip_width_height');
|
58 |
+
$tooltip_width = !empty($tooltip_width_height['width']) ? $tooltip_width_height['width'] : '';
|
59 |
+
$tooltip_unit = !empty($tooltip_width_height['unit']) ? $tooltip_width_height['unit'] : 'px';
|
60 |
+
|
61 |
+
$custom_css = array();
|
62 |
+
$custom_css[] = Helper::add_inline_css(
|
63 |
+
array(
|
64 |
+
'id' => '',
|
65 |
+
'properties' => 'min-width',
|
66 |
+
'unit' => $swatch_unit,
|
67 |
+
'selectors' => array(
|
68 |
+
'.swatchly-swatch',
|
69 |
+
),
|
70 |
+
'value' => $swatch_width
|
71 |
+
)
|
72 |
+
);
|
73 |
+
|
74 |
+
$custom_css[] = Helper::add_inline_css(
|
75 |
+
array(
|
76 |
+
'id' => '',
|
77 |
+
'properties' => 'min-height',
|
78 |
+
'unit' => $swatch_unit,
|
79 |
+
'selectors' => array(
|
80 |
+
'.swatchly-swatch',
|
81 |
+
),
|
82 |
+
'value' => $swatch_height
|
83 |
+
)
|
84 |
+
);
|
85 |
+
|
86 |
+
$custom_css[] = Helper::add_inline_css(
|
87 |
+
array(
|
88 |
+
'id' => '',
|
89 |
+
'properties' => 'max-width',
|
90 |
+
'unit' => $tooltip_unit,
|
91 |
+
'selectors' => array(
|
92 |
+
'.swatchly-swatch .swatchly-tooltip',
|
93 |
+
),
|
94 |
+
'value' => $tooltip_width
|
95 |
+
)
|
96 |
+
);
|
97 |
+
|
98 |
+
wp_add_inline_style( 'swatchly-frontend', implode('', $custom_css) );
|
99 |
+
}
|
100 |
+
|
101 |
+
$auto_convert_dropdowns_to_label = Helper::get_option('auto_convert_dropdowns_to_label', 1);
|
102 |
+
$tooltip = Helper::get_option('tooltip', 1);
|
103 |
+
$deselect_on_click = Helper::get_option('deselect_on_click', 0);
|
104 |
+
$show_selected_attribute_name = Helper::get_option('show_selected_attribute_name', 1);
|
105 |
+
$variation_label_separator = Helper::get_option('variation_label_separator', ' : ');
|
106 |
+
$product_thumbnail_selector = Helper::get_option('pl_product_thumbnail_selector');
|
107 |
+
$hide_wc_forward_button = Helper::get_option('pl_hide_wc_forward_button', 1);
|
108 |
+
$enable_cart_popup_notice = Helper::get_option('pl_enable_cart_popup_notice', 1);
|
109 |
+
$enable_catalog_mode = Helper::get_option('pl_enable_catalog_mode', 0);
|
110 |
+
|
111 |
+
$localize_vars = array(
|
112 |
+
'is_product' => is_product(),
|
113 |
+
'enable_swatches' => $enable_swatches,
|
114 |
+
'auto_convert_dropdowns_to_label' => $auto_convert_dropdowns_to_label,
|
115 |
+
'tooltip' => $tooltip,
|
116 |
+
'deselect_on_click' => $deselect_on_click,
|
117 |
+
'show_selected_attribute_name' => $show_selected_attribute_name,
|
118 |
+
'variation_label_separator' => $variation_label_separator,
|
119 |
+
'product_thumbnail_selector' => $product_thumbnail_selector,
|
120 |
+
'hide_wc_forward_button' => $hide_wc_forward_button,
|
121 |
+
'enable_cart_popup_notice' => $enable_cart_popup_notice,
|
122 |
+
'enable_catalog_mode' => $enable_catalog_mode
|
123 |
+
);
|
124 |
+
wp_localize_script( 'swatchly-frontend', 'swatchly_params', $localize_vars );
|
125 |
+
|
126 |
+
// Localize for WC Variation js
|
127 |
+
wc_get_template( 'single-product/add-to-cart/variation.php' );
|
128 |
+
|
129 |
+
$params = array(
|
130 |
+
'wc_ajax_url' => \WC_AJAX::get_endpoint( '%%endpoint%%' ),
|
131 |
+
'i18n_no_matching_variations_text' => esc_attr__( 'Sorry, no products matched your selection. Please choose a different combination.', 'woolentor' ),
|
132 |
+
'i18n_make_a_selection_text' => esc_attr__( 'Please select some product options before adding this product to your cart.', 'woolentor' ),
|
133 |
+
'i18n_unavailable_text' => esc_attr__( 'Sorry, this product is unavailable. Please choose a different combination.', 'woolentor' ),
|
134 |
+
);
|
135 |
+
wp_localize_script( 'swatchly-add-to-cart-variation', 'swatchly_add_to_cart_variation_params', $params );
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Add custom body class
|
140 |
+
*/
|
141 |
+
function custom_body_class( $classes ) {
|
142 |
+
$show_swatches_label = Helper::get_option('pl_show_swatches_label');
|
143 |
+
$show_clear_link = Helper::get_option('pl_show_clear_link');
|
144 |
+
if(!is_product() && $show_swatches_label){
|
145 |
+
$classes[] = 'swatchly_pl_show_swatches_label_'. $show_swatches_label;
|
146 |
+
}
|
147 |
+
|
148 |
+
if(!is_product() && $show_clear_link){
|
149 |
+
$classes[] = 'swatchly_pl_show_clear_link_'. $show_clear_link;
|
150 |
+
}
|
151 |
+
|
152 |
+
return $classes;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Ajax add to cart notice div
|
157 |
+
*/
|
158 |
+
public function popup_notice_blank_div(){
|
159 |
+
?>
|
160 |
+
<div id="swatchly_notice_popup" style="display:none;"></div>
|
161 |
+
<?php
|
162 |
+
}
|
163 |
+
}
|
includes/modules/variation-swatch/includes/Frontend/Woo_Config.php
ADDED
@@ -0,0 +1,1008 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly\Frontend;
|
3 |
+
use Woolentor\Modules\Swatchly\Helper as Helper;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Woo_Config class
|
7 |
+
*/
|
8 |
+
class Woo_Config {
|
9 |
+
public $sp_enable_swatches;
|
10 |
+
public $pl_enable_swatches;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Constructor
|
14 |
+
*
|
15 |
+
* @since 1.0.0
|
16 |
+
*/
|
17 |
+
public function __construct() {
|
18 |
+
$this->sp_enable_swatches = Helper::get_option('sp_enable_swatches');
|
19 |
+
$this->pl_enable_swatches = Helper::get_option('pl_enable_swatches');
|
20 |
+
|
21 |
+
// Enable/disable swatch for out of stock variation products
|
22 |
+
add_filter( 'woocommerce_available_variation', array($this, 'filter_out_of_stock_variation'), 9999, 3 );
|
23 |
+
|
24 |
+
// Filter through each variation form to inject the swatch html
|
25 |
+
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', array( $this, 'dropdown_variation_attribute_options_html_cb' ), 200, 2 );
|
26 |
+
|
27 |
+
// before title
|
28 |
+
if( $this->pl_enable_swatches && Helper::get_option('pl_position') == 'before_title' ){
|
29 |
+
add_action('woocommerce_shop_loop_item_title', array( $this, 'loop_variation_form_html'), 0);
|
30 |
+
|
31 |
+
// For Universal Layout
|
32 |
+
add_action('woolentor_universal_before_title', array( $this, 'loop_variation_form_html'), 0 );
|
33 |
+
}
|
34 |
+
|
35 |
+
// after title
|
36 |
+
if( $this->pl_enable_swatches && Helper::get_option('pl_position') == 'after_title' ){
|
37 |
+
add_action('woocommerce_shop_loop_item_title', array( $this, 'loop_variation_form_html'), 9999);
|
38 |
+
|
39 |
+
// For Universal Layout
|
40 |
+
add_action('woolentor_universal_after_title', array( $this, 'loop_variation_form_html'), 0 );
|
41 |
+
}
|
42 |
+
|
43 |
+
// before price
|
44 |
+
if( $this->pl_enable_swatches && Helper::get_option('pl_position') == 'before_price' ){
|
45 |
+
add_action('woocommerce_after_shop_loop_item_title', array( $this, 'loop_variation_form_html'), 9);
|
46 |
+
|
47 |
+
// For Universal Layout
|
48 |
+
add_action('woolentor_universal_before_price', array( $this, 'loop_variation_form_html'), 0 );
|
49 |
+
}
|
50 |
+
|
51 |
+
// after price
|
52 |
+
if( $this->pl_enable_swatches && Helper::get_option('pl_position') == 'after_price' ){
|
53 |
+
add_action('woocommerce_after_shop_loop_item_title', array( $this, 'loop_variation_form_html'), 11);
|
54 |
+
|
55 |
+
// For Universal Layout
|
56 |
+
add_action('woolentor_universal_after_price', array( $this, 'loop_variation_form_html'), 0 );
|
57 |
+
}
|
58 |
+
|
59 |
+
// custom position
|
60 |
+
if( $this->pl_enable_swatches && Helper::get_option('pl_position') == 'custom_position'){
|
61 |
+
$priority = Helper::get_option('pl_custom_position_hook_priority') ? Helper::get_option('pl_custom_position_hook_priority') : 10;
|
62 |
+
add_action( Helper::get_option('pl_custom_position_hook_name') , array( $this, 'loop_variation_form_html'), $priority );
|
63 |
+
}
|
64 |
+
|
65 |
+
if( $this->pl_enable_swatches && Helper::get_option('pl_position') == 'shortcode'){
|
66 |
+
// shortcode [swatchly_pl_swatches]
|
67 |
+
add_shortcode( 'swatchly_pl_swatches', array( $this, 'get_loop_variation_form_html') );
|
68 |
+
}
|
69 |
+
|
70 |
+
// Ajax add to cart
|
71 |
+
add_filter( 'woocommerce_loop_add_to_cart_args', array( $this, 'filter_loop_add_to_cart_args' ), 20, 2 );
|
72 |
+
|
73 |
+
// Ajax variation threshold
|
74 |
+
add_filter( 'woocommerce_ajax_variation_threshold', array( $this, 'ajax_variation_threshold') , 15, 2 );
|
75 |
+
}
|
76 |
+
|
77 |
+
/**f
|
78 |
+
* Intented to use for the conditionally enable/disable swatch for product listing pages
|
79 |
+
* The codition comes from the user input
|
80 |
+
*/
|
81 |
+
public function stop_execution(){
|
82 |
+
$enable_swatches = $this->pl_enable_swatches;
|
83 |
+
if(is_product()){
|
84 |
+
$enable_swatches = $this->sp_enable_swatches;
|
85 |
+
}
|
86 |
+
|
87 |
+
if( (!is_product() && !$enable_swatches) ||
|
88 |
+
(is_product() && !$enable_swatches)
|
89 |
+
){
|
90 |
+
return true;
|
91 |
+
}
|
92 |
+
|
93 |
+
$input_condition = Helper::get_option('pl_user_input_condition');
|
94 |
+
if( $input_condition ){
|
95 |
+
$input_condition = "return (". $input_condition .");";
|
96 |
+
|
97 |
+
if( is_product() ){
|
98 |
+
return false;
|
99 |
+
} elseif( !eval( $input_condition ) ) {
|
100 |
+
return true;
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
return false;
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* If "opt-in" Disable the variation form for the "Out of Stock" products
|
109 |
+
* Since the variation form will not render, so the swatches will not also render for all "out of stock" variation products.
|
110 |
+
*
|
111 |
+
* @return bool
|
112 |
+
*/
|
113 |
+
public function filter_out_of_stock_variation( $result, $object, $variation ) {
|
114 |
+
$disable_out_of_stock = Helper::get_option('disable_out_of_stock');
|
115 |
+
|
116 |
+
if( is_product() ){
|
117 |
+
$disable_out_of_stock = Helper::get_option('disable_out_of_stock');
|
118 |
+
}
|
119 |
+
|
120 |
+
if( !$disable_out_of_stock ){
|
121 |
+
return $result;
|
122 |
+
}
|
123 |
+
|
124 |
+
if ( ! $variation->is_in_stock() ||
|
125 |
+
( $variation->managing_stock() && $variation->get_stock_quantity() <= get_option( 'woocommerce_notify_no_stock_amount', 0 ) && $variation->get_backorders() === 'no' )
|
126 |
+
) {
|
127 |
+
$result = false;
|
128 |
+
}
|
129 |
+
|
130 |
+
return $result;
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Filter variation dropdown HTML
|
135 |
+
* Consists each of the <select></select> element
|
136 |
+
*/
|
137 |
+
public function dropdown_variation_attribute_options_html_cb( $old_html, $args ){
|
138 |
+
$product = $args['product'];
|
139 |
+
$ajax_status = wp_doing_ajax();
|
140 |
+
|
141 |
+
if( is_admin() && !$ajax_status ){
|
142 |
+
return $old_html;
|
143 |
+
}
|
144 |
+
|
145 |
+
// return default select for the grouped products for the single page and also for the
|
146 |
+
// smart group products created by the WPC Grouped Product for WooCommerce plugin
|
147 |
+
$should_return_default_select = false;
|
148 |
+
if( is_product() ){
|
149 |
+
$single_product = wc_get_product(get_the_id());
|
150 |
+
if( $single_product->get_type() == 'grouped' || $single_product->get_type() == 'woosg' ){
|
151 |
+
$should_return_default_select = true;
|
152 |
+
}
|
153 |
+
}
|
154 |
+
|
155 |
+
$should_return_default_select = apply_filters( 'swatchly_return_default_select', $should_return_default_select, $args );
|
156 |
+
if( $should_return_default_select ){
|
157 |
+
return $old_html;
|
158 |
+
}
|
159 |
+
|
160 |
+
if( $this->stop_execution() ){
|
161 |
+
return $old_html;
|
162 |
+
}
|
163 |
+
|
164 |
+
$background_color = '';
|
165 |
+
$enable_multi_color = '';
|
166 |
+
$background_color_2 = '';
|
167 |
+
$background_image = '';
|
168 |
+
$tooltip_image = '';
|
169 |
+
$tooltip_image_size = '';
|
170 |
+
$image_id = '';
|
171 |
+
|
172 |
+
$product_id = $product->get_id();
|
173 |
+
$product_meta = (array) get_post_meta( $product_id, '_swatchly_product_meta', true );
|
174 |
+
$taxonomy = $args['attribute'];
|
175 |
+
$variation_attributes = $product->get_variation_attributes();
|
176 |
+
|
177 |
+
$meta_data = get_post_meta($product_id, '_swatchly_product_meta', true);
|
178 |
+
$swatch_type = Helper::get_swatch_type( $taxonomy, $product_id );
|
179 |
+
$taxonomy_exists = taxonomy_exists( $taxonomy );
|
180 |
+
$tooltip = Helper::get_option('tooltip', '', 'pl');
|
181 |
+
$show_swatch_image_in_tooltip = Helper::get_option('show_swatch_image_in_tooltip', '', 'pl');
|
182 |
+
$shape_style = Helper::get_option('shape_style', '', 'pl');
|
183 |
+
$enable_shape_inset = Helper::get_option('enable_shape_inset', '', 'pl');
|
184 |
+
$disabled_attribute_type = Helper::get_option('disabled_attribute_type', '', 'pl');
|
185 |
+
$auto_convert_dropdowns_to_label = Helper::get_option('auto_convert_dropdowns_to_label', '', 'pl');
|
186 |
+
$auto_convert_dropdowns_to_image = Helper::get_option('auto_convert_dropdowns_to_image', '', 'pl');
|
187 |
+
$auto_convert_dropdowns_to_image_condition = Helper::get_option('auto_convert_dropdowns_to_image_condition', '', 'pl');
|
188 |
+
|
189 |
+
if(is_product()){
|
190 |
+
$tooltip = Helper::get_option('tooltip', '', 'sp');
|
191 |
+
$show_swatch_image_in_tooltip = Helper::get_option('show_swatch_image_in_tooltip', '', 'sp');
|
192 |
+
$shape_style = Helper::get_option('shape_style', '', 'sp');
|
193 |
+
$enable_shape_inset = Helper::get_option('enable_shape_inset', '', 'sp');
|
194 |
+
$disabled_attribute_type = Helper::get_option('disabled_attribute_type', '', 'sp');
|
195 |
+
$auto_convert_dropdowns_to_label = Helper::get_option('auto_convert_dropdowns_to_label', '', 'sp');
|
196 |
+
$auto_convert_dropdowns_to_image = Helper::get_option('auto_convert_dropdowns_to_image', '', 'sp');
|
197 |
+
$auto_convert_dropdowns_to_image_condition = Helper::get_option('auto_convert_dropdowns_to_image_condition', '', 'sp');
|
198 |
+
}
|
199 |
+
|
200 |
+
// Override product level meta
|
201 |
+
$auto_convert_dropdowns_to_label = isset($product_meta['auto_convert_dropdowns_to_label']) && $product_meta['auto_convert_dropdowns_to_label'] ? $product_meta['auto_convert_dropdowns_to_label'] : $auto_convert_dropdowns_to_label;
|
202 |
+
|
203 |
+
// dropdown to image
|
204 |
+
$auto_convert_dropdowns_to_image_p_meta = isset($product_meta['auto_convert_dropdowns_to_image']) && $product_meta['auto_convert_dropdowns_to_image'] ? $product_meta['auto_convert_dropdowns_to_image'] : '';
|
205 |
+
$auto_convert_dropdowns_to_image = $auto_convert_dropdowns_to_image_p_meta ? $auto_convert_dropdowns_to_image_p_meta : $auto_convert_dropdowns_to_image;
|
206 |
+
|
207 |
+
// dropdown to image based on
|
208 |
+
$auto_convert_dropdowns_to_image_condition_p_meta = isset($product_meta['auto_convert_dropdowns_to_image_condition']) && $product_meta['auto_convert_dropdowns_to_image_condition'] ? $product_meta['auto_convert_dropdowns_to_image_condition'] : '';
|
209 |
+
$auto_convert_dropdowns_to_image_condition = ( $auto_convert_dropdowns_to_image_p_meta && $auto_convert_dropdowns_to_image_condition_p_meta) ? $auto_convert_dropdowns_to_image_condition_p_meta : $auto_convert_dropdowns_to_image_condition;
|
210 |
+
|
211 |
+
|
212 |
+
// Override Product attribute taxonomy level
|
213 |
+
$shape_style = Helper::get_product_meta($product_id, $taxonomy, 'shape_style', $shape_style);
|
214 |
+
$enable_shape_inset = Helper::get_product_meta($product_id, $taxonomy, 'enable_shape_inset', $enable_shape_inset);
|
215 |
+
|
216 |
+
if($enable_shape_inset == 'disable' || !$enable_shape_inset){
|
217 |
+
$inset_class = '';
|
218 |
+
} elseif($enable_shape_inset){
|
219 |
+
$inset_class = 'swatchly-inset';
|
220 |
+
}
|
221 |
+
|
222 |
+
$disabled_attribute_type_class = str_replace( '_', '-', $disabled_attribute_type );
|
223 |
+
|
224 |
+
// Disable ajax add to cart when catalog mode is enabled
|
225 |
+
$enable_catalog_mode = Helper::get_option('pl_enable_catalog_mode');
|
226 |
+
if( $enable_catalog_mode ){
|
227 |
+
$enable_ajax_add_to_cart = false;
|
228 |
+
} else {
|
229 |
+
$enable_ajax_add_to_cart = Helper::get_option('pl_enable_ajax_add_to_cart');
|
230 |
+
}
|
231 |
+
|
232 |
+
// Check if we've found any swatch type from attribute meta / product meta
|
233 |
+
$found_swatch_type = in_array( $swatch_type, array( 'label', 'color', 'image') );
|
234 |
+
|
235 |
+
// Decide & get which attribute key should be used for auto convert image type swatch (pro)
|
236 |
+
$auto_convert_image_arr = array();
|
237 |
+
if( $auto_convert_dropdowns_to_image ){
|
238 |
+
|
239 |
+
if($auto_convert_dropdowns_to_image_condition){
|
240 |
+
$count_attrs = array();
|
241 |
+
|
242 |
+
foreach($variation_attributes as $key => $variation_attribute){
|
243 |
+
$count_attrs[$key] = count($variation_attribute);
|
244 |
+
}
|
245 |
+
|
246 |
+
if($auto_convert_dropdowns_to_image_condition == 'minimum'){
|
247 |
+
|
248 |
+
$selected_attribute_key_for_auto_convert_to_image = array_search( min($count_attrs), $count_attrs );
|
249 |
+
|
250 |
+
} elseif($auto_convert_dropdowns_to_image_condition == 'maximum'){
|
251 |
+
|
252 |
+
$selected_attribute_key_for_auto_convert_to_image = array_search( max($count_attrs), $count_attrs );
|
253 |
+
|
254 |
+
} else {
|
255 |
+
|
256 |
+
$selected_attribute_key_for_auto_convert_to_image = array_key_first( $variation_attributes );
|
257 |
+
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
// If the current dropdown match with the targeted attribute
|
262 |
+
// Change the swatch type to "image"
|
263 |
+
// Collect the variation images from the all attribtues
|
264 |
+
// If an attribute does not have any image from the variation row into admin panel
|
265 |
+
// Then the loop will be continued untill an image found for the attribute
|
266 |
+
$allow_using_auto_image_for_empty_image_swatch = apply_filters('swatchly_allow_using_auto_image_for_empty_image_swatch', !$found_swatch_type );
|
267 |
+
if( $allow_using_auto_image_for_empty_image_swatch && ($args['attribute'] == $selected_attribute_key_for_auto_convert_to_image) ){
|
268 |
+
|
269 |
+
foreach( $variation_attributes[$selected_attribute_key_for_auto_convert_to_image] as $index => $value ){
|
270 |
+
foreach ( $product->get_available_variations() as $key => $variation ) {
|
271 |
+
$varation_image_id = $variation['image_id'];
|
272 |
+
|
273 |
+
if( in_array($value, $variation['attributes']) && $varation_image_id ){
|
274 |
+
$auto_convert_image_arr[$value] = $varation_image_id;
|
275 |
+
|
276 |
+
if( $variation['image_id'] ){
|
277 |
+
break;
|
278 |
+
}
|
279 |
+
}
|
280 |
+
|
281 |
+
}
|
282 |
+
}
|
283 |
+
}
|
284 |
+
}
|
285 |
+
|
286 |
+
// Decide which swatch type should be assigned for this attribute
|
287 |
+
if( !$found_swatch_type && $auto_convert_dropdowns_to_label && !$auto_convert_dropdowns_to_image ){
|
288 |
+
// var_dump(1);
|
289 |
+
$swatch_type = 'label';
|
290 |
+
|
291 |
+
} elseif( !$found_swatch_type && !$auto_convert_dropdowns_to_label && $auto_convert_dropdowns_to_image ){
|
292 |
+
// var_dump(2);
|
293 |
+
if( $args['attribute'] == $selected_attribute_key_for_auto_convert_to_image ){
|
294 |
+
$swatch_type = 'image';
|
295 |
+
} else {
|
296 |
+
return $old_html;
|
297 |
+
}
|
298 |
+
|
299 |
+
} elseif( !$found_swatch_type && $auto_convert_dropdowns_to_label && $auto_convert_dropdowns_to_image ){
|
300 |
+
// var_dump(3);
|
301 |
+
$swatch_type = $found_swatch_type ? $swatch_type : 'label';
|
302 |
+
if( $args['attribute'] == $selected_attribute_key_for_auto_convert_to_image ){
|
303 |
+
$swatch_type = 'image';
|
304 |
+
}
|
305 |
+
|
306 |
+
} elseif( !is_product() && !$found_swatch_type && ($enable_ajax_add_to_cart || $enable_catalog_mode) ){
|
307 |
+
// var_dump(4);
|
308 |
+
$swatch_type = 'label';
|
309 |
+
|
310 |
+
} elseif( !$found_swatch_type ){
|
311 |
+
// var_dump(5);
|
312 |
+
return $old_html;
|
313 |
+
|
314 |
+
}
|
315 |
+
|
316 |
+
// Featured Attribute class (pro)
|
317 |
+
$featured_class = '';
|
318 |
+
$enable_featured_attribute = Helper::get_option('enable_featured_attribute');
|
319 |
+
if( $enable_featured_attribute ){
|
320 |
+
$featured_attribute = Helper::get_option('featured_attribute_global');
|
321 |
+
$featured_attribute = $featured_attribute ? 'pa_'. $featured_attribute : Helper::get_option('featured_attribute_custom');
|
322 |
+
|
323 |
+
if( ($taxonomy_exists && $featured_attribute == $taxonomy) || $featured_attribute == $taxonomy){
|
324 |
+
$featured_class = 'swatchly-featured';
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
// Add class to hide/exclude specific variation row
|
329 |
+
$hide_this_variation_row_class = '';
|
330 |
+
$hide_this_variation_row = apply_filters( 'swatchly_exclude_variation', false, $args );
|
331 |
+
if( $hide_this_variation_row ){
|
332 |
+
$hide_this_variation_row_class = 'swatchly-hide-this-variation-row';
|
333 |
+
}
|
334 |
+
|
335 |
+
$selected = $args['selected'];
|
336 |
+
$current_term = get_term_by( 'slug', $selected, $taxonomy );
|
337 |
+
$current_term_label = $current_term ? $current_term->name : $selected;
|
338 |
+
|
339 |
+
$html = "<div class='swatchly_default_select $hide_this_variation_row_class'>";
|
340 |
+
$html .= $old_html;
|
341 |
+
$html .= '</div>';
|
342 |
+
|
343 |
+
if( $hide_this_variation_row_class ){
|
344 |
+
// return the default select, since this variation is hidden by css
|
345 |
+
// don't load the further custom swatch markup, which is not needed anymore for this variation row
|
346 |
+
return $html;
|
347 |
+
}
|
348 |
+
|
349 |
+
$attr_class = "class='swatchly-type-wrap swatchly-shape-type-$shape_style swatchly-type-$swatch_type $inset_class swatchly-$disabled_attribute_type_class $featured_class $hide_this_variation_row_class'";
|
350 |
+
$attr_default_attr_value = "data-default_attr_value='$current_term_label'";
|
351 |
+
$html .= "<div $attr_class $attr_default_attr_value>";
|
352 |
+
|
353 |
+
if ( taxonomy_exists( $taxonomy ) ) {
|
354 |
+
$attribute_terms = array();
|
355 |
+
$terms_with_order_support = wc_get_product_terms(
|
356 |
+
$product->get_id(),
|
357 |
+
$taxonomy,
|
358 |
+
array(
|
359 |
+
'fields' => 'all',
|
360 |
+
)
|
361 |
+
);
|
362 |
+
|
363 |
+
// Collect all the term slugs, used array_map instead of array_colums beacuse of PHP 5.3 version compatibility
|
364 |
+
$attribute_terms = array_map( function( $x ) { return $x->slug; }, $terms_with_order_support );
|
365 |
+
|
366 |
+
foreach ( $attribute_terms as $index => $term_value ) {
|
367 |
+
$term = get_term_by('slug', $term_value, $taxonomy);
|
368 |
+
$image_id = ( isset($auto_convert_image_arr[$image_id]) && $auto_convert_image_arr[$image_id] ) ? $auto_convert_image_arr[$image_id] : '';
|
369 |
+
|
370 |
+
$count = $index + 1;
|
371 |
+
$tooltip_text = $term->name;
|
372 |
+
|
373 |
+
// Tooltip (Global level)
|
374 |
+
if( is_product() ) {
|
375 |
+
$tooltip = Helper::get_option('tooltip', '', 'sp');
|
376 |
+
} else {
|
377 |
+
$tooltip = Helper::get_option('tooltip', '', 'pl');
|
378 |
+
}
|
379 |
+
|
380 |
+
// Tooltip override (Term level)
|
381 |
+
$tooltip2 = get_term_meta( $term->term_id, 'swatchly_tooltip', true );
|
382 |
+
if($tooltip2 == 'disable'){
|
383 |
+
$tooltip = false;
|
384 |
+
}
|
385 |
+
|
386 |
+
$tooltip_text2 = get_term_meta( $term->term_id, 'swatchly_tooltip_text', true );
|
387 |
+
if($tooltip2 == 'text'){
|
388 |
+
$tooltip_text = $tooltip_text2;
|
389 |
+
}
|
390 |
+
|
391 |
+
$tooltip_image2 = get_term_meta( $term->term_id, 'swatchly_tooltip_image', true );
|
392 |
+
$tooltip_image_size2 = get_term_meta( $term->term_id, 'swatchly_tooltip_image_size', true );
|
393 |
+
if($tooltip2 == 'image'){
|
394 |
+
$tooltip = true;
|
395 |
+
$tooltip_image = $tooltip_image2['id'];
|
396 |
+
$tooltip_image_size = $tooltip_image_size2;
|
397 |
+
}
|
398 |
+
|
399 |
+
// Tooltip override (Product level taxonomy option)
|
400 |
+
if(isset($meta_data[$term->taxonomy]) && is_array($meta_data[$term->taxonomy])){
|
401 |
+
$p_tax_meta = $meta_data[$term->taxonomy];
|
402 |
+
$p_tax_meta_swatch_type = $p_tax_meta['swatch_type'];
|
403 |
+
|
404 |
+
if( in_array($p_tax_meta_swatch_type, array('label', 'color', 'image')) ){
|
405 |
+
$tooltip3 = $p_tax_meta['tooltip'];
|
406 |
+
|
407 |
+
if($tooltip3 == 'disable'){
|
408 |
+
$tooltip = false;
|
409 |
+
}
|
410 |
+
|
411 |
+
$tooltip_text3 = $p_tax_meta['tooltip_text'];
|
412 |
+
$tooltip_image3 = $p_tax_meta['tooltip_image'];
|
413 |
+
$tooltip_image_size3 = $p_tax_meta['tooltip_image_size'];
|
414 |
+
if($tooltip3 == 'text'){
|
415 |
+
$tooltip = true;
|
416 |
+
$tooltip_text = $tooltip_text3;
|
417 |
+
}
|
418 |
+
|
419 |
+
if($tooltip3 == 'image'){
|
420 |
+
$tooltip = true;
|
421 |
+
$tooltip_image = $tooltip_image3;
|
422 |
+
$tooltip_image_size = $tooltip_image_size3;
|
423 |
+
}
|
424 |
+
}
|
425 |
+
}
|
426 |
+
|
427 |
+
// Tooltip override (Product level term option)
|
428 |
+
if(isset($meta_data[$term->taxonomy]['terms'][$term->term_id]) && is_array($meta_data[$term->taxonomy]['terms'][$term->term_id])){
|
429 |
+
$p_tax_meta = $meta_data[$term->taxonomy];
|
430 |
+
$p_tax_meta_swatch_type = $p_tax_meta['swatch_type'];
|
431 |
+
|
432 |
+
if( in_array($p_tax_meta_swatch_type, array('label', 'color', 'image')) ){
|
433 |
+
$p_term_meta = $meta_data[$term->taxonomy]['terms'][$term->term_id];
|
434 |
+
$tooltip4 = $p_term_meta['tooltip'];
|
435 |
+
|
436 |
+
if($tooltip4 == 'disable'){
|
437 |
+
$tooltip = false;
|
438 |
+
}
|
439 |
+
|
440 |
+
$tooltip_text4 = $p_term_meta['tooltip_text'];
|
441 |
+
$tooltip_image4 = $p_term_meta['tooltip_image'];
|
442 |
+
$tooltip_image_size4 = $p_term_meta['tooltip_image_size'];
|
443 |
+
if($tooltip4 == 'text'){
|
444 |
+
$tooltip = true;
|
445 |
+
$tooltip_text = $tooltip_text4;
|
446 |
+
}
|
447 |
+
|
448 |
+
if($tooltip4 == 'image'){
|
449 |
+
$tooltip = true;
|
450 |
+
$tooltip_image = $tooltip_image4;
|
451 |
+
$tooltip_image_size = $tooltip_image_size4;
|
452 |
+
}
|
453 |
+
}
|
454 |
+
}
|
455 |
+
|
456 |
+
// Term Meta
|
457 |
+
$background_color = get_term_meta( $term->term_id, 'swatchly_color', true );
|
458 |
+
$enable_multi_color = get_term_meta( $term->term_id, 'swatchly_enable_multi_color', true );
|
459 |
+
$background_color_2 = get_term_meta( $term->term_id, 'swatchly_color_2', true );
|
460 |
+
$image_arr = get_term_meta( $term->term_id, 'swatchly_image', true );
|
461 |
+
$image_id = isset($image_arr['id']) ? $image_arr['id'] : '';
|
462 |
+
|
463 |
+
$selected_class = ($term->slug == $selected) ? 'swatchly-selected' : '';
|
464 |
+
|
465 |
+
// Product level term options Override
|
466 |
+
if(isset($meta_data[$term->taxonomy]['terms'][$term->term_id]) && is_array($meta_data[$term->taxonomy]['terms'][$term->term_id])){
|
467 |
+
$p_term_meta = $meta_data[$term->taxonomy]['terms'][$term->term_id];
|
468 |
+
|
469 |
+
if( !empty($p_term_meta['swatch_type']) && $p_term_meta['swatch_type'] == 'color'){
|
470 |
+
$swatch_type = isset($p_term_meta['swatch_type']) ? $p_term_meta['swatch_type'] : '';
|
471 |
+
$background_color = isset($p_term_meta['color']) ? $p_term_meta['color'] : '';
|
472 |
+
$enable_multi_color = isset($p_term_meta['enable_multi_color']) ? $p_term_meta['enable_multi_color']: '';
|
473 |
+
$background_color_2 = isset($p_term_meta['color_2']) ? $p_term_meta['color_2'] : '';
|
474 |
+
}
|
475 |
+
|
476 |
+
if( !empty($p_term_meta['swatch_type']) && $p_term_meta['swatch_type'] == 'image'){
|
477 |
+
$swatch_type = isset($p_term_meta['swatch_type']) ? $p_term_meta['swatch_type'] : '';
|
478 |
+
$image_id = isset($p_term_meta['image']) ? $p_term_meta['image'] : '';
|
479 |
+
}
|
480 |
+
|
481 |
+
if( !empty($p_term_meta['swatch_type']) && $p_term_meta['swatch_type'] == 'label'){
|
482 |
+
}
|
483 |
+
}
|
484 |
+
|
485 |
+
// HTML Markup
|
486 |
+
$swatch_width_height = Helper::get_option('swatch_width_height');
|
487 |
+
$tooltip_width_height = Helper::get_option('tooltip_width_height');
|
488 |
+
$swatch_width = !empty($swatch_width_height['width']) ? $swatch_width_height['width'] : '';
|
489 |
+
$tooltip_width = !empty($tooltip_width_height['width']) ? $tooltip_width_height['width'] : '';
|
490 |
+
|
491 |
+
// Images Size key
|
492 |
+
$swatch_image_key = Helper::manage_image_size($swatch_width);
|
493 |
+
$tooltip_image_key = Helper::manage_image_size($tooltip_width);
|
494 |
+
|
495 |
+
$swatch_image_size = apply_filters('swatchly_swatch_image_size', $swatch_image_key);
|
496 |
+
$tooltip_image_size = apply_filters('swatchly_tooltip_image_size', $tooltip_image_key);
|
497 |
+
$tooltip_image = wp_get_attachment_image_url( $tooltip_image, $tooltip_image_size );
|
498 |
+
$attr_class = "class='swatchly-swatch $selected_class'";
|
499 |
+
$attr_value = "data-attr_value='$term->slug'";
|
500 |
+
$attr_label = "data-attr_label='$term->name'";
|
501 |
+
$attr_tooltip_text = $tooltip && $tooltip_text ? 'data-tooltip_text="'. esc_attr($tooltip_text) .'"' : '';
|
502 |
+
$attr_tooltip_image = $tooltip && $tooltip_image ? 'data-tooltip_image="'. esc_attr($tooltip_image) .'"' : '';
|
503 |
+
|
504 |
+
if($swatch_type == 'label'){
|
505 |
+
$html .= "<div $attr_class $attr_tooltip_text $attr_tooltip_image $attr_label $attr_value>";
|
506 |
+
$html .= '<span class="swatchly-content"><span class="swatchly-text">'. esc_html($term->name) .'</span></span>';
|
507 |
+
$html .= '</div>';
|
508 |
+
|
509 |
+
}
|
510 |
+
|
511 |
+
if($swatch_type == 'color'){
|
512 |
+
$attr_inline_style = $background_color ? "style='background-color: $background_color;'" : '';
|
513 |
+
|
514 |
+
if($enable_multi_color){
|
515 |
+
$attr_inline_style = $background_color_2 ? "style='background: linear-gradient(-50deg, $background_color 50%, $background_color_2 50%);'" : '';
|
516 |
+
}
|
517 |
+
|
518 |
+
$html .= "<div $attr_class $attr_inline_style $attr_tooltip_text $attr_tooltip_image $attr_label $attr_value>";
|
519 |
+
$html .= '<span class="swatchly-content"></span>';
|
520 |
+
$html .= '</div>';
|
521 |
+
}
|
522 |
+
|
523 |
+
if($swatch_type == 'image'){
|
524 |
+
if( $auto_convert_dropdowns_to_image && !$image_id && (isset($auto_convert_image_arr[$term_value]) && $auto_convert_image_arr[$term_value]) ){
|
525 |
+
$image_id = $auto_convert_image_arr[$term_value];
|
526 |
+
}
|
527 |
+
|
528 |
+
$background_image = $image_id ? wp_get_attachment_image_url( $image_id, $swatch_image_size ) : wc_placeholder_img_src('woocommerce_gallery_thumbnail');
|
529 |
+
$attr_inline_style = $background_image ? " style='background-image: url( $background_image );'" : '';
|
530 |
+
$attr_inline_style = $background_image ? " style='background-image: url( $background_image );'" : '';
|
531 |
+
|
532 |
+
if( $show_swatch_image_in_tooltip ){
|
533 |
+
$background_image = $image_id ? wp_get_attachment_image_url( $image_id, $tooltip_image_size ) : wc_placeholder_img_src('woocommerce_gallery_thumbnail');
|
534 |
+
$attr_tooltip_image = $tooltip && $background_image ? 'data-tooltip_image="'. esc_attr($background_image) .'"' : '';
|
535 |
+
}
|
536 |
+
|
537 |
+
$html .= "<div $attr_class $attr_inline_style $attr_tooltip_text $attr_tooltip_image $attr_label $attr_value>";
|
538 |
+
$html .= '<span class="swatchly-content"></span>';
|
539 |
+
$html .= '</div>';
|
540 |
+
}
|
541 |
+
|
542 |
+
// More text/button
|
543 |
+
if( Helper::get_option('pl_enable_swatch_limit') && $count == Helper::get_option('pl_limit') && !is_product() ){
|
544 |
+
$more_swatch_count = count($variation_attributes) - $count;
|
545 |
+
if($more_swatch_count){
|
546 |
+
$html .= $this->get_more_icon_html($product, $more_swatch_count);
|
547 |
+
}
|
548 |
+
|
549 |
+
break;
|
550 |
+
}
|
551 |
+
}
|
552 |
+
} else{
|
553 |
+
$attachment_id = '';
|
554 |
+
$custom_variation = $args['options'];
|
555 |
+
|
556 |
+
foreach( $custom_variation as $index => $variation_name ){
|
557 |
+
$count = $index + 1;
|
558 |
+
$tooltip_text = $variation_name;
|
559 |
+
$image_id = ( isset($auto_convert_image_arr[$variation_name]) && $auto_convert_image_arr[$variation_name] ) ? $auto_convert_image_arr[$variation_name] : '';
|
560 |
+
|
561 |
+
// Tooltip (Global level)
|
562 |
+
if( is_product() ) {
|
563 |
+
$tooltip = Helper::get_option('tooltip', '', 'sp');
|
564 |
+
} else {
|
565 |
+
$tooltip = Helper::get_option('tooltip', '', 'pl');
|
566 |
+
}
|
567 |
+
|
568 |
+
// Tooltip override (Product level taxonomy option)
|
569 |
+
if(isset($meta_data[$taxonomy]) && is_array($meta_data[$taxonomy])){
|
570 |
+
$p_tax_meta = $meta_data[$taxonomy];
|
571 |
+
$p_tax_meta_swatch_type = $p_tax_meta['swatch_type'];
|
572 |
+
|
573 |
+
if( in_array($p_tax_meta_swatch_type, array('label', 'color', 'image')) ){
|
574 |
+
$tooltip3 = isset($p_tax_meta['tooltip']) ? $p_tax_meta['tooltip'] : '';
|
575 |
+
|
576 |
+
if($tooltip3 == 'disable'){
|
577 |
+
$tooltip = false;
|
578 |
+
}
|
579 |
+
|
580 |
+
$tooltip_text3 = isset($p_tax_meta['tooltip_text']) ? $p_tax_meta['tooltip_text'] : '';
|
581 |
+
$tooltip_image3 = isset($p_tax_meta['tooltip_image']) ? $p_tax_meta['tooltip_image'] : '';
|
582 |
+
$tooltip_image_size3 = isset($p_tax_meta['tooltip_image_size']) ? $p_tax_meta['tooltip_image_size'] : '';
|
583 |
+
if($tooltip3 == 'text'){
|
584 |
+
$tooltip = true;
|
585 |
+
$tooltip_image = '';
|
586 |
+
$tooltip_text = $tooltip_text3;
|
587 |
+
}
|
588 |
+
|
589 |
+
if($tooltip3 == 'image'){
|
590 |
+
$tooltip = true;
|
591 |
+
$tooltip_image = $tooltip_image3;
|
592 |
+
$tooltip_image_size = $tooltip_image_size3;
|
593 |
+
}
|
594 |
+
}
|
595 |
+
}
|
596 |
+
|
597 |
+
// Tooltip override (Product level term option)
|
598 |
+
if(isset($meta_data[$taxonomy]['terms'][$variation_name]) && is_array($meta_data[$taxonomy]['terms'][$variation_name])){
|
599 |
+
$p_term_meta = $meta_data[$taxonomy]['terms'][$variation_name];
|
600 |
+
|
601 |
+
if( in_array($p_tax_meta_swatch_type, array('label', 'color', 'image')) ){
|
602 |
+
$tooltip4 = $p_term_meta['tooltip'];
|
603 |
+
|
604 |
+
if($tooltip4 == 'disable'){
|
605 |
+
$tooltip = false;
|
606 |
+
}
|
607 |
+
|
608 |
+
$tooltip_text4 = isset($p_term_meta['tooltip_text']) ? $p_term_meta['tooltip_text'] : '';
|
609 |
+
$tooltip_image4 = isset($p_term_meta['tooltip_image']) ? $p_term_meta['tooltip_image'] : '';
|
610 |
+
$tooltip_image_size4 = isset($p_term_meta['tooltip_image_size']) ? $p_term_meta['tooltip_image_size'] : '';
|
611 |
+
if($tooltip4 == 'text'){
|
612 |
+
$tooltip = true;
|
613 |
+
$tooltip_image = '';
|
614 |
+
$tooltip_text = $tooltip_text4;
|
615 |
+
}
|
616 |
+
|
617 |
+
if($tooltip4 == 'image'){
|
618 |
+
$tooltip = true;
|
619 |
+
$tooltip_image = $tooltip_image4;
|
620 |
+
$tooltip_image_size = $tooltip_image_size4;
|
621 |
+
}
|
622 |
+
}
|
623 |
+
}
|
624 |
+
|
625 |
+
|
626 |
+
if(isset($meta_data[$taxonomy]['terms'][$variation_name]) && isset($meta_data[$taxonomy]['terms'][$variation_name])){
|
627 |
+
$p_term_meta = $meta_data[$taxonomy]['terms'][$variation_name];
|
628 |
+
|
629 |
+
if(isset($p_term_meta['swatch_type']) && $p_term_meta['swatch_type'] == 'color'){
|
630 |
+
$swatch_type = isset($p_term_meta['swatch_type']) ? $p_term_meta['swatch_type'] : '';
|
631 |
+
$background_color = isset($p_term_meta['color']) ? $p_term_meta['color'] : '';
|
632 |
+
$enable_multi_color = isset($p_term_meta['enable_multi_color']) ? $p_term_meta['enable_multi_color'] : '';
|
633 |
+
$background_color_2 = isset($p_term_meta['color_2']) ? $p_term_meta['color_2'] : '';
|
634 |
+
}
|
635 |
+
|
636 |
+
if(isset($p_term_meta['swatch_type']) && $p_term_meta['swatch_type'] == 'image'){
|
637 |
+
$swatch_type = isset($p_term_meta['swatch_type']) ? $p_term_meta['swatch_type'] : '';
|
638 |
+
$image_id = isset($p_term_meta['image']) ? $p_term_meta['image'] : '';
|
639 |
+
}
|
640 |
+
|
641 |
+
if(isset($p_term_meta['swatch_type']) && $p_term_meta['swatch_type'] == 'label'){
|
642 |
+
}
|
643 |
+
}
|
644 |
+
|
645 |
+
if(!in_array($swatch_type, array('label', 'color', 'image'))){
|
646 |
+
break;
|
647 |
+
}
|
648 |
+
|
649 |
+
// HTML Markup
|
650 |
+
$selected_class = ($variation_name == $selected) ? 'swatchly-selected' : '';
|
651 |
+
|
652 |
+
$swatch_width_height = Helper::get_option('swatch_width_height');
|
653 |
+
$tooltip_width_height = Helper::get_option('tooltip_width_height');
|
654 |
+
$swatch_width = !empty($swatch_width_height['width']) ? $swatch_width_height['width'] : '';
|
655 |
+
$tooltip_width = !empty($tooltip_width_height['width']) ? $tooltip_width_height['width'] : '';
|
656 |
+
|
657 |
+
// Images Size key
|
658 |
+
$swatch_image_key = Helper::manage_image_size($swatch_width);
|
659 |
+
$tooltip_image_key = Helper::manage_image_size($tooltip_width);
|
660 |
+
|
661 |
+
$swatch_image_size = apply_filters('swatchly_swatch_image_size', $swatch_image_key);
|
662 |
+
$tooltip_image_size = apply_filters('swatchly_tooltip_image_size', $tooltip_image_key);
|
663 |
+
$tooltip_image = wp_get_attachment_image_url( $tooltip_image, $tooltip_image_size );
|
664 |
+
$attr_class = "class='swatchly-swatch $selected_class'";
|
665 |
+
$attr_label = "data-attr_label='$variation_name'";
|
666 |
+
$attr_value = "data-attr_value='$variation_name'";
|
667 |
+
$attr_tooltip_text = $tooltip && $tooltip_text ? 'data-tooltip_text="'. esc_attr($tooltip_text) .'"' : '';
|
668 |
+
$attr_tooltip_image = $tooltip && $tooltip_image ? 'data-tooltip_image="'. esc_attr($tooltip_image) .'"' : '';
|
669 |
+
|
670 |
+
if($swatch_type == 'label'){
|
671 |
+
$html .= "<div $attr_class $attr_tooltip_text $attr_tooltip_image $attr_label $attr_value>";
|
672 |
+
$html .= '<span class="swatchly-content"><span class="swatchly-text">'. esc_html($variation_name) .'</span></span>';
|
673 |
+
$html .= '</div>';
|
674 |
+
|
675 |
+
}
|
676 |
+
|
677 |
+
if($swatch_type == 'color'){
|
678 |
+
$attr_inline_style = $background_color ? "style='background-color: $background_color;'" : '';
|
679 |
+
|
680 |
+
if($enable_multi_color){
|
681 |
+
$attr_inline_style = $background_color_2 ? "style='background: linear-gradient(-50deg, $background_color 50%, $background_color_2 50%);'" : '';
|
682 |
+
}
|
683 |
+
|
684 |
+
$html .= "<div $attr_class $attr_inline_style $attr_tooltip_text $attr_tooltip_image $attr_label $attr_value>";
|
685 |
+
$html .= '<span class="swatchly-content"></span>';
|
686 |
+
$html .= '</div>';
|
687 |
+
}
|
688 |
+
|
689 |
+
if($swatch_type == 'image'){
|
690 |
+
if( $auto_convert_dropdowns_to_image && !$image_id && (isset($auto_convert_image_arr[$variation_name]) && $auto_convert_image_arr[$variation_name]) ){
|
691 |
+
$image_id = $auto_convert_image_arr[$variation_name];
|
692 |
+
}
|
693 |
+
|
694 |
+
$background_image = $image_id ? wp_get_attachment_image_url( $image_id, $swatch_image_size ) : wc_placeholder_img_src('woocommerce_gallery_thumbnail');
|
695 |
+
$attr_inline_style = $background_image ? " style='background-image: url( $background_image );'" : '';
|
696 |
+
|
697 |
+
if( $show_swatch_image_in_tooltip ){
|
698 |
+
$attr_tooltip_image = $tooltip && $background_image ? 'data-tooltip_image="'. esc_attr($background_image) .'"' : '';
|
699 |
+
}
|
700 |
+
|
701 |
+
$html .= "<div $attr_class $attr_inline_style $attr_tooltip_text $attr_tooltip_image $attr_label $attr_value>";
|
702 |
+
$html .= '<span class="swatchly-content"></span>';
|
703 |
+
$html .= '</div>';
|
704 |
+
}
|
705 |
+
|
706 |
+
// More text/button
|
707 |
+
if( Helper::get_option('pl_enable_swatch_limit') && $count == Helper::get_option('pl_limit') && !is_product() ){
|
708 |
+
$more_swatch_count = count($custom_variation) - $count;
|
709 |
+
if($more_swatch_count){
|
710 |
+
$html .= $this->get_more_icon_html($product, $more_swatch_count);
|
711 |
+
}
|
712 |
+
break;
|
713 |
+
}
|
714 |
+
}
|
715 |
+
}
|
716 |
+
$html .= '</div> <!-- /.swatchly-type-wrap --> ';
|
717 |
+
|
718 |
+
return $html;
|
719 |
+
}
|
720 |
+
|
721 |
+
/**
|
722 |
+
* More icon for the shop page
|
723 |
+
*/
|
724 |
+
public function get_more_icon_html( $product, $more_swatch_count ){
|
725 |
+
$pl_more_text_link_arr = Helper::get_option('pl_more_text_link');
|
726 |
+
$pl_more_text_link_url = esc_url($pl_more_text_link_arr['url'] ? $pl_more_text_link_arr['url'] : $product->get_permalink());
|
727 |
+
$pl_more_text_link_target = esc_attr($pl_more_text_link_arr['target']);
|
728 |
+
|
729 |
+
$html = '';
|
730 |
+
if( Helper::get_option('pl_more_text_type') == 'text' ){
|
731 |
+
$more_text = Helper::get_option('pl_more_text');
|
732 |
+
$more_text = $more_text ? $more_text : esc_html__('More', 'woolentor');
|
733 |
+
|
734 |
+
|
735 |
+
$html .= '<div class="swatchly-more-button">';
|
736 |
+
$html .= "<a href='$pl_more_text_link_url' target='$pl_more_text_link_target' class='swatchly-content'><span>+</span><span>$more_swatch_count</span> <span>$more_text </span></a>";
|
737 |
+
$html .= '</div>';
|
738 |
+
|
739 |
+
} else {
|
740 |
+
|
741 |
+
$attr_data_tooltip_text = '';
|
742 |
+
if(Helper::get_option('pl_more_icon_enable_tooltip')){
|
743 |
+
$pl_more_icon_tooltip_text = Helper::get_option('pl_more_icon_tooltip_text');
|
744 |
+
$attr_data_tooltip_text = $pl_more_icon_tooltip_text ? 'data-tooltip_text="'. esc_attr($pl_more_icon_tooltip_text) .'"' : 'data-tooltip_text="'. esc_attr('More Options', 'woolentor') .'"';
|
745 |
+
}
|
746 |
+
|
747 |
+
$html .= "<a href='$pl_more_text_link_url' target='$pl_more_text_link_target' class='swatchly-swatch swatchly-more-button' $attr_data_tooltip_text>";
|
748 |
+
$html .= '<span class="swatchly-content"></span>';
|
749 |
+
$html .= '</a>';
|
750 |
+
}
|
751 |
+
|
752 |
+
return $html;
|
753 |
+
}
|
754 |
+
|
755 |
+
/**
|
756 |
+
* Filter loop add cart button to insert the variation form.
|
757 |
+
*/
|
758 |
+
public function filter_loop_add_to_cart_link( $html, $product ){
|
759 |
+
if( $this->stop_execution() ){
|
760 |
+
return;
|
761 |
+
}
|
762 |
+
|
763 |
+
$position = Helper::get_option('pl_position');
|
764 |
+
|
765 |
+
if( !in_array($position, array( 'before_cart', 'after_cart' )) ){
|
766 |
+
return $html;
|
767 |
+
}
|
768 |
+
|
769 |
+
if( $position == 'before_cart' ){
|
770 |
+
$html = $this->get_loop_variation_form_html() . $html;
|
771 |
+
} else {
|
772 |
+
$html = $html . $this->get_loop_variation_form_html();
|
773 |
+
}
|
774 |
+
|
775 |
+
return $html;
|
776 |
+
}
|
777 |
+
|
778 |
+
/**
|
779 |
+
* Loop variation form HTML
|
780 |
+
*/
|
781 |
+
public function get_loop_variation_form_html(){
|
782 |
+
if( $this->stop_execution() ){
|
783 |
+
return;
|
784 |
+
}
|
785 |
+
|
786 |
+
global $product;
|
787 |
+
if ( ! $product->is_type( 'variable' ) ) {
|
788 |
+
return;
|
789 |
+
}
|
790 |
+
|
791 |
+
// hide out of stock meesage if the product is not in stock & user opt-in to hide the message
|
792 |
+
$hide_out_of_stock_message = apply_filters('swatchly_hide_out_of_stock_message_for_loop_product', false);
|
793 |
+
if( !$product->get_available_variations() && $hide_out_of_stock_message ){
|
794 |
+
return;
|
795 |
+
}
|
796 |
+
|
797 |
+
$align = Helper::get_option('pl_align');
|
798 |
+
|
799 |
+
// Enqueue variation scripts.
|
800 |
+
wp_enqueue_script( 'swatchly-add-to-cart-variation' );
|
801 |
+
|
802 |
+
// Get Available variations?
|
803 |
+
$get_variations = count( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );
|
804 |
+
$available_variations = $get_variations ? $product->get_available_variations() : false;
|
805 |
+
$attributes = $product->get_variation_attributes();
|
806 |
+
$selected_attributes = $product->get_default_attributes();
|
807 |
+
|
808 |
+
$attribute_keys = array_keys( $attributes );
|
809 |
+
$variations_json = wp_json_encode( $available_variations );
|
810 |
+
$variations_attr = function_exists( 'wc_esc_json' ) ? wc_esc_json( $variations_json ) : _wp_specialchars( $variations_json, ENT_QUOTES, 'UTF-8', true );
|
811 |
+
|
812 |
+
$html = '';
|
813 |
+
ob_start();
|
814 |
+
?>
|
815 |
+
<form class="swatchly_loop_variation_form variations_form swatchly_align_<?php echo esc_attr($align); ?>" data-product_variations="<?php echo esc_attr( $variations_json ); ?>" data-product_id="<?php echo absint( $product->get_id() ); ?>" data-product_variations="<?php echo $variations_attr; // WPCS: XSS ok. ?>">
|
816 |
+
|
817 |
+
<?php if ( empty( $available_variations ) && false !== $available_variations ) : ?>
|
818 |
+
<p class="stock out-of-stock"><?php echo esc_html( apply_filters( 'woocommerce_out_of_stock_message', __( 'This product is currently out of stock and unavailable.', 'woolentor' ) ) ); ?></p>
|
819 |
+
<?php else : ?>
|
820 |
+
<table class="variations" cellspacing="0">
|
821 |
+
<tbody>
|
822 |
+
<?php foreach ( $attributes as $attribute_name => $options ) : ?>
|
823 |
+
<tr>
|
824 |
+
<?php if(Helper::get_option('pl_show_swatches_label')): ?>
|
825 |
+
<td class="label"><label for="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>"><?php echo wc_attribute_label( $attribute_name ); // WPCS: XSS ok. ?></label></td>
|
826 |
+
<?php endif; ?>
|
827 |
+
|
828 |
+
<td class="value">
|
829 |
+
<?php
|
830 |
+
wc_dropdown_variation_attribute_options(
|
831 |
+
array(
|
832 |
+
'options' => $options,
|
833 |
+
'attribute' => $attribute_name,
|
834 |
+
'product' => $product,
|
835 |
+
)
|
836 |
+
);
|
837 |
+
|
838 |
+
if(Helper::get_option('pl_show_clear_link')){
|
839 |
+
echo end( $attribute_keys ) === $attribute_name ? wp_kses_post( apply_filters( 'woocommerce_reset_variations_link', '<a class="reset_variations" href="#">' . esc_html__( 'Clear', 'woolentor' ) . '</a>' ) ) : '';
|
840 |
+
}
|
841 |
+
?>
|
842 |
+
</td>
|
843 |
+
</tr>
|
844 |
+
<?php endforeach; ?>
|
845 |
+
</tbody>
|
846 |
+
</table>
|
847 |
+
<?php endif; ?>
|
848 |
+
</form> <!-- .swatchly_loop_variation_form -->
|
849 |
+
<?php
|
850 |
+
|
851 |
+
$html = ob_get_clean();
|
852 |
+
return $html;
|
853 |
+
}
|
854 |
+
|
855 |
+
/**
|
856 |
+
* Loop variation form HTML
|
857 |
+
*/
|
858 |
+
public function loop_variation_form_html(){
|
859 |
+
if( $this->stop_execution() ){
|
860 |
+
return;
|
861 |
+
}
|
862 |
+
|
863 |
+
// Prevent showing variation form for gutenberg editor in the shop page
|
864 |
+
$api_url = !empty($_SERVER['REQUEST_URI']) ? strtok($_SERVER['REQUEST_URI'], '?') : '';
|
865 |
+
$pattern = "/(wp-json|woolentor)/";
|
866 |
+
$matches = preg_match_all($pattern, $api_url);
|
867 |
+
if( $matches == 2 ){
|
868 |
+
return;
|
869 |
+
}
|
870 |
+
|
871 |
+
global $product;
|
872 |
+
if ( ! $product->is_type( 'variable' ) ) {
|
873 |
+
return;
|
874 |
+
}
|
875 |
+
|
876 |
+
// hide out of stock meesage if the product is not in stock & user opt-in to hide the message
|
877 |
+
$hide_out_of_stock_message = apply_filters('swatchly_hide_out_of_stock_message_for_loop_product', false);
|
878 |
+
if( !$product->get_available_variations() && $hide_out_of_stock_message ){
|
879 |
+
return;
|
880 |
+
}
|
881 |
+
|
882 |
+
$align = Helper::get_option('pl_align');
|
883 |
+
|
884 |
+
// Enqueue variation scripts.
|
885 |
+
wp_enqueue_script( 'swatchly-add-to-cart-variation' );
|
886 |
+
|
887 |
+
// Get Available variations?
|
888 |
+
$get_variations = count( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );
|
889 |
+
$available_variations = $get_variations ? $product->get_available_variations() : false;
|
890 |
+
$attributes = $product->get_variation_attributes();
|
891 |
+
$selected_attributes = $product->get_default_attributes();
|
892 |
+
|
893 |
+
$attribute_keys = array_keys( $attributes );
|
894 |
+
$variations_json = wp_json_encode( $available_variations );
|
895 |
+
$variations_attr = function_exists( 'wc_esc_json' ) ? wc_esc_json( $variations_json ) : _wp_specialchars( $variations_json, ENT_QUOTES, 'UTF-8', true );
|
896 |
+
?>
|
897 |
+
<div class="swatchly_loop_variation_form variations_form swatchly_align_<?php echo esc_attr($align); ?>" data-product_variations="<?php echo esc_attr( $variations_json ); ?>" data-product_id="<?php echo absint( $product->get_id() ); ?>" data-product_variations="<?php echo $variations_attr; // WPCS: XSS ok. ?>">
|
898 |
+
|
899 |
+
<?php if ( empty( $available_variations ) && false !== $available_variations ) : ?>
|
900 |
+
<p class="stock out-of-stock"><?php echo esc_html( apply_filters( 'woocommerce_out_of_stock_message', __( 'This product is currently out of stock and unavailable.', 'woolentor' ) ) ); ?></p>
|
901 |
+
<?php else : ?>
|
902 |
+
<table class="variations" cellspacing="0">
|
903 |
+
<tbody>
|
904 |
+
<?php
|
905 |
+
// Catalog mode support for shop page
|
906 |
+
$enable_catalog_mode = Helper::get_option('pl_enable_catalog_mode');
|
907 |
+
$global_catalog_attributes = (array) Helper::get_option('pl_catalog_global_attributes');
|
908 |
+
foreach($global_catalog_attributes as $key => $value){
|
909 |
+
if(is_array($value)){
|
910 |
+
$global_catalog_attributes[$key] = 'pa_'. $value[0];
|
911 |
+
}
|
912 |
+
}
|
913 |
+
$custom_catalog_attributes = Helper::get_option('pl_catalog_custom_attributes');
|
914 |
+
$custom_catalog_attributes = explode(PHP_EOL, $custom_catalog_attributes);
|
915 |
+
$custom_catalog_attributes = array_map('trim', $custom_catalog_attributes); // remove white space from end of elements
|
916 |
+
|
917 |
+
$catalog_attrs = array_values(array_merge($global_catalog_attributes, $custom_catalog_attributes));
|
918 |
+
$double_matched = false;
|
919 |
+
$attribute_to_match = '';
|
920 |
+
|
921 |
+
// filter & get product attributes which only match with the catalog attributes
|
922 |
+
$filtered_attributes = array_intersect_key($attributes, array_flip($catalog_attrs));
|
923 |
+
|
924 |
+
if( count($filtered_attributes) == 1 ){
|
925 |
+
$attribute_to_match = array_keys($filtered_attributes);
|
926 |
+
$attribute_to_match = $attribute_to_match[0];
|
927 |
+
} else {
|
928 |
+
$double_matched = true;
|
929 |
+
}
|
930 |
+
|
931 |
+
foreach ( $attributes as $attribute_name => $options ) :
|
932 |
+
// if only one catalog attribute match with this product
|
933 |
+
// then continue till matched the attribute
|
934 |
+
if( $enable_catalog_mode && $attribute_to_match && $attribute_to_match != $attribute_name ){
|
935 |
+
continue;
|
936 |
+
}
|
937 |
+
?>
|
938 |
+
<tr>
|
939 |
+
<?php if(Helper::get_option('pl_show_swatches_label')): ?>
|
940 |
+
<td class="label"><label for="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>"><?php echo wc_attribute_label( $attribute_name ); // WPCS: XSS ok. ?></label></td>
|
941 |
+
<?php endif; ?>
|
942 |
+
|
943 |
+
<td class="value">
|
944 |
+
<?php
|
945 |
+
wc_dropdown_variation_attribute_options(
|
946 |
+
array(
|
947 |
+
'options' => $options,
|
948 |
+
'attribute' => $attribute_name,
|
949 |
+
'product' => $product,
|
950 |
+
)
|
951 |
+
);
|
952 |
+
|
953 |
+
if(Helper::get_option('pl_show_clear_link')){
|
954 |
+
echo end( $attribute_keys ) === $attribute_name ? wp_kses_post( apply_filters( 'woocommerce_reset_variations_link', '<a class="reset_variations" href="#">' . esc_html__( 'Clear', 'woolentor' ) . '</a>' ) ) : '';
|
955 |
+
}
|
956 |
+
?>
|
957 |
+
</td>
|
958 |
+
</tr>
|
959 |
+
<?php
|
960 |
+
// stop the loop
|
961 |
+
// when catalog mode is enabled & more that one catalog attributes matched with this product. So only the first attribute will show for shop.
|
962 |
+
// When current attribute is matched with the catalog attribute
|
963 |
+
if( $enable_catalog_mode && ( $double_matched || $attribute_to_match == $attribute_name) ){
|
964 |
+
break;
|
965 |
+
}
|
966 |
+
endforeach; ?>
|
967 |
+
</tbody>
|
968 |
+
</table>
|
969 |
+
<?php endif; ?>
|
970 |
+
</div>
|
971 |
+
<?php
|
972 |
+
}
|
973 |
+
|
974 |
+
/**
|
975 |
+
* Filter loop add to cart button HTML attributes
|
976 |
+
*/
|
977 |
+
public function filter_loop_add_to_cart_args( $wp_parse_args, $product ){
|
978 |
+
$enable_catalog_mode = Helper::get_option('pl_enable_catalog_mode');
|
979 |
+
if( $enable_catalog_mode ){
|
980 |
+
$enable_ajax_add_to_cart = false;
|
981 |
+
} else {
|
982 |
+
$enable_ajax_add_to_cart = Helper::get_option('pl_enable_ajax_add_to_cart');
|
983 |
+
}
|
984 |
+
|
985 |
+
if($enable_ajax_add_to_cart){
|
986 |
+
if( $product->is_type( 'variable' ) ){
|
987 |
+
$add_to_cart_text = Helper::get_option('pl_add_to_cart_text');
|
988 |
+
|
989 |
+
$wp_parse_args['class'] .= ' swatchly_ajax_add_to_cart';
|
990 |
+
$wp_parse_args['attributes']['data-add_to_cart_text'] = $add_to_cart_text ? $add_to_cart_text : esc_html__('Add to Cart', 'woolentor');
|
991 |
+
$wp_parse_args['attributes']['data-select_options_text'] = apply_filters( 'woocommerce_product_add_to_cart_text', $product->add_to_cart_text(), $product );
|
992 |
+
}
|
993 |
+
}
|
994 |
+
|
995 |
+
return $wp_parse_args;
|
996 |
+
}
|
997 |
+
|
998 |
+
/**
|
999 |
+
* Ajax variation threshold
|
1000 |
+
*/
|
1001 |
+
public function ajax_variation_threshold( $qty, $product ){
|
1002 |
+
if(Helper::get_option('ajax_variation_threshold')){
|
1003 |
+
$qty = absint(Helper::get_option('ajax_variation_threshold'));
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
return $qty;
|
1007 |
+
}
|
1008 |
+
}
|
includes/modules/variation-swatch/includes/Helper.php
ADDED
@@ -0,0 +1,217 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly;
|
3 |
+
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
5 |
+
|
6 |
+
class Helper{
|
7 |
+
|
8 |
+
private static $_instance = null;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Instance
|
12 |
+
*/
|
13 |
+
public static function instance(){
|
14 |
+
if( is_null( self::$_instance ) ){
|
15 |
+
self::$_instance = new self();
|
16 |
+
}
|
17 |
+
return self::$_instance;
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Constructor
|
22 |
+
*/
|
23 |
+
public function __construct(){
|
24 |
+
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Get global options value.
|
29 |
+
*
|
30 |
+
* @since 1.0.0
|
31 |
+
*
|
32 |
+
* @param string $option_name Option name.
|
33 |
+
* @param null $default Default value.
|
34 |
+
* @param null $override_for Override global options for product list/product details page. Accepted values are: pl, sp
|
35 |
+
*
|
36 |
+
* @return string|null
|
37 |
+
*/
|
38 |
+
public static function get_option( $option_name = '', $default = null, $override_for = null ) {
|
39 |
+
$options = get_option( 'woolentor_swatch_settings' );
|
40 |
+
|
41 |
+
$global_general_setting_fields = array(
|
42 |
+
'enable_swatches',
|
43 |
+
'auto_convert_dropdowns_to_label',
|
44 |
+
'auto_convert_dropdowns_to_image',
|
45 |
+
'auto_convert_dropdowns_to_image_condition',
|
46 |
+
'swatch_width',
|
47 |
+
'swatch_height',
|
48 |
+
'tooltip',
|
49 |
+
'show_swatch_image_in_tooltip',
|
50 |
+
'shape_style',
|
51 |
+
'enable_shape_inset',
|
52 |
+
'shape_inset_size',
|
53 |
+
'deselect_on_click',
|
54 |
+
'show_selected_attribute_name',
|
55 |
+
'disabled_attribute_type',
|
56 |
+
'disable_out_of_stock',
|
57 |
+
);
|
58 |
+
|
59 |
+
if($override_for == 'sp' && isset($options['sp_override_global']) && $options['sp_override_global']){
|
60 |
+
$opt_name = 'sp_'. $option_name;
|
61 |
+
|
62 |
+
if(in_array($option_name, $global_general_setting_fields)){
|
63 |
+
$option_name = $opt_name;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
if($override_for == 'pl' && isset($options['pl_override_global']) && $options['pl_override_global']){
|
68 |
+
$opt_name = 'pl_'. $option_name;
|
69 |
+
|
70 |
+
if(in_array($option_name, $global_general_setting_fields)){
|
71 |
+
$option_name = $opt_name;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
+
$option_value = isset( $options[$option_name] ) ? $options[$option_name] : $default;
|
76 |
+
|
77 |
+
// CS was saved checkbox value as 1 but WL uses on.
|
78 |
+
// So convert it to 1
|
79 |
+
if( $option_value === 'on' ){
|
80 |
+
$option_value = 1;
|
81 |
+
}
|
82 |
+
|
83 |
+
return $option_value;
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Get product meta options value.
|
88 |
+
*
|
89 |
+
* @since 1.0.0
|
90 |
+
*
|
91 |
+
* @param int $product_id Product ID.
|
92 |
+
* @param string $option_name Option name.
|
93 |
+
* @param null $default Default value.
|
94 |
+
*
|
95 |
+
* @return string|null
|
96 |
+
*/
|
97 |
+
public static function get_product_meta( $product_id, $taxonomy, $option_name = '', $default = '') {
|
98 |
+
// product override
|
99 |
+
$product_meta = get_post_meta( $product_id, '_swatchly_product_meta', true );
|
100 |
+
|
101 |
+
$meta_value = isset( $product_meta[$taxonomy][$option_name] ) && $product_meta[$taxonomy][$option_name] ? $product_meta[$taxonomy][$option_name] : $default;
|
102 |
+
|
103 |
+
return $meta_value;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Get image sizes.
|
108 |
+
*
|
109 |
+
* @since 1.0.0
|
110 |
+
*
|
111 |
+
* @return array
|
112 |
+
*/
|
113 |
+
public static function get_image_sizes() {
|
114 |
+
global $_wp_additional_image_sizes;
|
115 |
+
|
116 |
+
$image_sizes = array();
|
117 |
+
$default_image_sizes = array( 'thumbnail', 'medium', 'medium_large', 'large' );
|
118 |
+
foreach ( $default_image_sizes as $size ) {
|
119 |
+
$image_sizes[$size]['width'] = intval( get_option( "{$size}_size_w") );
|
120 |
+
$image_sizes[$size]['height'] = intval( get_option( "{$size}_size_h") );
|
121 |
+
$image_sizes[$size]['crop'] = get_option( "{$size}_crop" ) ? get_option( "{$size}_crop" ) : false;
|
122 |
+
}
|
123 |
+
|
124 |
+
if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) ){
|
125 |
+
$image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );
|
126 |
+
}
|
127 |
+
|
128 |
+
return array_keys($image_sizes);
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Get swatch type by taxonomy name
|
133 |
+
*
|
134 |
+
* @since 1.0.0
|
135 |
+
*
|
136 |
+
* @param string $taxonomy Taxonomy name.
|
137 |
+
* @param null $product_id Product id.
|
138 |
+
*
|
139 |
+
* @return string
|
140 |
+
*/
|
141 |
+
public static function get_swatch_type( $taxonomy, $product_id = null ) {
|
142 |
+
$swatch_type = 'select';
|
143 |
+
|
144 |
+
// txonomy override
|
145 |
+
if( taxonomy_exists( $taxonomy ) ){
|
146 |
+
global $wpdb;
|
147 |
+
|
148 |
+
$attr = substr( $taxonomy, 3 );
|
149 |
+
$attr = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->prefix . "woocommerce_attribute_taxonomies WHERE attribute_name = %s", $attr ) );
|
150 |
+
$swatch_type = isset($attr->attribute_type) ? $attr->attribute_type : '';
|
151 |
+
|
152 |
+
if( is_admin() ){
|
153 |
+
return $swatch_type;
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
// product override
|
158 |
+
if( $product_id ){
|
159 |
+
$product_meta = get_post_meta( $product_id, '_swatchly_product_meta', true );
|
160 |
+
$auto_convert_dropdowns_to_label = isset($product_meta['auto_convert_dropdowns_to_label']) ? $product_meta['auto_convert_dropdowns_to_label'] : '';
|
161 |
+
$swatch_type = isset( $product_meta[$taxonomy]['swatch_type'] ) && $product_meta[$taxonomy]['swatch_type'] ? $product_meta[$taxonomy]['swatch_type'] : $swatch_type;
|
162 |
+
}
|
163 |
+
|
164 |
+
return $swatch_type;
|
165 |
+
}
|
166 |
+
|
167 |
+
/**
|
168 |
+
* It takes an option name, and returns a CSS string if the option is set
|
169 |
+
*
|
170 |
+
* @param opt_name The name of the option you want to retrieve.
|
171 |
+
* @param args
|
172 |
+
*/
|
173 |
+
public static function add_inline_css( $args ){
|
174 |
+
/* Checking if the value is empty, if it is empty it will get the value from the get_option
|
175 |
+
function. */
|
176 |
+
$opt_name = !empty($args['opt_name']) ? $args['opt_name'] : '';
|
177 |
+
$value = !empty($args['value']) ? $args['value'] : SELF::get_option($opt_name);
|
178 |
+
|
179 |
+
$selectors = !empty($args['selectors']) && is_array($args['selectors']) ? $args['selectors'] : array();
|
180 |
+
$properties = !empty($args['properties']) ? explode(',', $args['properties']) : array();
|
181 |
+
$unit = !empty($args['unit']) ? $args['unit'] : '';
|
182 |
+
|
183 |
+
if( $value ){
|
184 |
+
if( is_array($selectors) ){
|
185 |
+
$selectors = implode(',', $selectors);
|
186 |
+
}
|
187 |
+
|
188 |
+
$properties_css = '';
|
189 |
+
foreach($properties as $property){
|
190 |
+
$properties_css .= "$property: {$value}{$unit};";
|
191 |
+
}
|
192 |
+
|
193 |
+
return "$selectors{
|
194 |
+
$properties_css
|
195 |
+
}";
|
196 |
+
}
|
197 |
+
|
198 |
+
return null;
|
199 |
+
}
|
200 |
+
|
201 |
+
// Manage Image size key
|
202 |
+
public static function manage_image_size( $width ){
|
203 |
+
if( $width > 150 ){
|
204 |
+
$image_size_key = 'medium';
|
205 |
+
}else if( $width > 300 ){
|
206 |
+
$image_size_key = 'large';
|
207 |
+
}else if( $width > 1024 ){
|
208 |
+
$image_size_key = 'full';
|
209 |
+
}else{
|
210 |
+
$image_size_key = 'thumbnail';
|
211 |
+
}
|
212 |
+
return $image_size_key;
|
213 |
+
}
|
214 |
+
|
215 |
+
}
|
216 |
+
|
217 |
+
Helper::instance();
|
includes/modules/variation-swatch/includes/ajax-actions.php
ADDED
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules\Swatchly;
|
3 |
+
use Woolentor\Modules\Swatchly\Helper as Helper;
|
4 |
+
|
5 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
6 |
+
|
7 |
+
class Ajax_Actions{
|
8 |
+
private static $_instance = null;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Instance
|
12 |
+
*/
|
13 |
+
public static function instance(){
|
14 |
+
if( is_null( self::$_instance ) ){
|
15 |
+
self::$_instance = new self();
|
16 |
+
}
|
17 |
+
return self::$_instance;
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Constructor
|
22 |
+
*/
|
23 |
+
public function __construct(){
|
24 |
+
if( Helper::get_option('pl_enable_ajax_add_to_cart') &&
|
25 |
+
Helper::get_option('pl_enable_cart_popup_notice', '', 1)
|
26 |
+
){
|
27 |
+
// generate ajax add to cart notice
|
28 |
+
add_action( 'wp_ajax_swatchly_ajax_add_to_cart_notice', array($this, 'ajax_add_to_cart_notice') );
|
29 |
+
add_action( 'wp_ajax_nopriv_swatchly_ajax_add_to_cart_notice', array($this, 'ajax_add_to_cart_notice') );
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* AJAX add to cart.
|
34 |
+
*/
|
35 |
+
add_action( 'wp_ajax_swatchly_ajax_add_to_cart', array($this, 'ajax_add_to_cart') );
|
36 |
+
add_action( 'wp_ajax_nopriv_swatchly_ajax_add_to_cart', array($this, 'ajax_add_to_cart') );
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Reload metabox data on variation update
|
40 |
+
*/
|
41 |
+
add_action( 'wp_ajax_swatchly_ajax_reload_metabox_panel', array($this, 'ajax_reload_metabox_panel') );
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Save product metabox data (ajax)
|
45 |
+
*/
|
46 |
+
add_action( 'wp_ajax_swatchly_ajax_save_product_meta', array($this, 'ajax_save_product_meta') );
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Reset product metabox data (ajax)
|
50 |
+
*/
|
51 |
+
add_action( 'wp_ajax_swatchly_ajax_reset_product_meta', array($this, 'ajax_reset_product_meta') );
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Ajax WooCommerce notices.
|
56 |
+
*/
|
57 |
+
public function ajax_add_to_cart_notice() {
|
58 |
+
wc_print_notices();
|
59 |
+
wp_die();
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* AJAX add to cart.
|
64 |
+
*/
|
65 |
+
public function ajax_add_to_cart() {
|
66 |
+
if ( ! isset( $_POST['product_id'] ) ) {
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
$product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_POST['product_id'] ) );
|
71 |
+
$product_title = get_the_title( $product_id );
|
72 |
+
$quantity = ! empty( $_POST['quantity'] ) ? wc_stock_amount( absint( $_POST['quantity'] ) ) : 1;
|
73 |
+
$product_status = get_post_status( $product_id );
|
74 |
+
$variation_id = ! empty( $_POST['variation_id'] ) ? absint( $_POST['variation_id'] ) : 0;
|
75 |
+
$variation = ! empty( $_POST['variation'] ) ? array_map( 'sanitize_text_field', $_POST['variation'] ) : array();
|
76 |
+
$passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity, $variation_id, $variation );
|
77 |
+
$cart_page_url = wc_get_cart_url();
|
78 |
+
|
79 |
+
if ( $passed_validation && false !== WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation ) && 'publish' === $product_status ) {
|
80 |
+
|
81 |
+
do_action( 'woocommerce_ajax_added_to_cart', $product_id );
|
82 |
+
|
83 |
+
if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) {
|
84 |
+
wc_add_to_cart_message( array( $product_id => $quantity ), true );
|
85 |
+
} else {
|
86 |
+
$added_to_cart_notice = sprintf(
|
87 |
+
/* translators: %s: Product title */
|
88 |
+
esc_html__( '"%1$s" has been added to your cart. %2$s', 'woolentor' ),
|
89 |
+
esc_html( $product_title ),
|
90 |
+
'<a href="' . esc_url( $cart_page_url ) . '">' . esc_html__( 'View Cart', 'woolentor' ) . '</a>'
|
91 |
+
);
|
92 |
+
|
93 |
+
wc_add_notice( $added_to_cart_notice );
|
94 |
+
}
|
95 |
+
|
96 |
+
\WC_AJAX::get_refreshed_fragments();
|
97 |
+
|
98 |
+
} else {
|
99 |
+
|
100 |
+
// If there was an error adding to the cart, redirect to the product page to show any errors.
|
101 |
+
$data = array(
|
102 |
+
'error' => true,
|
103 |
+
'product_url' => apply_filters( 'woocommerce_cart_redirect_after_error', get_permalink( $product_id ), $product_id ),
|
104 |
+
);
|
105 |
+
|
106 |
+
wp_send_json( $data );
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Reload metabox data on variation update
|
112 |
+
*/
|
113 |
+
public function ajax_reload_metabox_panel(){
|
114 |
+
// Verify nonce
|
115 |
+
$nonce = sanitize_text_field($_REQUEST['nonce']);
|
116 |
+
if ( !wp_verify_nonce( $nonce, 'swatchly_product_metabox_save_nonce' ) ) {
|
117 |
+
wp_send_json_error(array(
|
118 |
+
'message' => esc_html__( 'No naughty business please!', 'woolentor' )
|
119 |
+
));
|
120 |
+
}
|
121 |
+
|
122 |
+
$product_id = absint($_REQUEST['product_id']);
|
123 |
+
|
124 |
+
// Panel inner HTML
|
125 |
+
ob_start();
|
126 |
+
Admin\Product_Metabox::metabox_panel_inner_html($product_id);
|
127 |
+
$html = ob_get_clean();
|
128 |
+
|
129 |
+
wp_send_json_success($html);
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Save product metabox data (ajax)
|
134 |
+
*/
|
135 |
+
public function ajax_save_product_meta(){
|
136 |
+
// verify nonce
|
137 |
+
$nonce = sanitize_text_field($_REQUEST['nonce']);
|
138 |
+
if ( !wp_verify_nonce( $nonce, 'swatchly_product_metabox_save_nonce' ) ) {
|
139 |
+
wp_send_json_error(array(
|
140 |
+
'message' => esc_html__( 'No naughty business please!', 'woolentor' )
|
141 |
+
));
|
142 |
+
}
|
143 |
+
|
144 |
+
// check current user privilege
|
145 |
+
if ( !current_user_can( 'edit_products' ) ) {
|
146 |
+
wp_die( -1 );
|
147 |
+
}
|
148 |
+
|
149 |
+
// print_r($_REQUEST);
|
150 |
+
// wp_die();
|
151 |
+
|
152 |
+
$product_id = absint($_REQUEST['product_id']);
|
153 |
+
$meta_data = map_deep( wp_unslash( $_REQUEST['input_fields']['swatchly_product_meta'] ), 'sanitize_text_field' );
|
154 |
+
$updated = update_post_meta( $product_id, '_swatchly_product_meta', $meta_data );
|
155 |
+
|
156 |
+
wp_send_json_success(array(
|
157 |
+
'message' => esc_html__('Saved!', 'woolentor')
|
158 |
+
));
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Reset product metabox data (ajax)
|
163 |
+
*/
|
164 |
+
public function ajax_reset_product_meta(){
|
165 |
+
// verify nonce
|
166 |
+
$nonce = sanitize_text_field($_REQUEST['nonce']);
|
167 |
+
if ( !wp_verify_nonce( $nonce, 'swatchly_product_metabox_save_nonce' ) ) {
|
168 |
+
wp_send_json_error(array(
|
169 |
+
'message' => esc_html__( 'No naughty business please!', 'woolentor' )
|
170 |
+
));
|
171 |
+
}
|
172 |
+
|
173 |
+
// check current user privilege
|
174 |
+
if ( !current_user_can( 'edit_products' ) ) {
|
175 |
+
wp_die( -1 );
|
176 |
+
}
|
177 |
+
|
178 |
+
$product_id = absint($_REQUEST['product_id']);
|
179 |
+
$updated = update_post_meta( $product_id, '_swatchly_product_meta', '' );
|
180 |
+
|
181 |
+
wp_send_json_success(array(
|
182 |
+
'message' => esc_html__('Reset Done!', 'woolentor')
|
183 |
+
));
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
Ajax_Actions::instance();
|
includes/modules/variation-swatch/includes/functions.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Get the first key of the given array
|
6 |
+
*
|
7 |
+
* @since 1.0.1
|
8 |
+
*
|
9 |
+
* @param arr $arr
|
10 |
+
*
|
11 |
+
* @return string|null
|
12 |
+
*/
|
13 |
+
if (!function_exists('array_key_first')) {
|
14 |
+
function array_key_first(array $arr) {
|
15 |
+
foreach($arr as $key => $unused) {
|
16 |
+
return $key;
|
17 |
+
}
|
18 |
+
return NULL;
|
19 |
+
}
|
20 |
+
}
|
includes/modules/variation-swatch/init.php
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Woolentor\Modules;
|
3 |
+
use const Woolentor\Modules\Swatchly\MODULE_PATH;
|
4 |
+
use const Woolentor\Modules\Swatchly\MODULE_FILE;
|
5 |
+
use const Woolentor\Modules\Swatchly\MODULE_URL;
|
6 |
+
|
7 |
+
|
8 |
+
// If this file is accessed directly, exit
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Main class
|
15 |
+
*
|
16 |
+
* @since 1.0.0
|
17 |
+
*/
|
18 |
+
final class Swatchly {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* The single instance of the class
|
22 |
+
*
|
23 |
+
* @since 1.0.0
|
24 |
+
*/
|
25 |
+
protected static $_instance = null;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Main Instance
|
29 |
+
*
|
30 |
+
* Ensures only one instance of this pluin is loaded
|
31 |
+
*
|
32 |
+
* @since 1.0.0
|
33 |
+
*/
|
34 |
+
public static function instance() {
|
35 |
+
if ( is_null( self::$_instance ) ) {
|
36 |
+
self::$_instance = new self();
|
37 |
+
}
|
38 |
+
return self::$_instance;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Constructor
|
43 |
+
*
|
44 |
+
* @since 1.0.0
|
45 |
+
*/
|
46 |
+
private function __construct() {
|
47 |
+
$this->define_constants();
|
48 |
+
$this->includes();
|
49 |
+
$this->run();
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Define the required constants
|
54 |
+
*
|
55 |
+
* @since 1.0.0
|
56 |
+
*/
|
57 |
+
private function define_constants() {
|
58 |
+
define( 'Woolentor\Modules\Swatchly\MODULE_FILE', __FILE__ );
|
59 |
+
define( 'Woolentor\Modules\Swatchly\MODULE_PATH', __DIR__ );
|
60 |
+
define( 'Woolentor\Modules\Swatchly\MODULE_URL', plugins_url( '', MODULE_FILE ) );
|
61 |
+
define( 'Woolentor\Modules\Swatchly\MODULE_ASSETS', MODULE_URL . '/assets' );
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Include required core files
|
66 |
+
*
|
67 |
+
* @since 1.0.0
|
68 |
+
*/
|
69 |
+
public function includes() {
|
70 |
+
if ( !function_exists( 'get_current_screen' ) ){
|
71 |
+
require_once ABSPATH . '/wp-admin/includes/screen.php';
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Load files.
|
76 |
+
*/
|
77 |
+
require_once MODULE_PATH .'/includes/functions.php';
|
78 |
+
require_once MODULE_PATH .'/includes/Helper.php';
|
79 |
+
require_once MODULE_PATH .'/includes/ajax-actions.php';
|
80 |
+
|
81 |
+
require_once MODULE_PATH .'/includes/Admin/Woo_Config.php';
|
82 |
+
require_once MODULE_PATH .'/includes/Admin/Attribute_Taxonomy_Metabox.php';
|
83 |
+
require_once MODULE_PATH .'/includes/Admin/Product_Metabox.php';
|
84 |
+
require_once MODULE_PATH .'/includes/Admin.php';
|
85 |
+
|
86 |
+
require_once MODULE_PATH .'/includes/Frontend/Woo_Config.php';
|
87 |
+
require_once MODULE_PATH .'/includes/Frontend.php';
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* First initialization of the module
|
92 |
+
*
|
93 |
+
* @since 1.0.0
|
94 |
+
*/
|
95 |
+
private function run() {
|
96 |
+
|
97 |
+
if ( !is_admin() || wp_doing_ajax() ) {
|
98 |
+
new Swatchly\Frontend();
|
99 |
+
new Swatchly\Frontend\Woo_Config();
|
100 |
+
} else {
|
101 |
+
new Swatchly\Admin();
|
102 |
+
}
|
103 |
+
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Returns the main instance of Swatchly Module
|
109 |
+
*
|
110 |
+
* @since 1.0.0
|
111 |
+
*/
|
112 |
+
|
113 |
+
function swatchly_module() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
|
114 |
+
return Swatchly::instance();
|
115 |
+
}
|
116 |
+
|
117 |
+
// Kick-off the module
|
118 |
+
swatchly_module();
|
includes/modules/wishlist/includes/classes/Admin/Settings_Api.php
DELETED
@@ -1,792 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WishSuite\Admin;
|
3 |
-
/**
|
4 |
-
* Settings Api class
|
5 |
-
*/
|
6 |
-
class Settings_Api {
|
7 |
-
|
8 |
-
/**
|
9 |
-
* settings sections array
|
10 |
-
*
|
11 |
-
* @var array
|
12 |
-
*/
|
13 |
-
protected $settings_sections = array();
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Settings fields array
|
17 |
-
*
|
18 |
-
* @var array
|
19 |
-
*/
|
20 |
-
protected $settings_fields = array();
|
21 |
-
|
22 |
-
public function __construct() {
|
23 |
-
add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_scripts' ] );
|
24 |
-
}
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Enqueue scripts and styles
|
28 |
-
*/
|
29 |
-
function admin_enqueue_scripts() {
|
30 |
-
wp_enqueue_style( 'wp-color-picker' );
|
31 |
-
wp_enqueue_media();
|
32 |
-
wp_enqueue_script( 'wp-color-picker' );
|
33 |
-
wp_enqueue_script( 'jquery-ui-sortable' );
|
34 |
-
wp_enqueue_script( 'jquery' );
|
35 |
-
}
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Set settings sections
|
39 |
-
*
|
40 |
-
* @param array $sections setting sections array
|
41 |
-
*/
|
42 |
-
function set_sections( $sections ) {
|
43 |
-
$this->settings_sections = $sections;
|
44 |
-
|
45 |
-
return $this;
|
46 |
-
}
|
47 |
-
|
48 |
-
/**
|
49 |
-
* Add a single section
|
50 |
-
*
|
51 |
-
* @param array $section
|
52 |
-
*/
|
53 |
-
function add_section( $section ) {
|
54 |
-
$this->settings_sections[] = $section;
|
55 |
-
|
56 |
-
return $this;
|
57 |
-
}
|
58 |
-
|
59 |
-
/**
|
60 |
-
* Set settings fields
|
61 |
-
*
|
62 |
-
* @param array $fields settings fields array
|
63 |
-
*/
|
64 |
-
function set_fields( $fields ) {
|
65 |
-
$this->settings_fields = $fields;
|
66 |
-
|
67 |
-
return $this;
|
68 |
-
}
|
69 |
-
|
70 |
-
function add_field( $section, $field ) {
|
71 |
-
$defaults = array(
|
72 |
-
'name' => '',
|
73 |
-
'label' => '',
|
74 |
-
'desc' => '',
|
75 |
-
'type' => 'text'
|
76 |
-
);
|
77 |
-
|
78 |
-
$arg = wp_parse_args( $field, $defaults );
|
79 |
-
$this->settings_fields[$section][] = $arg;
|
80 |
-
|
81 |
-
return $this;
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* Initialize and registers the settings sections and fileds to WordPress
|
86 |
-
*
|
87 |
-
* Usually this should be called at `admin_init` hook.
|
88 |
-
*
|
89 |
-
* This function gets the initiated settings sections and fields. Then
|
90 |
-
* registers them to WordPress and ready for use.
|
91 |
-
*/
|
92 |
-
function admin_init() {
|
93 |
-
|
94 |
-
//register settings sections
|
95 |
-
foreach ( $this->settings_sections as $section ) {
|
96 |
-
if ( false == get_option( $section['id'] ) ) {
|
97 |
-
add_option( $section['id'] );
|
98 |
-
}
|
99 |
-
|
100 |
-
if ( isset($section['desc']) && !empty($section['desc']) ) {
|
101 |
-
$section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
|
102 |
-
$callback = function() use ( $section ) { echo str_replace( '"', '\"', $section['desc'] ); };
|
103 |
-
} else if ( isset( $section['callback'] ) ) {
|
104 |
-
$callback = $section['callback'];
|
105 |
-
} else {
|
106 |
-
$callback = null;
|
107 |
-
}
|
108 |
-
|
109 |
-
add_settings_section( $section['id'], $section['title'], $callback, $section['id'] );
|
110 |
-
}
|
111 |
-
|
112 |
-
//register settings fields
|
113 |
-
foreach ( $this->settings_fields as $section => $field ) {
|
114 |
-
foreach ( $field as $option ) {
|
115 |
-
|
116 |
-
$name = $option['name'];
|
117 |
-
$type = isset( $option['type'] ) ? $option['type'] : 'text';
|
118 |
-
$label = isset( $option['label'] ) ? $option['label'] : '';
|
119 |
-
$callback = isset( $option['callback'] ) ? $option['callback'] : array( $this, 'callback_' . $type );
|
120 |
-
|
121 |
-
$args = array(
|
122 |
-
'id' => $name,
|
123 |
-
'class' => isset( $option['class'] ) ? $option['class'] : $name,
|
124 |
-
'label_for' => "{$section}[{$name}]",
|
125 |
-
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
|
126 |
-
'name' => $label,
|
127 |
-
'section' => $section,
|
128 |
-
'size' => isset( $option['size'] ) ? $option['size'] : null,
|
129 |
-
'options' => isset( $option['options'] ) ? $option['options'] : '',
|
130 |
-
'std' => isset( $option['default'] ) ? $option['default'] : '',
|
131 |
-
'sanitize_callback' => isset( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : '',
|
132 |
-
'type' => $type,
|
133 |
-
'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : '',
|
134 |
-
'min' => isset( $option['min'] ) ? $option['min'] : '',
|
135 |
-
'max' => isset( $option['max'] ) ? $option['max'] : '',
|
136 |
-
'step' => isset( $option['step'] ) ? $option['step'] : '',
|
137 |
-
'headding' => isset( $option['headding'] ) ? $option['headding'] : '',
|
138 |
-
);
|
139 |
-
|
140 |
-
add_settings_field( "{$section}[{$name}]", $label, $callback, $section, $section, $args );
|
141 |
-
|
142 |
-
}
|
143 |
-
}
|
144 |
-
|
145 |
-
// creates our settings in the options table
|
146 |
-
foreach ( $this->settings_sections as $section ) {
|
147 |
-
register_setting( $section['id'], $section['id'], array( $this, 'sanitize_options' ) );
|
148 |
-
}
|
149 |
-
}
|
150 |
-
|
151 |
-
/**
|
152 |
-
* Get field description for display
|
153 |
-
*
|
154 |
-
* @param array $args settings field args
|
155 |
-
*/
|
156 |
-
public function get_field_description( $args ) {
|
157 |
-
if ( ! empty( $args['desc'] ) ) {
|
158 |
-
$desc = sprintf( '<p class="description">%s</p>', $args['desc'] );
|
159 |
-
} else {
|
160 |
-
$desc = '';
|
161 |
-
}
|
162 |
-
return $desc;
|
163 |
-
}
|
164 |
-
|
165 |
-
/**
|
166 |
-
* Get Title for display
|
167 |
-
*
|
168 |
-
* @param array $args settings field args
|
169 |
-
*/
|
170 |
-
public function callback_title( $args ) {
|
171 |
-
$headding = isset( $args['headding'] ) ? $args['headding'] : '';
|
172 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
173 |
-
$html = sprintf( '<h2 class="element_section_title %1$s-title">%2$s</h2>', $size, $headding );
|
174 |
-
echo $html;
|
175 |
-
}
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Displays a text field for a settings field
|
179 |
-
*
|
180 |
-
* @param array $args settings field args
|
181 |
-
*/
|
182 |
-
function callback_text( $args ) {
|
183 |
-
|
184 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
185 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
186 |
-
$type = isset( $args['type'] ) ? $args['type'] : 'text';
|
187 |
-
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"';
|
188 |
-
|
189 |
-
$html = sprintf( '<input type="%1$s" class="%2$s-text" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s"%6$s/>', $type, $size, $args['section'], $args['id'], $value, $placeholder );
|
190 |
-
$html .= $this->get_field_description( $args );
|
191 |
-
|
192 |
-
echo $html;
|
193 |
-
}
|
194 |
-
|
195 |
-
/**
|
196 |
-
* Displays a multitextbox for a settings field
|
197 |
-
*
|
198 |
-
* @param array $args settings field args
|
199 |
-
*/
|
200 |
-
function callback_multitext( $args ) {
|
201 |
-
|
202 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
203 |
-
$html = '<fieldset>';
|
204 |
-
foreach ( $args['options'] as $key => $label ) {
|
205 |
-
$new_value = isset( $value[$key] ) ? $value[$key] : '';
|
206 |
-
$html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
207 |
-
$html .= sprintf( '<input type="text" class="multitextbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%4$s" />', $args['section'], $args['id'], $key, $new_value );
|
208 |
-
$html .= sprintf( ' %1$s</label><br>', $label );
|
209 |
-
}
|
210 |
-
|
211 |
-
$html .= $this->get_field_description( $args );
|
212 |
-
$html .= '</fieldset>';
|
213 |
-
|
214 |
-
echo $html;
|
215 |
-
}
|
216 |
-
|
217 |
-
/**
|
218 |
-
* Displays a url field for a settings field
|
219 |
-
*
|
220 |
-
* @param array $args settings field args
|
221 |
-
*/
|
222 |
-
function callback_url( $args ) {
|
223 |
-
$this->callback_text( $args );
|
224 |
-
}
|
225 |
-
|
226 |
-
/**
|
227 |
-
* Displays a number field for a settings field
|
228 |
-
*
|
229 |
-
* @param array $args settings field args
|
230 |
-
*/
|
231 |
-
function callback_number( $args ) {
|
232 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
233 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
234 |
-
$type = isset( $args['type'] ) ? $args['type'] : 'number';
|
235 |
-
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"';
|
236 |
-
$min = ( $args['min'] == '' ) ? '' : ' min="' . $args['min'] . '"';
|
237 |
-
$max = ( $args['max'] == '' ) ? '' : ' max="' . $args['max'] . '"';
|
238 |
-
$step = ( $args['step'] == '' ) ? '' : ' step="' . $args['step'] . '"';
|
239 |
-
|
240 |
-
$html = sprintf( '<input type="%1$s" class="%2$s-number" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s"%6$s%7$s%8$s%9$s/>', $type, $size, $args['section'], $args['id'], $value, $placeholder, $min, $max, $step );
|
241 |
-
$html .= $this->get_field_description( $args );
|
242 |
-
|
243 |
-
echo $html;
|
244 |
-
}
|
245 |
-
|
246 |
-
/**
|
247 |
-
* Displays a checkbox for a settings field
|
248 |
-
*
|
249 |
-
* @param array $args settings field args
|
250 |
-
*/
|
251 |
-
function callback_checkbox( $args ) {
|
252 |
-
|
253 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
254 |
-
|
255 |
-
$html = '<fieldset class="htoptions_element_checkbox">';
|
256 |
-
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
|
257 |
-
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htoptions_sp_%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
|
258 |
-
$html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s]">%3$s</label>', $args['section'], $args['id'], $args['desc'] );
|
259 |
-
$html .= sprintf( '<div class="htoption_checkbox_desc" id="htoptions_sp_%1$s[%2$s]">%3$s</div>', $args['section'], $args['id'], $args['desc'] );
|
260 |
-
$html .= '</fieldset>';
|
261 |
-
|
262 |
-
echo $html;
|
263 |
-
}
|
264 |
-
|
265 |
-
/**
|
266 |
-
* Displays a multicheckbox for a settings field
|
267 |
-
*
|
268 |
-
* @param array $args settings field args
|
269 |
-
*/
|
270 |
-
function callback_multicheck( $args ) {
|
271 |
-
|
272 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
273 |
-
$html = '<fieldset>';
|
274 |
-
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="" />', $args['section'], $args['id'] );
|
275 |
-
foreach ( $args['options'] as $key => $label ) {
|
276 |
-
$checked = isset( $value[$key] ) ? $value[$key] : '0';
|
277 |
-
$html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
278 |
-
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
|
279 |
-
$html .= sprintf( '%1$s</label><br>', $label );
|
280 |
-
}
|
281 |
-
|
282 |
-
$html .= $this->get_field_description( $args );
|
283 |
-
$html .= '</fieldset>';
|
284 |
-
|
285 |
-
echo $html;
|
286 |
-
}
|
287 |
-
|
288 |
-
/**
|
289 |
-
* Displays a multicheckbox for a settings field
|
290 |
-
*
|
291 |
-
* @param array $args settings field args
|
292 |
-
*/
|
293 |
-
function callback_multicheckshort( $args ) {
|
294 |
-
|
295 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
296 |
-
|
297 |
-
$field_options = array_merge( $value, $args['options'] );
|
298 |
-
|
299 |
-
$html = '<fieldset><input type="checkbox" class="htoption-shortable-checkall">'.esc_html__( 'Check All', 'htoptions' ).'<ul class="htoption_shortable">';
|
300 |
-
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="" />', $args['section'], $args['id'] );
|
301 |
-
|
302 |
-
foreach ( $field_options as $key => $label ) {
|
303 |
-
$checked = array_key_exists( $key, $value ) ? $key : '0';
|
304 |
-
$html .= sprintf( '<li><label for="htoptions_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
305 |
-
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
|
306 |
-
$html .= sprintf( '%1$s</label></li>', $label );
|
307 |
-
}
|
308 |
-
|
309 |
-
$html .= '</ul>'.$this->get_field_description( $args ).'</fieldset>';
|
310 |
-
|
311 |
-
echo $html;
|
312 |
-
}
|
313 |
-
|
314 |
-
/**
|
315 |
-
* Displays a radio button for a settings field
|
316 |
-
*
|
317 |
-
* @param array $args settings field args
|
318 |
-
*/
|
319 |
-
function callback_radio( $args ) {
|
320 |
-
|
321 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
322 |
-
$html = '<fieldset>';
|
323 |
-
|
324 |
-
foreach ( $args['options'] as $key => $label ) {
|
325 |
-
$html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
326 |
-
$html .= sprintf( '<input type="radio" class="radio" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $value, $key, false ) );
|
327 |
-
$html .= sprintf( '%1$s</label><br>', $label );
|
328 |
-
}
|
329 |
-
|
330 |
-
$html .= $this->get_field_description( $args );
|
331 |
-
$html .= '</fieldset>';
|
332 |
-
|
333 |
-
echo $html;
|
334 |
-
}
|
335 |
-
|
336 |
-
/**
|
337 |
-
* Displays a selectbox for a settings field
|
338 |
-
*
|
339 |
-
* @param array $args settings field args
|
340 |
-
*/
|
341 |
-
function callback_select( $args ) {
|
342 |
-
|
343 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
344 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
345 |
-
$html = sprintf( '<select class="%1$s" name="%2$s[%3$s]" id="%2$s[%3$s]">', $size, $args['section'], $args['id'] );
|
346 |
-
|
347 |
-
foreach ( $args['options'] as $key => $label ) {
|
348 |
-
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $value, $key, false ), $label );
|
349 |
-
}
|
350 |
-
|
351 |
-
$html .= sprintf( '</select>' );
|
352 |
-
$html .= $this->get_field_description( $args );
|
353 |
-
|
354 |
-
echo $html;
|
355 |
-
}
|
356 |
-
|
357 |
-
/**
|
358 |
-
* Displays a multiselect for a settings field
|
359 |
-
*
|
360 |
-
* @param array $args settings field args
|
361 |
-
*/
|
362 |
-
function callback_multiselect( $args ) {
|
363 |
-
|
364 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
365 |
-
$html = sprintf( '<select multiple="multiple" class="%1$s" name="%1$s[%2$s][]" id="%1$s[%2$s]">', $args['section'], $args['id'] );
|
366 |
-
foreach ( $args['options'] as $key => $label ) {
|
367 |
-
$selected = '';
|
368 |
-
if( !empty( $value ) ){
|
369 |
-
$selected = in_array( $key, $value ) ? $key : '';
|
370 |
-
}
|
371 |
-
$html .= sprintf( '<option value="%1$s" %2$s>%3$s</option>', $key, selected( $selected, $key, false ), $label );
|
372 |
-
}
|
373 |
-
$html .= sprintf( '</select>' );
|
374 |
-
$html .= $this->get_field_description( $args );
|
375 |
-
|
376 |
-
echo $html;
|
377 |
-
}
|
378 |
-
|
379 |
-
/**
|
380 |
-
* Displays a textarea for a settings field
|
381 |
-
*
|
382 |
-
* @param array $args settings field args
|
383 |
-
*/
|
384 |
-
function callback_textarea( $args ) {
|
385 |
-
|
386 |
-
$value = esc_textarea( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
387 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
388 |
-
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="'.$args['placeholder'].'"';
|
389 |
-
|
390 |
-
$html = sprintf( '<textarea rows="5" cols="55" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]"%4$s>%5$s</textarea>', $size, $args['section'], $args['id'], $placeholder, $value );
|
391 |
-
$html .= $this->get_field_description( $args );
|
392 |
-
|
393 |
-
echo $html;
|
394 |
-
}
|
395 |
-
|
396 |
-
/**
|
397 |
-
* Displays the html for a settings field
|
398 |
-
*
|
399 |
-
* @param array $args settings field args
|
400 |
-
* @return string
|
401 |
-
*/
|
402 |
-
function callback_html( $args ) {
|
403 |
-
echo $this->get_field_description( $args );
|
404 |
-
}
|
405 |
-
|
406 |
-
/**
|
407 |
-
* Displays a rich text textarea for a settings field
|
408 |
-
*
|
409 |
-
* @param array $args settings field args
|
410 |
-
*/
|
411 |
-
function callback_wysiwyg( $args ) {
|
412 |
-
|
413 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
414 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : '500px';
|
415 |
-
|
416 |
-
echo '<div style="max-width: ' . $size . ';">';
|
417 |
-
|
418 |
-
$editor_settings = array(
|
419 |
-
'teeny' => true,
|
420 |
-
'textarea_name' => $args['section'] . '[' . $args['id'] . ']',
|
421 |
-
'textarea_rows' => 10
|
422 |
-
);
|
423 |
-
|
424 |
-
if ( isset( $args['options'] ) && is_array( $args['options'] ) ) {
|
425 |
-
$editor_settings = array_merge( $editor_settings, $args['options'] );
|
426 |
-
}
|
427 |
-
|
428 |
-
wp_editor( $value, $args['section'] . '-' . $args['id'], $editor_settings );
|
429 |
-
|
430 |
-
echo '</div>';
|
431 |
-
|
432 |
-
echo $this->get_field_description( $args );
|
433 |
-
}
|
434 |
-
|
435 |
-
/**
|
436 |
-
* Displays a file upload field for a settings field
|
437 |
-
*
|
438 |
-
* @param array $args settings field args
|
439 |
-
*/
|
440 |
-
function callback_file( $args ) {
|
441 |
-
|
442 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
443 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
444 |
-
$id = $args['section'] . '[' . $args['id'] . ']';
|
445 |
-
$label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose File' );
|
446 |
-
|
447 |
-
$html = sprintf( '<input type="text" class="%1$s-text wpsa-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
448 |
-
$html .= '<input type="button" class="button wpsa-browse" value="' . $label . '" />';
|
449 |
-
$html .= $this->get_field_description( $args );
|
450 |
-
|
451 |
-
echo $html;
|
452 |
-
}
|
453 |
-
|
454 |
-
/**
|
455 |
-
* Displays a file upload field for a settings field
|
456 |
-
*
|
457 |
-
* @param array $args settings field args
|
458 |
-
*/
|
459 |
-
function callback_image_upload( $args ) {
|
460 |
-
|
461 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
462 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
463 |
-
$id = $args['section'] . '[' . $args['id'] . ']';
|
464 |
-
$label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose File' );
|
465 |
-
$remove_label = isset( $args['options']['button_remove_label'] ) ? $args['options']['button_remove_label'] : __( 'Remove' );
|
466 |
-
|
467 |
-
$save_file = ( $value != '' ) ? '<img src="'.esc_url( $value ).'" alt="'.esc_attr__( $label, 'wishsuite' ).'">' : '';
|
468 |
-
|
469 |
-
$html = '<div class="wpsa_display">'.$save_file.'</div>';
|
470 |
-
$html .= sprintf( '<input type="hidden" class="%1$s-text wpsa-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
471 |
-
$html .= '<input type="button" class="button wpsa-browse" value="' . $label . '" />';
|
472 |
-
$html .= '<input type="button" class="button wpsa-remove" value="' . $remove_label . '" />';
|
473 |
-
|
474 |
-
|
475 |
-
$html .= $this->get_field_description( $args );
|
476 |
-
|
477 |
-
echo $html;
|
478 |
-
}
|
479 |
-
|
480 |
-
/**
|
481 |
-
* Displays a password field for a settings field
|
482 |
-
*
|
483 |
-
* @param array $args settings field args
|
484 |
-
*/
|
485 |
-
function callback_password( $args ) {
|
486 |
-
|
487 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
488 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
489 |
-
|
490 |
-
$html = sprintf( '<input type="password" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
491 |
-
$html .= $this->get_field_description( $args );
|
492 |
-
|
493 |
-
echo $html;
|
494 |
-
}
|
495 |
-
|
496 |
-
/**
|
497 |
-
* Displays a color picker field for a settings field
|
498 |
-
*
|
499 |
-
* @param array $args settings field args
|
500 |
-
*/
|
501 |
-
function callback_color( $args ) {
|
502 |
-
|
503 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
504 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
505 |
-
|
506 |
-
$html = sprintf( '<input type="text" class="%1$s-text wp-color-picker-field" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s" data-default-color="%5$s" />', $size, $args['section'], $args['id'], $value, $args['std'] );
|
507 |
-
$html .= $this->get_field_description( $args );
|
508 |
-
|
509 |
-
echo $html;
|
510 |
-
}
|
511 |
-
|
512 |
-
/**
|
513 |
-
* Displays a DIMENSIONS for a settings field
|
514 |
-
*
|
515 |
-
* @param array $args settings field args
|
516 |
-
*/
|
517 |
-
function callback_dimensions( $args ) {
|
518 |
-
|
519 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
520 |
-
$html = '<fieldset><ul class="htoption_dimensions">';
|
521 |
-
foreach ( $args['options'] as $key => $label ) {
|
522 |
-
$new_value = isset( $value[$key] ) ? $value[$key] : '';
|
523 |
-
$html .= '<li>';
|
524 |
-
|
525 |
-
if( 'unit' === $key ){
|
526 |
-
$html .= sprintf( '<input type="text" class="dimensionsbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%4$s" />', $args['section'], $args['id'], $key, $new_value );
|
527 |
-
$html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">%4$s</label>', $args['section'], $args['id'], $key, $label );
|
528 |
-
}else{
|
529 |
-
$html .= sprintf( '<input type="number" class="dimensionsbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%4$s" />', $args['section'], $args['id'], $key, $new_value );
|
530 |
-
$html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">%4$s</label>', $args['section'], $args['id'], $key, $label );
|
531 |
-
}
|
532 |
-
|
533 |
-
$html .= '</li>';
|
534 |
-
}
|
535 |
-
|
536 |
-
$html .= $this->get_field_description( $args );
|
537 |
-
$html .= '</ul></fieldset>';
|
538 |
-
|
539 |
-
echo $html;
|
540 |
-
}
|
541 |
-
|
542 |
-
|
543 |
-
/**
|
544 |
-
* Displays a select box for creating the pages select box
|
545 |
-
*
|
546 |
-
* @param array $args settings field args
|
547 |
-
*/
|
548 |
-
function callback_pages( $args ) {
|
549 |
-
|
550 |
-
$dropdown_args = array(
|
551 |
-
'selected' => esc_attr($this->get_option($args['id'], $args['section'], $args['std'] ) ),
|
552 |
-
'name' => $args['section'] . '[' . $args['id'] . ']',
|
553 |
-
'id' => $args['section'] . '[' . $args['id'] . ']',
|
554 |
-
'echo' => 0
|
555 |
-
);
|
556 |
-
$html = wp_dropdown_pages( $dropdown_args );
|
557 |
-
echo $html;
|
558 |
-
}
|
559 |
-
|
560 |
-
/**
|
561 |
-
* Sanitize callback for Settings API
|
562 |
-
*
|
563 |
-
* @return mixed
|
564 |
-
*/
|
565 |
-
function sanitize_options( $options ) {
|
566 |
-
|
567 |
-
if ( !$options ) {
|
568 |
-
return $options;
|
569 |
-
}
|
570 |
-
|
571 |
-
foreach( $options as $option_slug => $option_value ) {
|
572 |
-
$sanitize_callback = $this->get_sanitize_callback( $option_slug );
|
573 |
-
|
574 |
-
// If callback is set, call it
|
575 |
-
if ( $sanitize_callback ) {
|
576 |
-
$options[ $option_slug ] = call_user_func( $sanitize_callback, $option_value );
|
577 |
-
continue;
|
578 |
-
}
|
579 |
-
}
|
580 |
-
|
581 |
-
return $options;
|
582 |
-
}
|
583 |
-
|
584 |
-
/**
|
585 |
-
* Get sanitization callback for given option slug
|
586 |
-
*
|
587 |
-
* @param string $slug option slug
|
588 |
-
*
|
589 |
-
* @return mixed string or bool false
|
590 |
-
*/
|
591 |
-
function get_sanitize_callback( $slug = '' ) {
|
592 |
-
if ( empty( $slug ) ) {
|
593 |
-
return false;
|
594 |
-
}
|
595 |
-
|
596 |
-
// Iterate over registered fields and see if we can find proper callback
|
597 |
-
foreach( $this->settings_fields as $section => $options ) {
|
598 |
-
foreach ( $options as $option ) {
|
599 |
-
if ( $option['name'] != $slug ) {
|
600 |
-
continue;
|
601 |
-
}
|
602 |
-
|
603 |
-
// Return the callback name
|
604 |
-
return isset( $option['sanitize_callback'] ) && is_callable( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : false;
|
605 |
-
}
|
606 |
-
}
|
607 |
-
|
608 |
-
return false;
|
609 |
-
}
|
610 |
-
|
611 |
-
/**
|
612 |
-
* Get the value of a settings field
|
613 |
-
*
|
614 |
-
* @param string $option settings field name
|
615 |
-
* @param string $section the section name this field belongs to
|
616 |
-
* @param string $default default text if it's not found
|
617 |
-
* @return string
|
618 |
-
*/
|
619 |
-
function get_option( $option, $section, $default = '' ) {
|
620 |
-
|
621 |
-
$options = get_option( $section );
|
622 |
-
|
623 |
-
if ( isset( $options[$option] ) ) {
|
624 |
-
return $options[$option];
|
625 |
-
}
|
626 |
-
|
627 |
-
return $default;
|
628 |
-
}
|
629 |
-
|
630 |
-
/**
|
631 |
-
* Show navigations as tab
|
632 |
-
*
|
633 |
-
* Shows all the settings section labels as tab
|
634 |
-
*/
|
635 |
-
function show_navigation() {
|
636 |
-
$html = '<h2 class="nav-tab-wrapper">';
|
637 |
-
|
638 |
-
$count = count( $this->settings_sections );
|
639 |
-
|
640 |
-
// don't show the navigation if only one section exists
|
641 |
-
if ( $count === 1 ) {
|
642 |
-
return;
|
643 |
-
}
|
644 |
-
|
645 |
-
foreach ( $this->settings_sections as $tab ) {
|
646 |
-
$html .= sprintf( '<a href="#%1$s" class="nav-tab" id="%1$s-tab">%2$s</a>', $tab['id'], $tab['title'] );
|
647 |
-
}
|
648 |
-
|
649 |
-
$html .= '</h2>';
|
650 |
-
|
651 |
-
echo $html;
|
652 |
-
}
|
653 |
-
|
654 |
-
/**
|
655 |
-
* Show the section settings forms
|
656 |
-
*
|
657 |
-
* This function displays every sections in a different form
|
658 |
-
*/
|
659 |
-
function show_forms() {
|
660 |
-
?>
|
661 |
-
<div class="metabox-holder">
|
662 |
-
<?php foreach ( $this->settings_sections as $form ) { ?>
|
663 |
-
<div id="<?php echo $form['id']; ?>" class="group" style="display: none;">
|
664 |
-
<form method="post" action="options.php">
|
665 |
-
<?php
|
666 |
-
do_action( 'wsa_form_top_' . $form['id'], $form );
|
667 |
-
settings_fields( $form['id'] );
|
668 |
-
do_settings_sections( $form['id'] );
|
669 |
-
do_action( 'wsa_form_bottom_' . $form['id'], $form );
|
670 |
-
if ( isset( $this->settings_fields[ $form['id'] ] ) ):
|
671 |
-
?>
|
672 |
-
<div class="wl-submit-button" style="padding-left: 10px">
|
673 |
-
<?php submit_button(); ?>
|
674 |
-
</div>
|
675 |
-
<?php endif; ?>
|
676 |
-
</form>
|
677 |
-
</div>
|
678 |
-
<?php } ?>
|
679 |
-
</div>
|
680 |
-
<?php
|
681 |
-
$this->script();
|
682 |
-
}
|
683 |
-
|
684 |
-
/**
|
685 |
-
* Tabbable JavaScript codes & Initiate Color Picker
|
686 |
-
*
|
687 |
-
* This code uses localstorage for displaying active tabs
|
688 |
-
*/
|
689 |
-
function script() {
|
690 |
-
?>
|
691 |
-
<script>
|
692 |
-
jQuery(document).ready(function($) {
|
693 |
-
//Initiate Color Picker
|
694 |
-
$('.wp-color-picker-field').wpColorPicker();
|
695 |
-
$(".proelement .wp-picker-container button").attr("disabled", true);
|
696 |
-
|
697 |
-
// Switches option sections
|
698 |
-
$('.group').hide();
|
699 |
-
var activetab = '';
|
700 |
-
if (typeof(localStorage) != 'undefined' ) {
|
701 |
-
activetab = localStorage.getItem("activetab");
|
702 |
-
}
|
703 |
-
|
704 |
-
//if url has section id as hash then set it as active or override the current local storage value
|
705 |
-
if(window.location.hash){
|
706 |
-
activetab = window.location.hash;
|
707 |
-
if (typeof(localStorage) != 'undefined' ) {
|
708 |
-
localStorage.setItem("activetab", activetab);
|
709 |
-
}
|
710 |
-
}
|
711 |
-
|
712 |
-
if (activetab != '' && $(activetab).length ) {
|
713 |
-
$(activetab).fadeIn();
|
714 |
-
} else {
|
715 |
-
$('.group:first').fadeIn();
|
716 |
-
}
|
717 |
-
$('.group .collapsed').each(function(){
|
718 |
-
$(this).find('input:checked').parent().parent().parent().nextAll().each(
|
719 |
-
function(){
|
720 |
-
if ($(this).hasClass('last')) {
|
721 |
-
$(this).removeClass('hidden');
|
722 |
-
return false;
|
723 |
-
}
|
724 |
-
$(this).filter('.hidden').removeClass('hidden');
|
725 |
-
});
|
726 |
-
});
|
727 |
-
|
728 |
-
if (activetab != '' && $(activetab + '-tab').length ) {
|
729 |
-
$(activetab + '-tab').addClass('nav-tab-active');
|
730 |
-
}
|
731 |
-
else {
|
732 |
-
$('.nav-tab-wrapper a:first').addClass('nav-tab-active');
|
733 |
-
}
|
734 |
-
$('.nav-tab-wrapper a').click(function(evt) {
|
735 |
-
$('.nav-tab-wrapper a').removeClass('nav-tab-active');
|
736 |
-
$(this).addClass('nav-tab-active').blur();
|
737 |
-
var clicked_group = $(this).attr('href');
|
738 |
-
if (typeof(localStorage) != 'undefined' ) {
|
739 |
-
localStorage.setItem("activetab", $(this).attr('href'));
|
740 |
-
}
|
741 |
-
$('.group').hide();
|
742 |
-
$(clicked_group).fadeIn();
|
743 |
-
evt.preventDefault();
|
744 |
-
});
|
745 |
-
|
746 |
-
$('.wpsa-browse').on('click', function (event) {
|
747 |
-
event.preventDefault();
|
748 |
-
|
749 |
-
var self = $(this);
|
750 |
-
|
751 |
-
// Create the media frame.
|
752 |
-
var file_frame = wp.media.frames.file_frame = wp.media({
|
753 |
-
title: self.data('uploader_title'),
|
754 |
-
button: {
|
755 |
-
text: self.data('uploader_button_text'),
|
756 |
-
},
|
757 |
-
multiple: false
|
758 |
-
});
|
759 |
-
|
760 |
-
file_frame.on('select', function () {
|
761 |
-
attachment = file_frame.state().get('selection').first().toJSON();
|
762 |
-
self.prev('.wpsa-url').val(attachment.url).change();
|
763 |
-
self.siblings('.wpsa_display').html('<img src="'+attachment.url+'" alt="" />');
|
764 |
-
});
|
765 |
-
|
766 |
-
// Finally, open the modal
|
767 |
-
file_frame.open();
|
768 |
-
|
769 |
-
});
|
770 |
-
|
771 |
-
// Remove Media Button
|
772 |
-
$('.wpsa-remove').on('click', function (event) {
|
773 |
-
event.preventDefault();
|
774 |
-
var self = $(this);
|
775 |
-
self.siblings('.wpsa-url').val('').change();
|
776 |
-
self.siblings('.wpsa_display').html('');
|
777 |
-
});
|
778 |
-
|
779 |
-
// Shortable field select all
|
780 |
-
$(".htoption-shortable-checkall").click(function () {
|
781 |
-
$( this ).siblings('.htoption_shortable').find('input:checkbox').not( this ).prop( 'checked', this.checked );
|
782 |
-
});
|
783 |
-
|
784 |
-
// Initiate sortable Field
|
785 |
-
$( ".htoption_shortable" ).sortable();
|
786 |
-
|
787 |
-
});
|
788 |
-
</script>
|
789 |
-
<?php
|
790 |
-
}
|
791 |
-
|
792 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/modules/wishlist/includes/classes/Ajax.php
CHANGED
@@ -53,7 +53,7 @@ class Ajax {
|
|
53 |
$inserted = \WishSuite\Frontend\Manage_Wishlist::instance()->add_product( $id );
|
54 |
if ( ! $inserted ) {
|
55 |
wp_send_json_success([
|
56 |
-
'message' => __( '
|
57 |
]);
|
58 |
}else{
|
59 |
wp_send_json_success([
|
@@ -73,7 +73,7 @@ class Ajax {
|
|
73 |
$deleted = \WishSuite\Frontend\Manage_Wishlist::instance()->remove_product( $id );
|
74 |
if ( ! $deleted ) {
|
75 |
wp_send_json_success([
|
76 |
-
'message' => __( '
|
77 |
]);
|
78 |
}else{
|
79 |
wp_send_json_success([
|
53 |
$inserted = \WishSuite\Frontend\Manage_Wishlist::instance()->add_product( $id );
|
54 |
if ( ! $inserted ) {
|
55 |
wp_send_json_success([
|
56 |
+
'message' => __( 'The product does not add!', 'wishsuite' )
|
57 |
]);
|
58 |
}else{
|
59 |
wp_send_json_success([
|
73 |
$deleted = \WishSuite\Frontend\Manage_Wishlist::instance()->remove_product( $id );
|
74 |
if ( ! $deleted ) {
|
75 |
wp_send_json_success([
|
76 |
+
'message' => __( 'The product does not delete!', 'wishsuite' )
|
77 |
]);
|
78 |
}else{
|
79 |
wp_send_json_success([
|
languages/woolentor.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WooLentor - WooCommerce Elementor Addons + Builder\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2022-
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
@@ -16,6 +16,12 @@ msgstr ""
|
|
16 |
"X-Loco-Version: 2.6.2; wp-6.0\n"
|
17 |
"X-Domain: woolentor"
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
#. 1: Plugin name 2: PHP 3: Required PHP version
|
20 |
#: includes/base.php:186
|
21 |
#, php-format
|
@@ -50,13 +56,19 @@ msgid ""
|
|
50 |
"plugin to be installed and activated. Please install WooCommerce to continue."
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: classes/class.default_data.php:
|
54 |
#, php-format
|
55 |
msgid "%s customer review"
|
56 |
msgid_plural "%s customer reviews"
|
57 |
msgstr[0] ""
|
58 |
msgstr[1] ""
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
#: includes/admin/templates/dashboard-sidebar.php:41
|
61 |
msgid ". Which will motivate us a lot."
|
62 |
msgstr ""
|
@@ -71,6 +83,10 @@ msgstr ""
|
|
71 |
msgid "10 Custom Shop Page Templates"
|
72 |
msgstr ""
|
73 |
|
|
|
|
|
|
|
|
|
74 |
#: includes/addons/wb_product_call_for_price.php:63
|
75 |
#: includes/addons/wb_product_call_for_price.php:64
|
76 |
msgid "123-456-7890"
|
@@ -114,16 +130,14 @@ msgstr ""
|
|
114 |
msgid "6"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: includes/admin/templates/dashboard-sidebar.php:26
|
118 |
-
msgid "76 Elementor Elements"
|
119 |
-
msgstr ""
|
120 |
-
|
121 |
#: includes/addons/product_tabs.php:1478 includes/addons/product_tabs.php:1604
|
122 |
-
#: woolentor-blocks/
|
|
|
123 |
msgid ":"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: woolentor-blocks/
|
|
|
127 |
msgid "<i class=\"fa fa-shopping-cart\"></i>"
|
128 |
msgstr ""
|
129 |
|
@@ -140,8 +154,8 @@ msgstr ""
|
|
140 |
|
141 |
#: includes/admin/include/template-library.php:162
|
142 |
#: includes/admin/include/template-library.php:214
|
143 |
-
#: includes/admin/include/class.extension-manager.php:
|
144 |
-
#: includes/admin/include/class.extension-manager.php:
|
145 |
msgid "Activate"
|
146 |
msgstr ""
|
147 |
|
@@ -155,16 +169,16 @@ msgstr ""
|
|
155 |
|
156 |
#: includes/admin/include/template-library.php:173
|
157 |
#: includes/admin/include/template-library.php:225
|
158 |
-
#: includes/admin/include/class.extension-manager.php:
|
159 |
-
#: includes/admin/include/class.extension-manager.php:
|
160 |
msgid "Activated"
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: classes/class.assest_management.php:
|
164 |
msgid "Activating.."
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: classes/class.assest_management.php:
|
168 |
#: includes/addons/wl_faq.php:760 includes/addons/wb_product_data_tab.php:144
|
169 |
#: includes/addons/wb_archive_product.php:758
|
170 |
msgid "Active"
|
@@ -180,23 +194,29 @@ msgstr ""
|
|
180 |
msgid "Add ID Manually"
|
181 |
msgstr ""
|
182 |
|
183 |
-
#: includes/admin/include/admin_field-manager.php:
|
184 |
msgid "Add Item"
|
185 |
msgstr ""
|
186 |
|
187 |
-
#: includes/admin/include/class.template_cpt.php:
|
188 |
msgid "Add New"
|
189 |
msgstr ""
|
190 |
|
191 |
-
#: includes/admin/include/class.template_cpt.php:
|
192 |
msgid "Add New Template"
|
193 |
msgstr ""
|
194 |
|
195 |
#: includes/addons/wl_recently_viewed_products.php:394
|
196 |
#: includes/addons/wb_wishsuite_table.php:347
|
|
|
197 |
msgid "Add To Cart"
|
198 |
msgstr ""
|
199 |
|
|
|
|
|
|
|
|
|
|
|
200 |
#: includes/addons/wb_archive_product.php:542
|
201 |
msgid "Add To Cart Button"
|
202 |
msgstr ""
|
@@ -212,11 +232,11 @@ msgstr ""
|
|
212 |
msgid "Add to Cart Button Text"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: includes/helper-function.php:
|
216 |
-
#: includes/helper-function.php:
|
217 |
-
#: woolentor-blocks/includes/helper-functions.php:
|
218 |
-
#: woolentor-blocks/includes/helper-functions.php:
|
219 |
-
#: woolentor-blocks/includes/helper-functions.php:
|
220 |
msgid "Add to Compare"
|
221 |
msgstr ""
|
222 |
|
@@ -243,6 +263,10 @@ msgstr ""
|
|
243 |
msgid "admin@domain.com"
|
244 |
msgstr ""
|
245 |
|
|
|
|
|
|
|
|
|
246 |
#: includes/addons/wl_category_grid.php:575
|
247 |
msgid "After Border Color"
|
248 |
msgstr ""
|
@@ -281,11 +305,11 @@ msgid "ALL"
|
|
281 |
msgstr ""
|
282 |
|
283 |
#: includes/addons/wb_wc_multicurrency.php:58
|
284 |
-
#: includes/admin/include/class.template-manager.php:
|
285 |
msgid "All"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: includes/admin/include/class.template-manager.php:
|
289 |
msgid "All Assigned Template has been imported"
|
290 |
msgstr ""
|
291 |
|
@@ -298,11 +322,11 @@ msgstr ""
|
|
298 |
msgid "All Categories"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: includes/admin/include/class.template-manager.php:
|
302 |
msgid "All Data Saved"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: classes/class.assest_management.php:
|
306 |
msgid "All Items have been Loaded"
|
307 |
msgstr ""
|
308 |
|
@@ -326,8 +350,8 @@ msgstr ""
|
|
326 |
msgid "Apply coupon"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: includes/admin/include/class.template-manager.php:
|
330 |
-
#: includes/admin/include/class.template-manager.php:
|
331 |
msgid "Archive"
|
332 |
msgstr ""
|
333 |
|
@@ -340,6 +364,7 @@ msgid "Archive Description"
|
|
340 |
msgstr ""
|
341 |
|
342 |
#: classes/class.widgets_control.php:404
|
|
|
343 |
msgid "Archive Layout Default"
|
344 |
msgstr ""
|
345 |
|
@@ -354,11 +379,12 @@ msgstr ""
|
|
354 |
#: classes/class.widgets_control.php:272
|
355 |
#: includes/addons/wl_archive_title.php:43
|
356 |
#: includes/addons/wl_archive_title.php:224
|
|
|
357 |
msgid "Archive Title"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: classes/class.assest_management.php:
|
361 |
-
#: includes/admin/include/class.template-manager.php:
|
362 |
msgid "Are you sure?"
|
363 |
msgstr ""
|
364 |
|
@@ -400,10 +426,19 @@ msgstr ""
|
|
400 |
msgid "Ascending"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: includes/admin/include/class.template-manager.php:
|
404 |
msgid "Assigned Template Importing.."
|
405 |
msgstr ""
|
406 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
407 |
#: includes/addons/wl_testimonial.php:367 includes/addons/product_tabs.php:506
|
408 |
#: includes/addons/wl_category_grid.php:333
|
409 |
msgid "Autoplay animation speed"
|
@@ -431,7 +466,7 @@ msgstr ""
|
|
431 |
msgid "Awaiting category image"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: classes/class.default_data.php:
|
435 |
msgid "Awaiting product image"
|
436 |
msgstr ""
|
437 |
|
@@ -517,8 +552,8 @@ msgstr ""
|
|
517 |
#: includes/addons/product_tabs.php:661 includes/addons/product_tabs.php:713
|
518 |
#: includes/addons/product_tabs.php:817 includes/addons/product_tabs.php:1146
|
519 |
#: includes/addons/product_tabs.php:1206
|
520 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
521 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
522 |
#: includes/addons/wl_category_grid.php:719
|
523 |
#: includes/addons/wl_category_grid.php:793
|
524 |
#: includes/addons/wl_category_grid.php:893
|
@@ -586,6 +621,10 @@ msgstr ""
|
|
586 |
msgid "Banner Title"
|
587 |
msgstr ""
|
588 |
|
|
|
|
|
|
|
|
|
589 |
#: includes/addons/wl_category_grid.php:633
|
590 |
msgid "Before Border Color"
|
591 |
msgstr ""
|
@@ -671,7 +710,9 @@ msgstr ""
|
|
671 |
#: includes/addons/product_tabs.php:674 includes/addons/product_tabs.php:726
|
672 |
#: includes/addons/product_tabs.php:789 includes/addons/product_tabs.php:831
|
673 |
#: includes/addons/product_tabs.php:878
|
674 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
|
|
|
|
675 |
#: includes/addons/wl_category_grid.php:518
|
676 |
#: includes/addons/wl_category_grid.php:731
|
677 |
#: includes/addons/wl_category_grid.php:805
|
@@ -691,7 +732,7 @@ msgstr ""
|
|
691 |
#: includes/addons/wb_product_suggest_price.php:672
|
692 |
#: includes/addons/wb_product_suggest_price.php:815
|
693 |
#: includes/addons/wb_wishsuite_table.php:241
|
694 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
695 |
#: includes/addons/wb_ever_compare_table.php:187
|
696 |
msgid "Border Color"
|
697 |
msgstr ""
|
@@ -750,7 +791,10 @@ msgstr ""
|
|
750 |
#: includes/addons/product_tabs.php:682 includes/addons/product_tabs.php:734
|
751 |
#: includes/addons/product_tabs.php:797 includes/addons/product_tabs.php:839
|
752 |
#: includes/addons/product_tabs.php:886
|
753 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
|
|
|
|
|
|
754 |
#: includes/addons/wl_category_grid.php:526
|
755 |
#: includes/addons/wl_category_grid.php:739
|
756 |
#: includes/addons/wl_category_grid.php:813
|
@@ -759,6 +803,10 @@ msgstr ""
|
|
759 |
msgid "Border Radius"
|
760 |
msgstr ""
|
761 |
|
|
|
|
|
|
|
|
|
762 |
#: includes/addons/special_day_offer.php:56
|
763 |
#: includes/addons/wl_product_video_gallery.php:73
|
764 |
#: includes/addons/add_banner.php:69
|
@@ -798,7 +846,9 @@ msgid "Brand Link"
|
|
798 |
msgstr ""
|
799 |
|
800 |
#: includes/addons/wl_brand.php:51
|
801 |
-
#: woolentor-blocks/
|
|
|
|
|
802 |
msgid "Brand Logo"
|
803 |
msgstr ""
|
804 |
|
@@ -811,6 +861,7 @@ msgid "Brand Title"
|
|
811 |
msgstr ""
|
812 |
|
813 |
#: classes/class.widgets_control.php:276 includes/addons/wl_breadcrumbs.php:43
|
|
|
814 |
msgid "Breadcrumbs"
|
815 |
msgstr ""
|
816 |
|
@@ -818,7 +869,8 @@ msgstr ""
|
|
818 |
#: includes/addons/special_day_offer.php:620 includes/addons/wb_whols.php:48
|
819 |
#: includes/addons/wb_product_call_for_price.php:74
|
820 |
#: includes/addons/wl_product_filter.php:625
|
821 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
|
|
822 |
#: includes/addons/add_banner.php:230
|
823 |
msgid "Button"
|
824 |
msgstr ""
|
@@ -867,10 +919,10 @@ msgstr ""
|
|
867 |
msgid "Buy"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: classes/class.assest_management.php:
|
871 |
#: includes/admin/include/template-library.php:181
|
872 |
#: includes/admin/include/template-library.php:233
|
873 |
-
#: includes/admin/include/class.extension-manager.php:
|
874 |
#: includes/admin/templates/dashboard-popup.php:14
|
875 |
msgid "Buy Now"
|
876 |
msgstr ""
|
@@ -883,14 +935,21 @@ msgstr ""
|
|
883 |
msgid "By"
|
884 |
msgstr ""
|
885 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
886 |
#: includes/addons/wb_product_call_for_price.php:43
|
887 |
#: includes/addons/wb_product_call_for_price.php:52
|
888 |
#: includes/addons/wb_product_call_for_price.php:53
|
889 |
msgid "Call For Price"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: classes/class.assest_management.php:
|
893 |
-
#: includes/admin/include/class.template-manager.php:
|
894 |
msgid "Cancel"
|
895 |
msgstr ""
|
896 |
|
@@ -936,6 +995,7 @@ msgstr ""
|
|
936 |
|
937 |
#: classes/class.widgets_control.php:252
|
938 |
#: includes/addons/wl_category_grid.php:44
|
|
|
939 |
msgid "Category Grid"
|
940 |
msgstr ""
|
941 |
|
@@ -947,8 +1007,8 @@ msgstr ""
|
|
947 |
msgid "Category List"
|
948 |
msgstr ""
|
949 |
|
950 |
-
#: classes/class.default_data.php:
|
951 |
-
#: includes/addons/wb_product_categories.php:
|
952 |
msgid "Category:"
|
953 |
msgid_plural "Categories:"
|
954 |
msgstr[0] ""
|
@@ -988,11 +1048,24 @@ msgstr ""
|
|
988 |
msgid "Choose a Payment Gateway"
|
989 |
msgstr ""
|
990 |
|
|
|
|
|
|
|
|
|
991 |
#: includes/addons/wl_brand.php:84
|
992 |
-
#: includes/admin/include/admin_field-manager.php:
|
993 |
msgid "Choose Image"
|
994 |
msgstr ""
|
995 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
996 |
#: includes/addons/wl_testimonial.php:100
|
997 |
#: includes/addons/wb_customer_review.php:98
|
998 |
msgid "Client Rating"
|
@@ -1115,6 +1188,8 @@ msgstr ""
|
|
1115 |
#: includes/addons/product_tabs.php:282 includes/addons/product_tabs.php:361
|
1116 |
#: includes/addons/product_tabs.php:649 includes/addons/product_tabs.php:764
|
1117 |
#: includes/addons/product_tabs.php:1134 includes/addons/product_tabs.php:1194
|
|
|
|
|
1118 |
#: includes/addons/wb_product_additional_information.php:76
|
1119 |
#: includes/addons/wb_product_additional_information.php:124
|
1120 |
#: includes/addons/add_banner.php:155 includes/addons/add_banner.php:197
|
@@ -1139,24 +1214,38 @@ msgstr ""
|
|
1139 |
msgid "Columns"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
-
#: includes/helper-function.php:
|
1143 |
#: includes/addons/product_image_accordion.php:150
|
1144 |
#: includes/addons/product_accordion.php:171
|
1145 |
#: includes/addons/product_curvy.php:206 includes/addons/product_tabs.php:165
|
1146 |
msgid "Comment count"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: includes/helper-function.php:
|
1150 |
-
#: woolentor-blocks/includes/helper-functions.php:
|
1151 |
#: includes/modules/compare/includes/classes/Admin/Dashboard.php:59
|
1152 |
#: includes/modules/compare/includes/classes/Admin/Dashboard.php:60
|
1153 |
msgid "Compare"
|
1154 |
msgstr ""
|
1155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1156 |
#: includes/modules/shopify-like-checkout/templates/form-checkout.php:53
|
1157 |
msgid "Contact information"
|
1158 |
msgstr ""
|
1159 |
|
|
|
|
|
|
|
|
|
1160 |
#: includes/addons/wl_faq.php:45 includes/addons/wl_faq.php:82
|
1161 |
#: includes/addons/wl_faq.php:544 includes/addons/wl_onepage_slider.php:66
|
1162 |
#: includes/addons/wb_product_data_tab.php:212
|
@@ -1290,6 +1379,15 @@ msgstr ""
|
|
1290 |
msgid "Create an account?"
|
1291 |
msgstr ""
|
1292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1293 |
#: includes/addons/wl_faq.php:58 includes/addons/wl_testimonial.php:71
|
1294 |
#: includes/addons/wb_customer_review.php:69
|
1295 |
msgid "Custom"
|
@@ -1326,15 +1424,31 @@ msgstr ""
|
|
1326 |
msgid "Customer Review"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
-
#: includes/
|
|
|
|
|
|
|
|
|
1330 |
msgid "Data Fetch successfully!"
|
1331 |
msgstr ""
|
1332 |
|
1333 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1334 |
msgid "Data Saved successfully!"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
-
#: includes/helper-function.php:
|
1338 |
#: includes/addons/wb_product_upsell.php:66
|
1339 |
#: includes/addons/wb_archive_product.php:127
|
1340 |
#: includes/addons/product_image_accordion.php:147
|
@@ -1352,11 +1466,12 @@ msgid "Days"
|
|
1352 |
msgstr ""
|
1353 |
|
1354 |
#: includes/addons/wl_brand.php:62
|
1355 |
-
#: includes/
|
|
|
1356 |
msgid "Default"
|
1357 |
msgstr ""
|
1358 |
|
1359 |
-
#: includes/helper-function.php:
|
1360 |
msgid "Default sorting"
|
1361 |
msgstr ""
|
1362 |
|
@@ -1393,10 +1508,6 @@ msgstr ""
|
|
1393 |
msgid "Description Color"
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: classes/class.default_data.php:241
|
1397 |
-
msgid "Description dose not set this product."
|
1398 |
-
msgstr ""
|
1399 |
-
|
1400 |
#: includes/addons/wl_testimonial.php:91 includes/addons/wl_testimonial.php:633
|
1401 |
#: includes/addons/wb_customer_review.php:89
|
1402 |
#: includes/addons/wb_customer_review.php:449
|
@@ -1412,12 +1523,19 @@ msgstr ""
|
|
1412 |
msgid "Developer"
|
1413 |
msgstr ""
|
1414 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1415 |
#: includes/admin/templates/dashboard-element.php:20
|
|
|
1416 |
#: includes/admin/templates/dashboard-module.php:22
|
1417 |
msgid "Disable all"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: includes/helper-function.php:
|
1421 |
msgid "div"
|
1422 |
msgstr ""
|
1423 |
|
@@ -1425,7 +1543,7 @@ msgstr ""
|
|
1425 |
msgid "Do you want to individual icon ?"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: includes/admin/include/admin_field-manager.php:
|
1429 |
#: includes/admin/include/admin_field-manager.php:470
|
1430 |
#: includes/admin/templates/dashboard-welcome.php:19
|
1431 |
msgid "Documentation"
|
@@ -1436,15 +1554,16 @@ msgid "Edit Page"
|
|
1436 |
msgstr ""
|
1437 |
|
1438 |
#: includes/admin/include/template-library.php:118
|
1439 |
-
#: includes/admin/include/class.template_cpt.php:
|
1440 |
msgid "Edit Template"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: includes/admin/include/class.template-manager.php:
|
1444 |
msgid "Edit With Elementor"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: includes/admin/include/class.template-manager.php:
|
|
|
1448 |
msgid "Edit With Gutenberg"
|
1449 |
msgstr ""
|
1450 |
|
@@ -1459,7 +1578,8 @@ msgstr ""
|
|
1459 |
msgid "Element Information"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
-
#: includes/admin/include/class.template-manager.php:
|
|
|
1463 |
#: includes/admin/include/template-library/templates_list.php:19
|
1464 |
msgid "Elementor"
|
1465 |
msgstr ""
|
@@ -1468,19 +1588,6 @@ msgstr ""
|
|
1468 |
msgid "Elementor Template"
|
1469 |
msgstr ""
|
1470 |
|
1471 |
-
#: includes/admin/include/class.extension-manager.php:121
|
1472 |
-
msgid ""
|
1473 |
-
"Email Candy is an outstanding WordPress plugin that allows you to customize "
|
1474 |
-
"the default WooCommerce email templates and give a professional look to your "
|
1475 |
-
"WooCommerce emails. If you are tired of using the boring design of "
|
1476 |
-
"WooCommerce emails and want to create customized emails, then this plugin "
|
1477 |
-
"will come in handy."
|
1478 |
-
msgstr ""
|
1479 |
-
|
1480 |
-
#: includes/admin/include/class.extension-manager.php:118
|
1481 |
-
msgid "Email Candy Pro - Email customizer for WooCommerce"
|
1482 |
-
msgstr ""
|
1483 |
-
|
1484 |
#: includes/addons/wb_product_suggest_price.php:130
|
1485 |
msgid "Email Field Placeholder"
|
1486 |
msgstr ""
|
@@ -1505,20 +1612,37 @@ msgstr ""
|
|
1505 |
msgid "Empty table text"
|
1506 |
msgstr ""
|
1507 |
|
|
|
|
|
|
|
|
|
1508 |
#: includes/addons/wb_product_qr_code.php:62
|
1509 |
msgid "Enable Add to Cart URL"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
#: includes/admin/templates/dashboard-element.php:19
|
|
|
1513 |
#: includes/admin/templates/dashboard-module.php:21
|
1514 |
msgid "Enable all"
|
1515 |
msgstr ""
|
1516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1517 |
#: includes/modules/shopify-like-checkout/templates/cart-shipping.php:57
|
1518 |
msgid "Enter a different address"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#: includes/admin/include/class.template-manager.php:
|
1522 |
msgid "Enter a template name"
|
1523 |
msgstr ""
|
1524 |
|
@@ -1555,6 +1679,10 @@ msgstr ""
|
|
1555 |
msgid "Extra Option"
|
1556 |
msgstr ""
|
1557 |
|
|
|
|
|
|
|
|
|
1558 |
#: classes/class.widgets_control.php:248
|
1559 |
msgid "Faq"
|
1560 |
msgstr ""
|
@@ -1563,11 +1691,11 @@ msgstr ""
|
|
1563 |
msgid "FAQ Title"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#: includes/helper-function.php:
|
1567 |
msgid "Featured"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
-
#: includes/admin/include/class.template_cpt.php:
|
1571 |
msgid "Featured Image"
|
1572 |
msgstr ""
|
1573 |
|
@@ -1598,7 +1726,7 @@ msgstr ""
|
|
1598 |
msgid "Filter By"
|
1599 |
msgstr ""
|
1600 |
|
1601 |
-
#: includes/admin/include/class.template_cpt.php:
|
1602 |
msgid "Filter from list"
|
1603 |
msgstr ""
|
1604 |
|
@@ -1661,7 +1789,7 @@ msgstr ""
|
|
1661 |
msgid "Free"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
-
#: includes/admin/include/class.extension-manager.php:
|
1665 |
msgid "Free extension"
|
1666 |
msgstr ""
|
1667 |
|
@@ -1706,27 +1834,31 @@ msgstr ""
|
|
1706 |
msgid "Gradient Color"
|
1707 |
msgstr ""
|
1708 |
|
1709 |
-
#: includes/
|
|
|
|
|
|
|
|
|
1710 |
msgid "H1"
|
1711 |
msgstr ""
|
1712 |
|
1713 |
-
#: includes/helper-function.php:
|
1714 |
msgid "H2"
|
1715 |
msgstr ""
|
1716 |
|
1717 |
-
#: includes/helper-function.php:
|
1718 |
msgid "H3"
|
1719 |
msgstr ""
|
1720 |
|
1721 |
-
#: includes/helper-function.php:
|
1722 |
msgid "H4"
|
1723 |
msgstr ""
|
1724 |
|
1725 |
-
#: includes/helper-function.php:
|
1726 |
msgid "H5"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
-
#: includes/helper-function.php:
|
1730 |
msgid "H6"
|
1731 |
msgstr ""
|
1732 |
|
@@ -1797,7 +1929,7 @@ msgstr ""
|
|
1797 |
msgid "Here"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
-
#: includes/helper-function.php:
|
1801 |
msgid "here"
|
1802 |
msgstr ""
|
1803 |
|
@@ -1817,6 +1949,11 @@ msgstr ""
|
|
1817 |
msgid "Hide Category"
|
1818 |
msgstr ""
|
1819 |
|
|
|
|
|
|
|
|
|
|
|
1820 |
#: includes/addons/product_accordion.php:276
|
1821 |
#: includes/addons/product_curvy.php:289
|
1822 |
msgid "Hide Content"
|
@@ -1841,6 +1978,11 @@ msgstr ""
|
|
1841 |
msgid "Hide Title"
|
1842 |
msgstr ""
|
1843 |
|
|
|
|
|
|
|
|
|
|
|
1844 |
#: includes/addons/wl_product_filter.php:103
|
1845 |
msgid "Hierarchical"
|
1846 |
msgstr ""
|
@@ -1885,7 +2027,10 @@ msgstr ""
|
|
1885 |
#: includes/addons/wb_wishsuite_table.php:411
|
1886 |
#: includes/addons/product_tabs.php:353 includes/addons/product_tabs.php:748
|
1887 |
#: includes/addons/product_tabs.php:1066 includes/addons/product_tabs.php:1188
|
1888 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
|
|
|
|
|
|
1889 |
#: includes/addons/wl_category_grid.php:827
|
1890 |
msgid "Hover"
|
1891 |
msgstr ""
|
@@ -1987,7 +2132,7 @@ msgstr ""
|
|
1987 |
msgid "Icon Width"
|
1988 |
msgstr ""
|
1989 |
|
1990 |
-
#: includes/helper-function.php:
|
1991 |
#: includes/addons/product_image_accordion.php:146
|
1992 |
#: includes/addons/product_accordion.php:167
|
1993 |
#: includes/addons/product_curvy.php:202 includes/addons/product_tabs.php:161
|
@@ -2034,6 +2179,8 @@ msgstr ""
|
|
2034 |
#: includes/addons/wb_customer_review.php:109
|
2035 |
#: includes/addons/wb_customer_review.php:361
|
2036 |
#: includes/addons/wl_category_grid.php:483
|
|
|
|
|
2037 |
msgid "Image"
|
2038 |
msgstr ""
|
2039 |
|
@@ -2042,6 +2189,7 @@ msgid "Image Area Border Color"
|
|
2042 |
msgstr ""
|
2043 |
|
2044 |
#: classes/class.widgets_control.php:240
|
|
|
2045 |
msgid "Image Marker"
|
2046 |
msgstr ""
|
2047 |
|
@@ -2049,11 +2197,11 @@ msgstr ""
|
|
2049 |
msgid "Image/Icon"
|
2050 |
msgstr ""
|
2051 |
|
2052 |
-
#: classes/class.assest_management.php:
|
2053 |
msgid "Import"
|
2054 |
msgstr ""
|
2055 |
|
2056 |
-
#: includes/admin/include/class.template-manager.php:
|
2057 |
msgid "Import Previously Assigned Templates"
|
2058 |
msgstr ""
|
2059 |
|
@@ -2061,15 +2209,15 @@ msgstr ""
|
|
2061 |
msgid "Import template to your Library"
|
2062 |
msgstr ""
|
2063 |
|
2064 |
-
#: classes/class.assest_management.php:
|
2065 |
msgid "Import to Library"
|
2066 |
msgstr ""
|
2067 |
|
2068 |
-
#: classes/class.assest_management.php:
|
2069 |
msgid "Import to Page"
|
2070 |
msgstr ""
|
2071 |
|
2072 |
-
#: classes/class.assest_management.php:
|
2073 |
msgid "in this package"
|
2074 |
msgstr ""
|
2075 |
|
@@ -2077,6 +2225,12 @@ msgstr ""
|
|
2077 |
msgid "Information"
|
2078 |
msgstr ""
|
2079 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2080 |
#: includes/custom-metabox.php:45
|
2081 |
msgid "Initial number in stock"
|
2082 |
msgstr ""
|
@@ -2094,7 +2248,7 @@ msgstr ""
|
|
2094 |
msgid "Input Field Placeholder"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
-
#: includes/admin/include/class.template_cpt.php:
|
2098 |
msgid "Insert into Template"
|
2099 |
msgstr ""
|
2100 |
|
@@ -2104,8 +2258,8 @@ msgstr ""
|
|
2104 |
|
2105 |
#: includes/admin/include/template-library.php:168
|
2106 |
#: includes/admin/include/template-library.php:220
|
2107 |
-
#: includes/admin/include/class.extension-manager.php:
|
2108 |
-
#: includes/admin/include/class.extension-manager.php:
|
2109 |
msgid "Install Now"
|
2110 |
msgstr ""
|
2111 |
|
@@ -2113,11 +2267,11 @@ msgstr ""
|
|
2113 |
msgid "Install WooCommerce"
|
2114 |
msgstr ""
|
2115 |
|
2116 |
-
#: classes/class.assest_management.php:
|
2117 |
msgid "Installing.."
|
2118 |
msgstr ""
|
2119 |
|
2120 |
-
#: includes/admin/include/class.template-manager.php:
|
2121 |
msgid ""
|
2122 |
"It will import those templates that were created from the \"Templates\" menu "
|
2123 |
"of Elementor and assigned to corresponding WooCommerce pages."
|
@@ -2155,11 +2309,11 @@ msgstr ""
|
|
2155 |
msgid "JustTable"
|
2156 |
msgstr ""
|
2157 |
|
2158 |
-
#: includes/admin/include/class.extension-manager.php:
|
2159 |
msgid "JustTables"
|
2160 |
msgstr ""
|
2161 |
|
2162 |
-
#: includes/admin/include/class.extension-manager.php:
|
2163 |
msgid ""
|
2164 |
"JustTables is an incredible WordPress plugin that lets you showcase all your "
|
2165 |
"WooCommerce products in a sortable and filterable table view. It allows your "
|
@@ -2169,7 +2323,7 @@ msgid ""
|
|
2169 |
"sale on your online store."
|
2170 |
msgstr ""
|
2171 |
|
2172 |
-
#: includes/admin/include/class.extension-manager.php:
|
2173 |
msgid "JustTables Pro"
|
2174 |
msgstr ""
|
2175 |
|
@@ -2193,6 +2347,8 @@ msgid "Label Color"
|
|
2193 |
msgstr ""
|
2194 |
|
2195 |
#: includes/addons/wl_store_features.php:48
|
|
|
|
|
2196 |
msgid "Layout"
|
2197 |
msgstr ""
|
2198 |
|
@@ -2201,10 +2357,12 @@ msgid "Layout Five"
|
|
2201 |
msgstr ""
|
2202 |
|
2203 |
#: includes/addons/wl_store_features.php:55
|
|
|
2204 |
msgid "Layout Four"
|
2205 |
msgstr ""
|
2206 |
|
2207 |
#: includes/addons/wl_store_features.php:52
|
|
|
2208 |
msgid "Layout One"
|
2209 |
msgstr ""
|
2210 |
|
@@ -2214,10 +2372,12 @@ msgid "Layout Settings"
|
|
2214 |
msgstr ""
|
2215 |
|
2216 |
#: includes/addons/wl_store_features.php:54
|
|
|
2217 |
msgid "Layout Three"
|
2218 |
msgstr ""
|
2219 |
|
2220 |
#: includes/addons/wl_store_features.php:53
|
|
|
2221 |
msgid "Layout Two"
|
2222 |
msgstr ""
|
2223 |
|
@@ -2370,7 +2530,7 @@ msgstr ""
|
|
2370 |
#: includes/addons/product_curvy.php:711
|
2371 |
#: includes/addons/wl_product_video_gallery.php:148
|
2372 |
#: includes/addons/wl_brand.php:282
|
2373 |
-
#: includes/addons/wb_product_categories.php:
|
2374 |
#: includes/addons/wb_product_suggest_price.php:245
|
2375 |
#: includes/addons/wb_product_suggest_price.php:344
|
2376 |
#: includes/addons/wb_product_suggest_price.php:442
|
@@ -2379,7 +2539,7 @@ msgstr ""
|
|
2379 |
#: includes/addons/wb_product_rating.php:84
|
2380 |
#: includes/addons/wb_product_title.php:90
|
2381 |
#: includes/addons/wl_product_filter.php:195
|
2382 |
-
#: includes/addons/wb_product_sku.php:
|
2383 |
#: includes/addons/wb_image_marker.php:350
|
2384 |
#: includes/addons/wb_image_marker.php:392
|
2385 |
#: includes/addons/wb_customer_review.php:420
|
@@ -2389,12 +2549,12 @@ msgstr ""
|
|
2389 |
#: includes/addons/wl_recently_viewed_products.php:336
|
2390 |
#: includes/addons/wl_recently_viewed_products.php:380
|
2391 |
#: includes/addons/wl_recently_viewed_products.php:709
|
2392 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
2393 |
#: includes/addons/wb_product_additional_information.php:102
|
2394 |
#: includes/addons/add_banner.php:167 includes/addons/add_banner.php:218
|
2395 |
#: includes/addons/wl_category_grid.php:504
|
2396 |
#: includes/addons/wl_category_grid.php:598
|
2397 |
-
#: includes/addons/wb_product_tags.php:
|
2398 |
msgid "Margin"
|
2399 |
msgstr ""
|
2400 |
|
@@ -2459,6 +2619,15 @@ msgstr ""
|
|
2459 |
msgid "Min price"
|
2460 |
msgstr ""
|
2461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2462 |
#: includes/addons/product_flash_sale.php:291
|
2463 |
#: includes/addons/product_flash_sale.php:293
|
2464 |
msgid "Minutes"
|
@@ -2482,20 +2651,24 @@ msgstr ""
|
|
2482 |
msgid "Mobile Resolution"
|
2483 |
msgstr ""
|
2484 |
|
2485 |
-
#: includes/
|
2486 |
-
|
|
|
|
|
|
|
|
|
2487 |
msgid "More Details"
|
2488 |
msgstr ""
|
2489 |
|
2490 |
-
#: includes/admin/include/class.extension-manager.php:
|
2491 |
msgid "Multi Currency"
|
2492 |
msgstr ""
|
2493 |
|
2494 |
-
#: includes/admin/include/class.extension-manager.php:
|
2495 |
msgid "Multi Currency Pro for WooCommerce"
|
2496 |
msgstr ""
|
2497 |
|
2498 |
-
#: includes/admin/include/class.extension-manager.php:
|
2499 |
msgid ""
|
2500 |
"Multi-Currency Pro for WooCommerce is a prominent currency switcher plugin "
|
2501 |
"for WooCommerce. This plugin allows your website or online store visitors to "
|
@@ -2510,12 +2683,12 @@ msgstr ""
|
|
2510 |
msgid "Multiple Categories"
|
2511 |
msgstr ""
|
2512 |
|
2513 |
-
#: classes/class.default_data.php:
|
2514 |
-
#: includes/addons/wb_product_sku.php:
|
2515 |
msgid "N/A"
|
2516 |
msgstr ""
|
2517 |
|
2518 |
-
#: includes/helper-function.php:
|
2519 |
#: includes/addons/wl_testimonial.php:82 includes/addons/wl_testimonial.php:576
|
2520 |
#: includes/addons/product_image_accordion.php:148
|
2521 |
#: includes/addons/product_accordion.php:169
|
@@ -2523,7 +2696,7 @@ msgstr ""
|
|
2523 |
#: includes/addons/wb_customer_review.php:80
|
2524 |
#: includes/addons/wb_customer_review.php:392
|
2525 |
#: includes/addons/product_tabs.php:163
|
2526 |
-
#: includes/admin/include/class.template-manager.php:
|
2527 |
msgid "Name"
|
2528 |
msgstr ""
|
2529 |
|
@@ -2553,7 +2726,7 @@ msgstr ""
|
|
2553 |
msgid "New"
|
2554 |
msgstr ""
|
2555 |
|
2556 |
-
#: includes/admin/include/class.template_cpt.php:
|
2557 |
msgid "New Template"
|
2558 |
msgstr ""
|
2559 |
|
@@ -2564,7 +2737,7 @@ msgstr ""
|
|
2564 |
msgid "Nine"
|
2565 |
msgstr ""
|
2566 |
|
2567 |
-
#: includes/admin/include/class.template-manager.php:
|
2568 |
msgid "NO"
|
2569 |
msgstr ""
|
2570 |
|
@@ -2585,19 +2758,25 @@ msgstr ""
|
|
2585 |
msgid "No Gutters"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
-
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:
|
|
|
|
|
|
|
|
|
2589 |
msgid "No naughty business please!"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
-
#: includes/addons/wb_archive_product.php:
|
|
|
|
|
2593 |
msgid "No products were found matching your selection."
|
2594 |
msgstr ""
|
2595 |
|
2596 |
-
#: classes/class.default_data.php:
|
2597 |
msgid "No Rating Available"
|
2598 |
msgstr ""
|
2599 |
|
2600 |
-
#: classes/class.default_data.php:
|
2601 |
msgid "No related products are available."
|
2602 |
msgstr ""
|
2603 |
|
@@ -2605,7 +2784,7 @@ msgstr ""
|
|
2605 |
msgid "No Results Found"
|
2606 |
msgstr ""
|
2607 |
|
2608 |
-
#: includes/helper-function.php:
|
2609 |
msgid "No saved templates found."
|
2610 |
msgstr ""
|
2611 |
|
@@ -2615,18 +2794,18 @@ msgstr ""
|
|
2615 |
msgid "No shipping options were found for %s."
|
2616 |
msgstr ""
|
2617 |
|
2618 |
-
#: classes/class.default_data.php:
|
2619 |
msgid "No upsell products are available."
|
2620 |
msgstr ""
|
2621 |
|
2622 |
-
#: includes/admin/include/class.template-manager.php:
|
2623 |
-
#: includes/admin/include/class.template-manager.php:
|
2624 |
-
#: includes/admin/include/class.template-manager.php:
|
2625 |
-
#: includes/admin/include/class.template-manager.php:
|
2626 |
msgid "Nonce Varification Faild !"
|
2627 |
msgstr ""
|
2628 |
|
2629 |
-
#: includes/helper-function.php:
|
2630 |
#: includes/addons/product_image_accordion.php:145
|
2631 |
#: includes/addons/product_accordion.php:166
|
2632 |
#: includes/addons/product_curvy.php:201
|
@@ -2661,20 +2840,23 @@ msgstr ""
|
|
2661 |
#: includes/addons/wb_wishsuite_table.php:379
|
2662 |
#: includes/addons/product_tabs.php:267 includes/addons/product_tabs.php:634
|
2663 |
#: includes/addons/product_tabs.php:870 includes/addons/product_tabs.php:1127
|
2664 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
|
|
|
|
|
|
2665 |
#: includes/addons/wl_category_grid.php:670
|
2666 |
msgid "Normal"
|
2667 |
msgstr ""
|
2668 |
|
2669 |
-
#: includes/admin/include/class.template_cpt.php:
|
2670 |
msgid "Not found"
|
2671 |
msgstr ""
|
2672 |
|
2673 |
-
#: includes/admin/include/class.template_cpt.php:
|
2674 |
msgid "Not found in Trash"
|
2675 |
msgstr ""
|
2676 |
|
2677 |
-
#: classes/class.assest_management.php:
|
2678 |
msgid "Nothing Found"
|
2679 |
msgstr ""
|
2680 |
|
@@ -2725,6 +2907,10 @@ msgstr ""
|
|
2725 |
msgid "One Page Slider"
|
2726 |
msgstr ""
|
2727 |
|
|
|
|
|
|
|
|
|
2728 |
#: includes/addons/wb_image_marker.php:60
|
2729 |
msgid "Opacity Color"
|
2730 |
msgstr ""
|
@@ -2798,7 +2984,7 @@ msgid ""
|
|
2798 |
"the pro version."
|
2799 |
msgstr ""
|
2800 |
|
2801 |
-
#: includes/helper-function.php:
|
2802 |
msgid "Out of stock"
|
2803 |
msgstr ""
|
2804 |
|
@@ -2806,7 +2992,7 @@ msgstr ""
|
|
2806 |
msgid "Out of Stock Badge Color"
|
2807 |
msgstr ""
|
2808 |
|
2809 |
-
#: includes/helper-function.php:
|
2810 |
msgid "p"
|
2811 |
msgstr ""
|
2812 |
|
@@ -2863,7 +3049,8 @@ msgstr ""
|
|
2863 |
#: includes/addons/wl_recently_viewed_products.php:697
|
2864 |
#: includes/addons/wb_wishsuite_table.php:364
|
2865 |
#: includes/addons/product_tabs.php:693
|
2866 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
|
|
2867 |
#: includes/addons/wl_category_grid.php:449
|
2868 |
#: includes/addons/wl_category_grid.php:750
|
2869 |
msgid "Padding"
|
@@ -2875,7 +3062,7 @@ msgstr ""
|
|
2875 |
msgid "Pagination"
|
2876 |
msgstr ""
|
2877 |
|
2878 |
-
#: includes/admin/include/class.template_cpt.php:
|
2879 |
msgid "Parent Item:"
|
2880 |
msgstr ""
|
2881 |
|
@@ -2905,6 +3092,13 @@ msgstr ""
|
|
2905 |
msgid "Place order"
|
2906 |
msgstr ""
|
2907 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2908 |
#: includes/admin/include/template-library/popup-template.php:26
|
2909 |
msgctxt "placeholder"
|
2910 |
msgid "Enter a Page Name"
|
@@ -2946,6 +3140,11 @@ msgstr ""
|
|
2946 |
msgid "Please Select Filter Type"
|
2947 |
msgstr ""
|
2948 |
|
|
|
|
|
|
|
|
|
|
|
2949 |
#: includes/admin/include/template-library.php:256
|
2950 |
msgid "Plugin Not Found"
|
2951 |
msgstr ""
|
@@ -2954,6 +3153,15 @@ msgstr ""
|
|
2954 |
msgid "Plugin Successfully Activated"
|
2955 |
msgstr ""
|
2956 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2957 |
#: includes/addons/wb_product_upsell.php:69
|
2958 |
#: includes/addons/wb_archive_product.php:130
|
2959 |
#: includes/addons/wb_product_related.php:84
|
@@ -2965,27 +3173,28 @@ msgstr ""
|
|
2965 |
#: includes/addons/wl_testimonial.php:906
|
2966 |
#: includes/addons/wb_archive_product.php:895
|
2967 |
#: includes/addons/wl_recently_viewed_products.php:546
|
|
|
2968 |
#: includes/addons/wl_category_grid.php:685
|
2969 |
#: includes/addons/wl_category_grid.php:770
|
2970 |
msgid "Position"
|
2971 |
msgstr ""
|
2972 |
|
2973 |
-
#: includes/admin/include/class.template-manager.php:
|
2974 |
msgid "Post request dose not found"
|
2975 |
msgstr ""
|
2976 |
|
2977 |
-
#: includes/admin/include/class.template_cpt.php:
|
2978 |
msgctxt "Post Type General Name"
|
2979 |
msgid "Template Builder"
|
2980 |
msgstr ""
|
2981 |
|
2982 |
-
#: includes/admin/include/class.template_cpt.php:
|
2983 |
msgctxt "Post Type Singular Name"
|
2984 |
msgid "Template Builder"
|
2985 |
msgstr ""
|
2986 |
|
2987 |
-
#: classes/class.assest_management.php:
|
2988 |
-
#: includes/admin/include/admin_field-manager.php:
|
2989 |
#: includes/admin/include/admin_field-manager.php:469
|
2990 |
msgid "Preview"
|
2991 |
msgstr ""
|
@@ -3016,7 +3225,7 @@ msgstr ""
|
|
3016 |
msgid "Price color"
|
3017 |
msgstr ""
|
3018 |
|
3019 |
-
#: classes/class.default_data.php:
|
3020 |
msgid "Price does not set this product."
|
3021 |
msgstr ""
|
3022 |
|
@@ -3041,16 +3250,16 @@ msgstr ""
|
|
3041 |
msgid "Pricing"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
-
#: classes/class.assest_management.php:
|
3045 |
-
#: includes/admin/include/class.template-manager.php:
|
3046 |
-
#: includes/admin/include/admin_field-manager.php:
|
3047 |
-
#: includes/admin/include/admin_field-manager.php:
|
3048 |
#: includes/admin/include/admin_field-manager.php:450
|
3049 |
#: includes/admin/include/template-library/templates_list.php:31
|
3050 |
msgid "Pro"
|
3051 |
msgstr ""
|
3052 |
|
3053 |
-
#: includes/admin/include/class.extension-manager.php:
|
3054 |
msgid "Pro extension"
|
3055 |
msgstr ""
|
3056 |
|
@@ -3059,15 +3268,17 @@ msgid "Producing Perfume From Home"
|
|
3059 |
msgstr ""
|
3060 |
|
3061 |
#: classes/class.widgets_control.php:333
|
|
|
3062 |
msgid "Product Add To Cart"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
-
#: includes/helper-function.php:
|
3066 |
-
#: woolentor-blocks/includes/helper-functions.php:
|
3067 |
msgid "Product Added"
|
3068 |
msgstr ""
|
3069 |
|
3070 |
#: classes/class.widgets_control.php:337
|
|
|
3071 |
msgid "Product Additional Info"
|
3072 |
msgstr ""
|
3073 |
|
@@ -3090,7 +3301,7 @@ msgstr ""
|
|
3090 |
msgid "Product Category"
|
3091 |
msgstr ""
|
3092 |
|
3093 |
-
#: classes/class.default_data.php:
|
3094 |
msgid "Product category does not exists."
|
3095 |
msgstr ""
|
3096 |
|
@@ -3117,6 +3328,7 @@ msgid ""
|
|
3117 |
msgstr ""
|
3118 |
|
3119 |
#: classes/class.widgets_control.php:260
|
|
|
3120 |
msgid "Product Curvy"
|
3121 |
msgstr ""
|
3122 |
|
@@ -3125,6 +3337,7 @@ msgid "Product Data tabs"
|
|
3125 |
msgstr ""
|
3126 |
|
3127 |
#: classes/class.widgets_control.php:345
|
|
|
3128 |
msgid "Product Description"
|
3129 |
msgstr ""
|
3130 |
|
@@ -3143,6 +3356,7 @@ msgid "Product IDs"
|
|
3143 |
msgstr ""
|
3144 |
|
3145 |
#: classes/class.widgets_control.php:365
|
|
|
3146 |
msgid "Product Image"
|
3147 |
msgstr ""
|
3148 |
|
@@ -3172,6 +3386,7 @@ msgid "Product Limit"
|
|
3172 |
msgstr ""
|
3173 |
|
3174 |
#: classes/class.widgets_control.php:381
|
|
|
3175 |
msgid "Product Meta"
|
3176 |
msgstr ""
|
3177 |
|
@@ -3185,15 +3400,17 @@ msgstr ""
|
|
3185 |
msgid "Product Per Page"
|
3186 |
msgstr ""
|
3187 |
|
3188 |
-
#: classes/class.widgets_control.php:353 includes/helper-function.php:
|
3189 |
#: includes/addons/product_flash_sale.php:466
|
3190 |
#: includes/addons/product_image_accordion.php:411
|
3191 |
#: includes/addons/product_accordion.php:490
|
3192 |
#: includes/addons/product_curvy.php:482 includes/addons/product_tabs.php:1003
|
|
|
3193 |
msgid "Product Price"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
#: classes/class.widgets_control.php:397
|
|
|
3197 |
msgid "Product QR Code"
|
3198 |
msgstr ""
|
3199 |
|
@@ -3201,6 +3418,7 @@ msgstr ""
|
|
3201 |
#: includes/addons/product_image_accordion.php:474
|
3202 |
#: includes/addons/product_accordion.php:553
|
3203 |
#: includes/addons/product_curvy.php:643
|
|
|
3204 |
msgid "Product Rating"
|
3205 |
msgstr ""
|
3206 |
|
@@ -3208,6 +3426,10 @@ msgstr ""
|
|
3208 |
msgid "Product rating"
|
3209 |
msgstr ""
|
3210 |
|
|
|
|
|
|
|
|
|
3211 |
#: includes/addons/wb_product_reviews.php:43
|
3212 |
msgid "Product Reviews"
|
3213 |
msgstr ""
|
@@ -3220,6 +3442,10 @@ msgstr ""
|
|
3220 |
msgid "Product Settings"
|
3221 |
msgstr ""
|
3222 |
|
|
|
|
|
|
|
|
|
3223 |
#: classes/class.widgets_control.php:349
|
3224 |
msgid "Product short description"
|
3225 |
msgstr ""
|
@@ -3233,6 +3459,7 @@ msgid "Product Slider"
|
|
3233 |
msgstr ""
|
3234 |
|
3235 |
#: classes/class.widgets_control.php:377
|
|
|
3236 |
msgid "Product Stock"
|
3237 |
msgstr ""
|
3238 |
|
@@ -3248,11 +3475,16 @@ msgstr ""
|
|
3248 |
msgid "Product Tab"
|
3249 |
msgstr ""
|
3250 |
|
|
|
|
|
|
|
|
|
3251 |
#: includes/addons/product_tabs.php:294 includes/addons/product_tabs.php:374
|
3252 |
msgid "Product tab menu background"
|
3253 |
msgstr ""
|
3254 |
|
3255 |
#: classes/class.widgets_control.php:228
|
|
|
3256 |
msgid "Product Tabs"
|
3257 |
msgstr ""
|
3258 |
|
@@ -3260,7 +3492,7 @@ msgstr ""
|
|
3260 |
msgid "Product Tags"
|
3261 |
msgstr ""
|
3262 |
|
3263 |
-
#: classes/class.default_data.php:
|
3264 |
msgid "Product tags does not exists."
|
3265 |
msgstr ""
|
3266 |
|
@@ -3270,10 +3502,12 @@ msgstr ""
|
|
3270 |
#: includes/addons/product_curvy.php:410
|
3271 |
#: includes/addons/wb_product_title.php:43
|
3272 |
#: includes/addons/wb_product_title.php:62
|
|
|
3273 |
msgid "Product Title"
|
3274 |
msgstr ""
|
3275 |
|
3276 |
#: classes/class.widgets_control.php:373
|
|
|
3277 |
msgid "Product Upsell"
|
3278 |
msgstr ""
|
3279 |
|
@@ -3297,7 +3531,8 @@ msgstr ""
|
|
3297 |
msgid "Products reviews"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
-
#: includes/base.php:243 includes/
|
|
|
3301 |
msgid "Promo Banner"
|
3302 |
msgstr ""
|
3303 |
|
@@ -3311,16 +3546,49 @@ msgstr ""
|
|
3311 |
|
3312 |
#: includes/addons/wb_product_qr_code.php:72
|
3313 |
#: includes/addons/wb_wishsuite_table.php:205
|
|
|
3314 |
msgid "Quantity"
|
3315 |
msgstr ""
|
3316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3317 |
#: includes/addons/product_image_accordion.php:55
|
3318 |
#: includes/addons/product_accordion.php:76
|
3319 |
#: includes/addons/product_curvy.php:111
|
3320 |
msgid "Query Settings"
|
3321 |
msgstr ""
|
3322 |
|
3323 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3324 |
#: includes/addons/wb_product_upsell.php:71
|
3325 |
#: includes/addons/wb_archive_product.php:132
|
3326 |
#: includes/addons/product_image_accordion.php:151
|
@@ -3355,8 +3623,8 @@ msgstr ""
|
|
3355 |
msgid "Rating Color"
|
3356 |
msgstr ""
|
3357 |
|
3358 |
-
#: classes/class.default_data.php:
|
3359 |
-
msgid "Rating
|
3360 |
msgstr ""
|
3361 |
|
3362 |
#: includes/admin/templates/dashboard-sidebar.php:38
|
@@ -3402,7 +3670,7 @@ msgstr ""
|
|
3402 |
msgid "Remember me"
|
3403 |
msgstr ""
|
3404 |
|
3405 |
-
#: includes/admin/include/class.template_cpt.php:
|
3406 |
msgid "Remove featured image"
|
3407 |
msgstr ""
|
3408 |
|
@@ -3410,6 +3678,12 @@ msgstr ""
|
|
3410 |
msgid "Remove Icon"
|
3411 |
msgstr ""
|
3412 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3413 |
#: includes/admin/templates/dashboard-welcome.php:54
|
3414 |
msgid "Request"
|
3415 |
msgstr ""
|
@@ -3418,15 +3692,23 @@ msgstr ""
|
|
3418 |
msgid "Required for stock progress bar"
|
3419 |
msgstr ""
|
3420 |
|
3421 |
-
#: classes/class.assest_management.php:
|
3422 |
msgid "Reset All Settings"
|
3423 |
msgstr ""
|
3424 |
|
|
|
|
|
|
|
|
|
3425 |
#: includes/admin/templates/dashboard-module-setting-popup.php:18
|
3426 |
msgid "Reset To Default"
|
3427 |
msgstr ""
|
3428 |
|
3429 |
-
#:
|
|
|
|
|
|
|
|
|
3430 |
msgid "Resetting..."
|
3431 |
msgstr ""
|
3432 |
|
@@ -3487,6 +3769,10 @@ msgstr ""
|
|
3487 |
msgid "Right"
|
3488 |
msgstr ""
|
3489 |
|
|
|
|
|
|
|
|
|
3490 |
#: includes/addons/wb_archive_product.php:75
|
3491 |
#: includes/addons/product_tabs.php:112
|
3492 |
msgid "Rows"
|
@@ -3525,33 +3811,43 @@ msgstr ""
|
|
3525 |
msgid "Sale Tag"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: includes/helper-function.php:
|
3529 |
msgid "Sale!"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: includes/admin/include/class.template-manager.php:
|
3533 |
msgid "Sample Design"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
-
#: classes/class.assest_management.php:
|
3537 |
#: includes/admin/templates/dashboard-element.php:39
|
3538 |
#: includes/admin/templates/dashboard-style.php:26
|
|
|
3539 |
#: includes/admin/templates/dashboard-settings.php:18
|
3540 |
#: includes/admin/templates/dashboard-module-setting-popup.php:20
|
3541 |
-
#: includes/admin/templates/dashboard-module.php:
|
3542 |
msgid "Save Changes"
|
3543 |
msgstr ""
|
3544 |
|
3545 |
-
#: includes/admin/include/class.template-manager.php:
|
3546 |
msgid "Save Settings"
|
3547 |
msgstr ""
|
3548 |
|
3549 |
-
#:
|
|
|
|
|
|
|
|
|
3550 |
msgid "Saved All Data"
|
3551 |
msgstr ""
|
3552 |
|
3553 |
-
#:
|
3554 |
-
|
|
|
|
|
|
|
|
|
|
|
3555 |
msgid "Saving..."
|
3556 |
msgstr ""
|
3557 |
|
@@ -3577,7 +3873,7 @@ msgstr ""
|
|
3577 |
msgid "Search Products..."
|
3578 |
msgstr ""
|
3579 |
|
3580 |
-
#: includes/admin/include/class.template_cpt.php:
|
3581 |
msgid "Search Templates"
|
3582 |
msgstr ""
|
3583 |
|
@@ -3595,7 +3891,8 @@ msgstr ""
|
|
3595 |
msgid "Seconds"
|
3596 |
msgstr ""
|
3597 |
|
3598 |
-
#: includes/helper-function.php:
|
|
|
3599 |
msgid "Select"
|
3600 |
msgstr ""
|
3601 |
|
@@ -3616,6 +3913,10 @@ msgstr ""
|
|
3616 |
msgid "Select Deal"
|
3617 |
msgstr ""
|
3618 |
|
|
|
|
|
|
|
|
|
3619 |
#: includes/addons/wl_category.php:50 includes/addons/wl_brand.php:58
|
3620 |
msgid "Select Layout"
|
3621 |
msgstr ""
|
@@ -3634,7 +3935,7 @@ msgstr ""
|
|
3634 |
msgid "Select Table"
|
3635 |
msgstr ""
|
3636 |
|
3637 |
-
#: includes/helper-function.php:
|
3638 |
msgid "Select Template"
|
3639 |
msgstr ""
|
3640 |
|
@@ -3650,19 +3951,20 @@ msgstr ""
|
|
3650 |
msgid "Separator Icon"
|
3651 |
msgstr ""
|
3652 |
|
3653 |
-
#: includes/admin/include/class.template-manager.php:
|
3654 |
msgid "Set Default"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
-
#: includes/admin/include/class.template_cpt.php:
|
3658 |
msgid "Set featured image"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
-
#: includes/helper-function.php:
|
3662 |
msgid "Set the initial stock amount from"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
#: includes/base.php:268 includes/addons/wl_recently_viewed_products.php:42
|
|
|
3666 |
#: includes/admin/admin-init.php:96 includes/admin/admin-init.php:97
|
3667 |
msgid "Settings"
|
3668 |
msgstr ""
|
@@ -3674,12 +3976,16 @@ msgstr ""
|
|
3674 |
msgid "Seven"
|
3675 |
msgstr ""
|
3676 |
|
|
|
|
|
|
|
|
|
3677 |
#: includes/modules/shopify-like-checkout/templates/form-shipping.php:13
|
3678 |
msgid "Ship to a different address?"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
-
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:
|
3682 |
-
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:
|
3683 |
#: includes/modules/shopify-like-checkout/templates/review-order.php:26
|
3684 |
#: includes/modules/shopify-like-checkout/templates/form-checkout.php:49
|
3685 |
msgid "Shipping"
|
@@ -3703,8 +4009,8 @@ msgstr ""
|
|
3703 |
msgid "Shipping to %s."
|
3704 |
msgstr ""
|
3705 |
|
3706 |
-
#: includes/admin/include/class.template-manager.php:
|
3707 |
-
#: includes/admin/include/class.template-manager.php:
|
3708 |
msgid "Shop"
|
3709 |
msgstr ""
|
3710 |
|
@@ -3714,10 +4020,6 @@ msgstr ""
|
|
3714 |
msgid "Shop now"
|
3715 |
msgstr ""
|
3716 |
|
3717 |
-
#: classes/class.default_data.php:231
|
3718 |
-
msgid "Short description dose not set this product."
|
3719 |
-
msgstr ""
|
3720 |
-
|
3721 |
#: includes/addons/product_flash_sale.php:176
|
3722 |
#: includes/addons/product_flash_sale.php:328
|
3723 |
#: includes/addons/wb_product_upsell.php:95
|
@@ -3811,8 +4113,8 @@ msgid ""
|
|
3811 |
"items, and news in your inbox."
|
3812 |
msgstr ""
|
3813 |
|
3814 |
-
#: includes/admin/include/class.template-manager.php:
|
3815 |
-
#: includes/admin/include/class.template-manager.php:
|
3816 |
msgid "Single"
|
3817 |
msgstr ""
|
3818 |
|
@@ -3837,8 +4139,8 @@ msgstr ""
|
|
3837 |
msgid "SKU"
|
3838 |
msgstr ""
|
3839 |
|
3840 |
-
#: classes/class.default_data.php:
|
3841 |
-
#: includes/addons/wb_product_sku.php:
|
3842 |
msgid "SKU:"
|
3843 |
msgstr ""
|
3844 |
|
@@ -3913,7 +4215,7 @@ msgstr ""
|
|
3913 |
msgid "Social Share"
|
3914 |
msgstr ""
|
3915 |
|
3916 |
-
#: includes/helper-function.php:
|
3917 |
msgid "Sold"
|
3918 |
msgstr ""
|
3919 |
|
@@ -3930,10 +4232,10 @@ msgstr ""
|
|
3930 |
msgid "Sold:"
|
3931 |
msgstr ""
|
3932 |
|
3933 |
-
#: includes/admin/include/class.template-manager.php:
|
3934 |
-
#: includes/admin/include/class.template-manager.php:
|
3935 |
-
#: includes/admin/include/class.template-manager.php:
|
3936 |
-
#: includes/admin/include/class.template-manager.php:
|
3937 |
msgid "Some thing is worng !"
|
3938 |
msgstr ""
|
3939 |
|
@@ -3971,6 +4273,17 @@ msgid ""
|
|
3971 |
"arrangements."
|
3972 |
msgstr ""
|
3973 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3974 |
#: includes/admin/include/template-library.php:291
|
3975 |
msgid "Sorry, you are not allowed to install themes on this site."
|
3976 |
msgstr ""
|
@@ -3982,23 +4295,23 @@ msgstr ""
|
|
3982 |
msgid "Sort By"
|
3983 |
msgstr ""
|
3984 |
|
3985 |
-
#: includes/helper-function.php:
|
3986 |
msgid "Sort by average rating"
|
3987 |
msgstr ""
|
3988 |
|
3989 |
-
#: includes/helper-function.php:
|
3990 |
msgid "Sort by latest"
|
3991 |
msgstr ""
|
3992 |
|
3993 |
-
#: includes/helper-function.php:
|
3994 |
msgid "Sort by popularity"
|
3995 |
msgstr ""
|
3996 |
|
3997 |
-
#: includes/helper-function.php:
|
3998 |
msgid "Sort by price: high to low"
|
3999 |
msgstr ""
|
4000 |
|
4001 |
-
#: includes/helper-function.php:
|
4002 |
msgid "Sort by price: low to high"
|
4003 |
msgstr ""
|
4004 |
|
@@ -4010,17 +4323,26 @@ msgid "Space"
|
|
4010 |
msgstr ""
|
4011 |
|
4012 |
#: includes/addons/wb_product_image.php:118
|
|
|
|
|
|
|
|
|
4013 |
msgid "Spacing"
|
4014 |
msgstr ""
|
4015 |
|
4016 |
-
#: includes/helper-function.php:
|
4017 |
msgid "span"
|
4018 |
msgstr ""
|
4019 |
|
4020 |
#: classes/class.widgets_control.php:236
|
|
|
4021 |
msgid "Special Day Offer"
|
4022 |
msgstr ""
|
4023 |
|
|
|
|
|
|
|
|
|
4024 |
#: includes/addons/wb_product_rating.php:51
|
4025 |
msgid "Star Color"
|
4026 |
msgstr ""
|
@@ -4033,7 +4355,7 @@ msgstr ""
|
|
4033 |
msgid "Start from $100"
|
4034 |
msgstr ""
|
4035 |
|
4036 |
-
#: classes/class.default_data.php:
|
4037 |
msgid "Stock availability does not exist this product."
|
4038 |
msgstr ""
|
4039 |
|
@@ -4046,6 +4368,7 @@ msgid "Stock Progress Style"
|
|
4046 |
msgstr ""
|
4047 |
|
4048 |
#: includes/addons/wl_store_features.php:41
|
|
|
4049 |
msgid "Store Feature"
|
4050 |
msgstr ""
|
4051 |
|
@@ -4171,8 +4494,37 @@ msgstr ""
|
|
4171 |
msgid "Support"
|
4172 |
msgstr ""
|
4173 |
|
4174 |
-
#: includes/
|
4175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4176 |
msgstr ""
|
4177 |
|
4178 |
#: includes/addons/wb_product_data_tab.php:44
|
@@ -4213,8 +4565,8 @@ msgstr ""
|
|
4213 |
msgid "Tablet Resolution"
|
4214 |
msgstr ""
|
4215 |
|
4216 |
-
#: classes/class.default_data.php:
|
4217 |
-
#: includes/addons/wb_product_tags.php:
|
4218 |
msgid "Tag:"
|
4219 |
msgid_plural "Tags:"
|
4220 |
msgstr[0] ""
|
@@ -4224,35 +4576,35 @@ msgstr[1] ""
|
|
4224 |
msgid "Tags"
|
4225 |
msgstr ""
|
4226 |
|
4227 |
-
#: includes/admin/include/class.template_cpt.php:
|
4228 |
-
#: includes/admin/include/class.template_cpt.php:
|
4229 |
msgid "Template"
|
4230 |
msgstr ""
|
4231 |
|
4232 |
-
#: includes/admin/include/class.template_cpt.php:
|
4233 |
msgid "Template Archives"
|
4234 |
msgstr ""
|
4235 |
|
4236 |
-
#: includes/admin/include/class.template_cpt.php:
|
4237 |
msgid "Template Attributes"
|
4238 |
msgstr ""
|
4239 |
|
4240 |
-
#: includes/admin/include/class.template-manager.php:
|
4241 |
-
#: includes/admin/include/class.template-manager.php:
|
4242 |
-
#: includes/admin/include/class.template_cpt.php:
|
4243 |
msgid "Template Builder"
|
4244 |
msgstr ""
|
4245 |
|
4246 |
-
#: includes/admin/include/class.template-manager.php:
|
4247 |
msgid "Template has been imported"
|
4248 |
msgstr ""
|
4249 |
|
4250 |
-
#: includes/admin/include/class.template-manager.php:
|
4251 |
msgid "Template has been inserted"
|
4252 |
msgstr ""
|
4253 |
|
4254 |
-
#: includes/admin/include/class.template-manager.php:
|
4255 |
-
#: includes/admin/include/class.template-manager.php:
|
4256 |
msgid "Template has been updated"
|
4257 |
msgstr ""
|
4258 |
|
@@ -4261,20 +4613,20 @@ msgstr ""
|
|
4261 |
msgid "Template Library"
|
4262 |
msgstr ""
|
4263 |
|
4264 |
-
#: includes/admin/include/class.template-manager.php:
|
4265 |
msgid "Template Settings"
|
4266 |
msgstr ""
|
4267 |
|
4268 |
-
#: includes/admin/include/class.template_cpt.php:
|
4269 |
#: includes/admin/include/template-library/templates_list.php:11
|
4270 |
msgid "Templates"
|
4271 |
msgstr ""
|
4272 |
|
4273 |
-
#: includes/admin/include/class.template_cpt.php:
|
4274 |
msgid "Templates list"
|
4275 |
msgstr ""
|
4276 |
|
4277 |
-
#: includes/admin/include/class.template_cpt.php:
|
4278 |
msgid "Templates list navigation"
|
4279 |
msgstr ""
|
4280 |
|
@@ -4290,6 +4642,8 @@ msgid "Testimonial"
|
|
4290 |
msgstr ""
|
4291 |
|
4292 |
#: includes/addons/wb_wishsuite_counter.php:142
|
|
|
|
|
4293 |
msgid "Text"
|
4294 |
msgstr ""
|
4295 |
|
@@ -4314,8 +4668,8 @@ msgstr ""
|
|
4314 |
#: includes/addons/wb_product_suggest_price.php:708
|
4315 |
#: includes/addons/wb_product_suggest_price.php:793
|
4316 |
#: includes/addons/wb_product_stock.php:51
|
4317 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
4318 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
4319 |
msgid "Text Color"
|
4320 |
msgstr ""
|
4321 |
|
@@ -4328,10 +4682,26 @@ msgstr ""
|
|
4328 |
msgid "Thank you for contacting with us"
|
4329 |
msgstr ""
|
4330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4331 |
#: includes/addons/wl_faq.php:163
|
4332 |
msgid "The Basics Of Western Astrology Explained"
|
4333 |
msgstr ""
|
4334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4335 |
#: includes/addons/wl_testimonial.php:463 includes/addons/product_tabs.php:607
|
4336 |
#: includes/addons/wl_category_grid.php:429
|
4337 |
msgid "The resolution to mobile."
|
@@ -4342,6 +4712,10 @@ msgstr ""
|
|
4342 |
msgid "The resolution to the tablet."
|
4343 |
msgstr ""
|
4344 |
|
|
|
|
|
|
|
|
|
4345 |
#. Description of the plugin
|
4346 |
msgid ""
|
4347 |
"The WooCommerce elements library for Elementor page builder plugin for "
|
@@ -4352,13 +4726,18 @@ msgstr ""
|
|
4352 |
msgid "Theme Activated"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
-
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:
|
4356 |
#: includes/modules/shopify-like-checkout/templates/cart-shipping.php:53
|
4357 |
msgid ""
|
4358 |
"There are no shipping options available. Please ensure that your address has "
|
4359 |
"been entered correctly, or contact us if you need any help."
|
4360 |
msgstr ""
|
4361 |
|
|
|
|
|
|
|
|
|
|
|
4362 |
#: includes/addons/product_accordion.php:210
|
4363 |
msgid "This text effect only for simple product."
|
4364 |
msgstr ""
|
@@ -4395,7 +4774,7 @@ msgstr ""
|
|
4395 |
msgid "Thumbnails Position"
|
4396 |
msgstr ""
|
4397 |
|
4398 |
-
#: includes/helper-function.php:
|
4399 |
#: includes/addons/wl_faq.php:342 includes/addons/product_flash_sale.php:136
|
4400 |
#: includes/addons/product_flash_sale.php:772
|
4401 |
#: includes/addons/wl_product_horizontal_filter.php:197
|
@@ -4470,6 +4849,23 @@ msgstr ""
|
|
4470 |
msgid "To show the stock progress bar. Set the initial stock amount from"
|
4471 |
msgstr ""
|
4472 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4473 |
#: includes/addons/special_day_offer.php:54
|
4474 |
#: includes/addons/wl_product_video_gallery.php:69
|
4475 |
#: includes/admin/include/template-library/templates_list.php:54
|
@@ -4477,7 +4873,7 @@ msgstr ""
|
|
4477 |
msgid "Top"
|
4478 |
msgstr ""
|
4479 |
|
4480 |
-
#: includes/helper-function.php:
|
4481 |
msgid "Top Rated"
|
4482 |
msgstr ""
|
4483 |
|
@@ -4487,7 +4883,7 @@ msgstr ""
|
|
4487 |
msgid "Top Rated Products"
|
4488 |
msgstr ""
|
4489 |
|
4490 |
-
#: includes/helper-function.php:
|
4491 |
msgid "Top Seller"
|
4492 |
msgstr ""
|
4493 |
|
@@ -4502,8 +4898,8 @@ msgstr ""
|
|
4502 |
msgid "Two"
|
4503 |
msgstr ""
|
4504 |
|
4505 |
-
#: includes/admin/include/class.template-manager.php:
|
4506 |
-
#: includes/admin/include/class.template-manager.php:
|
4507 |
msgid "Type"
|
4508 |
msgstr ""
|
4509 |
|
@@ -4578,7 +4974,7 @@ msgstr ""
|
|
4578 |
#: includes/addons/wb_wishsuite_table.php:224
|
4579 |
#: includes/addons/wb_wishsuite_table.php:303
|
4580 |
#: includes/addons/wb_wishsuite_table.php:356
|
4581 |
-
#: includes/addons/wb_product_add_to_cart.php:
|
4582 |
#: includes/addons/wb_ever_compare_table.php:88
|
4583 |
#: includes/addons/wb_product_additional_information.php:91
|
4584 |
#: includes/addons/wb_product_additional_information.php:137
|
@@ -4594,6 +4990,7 @@ msgid "Unfortunately, no products were found in the deal you selected."
|
|
4594 |
msgstr ""
|
4595 |
|
4596 |
#: classes/class.widgets_control.php:224
|
|
|
4597 |
msgid "Universal Product"
|
4598 |
msgstr ""
|
4599 |
|
@@ -4601,11 +4998,21 @@ msgstr ""
|
|
4601 |
msgid "Unnamed Deal"
|
4602 |
msgstr ""
|
4603 |
|
4604 |
-
#: includes/admin/include/class.template_cpt.php:
|
4605 |
msgid "Update Template"
|
4606 |
msgstr ""
|
4607 |
|
4608 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4609 |
msgid "Uploaded to this Template"
|
4610 |
msgstr ""
|
4611 |
|
@@ -4613,10 +5020,14 @@ msgstr ""
|
|
4613 |
msgid "Upsells"
|
4614 |
msgstr ""
|
4615 |
|
4616 |
-
#: includes/admin/include/class.template_cpt.php:
|
4617 |
msgid "Use as featured image"
|
4618 |
msgstr ""
|
4619 |
|
|
|
|
|
|
|
|
|
4620 |
#: includes/modules/shopify-like-checkout/templates/form-login.php:24
|
4621 |
#: includes/modules/shopify-like-checkout/templates/form-login.php:25
|
4622 |
msgid "Username or email"
|
@@ -4664,15 +5075,19 @@ msgstr ""
|
|
4664 |
msgid "Video Tutorial"
|
4665 |
msgstr ""
|
4666 |
|
|
|
|
|
|
|
|
|
4667 |
#: includes/modules/backorder/class.backorder.php:190
|
4668 |
msgid "View cart"
|
4669 |
msgstr ""
|
4670 |
|
4671 |
-
#: includes/admin/include/class.template_cpt.php:
|
4672 |
msgid "View Template"
|
4673 |
msgstr ""
|
4674 |
|
4675 |
-
#: includes/admin/include/class.template_cpt.php:
|
4676 |
msgid "View Templates"
|
4677 |
msgstr ""
|
4678 |
|
@@ -4706,11 +5121,11 @@ msgid "When the product tab is off, Then working slider."
|
|
4706 |
msgstr ""
|
4707 |
|
4708 |
#: classes/class.widgets_control.php:453
|
4709 |
-
#: includes/admin/include/class.extension-manager.php:
|
4710 |
msgid "Whols"
|
4711 |
msgstr ""
|
4712 |
|
4713 |
-
#: includes/admin/include/class.extension-manager.php:
|
4714 |
msgid ""
|
4715 |
"Whols is an outstanding WordPress plugin for WooCommerce that allows store "
|
4716 |
"owners to set wholesale prices for the products of their online stores. This "
|
@@ -4721,10 +5136,14 @@ msgid ""
|
|
4721 |
"manually or automatically."
|
4722 |
msgstr ""
|
4723 |
|
4724 |
-
#: includes/admin/include/class.extension-manager.php:
|
4725 |
msgid "Whols Pro – WooCommerce Wholesale Prices"
|
4726 |
msgstr ""
|
4727 |
|
|
|
|
|
|
|
|
|
4728 |
#: includes/addons/wl_onepage_slider.php:433
|
4729 |
#: includes/addons/wl_onepage_slider.php:507
|
4730 |
#: includes/addons/special_day_offer.php:173
|
@@ -4736,6 +5155,16 @@ msgstr ""
|
|
4736 |
msgid "Wishlist"
|
4737 |
msgstr ""
|
4738 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4739 |
#: includes/addons/wb_wishsuite_table.php:49
|
4740 |
msgid "WishSuite"
|
4741 |
msgstr ""
|
@@ -4749,10 +5178,27 @@ msgstr ""
|
|
4749 |
msgid "WishSuite Table"
|
4750 |
msgstr ""
|
4751 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4752 |
#: includes/addons/add_banner.php:13
|
4753 |
msgid "WL: Add Banner"
|
4754 |
msgstr ""
|
4755 |
|
|
|
|
|
|
|
|
|
|
|
4756 |
#: includes/addons/wb_product_add_to_cart.php:13
|
4757 |
msgid "WL: Add To cart"
|
4758 |
msgstr ""
|
@@ -4766,14 +5212,20 @@ msgid "WL: Archive Result Count"
|
|
4766 |
msgstr ""
|
4767 |
|
4768 |
#: includes/addons/wl_archive_title.php:13
|
|
|
|
|
4769 |
msgid "WL: Archive Title"
|
4770 |
msgstr ""
|
4771 |
|
4772 |
#: includes/addons/wl_brand.php:13
|
|
|
|
|
4773 |
msgid "WL: Brand Logo"
|
4774 |
msgstr ""
|
4775 |
|
4776 |
#: includes/addons/wl_breadcrumbs.php:13
|
|
|
|
|
4777 |
msgid "WL: Breadcrumbs"
|
4778 |
msgstr ""
|
4779 |
|
@@ -4782,6 +5234,8 @@ msgid "WL: Call For Price"
|
|
4782 |
msgstr ""
|
4783 |
|
4784 |
#: includes/addons/wl_category_grid.php:12
|
|
|
|
|
4785 |
msgid "WL: Category Grid"
|
4786 |
msgstr ""
|
4787 |
|
@@ -4793,15 +5247,23 @@ msgstr ""
|
|
4793 |
msgid "WL: Customer Review"
|
4794 |
msgstr ""
|
4795 |
|
|
|
|
|
|
|
|
|
|
|
4796 |
#: includes/addons/wb_ever_compare_table.php:13
|
4797 |
msgid "WL: EverCompare"
|
4798 |
msgstr ""
|
4799 |
|
4800 |
-
#: includes/addons/wl_faq.php:13
|
|
|
4801 |
msgid "WL: FAQ"
|
4802 |
msgstr ""
|
4803 |
|
4804 |
#: includes/addons/wb_image_marker.php:13
|
|
|
|
|
4805 |
msgid "WL: Image Marker"
|
4806 |
msgstr ""
|
4807 |
|
@@ -4821,11 +5283,18 @@ msgstr ""
|
|
4821 |
msgid "WL: Product Accordion"
|
4822 |
msgstr ""
|
4823 |
|
|
|
|
|
|
|
|
|
|
|
4824 |
#: includes/addons/wb_product_additional_information.php:13
|
4825 |
msgid "WL: Product Additional Information"
|
4826 |
msgstr ""
|
4827 |
|
4828 |
#: includes/addons/wb_archive_product.php:13
|
|
|
|
|
4829 |
msgid "WL: Product Archive Layout (Default)"
|
4830 |
msgstr ""
|
4831 |
|
@@ -4834,6 +5303,8 @@ msgid "WL: Product Categories"
|
|
4834 |
msgstr ""
|
4835 |
|
4836 |
#: includes/addons/product_curvy.php:14
|
|
|
|
|
4837 |
msgid "WL: Product Curvy"
|
4838 |
msgstr ""
|
4839 |
|
@@ -4859,6 +5330,8 @@ msgid "WL: Product Horizontal Filter"
|
|
4859 |
msgstr ""
|
4860 |
|
4861 |
#: includes/addons/wb_product_image.php:13
|
|
|
|
|
4862 |
msgid "WL: Product Image"
|
4863 |
msgstr ""
|
4864 |
|
@@ -4867,14 +5340,25 @@ msgid "WL: Product Image Accordion"
|
|
4867 |
msgstr ""
|
4868 |
|
4869 |
#: includes/addons/wb_product_meta.php:13
|
|
|
|
|
4870 |
msgid "WL: Product Meta"
|
4871 |
msgstr ""
|
4872 |
|
4873 |
#: includes/addons/wb_product_price.php:13
|
|
|
|
|
4874 |
msgid "WL: Product Price"
|
4875 |
msgstr ""
|
4876 |
|
|
|
|
|
|
|
|
|
|
|
4877 |
#: includes/addons/wb_product_rating.php:13
|
|
|
|
|
4878 |
msgid "WL: Product Rating"
|
4879 |
msgstr ""
|
4880 |
|
@@ -4883,6 +5367,8 @@ msgid "WL: Product Reviews"
|
|
4883 |
msgstr ""
|
4884 |
|
4885 |
#: includes/addons/wb_product_short_description.php:13
|
|
|
|
|
4886 |
msgid "WL: Product Short Description"
|
4887 |
msgstr ""
|
4888 |
|
@@ -4891,22 +5377,38 @@ msgid "WL: Product SKU"
|
|
4891 |
msgstr ""
|
4892 |
|
4893 |
#: includes/addons/wb_product_stock.php:13
|
|
|
|
|
4894 |
msgid "WL: Product Stock"
|
4895 |
msgstr ""
|
4896 |
|
4897 |
#: includes/addons/product_tabs.php:13
|
|
|
|
|
4898 |
msgid "WL: Product Tab"
|
4899 |
msgstr ""
|
4900 |
|
|
|
|
|
|
|
|
|
|
|
4901 |
#: includes/addons/wb_product_tags.php:13
|
4902 |
msgid "WL: Product Tags"
|
4903 |
msgstr ""
|
4904 |
|
|
|
|
|
|
|
|
|
|
|
4905 |
#: includes/addons/wb_product_title.php:13
|
4906 |
msgid "WL: Product title"
|
4907 |
msgstr ""
|
4908 |
|
4909 |
#: includes/addons/wb_product_upsell.php:13
|
|
|
|
|
4910 |
msgid "WL: Product Upsell"
|
4911 |
msgstr ""
|
4912 |
|
@@ -4923,14 +5425,20 @@ msgid "WL: Recently Viewed Products"
|
|
4923 |
msgstr ""
|
4924 |
|
4925 |
#: includes/addons/wb_product_related.php:13
|
|
|
|
|
4926 |
msgid "WL: Related Product"
|
4927 |
msgstr ""
|
4928 |
|
4929 |
#: includes/addons/special_day_offer.php:13
|
|
|
|
|
4930 |
msgid "WL: Special Day Offer"
|
4931 |
msgstr ""
|
4932 |
|
4933 |
#: includes/addons/wl_store_features.php:13
|
|
|
|
|
4934 |
msgid "WL: Store Feature"
|
4935 |
msgstr ""
|
4936 |
|
@@ -4942,6 +5450,15 @@ msgstr ""
|
|
4942 |
msgid "WL: Testimonial"
|
4943 |
msgstr ""
|
4944 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4945 |
#: includes/addons/wb_whols.php:13
|
4946 |
msgid "WL: Whols"
|
4947 |
msgstr ""
|
@@ -4954,8 +5471,8 @@ msgstr ""
|
|
4954 |
msgid "WL: WishSuite Table"
|
4955 |
msgstr ""
|
4956 |
|
4957 |
-
#: includes/
|
4958 |
-
#: includes/admin/admin-init.php:86
|
4959 |
msgid "WooLentor"
|
4960 |
msgstr ""
|
4961 |
|
@@ -4967,18 +5484,42 @@ msgstr ""
|
|
4967 |
msgid "Woolentor Addons"
|
4968 |
msgstr ""
|
4969 |
|
|
|
|
|
|
|
|
|
4970 |
#: includes/modules/ajax-search/widget-product-search-ajax.php:12
|
4971 |
msgid "WooLentor Ajax Product Search Widget"
|
4972 |
msgstr ""
|
4973 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4974 |
#: includes/admin/templates/dashboard-element.php:15
|
4975 |
msgid "WooLentor Element"
|
4976 |
msgstr ""
|
4977 |
|
|
|
|
|
|
|
|
|
4978 |
#: includes/admin/templates/dashboard-sidebar.php:24
|
4979 |
msgid ""
|
4980 |
"WooLentor is one of the most popular WooCommerce Elementor Addons on "
|
4981 |
-
"WordPress.org. It has been downloaded more than 1,
|
4982 |
"stores are using WooLentor plugin. Why not you?"
|
4983 |
msgstr ""
|
4984 |
|
@@ -4990,7 +5531,7 @@ msgstr ""
|
|
4990 |
msgid "WooLentor Module"
|
4991 |
msgstr ""
|
4992 |
|
4993 |
-
#: includes/admin/include/class.template_cpt.php:
|
4994 |
msgid "WooLentor Template"
|
4995 |
msgstr ""
|
4996 |
|
@@ -5027,11 +5568,11 @@ msgstr ""
|
|
5027 |
msgid "Y Position"
|
5028 |
msgstr ""
|
5029 |
|
5030 |
-
#: includes/admin/include/class.template-manager.php:
|
5031 |
msgid "YES"
|
5032 |
msgstr ""
|
5033 |
|
5034 |
-
#: classes/class.assest_management.php:
|
5035 |
#: includes/addons/wl_faq.php:192 includes/addons/wl_faq.php:205
|
5036 |
#: includes/addons/wl_testimonial.php:217
|
5037 |
#: includes/addons/wl_testimonial.php:333
|
@@ -5040,7 +5581,7 @@ msgstr ""
|
|
5040 |
#: includes/addons/wl_category_grid.php:153
|
5041 |
#: includes/addons/wl_category_grid.php:214
|
5042 |
#: includes/addons/wl_category_grid.php:300
|
5043 |
-
#: includes/admin/include/class.template-manager.php:
|
5044 |
msgid "Yes"
|
5045 |
msgstr ""
|
5046 |
|
@@ -5048,6 +5589,10 @@ msgstr ""
|
|
5048 |
msgid "You are not permitted to import the template."
|
5049 |
msgstr ""
|
5050 |
|
|
|
|
|
|
|
|
|
5051 |
#: includes/admin/templates/dashboard-element.php:16
|
5052 |
#: includes/admin/templates/dashboard-module.php:18
|
5053 |
msgid "You can enable or disable all options by one click."
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WooLentor - WooCommerce Elementor Addons + Builder\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2022-07-04 04:22+0000\n"
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
16 |
"X-Loco-Version: 2.6.2; wp-6.0\n"
|
17 |
"X-Domain: woolentor"
|
18 |
|
19 |
+
#. %s: Product title
|
20 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:88
|
21 |
+
#, php-format
|
22 |
+
msgid "\"%1$s\" has been added to your cart. %2$s"
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
#. 1: Plugin name 2: PHP 3: Required PHP version
|
26 |
#: includes/base.php:186
|
27 |
#, php-format
|
56 |
"plugin to be installed and activated. Please install WooCommerce to continue."
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: classes/class.default_data.php:284
|
60 |
#, php-format
|
61 |
msgid "%s customer review"
|
62 |
msgid_plural "%s customer reviews"
|
63 |
msgstr[0] ""
|
64 |
msgstr[1] ""
|
65 |
|
66 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:188
|
67 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:203
|
68 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:217
|
69 |
+
msgid "-------"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
#: includes/admin/templates/dashboard-sidebar.php:41
|
73 |
msgid ". Which will motivate us a lot."
|
74 |
msgstr ""
|
83 |
msgid "10 Custom Shop Page Templates"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: includes/admin/templates/dashboard-sidebar.php:26
|
87 |
+
msgid "100+ Elementor Elements"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
#: includes/addons/wb_product_call_for_price.php:63
|
91 |
#: includes/addons/wb_product_call_for_price.php:64
|
92 |
msgid "123-456-7890"
|
130 |
msgid "6"
|
131 |
msgstr ""
|
132 |
|
|
|
|
|
|
|
|
|
133 |
#: includes/addons/product_tabs.php:1478 includes/addons/product_tabs.php:1604
|
134 |
+
#: woolentor-blocks/build/blocks/product-tab/index.php:332
|
135 |
+
#: woolentor-blocks/src/blocks/product-tab/index.php:332
|
136 |
msgid ":"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: woolentor-blocks/build/blocks/product-curvy/index.php:150
|
140 |
+
#: woolentor-blocks/src/blocks/product-curvy/index.php:150
|
141 |
msgid "<i class=\"fa fa-shopping-cart\"></i>"
|
142 |
msgstr ""
|
143 |
|
154 |
|
155 |
#: includes/admin/include/template-library.php:162
|
156 |
#: includes/admin/include/template-library.php:214
|
157 |
+
#: includes/admin/include/class.extension-manager.php:158
|
158 |
+
#: includes/admin/include/class.extension-manager.php:225
|
159 |
msgid "Activate"
|
160 |
msgstr ""
|
161 |
|
169 |
|
170 |
#: includes/admin/include/template-library.php:173
|
171 |
#: includes/admin/include/template-library.php:225
|
172 |
+
#: includes/admin/include/class.extension-manager.php:169
|
173 |
+
#: includes/admin/include/class.extension-manager.php:236
|
174 |
msgid "Activated"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: classes/class.assest_management.php:367
|
178 |
msgid "Activating.."
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: classes/class.assest_management.php:368 includes/addons/wl_faq.php:464
|
182 |
#: includes/addons/wl_faq.php:760 includes/addons/wb_product_data_tab.php:144
|
183 |
#: includes/addons/wb_archive_product.php:758
|
184 |
msgid "Active"
|
194 |
msgid "Add ID Manually"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: includes/admin/include/admin_field-manager.php:433
|
198 |
msgid "Add Item"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: includes/admin/include/class.template_cpt.php:34
|
202 |
msgid "Add New"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: includes/admin/include/class.template_cpt.php:33
|
206 |
msgid "Add New Template"
|
207 |
msgstr ""
|
208 |
|
209 |
#: includes/addons/wl_recently_viewed_products.php:394
|
210 |
#: includes/addons/wb_wishsuite_table.php:347
|
211 |
+
#: woolentor-blocks/includes/classes/Api/Api.php:186
|
212 |
msgid "Add To Cart"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: includes/addons/wb_product_add_to_cart.php:816
|
216 |
+
#: includes/modules/variation-swatch/includes/Frontend/Woo_Config.php:990
|
217 |
+
msgid "Add to Cart"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
#: includes/addons/wb_archive_product.php:542
|
221 |
msgid "Add To Cart Button"
|
222 |
msgstr ""
|
232 |
msgid "Add to Cart Button Text"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: includes/helper-function.php:1080 includes/helper-function.php:1081
|
236 |
+
#: includes/helper-function.php:1097
|
237 |
+
#: woolentor-blocks/includes/helper-functions.php:479
|
238 |
+
#: woolentor-blocks/includes/helper-functions.php:480
|
239 |
+
#: woolentor-blocks/includes/helper-functions.php:496
|
240 |
msgid "Add to Compare"
|
241 |
msgstr ""
|
242 |
|
263 |
msgid "admin@domain.com"
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: includes/addons/wb_product_add_to_cart.php:446
|
267 |
+
msgid "After Add to Cart"
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
#: includes/addons/wl_category_grid.php:575
|
271 |
msgid "After Border Color"
|
272 |
msgstr ""
|
305 |
msgstr ""
|
306 |
|
307 |
#: includes/addons/wb_wc_multicurrency.php:58
|
308 |
+
#: includes/admin/include/class.template-manager.php:377
|
309 |
msgid "All"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: includes/admin/include/class.template-manager.php:484
|
313 |
msgid "All Assigned Template has been imported"
|
314 |
msgstr ""
|
315 |
|
322 |
msgid "All Categories"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: includes/admin/include/class.template-manager.php:472
|
326 |
msgid "All Data Saved"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: classes/class.assest_management.php:357
|
330 |
msgid "All Items have been Loaded"
|
331 |
msgstr ""
|
332 |
|
350 |
msgid "Apply coupon"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: includes/admin/include/class.template-manager.php:260
|
354 |
+
#: includes/admin/include/class.template-manager.php:288
|
355 |
msgid "Archive"
|
356 |
msgstr ""
|
357 |
|
364 |
msgstr ""
|
365 |
|
366 |
#: classes/class.widgets_control.php:404
|
367 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:221
|
368 |
msgid "Archive Layout Default"
|
369 |
msgstr ""
|
370 |
|
379 |
#: classes/class.widgets_control.php:272
|
380 |
#: includes/addons/wl_archive_title.php:43
|
381 |
#: includes/addons/wl_archive_title.php:224
|
382 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:131
|
383 |
msgid "Archive Title"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: classes/class.assest_management.php:334
|
387 |
+
#: includes/admin/include/class.template-manager.php:487
|
388 |
msgid "Are you sure?"
|
389 |
msgstr ""
|
390 |
|
426 |
msgid "Ascending"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: includes/admin/include/class.template-manager.php:483
|
430 |
msgid "Assigned Template Importing.."
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:110
|
434 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:115
|
435 |
+
msgid "Auto convert Dropdown to Image Swatch"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:104
|
439 |
+
msgid "Auto convert Dropdowns to Label Swatch"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
#: includes/addons/wl_testimonial.php:367 includes/addons/product_tabs.php:506
|
443 |
#: includes/addons/wl_category_grid.php:333
|
444 |
msgid "Autoplay animation speed"
|
466 |
msgid "Awaiting category image"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: classes/class.default_data.php:317
|
470 |
msgid "Awaiting product image"
|
471 |
msgstr ""
|
472 |
|
552 |
#: includes/addons/product_tabs.php:661 includes/addons/product_tabs.php:713
|
553 |
#: includes/addons/product_tabs.php:817 includes/addons/product_tabs.php:1146
|
554 |
#: includes/addons/product_tabs.php:1206
|
555 |
+
#: includes/addons/wb_product_add_to_cart.php:910
|
556 |
+
#: includes/addons/wb_product_add_to_cart.php:942
|
557 |
#: includes/addons/wl_category_grid.php:719
|
558 |
#: includes/addons/wl_category_grid.php:793
|
559 |
#: includes/addons/wl_category_grid.php:893
|
621 |
msgid "Banner Title"
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: includes/addons/wb_product_add_to_cart.php:445
|
625 |
+
msgid "Befor Add to Cart"
|
626 |
+
msgstr ""
|
627 |
+
|
628 |
#: includes/addons/wl_category_grid.php:633
|
629 |
msgid "Before Border Color"
|
630 |
msgstr ""
|
710 |
#: includes/addons/product_tabs.php:674 includes/addons/product_tabs.php:726
|
711 |
#: includes/addons/product_tabs.php:789 includes/addons/product_tabs.php:831
|
712 |
#: includes/addons/product_tabs.php:878
|
713 |
+
#: includes/addons/wb_product_add_to_cart.php:543
|
714 |
+
#: includes/addons/wb_product_add_to_cart.php:637
|
715 |
+
#: includes/addons/wb_product_add_to_cart.php:891
|
716 |
#: includes/addons/wl_category_grid.php:518
|
717 |
#: includes/addons/wl_category_grid.php:731
|
718 |
#: includes/addons/wl_category_grid.php:805
|
732 |
#: includes/addons/wb_product_suggest_price.php:672
|
733 |
#: includes/addons/wb_product_suggest_price.php:815
|
734 |
#: includes/addons/wb_wishsuite_table.php:241
|
735 |
+
#: includes/addons/wb_product_add_to_cart.php:953
|
736 |
#: includes/addons/wb_ever_compare_table.php:187
|
737 |
msgid "Border Color"
|
738 |
msgstr ""
|
791 |
#: includes/addons/product_tabs.php:682 includes/addons/product_tabs.php:734
|
792 |
#: includes/addons/product_tabs.php:797 includes/addons/product_tabs.php:839
|
793 |
#: includes/addons/product_tabs.php:886
|
794 |
+
#: includes/addons/wb_product_add_to_cart.php:345
|
795 |
+
#: includes/addons/wb_product_add_to_cart.php:551
|
796 |
+
#: includes/addons/wb_product_add_to_cart.php:645
|
797 |
+
#: includes/addons/wb_product_add_to_cart.php:899
|
798 |
#: includes/addons/wl_category_grid.php:526
|
799 |
#: includes/addons/wl_category_grid.php:739
|
800 |
#: includes/addons/wl_category_grid.php:813
|
803 |
msgid "Border Radius"
|
804 |
msgstr ""
|
805 |
|
806 |
+
#: includes/addons/wb_product_add_to_cart.php:447
|
807 |
+
msgid "Both Side of Add to Cart"
|
808 |
+
msgstr ""
|
809 |
+
|
810 |
#: includes/addons/special_day_offer.php:56
|
811 |
#: includes/addons/wl_product_video_gallery.php:73
|
812 |
#: includes/addons/add_banner.php:69
|
846 |
msgstr ""
|
847 |
|
848 |
#: includes/addons/wl_brand.php:51
|
849 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:81
|
850 |
+
#: woolentor-blocks/build/blocks/brand-logo/index.php:69
|
851 |
+
#: woolentor-blocks/src/blocks/brand-logo/index.php:69
|
852 |
msgid "Brand Logo"
|
853 |
msgstr ""
|
854 |
|
861 |
msgstr ""
|
862 |
|
863 |
#: classes/class.widgets_control.php:276 includes/addons/wl_breadcrumbs.php:43
|
864 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:136
|
865 |
msgid "Breadcrumbs"
|
866 |
msgstr ""
|
867 |
|
869 |
#: includes/addons/special_day_offer.php:620 includes/addons/wb_whols.php:48
|
870 |
#: includes/addons/wb_product_call_for_price.php:74
|
871 |
#: includes/addons/wl_product_filter.php:625
|
872 |
+
#: includes/addons/wb_product_add_to_cart.php:405
|
873 |
+
#: includes/addons/wb_product_add_to_cart.php:666
|
874 |
#: includes/addons/add_banner.php:230
|
875 |
msgid "Button"
|
876 |
msgstr ""
|
919 |
msgid "Buy"
|
920 |
msgstr ""
|
921 |
|
922 |
+
#: classes/class.assest_management.php:364
|
923 |
#: includes/admin/include/template-library.php:181
|
924 |
#: includes/admin/include/template-library.php:233
|
925 |
+
#: includes/admin/include/class.extension-manager.php:189
|
926 |
#: includes/admin/templates/dashboard-popup.php:14
|
927 |
msgid "Buy Now"
|
928 |
msgstr ""
|
935 |
msgid "By"
|
936 |
msgstr ""
|
937 |
|
938 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:64
|
939 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:310
|
940 |
+
msgid ""
|
941 |
+
"By default, the \"Attribute Name\" will be shown as the tooltip. If you want "
|
942 |
+
"custom tooltip text, put it here."
|
943 |
+
msgstr ""
|
944 |
+
|
945 |
#: includes/addons/wb_product_call_for_price.php:43
|
946 |
#: includes/addons/wb_product_call_for_price.php:52
|
947 |
#: includes/addons/wb_product_call_for_price.php:53
|
948 |
msgid "Call For Price"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: classes/class.assest_management.php:333
|
952 |
+
#: includes/admin/include/class.template-manager.php:490
|
953 |
msgid "Cancel"
|
954 |
msgstr ""
|
955 |
|
995 |
|
996 |
#: classes/class.widgets_control.php:252
|
997 |
#: includes/addons/wl_category_grid.php:44
|
998 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:86
|
999 |
msgid "Category Grid"
|
1000 |
msgstr ""
|
1001 |
|
1007 |
msgid "Category List"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
+
#: classes/class.default_data.php:352 classes/class.default_data.php:400
|
1011 |
+
#: includes/addons/wb_product_categories.php:179
|
1012 |
msgid "Category:"
|
1013 |
msgid_plural "Categories:"
|
1014 |
msgstr[0] ""
|
1048 |
msgid "Choose a Payment Gateway"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: includes/modules/variation-swatch/includes/Admin.php:51
|
1052 |
+
msgid "Choose an image"
|
1053 |
+
msgstr ""
|
1054 |
+
|
1055 |
#: includes/addons/wl_brand.php:84
|
1056 |
+
#: includes/admin/include/admin_field-manager.php:289
|
1057 |
msgid "Choose Image"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:191
|
1061 |
+
msgid "Circle"
|
1062 |
+
msgstr ""
|
1063 |
+
|
1064 |
+
#: includes/modules/variation-swatch/includes/Frontend/Woo_Config.php:839
|
1065 |
+
#: includes/modules/variation-swatch/includes/Frontend/Woo_Config.php:954
|
1066 |
+
msgid "Clear"
|
1067 |
+
msgstr ""
|
1068 |
+
|
1069 |
#: includes/addons/wl_testimonial.php:100
|
1070 |
#: includes/addons/wb_customer_review.php:98
|
1071 |
msgid "Client Rating"
|
1188 |
#: includes/addons/product_tabs.php:282 includes/addons/product_tabs.php:361
|
1189 |
#: includes/addons/product_tabs.php:649 includes/addons/product_tabs.php:764
|
1190 |
#: includes/addons/product_tabs.php:1134 includes/addons/product_tabs.php:1194
|
1191 |
+
#: includes/addons/wb_product_add_to_cart.php:713
|
1192 |
+
#: includes/addons/wb_product_add_to_cart.php:735
|
1193 |
#: includes/addons/wb_product_additional_information.php:76
|
1194 |
#: includes/addons/wb_product_additional_information.php:124
|
1195 |
#: includes/addons/add_banner.php:155 includes/addons/add_banner.php:197
|
1214 |
msgid "Columns"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: includes/helper-function.php:1042 includes/addons/product_flash_sale.php:137
|
1218 |
#: includes/addons/product_image_accordion.php:150
|
1219 |
#: includes/addons/product_accordion.php:171
|
1220 |
#: includes/addons/product_curvy.php:206 includes/addons/product_tabs.php:165
|
1221 |
msgid "Comment count"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
+
#: includes/helper-function.php:1097
|
1225 |
+
#: woolentor-blocks/includes/helper-functions.php:496
|
1226 |
#: includes/modules/compare/includes/classes/Admin/Dashboard.php:59
|
1227 |
#: includes/modules/compare/includes/classes/Admin/Dashboard.php:60
|
1228 |
msgid "Compare"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: includes/addons/wb_product_add_to_cart.php:527
|
1232 |
+
#: includes/addons/wb_product_add_to_cart.php:621
|
1233 |
+
msgid "Compare Background Color"
|
1234 |
+
msgstr ""
|
1235 |
+
|
1236 |
+
#: includes/addons/wb_product_add_to_cart.php:512
|
1237 |
+
#: includes/addons/wb_product_add_to_cart.php:606
|
1238 |
+
msgid "Compare Icon Color"
|
1239 |
+
msgstr ""
|
1240 |
+
|
1241 |
#: includes/modules/shopify-like-checkout/templates/form-checkout.php:53
|
1242 |
msgid "Contact information"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: includes/admin/include/class.template_cpt.php:107
|
1246 |
+
msgid "Container Width"
|
1247 |
+
msgstr ""
|
1248 |
+
|
1249 |
#: includes/addons/wl_faq.php:45 includes/addons/wl_faq.php:82
|
1250 |
#: includes/addons/wl_faq.php:544 includes/addons/wl_onepage_slider.php:66
|
1251 |
#: includes/addons/wb_product_data_tab.php:212
|
1379 |
msgid "Create an account?"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:144
|
1383 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:197
|
1384 |
+
msgid "CSS can not saved permission need"
|
1385 |
+
msgstr ""
|
1386 |
+
|
1387 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:297
|
1388 |
+
msgid "CSS file can not build permission need"
|
1389 |
+
msgstr ""
|
1390 |
+
|
1391 |
#: includes/addons/wl_faq.php:58 includes/addons/wl_testimonial.php:71
|
1392 |
#: includes/addons/wb_customer_review.php:69
|
1393 |
msgid "Custom"
|
1424 |
msgid "Customer Review"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:203
|
1428 |
+
msgid "Data fetch"
|
1429 |
+
msgstr ""
|
1430 |
+
|
1431 |
+
#: includes/admin/admin-init.php:333
|
1432 |
msgid "Data Fetch successfully!"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:103
|
1436 |
+
msgid "Data not found!!"
|
1437 |
+
msgstr ""
|
1438 |
+
|
1439 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:210
|
1440 |
+
msgid "Data not found."
|
1441 |
+
msgstr ""
|
1442 |
+
|
1443 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:98
|
1444 |
+
msgid "Data retrive done"
|
1445 |
+
msgstr ""
|
1446 |
+
|
1447 |
+
#: includes/admin/admin-init.php:271
|
1448 |
msgid "Data Saved successfully!"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: includes/helper-function.php:1039 includes/addons/product_flash_sale.php:134
|
1452 |
#: includes/addons/wb_product_upsell.php:66
|
1453 |
#: includes/addons/wb_archive_product.php:127
|
1454 |
#: includes/addons/product_image_accordion.php:147
|
1466 |
msgstr ""
|
1467 |
|
1468 |
#: includes/addons/wl_brand.php:62
|
1469 |
+
#: includes/addons/wb_product_add_to_cart.php:59
|
1470 |
+
#: includes/admin/include/class.template-manager.php:92
|
1471 |
msgid "Default"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: includes/helper-function.php:835
|
1475 |
msgid "Default sorting"
|
1476 |
msgstr ""
|
1477 |
|
1508 |
msgid "Description Color"
|
1509 |
msgstr ""
|
1510 |
|
|
|
|
|
|
|
|
|
1511 |
#: includes/addons/wl_testimonial.php:91 includes/addons/wl_testimonial.php:633
|
1512 |
#: includes/addons/wb_customer_review.php:89
|
1513 |
#: includes/addons/wb_customer_review.php:449
|
1523 |
msgid "Developer"
|
1524 |
msgstr ""
|
1525 |
|
1526 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:205
|
1527 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:220
|
1528 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:330
|
1529 |
+
msgid "Disable"
|
1530 |
+
msgstr ""
|
1531 |
+
|
1532 |
#: includes/admin/templates/dashboard-element.php:20
|
1533 |
+
#: includes/admin/templates/dashboard-gutenberg.php:43
|
1534 |
#: includes/admin/templates/dashboard-module.php:22
|
1535 |
msgid "Disable all"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
+
#: includes/helper-function.php:610
|
1539 |
msgid "div"
|
1540 |
msgstr ""
|
1541 |
|
1543 |
msgid "Do you want to individual icon ?"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: includes/admin/include/admin_field-manager.php:351
|
1547 |
#: includes/admin/include/admin_field-manager.php:470
|
1548 |
#: includes/admin/templates/dashboard-welcome.php:19
|
1549 |
msgid "Documentation"
|
1554 |
msgstr ""
|
1555 |
|
1556 |
#: includes/admin/include/template-library.php:118
|
1557 |
+
#: includes/admin/include/class.template_cpt.php:36
|
1558 |
msgid "Edit Template"
|
1559 |
msgstr ""
|
1560 |
|
1561 |
+
#: includes/admin/include/class.template-manager.php:462
|
1562 |
msgid "Edit With Elementor"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
+
#: includes/admin/include/class.template-manager.php:205
|
1566 |
+
#: includes/admin/include/class.template-manager.php:466
|
1567 |
msgid "Edit With Gutenberg"
|
1568 |
msgstr ""
|
1569 |
|
1578 |
msgid "Element Information"
|
1579 |
msgstr ""
|
1580 |
|
1581 |
+
#: includes/admin/include/class.template-manager.php:444
|
1582 |
+
#: includes/admin/include/class.template-manager.php:478
|
1583 |
#: includes/admin/include/template-library/templates_list.php:19
|
1584 |
msgid "Elementor"
|
1585 |
msgstr ""
|
1588 |
msgid "Elementor Template"
|
1589 |
msgstr ""
|
1590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1591 |
#: includes/addons/wb_product_suggest_price.php:130
|
1592 |
msgid "Email Field Placeholder"
|
1593 |
msgstr ""
|
1612 |
msgid "Empty table text"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:204
|
1616 |
+
msgid "Enable"
|
1617 |
+
msgstr ""
|
1618 |
+
|
1619 |
#: includes/addons/wb_product_qr_code.php:62
|
1620 |
msgid "Enable Add to Cart URL"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
#: includes/admin/templates/dashboard-element.php:19
|
1624 |
+
#: includes/admin/templates/dashboard-gutenberg.php:42
|
1625 |
#: includes/admin/templates/dashboard-module.php:21
|
1626 |
msgid "Enable all"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:120
|
1630 |
+
msgid "Enable Image Type Attribute For"
|
1631 |
+
msgstr ""
|
1632 |
+
|
1633 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:383
|
1634 |
+
msgid "Enable Multi Color"
|
1635 |
+
msgstr ""
|
1636 |
+
|
1637 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:199
|
1638 |
+
msgid "Enable Shape Inset"
|
1639 |
+
msgstr ""
|
1640 |
+
|
1641 |
#: includes/modules/shopify-like-checkout/templates/cart-shipping.php:57
|
1642 |
msgid "Enter a different address"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
+
#: includes/admin/include/class.template-manager.php:453
|
1646 |
msgid "Enter a template name"
|
1647 |
msgstr ""
|
1648 |
|
1679 |
msgid "Extra Option"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:116
|
1683 |
+
msgid "FAQ"
|
1684 |
+
msgstr ""
|
1685 |
+
|
1686 |
#: classes/class.widgets_control.php:248
|
1687 |
msgid "Faq"
|
1688 |
msgstr ""
|
1691 |
msgid "FAQ Title"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
+
#: includes/helper-function.php:1044
|
1695 |
msgid "Featured"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
+
#: includes/admin/include/class.template_cpt.php:43
|
1699 |
msgid "Featured Image"
|
1700 |
msgstr ""
|
1701 |
|
1726 |
msgid "Filter By"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
+
#: includes/admin/include/class.template_cpt.php:51
|
1730 |
msgid "Filter from list"
|
1731 |
msgstr ""
|
1732 |
|
1789 |
msgid "Free"
|
1790 |
msgstr ""
|
1791 |
|
1792 |
+
#: includes/admin/include/class.extension-manager.php:135
|
1793 |
msgid "Free extension"
|
1794 |
msgstr ""
|
1795 |
|
1834 |
msgid "Gradient Color"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
+
#: includes/admin/include/class.template-manager.php:445
|
1838 |
+
msgid "Gutenberg"
|
1839 |
+
msgstr ""
|
1840 |
+
|
1841 |
+
#: includes/helper-function.php:603
|
1842 |
msgid "H1"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
+
#: includes/helper-function.php:604
|
1846 |
msgid "H2"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
+
#: includes/helper-function.php:605
|
1850 |
msgid "H3"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: includes/helper-function.php:606
|
1854 |
msgid "H4"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
+
#: includes/helper-function.php:607
|
1858 |
msgid "H5"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: includes/helper-function.php:608
|
1862 |
msgid "H6"
|
1863 |
msgstr ""
|
1864 |
|
1929 |
msgid "Here"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: includes/helper-function.php:966 includes/helper-function.php:984
|
1933 |
msgid "here"
|
1934 |
msgstr ""
|
1935 |
|
1949 |
msgid "Hide Category"
|
1950 |
msgstr ""
|
1951 |
|
1952 |
+
#: includes/addons/wb_product_add_to_cart.php:430
|
1953 |
+
#: includes/addons/wb_product_add_to_cart.php:692
|
1954 |
+
msgid "Hide Compare"
|
1955 |
+
msgstr ""
|
1956 |
+
|
1957 |
#: includes/addons/product_accordion.php:276
|
1958 |
#: includes/addons/product_curvy.php:289
|
1959 |
msgid "Hide Content"
|
1978 |
msgid "Hide Title"
|
1979 |
msgstr ""
|
1980 |
|
1981 |
+
#: includes/addons/wb_product_add_to_cart.php:420
|
1982 |
+
#: includes/addons/wb_product_add_to_cart.php:682
|
1983 |
+
msgid "Hide Wishlist"
|
1984 |
+
msgstr ""
|
1985 |
+
|
1986 |
#: includes/addons/wl_product_filter.php:103
|
1987 |
msgid "Hierarchical"
|
1988 |
msgstr ""
|
2027 |
#: includes/addons/wb_wishsuite_table.php:411
|
2028 |
#: includes/addons/product_tabs.php:353 includes/addons/product_tabs.php:748
|
2029 |
#: includes/addons/product_tabs.php:1066 includes/addons/product_tabs.php:1188
|
2030 |
+
#: includes/addons/wb_product_add_to_cart.php:239
|
2031 |
+
#: includes/addons/wb_product_add_to_cart.php:569
|
2032 |
+
#: includes/addons/wb_product_add_to_cart.php:728
|
2033 |
+
#: includes/addons/wb_product_add_to_cart.php:924
|
2034 |
#: includes/addons/wl_category_grid.php:827
|
2035 |
msgid "Hover"
|
2036 |
msgstr ""
|
2132 |
msgid "Icon Width"
|
2133 |
msgstr ""
|
2134 |
|
2135 |
+
#: includes/helper-function.php:1038 includes/addons/product_flash_sale.php:133
|
2136 |
#: includes/addons/product_image_accordion.php:146
|
2137 |
#: includes/addons/product_accordion.php:167
|
2138 |
#: includes/addons/product_curvy.php:202 includes/addons/product_tabs.php:161
|
2179 |
#: includes/addons/wb_customer_review.php:109
|
2180 |
#: includes/addons/wb_customer_review.php:361
|
2181 |
#: includes/addons/wl_category_grid.php:483
|
2182 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:219
|
2183 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:329
|
2184 |
msgid "Image"
|
2185 |
msgstr ""
|
2186 |
|
2189 |
msgstr ""
|
2190 |
|
2191 |
#: classes/class.widgets_control.php:240
|
2192 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:91
|
2193 |
msgid "Image Marker"
|
2194 |
msgstr ""
|
2195 |
|
2197 |
msgid "Image/Icon"
|
2198 |
msgstr ""
|
2199 |
|
2200 |
+
#: classes/class.assest_management.php:363
|
2201 |
msgid "Import"
|
2202 |
msgstr ""
|
2203 |
|
2204 |
+
#: includes/admin/include/class.template-manager.php:388
|
2205 |
msgid "Import Previously Assigned Templates"
|
2206 |
msgstr ""
|
2207 |
|
2209 |
msgid "Import template to your Library"
|
2210 |
msgstr ""
|
2211 |
|
2212 |
+
#: classes/class.assest_management.php:361
|
2213 |
msgid "Import to Library"
|
2214 |
msgstr ""
|
2215 |
|
2216 |
+
#: classes/class.assest_management.php:362
|
2217 |
msgid "Import to Page"
|
2218 |
msgstr ""
|
2219 |
|
2220 |
+
#: classes/class.assest_management.php:356
|
2221 |
msgid "in this package"
|
2222 |
msgstr ""
|
2223 |
|
2225 |
msgid "Information"
|
2226 |
msgstr ""
|
2227 |
|
2228 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:165
|
2229 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:300
|
2230 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:327
|
2231 |
+
msgid "Inherit"
|
2232 |
+
msgstr ""
|
2233 |
+
|
2234 |
#: includes/custom-metabox.php:45
|
2235 |
msgid "Initial number in stock"
|
2236 |
msgstr ""
|
2248 |
msgid "Input Field Placeholder"
|
2249 |
msgstr ""
|
2250 |
|
2251 |
+
#: includes/admin/include/class.template_cpt.php:47
|
2252 |
msgid "Insert into Template"
|
2253 |
msgstr ""
|
2254 |
|
2258 |
|
2259 |
#: includes/admin/include/template-library.php:168
|
2260 |
#: includes/admin/include/template-library.php:220
|
2261 |
+
#: includes/admin/include/class.extension-manager.php:164
|
2262 |
+
#: includes/admin/include/class.extension-manager.php:231
|
2263 |
msgid "Install Now"
|
2264 |
msgstr ""
|
2265 |
|
2267 |
msgid "Install WooCommerce"
|
2268 |
msgstr ""
|
2269 |
|
2270 |
+
#: classes/class.assest_management.php:366
|
2271 |
msgid "Installing.."
|
2272 |
msgstr ""
|
2273 |
|
2274 |
+
#: includes/admin/include/class.template-manager.php:488
|
2275 |
msgid ""
|
2276 |
"It will import those templates that were created from the \"Templates\" menu "
|
2277 |
"of Elementor and assigned to corresponding WooCommerce pages."
|
2309 |
msgid "JustTable"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
+
#: includes/admin/include/class.extension-manager.php:71
|
2313 |
msgid "JustTables"
|
2314 |
msgstr ""
|
2315 |
|
2316 |
+
#: includes/admin/include/class.extension-manager.php:89
|
2317 |
msgid ""
|
2318 |
"JustTables is an incredible WordPress plugin that lets you showcase all your "
|
2319 |
"WooCommerce products in a sortable and filterable table view. It allows your "
|
2323 |
"sale on your online store."
|
2324 |
msgstr ""
|
2325 |
|
2326 |
+
#: includes/admin/include/class.extension-manager.php:86
|
2327 |
msgid "JustTables Pro"
|
2328 |
msgstr ""
|
2329 |
|
2347 |
msgstr ""
|
2348 |
|
2349 |
#: includes/addons/wl_store_features.php:48
|
2350 |
+
#: includes/addons/wb_product_add_to_cart.php:47
|
2351 |
+
#: includes/addons/wb_product_add_to_cart.php:55
|
2352 |
msgid "Layout"
|
2353 |
msgstr ""
|
2354 |
|
2357 |
msgstr ""
|
2358 |
|
2359 |
#: includes/addons/wl_store_features.php:55
|
2360 |
+
#: includes/addons/wb_product_add_to_cart.php:63
|
2361 |
msgid "Layout Four"
|
2362 |
msgstr ""
|
2363 |
|
2364 |
#: includes/addons/wl_store_features.php:52
|
2365 |
+
#: includes/addons/wb_product_add_to_cart.php:60
|
2366 |
msgid "Layout One"
|
2367 |
msgstr ""
|
2368 |
|
2372 |
msgstr ""
|
2373 |
|
2374 |
#: includes/addons/wl_store_features.php:54
|
2375 |
+
#: includes/addons/wb_product_add_to_cart.php:62
|
2376 |
msgid "Layout Three"
|
2377 |
msgstr ""
|
2378 |
|
2379 |
#: includes/addons/wl_store_features.php:53
|
2380 |
+
#: includes/addons/wb_product_add_to_cart.php:61
|
2381 |
msgid "Layout Two"
|
2382 |
msgstr ""
|
2383 |
|
2530 |
#: includes/addons/product_curvy.php:711
|
2531 |
#: includes/addons/wl_product_video_gallery.php:148
|
2532 |
#: includes/addons/wl_brand.php:282
|
2533 |
+
#: includes/addons/wb_product_categories.php:151
|
2534 |
#: includes/addons/wb_product_suggest_price.php:245
|
2535 |
#: includes/addons/wb_product_suggest_price.php:344
|
2536 |
#: includes/addons/wb_product_suggest_price.php:442
|
2539 |
#: includes/addons/wb_product_rating.php:84
|
2540 |
#: includes/addons/wb_product_title.php:90
|
2541 |
#: includes/addons/wl_product_filter.php:195
|
2542 |
+
#: includes/addons/wb_product_sku.php:139
|
2543 |
#: includes/addons/wb_image_marker.php:350
|
2544 |
#: includes/addons/wb_image_marker.php:392
|
2545 |
#: includes/addons/wb_customer_review.php:420
|
2549 |
#: includes/addons/wl_recently_viewed_products.php:336
|
2550 |
#: includes/addons/wl_recently_viewed_products.php:380
|
2551 |
#: includes/addons/wl_recently_viewed_products.php:709
|
2552 |
+
#: includes/addons/wb_product_add_to_cart.php:878
|
2553 |
#: includes/addons/wb_product_additional_information.php:102
|
2554 |
#: includes/addons/add_banner.php:167 includes/addons/add_banner.php:218
|
2555 |
#: includes/addons/wl_category_grid.php:504
|
2556 |
#: includes/addons/wl_category_grid.php:598
|
2557 |
+
#: includes/addons/wb_product_tags.php:151
|
2558 |
msgid "Margin"
|
2559 |
msgstr ""
|
2560 |
|
2619 |
msgid "Min price"
|
2620 |
msgstr ""
|
2621 |
|
2622 |
+
#: includes/addons/wb_product_add_to_cart.php:113
|
2623 |
+
msgid "Minus Icon"
|
2624 |
+
msgstr ""
|
2625 |
+
|
2626 |
+
#: includes/addons/wb_product_add_to_cart.php:148
|
2627 |
+
#: includes/addons/wb_product_add_to_cart.php:246
|
2628 |
+
msgid "Minus Icon Color"
|
2629 |
+
msgstr ""
|
2630 |
+
|
2631 |
#: includes/addons/product_flash_sale.php:291
|
2632 |
#: includes/addons/product_flash_sale.php:293
|
2633 |
msgid "Minutes"
|
2651 |
msgid "Mobile Resolution"
|
2652 |
msgstr ""
|
2653 |
|
2654 |
+
#: includes/modules/variation-swatch/includes/Frontend/Woo_Config.php:732
|
2655 |
+
msgid "More"
|
2656 |
+
msgstr ""
|
2657 |
+
|
2658 |
+
#: includes/admin/include/class.extension-manager.php:186
|
2659 |
+
#: includes/admin/include/class.extension-manager.php:254
|
2660 |
msgid "More Details"
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: includes/admin/include/class.extension-manager.php:76
|
2664 |
msgid "Multi Currency"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
+
#: includes/admin/include/class.extension-manager.php:104
|
2668 |
msgid "Multi Currency Pro for WooCommerce"
|
2669 |
msgstr ""
|
2670 |
|
2671 |
+
#: includes/admin/include/class.extension-manager.php:107
|
2672 |
msgid ""
|
2673 |
"Multi-Currency Pro for WooCommerce is a prominent currency switcher plugin "
|
2674 |
"for WooCommerce. This plugin allows your website or online store visitors to "
|
2683 |
msgid "Multiple Categories"
|
2684 |
msgstr ""
|
2685 |
|
2686 |
+
#: classes/class.default_data.php:348 classes/class.default_data.php:370
|
2687 |
+
#: includes/addons/wb_product_sku.php:168
|
2688 |
msgid "N/A"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
+
#: includes/helper-function.php:1040 includes/addons/product_flash_sale.php:135
|
2692 |
#: includes/addons/wl_testimonial.php:82 includes/addons/wl_testimonial.php:576
|
2693 |
#: includes/addons/product_image_accordion.php:148
|
2694 |
#: includes/addons/product_accordion.php:169
|
2696 |
#: includes/addons/wb_customer_review.php:80
|
2697 |
#: includes/addons/wb_customer_review.php:392
|
2698 |
#: includes/addons/product_tabs.php:163
|
2699 |
+
#: includes/admin/include/class.template-manager.php:452
|
2700 |
msgid "Name"
|
2701 |
msgstr ""
|
2702 |
|
2726 |
msgid "New"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
+
#: includes/admin/include/class.template_cpt.php:35
|
2730 |
msgid "New Template"
|
2731 |
msgstr ""
|
2732 |
|
2737 |
msgid "Nine"
|
2738 |
msgstr ""
|
2739 |
|
2740 |
+
#: includes/admin/include/class.template-manager.php:132
|
2741 |
msgid "NO"
|
2742 |
msgstr ""
|
2743 |
|
2758 |
msgid "No Gutters"
|
2759 |
msgstr ""
|
2760 |
|
2761 |
+
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:435
|
2762 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:118
|
2763 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:140
|
2764 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:169
|
2765 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:327
|
2766 |
msgid "No naughty business please!"
|
2767 |
msgstr ""
|
2768 |
|
2769 |
+
#: includes/addons/wb_archive_product.php:951
|
2770 |
+
#: woolentor-blocks/build/blocks/shop-archive-default/index.php:111
|
2771 |
+
#: woolentor-blocks/src/blocks/shop-archive-default/index.php:111
|
2772 |
msgid "No products were found matching your selection."
|
2773 |
msgstr ""
|
2774 |
|
2775 |
+
#: classes/class.default_data.php:290
|
2776 |
msgid "No Rating Available"
|
2777 |
msgstr ""
|
2778 |
|
2779 |
+
#: classes/class.default_data.php:517
|
2780 |
msgid "No related products are available."
|
2781 |
msgstr ""
|
2782 |
|
2784 |
msgid "No Results Found"
|
2785 |
msgstr ""
|
2786 |
|
2787 |
+
#: includes/helper-function.php:424
|
2788 |
msgid "No saved templates found."
|
2789 |
msgstr ""
|
2790 |
|
2794 |
msgid "No shipping options were found for %s."
|
2795 |
msgstr ""
|
2796 |
|
2797 |
+
#: classes/class.default_data.php:488
|
2798 |
msgid "No upsell products are available."
|
2799 |
msgstr ""
|
2800 |
|
2801 |
+
#: includes/admin/include/class.template-manager.php:512
|
2802 |
+
#: includes/admin/include/class.template-manager.php:658
|
2803 |
+
#: includes/admin/include/class.template-manager.php:696
|
2804 |
+
#: includes/admin/include/class.template-manager.php:745
|
2805 |
msgid "Nonce Varification Faild !"
|
2806 |
msgstr ""
|
2807 |
|
2808 |
+
#: includes/helper-function.php:1037 includes/addons/product_flash_sale.php:132
|
2809 |
#: includes/addons/product_image_accordion.php:145
|
2810 |
#: includes/addons/product_accordion.php:166
|
2811 |
#: includes/addons/product_curvy.php:201
|
2840 |
#: includes/addons/wb_wishsuite_table.php:379
|
2841 |
#: includes/addons/product_tabs.php:267 includes/addons/product_tabs.php:634
|
2842 |
#: includes/addons/product_tabs.php:870 includes/addons/product_tabs.php:1127
|
2843 |
+
#: includes/addons/wb_product_add_to_cart.php:141
|
2844 |
+
#: includes/addons/wb_product_add_to_cart.php:475
|
2845 |
+
#: includes/addons/wb_product_add_to_cart.php:706
|
2846 |
+
#: includes/addons/wb_product_add_to_cart.php:839
|
2847 |
#: includes/addons/wl_category_grid.php:670
|
2848 |
msgid "Normal"
|
2849 |
msgstr ""
|
2850 |
|
2851 |
+
#: includes/admin/include/class.template_cpt.php:41
|
2852 |
msgid "Not found"
|
2853 |
msgstr ""
|
2854 |
|
2855 |
+
#: includes/admin/include/class.template_cpt.php:42
|
2856 |
msgid "Not found in Trash"
|
2857 |
msgstr ""
|
2858 |
|
2859 |
+
#: classes/class.assest_management.php:358
|
2860 |
msgid "Nothing Found"
|
2861 |
msgstr ""
|
2862 |
|
2907 |
msgid "One Page Slider"
|
2908 |
msgstr ""
|
2909 |
|
2910 |
+
#: includes/addons/wb_product_add_to_cart.php:442
|
2911 |
+
msgid "Only for wishlist and compare button."
|
2912 |
+
msgstr ""
|
2913 |
+
|
2914 |
#: includes/addons/wb_image_marker.php:60
|
2915 |
msgid "Opacity Color"
|
2916 |
msgstr ""
|
2984 |
"the pro version."
|
2985 |
msgstr ""
|
2986 |
|
2987 |
+
#: includes/helper-function.php:758 includes/helper-function.php:806
|
2988 |
msgid "Out of stock"
|
2989 |
msgstr ""
|
2990 |
|
2992 |
msgid "Out of Stock Badge Color"
|
2993 |
msgstr ""
|
2994 |
|
2995 |
+
#: includes/helper-function.php:609
|
2996 |
msgid "p"
|
2997 |
msgstr ""
|
2998 |
|
3049 |
#: includes/addons/wl_recently_viewed_products.php:697
|
3050 |
#: includes/addons/wb_wishsuite_table.php:364
|
3051 |
#: includes/addons/product_tabs.php:693
|
3052 |
+
#: includes/addons/wb_product_add_to_cart.php:361
|
3053 |
+
#: includes/addons/wb_product_add_to_cart.php:866
|
3054 |
#: includes/addons/wl_category_grid.php:449
|
3055 |
#: includes/addons/wl_category_grid.php:750
|
3056 |
msgid "Padding"
|
3062 |
msgid "Pagination"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
+
#: includes/admin/include/class.template_cpt.php:31
|
3066 |
msgid "Parent Item:"
|
3067 |
msgstr ""
|
3068 |
|
3092 |
msgid "Place order"
|
3093 |
msgstr ""
|
3094 |
|
3095 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:131
|
3096 |
+
msgid ""
|
3097 |
+
"Place the image size name here. WordPress default image sizes are: thumbnail,"
|
3098 |
+
" medium, medium_large, large and full. Custom image size also can be used. "
|
3099 |
+
"Default is: thumbnail"
|
3100 |
+
msgstr ""
|
3101 |
+
|
3102 |
#: includes/admin/include/template-library/popup-template.php:26
|
3103 |
msgctxt "placeholder"
|
3104 |
msgid "Enter a Page Name"
|
3140 |
msgid "Please Select Filter Type"
|
3141 |
msgstr ""
|
3142 |
|
3143 |
+
#: includes/modules/variation-swatch/includes/Frontend.php:132
|
3144 |
+
msgid ""
|
3145 |
+
"Please select some product options before adding this product to your cart."
|
3146 |
+
msgstr ""
|
3147 |
+
|
3148 |
#: includes/admin/include/template-library.php:256
|
3149 |
msgid "Plugin Not Found"
|
3150 |
msgstr ""
|
3153 |
msgid "Plugin Successfully Activated"
|
3154 |
msgstr ""
|
3155 |
|
3156 |
+
#: includes/addons/wb_product_add_to_cart.php:98
|
3157 |
+
msgid "Plus Icon"
|
3158 |
+
msgstr ""
|
3159 |
+
|
3160 |
+
#: includes/addons/wb_product_add_to_cart.php:167
|
3161 |
+
#: includes/addons/wb_product_add_to_cart.php:264
|
3162 |
+
msgid "Plus Icon Color"
|
3163 |
+
msgstr ""
|
3164 |
+
|
3165 |
#: includes/addons/wb_product_upsell.php:69
|
3166 |
#: includes/addons/wb_archive_product.php:130
|
3167 |
#: includes/addons/wb_product_related.php:84
|
3173 |
#: includes/addons/wl_testimonial.php:906
|
3174 |
#: includes/addons/wb_archive_product.php:895
|
3175 |
#: includes/addons/wl_recently_viewed_products.php:546
|
3176 |
+
#: includes/addons/wb_product_add_to_cart.php:440
|
3177 |
#: includes/addons/wl_category_grid.php:685
|
3178 |
#: includes/addons/wl_category_grid.php:770
|
3179 |
msgid "Position"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
+
#: includes/admin/include/class.template-manager.php:546
|
3183 |
msgid "Post request dose not found"
|
3184 |
msgstr ""
|
3185 |
|
3186 |
+
#: includes/admin/include/class.template_cpt.php:25
|
3187 |
msgctxt "Post Type General Name"
|
3188 |
msgid "Template Builder"
|
3189 |
msgstr ""
|
3190 |
|
3191 |
+
#: includes/admin/include/class.template_cpt.php:26
|
3192 |
msgctxt "Post Type Singular Name"
|
3193 |
msgid "Template Builder"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
+
#: classes/class.assest_management.php:365
|
3197 |
+
#: includes/admin/include/admin_field-manager.php:350
|
3198 |
#: includes/admin/include/admin_field-manager.php:469
|
3199 |
msgid "Preview"
|
3200 |
msgstr ""
|
3225 |
msgid "Price color"
|
3226 |
msgstr ""
|
3227 |
|
3228 |
+
#: classes/class.default_data.php:239
|
3229 |
msgid "Price does not set this product."
|
3230 |
msgstr ""
|
3231 |
|
3250 |
msgid "Pricing"
|
3251 |
msgstr ""
|
3252 |
|
3253 |
+
#: classes/class.assest_management.php:353
|
3254 |
+
#: includes/admin/include/class.template-manager.php:479
|
3255 |
+
#: includes/admin/include/admin_field-manager.php:131
|
3256 |
+
#: includes/admin/include/admin_field-manager.php:333
|
3257 |
#: includes/admin/include/admin_field-manager.php:450
|
3258 |
#: includes/admin/include/template-library/templates_list.php:31
|
3259 |
msgid "Pro"
|
3260 |
msgstr ""
|
3261 |
|
3262 |
+
#: includes/admin/include/class.extension-manager.php:136
|
3263 |
msgid "Pro extension"
|
3264 |
msgstr ""
|
3265 |
|
3268 |
msgstr ""
|
3269 |
|
3270 |
#: classes/class.widgets_control.php:333
|
3271 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:158
|
3272 |
msgid "Product Add To Cart"
|
3273 |
msgstr ""
|
3274 |
|
3275 |
+
#: includes/helper-function.php:1082
|
3276 |
+
#: woolentor-blocks/includes/helper-functions.php:481
|
3277 |
msgid "Product Added"
|
3278 |
msgstr ""
|
3279 |
|
3280 |
#: classes/class.widgets_control.php:337
|
3281 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:188
|
3282 |
msgid "Product Additional Info"
|
3283 |
msgstr ""
|
3284 |
|
3301 |
msgid "Product Category"
|
3302 |
msgstr ""
|
3303 |
|
3304 |
+
#: classes/class.default_data.php:405
|
3305 |
msgid "Product category does not exists."
|
3306 |
msgstr ""
|
3307 |
|
3328 |
msgstr ""
|
3329 |
|
3330 |
#: classes/class.widgets_control.php:260
|
3331 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:121
|
3332 |
msgid "Product Curvy"
|
3333 |
msgstr ""
|
3334 |
|
3337 |
msgstr ""
|
3338 |
|
3339 |
#: classes/class.widgets_control.php:345
|
3340 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:168
|
3341 |
msgid "Product Description"
|
3342 |
msgstr ""
|
3343 |
|
3356 |
msgstr ""
|
3357 |
|
3358 |
#: classes/class.widgets_control.php:365
|
3359 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:178
|
3360 |
msgid "Product Image"
|
3361 |
msgstr ""
|
3362 |
|
3386 |
msgstr ""
|
3387 |
|
3388 |
#: classes/class.widgets_control.php:381
|
3389 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:183
|
3390 |
msgid "Product Meta"
|
3391 |
msgstr ""
|
3392 |
|
3400 |
msgid "Product Per Page"
|
3401 |
msgstr ""
|
3402 |
|
3403 |
+
#: classes/class.widgets_control.php:353 includes/helper-function.php:1045
|
3404 |
#: includes/addons/product_flash_sale.php:466
|
3405 |
#: includes/addons/product_image_accordion.php:411
|
3406 |
#: includes/addons/product_accordion.php:490
|
3407 |
#: includes/addons/product_curvy.php:482 includes/addons/product_tabs.php:1003
|
3408 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:153
|
3409 |
msgid "Product Price"
|
3410 |
msgstr ""
|
3411 |
|
3412 |
#: classes/class.widgets_control.php:397
|
3413 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:203
|
3414 |
msgid "Product QR Code"
|
3415 |
msgstr ""
|
3416 |
|
3418 |
#: includes/addons/product_image_accordion.php:474
|
3419 |
#: includes/addons/product_accordion.php:553
|
3420 |
#: includes/addons/product_curvy.php:643
|
3421 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:173
|
3422 |
msgid "Product Rating"
|
3423 |
msgstr ""
|
3424 |
|
3426 |
msgid "Product rating"
|
3427 |
msgstr ""
|
3428 |
|
3429 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:208
|
3430 |
+
msgid "Product Related"
|
3431 |
+
msgstr ""
|
3432 |
+
|
3433 |
#: includes/addons/wb_product_reviews.php:43
|
3434 |
msgid "Product Reviews"
|
3435 |
msgstr ""
|
3442 |
msgid "Product Settings"
|
3443 |
msgstr ""
|
3444 |
|
3445 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:163
|
3446 |
+
msgid "Product Short Description"
|
3447 |
+
msgstr ""
|
3448 |
+
|
3449 |
#: classes/class.widgets_control.php:349
|
3450 |
msgid "Product short description"
|
3451 |
msgstr ""
|
3459 |
msgstr ""
|
3460 |
|
3461 |
#: classes/class.widgets_control.php:377
|
3462 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:198
|
3463 |
msgid "Product Stock"
|
3464 |
msgstr ""
|
3465 |
|
3475 |
msgid "Product Tab"
|
3476 |
msgstr ""
|
3477 |
|
3478 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:106
|
3479 |
+
msgid "Product tab"
|
3480 |
+
msgstr ""
|
3481 |
+
|
3482 |
#: includes/addons/product_tabs.php:294 includes/addons/product_tabs.php:374
|
3483 |
msgid "Product tab menu background"
|
3484 |
msgstr ""
|
3485 |
|
3486 |
#: classes/class.widgets_control.php:228
|
3487 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:193
|
3488 |
msgid "Product Tabs"
|
3489 |
msgstr ""
|
3490 |
|
3492 |
msgid "Product Tags"
|
3493 |
msgstr ""
|
3494 |
|
3495 |
+
#: classes/class.default_data.php:388
|
3496 |
msgid "Product tags does not exists."
|
3497 |
msgstr ""
|
3498 |
|
3502 |
#: includes/addons/product_curvy.php:410
|
3503 |
#: includes/addons/wb_product_title.php:43
|
3504 |
#: includes/addons/wb_product_title.php:62
|
3505 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:148
|
3506 |
msgid "Product Title"
|
3507 |
msgstr ""
|
3508 |
|
3509 |
#: classes/class.widgets_control.php:373
|
3510 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:213
|
3511 |
msgid "Product Upsell"
|
3512 |
msgstr ""
|
3513 |
|
3531 |
msgid "Products reviews"
|
3532 |
msgstr ""
|
3533 |
|
3534 |
+
#: includes/base.php:243 woolentor-blocks/includes/classes/Blocks_init.php:111
|
3535 |
+
#: includes/admin/templates/dashboard-sidebar.php:12
|
3536 |
msgid "Promo Banner"
|
3537 |
msgstr ""
|
3538 |
|
3546 |
|
3547 |
#: includes/addons/wb_product_qr_code.php:72
|
3548 |
#: includes/addons/wb_wishsuite_table.php:205
|
3549 |
+
#: includes/addons/wb_product_add_to_cart.php:129
|
3550 |
msgid "Quantity"
|
3551 |
msgstr ""
|
3552 |
|
3553 |
+
#: includes/addons/wb_product_add_to_cart.php:201
|
3554 |
+
#: includes/addons/wb_product_add_to_cart.php:318
|
3555 |
+
msgid "Quantity Backgeound"
|
3556 |
+
msgstr ""
|
3557 |
+
|
3558 |
+
#: includes/addons/wb_product_add_to_cart.php:336
|
3559 |
+
msgid "Quantity Border"
|
3560 |
+
msgstr ""
|
3561 |
+
|
3562 |
+
#: includes/addons/wb_product_add_to_cart.php:186
|
3563 |
+
#: includes/addons/wb_product_add_to_cart.php:282
|
3564 |
+
msgid "Quantity Number"
|
3565 |
+
msgstr ""
|
3566 |
+
|
3567 |
+
#: includes/addons/wb_product_add_to_cart.php:81
|
3568 |
+
msgid "Quantity Text"
|
3569 |
+
msgstr ""
|
3570 |
+
|
3571 |
#: includes/addons/product_image_accordion.php:55
|
3572 |
#: includes/addons/product_accordion.php:76
|
3573 |
#: includes/addons/product_curvy.php:111
|
3574 |
msgid "Query Settings"
|
3575 |
msgstr ""
|
3576 |
|
3577 |
+
#: woolentor-blocks/includes/templates/product-universal.php:160
|
3578 |
+
#: woolentor-blocks/includes/templates/product-universal.php:207
|
3579 |
+
#: woolentor-blocks/build/blocks/universal-product/old_index.php:414
|
3580 |
+
#: woolentor-blocks/build/blocks/universal-product/old_index.php:461
|
3581 |
+
#: woolentor-blocks/src/blocks/universal-product/old_index.php:414
|
3582 |
+
#: woolentor-blocks/src/blocks/universal-product/old_index.php:461
|
3583 |
+
msgid "Quick View"
|
3584 |
+
msgstr ""
|
3585 |
+
|
3586 |
+
#: includes/addons/wb_product_add_to_cart.php:215
|
3587 |
+
#: includes/addons/wb_product_add_to_cart.php:297
|
3588 |
+
msgid "Qunantity Text Color"
|
3589 |
+
msgstr ""
|
3590 |
+
|
3591 |
+
#: includes/helper-function.php:1043 includes/addons/product_flash_sale.php:138
|
3592 |
#: includes/addons/wb_product_upsell.php:71
|
3593 |
#: includes/addons/wb_archive_product.php:132
|
3594 |
#: includes/addons/product_image_accordion.php:151
|
3623 |
msgid "Rating Color"
|
3624 |
msgstr ""
|
3625 |
|
3626 |
+
#: classes/class.default_data.php:272
|
3627 |
+
msgid "Rating does not enable."
|
3628 |
msgstr ""
|
3629 |
|
3630 |
#: includes/admin/templates/dashboard-sidebar.php:38
|
3670 |
msgid "Remember me"
|
3671 |
msgstr ""
|
3672 |
|
3673 |
+
#: includes/admin/include/class.template_cpt.php:45
|
3674 |
msgid "Remove featured image"
|
3675 |
msgstr ""
|
3676 |
|
3678 |
msgid "Remove Icon"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:248
|
3682 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:358
|
3683 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:408
|
3684 |
+
msgid "Remove image"
|
3685 |
+
msgstr ""
|
3686 |
+
|
3687 |
#: includes/admin/templates/dashboard-welcome.php:54
|
3688 |
msgid "Request"
|
3689 |
msgstr ""
|
3692 |
msgid "Required for stock progress bar"
|
3693 |
msgstr ""
|
3694 |
|
3695 |
+
#: classes/class.assest_management.php:336
|
3696 |
msgid "Reset All Settings"
|
3697 |
msgstr ""
|
3698 |
|
3699 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:182
|
3700 |
+
msgid "Reset Done!"
|
3701 |
+
msgstr ""
|
3702 |
+
|
3703 |
#: includes/admin/templates/dashboard-module-setting-popup.php:18
|
3704 |
msgid "Reset To Default"
|
3705 |
msgstr ""
|
3706 |
|
3707 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:63
|
3708 |
+
msgid "Reset to Default"
|
3709 |
+
msgstr ""
|
3710 |
+
|
3711 |
+
#: classes/class.assest_management.php:335
|
3712 |
msgid "Resetting..."
|
3713 |
msgstr ""
|
3714 |
|
3769 |
msgid "Right"
|
3770 |
msgstr ""
|
3771 |
|
3772 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:190
|
3773 |
+
msgid "Rounded"
|
3774 |
+
msgstr ""
|
3775 |
+
|
3776 |
#: includes/addons/wb_archive_product.php:75
|
3777 |
#: includes/addons/product_tabs.php:112
|
3778 |
msgid "Rows"
|
3811 |
msgid "Sale Tag"
|
3812 |
msgstr ""
|
3813 |
|
3814 |
+
#: includes/helper-function.php:755 includes/helper-function.php:801
|
3815 |
msgid "Sale!"
|
3816 |
msgstr ""
|
3817 |
|
3818 |
+
#: includes/admin/include/class.template-manager.php:477
|
3819 |
msgid "Sample Design"
|
3820 |
msgstr ""
|
3821 |
|
3822 |
+
#: classes/class.assest_management.php:329
|
3823 |
#: includes/admin/templates/dashboard-element.php:39
|
3824 |
#: includes/admin/templates/dashboard-style.php:26
|
3825 |
+
#: includes/admin/templates/dashboard-gutenberg.php:60
|
3826 |
#: includes/admin/templates/dashboard-settings.php:18
|
3827 |
#: includes/admin/templates/dashboard-module-setting-popup.php:20
|
3828 |
+
#: includes/admin/templates/dashboard-module.php:50
|
3829 |
msgid "Save Changes"
|
3830 |
msgstr ""
|
3831 |
|
3832 |
+
#: includes/admin/include/class.template-manager.php:470
|
3833 |
msgid "Save Settings"
|
3834 |
msgstr ""
|
3835 |
|
3836 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:62
|
3837 |
+
msgid "Save Swatches"
|
3838 |
+
msgstr ""
|
3839 |
+
|
3840 |
+
#: classes/class.assest_management.php:331
|
3841 |
msgid "Saved All Data"
|
3842 |
msgstr ""
|
3843 |
|
3844 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:157
|
3845 |
+
msgid "Saved!"
|
3846 |
+
msgstr ""
|
3847 |
+
|
3848 |
+
#: classes/class.assest_management.php:330
|
3849 |
+
#: includes/admin/include/class.template-manager.php:471
|
3850 |
+
#: includes/modules/variation-swatch/includes/Admin.php:50
|
3851 |
msgid "Saving..."
|
3852 |
msgstr ""
|
3853 |
|
3873 |
msgid "Search Products..."
|
3874 |
msgstr ""
|
3875 |
|
3876 |
+
#: includes/admin/include/class.template_cpt.php:40
|
3877 |
msgid "Search Templates"
|
3878 |
msgstr ""
|
3879 |
|
3891 |
msgid "Seconds"
|
3892 |
msgstr ""
|
3893 |
|
3894 |
+
#: includes/helper-function.php:401
|
3895 |
+
#: includes/modules/variation-swatch/includes/Admin/Woo_Config.php:30
|
3896 |
msgid "Select"
|
3897 |
msgstr ""
|
3898 |
|
3913 |
msgid "Select Deal"
|
3914 |
msgstr ""
|
3915 |
|
3916 |
+
#: includes/admin/include/class.template-manager.php:456
|
3917 |
+
msgid "Select Editor"
|
3918 |
+
msgstr ""
|
3919 |
+
|
3920 |
#: includes/addons/wl_category.php:50 includes/addons/wl_brand.php:58
|
3921 |
msgid "Select Layout"
|
3922 |
msgstr ""
|
3935 |
msgid "Select Table"
|
3936 |
msgstr ""
|
3937 |
|
3938 |
+
#: includes/helper-function.php:426 includes/addons/wl_faq.php:97
|
3939 |
msgid "Select Template"
|
3940 |
msgstr ""
|
3941 |
|
3951 |
msgid "Separator Icon"
|
3952 |
msgstr ""
|
3953 |
|
3954 |
+
#: includes/admin/include/class.template-manager.php:457
|
3955 |
msgid "Set Default"
|
3956 |
msgstr ""
|
3957 |
|
3958 |
+
#: includes/admin/include/class.template_cpt.php:44
|
3959 |
msgid "Set featured image"
|
3960 |
msgstr ""
|
3961 |
|
3962 |
+
#: includes/helper-function.php:966 includes/helper-function.php:984
|
3963 |
msgid "Set the initial stock amount from"
|
3964 |
msgstr ""
|
3965 |
|
3966 |
#: includes/base.php:268 includes/addons/wl_recently_viewed_products.php:42
|
3967 |
+
#: includes/addons/wb_product_add_to_cart.php:73
|
3968 |
#: includes/admin/admin-init.php:96 includes/admin/admin-init.php:97
|
3969 |
msgid "Settings"
|
3970 |
msgstr ""
|
3976 |
msgid "Seven"
|
3977 |
msgstr ""
|
3978 |
|
3979 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:184
|
3980 |
+
msgid "Shape Style"
|
3981 |
+
msgstr ""
|
3982 |
+
|
3983 |
#: includes/modules/shopify-like-checkout/templates/form-shipping.php:13
|
3984 |
msgid "Ship to a different address?"
|
3985 |
msgstr ""
|
3986 |
|
3987 |
+
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:304
|
3988 |
+
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:305
|
3989 |
#: includes/modules/shopify-like-checkout/templates/review-order.php:26
|
3990 |
#: includes/modules/shopify-like-checkout/templates/form-checkout.php:49
|
3991 |
msgid "Shipping"
|
4009 |
msgid "Shipping to %s."
|
4010 |
msgstr ""
|
4011 |
|
4012 |
+
#: includes/admin/include/class.template-manager.php:257
|
4013 |
+
#: includes/admin/include/class.template-manager.php:284
|
4014 |
msgid "Shop"
|
4015 |
msgstr ""
|
4016 |
|
4020 |
msgid "Shop now"
|
4021 |
msgstr ""
|
4022 |
|
|
|
|
|
|
|
|
|
4023 |
#: includes/addons/product_flash_sale.php:176
|
4024 |
#: includes/addons/product_flash_sale.php:328
|
4025 |
#: includes/addons/wb_product_upsell.php:95
|
4113 |
"items, and news in your inbox."
|
4114 |
msgstr ""
|
4115 |
|
4116 |
+
#: includes/admin/include/class.template-manager.php:263
|
4117 |
+
#: includes/admin/include/class.template-manager.php:292
|
4118 |
msgid "Single"
|
4119 |
msgstr ""
|
4120 |
|
4139 |
msgid "SKU"
|
4140 |
msgstr ""
|
4141 |
|
4142 |
+
#: classes/class.default_data.php:348 classes/class.default_data.php:369
|
4143 |
+
#: includes/addons/wb_product_sku.php:167
|
4144 |
msgid "SKU:"
|
4145 |
msgstr ""
|
4146 |
|
4215 |
msgid "Social Share"
|
4216 |
msgstr ""
|
4217 |
|
4218 |
+
#: includes/helper-function.php:979
|
4219 |
msgid "Sold"
|
4220 |
msgstr ""
|
4221 |
|
4232 |
msgid "Sold:"
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: includes/admin/include/class.template-manager.php:601
|
4236 |
+
#: includes/admin/include/class.template-manager.php:677
|
4237 |
+
#: includes/admin/include/class.template-manager.php:715
|
4238 |
+
#: includes/admin/include/class.template-manager.php:785
|
4239 |
msgid "Some thing is worng !"
|
4240 |
msgstr ""
|
4241 |
|
4273 |
"arrangements."
|
4274 |
msgstr ""
|
4275 |
|
4276 |
+
#: includes/modules/variation-swatch/includes/Frontend.php:131
|
4277 |
+
msgid ""
|
4278 |
+
"Sorry, no products matched your selection. Please choose a different "
|
4279 |
+
"combination."
|
4280 |
+
msgstr ""
|
4281 |
+
|
4282 |
+
#: includes/modules/variation-swatch/includes/Frontend.php:133
|
4283 |
+
msgid ""
|
4284 |
+
"Sorry, this product is unavailable. Please choose a different combination."
|
4285 |
+
msgstr ""
|
4286 |
+
|
4287 |
#: includes/admin/include/template-library.php:291
|
4288 |
msgid "Sorry, you are not allowed to install themes on this site."
|
4289 |
msgstr ""
|
4295 |
msgid "Sort By"
|
4296 |
msgstr ""
|
4297 |
|
4298 |
+
#: includes/helper-function.php:837
|
4299 |
msgid "Sort by average rating"
|
4300 |
msgstr ""
|
4301 |
|
4302 |
+
#: includes/helper-function.php:838
|
4303 |
msgid "Sort by latest"
|
4304 |
msgstr ""
|
4305 |
|
4306 |
+
#: includes/helper-function.php:836
|
4307 |
msgid "Sort by popularity"
|
4308 |
msgstr ""
|
4309 |
|
4310 |
+
#: includes/helper-function.php:840
|
4311 |
msgid "Sort by price: high to low"
|
4312 |
msgstr ""
|
4313 |
|
4314 |
+
#: includes/helper-function.php:839
|
4315 |
msgid "Sort by price: low to high"
|
4316 |
msgstr ""
|
4317 |
|
4323 |
msgstr ""
|
4324 |
|
4325 |
#: includes/addons/wb_product_image.php:118
|
4326 |
+
#: includes/addons/wb_product_categories.php:132
|
4327 |
+
#: includes/addons/wb_product_sku.php:120
|
4328 |
+
#: includes/addons/wb_product_add_to_cart.php:377
|
4329 |
+
#: includes/addons/wb_product_tags.php:132
|
4330 |
msgid "Spacing"
|
4331 |
msgstr ""
|
4332 |
|
4333 |
+
#: includes/helper-function.php:611
|
4334 |
msgid "span"
|
4335 |
msgstr ""
|
4336 |
|
4337 |
#: classes/class.widgets_control.php:236
|
4338 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:96
|
4339 |
msgid "Special Day Offer"
|
4340 |
msgstr ""
|
4341 |
|
4342 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:189
|
4343 |
+
msgid "Squared"
|
4344 |
+
msgstr ""
|
4345 |
+
|
4346 |
#: includes/addons/wb_product_rating.php:51
|
4347 |
msgid "Star Color"
|
4348 |
msgstr ""
|
4355 |
msgid "Start from $100"
|
4356 |
msgstr ""
|
4357 |
|
4358 |
+
#: classes/class.default_data.php:463
|
4359 |
msgid "Stock availability does not exist this product."
|
4360 |
msgstr ""
|
4361 |
|
4368 |
msgstr ""
|
4369 |
|
4370 |
#: includes/addons/wl_store_features.php:41
|
4371 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:101
|
4372 |
msgid "Store Feature"
|
4373 |
msgstr ""
|
4374 |
|
4494 |
msgid "Support"
|
4495 |
msgstr ""
|
4496 |
|
4497 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:79
|
4498 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:377
|
4499 |
+
msgid "Swatch Color"
|
4500 |
+
msgstr ""
|
4501 |
+
|
4502 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:389
|
4503 |
+
msgid "Swatch Color 2"
|
4504 |
+
msgstr ""
|
4505 |
+
|
4506 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:42
|
4507 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:395
|
4508 |
+
msgid "Swatch Image"
|
4509 |
+
msgstr ""
|
4510 |
+
|
4511 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:416
|
4512 |
+
msgid "Swatch Image Size"
|
4513 |
+
msgstr ""
|
4514 |
+
|
4515 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:50
|
4516 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:213
|
4517 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:323
|
4518 |
+
msgid "Swatch Tooltip"
|
4519 |
+
msgstr ""
|
4520 |
+
|
4521 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:163
|
4522 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:298
|
4523 |
+
msgid "Swatch Type"
|
4524 |
+
msgstr ""
|
4525 |
+
|
4526 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:34
|
4527 |
+
msgid "Swatches Settings"
|
4528 |
msgstr ""
|
4529 |
|
4530 |
#: includes/addons/wb_product_data_tab.php:44
|
4565 |
msgid "Tablet Resolution"
|
4566 |
msgstr ""
|
4567 |
|
4568 |
+
#: classes/class.default_data.php:354 classes/class.default_data.php:383
|
4569 |
+
#: includes/addons/wb_product_tags.php:179
|
4570 |
msgid "Tag:"
|
4571 |
msgid_plural "Tags:"
|
4572 |
msgstr[0] ""
|
4576 |
msgid "Tags"
|
4577 |
msgstr ""
|
4578 |
|
4579 |
+
#: includes/admin/include/class.template_cpt.php:27
|
4580 |
+
#: includes/admin/include/class.template_cpt.php:28
|
4581 |
msgid "Template"
|
4582 |
msgstr ""
|
4583 |
|
4584 |
+
#: includes/admin/include/class.template_cpt.php:29
|
4585 |
msgid "Template Archives"
|
4586 |
msgstr ""
|
4587 |
|
4588 |
+
#: includes/admin/include/class.template_cpt.php:30
|
4589 |
msgid "Template Attributes"
|
4590 |
msgstr ""
|
4591 |
|
4592 |
+
#: includes/admin/include/class.template-manager.php:69
|
4593 |
+
#: includes/admin/include/class.template-manager.php:70
|
4594 |
+
#: includes/admin/include/class.template_cpt.php:55
|
4595 |
msgid "Template Builder"
|
4596 |
msgstr ""
|
4597 |
|
4598 |
+
#: includes/admin/include/class.template-manager.php:778
|
4599 |
msgid "Template has been imported"
|
4600 |
msgstr ""
|
4601 |
|
4602 |
+
#: includes/admin/include/class.template-manager.php:570
|
4603 |
msgid "Template has been inserted"
|
4604 |
msgstr ""
|
4605 |
|
4606 |
+
#: includes/admin/include/class.template-manager.php:640
|
4607 |
+
#: includes/admin/include/class.template-manager.php:707
|
4608 |
msgid "Template has been updated"
|
4609 |
msgstr ""
|
4610 |
|
4613 |
msgid "Template Library"
|
4614 |
msgstr ""
|
4615 |
|
4616 |
+
#: includes/admin/include/class.template-manager.php:459
|
4617 |
msgid "Template Settings"
|
4618 |
msgstr ""
|
4619 |
|
4620 |
+
#: includes/admin/include/class.template_cpt.php:32
|
4621 |
#: includes/admin/include/template-library/templates_list.php:11
|
4622 |
msgid "Templates"
|
4623 |
msgstr ""
|
4624 |
|
4625 |
+
#: includes/admin/include/class.template_cpt.php:49
|
4626 |
msgid "Templates list"
|
4627 |
msgstr ""
|
4628 |
|
4629 |
+
#: includes/admin/include/class.template_cpt.php:50
|
4630 |
msgid "Templates list navigation"
|
4631 |
msgstr ""
|
4632 |
|
4642 |
msgstr ""
|
4643 |
|
4644 |
#: includes/addons/wb_wishsuite_counter.php:142
|
4645 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:218
|
4646 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:328
|
4647 |
msgid "Text"
|
4648 |
msgstr ""
|
4649 |
|
4668 |
#: includes/addons/wb_product_suggest_price.php:708
|
4669 |
#: includes/addons/wb_product_suggest_price.php:793
|
4670 |
#: includes/addons/wb_product_stock.php:51
|
4671 |
+
#: includes/addons/wb_product_add_to_cart.php:846
|
4672 |
+
#: includes/addons/wb_product_add_to_cart.php:931
|
4673 |
msgid "Text Color"
|
4674 |
msgstr ""
|
4675 |
|
4682 |
msgid "Thank you for contacting with us"
|
4683 |
msgstr ""
|
4684 |
|
4685 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:123
|
4686 |
+
msgid "The attribute with Maximum variations count"
|
4687 |
+
msgstr ""
|
4688 |
+
|
4689 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:124
|
4690 |
+
msgid "The attribute with Minimum variations count"
|
4691 |
+
msgstr ""
|
4692 |
+
|
4693 |
#: includes/addons/wl_faq.php:163
|
4694 |
msgid "The Basics Of Western Astrology Explained"
|
4695 |
msgstr ""
|
4696 |
|
4697 |
+
#: classes/class.default_data.php:262
|
4698 |
+
msgid "The description does not set this product."
|
4699 |
+
msgstr ""
|
4700 |
+
|
4701 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:122
|
4702 |
+
msgid "The First attribute"
|
4703 |
+
msgstr ""
|
4704 |
+
|
4705 |
#: includes/addons/wl_testimonial.php:463 includes/addons/product_tabs.php:607
|
4706 |
#: includes/addons/wl_category_grid.php:429
|
4707 |
msgid "The resolution to mobile."
|
4712 |
msgid "The resolution to the tablet."
|
4713 |
msgstr ""
|
4714 |
|
4715 |
+
#: classes/class.default_data.php:249
|
4716 |
+
msgid "The short description does not set this product."
|
4717 |
+
msgstr ""
|
4718 |
+
|
4719 |
#. Description of the plugin
|
4720 |
msgid ""
|
4721 |
"The WooCommerce elements library for Elementor page builder plugin for "
|
4726 |
msgid "Theme Activated"
|
4727 |
msgstr ""
|
4728 |
|
4729 |
+
#: includes/modules/shopify-like-checkout/class.shopify-like-checkout.php:308
|
4730 |
#: includes/modules/shopify-like-checkout/templates/cart-shipping.php:53
|
4731 |
msgid ""
|
4732 |
"There are no shipping options available. Please ensure that your address has "
|
4733 |
"been entered correctly, or contact us if you need any help."
|
4734 |
msgstr ""
|
4735 |
|
4736 |
+
#: includes/modules/variation-swatch/includes/Frontend/Woo_Config.php:818
|
4737 |
+
#: includes/modules/variation-swatch/includes/Frontend/Woo_Config.php:900
|
4738 |
+
msgid "This product is currently out of stock and unavailable."
|
4739 |
+
msgstr ""
|
4740 |
+
|
4741 |
#: includes/addons/product_accordion.php:210
|
4742 |
msgid "This text effect only for simple product."
|
4743 |
msgstr ""
|
4774 |
msgid "Thumbnails Position"
|
4775 |
msgstr ""
|
4776 |
|
4777 |
+
#: includes/helper-function.php:1041 includes/addons/wl_faq.php:68
|
4778 |
#: includes/addons/wl_faq.php:342 includes/addons/product_flash_sale.php:136
|
4779 |
#: includes/addons/product_flash_sale.php:772
|
4780 |
#: includes/addons/wl_product_horizontal_filter.php:197
|
4849 |
msgid "To show the stock progress bar. Set the initial stock amount from"
|
4850 |
msgstr ""
|
4851 |
|
4852 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:71
|
4853 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:235
|
4854 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:345
|
4855 |
+
msgid "Tooltip Image"
|
4856 |
+
msgstr ""
|
4857 |
+
|
4858 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:256
|
4859 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:366
|
4860 |
+
msgid "Tooltip Image Size"
|
4861 |
+
msgstr ""
|
4862 |
+
|
4863 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:63
|
4864 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:227
|
4865 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:337
|
4866 |
+
msgid "Tooltip Text"
|
4867 |
+
msgstr ""
|
4868 |
+
|
4869 |
#: includes/addons/special_day_offer.php:54
|
4870 |
#: includes/addons/wl_product_video_gallery.php:69
|
4871 |
#: includes/admin/include/template-library/templates_list.php:54
|
4873 |
msgid "Top"
|
4874 |
msgstr ""
|
4875 |
|
4876 |
+
#: includes/helper-function.php:1047
|
4877 |
msgid "Top Rated"
|
4878 |
msgstr ""
|
4879 |
|
4883 |
msgid "Top Rated Products"
|
4884 |
msgstr ""
|
4885 |
|
4886 |
+
#: includes/helper-function.php:1046
|
4887 |
msgid "Top Seller"
|
4888 |
msgstr ""
|
4889 |
|
4898 |
msgid "Two"
|
4899 |
msgstr ""
|
4900 |
|
4901 |
+
#: includes/admin/include/class.template-manager.php:91
|
4902 |
+
#: includes/admin/include/class.template-manager.php:455
|
4903 |
msgid "Type"
|
4904 |
msgstr ""
|
4905 |
|
4974 |
#: includes/addons/wb_wishsuite_table.php:224
|
4975 |
#: includes/addons/wb_wishsuite_table.php:303
|
4976 |
#: includes/addons/wb_wishsuite_table.php:356
|
4977 |
+
#: includes/addons/wb_product_add_to_cart.php:858
|
4978 |
#: includes/addons/wb_ever_compare_table.php:88
|
4979 |
#: includes/addons/wb_product_additional_information.php:91
|
4980 |
#: includes/addons/wb_product_additional_information.php:137
|
4990 |
msgstr ""
|
4991 |
|
4992 |
#: classes/class.widgets_control.php:224
|
4993 |
+
#: woolentor-blocks/includes/classes/Blocks_init.php:126
|
4994 |
msgid "Universal Product"
|
4995 |
msgstr ""
|
4996 |
|
4998 |
msgid "Unnamed Deal"
|
4999 |
msgstr ""
|
5000 |
|
5001 |
+
#: includes/admin/include/class.template_cpt.php:37
|
5002 |
msgid "Update Template"
|
5003 |
msgstr ""
|
5004 |
|
5005 |
+
#: includes/modules/variation-swatch/includes/Admin/Attribute_Taxonomy_Metabox.php:264
|
5006 |
+
msgid "Upload"
|
5007 |
+
msgstr ""
|
5008 |
+
|
5009 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:247
|
5010 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:357
|
5011 |
+
#: includes/modules/variation-swatch/includes/Admin/Product_Metabox.php:407
|
5012 |
+
msgid "Upload/Add image"
|
5013 |
+
msgstr ""
|
5014 |
+
|
5015 |
+
#: includes/admin/include/class.template_cpt.php:48
|
5016 |
msgid "Uploaded to this Template"
|
5017 |
msgstr ""
|
5018 |
|
5020 |
msgid "Upsells"
|
5021 |
msgstr ""
|
5022 |
|
5023 |
+
#: includes/admin/include/class.template_cpt.php:46
|
5024 |
msgid "Use as featured image"
|
5025 |
msgstr ""
|
5026 |
|
5027 |
+
#: includes/modules/variation-swatch/includes/Admin.php:52
|
5028 |
+
msgid "Use image"
|
5029 |
+
msgstr ""
|
5030 |
+
|
5031 |
#: includes/modules/shopify-like-checkout/templates/form-login.php:24
|
5032 |
#: includes/modules/shopify-like-checkout/templates/form-login.php:25
|
5033 |
msgid "Username or email"
|
5075 |
msgid "Video Tutorial"
|
5076 |
msgstr ""
|
5077 |
|
5078 |
+
#: includes/modules/variation-swatch/includes/ajax-actions.php:90
|
5079 |
+
msgid "View Cart"
|
5080 |
+
msgstr ""
|
5081 |
+
|
5082 |
#: includes/modules/backorder/class.backorder.php:190
|
5083 |
msgid "View cart"
|
5084 |
msgstr ""
|
5085 |
|
5086 |
+
#: includes/admin/include/class.template_cpt.php:38
|
5087 |
msgid "View Template"
|
5088 |
msgstr ""
|
5089 |
|
5090 |
+
#: includes/admin/include/class.template_cpt.php:39
|
5091 |
msgid "View Templates"
|
5092 |
msgstr ""
|
5093 |
|
5121 |
msgstr ""
|
5122 |
|
5123 |
#: classes/class.widgets_control.php:453
|
5124 |
+
#: includes/admin/include/class.extension-manager.php:66
|
5125 |
msgid "Whols"
|
5126 |
msgstr ""
|
5127 |
|
5128 |
+
#: includes/admin/include/class.extension-manager.php:98
|
5129 |
msgid ""
|
5130 |
"Whols is an outstanding WordPress plugin for WooCommerce that allows store "
|
5131 |
"owners to set wholesale prices for the products of their online stores. This "
|
5136 |
"manually or automatically."
|
5137 |
msgstr ""
|
5138 |
|
5139 |
+
#: includes/admin/include/class.extension-manager.php:95
|
5140 |
msgid "Whols Pro – WooCommerce Wholesale Prices"
|
5141 |
msgstr ""
|
5142 |
|
5143 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:125
|
5144 |
+
msgid "Widget CSS Saved."
|
5145 |
+
msgstr ""
|
5146 |
+
|
5147 |
#: includes/addons/wl_onepage_slider.php:433
|
5148 |
#: includes/addons/wl_onepage_slider.php:507
|
5149 |
#: includes/addons/special_day_offer.php:173
|
5155 |
msgid "Wishlist"
|
5156 |
msgstr ""
|
5157 |
|
5158 |
+
#: includes/addons/wb_product_add_to_cart.php:497
|
5159 |
+
#: includes/addons/wb_product_add_to_cart.php:591
|
5160 |
+
msgid "Wishlist Background Color"
|
5161 |
+
msgstr ""
|
5162 |
+
|
5163 |
+
#: includes/addons/wb_product_add_to_cart.php:482
|
5164 |
+
#: includes/addons/wb_product_add_to_cart.php:576
|
5165 |
+
msgid "Wishlist Icon Color"
|
5166 |
+
msgstr ""
|
5167 |
+
|
5168 |
#: includes/addons/wb_wishsuite_table.php:49
|
5169 |
msgid "WishSuite"
|
5170 |
msgstr ""
|
5178 |
msgid "WishSuite Table"
|
5179 |
msgstr ""
|
5180 |
|
5181 |
+
#: includes/modules/variation-swatch/includes/Admin/Woo_Config.php:32
|
5182 |
+
msgid "WL Color"
|
5183 |
+
msgstr ""
|
5184 |
+
|
5185 |
+
#: includes/modules/variation-swatch/includes/Admin/Woo_Config.php:33
|
5186 |
+
msgid "WL Image"
|
5187 |
+
msgstr ""
|
5188 |
+
|
5189 |
+
#: includes/modules/variation-swatch/includes/Admin/Woo_Config.php:31
|
5190 |
+
msgid "WL Label"
|
5191 |
+
msgstr ""
|
5192 |
+
|
5193 |
#: includes/addons/add_banner.php:13
|
5194 |
msgid "WL: Add Banner"
|
5195 |
msgstr ""
|
5196 |
|
5197 |
+
#: woolentor-blocks/build/blocks/product-addtocart/index.php:48
|
5198 |
+
#: woolentor-blocks/src/blocks/product-addtocart/index.php:48
|
5199 |
+
msgid "WL: Add To Cart"
|
5200 |
+
msgstr ""
|
5201 |
+
|
5202 |
#: includes/addons/wb_product_add_to_cart.php:13
|
5203 |
msgid "WL: Add To cart"
|
5204 |
msgstr ""
|
5212 |
msgstr ""
|
5213 |
|
5214 |
#: includes/addons/wl_archive_title.php:13
|
5215 |
+
#: woolentor-blocks/build/blocks/archive-title/index.php:48
|
5216 |
+
#: woolentor-blocks/src/blocks/archive-title/index.php:48
|
5217 |
msgid "WL: Archive Title"
|
5218 |
msgstr ""
|
5219 |
|
5220 |
#: includes/addons/wl_brand.php:13
|
5221 |
+
#: woolentor-blocks/build/blocks/brand-logo/index.php:48
|
5222 |
+
#: woolentor-blocks/src/blocks/brand-logo/index.php:48
|
5223 |
msgid "WL: Brand Logo"
|
5224 |
msgstr ""
|
5225 |
|
5226 |
#: includes/addons/wl_breadcrumbs.php:13
|
5227 |
+
#: woolentor-blocks/build/blocks/breadcrumbs/index.php:48
|
5228 |
+
#: woolentor-blocks/src/blocks/breadcrumbs/index.php:48
|
5229 |
msgid "WL: Breadcrumbs"
|
5230 |
msgstr ""
|
5231 |
|
5234 |
msgstr ""
|
5235 |
|
5236 |
#: includes/addons/wl_category_grid.php:12
|
5237 |
+
#: woolentor-blocks/build/blocks/category-grid/index.php:48
|
5238 |
+
#: woolentor-blocks/src/blocks/category-grid/index.php:48
|
5239 |
msgid "WL: Category Grid"
|
5240 |
msgstr ""
|
5241 |
|
5247 |
msgid "WL: Customer Review"
|
5248 |
msgstr ""
|
5249 |
|
5250 |
+
#: woolentor-blocks/build/blocks/product-description/index.php:48
|
5251 |
+
#: woolentor-blocks/src/blocks/product-description/index.php:48
|
5252 |
+
msgid "WL: Description"
|
5253 |
+
msgstr ""
|
5254 |
+
|
5255 |
#: includes/addons/wb_ever_compare_table.php:13
|
5256 |
msgid "WL: EverCompare"
|
5257 |
msgstr ""
|
5258 |
|
5259 |
+
#: includes/addons/wl_faq.php:13 woolentor-blocks/build/blocks/faq/index.php:48
|
5260 |
+
#: woolentor-blocks/src/blocks/faq/index.php:48
|
5261 |
msgid "WL: FAQ"
|
5262 |
msgstr ""
|
5263 |
|
5264 |
#: includes/addons/wb_image_marker.php:13
|
5265 |
+
#: woolentor-blocks/build/blocks/image-marker/index.php:48
|
5266 |
+
#: woolentor-blocks/src/blocks/image-marker/index.php:48
|
5267 |
msgid "WL: Image Marker"
|
5268 |
msgstr ""
|
5269 |
|
5283 |
msgid "WL: Product Accordion"
|
5284 |
msgstr ""
|
5285 |
|
5286 |
+
#: woolentor-blocks/build/blocks/product-additional-info/index.php:48
|
5287 |
+
#: woolentor-blocks/src/blocks/product-additional-info/index.php:48
|
5288 |
+
msgid "WL: Product Additional Info"
|
5289 |
+
msgstr ""
|
5290 |
+
|
5291 |
#: includes/addons/wb_product_additional_information.php:13
|
5292 |
msgid "WL: Product Additional Information"
|
5293 |
msgstr ""
|
5294 |
|
5295 |
#: includes/addons/wb_archive_product.php:13
|
5296 |
+
#: woolentor-blocks/build/blocks/shop-archive-default/index.php:48
|
5297 |
+
#: woolentor-blocks/src/blocks/shop-archive-default/index.php:48
|
5298 |
msgid "WL: Product Archive Layout (Default)"
|
5299 |
msgstr ""
|
5300 |
|
5303 |
msgstr ""
|
5304 |
|
5305 |
#: includes/addons/product_curvy.php:14
|
5306 |
+
#: woolentor-blocks/build/blocks/product-curvy/index.php:48
|
5307 |
+
#: woolentor-blocks/src/blocks/product-curvy/index.php:48
|
5308 |
msgid "WL: Product Curvy"
|
5309 |
msgstr ""
|
5310 |
|
5330 |
msgstr ""
|
5331 |
|
5332 |
#: includes/addons/wb_product_image.php:13
|
5333 |
+
#: woolentor-blocks/build/blocks/product-image/index.php:48
|
5334 |
+
#: woolentor-blocks/src/blocks/product-image/index.php:48
|
5335 |
msgid "WL: Product Image"
|
5336 |
msgstr ""
|
5337 |
|
5340 |
msgstr ""
|
5341 |
|
5342 |
#: includes/addons/wb_product_meta.php:13
|
5343 |
+
#: woolentor-blocks/build/blocks/product-meta/index.php:48
|
5344 |
+
#: woolentor-blocks/src/blocks/product-meta/index.php:48
|
5345 |
msgid "WL: Product Meta"
|
5346 |
msgstr ""
|
5347 |
|
5348 |
#: includes/addons/wb_product_price.php:13
|
5349 |
+
#: woolentor-blocks/build/blocks/product-price/index.php:48
|
5350 |
+
#: woolentor-blocks/src/blocks/product-price/index.php:48
|
5351 |
msgid "WL: Product Price"
|
5352 |
msgstr ""
|
5353 |
|
5354 |
+
#: woolentor-blocks/build/blocks/product-qrcode/index.php:48
|
5355 |
+
#: woolentor-blocks/src/blocks/product-qrcode/index.php:48
|
5356 |
+
msgid "WL: Product QR Code"
|
5357 |
+
msgstr ""
|
5358 |
+
|
5359 |
#: includes/addons/wb_product_rating.php:13
|
5360 |
+
#: woolentor-blocks/build/blocks/product-rating/index.php:48
|
5361 |
+
#: woolentor-blocks/src/blocks/product-rating/index.php:48
|
5362 |
msgid "WL: Product Rating"
|
5363 |
msgstr ""
|
5364 |
|
5367 |
msgstr ""
|
5368 |
|
5369 |
#: includes/addons/wb_product_short_description.php:13
|
5370 |
+
#: woolentor-blocks/build/blocks/product-short-description/index.php:48
|
5371 |
+
#: woolentor-blocks/src/blocks/product-short-description/index.php:48
|
5372 |
msgid "WL: Product Short Description"
|
5373 |
msgstr ""
|
5374 |
|
5377 |
msgstr ""
|
5378 |
|
5379 |
#: includes/addons/wb_product_stock.php:13
|
5380 |
+
#: woolentor-blocks/build/blocks/product-stock/index.php:48
|
5381 |
+
#: woolentor-blocks/src/blocks/product-stock/index.php:48
|
5382 |
msgid "WL: Product Stock"
|
5383 |
msgstr ""
|
5384 |
|
5385 |
#: includes/addons/product_tabs.php:13
|
5386 |
+
#: woolentor-blocks/build/blocks/product-tab/index.php:46
|
5387 |
+
#: woolentor-blocks/src/blocks/product-tab/index.php:46
|
5388 |
msgid "WL: Product Tab"
|
5389 |
msgstr ""
|
5390 |
|
5391 |
+
#: woolentor-blocks/build/blocks/product-tabs/index.php:48
|
5392 |
+
#: woolentor-blocks/src/blocks/product-tabs/index.php:48
|
5393 |
+
msgid "WL: Product Tabs"
|
5394 |
+
msgstr ""
|
5395 |
+
|
5396 |
#: includes/addons/wb_product_tags.php:13
|
5397 |
msgid "WL: Product Tags"
|
5398 |
msgstr ""
|
5399 |
|
5400 |
+
#: woolentor-blocks/build/blocks/product-title/index.php:48
|
5401 |
+
#: woolentor-blocks/src/blocks/product-title/index.php:48
|
5402 |
+
msgid "WL: Product Title"
|
5403 |
+
msgstr ""
|
5404 |
+
|
5405 |
#: includes/addons/wb_product_title.php:13
|
5406 |
msgid "WL: Product title"
|
5407 |
msgstr ""
|
5408 |
|
5409 |
#: includes/addons/wb_product_upsell.php:13
|
5410 |
+
#: woolentor-blocks/build/blocks/product-upsell/index.php:48
|
5411 |
+
#: woolentor-blocks/src/blocks/product-upsell/index.php:48
|
5412 |
msgid "WL: Product Upsell"
|
5413 |
msgstr ""
|
5414 |
|
5425 |
msgstr ""
|
5426 |
|
5427 |
#: includes/addons/wb_product_related.php:13
|
5428 |
+
#: woolentor-blocks/build/blocks/product-related/index.php:48
|
5429 |
+
#: woolentor-blocks/src/blocks/product-related/index.php:48
|
5430 |
msgid "WL: Related Product"
|
5431 |
msgstr ""
|
5432 |
|
5433 |
#: includes/addons/special_day_offer.php:13
|
5434 |
+
#: woolentor-blocks/build/blocks/special-day-offer/index.php:48
|
5435 |
+
#: woolentor-blocks/src/blocks/special-day-offer/index.php:48
|
5436 |
msgid "WL: Special Day Offer"
|
5437 |
msgstr ""
|
5438 |
|
5439 |
#: includes/addons/wl_store_features.php:13
|
5440 |
+
#: woolentor-blocks/build/blocks/store-feature/index.php:48
|
5441 |
+
#: woolentor-blocks/src/blocks/store-feature/index.php:48
|
5442 |
msgid "WL: Store Feature"
|
5443 |
msgstr ""
|
5444 |
|
5450 |
msgid "WL: Testimonial"
|
5451 |
msgstr ""
|
5452 |
|
5453 |
+
#: woolentor-blocks/build/blocks/universal-product/old_index.php:48
|
5454 |
+
#: woolentor-blocks/build/blocks/universal-product/index.php:48
|
5455 |
+
#: woolentor-blocks/build/blocks/universal-product/sort_index.php:48
|
5456 |
+
#: woolentor-blocks/src/blocks/universal-product/old_index.php:48
|
5457 |
+
#: woolentor-blocks/src/blocks/universal-product/index.php:48
|
5458 |
+
#: woolentor-blocks/src/blocks/universal-product/sort_index.php:48
|
5459 |
+
msgid "WL: Universal Product Layout"
|
5460 |
+
msgstr ""
|
5461 |
+
|
5462 |
#: includes/addons/wb_whols.php:13
|
5463 |
msgid "WL: Whols"
|
5464 |
msgstr ""
|
5471 |
msgid "WL: WishSuite Table"
|
5472 |
msgstr ""
|
5473 |
|
5474 |
+
#: includes/manage_wc_template.php:100 includes/base.php:187
|
5475 |
+
#: includes/admin/admin-init.php:85 includes/admin/admin-init.php:86
|
5476 |
msgid "WooLentor"
|
5477 |
msgstr ""
|
5478 |
|
5484 |
msgid "Woolentor Addons"
|
5485 |
msgstr ""
|
5486 |
|
5487 |
+
#: includes/manage_wc_template.php:100
|
5488 |
+
msgid "WooLentor Admin Menu"
|
5489 |
+
msgstr ""
|
5490 |
+
|
5491 |
#: includes/modules/ajax-search/widget-product-search-ajax.php:12
|
5492 |
msgid "WooLentor Ajax Product Search Widget"
|
5493 |
msgstr ""
|
5494 |
|
5495 |
+
#: includes/admin/templates/dashboard-gutenberg.php:38
|
5496 |
+
msgid "WooLentor Blocks"
|
5497 |
+
msgstr ""
|
5498 |
+
|
5499 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:158
|
5500 |
+
msgid "WooLentor Blocks CSS Delete."
|
5501 |
+
msgstr ""
|
5502 |
+
|
5503 |
+
#: woolentor-blocks/includes/classes/Manage_Styles.php:148
|
5504 |
+
msgid "WooLentor Blocks css file update."
|
5505 |
+
msgstr ""
|
5506 |
+
|
5507 |
+
#: includes/admin/include/class.template-manager.php:227
|
5508 |
+
msgid "WooLentor Canvas"
|
5509 |
+
msgstr ""
|
5510 |
+
|
5511 |
#: includes/admin/templates/dashboard-element.php:15
|
5512 |
msgid "WooLentor Element"
|
5513 |
msgstr ""
|
5514 |
|
5515 |
+
#: includes/admin/include/class.template-manager.php:228
|
5516 |
+
msgid "WooLentor Full width"
|
5517 |
+
msgstr ""
|
5518 |
+
|
5519 |
#: includes/admin/templates/dashboard-sidebar.php:24
|
5520 |
msgid ""
|
5521 |
"WooLentor is one of the most popular WooCommerce Elementor Addons on "
|
5522 |
+
"WordPress.org. It has been downloaded more than 1,627,298 times and 90,000 "
|
5523 |
"stores are using WooLentor plugin. Why not you?"
|
5524 |
msgstr ""
|
5525 |
|
5531 |
msgid "WooLentor Module"
|
5532 |
msgstr ""
|
5533 |
|
5534 |
+
#: includes/admin/include/class.template_cpt.php:56
|
5535 |
msgid "WooLentor Template"
|
5536 |
msgstr ""
|
5537 |
|
5568 |
msgid "Y Position"
|
5569 |
msgstr ""
|
5570 |
|
5571 |
+
#: includes/admin/include/class.template-manager.php:132
|
5572 |
msgid "YES"
|
5573 |
msgstr ""
|
5574 |
|
5575 |
+
#: classes/class.assest_management.php:332 includes/addons/wl_faq.php:113
|
5576 |
#: includes/addons/wl_faq.php:192 includes/addons/wl_faq.php:205
|
5577 |
#: includes/addons/wl_testimonial.php:217
|
5578 |
#: includes/addons/wl_testimonial.php:333
|
5581 |
#: includes/addons/wl_category_grid.php:153
|
5582 |
#: includes/addons/wl_category_grid.php:214
|
5583 |
#: includes/addons/wl_category_grid.php:300
|
5584 |
+
#: includes/admin/include/class.template-manager.php:489
|
5585 |
msgid "Yes"
|
5586 |
msgstr ""
|
5587 |
|
5589 |
msgid "You are not permitted to import the template."
|
5590 |
msgstr ""
|
5591 |
|
5592 |
+
#: includes/admin/templates/dashboard-gutenberg.php:39
|
5593 |
+
msgid "You can enable or disable all blocks by one click."
|
5594 |
+
msgstr ""
|
5595 |
+
|
5596 |
#: includes/admin/templates/dashboard-element.php:16
|
5597 |
#: includes/admin/templates/dashboard-module.php:18
|
5598 |
msgid "You can enable or disable all options by one click."
|
readme.txt
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
-
=== WooLentor - Elementor WooCommerce Builder Addons, Quick View, Wishlist, Products Compare, Product Filter – All in One Solution ===
|
2 |
Contributors: hasthemes, htplugins, devitemsllc, tarekht, aslamhasib
|
3 |
Tags: Elementor, WooCommerce, WooCommerce Elementor, WooCommerce Builder, WooCommerce Product
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 6.0
|
6 |
-
Stable tag: 2.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
-
Elementor WooCommerce Builder Addons, Quick View, Wishlist, Products Compare,
|
11 |
|
12 |
== Description ==
|
13 |
-
If you own a WooCommerce website, you'll almost certainly want to use these capabilities: Woo Builder (Elementor WooCommerce Builder), product compare or Products Comparison table, woocommerce order notifications, woocommerce slider addons, woo recently viewed products widget, Sold out count, Woocommerce variation swatches module
|
14 |
|
15 |
By using WooLentor - Elementor WooCommerce Builder, you will get all in one plugin.
|
16 |
|
@@ -24,13 +24,13 @@ Apart from a large number of widgets, there are plenty of useful functionalities
|
|
24 |
|
25 |
[Live Demo](https://woolentor.com/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=demo) | [Documentation](https://woolentor.com/documentation/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=doc) | [Purchase Pro](https://woolentor.com/pricing/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=purchasepro)
|
26 |
|
27 |
-
== Elementor WooCommerce Builder Includes ==
|
28 |
🛍️ WooCommerce Elementor widgets.
|
29 |
🛍️ Single Product page builder.
|
30 |
🛍️ Custom Product Template Builder for Individual Product(Pro).
|
31 |
🛍️ Shop / Archive page builder.
|
32 |
🛍️ Individual Archive Page Builder (pro).
|
33 |
-
🛍️ Cart / Checkout / My account /
|
34 |
|
35 |
|
36 |
You can see the plugin demo here : [Live Demo](https://woolentor.com/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=demo)
|
@@ -45,16 +45,17 @@ You can see the plugin demo here : [Live Demo](https://woolentor.com/?utm_source
|
|
45 |
* Woocommerce Product wishlist
|
46 |
* Woocommerce Product Tab
|
47 |
* Action Buttons in different Positions
|
48 |
-
*
|
49 |
* Enable / Disable Product Gallery
|
50 |
* Unlimited Color and font Variations.
|
51 |
* WooCommerce Slider Control Options
|
|
|
52 |
* Woocommerce Live Sales Notifications (Real)
|
53 |
* Woocommerce Sales Notification (Custom)
|
54 |
-
* Rename labels
|
55 |
* WooCommerce Upsell widget
|
56 |
* WooCommerce Cross-sell widget
|
57 |
-
* Related Products widget
|
58 |
* Call for Price
|
59 |
* Suggest Price
|
60 |
* Special Day offer banner
|
@@ -88,9 +89,11 @@ You can see the plugin demo here : [Live Demo](https://woolentor.com/?utm_source
|
|
88 |
✓ Custom Cart Page Builder / Template Builder
|
89 |
✓ Custom Checkout Page Builder / Template Builder
|
90 |
✓ Custom My Account Page Builder / Template Builder
|
|
|
91 |
✓ WooCommerce Pre Order Module
|
92 |
✓ WooCommerce Partial Payment
|
93 |
✓ WooCommerce Multi step checkout
|
|
|
94 |
✓ Product Size Chart
|
95 |
✓ Recently Viewed Products
|
96 |
✓ Side Mini Cart / Cart Drawer
|
@@ -260,68 +263,114 @@ Insert a button to get suggestions from your customers regarding the price of yo
|
|
260 |
|
261 |
== WooLentor's WooCommerce Module: ==
|
262 |
|
263 |
-
|
264 |
-
|
265 |
|
266 |
-
|
267 |
-
WooLentor allows renaming label for Shop, Product details, Cart, Checkout page text. For example, add to cart button text and checkout page fields text.
|
268 |
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
WooLenor's WooCommerce Wishlist Module is a fantastic module that enables you to integrate the wishlist feature on your WooCommerce store. With the help of this extraordinary Wishlist modules, you can provide a seamless shopping experience to your potential customers by allowing them to create a wishlist and add their desired products to that wishlist so that they find all their items in one place later.
|
271 |
|
272 |
-
|
|
|
|
|
273 |
Product Compare is a wonderful module that lets you add a product comparison option to your WooCommerce store using which your store visitors will be able to compare different products in a table layout or a popup window. This allows them to check the differences among the products based on several attributes while helping them make the buying decision easier at the same time.
|
274 |
|
275 |
-
|
|
|
|
|
276 |
Flash Sale Countdown module allows you to show discounts available for a limited time. Short-term sales can be a fantastic way to sell a large number of items in a few hours. If your company expects an exceptional rise in your checkout counts, you ought to use the Flash Sale Countdown module on New Year's Eve, Black Friday, Christmas, and other holiday sales.
|
277 |
|
278 |
-
|
|
|
|
|
279 |
When it comes to the Checkout page, customers always prefer a clean and simple one rather than a complicated one with lots of fields. A lengthy Checkout form can even increase cart abandonment while also negatively affecting the conversion rates. With this in mind, we have added a fantastic feature, which will enable you to create a Shopify style Checkout page that is pretty straightforward. Furthermore, it will provide the customers with an amazing Checkout experience.
|
280 |
|
281 |
-
|
|
|
|
|
282 |
For any online store, WooLentor's WooCommerce Ajax search module is a must-have. It enables customers to locate what they want swiftly and efficiently, without having to go through other pages or wait for the page to load. The WooCommerce Ajax search widget by WooLentor is quick, dependable, and simple to use.
|
283 |
|
284 |
-
|
|
|
|
|
285 |
Customers who browse stores with a lot of products may find the Single Product WooCommerce Ajax Add to Cart module to be a tremendous time-saver. It speeds up the add-to-cart process by eliminating the need to refresh or reload the page whenever a product is added to the cart, saving customers time. Furthermore, because the module uses ajax, it can keep customers on the same page while they shop, allowing them to continue browsing other products without interruption.
|
286 |
|
287 |
-
|
|
|
|
|
288 |
You may use a Backorder module to enable your consumers to make purchases from you that you can't currently fulfill. Cross-docking strategies, such as those used by organized firms, can help them fill orders quickly once goods arrive, saving time and resources. Backorders offer flexibility to warehouse management when products take up a lot of room or when aa customer needs to pay and receive the product at a later date.
|
289 |
|
290 |
-
|
|
|
|
|
291 |
This module may be handy if you want to build a new product based on an existing one or make a minor modification to an established article. The WooLentor Post Duplicator makes it simple to duplicate any post type, including custom post kinds.
|
292 |
|
293 |
-
|
|
|
|
|
294 |
The checkout procedure is one of the most vital aspects of running a successful online store. It's easy to lose customers at this crucial stage if you're not careful. That's why it's essential to have a simple and user-friendly checkout process. With the WooLentor Checkout Field Editor/Manager Module, you'll be able to easily edit, add, and remove fields from your checkout page. Using this Checkout field manager module, you can make sure that your customers have a smooth and hassle-free experience when they're checking out.
|
295 |
|
296 |
-
|
|
|
|
|
297 |
The checkout process is the most important step in your customer’s journey, and it should be as easy and seamless as possible. That’s why we created our Multi-Step Checkout feature that allows you to create a more effective and organized checkout page by dividing the process into several simpler steps.
|
298 |
|
299 |
-
|
|
|
|
|
300 |
Customers may utilize the partial payment option to make a part payment since they just don't have enough money on hand to pay the invoice in full. Store owners can handle partial payments and decide whether or not consumers can get the product right away or only after they pay full price.
|
301 |
|
302 |
-
|
|
|
|
|
303 |
A preorder is a purchase in which a customer makes before the product officially becomes available. Pre-ordering is a powerful marketing module that lets you reserve items ahead of time and charge customers a deposit or full payment. Customers also enjoy pre-ordering as it ensures that they will obtain the product right after it has been released. The main benefit of utilizing a pre-order strategy is that it allows you to grow eCommerce sales and forecast consumer demand.
|
304 |
|
305 |
-
|
|
|
|
|
306 |
The WooCommerce Product Size Chart is an excellent module for e-commerce businesses that sell a wide range of wearable items. This powerful tool allows you to create simple size recommendations that enable your consumers to choose the right product size and make their purchase decisions quickly and easily. The Product Size Chart for WooCommerce can help you streamline your buying experience by making it easy for customers to find the right product size.
|
307 |
|
308 |
-
|
|
|
|
|
309 |
GTM Conversion Tracking Module helps you keep track of conversions and assign them to specific sources. You may identify whether a sale was caused by a Google Ads/Facebook Ads, a direct website visit, or a social media post. When you link your store seamlessly with GTM, you'll generate more income from advertising by gathering precise sales data.
|
310 |
|
311 |
-
|
312 |
One of the most essential aspects of building a successful online shop is to make the process as simple and straightforward as possible for your consumers. Using the sticky add-to-cart module, which may be added to any product page, is an excellent approach to achieve this. Customers will be able to see their shopping carts on every product page, regardless of where they are in your shop, making it easier for them to complete their purchases.
|
313 |
|
314 |
-
|
|
|
|
|
315 |
WooLentor's Cart Drawer or Side Mini Cart for WooCommerce is a useful module that displays a list of current cart items on your website. This helps to improve the purchasing experience for your consumers by allowing them to keep track of their progress without ever having to leave the page. It also makes removing things from their cart simple - there's no need to go to the shopping cart page, they can just click 'remove' next to the item in the mini cart.
|
316 |
|
317 |
-
|
|
|
|
|
318 |
The Redirect to Checkout Module of WooLentor is an excellent tool for keeping your customers on track and ensuring a quick checkout process. This module allows you to send visitors to the checkout page of your website after they click the add to cart button so they can complete the purchase promptly and easily. Redirecting people to the checkout page before they leave your site helps to increase conversion rates and boost sales.
|
319 |
|
|
|
320 |
|
321 |
-
== Extensions: ==
|
322 |
|
323 |
-
|
324 |
-
Using the WooCommerce Product Variation Swatches plugin or Addon, as opposed to the traditional dropdown method of displaying product variants (variation switcher), provides exceptional convenience for your customers and gives your store a professional look. Product variation swatches for WooCommerce provide a user-friendly way for your customers to select product variations (variations checkbox) without having to click on the dropdown menu. Customers can quickly identify and choose from different colors, sizes, styles (color and label variations), or other attributes that you have selected for each product.
|
325 |
|
326 |
<strong>💰 [Whols for WooCommerce Wholesale](https://wordpress.org/plugins/whols/)</strong>
|
327 |
Whols is an outstanding WordPress plugin for WooCommerce that allows store owners to set wholesale prices for the products of their online stores. This plugin enables you to show special wholesale prices to the wholesaler.
|
@@ -391,6 +440,14 @@ Elementor Pro is not required. But you can use wooLentor with Elementor free & P
|
|
391 |
|
392 |
== Changelog ==
|
393 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
= Version: 2.3.2 - Date: 20-06-2022 =
|
395 |
* Added : Support to display currency position with space in filter widgets.
|
396 |
* Added : Style option in wishlist table addon.
|
@@ -833,6 +890,203 @@ This section describes how to install the WooLentor - WooCommerce Addons for Ele
|
|
833 |
3. ‘WOOLENTOR’ Category will be appear in Elementor page Editor
|
834 |
4. Create new Product slider or product tab and relax!
|
835 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
836 |
== Screenshots ==
|
837 |
1. Custom Product Page Builder
|
838 |
2. Custom Cart Page Builder
|
1 |
+
=== WooLentor - Elementor WooCommerce Builder Addons, Variation Swatches Addons, Quick View, Wishlist, Products Compare, Product Filter – All in One Solution ===
|
2 |
Contributors: hasthemes, htplugins, devitemsllc, tarekht, aslamhasib
|
3 |
Tags: Elementor, WooCommerce, WooCommerce Elementor, WooCommerce Builder, WooCommerce Product
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 6.0
|
6 |
+
Stable tag: 2.4.1
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
+
Elementor WooCommerce Builder Addons, Quick View, Wishlist, Products Compare, Product Filter, and Variation Swatches are functionalities that WooLentor offers to your online store.
|
11 |
|
12 |
== Description ==
|
13 |
+
If you own a WooCommerce website, you'll almost certainly want to use these capabilities: Woo Builder (Elementor WooCommerce Builder), product compare or Products Comparison table, woocommerce order notifications, woocommerce slider addons, woo recently viewed products widget, Sold out count, Woocommerce variation swatches module, custom product archive builder, woocommerce product quick view, out of stock label customization, count sold product, flash sale countdown, wishlist, etc.
|
14 |
|
15 |
By using WooLentor - Elementor WooCommerce Builder, you will get all in one plugin.
|
16 |
|
24 |
|
25 |
[Live Demo](https://woolentor.com/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=demo) | [Documentation](https://woolentor.com/documentation/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=doc) | [Purchase Pro](https://woolentor.com/pricing/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=purchasepro)
|
26 |
|
27 |
+
== Elementor WooCommerce Woo Builder Includes ==
|
28 |
🛍️ WooCommerce Elementor widgets.
|
29 |
🛍️ Single Product page builder.
|
30 |
🛍️ Custom Product Template Builder for Individual Product(Pro).
|
31 |
🛍️ Shop / Archive page builder.
|
32 |
🛍️ Individual Archive Page Builder (pro).
|
33 |
+
🛍️ Cart / Checkout / My account / WooCommerce custom thank you page builder (Pro)
|
34 |
|
35 |
|
36 |
You can see the plugin demo here : [Live Demo](https://woolentor.com/?utm_source=wprepo&utm_medium=freeplugin&utm_campaign=demo)
|
45 |
* Woocommerce Product wishlist
|
46 |
* Woocommerce Product Tab
|
47 |
* Action Buttons in different Positions
|
48 |
+
* Sales countdown woocommerce addon / Discount Schedule Counter
|
49 |
* Enable / Disable Product Gallery
|
50 |
* Unlimited Color and font Variations.
|
51 |
* WooCommerce Slider Control Options
|
52 |
+
* WooCommerce variation swatches module
|
53 |
* Woocommerce Live Sales Notifications (Real)
|
54 |
* Woocommerce Sales Notification (Custom)
|
55 |
+
* Rename labels / WooCommerce Text / WooCommerce add custom text.
|
56 |
* WooCommerce Upsell widget
|
57 |
* WooCommerce Cross-sell widget
|
58 |
+
* WooCommerce Related Products widget (Custom Related Products Layout, Disable/Remove/Hide related products.
|
59 |
* Call for Price
|
60 |
* Suggest Price
|
61 |
* Special Day offer banner
|
89 |
✓ Custom Cart Page Builder / Template Builder
|
90 |
✓ Custom Checkout Page Builder / Template Builder
|
91 |
✓ Custom My Account Page Builder / Template Builder
|
92 |
+
✓ Custom thank you page for woocommerce.
|
93 |
✓ WooCommerce Pre Order Module
|
94 |
✓ WooCommerce Partial Payment
|
95 |
✓ WooCommerce Multi step checkout
|
96 |
+
✓ Product variation swatches for WooCommerce
|
97 |
✓ Product Size Chart
|
98 |
✓ Recently Viewed Products
|
99 |
✓ Side Mini Cart / Cart Drawer
|
263 |
|
264 |
== WooLentor's WooCommerce Module: ==
|
265 |
|
266 |
+
= WooCommerce Variation Swatches Module =
|
267 |
+
Love the look of those variations swatches in your favorite online store, but don’t know how to get that effect on your own site?
|
268 |
|
269 |
+
We feel you. That’s why we created this WooCommerce product Variation Swatches Module – to help you turn those boring old variations dropdown options into more visually appealing swatches (variation switcher). Now your customers can see all the variations at a glance, making their shopping experience that much better.
|
|
|
270 |
|
271 |
+
Plus, with WooCommerce product variation swatches module, you can choose from woocommerce color swatches, button swatches, Label Swatches or image swatch (WooCommerce Color and Label Variations, Link Variation, etc..) – whichever suits your store’s style best. So why wait? Get started today and watch your sales soar!
|
272 |
+
|
273 |
+
Using WooCommerce variation swatches module Addon, as opposed to the traditional dropdown method of displaying product variants (variation switcher), provides exceptional convenience for your customers and gives your store a professional look. Product variation swatches for WooCommerce provide a user-friendly way for your customers to select product variations (variations checkbox for woocommerce swatches attributes swatches) without having to click on the dropdown menu. Customers can quickly identify and choose from different colors, sizes, styles (color and label variations), or other attributes that you have selected for each product.
|
274 |
+
|
275 |
+
Start using WooCommerce product variation swatches module now!
|
276 |
+
|
277 |
+
[More Details](https://woolentor.com/doc/variation-swatches/)
|
278 |
+
|
279 |
+
= Sales Notification =
|
280 |
+
This feature allows showing the sales notification or popup to display real/custom orders. In the dashboard, there is option to manage the design of the notification.
|
281 |
+
|
282 |
+
[More Details](https://woolentor.com/doc/sales-notification-for-woocommerce/)
|
283 |
+
|
284 |
+
= Rename Label =
|
285 |
+
WooLentor allows renaming label for Shop, Product details, Cart, Checkout page text. For example, WooCommerce Button Text/WooCommerce Text, WooCommerce add to cart button text, Change cart button text, Order button text, and checkout page fields text.
|
286 |
+
|
287 |
+
[More Details](https://woolentor.com/doc/change-woocommerce-text/)
|
288 |
+
|
289 |
+
= ❤️ WooCommerce Wishlist Module =
|
290 |
WooLenor's WooCommerce Wishlist Module is a fantastic module that enables you to integrate the wishlist feature on your WooCommerce store. With the help of this extraordinary Wishlist modules, you can provide a seamless shopping experience to your potential customers by allowing them to create a wishlist and add their desired products to that wishlist so that they find all their items in one place later.
|
291 |
|
292 |
+
[More Details](https://woolentor.com/doc/wishlist-for-woocommerce/)
|
293 |
+
|
294 |
+
= ⚖️ Product Compare or Comparison Table Module =
|
295 |
Product Compare is a wonderful module that lets you add a product comparison option to your WooCommerce store using which your store visitors will be able to compare different products in a table layout or a popup window. This allows them to check the differences among the products based on several attributes while helping them make the buying decision easier at the same time.
|
296 |
|
297 |
+
[More Details](https://woolentor.com/doc/woocommerce-product-compare/)
|
298 |
+
|
299 |
+
= Flash Sale Countdown =
|
300 |
Flash Sale Countdown module allows you to show discounts available for a limited time. Short-term sales can be a fantastic way to sell a large number of items in a few hours. If your company expects an exceptional rise in your checkout counts, you ought to use the Flash Sale Countdown module on New Year's Eve, Black Friday, Christmas, and other holiday sales.
|
301 |
|
302 |
+
[More Details](https://woolentor.com/doc/enable-sales-countdown-timer-in-woocommerce/)
|
303 |
+
|
304 |
+
= Shopify Style Checkout Page in WooCommerce =
|
305 |
When it comes to the Checkout page, customers always prefer a clean and simple one rather than a complicated one with lots of fields. A lengthy Checkout form can even increase cart abandonment while also negatively affecting the conversion rates. With this in mind, we have added a fantastic feature, which will enable you to create a Shopify style Checkout page that is pretty straightforward. Furthermore, it will provide the customers with an amazing Checkout experience.
|
306 |
|
307 |
+
[More Details](https://woolentor.com/shopify-style-checkout-page-in-woocommerce/)
|
308 |
+
|
309 |
+
= Advanced Ajax Search Widget Module =
|
310 |
For any online store, WooLentor's WooCommerce Ajax search module is a must-have. It enables customers to locate what they want swiftly and efficiently, without having to go through other pages or wait for the page to load. The WooCommerce Ajax search widget by WooLentor is quick, dependable, and simple to use.
|
311 |
|
312 |
+
[More Details](https://woolentor.com/doc/how-to-use-woocommerce-ajax-search/)
|
313 |
+
|
314 |
+
= Single Product Ajax Add to Cart Module =
|
315 |
Customers who browse stores with a lot of products may find the Single Product WooCommerce Ajax Add to Cart module to be a tremendous time-saver. It speeds up the add-to-cart process by eliminating the need to refresh or reload the page whenever a product is added to the cart, saving customers time. Furthermore, because the module uses ajax, it can keep customers on the same page while they shop, allowing them to continue browsing other products without interruption.
|
316 |
|
317 |
+
[More Details](https://woolentor.com/doc/single-product-ajax-add-to-cart/)
|
318 |
+
|
319 |
+
= Backorder Module =
|
320 |
You may use a Backorder module to enable your consumers to make purchases from you that you can't currently fulfill. Cross-docking strategies, such as those used by organized firms, can help them fill orders quickly once goods arrive, saving time and resources. Backorders offer flexibility to warehouse management when products take up a lot of room or when aa customer needs to pay and receive the product at a later date.
|
321 |
|
322 |
+
[More Details](https://woolentor.com/doc/how-to-enable-woocommerce-backorder/)
|
323 |
+
|
324 |
+
= WordPress Post and WooCommerce Product Duplicator =
|
325 |
This module may be handy if you want to build a new product based on an existing one or make a minor modification to an established article. The WooLentor Post Duplicator makes it simple to duplicate any post type, including custom post kinds.
|
326 |
|
327 |
+
[More Details](https://woolentor.com/doc/duplicate-woocommerce-product/)
|
328 |
+
|
329 |
+
= Checkout Field Editor or Manager (Pro) =
|
330 |
The checkout procedure is one of the most vital aspects of running a successful online store. It's easy to lose customers at this crucial stage if you're not careful. That's why it's essential to have a simple and user-friendly checkout process. With the WooLentor Checkout Field Editor/Manager Module, you'll be able to easily edit, add, and remove fields from your checkout page. Using this Checkout field manager module, you can make sure that your customers have a smooth and hassle-free experience when they're checking out.
|
331 |
|
332 |
+
[More Details](https://woolentor.com/doc/checkout-field-editor/)
|
333 |
+
|
334 |
+
= Multi-Step Checkout (Pro) =
|
335 |
The checkout process is the most important step in your customer’s journey, and it should be as easy and seamless as possible. That’s why we created our Multi-Step Checkout feature that allows you to create a more effective and organized checkout page by dividing the process into several simpler steps.
|
336 |
|
337 |
+
[More Details](https://woolentor.com/doc/woocommerce-multi-step-checkout/)
|
338 |
+
|
339 |
+
= Partial Payment (Pro) =
|
340 |
Customers may utilize the partial payment option to make a part payment since they just don't have enough money on hand to pay the invoice in full. Store owners can handle partial payments and decide whether or not consumers can get the product right away or only after they pay full price.
|
341 |
|
342 |
+
[More Details](https://woolentor.com/doc/how-to-accept-partial-payment-in-woocommerce/)
|
343 |
+
|
344 |
+
= Pre-Order Module (Pro) =
|
345 |
A preorder is a purchase in which a customer makes before the product officially becomes available. Pre-ordering is a powerful marketing module that lets you reserve items ahead of time and charge customers a deposit or full payment. Customers also enjoy pre-ordering as it ensures that they will obtain the product right after it has been released. The main benefit of utilizing a pre-order strategy is that it allows you to grow eCommerce sales and forecast consumer demand.
|
346 |
|
347 |
+
[More Details](https://woolentor.com/doc/how-to-set-pre-order-for-woocommerce/)
|
348 |
+
|
349 |
+
= WooCommerce Product Size Chart Module (Pro) =
|
350 |
The WooCommerce Product Size Chart is an excellent module for e-commerce businesses that sell a wide range of wearable items. This powerful tool allows you to create simple size recommendations that enable your consumers to choose the right product size and make their purchase decisions quickly and easily. The Product Size Chart for WooCommerce can help you streamline your buying experience by making it easy for customers to find the right product size.
|
351 |
|
352 |
+
[More Details](https://woolentor.com/doc/woocommerce-product-size-chart/)
|
353 |
+
|
354 |
+
= GTM Conversion Tracking (Google Tag Manager) Module (Pro) =
|
355 |
GTM Conversion Tracking Module helps you keep track of conversions and assign them to specific sources. You may identify whether a sale was caused by a Google Ads/Facebook Ads, a direct website visit, or a social media post. When you link your store seamlessly with GTM, you'll generate more income from advertising by gathering precise sales data.
|
356 |
|
357 |
+
= Single Product Sticky Add to cart Module (Pro) =
|
358 |
One of the most essential aspects of building a successful online shop is to make the process as simple and straightforward as possible for your consumers. Using the sticky add-to-cart module, which may be added to any product page, is an excellent approach to achieve this. Customers will be able to see their shopping carts on every product page, regardless of where they are in your shop, making it easier for them to complete their purchases.
|
359 |
|
360 |
+
[More Details](https://woolentor.com/doc/single-product-sticky-add-to-cart/)
|
361 |
+
|
362 |
+
= Side Mini Cart / Cart Drawer Module (Pro) =
|
363 |
WooLentor's Cart Drawer or Side Mini Cart for WooCommerce is a useful module that displays a list of current cart items on your website. This helps to improve the purchasing experience for your consumers by allowing them to keep track of their progress without ever having to leave the page. It also makes removing things from their cart simple - there's no need to go to the shopping cart page, they can just click 'remove' next to the item in the mini cart.
|
364 |
|
365 |
+
[More Details](https://woolentor.com/doc/side-mini-cart-for-woocommerce/)
|
366 |
+
|
367 |
+
= Redirect to checkout (Pro) =
|
368 |
The Redirect to Checkout Module of WooLentor is an excellent tool for keeping your customers on track and ensuring a quick checkout process. This module allows you to send visitors to the checkout page of your website after they click the add to cart button so they can complete the purchase promptly and easily. Redirecting people to the checkout page before they leave your site helps to increase conversion rates and boost sales.
|
369 |
|
370 |
+
[More Details](https://woolentor.com/doc/redirect-to-checkout/)
|
371 |
|
|
|
372 |
|
373 |
+
== Extensions: ==
|
|
|
374 |
|
375 |
<strong>💰 [Whols for WooCommerce Wholesale](https://wordpress.org/plugins/whols/)</strong>
|
376 |
Whols is an outstanding WordPress plugin for WooCommerce that allows store owners to set wholesale prices for the products of their online stores. This plugin enables you to show special wholesale prices to the wholesaler.
|
440 |
|
441 |
== Changelog ==
|
442 |
|
443 |
+
= Version: 2.4.0 - Date: 04-07-2022 =
|
444 |
+
* Added : Options to show Phone Number and Company fields in the Shopify Style Checkout module.
|
445 |
+
* Added : Variation Swatches Module.
|
446 |
+
* Added : Options to control the Quantity field and 4 layouts for the Add to Cart button.
|
447 |
+
* Added : Gutenberg blocks for the Shop, Archive, and Product pages.
|
448 |
+
* Tweak : The compatibility of the Shopify Style Checkout module with WooFunnels' Order Bump feature.
|
449 |
+
* Solved : A display issue with the share button when no products are available to compare.
|
450 |
+
|
451 |
= Version: 2.3.2 - Date: 20-06-2022 =
|
452 |
* Added : Support to display currency position with space in filter widgets.
|
453 |
* Added : Style option in wishlist table addon.
|
890 |
3. ‘WOOLENTOR’ Category will be appear in Elementor page Editor
|
891 |
4. Create new Product slider or product tab and relax!
|
892 |
|
893 |
+
== Frequently Asked Questions ==
|
894 |
+
|
895 |
+
= Can I use WooLentor without WooComemrce? =
|
896 |
+
|
897 |
+
No, WooLentor is a plugin for WooCommerce and cannot be used without it. You need to use WooCommerce with WooLentor for your online store.
|
898 |
+
|
899 |
+
= What are the minimum requirements for using WooLentor? =
|
900 |
+
|
901 |
+
WooLentor has been tested with the most up-to-date versions of both WordPress and WooCommerce.
|
902 |
+
|
903 |
+
= How can I redirect to checkout page in WooCommerce? =
|
904 |
+
|
905 |
+
Yes, you can set up a redirect to the checkout page in WooCommerce to skip the cart page. To do this, please follow these steps:
|
906 |
+
|
907 |
+
1. Go to Dashboard > WooLentor > Modules.
|
908 |
+
|
909 |
+
2. Enable Redirect to Checkout on Add to Cart.
|
910 |
+
|
911 |
+
3. Visit the Shop/Store and click the add to cart button.
|
912 |
+
|
913 |
+
You can follow this [doc](https://woolentor.com/doc/redirect-to-checkout/).
|
914 |
+
|
915 |
+
= How do I create a multi-step checkout in WooCommerce? =
|
916 |
+
|
917 |
+
WooLentor Pro provides an easy way to create a multi-step checkout. You can follow [this documentation](https://woolentor.com/doc/woocommerce-multi-step-checkout/) to create a multi-step checkout in WooCommerce.
|
918 |
+
|
919 |
+
1. Go to Dashboard > WooLentor > Modules.
|
920 |
+
|
921 |
+
2. Enable Multi-Step Checkout.
|
922 |
+
|
923 |
+
3. From WooLentor Template Builder > Add New Template
|
924 |
+
|
925 |
+
4. Select the template type “Checkout”
|
926 |
+
|
927 |
+
5. Drag WL: Multi-Step Checkout widget and Edit the template
|
928 |
+
|
929 |
+
= How do I add a wishlist in WooCommerce? =
|
930 |
+
|
931 |
+
WooLentor provides a module for Wishlist, using that module you can easily add a wishlist to the WooCommerce product and archive page. You can follow the [documentation here](https://woolentor.com/doc/wishlist-for-woocommerce/):
|
932 |
+
|
933 |
+
1. Go to Dashboard > WooLentor > Modules.
|
934 |
+
|
935 |
+
2. Enable Wishlist.
|
936 |
+
|
937 |
+
3. WooLentor > Wishlist
|
938 |
+
|
939 |
+
4. Make necessary setting
|
940 |
+
|
941 |
+
= How do I compare products in WooCommerce? =
|
942 |
+
|
943 |
+
Yes, you can use the WooCommerce Product Compare plugin to compare products in WooCommerce. You can follow the steps below:
|
944 |
+
|
945 |
+
1. Install and activate the WooLentor plugin.
|
946 |
+
|
947 |
+
2. Go to Dashboard > WooLentor > Modules and enable the Product Compare module.
|
948 |
+
|
949 |
+
3. Enable the Compare module
|
950 |
+
|
951 |
+
4. Go to WooLentor > Compare
|
952 |
+
|
953 |
+
5. Compare Settings
|
954 |
+
|
955 |
+
You can check [full docs here](https://woolentor.com/doc/woocommerce-product-compare/)
|
956 |
+
|
957 |
+
= How do I add a flash sale countdown timer in WooCommerce? =
|
958 |
+
|
959 |
+
Yes, you can use the [WooCommerce Product Flash sale Countdown](https://woolentor.com/doc/enable-sales-countdown-timer-in-woocommerce/) module to add pre schedule or on schedule sale discount countdown timer in WooCommerce. You can follow the steps below:
|
960 |
+
|
961 |
+
1. Install and activate the WooLentor plugin.
|
962 |
+
|
963 |
+
2. Go to Dashboard > WooLentor > Modules.
|
964 |
+
|
965 |
+
3. Enable the Countdown module.
|
966 |
+
|
967 |
+
WooCommerce Sales countdown can boost your sales. If you are looking for a countdown plugin for WooCommerce, then you can use Woolentor for your online store. WooLentor has the Elementor countdown addon or widget which helps to display the countdown for any special day offer like Christmas countdown, Blackfriday countdown, etc.
|
968 |
+
|
969 |
+
= How to enable backorder in WooCommerce? =
|
970 |
+
|
971 |
+
You can enable backorder in WooCommerce using WooLentor's backorder module. Follow the following steps:
|
972 |
+
|
973 |
+
Step 1: Enable the Backorder module
|
974 |
+
|
975 |
+
Step 2: Go to Product Edit Page
|
976 |
+
|
977 |
+
Step 3: Setup Backorder for the product
|
978 |
+
|
979 |
+
You can check the full documentation about "How to enable backorder in WooCommerce?" [from this link](https://woolentor.com/doc/how-to-enable-woocommerce-backorder/).
|
980 |
+
|
981 |
+
= How to make WooCommerce checkout look like Shopify? =
|
982 |
+
|
983 |
+
WooLentor provides a module to customize the default WooCommerce checkout design to look like Shopify. You can follow these steps:
|
984 |
+
|
985 |
+
1. Install and activate the WooLentor plugin
|
986 |
+
|
987 |
+
2. Go to Dashboard > WooLentor > Modules
|
988 |
+
|
989 |
+
3. Enable the Shopify Style Checkout
|
990 |
+
|
991 |
+
= What is AJAX search for WooCommerce? =
|
992 |
+
|
993 |
+
WooCommerce Ajax Search makes it quick and easy to search for items in your online store without having to reload the page. Results are displayed in real-time, allowing users to see them immediately.
|
994 |
+
|
995 |
+
= How do I add AJAX search in WooCommerce? =
|
996 |
+
|
997 |
+
WooLentor comes with the Ajax Live Product search module/WooCommerce search form. It helps your customers to find their desired products quickly and easily from your WooCommerce store without full-text searching. WooLentor's ajax search form enables category wise search widger or WooCommerce search taxonomy search bar. The benefits of using this WooCommerce fast search/Woo ajax search module are - Ajax shopping experience, visual product search/product image search, ajax search suggestion, etc.
|
998 |
+
|
999 |
+
You can follow these steps:
|
1000 |
+
|
1001 |
+
1. Install and activate the WooLentor plugin
|
1002 |
+
|
1003 |
+
2. Go to Dashboard > WooLentor > Modules.
|
1004 |
+
|
1005 |
+
3. Enable Ajax Search Widget.
|
1006 |
+
|
1007 |
+
4. Edit the page template from the WooLentor > Template Builder.
|
1008 |
+
|
1009 |
+
5. Drag and drop the ajax product search widget.
|
1010 |
+
|
1011 |
+
= How to add Ajax Add to cart on WooCommerce product Page? =
|
1012 |
+
|
1013 |
+
WooLentor has a module for ajax based cart or quick add to cart. You can use the WooLentor Ajax add to cart module for adding ajax add to cart functionality on WooCommerce product page. You can follow these steps:
|
1014 |
+
|
1015 |
+
1. Install and activate the WooLentor plugin.
|
1016 |
+
|
1017 |
+
2. Go to Dashboard > WooLentor > Modules.
|
1018 |
+
|
1019 |
+
3. Enable Ajax Add To Cart Module.
|
1020 |
+
|
1021 |
+
= How to add a custom field in WooCommerce checkout? =
|
1022 |
+
|
1023 |
+
WooLentor Pro has a module for WooCommerce checkout field editor. You can use the WooCommerce checkout fields manager module to add custom fields/WooCommerce additional fields/WooCommerce extra checkout fields, hide checkout fields, and remove billing fields on the WooCommerce checkout page. You can follow these steps:
|
1024 |
+
|
1025 |
+
1. Install and activate the WooLentor plugin.
|
1026 |
+
|
1027 |
+
2. Go to Dashboard > WooLentor > Modules.
|
1028 |
+
|
1029 |
+
3. Enable Checkout Field Manager Module.
|
1030 |
+
|
1031 |
+
4. Modify Checkout fields.
|
1032 |
+
|
1033 |
+
5. Add new fields if required.
|
1034 |
+
|
1035 |
+
6. Save changes.
|
1036 |
+
|
1037 |
+
= How do I add a Product size chart in WooCommerce? =
|
1038 |
+
|
1039 |
+
WooLentor pro has the size chart WooCommerce module. You can use the WooCommerce size guide module to add a size chart on the product page. You can follow these steps:
|
1040 |
+
|
1041 |
+
1. Install and activate the WooLentor plugin.
|
1042 |
+
|
1043 |
+
2. Go to Dashboard > WooLentor > Modules.
|
1044 |
+
|
1045 |
+
3. Enable WooCommerce Size Chart Module.
|
1046 |
+
|
1047 |
+
4. Go to WooLentor > Size Charts
|
1048 |
+
|
1049 |
+
5. Add a New Size chart.
|
1050 |
+
|
1051 |
+
6. Choose Product and Save.
|
1052 |
+
|
1053 |
+
= How to edit labels in WooCommerce? =
|
1054 |
+
|
1055 |
+
WooLentor has a module for WooCommerce label customization. You can use the WooCommerce custom product label module to edit/change labels on product label, WooCommerce add to cart button label, out of stock label, categories/Archive page labels, and tags pages of the WooCommerce store. You can follow these steps:
|
1056 |
+
|
1057 |
+
1. Install and activate the WooLentor plugin.
|
1058 |
+
|
1059 |
+
2. Go to Dashboard > WooLentor > Modules.
|
1060 |
+
|
1061 |
+
3. Enable WooCommerce rename Label Module.
|
1062 |
+
|
1063 |
+
4. Edit the labels.
|
1064 |
+
|
1065 |
+
5. Save changes.
|
1066 |
+
|
1067 |
+
= How to show best selling products by category? =
|
1068 |
+
|
1069 |
+
You can show best selling products using the Universal Widget of WooLentor. This widget can be used as a WooCommerce best selling product widget. Where you can show best selling products by category. To do this, follow these steps
|
1070 |
+
|
1071 |
+
1. Edit a page where you want to add the best selling products.
|
1072 |
+
2. Drag the Universal Widget.
|
1073 |
+
3. Choose options to show the best sell products.
|
1074 |
+
|
1075 |
+
= How to show featured products in WooCommerce? =
|
1076 |
+
|
1077 |
+
WooLentor comes with the Universal Layout widget to show WooCommerce featured products. you can use the WooCommerce featured product query to show featured products in different ways on your store. You can follow these steps:
|
1078 |
+
|
1079 |
+
1. Install and activate the WooLentor plugin.
|
1080 |
+
|
1081 |
+
2. Edit a Page where you want to add the featured Products.
|
1082 |
+
|
1083 |
+
3. Drag the Universal Layout Widget.
|
1084 |
+
|
1085 |
+
4. Filter By > Featured Products
|
1086 |
+
|
1087 |
+
5. To Show Featured product by category name, add categories.
|
1088 |
+
|
1089 |
+
|
1090 |
== Screenshots ==
|
1091 |
1. Custom Product Page Builder
|
1092 |
2. Custom Cart Page Builder
|
wl-woo-templates/archive-product-canvas.php
CHANGED
@@ -24,6 +24,9 @@ if( class_exists('\Elementor\Plugin') ){
|
|
24 |
\Elementor\Plugin::$instance->frontend->add_body_class( 'elementor-template-canvas' );
|
25 |
}
|
26 |
|
|
|
|
|
|
|
27 |
?>
|
28 |
<!DOCTYPE html>
|
29 |
<html <?php language_attributes(); ?>>
|
@@ -36,9 +39,11 @@ if( class_exists('\Elementor\Plugin') ){
|
|
36 |
<?php wp_head(); ?>
|
37 |
</head>
|
38 |
<body <?php body_class(); ?>>
|
|
|
|
|
|
|
|
|
39 |
<?php
|
40 |
-
do_action( 'elementor/page_templates/canvas/before_content' );
|
41 |
-
do_action( 'woolentor_woocommerce_archive_product_content' );
|
42 |
do_action( 'elementor/page_templates/canvas/after_content' );
|
43 |
wp_footer();
|
44 |
?>
|
24 |
\Elementor\Plugin::$instance->frontend->add_body_class( 'elementor-template-canvas' );
|
25 |
}
|
26 |
|
27 |
+
$template_id = Woolentor_Manage_WC_Template::instance()->archive_template_id();
|
28 |
+
$width = Woolentor_Manage_WC_Template::get_template_width( $template_id );
|
29 |
+
|
30 |
?>
|
31 |
<!DOCTYPE html>
|
32 |
<html <?php language_attributes(); ?>>
|
39 |
<?php wp_head(); ?>
|
40 |
</head>
|
41 |
<body <?php body_class(); ?>>
|
42 |
+
<?php do_action( 'elementor/page_templates/canvas/before_content' ); ?>
|
43 |
+
<div class="woolentor-template-container" style="margin:0 auto; max-width:<?php echo $width ? $width.'px; padding: 0 15px;' : '100%;'; ?>">
|
44 |
+
<?php do_action( 'woolentor_woocommerce_archive_product_content' ); ?>
|
45 |
+
</div>
|
46 |
<?php
|
|
|
|
|
47 |
do_action( 'elementor/page_templates/canvas/after_content' );
|
48 |
wp_footer();
|
49 |
?>
|
wl-woo-templates/archive-product-fullwidth.php
CHANGED
@@ -24,6 +24,9 @@ if( class_exists('\Elementor\Plugin') ){
|
|
24 |
\Elementor\Plugin::$instance->frontend->add_body_class( 'elementor-template-full-width' );
|
25 |
}
|
26 |
|
|
|
|
|
|
|
27 |
get_header( 'shop' );
|
28 |
|
29 |
/**
|
@@ -35,8 +38,12 @@ get_header( 'shop' );
|
|
35 |
*/
|
36 |
do_action( 'elementor/page_templates/header-footer/before_content' );
|
37 |
|
38 |
-
|
|
|
|
|
|
|
|
|
39 |
|
40 |
-
|
41 |
|
42 |
get_footer( 'shop' );
|
24 |
\Elementor\Plugin::$instance->frontend->add_body_class( 'elementor-template-full-width' );
|
25 |
}
|
26 |
|
27 |
+
$template_id = Woolentor_Manage_WC_Template::instance()->archive_template_id();
|
28 |
+
$width = Woolentor_Manage_WC_Template::get_template_width( $template_id );
|
29 |
+
|
30 |
get_header( 'shop' );
|
31 |
|
32 |
/**
|
38 |
*/
|
39 |
do_action( 'elementor/page_templates/header-footer/before_content' );
|
40 |
|
41 |
+
?>
|
42 |
+
|
43 |
+
<div class="woolentor-template-container" style="margin:0 auto; max-width:<?php echo $width ? $width.'px; padding: 0 15px;' : '100%;'; ?>">
|
44 |
+
<?php do_action( 'woolentor_woocommerce_archive_product_content' ); ?>
|
45 |
+
</div>
|
46 |
|
47 |
+
<?php do_action( 'elementor/page_templates/header-footer/after_content' );
|
48 |
|
49 |
get_footer( 'shop' );
|
wl-woo-templates/single-product-canvas.php
CHANGED
@@ -46,11 +46,17 @@ if( class_exists('\Elementor\Plugin') ){
|
|
46 |
*/
|
47 |
do_action( 'elementor/page_templates/canvas/before_content' );
|
48 |
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
-
|
52 |
|
53 |
-
|
|
|
54 |
|
55 |
|
56 |
<?php /**
|
46 |
*/
|
47 |
do_action( 'elementor/page_templates/canvas/before_content' );
|
48 |
|
49 |
+
$template_id = Woolentor_Manage_WC_Template::get_template_id( 'singleproductpage', '_selectproduct_layout' );
|
50 |
+
$width = Woolentor_Manage_WC_Template::get_template_width( $template_id );
|
51 |
+
?>
|
52 |
+
|
53 |
+
<div class="woolentor-template-container" style="margin:0 auto; max-width:<?php echo $width ? $width.'px; padding: 0 15px;' : '100%;'; ?>">
|
54 |
+
<?php while ( have_posts() ) : the_post(); ?>
|
55 |
|
56 |
+
<?php wc_get_template_part( 'content', 'single-product' ); ?>
|
57 |
|
58 |
+
<?php endwhile; // end of the loop. ?>
|
59 |
+
</div>
|
60 |
|
61 |
|
62 |
<?php /**
|
wl-woo-templates/single-product-fullwidth.php
CHANGED
@@ -33,16 +33,19 @@ get_header( 'shop' );
|
|
33 |
*
|
34 |
* @since 2.0.0
|
35 |
*/
|
36 |
-
do_action( 'elementor/page_templates/header-footer/before_content' ); ?>
|
37 |
|
|
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
<?php while ( have_posts() ) : the_post(); ?>
|
41 |
|
42 |
<?php wc_get_template_part( 'content', 'single-product' ); ?>
|
43 |
|
44 |
<?php endwhile; // end of the loop. ?>
|
45 |
-
|
46 |
|
47 |
<?php
|
48 |
|
33 |
*
|
34 |
* @since 2.0.0
|
35 |
*/
|
|
|
36 |
|
37 |
+
$template_id = Woolentor_Manage_WC_Template::get_template_id( 'singleproductpage', '_selectproduct_layout' );
|
38 |
+
$width = Woolentor_Manage_WC_Template::get_template_width( $template_id );
|
39 |
|
40 |
+
do_action( 'elementor/page_templates/header-footer/before_content' ); ?>
|
41 |
|
42 |
+
<div class="woolentor-template-container" style="margin:0 auto; max-width:<?php echo $width ? $width.'px; padding: 0 15px;' : '100%;'; ?>">
|
43 |
<?php while ( have_posts() ) : the_post(); ?>
|
44 |
|
45 |
<?php wc_get_template_part( 'content', 'single-product' ); ?>
|
46 |
|
47 |
<?php endwhile; // end of the loop. ?>
|
48 |
+
</div>
|
49 |
|
50 |
<?php
|
51 |
|
woolentor-blocks/build/blocks-woolentor.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-
|
1 |
+
<?php return array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-server-side-render', 'wp-url'), 'version' => 'b931e47d5d2222872889');
|
woolentor-blocks/build/blocks-woolentor.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},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=49)}([function(e,t){e.exports=window.wp.i18n},function(e,t){e.exports=window.wp.components},function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.wp.blockEditor},function(e,t){e.exports=window.React},function(e,t,n){var o;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var o=arguments[t];if(o){var a=typeof o;if("string"===a||"number"===a)e.push(o);else if(Array.isArray(o)){if(o.length){var l=r.apply(null,o);l&&e.push(l)}}else if("object"===a)if(o.toString===Object.prototype.toString)for(var i in o)n.call(o,i)&&o[i]&&e.push(i);else e.push(o.toString())}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(o=function(){return r}.apply(t,[]))||(e.exports=o)}()},function(e,t,n){"use strict";(function(e){var o=n(23),r=n(4),a=n.n(r),l=n(29),i=n.n(l),c=n(30),s=n(31),u=n(26),p=n(24),d=n.n(p);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}var m=function(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n},b=function(e){return null!==e&&"object"==typeof e&&"[object Object]"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!Object(o.typeOf)(e)},g=Object.freeze([]),h=Object.freeze({});function y(e){return"function"==typeof e}function v(e){return e.displayName||e.name||"Component"}function w(e){return e&&"string"==typeof e.styledComponentId}var O=void 0!==e&&(e.env.REACT_APP_SC_ATTR||e.env.SC_ATTR)||"data-styled",_="undefined"!=typeof window&&"HTMLElement"in window,C=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:void 0!==e&&void 0!==e.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==e.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==e.env.REACT_APP_SC_DISABLE_SPEEDY&&e.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==e&&void 0!==e.env.SC_DISABLE_SPEEDY&&""!==e.env.SC_DISABLE_SPEEDY&&"false"!==e.env.SC_DISABLE_SPEEDY&&e.env.SC_DISABLE_SPEEDY);function E(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];throw new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(n.length>0?" Args: "+n.join(", "):""))}var R=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)(r<<=1)<0&&E(16,""+e);this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var a=o;a<r;a++)this.groupSizes[a]=0}for(var l=this.indexOfGroup(e+1),i=0,c=t.length;i<c;i++)this.tag.insertRule(l,t[i])&&(this.groupSizes[e]++,l++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,a=o;a<r;a++)t+=this.tag.getRule(a)+"/*!sc*/\n";return t},e}(),j=new Map,k=new Map,S=1,P=function(e){if(j.has(e))return j.get(e);for(;k.has(S);)S++;var t=S++;return j.set(e,t),k.set(t,e),t},F=function(e){return k.get(e)},A=function(e,t){t>=S&&(S=t+1),j.set(e,t),k.set(t,e)},T="style["+O+'][data-styled-version="5.3.1"]',B=new RegExp("^"+O+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),x=function(e,t,n){for(var o,r=n.split(","),a=0,l=r.length;a<l;a++)(o=r[a])&&e.registerName(t,o)},z=function(e,t){for(var n=(t.innerHTML||"").split("/*!sc*/\n"),o=[],r=0,a=n.length;r<a;r++){var l=n[r].trim();if(l){var i=l.match(B);if(i){var c=0|parseInt(i[1],10),s=i[2];0!==c&&(A(s,c),x(e,s,i[3]),e.getTag().insertRules(c,o)),o.length=0}else o.push(l)}}},D=function(){return"undefined"!=typeof window&&void 0!==window.__webpack_nonce__?window.__webpack_nonce__:null},M=function(e){var t=document.head,n=e||t,o=document.createElement("style"),r=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var o=t[n];if(o&&1===o.nodeType&&o.hasAttribute(O))return o}}(n),a=void 0!==r?r.nextSibling:null;o.setAttribute(O,"active"),o.setAttribute("data-styled-version","5.3.1");var l=D();return l&&o.setAttribute("nonce",l),n.insertBefore(o,a),o},L=function(){function e(e){var t=this.element=M(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}E(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),I=function(){function e(e){var t=this.element=M(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),o=this.nodes[e];return this.element.insertBefore(n,o||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),N=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),H=_,W={isServer:!_,useCSSOMInjection:!C},G=function(){function e(e,t,n){void 0===e&&(e=h),void 0===t&&(t={}),this.options=f({},W,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&_&&H&&(H=!1,function(e){for(var t=document.querySelectorAll(T),n=0,o=t.length;n<o;n++){var r=t[n];r&&"active"!==r.getAttribute(O)&&(z(e,r),r.parentNode&&r.parentNode.removeChild(r))}}(this))}e.registerId=function(e){return P(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(f({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,o=t.useCSSOMInjection,r=t.target,e=n?new N(r):o?new L(r):new I(r),new R(e)));var e,t,n,o,r},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(P(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(P(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(P(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,o="",r=0;r<n;r++){var a=F(r);if(void 0!==a){var l=e.names.get(a),i=t.getGroup(r);if(l&&i&&l.size){var c=O+".g"+r+'[id="'+a+'"]',s="";void 0!==l&&l.forEach((function(e){e.length>0&&(s+=e+",")})),o+=""+i+c+'{content:"'+s+'"}/*!sc*/\n'}}}return o}(this)},e}(),q=/(a)(d)/gi,U=function(e){return String.fromCharCode(e+(e>25?39:97))};function V(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=U(t%52)+n;return(U(t%52)+n).replace(q,"$1-$2")}var Q=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},K=function(e){return Q(5381,e)};function Y(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(y(n)&&!w(n))return!1}return!0}var X=K("5.3.1"),J=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Y(e),this.componentId=t,this.baseHash=Q(X,t),this.baseStyle=n,G.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.componentId,r=[];if(this.baseStyle&&r.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(o,this.staticRulesId))r.push(this.staticRulesId);else{var a=me(this.rules,e,t,n).join(""),l=V(Q(this.baseHash,a)>>>0);if(!t.hasNameForId(o,l)){var i=n(a,"."+l,void 0,o);t.insertRules(o,l,i)}r.push(l),this.staticRulesId=l}else{for(var c=this.rules.length,s=Q(this.baseHash,n.hash),u="",p=0;p<c;p++){var d=this.rules[p];if("string"==typeof d)u+=d;else if(d){var f=me(d,e,t,n),m=Array.isArray(f)?f.join(""):f;s=Q(s,m+p),u+=m}}if(u){var b=V(s>>>0);if(!t.hasNameForId(o,b)){var g=n(u,"."+b,void 0,o);t.insertRules(o,b,g)}r.push(b)}}return r.join(" ")},e}(),Z=/^\s*\/\/.*$/gm,$=[":","[",".","#"];function ee(e){var t,n,o,r,a=void 0===e?h:e,l=a.options,i=void 0===l?h:l,s=a.plugins,u=void 0===s?g:s,p=new c.a(i),d=[],f=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,o,r,a,l,i,c,s,u,p){switch(n){case 1:if(0===u&&64===o.charCodeAt(0))return e(o+";"),"";break;case 2:if(0===s)return o+"/*|*/";break;case 3:switch(s){case 102:case 112:return e(r[0]+o),"";default:return o+(0===p?"/*|*/":"")}case-2:o.split("/*|*/}").forEach(t)}}}((function(e){d.push(e)})),m=function(e,o,a){return 0===o&&-1!==$.indexOf(a[n.length])||a.match(r)?e:"."+t};function b(e,a,l,i){void 0===i&&(i="&");var c=e.replace(Z,""),s=a&&l?l+" "+a+" { "+c+" }":c;return t=i,n=a,o=new RegExp("\\"+n+"\\b","g"),r=new RegExp("(\\"+n+"\\b){2,}"),p(l||!a?"":a,s)}return p.use([].concat(u,[function(e,t,r){2===e&&r.length&&r[0].lastIndexOf(n)>0&&(r[0]=r[0].replace(o,m))},f,function(e){if(-2===e){var t=d;return d=[],t}}])),b.hash=u.length?u.reduce((function(e,t){return t.name||E(15),Q(e,t.name)}),5381).toString():"",b}var te=a.a.createContext(),ne=(te.Consumer,a.a.createContext()),oe=(ne.Consumer,new G),re=ee();function ae(){return Object(r.useContext)(te)||oe}function le(e){var t=Object(r.useState)(e.stylisPlugins),n=t[0],o=t[1],l=ae(),c=Object(r.useMemo)((function(){var t=l;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),s=Object(r.useMemo)((function(){return ee({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return Object(r.useEffect)((function(){i()(n,e.stylisPlugins)||o(e.stylisPlugins)}),[e.stylisPlugins]),a.a.createElement(te.Provider,{value:c},a.a.createElement(ne.Provider,{value:s},e.children))}var ie=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=re);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,"@keyframes"))},this.toString=function(){return E(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=re),this.name+e.hash},e}(),ce=/([A-Z])/,se=/([A-Z])/g,ue=/^ms-/,pe=function(e){return"-"+e.toLowerCase()};function de(e){return ce.test(e)?e.replace(se,pe).replace(ue,"-ms-"):e}var fe=function(e){return null==e||!1===e||""===e};function me(e,t,n,o){if(Array.isArray(e)){for(var r,a=[],l=0,i=e.length;l<i;l+=1)""!==(r=me(e[l],t,n,o))&&(Array.isArray(r)?a.push.apply(a,r):a.push(r));return a}return fe(e)?"":w(e)?"."+e.styledComponentId:y(e)?"function"!=typeof(c=e)||c.prototype&&c.prototype.isReactComponent||!t?e:me(e(t),t,n,o):e instanceof ie?n?(e.inject(n,o),e.getName(o)):e:b(e)?function e(t,n){var o,r,a=[];for(var l in t)t.hasOwnProperty(l)&&!fe(t[l])&&(Array.isArray(t[l])&&t[l].isCss||y(t[l])?a.push(de(l)+":",t[l],";"):b(t[l])?a.push.apply(a,e(t[l],l)):a.push(de(l)+": "+(o=l,(null==(r=t[l])||"boolean"==typeof r||""===r?"":"number"!=typeof r||0===r||o in s.a?String(r).trim():r+"px")+";")));return n?[n+" {"].concat(a,["}"]):a}(e):e.toString();var c}var be=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function ge(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return y(e)||b(e)?be(me(m(g,[e].concat(n)))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:be(me(m(e,n)))}new Set;var he=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ye=/(^-|-$)/g;function ve(e){return e.replace(he,"-").replace(ye,"")}function we(e){return"string"==typeof e&&!0}var Oe=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},_e=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Ce(e,t,n){var o=e[n];Oe(t)&&Oe(o)?Ee(o,t):e[n]=t}function Ee(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];for(var r=0,a=n;r<a.length;r++){var l=a[r];if(Oe(l))for(var i in l)_e(i)&&Ce(e,l[i],i)}return e}var Re=a.a.createContext();Re.Consumer;var je={};function ke(e,t,n){var o=w(e),l=!we(e),i=t.attrs,c=void 0===i?g:i,s=t.componentId,p=void 0===s?function(e,t){var n="string"!=typeof e?"sc":ve(e);je[n]=(je[n]||0)+1;var o=n+"-"+function(e){return V(K(e)>>>0)}("5.3.1"+n+je[n]);return t?t+"-"+o:o}(t.displayName,t.parentComponentId):s,m=t.displayName,b=void 0===m?function(e){return we(e)?"styled."+e:"Styled("+v(e)+")"}(e):m,O=t.displayName&&t.componentId?ve(t.displayName)+"-"+t.componentId:t.componentId||p,_=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,C=t.shouldForwardProp;o&&e.shouldForwardProp&&(C=t.shouldForwardProp?function(n,o,r){return e.shouldForwardProp(n,o,r)&&t.shouldForwardProp(n,o,r)}:e.shouldForwardProp);var E,R=new J(n,O,o?e.componentStyle:void 0),j=R.isStatic&&0===c.length,k=function(e,t){return function(e,t,n,o){var a=e.attrs,l=e.componentStyle,i=e.defaultProps,c=e.foldedComponentIds,s=e.shouldForwardProp,p=e.styledComponentId,d=e.target,m=function(e,t,n){void 0===e&&(e=h);var o=f({},t,{theme:e}),r={};return n.forEach((function(e){var t,n,a,l=e;for(t in y(l)&&(l=l(o)),l)o[t]=r[t]="className"===t?(n=r[t],a=l[t],n&&a?n+" "+a:n||a):l[t]})),[o,r]}(function(e,t,n){return void 0===n&&(n=h),e.theme!==n.theme&&e.theme||t||n.theme}(t,Object(r.useContext)(Re),i)||h,t,a),b=m[0],g=m[1],v=function(e,t,n,o){var a=ae(),l=Object(r.useContext)(ne)||re;return t?e.generateAndInjectStyles(h,a,l):e.generateAndInjectStyles(n,a,l)}(l,o,b),w=n,O=g.$as||t.$as||g.as||t.as||d,_=we(O),C=g!==t?f({},t,{},g):t,E={};for(var R in C)"$"!==R[0]&&"as"!==R&&("forwardedAs"===R?E.as=C[R]:(s?s(R,u.a,O):!_||Object(u.a)(R))&&(E[R]=C[R]));return t.style&&g.style!==t.style&&(E.style=f({},t.style,{},g.style)),E.className=Array.prototype.concat(c,p,v!==p?v:null,t.className,g.className).filter(Boolean).join(" "),E.ref=w,Object(r.createElement)(O,E)}(E,e,t,j)};return k.displayName=b,(E=a.a.forwardRef(k)).attrs=_,E.componentStyle=R,E.displayName=b,E.shouldForwardProp=C,E.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):g,E.styledComponentId=O,E.target=o?e.target:e,E.withComponent=function(e){var o=t.componentId,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(t,["componentId"]),a=o&&o+"-"+(we(e)?e:ve(v(e)));return ke(e,f({},r,{attrs:_,componentId:a}),n)},Object.defineProperty(E,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Ee({},e.defaultProps,t):t}}),E.toString=function(){return"."+E.styledComponentId},l&&d()(E,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),E}var Se,Pe=function(e){return function e(t,n,r){if(void 0===r&&(r=h),!Object(o.isValidElementType)(n))return E(1,String(n));var a=function(){return t(n,r,ge.apply(void 0,arguments))};return a.withConfig=function(o){return e(t,n,f({},r,{},o))},a.attrs=function(o){return e(t,n,f({},r,{attrs:Array.prototype.concat(r.attrs,o).filter(Boolean)}))},a}(ke,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Pe[e]=Pe(e)})),(Se=function(e,t){this.rules=e,this.componentId=t,this.isStatic=Y(e),G.registerId(this.componentId+1)}.prototype).createStyles=function(e,t,n,o){var r=o(me(this.rules,t,n,o).join(""),""),a=this.componentId+e;n.insertRules(a,a,r)},Se.removeStyles=function(e,t){t.clearRules(this.componentId+e)},Se.renderStyles=function(e,t,n,o){e>2&&G.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,o)},function(){var e=function(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=D();return"<style "+[n&&'nonce="'+n+'"',O+'="true"','data-styled-version="5.3.1"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?E(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return E(2);var n=((t={})[O]="",t["data-styled-version"]="5.3.1",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=D();return o&&(n.nonce=o),[a.a.createElement("style",f({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new G({isServer:!0}),this.sealed=!1}.prototype;e.collectStyles=function(e){return this.sealed?E(2):a.a.createElement(le,{sheet:this.instance},e)},e.interleaveWithNodeStream=function(e){return E(3)}}(),t.a=Pe}).call(this,n(47))},function(e,t){e.exports=window.wp.apiFetch},function(e,t){e.exports=window.wp.url},function(e,t){e.exports=window.wp.compose},function(e,t){e.exports=window.wp.data},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clamp=c,t.canUseDOM=t.slidesOnLeft=t.slidesOnRight=t.siblingDirection=t.getTotalSlides=t.getPostClones=t.getPreClones=t.getTrackLeft=t.getTrackAnimateCSS=t.getTrackCSS=t.checkSpecKeys=t.getSlideCount=t.checkNavigable=t.getNavigableIndexes=t.swipeEnd=t.swipeMove=t.swipeStart=t.keyHandler=t.changeSlide=t.slideHandler=t.initializedState=t.extractObject=t.canGoNext=t.getSwipeDirection=t.getHeight=t.getWidth=t.lazySlidesOnRight=t.lazySlidesOnLeft=t.lazyEndIndex=t.lazyStartIndex=t.getRequiredLazySlides=t.getOnDemandLazySlides=t.safePreventDefault=void 0;var o,r=(o=n(4))&&o.__esModule?o:{default:o};function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t,n){return Math.max(t,Math.min(e,n))}var s=function(e){["onTouchStart","onTouchMove","onWheel"].includes(e._reactName)||e.preventDefault()};t.safePreventDefault=s;var u=function(e){for(var t=[],n=p(e),o=d(e),r=n;r<o;r++)e.lazyLoadedList.indexOf(r)<0&&t.push(r);return t};t.getOnDemandLazySlides=u,t.getRequiredLazySlides=function(e){for(var t=[],n=p(e),o=d(e),r=n;r<o;r++)t.push(r);return t};var p=function(e){return e.currentSlide-f(e)};t.lazyStartIndex=p;var d=function(e){return e.currentSlide+m(e)};t.lazyEndIndex=d;var f=function(e){return e.centerMode?Math.floor(e.slidesToShow/2)+(parseInt(e.centerPadding)>0?1:0):0};t.lazySlidesOnLeft=f;var m=function(e){return e.centerMode?Math.floor((e.slidesToShow-1)/2)+1+(parseInt(e.centerPadding)>0?1:0):e.slidesToShow};t.lazySlidesOnRight=m;var b=function(e){return e&&e.offsetWidth||0};t.getWidth=b;var g=function(e){return e&&e.offsetHeight||0};t.getHeight=g;var h=function(e){var t,n,o,r,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t=e.startX-e.curX,n=e.startY-e.curY,o=Math.atan2(n,t),(r=Math.round(180*o/Math.PI))<0&&(r=360-Math.abs(r)),r<=45&&r>=0||r<=360&&r>=315?"left":r>=135&&r<=225?"right":!0===a?r>=35&&r<=135?"up":"down":"vertical"};t.getSwipeDirection=h;var y=function(e){var t=!0;return e.infinite||(e.centerMode&&e.currentSlide>=e.slideCount-1||e.slideCount<=e.slidesToShow||e.currentSlide>=e.slideCount-e.slidesToShow)&&(t=!1),t};t.canGoNext=y,t.extractObject=function(e,t){var n={};return t.forEach((function(t){return n[t]=e[t]})),n},t.initializedState=function(e){var t,n=r.default.Children.count(e.children),o=e.listRef,a=Math.ceil(b(o)),i=e.trackRef&&e.trackRef.node,c=Math.ceil(b(i));if(e.vertical)t=a;else{var s=e.centerMode&&2*parseInt(e.centerPadding);"string"==typeof e.centerPadding&&"%"===e.centerPadding.slice(-1)&&(s*=a/100),t=Math.ceil((a-s)/e.slidesToShow)}var p=o&&g(o.querySelector('[data-index="0"]')),d=p*e.slidesToShow,f=void 0===e.currentSlide?e.initialSlide:e.currentSlide;e.rtl&&void 0===e.currentSlide&&(f=n-1-e.initialSlide);var m=e.lazyLoadedList||[],h=u(l(l({},e),{},{currentSlide:f,lazyLoadedList:m})),y={slideCount:n,slideWidth:t,listWidth:a,trackWidth:c,currentSlide:f,slideHeight:p,listHeight:d,lazyLoadedList:m=m.concat(h)};return null===e.autoplaying&&e.autoplay&&(y.autoplaying="playing"),y},t.slideHandler=function(e){var t=e.waitForAnimate,n=e.animating,o=e.fade,r=e.infinite,a=e.index,i=e.slideCount,s=e.lazyLoad,p=e.currentSlide,d=e.centerMode,f=e.slidesToScroll,m=e.slidesToShow,b=e.useCSS,g=e.lazyLoadedList;if(t&&n)return{};var h,v,w,O=a,_={},j={},k=r?a:c(a,0,i-1);if(o){if(!r&&(a<0||a>=i))return{};a<0?O=a+i:a>=i&&(O=a-i),s&&g.indexOf(O)<0&&(g=g.concat(O)),_={animating:!0,currentSlide:O,lazyLoadedList:g,targetSlide:O},j={animating:!1,targetSlide:O}}else h=O,O<0?(h=O+i,r?i%f!=0&&(h=i-i%f):h=0):!y(e)&&O>p?O=h=p:d&&O>=i?(O=r?i:i-1,h=r?0:i-1):O>=i&&(h=O-i,r?i%f!=0&&(h=0):h=i-m),!r&&O+m>=i&&(h=i-m),v=R(l(l({},e),{},{slideIndex:O})),w=R(l(l({},e),{},{slideIndex:h})),r||(v===w&&(O=h),v=w),s&&(g=g.concat(u(l(l({},e),{},{currentSlide:O})))),b?(_={animating:!0,currentSlide:h,trackStyle:E(l(l({},e),{},{left:v})),lazyLoadedList:g,targetSlide:k},j={animating:!1,currentSlide:h,trackStyle:C(l(l({},e),{},{left:w})),swipeLeft:null,targetSlide:k}):_={currentSlide:h,trackStyle:C(l(l({},e),{},{left:w})),lazyLoadedList:g,targetSlide:k};return{state:_,nextState:j}},t.changeSlide=function(e,t){var n,o,r,a,i=e.slidesToScroll,c=e.slidesToShow,s=e.slideCount,u=e.currentSlide,p=e.targetSlide,d=e.lazyLoad,f=e.infinite;if(n=s%i!=0?0:(s-u)%i,"previous"===t.message)a=u-(r=0===n?i:c-n),d&&!f&&(a=-1==(o=u-r)?s-1:o),f||(a=p-i);else if("next"===t.message)a=u+(r=0===n?i:n),d&&!f&&(a=(u+i)%s+n),f||(a=p+i);else if("dots"===t.message)a=t.index*t.slidesToScroll;else if("children"===t.message){if(a=t.index,f){var m=P(l(l({},e),{},{targetSlide:a}));a>t.currentSlide&&"left"===m?a-=s:a<t.currentSlide&&"right"===m&&(a+=s)}}else"index"===t.message&&(a=Number(t.index));return a},t.keyHandler=function(e,t,n){return e.target.tagName.match("TEXTAREA|INPUT|SELECT")||!t?"":37===e.keyCode?n?"next":"previous":39===e.keyCode?n?"previous":"next":""},t.swipeStart=function(e,t,n){return"IMG"===e.target.tagName&&s(e),!t||!n&&-1!==e.type.indexOf("mouse")?"":{dragging:!0,touchObject:{startX:e.touches?e.touches[0].pageX:e.clientX,startY:e.touches?e.touches[0].pageY:e.clientY,curX:e.touches?e.touches[0].pageX:e.clientX,curY:e.touches?e.touches[0].pageY:e.clientY}}},t.swipeMove=function(e,t){var n=t.scrolling,o=t.animating,r=t.vertical,a=t.swipeToSlide,i=t.verticalSwiping,c=t.rtl,u=t.currentSlide,p=t.edgeFriction,d=t.edgeDragged,f=t.onEdge,m=t.swiped,b=t.swiping,g=t.slideCount,v=t.slidesToScroll,w=t.infinite,O=t.touchObject,_=t.swipeEvent,E=t.listHeight,j=t.listWidth;if(!n){if(o)return s(e);r&&a&&i&&s(e);var k,S={},P=R(t);O.curX=e.touches?e.touches[0].pageX:e.clientX,O.curY=e.touches?e.touches[0].pageY:e.clientY,O.swipeLength=Math.round(Math.sqrt(Math.pow(O.curX-O.startX,2)));var F=Math.round(Math.sqrt(Math.pow(O.curY-O.startY,2)));if(!i&&!b&&F>10)return{scrolling:!0};i&&(O.swipeLength=F);var A=(c?-1:1)*(O.curX>O.startX?1:-1);i&&(A=O.curY>O.startY?1:-1);var T=Math.ceil(g/v),B=h(t.touchObject,i),x=O.swipeLength;return w||(0===u&&("right"===B||"down"===B)||u+1>=T&&("left"===B||"up"===B)||!y(t)&&("left"===B||"up"===B))&&(x=O.swipeLength*p,!1===d&&f&&(f(B),S.edgeDragged=!0)),!m&&_&&(_(B),S.swiped=!0),k=r?P+x*(E/j)*A:c?P-x*A:P+x*A,i&&(k=P+x*A),S=l(l({},S),{},{touchObject:O,swipeLeft:k,trackStyle:C(l(l({},t),{},{left:k}))}),Math.abs(O.curX-O.startX)<.8*Math.abs(O.curY-O.startY)||O.swipeLength>10&&(S.swiping=!0,s(e)),S}},t.swipeEnd=function(e,t){var n=t.dragging,o=t.swipe,r=t.touchObject,a=t.listWidth,i=t.touchThreshold,c=t.verticalSwiping,u=t.listHeight,p=t.swipeToSlide,d=t.scrolling,f=t.onSwipe,m=t.targetSlide,b=t.currentSlide,g=t.infinite;if(!n)return o&&s(e),{};var y=c?u/i:a/i,v=h(r,c),_={dragging:!1,edgeDragged:!1,scrolling:!1,swiping:!1,swiped:!1,swipeLeft:null,touchObject:{}};if(d)return _;if(!r.swipeLength)return _;if(r.swipeLength>y){var C,j;s(e),f&&f(v);var k=g?b:m;switch(v){case"left":case"up":j=k+O(t),C=p?w(t,j):j,_.currentDirection=0;break;case"right":case"down":j=k-O(t),C=p?w(t,j):j,_.currentDirection=1;break;default:C=k}_.triggerSlideHandler=C}else{var S=R(t);_.trackStyle=E(l(l({},t),{},{left:S}))}return _};var v=function(e){for(var t=e.infinite?2*e.slideCount:e.slideCount,n=e.infinite?-1*e.slidesToShow:0,o=e.infinite?-1*e.slidesToShow:0,r=[];n<t;)r.push(n),n=o+e.slidesToScroll,o+=Math.min(e.slidesToScroll,e.slidesToShow);return r};t.getNavigableIndexes=v;var w=function(e,t){var n=v(e),o=0;if(t>n[n.length-1])t=n[n.length-1];else for(var r in n){if(t<n[r]){t=o;break}o=n[r]}return t};t.checkNavigable=w;var O=function(e){var t=e.centerMode?e.slideWidth*Math.floor(e.slidesToShow/2):0;if(e.swipeToSlide){var n,o=e.listRef,r=o.querySelectorAll&&o.querySelectorAll(".slick-slide")||[];if(Array.from(r).every((function(o){if(e.vertical){if(o.offsetTop+g(o)/2>-1*e.swipeLeft)return n=o,!1}else if(o.offsetLeft-t+b(o)/2>-1*e.swipeLeft)return n=o,!1;return!0})),!n)return 0;var a=!0===e.rtl?e.slideCount-e.currentSlide:e.currentSlide;return Math.abs(n.dataset.index-a)||1}return e.slidesToScroll};t.getSlideCount=O;var _=function(e,t){return t.reduce((function(t,n){return t&&e.hasOwnProperty(n)}),!0)?null:console.error("Keys Missing:",e)};t.checkSpecKeys=_;var C=function(e){var t,n;_(e,["left","variableWidth","slideCount","slidesToShow","slideWidth"]);var o=e.slideCount+2*e.slidesToShow;e.vertical?n=o*e.slideHeight:t=S(e)*e.slideWidth;var r={opacity:1,transition:"",WebkitTransition:""};if(e.useTransform){var a=e.vertical?"translate3d(0px, "+e.left+"px, 0px)":"translate3d("+e.left+"px, 0px, 0px)",i=e.vertical?"translate3d(0px, "+e.left+"px, 0px)":"translate3d("+e.left+"px, 0px, 0px)",c=e.vertical?"translateY("+e.left+"px)":"translateX("+e.left+"px)";r=l(l({},r),{},{WebkitTransform:a,transform:i,msTransform:c})}else e.vertical?r.top=e.left:r.left=e.left;return e.fade&&(r={opacity:1}),t&&(r.width=t),n&&(r.height=n),window&&!window.addEventListener&&window.attachEvent&&(e.vertical?r.marginTop=e.left+"px":r.marginLeft=e.left+"px"),r};t.getTrackCSS=C;var E=function(e){_(e,["left","variableWidth","slideCount","slidesToShow","slideWidth","speed","cssEase"]);var t=C(e);return e.useTransform?(t.WebkitTransition="-webkit-transform "+e.speed+"ms "+e.cssEase,t.transition="transform "+e.speed+"ms "+e.cssEase):e.vertical?t.transition="top "+e.speed+"ms "+e.cssEase:t.transition="left "+e.speed+"ms "+e.cssEase,t};t.getTrackAnimateCSS=E;var R=function(e){if(e.unslick)return 0;_(e,["slideIndex","trackRef","infinite","centerMode","slideCount","slidesToShow","slidesToScroll","slideWidth","listWidth","variableWidth","slideHeight"]);var t,n,o=e.slideIndex,r=e.trackRef,a=e.infinite,l=e.centerMode,i=e.slideCount,c=e.slidesToShow,s=e.slidesToScroll,u=e.slideWidth,p=e.listWidth,d=e.variableWidth,f=e.slideHeight,m=e.fade,b=e.vertical;if(m||1===e.slideCount)return 0;var g=0;if(a?(g=-j(e),i%s!=0&&o+s>i&&(g=-(o>i?c-(o-i):i%s)),l&&(g+=parseInt(c/2))):(i%s!=0&&o+s>i&&(g=c-i%s),l&&(g=parseInt(c/2))),t=b?o*f*-1+g*f:o*u*-1+g*u,!0===d){var h,y=r&&r.node;if(h=o+j(e),t=(n=y&&y.childNodes[h])?-1*n.offsetLeft:0,!0===l){h=a?o+j(e):o,n=y&&y.children[h],t=0;for(var v=0;v<h;v++)t-=y&&y.children[v]&&y.children[v].offsetWidth;t-=parseInt(e.centerPadding),t+=n&&(p-n.offsetWidth)/2}}return t};t.getTrackLeft=R;var j=function(e){return e.unslick||!e.infinite?0:e.variableWidth?e.slideCount:e.slidesToShow+(e.centerMode?1:0)};t.getPreClones=j;var k=function(e){return e.unslick||!e.infinite?0:e.slideCount};t.getPostClones=k;var S=function(e){return 1===e.slideCount?1:j(e)+e.slideCount+k(e)};t.getTotalSlides=S;var P=function(e){return e.targetSlide>e.currentSlide?e.targetSlide>e.currentSlide+F(e)?"left":"right":e.targetSlide<e.currentSlide-A(e)?"right":"left"};t.siblingDirection=P;var F=function(e){var t=e.slidesToShow,n=e.centerMode,o=e.rtl,r=e.centerPadding;if(n){var a=(t-1)/2+1;return parseInt(r)>0&&(a+=1),o&&t%2==0&&(a+=1),a}return o?0:t-1};t.slidesOnRight=F;var A=function(e){var t=e.slidesToShow,n=e.centerMode,o=e.rtl,r=e.centerPadding;if(n){var a=(t-1)/2+1;return parseInt(r)>0&&(a+=1),o||t%2!=0||(a+=1),a}return o?t-1:0};t.slidesOnLeft=A,t.canUseDOM=function(){return!("undefined"==typeof window||!window.document||!window.document.createElement)}},function(e,t){e.exports=window.wp.blocks},function(e){e.exports=JSON.parse('{"name":"woolentor/product-tab","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"style":{"type":"string","default":"1"},"columns":{"type":"number","default":4},"rows":{"type":"number","default":1},"productTab":{"type":"boolean","default":false},"slider":{"type":"boolean","default":false},"productFilterType":{"type":"string","default":"recent"},"perPage":{"type":"number","default":4},"customOrder":{"type":"boolean","default":false},"orderBy":{"type":"string","default":"none"},"order":{"type":"string","default":"DESC"},"selectedCategories":{"type":"array","default":[]},"slitems":{"type":"number","default":4},"slarrows":{"type":"boolean","default":true},"sldots":{"type":"boolean","default":false},"slpauseOnHover":{"type":"boolean","default":true},"slautolay":{"type":"boolean","default":false},"slautoplaySpeed":{"type":"number","default":3000},"slanimationSpeed":{"type":"number","default":300},"slscrollItem":{"type":"number","default":3},"sltabletDisplayColumns":{"type":"number","default":2},"sltabletScrollColumns":{"type":"number","default":2},"sltabletWidth":{"type":"number","default":750},"slMobileDisplayColumns":{"type":"number","default":1},"slMobileScrollColumns":{"type":"number","default":1},"slMobileWidth":{"type":"number","default":480},"titleColor":{"type":"string","selector":".product-item .product-inner .content .title a"},"titleHoverColor":{"type":"string","selector":".product-item .product-inner .content .title a:hover"},"titleAlign":{"type":"string","selector":".product-item .product-inner .content .title"},"priceColor":{"type":"string","selector":".product-item .product-inner .content .price"},"actionBtnColor":{"type":"string","selector":".product-item .actions a"},"actionBtnBgColor":{"type":"string","selector":".product-item .actions"},"actionBtnHoverColor":{"type":"string","selector":".product-item .actions a:hover"},"actionBtnHoverBgColor":{"type":"string","selector":".product-item .actions:hover"},"contentAlign":{"type":"string","selector":".product-item .product-inner .content .price"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/promo-banner","category":"woolentor-blocks","attributes":{"style":{"type":"string","default":"1"},"contentAlignment":{"type":"string","default":"left"},"title":{"type":"string","default":"","selector":".banner_title"},"subTitle":{"type":"string","default":"","selector":".banner_subtitle"},"imgId":{"type":"number"},"imgUrl":{"type":"string","source":"attribute","attribute":"src","selector":"img"},"buttonUrl":{"type":"string","source":"attribute","selector":"a","attribute":"href"},"buttonText":{"type":"string","source":"html","selector":"a"},"linkTarget":{"type":"string","source":"attribute","selector":"a","attribute":"target"},"titleColor":{"type":"string","selector":".woolentor-banner .banner_title"},"titleSize":{"type":"string"},"subTitleColor":{"type":"string","selector":".woolentor-banner .banner_subtitle"},"subTitleSize":{"type":"string"},"buttonColor":{"type":"string","selector":".woolentor-banner .banner_button"},"buttonSize":{"type":"string"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/special-day-offer","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"contentPosition":{"type":"string","default":"center"},"bannerImage":{"type":"object","default":{"id":null,"url":""}},"title":{"type":"string","default":"Banner Title"},"subTitle":{"type":"string","default":"Banner Sub Title"},"bannerDescription":{"type":"string","default":"Banner Description"},"offerAmount":{"type":"string"},"offerTagLine":{"type":"string"},"bannerLink":{"type":"string"},"buttonText":{"type":"string"},"badgeImage":{"type":"object","default":{"id":null,"url":""}},"badgeHorizontalPos":{"type":"number","default":25},"badgeVerticlePos":{"type":"number"},"titleColor":{"type":"string","selector":".wlspcial-banner .banner-content h2"},"titleSize":{"type":"string","selector":".wlspcial-banner .banner-content h2"},"titleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content h2"},"titlePadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content h2"},"titleSubColor":{"type":"string","selector":".wlspcial-banner .banner-content h6"},"titleSubSize":{"type":"string","selector":".wlspcial-banner .banner-content h6"},"subTitleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"subTitlePadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"contentAlignment":{"type":"string","selector":".wlspcial-banner .banner-content"},"contentAreaPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"contentAreaMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"desColor":{"type":"string","selector":".wlspcial-banner .banner-content p"},"desSize":{"type":"string","selector":".wlspcial-banner .banner-content p"},"desMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content p"},"desPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content p"},"offerColor":{"type":"string","selector":".wlspcial-banner .banner-content h5"},"offerSize":{"type":"string","selector":".wlspcial-banner .banner-content h5"},"offerMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content h5"},"offerTagColor":{"type":"string","selector":".wlspcial-banner .banner-content h5 span"},"offerTagSize":{"type":"string","selector":".wlspcial-banner .banner-content h5 span"},"offerTagMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content h5 span"},"buttonColor":{"type":"string","selector":".wlspcial-banner .banner-content a"},"buttonHoverColor":{"type":"string","selector":".wlspcial-banner .banner-content a:hover"},"buttonSize":{"type":"string","selector":".wlspcial-banner .banner-content a"},"buttonMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlspcial-banner .banner-content a"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/image-marker","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"bgProperty":{"type":"object","default":{"imageId":null,"imageUrl":"","position":"","attachment":"","repeat":"","size":""}},"style":{"type":"string","default":"1"},"markerList":{"type":"array","default":[{"title":"Marker One","content":"Lorem ipsum pisaci volupt atem accusa saes ntisdumtiu loperm asaerks.","horizontal":50,"verticle":15},{"title":"Marker Two","content":"Lorem ipsum pisaci volupt atem accusa saes ntisdumtiu loperm asaerks.","horizontal":40,"verticle":20},{"title":"Marker Three","content":"Lorem ipsum pisaci volupt atem accusa saes ntisdumtiu loperm asaerks.","horizontal":60,"verticle":30}]},"markerColor":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer::before"},"markerBGColor":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer"},"markerBorderColor":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer"},"markerBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlb-marker-wrapper .wlb_image_pointer"},"markerPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlb-marker-wrapper .wlb_image_pointer"},"markerContentBGColor":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box"},"markerContentBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box"},"markerContentPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box"},"markerTitleColor":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4"},"markerTitleSize":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4"},"markerTitleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4"},"markerDescriptionColor":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box p"},"markerDescriptionSize":{"type":"string","selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box p"},"markerDescriptionMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box p"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/store-feature","category":"woolentor-blocks","supports":{"align":true},"attributes":{"blockUniqId":{"type":"string","default":""},"layout":{"type":"string","default":"1"},"featureImage":{"type":"object","default":{"id":null,"url":""}},"title":{"type":"string","default":"Free shipping"},"subTitle":{"type":"string","default":"Start from $100"},"textAlignment":{"type":"string","default":"center"},"areaBorderColor":{"type":"string","selector":".ht-feature-wrap .ht-feature-inner"},"areaHoverBorderColor":{"type":"string","selector":".ht-feature-wrap:hover .ht-feature-inner"},"areaMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-feature-wrap"},"areaPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-feature-wrap"},"areaBackgroundColor":{"type":"string","selector":".ht-feature-wrap"},"titleColor":{"type":"string","selector":".ht-feature-wrap .ht-feature-content h4"},"titleSize":{"type":"string","selector":".ht-feature-wrap .ht-feature-content h4"},"titleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-feature-wrap .ht-feature-content h4"},"subTitleColor":{"type":"string","selector":".ht-feature-wrap .ht-feature-content p"},"subTitleSize":{"type":"string","selector":".ht-feature-wrap .ht-feature-content p"},"subTitleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-feature-wrap .ht-feature-content p"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/brand-logo","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"brandLogoList":{"type":"array","default":[{"title":"Brand Title One","image":{"id":"","url":""}},{"title":"Brand Title Two","image":{"id":"","url":""}},{"title":"Brand Title Three","image":{"id":"","url":""}}]},"columns":{"type":"object","default":{"desktop":6}},"noGutter":{"type":"boolean","default":false},"itemSpace":{"type":"number","default":15},"singleItemAreaBorderType":{"type":"string","default":"","selector":".wl-single-brand"},"singleItemAreaBorderWidth":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wl-single-brand"},"singleItemAreaBorderColor":{"type":"string","selector":".wl-single-brand"},"singleItemAreaBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wl-single-brand"},"singleItemAreaMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wl-single-brand"},"singleItemAreaPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wl-single-brand"},"brandAlignment":{"type":"string","default":"center","selector":".wl-single-brand"},"brandImageBorderType":{"type":"string","default":"","selector":".wl-single-brand img"},"brandImageBorderWidth":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wl-single-brand img"},"brandImageBorderColor":{"type":"string","selector":".wl-single-brand img"},"brandImageBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".wl-single-brand img"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/category-grid","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"style":{"type":"string","default":"1"},"displayType":{"type":"string","default":"allCat"},"productCategory":{"type":"string"},"productCategories":{"type":"array","default":[]},"order":{"type":"string","default":"asc"},"displayLimit":{"type":"number","default":6},"showCount":{"type":"boolean","default":true},"imageSize":{"type":"string","default":"full"},"sliderOn":{"type":"boolean","default":false},"slitems":{"type":"number","default":3},"slarrows":{"type":"boolean","default":true},"sldots":{"type":"boolean","default":false},"slpauseOnHover":{"type":"boolean","default":true},"slIsrtl":{"type":"boolean","default":false},"slautolay":{"type":"boolean","default":false},"slautoplaySpeed":{"type":"number","default":3000},"slanimationSpeed":{"type":"number","default":300},"slscrollItem":{"type":"number","default":3},"sltabletDisplayColumns":{"type":"number","default":2},"sltabletScrollColumns":{"type":"number","default":2},"sltabletWidth":{"type":"number","default":750},"slMobileDisplayColumns":{"type":"number","default":1},"slMobileScrollColumns":{"type":"number","default":1},"slMobileWidth":{"type":"number","default":480},"columns":{"type":"object","default":{"desktop":3}},"noGutter":{"type":"boolean","default":false},"itemSpace":{"type":"number","default":15},"areaPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"areaBackgroundColor":{"type":"string"},"imageBoxColor":{"type":"string","selector":".ht-category-wrap .ht-category-image a.ht-category-border::before"},"imageMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-category-wrap .ht-category-image"},"imageBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-category-wrap .ht-category-image"},"titleColor":{"type":"string","selector":".ht-category-wrap .ht-category-content h3 a"},"titleHoverColor":{"type":"string","selector":".ht-category-wrap .ht-category-content h3 a:hover"},"titleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"},"selector":".ht-category-wrap .ht-category-content h3"},"countColor":{"type":"string"},"countBeforeColor":{"type":"string"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/faq","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"faqList":{"type":"array","default":[{"title":"Words To Live By","content":"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua."},{"title":"Producing Perfume From Home","content":"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua."},{"title":"The Basics Of Western Astrology Explained","content":"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua."},{"title":"What Curling Irons Are The Best Ones","content":"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua."}]},"showFirstItem":{"type":"boolean","default":true},"iconPosition":{"type":"string","default":"right"},"headBackgroundColor":{"type":"string"},"faqTitleColor":{"type":"string"},"titleSize":{"type":"string"},"titleBorderType":{"type":"string"},"titleBorderWidth":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"titleBorderColor":{"type":"string"},"titleBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"iconColor":{"type":"string"},"activeHeadBackgroundColor":{"type":"string"},"activeFaqTitleColor":{"type":"string"},"activeIconColor":{"type":"string"},"contentColor":{"type":"string"},"contentSize":{"type":"string"}}}')},function(e){e.exports=JSON.parse('{"name":"woolentor/product-curvy","category":"woolentor-blocks","attributes":{"blockUniqId":{"type":"string","default":""},"areaMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"areaPadding":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"areaBGProperty":{"type":"object","default":{"imageId":null,"imageUrl":"","position":"","attachment":"","repeat":"","size":""}},"layout":{"type":"string"},"columns":{"type":"object","default":{"desktop":4}},"noGutter":{"type":"boolean","default":false},"itemSpace":{"type":"number","default":15},"productFilterType":{"type":"string","default":"recent"},"perPage":{"type":"number","default":4},"customOrder":{"type":"boolean","default":false},"orderBy":{"type":"string","default":"none"},"order":{"type":"string","default":"DESC"},"selectedCategories":{"type":"array","default":[]},"contentLimit":{"type":"number","default":6},"showTitle":{"type":"boolean","default":true},"showPrice":{"type":"boolean","default":true},"showContent":{"type":"boolean","default":true},"showRating":{"type":"boolean","default":true},"itemAreaBGColor":{"type":"string"},"itemMarginBottom":{"type":"number","default":15},"titleSize":{"type":"string"},"titleColor":{"type":"string"},"titleHoverColor":{"type":"string"},"titleMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"salePriceColor":{"type":"string"},"regulerPriceColor":{"type":"string"},"contentSize":{"type":"string"},"cotentColor":{"type":"string"},"contentMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"emptyRatingColor":{"type":"string"},"ratingColor":{"type":"string"},"ratingMargin":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"actionBtnAreaBGColor":{"type":"string"},"actionBtnColor":{"type":"string"},"actionBtnBGColor":{"type":"string"},"actionBtnBorderRadius":{"type":"object","default":{"top":"","right":"","bottom":"","left":"","unit":"px","link":"yes"}},"actionBtnHoverColor":{"type":"string"},"actionBtnBgHoverColor":{"type":"string"},"imageBorderColor":{"type":"string"}}}')},function(e,t,n){"use strict";var o;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=((o=n(32))&&o.__esModule?o:{default:o}).default;t.default=r},function(e,t,n){"use strict";e.exports=n(48)},function(e,t,n){"use strict";var o=n(23),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function c(e){return o.isMemo(e)?l:i[e.$$typeof]||r}i[o.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[o.Memo]=l;var s=Object.defineProperty,u=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,o){if("string"!=typeof n){if(m){var r=f(n);r&&r!==m&&e(t,r,o)}var l=u(n);p&&(l=l.concat(p(n)));for(var i=c(t),b=c(n),g=0;g<l.length;++g){var h=l[g];if(!(a[h]||o&&o[h]||b&&b[h]||i&&i[h])){var y=d(n,h);try{s(t,h,y)}catch(e){}}}}return t}},function(e,t){e.exports=window.wp.primitives},function(e,t,n){"use strict";var o,r=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,a=(o={},function(e){return void 0===o[e]&&(o[e]=(t=e,r.test(t)||111===t.charCodeAt(0)&&110===t.charCodeAt(1)&&t.charCodeAt(2)<91)),o[e];var t});t.a=a},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){e.exports={isFunction:function(e){return"function"==typeof e},isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},each:function(e,t){for(var n=0,o=e.length;n<o&&!1!==t(e[n],n);n++);}}},function(e,t){e.exports=function(e,t,n,o){var r=n?n.call(o,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var s=a[c];if(!i(s))return!1;var u=e[s],p=t[s];if(!1===(r=n?n.call(o,u,p,s):void 0)||void 0===r&&u!==p)return!1}return!0}},function(e,t,n){"use strict";t.a=function(e){function t(e,t,o){var r=t.trim().split(m);t=r;var a=r.length,l=e.length;switch(l){case 0:case 1:var i=0;for(e=0===l?"":e[0]+" ";i<a;++i)t[i]=n(e,t[i],o).trim();break;default:var c=i=0;for(t=[];i<a;++i)for(var s=0;s<l;++s)t[c++]=n(e[s]+" ",r[i],o).trim()}return t}function n(e,t,n){var o=t.charCodeAt(0);switch(33>o&&(o=(t=t.trim()).charCodeAt(0)),o){case 38:return t.replace(b,"$1"+e.trim());case 58:return e.trim()+t.replace(b,"$1"+e.trim());default:if(0<1*n&&0<t.indexOf("\f"))return t.replace(b,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function o(e,t,n,a){var l=e+";",i=2*t+3*n+4*a;if(944===i){e=l.indexOf(":",9)+1;var c=l.substring(e,l.length-1).trim();return c=l.substring(0,e).trim()+c+";",1===P||2===P&&r(c,1)?"-webkit-"+c+c:c}if(0===P||2===P&&!r(l,1))return l;switch(i){case 1015:return 97===l.charCodeAt(10)?"-webkit-"+l+l:l;case 951:return 116===l.charCodeAt(3)?"-webkit-"+l+l:l;case 963:return 110===l.charCodeAt(5)?"-webkit-"+l+l:l;case 1009:if(100!==l.charCodeAt(4))break;case 969:case 942:return"-webkit-"+l+l;case 978:return"-webkit-"+l+"-moz-"+l+l;case 1019:case 983:return"-webkit-"+l+"-moz-"+l+"-ms-"+l+l;case 883:if(45===l.charCodeAt(8))return"-webkit-"+l+l;if(0<l.indexOf("image-set(",11))return l.replace(R,"$1-webkit-$2")+l;break;case 932:if(45===l.charCodeAt(4))switch(l.charCodeAt(5)){case 103:return"-webkit-box-"+l.replace("-grow","")+"-webkit-"+l+"-ms-"+l.replace("grow","positive")+l;case 115:return"-webkit-"+l+"-ms-"+l.replace("shrink","negative")+l;case 98:return"-webkit-"+l+"-ms-"+l.replace("basis","preferred-size")+l}return"-webkit-"+l+"-ms-"+l+l;case 964:return"-webkit-"+l+"-ms-flex-"+l+l;case 1023:if(99!==l.charCodeAt(8))break;return"-webkit-box-pack"+(c=l.substring(l.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+l+"-ms-flex-pack"+c+l;case 1005:return d.test(l)?l.replace(p,":-webkit-")+l.replace(p,":-moz-")+l:l;case 1e3:switch(t=(c=l.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(t)){case 226:c=l.replace(v,"tb");break;case 232:c=l.replace(v,"tb-rl");break;case 220:c=l.replace(v,"lr");break;default:return l}return"-webkit-"+l+"-ms-"+c+l;case 1017:if(-1===l.indexOf("sticky",9))break;case 975:switch(t=(l=e).length-10,i=(c=(33===l.charCodeAt(t)?l.substring(0,t):l).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(111>c.charCodeAt(8))break;case 115:l=l.replace(c,"-webkit-"+c)+";"+l;break;case 207:case 102:l=l.replace(c,"-webkit-"+(102<i?"inline-":"")+"box")+";"+l.replace(c,"-webkit-"+c)+";"+l.replace(c,"-ms-"+c+"box")+";"+l}return l+";";case 938:if(45===l.charCodeAt(5))switch(l.charCodeAt(6)){case 105:return c=l.replace("-items",""),"-webkit-"+l+"-webkit-box-"+c+"-ms-flex-"+c+l;case 115:return"-webkit-"+l+"-ms-flex-item-"+l.replace(_,"")+l;default:return"-webkit-"+l+"-ms-flex-line-pack"+l.replace("align-content","").replace(_,"")+l}break;case 973:case 989:if(45!==l.charCodeAt(3)||122===l.charCodeAt(4))break;case 931:case 953:if(!0===E.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?o(e.replace("stretch","fill-available"),t,n,a).replace(":fill-available",":stretch"):l.replace(c,"-webkit-"+c)+l.replace(c,"-moz-"+c.replace("fill-",""))+l;break;case 962:if(l="-webkit-"+l+(102===l.charCodeAt(5)?"-ms-"+l:"")+l,211===n+a&&105===l.charCodeAt(13)&&0<l.indexOf("transform",10))return l.substring(0,l.indexOf(";",27)+1).replace(f,"$1-webkit-$2")+l}return l}function r(e,t){var n=e.indexOf(1===t?":":"{"),o=e.substring(0,3!==t?n:10);return n=e.substring(n+1,e.length-1),B(2!==t?o:o.replace(C,"$1"),n,t)}function a(e,t){var n=o(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(O," or ($1)").substring(4):"("+t+")"}function l(e,t,n,o,r,a,l,i,s,u){for(var p,d=0,f=t;d<T;++d)switch(p=A[d].call(c,e,f,n,o,r,a,l,i,s,u)){case void 0:case!1:case!0:case null:break;default:f=p}if(f!==t)return f}function i(e){return void 0!==(e=e.prefix)&&(B=null,e?"function"!=typeof e?P=1:(P=2,B=e):P=0),i}function c(e,n){var i=e;if(33>i.charCodeAt(0)&&(i=i.trim()),i=[i],0<T){var c=l(-1,n,i,i,k,j,0,0,0,0);void 0!==c&&"string"==typeof c&&(n=c)}var p=function e(n,i,c,p,d){for(var f,m,b,v,O,_=0,C=0,E=0,R=0,A=0,B=0,z=b=f=0,D=0,M=0,L=0,I=0,N=c.length,H=N-1,W="",G="",q="",U="";D<N;){if(m=c.charCodeAt(D),D===H&&0!==C+R+E+_&&(0!==C&&(m=47===C?10:47),R=E=_=0,N++,H++),0===C+R+E+_){if(D===H&&(0<M&&(W=W.replace(u,"")),0<W.trim().length)){switch(m){case 32:case 9:case 59:case 13:case 10:break;default:W+=c.charAt(D)}m=59}switch(m){case 123:for(f=(W=W.trim()).charCodeAt(0),b=1,I=++D;D<N;){switch(m=c.charCodeAt(D)){case 123:b++;break;case 125:b--;break;case 47:switch(m=c.charCodeAt(D+1)){case 42:case 47:e:{for(z=D+1;z<H;++z)switch(c.charCodeAt(z)){case 47:if(42===m&&42===c.charCodeAt(z-1)&&D+2!==z){D=z+1;break e}break;case 10:if(47===m){D=z+1;break e}}D=z}}break;case 91:m++;case 40:m++;case 34:case 39:for(;D++<H&&c.charCodeAt(D)!==m;);}if(0===b)break;D++}switch(b=c.substring(I,D),0===f&&(f=(W=W.replace(s,"").trim()).charCodeAt(0)),f){case 64:switch(0<M&&(W=W.replace(u,"")),m=W.charCodeAt(1)){case 100:case 109:case 115:case 45:M=i;break;default:M=F}if(I=(b=e(i,M,b,m,d+1)).length,0<T&&(O=l(3,b,M=t(F,W,L),i,k,j,I,m,d,p),W=M.join(""),void 0!==O&&0===(I=(b=O.trim()).length)&&(m=0,b="")),0<I)switch(m){case 115:W=W.replace(w,a);case 100:case 109:case 45:b=W+"{"+b+"}";break;case 107:b=(W=W.replace(g,"$1 $2"))+"{"+b+"}",b=1===P||2===P&&r("@"+b,3)?"@-webkit-"+b+"@"+b:"@"+b;break;default:b=W+b,112===p&&(G+=b,b="")}else b="";break;default:b=e(i,t(i,W,L),b,p,d+1)}q+=b,b=L=M=z=f=0,W="",m=c.charCodeAt(++D);break;case 125:case 59:if(1<(I=(W=(0<M?W.replace(u,""):W).trim()).length))switch(0===z&&(f=W.charCodeAt(0),45===f||96<f&&123>f)&&(I=(W=W.replace(" ",":")).length),0<T&&void 0!==(O=l(1,W,i,n,k,j,G.length,p,d,p))&&0===(I=(W=O.trim()).length)&&(W="\0\0"),f=W.charCodeAt(0),m=W.charCodeAt(1),f){case 0:break;case 64:if(105===m||99===m){U+=W+c.charAt(D);break}default:58!==W.charCodeAt(I-1)&&(G+=o(W,f,m,W.charCodeAt(2)))}L=M=z=f=0,W="",m=c.charCodeAt(++D)}}switch(m){case 13:case 10:47===C?C=0:0===1+f&&107!==p&&0<W.length&&(M=1,W+="\0"),0<T*x&&l(0,W,i,n,k,j,G.length,p,d,p),j=1,k++;break;case 59:case 125:if(0===C+R+E+_){j++;break}default:switch(j++,v=c.charAt(D),m){case 9:case 32:if(0===R+_+C)switch(A){case 44:case 58:case 9:case 32:v="";break;default:32!==m&&(v=" ")}break;case 0:v="\\0";break;case 12:v="\\f";break;case 11:v="\\v";break;case 38:0===R+C+_&&(M=L=1,v="\f"+v);break;case 108:if(0===R+C+_+S&&0<z)switch(D-z){case 2:112===A&&58===c.charCodeAt(D-3)&&(S=A);case 8:111===B&&(S=B)}break;case 58:0===R+C+_&&(z=D);break;case 44:0===C+E+R+_&&(M=1,v+="\r");break;case 34:case 39:0===C&&(R=R===m?0:0===R?m:R);break;case 91:0===R+C+E&&_++;break;case 93:0===R+C+E&&_--;break;case 41:0===R+C+_&&E--;break;case 40:if(0===R+C+_){if(0===f)switch(2*A+3*B){case 533:break;default:f=1}E++}break;case 64:0===C+E+R+_+z+b&&(b=1);break;case 42:case 47:if(!(0<R+_+E))switch(C){case 0:switch(2*m+3*c.charCodeAt(D+1)){case 235:C=47;break;case 220:I=D,C=42}break;case 42:47===m&&42===A&&I+2!==D&&(33===c.charCodeAt(I+2)&&(G+=c.substring(I,D+1)),v="",C=0)}}0===C&&(W+=v)}B=A,A=m,D++}if(0<(I=G.length)){if(M=i,0<T&&void 0!==(O=l(2,G,M,n,k,j,I,p,d,p))&&0===(G=O).length)return U+G+q;if(G=M.join(",")+"{"+G+"}",0!=P*S){switch(2!==P||r(G,2)||(S=0),S){case 111:G=G.replace(y,":-moz-$1")+G;break;case 112:G=G.replace(h,"::-webkit-input-$1")+G.replace(h,"::-moz-$1")+G.replace(h,":-ms-input-$1")+G}S=0}}return U+G+q}(F,i,n,0,0);return 0<T&&void 0!==(c=l(-2,p,i,i,k,j,p.length,0,0,0))&&(p=c),S=0,j=k=1,p}var s=/^\0+/g,u=/[\0\r\f]/g,p=/: */g,d=/zoo|gra/,f=/([,: ])(transform)/g,m=/,\r+?/g,b=/([\t\r\n ])*\f?&/g,g=/@(k\w+)\s*(\S*)\s*/,h=/::(place)/g,y=/:(read-only)/g,v=/[svh]\w+-[tblr]{2}/,w=/\(\s*(.*)\s*\)/g,O=/([\s\S]*?);/g,_=/-self|flex-/g,C=/[^]*?(:[rp][el]a[\w-]+)[^]*/,E=/stretch|:\s*\w+\-(?:conte|avail)/,R=/([^-])(image-set\()/,j=1,k=1,S=0,P=1,F=[],A=[],T=0,B=null,x=0;return c.use=function e(t){switch(t){case void 0:case null:T=A.length=0;break;default:if("function"==typeof t)A[T++]=t;else if("object"==typeof t)for(var n=0,o=t.length;n<o;++n)e(t[n]);else x=0|!!t}return e},c.set=i,void 0!==e&&i(e),c}},function(e,t,n){"use strict";t.a={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=c(n(4)),r=n(33),a=c(n(40)),l=c(n(42)),i=n(11);function c(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(e,t){return!t||"object"!==s(t)&&"function"!=typeof t?g(e):t}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=(0,i.canUseDOM)()&&n(43),w=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&m(e,t)}(w,e);var t,n,c,s,p=(c=w,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=h(c);if(s){var n=h(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return b(this,e)});function w(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,w),y(g(t=p.call(this,e)),"innerSliderRefHandler",(function(e){return t.innerSlider=e})),y(g(t),"slickPrev",(function(){return t.innerSlider.slickPrev()})),y(g(t),"slickNext",(function(){return t.innerSlider.slickNext()})),y(g(t),"slickGoTo",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t.innerSlider.slickGoTo(e,n)})),y(g(t),"slickPause",(function(){return t.innerSlider.pause("paused")})),y(g(t),"slickPlay",(function(){return t.innerSlider.autoPlay("play")})),t.state={breakpoint:null},t._responsiveMediaHandlers=[],t}return t=w,(n=[{key:"media",value:function(e,t){v.register(e,t),this._responsiveMediaHandlers.push({query:e,handler:t})}},{key:"componentDidMount",value:function(){var e=this;if(this.props.responsive){var t=this.props.responsive.map((function(e){return e.breakpoint}));t.sort((function(e,t){return e-t})),t.forEach((function(n,o){var r;r=0===o?(0,a.default)({minWidth:0,maxWidth:n}):(0,a.default)({minWidth:t[o-1]+1,maxWidth:n}),(0,i.canUseDOM)()&&e.media(r,(function(){e.setState({breakpoint:n})}))}));var n=(0,a.default)({minWidth:t.slice(-1)[0]});(0,i.canUseDOM)()&&this.media(n,(function(){e.setState({breakpoint:null})}))}}},{key:"componentWillUnmount",value:function(){this._responsiveMediaHandlers.forEach((function(e){v.unregister(e.query,e.handler)}))}},{key:"render",value:function(){var e,t,n=this;(e=this.state.breakpoint?"unslick"===(t=this.props.responsive.filter((function(e){return e.breakpoint===n.state.breakpoint})))[0].settings?"unslick":d(d(d({},l.default),this.props),t[0].settings):d(d({},l.default),this.props)).centerMode&&(e.slidesToScroll,e.slidesToScroll=1),e.fade&&(e.slidesToShow,e.slidesToScroll,e.slidesToShow=1,e.slidesToScroll=1);var a=o.default.Children.toArray(this.props.children);a=a.filter((function(e){return"string"==typeof e?!!e.trim():!!e})),e.variableWidth&&(e.rows>1||e.slidesPerRow>1)&&(console.warn("variableWidth is not supported in case of rows > 1 or slidesPerRow > 1"),e.variableWidth=!1);for(var i=[],c=null,s=0;s<a.length;s+=e.rows*e.slidesPerRow){for(var p=[],f=s;f<s+e.rows*e.slidesPerRow;f+=e.slidesPerRow){for(var m=[],b=f;b<f+e.slidesPerRow&&(e.variableWidth&&a[b].props.style&&(c=a[b].props.style.width),!(b>=a.length));b+=1)m.push(o.default.cloneElement(a[b],{key:100*s+10*f+b,tabIndex:-1,style:{width:"".concat(100/e.slidesPerRow,"%"),display:"inline-block"}}));p.push(o.default.createElement("div",{key:10*s+f},m))}e.variableWidth?i.push(o.default.createElement("div",{key:s,style:{width:c}},p)):i.push(o.default.createElement("div",{key:s},p))}if("unslick"===e){var g="regular slider "+(this.props.className||"");return o.default.createElement("div",{className:g},a)}return i.length<=e.slidesToShow&&(e.unslick=!0),o.default.createElement(r.InnerSlider,u({style:this.props.style,ref:this.innerSliderRefHandler},e),i)}}])&&f(t.prototype,n),w}(o.default.Component);t.default=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InnerSlider=void 0;var o=d(n(4)),r=d(n(34)),a=d(n(35)),l=d(n(5)),i=n(11),c=n(36),s=n(37),u=n(38),p=d(n(39));function d(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(){return(m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function b(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function y(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e,t){return!t||"object"!==f(t)&&"function"!=typeof t?O(e):t}function O(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _(e){return(_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var E=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}(R,e);var t,n,d,g,E=(d=R,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=_(d);if(g){var n=_(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return w(this,e)});function R(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,R),C(O(t=E.call(this,e)),"listRefHandler",(function(e){return t.list=e})),C(O(t),"trackRefHandler",(function(e){return t.track=e})),C(O(t),"adaptHeight",(function(){if(t.props.adaptiveHeight&&t.list){var e=t.list.querySelector('[data-index="'.concat(t.state.currentSlide,'"]'));t.list.style.height=(0,i.getHeight)(e)+"px"}})),C(O(t),"componentDidMount",(function(){if(t.props.onInit&&t.props.onInit(),t.props.lazyLoad){var e=(0,i.getOnDemandLazySlides)(h(h({},t.props),t.state));e.length>0&&(t.setState((function(t){return{lazyLoadedList:t.lazyLoadedList.concat(e)}})),t.props.onLazyLoad&&t.props.onLazyLoad(e))}var n=h({listRef:t.list,trackRef:t.track},t.props);t.updateState(n,!0,(function(){t.adaptHeight(),t.props.autoplay&&t.autoPlay("update")})),"progressive"===t.props.lazyLoad&&(t.lazyLoadTimer=setInterval(t.progressiveLazyLoad,1e3)),t.ro=new p.default((function(){t.state.animating?(t.onWindowResized(!1),t.callbackTimers.push(setTimeout((function(){return t.onWindowResized()}),t.props.speed))):t.onWindowResized()})),t.ro.observe(t.list),document.querySelectorAll&&Array.prototype.forEach.call(document.querySelectorAll(".slick-slide"),(function(e){e.onfocus=t.props.pauseOnFocus?t.onSlideFocus:null,e.onblur=t.props.pauseOnFocus?t.onSlideBlur:null})),window.addEventListener?window.addEventListener("resize",t.onWindowResized):window.attachEvent("onresize",t.onWindowResized)})),C(O(t),"componentWillUnmount",(function(){t.animationEndCallback&&clearTimeout(t.animationEndCallback),t.lazyLoadTimer&&clearInterval(t.lazyLoadTimer),t.callbackTimers.length&&(t.callbackTimers.forEach((function(e){return clearTimeout(e)})),t.callbackTimers=[]),window.addEventListener?window.removeEventListener("resize",t.onWindowResized):window.detachEvent("onresize",t.onWindowResized),t.autoplayTimer&&clearInterval(t.autoplayTimer),t.ro.disconnect()})),C(O(t),"componentDidUpdate",(function(e){if(t.checkImagesLoad(),t.props.onReInit&&t.props.onReInit(),t.props.lazyLoad){var n=(0,i.getOnDemandLazySlides)(h(h({},t.props),t.state));n.length>0&&(t.setState((function(e){return{lazyLoadedList:e.lazyLoadedList.concat(n)}})),t.props.onLazyLoad&&t.props.onLazyLoad(n))}t.adaptHeight();var r=h(h({listRef:t.list,trackRef:t.track},t.props),t.state),a=t.didPropsChange(e);a&&t.updateState(r,a,(function(){t.state.currentSlide>=o.default.Children.count(t.props.children)&&t.changeSlide({message:"index",index:o.default.Children.count(t.props.children)-t.props.slidesToShow,currentSlide:t.state.currentSlide}),t.props.autoplay?t.autoPlay("update"):t.pause("paused")}))})),C(O(t),"onWindowResized",(function(e){t.debouncedResize&&t.debouncedResize.cancel(),t.debouncedResize=(0,a.default)((function(){return t.resizeWindow(e)}),50),t.debouncedResize()})),C(O(t),"resizeWindow",(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=Boolean(t.track&&t.track.node);if(n){var o=h(h({listRef:t.list,trackRef:t.track},t.props),t.state);t.updateState(o,e,(function(){t.props.autoplay?t.autoPlay("update"):t.pause("paused")})),t.setState({animating:!1}),clearTimeout(t.animationEndCallback),delete t.animationEndCallback}})),C(O(t),"updateState",(function(e,n,r){var a=(0,i.initializedState)(e);e=h(h(h({},e),a),{},{slideIndex:a.currentSlide});var l=(0,i.getTrackLeft)(e);e=h(h({},e),{},{left:l});var c=(0,i.getTrackCSS)(e);(n||o.default.Children.count(t.props.children)!==o.default.Children.count(e.children))&&(a.trackStyle=c),t.setState(a,r)})),C(O(t),"ssrInit",(function(){if(t.props.variableWidth){var e=0,n=0,r=[],a=(0,i.getPreClones)(h(h(h({},t.props),t.state),{},{slideCount:t.props.children.length})),l=(0,i.getPostClones)(h(h(h({},t.props),t.state),{},{slideCount:t.props.children.length}));t.props.children.forEach((function(t){r.push(t.props.style.width),e+=t.props.style.width}));for(var c=0;c<a;c++)n+=r[r.length-1-c],e+=r[r.length-1-c];for(var s=0;s<l;s++)e+=r[s];for(var u=0;u<t.state.currentSlide;u++)n+=r[u];var p={width:e+"px",left:-n+"px"};if(t.props.centerMode){var d="".concat(r[t.state.currentSlide],"px");p.left="calc(".concat(p.left," + (100% - ").concat(d,") / 2 ) ")}return{trackStyle:p}}var f=o.default.Children.count(t.props.children),m=h(h(h({},t.props),t.state),{},{slideCount:f}),b=(0,i.getPreClones)(m)+(0,i.getPostClones)(m)+f,g=100/t.props.slidesToShow*b,y=100/b,v=-y*((0,i.getPreClones)(m)+t.state.currentSlide)*g/100;return t.props.centerMode&&(v+=(100-y*g/100)/2),{slideWidth:y+"%",trackStyle:{width:g+"%",left:v+"%"}}})),C(O(t),"checkImagesLoad",(function(){var e=t.list&&t.list.querySelectorAll&&t.list.querySelectorAll(".slick-slide img")||[],n=e.length,o=0;Array.prototype.forEach.call(e,(function(e){var r=function(){return++o&&o>=n&&t.onWindowResized()};if(e.onclick){var a=e.onclick;e.onclick=function(){a(),e.parentNode.focus()}}else e.onclick=function(){return e.parentNode.focus()};e.onload||(t.props.lazyLoad?e.onload=function(){t.adaptHeight(),t.callbackTimers.push(setTimeout(t.onWindowResized,t.props.speed))}:(e.onload=r,e.onerror=function(){r(),t.props.onLazyLoadError&&t.props.onLazyLoadError()}))}))})),C(O(t),"progressiveLazyLoad",(function(){for(var e=[],n=h(h({},t.props),t.state),o=t.state.currentSlide;o<t.state.slideCount+(0,i.getPostClones)(n);o++)if(t.state.lazyLoadedList.indexOf(o)<0){e.push(o);break}for(var r=t.state.currentSlide-1;r>=-(0,i.getPreClones)(n);r--)if(t.state.lazyLoadedList.indexOf(r)<0){e.push(r);break}e.length>0?(t.setState((function(t){return{lazyLoadedList:t.lazyLoadedList.concat(e)}})),t.props.onLazyLoad&&t.props.onLazyLoad(e)):t.lazyLoadTimer&&(clearInterval(t.lazyLoadTimer),delete t.lazyLoadTimer)})),C(O(t),"slideHandler",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=t.props,r=o.asNavFor,a=o.beforeChange,l=o.onLazyLoad,c=o.speed,s=o.afterChange,u=t.state.currentSlide,p=(0,i.slideHandler)(h(h(h({index:e},t.props),t.state),{},{trackRef:t.track,useCSS:t.props.useCSS&&!n})),d=p.state,f=p.nextState;if(d){a&&a(u,d.currentSlide);var m=d.lazyLoadedList.filter((function(e){return t.state.lazyLoadedList.indexOf(e)<0}));l&&m.length>0&&l(m),!t.props.waitForAnimate&&t.animationEndCallback&&(clearTimeout(t.animationEndCallback),s&&s(u),delete t.animationEndCallback),t.setState(d,(function(){r&&t.asNavForIndex!==e&&(t.asNavForIndex=e,r.innerSlider.slideHandler(e)),f&&(t.animationEndCallback=setTimeout((function(){var e=f.animating,n=b(f,["animating"]);t.setState(n,(function(){t.callbackTimers.push(setTimeout((function(){return t.setState({animating:e})}),10)),s&&s(d.currentSlide),delete t.animationEndCallback}))}),c))}))}})),C(O(t),"changeSlide",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=h(h({},t.props),t.state),r=(0,i.changeSlide)(o,e);if((0===r||r)&&(!0===n?t.slideHandler(r,n):t.slideHandler(r),t.props.autoplay&&t.autoPlay("update"),t.props.focusOnSelect)){var a=t.list.querySelectorAll(".slick-current");a[0]&&a[0].focus()}})),C(O(t),"clickHandler",(function(e){!1===t.clickable&&(e.stopPropagation(),e.preventDefault()),t.clickable=!0})),C(O(t),"keyHandler",(function(e){var n=(0,i.keyHandler)(e,t.props.accessibility,t.props.rtl);""!==n&&t.changeSlide({message:n})})),C(O(t),"selectHandler",(function(e){t.changeSlide(e)})),C(O(t),"disableBodyScroll",(function(){window.ontouchmove=function(e){(e=e||window.event).preventDefault&&e.preventDefault(),e.returnValue=!1}})),C(O(t),"enableBodyScroll",(function(){window.ontouchmove=null})),C(O(t),"swipeStart",(function(e){t.props.verticalSwiping&&t.disableBodyScroll();var n=(0,i.swipeStart)(e,t.props.swipe,t.props.draggable);""!==n&&t.setState(n)})),C(O(t),"swipeMove",(function(e){var n=(0,i.swipeMove)(e,h(h(h({},t.props),t.state),{},{trackRef:t.track,listRef:t.list,slideIndex:t.state.currentSlide}));n&&(n.swiping&&(t.clickable=!1),t.setState(n))})),C(O(t),"swipeEnd",(function(e){var n=(0,i.swipeEnd)(e,h(h(h({},t.props),t.state),{},{trackRef:t.track,listRef:t.list,slideIndex:t.state.currentSlide}));if(n){var o=n.triggerSlideHandler;delete n.triggerSlideHandler,t.setState(n),void 0!==o&&(t.slideHandler(o),t.props.verticalSwiping&&t.enableBodyScroll())}})),C(O(t),"touchEnd",(function(e){t.swipeEnd(e),t.clickable=!0})),C(O(t),"slickPrev",(function(){t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"previous"})}),0))})),C(O(t),"slickNext",(function(){t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"next"})}),0))})),C(O(t),"slickGoTo",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e=Number(e),isNaN(e))return"";t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"index",index:e,currentSlide:t.state.currentSlide},n)}),0))})),C(O(t),"play",(function(){var e;if(t.props.rtl)e=t.state.currentSlide-t.props.slidesToScroll;else{if(!(0,i.canGoNext)(h(h({},t.props),t.state)))return!1;e=t.state.currentSlide+t.props.slidesToScroll}t.slideHandler(e)})),C(O(t),"autoPlay",(function(e){t.autoplayTimer&&clearInterval(t.autoplayTimer);var n=t.state.autoplaying;if("update"===e){if("hovered"===n||"focused"===n||"paused"===n)return}else if("leave"===e){if("paused"===n||"focused"===n)return}else if("blur"===e&&("paused"===n||"hovered"===n))return;t.autoplayTimer=setInterval(t.play,t.props.autoplaySpeed+50),t.setState({autoplaying:"playing"})})),C(O(t),"pause",(function(e){t.autoplayTimer&&(clearInterval(t.autoplayTimer),t.autoplayTimer=null);var n=t.state.autoplaying;"paused"===e?t.setState({autoplaying:"paused"}):"focused"===e?"hovered"!==n&&"playing"!==n||t.setState({autoplaying:"focused"}):"playing"===n&&t.setState({autoplaying:"hovered"})})),C(O(t),"onDotsOver",(function(){return t.props.autoplay&&t.pause("hovered")})),C(O(t),"onDotsLeave",(function(){return t.props.autoplay&&"hovered"===t.state.autoplaying&&t.autoPlay("leave")})),C(O(t),"onTrackOver",(function(){return t.props.autoplay&&t.pause("hovered")})),C(O(t),"onTrackLeave",(function(){return t.props.autoplay&&"hovered"===t.state.autoplaying&&t.autoPlay("leave")})),C(O(t),"onSlideFocus",(function(){return t.props.autoplay&&t.pause("focused")})),C(O(t),"onSlideBlur",(function(){return t.props.autoplay&&"focused"===t.state.autoplaying&&t.autoPlay("blur")})),C(O(t),"render",(function(){var e,n,r,a=(0,l.default)("slick-slider",t.props.className,{"slick-vertical":t.props.vertical,"slick-initialized":!0}),p=h(h({},t.props),t.state),d=(0,i.extractObject)(p,["fade","cssEase","speed","infinite","centerMode","focusOnSelect","currentSlide","lazyLoad","lazyLoadedList","rtl","slideWidth","slideHeight","listHeight","vertical","slidesToShow","slidesToScroll","slideCount","trackStyle","variableWidth","unslick","centerPadding","targetSlide","useCSS"]),f=t.props.pauseOnHover;if(d=h(h({},d),{},{onMouseEnter:f?t.onTrackOver:null,onMouseLeave:f?t.onTrackLeave:null,onMouseOver:f?t.onTrackOver:null,focusOnSelect:t.props.focusOnSelect&&t.clickable?t.selectHandler:null}),!0===t.props.dots&&t.state.slideCount>=t.props.slidesToShow){var b=(0,i.extractObject)(p,["dotsClass","slideCount","slidesToShow","currentSlide","slidesToScroll","clickHandler","children","customPaging","infinite","appendDots"]),g=t.props.pauseOnDotsHover;b=h(h({},b),{},{clickHandler:t.changeSlide,onMouseEnter:g?t.onDotsLeave:null,onMouseOver:g?t.onDotsOver:null,onMouseLeave:g?t.onDotsLeave:null}),e=o.default.createElement(s.Dots,b)}var y=(0,i.extractObject)(p,["infinite","centerMode","currentSlide","slideCount","slidesToShow","prevArrow","nextArrow"]);y.clickHandler=t.changeSlide,t.props.arrows&&(n=o.default.createElement(u.PrevArrow,y),r=o.default.createElement(u.NextArrow,y));var v=null;t.props.vertical&&(v={height:t.state.listHeight});var w=null;!1===t.props.vertical?!0===t.props.centerMode&&(w={padding:"0px "+t.props.centerPadding}):!0===t.props.centerMode&&(w={padding:t.props.centerPadding+" 0px"});var O=h(h({},v),w),_=t.props.touchMove,C={className:"slick-list",style:O,onClick:t.clickHandler,onMouseDown:_?t.swipeStart:null,onMouseMove:t.state.dragging&&_?t.swipeMove:null,onMouseUp:_?t.swipeEnd:null,onMouseLeave:t.state.dragging&&_?t.swipeEnd:null,onTouchStart:_?t.swipeStart:null,onTouchMove:t.state.dragging&&_?t.swipeMove:null,onTouchEnd:_?t.touchEnd:null,onTouchCancel:t.state.dragging&&_?t.swipeEnd:null,onKeyDown:t.props.accessibility?t.keyHandler:null},E={className:a,dir:"ltr",style:t.props.style};return t.props.unslick&&(C={className:"slick-list"},E={className:a}),o.default.createElement("div",E,t.props.unslick?"":n,o.default.createElement("div",m({ref:t.listRefHandler},C),o.default.createElement(c.Track,m({ref:t.trackRefHandler},d),t.props.children)),t.props.unslick?"":r,t.props.unslick?"":e)})),t.list=null,t.track=null,t.state=h(h({},r.default),{},{currentSlide:t.props.initialSlide,slideCount:o.default.Children.count(t.props.children)}),t.callbackTimers=[],t.clickable=!0,t.debouncedResize=null;var n=t.ssrInit();return t.state=h(h({},t.state),n),t}return t=R,(n=[{key:"didPropsChange",value:function(e){for(var t=!1,n=0,r=Object.keys(this.props);n<r.length;n++){var a=r[n];if(!e.hasOwnProperty(a)){t=!0;break}if("object"!==f(e[a])&&"function"!=typeof e[a]&&e[a]!==this.props[a]){t=!0;break}}return t||o.default.Children.count(this.props.children)!==o.default.Children.count(e.children)}}])&&y(t.prototype,n),R}(o.default.Component);t.InnerSlider=E},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={animating:!1,autoplaying:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,dragging:!1,edgeDragged:!1,initialized:!1,lazyLoadedList:[],listHeight:null,listWidth:null,scrolling:!1,slideCount:null,slideHeight:null,slideWidth:null,swipeLeft:null,swiped:!1,swiping:!1,touchObject:{startX:0,startY:0,curX:0,curY:0},trackStyle:{},trackWidth:0,targetSlide:0}},function(e,t,n){(function(t){var n=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,a=/^0o[0-7]+$/i,l=parseInt,i="object"==typeof t&&t&&t.Object===Object&&t,c="object"==typeof self&&self&&self.Object===Object&&self,s=i||c||Function("return this")(),u=Object.prototype.toString,p=Math.max,d=Math.min,f=function(){return s.Date.now()};function m(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function b(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==u.call(e)}(e))return NaN;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(n,"");var i=r.test(e);return i||a.test(e)?l(e.slice(2),i?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,n){var o,r,a,l,i,c,s=0,u=!1,g=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=o,a=r;return o=r=void 0,s=t,l=e.apply(a,n)}function v(e){return s=e,i=setTimeout(O,t),u?y(e):l}function w(e){var n=e-c;return void 0===c||n>=t||n<0||g&&e-s>=a}function O(){var e=f();if(w(e))return _(e);i=setTimeout(O,function(e){var n=t-(e-c);return g?d(n,a-(e-s)):n}(e))}function _(e){return i=void 0,h&&o?y(e):(o=r=void 0,l)}function C(){var e=f(),n=w(e);if(o=arguments,r=this,c=e,n){if(void 0===i)return v(c);if(g)return i=setTimeout(O,t),y(c)}return void 0===i&&(i=setTimeout(O,t)),l}return t=b(t)||0,m(n)&&(u=!!n.leading,a=(g="maxWait"in n)?p(b(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),C.cancel=function(){void 0!==i&&clearTimeout(i),s=0,o=c=r=i=void 0},C.flush=function(){return void 0===i?l:_(f())},C}}).call(this,n(27))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Track=void 0;var o=l(n(4)),r=l(n(5)),a=n(11);function l(e){return e&&e.__esModule?e:{default:e}}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?f(e):t}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=function(e){var t,n,o,r,a;return o=(a=e.rtl?e.slideCount-1-e.index:e.index)<0||a>=e.slideCount,e.centerMode?(r=Math.floor(e.slidesToShow/2),n=(a-e.currentSlide)%e.slideCount==0,a>e.currentSlide-r-1&&a<=e.currentSlide+r&&(t=!0)):t=e.currentSlide<=a&&a<e.currentSlide+e.slidesToShow,{"slick-slide":!0,"slick-active":t,"slick-center":n,"slick-cloned":o,"slick-current":a===(e.targetSlide<0?e.targetSlide+e.slideCount:e.targetSlide>=e.slideCount?e.targetSlide-e.slideCount:e.targetSlide)}},v=function(e,t){return e.key||t},w=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(w,e);var t,n,l,i,b=(l=w,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=m(l);if(i){var n=m(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return d(this,e)});function w(){var e;s(this,w);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return h(f(e=b.call.apply(b,[this].concat(n))),"node",null),h(f(e),"handleRef",(function(t){e.node=t})),e}return t=w,(n=[{key:"render",value:function(){var e=function(e){var t,n=[],l=[],i=[],c=o.default.Children.count(e.children),s=(0,a.lazyStartIndex)(e),u=(0,a.lazyEndIndex)(e);return o.default.Children.forEach(e.children,(function(p,d){var f,m={message:"children",index:d,slidesToScroll:e.slidesToScroll,currentSlide:e.currentSlide};f=!e.lazyLoad||e.lazyLoad&&e.lazyLoadedList.indexOf(d)>=0?p:o.default.createElement("div",null);var b=function(e){var t={};return void 0!==e.variableWidth&&!1!==e.variableWidth||(t.width=e.slideWidth),e.fade&&(t.position="relative",e.vertical?t.top=-e.index*parseInt(e.slideHeight):t.left=-e.index*parseInt(e.slideWidth),t.opacity=e.currentSlide===e.index?1:0,e.useCSS&&(t.transition="opacity "+e.speed+"ms "+e.cssEase+", visibility "+e.speed+"ms "+e.cssEase)),t}(g(g({},e),{},{index:d})),h=f.props.className||"",w=y(g(g({},e),{},{index:d}));if(n.push(o.default.cloneElement(f,{key:"original"+v(f,d),"data-index":d,className:(0,r.default)(w,h),tabIndex:"-1","aria-hidden":!w["slick-active"],style:g(g({outline:"none"},f.props.style||{}),b),onClick:function(t){f.props&&f.props.onClick&&f.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(m)}})),e.infinite&&!1===e.fade){var O=c-d;O<=(0,a.getPreClones)(e)&&c!==e.slidesToShow&&((t=-O)>=s&&(f=p),w=y(g(g({},e),{},{index:t})),l.push(o.default.cloneElement(f,{key:"precloned"+v(f,t),"data-index":t,tabIndex:"-1",className:(0,r.default)(w,h),"aria-hidden":!w["slick-active"],style:g(g({},f.props.style||{}),b),onClick:function(t){f.props&&f.props.onClick&&f.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(m)}}))),c!==e.slidesToShow&&((t=c+d)<u&&(f=p),w=y(g(g({},e),{},{index:t})),i.push(o.default.cloneElement(f,{key:"postcloned"+v(f,t),"data-index":t,tabIndex:"-1",className:(0,r.default)(w,h),"aria-hidden":!w["slick-active"],style:g(g({},f.props.style||{}),b),onClick:function(t){f.props&&f.props.onClick&&f.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(m)}})))}})),e.rtl?l.concat(n,i).reverse():l.concat(n,i)}(this.props),t=this.props,n={onMouseEnter:t.onMouseEnter,onMouseOver:t.onMouseOver,onMouseLeave:t.onMouseLeave};return o.default.createElement("div",c({ref:this.handleRef,className:"slick-track",style:this.props.trackStyle},n),e)}}])&&u(t.prototype,n),w}(o.default.PureComponent);t.Track=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dots=void 0;var o=l(n(4)),r=l(n(5)),a=n(11);function l(e){return e&&e.__esModule?e:{default:e}}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(g,e);var t,n,l,i,b=(l=g,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=m(l);if(i){var n=m(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return f(this,e)});function g(){return u(this,g),b.apply(this,arguments)}return t=g,(n=[{key:"clickHandler",value:function(e,t){t.preventDefault(),this.props.clickHandler(e)}},{key:"render",value:function(){for(var e,t=this.props,n=t.onMouseEnter,l=t.onMouseOver,i=t.onMouseLeave,u=t.infinite,p=t.slidesToScroll,d=t.slidesToShow,f=t.slideCount,m=t.currentSlide,b=(e={slideCount:f,slidesToScroll:p,slidesToShow:d,infinite:u}).infinite?Math.ceil(e.slideCount/e.slidesToScroll):Math.ceil((e.slideCount-e.slidesToShow)/e.slidesToScroll)+1,g={onMouseEnter:n,onMouseOver:l,onMouseLeave:i},h=[],y=0;y<b;y++){var v=(y+1)*p-1,w=u?v:(0,a.clamp)(v,0,f-1),O=w-(p-1),_=u?O:(0,a.clamp)(O,0,f-1),C=(0,r.default)({"slick-active":u?m>=_&&m<=w:m===_}),E={message:"dots",index:y,slidesToScroll:p,currentSlide:m},R=this.clickHandler.bind(this,E);h=h.concat(o.default.createElement("li",{key:y,className:C},o.default.cloneElement(this.props.customPaging(y),{onClick:R})))}return o.default.cloneElement(this.props.appendDots(h),function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({className:this.props.dotsClass},g))}}])&&p(t.prototype,n),g}(o.default.PureComponent);t.Dots=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NextArrow=t.PrevArrow=void 0;var o=l(n(4)),r=l(n(5)),a=n(11);function l(e){return e&&e.__esModule?e:{default:e}}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){p(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function m(e,t,n){return t&&f(e.prototype,t),n&&f(e,n),e}function b(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");var n,o;e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&(n=e,o=t,(Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(n,o))}function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=y(e);if(t){var r=y(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return h(this,n)}}function h(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var v=function(e){b(n,e);var t=g(n);function n(){return d(this,n),t.apply(this,arguments)}return m(n,[{key:"clickHandler",value:function(e,t){t&&t.preventDefault(),this.props.clickHandler(e,t)}},{key:"render",value:function(){var e={"slick-arrow":!0,"slick-prev":!0},t=this.clickHandler.bind(this,{message:"previous"});!this.props.infinite&&(0===this.props.currentSlide||this.props.slideCount<=this.props.slidesToShow)&&(e["slick-disabled"]=!0,t=null);var n={key:"0","data-role":"none",className:(0,r.default)(e),style:{display:"block"},onClick:t},a={currentSlide:this.props.currentSlide,slideCount:this.props.slideCount};return this.props.prevArrow?o.default.cloneElement(this.props.prevArrow,u(u({},n),a)):o.default.createElement("button",c({key:"0",type:"button"},n)," ","Previous")}}]),n}(o.default.PureComponent);t.PrevArrow=v;var w=function(e){b(n,e);var t=g(n);function n(){return d(this,n),t.apply(this,arguments)}return m(n,[{key:"clickHandler",value:function(e,t){t&&t.preventDefault(),this.props.clickHandler(e,t)}},{key:"render",value:function(){var e={"slick-arrow":!0,"slick-next":!0},t=this.clickHandler.bind(this,{message:"next"});(0,a.canGoNext)(this.props)||(e["slick-disabled"]=!0,t=null);var n={key:"1","data-role":"none",className:(0,r.default)(e),style:{display:"block"},onClick:t},l={currentSlide:this.props.currentSlide,slideCount:this.props.slideCount};return this.props.nextArrow?o.default.cloneElement(this.props.nextArrow,u(u({},n),l)):o.default.createElement("button",c({key:"1",type:"button"},n)," ","Next")}}]),n}(o.default.PureComponent);t.NextArrow=w},function(e,t,n){"use strict";n.r(t),function(e){var n=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,o){return e[0]===t&&(n=o,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(t,n){var o=e(this.__entries__,t);~o?this.__entries__[o][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,o=e(n,t);~o&&n.splice(o,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,o=this.__entries__;n<o.length;n++){var r=o[n];e.call(t,r[1],r[0])}},t}()}(),o="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,r=void 0!==e&&e.Math===Math?e:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),a="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(r):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)},l=["top","right","bottom","left","width","height","size","weight"],i="undefined"!=typeof MutationObserver,c=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var n=!1,o=!1,r=0;function l(){n&&(n=!1,e()),o&&c()}function i(){a(l)}function c(){var e=Date.now();if(n){if(e-r<2)return;o=!0}else n=!0,o=!1,setTimeout(i,20);r=e}return c}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){o&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),i?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){o&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;l.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),s=function(e,t){for(var n=0,o=Object.keys(t);n<o.length;n++){var r=o[n];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},u=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||r},p=g(0,0,0,0);function d(e){return parseFloat(e)||0}function f(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){return t+d(e["border-"+n+"-width"])}),0)}var m="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof u(e).SVGGraphicsElement}:function(e){return e instanceof u(e).SVGElement&&"function"==typeof e.getBBox};function b(e){return o?m(e)?function(e){var t=e.getBBox();return g(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return p;var o=u(e).getComputedStyle(e),r=function(e){for(var t={},n=0,o=["top","right","bottom","left"];n<o.length;n++){var r=o[n],a=e["padding-"+r];t[r]=d(a)}return t}(o),a=r.left+r.right,l=r.top+r.bottom,i=d(o.width),c=d(o.height);if("border-box"===o.boxSizing&&(Math.round(i+a)!==t&&(i-=f(o,"left","right")+a),Math.round(c+l)!==n&&(c-=f(o,"top","bottom")+l)),!function(e){return e===u(e).document.documentElement}(e)){var s=Math.round(i+a)-t,m=Math.round(c+l)-n;1!==Math.abs(s)&&(i-=s),1!==Math.abs(m)&&(c-=m)}return g(r.left,r.top,i,c)}(e):p}function g(e,t,n,o){return{x:e,y:t,width:n,height:o}}var h=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=g(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=b(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),y=function(e,t){var n,o,r,a,l,i,c,u=(o=(n=t).x,r=n.y,a=n.width,l=n.height,i="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(i.prototype),s(c,{x:o,y:r,width:a,height:l,top:r,right:o+a,bottom:l+r,left:o}),c);s(this,{target:e,contentRect:u})},v=function(){function e(e,t,o){if(this.activeObservations_=[],this.observations_=new n,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=o}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof u(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new h(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof u(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new y(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),w="undefined"!=typeof WeakMap?new WeakMap:new n,O=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=c.getInstance(),o=new v(t,n,this);w.set(this,o)};["observe","unobserve","disconnect"].forEach((function(e){O.prototype[e]=function(){var t;return(t=w.get(this))[e].apply(t,arguments)}}));var _=void 0!==r.ResizeObserver?r.ResizeObserver:O;t.default=_}.call(this,n(27))},function(e,t,n){var o=n(41),r=function(e){var t="",n=Object.keys(e);return n.forEach((function(r,a){var l=e[r];(function(e){return/[height|width]$/.test(e)})(r=o(r))&&"number"==typeof l&&(l+="px"),t+=!0===l?r:!1===l?"not "+r:"("+r+": "+l+")",a<n.length-1&&(t+=" and ")})),t};e.exports=function(e){var t="";return"string"==typeof e?e:e instanceof Array?(e.forEach((function(n,o){t+=r(n),o<e.length-1&&(t+=", ")})),t):r(e)}},function(e,t){e.exports=function(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()})).toLowerCase()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(4))&&o.__esModule?o:{default:o},a={accessibility:!0,adaptiveHeight:!1,afterChange:null,appendDots:function(e){return r.default.createElement("ul",{style:{display:"block"}},e)},arrows:!0,autoplay:!1,autoplaySpeed:3e3,beforeChange:null,centerMode:!1,centerPadding:"50px",className:"",cssEase:"ease",customPaging:function(e){return r.default.createElement("button",null,e+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:null,nextArrow:null,onEdge:null,onInit:null,onLazyLoadError:null,onReInit:null,pauseOnDotsHover:!1,pauseOnFocus:!1,pauseOnHover:!0,prevArrow:null,responsive:null,rows:1,rtl:!1,slide:"div",slidesPerRow:1,slidesToScroll:1,slidesToShow:1,speed:500,swipe:!0,swipeEvent:null,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,waitForAnimate:!0};t.default=a},function(e,t,n){var o=n(44);e.exports=new o},function(e,t,n){var o=n(45),r=n(28),a=r.each,l=r.isFunction,i=r.isArray;function c(){if(!window.matchMedia)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!window.matchMedia("only all").matches}c.prototype={constructor:c,register:function(e,t,n){var r=this.queries,c=n&&this.browserIsIncapable;return r[e]||(r[e]=new o(e,c)),l(t)&&(t={match:t}),i(t)||(t=[t]),a(t,(function(t){l(t)&&(t={match:t}),r[e].addHandler(t)})),this},unregister:function(e,t){var n=this.queries[e];return n&&(t?n.removeHandler(t):(n.clear(),delete this.queries[e])),this}},e.exports=c},function(e,t,n){var o=n(46),r=n(28).each;function a(e,t){this.query=e,this.isUnconditional=t,this.handlers=[],this.mql=window.matchMedia(e);var n=this;this.listener=function(e){n.mql=e.currentTarget||e,n.assess()},this.mql.addListener(this.listener)}a.prototype={constuctor:a,addHandler:function(e){var t=new o(e);this.handlers.push(t),this.matches()&&t.on()},removeHandler:function(e){var t=this.handlers;r(t,(function(n,o){if(n.equals(e))return n.destroy(),!t.splice(o,1)}))},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){r(this.handlers,(function(e){e.destroy()})),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var e=this.matches()?"on":"off";r(this.handlers,(function(t){t[e]()}))}},e.exports=a},function(e,t){function n(e){this.options=e,!e.deferSetup&&this.setup()}n.prototype={constructor:n,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},e.exports=n},function(e,t){var n,o,r=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function l(){throw new Error("clearTimeout has not been defined")}function i(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{o="function"==typeof clearTimeout?clearTimeout:l}catch(e){o=l}}();var c,s=[],u=!1,p=-1;function d(){u&&c&&(u=!1,c.length?s=c.concat(s):p=-1,s.length&&f())}function f(){if(!u){var e=i(d);u=!0;for(var t=s.length;t;){for(c=s,s=[];++p<t;)c&&c[p].run();p=-1,t=s.length}c=null,u=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===l||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function b(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];s.push(new m(e,t)),1!==s.length||u||i(f)},m.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=b,r.addListener=b,r.once=b,r.off=b,r.removeListener=b,r.removeAllListeners=b,r.emit=b,r.prependListener=b,r.prependOnceListener=b,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(e,t,n){"use strict";var o="function"==typeof Symbol&&Symbol.for,r=o?Symbol.for("react.element"):60103,a=o?Symbol.for("react.portal"):60106,l=o?Symbol.for("react.fragment"):60107,i=o?Symbol.for("react.strict_mode"):60108,c=o?Symbol.for("react.profiler"):60114,s=o?Symbol.for("react.provider"):60109,u=o?Symbol.for("react.context"):60110,p=o?Symbol.for("react.async_mode"):60111,d=o?Symbol.for("react.concurrent_mode"):60111,f=o?Symbol.for("react.forward_ref"):60112,m=o?Symbol.for("react.suspense"):60113,b=o?Symbol.for("react.suspense_list"):60120,g=o?Symbol.for("react.memo"):60115,h=o?Symbol.for("react.lazy"):60116,y=o?Symbol.for("react.block"):60121,v=o?Symbol.for("react.fundamental"):60117,w=o?Symbol.for("react.responder"):60118,O=o?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case p:case d:case l:case c:case i:case m:return e;default:switch(e=e&&e.$$typeof){case u:case f:case h:case g:case s:return e;default:return t}}case a:return t}}}function C(e){return _(e)===d}t.AsyncMode=p,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=l,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=c,t.StrictMode=i,t.Suspense=m,t.isAsyncMode=function(e){return C(e)||_(e)===p},t.isConcurrentMode=C,t.isContextConsumer=function(e){return _(e)===u},t.isContextProvider=function(e){return _(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return _(e)===f},t.isFragment=function(e){return _(e)===l},t.isLazy=function(e){return _(e)===h},t.isMemo=function(e){return _(e)===g},t.isPortal=function(e){return _(e)===a},t.isProfiler=function(e){return _(e)===c},t.isStrictMode=function(e){return _(e)===i},t.isSuspense=function(e){return _(e)===m},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===l||e===d||e===c||e===i||e===m||e===b||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===v||e.$$typeof===w||e.$$typeof===O||e.$$typeof===y)},t.typeOf=_},function(e,t,n){"use strict";n.r(t),n.d(t,"registerWoolentorBlocks",(function(){return Mr}));var o={};n.r(o),n.d(o,"name",(function(){return ue})),n.d(o,"category",(function(){return pe})),n.d(o,"metadata",(function(){return se})),n.d(o,"settings",(function(){return fe}));var r={};n.r(r),n.d(r,"name",(function(){return Me})),n.d(r,"category",(function(){return Le})),n.d(r,"metadata",(function(){return ze})),n.d(r,"settings",(function(){return Ne}));var a={};n.r(a),n.d(a,"name",(function(){return Ct})),n.d(a,"category",(function(){return Et})),n.d(a,"metadata",(function(){return Ot})),n.d(a,"settings",(function(){return jt}));var l={};n.r(l),n.d(l,"name",(function(){return sn})),n.d(l,"category",(function(){return un})),n.d(l,"metadata",(function(){return ln})),n.d(l,"settings",(function(){return dn}));var i={};n.r(i),n.d(i,"name",(function(){return Dn})),n.d(i,"category",(function(){return Mn})),n.d(i,"metadata",(function(){return xn})),n.d(i,"settings",(function(){return In}));var c={};n.r(c),n.d(c,"name",(function(){return lo})),n.d(c,"category",(function(){return io})),n.d(c,"metadata",(function(){return ro})),n.d(c,"settings",(function(){return so}));var s={};n.r(s),n.d(s,"name",(function(){return Ao})),n.d(s,"category",(function(){return To})),n.d(s,"metadata",(function(){return Po})),n.d(s,"settings",(function(){return xo}));var u={};n.r(u),n.d(u,"name",(function(){return rr})),n.d(u,"category",(function(){return ar})),n.d(u,"metadata",(function(){return nr})),n.d(u,"settings",(function(){return ir}));var p={};n.r(p),n.d(p,"name",(function(){return Fr})),n.d(p,"category",(function(){return Ar})),n.d(p,"metadata",(function(){return Sr})),n.d(p,"settings",(function(){return Br}));var d=n(12),f=n(0),m=n(1);function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var g,h=React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",width:"20",height:"20",viewBox:"0 0 40 40"},React.createElement("image",{id:"woolentor-logo",width:"40",height:"40",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADHFJREFUeNrsXU2IHMcV7m7NSnEU8IAvvgQmEHTV+JCDNwaN4oB1UNAIx7nO7sWQ5CBtcvAlYS0CAZ9GOoSActjZUyDESGZ9kA7OjEDWHrW6GoHHOAcfEphAHMjuaif12tWT3pn++arrVf/Wg2Z3pZme7npffe97r17XuE7N7Ot3e23xoysP+v2S/K+OPFCbyJ9TcXwhjgP6/fzdyUGdxsutgcPJ0T3p6K6ik7PaRALiEf0uQDGzAMh3hvfFcU06vl2CyyIwfCSO+1VjCLeCTu+X/HIpZNwXx24VwOCW3PE0wwfi2KgowxIA7khmmFkA4I4nh9+QMb0ONmv9+J3R2Xd+ccd13akFQLLjt3MScrnat37zJ8f77vfp15E4bpUFCK51vHkjxxMAloyAsCWAUGhoaJUgxm9LNV9ba73+VtQ/E+j78/mcwsL7jWIAqeqHFRZ3SvbS7//suK+8mpY5bAogTHJnpwKcT2nc501x/pkL3TTnk3VOvnw+FmMzlJOjfgCgGxPHjvj1nlOO4k0+AFh/C3rd8f5D+nFTHE9laKwPAGS59mlTZv0pAFx8A3rdi4PHCzYQB7HB+7UAgFT4T+uq8BOd333Dcb/9ndTXnXx24Mz/+dXyP2+LsRubDgmeYecT5e84DbUz3R9i9P/kYdx/9WRI6FYKADLej5tI+Yv0Ssz81utXMPp/9jhRIMqQ0K8EACRljeue23PG/vl//p32MhrTezKclhcAIbHXdRpuMP3vP1Q57Q43CDxm54+bKPai6J8EYJrRzA+p/0JA4DE7v+1Yc87wxP5cQOAxOL8tlb51vrSY2n9E/P9U52NYQOAxOH9sY36I/l95NVj2TaZ/kfdnoH92EOgywD3r/GXxp1z507WhTp3A05j9w6anelG29ubbJtR/WoqYuWLoZXQ+0c5N6+6lwRTUD6z8+fR/8uVzzo8OQrF5AEi6GVp3Zxd/jLM/bF3JyuYAYBU/T/w/fvLA1CXcVC0ZqzLAthV9Mc7HGj986o9Y+eO0HRU9AAPgcG/Us3E/AQDrhdL/sh7YYQXAfD5vr10d7CAIbywALuae/iVZHw0FKAPQzO+gKU4TYz/S+OGv/Jmlf+VQ4AGzvyNjP1zjtuo/DgCf5nlZ7cBvugywiCfoKleTTGVMNBZ/dLKCTmYAiNlPwq+XBe029kfQf3rjh5FQoMMA25HxzorB0HgYafzgtF5Sm3lLZfYv3rR+xTnaG1n6FxOBs/GDzkdCO1hNPBGC8Whvl0M40kSeqDLAtq7oaYL654r9dC56gLT15k8d70LXP6iplB4ra+mL71gW8FRnvwryrfrH1D8JybOD92JTybMb73GE3RsqDHCDK/bVmf65Gj8ovU6rIzDUYPpRGcEKAOSL+unovwIVP2o7+9fBvj8g9iNMgoAtCwtEMcAGWq4sqjBEg0GLL0yDYpT+09Q/3UOO97GBZAEDillIjCdaOv7kr7k6/tzPf3cqHhLFHo4+cF58dpDrdXA1fqBAYmogoSe2Ns7fnYwiGUAqxc7x/gOoaOGLwQvd/Jz/q+HKwNPf5349zO06VJx29MmHbJkEci7QriWFgMEidu1jTQvoMqiuJankhVLOSZNwNX6iTMLcQ9APLxItA6Cvirg8xCB9RlqcpIGkHDoP53M5rZV/A+mKn70Q/QebK/8/foFxFa2HZ0q3BLjWfvZL6LVrVwfGBRVn6bfAHoJrUQwwWLmJJxjyWgb7BGhWqzAMhQqjAECdlhJCNTeP0LVeFAB6qyjGxKCpVMavjV8dKItFU6FAqfEjZdwYNo/QzQZ6CwCE9thfvRlwDdsEC5wFqT8qFJhYseQs/cJMYq6HoBdmgF4sAkExSDfEKQYprcu63uDX1jOCJ9FpTIs/6FgZ7iG4FAZAN0nNIkUIFVRDs1jTgeQszgUr9N6QsInSv+EWslMMcCnxptCUkCkMIGkfR+3AhPqH6B/sITjef2ASAH7ml8oAAaWhYlA39qqkfdC5FEVknBjlavwoQewPW9eTArCdemPgBekuW6qmfcj5dMvEnI0fKEvm1EHc8RzwUa8XYDqis0KokvapiCNdRoHVf8oYwT0E2fYOymIXCQAd6ObAgoTK/ng6ad/hH38LVypp0Nd+spEZlHDjR8r1wExiOPaH6wEwAMjg9YEMC0QqaR/NDhrs/44+wGfxj97OpE/WYMp+zHauHDuIewSAl9FXo8j0wCdlT83+DbyEe/iXPyxm3dHHu7AgPLehXiaGH/kGGj8K2jwi+bochce9VVITtGVqIfxAwJDDw6GI2tPRWnnQaQsPTgGNHznF/lMAUDJUDKI3rJKq+QCM6EA6VAgFJAjRLKPijR+GAICKQTB39uv2oEOOBPVHqX+6JrQ1TaXOAG/4mJb7l2fziEgAdFTfhIqUtBmk0sRBg5MUfvzQAKaGFAbSagPwci3gtBJtHsEEAHCPm7TuGRVRdiSFX1J4ONzFQ0FaC1lNGj/4Q8Ai5wUvNk4MnpGPP6mkfcjr0NpAGvvUpPHDDAA4wkCWtA8xqg2goSCuhQztc6xA44c5AKDbnUS1juukfQg7obUBH4gRgpBz5a9lfudwbQBMTbNAWARxpH2p1yXegxZT/NpAKBQo7fX/jGnlr7jNIzQBAIrBMKVypH1Q2FAQhOFrUlmurUjjh5kQENAt3DpOIGBM+6D3K9QGgm5idB2jSo0fxgCgIl5oIYQz7ePWD+SsYHMGiP6BR77LHPvDANB6qlLlOUI07aNzcjzs6dcGFICELkdDjR/l3DouEgD/0j0J5/o1OY32xeEyv4bAXGBJ65HM+VtDihOBC6plXMA4/tuH7AUREoRcKhtZ+SvgW0Oy2oQFAFxr2HQeE/sN+Kzy8S4boyB6hzONLrUGQGkRYpK9XWP5sF8bYNAVVW38iLFH3vm7k5n4ZaY9M57pFTPIOabToUPNzAJ5SKbgbw1RtWmQBmpPDZXW8bjZb9rIeTqhAFr5K/5bQ1TsIADAoyLDAFfahwFtlFlkVrnxI8oE+x+wMQBKkabTPigUKLSQqTitzI0fURlAIAIXfxTBAibSvtSZnEFvIPdV5saPKAG4AIAUgiwsoKIDTKV9UChQXGhKXfkr57eGwAzAxgIqixsm0z4o9IBZAWfjR9GlX2kzMel9f4c3ivzIYfpWMGodT2uEyCPtQ8Qnrf6lrVFwNn7Qw6Gt9WJ3W58fH0+cuz9wTgGAEPH1uz0KBdpfCkkxlhycNLB5C784oxYy2qY9jr6RZWmVjTGK3N52abI7yyGA7D7bwNLDmxEZgb9Cl/PWrmk6JG6tgK4faSyp4M7pCz+74X+V3zV3j/OTSBwFqA/W0UsiglZoPLxt+/wfX0Ehil7/0nCvUs53Xfd6JAAkCD53Mjwr0FSj4g/tVVwh2xQAGMWFALJd69ba2izs/DgAjOw44Xby9+dVutwV364AQGQDU04xWHfL2rpekN1JBUDcC63FGy0zF13TAMXfdEXExr1aiMGxk7CDqLVoQUgpYUly/dMz/UL3sgDARAUA5PyxdWstbCJC++VIYMS9Q9aKJ3bsamG3Ypkh6xutVWr2TzIBwLJALWwrURsAJ9i0Y1hZu01tX1oAkHUBGwqqZzPEb+jDobcdhgdIrOVL/bLTK9Fc9Gw2LaxH2peVAQJBeNuObSWoH9ZtqvsDUEw5sGNcatuUuo0fADKmbDoMj5JZM2Ij4SOlhTzlHUJkWrFlx7p0lskvbtZPE6Jwx4n4PnprhcX911SoXxsAEgR2xbAc9lpawYctBCzZdSsKSyH6MvvA1f10+a1j1Ejatr4oxPkjnRNobxMnM4PLNjPI3W7pOp+FAUJMQI8BjS0T5JbusSzSeVxXJOOQZQLztsXlfFYGCDFBx/nm6aKu9VX5Yr5xAISE4diCgDXP3+J2vjEAhIBgi0U8zr+sk+rlogFidAHFKls2zm7k9O+Zcr5xBljKEEgXdKxPYaN2LuOTx83rbqQuoJDQt75NpfzrSZ28lQRACAh9CQRbL1i1+1Lp55ZKu0XcpWSDoRWIC5tKx0/y/mC3yLuWfYbDBqeLNNPvyHhfSAHNLcMoCCAQE2w3TCRSTn8ryxp+7QDQMCCUwvGlBECNgTCTAq80ji81AJY0wqDCYnEqY/yoqBhfaQAsZQ2UPt6ogGCcSZrfNVnBaxQAlsBAYYGY4ZpTnqISOXpSFadXGgAxYYKOi/JnO0eHP3O+eQxrWtXxqzwAYhgiYImXQyGjl8HJMxnHv5B/T6s2w9PsfwIMAOhUCXLerUHIAAAAAElFTkSuQmCC"}));Object(d.setCategories)([{slug:"woolentor-blocks",title:Object(f.__)("WooLentor","woolentor"),icon:React.createElement(m.Icon,{icon:h})}].concat(function(e){if(Array.isArray(e))return b(e)}(g=Object(d.getCategories)().filter((function(e){return"woolentor-blocks"!==e.slug})))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(g)||function(e,t){if(e){if("string"==typeof e)return b(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,void 0):void 0}}(g)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()));var y=n(2),v=n(9),w=n(10);function O(e){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return E(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,void 0):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function j(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(e,t){if(t&&("object"===O(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function P(e){return(P=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var F=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=P(o);if(r){var n=P(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return S(this,e)});function l(){return R(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e,t=this.props,n=t.setAttributes,o=t.selectedTaxonomies,r=t.attributesKey,a=t.title,l=t.type,i=t.taxnomiesList,c=function(){var e=[];return i&&i.forEach((function(t,n){e.push({label:t.name,value:t.slug})})),e};if("multiple"==l){var s=c();s.length>0&&(e=s.map((function(e,t){return React.createElement(m.CheckboxControl,{key:e.value,label:e.label,onChange:function(t){return function(e,t){var a=-1!==o.indexOf(t)?C(o):[].concat(C(o),[t]);if(0==e){var l=a.indexOf(t);a.splice(l,1)}n(_({},r,a))}(t,e.value)},checked:-1!==o.indexOf(e.value)})})))}return React.createElement(y.Fragment,null,React.createElement("div",{className:"woolentor-component-taxonomy-area"},"single"!=l&&React.createElement("h2",{className:"woolentor-component-area-title"},a),React.createElement("div",{className:"woolentor-component-taxonomy-fileds"},"single"==l?0==c().length?React.createElement(m.Spinner,null):React.createElement(m.SelectControl,{label:a,value:o,options:c(),onChange:function(e){return n(_({},r,e))}}):e||React.createElement(m.Spinner,null))))}}])&&j(t.prototype,n),l}(y.Component),A=Object(v.compose)([Object(w.withSelect)((function(e,t){return{taxnomiesList:(0,e("core").getEntityRecords)("taxonomy",t.taxonomy?t.taxonomy:"product_cat",{orderby:"name",order:"asc",hide_empty:!0})}}))])(F),T=n(3);function B(e){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){D(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function D(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function I(e,t){return(I=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function N(e,t){if(t&&("object"===B(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function H(e){return(H=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var W,G,q=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&I(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=H(o);if(r){var n=H(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return N(this,e)});function l(){return M(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,o=t.style,r=t.columns,a=t.rows,l=t.productTab,i=t.slider,c=t.productFilterType,s=t.perPage,u=t.customOrder,p=t.orderBy,d=t.order,b=t.selectedCategories,g=t.slitems,h=t.slarrows,v=t.sldots,w=t.slpauseOnHover,O=t.slautolay,_=t.slautoplaySpeed,C=t.slanimationSpeed,E=t.slscrollItem,R=t.sltabletDisplayColumns,j=t.sltabletScrollColumns,k=t.sltabletWidth,S=t.slMobileDisplayColumns,P=t.slMobileScrollColumns,F=t.slMobileWidth,B={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"};return React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Layout","woolentor"),initialOpen:!0},React.createElement(m.SelectControl,{label:Object(f.__)("Product Style","woolentor"),value:o,options:[{label:Object(f.__)("Style One","woolentor"),value:"1"},{label:Object(f.__)("Style Two","woolentor"),value:"2"},{label:Object(f.__)("Style Three","woolentor"),value:"3"}],onChange:function(e){return n({style:e})}}),React.createElement(m.RangeControl,{label:Object(f.__)("Columns","woolentor"),value:r,onChange:function(e){return n({columns:e})},min:1,step:1,max:6}),React.createElement(m.RangeControl,{label:Object(f.__)("Rows","woolentor"),value:a,onChange:function(e){return n({rows:e})},min:1,step:1,max:20}),React.createElement(m.ToggleControl,{label:Object(f.__)("Tab","woolentor"),checked:l,help:l?Object(f.__)("Enable product tab.","woolentor"):Object(f.__)("Toggle to show the tab layout.","woolentor"),onChange:function(){return n({productTab:!l})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider","woolentor"),checked:i,help:i?Object(f.__)("Enable product slider ( When product tab is off, Then working slider ).","woolentor"):Object(f.__)("Toggle to show the slider layout.","woolentor"),onChange:function(){return n({slider:!i})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Query Options","woolentor"),initialOpen:!1},React.createElement(m.SelectControl,{label:Object(f.__)("Filter By","woolentor"),value:c,options:[{label:Object(f.__)("Recent Products","woolentor"),value:"recent"},{label:Object(f.__)("Featured Products","woolentor"),value:"featured"},{label:Object(f.__)("Best Selling Products","woolentor"),value:"best_selling"},{label:Object(f.__)("Sale Products","woolentor"),value:"sale"},{label:Object(f.__)("Top Rated Products","woolentor"),value:"top_rated"},{label:Object(f.__)("Mixed order Products","woolentor"),value:"mixed_order"}],onChange:function(e){return n({productFilterType:e})}}),React.createElement(m.RangeControl,{label:Object(f.__)("Number Of Products","woolentor"),value:s,onChange:function(e){return n({perPage:e})},min:1,step:1,max:1e3}),React.createElement(m.ToggleControl,{label:Object(f.__)("Custom Order","woolentor"),checked:u,help:u?Object(f.__)("Enable custom order.","woolentor"):Object(f.__)("Toggle to show the custom order.","woolentor"),onChange:function(){return n({customOrder:!u})}}),React.createElement(A,{title:Object(f.__)("Product Categories","woolentor"),attributesKey:"selectedCategories",setAttributes:n,selectedTaxonomies:b,type:"multiple"}),u?React.createElement(React.Fragment,null,React.createElement(m.SelectControl,{label:Object(f.__)("Order","woolentor"),value:d,options:[{label:Object(f.__)("Descending","woolentor"),value:"DESC"},{label:Object(f.__)("Ascending","woolentor"),value:"ASC"}],onChange:function(e){return n({order:e})}}),React.createElement(m.SelectControl,{label:Object(f.__)("Orderby","woolentor"),value:p,options:[{label:Object(f.__)("None","woolentor"),value:"none"},{label:Object(f.__)("ID","woolentor"),value:"ID"},{label:Object(f.__)("Date","woolentor"),value:"date"},{label:Object(f.__)("Name","woolentor"),value:"name"},{label:Object(f.__)("Title","woolentor"),value:"title"},{label:Object(f.__)("Comment count","woolentor"),value:"comment_count"},{label:Object(f.__)("Random","woolentor"),value:"rand"}],onChange:function(e){return n({orderBy:e})}})):""),1==i&&React.createElement(m.PanelBody,{title:Object(f.__)("Slider Options","woolentor"),initialOpen:!1},React.createElement(m.RangeControl,{label:Object(f.__)("Slider Items","woolentor"),value:g,onChange:function(e){return n({slitems:e})},min:1,step:1,max:10}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider Arrow","woolentor"),checked:h,help:h?Object(f.__)("Enable slider arrow.","woolentor"):Object(f.__)("Toggle to show the slider arrow.","woolentor"),onChange:function(){return n({slarrows:!h})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider dots","woolentor"),checked:v,help:v?Object(f.__)("Enable slider pagination.","woolentor"):Object(f.__)("Toggle to show the slider pagination.","woolentor"),onChange:function(){return n({sldots:!v})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Pause on Hover?","woolentor"),checked:w,help:v?Object(f.__)("Enable slider pagination.","woolentor"):Object(f.__)("Toggle to show the slider pagination.","woolentor"),onChange:function(){return n({slpauseOnHover:!w})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider auto play","woolentor"),checked:O,help:v?Object(f.__)("Enable slider auto play.","woolentor"):Object(f.__)("Toggle to show the slider auto play.","woolentor"),onChange:function(){return n({slautolay:!O})}}),React.createElement(m.RangeControl,{label:Object(f.__)("Autoplay speed","woolentor"),value:_,onChange:function(e){return n({slautoplaySpeed:e})},min:1,step:1,max:1e5}),React.createElement(m.RangeControl,{label:Object(f.__)("Autoplay animation speed","woolentor"),value:C,onChange:function(e){return n({slanimationSpeed:e})},min:1,step:1,max:1e5}),React.createElement(m.RangeControl,{label:Object(f.__)("Slider item to scroll","woolentor"),value:E,onChange:function(e){return n({slscrollItem:e})},min:1,step:1,max:1e5}),React.createElement("h3",null,Object(f.__)("Tablet Screen options","woolentor")),React.createElement(m.RangeControl,{label:Object(f.__)("Slider Items","woolentor"),value:R,onChange:function(e){return n({sltabletDisplayColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Slider item to scroll","woolentor"),value:j,onChange:function(e){return n({sltabletScrollColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Tablet Screen Resolution","woolentor"),value:k,onChange:function(e){return n({sltabletWidth:e})},min:1,step:1,max:1500}),React.createElement("h3",null,Object(f.__)("Mobile Phone Screen options","woolentor")),React.createElement(m.RangeControl,{label:Object(f.__)("Slider Items","woolentor"),value:S,onChange:function(e){return n({slMobileDisplayColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Slider item to scroll","woolentor"),value:P,onChange:function(e){return n({slMobileScrollColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Mobile Screen Resolution","woolentor"),value:F,onChange:function(e){return n({slMobileWidth:e})},min:1,step:1,max:1500})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement(y.Fragment,{key:"title"},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.titleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.titleColor,onChange:function(e){return n({titleColor:e})}}),React.createElement("h3",null,Object(f.__)("Hover Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.titleHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.titleHoverColor,onChange:function(e){return n({titleHoverColor:e})}}),React.createElement("h3",null,Object(f.__)("Alignment","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-alignment-btn-group"},React.createElement(m.Button,{icon:"editor-alignleft",value:"left",isPrimary:"left"===t.titleAlign,isSecondary:"left"!==t.titleAlign,onClick:function(){return n({titleAlign:"left"})},title:Object(f.__)("Title align left","woolentor")}),React.createElement(m.Button,{icon:"editor-aligncenter",value:"center",isPrimary:"center"===t.titleAlign,isSecondary:"center"!==t.titleAlign,onClick:function(){return n({titleAlign:"center"})},title:Object(f.__)("Title align center","woolentor")}),React.createElement(m.Button,{icon:"editor-alignright",value:"right",isPrimary:"right"===t.titleAlign,isSecondary:"right"!==t.titleAlign,onClick:function(){return n({titleAlign:"right"})},title:Object(f.__)("Title align right","woolentor")}),React.createElement(m.Button,{icon:"editor-justify",value:"justify",isPrimary:"justify"===t.titleAlign,isSecondary:"justify"!==t.titleAlign,onClick:function(){return n({titleAlign:"justify"})},title:Object(f.__)("Title align justify","woolentor")}),React.createElement("span",{onClick:function(){return n({titleAlign:""})},class:"woolentor-reset-btn dashicon dashicons dashicons-image-rotate"}))),React.createElement(y.Fragment,{key:"price"},React.createElement("h2",{className:"woolentor-blocks-section-title",style:{marginTop:15}},Object(f.__)("Price","woolentor")),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.priceColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.priceColor,onChange:function(e){return n({priceColor:e})}})),React.createElement(y.Fragment,{key:"action-button"},React.createElement("h2",{className:"woolentor-blocks-section-title",style:{marginTop:15}},Object(f.__)("Action Button","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.actionBtnColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.actionBtnColor,onChange:function(e){return n({actionBtnColor:e})}}),React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.actionBtnBgColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.actionBtnBgColor,onChange:function(e){return n({actionBtnBgColor:e})}}),React.createElement("h3",null,Object(f.__)("Hover Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.actionBtnHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.actionBtnHoverColor,onChange:function(e){return n({actionBtnHoverColor:e})}}),React.createElement("h3",null,Object(f.__)("Hover Background Color","woolentor"),React.createElement("span",{style:z(z({},B),{},{backgroundColor:t.actionBtnHoverBgColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.actionBtnHoverBgColor,onChange:function(e){return n({actionBtnHoverBgColor:e})}}),React.createElement("h3",null,Object(f.__)("Content Alignment","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-alignment-btn-group"},React.createElement(m.Button,{icon:"editor-alignleft",value:"left",isPrimary:"left"===t.contentAlign,isSecondary:"left"!==t.contentAlign,onClick:function(){return n({contentAlign:"left"})},title:Object(f.__)("Title align left","woolentor")}),React.createElement(m.Button,{icon:"editor-aligncenter",value:"center",isPrimary:"center"===t.contentAlign,isSecondary:"center"!==t.contentAlign,onClick:function(){return n({contentAlign:"center"})},title:Object(f.__)("Title align center","woolentor")}),React.createElement(m.Button,{icon:"editor-alignright",value:"right",isPrimary:"right"===t.contentAlign,isSecondary:"right"!==t.contentAlign,onClick:function(){return n({contentAlign:"right"})},title:Object(f.__)("Title align right","woolentor")}),React.createElement(m.Button,{icon:"editor-justify",value:"justify",isPrimary:"justify"===t.contentAlign,isSecondary:"justify"!==t.contentAlign,onClick:function(){return n({contentAlign:"justify"})},title:Object(f.__)("Title align justify","woolentor")}),React.createElement("span",{onClick:function(){return n({contentAlign:""})},class:"woolentor-reset-btn dashicon dashicons dashicons-image-rotate"})))))}}])&&L(t.prototype,n),l}(y.Component),U=n(5),V=n.n(U),Q=n(7),K=n.n(Q),Y=n(8),X=n(22),J=n.n(X),Z=n(6);function $(e){return($="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ee(){return(ee=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function te(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ne(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oe(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function re(e,t){return(re=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ae(e,t){if(t&&("object"===$(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function le(e){return(le=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ie=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&re(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=le(o);if(r){var n=le(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return ae(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={productData:[],categoryData:[]},t}return t=l,(n=[{key:"componentDidMount",value:function(){this.fetchProductsData(),this.fetchCategoryData()}},{key:"componentDidUpdate",value:function(e){var t=this.props.attributes,n=t.perPage,o=t.productFilterType,r=t.customOrder,a=this.props.attributes.orderBy,l=this.props.attributes.order,i=this.props.attributes.selectedCategories;e.attributes.perPage==n&&e.attributes.productFilterType==o&&e.attributes.customOrder==r&&e.attributes.orderBy==a&&e.attributes.order==l&&e.attributes.selectedCategories==i||this.fetchProductsData(),e.attributes.selectedCategories!=i&&this.fetchCategoryData()}},{key:"fetchProductsData",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n={perPage:this.props.attributes.perPage,filterBy:this.props.attributes.productFilterType,wpnonce:woolentorData.security};1==this.props.attributes.customOrder&&(n.orderBy=this.props.attributes.orderBy,n.order=this.props.attributes.order),this.props.attributes.selectedCategories.length>0&&(n.categories=this.props.attributes.selectedCategories),t.length>0&&(n.categories=t);var o=Object(Y.addQueryArgs)("/woolentor/v1/products",n);K()({path:o}).then((function(t){return e.setState({productData:t})}))}},{key:"fetchCategoryData",value:function(){var e=this,t={queryLimit:1e3,queryOrder:"ASC",queryType:"regular",querySlug:this.props.attributes.selectedCategories,wpnonce:woolentorData.security},n=Object(Y.addQueryArgs)("/woolentor/v1/category",t);K()({path:n}).then((function(t){return e.setState({categoryData:t})}))}},{key:"render",value:function(){var e=this,t=this.props,n=(t.name,t.attributes),o=t.className,r=t.isSelected,a=t.setAttributes,l=t.clientId,i=n.blockUniqId;function c(e){var t=e.className,n=e.onClick;return React.createElement(m.Button,{className:t,onClick:n},React.createElement("i",{className:"fa fa-angle-right"}))}function s(e){var t=e.className,n=e.onClick;return React.createElement(m.Button,{className:t,onClick:n},React.createElement("i",{className:"fa fa-angle-left"}))}""==i&&a({blockUniqId:l});var u,p={arrows:n.slarrows,prevArrow:React.createElement(s,null),nextArrow:React.createElement(c,null),dots:n.sldots,infinite:!0,autoplay:n.slautolay,autoplaySpeed:n.slautoplaySpeed,speed:n.slanimationSpeed,fade:!1,pauseOnHover:n.slpauseOnHover,slidesToShow:n.slitems,slidesToScroll:n.slscrollItem,rtl:n.slIsrtl,responsive:[{breakpoint:n.sltabletWidth,settings:{slidesToShow:n.sltabletDisplayColumns,slidesToScroll:n.sltabletScrollColumns}},{breakpoint:n.slMobileWidth,settings:{slidesToShow:n.slMobileDisplayColumns,slidesToScroll:n.slMobileScrollColumns}}]},d=V()("woolentor-product-tab-area",ne({},"woolentor-columns-".concat(n.columns),n.columns)),b=V()("woolentor-row"),g=V()("product-item",ne({},"product_style_three",3==n.style)),h=V()(ne({},"woolentor-col-".concat(n.columns),n.columns)),v=Z.a.div(W||(W=te(["\n\t\t\t& .product-item .product-inner .content .title{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .product-inner .content .title a{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .product-inner .content .title a:hover{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .product-inner .content .woolentor-product-price,.product-item .product-inner .content .woolentor-product-price .amount{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .product-inner .content{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .actions a,.product-item .woocommerce.compare-button a.button,.product-item .actions a::before{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .actions{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .actions a:hover,.product-item .woocommerce.compare-button a.button:hover,.product-item .actions a:hover::before{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-item .actions:hover{\n\t\t\t\t",";\n\t\t\t}\n\t\t"])),n.titleAlign&&"text-align:"+n.titleAlign,n.titleColor&&"color:"+n.titleColor,n.titleHoverColor&&"color:"+n.titleHoverColor,n.priceColor&&"color:"+n.priceColor,n.contentAlign&&"text-align:"+n.contentAlign,n.actionBtnColor&&"color:"+n.actionBtnColor,n.actionBtnBgColor&&"background-color:"+n.actionBtnBgColor,n.actionBtnHoverColor&&"color:"+n.actionBtnHoverColor,n.actionBtnHoverBgColor&&"background-color:"+n.actionBtnHoverBgColor),w=Z.a.div(G||(G=te(["\n\t\t\n\t\t"]))),O=this.state,_=O.productData,C=O.categoryData,E=0,R=!1;_.length>0&&(u=_.map((function(e,t){return E++,n.rows>1&&E%n.rows!=0&&(R=!0),React.createElement(React.Fragment,null,React.createElement("div",{className:h},React.createElement(w,{className:1==R?g+" mb-30":g},React.createElement("div",{className:"product-inner"},React.createElement("div",{className:"image-wrap"},React.createElement(m.Disabled,null,React.createElement("a",{href:e.permalink,className:"image"},Object(y.createElement)("div",{className:"woolentor-product-image",dangerouslySetInnerHTML:{__html:e.image.full.html}}),!0===e.on_sale&&React.createElement("span",{class:"onsale"},Object(f.__)("Sale!","woolentor")))),1==n.style&&!0===e.wishlist.status?Object(y.createElement)("span",{className:"woolentor-product-wishlist",dangerouslySetInnerHTML:{__html:e.wishlist.html}}):"",3==n.style?React.createElement("div",{className:"product_information_area"},React.createElement("div",{className:"actions style_two"},!0===e.wishlist.status?Object(y.createElement)("span",{className:"woolentor-product-wishlist",dangerouslySetInnerHTML:{__html:e.wishlist.html}}):"",Object(y.createElement)("div",{className:"woolentor-product-btn"},Object(y.createElement)("a",null,Object(f.__)("Add to cart","woolentor")))),React.createElement("div",{className:"content"},React.createElement("h4",{className:"title"},React.createElement("a",{href:e.permalink},e.title)),Object(y.createElement)("div",{className:"woolentor-product-price",dangerouslySetInnerHTML:{__html:e.price_html}}))):React.createElement("div",{class:2==n.style?"actions style_two":"actions"},2==n.style?React.createElement(React.Fragment,null,!0===e.wishlist.status?Object(y.createElement)("span",{className:"woolentor-product-wishlist",dangerouslySetInnerHTML:{__html:e.wishlist.html}}):""):React.createElement(React.Fragment,null,!0===e.compare.status?Object(y.createElement)("span",{className:"woolentor-product-compare",dangerouslySetInnerHTML:{__html:e.compare.html}}):""))),React.createElement("div",{className:"content"},React.createElement("h4",{className:"title"},React.createElement(m.Disabled,null,React.createElement("a",{href:e.permalink},e.title))),Object(y.createElement)("div",{className:"woolentor-product-price",dangerouslySetInnerHTML:{__html:e.price_html}}))))))})));var j,k=function(t){e.fetchProductsData(t.target.getAttribute("dataslug"))},S=0;return n.selectedCategories.length>0&&(j=C.map((function(e,t){return S++,React.createElement(React.Fragment,null,React.createElement("li",null,React.createElement("a",{class:1==S?"htactive":"",href:"#woolentortab"+i+S,onClick:k,dataslug:e.slug},e.name)))}))),React.createElement(y.Fragment,null,r&&React.createElement(q,this.props),React.createElement("div",{className:o},React.createElement(v,{className:d},n.productTab&&React.createElement("div",{class:"product-tab-list ht-text-center"},React.createElement("ul",{class:"ht-tab-menus"},j)),0==_.length?React.createElement(m.Spinner,null):React.createElement("div",{className:b},1==n.slider?React.createElement(J.a,ee({},p,{className:"product-slider"}),u):u))))}}])&&oe(t.prototype,n),l}(y.Component),ce=React.createElement(m.SVG,{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 359 359",space:"preserve"},React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M96,0H13C7.5,0,3,4.5,3,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10V10C106,4.5,101.5,0,96,0z M87,84H23V20h64V84z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M221,0h-83c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10V10C231,4.5,226.5,0,221,0z M212,84h-64V20 h64V84z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M96,126H13c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10v-83C106,130.5,101.5,126,96,126z M87,209H23 v-63h64V209z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M221,126h-83c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10v-83C231,130.5,226.5,126,221,126z M212,209h-64v-63h64V209z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M346,0h-83c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10V10C356,4.5,351.5,0,346,0z M337,84h-64V20 h64V84z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M346,126h-83c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10v-83C356,130.5,351.5,126,346,126z M337,209h-64v-63h64V209z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M96,256H13c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10v-83C106,260.5,101.5,256,96,256z M87,340H23 v-64h64V340z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M221,256h-83c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10v-83C231,260.5,226.5,256,221,256z M212,340h-64v-64h64V340z"}))),React.createElement("g",null,React.createElement("g",null,React.createElement("path",{d:"M346,256h-83c-5.5,0-10,4.5-10,10v83c0,5.5,4.5,10,10,10h83c5.5,0,10-4.5,10-10v-83C356,260.5,351.5,256,346,256z M337,340h-64v-64h64V340z"})))),se=n(13),ue=se.name,pe=se.category,de=se.attributes,fe={title:Object(f.__)("WL : Product Tab","woolentor"),description:Object(f.__)("Display product.","woolentor"),icon:React.createElement(m.Icon,{icon:ce}),keywords:["woolentor",Object(f.__)("product tab","woolentor"),Object(f.__)("woocommerce product","woolentor")],example:{attributes:{style:"1",columns:4,rows:1,perPage:4}},attributes:de,edit:ie,save:function(){return null}};function me(e){return(me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?be(Object(n),!0).forEach((function(t){he(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function he(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ve(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Oe(e,t){if(t&&("object"===me(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function _e(e){return(_e=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ce=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=_e(o);if(r){var n=_e(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Oe(this,e)});function l(){return ye(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,o=t.style,r=t.contentAlignment,a=t.buttonUrl,l={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"};return React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Settings","woolentor"),initialOpen:!0},React.createElement(m.SelectControl,{label:Object(f.__)("Banner Style","woolentor"),value:o,options:[{label:Object(f.__)("Style One","woolentor"),value:"1"},{label:Object(f.__)("Style Two","woolentor"),value:"2"}],onChange:function(e){return n({style:e})}}),React.createElement(m.SelectControl,{label:Object(f.__)("Content Alignment","woolentor"),value:r,options:[{label:Object(f.__)("Left","woolentor"),value:"left"},{label:Object(f.__)("Right","woolentor"),value:"right"},{label:Object(f.__)("Bottom","woolentor"),value:"bottom"}],onChange:function(e){return n({contentAlignment:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Link","woolentor"),value:a,onChange:function(e){return n({buttonUrl:e})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ge(ge({},l),{},{backgroundColor:t.titleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.titleColor,onChange:function(e){return n({titleColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.titleSize,fallbackFontSize:t.titleSize,onChange:function(e){return n({titleSize:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Sub Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ge(ge({},l),{},{backgroundColor:t.subTitleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.subTitleColor,onChange:function(e){return n({subTitleColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.subTitleSize,fallbackFontSize:t.subTitleSize,onChange:function(e){return n({subTitleSize:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Button","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ge(ge({},l),{},{backgroundColor:t.buttonColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.buttonColor,onChange:function(e){return n({buttonColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.buttonSize,fallbackFontSize:t.buttonSize,onChange:function(e){return n({buttonSize:e})}}))))}}])&&ve(t.prototype,n),l}(y.Component),Ee=n(25),Re=Object(y.createElement)(Ee.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(y.createElement)(Ee.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z"}));function je(e){return(je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ke(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function Se(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pe(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Fe(e,t){return(Fe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ae(e,t){if(t&&("object"===je(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Te(e)}function Te(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Be(e){return(Be=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var xe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fe(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Be(o);if(r){var n=Be(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Ae(this,e)});function l(){var e;return Se(this,l),(e=a.apply(this,arguments)).addImage=e.addImage.bind(Te(e)),e.onSelectImage=e.onSelectImage.bind(Te(e)),e}return t=l,(n=[{key:"onSelectImage",value:function(e){e&&e.url&&this.props.setAttributes({imgUrl:e.url})}},{key:"addImage",value:function(e){var t=this;mediaUpload({allowedTypes:["image","png"],filesList:e,onFileChange:function(e){var n=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,a=[],_n=!0,l=!1;try{for(n=n.call(e);!(_n=(o=n.next()).done)&&(a.push(o.value),!t||a.length!==t);_n=!0);}catch(e){l=!0,r=e}finally{try{_n||null==n.return||n.return()}finally{if(l)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ke(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ke(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e,1)[0];return t.onSelectImage(n)}})}},{key:"render",value:function(){var e=this.props,t=(e.name,e.attributes),n=e.className,o=e.isSelected,r=e.setAttributes,a=t.title,l=t.subTitle,i=t.imgUrl,c=(t.imgId,t.style),s=t.contentAlignment,u=t.buttonText,p=t.buttonUrl,d=function(e){return r({imgUrl:e.url,imgId:e.id})};return m.DropZone,this.addImage,Object(f.__)("Drop to upload as banner image","woolentor"),React.createElement(y.Fragment,null,o&&React.createElement(Ce,this.props),React.createElement("div",{className:n},React.createElement("div",{className:"woolentor-banner woolentor-banner-layout-"+c+" woolentor-content-align-"+s},React.createElement("div",{className:"woolentor-content"},React.createElement(T.RichText,{tagName:"h3",className:"banner_subtitle",value:l,onChange:function(e){return r({subTitle:e})},placeholder:Object(f.__)("Banner sub title...","woolentor"),keepPlaceholderOnFocus:!0,style:{color:"".concat(t.subTitleColor),fontSize:"".concat(t.subTitleSize)}}),React.createElement(T.RichText,{tagName:"h2",className:"banner_title",value:a,onChange:function(e){return r({title:e})},placeholder:Object(f.__)("Banner title...","woolentor"),keepPlaceholderOnFocus:!0,style:{color:"".concat(t.titleColor),fontSize:"".concat(t.titleSize)}}),React.createElement(T.RichText,{tagName:"a",className:"banner_button",value:u,onChange:function(e){return r({buttonText:e})},placeholder:Object(f.__)("Shop Now ....","woolentor"),href:p,keepPlaceholderOnFocus:!0,style:{color:"".concat(t.buttonColor),fontSize:"".concat(t.buttonSize)}})),i?React.createElement("div",{class:"woolentor-banner-img"},React.createElement("img",{className:"wp-block-woolentor-banner-img",src:i,alt:"WooLentor Banner image"}),React.createElement("div",null,React.createElement(T.MediaUploadCheck,null,React.createElement(T.MediaUpload,{onSelect:d,allowedTypes:["image","png"],value:i,render:function(e){var t=e.open;return React.createElement(m.Button,{onClick:t},i?Object(f.__)("Replace Image","woolentor"):React.createElement(T.BlockIcon,{icon:Re}))}})))):React.createElement("div",{class:"woolentor-banner-img"},React.createElement(T.MediaUploadCheck,null,React.createElement(T.MediaUpload,{onSelect:d,allowedTypes:["image","png"],value:i,render:function(e){var t=e.open;return React.createElement(m.Button,{onClick:t},i?Object(f.__)("Replace Image","woolentor"):React.createElement(T.BlockIcon,{icon:Re}))}}))))))}}])&&Pe(t.prototype,n),l}(y.Component),ze=n(14),De=React.createElement("svg",{id:"_x31_","enable-background":"new 0 0 24 24",height:"512",viewBox:"0 0 24 24",width:"512",xmlns:"http://www.w3.org/2000/svg"},React.createElement("g",null,React.createElement("path",{d:"m17.453 24c-.168 0-.34-.021-.51-.066l-15.463-4.141c-1.06-.292-1.692-1.39-1.414-2.45l1.951-7.272c.072-.267.346-.422.612-.354.267.071.425.346.354.612l-1.95 7.27c-.139.53.179 1.082.71 1.229l15.457 4.139c.531.14 1.079-.176 1.217-.704l.781-2.894c.072-.267.346-.426.613-.353.267.072.424.347.353.613l-.78 2.89c-.235.89-1.045 1.481-1.931 1.481z"})),React.createElement("g",null,React.createElement("path",{d:"m22 18h-16c-1.103 0-2-.897-2-2v-12c0-1.103.897-2 2-2h16c1.103 0 2 .897 2 2v12c0 1.103-.897 2-2 2zm-16-15c-.551 0-1 .449-1 1v12c0 .551.449 1 1 1h16c.551 0 1-.449 1-1v-12c0-.551-.449-1-1-1z"})),React.createElement("g",null,React.createElement("path",{d:"m9 9c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm0-3c-.551 0-1 .449-1 1s.449 1 1 1 1-.449 1-1-.449-1-1-1z"})),React.createElement("g",null,React.createElement("path",{d:"m4.57 16.93c-.128 0-.256-.049-.354-.146-.195-.195-.195-.512 0-.707l4.723-4.723c.566-.566 1.555-.566 2.121 0l1.406 1.406 3.892-4.67c.283-.339.699-.536 1.142-.54h.011c.438 0 .853.19 1.139.523l5.23 6.102c.18.209.156.525-.054.705-.209.18-.524.157-.705-.054l-5.23-6.102c-.097-.112-.231-.174-.38-.174-.104-.009-.287.063-.384.18l-4.243 5.091c-.09.108-.221.173-.362.179-.142.01-.277-.046-.376-.146l-1.793-1.793c-.189-.188-.518-.188-.707 0l-4.723 4.723c-.097.097-.225.146-.353.146z"}))),Me=ze.name,Le=ze.category,Ie=ze.attributes,Ne={title:Object(f.__)("WL : Promo Banner","woolentor"),description:Object(f.__)("Display promo banner.","woolentor"),icon:React.createElement(m.Icon,{icon:De}),keywords:["woolentor",Object(f.__)("product banner","woolentor"),Object(f.__)("woocommerce promo","woolentor"),Object(f.__)("promo banner","woolentor")],example:{attributes:{title:Object(f.__)("Banner Title","woolentor"),subTitle:Object(f.__)("Banner Sub Title","woolentor"),buttonText:Object(f.__)("Shop Now","woolentor")}},supports:{align:["wide","full"]},attributes:Ie,edit:xe,save:function(e){var t=e.className,n=e.attributes,o=n.title,r=n.subTitle,a=n.imgUrl,l=n.style,i=n.contentAlignment,c=n.buttonText,s=n.buttonUrl;return React.createElement("div",{className:t},React.createElement("div",{className:"woolentor-banner woolentor-banner-layout-"+l+" woolentor-content-align-"+i},React.createElement("div",{className:"woolentor-content"},React.createElement(T.RichText.Content,{tagName:"h3",className:"banner_subtitle",value:r,style:{color:"".concat(n.subTitleColor),fontSize:"".concat(n.subTitleSize)}}),React.createElement(T.RichText.Content,{tagName:"h2",className:"banner_title",value:o,style:{color:"".concat(n.titleColor),fontSize:"".concat(n.titleSize)}}),React.createElement(T.RichText.Content,{tagName:"a",className:"banner_button",href:s,value:c,style:{color:"".concat(n.buttonColor),fontSize:"".concat(n.buttonSize)}})),a&&React.createElement("div",{className:"woolentor-banner-img"},s?React.createElement("a",{href:s},React.createElement("img",{className:"wp-block-woolentor-banner-img",src:a,alt:o})):React.createElement("img",{className:"wp-block-woolentor-banner-img",src:a,alt:o}))))}};function He(e){return(He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?We(Object(n),!0).forEach((function(t){qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ue(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ve(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Qe(e,t){return(Qe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ke(e,t){if(t&&("object"===He(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Ye(e){return(Ye=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Xe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Qe(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Ye(o);if(r){var n=Ye(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Ke(this,e)});function l(){return Ue(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.setAttributes,n=e.title,o=e.ImageData,r=e.attributesKey,a=e.uploadImage,l=["image","png"],i=React.createElement("p",null,Object(f.__)("To edit the banner image, you need permission to upload media.","woolentor")),c=function(e){var n=Ge({},o);n.id=e.id,n.url=e.url,t(qe({},r,n))};return React.createElement(y.Fragment,null,React.createElement("div",{className:"wp-block-image-selector-woolentor-image-uploader"},React.createElement("h3",null,n),React.createElement(T.MediaUploadCheck,{fallback:i},React.createElement(T.MediaUpload,{title:n,onSelect:c,allowedTypes:l,value:o.id,render:function(e){var t=e.open;return React.createElement(m.Button,{className:o.id?"editor-post-featured-image__preview":"editor-post-featured-image__toggle",onClick:t},!o.id&&Object(f.__)("Set ","woolentor")+n,!!o.id&&!a&&React.createElement(m.Spinner,null),!!o.id&&a&&React.createElement("img",{src:a.source_url,alt:n}))}})),!!o.id&&a&&React.createElement(T.MediaUploadCheck,null,React.createElement(T.MediaUpload,{title:n,onSelect:c,allowedTypes:l,value:o.id,render:function(e){var t=e.open;return React.createElement(m.Button,{onClick:t,isDefault:!0,isLarge:!0},Object(f.__)("Replace image","woolentor"))}})),!!o.id&&React.createElement(T.MediaUploadCheck,null,React.createElement(m.Button,{onClick:function(){var e=Ge({},o);e.id=void 0,e.url=void 0,t(qe({},r,e))},isLink:!0,isDestructive:!0},Object(f.__)("Remove image","woolentor")))))}}])&&Ve(t.prototype,n),l}(y.Component),Je=Object(v.compose)(Object(w.withSelect)((function(e,t){var n=e("core").getMedia,o=t.ImageData;return{uploadImage:o.id?n(o.id):null}})))(Xe);function Ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function $e(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ze(Object(n),!0).forEach((function(t){et(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function et(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var tt=function(e){var t=e.setAttributes,n=e.lavel,o=e.dimensions,r=e.attributesKey,a=function(n,a){var l=$e({},o);if(e.responsive){var i=o.hasOwnProperty(o.device)?o[o.device].link:"yes";l[o.device]="yes"===i?{top:n,right:n,bottom:n,left:n,link:"yes",unit:o.hasOwnProperty(o.device.unit)&&""!=l[o.device].unit?l[o.device].unit:"px"}:et({top:""!==l[o.device].top?l[o.device].top:"0",right:""!==l[o.device].right?l[o.device].right:"0",bottom:""!==l[o.device].bottom?l[o.device].bottom:"0",left:""!==l[o.device].left?l[o.device].left:"0",link:"no",unit:""!==l[o.device].unit?l[o.device].unit:"px"},a,n)}else"yes"===l.link?(l.top=n,l.right=n,l.bottom=n,l.left=n,l.link="yes"):(l.top=""!==l.top?l.top:"0",l.right=""!==l.right?l.right:"0",l.bottom=""!==l.bottom?l.bottom:"0",l.left=""!==l.left?l.left:"0",l.link="no",l[a]=n);t(et({},r,l))},l=function(n){var a=$e({},o);e.responsive?a[o.device].unit=n.target.value:a.unit=n.target.value,t(et({},r,a))},i=function(e,n,a){var l=$e({},o);l[n]=a,t(et({},r,l))},c=o.hasOwnProperty(o.device)?o[o.device].top:o.top?o.top:"",s=o.hasOwnProperty(o.device)?o[o.device].right:o.right?o.right:"",u=o.hasOwnProperty(o.device)?o[o.device].bottom:o.bottom?o.bottom:"",p=o.hasOwnProperty(o.device)?o[o.device].left:o.left?o.left:"",d=o.hasOwnProperty(o.device)?o[o.device].unit:o.unit?o.unit:"px",b=o.hasOwnProperty(o.device)?o[o.device].link:o.link?o.link:"yes",g=o.device;return React.createElement(y.Fragment,null,React.createElement("div",{className:"wp-block-selector-woolentor-dimensions-control"},React.createElement(m.PanelRow,{className:"woolentor-panel-row-height-auto",style:{minHeight:"auto"}},React.createElement("h3",null,n),e.responsive&&React.createElement(m.ButtonGroup,{className:"woolentor-device-button"},React.createElement(m.Button,{icon:"desktop",value:"desktop",label:Object(f.__)("Large","woolentor"),isPrimary:"desktop"===g,isSecondary:"desktop"!==g,onClick:function(e){return i(0,"device","desktop")}}),React.createElement(m.Button,{icon:"laptop",value:"laptop",label:Object(f.__)("Medium","woolentor"),isPrimary:"laptop"===g,isSecondary:"laptop"!==g,onClick:function(e){return i(0,"device","laptop")}}),React.createElement(m.Button,{icon:"tablet",value:"tablet",label:Object(f.__)("Small","woolentor"),isPrimary:"tablet"===g,isSecondary:"tablet"!==g,onClick:function(e){return i(0,"device","tablet")}}),React.createElement(m.Button,{icon:"smartphone",value:"mobile",label:Object(f.__)("Extra Small","woolentor"),isPrimary:"mobile"===g,isSecondary:"mobile"!==g,onClick:function(e){return i(0,"device","mobile")}})),React.createElement(m.ButtonGroup,{className:"woolentor-dimensions-btn-group"},React.createElement(m.Button,{value:"px",text:Object(f.__)("PX","woolentor"),isPrimary:"px"===d,isSecondary:"px"!==d,onClick:l,title:Object(f.__)("PX","woolentor"),focus:!1}),React.createElement(m.Button,{value:"%",text:Object(f.__)("%","woolentor"),isPrimary:"%"===d,isSecondary:"%"!==d,onClick:l,title:Object(f.__)("%","woolentor"),focus:!1}),React.createElement(m.Button,{value:"em",text:Object(f.__)("EM","woolentor"),isPrimary:"em"===d,isSecondary:"em"!==d,onClick:l,title:Object(f.__)("EM","woolentor"),focus:!1}))),React.createElement(m.PanelRow,null,React.createElement(m.__experimentalNumberControl,{label:Object(f.__)("Top","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"top")},shiftStep:10,value:c,labelPosition:"bottom"}),React.createElement(m.__experimentalNumberControl,{label:Object(f.__)("Right","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"right")},shiftStep:10,value:s,labelPosition:"bottom"}),React.createElement(m.__experimentalNumberControl,{label:Object(f.__)("Bottom","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"bottom")},shiftStep:10,value:u,labelPosition:"bottom"}),React.createElement(m.__experimentalNumberControl,{label:Object(f.__)("Left","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"left")},shiftStep:10,value:p,labelPosition:"bottom"}),React.createElement(m.Button,{icon:"admin-links",value:"yes",isPrimary:"yes"===b,isSecondary:"yes"!==b,onClick:function(){var n=$e({},o);e.responsive?"yes"===n[o.device].link?n[o.device].link="no":n[o.device].link="yes":"yes"===n.link?n.link="no":n.link="yes",t(et({},r,n))},title:Object(f.__)("Link values together","woolentor"),showTooltip:!0}))))};function nt(e){return(nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ot(Object(n),!0).forEach((function(t){at(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function at(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function it(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function ct(e,t){return(ct=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function st(e,t){if(t&&("object"===nt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function ut(e){return(ut=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pt,dt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ct(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=ut(o);if(r){var n=ut(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return st(this,e)});function l(){return lt(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,o=t.title,r=t.contentPosition,a=t.bannerImage,l=t.badgeImage,i=t.badgeHorizontalPos,c=t.badgeVerticlePos,s={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"};return React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Content Settings","woolentor"),initialOpen:!0},React.createElement(m.SelectControl,{label:Object(f.__)("Content Position","woolentor"),value:r,options:[{label:Object(f.__)("Top","woolentor"),value:"top"},{label:Object(f.__)("Center","woolentor"),value:"center"},{label:Object(f.__)("Bottom","woolentor"),value:"bottom"},{label:Object(f.__)("Left","woolentor"),value:"left"},{label:Object(f.__)("Right","woolentor"),value:"right"}],onChange:function(e){return n({contentPosition:e})}}),React.createElement(Je,{title:Object(f.__)("Banner image","woolentor"),ImageData:a,attributesKey:"bannerImage",setAttributes:n}),React.createElement(Je,{title:Object(f.__)("Badge image","woolentor"),ImageData:l,attributesKey:"badgeImage",setAttributes:n}),l.id&&React.createElement(React.Fragment,null,React.createElement(m.RangeControl,{label:Object(f.__)("Badge Horizontal Position","woolentor"),value:i,onChange:function(e){return n({badgeHorizontalPos:e})},min:-1e3,step:1,max:1e3}),React.createElement(m.RangeControl,{label:Object(f.__)("Badge Vertical Position","woolentor"),value:c,onChange:function(e){return n({badgeVerticlePos:e})},min:-1e3,step:1,max:1e3})),React.createElement(m.TextControl,{label:Object(f.__)("Title","woolentor"),value:o,placeholder:Object(f.__)("Banner Title","woolentor"),onChange:function(e){return n({title:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Sub Title","woolentor"),placeholder:Object(f.__)("Banner Sub Title","woolentor"),value:t.subTitle,onChange:function(e){return n({subTitle:e})}}),React.createElement(m.TextareaControl,{label:Object(f.__)("Description","woolentor"),help:Object(f.__)("Enter Banner description","woolentor"),value:t.bannerDescription,onChange:function(e){return n({bannerDescription:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Offer Amount","woolentor"),placeholder:Object(f.__)("50%","woolentor"),value:t.offerAmount,onChange:function(e){return n({offerAmount:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Offer Tag Line","woolentor"),value:t.offerTagLine,placeholder:Object(f.__)("off","woolentor"),onChange:function(e){return n({offerTagLine:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Banner Link","woolentor"),value:t.bannerLink,placeholder:Object(f.__)("https://your-link.com","woolentor"),onChange:function(e){return n({bannerLink:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Button Text","woolentor"),value:t.buttonText,placeholder:Object(f.__)("Shop Now","woolentor"),onChange:function(e){return n({buttonText:e})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Content Area","woolentor")),React.createElement("h3",null,Object(f.__)("Alignment","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-alignment-btn-group"},React.createElement(m.Button,{icon:"editor-alignleft",value:"left",isPrimary:"left"===t.contentAlignment,isSecondary:"left"!==t.contentAlignment,onClick:function(){return n({contentAlignment:"left"})},title:Object(f.__)("Align left","woolentor")}),React.createElement(m.Button,{icon:"editor-aligncenter",value:"center",isPrimary:"center"===t.contentAlignment,isSecondary:"center"!==t.contentAlignment,onClick:function(){return n({contentAlignment:"center"})},title:Object(f.__)("Align center","woolentor")}),React.createElement(m.Button,{icon:"editor-alignright",value:"right",isPrimary:"right"===t.contentAlignment,isSecondary:"right"!==t.contentAlignment,onClick:function(){return n({contentAlignment:"right"})},title:Object(f.__)("Align right","woolentor")}),React.createElement(m.Button,{icon:"editor-justify",value:"justify",isPrimary:"justify"===t.contentAlignment,isSecondary:"justify"!==t.contentAlignment,onClick:function(){return n({contentAlignment:"justify"})},title:Object(f.__)("Align justify","woolentor")}),React.createElement("span",{onClick:function(){return n({contentAlignment:""})},class:"woolentor-reset-btn dashicon dashicons dashicons-image-rotate"})),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.contentAreaMargin,attributesKey:"contentAreaMargin",setAttributes:n}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:t.contentAreaPadding,attributesKey:"contentAreaPadding",setAttributes:n}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.titleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.titleColor,onChange:function(e){return n({titleColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.titleSize,fallbackFontSize:t.titleSize,onChange:function(e){return n({titleSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.titleMargin,attributesKey:"titleMargin",setAttributes:n}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:t.titlePadding,attributesKey:"titlePadding",setAttributes:n}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Sub Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.titleSubColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.titleSubColor,onChange:function(e){return n({titleSubColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.titleSubSize,fallbackFontSize:t.titleSubSize,onChange:function(e){return n({titleSubSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.subTitleMargin,attributesKey:"subTitleMargin",setAttributes:n}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:t.subTitlePadding,attributesKey:"subTitlePadding",setAttributes:n}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Description","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.desColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.desColor,onChange:function(e){return n({desColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.desSize,fallbackFontSize:t.desSize,onChange:function(e){return n({desSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.desMargin,attributesKey:"desMargin",setAttributes:n}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:t.desPadding,attributesKey:"desPadding",setAttributes:n}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Offer Amount","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.offerColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.offerColor,onChange:function(e){return n({offerColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.offerSize,fallbackFontSize:t.offerSize,onChange:function(e){return n({offerSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.offerMargin,attributesKey:"offerMargin",setAttributes:n}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Offer Tag Line","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.offerTagColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.offerTagColor,onChange:function(e){return n({offerTagColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.offerTagSize,fallbackFontSize:t.offerTagSize,onChange:function(e){return n({offerTagSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.offerTagMargin,attributesKey:"offerTagMargin",setAttributes:n}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Button","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.buttonColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.buttonColor,onChange:function(e){return n({buttonColor:e})}}),React.createElement("h3",null,Object(f.__)("Hover Color","woolentor"),React.createElement("span",{style:rt(rt({},s),{},{backgroundColor:t.buttonHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.buttonHoverColor,onChange:function(e){return n({buttonHoverColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.buttonSize,fallbackFontSize:t.buttonSize,onChange:function(e){return n({buttonSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.buttonMargin,attributesKey:"buttonMargin",setAttributes:n}))))}}])&&it(t.prototype,n),l}(y.Component);function ft(e){return(ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bt(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function gt(e,t){return(gt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ht(e,t){if(t&&("object"===ft(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function yt(e){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var vt=React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512",className:"woolentor-banner-default"},React.createElement("g",null,React.createElement("path",{d:"M446.575,0H65.425C29.349,0,0,29.35,0,65.426v381.149C0,482.65,29.349,512,65.425,512h381.15 C482.651,512,512,482.65,512,446.574V65.426C512,29.35,482.651,0,446.575,0z M481.842,446.575 c0,19.447-15.821,35.267-35.267,35.267H65.425c-19.447,0-35.268-15.821-35.268-35.267v-55.007l99.255-84.451 c3.622-3.082,8.906-3.111,12.562-0.075l62.174,51.628c5.995,4.977,14.795,4.569,20.304-0.946L372.181,209.77 c2.67-2.675,5.783-2.935,7.408-2.852c1.62,0.083,4.695,0.661,7.078,3.596l95.176,117.19V446.575z M481.842,279.865l-71.766-88.366 c-7.117-8.764-17.666-14.122-28.942-14.701c-11.268-0.57-22.317,3.672-30.294,11.662L212.832,326.681l-51.59-42.839 c-14.959-12.422-36.563-12.293-51.373,0.308l-79.712,67.822V65.426c0-19.447,15.821-35.268,35.268-35.268h381.15 c19.447,0,35.267,15.821,35.267,35.268V279.865z"})),React.createElement("g",null,React.createElement("path",{d:"M161.174,62.995c-40.095,0-72.713,32.62-72.713,72.713c0,40.094,32.619,72.713,72.713,72.713s72.713-32.619,72.713-72.713 S201.269,62.995,161.174,62.995z M161.174,178.264c-23.466,0-42.556-19.091-42.556-42.556c0-23.466,19.09-42.556,42.556-42.556 c23.466,0,42.556,19.091,42.556,42.556S184.64,178.264,161.174,178.264z"}))),wt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&>(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=yt(o);if(r){var n=yt(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return ht(this,e)});function l(){return mt(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=(e.name,e.attributes),n=e.className,o=e.isSelected,r=e.setAttributes,a=e.clientId;""==t.blockUniqId&&r({blockUniqId:a});var l,i,c,s,u,p=function(e){var n=t[e]?t[e]:{},o="";if(""!=n.top||""!=n.right||""!=n.bottom||""!=n.left){var r=n.unit?n.unit:"px";o=n.top?o+n.top+r+" ":"0"+r+" ",o=n.right?o+n.right+r+" ":"0"+r+" ",o=n.bottom?o+n.bottom+r+" ":"0"+r+" ",o=n.left?o+n.left+r+" ":"0"+r+" "}return o},d=V()("wlspcial-banner",(l={},i="woolentor-banner-content-pos-"+t.contentPosition,c=t.contentPosition,i in l?Object.defineProperty(l,i,{value:c,enumerable:!0,configurable:!0,writable:!0}):l[i]=c,l)),f=Z.a.div(pt||(s=["\n\t\t\t.banner-content{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .wlbanner-badgeimage{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content h2{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content h6{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content p{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content h5{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content h5 span{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content a{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .banner-content a:hover{\n\t\t\t\t",";\n\t\t\t}\n\t\t"],u||(u=s.slice(0)),pt=Object.freeze(Object.defineProperties(s,{raw:{value:Object.freeze(u)}}))),t.contentAlignment&&"text-align:"+t.contentAlignment,t.contentAreaPadding&&"padding:"+p("contentAreaPadding"),t.contentAreaMargin&&"margin:"+p("contentAreaMargin"),t.badgeHorizontalPos&&"left:"+t.badgeHorizontalPos+"%",t.badgeVerticlePos&&"top:"+t.badgeVerticlePos+"%",t.titleColor&&"color:"+t.titleColor,t.titleSize&&"font-size:"+t.titleSize,t.titleMargin&&"margin:"+p("titleMargin"),t.titlePadding&&"padding:"+p("titlePadding"),t.titleSubColor&&"color:"+t.titleSubColor,t.titleSubSize&&"font-size:"+t.titleSubSize,t.subTitleMargin&&"margin:"+p("subTitleMargin"),t.subTitlePadding&&"padding:"+p("subTitlePadding"),t.desColor&&"color:"+t.desColor,t.desSize&&"font-size:"+t.desSize,t.desMargin&&"margin:"+p("desMargin"),t.desPadding&&"padding:"+p("desPadding"),t.offerColor&&"color:"+t.offerColor,t.offerSize&&"font-size:"+t.offerSize,t.offerMargin&&"margin:"+p("offerMargin"),t.offerTagColor&&"color:"+t.offerTagColor,t.offerTagSize&&"font-size:"+t.offerTagSize,t.offerTagMargin&&"margin:"+p("offerTagMargin"),t.buttonColor&&"color:"+t.buttonColor,t.buttonSize&&"font-size:"+t.buttonSize,t.buttonMargin&&"margin:"+p("buttonMargin"),t.buttonHoverColor&&"color:"+t.buttonHoverColor);return React.createElement(y.Fragment,null,o&&React.createElement(dt,this.props),React.createElement("div",{className:n},React.createElement(f,{className:d},React.createElement("div",{className:"banner-thumb"},React.createElement("a",{href:t.bannerLink?t.bannerLink:"#"},t.bannerImage.url?React.createElement("img",{src:t.bannerImage.url,alt:"Banner"}):React.createElement("div",{className:"woolentor-default-banner"},vt))),t.badgeImage.url&&React.createElement("div",{className:"wlbanner-badgeimage"},React.createElement("img",{src:t.badgeImage.url,alt:"Banner Badge"})),React.createElement("div",{className:"banner-content"},t.title&&React.createElement("h2",null,t.title),t.subTitle&&React.createElement("h6",null,t.subTitle),t.offerAmount&&React.createElement("h5",null,t.offerAmount,React.createElement("span",null,t.offerTagLine)),t.bannerDescription&&React.createElement("p",null,t.bannerDescription),t.buttonText&&React.createElement("a",{href:t.bannerLink?t.bannerLink:"#"},t.buttonText)))))}}])&&bt(t.prototype,n),l}(y.Component),Ot=n(15),_t=React.createElement("svg",{id:"_x31_","enable-background":"new 0 0 24 24",height:"512",viewBox:"0 0 24 24",width:"512",xmlns:"http://www.w3.org/2000/svg"},React.createElement("g",null,React.createElement("path",{d:"m17.453 24c-.168 0-.34-.021-.51-.066l-15.463-4.141c-1.06-.292-1.692-1.39-1.414-2.45l1.951-7.272c.072-.267.346-.422.612-.354.267.071.425.346.354.612l-1.95 7.27c-.139.53.179 1.082.71 1.229l15.457 4.139c.531.14 1.079-.176 1.217-.704l.781-2.894c.072-.267.346-.426.613-.353.267.072.424.347.353.613l-.78 2.89c-.235.89-1.045 1.481-1.931 1.481z"})),React.createElement("g",null,React.createElement("path",{d:"m22 18h-16c-1.103 0-2-.897-2-2v-12c0-1.103.897-2 2-2h16c1.103 0 2 .897 2 2v12c0 1.103-.897 2-2 2zm-16-15c-.551 0-1 .449-1 1v12c0 .551.449 1 1 1h16c.551 0 1-.449 1-1v-12c0-.551-.449-1-1-1z"})),React.createElement("g",null,React.createElement("path",{d:"m9 9c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm0-3c-.551 0-1 .449-1 1s.449 1 1 1 1-.449 1-1-.449-1-1-1z"})),React.createElement("g",null,React.createElement("path",{d:"m4.57 16.93c-.128 0-.256-.049-.354-.146-.195-.195-.195-.512 0-.707l4.723-4.723c.566-.566 1.555-.566 2.121 0l1.406 1.406 3.892-4.67c.283-.339.699-.536 1.142-.54h.011c.438 0 .853.19 1.139.523l5.23 6.102c.18.209.156.525-.054.705-.209.18-.524.157-.705-.054l-5.23-6.102c-.097-.112-.231-.174-.38-.174-.104-.009-.287.063-.384.18l-4.243 5.091c-.09.108-.221.173-.362.179-.142.01-.277-.046-.376-.146l-1.793-1.793c-.189-.188-.518-.188-.707 0l-4.723 4.723c-.097.097-.225.146-.353.146z"}))),Ct=Ot.name,Et=Ot.category,Rt=Ot.attributes,jt={title:Object(f.__)("WL : Special Day Offer","woolentor"),description:Object(f.__)("Display spesial day offer banner.","woolentor"),icon:React.createElement(m.Icon,{icon:_t}),keywords:["woolentor",Object(f.__)("shop banner","woolentor"),Object(f.__)("banner","woolentor"),Object(f.__)("special day","woolentor"),Object(f.__)("offer","woolentor"),Object(f.__)("special offer","woolentor")],example:{attributes:{title:Object(f.__)("Banner Title","woolentor"),subTitle:Object(f.__)("Banner Sub Title","woolentor"),offerAmount:Object(f.__)("50%","woolentor"),bannerDescription:Object(f.__)("Banner Description","woolentor"),buttonText:Object(f.__)("Shop Now","woolentor"),offerTagLine:Object(f.__)("Off","woolentor")}},attributes:Rt,supports:{align:["wide","full"]},edit:wt,save:function(){return null}};function kt(e){return(kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function St(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?St(Object(n),!0).forEach((function(t){Ft(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):St(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ft(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function At(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Tt(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Bt(e,t){return(Bt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xt(e,t){if(t&&("object"===kt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function zt(e){return(zt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Dt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Bt(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=zt(o);if(r){var n=zt(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return xt(this,e)});function l(){return At(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.setAttributes,n=e.title,o=e.bgProperty,r=e.attributesKey,a=e.uploadImage,l=function(e,n){var a=Pt({},o);a[n]=e,t(Ft({},r,a))},i=["image","png"],c=React.createElement("p",null,Object(f.__)("To edit the banner image, you need permission to upload media.","woolentor")),s=function(e){var n=Pt({},o);n.imageId=e.id,n.imageUrl=e.url,t(Ft({},r,n))};return React.createElement(y.Fragment,null,React.createElement("div",{className:"wp-block-selector-woolentor-background-control"},n&&React.createElement("h3",null,n),React.createElement("div",{className:"wp-block-image-selector-woolentor-image-uploader"},React.createElement(T.MediaUploadCheck,{fallback:c},React.createElement(T.MediaUpload,{title:n,onSelect:s,allowedTypes:i,value:o.imageId,render:function(e){var t=e.open;return React.createElement(m.Button,{className:o.imageId?"editor-post-featured-image__preview":"editor-post-featured-image__toggle",onClick:t},!o.imageId&&Object(f.__)("Set ","woolentor")+n,!!o.imageId&&!a&&React.createElement(m.Spinner,null),!!o.imageId&&a&&React.createElement("img",{src:a.source_url,alt:n}))}})),!!o.imageId&&a&&React.createElement(T.MediaUploadCheck,null,React.createElement(T.MediaUpload,{title:n,onSelect:s,allowedTypes:i,value:o.imageId,render:function(e){var t=e.open;return React.createElement(m.Button,{onClick:t,isDefault:!0,isLarge:!0},Object(f.__)("Replace image","woolentor"))}})),!!o.imageId&&React.createElement(T.MediaUploadCheck,null,React.createElement(m.Button,{onClick:function(){var e=Pt({},o);e.imageId=void 0,e.imageUrl=void 0,t(Ft({},r,e))},isLink:!0,isDestructive:!0},Object(f.__)("Remove image","woolentor")))),React.createElement(m.SelectControl,{label:Object(f.__)("Position","woolentor"),labelPosition:"side",value:o.position,options:[{label:Object(f.__)("Default","woolentor"),value:""},{label:Object(f.__)("Center Center","woolentor"),value:"center center"},{label:Object(f.__)("Center Left","woolentor"),value:"center left"},{label:Object(f.__)("Center Right","woolentor"),value:"center right"},{label:Object(f.__)("Top Center","woolentor"),value:"top center"},{label:Object(f.__)("Top Left","woolentor"),value:"top left"},{label:Object(f.__)("Top Right","woolentor"),value:"top right"},{label:Object(f.__)("Bottom Center","woolentor"),value:"bottom center"},{label:Object(f.__)("Bottom Left","woolentor"),value:"bottom left"},{label:Object(f.__)("Bottom Right","woolentor"),value:"bottom right"}],onChange:function(e){return l(e,"position")}}),React.createElement(m.SelectControl,{label:Object(f.__)("Attachment","woolentor"),labelPosition:"side",value:o.attachment,options:[{label:Object(f.__)("Default","woolentor"),value:""},{label:Object(f.__)("Scroll","woolentor"),value:"scroll"},{label:Object(f.__)("Fixed","woolentor"),value:"fixed"}],onChange:function(e){return l(e,"attachment")}}),React.createElement(m.SelectControl,{label:Object(f.__)("Repeat","woolentor"),labelPosition:"side",value:o.repeat,options:[{label:Object(f.__)("Default","woolentor"),value:""},{label:Object(f.__)("No-repeat","woolentor"),value:"no-repeat"},{label:Object(f.__)("Repeat","woolentor"),value:"repeat"},{label:Object(f.__)("Repeat-x","woolentor"),value:"repeat-x"},{label:Object(f.__)("Repeat-y","woolentor"),value:"repeat-y"}],onChange:function(e){return l(e,"repeat")}}),React.createElement(m.SelectControl,{label:Object(f.__)("Size","woolentor"),labelPosition:"side",value:o.size,options:[{label:Object(f.__)("Default","woolentor"),value:""},{label:Object(f.__)("Auto","woolentor"),value:"auto"},{label:Object(f.__)("Cover","woolentor"),value:"cover"},{label:Object(f.__)("Contain","woolentor"),value:"contain"}],onChange:function(e){return l(e,"size")}})))}}])&&Tt(t.prototype,n),l}(y.Component),Mt=Object(v.compose)(Object(w.withSelect)((function(e,t){var n=e("core").getMedia,o=t.bgProperty;return{uploadImage:o.imageId?n(o.imageId):null}})))(Dt);function Lt(e){return(Lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function It(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?It(Object(n),!0).forEach((function(t){Ht(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):It(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ht(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wt(e){return function(e){if(Array.isArray(e))return Gt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Gt(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gt(e,void 0):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function qt(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Ut(e,t){return(Ut=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Vt(e,t){if(t&&("object"===Lt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Qt(e){return(Qt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Kt,Yt,Xt,Jt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ut(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Qt(o);if(r){var n=Qt(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Vt(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={activeClass:!1},t}return t=l,(n=[{key:"render",value:function(){var e,t=this,n=this.props,o=n.attributes,r=n.setAttributes,a=o.style,l=o.bgProperty,i={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"},c=function(e,t,n){var a=Wt(o.markerList);a[n][t]=e,r({markerList:a})};return o.markerList.length&&(e=o.markerList.map((function(e,n){var a=t.state.activeClass===n?"woolentor_active_repeter":"";return React.createElement(y.Fragment,{key:n},React.createElement("div",{className:"woolentor_repeater-fields"},React.createElement("div",{className:"woolentor_repeater-tools",onClick:function(e){return function(e,n){n===t.state.activeClass?t.setState({activeClass:!1}):t.setState({activeClass:n})}(0,n)}},React.createElement("div",{className:"woolentor_repeater-item-title"},o.markerList[n].title),React.createElement("div",{className:"woolentor_repeater-item-remove"},React.createElement(m.IconButton,{className:"woolentor__remove-marker",icon:"no-alt",label:Object(f.__)("Delete Marker","woolentor"),onClick:function(){return function(e){var t=Wt(o.markerList);t.splice(e,1),r({markerList:t})}(n)}}))),React.createElement("div",{className:a+" woolentor_repeater-controls"},React.createElement(m.TextControl,{label:Object(f.__)("Marker Title","woolentor"),className:"woolentor__marker-title",placeholder:Object(f.__)("Marker Title","woolentor"),value:o.markerList[n].title,onChange:function(e){return c(e,"title",n)}}),React.createElement(m.TextareaControl,{label:Object(f.__)("Marker Content","woolentor"),value:o.markerList[n].content,onChange:function(e){return c(e,"content",n)}}),React.createElement(m.RangeControl,{label:Object(f.__)("Horizontal Postion","woolentor"),value:o.markerList[n].horizontal,onChange:function(e){return c(e,"horizontal",n)},min:-1e3,step:1,max:1e3}),React.createElement(m.RangeControl,{label:Object(f.__)("Vertical Postion","woolentor"),value:o.markerList[n].verticle,onChange:function(e){return c(e,"verticle",n)},min:-1e3,step:1,max:1e3}))))}))),React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Image","woolentor"),initialOpen:!0},React.createElement(Mt,{title:Object(f.__)("Background Image","woolentor"),attributesKey:"bgProperty",setAttributes:r,bgProperty:l})),React.createElement(m.PanelBody,{title:Object(f.__)("Marker","woolentor"),initialOpen:!1},React.createElement(m.SelectControl,{label:Object(f.__)("Style","woolentor"),value:a,options:[{label:Object(f.__)("Style One","woolentor"),value:"1"},{label:Object(f.__)("Style Two","woolentor"),value:"2"},{label:Object(f.__)("Style Three","woolentor"),value:"3"},{label:Object(f.__)("Style Four","woolentor"),value:"4"},{label:Object(f.__)("Style Five","woolentor"),value:"5"}],onChange:function(e){return r({style:e})}}),e,React.createElement(m.Button,{isDefault:!0,icon:"plus-alt2",onClick:function(){var e=Wt(o.markerList);e.push({title:Object(f.__)("Marker Item #"+(o.markerList.length+1),"woolentor"),content:"",horizontal:"",verticle:""}),r({markerList:e}),t.setState({activeClass:o.markerList.length})}.bind(this)},Object(f.__)("Add Marker","woolentor"))),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Marker","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:Nt(Nt({},i),{},{backgroundColor:o.markerColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.markerColor,onChange:function(e){return r({markerColor:e})}}),React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:Nt(Nt({},i),{},{backgroundColor:o.markerBGColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.markerBGColor,onChange:function(e){return r({markerBGColor:e})}}),React.createElement("h3",null,Object(f.__)("Border Color","woolentor"),React.createElement("span",{style:Nt(Nt({},i),{},{backgroundColor:o.markerBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.markerBorderColor,onChange:function(e){return r({markerBorderColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:o.markerBorderRadius,attributesKey:"markerBorderRadius",setAttributes:r}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:o.markerPadding,attributesKey:"markerPadding",setAttributes:r}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Content Area","woolentor")),React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:Nt(Nt({},i),{},{backgroundColor:o.markerContentBGColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.markerContentBGColor,onChange:function(e){return r({markerContentBGColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:o.markerContentBorderRadius,attributesKey:"markerContentBorderRadius",setAttributes:r}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:o.markerContentPadding,attributesKey:"markerContentPadding",setAttributes:r}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Marker Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:Nt(Nt({},i),{},{backgroundColor:o.markerTitleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.markerTitleColor,onChange:function(e){return r({markerTitleColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:o.markerTitleSize,fallbackFontSize:o.markerTitleSize,onChange:function(e){return r({markerTitleSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:o.markerTitleMargin,attributesKey:"markerTitleMargin",setAttributes:r}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Marker Description","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:Nt(Nt({},i),{},{backgroundColor:o.markerDescriptionColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.markerDescriptionColor,onChange:function(e){return r({markerDescriptionColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:o.markerDescriptionSize,fallbackFontSize:o.markerDescriptionSize,onChange:function(e){return r({markerDescriptionSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:o.markerDescriptionMargin,attributesKey:"markerDescriptionMargin",setAttributes:r}))))}}])&&qt(t.prototype,n),l}(y.Component);function Zt(e){return(Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $t(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function en(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tn(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function nn(e,t){return(nn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function on(e,t){if(t&&("object"===Zt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function rn(e){return(rn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var an=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&nn(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=rn(o);if(r){var n=rn(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return on(this,e)});function l(){return en(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=(e.name,e.attributes),n=e.className,o=e.isSelected,r=e.setAttributes,a=e.clientId,l=t.blockUniqId,i=t.bgProperty;""==l&&r({blockUniqId:a});var c,s,u,p=function(e){var n=t[e]?t[e]:{},o="";if(""!=n.top||""!=n.right||""!=n.bottom||""!=n.left){var r=n.unit?n.unit:"px";o=n.top?o+n.top+r+" ":"0"+r+" ",o=n.right?o+n.right+r+" ":"0"+r+" ",o=n.bottom?o+n.bottom+r+" ":"0"+r+" ",o=n.left?o+n.left+r+" ":"0"+r+" "}return o},d=V()((c={},s="wlb-marker-style-".concat(t.style),u=t.style,s in c?Object.defineProperty(c,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):c[s]=u,c)),f=Z.a.div(Kt||(Kt=$t(["\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t\n\t\t\t& .wlb_image_pointer{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& .wlb_image_pointer::before{\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& .wlb_image_pointer .wlb_pointer_box{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t"])),i.imageUrl&&"background-image:url("+i.imageUrl+")",i.position&&"background-position:"+i.position,i.attachment&&"background-attachment:"+i.attachment,i.repeat&&"background-repeat:"+i.repeat,i.size&&"background-size:"+i.size,t.markerBGColor&&"background-color:"+t.markerBGColor,t.markerBorderColor&&"border-color:"+t.markerBorderColor,t.markerBorderRadius&&"border-radius:"+p("markerBorderRadius"),t.markerPadding&&"padding:"+p("markerPadding"),t.markerColor&&"color:"+t.markerColor,t.markerContentBGColor&&"background-color:"+t.markerContentBGColor,t.markerContentBorderRadius&&"border-radius:"+p("markerContentBorderRadius"),t.markerContentPadding&&"padding:"+p("markerContentPadding")),m=Z.a.h4(Yt||(Yt=$t(["\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t"])),t.markerTitleColor&&"color:"+t.markerTitleColor,t.markerTitleSize&&"font-size:"+t.markerTitleSize,t.markerTitleMargin&&"margin:"+p("markerTitleMargin")),b=Z.a.p(Xt||(Xt=$t(["\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t"])),t.markerDescriptionColor&&"color:"+t.markerDescriptionColor,t.markerDescriptionSize&&"font-size:"+t.markerDescriptionSize,t.markerDescriptionMargin&&"margin:"+p("markerDescriptionMargin")),g=t.markerList.map((function(e,t){return React.createElement("div",{key:t,className:"wlb_image_pointer",style:{left:"".concat(e.horizontal,"%"),top:"".concat(e.verticle,"%")}},React.createElement("div",{className:"wlb_pointer_box"},e.title&&React.createElement(m,null,e.title),e.content&&React.createElement(b,null,e.content)))}));return React.createElement(y.Fragment,null,o&&React.createElement(Jt,this.props),React.createElement("div",{className:n},React.createElement(f,{className:d},g)))}}])&&tn(t.prototype,n),l}(y.Component),ln=n(16),cn=React.createElement("svg",{id:"_x31_","enable-background":"new 0 0 24 24",height:"512",viewBox:"0 0 193.826 193.826",width:"512",xmlns:"http://www.w3.org/2000/svg"},React.createElement("path",{d:"M191.495,55.511L137.449,1.465c-1.951-1.953-5.119-1.953-7.07,0l-0.229,0.229c-3.314,3.313-5.14,7.72-5.14,12.406 c0,3.019,0.767,5.916,2.192,8.485l-56.55,48.533c-4.328-3.868-9.852-5.985-15.703-5.985c-6.305,0-12.232,2.455-16.689,6.913 l-0.339,0.339c-1.953,1.952-1.953,5.118,0,7.07l32.378,32.378l-31.534,31.533c-0.631,0.649-15.557,16.03-25.37,28.27 c-9.345,11.653-11.193,13.788-11.289,13.898c-1.735,1.976-1.639,4.956,0.218,6.822c0.973,0.977,2.256,1.471,3.543,1.471 c1.173,0,2.349-0.41,3.295-1.237c0.083-0.072,2.169-1.885,13.898-11.289c12.238-9.813,27.619-24.74,28.318-25.421l31.483-31.483 l30.644,30.644c0.976,0.977,2.256,1.465,3.535,1.465s2.56-0.488,3.535-1.465l0.339-0.339c4.458-4.457,6.913-10.385,6.913-16.689 c0-5.851-2.118-11.375-5.985-15.703l48.533-56.55c2.569,1.425,5.466,2.192,8.485,2.192c4.687,0,9.093-1.825,12.406-5.14l0.229-0.229 C193.448,60.629,193.448,57.463,191.495,55.511z"})),sn=ln.name,un=ln.category,pn=ln.attributes,dn={title:Object(f.__)("WL : Image Marker","woolentor"),description:Object(f.__)("Display image marker.","woolentor"),icon:React.createElement(m.Icon,{icon:cn}),keywords:["woolentor",Object(f.__)("shop idicator","woolentor"),Object(f.__)("image indicator","woolentor"),Object(f.__)("marker","woolentor"),Object(f.__)("image marker","woolentor")],example:{attributes:{style:"1"}},supports:{align:["wide","full"]},attributes:pn,edit:an,save:function(){return null}};function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function mn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fn(Object(n),!0).forEach((function(t){bn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var gn=function(e){var t=e.attributes,n=e.setAttributes,o=t.title,r=t.subTitle,a=t.layout,l=t.featureImage,i={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"};return React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Content","woolentor"),initialOpen:!0},React.createElement(m.SelectControl,{label:Object(f.__)("Layout","woolentor"),value:a,options:[{label:Object(f.__)("Layout One","woolentor"),value:"1"},{label:Object(f.__)("Layout Two","woolentor"),value:"2"},{label:Object(f.__)("Layout Three","woolentor"),value:"3"},{label:Object(f.__)("Layout Four","woolentor"),value:"4"},{label:Object(f.__)("Layout Five","woolentor"),value:"5"}],onChange:function(e){return n({layout:e})}}),React.createElement(Je,{title:Object(f.__)("Image","woolentor"),ImageData:l,attributesKey:"featureImage",setAttributes:n}),React.createElement(m.TextControl,{label:Object(f.__)("Title","woolentor"),value:o,onChange:function(e){return n({title:e})}}),React.createElement(m.TextControl,{label:Object(f.__)("Sub Title","woolentor"),value:r,onChange:function(e){return n({subTitle:e})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Area","woolentor")),React.createElement("h3",null,Object(f.__)("Border Color","woolentor"),React.createElement("span",{style:mn(mn({},i),{},{backgroundColor:t.areaBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.areaBorderColor,onChange:function(e){return n({areaBorderColor:e})}}),React.createElement("h3",null,Object(f.__)("Hover Border Color","woolentor"),React.createElement("span",{style:mn(mn({},i),{},{backgroundColor:t.areaHoverBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.areaHoverBorderColor,onChange:function(e){return n({areaHoverBorderColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.areaMargin,attributesKey:"areaMargin",setAttributes:n}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:t.areaPadding,attributesKey:"areaPadding",setAttributes:n}),React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:mn(mn({},i),{},{backgroundColor:t.areaBackgroundColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.areaBackgroundColor,onChange:function(e){return n({areaBackgroundColor:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:mn(mn({},i),{},{backgroundColor:t.titleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.titleColor,onChange:function(e){return n({titleColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.titleMargin,attributesKey:"titleMargin",setAttributes:n}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.titleSize,fallbackFontSize:t.titleSize,onChange:function(e){return n({titleSize:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Sub Title","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:mn(mn({},i),{},{backgroundColor:t.subTitleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:t.subTitleColor,onChange:function(e){return n({subTitleColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:t.subTitleSize,fallbackFontSize:t.subTitleSize,onChange:function(e){return n({subTitleSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:t.subTitleMargin,attributesKey:"subTitleMargin",setAttributes:n}))))};function hn(e){return(hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function yn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vn(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function wn(e,t){return(wn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function On(e,t){if(t&&("object"===hn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Cn(e){return(Cn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var En,Rn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&wn(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Cn(o);if(r){var n=Cn(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return On(this,e)});function l(){return yn(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes;return React.createElement(y.Fragment,null,React.createElement(T.BlockControls,null,React.createElement(T.AlignmentToolbar,{value:t.textAlignment,onChange:function(e){return n({textAlignment:e})}})))}}])&&vn(t.prototype,n),l}(y.Component);function jn(e){return(jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function kn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pn(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Fn(e,t){return(Fn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function An(e,t){if(t&&("object"===jn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Tn(e){return(Tn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Bn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fn(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Tn(o);if(r){var n=Tn(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return An(this,e)});function l(){return Sn(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=(e.name,e.className),n=e.attributes,o=e.isSelected,r=e.setAttributes,a=e.clientId,l=n.blockUniqId,i=n.featureImage;""==l&&r({blockUniqId:a});var c,s,u=function(e){var t=n[e]?n[e]:{},o="";if(""!=t.top||""!=t.right||""!=t.bottom||""!=t.left){var r=t.unit?t.unit:"px";o=t.top?o+t.top+r+" ":"0"+r+" ",o=t.right?o+t.right+r+" ":"0"+r+" ",o=t.bottom?o+t.bottom+r+" ":"0"+r+" ",o=t.left?o+t.left+r+" ":"0"+r+" "}return o},p=V()(t,kn({},"woolentor-blocks ht-feature-wrap ht-feature-style-"+n.layout,n.layout),kn({},"woolentor-text-align-"+n.textAlignment,n.textAlignment)),d=Z.a.div(En||(c=["\n\t\t\t"," !important;\n\t\t\t",";\n\t\t\t"," !important;\n\t\t\t"," !important;\n\n\t\t\t&:hover{\n\t\t\t\t"," !important;\n\t\t\t}\n\n\t\t\t& .ht-feature-content h4{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& .ht-feature-content p{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t"],s||(s=c.slice(0)),En=Object.freeze(Object.defineProperties(c,{raw:{value:Object.freeze(s)}}))),n.areaBorderColor&&"border-color:"+n.areaBorderColor,n.areaBackgroundColor&&"background-color:"+n.areaBackgroundColor,n.areaMargin&&"margin:"+u("areaMargin"),n.areaPadding&&"padding:"+u("areaPadding"),n.areaHoverBorderColor&&"border-color:"+n.areaHoverBorderColor,n.titleColor&&"color:"+n.titleColor,n.titleSize&&"font-size:"+n.titleSize,n.titleMargin&&"margin:"+u("titleMargin"),n.subTitleColor&&"color:"+n.subTitleColor,n.subTitleSize&&"font-size:"+n.subTitleSize,n.subTitleMargin&&"margin:"+u("subTitleMargin"));return React.createElement(y.Fragment,null,o&&React.createElement(gn,this.props),o&&React.createElement(Rn,this.props),React.createElement("div",{className:p},React.createElement(d,{className:"ht-feature-inner"},i.url&&React.createElement("div",{className:"ht-feature-img"},React.createElement("img",{src:i.url,alt:n.title})),React.createElement("div",{className:"ht-feature-content"},n.title&&React.createElement("h4",null,n.title),n.subTitle&&React.createElement("p",null,n.subTitle)))))}}])&&Pn(t.prototype,n),l}(y.Component),xn=n(17),zn=React.createElement("svg",{viewBox:"-27 0 512 512.00001",xmlns:"http://www.w3.org/2000/svg"},React.createElement("path",{d:"m399.996094 0h-341.996094c-31.980469 0-58 26.019531-58 58v369.996094c0 16.542968 13.457031 30 30 30h131.332031c5.523438 0 10-4.476563 10-10 0-5.523438-4.476562-10-10-10h-131.332031c-5.515625 0-10-4.484375-10-10v-369.996094c0-20.953125 17.046875-38 38-38h298.234375c-8.855469 10.1875-14.238281 23.472656-14.238281 38v322.265625c0 9.226563-7.503906 16.730469-16.730469 16.730469-7.210937 0-13.589844-4.597656-15.875-11.4375l-15.070313-45.21875c-4.253906-12.765625-16.15625-21.339844-29.609374-21.339844-17.210938 0-31.210938 14-31.210938 31.207031v7.789063h-51.832031c-5.523438 0-10 4.480468-10 10 0 5.523437 4.476562 10 10 10h51.832031v49.75c0 14.765625 2.878906 29.164062 8.558594 42.789062l14.710937 35.308594c1.601563 3.839844 5.316407 6.15625 9.234375 6.15625 1.28125 0 2.585938-.246094 3.839844-.769531 5.101562-2.125 7.511719-7.980469 5.386719-13.078125l-14.710938-35.308594c-4.65625-11.175781-7.019531-22.984375-7.019531-35.09375v-77.539062c0-6.183594 5.027344-11.210938 11.210938-11.210938 4.832031 0 9.109374 3.078125 10.636718 7.664062l15.070313 45.21875c5.007812 15.019532 19.011719 25.113282 34.847656 25.113282 20.253906 0 36.730469-16.476563 36.730469-36.730469v-171.449219l13.363281 13.335938c23.84375 23.796875 36.972656 55.457031 36.972656 89.140625v106.300781c0 27.535156-6.238281 55.238281-18.035156 80.117188-2.367187 4.988281-.238281 10.953124 4.75 13.320312s10.953125.242188 13.320313-4.75c13.058593-27.539062 19.964843-58.207031 19.964843-88.6875v-106.300781c0-39.035157-15.214843-75.71875-42.84375-103.296875l-27.492187-27.441406v-9.554688h66c16.542968 0 30-13.457031 30-30v-83c0-31.980469-26.015625-58-58-58zm38 141c0 5.511719-4.484375 10-10 10h-66v-93c0-20.953125 17.046875-38 38-38s38 17.046875 38 38zm0 0"}),React.createElement("path",{d:"m205 437.996094c-2.632812 0-5.210938 1.070312-7.070312 2.929687-1.859376 1.863281-2.929688 4.441407-2.929688 7.070313 0 2.632812 1.070312 5.210937 2.929688 7.070312 1.859374 1.859375 4.4375 2.929688 7.070312 2.929688 2.628906 0 5.207031-1.070313 7.070312-2.929688 1.859376-1.859375 2.929688-4.4375 2.929688-7.070312 0-2.628906-1.070312-5.207032-2.929688-7.070313-1.863281-1.859375-4.441406-2.929687-7.070312-2.929687zm0 0"}),React.createElement("path",{d:"m137.667969 74c0-11.027344-8.972657-20-20-20h-44c-11.03125 0-20 8.972656-20 20v44c0 11.027344 8.96875 20 20 20h44c11.027343 0 20-8.972656 20-20zm-20 44h-44v-44h44l.011719 44s-.003907 0-.011719 0zm0 0"}),React.createElement("path",{d:"m137.667969 194c0-11.027344-8.972657-20-20-20h-44c-11.03125 0-20 8.972656-20 20v44c0 11.027344 8.96875 20 20 20h44c11.027343 0 20-8.972656 20-20zm-20 44h-44v-44h44l.011719 44s-.003907 0-.011719 0zm0 0"}),React.createElement("path",{d:"m117.667969 294h-44c-11.03125 0-20 8.96875-20 20v43.996094c0 11.03125 8.96875 20 20 20h44c11.027343 0 20-8.96875 20-20v-43.996094c0-11.03125-8.972657-20-20-20zm0 63.996094h-44v-43.996094h44l.011719 43.996094s-.003907 0-.011719 0zm0 0"}),React.createElement("path",{d:"m296.332031 138c5.523438 0 10-4.476562 10-10s-4.476562-10-10-10h-68.9375c-5.523437 0-10 4.476562-10 10s4.476563 10 10 10zm0 0"}),React.createElement("path",{d:"m181.667969 138c2.632812 0 5.210937-1.070312 7.070312-2.929688 1.859375-1.859374 2.929688-4.441406 2.929688-7.070312s-1.070313-5.210938-2.929688-7.070312c-1.859375-1.859376-4.4375-2.929688-7.070312-2.929688-2.640625 0-5.210938 1.070312-7.070313 2.929688-1.867187 1.859374-2.929687 4.441406-2.929687 7.070312s1.0625 5.210938 2.929687 7.070312c1.859375 1.859376 4.429688 2.929688 7.070313 2.929688zm0 0"}),React.createElement("path",{d:"m181.664062 258h114.667969c5.523438 0 10-4.476562 10-10s-4.476562-10-10-10h-114.667969c-5.519531 0-10 4.476562-10 10s4.480469 10 10 10zm0 0"})),Dn=xn.name,Mn=xn.category,Ln=xn.attributes,In={title:Object(f.__)("WL : Store Feature","woolentor"),description:Object(f.__)("Display store feature.","woolentor"),icon:React.createElement(m.Icon,{icon:zn}),keywords:["woolentor",Object(f.__)("shop feature","woolentor"),Object(f.__)("feature","woolentor"),Object(f.__)("store","woolentor")],example:{attributes:{style:"1"}},attributes:Ln,supports:{align:["wide","full"]},edit:Bn,save:function(){return null}};function Nn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Hn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nn(Object(n),!0).forEach((function(t){Wn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gn(e){return function(e){if(Array.isArray(e))return Vn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Un(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,a=[],_n=!0,l=!1;try{for(n=n.call(e);!(_n=(o=n.next()).done)&&(a.push(o.value),!t||a.length!==t);_n=!0);}catch(e){l=!0,r=e}finally{try{_n||null==n.return||n.return()}finally{if(l)throw r}}return a}}(e,t)||Un(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Un(e,t){if(e){if("string"==typeof e)return Vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vn(e,t):void 0}}function Vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var Qn,Kn=function(e){var t,n=e.attributes,o=e.setAttributes,r=qn(Object(y.useState)(!1),2),a=r[0],l=r[1],i=qn(Object(y.useState)([{device:"desktop"}]),2),c=i[0],s=i[1],u=(n.columns,n.noGutter),p={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"},d=function(e,t,n){var o=c[0];o[t]=n,s([].concat(Gn(c.slice(0,0)),[o],Gn(c.slice(1))))},b=function(e,t,r){var a=Gn(n.brandLogoList);a[r][t]=e,o({brandLogoList:a})},g=["image","png"],h=React.createElement("p",null,Object(f.__)("To edit the banner image, you need permission to upload media.","woolentor")),v=function(e,t){var r=Gn(n.brandLogoList);r[t].image.id=e.id,r[t].image.url=e.url,o({brandLogoList:r})};return n.brandLogoList.length>0&&(t=n.brandLogoList.map((function(e,t){var r=a===t?"woolentor_active_repeter":"";return React.createElement(y.Fragment,{key:t},React.createElement("div",{className:"woolentor_repeater-fields"},React.createElement("div",{className:"woolentor_repeater-tools",onClick:function(e){return function(e,t){l(t!==a&&t)}(0,t)}},React.createElement("div",{className:"woolentor_repeater-item-title"},n.brandLogoList[t].title),React.createElement("div",{className:"woolentor_repeater-item-remove"},React.createElement(m.IconButton,{className:"woolentor__remove-marker",icon:"no-alt",label:Object(f.__)("Delete Marker","woolentor"),onClick:function(){return function(e){var t=Gn(n.brandLogoList);t.splice(e,1),o({brandLogoList:t})}(t)}}))),React.createElement("div",{className:r+" woolentor_repeater-controls"},React.createElement(m.TextControl,{label:Object(f.__)("Brand Title","woolentor"),className:"woolentor__marker-title",placeholder:Object(f.__)("Brand Title","woolentor"),value:n.brandLogoList[t].title,onChange:function(e){return b(e,"title",t)}}),React.createElement("div",{className:"wp-block-image-selector-woolentor-image-uploader"},React.createElement(T.MediaUploadCheck,{fallback:h},React.createElement(T.MediaUpload,{title:Object(f.__)("Choose Image","woolentor"),onSelect:function(e){return v(e,t)},allowedTypes:g,value:n.brandLogoList[t].image.id,render:function(e){var o=e.open;return React.createElement(m.Button,{className:n.brandLogoList[t].image.id?"editor-post-featured-image__preview":"editor-post-featured-image__toggle",onClick:o},n.brandLogoList[t].image.id?React.createElement("img",{src:n.brandLogoList[t].image.url,alt:n.brandLogoList[t].title}):Object(f.__)("Choose Image","woolentor"))}})),!!n.brandLogoList[t].image.id&&React.createElement(T.MediaUploadCheck,null,React.createElement(T.MediaUpload,{title:Object(f.__)("Choose Image","woolentor"),onSelect:function(e){return v(e,t)},allowedTypes:g,value:n.brandLogoList[t].image.id,render:function(e){var t=e.open;return React.createElement(m.Button,{onClick:t,isDefault:!0,isLarge:!0},Object(f.__)("Replace image","woolentor"))}})),!!n.brandLogoList[t].image.id&&React.createElement(T.MediaUploadCheck,null,React.createElement(m.Button,{onClick:function(){return function(e){var t=Gn(n.brandLogoList);t[e].image.id=void 0,t[e].image.url=void 0,o({brandLogoList:t})}(t)},isLink:!0,isDestructive:!0},Object(f.__)("Remove image","woolentor")))),React.createElement(m.TextControl,{label:Object(f.__)("Brand Link","woolentor"),value:n.brandLogoList[t].link,placeholder:Object(f.__)("https://your-site.com","woolentor"),onChange:function(e){return b(e,"link",t)}}))))}))),React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Brand Logo","woolentor"),initialOpen:!0},t,React.createElement(m.Button,{isDefault:!0,icon:"plus-alt2",onClick:function(){var e=Gn(n.brandLogoList);e.push({title:Object(f.__)("Brand Item #"+(n.brandLogoList.length+1),"woolentor"),image:{id:"",url:""},link:""}),o({brandLogoList:e}),l(n.brandLogoList.length)}.bind(void 0)},Object(f.__)("Add Brand","woolentor"))),React.createElement(m.PanelBody,{title:Object(f.__)("Brand Option","woolentor"),initialOpen:!1},React.createElement(m.PanelRow,{className:"woolentor-device-row",style:{minHeight:"auto"}},React.createElement("label",null,Object(f.__)("Columns","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-device-button"},React.createElement(m.Button,{icon:"desktop",value:"desktop",label:Object(f.__)("Large","woolentor"),isPrimary:"desktop"===c[0].device,isSecondary:"desktop"!==c[0].device,onClick:function(e){return d(0,"device","desktop")}}),React.createElement(m.Button,{icon:"laptop",value:"laptop",label:Object(f.__)("Medium","woolentor"),isPrimary:"laptop"===c[0].device,isSecondary:"laptop"!==c[0].device,onClick:function(e){return d(0,"device","laptop")}}),React.createElement(m.Button,{icon:"tablet",value:"tablet",label:Object(f.__)("Small","woolentor"),isPrimary:"tablet"===c[0].device,isSecondary:"tablet"!==c[0].device,onClick:function(e){return d(0,"device","tablet")}}),React.createElement(m.Button,{icon:"smartphone",value:"mobile",label:Object(f.__)("Extra Small","woolentor"),isPrimary:"mobile"===c[0].device,isSecondary:"mobile"!==c[0].device,onClick:function(e){return d(0,"device","mobile")}}))),React.createElement(m.RangeControl,{value:n.columns[c[0].device],onChange:function(e){return function(e,t,r){var a=Hn({},n.columns);a[t]=e,o(Wn({},"columns",a))}(e,c[0].device)},min:0,step:1,max:10}),React.createElement(m.ToggleControl,{label:Object(f.__)("No Gutters","woolentor"),checked:u,help:u?Object(f.__)("Enable No Gutters.","woolentor"):Object(f.__)("Toggle to show the Gutters.","woolentor"),onChange:function(){return o({noGutter:!u})}}),!u&&React.createElement(m.RangeControl,{label:Object(f.__)("Gutter Spacing","woolentor"),value:n.itemSpace,onChange:function(e){return o({itemSpace:e})},min:0,step:1,max:200})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Brand Item","woolentor")),React.createElement(m.SelectControl,{label:Object(f.__)("Border Type","woolentor"),value:n.singleItemAreaBorderType,options:[{label:Object(f.__)("None","woolentor"),value:""},{label:Object(f.__)("Solid","woolentor"),value:"solid"},{label:Object(f.__)("Double","woolentor"),value:"double"},{label:Object(f.__)("Dotted","woolentor"),value:"dotted"},{label:Object(f.__)("Dashed","woolentor"),value:"dashed"},{label:Object(f.__)("Groove","woolentor"),value:"groove"}],onChange:function(e){return o({singleItemAreaBorderType:e})}}),n.singleItemAreaBorderType&&React.createElement(React.Fragment,null,React.createElement(tt,{lavel:Object(f.__)("Border Width","woolentor"),dimensions:n.singleItemAreaBorderWidth,attributesKey:"singleItemAreaBorderWidth",setAttributes:o}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Border Color","woolentor"),React.createElement("span",{style:Hn(Hn({},p),{},{backgroundColor:n.singleItemAreaBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.singleItemAreaBorderColor,onChange:function(e){return o({singleItemAreaBorderColor:e})}})),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:n.singleItemAreaBorderRadius,attributesKey:"singleItemAreaBorderRadius",setAttributes:o}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.singleItemAreaMargin,attributesKey:"singleItemAreaMargin",setAttributes:o}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:n.singleItemAreaPadding,attributesKey:"singleItemAreaPadding",setAttributes:o}),React.createElement("h3",null,Object(f.__)("Alignment","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-alignment-btn-group"},React.createElement(m.Button,{icon:"editor-alignleft",value:"left",isPrimary:"left"===n.brandAlignment,isSecondary:"left"!==n.brandAlignment,onClick:function(){return o({brandAlignment:"left"})},title:Object(f.__)("Title align left","woolentor")}),React.createElement(m.Button,{icon:"editor-aligncenter",value:"center",isPrimary:"center"===n.brandAlignment,isSecondary:"center"!==n.brandAlignment,onClick:function(){return o({brandAlignment:"center"})},title:Object(f.__)("Title align center","woolentor")}),React.createElement(m.Button,{icon:"editor-alignright",value:"right",isPrimary:"right"===n.brandAlignment,isSecondary:"right"!==n.brandAlignment,onClick:function(){return o({brandAlignment:"right"})},title:Object(f.__)("Title align right","woolentor")}),React.createElement("span",{onClick:function(){return o({brandAlignment:""})},class:"woolentor-reset-btn dashicon dashicons dashicons-image-rotate"})),React.createElement("h2",{className:"woolentor-blocks-section-title",style:{marginTop:"20px"}},Object(f.__)("Brand Image","woolentor")),React.createElement(m.SelectControl,{label:Object(f.__)("Border Type","woolentor"),value:n.brandImageBorderType,options:[{label:Object(f.__)("None","woolentor"),value:""},{label:Object(f.__)("Solid","woolentor"),value:"solid"},{label:Object(f.__)("Double","woolentor"),value:"double"},{label:Object(f.__)("Dotted","woolentor"),value:"dotted"},{label:Object(f.__)("Dashed","woolentor"),value:"dashed"},{label:Object(f.__)("Groove","woolentor"),value:"groove"}],onChange:function(e){return o({brandImageBorderType:e})}}),n.brandImageBorderType&&React.createElement(React.Fragment,null,React.createElement(tt,{lavel:Object(f.__)("Border Width","woolentor"),dimensions:n.brandImageBorderWidth,attributesKey:"brandImageBorderWidth",setAttributes:o}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Border Color","woolentor"),React.createElement("span",{style:Hn(Hn({},p),{},{backgroundColor:n.brandImageBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.brandImageBorderColor,onChange:function(e){return o({brandImageBorderColor:e})}})),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:n.brandImageBorderRadius,attributesKey:"brandImageBorderRadius",setAttributes:o}))))};function Yn(e){return(Yn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zn(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function $n(e,t){return($n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eo(e,t){if(t&&("object"===Yn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function to(e){return(to=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var no=React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",width:"250",height:"150",viewBox:"0 0 300 300"},React.createElement("image",{id:"woolentor-logo",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADHFJREFUeNrsXU2IHMcV7m7NSnEU8IAvvgQmEHTV+JCDNwaN4oB1UNAIx7nO7sWQ5CBtcvAlYS0CAZ9GOoSActjZUyDESGZ9kA7OjEDWHrW6GoHHOAcfEphAHMjuaif12tWT3pn++arrVf/Wg2Z3pZme7npffe97r17XuE7N7Ot3e23xoysP+v2S/K+OPFCbyJ9TcXwhjgP6/fzdyUGdxsutgcPJ0T3p6K6ik7PaRALiEf0uQDGzAMh3hvfFcU06vl2CyyIwfCSO+1VjCLeCTu+X/HIpZNwXx24VwOCW3PE0wwfi2KgowxIA7khmmFkA4I4nh9+QMb0ONmv9+J3R2Xd+ccd13akFQLLjt3MScrnat37zJ8f77vfp15E4bpUFCK51vHkjxxMAloyAsCWAUGhoaJUgxm9LNV9ba73+VtQ/E+j78/mcwsL7jWIAqeqHFRZ3SvbS7//suK+8mpY5bAogTHJnpwKcT2nc501x/pkL3TTnk3VOvnw+FmMzlJOjfgCgGxPHjvj1nlOO4k0+AFh/C3rd8f5D+nFTHE9laKwPAGS59mlTZv0pAFx8A3rdi4PHCzYQB7HB+7UAgFT4T+uq8BOd333Dcb/9ndTXnXx24Mz/+dXyP2+LsRubDgmeYecT5e84DbUz3R9i9P/kYdx/9WRI6FYKADLej5tI+Yv0Ssz81utXMPp/9jhRIMqQ0K8EACRljeue23PG/vl//p32MhrTezKclhcAIbHXdRpuMP3vP1Q57Q43CDxm54+bKPai6J8EYJrRzA+p/0JA4DE7v+1Yc87wxP5cQOAxOL8tlb51vrSY2n9E/P9U52NYQOAxOH9sY36I/l95NVj2TaZ/kfdnoH92EOgywD3r/GXxp1z507WhTp3A05j9w6anelG29ubbJtR/WoqYuWLoZXQ+0c5N6+6lwRTUD6z8+fR/8uVzzo8OQrF5AEi6GVp3Zxd/jLM/bF3JyuYAYBU/T/w/fvLA1CXcVC0ZqzLAthV9Mc7HGj986o9Y+eO0HRU9AAPgcG/Us3E/AQDrhdL/sh7YYQXAfD5vr10d7CAIbywALuae/iVZHw0FKAPQzO+gKU4TYz/S+OGv/Jmlf+VQ4AGzvyNjP1zjtuo/DgCf5nlZ7cBvugywiCfoKleTTGVMNBZ/dLKCTmYAiNlPwq+XBe029kfQf3rjh5FQoMMA25HxzorB0HgYafzgtF5Sm3lLZfYv3rR+xTnaG1n6FxOBs/GDzkdCO1hNPBGC8Whvl0M40kSeqDLAtq7oaYL654r9dC56gLT15k8d70LXP6iplB4ra+mL71gW8FRnvwryrfrH1D8JybOD92JTybMb73GE3RsqDHCDK/bVmf65Gj8ovU6rIzDUYPpRGcEKAOSL+unovwIVP2o7+9fBvj8g9iNMgoAtCwtEMcAGWq4sqjBEg0GLL0yDYpT+09Q/3UOO97GBZAEDillIjCdaOv7kr7k6/tzPf3cqHhLFHo4+cF58dpDrdXA1fqBAYmogoSe2Ns7fnYwiGUAqxc7x/gOoaOGLwQvd/Jz/q+HKwNPf5349zO06VJx29MmHbJkEci7QriWFgMEidu1jTQvoMqiuJankhVLOSZNwNX6iTMLcQ9APLxItA6Cvirg8xCB9RlqcpIGkHDoP53M5rZV/A+mKn70Q/QebK/8/foFxFa2HZ0q3BLjWfvZL6LVrVwfGBRVn6bfAHoJrUQwwWLmJJxjyWgb7BGhWqzAMhQqjAECdlhJCNTeP0LVeFAB6qyjGxKCpVMavjV8dKItFU6FAqfEjZdwYNo/QzQZ6CwCE9thfvRlwDdsEC5wFqT8qFJhYseQs/cJMYq6HoBdmgF4sAkExSDfEKQYprcu63uDX1jOCJ9FpTIs/6FgZ7iG4FAZAN0nNIkUIFVRDs1jTgeQszgUr9N6QsInSv+EWslMMcCnxptCUkCkMIGkfR+3AhPqH6B/sITjef2ASAH7ml8oAAaWhYlA39qqkfdC5FEVknBjlavwoQewPW9eTArCdemPgBekuW6qmfcj5dMvEnI0fKEvm1EHc8RzwUa8XYDqis0KokvapiCNdRoHVf8oYwT0E2fYOymIXCQAd6ObAgoTK/ng6ad/hH38LVypp0Nd+spEZlHDjR8r1wExiOPaH6wEwAMjg9YEMC0QqaR/NDhrs/44+wGfxj97OpE/WYMp+zHauHDuIewSAl9FXo8j0wCdlT83+DbyEe/iXPyxm3dHHu7AgPLehXiaGH/kGGj8K2jwi+bochce9VVITtGVqIfxAwJDDw6GI2tPRWnnQaQsPTgGNHznF/lMAUDJUDKI3rJKq+QCM6EA6VAgFJAjRLKPijR+GAICKQTB39uv2oEOOBPVHqX+6JrQ1TaXOAG/4mJb7l2fziEgAdFTfhIqUtBmk0sRBg5MUfvzQAKaGFAbSagPwci3gtBJtHsEEAHCPm7TuGRVRdiSFX1J4ONzFQ0FaC1lNGj/4Q8Ai5wUvNk4MnpGPP6mkfcjr0NpAGvvUpPHDDAA4wkCWtA8xqg2goSCuhQztc6xA44c5AKDbnUS1juukfQg7obUBH4gRgpBz5a9lfudwbQBMTbNAWARxpH2p1yXegxZT/NpAKBQo7fX/jGnlr7jNIzQBAIrBMKVypH1Q2FAQhOFrUlmurUjjh5kQENAt3DpOIGBM+6D3K9QGgm5idB2jSo0fxgCgIl5oIYQz7ePWD+SsYHMGiP6BR77LHPvDANB6qlLlOUI07aNzcjzs6dcGFICELkdDjR/l3DouEgD/0j0J5/o1OY32xeEyv4bAXGBJ65HM+VtDihOBC6plXMA4/tuH7AUREoRcKhtZ+SvgW0Oy2oQFAFxr2HQeE/sN+Kzy8S4boyB6hzONLrUGQGkRYpK9XWP5sF8bYNAVVW38iLFH3vm7k5n4ZaY9M57pFTPIOabToUPNzAJ5SKbgbw1RtWmQBmpPDZXW8bjZb9rIeTqhAFr5K/5bQ1TsIADAoyLDAFfahwFtlFlkVrnxI8oE+x+wMQBKkabTPigUKLSQqTitzI0fURlAIAIXfxTBAibSvtSZnEFvIPdV5saPKAG4AIAUgiwsoKIDTKV9UChQXGhKXfkr57eGwAzAxgIqixsm0z4o9IBZAWfjR9GlX2kzMel9f4c3ivzIYfpWMGodT2uEyCPtQ8Qnrf6lrVFwNn7Qw6Gt9WJ3W58fH0+cuz9wTgGAEPH1uz0KBdpfCkkxlhycNLB5C784oxYy2qY9jr6RZWmVjTGK3N52abI7yyGA7D7bwNLDmxEZgb9Cl/PWrmk6JG6tgK4faSyp4M7pCz+74X+V3zV3j/OTSBwFqA/W0UsiglZoPLxt+/wfX0Ehil7/0nCvUs53Xfd6JAAkCD53Mjwr0FSj4g/tVVwh2xQAGMWFALJd69ba2izs/DgAjOw44Xby9+dVutwV364AQGQDU04xWHfL2rpekN1JBUDcC63FGy0zF13TAMXfdEXExr1aiMGxk7CDqLVoQUgpYUly/dMz/UL3sgDARAUA5PyxdWstbCJC++VIYMS9Q9aKJ3bsamG3Ypkh6xutVWr2TzIBwLJALWwrURsAJ9i0Y1hZu01tX1oAkHUBGwqqZzPEb+jDobcdhgdIrOVL/bLTK9Fc9Gw2LaxH2peVAQJBeNuObSWoH9ZtqvsDUEw5sGNcatuUuo0fADKmbDoMj5JZM2Ij4SOlhTzlHUJkWrFlx7p0lskvbtZPE6Jwx4n4PnprhcX911SoXxsAEgR2xbAc9lpawYctBCzZdSsKSyH6MvvA1f10+a1j1Ejatr4oxPkjnRNobxMnM4PLNjPI3W7pOp+FAUJMQI8BjS0T5JbusSzSeVxXJOOQZQLztsXlfFYGCDFBx/nm6aKu9VX5Yr5xAISE4diCgDXP3+J2vjEAhIBgi0U8zr+sk+rlogFidAHFKls2zm7k9O+Zcr5xBljKEEgXdKxPYaN2LuOTx83rbqQuoJDQt75NpfzrSZ28lQRACAh9CQRbL1i1+1Lp55ZKu0XcpWSDoRWIC5tKx0/y/mC3yLuWfYbDBqeLNNPvyHhfSAHNLcMoCCAQE2w3TCRSTn8ryxp+7QDQMCCUwvGlBECNgTCTAq80ji81AJY0wqDCYnEqY/yoqBhfaQAsZQ2UPt6ogGCcSZrfNVnBaxQAlsBAYYGY4ZpTnqISOXpSFadXGgAxYYKOi/JnO0eHP3O+eQxrWtXxqzwAYhgiYImXQyGjl8HJMxnHv5B/T6s2w9PsfwIMAOhUCXLerUHIAAAAAElFTkSuQmCC"})),oo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$n(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=to(o);if(r){var n=to(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return eo(this,e)});function l(){return Jn(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this.props,t=e.className,n=e.attributes,o=e.isSelected,r=e.setAttributes,a=e.clientId;""==n.blockUniqId&&r({blockUniqId:a});var l,i,c=function(e){var t=n[e]?n[e]:{},o="";if(""!=t.top||""!=t.right||""!=t.bottom||""!=t.left){var r=t.unit?t.unit:"px";o=t.top?o+t.top+r+" ":"0"+r+" ",o=t.right?o+t.right+r+" ":"0"+r+" ",o=t.bottom?o+t.bottom+r+" ":"0"+r+" ",o=t.left?o+t.left+r+" ":"0"+r+" "}return o},s=V()(t,Xn({},"woolentor-columns-".concat(n.columns.desktop),n.columns.desktop),Xn({},"woolentor-laptop-columns-".concat(n.columns.laptop),n.columns.laptop),Xn({},"woolentor-tablet-columns-".concat(n.columns.tablet),n.columns.tablet),Xn({},"woolentor-mobile-columns-".concat(n.columns.mobile),n.columns.mobile)),u=Z.a.div(Qn||(l=["\n\t\t\t"," !important;\n\t\t\t& .wl-single-brand{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& img,.woolentor-default-brand{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t"],i||(i=l.slice(0)),Qn=Object.freeze(Object.defineProperties(l,{raw:{value:Object.freeze(i)}}))),!n.noGutter&&"padding: 0 "+n.itemSpace+"px 0 "+n.itemSpace+"px",n.singleItemAreaBorderType&&"border-style:"+n.singleItemAreaBorderType,n.singleItemAreaBorderWidth&&"border-width:"+c("singleItemAreaBorderWidth"),n.singleItemAreaBorderColor&&"border-color:"+n.singleItemAreaBorderColor,n.singleItemAreaBorderRadius&&"border-radius:"+c("singleItemAreaBorderRadius"),n.singleItemAreaMargin&&"margin:"+c("singleItemAreaMargin"),n.singleItemAreaPadding&&"padding:"+c("singleItemAreaPadding"),n.brandAlignment&&"text-align:"+n.brandAlignment,n.brandImageBorderType&&"border-style:"+n.brandImageBorderType,n.brandImageBorderWidth&&"border-width:"+c("brandImageBorderWidth"),n.brandImageBorderColor&&"border-color:"+n.brandImageBorderColor,n.brandImageBorderRadius&&"border-radius:"+c("brandImageBorderRadius")),p=n.brandLogoList.map((function(e,t){return React.createElement(u,{className:"woolentor-col-"+n.columns.desktop},React.createElement("div",{className:"wl-single-brand"},e.image.url?React.createElement("img",{src:e.image.url,alt:e.title}):React.createElement("div",{className:"woolentor-default-brand"},no)))}));return React.createElement(y.Fragment,null,o&&React.createElement(Kn,this.props),React.createElement("div",{className:s},React.createElement("div",{className:!0===n.noGutter?"woolentor-row wlno-gutters":"woolentor-row"},p)))}}])&&Zn(t.prototype,n),l}(y.Component),ro=n(18),ao=React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512"},React.createElement("path",{d:"M166,0H75C33.645,0,0,33.645,0,75v91c0,41.355,33.645,75,75,75h91c41.355,0,75-33.645,75-75V75 C241,33.645,207.355,0,166,0z M211,166c0,24.813-20.187,45-45,45H75c-24.813,0-45-20.187-45-45V75c0-24.813,20.187-45,45-45h91 c24.813,0,45,20.187,45,45V166z"}),React.createElement("path",{d:"M437,271h-91c-41.355,0-75,33.645-75,75v91c0,41.355,33.645,75,75,75h91c41.355,0,75-33.645,75-75v-91 C512,304.645,478.355,271,437,271z M482,437c0,24.813-20.187,45-45,45h-91c-24.813,0-45-20.187-45-45v-91 c0-24.813,20.187-45,45-45h91c24.813,0,45,20.187,45,45V437z"}),React.createElement("path",{d:"M437,0h-91c-41.355,0-75,33.645-75,75v91c0,57.897-47.103,105-105,105H75c-41.355,0-75,33.645-75,75v91 c0,41.355,33.645,75,75,75h91c41.355,0,75-33.645,75-75v-91c0-57.897,47.103-105,105-105h91c41.355,0,75-33.645,75-75V75 C512,33.645,478.355,0,437,0z M211,346v91c0,24.813-20.187,45-45,45H75c-24.813,0-45-20.187-45-45v-91c0-24.813,20.187-45,45-45 h91c20.827,0,40.568-4.741,58.2-13.2C215.741,305.432,211,325.173,211,346z M482,166c0,24.813-20.187,45-45,45h-91 c-20.827,0-40.568,4.741-58.2,13.2c8.459-17.632,13.2-37.373,13.2-58.2V75c0-24.813,20.187-45,45-45h91c24.813,0,45,20.187,45,45 V166z"})),lo=ro.name,io=ro.category,co=ro.attributes,so={title:Object(f.__)("WL : Brand Logo","woolentor"),description:Object(f.__)("Display brand logo.","woolentor"),icon:React.createElement(m.Icon,{icon:ao}),keywords:["woolentor",Object(f.__)("logo","woolentor"),Object(f.__)("brand","woolentor"),Object(f.__)("brand logo","woolentor")],example:{attributes:{brandLogoList:[{title:"Brand Title one",link:"https://hasthemes.com/",image:{id:"",url:""}},{title:"Brand Title Two",link:"https://hasthemes.com/",image:{id:"",url:""}},{title:"Brand Title Three",link:"https://hasthemes.com/",image:{id:"",url:""}},{title:"Brand Title Four",link:"https://hasthemes.com/",image:{id:"",url:""}},{title:"Brand Title Five",link:"https://hasthemes.com/",image:{id:"",url:""}},{title:"Brand Title Six",link:"https://hasthemes.com/",image:{id:"",url:""}}],columns:{desktop:"3"}}},supports:{align:["wide","full"]},attributes:co,edit:oo,save:function(){return null}};function uo(e){return(uo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function po(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function fo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?po(Object(n),!0).forEach((function(t){mo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):po(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bo(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function go(e,t){return(go=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ho(e,t){if(t&&("object"===uo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function yo(e){return(yo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var vo,wo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&go(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=yo(o);if(r){var n=yo(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return ho(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={imageSizes:[],device:"desktop"},t}return t=l,(n=[{key:"componentDidMount",value:function(){this.fetchImageSize()}},{key:"fetchImageSize",value:function(){var e=this,t=Object(Y.addQueryArgs)("/woolentor/v1/imagesizes",{wpnonce:woolentorData.security});K()({path:t}).then((function(t){return e.setState({imageSizes:t})}))}},{key:"render",value:function(){var e=this,t=this.props,n=t.attributes,o=t.setAttributes,r=n.style,a=n.displayType,l=n.productCategory,i=n.productCategories,c=n.order,s=n.displayLimit,u=n.showCount,p=n.sliderOn,d=(n.columns,n.noGutter),b=n.itemSpace,g={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"},h=function(t,n,o){e.setState(mo({},n,o))},v=this.state.imageSizes,w=function(){var e=[];return Object.keys(v).forEach((function(t){e.push({label:v[t],value:t})})),e};return React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("Settings","woolentor"),initialOpen:!0},React.createElement(m.SelectControl,{label:Object(f.__)("Style","woolentor"),value:r,options:[{label:Object(f.__)("Style One","woolentor"),value:"1"},{label:Object(f.__)("Style Two","woolentor"),value:"2"},{label:Object(f.__)("Style Three","woolentor"),value:"3"},{label:Object(f.__)("Style Four","woolentor"),value:"4"},{label:Object(f.__)("Style Five","woolentor"),value:"5"}],onChange:function(e){return o({style:e})}}),React.createElement(m.SelectControl,{label:Object(f.__)("Category Display Type","woolentor"),value:a,options:[{label:Object(f.__)("Single Category","woolentor"),value:"singleCat"},{label:Object(f.__)("Multiple Categories","woolentor"),value:"multipleCat"},{label:Object(f.__)("All Categories","woolentor"),value:"allCat"}],onChange:function(e){return o({displayType:e})}}),"singleCat"==a&&React.createElement(A,{title:Object(f.__)("Select category","woolentor"),attributesKey:"productCategory",setAttributes:o,selectedTaxonomies:l,type:"single"}),"multipleCat"==a&&React.createElement(A,{title:Object(f.__)("Select categories","woolentor"),attributesKey:"productCategories",setAttributes:o,selectedTaxonomies:i,type:"multiple"}),"singleCat"!=a&&React.createElement(m.SelectControl,{label:Object(f.__)("Order","woolentor"),value:c,options:[{label:Object(f.__)("Ascending","woolentor"),value:"asc"},{label:Object(f.__)("Descending","woolentor"),value:"desc"}],onChange:function(e){return o({order:e})}}),"allCat"==a&&React.createElement(m.RangeControl,{label:Object(f.__)("Limit","woolentor"),value:s,onChange:function(e){return o({displayLimit:e})},min:1,step:1,max:20}),("1"==r||"4"==r)&&React.createElement(m.ToggleControl,{label:Object(f.__)("Show Count","woolentor"),checked:u,help:u?Object(f.__)("Enable show Count.","woolentor"):Object(f.__)("Toggle to show the count.","woolentor"),onChange:function(){return o({showCount:!u})}}),w().length>0&&React.createElement(m.SelectControl,{label:Object(f.__)("Image Size","woolentor"),value:n.imageSize,options:w(),onChange:function(e){return o({imageSize:e})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider On","woolentor"),checked:p,help:p?Object(f.__)("Enable slider.","woolentor"):Object(f.__)("Toggle to show the slider.","woolentor"),onChange:function(){return o({sliderOn:!p})}})),1==p&&React.createElement(m.PanelBody,{title:Object(f.__)("Slider Options","woolentor"),initialOpen:!1},React.createElement(m.RangeControl,{label:Object(f.__)("Slider Items","woolentor"),value:n.slitems,onChange:function(e){return o({slitems:e})},min:1,step:1,max:10}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider Arrow","woolentor"),checked:n.slarrows,help:n.slarrows?Object(f.__)("Enable slider arrow.","woolentor"):Object(f.__)("Toggle to show the slider arrow.","woolentor"),onChange:function(){return o({slarrows:!n.slarrows})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider dots","woolentor"),checked:n.sldots,help:n.sldots?Object(f.__)("Enable slider pagination.","woolentor"):Object(f.__)("Toggle to show the slider pagination.","woolentor"),onChange:function(){return o({sldots:!n.sldots})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Pause on Hover?","woolentor"),checked:n.slpauseOnHover,help:n.slpauseOnHover?Object(f.__)("Enable slider pagination.","woolentor"):Object(f.__)("Toggle to show the slider pagination.","woolentor"),onChange:function(){return o({slpauseOnHover:!n.slpauseOnHover})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Is RTL","woolentor"),checked:n.slIsrtl,help:n.slIsrtl?Object(f.__)("Enable RTL.","woolentor"):Object(f.__)("Toggle to show the RTL direction.","woolentor"),onChange:function(){return o({slIsrtl:!n.slIsrtl})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Slider auto play","woolentor"),checked:n.slautolay,help:n.slautolay?Object(f.__)("Enable slider auto play.","woolentor"):Object(f.__)("Toggle to show the slider auto play.","woolentor"),onChange:function(){return o({slautolay:!n.slautolay})}}),1==n.slautolay&&React.createElement(React.Fragment,null,React.createElement(m.RangeControl,{label:Object(f.__)("Autoplay speed","woolentor"),value:n.slautoplaySpeed,onChange:function(e){return o({slautoplaySpeed:e})},min:1,step:1,max:1e5}),React.createElement(m.RangeControl,{label:Object(f.__)("Autoplay animation speed","woolentor"),value:n.slanimationSpeed,onChange:function(e){return o({slanimationSpeed:e})},min:1,step:1,max:1e5})),React.createElement(m.RangeControl,{label:Object(f.__)("Slider item to scroll","woolentor"),value:n.slscrollItem,onChange:function(e){return o({slscrollItem:e})},min:1,step:1,max:1e5}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Tablet Screen options","woolentor")),React.createElement(m.RangeControl,{label:Object(f.__)("Slider Items","woolentor"),value:n.sltabletDisplayColumns,onChange:function(e){return o({sltabletDisplayColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Slider item to scroll","woolentor"),value:n.sltabletScrollColumns,onChange:function(e){return o({sltabletScrollColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Tablet Screen Resolution","woolentor"),value:n.sltabletWidth,onChange:function(e){return o({sltabletWidth:e})},min:1,step:1,max:1500}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Mobile Phone Screen options","woolentor")),React.createElement(m.RangeControl,{label:Object(f.__)("Slider Items","woolentor"),value:n.slMobileDisplayColumns,onChange:function(e){return o({slMobileDisplayColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Slider item to scroll","woolentor"),value:n.slMobileScrollColumns,onChange:function(e){return o({slMobileScrollColumns:e})},min:1,step:1,max:8}),React.createElement(m.RangeControl,{label:Object(f.__)("Mobile Screen Resolution","woolentor"),value:n.slMobileWidth,onChange:function(e){return o({slMobileWidth:e})},min:1,step:1,max:1500})),0==p&&React.createElement(m.PanelBody,{title:Object(f.__)("Columns","woolentor"),initialOpen:!1},React.createElement(m.PanelRow,{className:"woolentor-device-row",style:{minHeight:"auto"}},React.createElement("label",null,Object(f.__)("Columns","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-device-button"},React.createElement(m.Button,{icon:"desktop",value:"desktop",label:Object(f.__)("Large","woolentor"),isPrimary:"desktop"===this.state.device,isSecondary:"desktop"!==this.state.device,onClick:function(e){return h(0,"device","desktop")}}),React.createElement(m.Button,{icon:"laptop",value:"laptop",label:Object(f.__)("Medium","woolentor"),isPrimary:"laptop"===this.state.device,isSecondary:"laptop"!==this.state.device,onClick:function(e){return h(0,"device","laptop")}}),React.createElement(m.Button,{icon:"tablet",value:"tablet",label:Object(f.__)("Small","woolentor"),isPrimary:"tablet"===this.state.device,isSecondary:"tablet"!==this.state.device,onClick:function(e){return h(0,"device","tablet")}}),React.createElement(m.Button,{icon:"smartphone",value:"mobile",label:Object(f.__)("Extra Small","woolentor"),isPrimary:"mobile"===this.state.device,isSecondary:"mobile"!==this.state.device,onClick:function(e){return h(0,"device","mobile")}}))),React.createElement(m.RangeControl,{value:n.columns[this.state.device],onChange:function(t){return function(e,t,r){var a=fo({},n.columns);a[t]=e,o(mo({},"columns",a))}(t,e.state.device)},min:0,step:1,max:10}),React.createElement(m.ToggleControl,{label:Object(f.__)("No Gutters","woolentor"),checked:d,help:d?Object(f.__)("Enable No Gutters.","woolentor"):Object(f.__)("Toggle to show the Gutters.","woolentor"),onChange:function(){return o({noGutter:!d})}}),!d&&React.createElement(m.RangeControl,{label:Object(f.__)("Gutter Spacing","woolentor"),value:b,onChange:function(e){return o({itemSpace:e})},min:0,step:1,max:200})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Area","woolentor")),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:n.areaPadding,attributesKey:"areaPadding",setAttributes:o}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:fo(fo({},g),{},{backgroundColor:n.areaBackgroundColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.areaBackgroundColor,onChange:function(e){return o({areaBackgroundColor:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Image","woolentor")),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Box Color","woolentor"),React.createElement("span",{style:fo(fo({},g),{},{backgroundColor:n.imageBoxColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.imageBoxColor,onChange:function(e){return o({imageBoxColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.imageMargin,attributesKey:"imageMargin",setAttributes:o}),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:n.imageBorderRadius,attributesKey:"imageBorderRadius",setAttributes:o}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Title","woolentor")),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Color","woolentor"),React.createElement("span",{style:fo(fo({},g),{},{backgroundColor:n.titleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.titleColor,onChange:function(e){return o({titleColor:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Hover Color","woolentor"),React.createElement("span",{style:fo(fo({},g),{},{backgroundColor:n.titleHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.titleHoverColor,onChange:function(e){return o({titleHoverColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.titleMargin,attributesKey:"titleMargin",setAttributes:o}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Count","woolentor")),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Color","woolentor"),React.createElement("span",{style:fo(fo({},g),{},{backgroundColor:n.countColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.countColor,onChange:function(e){return o({countColor:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Before Border Color","woolentor"),React.createElement("span",{style:fo(fo({},g),{},{backgroundColor:n.countBeforeColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.countBeforeColor,onChange:function(e){return o({countBeforeColor:e})}}))))}}])&&bo(t.prototype,n),l}(y.Component);function Oo(e){return(Oo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _o(){return(_o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function Co(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Eo(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Ro(e,t){return(Ro=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jo(e,t){if(t&&("object"===Oo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function ko(e){return(ko=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var So=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ro(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=ko(o);if(r){var n=ko(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return jo(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={categoryData:[]},t}return t=l,(n=[{key:"componentDidMount",value:function(){this.fetchCategoryData()}},{key:"componentDidUpdate",value:function(e){var t,n=this.props.attributes,o=n.displayLimit,r=n.order;t="singleCat"==n.displayType?n.productCategory:"multipleCat"==n.displayType?n.productCategories:"";var a=e.attributes;("singleCat"==a.displayType?a.productCategory:"multipleCat"==a.displayType?a.productCategories:"")==t&&e.attributes.displayLimit==o&&e.attributes.order==r||this.fetchCategoryData()}},{key:"fetchCategoryData",value:function(){var e=this,t={queryLimit:this.props.attributes.displayLimit,queryOrder:this.props.attributes.order,queryType:"regular",wpnonce:woolentorData.security};"singleCat"==this.props.attributes.displayType?t.querySlug=this.props.attributes.productCategory:"multipleCat"==this.props.attributes.displayType?t.querySlug=this.props.attributes.productCategories:t.querySlug="";var n=Object(Y.addQueryArgs)("/woolentor/v1/category",t);K()({path:n}).then((function(t){return e.setState({categoryData:t})}))}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.className,o=e.isSelected,r=e.setAttributes,a=e.clientId,l=t.blockUniqId,i=t.style;""==l&&r({blockUniqId:a});var c=this.state.categoryData,s=0,u=-1;function p(e){var t=e.className,n=e.onClick;return React.createElement(m.Button,{className:t,onClick:n},React.createElement("i",{className:"fa fa-angle-right"}))}function d(e){var t=e.className,n=e.onClick;return React.createElement(m.Button,{className:t,onClick:n},React.createElement("i",{className:"fa fa-angle-left"}))}var f,b,g,h={arrows:t.slarrows,prevArrow:React.createElement(d,null),nextArrow:React.createElement(p,null),dots:t.sldots,infinite:!0,autoplay:t.slautolay,autoplaySpeed:t.slautoplaySpeed,speed:t.slanimationSpeed,fade:!1,pauseOnHover:t.slpauseOnHover,slidesToShow:t.slitems,slidesToScroll:t.slscrollItem,rtl:t.slIsrtl,responsive:[{breakpoint:t.sltabletWidth,settings:{slidesToShow:t.sltabletDisplayColumns,slidesToScroll:t.sltabletScrollColumns}},{breakpoint:t.slMobileWidth,settings:{slidesToShow:t.slMobileDisplayColumns,slidesToScroll:t.slMobileScrollColumns}}]},v=function(e){var n=t[e]?t[e]:{},o="";if(""!=n.top||""!=n.right||""!=n.bottom||""!=n.left){var r=n.unit?n.unit:"px";o=n.top?o+n.top+r+" ":"0"+r+" ",o=n.right?o+n.right+r+" ":"0"+r+" ",o=n.bottom?o+n.bottom+r+" ":"0"+r+" ",o=n.left?o+n.left+r+" ":"0"+r+" "}return o},w=V()(n,Co({},"woolentor-columns-".concat(t.columns.desktop),t.columns.desktop),Co({},"woolentor-laptop-columns-".concat(t.columns.laptop),t.columns.laptop),Co({},"woolentor-tablet-columns-".concat(t.columns.tablet),t.columns.tablet),Co({},"woolentor-mobile-columns-".concat(t.columns.mobile),t.columns.mobile),Co({},"woolentor-area-".concat(t.align),t.align)),O=V()(Co({},"woolentor-row",!0!==t.sliderOn),Co({},"wlno-gutters",1==t.noGutter),Co({},"product-slider",1==t.sliderOn)),_=V()(Co({},"woolentor-col-".concat(t.columns.desktop),t.columns.desktop)),C=Z.a.div(vo||(f=["\n\t\t\t"," !important;\n\t\t\t","px !important;\n\t\t\t\n\t\t\t& [class*='ht-category-wrap']{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& [class*='ht-category-image']{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .ht-category-wrap .ht-category-image a.ht-category-border::before,.ht-category-wrap-2:hover::before,.ht-category-wrap .ht-category-image a.ht-category-border-2::before{\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& [class*='ht-category-content'] h3 a{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& [class*='ht-category-content'] h3 a:hover{\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& [class*='ht-category-content'] span{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& [class*='ht-category-content'] span::before{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t\n\t\t"],b||(b=f.slice(0)),vo=Object.freeze(Object.defineProperties(f,{raw:{value:Object.freeze(b)}}))),!t.noGutter&&"padding: 0 "+t.itemSpace+"px 0 "+t.itemSpace+"px",!0!==t.sliderOn&&!t.noGutter&&u>=t.columns&&"margin-top:"+t.itemSpace+t.itemSpace,t.areaBackgroundColor&&"background-color:"+t.areaBackgroundColor,t.areaPadding&&"padding:"+v("areaPadding"),t.imageMargin&&"margin:"+v("imageMargin"),t.imageBorderRadius&&"border-radius:"+v("imageBorderRadius"),t.imageBoxColor&&"border-color:"+t.imageBoxColor,t.titleColor&&"color:"+t.titleColor,t.titleMargin&&"margin:"+v("titleMargin"),t.titleHoverColor&&"color:"+t.titleHoverColor,t.countColor&&"color:"+t.countColor,t.countBeforeColor&&"background-color:"+t.countBeforeColor);return c.length>0&&(g=c.map((function(e,n){return s=4===s?0:s,s++,u++,React.createElement(React.Fragment,null,React.createElement(C,{className:_},"1"===i&&React.createElement("div",{className:"ht-category-wrap"},e.image&&React.createElement("div",{className:"ht-category-image ht-category-image-zoom"},React.createElement(m.Disabled,null,React.createElement("a",{className:"ht-category-border",href:e.link},Object(y.createElement)("span",{dangerouslySetInnerHTML:{__html:e.image[t.imageSize].html}})))),React.createElement("div",{className:"ht-category-content"},React.createElement("h3",null,React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},e.name))),1==t.showCount&&React.createElement("span",null,e.count))),"2"===i&&React.createElement("div",{className:"ht-category-wrap-2"},React.createElement("div",{className:"ht-category-content-2"},React.createElement("h3",null,React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},e.name)))),e.image&&React.createElement("div",{className:"ht-category-image-2"},React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},Object(y.createElement)("span",{dangerouslySetInnerHTML:{__html:e.image.full.html}}))))),"3"===i&&React.createElement("div",{className:"ht-category-wrap"},e.image?React.createElement("div",{className:"ht-category-image ht-category-image-zoom"},React.createElement(m.Disabled,null,React.createElement("a",{className:"ht-category-border-2",href:e.link},Object(y.createElement)("span",{dangerouslySetInnerHTML:{__html:e.image.full.html}})))):React.createElement("div",{className:"ht-category-image ht-category-image-zoom"},React.createElement(m.Disabled,null,React.createElement("a",{className:"ht-category-border-2",href:e.link},React.createElement("img",{src:e.placeholderImg,alt:e.name})))),React.createElement("div",{className:"ht-category-content-3 ht-category-content-3-bg"+s},React.createElement("h3",null,React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},e.name))))),"4"===i&&React.createElement("div",{className:"ht-category-wrap"},e.image&&React.createElement("div",{className:"ht-category-image ht-category-image-zoom"},React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},Object(y.createElement)("span",{dangerouslySetInnerHTML:{__html:e.image.full.html}})))),React.createElement("div",{className:"ht-category-content-4"},React.createElement("h3",null,React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},e.name)),1==t.showCount&&React.createElement("span",null,e.count)))),"5"===i&&React.createElement("div",{className:"ht-category-wrap"},e.image&&React.createElement("div",{className:"ht-category-image-3 ht-category-image-zoom"},React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},Object(y.createElement)("span",{dangerouslySetInnerHTML:{__html:e.image.full.html}})))),React.createElement("div",{className:"ht-category-content-5"},React.createElement("h3",null,React.createElement(m.Disabled,null,React.createElement("a",{href:e.link},e.name)))))))}))),React.createElement(y.Fragment,null,o&&React.createElement(wo,this.props),React.createElement("div",{className:w},React.createElement("div",{className:O},0==c.length?React.createElement(m.Spinner,null):1==t.sliderOn?React.createElement(J.a,_o({},h,{className:"product-slider"}),g):g)))}}])&&Eo(t.prototype,n),l}(y.Component),Po=n(19),Fo=React.createElement("svg",{"enable-background":"new 0 0 24 24",height:"512",viewBox:"0 0 24 24",width:"512",xmlns:"http://www.w3.org/2000/svg"},React.createElement("path",{d:"m22.5 24h-21c-.827 0-1.5-.673-1.5-1.5v-21c0-.827.673-1.5 1.5-1.5h21c.827 0 1.5.673 1.5 1.5v21c0 .827-.673 1.5-1.5 1.5zm-21-23c-.276 0-.5.224-.5.5v21c0 .276.224.5.5.5h21c.276 0 .5-.224.5-.5v-21c0-.276-.224-.5-.5-.5z"}),React.createElement("path",{d:"m23.5 16.5h-23c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h23c.276 0 .5.224.5.5s-.224.5-.5.5z"}),React.createElement("path",{d:"m23.5 8.5h-23c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h23c.276 0 .5.224.5.5s-.224.5-.5.5z"}),React.createElement("path",{d:"m8 24c-.276 0-.5-.224-.5-.5v-23c0-.276.224-.5.5-.5s.5.224.5.5v23c0 .276-.224.5-.5.5z"})),Ao=Po.name,To=Po.category,Bo=Po.attributes,xo={title:Object(f.__)("WL : Category Grid","woolentor"),description:Object(f.__)("Display product category grid.","woolentor"),icon:React.createElement(m.Icon,{icon:Fo}),keywords:["woolentor",Object(f.__)("shop category","woolentor"),Object(f.__)("category grid","woolentor"),Object(f.__)("product category","woolentor"),Object(f.__)("woocommerce","woolentor")],example:{attributes:{style:"1",showCount:!0}},supports:{align:["wide","full"]},attributes:Bo,edit:So,save:function(){return null}};function zo(e){return(zo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Do(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Mo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Do(Object(n),!0).forEach((function(t){Lo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Do(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Io(e){return function(e){if(Array.isArray(e))return No(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return No(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?No(e,void 0):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function No(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function Ho(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Wo(e,t){return(Wo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Go(e,t){if(t&&("object"===zo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function qo(e){return(qo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Uo,Vo,Qo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Wo(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=qo(o);if(r){var n=qo(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Go(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={activeClass:!1},t}return t=l,(n=[{key:"render",value:function(){var e,t=this,n=this.props,o=n.attributes,r=n.setAttributes,a=o.showFirstItem,l={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"},i=function(e,t,n){var a=Io(o.faqList);a[n][t]=e,r({faqList:a})};return o.faqList.length&&(e=o.faqList.map((function(e,n){var a=t.state.activeClass===n?"woolentor_active_repeter":"";return React.createElement(y.Fragment,{key:n},React.createElement("div",{className:"woolentor_repeater-fields"},React.createElement("div",{className:"woolentor_repeater-tools",onClick:function(e){return function(e,n){n===t.state.activeClass?t.setState({activeClass:!1}):t.setState({activeClass:n})}(0,n)}},React.createElement("div",{className:"woolentor_repeater-item-title"},o.faqList[n].title),React.createElement("div",{className:"woolentor_repeater-item-remove"},React.createElement(m.IconButton,{className:"woolentor__remove-marker",icon:"no-alt",label:Object(f.__)("Delete Marker","woolentor"),onClick:function(){return function(e){var t=Io(o.faqList);t.splice(e,1),r({faqList:t})}(n)}}))),React.createElement("div",{className:a+" woolentor_repeater-controls"},React.createElement(m.TextControl,{label:Object(f.__)("Faq Title","woolentor"),className:"woolentor__marker-title",placeholder:Object(f.__)("Marker Title","woolentor"),value:o.faqList[n].title,onChange:function(e){return i(e,"title",n)}}),React.createElement(m.TextareaControl,{label:Object(f.__)("Faq Content","woolentor"),value:o.faqList[n].content,onChange:function(e){return i(e,"content",n)}}))))}))),React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement(m.PanelBody,{title:Object(f.__)("FAQ","woolentor"),initialOpen:!0},e,React.createElement(m.Button,{isDefault:!0,icon:"plus-alt2",onClick:function(){var e=Io(o.faqList);e.push({title:Object(f.__)("Faq Item #"+(o.faqList.length+1),"woolentor"),content:"",horizontal:"",verticle:""}),r({faqList:e}),t.setState({activeClass:o.faqList.length})}.bind(this)},Object(f.__)("Add FAQ","woolentor"))),React.createElement(m.PanelBody,{title:Object(f.__)("Settings","woolentor"),initialOpen:!1},React.createElement(m.ToggleControl,{label:Object(f.__)("Show First Item","woolentor"),checked:a,help:a?Object(f.__)("Enable first item.","woolentor"):Object(f.__)("Toggle to show the first item.","woolentor"),onChange:function(){return r({showFirstItem:!a})}}),React.createElement(m.SelectControl,{label:Object(f.__)("Icon Position","woolentor"),value:o.iconPosition,options:[{label:Object(f.__)("Left","woolentor"),value:"left"},{label:Object(f.__)("Right","woolentor"),value:"right"}],onChange:function(e){return r({iconPosition:e})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Style","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Title","woolentor")),React.createElement(m.SelectControl,{label:Object(f.__)("Border Type","woolentor"),value:o.titleBorderType,options:[{label:Object(f.__)("None","woolentor"),value:""},{label:Object(f.__)("Solid","woolentor"),value:"solid"},{label:Object(f.__)("Double","woolentor"),value:"double"},{label:Object(f.__)("Dotted","woolentor"),value:"dotted"},{label:Object(f.__)("Dashed","woolentor"),value:"dashed"},{label:Object(f.__)("Groove","woolentor"),value:"groove"}],onChange:function(e){return r({titleBorderType:e})}}),o.titleBorderType&&React.createElement(React.Fragment,null,React.createElement(tt,{lavel:Object(f.__)("Border Width","woolentor"),dimensions:o.titleBorderWidth,attributesKey:"titleBorderWidth",setAttributes:r}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Border Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.titleBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.titleBorderColor,onChange:function(e){return r({titleBorderColor:e})}})),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:o.titleBorderRadius,attributesKey:"titleBorderRadius",setAttributes:r}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.headBackgroundColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.headBackgroundColor,onChange:function(e){return r({headBackgroundColor:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Active Background Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.activeHeadBackgroundColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.activeHeadBackgroundColor,onChange:function(e){return r({activeHeadBackgroundColor:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.faqTitleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.faqTitleColor,onChange:function(e){return r({faqTitleColor:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Active Title Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.activeFaqTitleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.activeFaqTitleColor,onChange:function(e){return r({activeFaqTitleColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:o.titleSize,fallbackFontSize:o.titleSize,onChange:function(e){return r({titleSize:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Icon Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.iconColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.iconColor,onChange:function(e){return r({iconColor:e})}}),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Active Icon Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.activeIconColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.activeIconColor,onChange:function(e){return r({activeIconColor:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Content","woolentor")),React.createElement("h3",{style:{marginTop:15}},Object(f.__)("Color","woolentor"),React.createElement("span",{style:Mo(Mo({},l),{},{backgroundColor:o.contentColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:o.contentColor,onChange:function(e){return r({contentColor:e})}}),React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:o.contentSize,fallbackFontSize:o.contentSize,onChange:function(e){return r({contentSize:e})}}))))}}])&&Ho(t.prototype,n),l}(y.Component);function Ko(e){return(Ko="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yo(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Xo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jo(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Zo(e,t){return(Zo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $o(e,t){if(t&&("object"===Ko(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function er(e){return(er=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var tr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Zo(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=er(o);if(r){var n=er(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return $o(this,e)});function l(){return Xo(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"componentDidMount",value:function(){this.$el=jQuery(this.el);var e=this.$el.attr("id");new Accordion("#"+e,{duration:500,showItem:this.props.attributes.showFirstItem,elementClass:"htwoolentor-faq-card",questionClass:"htwoolentor-faq-head",answerClass:"htwoolentor-faq-body"})}},{key:"componentDidUpdate",value:function(e){var t=this.props.attributes,n=t.faqList;if(e.attributes.faqList!==n||t.showFirstItem!==e.attributes.showFirstItem){this.$el=jQuery(this.el);var o=this.$el.attr("id");new Accordion("#"+o,{duration:500,showItem:t.showFirstItem,elementClass:"htwoolentor-faq-card",questionClass:"htwoolentor-faq-head",answerClass:"htwoolentor-faq-body"}),jQuery(".htwoolentor-faq-card").on("click",(function(e){jQuery(this).toggleClass("is-active")}))}}},{key:"componentWillUnmount",value:function(){this.$el=jQuery(this.el);var e=this.$el.attr("id"),t=jQuery("#"+e);t.accordion&&(t.accordion("destroy"),t.accordion=!1)}},{key:"render",value:function(){var e=this,t=this.props,n=(t.name,t.attributes),o=t.className,r=t.isSelected,a=t.setAttributes,l=t.clientId,i=n.blockUniqId;n.bgProperty,l!==i&&a({blockUniqId:l});var c,s,u,p=function(e){var t=n[e]?n[e]:{},o="";if(""!=t.top||""!=t.right||""!=t.bottom||""!=t.left){var r=t.unit?t.unit:"px";o=t.top?o+t.top+r+" ":"0"+r+" ",o=t.right?o+t.right+r+" ":"0"+r+" ",o=t.bottom?o+t.bottom+r+" ":"0"+r+" ",o=t.left?o+t.left+r+" ":"0"+r+" "}return o},d=V()("htwoolentor-faq",(c={},s="woolentorfaq-icon-pos-".concat(n.iconPosition),u=n.iconPosition,s in c?Object.defineProperty(c,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):c[s]=u,c)),f=Z.a.div(Uo||(Uo=Yo(["\n\t\t\t",";\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t\t"," !important;\n\t\t\t& .htwoolentor-faq-head-text{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .htwoolentor-faq-head-indicator:before, .htwoolentor-faq-head-indicator:after{\n\t\t\t\t"," !important;\n\t\t\t}\n\t\t"])),n.headBackgroundColor&&"background-color:"+n.headBackgroundColor,n.titleBorderType&&"border-style:"+n.titleBorderType,n.titleBorderWidth&&"border-width:"+p("titleBorderWidth"),n.titleBorderColor&&"border-color:"+n.titleBorderColor,n.titleBorderRadius&&"border-radius:"+p("titleBorderRadius"),n.faqTitleColor&&"color:"+n.faqTitleColor,n.titleSize&&"font-size:"+n.titleSize,n.iconColor&&"background-color:"+n.iconColor),m=Z.a.div(Vo||(Vo=Yo(["\n\t\t\t",";\n\n\t\t\t& p{\n\t\t\t\t"," !important;\n\t\t\t}\n\t\t"])),n.contentColor&&"color:"+n.contentColor,n.contentSize&&"font-size:"+n.contentSize),b=React.createElement("span",{className:"htwoolentor-faq-head-indicator"}),g=n.faqList.map((function(e,t){var o=e.title?React.createElement("span",{class:"htwoolentor-faq-head-text"},e.title):"";return React.createElement("div",{key:t,className:"htwoolentor-faq-card"},"right"===n.iconPosition?React.createElement(f,{className:"htwoolentor-faq-head"},o,b):React.createElement(f,{className:"htwoolentor-faq-head"},b,o),React.createElement("div",{className:"htwoolentor-faq-body"},React.createElement(m,{className:"htwoolentor-faq-content"},e.content&&React.createElement("p",null,e.content))))}));return React.createElement(y.Fragment,null,r&&React.createElement(Qo,this.props),React.createElement("div",{className:o},React.createElement("div",{className:d,id:"htwoolentor-faq-"+i+Math.random().toString(36).substr(2,9),ref:function(t){return e.el=t}},g)))}}])&&Jo(t.prototype,n),l}(y.Component),nr=n(20),or=React.createElement("svg",{version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512",space:"preserve"},React.createElement("g",null,React.createElement("path",{d:"M256,0C114.516,0,0,114.497,0,256c0,141.484,114.497,256,256,256c141.484,0,256-114.497,256-256 C512,114.516,397.503,0,256,0z M256,472c-119.377,0-216-96.607-216-216c0-119.377,96.607-216,216-216 c119.377,0,216,96.607,216,216C472,375.377,375.393,472,256,472z"}),React.createElement("path",{d:"M256,128.5c-44.112,0-80,35.888-80,80c0,11.046,8.954,20,20,20s20-8.954,20-20c0-22.056,17.944-40,40-40 c22.056,0,40,17.944,40,40c0,22.056-17.944,40-40,40c-11.046,0-20,8.954-20,20v50c0,11.046,8.954,20,20,20 c11.046,0,20-8.954,20-20v-32.531c34.466-8.903,60-40.26,60-77.469C336,164.388,300.112,128.5,256,128.5z"}))),rr=nr.name,ar=nr.category,lr=nr.attributes,ir={title:Object(f.__)("WL : FAQ","woolentor"),description:Object(f.__)("Display faq.","woolentor"),icon:React.createElement(m.Icon,{icon:or}),keywords:[Object(f.__)("WooLentor","woolentor"),Object(f.__)("faq","woolentor"),Object(f.__)("accordion","woolentor"),Object(f.__)("question","woolentor"),Object(f.__)("answer","woolentor")],example:{},supports:{align:["wide","full"]},attributes:lr,edit:tr,save:function(){return null}};function cr(e){return(cr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ur(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sr(Object(n),!0).forEach((function(t){pr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dr(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function fr(e,t){return(fr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mr(e,t){if(t&&("object"===cr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function br(e){return(br=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var gr,hr,yr,vr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&fr(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=br(o);if(r){var n=br(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return mr(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={activeTab:"general",titleTab:"normal",actionBtnTab:"normal",device:"desktop"},t}return t=l,(n=[{key:"render",value:function(){var e=this,t=this.props,n=t.attributes,o=t.setAttributes,r=n.productFilterType,a=n.perPage,l=n.customOrder,i=n.orderBy,c=n.order,s=n.selectedCategories,u={width:30,height:12,display:"inline-block",marginLeft:10,verticalAlign:"middle"},p=function(t,n,o){e.setState(pr({},n,o))};return React.createElement(y.Fragment,null,React.createElement(T.InspectorControls,null,React.createElement("div",{className:"woolentor-tabs-menu"},React.createElement(m.ButtonGroup,{className:"woolentor-tabs-menu-btn-group"},React.createElement(m.Button,{className:"general"===this.state.activeTab?"woolentor-tab-menu-item woolentor-tab-menu-active":"woolentor-tab-menu-item",icon:"admin-tools",value:"general",isPrimary:"general"===this.state.activeTab,isSecondary:"general"!==this.state.activeTab,onClick:function(e){return p(0,"activeTab","general")}},Object(f.__)("General","woolentor")),React.createElement(m.Button,{className:"styles"===this.state.activeTab?"woolentor-tab-menu-item woolentor-tab-menu-active":"woolentor-tab-menu-item",icon:"chart-pie",value:"styles",isPrimary:"styles"===this.state.activeTab,isSecondary:"styles"!==this.state.activeTab,onClick:function(e){return p(0,"activeTab","styles")}},Object(f.__)("Styles","woolentor")),React.createElement(m.Button,{className:"advanced"===this.state.activeTab?"woolentor-tab-menu-item woolentor-tab-menu-active":"woolentor-tab-menu-item",icon:"admin-generic",value:"advanced",isPrimary:"advanced"===this.state.activeTab,isSecondary:"advanced"!==this.state.activeTab,onClick:function(e){return p(0,"activeTab","advanced")}},Object(f.__)("Advanced","woolentor")))),React.createElement("div",{className:"woolentor-tabs-content"},"general"===this.state.activeTab&&React.createElement(React.Fragment,null,React.createElement(m.PanelBody,{title:Object(f.__)("Layout","woolentor"),initialOpen:!0},React.createElement(m.SelectControl,{label:Object(f.__)("Layout","woolentor"),value:n.layout,options:[{label:Object(f.__)("Layout One","woolentor"),value:"1"},{label:Object(f.__)("Layout Two","woolentor"),value:"2"},{label:Object(f.__)("Layout Three","woolentor"),value:"3"}],onChange:function(e){return o({layout:e})}}),React.createElement(m.PanelRow,{className:"woolentor-device-row",style:{minHeight:"auto"}},React.createElement("label",null,Object(f.__)("Columns","woolentor")),React.createElement(m.ButtonGroup,{className:"woolentor-device-button"},React.createElement(m.Button,{icon:"desktop",value:"desktop",label:Object(f.__)("Large","woolentor"),isPrimary:"desktop"===this.state.device,isSecondary:"desktop"!==this.state.device,onClick:function(e){return p(0,"device","desktop")}}),React.createElement(m.Button,{icon:"laptop",value:"laptop",label:Object(f.__)("Medium","woolentor"),isPrimary:"laptop"===this.state.device,isSecondary:"laptop"!==this.state.device,onClick:function(e){return p(0,"device","laptop")}}),React.createElement(m.Button,{icon:"tablet",value:"tablet",label:Object(f.__)("Small","woolentor"),isPrimary:"tablet"===this.state.device,isSecondary:"tablet"!==this.state.device,onClick:function(e){return p(0,"device","tablet")}}),React.createElement(m.Button,{icon:"smartphone",value:"mobile",label:Object(f.__)("Extra Small","woolentor"),isPrimary:"mobile"===this.state.device,isSecondary:"mobile"!==this.state.device,onClick:function(e){return p(0,"device","mobile")}}))),React.createElement(m.RangeControl,{value:n.columns[this.state.device],onChange:function(t){return function(e,t,r){var a=ur({},n.columns);a[t]=e,o(pr({},"columns",a))}(t,e.state.device)},min:0,step:1,max:6}),React.createElement(m.ToggleControl,{label:Object(f.__)("No Gutters","woolentor"),checked:n.noGutter,help:n.noGutter?Object(f.__)("Enable No Gutters.","woolentor"):Object(f.__)("Toggle to show the Gutters.","woolentor"),onChange:function(){return o({noGutter:!n.noGutter})}}),!n.noGutter&&React.createElement(m.RangeControl,{label:Object(f.__)("Gutter Spacing","woolentor"),value:n.itemSpace,onChange:function(e){return o({itemSpace:e})},min:0,step:1,max:200}),React.createElement(m.RangeControl,{label:Object(f.__)("Margin Bottom","woolentor"),value:n.itemMarginBottom,onChange:function(e){return o({itemMarginBottom:e})},min:0,step:1,max:1e3})),React.createElement(m.PanelBody,{title:Object(f.__)("Query Options","woolentor"),initialOpen:!1},React.createElement(m.SelectControl,{label:Object(f.__)("Filter By","woolentor"),value:r,options:[{label:Object(f.__)("Recent Products","woolentor"),value:"recent"},{label:Object(f.__)("Featured Products","woolentor"),value:"featured"},{label:Object(f.__)("Best Selling Products","woolentor"),value:"best_selling"},{label:Object(f.__)("Sale Products","woolentor"),value:"sale"},{label:Object(f.__)("Top Rated Products","woolentor"),value:"top_rated"},{label:Object(f.__)("Mixed order Products","woolentor"),value:"mixed_order"}],onChange:function(e){return o({productFilterType:e})}}),React.createElement(m.RangeControl,{label:Object(f.__)("Number Of Products","woolentor"),value:a,onChange:function(e){return o({perPage:e})},min:1,step:1,max:1e3}),React.createElement(m.ToggleControl,{label:Object(f.__)("Custom Order","woolentor"),checked:l,help:l?Object(f.__)("Enable custom order.","woolentor"):Object(f.__)("Toggle to show the custom order.","woolentor"),onChange:function(){return o({customOrder:!l})}}),React.createElement(A,{title:Object(f.__)("Product Categories","woolentor"),attributesKey:"selectedCategories",setAttributes:o,selectedTaxonomies:s,type:"multiple"}),l?React.createElement(React.Fragment,null,React.createElement(m.SelectControl,{label:Object(f.__)("Order","woolentor"),value:c,options:[{label:Object(f.__)("Descending","woolentor"),value:"DESC"},{label:Object(f.__)("Ascending","woolentor"),value:"ASC"}],onChange:function(e){return o({order:e})}}),React.createElement(m.SelectControl,{label:Object(f.__)("Orderby","woolentor"),value:i,options:[{label:Object(f.__)("None","woolentor"),value:"none"},{label:Object(f.__)("ID","woolentor"),value:"ID"},{label:Object(f.__)("Date","woolentor"),value:"date"},{label:Object(f.__)("Name","woolentor"),value:"name"},{label:Object(f.__)("Title","woolentor"),value:"title"},{label:Object(f.__)("Comment count","woolentor"),value:"comment_count"},{label:Object(f.__)("Random","woolentor"),value:"rand"}],onChange:function(e){return o({orderBy:e})}})):""),React.createElement(m.PanelBody,{title:Object(f.__)("Content Settings","woolentor"),initialOpen:!1},React.createElement(m.RangeControl,{label:Object(f.__)("Content Limit","woolentor"),value:n.contentLimit,onChange:function(e){return o({contentLimit:e})},min:1,step:1,max:1e3}),React.createElement(m.ToggleControl,{label:Object(f.__)("Show Title","woolentor"),checked:n.showTitle,help:n.showTitle?Object(f.__)("Enable Title.","woolentor"):Object(f.__)("Toggle to show the title.","woolentor"),onChange:function(){return o({showTitle:!n.showTitle})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Show Price","woolentor"),checked:n.showPrice,help:n.showPrice?Object(f.__)("Enable Price.","woolentor"):Object(f.__)("Toggle to show the price.","woolentor"),onChange:function(){return o({showPrice:!n.showPrice})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Show Content","woolentor"),checked:n.showContent,help:n.showContent?Object(f.__)("Enable Content.","woolentor"):Object(f.__)("Toggle to show the content.","woolentor"),onChange:function(){return o({showContent:!n.showContent})}}),React.createElement(m.ToggleControl,{label:Object(f.__)("Show Rating","woolentor"),checked:n.showRating,help:n.showRating?Object(f.__)("Enable Rating.","woolentor"):Object(f.__)("Toggle to show the rating.","woolentor"),onChange:function(){return o({showRating:!n.showRating})}}))),"styles"===this.state.activeTab&&React.createElement(React.Fragment,null,React.createElement(m.PanelBody,{title:Object(f.__)("Item","woolentor"),initialOpen:!1},React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.itemAreaBGColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.itemAreaBGColor,onChange:function(e){return o({itemAreaBGColor:e})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Title","woolentor"),initialOpen:!1},React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:n.titleSize,fallbackFontSize:n.titleSize,onChange:function(e){return o({titleSize:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.titleMargin,attributesKey:"titleMargin",setAttributes:o}),React.createElement(m.ButtonGroup,{className:"woolentor-tabs-menu-btn-group"},React.createElement(m.Button,{className:"normal"===this.state.titleTab?"woolentor-elements-tab-menu-item tab-menu-active":"woolentor-elements-tab-menu-item",value:"normal",isPrimary:"normal"===this.state.activeTab,isSecondary:"normal"!==this.state.activeTab,onClick:function(e){return p(0,"titleTab","normal")}},Object(f.__)("Normal","woolentor")),React.createElement(m.Button,{className:"hover"===this.state.titleTab?"woolentor-elements-tab-menu-item tab-menu-active":"woolentor-elements-tab-menu-item",value:"hover",isPrimary:"hover"===this.state.activeTab,isSecondary:"hover"!==this.state.activeTab,onClick:function(e){return p(0,"titleTab","hover")}},Object(f.__)("Hover","woolentor"))),"normal"===this.state.titleTab&&React.createElement("div",{className:"woolentor-element-tab-content"},React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.titleColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.titleColor,onChange:function(e){return o({titleColor:e})}})),"hover"===this.state.titleTab&&React.createElement("div",{className:"woolentor-element-tab-content"},React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.titleHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.titleHoverColor,onChange:function(e){return o({titleHoverColor:e})}}))),React.createElement(m.PanelBody,{title:Object(f.__)("Price","woolentor"),initialOpen:!1},React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Sale Price","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.salePriceColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.salePriceColor,onChange:function(e){return o({salePriceColor:e})}}),React.createElement("h2",{className:"woolentor-blocks-section-title"},Object(f.__)("Reguler Price","woolentor")),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.regulerPriceColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.regulerPriceColor,onChange:function(e){return o({regulerPriceColor:e})}})),React.createElement(m.PanelBody,{title:Object(f.__)("Content","woolentor"),initialOpen:!1},React.createElement(m.FontSizePicker,{fontSizes:[{name:Object(f.__)("Small","woolentor"),slug:"small",size:"12px"},{name:Object(f.__)("Medium","woolentor"),slug:"medium",size:"18px"},{name:Object(f.__)("Large","woolentor"),slug:"large",size:"24px"}],value:n.contentSize,fallbackFontSize:n.contentSize,onChange:function(e){return o({contentSize:e})}}),React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.cotentColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.cotentColor,onChange:function(e){return o({cotentColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.contentMargin,attributesKey:"contentMargin",setAttributes:o})),React.createElement(m.PanelBody,{title:Object(f.__)("Rating","woolentor"),initialOpen:!1},React.createElement("h3",null,Object(f.__)("Empty Rating Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.emptyRatingColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.emptyRatingColor,onChange:function(e){return o({emptyRatingColor:e})}}),React.createElement("h3",null,Object(f.__)("Rating Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.ratingColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.ratingColor,onChange:function(e){return o({ratingColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.ratingMargin,attributesKey:"ratingMargin",setAttributes:o})),React.createElement(m.PanelBody,{title:Object(f.__)("Action Button","woolentor"),initialOpen:!1},React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.actionBtnAreaBGColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.actionBtnAreaBGColor,onChange:function(e){return o({actionBtnAreaBGColor:e})}}),React.createElement(m.ButtonGroup,{className:"woolentor-tabs-menu-btn-group"},React.createElement(m.Button,{className:"normal"===this.state.actionBtnTab?"woolentor-elements-tab-menu-item tab-menu-active":"woolentor-elements-tab-menu-item",value:"normal",isPrimary:"normal"===this.state.actionBtnTab,isSecondary:"normal"!==this.state.actionBtnTab,onClick:function(e){return p(0,"actionBtnTab","normal")}},Object(f.__)("Normal","woolentor")),React.createElement(m.Button,{className:"hover"===this.state.actionBtnTab?"woolentor-elements-tab-menu-item tab-menu-active":"woolentor-elements-tab-menu-item",value:"hover",isPrimary:"hover"===this.state.actionBtnTab,isSecondary:"hover"!==this.state.actionBtnTab,onClick:function(e){return p(0,"actionBtnTab","hover")}},Object(f.__)("Hover","woolentor"))),"normal"===this.state.actionBtnTab&&React.createElement("div",{className:"woolentor-element-tab-content"},React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.actionBtnColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.actionBtnColor,onChange:function(e){return o({actionBtnColor:e})}}),React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.actionBtnBGColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.actionBtnBGColor,onChange:function(e){return o({actionBtnBGColor:e})}}),React.createElement(tt,{lavel:Object(f.__)("Border Radius","woolentor"),dimensions:n.actionBtnBorderRadius,attributesKey:"actionBtnBorderRadius",setAttributes:o})),"hover"===this.state.actionBtnTab&&React.createElement("div",{className:"woolentor-element-tab-content"},React.createElement("h3",null,Object(f.__)("Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.actionBtnHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.actionBtnHoverColor,onChange:function(e){return o({actionBtnHoverColor:e})}}),React.createElement("h3",null,Object(f.__)("Background Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.actionBtnBgHoverColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.actionBtnBgHoverColor,onChange:function(e){return o({actionBtnBgHoverColor:e})}}))),React.createElement(m.PanelBody,{title:Object(f.__)("Image","woolentor"),initialOpen:!1},React.createElement("h3",null,Object(f.__)("Border Color","woolentor"),React.createElement("span",{style:ur(ur({},u),{},{backgroundColor:n.imageBorderColor})})),React.createElement(m.ColorPalette,{colors:[{name:"Black",color:"#000000"},{name:"Orange",color:"#FF6900"},{name:"Vivid Red",color:"#CF2E2E"},{name:"Pink",color:"#F78DA7"},{name:"White",color:"#FFFFFF"},{name:"Blue",color:"#8ED1FC"}],value:n.imageBorderColor,onChange:function(e){return o({imageBorderColor:e})}}))),"advanced"===this.state.activeTab&&React.createElement(React.Fragment,null,React.createElement(m.PanelBody,{title:Object(f.__)("Dimension","woolentor"),initialOpen:!1},React.createElement(tt,{lavel:Object(f.__)("Margin","woolentor"),dimensions:n.areaMargin,attributesKey:"areaMargin",setAttributes:o}),React.createElement(tt,{lavel:Object(f.__)("Padding","woolentor"),dimensions:n.areaPadding,attributesKey:"areaPadding",setAttributes:o})),React.createElement(m.PanelBody,{title:Object(f.__)("Background","woolentor"),initialOpen:!1},React.createElement(Mt,{title:Object(f.__)("Background Image","woolentor"),attributesKey:"areaBGProperty",setAttributes:o,bgProperty:n.areaBGProperty}))))))}}])&&dr(t.prototype,n),l}(y.Component);function wr(e){return(wr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Or(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function _r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cr(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Er(e,t){return(Er=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rr(e,t){if(t&&("object"===wr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function jr(e){return(jr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var kr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Er(e,t)}(l,e);var t,n,o,r,a=(o=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=jr(o);if(r){var n=jr(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Rr(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={productData:[]},t}return t=l,(n=[{key:"componentDidMount",value:function(){this.fetchProductsData()}},{key:"componentDidUpdate",value:function(e){var t=this.props.attributes,n=t.perPage,o=t.productFilterType,r=t.customOrder,a=this.props.attributes.orderBy,l=this.props.attributes.order,i=this.props.attributes.selectedCategories;e.attributes.perPage==n&&e.attributes.productFilterType==o&&e.attributes.customOrder==r&&e.attributes.orderBy==a&&e.attributes.order==l&&e.attributes.selectedCategories==i||this.fetchProductsData()}},{key:"componentWillUnmount",value:function(){}},{key:"fetchProductsData",value:function(){var e=this,t={perPage:this.props.attributes.perPage,filterBy:this.props.attributes.productFilterType,wpnonce:woolentorData.security};1==this.props.attributes.customOrder&&(t.orderBy=this.props.attributes.orderBy,t.order=this.props.attributes.order),this.props.attributes.selectedCategories.length>0&&(t.categories=this.props.attributes.selectedCategories);var n=Object(Y.addQueryArgs)("/woolentor/v1/products",t);K()({path:n}).then((function(t){return e.setState({productData:t})}))}},{key:"render",value:function(){var e=this.props,t=(e.name,e.attributes),n=e.className,o=e.isSelected,r=e.setAttributes,a=e.clientId,l=t.blockUniqId,i=t.areaBGProperty;a!==l&&r({blockUniqId:a});var c,s=function(e){var n=t[e]?t[e]:{},o="";if(""!=n.top||""!=n.right||""!=n.bottom||""!=n.left){var r=n.unit?n.unit:"px";o=n.top?o+n.top+r+" ":"0"+r+" ",o=n.right?o+n.right+r+" ":"0"+r+" ",o=n.bottom?o+n.bottom+r+" ":"0"+r+" ",o=n.left?o+n.left+r+" ":"0"+r+" "}return o},u=V()("woocommerce","woolentor-product-curvy",_r({},"woolentor-columns-".concat(t.columns.desktop),t.columns.desktop),_r({},"woolentor-laptop-columns-".concat(t.columns.laptop),t.columns.laptop),_r({},"woolentor-tablet-columns-".concat(t.columns.tablet),t.columns.tablet),_r({},"woolentor-mobile-columns-".concat(t.columns.mobile),t.columns.mobile)),p=V()(_r({},"woolentor-col-".concat(t.columns.desktop),t.columns.desktop)),d=V()("wl_single-product-item",_r({},"wl_left-item",2==t.layout),_r({},"wl_dark-item",3==t.layout)),f=Z.a.div(gr||(gr=Or(["\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t\t",";\n\t\t"])),t.areaMargin&&"margin:"+s("areaMargin"),t.areaPadding&&"padding:"+s("areaPadding"),i.imageUrl&&"background-image:url("+i.imageUrl+")",i.position&&"background-position:"+i.position,i.attachment&&"background-attachment:"+i.attachment,i.repeat&&"background-repeat:"+i.repeat,i.size&&"background-size:"+i.size),b=Z.a.div(hr||(hr=Or(["\n\t\t\t"," !important;\n\t\t\t","\n\t\t"])),!t.noGutter&&"padding: 0 "+t.itemSpace+"px 0 "+t.itemSpace+"px",t.itemMarginBottom&&"margin-bottom:"+t.itemMarginBottom+"px;"),g=Z.a.div(yr||(yr=Or(["\n\t\t\t",";\n\n\t\t\t&.wl_dark-item .product-content{\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& .product-content .product-content-top .title{\n\t\t\t\t"," !important;\n\t\t\t\t"," !important;\n\t\t\t}\n\t\t\t& .product-content .product-content-top .title a{\n\t\t\t\t"," !important;\n\t\t\t}\n\t\t\t& .product-content .product-content-top .title a:hover{\n\t\t\t\t"," !important;\n\t\t\t}\n\n\t\t\t& .product-content .product-content-top .product-price{\n\t\t\t\t"," !important;\n\t\t\t}\n\n\t\t\t& .product-content .product-content-top .product-price del{\n\t\t\t\t"," !important;\n\t\t\t}\n\n\t\t\t& .product-content .product-content-top p{\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& .product-content .product-content-top .star-rating{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-content .product-content-top .star-rating::before{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-content .product-content-top .star-rating span{\n\t\t\t\t",";\n\t\t\t}\n\t\t\t& .product-content .product-content-top .star-rating {\n\t\t\t\t",";\n\t\t\t}\n\n\t\t\t& .product-content .action{\n\t\t\t\t","\n\t\t\t}\n\t\t\t& .product-content .action li a, .product-content .action li .woolentor-compare.compare::before{\n\t\t\t\t","\n\t\t\t}\n\t\t\t& .product-content .action li a{\n\t\t\t\t","\n\t\t\t\t","\n\t\t\t}\n\n\t\t\t& .product-content .action li a:hover, .product-content .action li .woolentor-compare.compare:hover::before{\n\t\t\t\t","\n\t\t\t}\n\t\t\t& .product-content .action li a:hover{\n\t\t\t\t","\n\t\t\t}\n\t\t\t& .product-thumbnail{\n\t\t\t\t","\n\t\t\t}\n\t\t\n\t\t"])),t.itemAreaBGColor&&"background-color:"+t.itemAreaBGColor,t.itemAreaBGColor&&"background-color:"+t.itemAreaBGColor,t.titleSize&&"font-size:"+t.titleSize,t.titleMargin&&"margin:"+s("titleMargin"),t.titleColor&&"color:"+t.titleColor,t.titleHoverColor&&"color:"+t.titleHoverColor,t.salePriceColor&&"color:"+t.salePriceColor,t.regulerPriceColor&&"color:"+t.regulerPriceColor,t.cotentColor&&"color:"+t.cotentColor,t.contentSize&&"font-size:"+t.contentSize,t.contentMargin&&"margin:"+s("contentMargin"),t.emptyRatingColor&&"color:"+t.emptyRatingColor,t.emptyRatingColor&&"color:"+t.emptyRatingColor,t.ratingColor&&"color:"+t.ratingColor,t.ratingMargin&&"margin:"+s("ratingMargin"),t.actionBtnAreaBGColor&&"background-color:"+t.actionBtnAreaBGColor+"!important;",t.actionBtnColor&&"color:"+t.actionBtnColor+"!important;",t.actionBtnBGColor&&"background-color:"+t.actionBtnBGColor+"!important;",t.actionBtnBorderRadius&&"border-radius:"+s("actionBtnBorderRadius")+"!important;",t.actionBtnHoverColor&&"color:"+t.actionBtnHoverColor+"!important;",t.actionBtnBgHoverColor&&"background-color:"+t.actionBtnBgHoverColor+"!important;",t.imageBorderColor&&"border-color:"+t.imageBorderColor+"!important;"),h=this.state.productData;return h.length>0&&(c=h.map((function(e,n){return React.createElement(b,{className:p},React.createElement(g,{className:d},React.createElement(m.Disabled,null,React.createElement("a",{href:e.permalink,className:"product-thumbnail"},Object(y.createElement)("div",{className:"images",dangerouslySetInnerHTML:{__html:e.image.full.html}}))),React.createElement("div",{className:"product-content"},React.createElement("div",{className:"product-content-top"},!0===t.showTitle&&React.createElement("h6",{className:"title"},React.createElement("a",{href:e.permalink},e.title)),!0===t.showPrice&&Object(y.createElement)("div",{className:"product-price",dangerouslySetInnerHTML:{__html:e.price_html}}),!0===t.showContent&&React.createElement("p",null,e.content.split(" ").slice(0,t.contentLimit).join(" ")),!0===t.showRating&&Object(y.createElement)("div",{className:"reading",dangerouslySetInnerHTML:{__html:e.rating.html}})),React.createElement("ul",{className:"action"},React.createElement("li",{className:"wl_cart"},React.createElement("a",{href:e.addtocart.link,"data-quantity":"1",className:"action-item"+e.addtocart.class,"data-product_id":e.id},React.createElement("i",{class:"fa fa-shopping-cart"}))),e.wishlist.status&&Object(y.createElement)("li",{dangerouslySetInnerHTML:{__html:e.wishlist.html}}),e.compare.status&&Object(y.createElement)("li",{dangerouslySetInnerHTML:{__html:e.compare.html}})))))}))),React.createElement(y.Fragment,null,o&&React.createElement(vr,this.props),React.createElement(f,{className:n},React.createElement("div",{className:u},0==h.length?React.createElement(m.Spinner,null):React.createElement("div",{className:!0===t.noGutter?"woolentor-row wlno-gutters":"woolentor-row"},c))))}}])&&Cr(t.prototype,n),l}(y.Component),Sr=n(21),Pr=React.createElement("svg",{id:"Capa_1","enable-background":"new 0 0 512 512",height:"512",viewBox:"0 0 512 512",width:"512",xmlns:"http://www.w3.org/2000/svg"},React.createElement("g",null,React.createElement("path",{d:"m166.717 225.43c-4.309 0-7.802 3.493-7.802 7.802s3.493 7.802 7.802 7.802 7.803-3.493 7.803-7.802-3.494-7.802-7.803-7.802z"}),React.createElement("path",{d:"m166.717 263.74c-4.309 0-7.802 3.493-7.802 7.803 0 4.309 3.493 7.802 7.802 7.802s7.803-3.493 7.803-7.802c-.001-4.31-3.494-7.803-7.803-7.803z"}),React.createElement("path",{d:"m166.717 302.049c-4.309 0-7.802 3.493-7.802 7.802s3.493 7.802 7.802 7.802 7.803-3.493 7.803-7.802c-.001-4.309-3.494-7.802-7.803-7.802z"}),React.createElement("path",{d:"m302.846 63.778h-90.035l-2.93-21.993c-.497-3.727-3.675-6.51-7.435-6.51h-17.57c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h11.003l2.93 21.993c.003.022.008.043.012.064.003.018.002.036.005.053l7.994 53.55c.549 3.674 3.703 6.393 7.418 6.393h80.614c3.715 0 6.869-2.719 7.418-6.393l7.994-53.55c.322-2.159-.311-4.351-1.736-6.003-1.425-1.654-3.5-2.604-5.682-2.604zm-14.458 53.55h-67.686l-5.755-38.55h79.196z"}),React.createElement("path",{d:"m248.916 165.704c0-12.407-10.094-22.5-22.5-22.5s-22.5 10.093-22.5 22.5 10.094 22.5 22.5 22.5 22.5-10.093 22.5-22.5zm-30 0c0-4.136 3.364-7.5 7.5-7.5s7.5 3.364 7.5 7.5-3.364 7.5-7.5 7.5-7.5-3.364-7.5-7.5z"}),React.createElement("path",{d:"m282.673 143.204c-12.406 0-22.5 10.093-22.5 22.5s10.094 22.5 22.5 22.5 22.5-10.093 22.5-22.5-10.094-22.5-22.5-22.5zm0 30c-4.136 0-7.5-3.364-7.5-7.5s3.364-7.5 7.5-7.5 7.5 3.364 7.5 7.5-3.364 7.5-7.5 7.5z"}),React.createElement("path",{d:"m279.948 225.733h-81.378c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h81.378c4.142 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"}),React.createElement("path",{d:"m279.948 264.042h-81.378c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h81.378c4.142 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"}),React.createElement("path",{d:"m279.948 302.351h-81.378c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h81.378c4.142 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"}),React.createElement("g",null,React.createElement("path",{d:"m484.615 88.534h-84.393v-66.614c0-9.951-8.096-18.047-18.047-18.047h-252.349c-9.951 0-18.048 8.096-18.048 18.047v66.614h-19.645c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h19.646v259.248h-96.779v-246.862c0-6.83 5.557-12.386 12.386-12.386h34.747c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-34.747c-15.101 0-27.386 12.286-27.386 27.386v291.442c0 15.1 12.285 27.385 27.386 27.385h166.31l-8.039 58.38h-24.209c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h189.248c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-24.209l-8.039-58.38h55.225c4.142 0 7.5-3.358 7.5-7.5s-3.358-7.5-7.5-7.5h-346.287c-6.829 0-12.386-5.556-12.386-12.385v-29.58h482v29.58c0 6.829-5.556 12.385-12.385 12.385h-80.942c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h80.942c15.1 0 27.385-12.285 27.385-27.385v-291.442c0-15.1-12.285-27.386-27.385-27.386zm-173.269 404.593h-110.548l8.039-58.38h94.47zm75.208-186.168c-28.917 0-52.443-23.526-52.443-52.443s23.526-52.444 52.443-52.444 52.443 23.526 52.443 52.444-23.526 52.443-52.443 52.443zm-259.776-285.039c0-1.68 1.367-3.047 3.048-3.047h252.349c1.68 0 3.047 1.367 3.047 3.047v165.186c-36.574.715-66.111 30.669-66.111 67.41s29.537 66.695 66.111 67.41v40.61h-258.444zm273.444 340.863v-42.217c30.658-6.335 53.775-33.542 53.775-66.049s-23.118-59.714-53.775-66.05v-84.932h84.393c6.829 0 12.385 5.556 12.385 12.386v246.862z"}),React.createElement("path",{d:"m394.221 246.215c-4.215-1.49-10.156-1.779-12.221-5.464-.154-.191-.159-1.161.199-2.321.211-.685.763-1.893 2.083-2.291 1.891-.57 4.118-.173 6.035.466 2.912.971 6.118-.031 8.046-2.418.044-.054.087-.107.13-.162 3.168-3.921 1.627-9.835-3.085-11.626-.542-.206-1.099-.395-1.671-.567v-2.359c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v2.722c-5.865 2.243-10.182 7.478-11.399 13.944-1.211 6.425.935 12.69 5.601 16.349 4.315 3.385 10.376 5.783 16.283 7.872 2.59.915 3.688 2.655 3.266 5.17-.332 1.975-2.032 5.324-6.3 5.352-4.606.03-5.695-.139-9.043-2.329-3.712-2.427-8.775-1.144-10.826 2.94-1.733 3.451-.383 7.68 2.861 9.774 3.572 2.307 6.456 3.498 9.557 4.088v3.177c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-4.032c6.961-2.626 12.247-8.778 13.543-16.485 1.631-9.702-3.617-18.462-13.059-21.8z"})))),Fr=Sr.name,Ar=Sr.category,Tr=Sr.attributes,Br={title:Object(f.__)("WL : Product Curvy","woolentor"),description:Object(f.__)("Product Curvy.","woolentor"),icon:React.createElement(m.Icon,{icon:Pr}),keywords:[Object(f.__)("WooLentor","woolentor"),Object(f.__)("product","woolentor"),Object(f.__)("curvy","woolentor"),Object(f.__)("woocommerce","woolentor"),Object(f.__)("display product","woolentor")],example:{attributes:{columns:{desktop:"2"},perPage:"2"}},supports:{align:["wide","full"]},attributes:Tr,edit:kr,save:function(){return null}};function xr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function zr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Dr=function(e){if(e){var t=e.name;if(t=t.replace("woolentor/",""),-1!=woolentorData.options.indexOf(t)){var n=e.name,o=e.category,r=e.settings;Object(d.registerBlockType)(n,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xr(Object(n),!0).forEach((function(t){zr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({category:o},r))}}},Mr=function(){[o,r,a,l,i,c,s,u,p].forEach(Dr)};Mr()}]);
|
1 |
+
(()=>{var e={184:(e,t)=>{var o;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var o=arguments[t];if(o){var a=typeof o;if("string"===a||"number"===a)e.push(o);else if(Array.isArray(o)){if(o.length){var l=r.apply(null,o);l&&e.push(l)}}else if("object"===a)if(o.toString===Object.prototype.toString)for(var i in o)n.call(o,i)&&o[i]&&e.push(i);else e.push(o.toString())}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(o=function(){return r}.apply(t,[]))||(e.exports=o)}()},988:(e,t,o)=>{var n=o(755),r=o(665).each;function a(e,t){this.query=e,this.isUnconditional=t,this.handlers=[],this.mql=window.matchMedia(e);var o=this;this.listener=function(e){o.mql=e.currentTarget||e,o.assess()},this.mql.addListener(this.listener)}a.prototype={constuctor:a,addHandler:function(e){var t=new n(e);this.handlers.push(t),this.matches()&&t.on()},removeHandler:function(e){var t=this.handlers;r(t,(function(o,n){if(o.equals(e))return o.destroy(),!t.splice(n,1)}))},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){r(this.handlers,(function(e){e.destroy()})),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var e=this.matches()?"on":"off";r(this.handlers,(function(t){t[e]()}))}},e.exports=a},177:(e,t,o)=>{var n=o(988),r=o(665),a=r.each,l=r.isFunction,i=r.isArray;function c(){if(!window.matchMedia)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!window.matchMedia("only all").matches}c.prototype={constructor:c,register:function(e,t,o){var r=this.queries,c=o&&this.browserIsIncapable;return r[e]||(r[e]=new n(e,c)),l(t)&&(t={match:t}),i(t)||(t=[t]),a(t,(function(t){l(t)&&(t={match:t}),r[e].addHandler(t)})),this},unregister:function(e,t){var o=this.queries[e];return o&&(t?o.removeHandler(t):(o.clear(),delete this.queries[e])),this}},e.exports=c},755:e=>{function t(e){this.options=e,!e.deferSetup&&this.setup()}t.prototype={constructor:t,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},e.exports=t},665:e=>{e.exports={isFunction:function(e){return"function"==typeof e},isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},each:function(e,t){for(var o=0,n=e.length;o<n&&!1!==t(e[o],o);o++);}}},974:(e,t,o)=>{var n=o(177);e.exports=new n},679:(e,t,o)=>{"use strict";var n=o(864),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function c(e){return n.isMemo(e)?l:i[e.$$typeof]||r}i[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[n.Memo]=l;var s=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,m=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,f=Object.prototype;e.exports=function e(t,o,n){if("string"!=typeof o){if(f){var r=p(o);r&&r!==f&&e(t,r,n)}var l=u(o);d&&(l=l.concat(d(o)));for(var i=c(t),b=c(o),g=0;g<l.length;++g){var y=l[g];if(!(a[y]||n&&n[y]||b&&b[y]||i&&i[y])){var h=m(o,y);try{s(t,y,h)}catch(e){}}}}return t}},973:(e,t,o)=>{var n=o(169),r=function(e){var t="",o=Object.keys(e);return o.forEach((function(r,a){var l=e[r];(function(e){return/[height|width]$/.test(e)})(r=n(r))&&"number"==typeof l&&(l+="px"),t+=!0===l?r:!1===l?"not "+r:"("+r+": "+l+")",a<o.length-1&&(t+=" and ")})),t};e.exports=function(e){var t="";return"string"==typeof e?e:e instanceof Array?(e.forEach((function(o,n){t+=r(o),n<e.length-1&&(t+=", ")})),t):r(e)}},296:(e,t,o)=>{var n=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,i=parseInt,c="object"==typeof o.g&&o.g&&o.g.Object===Object&&o.g,s="object"==typeof self&&self&&self.Object===Object&&self,u=c||s||Function("return this")(),d=Object.prototype.toString,m=Math.max,p=Math.min,f=function(){return u.Date.now()};function b(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(b(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=b(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(n,"");var o=a.test(e);return o||l.test(e)?i(e.slice(2),o?2:8):r.test(e)?NaN:+e}e.exports=function(e,t,o){var n,r,a,l,i,c,s=0,u=!1,d=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){var o=n,a=r;return n=r=void 0,s=t,l=e.apply(a,o)}function w(e){return s=e,i=setTimeout(_,t),u?h(e):l}function v(e){var o=e-c;return void 0===c||o>=t||o<0||d&&e-s>=a}function _(){var e=f();if(v(e))return E(e);i=setTimeout(_,function(e){var o=t-(e-c);return d?p(o,a-(e-s)):o}(e))}function E(e){return i=void 0,y&&n?h(e):(n=r=void 0,l)}function R(){var e=f(),o=v(e);if(n=arguments,r=this,c=e,o){if(void 0===i)return w(c);if(d)return i=setTimeout(_,t),h(c)}return void 0===i&&(i=setTimeout(_,t)),l}return t=g(t)||0,b(o)&&(u=!!o.leading,a=(d="maxWait"in o)?m(g(o.maxWait)||0,t):a,y="trailing"in o?!!o.trailing:y),R.cancel=function(){void 0!==i&&clearTimeout(i),s=0,n=c=r=i=void 0},R.flush=function(){return void 0===i?l:E(f())},R}},921:(e,t)=>{"use strict";var o="function"==typeof Symbol&&Symbol.for,n=o?Symbol.for("react.element"):60103,r=o?Symbol.for("react.portal"):60106,a=o?Symbol.for("react.fragment"):60107,l=o?Symbol.for("react.strict_mode"):60108,i=o?Symbol.for("react.profiler"):60114,c=o?Symbol.for("react.provider"):60109,s=o?Symbol.for("react.context"):60110,u=o?Symbol.for("react.async_mode"):60111,d=o?Symbol.for("react.concurrent_mode"):60111,m=o?Symbol.for("react.forward_ref"):60112,p=o?Symbol.for("react.suspense"):60113,f=o?Symbol.for("react.suspense_list"):60120,b=o?Symbol.for("react.memo"):60115,g=o?Symbol.for("react.lazy"):60116,y=o?Symbol.for("react.block"):60121,h=o?Symbol.for("react.fundamental"):60117,w=o?Symbol.for("react.responder"):60118,v=o?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case u:case d:case a:case i:case l:case p:return e;default:switch(e=e&&e.$$typeof){case s:case m:case g:case b:case c:return e;default:return t}}case r:return t}}}function E(e){return _(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=s,t.ContextProvider=c,t.Element=n,t.ForwardRef=m,t.Fragment=a,t.Lazy=g,t.Memo=b,t.Portal=r,t.Profiler=i,t.StrictMode=l,t.Suspense=p,t.isAsyncMode=function(e){return E(e)||_(e)===u},t.isConcurrentMode=E,t.isContextConsumer=function(e){return _(e)===s},t.isContextProvider=function(e){return _(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return _(e)===m},t.isFragment=function(e){return _(e)===a},t.isLazy=function(e){return _(e)===g},t.isMemo=function(e){return _(e)===b},t.isPortal=function(e){return _(e)===r},t.isProfiler=function(e){return _(e)===i},t.isStrictMode=function(e){return _(e)===l},t.isSuspense=function(e){return _(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===i||e===l||e===p||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===b||e.$$typeof===c||e.$$typeof===s||e.$$typeof===m||e.$$typeof===h||e.$$typeof===w||e.$$typeof===v||e.$$typeof===y)},t.typeOf=_},864:(e,t,o)=>{"use strict";e.exports=o(921)},205:(e,t,o)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.PrevArrow=t.NextArrow=void 0;var r=i(o(196)),a=i(o(184)),l=o(518);function i(e){return e&&e.__esModule?e:{default:e}}function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},c.apply(this,arguments)}function s(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function u(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?s(Object(o),!0).forEach((function(t){d(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):s(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function f(e,t,o){return t&&p(e.prototype,t),o&&p(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function b(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=w(e);if(t){var r=w(this).constructor;o=Reflect.construct(n,arguments,r)}else o=n.apply(this,arguments);return h(this,o)}}function h(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function w(e){return w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},w(e)}var v=function(e){b(o,e);var t=y(o);function o(){return m(this,o),t.apply(this,arguments)}return f(o,[{key:"clickHandler",value:function(e,t){t&&t.preventDefault(),this.props.clickHandler(e,t)}},{key:"render",value:function(){var e={"slick-arrow":!0,"slick-prev":!0},t=this.clickHandler.bind(this,{message:"previous"});!this.props.infinite&&(0===this.props.currentSlide||this.props.slideCount<=this.props.slidesToShow)&&(e["slick-disabled"]=!0,t=null);var o={key:"0","data-role":"none",className:(0,a.default)(e),style:{display:"block"},onClick:t},n={currentSlide:this.props.currentSlide,slideCount:this.props.slideCount};return this.props.prevArrow?r.default.cloneElement(this.props.prevArrow,u(u({},o),n)):r.default.createElement("button",c({key:"0",type:"button"},o)," ","Previous")}}]),o}(r.default.PureComponent);t.PrevArrow=v;var _=function(e){b(o,e);var t=y(o);function o(){return m(this,o),t.apply(this,arguments)}return f(o,[{key:"clickHandler",value:function(e,t){t&&t.preventDefault(),this.props.clickHandler(e,t)}},{key:"render",value:function(){var e={"slick-arrow":!0,"slick-next":!0},t=this.clickHandler.bind(this,{message:"next"});(0,l.canGoNext)(this.props)||(e["slick-disabled"]=!0,t=null);var o={key:"1","data-role":"none",className:(0,a.default)(e),style:{display:"block"},onClick:t},n={currentSlide:this.props.currentSlide,slideCount:this.props.slideCount};return this.props.nextArrow?r.default.cloneElement(this.props.nextArrow,u(u({},o),n)):r.default.createElement("button",c({key:"1",type:"button"},o)," ","Next")}}]),o}(r.default.PureComponent);t.NextArrow=_},492:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=o(196))&&n.__esModule?n:{default:n},a={accessibility:!0,adaptiveHeight:!1,afterChange:null,appendDots:function(e){return r.default.createElement("ul",{style:{display:"block"}},e)},arrows:!0,autoplay:!1,autoplaySpeed:3e3,beforeChange:null,centerMode:!1,centerPadding:"50px",className:"",cssEase:"ease",customPaging:function(e){return r.default.createElement("button",null,e+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:null,nextArrow:null,onEdge:null,onInit:null,onLazyLoadError:null,onReInit:null,pauseOnDotsHover:!1,pauseOnFocus:!1,pauseOnHover:!0,prevArrow:null,responsive:null,rows:1,rtl:!1,slide:"div",slidesPerRow:1,slidesToScroll:1,slidesToShow:1,speed:500,swipe:!0,swipeEvent:null,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,waitForAnimate:!0};t.default=a},329:(e,t,o)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.Dots=void 0;var r=i(o(196)),a=i(o(184)),l=o(518);function i(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function s(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function p(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(g,e);var t,o,n,i,b=(n=g,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(n);if(i){var o=f(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return p(this,e)});function g(){return u(this,g),b.apply(this,arguments)}return t=g,o=[{key:"clickHandler",value:function(e,t){t.preventDefault(),this.props.clickHandler(e)}},{key:"render",value:function(){for(var e,t=this.props,o=t.onMouseEnter,n=t.onMouseOver,i=t.onMouseLeave,u=t.infinite,d=t.slidesToScroll,m=t.slidesToShow,p=t.slideCount,f=t.currentSlide,b=(e={slideCount:p,slidesToScroll:d,slidesToShow:m,infinite:u}).infinite?Math.ceil(e.slideCount/e.slidesToScroll):Math.ceil((e.slideCount-e.slidesToShow)/e.slidesToScroll)+1,g={onMouseEnter:o,onMouseOver:n,onMouseLeave:i},y=[],h=0;h<b;h++){var w=(h+1)*d-1,v=u?w:(0,l.clamp)(w,0,p-1),_=v-(d-1),E=u?_:(0,l.clamp)(_,0,p-1),R=(0,a.default)({"slick-active":u?f>=E&&f<=v:f===E}),O={message:"dots",index:h,slidesToScroll:d,currentSlide:f},C=this.clickHandler.bind(this,O);y=y.concat(r.default.createElement("li",{key:h,className:R},r.default.cloneElement(this.props.customPaging(h),{onClick:C})))}return r.default.cloneElement(this.props.appendDots(y),function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?c(Object(o),!0).forEach((function(t){s(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}({className:this.props.dotsClass},g))}}],o&&d(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),g}(r.default.PureComponent);t.Dots=b},66:(e,t,o)=>{"use strict";var n;t.Z=void 0;var r=((n=o(798))&&n.__esModule?n:{default:n}).default;t.Z=r},948:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={animating:!1,autoplaying:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,dragging:!1,edgeDragged:!1,initialized:!1,lazyLoadedList:[],listHeight:null,listWidth:null,scrolling:!1,slideCount:null,slideHeight:null,slideWidth:null,swipeLeft:null,swiped:!1,swiping:!1,touchObject:{startX:0,startY:0,curX:0,curY:0},trackStyle:{},trackWidth:0,targetSlide:0}},517:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InnerSlider=void 0;var n=m(o(196)),r=m(o(948)),a=m(o(296)),l=m(o(184)),i=o(518),c=o(740),s=o(329),u=o(205),d=m(o(33));function m(e){return e&&e.__esModule?e:{default:e}}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},f.apply(this,arguments)}function b(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}function g(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function y(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?g(Object(o),!0).forEach((function(t){R(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):g(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function h(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function w(e,t){return w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},w(e,t)}function v(e,t){if(t&&("object"===p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _(e)}function _(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function R(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var O=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&w(e,t)}(C,e);var t,o,m,g,O=(m=C,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=E(m);if(g){var o=E(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return v(this,e)});function C(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,C),R(_(t=O.call(this,e)),"listRefHandler",(function(e){return t.list=e})),R(_(t),"trackRefHandler",(function(e){return t.track=e})),R(_(t),"adaptHeight",(function(){if(t.props.adaptiveHeight&&t.list){var e=t.list.querySelector('[data-index="'.concat(t.state.currentSlide,'"]'));t.list.style.height=(0,i.getHeight)(e)+"px"}})),R(_(t),"componentDidMount",(function(){if(t.props.onInit&&t.props.onInit(),t.props.lazyLoad){var e=(0,i.getOnDemandLazySlides)(y(y({},t.props),t.state));e.length>0&&(t.setState((function(t){return{lazyLoadedList:t.lazyLoadedList.concat(e)}})),t.props.onLazyLoad&&t.props.onLazyLoad(e))}var o=y({listRef:t.list,trackRef:t.track},t.props);t.updateState(o,!0,(function(){t.adaptHeight(),t.props.autoplay&&t.autoPlay("update")})),"progressive"===t.props.lazyLoad&&(t.lazyLoadTimer=setInterval(t.progressiveLazyLoad,1e3)),t.ro=new d.default((function(){t.state.animating?(t.onWindowResized(!1),t.callbackTimers.push(setTimeout((function(){return t.onWindowResized()}),t.props.speed))):t.onWindowResized()})),t.ro.observe(t.list),document.querySelectorAll&&Array.prototype.forEach.call(document.querySelectorAll(".slick-slide"),(function(e){e.onfocus=t.props.pauseOnFocus?t.onSlideFocus:null,e.onblur=t.props.pauseOnFocus?t.onSlideBlur:null})),window.addEventListener?window.addEventListener("resize",t.onWindowResized):window.attachEvent("onresize",t.onWindowResized)})),R(_(t),"componentWillUnmount",(function(){t.animationEndCallback&&clearTimeout(t.animationEndCallback),t.lazyLoadTimer&&clearInterval(t.lazyLoadTimer),t.callbackTimers.length&&(t.callbackTimers.forEach((function(e){return clearTimeout(e)})),t.callbackTimers=[]),window.addEventListener?window.removeEventListener("resize",t.onWindowResized):window.detachEvent("onresize",t.onWindowResized),t.autoplayTimer&&clearInterval(t.autoplayTimer),t.ro.disconnect()})),R(_(t),"componentDidUpdate",(function(e){if(t.checkImagesLoad(),t.props.onReInit&&t.props.onReInit(),t.props.lazyLoad){var o=(0,i.getOnDemandLazySlides)(y(y({},t.props),t.state));o.length>0&&(t.setState((function(e){return{lazyLoadedList:e.lazyLoadedList.concat(o)}})),t.props.onLazyLoad&&t.props.onLazyLoad(o))}t.adaptHeight();var r=y(y({listRef:t.list,trackRef:t.track},t.props),t.state),a=t.didPropsChange(e);a&&t.updateState(r,a,(function(){t.state.currentSlide>=n.default.Children.count(t.props.children)&&t.changeSlide({message:"index",index:n.default.Children.count(t.props.children)-t.props.slidesToShow,currentSlide:t.state.currentSlide}),t.props.autoplay?t.autoPlay("update"):t.pause("paused")}))})),R(_(t),"onWindowResized",(function(e){t.debouncedResize&&t.debouncedResize.cancel(),t.debouncedResize=(0,a.default)((function(){return t.resizeWindow(e)}),50),t.debouncedResize()})),R(_(t),"resizeWindow",(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],o=Boolean(t.track&&t.track.node);if(o){var n=y(y({listRef:t.list,trackRef:t.track},t.props),t.state);t.updateState(n,e,(function(){t.props.autoplay?t.autoPlay("update"):t.pause("paused")})),t.setState({animating:!1}),clearTimeout(t.animationEndCallback),delete t.animationEndCallback}})),R(_(t),"updateState",(function(e,o,r){var a=(0,i.initializedState)(e);e=y(y(y({},e),a),{},{slideIndex:a.currentSlide});var l=(0,i.getTrackLeft)(e);e=y(y({},e),{},{left:l});var c=(0,i.getTrackCSS)(e);(o||n.default.Children.count(t.props.children)!==n.default.Children.count(e.children))&&(a.trackStyle=c),t.setState(a,r)})),R(_(t),"ssrInit",(function(){if(t.props.variableWidth){var e=0,o=0,r=[],a=(0,i.getPreClones)(y(y(y({},t.props),t.state),{},{slideCount:t.props.children.length})),l=(0,i.getPostClones)(y(y(y({},t.props),t.state),{},{slideCount:t.props.children.length}));t.props.children.forEach((function(t){r.push(t.props.style.width),e+=t.props.style.width}));for(var c=0;c<a;c++)o+=r[r.length-1-c],e+=r[r.length-1-c];for(var s=0;s<l;s++)e+=r[s];for(var u=0;u<t.state.currentSlide;u++)o+=r[u];var d={width:e+"px",left:-o+"px"};if(t.props.centerMode){var m="".concat(r[t.state.currentSlide],"px");d.left="calc(".concat(d.left," + (100% - ").concat(m,") / 2 ) ")}return{trackStyle:d}}var p=n.default.Children.count(t.props.children),f=y(y(y({},t.props),t.state),{},{slideCount:p}),b=(0,i.getPreClones)(f)+(0,i.getPostClones)(f)+p,g=100/t.props.slidesToShow*b,h=100/b,w=-h*((0,i.getPreClones)(f)+t.state.currentSlide)*g/100;return t.props.centerMode&&(w+=(100-h*g/100)/2),{slideWidth:h+"%",trackStyle:{width:g+"%",left:w+"%"}}})),R(_(t),"checkImagesLoad",(function(){var e=t.list&&t.list.querySelectorAll&&t.list.querySelectorAll(".slick-slide img")||[],o=e.length,n=0;Array.prototype.forEach.call(e,(function(e){var r=function(){return++n&&n>=o&&t.onWindowResized()};if(e.onclick){var a=e.onclick;e.onclick=function(){a(),e.parentNode.focus()}}else e.onclick=function(){return e.parentNode.focus()};e.onload||(t.props.lazyLoad?e.onload=function(){t.adaptHeight(),t.callbackTimers.push(setTimeout(t.onWindowResized,t.props.speed))}:(e.onload=r,e.onerror=function(){r(),t.props.onLazyLoadError&&t.props.onLazyLoadError()}))}))})),R(_(t),"progressiveLazyLoad",(function(){for(var e=[],o=y(y({},t.props),t.state),n=t.state.currentSlide;n<t.state.slideCount+(0,i.getPostClones)(o);n++)if(t.state.lazyLoadedList.indexOf(n)<0){e.push(n);break}for(var r=t.state.currentSlide-1;r>=-(0,i.getPreClones)(o);r--)if(t.state.lazyLoadedList.indexOf(r)<0){e.push(r);break}e.length>0?(t.setState((function(t){return{lazyLoadedList:t.lazyLoadedList.concat(e)}})),t.props.onLazyLoad&&t.props.onLazyLoad(e)):t.lazyLoadTimer&&(clearInterval(t.lazyLoadTimer),delete t.lazyLoadTimer)})),R(_(t),"slideHandler",(function(e){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.props,r=n.asNavFor,a=n.beforeChange,l=n.onLazyLoad,c=n.speed,s=n.afterChange,u=t.state.currentSlide,d=(0,i.slideHandler)(y(y(y({index:e},t.props),t.state),{},{trackRef:t.track,useCSS:t.props.useCSS&&!o})),m=d.state,p=d.nextState;if(m){a&&a(u,m.currentSlide);var f=m.lazyLoadedList.filter((function(e){return t.state.lazyLoadedList.indexOf(e)<0}));l&&f.length>0&&l(f),!t.props.waitForAnimate&&t.animationEndCallback&&(clearTimeout(t.animationEndCallback),s&&s(u),delete t.animationEndCallback),t.setState(m,(function(){r&&t.asNavForIndex!==e&&(t.asNavForIndex=e,r.innerSlider.slideHandler(e)),p&&(t.animationEndCallback=setTimeout((function(){var e=p.animating,o=b(p,["animating"]);t.setState(o,(function(){t.callbackTimers.push(setTimeout((function(){return t.setState({animating:e})}),10)),s&&s(m.currentSlide),delete t.animationEndCallback}))}),c))}))}})),R(_(t),"changeSlide",(function(e){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=y(y({},t.props),t.state),r=(0,i.changeSlide)(n,e);if((0===r||r)&&(!0===o?t.slideHandler(r,o):t.slideHandler(r),t.props.autoplay&&t.autoPlay("update"),t.props.focusOnSelect)){var a=t.list.querySelectorAll(".slick-current");a[0]&&a[0].focus()}})),R(_(t),"clickHandler",(function(e){!1===t.clickable&&(e.stopPropagation(),e.preventDefault()),t.clickable=!0})),R(_(t),"keyHandler",(function(e){var o=(0,i.keyHandler)(e,t.props.accessibility,t.props.rtl);""!==o&&t.changeSlide({message:o})})),R(_(t),"selectHandler",(function(e){t.changeSlide(e)})),R(_(t),"disableBodyScroll",(function(){window.ontouchmove=function(e){(e=e||window.event).preventDefault&&e.preventDefault(),e.returnValue=!1}})),R(_(t),"enableBodyScroll",(function(){window.ontouchmove=null})),R(_(t),"swipeStart",(function(e){t.props.verticalSwiping&&t.disableBodyScroll();var o=(0,i.swipeStart)(e,t.props.swipe,t.props.draggable);""!==o&&t.setState(o)})),R(_(t),"swipeMove",(function(e){var o=(0,i.swipeMove)(e,y(y(y({},t.props),t.state),{},{trackRef:t.track,listRef:t.list,slideIndex:t.state.currentSlide}));o&&(o.swiping&&(t.clickable=!1),t.setState(o))})),R(_(t),"swipeEnd",(function(e){var o=(0,i.swipeEnd)(e,y(y(y({},t.props),t.state),{},{trackRef:t.track,listRef:t.list,slideIndex:t.state.currentSlide}));if(o){var n=o.triggerSlideHandler;delete o.triggerSlideHandler,t.setState(o),void 0!==n&&(t.slideHandler(n),t.props.verticalSwiping&&t.enableBodyScroll())}})),R(_(t),"touchEnd",(function(e){t.swipeEnd(e),t.clickable=!0})),R(_(t),"slickPrev",(function(){t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"previous"})}),0))})),R(_(t),"slickNext",(function(){t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"next"})}),0))})),R(_(t),"slickGoTo",(function(e){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e=Number(e),isNaN(e))return"";t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"index",index:e,currentSlide:t.state.currentSlide},o)}),0))})),R(_(t),"play",(function(){var e;if(t.props.rtl)e=t.state.currentSlide-t.props.slidesToScroll;else{if(!(0,i.canGoNext)(y(y({},t.props),t.state)))return!1;e=t.state.currentSlide+t.props.slidesToScroll}t.slideHandler(e)})),R(_(t),"autoPlay",(function(e){t.autoplayTimer&&clearInterval(t.autoplayTimer);var o=t.state.autoplaying;if("update"===e){if("hovered"===o||"focused"===o||"paused"===o)return}else if("leave"===e){if("paused"===o||"focused"===o)return}else if("blur"===e&&("paused"===o||"hovered"===o))return;t.autoplayTimer=setInterval(t.play,t.props.autoplaySpeed+50),t.setState({autoplaying:"playing"})})),R(_(t),"pause",(function(e){t.autoplayTimer&&(clearInterval(t.autoplayTimer),t.autoplayTimer=null);var o=t.state.autoplaying;"paused"===e?t.setState({autoplaying:"paused"}):"focused"===e?"hovered"!==o&&"playing"!==o||t.setState({autoplaying:"focused"}):"playing"===o&&t.setState({autoplaying:"hovered"})})),R(_(t),"onDotsOver",(function(){return t.props.autoplay&&t.pause("hovered")})),R(_(t),"onDotsLeave",(function(){return t.props.autoplay&&"hovered"===t.state.autoplaying&&t.autoPlay("leave")})),R(_(t),"onTrackOver",(function(){return t.props.autoplay&&t.pause("hovered")})),R(_(t),"onTrackLeave",(function(){return t.props.autoplay&&"hovered"===t.state.autoplaying&&t.autoPlay("leave")})),R(_(t),"onSlideFocus",(function(){return t.props.autoplay&&t.pause("focused")})),R(_(t),"onSlideBlur",(function(){return t.props.autoplay&&"focused"===t.state.autoplaying&&t.autoPlay("blur")})),R(_(t),"render",(function(){var e,o,r,a=(0,l.default)("slick-slider",t.props.className,{"slick-vertical":t.props.vertical,"slick-initialized":!0}),d=y(y({},t.props),t.state),m=(0,i.extractObject)(d,["fade","cssEase","speed","infinite","centerMode","focusOnSelect","currentSlide","lazyLoad","lazyLoadedList","rtl","slideWidth","slideHeight","listHeight","vertical","slidesToShow","slidesToScroll","slideCount","trackStyle","variableWidth","unslick","centerPadding","targetSlide","useCSS"]),p=t.props.pauseOnHover;if(m=y(y({},m),{},{onMouseEnter:p?t.onTrackOver:null,onMouseLeave:p?t.onTrackLeave:null,onMouseOver:p?t.onTrackOver:null,focusOnSelect:t.props.focusOnSelect&&t.clickable?t.selectHandler:null}),!0===t.props.dots&&t.state.slideCount>=t.props.slidesToShow){var b=(0,i.extractObject)(d,["dotsClass","slideCount","slidesToShow","currentSlide","slidesToScroll","clickHandler","children","customPaging","infinite","appendDots"]),g=t.props.pauseOnDotsHover;b=y(y({},b),{},{clickHandler:t.changeSlide,onMouseEnter:g?t.onDotsLeave:null,onMouseOver:g?t.onDotsOver:null,onMouseLeave:g?t.onDotsLeave:null}),e=n.default.createElement(s.Dots,b)}var h=(0,i.extractObject)(d,["infinite","centerMode","currentSlide","slideCount","slidesToShow","prevArrow","nextArrow"]);h.clickHandler=t.changeSlide,t.props.arrows&&(o=n.default.createElement(u.PrevArrow,h),r=n.default.createElement(u.NextArrow,h));var w=null;t.props.vertical&&(w={height:t.state.listHeight});var v=null;!1===t.props.vertical?!0===t.props.centerMode&&(v={padding:"0px "+t.props.centerPadding}):!0===t.props.centerMode&&(v={padding:t.props.centerPadding+" 0px"});var _=y(y({},w),v),E=t.props.touchMove,R={className:"slick-list",style:_,onClick:t.clickHandler,onMouseDown:E?t.swipeStart:null,onMouseMove:t.state.dragging&&E?t.swipeMove:null,onMouseUp:E?t.swipeEnd:null,onMouseLeave:t.state.dragging&&E?t.swipeEnd:null,onTouchStart:E?t.swipeStart:null,onTouchMove:t.state.dragging&&E?t.swipeMove:null,onTouchEnd:E?t.touchEnd:null,onTouchCancel:t.state.dragging&&E?t.swipeEnd:null,onKeyDown:t.props.accessibility?t.keyHandler:null},O={className:a,dir:"ltr",style:t.props.style};return t.props.unslick&&(R={className:"slick-list"},O={className:a}),n.default.createElement("div",O,t.props.unslick?"":o,n.default.createElement("div",f({ref:t.listRefHandler},R),n.default.createElement(c.Track,f({ref:t.trackRefHandler},m),t.props.children)),t.props.unslick?"":r,t.props.unslick?"":e)})),t.list=null,t.track=null,t.state=y(y({},r.default),{},{currentSlide:t.props.initialSlide,slideCount:n.default.Children.count(t.props.children)}),t.callbackTimers=[],t.clickable=!0,t.debouncedResize=null;var o=t.ssrInit();return t.state=y(y({},t.state),o),t}return t=C,(o=[{key:"didPropsChange",value:function(e){for(var t=!1,o=0,r=Object.keys(this.props);o<r.length;o++){var a=r[o];if(!e.hasOwnProperty(a)){t=!0;break}if("object"!==p(e[a])&&"function"!=typeof e[a]&&e[a]!==this.props[a]){t=!0;break}}return t||n.default.Children.count(this.props.children)!==n.default.Children.count(e.children)}}])&&h(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),C}(n.default.Component);t.InnerSlider=O},798:(e,t,o)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(o(196)),a=o(517),l=s(o(973)),i=s(o(492)),c=o(518);function s(e){return e&&e.__esModule?e:{default:e}}function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},u.apply(this,arguments)}function d(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function m(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?d(Object(o),!0).forEach((function(t){h(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):d(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function p(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function b(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function h(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var w=(0,c.canUseDOM)()&&o(974),v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(v,e);var t,o,n,s,d=(n=v,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=y(n);if(s){var o=y(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return b(this,e)});function v(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,v),h(g(t=d.call(this,e)),"innerSliderRefHandler",(function(e){return t.innerSlider=e})),h(g(t),"slickPrev",(function(){return t.innerSlider.slickPrev()})),h(g(t),"slickNext",(function(){return t.innerSlider.slickNext()})),h(g(t),"slickGoTo",(function(e){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t.innerSlider.slickGoTo(e,o)})),h(g(t),"slickPause",(function(){return t.innerSlider.pause("paused")})),h(g(t),"slickPlay",(function(){return t.innerSlider.autoPlay("play")})),t.state={breakpoint:null},t._responsiveMediaHandlers=[],t}return t=v,(o=[{key:"media",value:function(e,t){w.register(e,t),this._responsiveMediaHandlers.push({query:e,handler:t})}},{key:"componentDidMount",value:function(){var e=this;if(this.props.responsive){var t=this.props.responsive.map((function(e){return e.breakpoint}));t.sort((function(e,t){return e-t})),t.forEach((function(o,n){var r;r=0===n?(0,l.default)({minWidth:0,maxWidth:o}):(0,l.default)({minWidth:t[n-1]+1,maxWidth:o}),(0,c.canUseDOM)()&&e.media(r,(function(){e.setState({breakpoint:o})}))}));var o=(0,l.default)({minWidth:t.slice(-1)[0]});(0,c.canUseDOM)()&&this.media(o,(function(){e.setState({breakpoint:null})}))}}},{key:"componentWillUnmount",value:function(){this._responsiveMediaHandlers.forEach((function(e){w.unregister(e.query,e.handler)}))}},{key:"render",value:function(){var e,t,o=this;(e=this.state.breakpoint?"unslick"===(t=this.props.responsive.filter((function(e){return e.breakpoint===o.state.breakpoint})))[0].settings?"unslick":m(m(m({},i.default),this.props),t[0].settings):m(m({},i.default),this.props)).centerMode&&(e.slidesToScroll,e.slidesToScroll=1),e.fade&&(e.slidesToShow,e.slidesToScroll,e.slidesToShow=1,e.slidesToScroll=1);var n=r.default.Children.toArray(this.props.children);n=n.filter((function(e){return"string"==typeof e?!!e.trim():!!e})),e.variableWidth&&(e.rows>1||e.slidesPerRow>1)&&(console.warn("variableWidth is not supported in case of rows > 1 or slidesPerRow > 1"),e.variableWidth=!1);for(var l=[],c=null,s=0;s<n.length;s+=e.rows*e.slidesPerRow){for(var d=[],p=s;p<s+e.rows*e.slidesPerRow;p+=e.slidesPerRow){for(var f=[],b=p;b<p+e.slidesPerRow&&(e.variableWidth&&n[b].props.style&&(c=n[b].props.style.width),!(b>=n.length));b+=1)f.push(r.default.cloneElement(n[b],{key:100*s+10*p+b,tabIndex:-1,style:{width:"".concat(100/e.slidesPerRow,"%"),display:"inline-block"}}));d.push(r.default.createElement("div",{key:10*s+p},f))}e.variableWidth?l.push(r.default.createElement("div",{key:s,style:{width:c}},d)):l.push(r.default.createElement("div",{key:s},d))}if("unslick"===e){var g="regular slider "+(this.props.className||"");return r.default.createElement("div",{className:g},n)}return l.length<=e.slidesToShow&&(e.unslick=!0),r.default.createElement(a.InnerSlider,u({style:this.props.style,ref:this.innerSliderRefHandler},e),l)}}])&&p(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),v}(r.default.Component);t.default=v},740:(e,t,o)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.Track=void 0;var r=i(o(196)),a=i(o(184)),l=o(518);function i(e){return e&&e.__esModule?e:{default:e}}function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},c.apply(this,arguments)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t){return d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},d(e,t)}function m(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return p(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function b(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function g(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?b(Object(o),!0).forEach((function(t){y(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):b(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function y(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var h=function(e){var t,o,n,r,a;return n=(a=e.rtl?e.slideCount-1-e.index:e.index)<0||a>=e.slideCount,e.centerMode?(r=Math.floor(e.slidesToShow/2),o=(a-e.currentSlide)%e.slideCount==0,a>e.currentSlide-r-1&&a<=e.currentSlide+r&&(t=!0)):t=e.currentSlide<=a&&a<e.currentSlide+e.slidesToShow,{"slick-slide":!0,"slick-active":t,"slick-center":o,"slick-cloned":n,"slick-current":a===(e.targetSlide<0?e.targetSlide+e.slideCount:e.targetSlide>=e.slideCount?e.targetSlide-e.slideCount:e.targetSlide)}},w=function(e,t){return e.key||t},v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(v,e);var t,o,n,i,b=(n=v,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(n);if(i){var o=f(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return m(this,e)});function v(){var e;s(this,v);for(var t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];return y(p(e=b.call.apply(b,[this].concat(o))),"node",null),y(p(e),"handleRef",(function(t){e.node=t})),e}return t=v,(o=[{key:"render",value:function(){var e=function(e){var t,o=[],n=[],i=[],c=r.default.Children.count(e.children),s=(0,l.lazyStartIndex)(e),u=(0,l.lazyEndIndex)(e);return r.default.Children.forEach(e.children,(function(d,m){var p,f={message:"children",index:m,slidesToScroll:e.slidesToScroll,currentSlide:e.currentSlide};p=!e.lazyLoad||e.lazyLoad&&e.lazyLoadedList.indexOf(m)>=0?d:r.default.createElement("div",null);var b=function(e){var t={};return void 0!==e.variableWidth&&!1!==e.variableWidth||(t.width=e.slideWidth),e.fade&&(t.position="relative",e.vertical?t.top=-e.index*parseInt(e.slideHeight):t.left=-e.index*parseInt(e.slideWidth),t.opacity=e.currentSlide===e.index?1:0,e.useCSS&&(t.transition="opacity "+e.speed+"ms "+e.cssEase+", visibility "+e.speed+"ms "+e.cssEase)),t}(g(g({},e),{},{index:m})),y=p.props.className||"",v=h(g(g({},e),{},{index:m}));if(o.push(r.default.cloneElement(p,{key:"original"+w(p,m),"data-index":m,className:(0,a.default)(v,y),tabIndex:"-1","aria-hidden":!v["slick-active"],style:g(g({outline:"none"},p.props.style||{}),b),onClick:function(t){p.props&&p.props.onClick&&p.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(f)}})),e.infinite&&!1===e.fade){var _=c-m;_<=(0,l.getPreClones)(e)&&c!==e.slidesToShow&&((t=-_)>=s&&(p=d),v=h(g(g({},e),{},{index:t})),n.push(r.default.cloneElement(p,{key:"precloned"+w(p,t),"data-index":t,tabIndex:"-1",className:(0,a.default)(v,y),"aria-hidden":!v["slick-active"],style:g(g({},p.props.style||{}),b),onClick:function(t){p.props&&p.props.onClick&&p.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(f)}}))),c!==e.slidesToShow&&((t=c+m)<u&&(p=d),v=h(g(g({},e),{},{index:t})),i.push(r.default.cloneElement(p,{key:"postcloned"+w(p,t),"data-index":t,tabIndex:"-1",className:(0,a.default)(v,y),"aria-hidden":!v["slick-active"],style:g(g({},p.props.style||{}),b),onClick:function(t){p.props&&p.props.onClick&&p.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(f)}})))}})),e.rtl?n.concat(o,i).reverse():n.concat(o,i)}(this.props),t=this.props,o={onMouseEnter:t.onMouseEnter,onMouseOver:t.onMouseOver,onMouseLeave:t.onMouseLeave};return r.default.createElement("div",c({ref:this.handleRef,className:"slick-track",style:this.props.trackStyle},o),e)}}])&&u(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),v}(r.default.PureComponent);t.Track=v},518:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkSpecKeys=t.checkNavigable=t.changeSlide=t.canUseDOM=t.canGoNext=void 0,t.clamp=c,t.swipeStart=t.swipeMove=t.swipeEnd=t.slidesOnRight=t.slidesOnLeft=t.slideHandler=t.siblingDirection=t.safePreventDefault=t.lazyStartIndex=t.lazySlidesOnRight=t.lazySlidesOnLeft=t.lazyEndIndex=t.keyHandler=t.initializedState=t.getWidth=t.getTrackLeft=t.getTrackCSS=t.getTrackAnimateCSS=t.getTotalSlides=t.getSwipeDirection=t.getSlideCount=t.getRequiredLazySlides=t.getPreClones=t.getPostClones=t.getOnDemandLazySlides=t.getNavigableIndexes=t.getHeight=t.extractObject=void 0;var n,r=(n=o(196))&&n.__esModule?n:{default:n};function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function l(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){i(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function c(e,t,o){return Math.max(t,Math.min(e,o))}var s=function(e){["onTouchStart","onTouchMove","onWheel"].includes(e._reactName)||e.preventDefault()};t.safePreventDefault=s;var u=function(e){for(var t=[],o=d(e),n=m(e),r=o;r<n;r++)e.lazyLoadedList.indexOf(r)<0&&t.push(r);return t};t.getOnDemandLazySlides=u,t.getRequiredLazySlides=function(e){for(var t=[],o=d(e),n=m(e),r=o;r<n;r++)t.push(r);return t};var d=function(e){return e.currentSlide-p(e)};t.lazyStartIndex=d;var m=function(e){return e.currentSlide+f(e)};t.lazyEndIndex=m;var p=function(e){return e.centerMode?Math.floor(e.slidesToShow/2)+(parseInt(e.centerPadding)>0?1:0):0};t.lazySlidesOnLeft=p;var f=function(e){return e.centerMode?Math.floor((e.slidesToShow-1)/2)+1+(parseInt(e.centerPadding)>0?1:0):e.slidesToShow};t.lazySlidesOnRight=f;var b=function(e){return e&&e.offsetWidth||0};t.getWidth=b;var g=function(e){return e&&e.offsetHeight||0};t.getHeight=g;var y=function(e){var t,o,n,r,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t=e.startX-e.curX,o=e.startY-e.curY,n=Math.atan2(o,t),(r=Math.round(180*n/Math.PI))<0&&(r=360-Math.abs(r)),r<=45&&r>=0||r<=360&&r>=315?"left":r>=135&&r<=225?"right":!0===a?r>=35&&r<=135?"up":"down":"vertical"};t.getSwipeDirection=y;var h=function(e){var t=!0;return e.infinite||(e.centerMode&&e.currentSlide>=e.slideCount-1||e.slideCount<=e.slidesToShow||e.currentSlide>=e.slideCount-e.slidesToShow)&&(t=!1),t};t.canGoNext=h,t.extractObject=function(e,t){var o={};return t.forEach((function(t){return o[t]=e[t]})),o},t.initializedState=function(e){var t,o=r.default.Children.count(e.children),n=e.listRef,a=Math.ceil(b(n)),i=e.trackRef&&e.trackRef.node,c=Math.ceil(b(i));if(e.vertical)t=a;else{var s=e.centerMode&&2*parseInt(e.centerPadding);"string"==typeof e.centerPadding&&"%"===e.centerPadding.slice(-1)&&(s*=a/100),t=Math.ceil((a-s)/e.slidesToShow)}var d=n&&g(n.querySelector('[data-index="0"]')),m=d*e.slidesToShow,p=void 0===e.currentSlide?e.initialSlide:e.currentSlide;e.rtl&&void 0===e.currentSlide&&(p=o-1-e.initialSlide);var f=e.lazyLoadedList||[],y=u(l(l({},e),{},{currentSlide:p,lazyLoadedList:f})),h={slideCount:o,slideWidth:t,listWidth:a,trackWidth:c,currentSlide:p,slideHeight:d,listHeight:m,lazyLoadedList:f=f.concat(y)};return null===e.autoplaying&&e.autoplay&&(h.autoplaying="playing"),h},t.slideHandler=function(e){var t=e.waitForAnimate,o=e.animating,n=e.fade,r=e.infinite,a=e.index,i=e.slideCount,s=e.lazyLoad,d=e.currentSlide,m=e.centerMode,p=e.slidesToScroll,f=e.slidesToShow,b=e.useCSS,g=e.lazyLoadedList;if(t&&o)return{};var y,w,v,_=a,E={},S={},P=r?a:c(a,0,i-1);if(n){if(!r&&(a<0||a>=i))return{};a<0?_=a+i:a>=i&&(_=a-i),s&&g.indexOf(_)<0&&(g=g.concat(_)),E={animating:!0,currentSlide:_,lazyLoadedList:g,targetSlide:_},S={animating:!1,targetSlide:_}}else y=_,_<0?(y=_+i,r?i%p!=0&&(y=i-i%p):y=0):!h(e)&&_>d?_=y=d:m&&_>=i?(_=r?i:i-1,y=r?0:i-1):_>=i&&(y=_-i,r?i%p!=0&&(y=0):y=i-f),!r&&_+f>=i&&(y=i-f),w=C(l(l({},e),{},{slideIndex:_})),v=C(l(l({},e),{},{slideIndex:y})),r||(w===v&&(_=y),w=v),s&&(g=g.concat(u(l(l({},e),{},{currentSlide:_})))),b?(E={animating:!0,currentSlide:y,trackStyle:O(l(l({},e),{},{left:w})),lazyLoadedList:g,targetSlide:P},S={animating:!1,currentSlide:y,trackStyle:R(l(l({},e),{},{left:v})),swipeLeft:null,targetSlide:P}):E={currentSlide:y,trackStyle:R(l(l({},e),{},{left:v})),lazyLoadedList:g,targetSlide:P};return{state:E,nextState:S}},t.changeSlide=function(e,t){var o,n,r,a,i=e.slidesToScroll,c=e.slidesToShow,s=e.slideCount,u=e.currentSlide,d=e.targetSlide,m=e.lazyLoad,p=e.infinite;if(o=s%i!=0?0:(s-u)%i,"previous"===t.message)a=u-(r=0===o?i:c-o),m&&!p&&(a=-1==(n=u-r)?s-1:n),p||(a=d-i);else if("next"===t.message)a=u+(r=0===o?i:o),m&&!p&&(a=(u+i)%s+o),p||(a=d+i);else if("dots"===t.message)a=t.index*t.slidesToScroll;else if("children"===t.message){if(a=t.index,p){var f=k(l(l({},e),{},{targetSlide:a}));a>t.currentSlide&&"left"===f?a-=s:a<t.currentSlide&&"right"===f&&(a+=s)}}else"index"===t.message&&(a=Number(t.index));return a},t.keyHandler=function(e,t,o){return e.target.tagName.match("TEXTAREA|INPUT|SELECT")||!t?"":37===e.keyCode?o?"next":"previous":39===e.keyCode?o?"previous":"next":""},t.swipeStart=function(e,t,o){return"IMG"===e.target.tagName&&s(e),!t||!o&&-1!==e.type.indexOf("mouse")?"":{dragging:!0,touchObject:{startX:e.touches?e.touches[0].pageX:e.clientX,startY:e.touches?e.touches[0].pageY:e.clientY,curX:e.touches?e.touches[0].pageX:e.clientX,curY:e.touches?e.touches[0].pageY:e.clientY}}},t.swipeMove=function(e,t){var o=t.scrolling,n=t.animating,r=t.vertical,a=t.swipeToSlide,i=t.verticalSwiping,c=t.rtl,u=t.currentSlide,d=t.edgeFriction,m=t.edgeDragged,p=t.onEdge,f=t.swiped,b=t.swiping,g=t.slideCount,w=t.slidesToScroll,v=t.infinite,_=t.touchObject,E=t.swipeEvent,O=t.listHeight,S=t.listWidth;if(!o){if(n)return s(e);r&&a&&i&&s(e);var P,B={},k=C(t);_.curX=e.touches?e.touches[0].pageX:e.clientX,_.curY=e.touches?e.touches[0].pageY:e.clientY,_.swipeLength=Math.round(Math.sqrt(Math.pow(_.curX-_.startX,2)));var N=Math.round(Math.sqrt(Math.pow(_.curY-_.startY,2)));if(!i&&!b&&N>10)return{scrolling:!0};i&&(_.swipeLength=N);var L=(c?-1:1)*(_.curX>_.startX?1:-1);i&&(L=_.curY>_.startY?1:-1);var j=Math.ceil(g/w),x=y(t.touchObject,i),z=_.swipeLength;return v||(0===u&&("right"===x||"down"===x)||u+1>=j&&("left"===x||"up"===x)||!h(t)&&("left"===x||"up"===x))&&(z=_.swipeLength*d,!1===m&&p&&(p(x),B.edgeDragged=!0)),!f&&E&&(E(x),B.swiped=!0),P=r?k+z*(O/S)*L:c?k-z*L:k+z*L,i&&(P=k+z*L),B=l(l({},B),{},{touchObject:_,swipeLeft:P,trackStyle:R(l(l({},t),{},{left:P}))}),Math.abs(_.curX-_.startX)<.8*Math.abs(_.curY-_.startY)||_.swipeLength>10&&(B.swiping=!0,s(e)),B}},t.swipeEnd=function(e,t){var o=t.dragging,n=t.swipe,r=t.touchObject,a=t.listWidth,i=t.touchThreshold,c=t.verticalSwiping,u=t.listHeight,d=t.swipeToSlide,m=t.scrolling,p=t.onSwipe,f=t.targetSlide,b=t.currentSlide,g=t.infinite;if(!o)return n&&s(e),{};var h=c?u/i:a/i,w=y(r,c),E={dragging:!1,edgeDragged:!1,scrolling:!1,swiping:!1,swiped:!1,swipeLeft:null,touchObject:{}};if(m)return E;if(!r.swipeLength)return E;if(r.swipeLength>h){var R,S;s(e),p&&p(w);var P=g?b:f;switch(w){case"left":case"up":S=P+_(t),R=d?v(t,S):S,E.currentDirection=0;break;case"right":case"down":S=P-_(t),R=d?v(t,S):S,E.currentDirection=1;break;default:R=P}E.triggerSlideHandler=R}else{var B=C(t);E.trackStyle=O(l(l({},t),{},{left:B}))}return E};var w=function(e){for(var t=e.infinite?2*e.slideCount:e.slideCount,o=e.infinite?-1*e.slidesToShow:0,n=e.infinite?-1*e.slidesToShow:0,r=[];o<t;)r.push(o),o=n+e.slidesToScroll,n+=Math.min(e.slidesToScroll,e.slidesToShow);return r};t.getNavigableIndexes=w;var v=function(e,t){var o=w(e),n=0;if(t>o[o.length-1])t=o[o.length-1];else for(var r in o){if(t<o[r]){t=n;break}n=o[r]}return t};t.checkNavigable=v;var _=function(e){var t=e.centerMode?e.slideWidth*Math.floor(e.slidesToShow/2):0;if(e.swipeToSlide){var o,n=e.listRef,r=n.querySelectorAll&&n.querySelectorAll(".slick-slide")||[];if(Array.from(r).every((function(n){if(e.vertical){if(n.offsetTop+g(n)/2>-1*e.swipeLeft)return o=n,!1}else if(n.offsetLeft-t+b(n)/2>-1*e.swipeLeft)return o=n,!1;return!0})),!o)return 0;var a=!0===e.rtl?e.slideCount-e.currentSlide:e.currentSlide;return Math.abs(o.dataset.index-a)||1}return e.slidesToScroll};t.getSlideCount=_;var E=function(e,t){return t.reduce((function(t,o){return t&&e.hasOwnProperty(o)}),!0)?null:console.error("Keys Missing:",e)};t.checkSpecKeys=E;var R=function(e){var t,o;E(e,["left","variableWidth","slideCount","slidesToShow","slideWidth"]);var n=e.slideCount+2*e.slidesToShow;e.vertical?o=n*e.slideHeight:t=B(e)*e.slideWidth;var r={opacity:1,transition:"",WebkitTransition:""};if(e.useTransform){var a=e.vertical?"translate3d(0px, "+e.left+"px, 0px)":"translate3d("+e.left+"px, 0px, 0px)",i=e.vertical?"translate3d(0px, "+e.left+"px, 0px)":"translate3d("+e.left+"px, 0px, 0px)",c=e.vertical?"translateY("+e.left+"px)":"translateX("+e.left+"px)";r=l(l({},r),{},{WebkitTransform:a,transform:i,msTransform:c})}else e.vertical?r.top=e.left:r.left=e.left;return e.fade&&(r={opacity:1}),t&&(r.width=t),o&&(r.height=o),window&&!window.addEventListener&&window.attachEvent&&(e.vertical?r.marginTop=e.left+"px":r.marginLeft=e.left+"px"),r};t.getTrackCSS=R;var O=function(e){E(e,["left","variableWidth","slideCount","slidesToShow","slideWidth","speed","cssEase"]);var t=R(e);return e.useTransform?(t.WebkitTransition="-webkit-transform "+e.speed+"ms "+e.cssEase,t.transition="transform "+e.speed+"ms "+e.cssEase):e.vertical?t.transition="top "+e.speed+"ms "+e.cssEase:t.transition="left "+e.speed+"ms "+e.cssEase,t};t.getTrackAnimateCSS=O;var C=function(e){if(e.unslick)return 0;E(e,["slideIndex","trackRef","infinite","centerMode","slideCount","slidesToShow","slidesToScroll","slideWidth","listWidth","variableWidth","slideHeight"]);var t,o,n=e.slideIndex,r=e.trackRef,a=e.infinite,l=e.centerMode,i=e.slideCount,c=e.slidesToShow,s=e.slidesToScroll,u=e.slideWidth,d=e.listWidth,m=e.variableWidth,p=e.slideHeight,f=e.fade,b=e.vertical;if(f||1===e.slideCount)return 0;var g=0;if(a?(g=-S(e),i%s!=0&&n+s>i&&(g=-(n>i?c-(n-i):i%s)),l&&(g+=parseInt(c/2))):(i%s!=0&&n+s>i&&(g=c-i%s),l&&(g=parseInt(c/2))),t=b?n*p*-1+g*p:n*u*-1+g*u,!0===m){var y,h=r&&r.node;if(y=n+S(e),t=(o=h&&h.childNodes[y])?-1*o.offsetLeft:0,!0===l){y=a?n+S(e):n,o=h&&h.children[y],t=0;for(var w=0;w<y;w++)t-=h&&h.children[w]&&h.children[w].offsetWidth;t-=parseInt(e.centerPadding),t+=o&&(d-o.offsetWidth)/2}}return t};t.getTrackLeft=C;var S=function(e){return e.unslick||!e.infinite?0:e.variableWidth?e.slideCount:e.slidesToShow+(e.centerMode?1:0)};t.getPreClones=S;var P=function(e){return e.unslick||!e.infinite?0:e.slideCount};t.getPostClones=P;var B=function(e){return 1===e.slideCount?1:S(e)+e.slideCount+P(e)};t.getTotalSlides=B;var k=function(e){return e.targetSlide>e.currentSlide?e.targetSlide>e.currentSlide+N(e)?"left":"right":e.targetSlide<e.currentSlide-L(e)?"right":"left"};t.siblingDirection=k;var N=function(e){var t=e.slidesToShow,o=e.centerMode,n=e.rtl,r=e.centerPadding;if(o){var a=(t-1)/2+1;return parseInt(r)>0&&(a+=1),n&&t%2==0&&(a+=1),a}return n?0:t-1};t.slidesOnRight=N;var L=function(e){var t=e.slidesToShow,o=e.centerMode,n=e.rtl,r=e.centerPadding;if(o){var a=(t-1)/2+1;return parseInt(r)>0&&(a+=1),n||t%2!=0||(a+=1),a}return n?t-1:0};t.slidesOnLeft=L,t.canUseDOM=function(){return!("undefined"==typeof window||!window.document||!window.document.createElement)}},33:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>R});var n=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var o=-1;return e.some((function(e,n){return e[0]===t&&(o=n,!0)})),o}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var o=e(this.__entries__,t),n=this.__entries__[o];return n&&n[1]},t.prototype.set=function(t,o){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=o:this.__entries__.push([t,o])},t.prototype.delete=function(t){var o=this.__entries__,n=e(o,t);~n&&o.splice(n,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var o=0,n=this.__entries__;o<n.length;o++){var r=n[o];e.call(t,r[1],r[0])}},t}()}(),r="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,a=void 0!==o.g&&o.g.Math===Math?o.g:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),l="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(a):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)},i=["top","right","bottom","left","width","height","size","weight"],c="undefined"!=typeof MutationObserver,s=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var o=!1,n=!1,r=0;function a(){o&&(o=!1,e()),n&&c()}function i(){l(a)}function c(){var e=Date.now();if(o){if(e-r<2)return;n=!0}else o=!0,n=!1,setTimeout(i,20);r=e}return c}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,o=t.indexOf(e);~o&&t.splice(o,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){r&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),c?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){r&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,o=void 0===t?"":t;i.some((function(e){return!!~o.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),u=function(e,t){for(var o=0,n=Object.keys(t);o<n.length;o++){var r=n[o];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},d=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||a},m=y(0,0,0,0);function p(e){return parseFloat(e)||0}function f(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return t.reduce((function(t,o){return t+p(e["border-"+o+"-width"])}),0)}var b="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof d(e).SVGGraphicsElement}:function(e){return e instanceof d(e).SVGElement&&"function"==typeof e.getBBox};function g(e){return r?b(e)?function(e){var t=e.getBBox();return y(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,o=e.clientHeight;if(!t&&!o)return m;var n=d(e).getComputedStyle(e),r=function(e){for(var t={},o=0,n=["top","right","bottom","left"];o<n.length;o++){var r=n[o],a=e["padding-"+r];t[r]=p(a)}return t}(n),a=r.left+r.right,l=r.top+r.bottom,i=p(n.width),c=p(n.height);if("border-box"===n.boxSizing&&(Math.round(i+a)!==t&&(i-=f(n,"left","right")+a),Math.round(c+l)!==o&&(c-=f(n,"top","bottom")+l)),!function(e){return e===d(e).document.documentElement}(e)){var s=Math.round(i+a)-t,u=Math.round(c+l)-o;1!==Math.abs(s)&&(i-=s),1!==Math.abs(u)&&(c-=u)}return y(r.left,r.top,i,c)}(e):m}function y(e,t,o,n){return{x:e,y:t,width:o,height:n}}var h=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=y(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=g(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),w=function(e,t){var o,n,r,a,l,i,c,s=(n=(o=t).x,r=o.y,a=o.width,l=o.height,i="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(i.prototype),u(c,{x:n,y:r,width:a,height:l,top:r,right:n+a,bottom:l+r,left:n}),c);u(this,{target:e,contentRect:s})},v=function(){function e(e,t,o){if(this.activeObservations_=[],this.observations_=new n,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=o}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof d(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new h(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof d(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new w(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),_="undefined"!=typeof WeakMap?new WeakMap:new n,E=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var o=s.getInstance(),n=new v(t,o,this);_.set(this,n)};["observe","unobserve","disconnect"].forEach((function(e){E.prototype[e]=function(){var t;return(t=_.get(this))[e].apply(t,arguments)}}));const R=void 0!==a.ResizeObserver?a.ResizeObserver:E},774:e=>{e.exports=function(e,t,o,n){var r=o?o.call(n,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var s=a[c];if(!i(s))return!1;var u=e[s],d=t[s];if(!1===(r=o?o.call(n,u,d,s):void 0)||void 0===r&&u!==d)return!1}return!0}},169:e=>{e.exports=function(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()})).toLowerCase()}},196:e=>{"use strict";e.exports=window.React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};o.r(e),o.d(e,{category:()=>Ao,metadata:()=>zo,name:()=>To,settings:()=>Io});var t={};o.r(t),o.d(t,{category:()=>sn,metadata:()=>an,name:()=>cn,settings:()=>dn});var n={};o.r(n),o.d(n,{category:()=>qn,metadata:()=>Hn,name:()=>Gn,settings:()=>Vn});var r={};o.r(r),o.d(r,{category:()=>hr,metadata:()=>br,name:()=>yr,settings:()=>vr});var a={};o.r(a),o.d(a,{category:()=>Fr,metadata:()=>Kr,name:()=>Hr,settings:()=>qr});var l={};o.r(l),o.d(l,{category:()=>ba,metadata:()=>ma,name:()=>fa,settings:()=>ya});var i={};o.r(i),o.d(i,{category:()=>Ha,metadata:()=>Wa,name:()=>Da,settings:()=>Ga});var c={};o.r(c),o.d(c,{category:()=>fl,metadata:()=>dl,name:()=>pl,settings:()=>gl});var s={};o.r(s),o.d(s,{category:()=>Kl,metadata:()=>Ml,name:()=>Wl,settings:()=>Hl});var u={};o.r(u),o.d(u,{category:()=>li,metadata:()=>ni,name:()=>ai,settings:()=>ci});var d={};o.r(d),o.d(d,{category:()=>Ei,metadata:()=>wi,name:()=>_i,settings:()=>Oi});var m={};o.r(m),o.d(m,{category:()=>Ii,metadata:()=>Ti,name:()=>Mi,settings:()=>Ki});var p={};o.r(p),o.d(p,{category:()=>ec,metadata:()=>Xi,name:()=>$i,settings:()=>oc});var f={};o.r(f),o.d(f,{category:()=>yc,metadata:()=>fc,name:()=>gc,settings:()=>wc});var b={};o.r(b),o.d(b,{category:()=>xc,metadata:()=>Nc,name:()=>jc,settings:()=>Tc});var g={};o.r(g),o.d(g,{category:()=>Yc,metadata:()=>Uc,name:()=>Qc,settings:()=>Xc});var y={};o.r(y),o.d(y,{category:()=>ds,metadata:()=>cs,name:()=>us,settings:()=>ps});var h={};o.r(h),o.d(h,{category:()=>Ps,metadata:()=>Os,name:()=>Ss,settings:()=>ks});var w={};o.r(w),o.d(w,{category:()=>Fs,metadata:()=>Ks,name:()=>Hs,settings:()=>qs});var v={};o.r(v),o.d(v,{category:()=>au,metadata:()=>ou,name:()=>ru,settings:()=>iu});var _={};o.r(_),o.d(_,{category:()=>Eu,metadata:()=>wu,name:()=>_u,settings:()=>Ou});var E={};o.r(E),o.d(E,{category:()=>Iu,metadata:()=>Tu,name:()=>Mu,settings:()=>Ku});var R={};o.r(R),o.d(R,{category:()=>td,metadata:()=>Zu,name:()=>ed,settings:()=>nd});var O={};o.r(O),o.d(O,{category:()=>Sd,metadata:()=>Rd,name:()=>Cd,settings:()=>Bd});var C={};o.r(C),o.d(C,{category:()=>Xd,metadata:()=>Qd,name:()=>Jd,settings:()=>$d});var S={};o.r(S),o.d(S,{category:()=>vm,metadata:()=>ym,name:()=>wm,settings:()=>Em});const P=window.wp.blocks,B=window.wp.i18n,k=window.wp.components;function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}var L,j=React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",width:"20",height:"20",viewBox:"0 0 40 40"},React.createElement("image",{id:"woolentor-logo",width:"40",height:"40",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADHFJREFUeNrsXU2IHMcV7m7NSnEU8IAvvgQmEHTV+JCDNwaN4oB1UNAIx7nO7sWQ5CBtcvAlYS0CAZ9GOoSActjZUyDESGZ9kA7OjEDWHrW6GoHHOAcfEphAHMjuaif12tWT3pn++arrVf/Wg2Z3pZme7npffe97r17XuE7N7Ot3e23xoysP+v2S/K+OPFCbyJ9TcXwhjgP6/fzdyUGdxsutgcPJ0T3p6K6ik7PaRALiEf0uQDGzAMh3hvfFcU06vl2CyyIwfCSO+1VjCLeCTu+X/HIpZNwXx24VwOCW3PE0wwfi2KgowxIA7khmmFkA4I4nh9+QMb0ONmv9+J3R2Xd+ccd13akFQLLjt3MScrnat37zJ8f77vfp15E4bpUFCK51vHkjxxMAloyAsCWAUGhoaJUgxm9LNV9ba73+VtQ/E+j78/mcwsL7jWIAqeqHFRZ3SvbS7//suK+8mpY5bAogTHJnpwKcT2nc501x/pkL3TTnk3VOvnw+FmMzlJOjfgCgGxPHjvj1nlOO4k0+AFh/C3rd8f5D+nFTHE9laKwPAGS59mlTZv0pAFx8A3rdi4PHCzYQB7HB+7UAgFT4T+uq8BOd333Dcb/9ndTXnXx24Mz/+dXyP2+LsRubDgmeYecT5e84DbUz3R9i9P/kYdx/9WRI6FYKADLej5tI+Yv0Ssz81utXMPp/9jhRIMqQ0K8EACRljeue23PG/vl//p32MhrTezKclhcAIbHXdRpuMP3vP1Q57Q43CDxm54+bKPai6J8EYJrRzA+p/0JA4DE7v+1Yc87wxP5cQOAxOL8tlb51vrSY2n9E/P9U52NYQOAxOH9sY36I/l95NVj2TaZ/kfdnoH92EOgywD3r/GXxp1z507WhTp3A05j9w6anelG29ubbJtR/WoqYuWLoZXQ+0c5N6+6lwRTUD6z8+fR/8uVzzo8OQrF5AEi6GVp3Zxd/jLM/bF3JyuYAYBU/T/w/fvLA1CXcVC0ZqzLAthV9Mc7HGj986o9Y+eO0HRU9AAPgcG/Us3E/AQDrhdL/sh7YYQXAfD5vr10d7CAIbywALuae/iVZHw0FKAPQzO+gKU4TYz/S+OGv/Jmlf+VQ4AGzvyNjP1zjtuo/DgCf5nlZ7cBvugywiCfoKleTTGVMNBZ/dLKCTmYAiNlPwq+XBe029kfQf3rjh5FQoMMA25HxzorB0HgYafzgtF5Sm3lLZfYv3rR+xTnaG1n6FxOBs/GDzkdCO1hNPBGC8Whvl0M40kSeqDLAtq7oaYL654r9dC56gLT15k8d70LXP6iplB4ra+mL71gW8FRnvwryrfrH1D8JybOD92JTybMb73GE3RsqDHCDK/bVmf65Gj8ovU6rIzDUYPpRGcEKAOSL+unovwIVP2o7+9fBvj8g9iNMgoAtCwtEMcAGWq4sqjBEg0GLL0yDYpT+09Q/3UOO97GBZAEDillIjCdaOv7kr7k6/tzPf3cqHhLFHo4+cF58dpDrdXA1fqBAYmogoSe2Ns7fnYwiGUAqxc7x/gOoaOGLwQvd/Jz/q+HKwNPf5349zO06VJx29MmHbJkEci7QriWFgMEidu1jTQvoMqiuJankhVLOSZNwNX6iTMLcQ9APLxItA6Cvirg8xCB9RlqcpIGkHDoP53M5rZV/A+mKn70Q/QebK/8/foFxFa2HZ0q3BLjWfvZL6LVrVwfGBRVn6bfAHoJrUQwwWLmJJxjyWgb7BGhWqzAMhQqjAECdlhJCNTeP0LVeFAB6qyjGxKCpVMavjV8dKItFU6FAqfEjZdwYNo/QzQZ6CwCE9thfvRlwDdsEC5wFqT8qFJhYseQs/cJMYq6HoBdmgF4sAkExSDfEKQYprcu63uDX1jOCJ9FpTIs/6FgZ7iG4FAZAN0nNIkUIFVRDs1jTgeQszgUr9N6QsInSv+EWslMMcCnxptCUkCkMIGkfR+3AhPqH6B/sITjef2ASAH7ml8oAAaWhYlA39qqkfdC5FEVknBjlavwoQewPW9eTArCdemPgBekuW6qmfcj5dMvEnI0fKEvm1EHc8RzwUa8XYDqis0KokvapiCNdRoHVf8oYwT0E2fYOymIXCQAd6ObAgoTK/ng6ad/hH38LVypp0Nd+spEZlHDjR8r1wExiOPaH6wEwAMjg9YEMC0QqaR/NDhrs/44+wGfxj97OpE/WYMp+zHauHDuIewSAl9FXo8j0wCdlT83+DbyEe/iXPyxm3dHHu7AgPLehXiaGH/kGGj8K2jwi+bochce9VVITtGVqIfxAwJDDw6GI2tPRWnnQaQsPTgGNHznF/lMAUDJUDKI3rJKq+QCM6EA6VAgFJAjRLKPijR+GAICKQTB39uv2oEOOBPVHqX+6JrQ1TaXOAG/4mJb7l2fziEgAdFTfhIqUtBmk0sRBg5MUfvzQAKaGFAbSagPwci3gtBJtHsEEAHCPm7TuGRVRdiSFX1J4ONzFQ0FaC1lNGj/4Q8Ai5wUvNk4MnpGPP6mkfcjr0NpAGvvUpPHDDAA4wkCWtA8xqg2goSCuhQztc6xA44c5AKDbnUS1juukfQg7obUBH4gRgpBz5a9lfudwbQBMTbNAWARxpH2p1yXegxZT/NpAKBQo7fX/jGnlr7jNIzQBAIrBMKVypH1Q2FAQhOFrUlmurUjjh5kQENAt3DpOIGBM+6D3K9QGgm5idB2jSo0fxgCgIl5oIYQz7ePWD+SsYHMGiP6BR77LHPvDANB6qlLlOUI07aNzcjzs6dcGFICELkdDjR/l3DouEgD/0j0J5/o1OY32xeEyv4bAXGBJ65HM+VtDihOBC6plXMA4/tuH7AUREoRcKhtZ+SvgW0Oy2oQFAFxr2HQeE/sN+Kzy8S4boyB6hzONLrUGQGkRYpK9XWP5sF8bYNAVVW38iLFH3vm7k5n4ZaY9M57pFTPIOabToUPNzAJ5SKbgbw1RtWmQBmpPDZXW8bjZb9rIeTqhAFr5K/5bQ1TsIADAoyLDAFfahwFtlFlkVrnxI8oE+x+wMQBKkabTPigUKLSQqTitzI0fURlAIAIXfxTBAibSvtSZnEFvIPdV5saPKAG4AIAUgiwsoKIDTKV9UChQXGhKXfkr57eGwAzAxgIqixsm0z4o9IBZAWfjR9GlX2kzMel9f4c3ivzIYfpWMGodT2uEyCPtQ8Qnrf6lrVFwNn7Qw6Gt9WJ3W58fH0+cuz9wTgGAEPH1uz0KBdpfCkkxlhycNLB5C784oxYy2qY9jr6RZWmVjTGK3N52abI7yyGA7D7bwNLDmxEZgb9Cl/PWrmk6JG6tgK4faSyp4M7pCz+74X+V3zV3j/OTSBwFqA/W0UsiglZoPLxt+/wfX0Ehil7/0nCvUs53Xfd6JAAkCD53Mjwr0FSj4g/tVVwh2xQAGMWFALJd69ba2izs/DgAjOw44Xby9+dVutwV364AQGQDU04xWHfL2rpekN1JBUDcC63FGy0zF13TAMXfdEXExr1aiMGxk7CDqLVoQUgpYUly/dMz/UL3sgDARAUA5PyxdWstbCJC++VIYMS9Q9aKJ3bsamG3Ypkh6xutVWr2TzIBwLJALWwrURsAJ9i0Y1hZu01tX1oAkHUBGwqqZzPEb+jDobcdhgdIrOVL/bLTK9Fc9Gw2LaxH2peVAQJBeNuObSWoH9ZtqvsDUEw5sGNcatuUuo0fADKmbDoMj5JZM2Ij4SOlhTzlHUJkWrFlx7p0lskvbtZPE6Jwx4n4PnprhcX911SoXxsAEgR2xbAc9lpawYctBCzZdSsKSyH6MvvA1f10+a1j1Ejatr4oxPkjnRNobxMnM4PLNjPI3W7pOp+FAUJMQI8BjS0T5JbusSzSeVxXJOOQZQLztsXlfFYGCDFBx/nm6aKu9VX5Yr5xAISE4diCgDXP3+J2vjEAhIBgi0U8zr+sk+rlogFidAHFKls2zm7k9O+Zcr5xBljKEEgXdKxPYaN2LuOTx83rbqQuoJDQt75NpfzrSZ28lQRACAh9CQRbL1i1+1Lp55ZKu0XcpWSDoRWIC5tKx0/y/mC3yLuWfYbDBqeLNNPvyHhfSAHNLcMoCCAQE2w3TCRSTn8ryxp+7QDQMCCUwvGlBECNgTCTAq80ji81AJY0wqDCYnEqY/yoqBhfaQAsZQ2UPt6ogGCcSZrfNVnBaxQAlsBAYYGY4ZpTnqISOXpSFadXGgAxYYKOi/JnO0eHP3O+eQxrWtXxqzwAYhgiYImXQyGjl8HJMxnHv5B/T6s2w9PsfwIMAOhUCXLerUHIAAAAAElFTkSuQmCC"}));(0,P.setCategories)([{slug:"woolentor-blocks",title:(0,B.__)("WooLentor","woolentor"),icon:React.createElement(k.Icon,{icon:j})},{slug:"woolentor-single-product",title:(0,B.__)("WooLentor Single Product","woolentor"),icon:React.createElement(k.Icon,{icon:j})},{slug:"woolentor-shop",title:(0,B.__)("WooLentor Shop","woolentor"),icon:React.createElement(k.Icon,{icon:j})}].concat(function(e){if(Array.isArray(e))return N(e)}(L=(0,P.getCategories)().filter((function(e){return"woolentor-blocks"!==e.slug})))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(L)||function(e,t){if(e){if("string"==typeof e)return N(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?N(e,t):void 0}}(L)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()));var x=function(e){var t=e.unit?e.unit:"px";return""!=e.top||""!=e.right||""!=e.bottom||""!=e.left?(e.top||0)+t+" "+(e.right||0)+t+" "+(e.bottom||0)+t+" "+(e.left||0)+t:""};function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}var T=function(e,t,o){return e.replace(new RegExp(t,"g"),o)},A=function(e){return"object"==z(e)&&0!=Object.keys(e).length},M=function(e,t){return e.replace(new RegExp("{{WOOLENROE_BLOCKS}}","g"),".woolentorblock-"+t)},I=function(e,t){var o="";return t.forEach((function(e){o+=e+";"})),e+"{"+o+"}"},W=function(e,t){var o="";return t.forEach((function(t){o+=e+t})),o},K=function(e,t,o,n){if(n="object"!=z(n)?n:D(n).data,"string"==typeof e){if(e){if(n){var r=M(e,t);return"boolean"==typeof n?[r]:-1==r.indexOf("{{")&&r.indexOf("{")<0?[r+n]:[T(r,"{{"+o+"}}",n)]}return[]}return[M(n,t)]}var a=[];return e.forEach((function(e){a.push(T(M(e,t),"{{"+o+"}}",n))})),a},D=function(e){return e.imageUrl?{data:(t=e,o="{",t.imageUrl&&(o+="background-image:url("+t.imageUrl+");"),t.position&&(o+="background-position:"+t.position+";"),t.attachment&&(o+="background-attachment:"+t.attachment+";"),t.repeat&&(o+="background-repeat:"+t.repeat+";"),t.size&&(o+="background-size:"+t.size+";"),"{}"!=(o+="}")?o:{}),action:"append"}:void 0!==e.top||void 0!==e.left||void 0!==e.right||void 0!==e.bottom?{data:x(e),action:"replace"}:{data:"",action:"append"};var t,o},H=function(e,t){var o=!0;return t.hasOwnProperty("dependency")&&t.dependency.forEach((function(t){var n=o;if("=="==(t=t[0]).condition)if("string"==typeof t.value||"number"==typeof t.value||"boolean"==typeof t.value)o=e[t.key]==t.value;else{var r=!1;t.value.forEach((function(o){e[t.key]==o&&(r=!0)})),r&&(o=!0)}else if("!="==t.condition)if("string"==typeof t.value||"number"==typeof t.value||"boolean"==typeof t.value)o=e[t.key]!=t.value;else{var a=!1;t.value.forEach((function(o){e[t.key]!=o&&(a=!0)})),a&&(o=!0)}o=0!=n&&o})),o};function F(e,t,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(o){var r="",a=[],l=[],i=[],c=[],s=[];return Object.keys(e).forEach((function(r){var u="string"==typeof t?wp.blocks.getBlockType(t).attributes:t;if(u[r]&&u[r].hasOwnProperty("style")){var d=u[r].style;if(d.hasOwnProperty("selector")){var m=d.selector;if(H(e,d))if("object"==z(e[r])){var p=!1,f="";if(e[r].desktop&&(p=!0,f="object"==z(e[r].desktop)?D(e[r].desktop).data:e[r].desktop+(e[r].unit||""),a=a.concat(K(m,o,r,f))),e[r].laptop&&(p=!0,f="object"==z(e[r].laptop)?D(e[r].laptop).data:e[r].laptop+(e[r].unit||""),l=l.concat(K(m,o,r,f))),e[r].tablet&&(p=!0,f="object"==z(e[r].tablet)?D(e[r].tablet).data:e[r].tablet+(e[r].unit||""),i=i.concat(K(m,o,r,f))),e[r].mobile&&(p=!0,f="object"==z(e[r].mobile)?D(e[r].mobile).data:e[r].mobile+(e[r].unit||""),c=c.concat(K(m,o,r,f))),!p){var b=D(e[r]),g=M(m,o);"object"==z(b.data)?0!=Object.keys(b.data).length&&(b.data.background&&s.push(g+b.data.background),A(b.data.desktop)&&a.push(I(g,b.data.desktop)),A(b.data.laptop)&&l.push(I(g,b.data.laptop)),A(b.data.tablet)&&i.push(I(g,b.data.tablet)),A(b.data.mobile)&&c.push(I(g,b.data.mobile)),b.data.simple&&s.push(g+b.data.simple),b.data.font&&a.unshift(b.data.font),b.data.shape&&(b.data.shape.forEach((function(e){s.push(g+e)})),A(b.data.data.desktop)&&a.push(W(g,b.data.data.desktop)),A(b.data.data.laptop)&&l.push(W(g,b.data.data.laptop)),A(b.data.data.tablet)&&i.push(W(g,b.data.data.tablet)),A(b.data.data.mobile)&&c.push(W(g,b.data.data.mobile)))):b.data&&-1==b.data.indexOf("{{")&&("append"==b.action?s.push(g+b.data):s.push(K(m,o,r,b.data)))}}else"hideDesktop"==r?n&&(s=s.concat("@media (min-width: 1200px) {"+K(m,o,r,e[r])+"}")):"hideLaptop"==r?n&&(s=s.concat("@media only screen and (max-width: 1199px) and (min-width: 991px) {"+K(m,o,r,e[r])+"}")):"hideTablet"==r?n&&(s=s.concat("@media only screen and (max-width: 992px) and (min-width: 767px) {"+K(m,o,r,e[r])+"}")):"hideMobile"==r?n&&(s=s.concat("@media (max-width: 768px) {"+K(m,o,r,e[r])+"}")):e[r]&&(s=s.concat(K(m,o,r,e[r])))}}})),a.length>0&&(r+=a.join("")),l.length>0&&(r+="@media (min-width: 992px) and (max-width: 1200px) {"+l.join("")+"}"),i.length>0&&(r+="@media (min-width: 768px) and (max-width: 991px) {"+i.join("")+"}"),c.length>0&&(r+="@media (max-width: 767px) {"+c.join("")+"}"),s.length>0&&(r+=s.join("")),n?r:void 0}}var G="";function q(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return 1==t&&(G="",t=!1),e.map((function(e){var t=e.attributes,o=e.name;"woolentor"===o.split("/")[0]&&t.blockUniqId&&(G+=F(t,o,t.blockUniqId,!0)),e.innerBlocks&&e.innerBlocks.length>0&&q(e.innerBlocks)})),G}function U(e){e.forEach((function(e){var t;-1!=e.name.indexOf("core/block")&&(t=e.attributes.ref,wp.apiFetch({path:"/woolentor/v1/get_post",method:"POST",data:{post_id:t}}).then((function(e){if(e.success){var t=q(wp.blocks.parse(e.data),!0);t.css&&wp.apiFetch({path:"/woolentor/v1/appened_css",method:"POST",data:{inner_css:t.css,post_id:select("core/editor").getCurrentPostId()}}).then((function(e){e.success}))}}))),e.innerBlocks&&e.innerBlocks.length>0&&U(e.innerBlocks)}))}function V(){var e=wp.data.select("core/block-editor").getBlocks(),t=wp.data.select("core/editor").getCurrentPostId,o=function(e){var t=!1;return function e(o){o.forEach((function(o){-1!=o.name.indexOf("woolentor/")&&(t=!0),o.innerBlocks&&o.innerBlocks.length>0&&e(o.innerBlocks)}))}(e),t}(e),n=q(e,!0);U(e),function(e,t,o){return wp.apiFetch({path:"/woolentor/v1/save_css",method:"POST",data:{block_css:t,post_id:e,has_block:o}}).then((function(e){return e}))}(t(),n,o).then((function(e){}))}const Q=window.wp.element,Y=window.wp.blockEditor,J=window.wp.compose,X=window.wp.data;function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function $(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function ee(e){return function(e){if(Array.isArray(e))return te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function oe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ne(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function re(e,t){return re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},re(e,t)}function ae(e,t){if(t&&("object"===Z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function le(e){return le=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},le(e)}var ie=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&re(e,t)}(l,e);var t,o,n,r,a=(n=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=le(n);if(r){var o=le(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return ae(this,e)});function l(){return oe(this,l),a.apply(this,arguments)}return t=l,(o=[{key:"render",value:function(){var e,t=this.props,o=t.setAttributes,n=t.selectedTaxonomies,r=t.attributesKey,a=t.title,l=t.type,i=t.taxnomiesList,c=function(){var e=[];return i&&i.forEach((function(t,o){e.push({label:t.name,value:t.slug})})),e};if("multiple"==l){var s=c();s.length>0&&(e=s.map((function(e,t){return React.createElement(k.CheckboxControl,{key:e.value,label:e.label,onChange:function(t){return function(e,t){var a=-1!==n.indexOf(t)?ee(n):[].concat(ee(n),[t]);if(0==e){var l=a.indexOf(t);a.splice(l,1)}o($({},r,a))}(t,e.value)},checked:-1!==n.indexOf(e.value)})})))}return React.createElement(Q.Fragment,null,React.createElement("div",{className:"woolentor-component-taxonomy-area"},"single"!=l&&React.createElement("h2",{className:"woolentor-component-area-title"},a),React.createElement("div",{className:"woolentor-component-taxonomy-fileds"},"single"==l?0==c().length?React.createElement(k.Spinner,null):React.createElement(k.SelectControl,{label:a,value:n,options:c(),onChange:function(e){return o($({},r,e))}}):e||React.createElement(k.Spinner,null))))}}])&&ne(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),l}(Q.Component);const ce=(0,J.compose)([(0,X.withSelect)((function(e,t){return{taxnomiesList:(0,e("core").getEntityRecords)("taxonomy",t.taxonomy?t.taxonomy:"product_cat",{orderby:"name",order:"asc",hide_empty:!0})}}))])(ie);function se(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function ue(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?se(Object(o),!0).forEach((function(t){de(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):se(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function de(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const me=function(e){var t=e.setAttributes,o=e.lavel,n=e.dimensions,r=e.attributesKey,a=function(o,a){var l=ue({},n);if(e.responsive){var i=n.hasOwnProperty(n.device)?n[n.device].link:"yes";l[n.device]="yes"===i?{top:o,right:o,bottom:o,left:o,link:"yes",unit:n.hasOwnProperty(n.device)&&""!=l[n.device].unit?l[n.device].unit:"px"}:de({top:""!==l[n.device].top?l[n.device].top:"0",right:""!==l[n.device].right?l[n.device].right:"0",bottom:""!==l[n.device].bottom?l[n.device].bottom:"0",left:""!==l[n.device].left?l[n.device].left:"0",link:"no",unit:""!==l[n.device].unit?l[n.device].unit:"px"},a,o)}else"yes"===l.link?(l.top=o,l.right=o,l.bottom=o,l.left=o,l.link="yes"):(l.top=""!==l.top?l.top:"0",l.right=""!==l.right?l.right:"0",l.bottom=""!==l.bottom?l.bottom:"0",l.left=""!==l.left?l.left:"0",l.link="no",l[a]=o);t(de({},r,l))},l=function(o){var a=ue({},n),l=o.target.getAttribute("data-value");e.responsive?a[n.device].unit=l:a.unit=l,t(de({},r,a))},i=function(e,o,a){var l=ue({},n);l[o]=a,t(de({},r,l))},c=n.hasOwnProperty(n.device)?n[n.device].top:n.top?n.top:"",s=n.hasOwnProperty(n.device)?n[n.device].right:n.right?n.right:"",u=n.hasOwnProperty(n.device)?n[n.device].bottom:n.bottom?n.bottom:"",d=n.hasOwnProperty(n.device)?n[n.device].left:n.left?n.left:"",m=n.hasOwnProperty(n.device)?n[n.device].unit:n.unit?n.unit:"px",p=n.hasOwnProperty(n.device)?n[n.device].link:n.link?n.link:"yes",f=n.device;return React.createElement(Q.Fragment,null,React.createElement("div",{className:"wp-block-selector-woolentor-dimensions-control"},React.createElement(k.PanelRow,{className:"woolentor-panel-row-height-auto",style:{minHeight:"auto"}},React.createElement("label",{className:"woolentor-control-title"},o),e.responsive&&React.createElement("div",{className:"woolentor-control-responsive-switchers-button"},React.createElement("span",{className:"desktop"===f&&"device-selected","data-device":"desktop",onClick:function(e){return i(0,"device","desktop")}},React.createElement("span",{className:"dashicons dashicons-desktop"})),React.createElement("span",{className:"laptop"===f&&"device-selected","data-device":"laptop",onClick:function(e){return i(0,"device","laptop")}},React.createElement("span",{className:"dashicons dashicons-laptop"})),React.createElement("span",{className:"tablet"===f&&"device-selected","data-device":"tablet",onClick:function(e){return i(0,"device","tablet")}},React.createElement("span",{className:"dashicons dashicons-tablet"})),React.createElement("span",{className:"mobile"===f&&"device-selected","data-device":"mobile",onClick:function(e){return i(0,"device","mobile")}},React.createElement("span",{className:"dashicons dashicons-smartphone"}))),React.createElement("div",{className:"woolentor-units-choices"},React.createElement("span",{className:"px"===m&&"unit-active","data-value":"px",onClick:l},(0,B.__)("PX","woolentor")),React.createElement("span",{className:"%"===m&&"unit-active","data-value":"%",onClick:l},(0,B.__)("%","woolentor")),React.createElement("span",{className:"em"===m&&"unit-active","data-value":"em",onClick:l},(0,B.__)("EM","woolentor")))),React.createElement(k.PanelRow,null,React.createElement(k.__experimentalNumberControl,{label:(0,B.__)("Top","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"top")},shiftStep:10,value:c,labelPosition:"bottom"}),React.createElement(k.__experimentalNumberControl,{label:(0,B.__)("Right","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"right")},shiftStep:10,value:s,labelPosition:"bottom"}),React.createElement(k.__experimentalNumberControl,{label:(0,B.__)("Bottom","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"bottom")},shiftStep:10,value:u,labelPosition:"bottom"}),React.createElement(k.__experimentalNumberControl,{label:(0,B.__)("Left","woolentor"),isShiftStepEnabled:!0,onChange:function(e){return a(e,"left")},shiftStep:10,value:d,labelPosition:"bottom"}),React.createElement(k.Button,{icon:"admin-links",value:"yes",isPrimary:"yes"===p,isSecondary:"yes"!==p,onClick:function(){var o=ue({},n);e.responsive?"yes"===o[n.device].link?o[n.device].link="no":o[n.device].link="yes":"yes"===o.link?o.link="no":o.link="yes",t(de({},r,o))},title:(0,B.__)("Link values together","woolentor"),showTooltip:!0}))))};function pe(e){return pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pe(e)}function fe(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function be(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?fe(Object(o),!0).forEach((function(t){ge(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):fe(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function ge(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function ye(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function he(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function we(e,t){return we=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},we(e,t)}function ve(e,t){if(t&&("object"===pe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function _e(e){return _e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_e(e)}var Ee=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&we(e,t)}(l,e);var t,o,n,r,a=(n=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=_e(n);if(r){var o=_e(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return ve(this,e)});function l(){return ye(this,l),a.apply(this,arguments)}return t=l,(o=[{key:"render",value:function(){var e=this.props,t=e.setAttributes,o=e.title,n=e.bgProperty,r=e.attributesKey,a=e.uploadImage,l=function(e,o){var a=be({},n);a[o]=e,t(ge({},r,a))},i=["image","png"],c=React.createElement("p",null,(0,B.__)("To edit the banner image, you need permission to upload media.","woolentor")),s=function(e){var o=be({},n);o.imageId=e.id,o.imageUrl=e.url,t(ge({},r,o))};return React.createElement(Q.Fragment,null,React.createElement("div",{className:"wp-block-selector-woolentor-background-control"},o&&React.createElement("h3",null,o),React.createElement("div",{className:"wp-block-image-selector-woolentor-image-uploader"},React.createElement(Y.MediaUploadCheck,{fallback:c},React.createElement(Y.MediaUpload,{title:o,onSelect:s,allowedTypes:i,value:n.imageId,render:function(e){var t=e.open;return React.createElement(k.Button,{className:n.imageId?"editor-post-featured-image__preview":"editor-post-featured-image__toggle",onClick:t},!n.imageId&&(0,B.__)("Set ","woolentor")+o,!!n.imageId&&!a&&React.createElement(k.Spinner,null),!!n.imageId&&a&&React.createElement("img",{src:a.source_url,alt:o}))}})),!!n.imageId&&a&&React.createElement(Y.MediaUploadCheck,null,React.createElement(Y.MediaUpload,{title:o,onSelect:s,allowedTypes:i,value:n.imageId,render:function(e){var t=e.open;return React.createElement(k.Button,{onClick:t,isDefault:!0,isLarge:!0},(0,B.__)("Replace image","woolentor"))}})),!!n.imageId&&React.createElement(Y.MediaUploadCheck,null,React.createElement(k.Button,{onClick:function(){var e=be({},n);e.imageId=void 0,e.imageUrl=void 0,t(ge({},r,e))},isLink:!0,isDestructive:!0},(0,B.__)("Remove image","woolentor")))),React.createElement(k.SelectControl,{label:(0,B.__)("Position","woolentor"),labelPosition:"side",value:n.position,options:[{label:(0,B.__)("Default","woolentor"),value:""},{label:(0,B.__)("Center Center","woolentor"),value:"center center"},{label:(0,B.__)("Center Left","woolentor"),value:"center left"},{label:(0,B.__)("Center Right","woolentor"),value:"center right"},{label:(0,B.__)("Top Center","woolentor"),value:"top center"},{label:(0,B.__)("Top Left","woolentor"),value:"top left"},{label:(0,B.__)("Top Right","woolentor"),value:"top right"},{label:(0,B.__)("Bottom Center","woolentor"),value:"bottom center"},{label:(0,B.__)("Bottom Left","woolentor"),value:"bottom left"},{label:(0,B.__)("Bottom Right","woolentor"),value:"bottom right"}],onChange:function(e){return l(e,"position")}}),React.createElement(k.SelectControl,{label:(0,B.__)("Attachment","woolentor"),labelPosition:"side",value:n.attachment,options:[{label:(0,B.__)("Default","woolentor"),value:""},{label:(0,B.__)("Scroll","woolentor"),value:"scroll"},{label:(0,B.__)("Fixed","woolentor"),value:"fixed"}],onChange:function(e){return l(e,"attachment")}}),React.createElement(k.SelectControl,{label:(0,B.__)("Repeat","woolentor"),labelPosition:"side",value:n.repeat,options:[{label:(0,B.__)("Default","woolentor"),value:""},{label:(0,B.__)("No-repeat","woolentor"),value:"no-repeat"},{label:(0,B.__)("Repeat","woolentor"),value:"repeat"},{label:(0,B.__)("Repeat-x","woolentor"),value:"repeat-x"},{label:(0,B.__)("Repeat-y","woolentor"),value:"repeat-y"}],onChange:function(e){return l(e,"repeat")}}),React.createElement(k.SelectControl,{label:(0,B.__)("Size","woolentor"),labelPosition:"side",value:n.size,options:[{label:(0,B.__)("Default","woolentor"),value:""},{label:(0,B.__)("Auto","woolentor"),value:"auto"},{label:(0,B.__)("Cover","woolentor"),value:"cover"},{label:(0,B.__)("Contain","woolentor"),value:"contain"}],onChange:function(e){return l(e,"size")}})))}}])&&he(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),l}(Q.Component);const Re=(0,J.compose)((0,X.withSelect)((function(e,t){var o=e("core").getMedia,n=t.bgProperty;return{uploadImage:n.imageId?o(n.imageId):null}})))(Ee);var Oe=[{label:(0,B.__)("H1","woolentor"),value:"h1"},{label:(0,B.__)("H2","woolentor"),value:"h2"},{label:(0,B.__)("H3","woolentor"),value:"h3"},{label:(0,B.__)("H4","woolentor"),value:"h4"},{label:(0,B.__)("H5","woolentor"),value:"h5"},{label:(0,B.__)("H6","woolentor"),value:"h6"},{label:(0,B.__)("P","woolentor"),value:"p"},{label:(0,B.__)("div","woolentor"),value:"div"},{label:(0,B.__)("span","woolentor"),value:"span"}],Ce=[{label:(0,B.__)("None","woolentor"),value:""},{label:(0,B.__)("Solid","woolentor"),value:"solid"},{label:(0,B.__)("Double","woolentor"),value:"double"},{label:(0,B.__)("Dotted","woolentor"),value:"dotted"},{label:(0,B.__)("Dashed","woolentor"),value:"dashed"},{label:(0,B.__)("Groove","woolentor"),value:"groove"},{label:(0,B.__)("Inset","woolentor"),value:"inset"},{label:(0,B.__)("Outset","woolentor"),value:"outset"},{label:(0,B.__)("Ridge","woolentor"),value:"ridge"}],Se=((0,B.__)("Recent Products","woolentor"),(0,B.__)("Featured Products","woolentor"),(0,B.__)("Best Selling Products","woolentor"),(0,B.__)("Sale Products","woolentor"),(0,B.__)("Top Rated Products","woolentor"),(0,B.__)("Mixed order Products","woolentor"),(0,B.__)("Descending","woolentor"),(0,B.__)("Ascending","woolentor"),(0,B.__)("None","woolentor"),(0,B.__)("ID","woolentor"),(0,B.__)("Date","woolentor"),(0,B.__)("Name","woolentor"),(0,B.__)("Title","woolentor"),(0,B.__)("Comment count","woolentor"),(0,B.__)("Random","woolentor"),[{label:(0,B.__)(React.createElement(k.Dashicon,{icon:"editor-alignleft"})),value:"left"},{label:(0,B.__)(React.createElement(k.Dashicon,{icon:"editor-aligncenter"})),value:"center"},{label:(0,B.__)(React.createElement(k.Dashicon,{icon:"editor-alignright"})),value:"right"},{label:(0,B.__)(React.createElement(k.Dashicon,{icon:"editor-justify"})),value:"justify"}]);function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Be(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function ke(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function Ne(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Le(e,t){return Le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Le(e,t)}function je(e,t){if(t&&("object"===Pe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function xe(e){return xe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},xe(e)}(0,B.__)(React.createElement(k.Dashicon,{icon:"desktop"})),(0,B.__)(React.createElement(k.Dashicon,{icon:"laptop"})),(0,B.__)(React.createElement(k.Dashicon,{icon:"tablet"})),(0,B.__)(React.createElement(k.Dashicon,{icon:"smartphone"}));var ze=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Le(e,t)}(l,e);var t,o,n,r,a=(n=l,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=xe(n);if(r){var o=xe(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return je(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).state={device:"desktop"},t}return t=l,o=[{key:"render",value:function(){var e=this,t=this.props,o=t.attributes,n=t.setAttributes,r=o.style,a=(o.columns,o.rows),l=o.productTab,i=o.slider,c=o.productFilterType,s=o.perPage,u=o.customOrder,d=o.orderBy,m=o.order,p=o.selectedCategories,f=o.slitems,b=o.slarrows,g=o.sldots,y=o.slpauseOnHover,h=o.slautolay,w=o.slautoplaySpeed,v=o.slanimationSpeed,_=o.slscrollItem,E=o.sltabletDisplayColumns,R=o.sltabletScrollColumns,O=o.sltabletWidth,C=o.slMobileDisplayColumns,S=o.slMobileScrollColumns,P=o.slMobileWidth,N=function(t,o,n){e.setState(ke({},o,n))};return React.createElement(Y.InspectorControls,null,React.createElement("div",{className:"woolentor-panel-control"},React.createElement(k.TabPanel,{className:"woolentor-tabs-menu",activeClass:"woolentor-tab-menu-active is-primary",tabs:[{name:"general",title:(0,B.__)("Genaral","woolentor"),className:"woolentor-tab-menu-item general"},{name:"styles",title:(0,B.__)("Styles","woolentor"),className:"woolentor-tab-menu-item styles"},{name:"advanced",title:(0,B.__)("Advanced","woolentor"),className:"woolentor-tab-menu-item advanced"}]},(function(t){return React.createElement("div",{className:"woolentor-tab-controls "+t.name},"general"===t.name&&React.createElement(React.Fragment,null,React.createElement(k.PanelBody,{title:(0,B.__)("Layout","woolentor"),initialOpen:!0},React.createElement(k.SelectControl,{label:(0,B.__)("Product Style","woolentor"),value:r,options:[{label:(0,B.__)("Style One","woolentor"),value:"1"},{label:(0,B.__)("Style Two","woolentor"),value:"2"},{label:(0,B.__)("Style Three","woolentor"),value:"3"}],onChange:function(e){return n({style:e})}}),React.createElement(k.PanelRow,{className:"woolentor-device-row",style:{minHeight:"auto"}},React.createElement("label",null,(0,B.__)("Columns","woolentor")),React.createElement(k.ButtonGroup,{className:"woolentor-device-button"},React.createElement(k.Button,{icon:"desktop",value:"desktop",label:(0,B.__)("Large","woolentor"),isPrimary:"desktop"===e.state.device,isSecondary:"desktop"!==e.state.device,onClick:function(e){return N(0,"device","desktop")}}),React.createElement(k.Button,{icon:"laptop",value:"laptop",label:(0,B.__)("Medium","woolentor"),isPrimary:"laptop"===e.state.device,isSecondary:"laptop"!==e.state.device,onClick:function(e){return N(0,"device","laptop")}}),React.createElement(k.Button,{icon:"tablet",value:"tablet",label:(0,B.__)("Small","woolentor"),isPrimary:"tablet"===e.state.device,isSecondary:"tablet"!==e.state.device,onClick:function(e){return N(0,"device","tablet")}}),React.createElement(k.Button,{icon:"smartphone",value:"mobile",label:(0,B.__)("Extra Small","woolentor"),isPrimary:"mobile"===e.state.device,isSecondary:"mobile"!==e.state.device,onClick:function(e){return N(0,"device","mobile")}}))),React.createElement(k.RangeControl,{value:o.columns[e.state.device],onChange:function(t){return function(e,t,r){var a=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(o),!0).forEach((function(t){ke(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Be(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}({},o[r]);a[t]=e,n(ke({},r,a))}(t,e.state.device,"columns")},min:0,step:1,max:6}),React.createElement(k.RangeControl,{label:(0,B.__)("Rows","woolentor"),value:a,onChange:function(e){return n({rows:e})},min:1,step:1,max:20}),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Tab","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:l,onChange:function(){return n({productTab:!l})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Slider","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:i,onChange:function(){return n({slider:!i})}})))),React.createElement(k.PanelBody,{title:(0,B.__)("Query Options","woolentor"),initialOpen:!1},React.createElement(k.SelectControl,{label:(0,B.__)("Filter By","woolentor"),value:c,options:[{label:(0,B.__)("Recent Products","woolentor"),value:"recent"},{label:(0,B.__)("Featured Products","woolentor"),value:"featured"},{label:(0,B.__)("Best Selling Products","woolentor"),value:"best_selling"},{label:(0,B.__)("Sale Products","woolentor"),value:"sale"},{label:(0,B.__)("Top Rated Products","woolentor"),value:"top_rated"},{label:(0,B.__)("Mixed order Products","woolentor"),value:"mixed_order"}],onChange:function(e){return n({productFilterType:e})}}),React.createElement(k.RangeControl,{label:(0,B.__)("Number Of Products","woolentor"),value:s,onChange:function(e){return n({perPage:e})},min:1,step:1,max:1e3}),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Custom Order","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:u,onChange:function(){return n({customOrder:!u})}}))),React.createElement(ce,{title:(0,B.__)("Product Categories","woolentor"),attributesKey:"selectedCategories",setAttributes:n,selectedTaxonomies:p,type:"multiple"}),u?React.createElement(React.Fragment,null,React.createElement(k.SelectControl,{label:(0,B.__)("Order","woolentor"),value:m,options:[{label:(0,B.__)("Descending","woolentor"),value:"DESC"},{label:(0,B.__)("Ascending","woolentor"),value:"ASC"}],onChange:function(e){return n({order:e})}}),React.createElement(k.SelectControl,{label:(0,B.__)("Orderby","woolentor"),value:d,options:[{label:(0,B.__)("None","woolentor"),value:"none"},{label:(0,B.__)("ID","woolentor"),value:"ID"},{label:(0,B.__)("Date","woolentor"),value:"date"},{label:(0,B.__)("Name","woolentor"),value:"name"},{label:(0,B.__)("Title","woolentor"),value:"title"},{label:(0,B.__)("Comment count","woolentor"),value:"comment_count"},{label:(0,B.__)("Random","woolentor"),value:"rand"}],onChange:function(e){return n({orderBy:e})}})):""),1==i&&React.createElement(k.PanelBody,{title:(0,B.__)("Slider Options","woolentor"),initialOpen:!1},React.createElement(k.RangeControl,{label:(0,B.__)("Slider Items","woolentor"),value:f,onChange:function(e){return n({slitems:e})},min:1,step:1,max:10}),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Slider Arrow","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:b,onChange:function(){return n({slarrows:!b})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Slider dots","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:g,onChange:function(){return n({sldots:!g})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Pause on Hover?","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:y,onChange:function(){return n({slpauseOnHover:!y})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Slider auto play","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ToggleControl,{checked:h,onChange:function(){return n({slautolay:!h})}}))),React.createElement(k.RangeControl,{label:(0,B.__)("Autoplay speed","woolentor"),value:w,onChange:function(e){return n({slautoplaySpeed:e})},min:1,step:1,max:1e5}),React.createElement(k.RangeControl,{label:(0,B.__)("Autoplay animation speed","woolentor"),value:v,onChange:function(e){return n({slanimationSpeed:e})},min:1,step:1,max:1e5}),React.createElement(k.RangeControl,{label:(0,B.__)("Slider item to scroll","woolentor"),value:_,onChange:function(e){return n({slscrollItem:e})},min:1,step:1,max:1e5}),React.createElement("h3",null,(0,B.__)("Tablet Screen options","woolentor")),React.createElement(k.RangeControl,{label:(0,B.__)("Slider Items","woolentor"),value:E,onChange:function(e){return n({sltabletDisplayColumns:e})},min:1,step:1,max:8}),React.createElement(k.RangeControl,{label:(0,B.__)("Slider item to scroll","woolentor"),value:R,onChange:function(e){return n({sltabletScrollColumns:e})},min:1,step:1,max:8}),React.createElement(k.RangeControl,{label:(0,B.__)("Tablet Screen Resolution","woolentor"),value:O,onChange:function(e){return n({sltabletWidth:e})},min:1,step:1,max:1500}),React.createElement("h3",null,(0,B.__)("Mobile Phone Screen options","woolentor")),React.createElement(k.RangeControl,{label:(0,B.__)("Slider Items","woolentor"),value:C,onChange:function(e){return n({slMobileDisplayColumns:e})},min:1,step:1,max:8}),React.createElement(k.RangeControl,{label:(0,B.__)("Slider item to scroll","woolentor"),value:S,onChange:function(e){return n({slMobileScrollColumns:e})},min:1,step:1,max:8}),React.createElement(k.RangeControl,{label:(0,B.__)("Mobile Screen Resolution","woolentor"),value:P,onChange:function(e){return n({slMobileWidth:e})},min:1,step:1,max:1500}))),"styles"===t.name&&React.createElement(React.Fragment,null,React.createElement(k.PanelBody,{title:(0,B.__)("Content","woolentor"),initialOpen:!1},React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Alignment","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ButtonGroup,{className:"woolentor-alignment-btn-group"},Se.map((function(e){return React.createElement(k.Button,{isPrimary:o.contentAlign===e.value,isSecondary:o.contentAlign!==e.value,onClick:function(){return n({contentAlign:o.contentAlign===e.value?"":e.value})}},e.label)})))))),React.createElement(k.PanelBody,{title:(0,B.__)("Title","woolentor"),initialOpen:!1},React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.titleColor,onChange:function(e){return n({titleColor:e})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Hover Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.titleHoverColor,onChange:function(e){return n({titleHoverColor:e})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Alignment","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ButtonGroup,{className:"woolentor-alignment-btn-group"},Se.map((function(e){return React.createElement(k.Button,{isPrimary:o.titleAlign===e.value,isSecondary:o.titleAlign!==e.value,onClick:function(){return n({titleAlign:o.titleAlign===e.value?"":e.value})}},e.label)})))))),React.createElement(k.PanelBody,{title:(0,B.__)("Price","woolentor"),initialOpen:!1},React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.priceColor,onChange:function(e){return n({priceColor:e})}})))),React.createElement(k.PanelBody,{title:(0,B.__)("Action Button","woolentor"),initialOpen:!1},React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.actionBtnColor,onChange:function(e){return n({actionBtnColor:e})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Background Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.actionBtnBgColor,onChange:function(e){return n({actionBtnBgColor:e})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Hover Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.actionBtnHoverColor,onChange:function(e){return n({actionBtnHoverColor:e})}}))),React.createElement("div",{className:"woolentor-field-section"},React.createElement("label",null,(0,B.__)("Hover Background Color","woolentor")),React.createElement("div",{className:"woolentor-field-wrap"},React.createElement(k.ColorPalette,{value:o.actionBtnHoverBgColor,onChange:function(e){return n({actionBtnHoverBgColor:e})}}))))),"advanced"===t.name&&React.createElement(React.Fragment,null,React.createElement(k.PanelBody,{title:(0,B.__)("Dimension","woolentor"),initialOpen:!1},React.createElement(me,{lavel:(0,B.__)("Padding","woolentor"),dimensions:o.areaPadding,attributesKey:"areaPadding",setAttributes:n})),React.createElement(k.PanelBody,{title:(0,B.__)("Background","woolentor"),initialOpen:!1},React.createElement(Re,{title:(0,B.__)("Background Image","woolentor"),attributesKey:"areaBGProperty",setAttributes:n,bgProperty:o.areaBGProperty}))))}))))}}],o&&Ne(t.prototype,o),Object.defineProperty(t,"prototype",{writable:!1}),l}(Q.Component);const Te=ze;function Ae(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return void 0!==e&&""!=e?"".concat(t,": ").concat(e).concat(o,";"):""}function Me(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=e||{},r="";if(""!=n.top||""!=n.right||""!=n.bottom||""!=n.left){var a=n.unit?n.unit:"px";r=n.top?r+n.top+a+" ":"0"+a+" ",r=n.right?r+n.right+a+" ":"0"+a+" ",r=n.bottom?r+n.bottom+a+" ":"0"+a+" ",r=n.left?r+n.left+a+" ":"0"+a+" "}var l=Ae(r,t,o);return""!=l?l:""}function Ie(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=e||{},n="";return o.imageUrl&&(n+=Ae("url("+o.imageUrl+")","background-image",t)),o.position&&(n+=Ae(o.position,"background-position",t)),o.attachment&&(n+=Ae(o.attachment,"background-attachment",t)),o.repeat&&(n+=Ae(o.repeat,"background-repeat",t)),o.size&&(n+=Ae(o.size,"background-size",t)),n}var We=o(184),Ke=o.n(We);const De=window.wp.apiFetch;var He=o.n(De);const Fe=window.wp.url;var Ge=o(66),qe=o(864),Ue=o(196),Ve=o.n(Ue),Qe=o(774),Ye=o.n(Qe);const Je=function(e){function t(e,n,c,s,m){for(var p,f,b,g,v,E=0,R=0,O=0,C=0,S=0,j=0,z=b=p=0,A=0,M=0,I=0,W=0,K=c.length,D=K-1,H="",F="",G="",q="";A<K;){if(f=c.charCodeAt(A),A===D&&0!==R+C+O+E&&(0!==R&&(f=47===R?10:47),C=O=E=0,K++,D++),0===R+C+O+E){if(A===D&&(0<M&&(H=H.replace(d,"")),0<H.trim().length)){switch(f){case 32:case 9:case 59:case 13:case 10:break;default:H+=c.charAt(A)}f=59}switch(f){case 123:for(p=(H=H.trim()).charCodeAt(0),b=1,W=++A;A<K;){switch(f=c.charCodeAt(A)){case 123:b++;break;case 125:b--;break;case 47:switch(f=c.charCodeAt(A+1)){case 42:case 47:e:{for(z=A+1;z<D;++z)switch(c.charCodeAt(z)){case 47:if(42===f&&42===c.charCodeAt(z-1)&&A+2!==z){A=z+1;break e}break;case 10:if(47===f){A=z+1;break e}}A=z}}break;case 91:f++;case 40:f++;case 34:case 39:for(;A++<D&&c.charCodeAt(A)!==f;);}if(0===b)break;A++}if(b=c.substring(W,A),0===p&&(p=(H=H.replace(u,"").trim()).charCodeAt(0)),64===p){switch(0<M&&(H=H.replace(d,"")),f=H.charCodeAt(1)){case 100:case 109:case 115:case 45:M=n;break;default:M=L}if(W=(b=t(n,M,b,f,m+1)).length,0<x&&(v=i(3,b,M=o(L,H,I),n,B,P,W,f,m,s),H=M.join(""),void 0!==v&&0===(W=(b=v.trim()).length)&&(f=0,b="")),0<W)switch(f){case 115:H=H.replace(_,l);case 100:case 109:case 45:b=H+"{"+b+"}";break;case 107:b=(H=H.replace(y,"$1 $2"))+"{"+b+"}",b=1===N||2===N&&a("@"+b,3)?"@-webkit-"+b+"@"+b:"@"+b;break;default:b=H+b,112===s&&(F+=b,b="")}else b=""}else b=t(n,o(n,H,I),b,s,m+1);G+=b,b=I=M=z=p=0,H="",f=c.charCodeAt(++A);break;case 125:case 59:if(1<(W=(H=(0<M?H.replace(d,""):H).trim()).length))switch(0===z&&(p=H.charCodeAt(0),45===p||96<p&&123>p)&&(W=(H=H.replace(" ",":")).length),0<x&&void 0!==(v=i(1,H,n,e,B,P,F.length,s,m,s))&&0===(W=(H=v.trim()).length)&&(H="\0\0"),p=H.charCodeAt(0),f=H.charCodeAt(1),p){case 0:break;case 64:if(105===f||99===f){q+=H+c.charAt(A);break}default:58!==H.charCodeAt(W-1)&&(F+=r(H,p,f,H.charCodeAt(2)))}I=M=z=p=0,H="",f=c.charCodeAt(++A)}}switch(f){case 13:case 10:47===R?R=0:0===1+p&&107!==s&&0<H.length&&(M=1,H+="\0"),0<x*T&&i(0,H,n,e,B,P,F.length,s,m,s),P=1,B++;break;case 59:case 125:if(0===R+C+O+E){P++;break}default:switch(P++,g=c.charAt(A),f){case 9:case 32:if(0===C+E+R)switch(S){case 44:case 58:case 9:case 32:g="";break;default:32!==f&&(g=" ")}break;case 0:g="\\0";break;case 12:g="\\f";break;case 11:g="\\v";break;case 38:0===C+R+E&&(M=I=1,g="\f"+g);break;case 108:if(0===C+R+E+k&&0<z)switch(A-z){case 2:112===S&&58===c.charCodeAt(A-3)&&(k=S);case 8:111===j&&(k=j)}break;case 58:0===C+R+E&&(z=A);break;case 44:0===R+O+C+E&&(M=1,g+="\r");break;case 34:case 39:0===R&&(C=C===f?0:0===C?f:C);break;case 91:0===C+R+O&&E++;break;case 93:0===C+R+O&&E--;break;case 41:0===C+R+E&&O--;break;case 40:0===C+R+E&&(0===p&&(2*S+3*j==533||(p=1)),O++);break;case 64:0===R+O+C+E+z+b&&(b=1);break;case 42:case 47:if(!(0<C+E+O))switch(R){case 0:switch(2*f+3*c.charCodeAt(A+1)){case 235:R=47;break;case 220:W=A,R=42}break;case 42:47===f&&42===S&&W+2!==A&&(33===c.charCodeAt(W+2)&&(F+=c.substring(W,A+1)),g="",R=0)}}0===R&&(H+=g)}j=S,S=f,A++}if(0<(W=F.length)){if(M=n,0<x&&void 0!==(v=i(2,F,M,e,B,P,W,s,m,s))&&0===(F=v).length)return q+F+G;if(F=M.join(",")+"{"+F+"}",0!=N*k){switch(2!==N||a(F,2)||(k=0),k){case 111:F=F.replace(w,":-moz-$1")+F;break;case 112:F=F.replace(h,"::-webkit-input-$1")+F.replace(h,"::-moz-$1")+F.replace(h,":-ms-input-$1")+F}k=0}}return q+F+G}function o(e,t,o){var r=t.trim().split(b);t=r;var a=r.length,l=e.length;switch(l){case 0:case 1:var i=0;for(e=0===l?"":e[0]+" ";i<a;++i)t[i]=n(e,t[i],o).trim();break;default:var c=i=0;for(t=[];i<a;++i)for(var s=0;s<l;++s)t[c++]=n(e[s]+" ",r[i],o).trim()}return t}function n(e,t,o){var n=t.charCodeAt(0);switch(33>n&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(g,"$1"+e.trim());case 58:return e.trim()+t.replace(g,"$1"+e.trim());default:if(0<1*o&&0<t.indexOf("\f"))return t.replace(g,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function r(e,t,o,n){var l=e+";",i=2*t+3*o+4*n;if(944===i){e=l.indexOf(":",9)+1;var c=l.substring(e,l.length-1).trim();return c=l.substring(0,e).trim()+c+";",1===N||2===N&&a(c,1)?"-webkit-"+c+c:c}if(0===N||2===N&&!a(l,1))return l;switch(i){case 1015:return 97===l.charCodeAt(10)?"-webkit-"+l+l:l;case 951:return 116===l.charCodeAt(3)?"-webkit-"+l+l:l;case 963:return 110===l.charCodeAt(5)?"-webkit-"+l+l:l;case 1009:if(100!==l.charCodeAt(4))break;case 969:case 942:return"-webkit-"+l+l;case 978:return"-webkit-"+l+"-moz-"+l+l;case 1019:case 983:return"-webkit-"+l+"-moz-"+l+"-ms-"+l+l;case 883:if(45===l.charCodeAt(8))return"-webkit-"+l+l;if(0<l.indexOf("image-set(",11))return l.replace(S,"$1-webkit-$2")+l;break;case 932:if(45===l.charCodeAt(4))switch(l.charCodeAt(5)){case 103:return"-webkit-box-"+l.replace("-grow","")+"-webkit-"+l+"-ms-"+l.replace("grow","positive")+l;case 115:return"-webkit-"+l+"-ms-"+l.replace("shrink","negative")+l;case 98:return"-webkit-"+l+"-ms-"+l.replace("basis","preferred-size")+l}return"-webkit-"+l+"-ms-"+l+l;case 964:return"-webkit-"+l+"-ms-flex-"+l+l;case 1023:if(99!==l.charCodeAt(8))break;return"-webkit-box-pack"+(c=l.substring(l.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+l+"-ms-flex-pack"+c+l;case 1005:return p.test(l)?l.replace(m,":-webkit-")+l.replace(m,":-moz-")+l:l;case 1e3:switch(t=(c=l.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(t)){case 226:c=l.replace(v,"tb");break;case 232:c=l.replace(v,"tb-rl");break;case 220:c=l.replace(v,"lr");break;default:return l}return"-webkit-"+l+"-ms-"+c+l;case 1017:if(-1===l.indexOf("sticky",9))break;case 975:switch(t=(l=e).length-10,i=(c=(33===l.charCodeAt(t)?l.substring(0,t):l).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(111>c.charCodeAt(8))break;case 115:l=l.replace(c,"-webkit-"+c)+";"+l;break;case 207:case 102:l=l.replace(c,"-webkit-"+(102<i?"inline-":"")+"box")+";"+l.replace(c,"-webkit-"+c)+";"+l.replace(c,"-ms-"+c+"box")+";"+l}return l+";";case 938:if(45===l.charCodeAt(5))switch(l.charCodeAt(6)){case 105:return c=l.replace("-items",""),"-webkit-"+l+"-webkit-box-"+c+"-ms-flex-"+c+l;case 115:return"-webkit-"+l+"-ms-flex-item-"+l.replace(R,"")+l;default:return"-webkit-"+l+"-ms-flex-line-pack"+l.replace("align-content","").replace(R,"")+l}break;case 973:case 989:if(45!==l.charCodeAt(3)||122===l.charCodeAt(4))break;case 931:case 953:if(!0===C.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?r(e.replace("stretch","fill-available"),t,o,n).replace(":fill-available",":stretch"):l.replace(c,"-webkit-"+c)+l.replace(c,"-moz-"+c.replace("fill-",""))+l;break;case 962:if(l="-webkit-"+l+(102===l.charCodeAt(5)?"-ms-"+l:"")+l,211===o+n&&105===l.charCodeAt(13)&&0<l.indexOf("transform",10))return l.substring(0,l.indexOf(";",27)+1).replace(f,"$1-webkit-$2")+l}return l}function a(e,t){var o=e.indexOf(1===t?":":"{"),n=e.substring(0,3!==t?o:10);return o=e.substring(o+1,e.length-1),z(2!==t?n:n.replace(O,"$1"),o,t)}function l(e,t){var o=r(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return o!==t+";"?o.replace(E," or ($1)").substring(4):"("+t+")"}function i(e,t,o,n,r,a,l,i,c,u){for(var d,m=0,p=t;m<x;++m)switch(d=j[m].call(s,e,p,o,n,r,a,l,i,c,u)){case void 0:case!1:case!0:case null:break;default:p=d}if(p!==t)return p}function c(e){return void 0!==(e=e.prefix)&&(z=null,e?"function"!=typeof e?N=1:(N=2,z=e):N=0),c}function s(e,o){var n=e;if(33>n.charCodeAt(0)&&(n=n.trim()),n=[n],0<x){var r=i(-1,o,n,n,B,P,0,0,0,0);void 0!==r&&"string"==typeof r&&(o=r)}var a=t(L,n,o,0,0);return 0<x&&void 0!==(r=i(-2,a,n,n,B,P,a.length,0,0,0))&&(a=r),k=0,P=B=1,a}var u=/^\0+/g,d=/[\0\r\f]/g,m=/: */g,p=/zoo|gra/,f=/([,: ])(transform)/g,b=/,\r+?/g,g=/([\t\r\n ])*\f?&/g,y=/@(k\w+)\s*(\S*)\s*/,h=/::(place)/g,w=/:(read-only)/g,v=/[svh]\w+-[tblr]{2}/,_=/\(\s*(.*)\s*\)/g,E=/([\s\S]*?);/g,R=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\w-]+)[^]*/,C=/stretch|:\s*\w+\-(?:conte|avail)/,S=/([^-])(image-set\()/,P=1,B=1,k=0,N=1,L=[],j=[],x=0,z=null,T=0;return s.use=function e(t){switch(t){case void 0:case null:x=j.length=0;break;default:if("function"==typeof t)j[x++]=t;else if("object"==typeof t)for(var o=0,n=t.length;o<n;++o)e(t[o]);else T=0|!!t}return e},s.set=c,void 0!==e&&c(e),s},Xe={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var Ze=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;const $e=function(e){var t=Object.create(null);return function(e){return void 0===t[e]&&(t[e]=(o=e,Ze.test(o)||111===o.charCodeAt(0)&&110===o.charCodeAt(1)&&o.charCodeAt(2)<91)),t[e];var o}}();var et=o(679),tt=o.n(et);function ot(){return(ot=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e}).apply(this,arguments)}var nt=function(e,t){for(var o=[e[0]],n=0,r=t.length;n<r;n+=1)o.push(t[n],e[n+1]);return o},rt=function(e){return null!==e&&"object"==typeof e&&"[object Object]"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!(0,qe.typeOf)(e)},at=Object.freeze([]),lt=Object.freeze({});function it(e){return"function"==typeof e}function ct(e){return e.displayName||e.name||"Component"}function st(e){return e&&"string"==typeof e.styledComponentId}var ut="undefined"!=typeof process&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",dt="undefined"!=typeof window&&"HTMLElement"in window,mt=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY);function pt(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];throw new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(o.length>0?" Args: "+o.join(", "):""))}var ft=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,o=0;o<e;o++)t+=this.groupSizes[o];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var o=this.groupSizes,n=o.length,r=n;e>=r;)(r<<=1)<0&&pt(16,""+e);this.groupSizes=new Uint32Array(r),this.groupSizes.set(o),this.length=r;for(var a=n;a<r;a++)this.groupSizes[a]=0}for(var l=this.indexOfGroup(e+1),i=0,c=t.length;i<c;i++)this.tag.insertRule(l,t[i])&&(this.groupSizes[e]++,l++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],o=this.indexOfGroup(e),n=o+t;this.groupSizes[e]=0;for(var r=o;r<n;r++)this.tag.deleteRule(o)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var o=this.groupSizes[e],n=this.indexOfGroup(e),r=n+o,a=n;a<r;a++)t+=this.tag.getRule(a)+"/*!sc*/\n";return t},e}(),bt=new Map,gt=new Map,yt=1,ht=function(e){if(bt.has(e))return bt.get(e);for(;gt.has(yt);)yt++;var t=yt++;return bt.set(e,t),gt.set(t,e),t},wt=function(e){return gt.get(e)},vt=function(e,t){t>=yt&&(yt=t+1),bt.set(e,t),gt.set(t,e)},_t="style["+ut+'][data-styled-version="5.3.5"]',Et=new RegExp("^"+ut+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),Rt=function(e,t,o){for(var n,r=o.split(","),a=0,l=r.length;a<l;a++)(n=r[a])&&e.registerName(t,n)},Ot=function(e,t){for(var o=(t.textContent||"").split("/*!sc*/\n"),n=[],r=0,a=o.length;r<a;r++){var l=o[r].trim();if(l){var i=l.match(Et);if(i){var c=0|parseInt(i[1],10),s=i[2];0!==c&&(vt(s,c),Rt(e,s,i[3]),e.getTag().insertRules(c,n)),n.length=0}else n.push(l)}}},Ct=function(){return"undefined"!=typeof window&&void 0!==window.__webpack_nonce__?window.__webpack_nonce__:null},St=function(e){var t=document.head,o=e||t,n=document.createElement("style"),r=function(e){for(var t=e.childNodes,o=t.length;o>=0;o--){var n=t[o];if(n&&1===n.nodeType&&n.hasAttribute(ut))return n}}(o),a=void 0!==r?r.nextSibling:null;n.setAttribute(ut,"active"),n.setAttribute("data-styled-version","5.3.5");var l=Ct();return l&&n.setAttribute("nonce",l),o.insertBefore(n,a),n},Pt=function(){function e(e){var t=this.element=St(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,o=0,n=t.length;o<n;o++){var r=t[o];if(r.ownerNode===e)return r}pt(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),Bt=function(){function e(e){var t=this.element=St(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var o=document.createTextNode(t),n=this.nodes[e];return this.element.insertBefore(o,n||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),kt=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Nt=dt,Lt={isServer:!dt,useCSSOMInjection:!mt},jt=function(){function e(e,t,o){void 0===e&&(e=lt),void 0===t&&(t={}),this.options=ot({},Lt,{},e),this.gs=t,this.names=new Map(o),this.server=!!e.isServer,!this.server&&dt&&Nt&&(Nt=!1,function(e){for(var t=document.querySelectorAll(_t),o=0,n=t.length;o<n;o++){var r=t[o];r&&"active"!==r.getAttribute(ut)&&(Ot(e,r),r.parentNode&&r.parentNode.removeChild(r))}}(this))}e.registerId=function(e){return ht(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,o){return void 0===o&&(o=!0),new e(ot({},this.options,{},t),this.gs,o&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(o=(t=this.options).isServer,n=t.useCSSOMInjection,r=t.target,e=o?new kt(r):n?new Pt(r):new Bt(r),new ft(e)));var e,t,o,n,r},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(ht(e),this.names.has(e))this.names.get(e).add(t);else{var o=new Set;o.add(t),this.names.set(e,o)}},t.insertRules=function(e,t,o){this.registerName(e,t),this.getTag().insertRules(ht(e),o)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(ht(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),o=t.length,n="",r=0;r<o;r++){var a=wt(r);if(void 0!==a){var l=e.names.get(a),i=t
|