wickes-css2 2.102.0-lg-788-improve-mini-basket.6 → 2.103.0-gift-cards.1
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/Readme.md +1 -3
- package/build/css/category-main.css +1 -1
- package/build/css/components/card-product-banner.css +1 -1
- package/build/css/components/checkout-payment-details-v2.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/my-account-v2.css +1 -1
- package/build/css/pages/page_checkout_delivery-new.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/pdp-main-before-combine.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/img/giftcard.svg +28 -0
- package/build/js/account-members.min.js +1 -1
- package/build/js/basket.min.js +2 -2
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +2 -2
- package/build/js/emulation.min.js +76 -1024
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/gift-cards.min.js +1 -0
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/page/basket-v2.js +244 -138
- package/build/js/page/components/discounts.js +6 -6
- package/build/js/page/components/gift-cards.js +610 -0
- package/build/js/page/components/toggle-password-visibility.js +22 -0
- package/build/js/page/plp-cards-v2.js +6 -15
- package/build/js/page/plp-load-more.js +1 -1
- package/build/js/page/utils/gift-cards-utils.js +43 -0
- package/build/js/page/utils/show-hide-input.js +28 -0
- package/build/js/pdp.bundle.min.js +1 -1
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/project-list.min.js +1 -1
- package/build/js/toggle-password-visibility.min.js +1 -0
- package/package.json +2 -2
- package/src/components/card_product_v2.hbs +5 -10
- package/src/components/checkout-payment-details-v2.hbs +2 -1
- package/src/components/gift-cards-hint.hbs +9 -0
- package/src/components/gift-cards.hbs +89 -0
- package/src/components/giftcard-chip.hbs +23 -0
- package/src/components/injected-content.hbs +1 -1
- package/src/components/mini-basket/mini-basket-empty.hbs +13 -3
- package/src/components/mini-basket/mini-basket.hbs +13 -32
- package/src/components/mini-basket/product-item.hbs +16 -37
- package/src/data/data_confirmation-summary.json +2 -4
- package/src/data/data_mini-basket.json +80 -4
- package/src/data/data_search-results_v2.json +141 -56
- package/src/data/my-account/data_my-account.json +6 -0
- package/src/elements/form-row.hbs +1 -1
- package/src/elements/input.hbs +31 -2
- package/src/img/giftcard.svg +28 -0
- package/src/js/components/general/cart-slider.js +0 -3
- package/src/js/components/general/create-popup-slider.js +1 -4
- package/src/js/components/general/mini-basket-slider.js +8 -0
- package/src/js/components/product-banner.js +148 -0
- package/src/js/emulation/checkout-data.js +35 -0
- package/src/js/emulation/checkout-payment-details.js +23 -14
- package/src/js/emulation/custom-slider-emulation.js +10 -4
- package/src/js/emulation/forms.js +7 -2
- package/src/js/page/basket-v2.js +244 -138
- package/src/js/page/components/discounts.js +6 -6
- package/src/js/page/components/gift-cards.js +610 -0
- package/src/js/page/components/toggle-password-visibility.js +22 -0
- package/src/js/page/plp-cards-v2.js +6 -15
- package/src/js/page/plp-load-more.js +1 -1
- package/src/js/page/utils/gift-cards-utils.js +43 -0
- package/src/js/page/utils/show-hide-input.js +28 -0
- package/src/layouts/base.hbs +6 -0
- package/src/page_my-account_change-password.html +1 -0
- package/src/page_payment-details-with-gift-card.html +2 -1
- package/src/page_plp_v2.html +6 -16
- package/src/page_search-results.html +2 -12
- package/src/page_tradePro_rewards_home_installer_message.html +56 -0
- package/src/page_tradePro_rewards_instore_installer_message.html +77 -0
- package/src/partials/scripts.hbs +0 -1
- package/src/scss/components/_custom-slider.scss +3 -125
- package/src/scss/components/_gift-cards.scss +357 -0
- package/src/scss/components/_popover-mini-basket.scss +4 -0
- package/src/scss/components/card-product-banner.scss +3 -91
- package/src/scss/components/checkout-payment-details-v2.scss +2 -0
- package/src/scss/pages/my-account-v2.scss +29 -0
- package/src/scss/pages/page_checkout_delivery-new.scss +19 -0
- package/src/scss/pages/page_products-list-combined.scss +0 -11
- package/src/scss/pages/page_products-list.scss +0 -8
- package/src/sitemap.html +8 -0
- package/build/js/mini-basket-slider.min.js +0 -1
- package/build/js/page/basket/basket-update-cart-action.js +0 -60
- package/build/js/page/basket/basket-update-cart.js +0 -29
- package/build/js/page/basket/basket-utils.js +0 -50
- package/build/js/page/basket/mini-basket-total.js +0 -97
- package/build/js/page/basket/quantity-change-handler.js +0 -56
- package/build/js/page/basket/update-quantity-operation.js +0 -37
- package/build/js/page/basket/update-quantity.js +0 -65
- package/build/js/page/components/mini-basket-slider.js +0 -535
- package/src/components/card_sponsor_banner.hbs +0 -8
- package/src/components/card_sponsor_product.hbs +0 -6
- package/src/components/mini-basket/mini-basket-order-item.hbs +0 -73
- package/src/js/components/banner-placement-manager.js +0 -258
- package/src/js/components/toggle-password-visibility.js +0 -58
- package/src/js/emulation/banner-placement-manager.js +0 -53
- package/src/js/emulation/mini-basket-data.js +0 -949
- package/src/js/page/basket/basket-update-cart-action.js +0 -60
- package/src/js/page/basket/basket-update-cart.js +0 -29
- package/src/js/page/basket/basket-utils.js +0 -50
- package/src/js/page/basket/mini-basket-total.js +0 -97
- package/src/js/page/basket/quantity-change-handler.js +0 -56
- package/src/js/page/basket/update-quantity-operation.js +0 -37
- package/src/js/page/basket/update-quantity.js +0 -65
- package/src/js/page/components/mini-basket-slider.js +0 -535
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const SUMMARY_SELECTORS = {
|
|
2
|
+
subTotal: { item: '.checkout-widget__item-bold', value: '.checkout-widget__item-value', title: 'Items subtotal:' },
|
|
3
|
+
vat: { item: '.checkout-widget__item-vat', value: '.checkout-widget__item-value', title: 'VAT:' },
|
|
4
|
+
clickAndCollectCost: { item: '.checkout-widget__item-cc', value: '.checkout-widget__item-value', title: 'Click & Collect:' },
|
|
5
|
+
deliveryCost: { item: '.checkout-widget__item-delivery', value: '.checkout-widget__item-value', title: 'Delivery:' },
|
|
6
|
+
charityPrice: { item: '.checkout-widget__item-charity', value: '.checkout-widget__item-value', title: 'Charity donation:' },
|
|
7
|
+
discountTotal: { item: '.checkout-widget__details-discount', value: '.checkout-widget__detail-value' },
|
|
8
|
+
total: { item: '.checkout-widget__total', value: '.checkout-widget__total-value' },
|
|
9
|
+
giftCardApplied: { item: '.checkout-widget__gift-card', value: '.checkout-widget__total-value', title: 'Gift Card:' },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export function formatGc16(raw) {
|
|
13
|
+
const digits = String(raw || '').replace(/\D/g, '').slice(0, 16);
|
|
14
|
+
return digits.replace(/(\d{4})(?=\d)/g, '$1-');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function buildHintContext(count, limit) {
|
|
18
|
+
const max = count >= limit;
|
|
19
|
+
return {
|
|
20
|
+
canAdd: !max,
|
|
21
|
+
max,
|
|
22
|
+
hintClass: `giftcard-summary__hint${max ? ' giftcard-summary__hint--max' : ''}`,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function buildChipData($root, numberSelector) {
|
|
27
|
+
const digits = String($root.find(numberSelector).val() || '').replace(/\D/g, '');
|
|
28
|
+
const last5 = digits.slice(-5);
|
|
29
|
+
const id= `giftcard_${Date.now()}`;
|
|
30
|
+
const $giftcard = $root.closest('.giftcard');
|
|
31
|
+
const currency = $giftcard.data('currency') || '£';
|
|
32
|
+
const amount= ($giftcard.data('amount') != null ? $giftcard.data('amount') : '100.00');
|
|
33
|
+
return { id, last5, currency, amount };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function buildSummaryEqualMap(data) {
|
|
37
|
+
return Object.entries(SUMMARY_SELECTORS).map(([key, d]) => ({
|
|
38
|
+
item: d.item,
|
|
39
|
+
itemValue: d.value,
|
|
40
|
+
dataValue: data[key],
|
|
41
|
+
...(d.title ? { title: d.title } : {}),
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function initializeInputToggle($container) {
|
|
2
|
+
const $input = $container.find('input');
|
|
3
|
+
const $toggle = $container.find('.toggle-show');
|
|
4
|
+
|
|
5
|
+
if (!$input.length || !$toggle.length) return;
|
|
6
|
+
|
|
7
|
+
const handleToggleClick = (e) => {
|
|
8
|
+
e.preventDefault();
|
|
9
|
+
|
|
10
|
+
const isPassword = String($input.attr('type')) === 'password';
|
|
11
|
+
$input.attr('type', isPassword ? 'text' : 'password');
|
|
12
|
+
const $icon = $toggle.find('svg, i').first();
|
|
13
|
+
|
|
14
|
+
if ($icon.length) {
|
|
15
|
+
$icon.removeClass('fa-eye fa-eye-slash').addClass(isPassword ? 'fa-eye' : 'fa-eye-slash');
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const updateToggleVisibility = () => {
|
|
20
|
+
$toggle.toggle(($input.val() || '').length > 0);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
$toggle.off('click.passwordToggle mousedown.passwordToggle')
|
|
24
|
+
.on('mousedown.passwordToggle', handleToggleClick);
|
|
25
|
+
|
|
26
|
+
$input.off('input.passwordToggle').on('input.passwordToggle', updateToggleVisibility);
|
|
27
|
+
updateToggleVisibility();
|
|
28
|
+
}
|