wickes-css2 2.107.0-ripple.2 → 2.107.0-ripple.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/css/category-main.css +1 -1
- package/build/css/components/card-product-banner.css +1 -1
- package/build/css/components/checkout-chip.css +1 -1
- package/build/css/components/checkout-payment-details-v2.css +1 -1
- package/build/css/components/price-block-v2-critical.css +1 -1
- package/build/css/components/price-block-v2.css +1 -1
- package/build/css/components/special-opening-schedule-v2.css +1 -1
- package/build/css/components/special-opening-schedule.css +1 -1
- package/build/css/emulation.css +1 -1
- package/build/css/homepage-main.css +1 -1
- package/build/css/kitchen-plp-main.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -1
- package/build/css/my-account-main.css +1 -1
- package/build/css/pages/checkout-new.css +1 -1
- package/build/css/pages/my-account-v2.css +1 -1
- package/build/css/pages/page_checkout_delivery-new.css +1 -1
- package/build/css/pages/page_merged-basket.css +1 -1
- package/build/css/pages/page_personal-details.css +1 -1
- package/build/css/pages/page_product-details-v2-critical.css +1 -1
- package/build/css/pages/page_product-details-v2.css +1 -1
- package/build/css/pages/page_product-details.css +1 -1
- package/build/css/pages/page_products-list-combined.css +1 -1
- package/build/css/pages/page_products-list.css +1 -1
- package/build/css/pages/page_shopping-cart-v2.css +1 -1
- package/build/css/pages/page_store-locator-details.css +1 -1
- package/build/css/pages/page_store-locator.css +1 -1
- package/build/css/pdp-main-before-combine.css +1 -1
- package/build/css/pdp-main-critical.css +1 -1
- package/build/css/pdp-main-non-critical.css +1 -1
- package/build/css/pdp-main.css +1 -1
- package/build/css/plp-main.css +1 -1
- package/build/css/store-locator-main.css +1 -1
- package/build/js/account-hub.min.js +1 -1
- package/build/js/basket.min.js +2 -2
- package/build/js/bloomreach-widget.min.js +1 -0
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +2 -2
- package/build/js/components/general/accordion.js +69 -0
- package/build/js/components/general/back-to-top.js +45 -0
- package/build/js/components/general/backdrop.js +23 -0
- package/build/js/components/general/cart-slider.js +36 -0
- package/build/js/components/general/clamp-content.js +95 -0
- package/build/js/components/general/clamp.js +216 -0
- package/build/js/components/general/clear-input.js +33 -0
- package/build/js/components/general/cookie-chat-back.js +51 -0
- package/build/js/components/general/cookies-policy.js +9 -0
- package/build/js/components/general/create-popup-slider.js +194 -0
- package/build/js/components/general/device-type.js +6 -0
- package/build/js/components/general/footer.js +67 -0
- package/build/js/components/general/handleAccordion.js +35 -0
- package/build/js/components/general/image-accordion.js +54 -0
- package/build/js/components/general/is-trade-pro.js +38 -0
- package/build/js/components/general/main-nav.js +16 -0
- package/build/js/components/general/main-navigation.js +275 -0
- package/build/js/components/general/notification.js +70 -0
- package/build/js/components/general/offer-banner.js +74 -0
- package/build/js/components/general/scroll-disable.js +54 -0
- package/build/js/components/general/search.js +43 -0
- package/build/js/components/general/snack-bar.js +160 -0
- package/build/js/components/general/sticky_header.js +62 -0
- package/build/js/components/general/switchVat.js +161 -0
- package/build/js/components/general/text-clamp.js +102 -0
- package/build/js/components/general/tooltips.js +8 -0
- package/build/js/components/general/validation.js +48 -0
- package/build/js/emulation.min.js +3377 -164
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/gift-cards.min.js +1 -1
- package/build/js/kitchen/kitchen-plp.min.js +1 -1
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/mini-basket-slider.min.js +1 -1
- package/build/js/package-bulk-add.min.js +1 -0
- package/build/js/page/basket/mini-basket-total.js +17 -2
- package/build/js/page/bloomreach-widget.js +1148 -0
- package/build/js/page/checkout-payment-details.js +12 -1
- package/build/js/page/checkout.js +1 -1
- package/build/js/page/components/notify-me.js +99 -0
- package/build/js/page/components/order-summary.js +35 -0
- package/build/js/page/plp-load-more.js +81 -66
- package/build/js/page/ripple/bulk-add.js +63 -0
- package/build/js/page/ripple/package-bulk-add.js +43 -0
- package/build/js/page/ripple/postcode-checker.js +83 -0
- package/build/js/page/ripple/thumb-gallery.js +168 -0
- package/build/js/page/utils/create-count-stepper.js +30 -9
- package/build/js/page/utils/create-loading-button.js +37 -0
- package/build/js/page/utils/create-toast.js +79 -0
- package/build/js/page/utils/custom-dropdown.js +80 -0
- package/build/js/pdp-count-stepper.min.js +1 -1
- package/build/js/pdp.bundle.min.js +2 -1
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/postcode-checker.min.js +1 -0
- package/build/js/project-list.min.js +1 -1
- package/build/js/saving-shopping-list.min.js +1 -1
- package/build/js/wickes-dc.js +1 -0
- package/package.json +1 -4
- package/src/badges-ripple.html +120 -0
- package/src/badges.html +9 -18
- package/src/components/base/button.hbs +23 -5
- package/src/components/bloomreach/complete-card-dropdown.hbs +47 -0
- package/src/components/bloomreach/complete-card-skeleton.hbs +19 -0
- package/src/components/bloomreach/complete-card.hbs +138 -0
- package/src/components/bloomreach/complete-divider.hbs +3 -0
- package/src/components/bloomreach/complete-summary-skeleton.hbs +12 -0
- package/src/components/bloomreach/complete-summary.hbs +43 -0
- package/src/components/bloomreach/complete-wrapper.hbs +1 -0
- package/src/components/bloomreach/complete-your-project.hbs +21 -0
- package/src/components/card-store-locator.hbs +70 -33
- package/src/components/card_bloomreach_media_banner.hbs +10 -0
- package/src/components/card_product_banner_v2.hbs +4 -1
- package/src/components/card_sponsor_banner.hbs +4 -1
- package/src/components/cart-voucher.hbs +10 -1
- package/src/components/checkout_order-summary-new.hbs +11 -2
- package/src/components/click-and-collect-modal.hbs +0 -14
- package/src/components/date-selection.hbs +1 -1
- package/src/components/delivery-types.hbs +11 -3
- package/src/components/fulfilment-accordions.hbs +1 -1
- package/src/components/gift-cards.hbs +1 -1
- package/src/components/injected-content.hbs +6 -1
- package/src/components/kitchen/price.hbs +49 -29
- package/src/components/kitchen/strip-stickers.hbs +9 -3
- package/src/components/modal.hbs +1 -1
- package/src/components/modals/notify-me-modal.hbs +76 -0
- package/src/components/order-item.hbs +18 -5
- package/src/components/order-summary.hbs +2 -2
- package/src/components/package-card.hbs +30 -0
- package/src/components/pdp-price-actions.hbs +17 -0
- package/src/components/postcode-checker.hbs +24 -0
- package/src/components/potential-promotion.hbs +12 -3
- package/src/components/price-badges.hbs +14 -0
- package/src/components/price-block-v2.hbs +91 -31
- package/src/components/product-main-info-v2.hbs +2 -0
- package/src/components/sponsor-top-banner.hbs +10 -0
- package/src/components/suite-includes.hbs +43 -12
- package/src/components/suite-product-card.hbs +37 -15
- package/src/components/thumb-gallery.hbs +23 -0
- package/src/data/data_badges.json +143 -0
- package/src/data/data_bathroom-plp.json +814 -0
- package/src/data/data_delivery-address-v2.json +1 -1
- package/src/data/data_locators.json +441 -135
- package/src/data/data_search-results_v2.json +20 -2
- package/src/data/data_shopping-cart-v2.json +23 -5
- package/src/data/data_spr_injected_content.json +4 -0
- package/src/data/data_suite-includes-products.json +73 -2
- package/src/elements/checkbox.hbs +8 -1
- package/src/js/components/banner-placement-manager.js +25 -9
- package/src/js/components/general/accordion.js +25 -2
- package/src/js/components/general/cart-slider.js +19 -6
- package/src/js/components/package-card.js +69 -0
- package/src/js/components/store-locator-cards.js +76 -0
- package/src/js/emulation/banner-placement-manager.js +285 -53
- package/src/js/emulation/bloomreach-widget-calculations.js +132 -0
- package/src/js/emulation/bloomreach-widget-loading.js +11 -0
- package/src/js/emulation/checkout-delivery-details.js +28 -25
- package/src/js/emulation/custom-slider-emulation.js +1 -1
- package/src/js/emulation/date-selection.js +136 -24
- package/src/js/emulation/forms.js +12 -0
- package/src/js/emulation/gift-cards.js +1 -1
- package/src/js/emulation/mini-basket-data.js +3 -3
- package/src/js/emulation/mock.js +3112 -4
- package/src/js/emulation/notify-me.js +9 -0
- package/src/js/emulation/plp-load-more.js +13 -4
- package/src/js/emulation/postcode-checker.js +11 -0
- package/src/js/emulation/store-locator-load-more.js +69 -0
- package/src/js/emulation/switchCalendar.js +12 -8
- package/src/js/page/basket/mini-basket-total.js +17 -2
- package/src/js/page/bloomreach-widget.js +1148 -0
- package/src/js/page/checkout-payment-details.js +12 -1
- package/src/js/page/checkout.js +1 -1
- package/src/js/page/components/notify-me.js +99 -0
- package/src/js/page/components/order-summary.js +35 -0
- package/src/js/page/plp-load-more.js +81 -66
- package/src/js/page/ripple/bulk-add.js +63 -0
- package/src/js/page/ripple/package-bulk-add.js +43 -0
- package/src/js/page/ripple/postcode-checker.js +83 -0
- package/src/js/page/ripple/thumb-gallery.js +168 -0
- package/src/js/page/utils/create-count-stepper.js +30 -9
- package/src/js/page/utils/create-loading-button.js +37 -0
- package/src/js/page/utils/create-toast.js +79 -0
- package/src/js/page/utils/custom-dropdown.js +80 -0
- package/src/page_bathroom-plp-vat.html +81 -0
- package/src/page_bathroom-plp-without-load-more.html +83 -0
- package/src/page_bathroom-plp.html +98 -0
- package/src/page_checkout_next-day-delivery-details.html +2 -2
- package/src/page_checkout_payment-details-v2-asm.html +1 -1
- package/src/page_checkout_payment-details-v2.html +1 -1
- package/src/page_checkout_payment-details_with-card-loader.html +1 -1
- package/src/page_checkout_payment-details_with-klarna-loader.html +1 -1
- package/src/page_checkout_payment-details_with-loader-v2.html +1 -1
- package/src/page_checkout_rapid-delivery-details.html +7 -5
- package/src/page_klarna_payment-details_with-klarna.html +1 -1
- package/src/page_my-account-installer-carousel.html +131 -0
- package/src/page_payment-details-with-billie.html +1 -1
- package/src/page_payment-details-with-clearpay.html +1 -1
- package/src/page_payment-details-with-gift-card.html +1 -1
- package/src/page_payment-details_with_apple-pay.html +1 -1
- package/src/page_payment-details_with_google-pay.html +1 -1
- package/src/page_plp_bloomreach.html +81 -0
- package/src/page_plp_v2.html +6 -0
- package/src/page_product-details-banner.html +1 -4
- package/src/page_product-details-big-wins-disabled-delivery.html +1 -4
- package/src/page_product-details-big-wins-non-registered.html +1 -4
- package/src/page_product-details-big-wins-out-nearest.html +1 -4
- package/src/page_product-details-big-wins-unhappy.html +1 -4
- package/src/page_product-details-big-wins.html +1 -4
- package/src/page_product-details-billie.html +1 -4
- package/src/page_product-details-bloomreach.html +130 -0
- package/src/page_product-details-calculator.html +1 -4
- package/src/page_product-details-cashback-v2.html +1 -4
- package/src/page_product-details-clearpay.html +1 -4
- package/src/page_product-details-cnc-error-notification.html +1 -4
- package/src/page_product-details-cnc-success-notification-vat.html +1 -5
- package/src/page_product-details-cnc-success-notification.html +1 -4
- package/src/page_product-details-default-store.html +1 -4
- package/src/page_product-details-energy-efficiency.html +1 -4
- package/src/page_product-details-flooring-with-pr-placeholder.html +1 -4
- package/src/page_product-details-flooring.html +1 -4
- package/src/page_product-details-gallery-actual.html +1 -4
- package/src/page_product-details-mfe-calculator.html +10 -7
- package/src/page_product-details-minimum-v2.html +0 -1
- package/src/page_product-details-mtm-doors.html +1 -4
- package/src/page_product-details-only-clearpay.html +1 -4
- package/src/page_product-details-paint-mixing.html +1 -4
- package/src/page_product-details-ripple-gallery.html +119 -0
- package/src/page_product-details-saved-pl.html +1 -4
- package/src/page_product-details-suite-includes-banners.html +139 -0
- package/src/page_product-details-suite-includes-vat.html +126 -0
- package/src/page_product-details-suite-includes.html +32 -20
- package/src/page_product-details-tile-steps-klarna-widget-with-method-ids.html +1 -4
- package/src/page_product-details-tile-steps-logout.html +1 -4
- package/src/page_product-details-tile-steps-no-new-project-list.html +1 -4
- package/src/page_product-details-tile-steps-with-klarna.html +1 -4
- package/src/page_product-details-tile-steps.html +1 -4
- package/src/page_product-details-v2.html +1 -4
- package/src/page_product-details-vat.html +1 -4
- package/src/page_product-details-wisdom-mcfc-registered.html +1 -4
- package/src/page_product-details-wisdom-mcfc.html +1 -4
- package/src/page_product-details-wisdom-oos-registered.html +1 -4
- package/src/page_product-details-wisdom-oos.html +1 -4
- package/src/page_product-details-wisdom-registered.html +1 -4
- package/src/page_product-details-wisdom.html +1 -4
- package/src/page_product-details-with-favourite.html +1 -4
- package/src/page_product-details-with-global-search-v2.html +8 -4
- package/src/page_product-details_no-previous-default.html +1 -4
- package/src/page_shopping-cart-v2-vat.html +2 -1
- package/src/page_store-locator-list.html +17 -28
- package/src/page_track-my-order-result.html +1 -0
- package/src/partials/scripts.hbs +1 -0
- package/src/scss/common/_CTAs.scss +7 -3
- package/src/scss/common/_common.scss +1 -0
- package/src/scss/common/_elements.scss +13 -1
- package/src/scss/common/_loading-button.scss +49 -0
- package/src/scss/components/_card-store-locator.scss +139 -32
- package/src/scss/components/_custom-slider.scss +18 -0
- package/src/scss/components/_date-selection-add-new-styles.scss +43 -1
- package/src/scss/components/_image-accordion.scss +5 -2
- package/src/scss/components/_kitchen-card.scss +5 -4
- package/src/scss/components/_notifications.scss +86 -5
- package/src/scss/components/_notify-me-modal.scss +139 -0
- package/src/scss/components/_order-summary.scss +25 -12
- package/src/scss/components/_package-card.scss +63 -0
- package/src/scss/components/_package-plp.scss +88 -0
- package/src/scss/components/_pdp-action-v2-critical.scss +12 -0
- package/src/scss/components/_pdp-action-v2.scss +12 -0
- package/src/scss/components/_postcode-checker.scss +115 -0
- package/src/scss/components/_price-badges-critical.scss +10 -1
- package/src/scss/components/_price-badges.scss +10 -2
- package/src/scss/components/_price-block-critical.scss +11 -3
- package/src/scss/components/_price-block.scss +15 -4
- package/src/scss/components/_suite-includes.scss +29 -26
- package/src/scss/components/_suite-product-card.scss +33 -23
- package/src/scss/components/_thumb-gallery-critical.scss +34 -0
- package/src/scss/components/_thumb-gallery.scss +192 -0
- package/src/scss/components/bloomreach/_bloomreach.scss +3 -0
- package/src/scss/components/bloomreach/_complete-card-dropdown.scss +174 -0
- package/src/scss/components/bloomreach/_complete-card.scss +402 -0
- package/src/scss/components/bloomreach/_complete-your-project.scss +207 -0
- package/src/scss/components/card-product-banner.scss +35 -27
- package/src/scss/components/checkout-chip.scss +1 -0
- package/src/scss/components/checkout-payment-details-v2.scss +12 -0
- package/src/scss/components/kitchen/_price.scss +10 -0
- package/src/scss/components/kitchen/_strip-stickers.scss +46 -0
- package/src/scss/components/my-account/_clipboard-code.scss +4 -0
- package/src/scss/components/price-block-v2-critical.scss +54 -1
- package/src/scss/components/price-block-v2.scss +54 -3
- package/src/scss/components/special-opening-schedule-v2.scss +2 -6
- package/src/scss/components/special-opening-schedule.scss +17 -4
- package/src/scss/emulation.scss +0 -6
- package/src/scss/helpers/_CTAs.scss +15 -5
- package/src/scss/helpers/_variables.scss +1 -0
- package/src/scss/pages/page_checkout_delivery-new.scss +36 -0
- package/src/scss/pages/page_product-details-v2-critical.scss +217 -111
- package/src/scss/pages/page_product-details-v2.scss +200 -109
- package/src/scss/pages/page_product-details.scss +0 -2
- package/src/scss/pages/page_products-list-combined.scss +8 -1
- package/src/scss/pages/page_products-list.scss +8 -1
- package/src/scss/pages/page_shopping-cart-v2.scss +34 -10
- package/src/scss/pages/page_store-locator.scss +48 -26
- package/src/scss/pdp-main-critical.scss +1 -1
- package/src/scss/pdp-main.scss +5 -1
- package/src/scss/plp-main.scss +5 -0
- package/src/scss/store-locator-main.scss +15 -1
- package/src/sitemap.html +15 -0
- package/build/css/components/kitchen/strip-stickers.css +0 -1
- package/build/css/components/strip-stickers.css +0 -1
- package/src/js/emulation/store-locator-list.js +0 -19
- package/src/scss/components/kitchen/strip-stickers.scss +0 -18
- package/src/scss/components/strip-stickers.scss +0 -18
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
var Wick = window.Wick || {};
|
|
2
|
+
|
|
3
|
+
Wick.ThumbGallery = (function () {
|
|
4
|
+
const BASE_URL = 'https://media.wickes.co.uk/image/upload/';
|
|
5
|
+
const productName = window.pdpProduct && window.pdpProduct.name ? window.pdpProduct.name : '';
|
|
6
|
+
|
|
7
|
+
const IMG_BREAKPOINTS = [
|
|
8
|
+
{ media: '(max-width: 576px)', w: 576, h: 324 },
|
|
9
|
+
{ media: '(max-width: 768px)', w: 510, h: 287 },
|
|
10
|
+
{ media: '(max-width: 992px)', w: 310, h: 174 },
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
const MAIN_DEFAULT = { w: 710, h: 399 };
|
|
14
|
+
const THUMB = { w: 100, h: 56 };
|
|
15
|
+
|
|
16
|
+
function buildCloudinaryUrl(publicId, w, h) {
|
|
17
|
+
const transforms = `b_rgb:FFFFFF,c_pad,dpr_1.0,f_jpg,h_${h},q_auto:good,w_${w}`;
|
|
18
|
+
return `${BASE_URL}${transforms}/c_pad,h_${h},w_${w}/v1/${publicId}?pgw=1`;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function parseIdentifiers(hybrisString) {
|
|
22
|
+
return hybrisString
|
|
23
|
+
.trim()
|
|
24
|
+
.slice(1, hybrisString.length - 1)
|
|
25
|
+
.split(',')
|
|
26
|
+
.map((s) => s.trim())
|
|
27
|
+
.filter(Boolean);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function generateMainSlideHtml(publicId) {
|
|
31
|
+
const sources = IMG_BREAKPOINTS.map(
|
|
32
|
+
(bp) =>
|
|
33
|
+
`<source srcset="${buildCloudinaryUrl(publicId, bp.w, bp.h)}" media="${bp.media}">`
|
|
34
|
+
).join('\n ');
|
|
35
|
+
|
|
36
|
+
return `<div class="thumb-gallery__slide-wrapper swiper-slide">
|
|
37
|
+
<picture>
|
|
38
|
+
${sources}
|
|
39
|
+
<img class="swiper-slide-main" src="${buildCloudinaryUrl(publicId, MAIN_DEFAULT.w, MAIN_DEFAULT.h)}" alt="${productName}">
|
|
40
|
+
</picture>
|
|
41
|
+
</div>`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function generateThumbSlideHtml(publicId) {
|
|
45
|
+
return `<div class="thumb-gallery__slide-wrapper swiper-slide">
|
|
46
|
+
<img class="swiper-slide-thumbs" src="${buildCloudinaryUrl(publicId, THUMB.w, THUMB.h)}" alt="${productName}">
|
|
47
|
+
</div>`;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const SELECTORS = {
|
|
51
|
+
galleryCarousel: '.thumb-gallery',
|
|
52
|
+
swiperContainerMain: '.swiper-container-main',
|
|
53
|
+
swiperContainerThumbs: '.swiper-container-thumbs',
|
|
54
|
+
swiperMainWrapper: '.swiper-container-main .swiper-wrapper',
|
|
55
|
+
swiperThumbsWrapper: '.swiper-container-thumbs .swiper-wrapper',
|
|
56
|
+
nextBtn: '.thumb-gallery__next-btn',
|
|
57
|
+
prevBtn: '.thumb-gallery__prev-btn',
|
|
58
|
+
thumbNextBtn: '.swiper-container-thumbs__next-btn',
|
|
59
|
+
thumbPrevBtn: '.swiper-container-thumbs__prev-btn',
|
|
60
|
+
swiperSlide: '.swiper-slide',
|
|
61
|
+
activeThumbClass: 'swiper-true-active',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const THUMBS_SWIPER_CONFIG = {
|
|
65
|
+
spaceBetween: 8,
|
|
66
|
+
slidesPerView: 8,
|
|
67
|
+
watchSlidesVisibility: true,
|
|
68
|
+
watchSlidesProgress: true,
|
|
69
|
+
watchOverflow: true,
|
|
70
|
+
observer: true,
|
|
71
|
+
observeParents: true,
|
|
72
|
+
simulateTouch: false,
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const THUMBS_BREAKPOINTS = {
|
|
76
|
+
991: { slidesPerView: 5 },
|
|
77
|
+
767: { allowTouchMove: true, slidesPerView: 5 },
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const MAIN_SWIPER_CONFIG = {
|
|
81
|
+
speed: 400,
|
|
82
|
+
slidesPerView: 1,
|
|
83
|
+
loop: true,
|
|
84
|
+
observer: true,
|
|
85
|
+
observeParents: true,
|
|
86
|
+
simulateTouch: false,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
function handleThumbClick(swiper) {
|
|
90
|
+
return function () {
|
|
91
|
+
const clickedIndex = $(this).index();
|
|
92
|
+
swiper.slideToLoop(clickedIndex);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function updateActiveThumbnail(swiper, thumbsSwiper) {
|
|
97
|
+
const activeIndex = swiper.realIndex;
|
|
98
|
+
thumbsSwiper.slides.removeClass(SELECTORS.activeThumbClass);
|
|
99
|
+
thumbsSwiper.slides.eq(activeIndex).addClass(SELECTORS.activeThumbClass);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function getThumbsConfig($thumbNextBtn, $thumbPrevBtn) {
|
|
103
|
+
return {
|
|
104
|
+
...THUMBS_SWIPER_CONFIG,
|
|
105
|
+
navigation: {
|
|
106
|
+
nextEl: $thumbNextBtn[0],
|
|
107
|
+
prevEl: $thumbPrevBtn[0],
|
|
108
|
+
},
|
|
109
|
+
breakpoints: { ...THUMBS_BREAKPOINTS },
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function getMainSwiperConfig($nextBtn, $prevBtn, thumbsSwiper, onSlideChange) {
|
|
114
|
+
return {
|
|
115
|
+
...MAIN_SWIPER_CONFIG,
|
|
116
|
+
navigation: {
|
|
117
|
+
nextEl: $nextBtn[0],
|
|
118
|
+
prevEl: $prevBtn[0],
|
|
119
|
+
},
|
|
120
|
+
thumbs: { swiper: thumbsSwiper },
|
|
121
|
+
on: { slideChange: onSlideChange },
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function initializeCarousel($slider, ids) {
|
|
126
|
+
$slider.find(SELECTORS.swiperMainWrapper).html(ids.map(generateMainSlideHtml).join('\n'));
|
|
127
|
+
$slider
|
|
128
|
+
.find(SELECTORS.swiperThumbsWrapper)
|
|
129
|
+
.html(ids.map(generateThumbSlideHtml).join('\n'));
|
|
130
|
+
|
|
131
|
+
const $container = $slider.find(SELECTORS.swiperContainerMain);
|
|
132
|
+
const $nextBtn = $slider.find(SELECTORS.nextBtn);
|
|
133
|
+
const $prevBtn = $slider.find(SELECTORS.prevBtn);
|
|
134
|
+
|
|
135
|
+
const $thumbContainer = $slider.find(SELECTORS.swiperContainerThumbs);
|
|
136
|
+
const $thumbNextBtn = $slider.find(SELECTORS.thumbNextBtn);
|
|
137
|
+
const $thumbPrevBtn = $slider.find(SELECTORS.thumbPrevBtn);
|
|
138
|
+
|
|
139
|
+
const thumbsSwiper = new Swiper(
|
|
140
|
+
$thumbContainer[0],
|
|
141
|
+
getThumbsConfig($thumbNextBtn, $thumbPrevBtn)
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
const swiper = new Swiper(
|
|
145
|
+
$container[0],
|
|
146
|
+
getMainSwiperConfig($nextBtn, $prevBtn, thumbsSwiper, () => {
|
|
147
|
+
updateActiveThumbnail(swiper, thumbsSwiper);
|
|
148
|
+
})
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
$thumbContainer.on('click', SELECTORS.swiperSlide, handleThumbClick(swiper));
|
|
152
|
+
updateActiveThumbnail(swiper, thumbsSwiper);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
function init(hybrisString) {
|
|
156
|
+
const ids = parseIdentifiers(hybrisString);
|
|
157
|
+
|
|
158
|
+
if (ids.length < 2) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
$(SELECTORS.galleryCarousel).each(function (_, slider) {
|
|
163
|
+
initializeCarousel($(slider), ids);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return { init };
|
|
168
|
+
})();
|
|
@@ -18,7 +18,8 @@ function normalizeOptions(options) {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function toInt(value) {
|
|
21
|
-
const n = parseInt(
|
|
21
|
+
const n = parseInt(`${value || ''}`.trim(), 10);
|
|
22
|
+
|
|
22
23
|
return Number.isFinite(n) ? n : NaN;
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -28,6 +29,7 @@ function clampMin(n, min) {
|
|
|
28
29
|
|
|
29
30
|
function ensureQty(value, fallback) {
|
|
30
31
|
const n = toInt(value);
|
|
32
|
+
|
|
31
33
|
return Number.isFinite(n) ? n : fallback;
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -58,12 +60,15 @@ function updateButtons($input, opt) {
|
|
|
58
60
|
|
|
59
61
|
const $minus = getMinusBtn($wrap);
|
|
60
62
|
|
|
61
|
-
if ($minus.length)
|
|
63
|
+
if ($minus.length) {
|
|
64
|
+
$minus.prop('disabled', qty <= opt.min);
|
|
65
|
+
}
|
|
62
66
|
}
|
|
63
67
|
|
|
64
68
|
function setQty($input, opt, qty) {
|
|
65
69
|
const next = clampMin(qty, opt.min);
|
|
66
|
-
|
|
70
|
+
|
|
71
|
+
$input.val(`${next}`);
|
|
67
72
|
updateButtons($input, opt);
|
|
68
73
|
|
|
69
74
|
if (typeof opt.onChange === 'function') {
|
|
@@ -83,11 +88,13 @@ function ensureButtons($input, opt) {
|
|
|
83
88
|
if (!hasMinus) {
|
|
84
89
|
$input.before(buildBtn('minus', true));
|
|
85
90
|
}
|
|
91
|
+
|
|
86
92
|
if (!hasPlus) {
|
|
87
93
|
$input.after(buildBtn('plus', false));
|
|
88
94
|
}
|
|
89
95
|
|
|
90
96
|
const initial = ensureQty($input.val(), opt.min);
|
|
97
|
+
|
|
91
98
|
setQty($input, opt, initial);
|
|
92
99
|
}
|
|
93
100
|
|
|
@@ -95,16 +102,24 @@ function getInputs($root, inputSel) {
|
|
|
95
102
|
const $scope = $root && $root.length ? $root : $(document);
|
|
96
103
|
const $self = $scope.is(inputSel) ? $scope : $();
|
|
97
104
|
const $found = $scope.find(inputSel);
|
|
105
|
+
|
|
98
106
|
return $self.add($found);
|
|
99
107
|
}
|
|
100
108
|
|
|
109
|
+
function getNamespace(inputSel) {
|
|
110
|
+
return `.countStepper_${inputSel.replace(/[^a-zA-Z0-9_-]/g, '')}`;
|
|
111
|
+
}
|
|
112
|
+
|
|
101
113
|
// ===== FACTORY =====
|
|
102
114
|
|
|
103
115
|
export function createCountStepper(options = {}) {
|
|
104
116
|
const OPT = normalizeOptions(options);
|
|
105
|
-
if (!OPT.inputSel) throw new Error('[createCountStepper] Missing inputSel');
|
|
106
117
|
|
|
107
|
-
|
|
118
|
+
if (!OPT.inputSel) {
|
|
119
|
+
throw new Error('[createCountStepper] Missing inputSel');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const NS = getNamespace(OPT.inputSel);
|
|
108
123
|
|
|
109
124
|
function init($root) {
|
|
110
125
|
getInputs($root, OPT.inputSel).each(function () {
|
|
@@ -112,7 +127,6 @@ export function createCountStepper(options = {}) {
|
|
|
112
127
|
});
|
|
113
128
|
}
|
|
114
129
|
|
|
115
|
-
// +/- click
|
|
116
130
|
$(document)
|
|
117
131
|
.off(`click${NS}`, '[data-count-btn]')
|
|
118
132
|
.on(`click${NS}`, '[data-count-btn]', function (e) {
|
|
@@ -120,15 +134,22 @@ export function createCountStepper(options = {}) {
|
|
|
120
134
|
const $parent = $btn.parent();
|
|
121
135
|
const $input = $parent.find(OPT.inputSel).first();
|
|
122
136
|
|
|
123
|
-
if (!$input.length)
|
|
137
|
+
if (!$input.length) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
124
140
|
|
|
125
141
|
e.preventDefault();
|
|
126
142
|
|
|
127
143
|
const type = ($btn.attr('data-count-type') || '').toLowerCase();
|
|
128
144
|
const current = ensureQty($input.val(), OPT.min);
|
|
129
145
|
|
|
130
|
-
if (type === 'plus')
|
|
131
|
-
|
|
146
|
+
if (type === 'plus') {
|
|
147
|
+
setQty($input, OPT, current + 1);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (type === 'minus') {
|
|
151
|
+
setQty($input, OPT, current - 1);
|
|
152
|
+
}
|
|
132
153
|
});
|
|
133
154
|
|
|
134
155
|
$(document)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function createLoadingButton(config = {}) {
|
|
2
|
+
const settings = {
|
|
3
|
+
text: '.loading-button__text',
|
|
4
|
+
loader: '.loading-button__loader',
|
|
5
|
+
loadingClass: 'loading-button--loading',
|
|
6
|
+
...config,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
function setLoading($button, isLoading) {
|
|
10
|
+
if (!$button.length) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
$button.toggleClass(settings.loadingClass, isLoading);
|
|
15
|
+
$button.find(settings.text).toggleClass('d-none', isLoading);
|
|
16
|
+
$button.find(settings.loader).toggleClass('d-none', !isLoading);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function start($button) {
|
|
20
|
+
setLoading($button, true);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function stop($button) {
|
|
24
|
+
setLoading($button, false);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function isLoading($button) {
|
|
28
|
+
return $button.hasClass(settings.loadingClass);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
setLoading,
|
|
33
|
+
start,
|
|
34
|
+
stop,
|
|
35
|
+
isLoading,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export function createToast(config = {}) {
|
|
2
|
+
const settings = {
|
|
3
|
+
containerClass: 'toast-container',
|
|
4
|
+
toastClass: 'toast',
|
|
5
|
+
closeSelector: '.notification__close',
|
|
6
|
+
backdropClass: 'modal-backdrop--toast',
|
|
7
|
+
duration: 3000,
|
|
8
|
+
template: null,
|
|
9
|
+
getData(type, text) {
|
|
10
|
+
return {
|
|
11
|
+
text,
|
|
12
|
+
classModifier: `${settings.toastClass} notification_${type}`,
|
|
13
|
+
success: type === 'success',
|
|
14
|
+
warning: type === 'warning',
|
|
15
|
+
error: type === 'error',
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
...config,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
let closeTimer = null;
|
|
22
|
+
|
|
23
|
+
function clearCloseTimer() {
|
|
24
|
+
if (closeTimer) {
|
|
25
|
+
window.clearTimeout(closeTimer);
|
|
26
|
+
closeTimer = null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function hide() {
|
|
31
|
+
clearCloseTimer();
|
|
32
|
+
|
|
33
|
+
$(`.${settings.containerClass}`).remove();
|
|
34
|
+
$(`.${settings.backdropClass}`).removeClass(settings.backdropClass);
|
|
35
|
+
|
|
36
|
+
if (window.Wick && Wick.Backdrop) {
|
|
37
|
+
Wick.Backdrop.hide();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
$(document).off('click.toast');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function show({ type = 'success', text = '' }) {
|
|
44
|
+
if (!settings.template) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
hide();
|
|
49
|
+
|
|
50
|
+
const toastHtml = settings.template(settings.getData(type, text));
|
|
51
|
+
|
|
52
|
+
if (window.Wick && Wick.Backdrop) {
|
|
53
|
+
Wick.Backdrop.show();
|
|
54
|
+
$('.modal-backdrop').addClass(settings.backdropClass);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
$('body').append(`<div class="${settings.containerClass}">${toastHtml}</div>`);
|
|
58
|
+
|
|
59
|
+
$(`.${settings.containerClass}`)
|
|
60
|
+
.off('click.toastClose', settings.closeSelector)
|
|
61
|
+
.on('click.toastClose', settings.closeSelector, function (event) {
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
hide();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
$(document)
|
|
67
|
+
.off('click.toast')
|
|
68
|
+
.on('click.toast', `.${settings.backdropClass}`, function () {
|
|
69
|
+
hide();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
closeTimer = window.setTimeout(hide, settings.duration);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return {
|
|
76
|
+
show,
|
|
77
|
+
hide,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export function createDropdown(config) {
|
|
2
|
+
const settings = {
|
|
3
|
+
root: '[data-dropdown]',
|
|
4
|
+
toggle: '[data-dropdown-toggle]',
|
|
5
|
+
value: '[data-dropdown-value]',
|
|
6
|
+
option: '[data-dropdown-option]',
|
|
7
|
+
openClass: 'dropdown--open',
|
|
8
|
+
selectedClass: 'dropdown__option--selected',
|
|
9
|
+
selectedValueData: 'selected-value',
|
|
10
|
+
ariaExpandedAttr: 'aria-expanded',
|
|
11
|
+
ariaSelectedAttr: 'aria-selected',
|
|
12
|
+
namespace: 'customDropdown',
|
|
13
|
+
onSelect: function () {},
|
|
14
|
+
...config,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
function closeAll() {
|
|
18
|
+
$(settings.root).each(function () {
|
|
19
|
+
const $dropdown = $(this);
|
|
20
|
+
const $toggle = $dropdown.find(settings.toggle);
|
|
21
|
+
|
|
22
|
+
$dropdown.removeClass(settings.openClass);
|
|
23
|
+
$toggle.attr(settings.ariaExpandedAttr, 'false');
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function selectOption($dropdown, $option) {
|
|
28
|
+
const $value = $dropdown.find(settings.value);
|
|
29
|
+
const $options = $dropdown.find(settings.option);
|
|
30
|
+
const selectedValue = $option.attr('data-value') || '';
|
|
31
|
+
|
|
32
|
+
$options.removeClass(settings.selectedClass).attr(settings.ariaSelectedAttr, 'false');
|
|
33
|
+
$option.addClass(settings.selectedClass).attr(settings.ariaSelectedAttr, 'true');
|
|
34
|
+
|
|
35
|
+
if ($value.length) {
|
|
36
|
+
$value.text($option.text().trim());
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
$dropdown.data(settings.selectedValueData, selectedValue);
|
|
40
|
+
|
|
41
|
+
settings.onSelect($dropdown, $option, selectedValue);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function bind() {
|
|
45
|
+
$(document).off(`click.${settings.namespace}`);
|
|
46
|
+
$(document).on(`click.${settings.namespace}`, function (event) {
|
|
47
|
+
const $target = $(event.target);
|
|
48
|
+
const $toggle = $target.closest(settings.toggle);
|
|
49
|
+
const $option = $target.closest(settings.option);
|
|
50
|
+
const $dropdown = $target.closest(settings.root);
|
|
51
|
+
|
|
52
|
+
if (!$dropdown.length) {
|
|
53
|
+
closeAll();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if ($toggle.length) {
|
|
58
|
+
const isOpen = $dropdown.hasClass(settings.openClass);
|
|
59
|
+
|
|
60
|
+
closeAll();
|
|
61
|
+
|
|
62
|
+
$dropdown.toggleClass(settings.openClass, !isOpen);
|
|
63
|
+
$toggle.attr(settings.ariaExpandedAttr, String(!isOpen));
|
|
64
|
+
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if ($option.length) {
|
|
69
|
+
selectOption($dropdown, $option);
|
|
70
|
+
closeAll();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return {
|
|
76
|
+
bind,
|
|
77
|
+
closeAll,
|
|
78
|
+
selectOption,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function r(o,a,i){function l(t,e){if(!a[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(s)return s(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=a[t]={exports:{}},o[t][0].call(n.exports,function(e){return l(o[t][1][e]||e)},n,n.exports,r,o,a,i)}return a[t].exports}for(var s="function"==typeof require&&require,e=0;e<i.length;e++)l(i[e]);return l}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}n.__esModule=!0;var a=o(e("./handlebars/base")),i=r(e("./handlebars/safe-string")),l=r(e("./handlebars/exception")),s=o(e("./handlebars/utils")),u=o(e("./handlebars/runtime")),e=r(e("./handlebars/no-conflict"));function c(){var t=new a.HandlebarsEnvironment;return s.extend(t,a),t.SafeString=i.default,t.Exception=l.default,t.Utils=s,t.escapeExpression=s.escapeExpression,t.VM=u,t.template=function(e){return u.template(e,t)},t}var p=c();p.create=c,e.default(p),p.default=p,n.default=p,t.exports=n.default},{"./handlebars/base":2,"./handlebars/exception":5,"./handlebars/no-conflict":18,"./handlebars/runtime":19,"./handlebars/safe-string":20,"./handlebars/utils":21}],2:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.HandlebarsEnvironment=p;var o=e("./utils"),a=r(e("./exception")),i=e("./helpers"),l=e("./decorators"),s=r(e("./logger")),u=e("./internal/proto-access"),c=(n.VERSION="4.7.8",n.COMPILER_REVISION=8,n.LAST_COMPATIBLE_COMPILER_REVISION=7,n.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"},"[object Object]");function p(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},i.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}p.prototype={constructor:p,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(o.toString.call(e)===c){if(t)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(o.toString.call(e)===c)o.extend(this.partials,e);else{if(void 0===t)throw new a.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(o.toString.call(e)===c){if(t)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){u.resetLoggedProperties()}};e=s.default.log;n.log=e,n.createFrame=o.createFrame,n.logger=s.default},{"./decorators":3,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./logger":17,"./utils":21}],3:[function(e,t,n){"use strict";n.__esModule=!0,n.registerDefaultDecorators=function(e){r.default(e)};var n=e("./decorators/inline"),r=(e=n)&&e.__esModule?e:{default:e}},{"./decorators/inline":4}],4:[function(e,t,n){"use strict";n.__esModule=!0;var i=e("../utils");n.default=function(e){e.registerDecorator("inline",function(r,o,a,e){var t=r;return o.partials||(o.partials={},t=function(e,t){var n=a.partials,e=(a.partials=i.extend({},n,o.partials),r(e,t));return a.partials=n,e}),o.partials[e.args[0]]=e.fn,t})},t.exports=n.default},{"../utils":21}],5:[function(e,t,n){"use strict";n.__esModule=!0;var s=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function u(e,t){for(var t=t&&t.loc,n=void 0,r=void 0,o=void 0,a=void 0,i=(t&&(n=t.start.line,r=t.end.line,o=t.start.column,a=t.end.column,e+=" - "+n+":"+o),Error.prototype.constructor.call(this,e)),l=0;l<s.length;l++)this[s[l]]=i[s[l]];Error.captureStackTrace&&Error.captureStackTrace(this,u);try{t&&(this.lineNumber=n,this.endLineNumber=r,Object.defineProperty?(Object.defineProperty(this,"column",{value:o,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=o,this.endColumn=a))}catch(e){}}u.prototype=new Error,n.default=u,t.exports=n.default},{}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.registerDefaultHelpers=function(e){o.default(e),a.default(e),i.default(e),l.default(e),s.default(e),u.default(e),c.default(e)},n.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var o=r(e("./helpers/block-helper-missing")),a=r(e("./helpers/each")),i=r(e("./helpers/helper-missing")),l=r(e("./helpers/if")),s=r(e("./helpers/log")),u=r(e("./helpers/lookup")),c=r(e("./helpers/with"))},{"./helpers/block-helper-missing":7,"./helpers/each":8,"./helpers/helper-missing":9,"./helpers/if":10,"./helpers/log":11,"./helpers/lookup":12,"./helpers/with":13}],7:[function(e,t,n){"use strict";n.__esModule=!0;var a=e("../utils");n.default=function(o){o.registerHelper("blockHelperMissing",function(e,t){var n=t.inverse,r=t.fn;return!0===e?r(this):!1===e||null==e?n(this):a.isArray(e)?0<e.length?(t.ids&&(t.ids=[t.name]),o.helpers.each(e,t)):n(this):(t.data&&t.ids&&((n=a.createFrame(t.data)).contextPath=a.appendContextPath(t.data.contextPath,t.name),t={data:n}),r(e,t))})},t.exports=n.default},{"../utils":21}],8:[function(e,t,n){"use strict";n.__esModule=!0;var h=e("../utils"),e=e("../exception"),m=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("each",function(r,e){if(!e)throw new m.default("Must pass iterator to #each");var t,o=e.fn,n=e.inverse,a=0,i="",l=void 0,s=void 0;function u(e,t,n){l&&(l.key=e,l.index=t,l.first=0===t,l.last=!!n,s)&&(l.contextPath=s+e),i+=o(r[e],{data:l,blockParams:h.blockParams([r[e],e],[s+e,null])})}if(e.data&&e.ids&&(s=h.appendContextPath(e.data.contextPath,e.ids[0])+"."),h.isFunction(r)&&(r=r.call(this)),e.data&&(l=h.createFrame(e.data)),r&&"object"==typeof r)if(h.isArray(r))for(var c=r.length;a<c;a++)a in r&&u(a,a,a===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var p=[],f=r[Symbol.iterator](),d=f.next();!d.done;d=f.next())p.push(d.value);for(c=(r=p).length;a<c;a++)u(a,a,a===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&u(t,a-1),t=e,a++}),void 0!==t&&u(t,a-1,!0);return i=0===a?n(this):i})},t.exports=n.default},{"../exception":5,"../utils":21}],9:[function(e,t,n){"use strict";n.__esModule=!0;var e=e("../exception"),r=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new r.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=n.default},{"../exception":5}],10:[function(e,t,n){"use strict";n.__esModule=!0;var r=e("../utils"),e=e("../exception"),o=(e=e)&&e.__esModule?e:{default:e};n.default=function(n){n.registerHelper("if",function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)}),n.registerHelper("unless",function(e,t){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return n.helpers.if.call(this,e,{fn:t.inverse,inverse:t.fn,hash:t.hash})})},t.exports=n.default},{"../exception":5,"../utils":21}],11:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(o){o.registerHelper("log",function(){for(var e=[void 0],t=arguments[arguments.length-1],n=0;n<arguments.length-1;n++)e.push(arguments[n]);var r=1;null!=t.hash.level?r=t.hash.level:t.data&&null!=t.data.level&&(r=t.data.level),e[0]=r,o.log.apply(o,e)})},t.exports=n.default},{}],12:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){e.registerHelper("lookup",function(e,t,n){return e&&n.lookupProperty(e,t)})},t.exports=n.default},{}],13:[function(e,t,n){"use strict";n.__esModule=!0;var o=e("../utils"),e=e("../exception"),a=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new a.default("#with requires exactly one argument");o.isFunction(e)&&(e=e.call(this));var n,r=t.fn;return o.isEmpty(e)?t.inverse(this):(n=t.data,t.data&&t.ids&&((n=o.createFrame(t.data)).contextPath=o.appendContextPath(t.data.contextPath,t.ids[0])),r(e,{data:n,blockParams:o.blockParams([e],[n&&n.contextPath])}))})},t.exports=n.default},{"../exception":5,"../utils":21}],14:[function(e,t,n){"use strict";n.__esModule=!0,n.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.extend.apply(void 0,[Object.create(null)].concat(t))};var r=e("../utils")},{"../utils":21}],15:[function(e,t,n){"use strict";n.__esModule=!0,n.createProtoAccessControl=function(e){var t=Object.create(null),n=(t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1,Object.create(null));return n.__proto__=!1,{properties:{whitelist:r.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:r.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},n.resultIsAllowed=function(e,t,n){return i("function"==typeof e?t.methods:t.properties,n)},n.resetLoggedProperties=function(){Object.keys(a).forEach(function(e){delete a[e]})};var r=e("./create-new-lookup-object"),n=e("../logger"),o=(e=n)&&e.__esModule?e:{default:e},a=Object.create(null);function i(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==a[e=t]&&(a[e]=!0,o.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},{"../logger":17,"./create-new-lookup-object":14}],16:[function(e,t,n){"use strict";n.__esModule=!0,n.wrapHelper=function(t,n){if("function"!=typeof t)return t;return function(){var e=arguments[arguments.length-1];return arguments[arguments.length-1]=n(e),t.apply(this,arguments)}}},{}],17:[function(e,t,n){"use strict";n.__esModule=!0;var r=e("./utils"),o={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=r.indexOf(o.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=o.lookupLevel(e),"undefined"!=typeof console&&o.lookupLevel(o.level)<=e){e=o.methodMap[e];console[e]||(e="log");for(var t=arguments.length,n=Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console[e].apply(console,n)}}};n.default=o,t.exports=n.default},{"./utils":21}],18:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},t.exports=n.default},{}],19:[function(e,t,n){"use strict";n.__esModule=!0,n.checkRevision=function(e){var t=e&&e[0]||1,n=f.COMPILER_REVISION;if(!(t>=f.LAST_COMPATIBLE_COMPILER_REVISION&&t<=f.COMPILER_REVISION))throw t<f.LAST_COMPATIBLE_COMPILER_REVISION?(n=f.REVISION_CHANGES[n],t=f.REVISION_CHANGES[t],new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+t+").")):new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},n.template=function(s,u){if(!u)throw new p.default("No environment passed to template");if(!s||!s.main)throw new p.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,u.VM.checkRevision(s.compiler);var n=s.compiler&&7===s.compiler[0];var i={strict:function(e,t,n){if(e&&t in e)return i.lookupProperty(e,t);throw new p.default('"'+t+'" not defined in '+e,{loc:n})},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||h.resultIsAllowed(n,i.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(null!=(e[r]&&i.lookupProperty(e[r],t)))return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:c.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=c.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=u.VM.resolvePartial.call(this,e,t,n);var r=c.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=u.VM.invokePartial.call(this,e,t,r);if(null==o&&u.compile&&(n.partials[n.name]=u.compile(e,s.compilerOptions,u),o=n.partials[n.name](t,r)),null==o)throw new p.default("The partial "+n.name+" could not be compiled when running in runtime-only mode");if(n.indent){for(var a=o.split("\n"),i=0,l=a.length;i<l&&(a[i]||i+1!==l);i++)a[i]=n.indent+a[i];o=a.join("\n")}return o},fn:function(e){var t=s[e];return t.decorator=s[e+"_d"],t},programs:[],program:function(e,t,n,r,o){var a=this.programs[e],i=this.fn(e);return a=t||o||r||n?m(this,e,i,t,n,r,o):a||(this.programs[e]=m(this,e,i))},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return n=e&&t&&e!==t?c.extend({},t,e):n},nullContext:Object.seal({}),noop:u.VM.noop,compilerInfo:s.compiler};function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.data,r=(l._setup(t),!t.partial&&s.useData&&(n=function(e,t){t&&"root"in t||((t=t?f.createFrame(t):{}).root=e);return t}(e,n)),void 0),o=s.useBlockParams?[]:void 0;function a(e){return""+s.main(i,e,i.helpers,i.partials,n,o,r)}return s.useDepths&&(r=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=g(s.main,a,i,t.depths||[],n,o))(e,t)}return l.isTop=!0,l._setup=function(e){var t,r,o;e.partial?(i.protoAccessControl=e.protoAccessControl,i.helpers=e.helpers,i.partials=e.partials,i.decorators=e.decorators,i.hooks=e.hooks):(t=c.extend({},u.helpers,e.helpers),r=t,o=i,Object.keys(r).forEach(function(e){var t,n=r[e];r[e]=(t=o.lookupProperty,d.wrapHelper(n,function(e){return c.extend({lookupProperty:t},e)}))}),i.helpers=t,s.usePartial&&(i.partials=i.mergeIfNeeded(e.partials,u.partials)),(s.usePartial||s.useDecorators)&&(i.decorators=c.extend({},u.decorators,e.decorators)),i.hooks={},i.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||n,a.moveHelperToHooks(i,"helperMissing",t),a.moveHelperToHooks(i,"blockHelperMissing",t))},l._child=function(e,t,n,r){if(s.useBlockParams&&!n)throw new p.default("must pass block params");if(s.useDepths&&!r)throw new p.default("must pass parent depths");return m(i,e,s[e],t,0,n,r)},l},n.wrapProgram=m,n.resolvePartial=function(e,t,n){e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name];return e},n.invokePartial=function(e,t,r){var o=r.data&&r.data["partial-block"];r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var a=void 0;r.fn&&r.fn!==i&&!function(){r.data=f.createFrame(r.data);var n=r.fn;a=r.data["partial-block"]=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.data=f.createFrame(t.data),t.data["partial-block"]=o,n(e,t)},n.partials&&(r.partials=c.extend({},r.partials,n.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new p.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=i;var c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e("./utils")),n=e("./exception"),p=(n=n)&&n.__esModule?n:{default:n},f=e("./base"),a=e("./helpers"),d=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(r,e,o,a,t,i,l){function n(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=l;return!l||e==l[0]||e===r.nullContext&&null===l[0]||(n=[e].concat(l)),o(r,e,r.helpers,r.partials,t.data||a,i&&[t.blockParams].concat(i),n)}return(n=g(o,n,r,l,a,i)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function i(){return""}function g(e,t,n,r,o,a){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],o,a,r),c.extend(t,e)),t}},{"./base":2,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./internal/wrapHelper":16,"./utils":21}],20:[function(e,t,n){"use strict";function r(e){this.string=e}n.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},n.default=r,t.exports=n.default},{}],21:[function(e,t,n){"use strict";n.__esModule=!0,n.extend=l,n.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},n.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return a.test(e)?e.replace(o,i):e},n.isEmpty=function(e){return!e&&0!==e||!(!c(e)||0!==e.length)},n.createFrame=function(e){var t=l({},e);return t._parent=e,t},n.blockParams=function(e,t){return e.path=t,e},n.appendContextPath=function(e,t){return(e?e+".":"")+t};var r={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},o=/[&<>"'`=]/g,a=/[&<>"'`=]/;function i(e){return r[e]}function l(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var s=Object.prototype.toString,u=(n.toString=s,function(e){return"function"==typeof e}),c=(u(/x/)&&(n.isFunction=u=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),n.isFunction=u,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});n.isArray=c},{}],22:[function(e,t,n){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":1}],23:[function(e,t,n){t.exports=e("handlebars/runtime").default},{"handlebars/runtime":22}],24:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,o){return"disabled"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var a,i=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",u=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button\n type="button"\n class="count-btn count-btn--'+u(typeof(a=null!=(a=c(n,"type")||(null!=t?c(t,"type"):t))?a:l)==s?a.call(i,{name:"type",hash:{},data:o,loc:{start:{line:3,column:32},end:{line:3,column:40}}}):a)+" "+u(typeof(a=null!=(a=c(n,"class")||(null!=t?c(t,"class"):t))?a:l)==s?a.call(i,{name:"class",hash:{},data:o,loc:{start:{line:3,column:41},end:{line:3,column:50}}}):a)+'"\n aria-label="'+u(typeof(a=null!=(a=c(n,"ariaLabel")||(null!=t?c(t,"ariaLabel"):t))?a:l)==s?a.call(i,{name:"ariaLabel",hash:{},data:o,loc:{start:{line:4,column:16},end:{line:4,column:29}}}):a)+'"\n data-count-btn\n data-count-type="'+u(typeof(a=null!=(a=c(n,"type")||(null!=t?c(t,"type"):t))?a:l)==s?a.call(i,{name:"type",hash:{},data:o,loc:{start:{line:6,column:21},end:{line:6,column:29}}}):a)+'"\n '+(null!=(e=c(n,"if").call(i,null!=t?c(t,"disabled"):t,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:4},end:{line:7,column:35}}}))?e:"")+'\n>\n <i class="far '+u(typeof(a=null!=(a=c(n,"icon")||(null!=t?c(t,"icon"):t))?a:l)==s?a.call(i,{name:"icon",hash:{},data:o,loc:{start:{line:9,column:16},end:{line:9,column:24}}}):a)+'" aria-hidden="true"></i>\n</button>\n'},useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,n){"use strict";var r=e("../utils/create-count-stepper"),o=window.Wick||{};o.PDPCountStepper={el:{input:"#quantity-field"},stepper:null,init:function(){o.PDPCountStepper.stepper=(0,r.createCountStepper)({inputSel:o.PDPCountStepper.el.input,min:1,max:99,onChange:function(e,t){$(t).trigger("change")}}),o.PDPCountStepper.stepper.init($(document))}},$(document).ready(function(){$(o.PDPCountStepper.el.input).length&&o.PDPCountStepper.init()})},{"../utils/create-count-stepper":26}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createCountStepper=function(){var e,o=function(e){return function(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach(function(e){var t,n;t=r,n=o[e=e],(e=function(e){e=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===a(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}({inputSel:"#quantity-field",min:1,enhancedInputClass:"count-stepper__input",enhancedParentClass:"count-stepper",onChange:null},e)}(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{});if(o.inputSel)return e=".cnt_".concat(Math.random().toString(16).slice(2)),$(document).off("click".concat(e),"[data-count-btn]").on("click".concat(e),"[data-count-btn]",function(e){var t=$(this),n=t.parent().find(o.inputSel).first();n.length&&(e.preventDefault(),e=(t.attr("data-count-type")||"").toLowerCase(),t=l(n.val(),o.min),"plus"===e&&f(n,o,t+1),"minus"===e)&&f(n,o,t-1)}),$(document).off("input".concat(e," change").concat(e),o.inputSel).on("input".concat(e," change").concat(e),o.inputSel,function(){p($(this),o)}),{init:function(e){!function(e,t){var e=e&&e.length?e:$(document),n=e.is(t)?e:$(),e=e.find(t);return n.add(e)}(e,o.inputSel).each(function(){var e=$(this),t=o,n=u(e),r=(e.addClass(t.enhancedInputClass),n.addClass(t.enhancedParentClass),c(n).length),n=n.find('[data-count-btn][data-count-type="plus"]').first().length;r||e.before(s("minus",!0)),n||e.after(s("plus",!1)),r=l(e.val(),t.min),f(e,t,r)})}};throw new Error("[createCountStepper] Missing inputSel")};var r=(n=e("../../../elements/count-button.hbs"))&&n.__esModule?n:{default:n};function a(e){return(a="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 i(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function l(e,t){e=e,e=parseInt(String(e||"").trim(),10);e=Number.isFinite(e)?e:NaN;return Number.isFinite(e)?e:t}function s(e,t){return(0,r.default)({type:e,icon:"plus"===e?"fa-plus":"fa-minus",ariaLabel:"plus"===e?"Increase quantity":"Decrease quantity",disabled:!!t})}function u(e){return e.parent()}function c(e){return e.find('[data-count-btn][data-count-type="minus"]').first()}function p(e,t){var n=u(e),e=l(e.val(),t.min),n=c(n);n.length&&n.prop("disabled",e<=t.min)}function f(e,t,n){r=t.min;var r=Math.max(r,n);e.val(String(r)),p(e,t),"function"==typeof t.onChange&&t.onChange(r,e.get(0))}},{"../../../elements/count-button.hbs":24}]},{},[25]);
|
|
1
|
+
!function r(o,a,i){function l(t,e){if(!a[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(u)return u(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=a[t]={exports:{}},o[t][0].call(n.exports,function(e){return l(o[t][1][e]||e)},n,n.exports,r,o,a,i)}return a[t].exports}for(var u="function"==typeof require&&require,e=0;e<i.length;e++)l(i[e]);return l}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}n.__esModule=!0;var a=o(e("./handlebars/base")),i=r(e("./handlebars/safe-string")),l=r(e("./handlebars/exception")),u=o(e("./handlebars/utils")),s=o(e("./handlebars/runtime")),e=r(e("./handlebars/no-conflict"));function c(){var t=new a.HandlebarsEnvironment;return u.extend(t,a),t.SafeString=i.default,t.Exception=l.default,t.Utils=u,t.escapeExpression=u.escapeExpression,t.VM=s,t.template=function(e){return s.template(e,t)},t}var p=c();p.create=c,e.default(p),p.default=p,n.default=p,t.exports=n.default},{"./handlebars/base":2,"./handlebars/exception":5,"./handlebars/no-conflict":18,"./handlebars/runtime":19,"./handlebars/safe-string":20,"./handlebars/utils":21}],2:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.HandlebarsEnvironment=p;var o=e("./utils"),a=r(e("./exception")),i=e("./helpers"),l=e("./decorators"),u=r(e("./logger")),s=e("./internal/proto-access"),c=(n.VERSION="4.7.8",n.COMPILER_REVISION=8,n.LAST_COMPATIBLE_COMPILER_REVISION=7,n.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"},"[object Object]");function p(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},i.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}p.prototype={constructor:p,logger:u.default,log:u.default.log,registerHelper:function(e,t){if(o.toString.call(e)===c){if(t)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(o.toString.call(e)===c)o.extend(this.partials,e);else{if(void 0===t)throw new a.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(o.toString.call(e)===c){if(t)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){s.resetLoggedProperties()}};e=u.default.log;n.log=e,n.createFrame=o.createFrame,n.logger=u.default},{"./decorators":3,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./logger":17,"./utils":21}],3:[function(e,t,n){"use strict";n.__esModule=!0,n.registerDefaultDecorators=function(e){r.default(e)};var n=e("./decorators/inline"),r=(e=n)&&e.__esModule?e:{default:e}},{"./decorators/inline":4}],4:[function(e,t,n){"use strict";n.__esModule=!0;var i=e("../utils");n.default=function(e){e.registerDecorator("inline",function(r,o,a,e){var t=r;return o.partials||(o.partials={},t=function(e,t){var n=a.partials,e=(a.partials=i.extend({},n,o.partials),r(e,t));return a.partials=n,e}),o.partials[e.args[0]]=e.fn,t})},t.exports=n.default},{"../utils":21}],5:[function(e,t,n){"use strict";n.__esModule=!0;var u=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function s(e,t){for(var t=t&&t.loc,n=void 0,r=void 0,o=void 0,a=void 0,i=(t&&(n=t.start.line,r=t.end.line,o=t.start.column,a=t.end.column,e+=" - "+n+":"+o),Error.prototype.constructor.call(this,e)),l=0;l<u.length;l++)this[u[l]]=i[u[l]];Error.captureStackTrace&&Error.captureStackTrace(this,s);try{t&&(this.lineNumber=n,this.endLineNumber=r,Object.defineProperty?(Object.defineProperty(this,"column",{value:o,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=o,this.endColumn=a))}catch(e){}}s.prototype=new Error,n.default=s,t.exports=n.default},{}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.registerDefaultHelpers=function(e){o.default(e),a.default(e),i.default(e),l.default(e),u.default(e),s.default(e),c.default(e)},n.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var o=r(e("./helpers/block-helper-missing")),a=r(e("./helpers/each")),i=r(e("./helpers/helper-missing")),l=r(e("./helpers/if")),u=r(e("./helpers/log")),s=r(e("./helpers/lookup")),c=r(e("./helpers/with"))},{"./helpers/block-helper-missing":7,"./helpers/each":8,"./helpers/helper-missing":9,"./helpers/if":10,"./helpers/log":11,"./helpers/lookup":12,"./helpers/with":13}],7:[function(e,t,n){"use strict";n.__esModule=!0;var a=e("../utils");n.default=function(o){o.registerHelper("blockHelperMissing",function(e,t){var n=t.inverse,r=t.fn;return!0===e?r(this):!1===e||null==e?n(this):a.isArray(e)?0<e.length?(t.ids&&(t.ids=[t.name]),o.helpers.each(e,t)):n(this):(t.data&&t.ids&&((n=a.createFrame(t.data)).contextPath=a.appendContextPath(t.data.contextPath,t.name),t={data:n}),r(e,t))})},t.exports=n.default},{"../utils":21}],8:[function(e,t,n){"use strict";n.__esModule=!0;var h=e("../utils"),e=e("../exception"),m=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("each",function(r,e){if(!e)throw new m.default("Must pass iterator to #each");var t,o=e.fn,n=e.inverse,a=0,i="",l=void 0,u=void 0;function s(e,t,n){l&&(l.key=e,l.index=t,l.first=0===t,l.last=!!n,u)&&(l.contextPath=u+e),i+=o(r[e],{data:l,blockParams:h.blockParams([r[e],e],[u+e,null])})}if(e.data&&e.ids&&(u=h.appendContextPath(e.data.contextPath,e.ids[0])+"."),h.isFunction(r)&&(r=r.call(this)),e.data&&(l=h.createFrame(e.data)),r&&"object"==typeof r)if(h.isArray(r))for(var c=r.length;a<c;a++)a in r&&s(a,a,a===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var p=[],f=r[Symbol.iterator](),d=f.next();!d.done;d=f.next())p.push(d.value);for(c=(r=p).length;a<c;a++)s(a,a,a===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&s(t,a-1),t=e,a++}),void 0!==t&&s(t,a-1,!0);return i=0===a?n(this):i})},t.exports=n.default},{"../exception":5,"../utils":21}],9:[function(e,t,n){"use strict";n.__esModule=!0;var e=e("../exception"),r=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new r.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=n.default},{"../exception":5}],10:[function(e,t,n){"use strict";n.__esModule=!0;var r=e("../utils"),e=e("../exception"),o=(e=e)&&e.__esModule?e:{default:e};n.default=function(n){n.registerHelper("if",function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)}),n.registerHelper("unless",function(e,t){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return n.helpers.if.call(this,e,{fn:t.inverse,inverse:t.fn,hash:t.hash})})},t.exports=n.default},{"../exception":5,"../utils":21}],11:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(o){o.registerHelper("log",function(){for(var e=[void 0],t=arguments[arguments.length-1],n=0;n<arguments.length-1;n++)e.push(arguments[n]);var r=1;null!=t.hash.level?r=t.hash.level:t.data&&null!=t.data.level&&(r=t.data.level),e[0]=r,o.log.apply(o,e)})},t.exports=n.default},{}],12:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){e.registerHelper("lookup",function(e,t,n){return e&&n.lookupProperty(e,t)})},t.exports=n.default},{}],13:[function(e,t,n){"use strict";n.__esModule=!0;var o=e("../utils"),e=e("../exception"),a=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new a.default("#with requires exactly one argument");o.isFunction(e)&&(e=e.call(this));var n,r=t.fn;return o.isEmpty(e)?t.inverse(this):(n=t.data,t.data&&t.ids&&((n=o.createFrame(t.data)).contextPath=o.appendContextPath(t.data.contextPath,t.ids[0])),r(e,{data:n,blockParams:o.blockParams([e],[n&&n.contextPath])}))})},t.exports=n.default},{"../exception":5,"../utils":21}],14:[function(e,t,n){"use strict";n.__esModule=!0,n.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.extend.apply(void 0,[Object.create(null)].concat(t))};var r=e("../utils")},{"../utils":21}],15:[function(e,t,n){"use strict";n.__esModule=!0,n.createProtoAccessControl=function(e){var t=Object.create(null),n=(t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1,Object.create(null));return n.__proto__=!1,{properties:{whitelist:r.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:r.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},n.resultIsAllowed=function(e,t,n){return i("function"==typeof e?t.methods:t.properties,n)},n.resetLoggedProperties=function(){Object.keys(a).forEach(function(e){delete a[e]})};var r=e("./create-new-lookup-object"),n=e("../logger"),o=(e=n)&&e.__esModule?e:{default:e},a=Object.create(null);function i(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==a[e=t]&&(a[e]=!0,o.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},{"../logger":17,"./create-new-lookup-object":14}],16:[function(e,t,n){"use strict";n.__esModule=!0,n.wrapHelper=function(t,n){if("function"!=typeof t)return t;return function(){var e=arguments[arguments.length-1];return arguments[arguments.length-1]=n(e),t.apply(this,arguments)}}},{}],17:[function(e,t,n){"use strict";n.__esModule=!0;var r=e("./utils"),o={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=r.indexOf(o.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=o.lookupLevel(e),"undefined"!=typeof console&&o.lookupLevel(o.level)<=e){e=o.methodMap[e];console[e]||(e="log");for(var t=arguments.length,n=Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console[e].apply(console,n)}}};n.default=o,t.exports=n.default},{"./utils":21}],18:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},t.exports=n.default},{}],19:[function(e,t,n){"use strict";n.__esModule=!0,n.checkRevision=function(e){var t=e&&e[0]||1,n=f.COMPILER_REVISION;if(!(t>=f.LAST_COMPATIBLE_COMPILER_REVISION&&t<=f.COMPILER_REVISION))throw t<f.LAST_COMPATIBLE_COMPILER_REVISION?(n=f.REVISION_CHANGES[n],t=f.REVISION_CHANGES[t],new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+t+").")):new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},n.template=function(u,s){if(!s)throw new p.default("No environment passed to template");if(!u||!u.main)throw new p.default("Unknown template object: "+typeof u);u.main.decorator=u.main_d,s.VM.checkRevision(u.compiler);var n=u.compiler&&7===u.compiler[0];var i={strict:function(e,t,n){if(e&&t in e)return i.lookupProperty(e,t);throw new p.default('"'+t+'" not defined in '+e,{loc:n})},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||h.resultIsAllowed(n,i.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(null!=(e[r]&&i.lookupProperty(e[r],t)))return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:c.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=c.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=s.VM.resolvePartial.call(this,e,t,n);var r=c.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=s.VM.invokePartial.call(this,e,t,r);if(null==o&&s.compile&&(n.partials[n.name]=s.compile(e,u.compilerOptions,s),o=n.partials[n.name](t,r)),null==o)throw new p.default("The partial "+n.name+" could not be compiled when running in runtime-only mode");if(n.indent){for(var a=o.split("\n"),i=0,l=a.length;i<l&&(a[i]||i+1!==l);i++)a[i]=n.indent+a[i];o=a.join("\n")}return o},fn:function(e){var t=u[e];return t.decorator=u[e+"_d"],t},programs:[],program:function(e,t,n,r,o){var a=this.programs[e],i=this.fn(e);return a=t||o||r||n?m(this,e,i,t,n,r,o):a||(this.programs[e]=m(this,e,i))},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return n=e&&t&&e!==t?c.extend({},t,e):n},nullContext:Object.seal({}),noop:s.VM.noop,compilerInfo:u.compiler};function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.data,r=(l._setup(t),!t.partial&&u.useData&&(n=function(e,t){t&&"root"in t||((t=t?f.createFrame(t):{}).root=e);return t}(e,n)),void 0),o=u.useBlockParams?[]:void 0;function a(e){return""+u.main(i,e,i.helpers,i.partials,n,o,r)}return u.useDepths&&(r=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=g(u.main,a,i,t.depths||[],n,o))(e,t)}return l.isTop=!0,l._setup=function(e){var t,r,o;e.partial?(i.protoAccessControl=e.protoAccessControl,i.helpers=e.helpers,i.partials=e.partials,i.decorators=e.decorators,i.hooks=e.hooks):(t=c.extend({},s.helpers,e.helpers),r=t,o=i,Object.keys(r).forEach(function(e){var t,n=r[e];r[e]=(t=o.lookupProperty,d.wrapHelper(n,function(e){return c.extend({lookupProperty:t},e)}))}),i.helpers=t,u.usePartial&&(i.partials=i.mergeIfNeeded(e.partials,s.partials)),(u.usePartial||u.useDecorators)&&(i.decorators=c.extend({},s.decorators,e.decorators)),i.hooks={},i.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||n,a.moveHelperToHooks(i,"helperMissing",t),a.moveHelperToHooks(i,"blockHelperMissing",t))},l._child=function(e,t,n,r){if(u.useBlockParams&&!n)throw new p.default("must pass block params");if(u.useDepths&&!r)throw new p.default("must pass parent depths");return m(i,e,u[e],t,0,n,r)},l},n.wrapProgram=m,n.resolvePartial=function(e,t,n){e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name];return e},n.invokePartial=function(e,t,r){var o=r.data&&r.data["partial-block"];r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var a=void 0;r.fn&&r.fn!==i&&!function(){r.data=f.createFrame(r.data);var n=r.fn;a=r.data["partial-block"]=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.data=f.createFrame(t.data),t.data["partial-block"]=o,n(e,t)},n.partials&&(r.partials=c.extend({},r.partials,n.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new p.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=i;var c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e("./utils")),n=e("./exception"),p=(n=n)&&n.__esModule?n:{default:n},f=e("./base"),a=e("./helpers"),d=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(r,e,o,a,t,i,l){function n(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=l;return!l||e==l[0]||e===r.nullContext&&null===l[0]||(n=[e].concat(l)),o(r,e,r.helpers,r.partials,t.data||a,i&&[t.blockParams].concat(i),n)}return(n=g(o,n,r,l,a,i)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function i(){return""}function g(e,t,n,r,o,a){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],o,a,r),c.extend(t,e)),t}},{"./base":2,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./internal/wrapHelper":16,"./utils":21}],20:[function(e,t,n){"use strict";function r(e){this.string=e}n.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},n.default=r,t.exports=n.default},{}],21:[function(e,t,n){"use strict";n.__esModule=!0,n.extend=l,n.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},n.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return a.test(e)?e.replace(o,i):e},n.isEmpty=function(e){return!e&&0!==e||!(!c(e)||0!==e.length)},n.createFrame=function(e){var t=l({},e);return t._parent=e,t},n.blockParams=function(e,t){return e.path=t,e},n.appendContextPath=function(e,t){return(e?e+".":"")+t};var r={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},o=/[&<>"'`=]/g,a=/[&<>"'`=]/;function i(e){return r[e]}function l(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var u=Object.prototype.toString,s=(n.toString=u,function(e){return"function"==typeof e}),c=(s(/x/)&&(n.isFunction=s=function(e){return"function"==typeof e&&"[object Function]"===u.call(e)}),n.isFunction=s,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===u.call(e)});n.isArray=c},{}],22:[function(e,t,n){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":1}],23:[function(e,t,n){t.exports=e("handlebars/runtime").default},{"handlebars/runtime":22}],24:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,o){return"disabled"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var a,i=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,u="function",s=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button\n type="button"\n class="count-btn count-btn--'+s(typeof(a=null!=(a=c(n,"type")||(null!=t?c(t,"type"):t))?a:l)==u?a.call(i,{name:"type",hash:{},data:o,loc:{start:{line:3,column:32},end:{line:3,column:40}}}):a)+" "+s(typeof(a=null!=(a=c(n,"class")||(null!=t?c(t,"class"):t))?a:l)==u?a.call(i,{name:"class",hash:{},data:o,loc:{start:{line:3,column:41},end:{line:3,column:50}}}):a)+'"\n aria-label="'+s(typeof(a=null!=(a=c(n,"ariaLabel")||(null!=t?c(t,"ariaLabel"):t))?a:l)==u?a.call(i,{name:"ariaLabel",hash:{},data:o,loc:{start:{line:4,column:16},end:{line:4,column:29}}}):a)+'"\n data-count-btn\n data-count-type="'+s(typeof(a=null!=(a=c(n,"type")||(null!=t?c(t,"type"):t))?a:l)==u?a.call(i,{name:"type",hash:{},data:o,loc:{start:{line:6,column:21},end:{line:6,column:29}}}):a)+'"\n '+(null!=(e=c(n,"if").call(i,null!=t?c(t,"disabled"):t,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:4},end:{line:7,column:35}}}))?e:"")+'\n>\n <i class="far '+s(typeof(a=null!=(a=c(n,"icon")||(null!=t?c(t,"icon"):t))?a:l)==u?a.call(i,{name:"icon",hash:{},data:o,loc:{start:{line:9,column:16},end:{line:9,column:24}}}):a)+'" aria-hidden="true"></i>\n</button>\n'},useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,n){"use strict";var r=e("../utils/create-count-stepper"),o=window.Wick||{};o.PDPCountStepper={el:{input:"#quantity-field"},stepper:null,init:function(){o.PDPCountStepper.stepper=(0,r.createCountStepper)({inputSel:o.PDPCountStepper.el.input,min:1,max:99,onChange:function(e,t){$(t).trigger("change")}}),o.PDPCountStepper.stepper.init($(document))}},$(document).ready(function(){$(o.PDPCountStepper.el.input).length&&o.PDPCountStepper.init()})},{"../utils/create-count-stepper":26}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createCountStepper=function(){var e,o=function(e){return function(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach(function(e){var t,n;t=r,n=o[e=e],(e=function(e){e=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===a(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}({inputSel:"#quantity-field",min:1,enhancedInputClass:"count-stepper__input",enhancedParentClass:"count-stepper",onChange:null},e)}(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{});if(o.inputSel)return e=".countStepper_".concat(o.inputSel.replace(/[^a-zA-Z0-9_-]/g,"")),$(document).off("click".concat(e),"[data-count-btn]").on("click".concat(e),"[data-count-btn]",function(e){var t=$(this),n=t.parent().find(o.inputSel).first();n.length&&(e.preventDefault(),e=(t.attr("data-count-type")||"").toLowerCase(),t=l(n.val(),o.min),"plus"===e&&f(n,o,t+1),"minus"===e)&&f(n,o,t-1)}),$(document).off("input".concat(e," change").concat(e),o.inputSel).on("input".concat(e," change").concat(e),o.inputSel,function(){p($(this),o)}),{init:function(e){!function(e,t){var e=e&&e.length?e:$(document),n=e.is(t)?e:$(),e=e.find(t);return n.add(e)}(e,o.inputSel).each(function(){var e=$(this),t=o,n=s(e),r=(e.addClass(t.enhancedInputClass),n.addClass(t.enhancedParentClass),c(n).length),n=n.find('[data-count-btn][data-count-type="plus"]').first().length;r||e.before(u("minus",!0)),n||e.after(u("plus",!1)),r=l(e.val(),t.min),f(e,t,r)})}};throw new Error("[createCountStepper] Missing inputSel")};var r=(n=e("../../../elements/count-button.hbs"))&&n.__esModule?n:{default:n};function a(e){return(a="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 i(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function l(e,t){e=e,e=parseInt("".concat(e||"").trim(),10);e=Number.isFinite(e)?e:NaN;return Number.isFinite(e)?e:t}function u(e,t){return(0,r.default)({type:e,icon:"plus"===e?"fa-plus":"fa-minus",ariaLabel:"plus"===e?"Increase quantity":"Decrease quantity",disabled:!!t})}function s(e){return e.parent()}function c(e){return e.find('[data-count-btn][data-count-type="minus"]').first()}function p(e,t){var n=s(e),e=l(e.val(),t.min),n=c(n);n.length&&n.prop("disabled",e<=t.min)}function f(e,t,n){r=t.min;var r=Math.max(r,n);e.val("".concat(r)),p(e,t),"function"==typeof t.onChange&&t.onChange(r,e.get(0))}},{"../../../elements/count-button.hbs":24}]},{},[25]);
|