wickes-css2 2.106.0-develop.1 → 2.106.0-develop.11

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.
Files changed (148) hide show
  1. package/Readme.md +2 -3
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/checkout-payment-details-v2.css +1 -1
  4. package/build/css/components/global-search.css +1 -1
  5. package/build/css/homepage-main.css +1 -1
  6. package/build/css/kitchen-plp-main.css +1 -1
  7. package/build/css/main.css +1 -1
  8. package/build/css/my-account-main-v2.css +1 -1
  9. package/build/css/my-account-main.css +1 -1
  10. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  11. package/build/css/pages/page_products-list-combined.css +1 -1
  12. package/build/css/pdp-main-before-combine.css +1 -1
  13. package/build/css/pdp-main-critical.css +1 -1
  14. package/build/css/pdp-main-non-critical.css +1 -1
  15. package/build/css/pdp-main.css +1 -1
  16. package/build/css/plp-main.css +1 -1
  17. package/build/css/store-locator-main.css +1 -1
  18. package/build/img/billie-pay-later.svg +13 -0
  19. package/build/img/giftcard.svg +28 -0
  20. package/build/js/account-members.min.js +1 -1
  21. package/build/js/add-project-list-id.min.js +1 -1
  22. package/build/js/address-book.min.js +1 -1
  23. package/build/js/basket.min.js +2 -2
  24. package/build/js/bundle.min.js +1 -1
  25. package/build/js/change-password.min.js +1 -1
  26. package/build/js/checkout.min.js +2 -2
  27. package/build/js/emulation.min.js +2175 -1857
  28. package/build/js/general.bundle.min.js +1 -1
  29. package/build/js/gift-cards.min.js +1 -0
  30. package/build/js/kitchen/kitchen-plp.min.js +1 -1
  31. package/build/js/merged-checkout.min.js +2 -2
  32. package/build/js/mini-basket-slider.min.js +1 -1
  33. package/build/js/page/basket/basket-update-cart-action.js +4 -1
  34. package/build/js/page/basket/klarna.js +13 -3
  35. package/build/js/page/basket-v2.js +11 -7
  36. package/build/js/page/components/billie-modal.js +20 -20
  37. package/build/js/page/components/gift-cards.js +927 -0
  38. package/build/js/page/components/order-summary.js +57 -28
  39. package/build/js/page/components/toggle-password-visibility.js +22 -0
  40. package/build/js/page/components/voucher.js +52 -47
  41. package/build/js/page/count-stepper/pdp-count-stepper.js +29 -0
  42. package/build/js/page/filters/plp-filters-mobile.js +4 -7
  43. package/build/js/page/filters/plp-filters-utils.js +9 -0
  44. package/build/js/page/filters/plp-filters.js +13 -5
  45. package/build/js/page/kitchen/card-carousel.js +3 -2
  46. package/build/js/page/kitchen/colour-swatches.js +157 -152
  47. package/build/js/page/quick-filter.js +106 -103
  48. package/build/js/page/share-project-list.js +151 -33
  49. package/build/js/page/utils/create-count-stepper.js +141 -0
  50. package/build/js/page/utils/gift-cards-utils.js +242 -0
  51. package/build/js/page/utils/input-handling.js +104 -0
  52. package/build/js/page/utils/show-hide-input.js +31 -0
  53. package/build/js/page/utils/validation.js +146 -96
  54. package/build/js/pdp-count-stepper.min.js +1 -0
  55. package/build/js/pdp.bundle.min.js +1 -1
  56. package/build/js/personal-details.min.js +1 -1
  57. package/build/js/plp-filters.min.js +2 -2
  58. package/build/js/plp.bundle.min.js +1 -1
  59. package/build/js/project-list.min.js +57 -14
  60. package/build/js/quiz.min.js +1 -1
  61. package/build/js/share-project-list.min.js +1 -1
  62. package/build/js/track-my-order.min.js +1 -1
  63. package/package.json +3 -3
  64. package/src/components/card_product_v2.hbs +6 -1
  65. package/src/components/checkout-payment-details-v2.hbs +4 -3
  66. package/src/components/gift-cards-hint.hbs +9 -0
  67. package/src/components/gift-cards.hbs +90 -0
  68. package/src/components/giftcard-chip.hbs +23 -0
  69. package/src/components/giftcard-summary.hbs +6 -0
  70. package/src/components/home-movers/form.hbs +1 -1
  71. package/src/components/kitchen/slide.hbs +8 -6
  72. package/src/components/price-block-v2.hbs +17 -16
  73. package/src/data/data_search-results_v2.json +2 -1
  74. package/src/elements/count-button.hbs +10 -0
  75. package/src/elements/form-row.hbs +1 -1
  76. package/src/elements/input.hbs +31 -2
  77. package/src/img/billie-pay-later.svg +13 -0
  78. package/src/img/giftcard.svg +28 -0
  79. package/src/js/components/general/notification.js +60 -40
  80. package/src/js/components/general/switchVat.js +151 -154
  81. package/src/js/components/pdp-billie-modal-scroll-reset.js +46 -42
  82. package/src/js/emulation/basket-data.js +2126 -2038
  83. package/src/js/emulation/billie-modal.js +6 -6
  84. package/src/js/emulation/checkLocalEnv.js +6 -5
  85. package/src/js/emulation/checkout-data.js +33 -0
  86. package/src/js/emulation/checkout-payment-details.js +23 -21
  87. package/src/js/emulation/forms.js +9 -2
  88. package/src/js/emulation/gift-cards.js +216 -0
  89. package/src/js/emulation/mock.js +98 -21
  90. package/src/js/emulation/plp-load-more.js +19 -13
  91. package/src/js/emulation/validity-emulation.js +33 -0
  92. package/src/js/page/basket/basket-update-cart-action.js +4 -1
  93. package/src/js/page/basket/klarna.js +13 -3
  94. package/src/js/page/basket-v2.js +11 -7
  95. package/src/js/page/components/billie-modal.js +20 -20
  96. package/src/js/page/components/gift-cards.js +927 -0
  97. package/src/js/page/components/order-summary.js +57 -28
  98. package/src/js/page/components/toggle-password-visibility.js +22 -0
  99. package/src/js/page/components/voucher.js +52 -47
  100. package/src/js/page/count-stepper/pdp-count-stepper.js +29 -0
  101. package/src/js/page/filters/plp-filters-mobile.js +4 -7
  102. package/src/js/page/filters/plp-filters-utils.js +9 -0
  103. package/src/js/page/filters/plp-filters.js +13 -5
  104. package/src/js/page/kitchen/card-carousel.js +3 -2
  105. package/src/js/page/kitchen/colour-swatches.js +157 -152
  106. package/src/js/page/quick-filter.js +106 -103
  107. package/src/js/page/share-project-list.js +151 -33
  108. package/src/js/page/utils/create-count-stepper.js +141 -0
  109. package/src/js/page/utils/gift-cards-utils.js +242 -0
  110. package/src/js/page/utils/input-handling.js +104 -0
  111. package/src/js/page/utils/show-hide-input.js +31 -0
  112. package/src/js/page/utils/validation.js +146 -96
  113. package/src/layouts/checkout.hbs +1 -5
  114. package/src/page_my-account_change-password.html +1 -0
  115. package/src/page_payment-details-with-gift-card.html +8 -5
  116. package/src/page_plp-with-paint.html +1 -1
  117. package/src/page_plp_v2-energy-efficiency.html +1 -1
  118. package/src/page_plp_v2-favourite-products.html +1 -1
  119. package/src/page_plp_v2-vat.html +31 -26
  120. package/src/page_plp_v2.html +1 -1
  121. package/src/page_product-details-cnc-success-notification-vat.html +3 -2
  122. package/src/page_product_search-vat.html +1 -1
  123. package/src/page_product_search.html +1 -1
  124. package/src/page_search-results.html +1 -1
  125. package/src/partials/scripts.hbs +4 -0
  126. package/src/scss/components/_custom-slider.scss +7 -6
  127. package/src/scss/components/_gift-cards.scss +359 -0
  128. package/src/scss/components/_input-counter.scss +65 -0
  129. package/src/scss/components/_quick-filter.scss +32 -10
  130. package/src/scss/components/_search-filter.scss +3 -0
  131. package/src/scss/components/checkout-payment-details-v2.scss +6 -2
  132. package/src/scss/components/kitchen/_price-tooltip.scss +3 -2
  133. package/src/scss/components/kitchen/_price.scss +2 -2
  134. package/src/scss/helpers/_variables.scss +7 -16
  135. package/src/scss/pages/page_checkout_delivery-new.scss +30 -6
  136. package/src/scss/pages/page_products-list-combined.scss +34 -2
  137. package/src/scss/pdp-main.scss +1 -0
  138. package/build/js/page/plp-img-v2.js +0 -25
  139. package/src/components/.DS_Store +0 -0
  140. package/src/img/.DS_Store +0 -0
  141. package/src/img/placeholders/.DS_Store +0 -0
  142. package/src/js/.DS_Store +0 -0
  143. package/src/js/components/share-project-list.js +0 -56
  144. package/src/js/components/toggle-password-visibility.js +0 -58
  145. package/src/js/page/.DS_Store +0 -0
  146. package/src/js/page/plp-img-v2.js +0 -25
  147. package/src/scss/.DS_Store +0 -0
  148. package/src/scss/pages/.DS_Store +0 -0
@@ -1,21 +1,27 @@
1
- function getHtmlByCurrentPage({currentPage}) {
2
- const matchingData = Wick.FEMock.productListPagesData.find(item => item.page === currentPage);
1
+ function getHtmlByCurrentPage({ currentPage }) {
2
+ const pagesData = Wick.VatToggle.isToggleVatAvailable()
3
+ ? Wick.FEMock.productListVatPagesData
4
+ : Wick.FEMock.productListPagesData;
5
+ const matchingData = pagesData.find((item) => item.page === currentPage);
3
6
 
4
- return matchingData.html;
7
+ return matchingData.html;
5
8
  }
6
9
 
7
- function initPLPLoadMoreFunctionality () {
8
- $(window).on(Wick.PLPLoadMore?.PLP_LOAD_MORE_EVENT, function ({ detail: { resolve, reject, payload }}) {
9
- setTimeout(() => {
10
- resolve(getHtmlByCurrentPage(payload));
11
- }, 1500)
12
- });
10
+ function initPLPLoadMoreFunctionality() {
11
+ $(window).on(
12
+ Wick.PLPLoadMore?.PLP_LOAD_MORE_EVENT,
13
+ function ({ detail: { resolve, payload } }) {
14
+ setTimeout(() => {
15
+ resolve(getHtmlByCurrentPage(payload));
16
+ }, 1500);
17
+ }
18
+ );
13
19
  }
14
20
 
15
21
  $(document).ready(function () {
16
- if (!$('.btn-load-more').length) {
17
- return;
18
- }
22
+ if (!$('.btn-load-more').length) {
23
+ return;
24
+ }
19
25
 
20
- initPLPLoadMoreFunctionality();
26
+ initPLPLoadMoreFunctionality();
21
27
  });
@@ -0,0 +1,33 @@
1
+ let suppressQuantityReportValidityOnBlur = false;
2
+
3
+ $(document)
4
+ .off('blur.quantityValidation', '#quantity-field')
5
+ .on('blur.quantityValidation', '#quantity-field', function () {
6
+ if (suppressQuantityReportValidityOnBlur) {
7
+ suppressQuantityReportValidityOnBlur = false;
8
+ return;
9
+ }
10
+
11
+ this.reportValidity();
12
+ });
13
+
14
+ $(document)
15
+ .off('keydown.quantityValidation', '#quantity-field')
16
+ .on('keydown.quantityValidation', '#quantity-field', function (e) {
17
+ if (e.key !== 'Enter') return;
18
+
19
+ e.preventDefault();
20
+ e.stopPropagation();
21
+
22
+ const isValid = this.checkValidity();
23
+
24
+ Wick.FEMock.dispatchProductAddedToCart(Wick.FEMock.getCartPdpHtml({ hasError: !isValid }));
25
+
26
+ suppressQuantityReportValidityOnBlur = true;
27
+ this.blur();
28
+
29
+ setTimeout(() => {
30
+ const $focusTarget = $('.custom-slider.just-added .close-popup').first();
31
+ if ($focusTarget.length) $focusTarget.trigger('focus');
32
+ }, 150);
33
+ });
@@ -48,7 +48,10 @@ export function updateCartActionBase(params) {
48
48
  context && context.length && updatePromotionFn && updatePromotionFn(response, context);
49
49
  addPotentialPromoFn && addPotentialPromoFn(response);
50
50
  updateKlarnaPlacementsFn &&
51
- updateKlarnaPlacementsFn(response.totalPrice.formattedPriceWithoutCurrencySymbol);
51
+ updateKlarnaPlacementsFn(
52
+ response.totalPrice.formattedPriceWithoutCurrencySymbol,
53
+ response.paymentInfos.klarnaPaymentInfo.customPaymentMethodIds
54
+ );
52
55
  updateClearpayPlacementsFn && updateClearpayPlacementsFn(response.totalPrice.value);
53
56
  updateClearpayVisibilityFn && updateClearpayVisibilityFn(response.totalPrice.value);
54
57
  addClassToSummaryAsideFn && addClassToSummaryAsideFn(response);
@@ -1,21 +1,31 @@
1
1
  const KLARNA_PLACEMENT = 'klarna-placement';
2
2
  const DATA_PURCHASE_AMOUNT_ATTRIBUTE = 'data-purchase-amount';
3
+ const DATA_CUSTOM_PAYMENT_METHOD_IDS_ATTRIBUTE = 'data-custom-payment-method-ids';
3
4
 
4
5
  function refreshKlarnaPlacement() {
5
6
  window.Klarna?.OnsiteMessaging?.refresh();
6
7
  }
7
8
 
8
- function getKlarnaPlacements () {
9
+ function getKlarnaPlacements() {
9
10
  const klarnaPlacementsWithPurchaseAmountSelector = `${KLARNA_PLACEMENT}[${DATA_PURCHASE_AMOUNT_ATTRIBUTE}]`;
10
11
  return $.find(klarnaPlacementsWithPurchaseAmountSelector);
11
12
  }
12
13
 
13
- export function updateKlarnaPlacements(newAmount) {
14
+ export function updateKlarnaPlacements(newAmount, paymentMethodIds = null) {
14
15
  const formattedAmount = newAmount.split(/[,.]/).join('');
15
16
  const klarnaPlacements = getKlarnaPlacements() || [];
16
17
 
17
18
  klarnaPlacements.forEach((placement) => {
18
- placement.setAttribute(DATA_PURCHASE_AMOUNT_ATTRIBUTE, formattedAmount)
19
+ placement.setAttribute(DATA_PURCHASE_AMOUNT_ATTRIBUTE, formattedAmount);
20
+
21
+ if (Array.isArray(paymentMethodIds) && paymentMethodIds.length > 0) {
22
+ placement.setAttribute(
23
+ DATA_CUSTOM_PAYMENT_METHOD_IDS_ATTRIBUTE,
24
+ paymentMethodIds.join(',')
25
+ );
26
+ } else {
27
+ placement.removeAttribute(DATA_CUSTOM_PAYMENT_METHOD_IDS_ATTRIBUTE);
28
+ }
19
29
  });
20
30
 
21
31
  refreshKlarnaPlacement();
@@ -40,13 +40,15 @@ import {
40
40
  getMessageInfo,
41
41
  isMessageExist,
42
42
  updatePromotion,
43
- showNotification
44
- } from "./basket/basket-utils";
45
- import {updateCartBase} from "./basket/basket-update-cart";
46
- import {updateCartActionBase} from "./basket/basket-update-cart-action";
47
- import {initBillieModal} from "./components/billie-modal";
43
+ showNotification,
44
+ } from './basket/basket-utils';
45
+ import { updateCartBase } from './basket/basket-update-cart';
46
+ import { updateCartActionBase } from './basket/basket-update-cart-action';
47
+ import { initBillieModal } from './components/billie-modal';
48
+
49
+ window.Wick = window.Wick || {};
50
+ var Wick = window.Wick;
48
51
 
49
- var Wick = window.Wick || {};
50
52
  Wick.BasketPage = {
51
53
  el: {
52
54
  $voucherFormBtn: $('.voucher__btn'),
@@ -323,7 +325,9 @@ Wick.BasketPage = {
323
325
  Wick.BasketPage.updatePromotion(Wick.BasketData.updateCart, context);
324
326
  }
325
327
  updateKlarnaPlacements(
326
- Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol
328
+ Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol,
329
+ Wick.BasketData.updateCart.paymentInfos.klarnaPaymentInfo
330
+ .customPaymentMethodIds
327
331
  );
328
332
  updateClearpayPlacements(Wick.BasketData.updateCart.totalPrice.value);
329
333
  updateClearpayVisibility(Wick.BasketData.updateCart.totalPrice.value);
@@ -1,31 +1,31 @@
1
1
  const billieEl = {
2
- modalId: '#billieLearnMoreModal',
3
- openLink: '.billie__link[data-target="#billieLearnMoreModal"]',
4
- scrollBody: '.modal-body.modal-box__body',
5
- content: '.modal-content.modal-box__content',
2
+ modalId: '#billieLearnMoreModal',
3
+ openLink: '.billie__link[data-target="#billieLearnMoreModal"]',
4
+ scrollBody: '.modal-body.modal-box__body',
5
+ content: '.modal-content.modal-box__content',
6
6
  };
7
7
 
8
8
  function resetBillieModalScroll($modal) {
9
- const bodyEl = $modal.find(billieEl.scrollBody)[0];
10
- if (bodyEl) bodyEl.scrollTop = 0;
11
- $modal.find(billieEl.content).attr('data-scroll-state', 'top');
9
+ const bodyEl = $modal.find(billieEl.scrollBody)[0];
10
+ if (bodyEl) bodyEl.scrollTop = 0;
11
+ $modal.find(billieEl.content).attr('data-scroll-state', 'top');
12
12
  }
13
13
 
14
14
  export function initBillieModal() {
15
- const $modal = $(billieEl.modalId);
16
- if (!$modal.length) return;
15
+ const $modal = $(billieEl.modalId);
16
+ if (!$modal.length) return;
17
17
 
18
- $(document).on('click', billieEl.openLink, function () {
19
- resetBillieModalScroll($modal);
20
- });
18
+ $(document).on('click', billieEl.openLink, function () {
19
+ resetBillieModalScroll($modal);
20
+ });
21
21
 
22
- $(document).on('shown.bs.modal', billieEl.modalId, function () {
23
- resetBillieModalScroll($modal);
24
- requestAnimationFrame(() => resetBillieModalScroll($modal));
25
- setTimeout(() => resetBillieModalScroll($modal), 30);
26
- });
22
+ $(document).on('shown.bs.modal', billieEl.modalId, function () {
23
+ resetBillieModalScroll($modal);
24
+ requestAnimationFrame(() => resetBillieModalScroll($modal));
25
+ setTimeout(() => resetBillieModalScroll($modal), 30);
26
+ });
27
27
 
28
- $(document).on('hidden.bs.modal', billieEl.modalId, function () {
29
- resetBillieModalScroll($modal);
30
- });
28
+ $(document).on('hidden.bs.modal', billieEl.modalId, function () {
29
+ resetBillieModalScroll($modal);
30
+ });
31
31
  }