wickes-css2 2.105.0-develop.1 → 2.105.0-develop.10

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 (259) hide show
  1. package/Readme.md +4 -3
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/kitchen-plp-main.css +1 -1
  5. package/build/css/main.css +1 -1
  6. package/build/css/my-account-main-v2.css +1 -1
  7. package/build/css/my-account-main.css +1 -1
  8. package/build/css/pages/checkout-new.css +1 -1
  9. package/build/css/pages/checkout.css +1 -1
  10. package/build/css/pages/my-account-v2.css +1 -1
  11. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  12. package/build/css/pages/page_discount.css +1 -1
  13. package/build/css/pages/page_product_search.css +1 -1
  14. package/build/css/pages/page_products-list-combined.css +1 -1
  15. package/build/css/pages/page_products-list.css +1 -1
  16. package/build/css/pages/tradePro-rewards.css +1 -1
  17. package/build/css/pdp-main-before-combine.css +1 -1
  18. package/build/css/pdp-main-critical.css +1 -1
  19. package/build/css/pdp-main-non-critical.css +1 -1
  20. package/build/css/pdp-main.css +1 -1
  21. package/build/css/plp-main.css +1 -1
  22. package/build/css/store-locator-main.css +1 -1
  23. package/build/img/quick-filters/bath1.svg +10 -0
  24. package/build/img/quick-filters/bath3.svg +3 -0
  25. package/build/img/quick-filters/bath4.svg +10 -0
  26. package/build/img/quick-filters/bath5.svg +10 -0
  27. package/build/img/quick-filters/image1.jpg +0 -0
  28. package/build/img/quick-filters/image2.jpg +0 -0
  29. package/build/img/quick-filters/image3.jpg +0 -0
  30. package/build/js/account-members.min.js +1 -1
  31. package/build/js/basket.min.js +2 -2
  32. package/build/js/bundle.min.js +1 -1
  33. package/build/js/checkout.min.js +2 -2
  34. package/build/js/emulation.min.js +12125 -11596
  35. package/build/js/general.bundle.min.js +1 -1
  36. package/build/js/kitchen/kitchen-plp.min.js +1 -9
  37. package/build/js/merged-checkout.min.js +2 -2
  38. package/build/js/mini-basket-slider.min.js +1 -1
  39. package/build/js/my-account.min.js +1 -1
  40. package/build/js/page/basket/basket-update-cart-action.js +59 -56
  41. package/build/js/page/basket/basket-update-cart.js +27 -27
  42. package/build/js/page/basket/basket-utils.js +40 -33
  43. package/build/js/page/basket/mini-basket-total.js +70 -66
  44. package/build/js/page/basket/quantity-change-handler.js +73 -55
  45. package/build/js/page/basket/update-quantity-operation.js +39 -30
  46. package/build/js/page/basket/update-quantity.js +62 -62
  47. package/build/js/page/basket-v2.js +362 -229
  48. package/build/js/page/billie-business-type.js +27 -27
  49. package/build/js/page/checkout-payment-details.js +301 -299
  50. package/build/js/page/components/discounts.js +39 -36
  51. package/build/js/page/components/mini-basket-slider.js +604 -545
  52. package/build/js/page/filters/desktop-nav.js +64 -0
  53. package/build/js/page/filters/mobile-nav.js +93 -0
  54. package/build/js/page/filters/plp-filters-chips.js +92 -0
  55. package/build/js/page/filters/plp-filters-mobile.js +150 -0
  56. package/build/js/page/filters/plp-filters-panel.js +123 -0
  57. package/build/js/page/filters/plp-filters-utils.js +66 -0
  58. package/build/js/page/filters/plp-filters.js +268 -0
  59. package/build/js/page/filters/sort-by.js +172 -0
  60. package/build/js/page/kitchen/colour-swatches.js +5 -2
  61. package/build/js/page/klarna-modal-scroll-disable.js +4 -4
  62. package/build/js/page/my-account.js +32 -47
  63. package/build/js/page/online-exclusive.js +28 -31
  64. package/build/js/page/quick-filter.js +108 -0
  65. package/build/js/page/search-filter.js +62 -0
  66. package/build/js/page/share-project-list.js +57 -0
  67. package/build/js/page/tradePro-rewards.js +69 -39
  68. package/build/js/page/utils/copy-to-clipboard.js +79 -47
  69. package/build/js/page/utils/helpers.js +14 -9
  70. package/build/js/page/utils/show-more-less.js +273 -0
  71. package/build/js/pdp.bundle.min.js +1 -1
  72. package/build/js/plp-filters.min.js +9 -0
  73. package/build/js/plp.bundle.min.js +1 -1
  74. package/build/js/project-list.min.js +143 -85
  75. package/build/js/search-filter.min.js +1 -0
  76. package/build/js/share-project-list.min.js +1 -0
  77. package/build/js/tradePro-rewards.min.js +1 -1
  78. package/package.json +4 -2
  79. package/src/components/.DS_Store +0 -0
  80. package/src/components/accordion.hbs +2 -2
  81. package/src/components/date-selection.hbs +25 -6
  82. package/src/components/generate-project-id.hbs +1 -1
  83. package/src/components/kitchen/dropdown.hbs +6 -3
  84. package/src/components/kitchen/filter-modal-content-kitchen.hbs +10 -0
  85. package/src/components/kitchen/filter-modal.hbs +10 -13
  86. package/src/components/kitchen/kitchen-card.hbs +1 -1
  87. package/src/components/kitchen/plp-filters.hbs +3 -1
  88. package/src/components/kitchen/sort-by.hbs +1 -1
  89. package/src/components/my-account/barcode.hbs +1 -3
  90. package/src/components/my-account/cards-swap.hbs +10 -0
  91. package/src/components/my-account/clipboard-code-card.hbs +3 -3
  92. package/src/components/my-account/discount.hbs +1 -1
  93. package/src/components/my-account/greetings.hbs +1 -1
  94. package/src/components/quick-filter.hbs +56 -0
  95. package/src/components/search-filter-modal-content.hbs +102 -0
  96. package/src/components/search-filter.hbs +121 -112
  97. package/src/components/shopping-list-with-share-list-v2.hbs +28 -10
  98. package/src/components/shopping-list.hbs +5 -5
  99. package/src/data/data_plp_load-more.json +1 -1
  100. package/src/data/data_quick-filter.json +508 -0
  101. package/src/data/my-account/data_my-account.json +9 -0
  102. package/src/elements/btn.hbs +7 -0
  103. package/src/img/quick-filters/bath1.svg +10 -0
  104. package/src/img/quick-filters/bath3.svg +3 -0
  105. package/src/img/quick-filters/bath4.svg +10 -0
  106. package/src/img/quick-filters/bath5.svg +10 -0
  107. package/src/img/quick-filters/image1.jpg +0 -0
  108. package/src/img/quick-filters/image2.jpg +0 -0
  109. package/src/img/quick-filters/image3.jpg +0 -0
  110. package/src/js/components/cards-swap.js +74 -0
  111. package/src/js/components/general/accordion.js +44 -33
  112. package/src/js/components/general/cart-slider.js +19 -16
  113. package/src/js/components/general/create-popup-slider.js +168 -173
  114. package/src/js/components/share-project-list.js +8 -5
  115. package/src/js/emulation/big-wins.js +1081 -904
  116. package/src/js/emulation/billie-modal.js +23 -19
  117. package/src/js/emulation/checkout-payment-details.js +47 -38
  118. package/src/js/emulation/custom-slider-emulation.js +17 -13
  119. package/src/js/emulation/filters-emulation.js +164 -0
  120. package/src/js/emulation/forms.js +360 -323
  121. package/src/js/emulation/mini-basket-data.js +1051 -923
  122. package/src/js/emulation/paymentLoader.js +17 -17
  123. package/src/js/emulation/pdf-file-loader.js +89 -91
  124. package/src/js/emulation/popover-mini-basket.js +246 -239
  125. package/src/js/emulation/product-counter.js +50 -0
  126. package/src/js/emulation/project-list-pdp.js +320 -316
  127. package/src/js/emulation/repayment-toggle.js +23 -24
  128. package/src/js/emulation/reset-filter-desktop.js +5 -0
  129. package/src/js/emulation/selectable.js +22 -18
  130. package/src/js/emulation/wismo-details.js +23 -31
  131. package/src/js/page/basket/basket-update-cart-action.js +59 -56
  132. package/src/js/page/basket/basket-update-cart.js +27 -27
  133. package/src/js/page/basket/basket-utils.js +40 -33
  134. package/src/js/page/basket/mini-basket-total.js +70 -66
  135. package/src/js/page/basket/quantity-change-handler.js +73 -55
  136. package/src/js/page/basket/update-quantity-operation.js +39 -30
  137. package/src/js/page/basket/update-quantity.js +62 -62
  138. package/src/js/page/basket-v2.js +362 -229
  139. package/src/js/page/billie-business-type.js +27 -27
  140. package/src/js/page/checkout-payment-details.js +301 -299
  141. package/src/js/page/components/discounts.js +39 -36
  142. package/src/js/page/components/mini-basket-slider.js +604 -545
  143. package/src/js/page/filters/desktop-nav.js +64 -0
  144. package/src/js/page/filters/mobile-nav.js +93 -0
  145. package/src/js/page/filters/plp-filters-chips.js +92 -0
  146. package/src/js/page/filters/plp-filters-mobile.js +150 -0
  147. package/src/js/page/filters/plp-filters-panel.js +123 -0
  148. package/src/js/page/filters/plp-filters-utils.js +66 -0
  149. package/src/js/page/filters/plp-filters.js +268 -0
  150. package/src/js/page/filters/sort-by.js +172 -0
  151. package/src/js/page/kitchen/colour-swatches.js +5 -2
  152. package/src/js/page/klarna-modal-scroll-disable.js +4 -4
  153. package/src/js/page/my-account.js +32 -47
  154. package/src/js/page/online-exclusive.js +28 -31
  155. package/src/js/page/quick-filter.js +108 -0
  156. package/src/js/page/search-filter.js +62 -0
  157. package/src/js/page/share-project-list.js +57 -0
  158. package/src/js/page/tradePro-rewards.js +69 -39
  159. package/src/js/page/utils/copy-to-clipboard.js +79 -47
  160. package/src/js/page/utils/helpers.js +14 -9
  161. package/src/js/page/utils/show-more-less.js +273 -0
  162. package/src/page_empty-shared-project-list-bicester-hub.html +4 -0
  163. package/src/page_empty-shopping-list_guest.html +1 -0
  164. package/src/page_kitchen-plp.html +2 -2
  165. package/src/page_my-account-installer.html +1 -1
  166. package/src/page_my-account-trade-pro-carousel-double.html +127 -0
  167. package/src/page_my-account-trade-pro-carousel.html +134 -0
  168. package/src/page_my-account-trade-pro.html +1 -1
  169. package/src/page_my-shopping-list-add-notes.html +1 -0
  170. package/src/page_my-shopping-list-energy.html +1 -0
  171. package/src/page_my-shopping-list-hide-download.html +3 -2
  172. package/src/page_my-shopping-list-pdf.html +2 -0
  173. package/src/page_my-shopping-list-saved-ref.html +1 -0
  174. package/src/page_my-shopping-list-wisdom-oos-registered.html +1 -0
  175. package/src/page_my-shopping-list-wisdom-oos.html +1 -0
  176. package/src/page_my-shopping-list-wisdom-partial-registered.html +1 -0
  177. package/src/page_my-shopping-list-wisdom-registered.html +1 -0
  178. package/src/page_my-shopping-list-wisdom.html +1 -0
  179. package/src/page_my-shopping-list.html +1 -0
  180. package/src/page_my-shopping-list_not-register.html +3 -0
  181. package/src/page_plp-with-paint.html +2 -7
  182. package/src/page_plp.html +2 -7
  183. package/src/page_plp_v2-energy-efficiency.html +1 -6
  184. package/src/page_plp_v2-favourite-products.html +6 -7
  185. package/src/page_plp_v2-quick-filter_colourSwatches_11.html +79 -0
  186. package/src/page_plp_v2-quick-filter_colourSwatches_5.html +79 -0
  187. package/src/page_plp_v2-quick-filter_iconAndText_5.html +79 -0
  188. package/src/page_plp_v2-quick-filter_iconAndText_9.html +79 -0
  189. package/src/page_plp_v2-quick-filter_iconOnly_11.html +79 -0
  190. package/src/page_plp_v2-quick-filter_iconOnly_5.html +79 -0
  191. package/src/page_plp_v2-quick-filter_imageAndText_5.html +79 -0
  192. package/src/page_plp_v2-quick-filter_imageAndText_9.html +79 -0
  193. package/src/page_plp_v2-quick-filter_textOnly_5.html +79 -0
  194. package/src/page_plp_v2-quick-filter_textOnly_9.html +79 -0
  195. package/src/page_plp_v2-vat.html +2 -7
  196. package/src/page_plp_v2.html +22 -9
  197. package/src/page_product_search-vat.html +2 -7
  198. package/src/page_product_search.html +2 -7
  199. package/src/page_project-list-generate-project-list-ID.html +3 -0
  200. package/src/page_project-list-vat.html +4 -0
  201. package/src/page_project-list-with-new-share-popup-android.html +16 -0
  202. package/src/page_project-list-with-new-share-popup-ios.html +16 -0
  203. package/src/page_project-list-with-new-share-popup.html +2 -1
  204. package/src/page_search-results.html +2 -7
  205. package/src/page_shared-project-list-bicester-hub.html +3 -1
  206. package/src/page_tradepro-discount-app.html +1 -1
  207. package/src/page_tradepro-discount-double.html +109 -0
  208. package/src/page_tradepro-discount.html +36 -2
  209. package/src/partials/head.hbs +1 -0
  210. package/src/scss/common/_common.scss +10 -4
  211. package/src/scss/components/_accordion.scss +1 -3
  212. package/src/scss/components/_custom-slider.scss +17 -16
  213. package/src/scss/components/_date-selection-add-new-styles.scss +48 -7
  214. package/src/scss/components/_date-selection.scss +80 -1
  215. package/src/scss/components/{kitchen/_filter-modal.scss → _filter-modal.scss} +55 -4
  216. package/src/scss/components/{kitchen/_plp-filters.scss → _plp-filters.scss} +31 -13
  217. package/src/scss/components/_popover-mini-basket.scss +3 -3
  218. package/src/scss/components/_quick-filter.scss +288 -0
  219. package/src/scss/components/_search-filter.scss +95 -15
  220. package/src/scss/components/_shared-shopping-list.scss +22 -0
  221. package/src/scss/components/_shopping-list.scss +18 -8
  222. package/src/scss/components/_sort-by.scss +190 -0
  223. package/src/scss/components/checkout-chip.scss +2 -2
  224. package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
  225. package/src/scss/components/kitchen/_price-tooltip.scss +1 -1
  226. package/src/scss/components/kitchen/_price.scss +1 -1
  227. package/src/scss/components/my-account/_barcode.scss +9 -1
  228. package/src/scss/components/my-account/_cards-swap.scss +60 -0
  229. package/src/scss/components/my-account/_clipboard-code.scss +11 -3
  230. package/src/scss/components/my-account/_discount.scss +12 -2
  231. package/src/scss/globals/_global-components.scss +3 -0
  232. package/src/scss/helpers/_colors-semantic.scss +68 -68
  233. package/src/scss/helpers/_variables.scss +244 -196
  234. package/src/scss/kitchen-plp-main.scss +0 -4
  235. package/src/scss/main.scss +65 -65
  236. package/src/scss/pages/my-account-v2.scss +42 -5
  237. package/src/scss/pages/page_discount.scss +8 -4
  238. package/src/scss/pages/page_product-details-v2.scss +1 -4
  239. package/src/scss/pages/page_product_search.scss +9 -1
  240. package/src/scss/pages/page_products-list-combined.scss +28 -24
  241. package/src/scss/pages/page_products-list.scss +8 -0
  242. package/src/scss/pages/tradePro-rewards.scss +3 -4
  243. package/src/scss/plp-main.scss +1 -0
  244. package/src/sitemap.html +25 -1
  245. package/build/js/page/accordion.js +0 -35
  246. package/build/js/page/kitchen/plp-filters-chips.js +0 -90
  247. package/build/js/page/kitchen/plp-filters-mobile.js +0 -72
  248. package/build/js/page/kitchen/plp-filters-panel.js +0 -119
  249. package/build/js/page/kitchen/plp-filters-utils.js +0 -65
  250. package/build/js/page/kitchen/plp-filters.js +0 -205
  251. package/build/js/page/kitchen/sort-by.js +0 -157
  252. package/src/js/components/general/search-filter.js +0 -21
  253. package/src/js/page/accordion.js +0 -35
  254. package/src/js/page/kitchen/plp-filters-chips.js +0 -90
  255. package/src/js/page/kitchen/plp-filters-mobile.js +0 -72
  256. package/src/js/page/kitchen/plp-filters-panel.js +0 -119
  257. package/src/js/page/kitchen/plp-filters-utils.js +0 -65
  258. package/src/js/page/kitchen/plp-filters.js +0 -205
  259. package/src/js/page/kitchen/sort-by.js +0 -157
@@ -1,22 +1,26 @@
1
1
  (function () {
2
- const ORDER = ["30", "30_60", "30_90", "30_60_90"];
2
+ const ORDER = ['30', '30_60', '30_90', '30_60_90'];
3
3
 
4
4
  const COPY = {
5
- "30": {
6
- heading: "Buy now, pay within 30 days",
7
- repayment: "From the point of collection / delivery of goods you’ll have 30 days to pay",
5
+ 30: {
6
+ heading: 'Buy now, pay within 30 days',
7
+ repayment:
8
+ 'From the point of collection / delivery of goods you’ll have 30 days to pay',
8
9
  },
9
- "30_60": {
10
- heading: "Buy now and choose to pay within 30 or 60 days",
11
- repayment: "From the point of collection / delivery of goods, you'll have until the end of your chosen repayment term to pay",
10
+ '30_60': {
11
+ heading: 'Buy now and choose to pay within 30 or 60 days',
12
+ repayment:
13
+ "From the point of collection / delivery of goods, you'll have until the end of your chosen repayment term to pay",
12
14
  },
13
- "30_90": {
14
- heading: "Buy now and choose to pay within 30 or 90 days",
15
- repayment: "From the point of collection / delivery of goods, you'll have until the end of your chosen repayment term to pay",
15
+ '30_90': {
16
+ heading: 'Buy now and choose to pay within 30 or 90 days',
17
+ repayment:
18
+ "From the point of collection / delivery of goods, you'll have until the end of your chosen repayment term to pay",
16
19
  },
17
- "30_60_90": {
18
- heading: "Buy now and choose to pay within 30, 60 or 90 days",
19
- repayment: "From the point of collection / delivery of goods, you'll have until the end of your chosen repayment term to pay",
20
+ '30_60_90': {
21
+ heading: 'Buy now and choose to pay within 30, 60 or 90 days',
22
+ repayment:
23
+ "From the point of collection / delivery of goods, you'll have until the end of your chosen repayment term to pay",
20
24
  },
21
25
  };
22
26
 
@@ -28,15 +32,15 @@
28
32
  }
29
33
 
30
34
  function applyBillieTerms(terms) {
31
- const copy = COPY[terms] || COPY["30"];
32
- const $modal = $("#billieLearnMoreModal");
35
+ const copy = COPY[terms] || COPY['30'];
36
+ const $modal = $('#billieLearnMoreModal');
33
37
 
34
- $modal.find(".js-billie-terms-heading").text(copy.heading);
35
- $modal.find(".js-billie-repayment-line").text(copy.repayment);
36
- $modal.attr("data-billie-terms", terms);
38
+ $modal.find('.js-billie-terms-heading').text(copy.heading);
39
+ $modal.find('.js-billie-repayment-line').text(copy.repayment);
40
+ $modal.attr('data-billie-terms', terms);
37
41
  }
38
42
 
39
- $(document).on("click", ".billie__link", function (e) {
43
+ $(document).on('click', '.billie__link', function (e) {
40
44
  e.preventDefault();
41
45
 
42
46
  const terms = nextTerms();
@@ -1,44 +1,53 @@
1
1
  var Wick = Wick || {};
2
2
 
3
- Wick.PaymentDetails = (function() {
4
- var $btnEnterDetails = $('.btn-enter-details'),
5
- $form = $btnEnterDetails.parents('form'),
6
- isGuestPage = $('.page_checkout-payment-details_guest').length;
3
+ Wick.PaymentDetails = (function () {
4
+ var $btnEnterDetails = $('.btn-enter-details'),
5
+ $form = $btnEnterDetails.parents('form'),
6
+ isGuestPage = $('.page_checkout-payment-details_guest').length;
7
7
 
8
- function bindEvents() {
9
- $btnEnterDetails.on('click', function() {
10
- if ($form.find('#card-name').val()?.length &&
11
- $form.find('#first-line-address').val().length &&
12
- $form.find('#address-line-1').val().length &&
13
- $form.find('#town-city').val().length &&
14
- $form.find('#postcode_additional').val().length) {
15
- $('.checkout-payment-details__card-details').removeClass('checkout-payment-details__card-details_hidden');
16
- $('html, body').animate({
17
- scrollTop: $('.checkout-payment-details__card-details').offset().top - 15,
18
- }, 700);
19
- return false;
20
- }
21
- Wick.Forms.showValidationErrors($form[0]);
22
- return false;
23
- });
8
+ function bindEvents() {
9
+ $btnEnterDetails.on('click', function () {
10
+ if (
11
+ $form.find('#card-name').val()?.length &&
12
+ $form.find('#first-line-address').val().length &&
13
+ $form.find('#address-line-1').val().length &&
14
+ $form.find('#town-city').val().length &&
15
+ $form.find('#postcode_additional').val().length
16
+ ) {
17
+ $('.checkout-payment-details__card-details').removeClass(
18
+ 'checkout-payment-details__card-details_hidden'
19
+ );
20
+ $('html, body').animate(
21
+ {
22
+ scrollTop: $('.checkout-payment-details__card-details').offset().top - 15,
23
+ },
24
+ 700
25
+ );
26
+ return false;
27
+ }
28
+ Wick.Forms.showValidationErrors($form[0]);
29
+ return false;
30
+ });
24
31
 
25
- $('.checkout-payment-details__card-details').on('submit', function() {
26
- var $form = $(this);
27
- if ($form.find('#card-type').val() &&
28
- $form.find('#card-name1').val().length &&
29
- $form.find('#card-number').val().length &&
30
- $form.find('#month').val() &&
31
- $form.find('#year').val() &&
32
- $form.find('#security-code').val()) {
33
- window.location.href = isGuestPage
34
- ? './page_checkout_confirmation_guest.html'
35
- : './page_checkout_confirmation.html';
36
- return false;
37
- }
38
- Wick.Forms.showValidationErrors(this);
39
- return false;
40
- });
41
- }
32
+ $('.checkout-payment-details__card-details').on('submit', function () {
33
+ var $form = $(this);
34
+ if (
35
+ $form.find('#card-type').val() &&
36
+ $form.find('#card-name1').val().length &&
37
+ $form.find('#card-number').val().length &&
38
+ $form.find('#month').val() &&
39
+ $form.find('#year').val() &&
40
+ $form.find('#security-code').val()
41
+ ) {
42
+ window.location.href = isGuestPage
43
+ ? './page_checkout_confirmation_guest.html'
44
+ : './page_checkout_confirmation.html';
45
+ return false;
46
+ }
47
+ Wick.Forms.showValidationErrors(this);
48
+ return false;
49
+ });
50
+ }
42
51
 
43
- bindEvents();
52
+ bindEvents();
44
53
  })();
@@ -1,22 +1,26 @@
1
-
2
1
  function simulateHybrisSendingHtml() {
3
- const htmlFromHybris = Wick.FEMock.cartPDP;
4
- const event = new CustomEvent('productAddedToCart', {
5
- detail: { html: htmlFromHybris }
6
- });
7
- document.dispatchEvent(event);
2
+ const htmlFromHybris = Wick.FEMock.cartPDP;
3
+ const event = new CustomEvent('productAddedToCart', {
4
+ detail: { html: htmlFromHybris },
5
+ });
6
+ document.dispatchEvent(event);
8
7
  }
9
8
 
10
9
  function bindResolveEvent(events) {
11
- $(window).on(events.join(' '), function ({ detail: { resolve } }) {
12
- setTimeout(() => {
13
- resolve();
14
- }, 200);
15
- });
10
+ $(window).on(events.join(' '), function ({ detail: { resolve } }) {
11
+ setTimeout(() => {
12
+ resolve();
13
+ }, 200);
14
+ });
16
15
  }
17
16
 
18
17
  $(document).ready(function () {
19
- $('.btn-add-to-basket').on('click', simulateHybrisSendingHtml);
18
+ $('.btn-add-to-basket').on('click', simulateHybrisSendingHtml);
20
19
 
21
- bindResolveEvent(['CLOSE_JUST_ADDED', 'CLOSE_MINI_BASKET', 'MINI_BASKET_CHECKOUT', 'MINI_BASKET_VIEW_BASKET']);
20
+ bindResolveEvent([
21
+ 'CLOSE_JUST_ADDED',
22
+ 'CLOSE_MINI_BASKET',
23
+ 'MINI_BASKET_CHECKOUT',
24
+ 'MINI_BASKET_VIEW_BASKET',
25
+ ]);
22
26
  });
@@ -0,0 +1,164 @@
1
+ import { createShowMoreLess } from '../page/utils/show-more-less';
2
+
3
+ var Wick = window.Wick || (window.Wick = {});
4
+
5
+ function waitFor(getter, cb, opts) {
6
+ opts = opts || {};
7
+ var timeout = opts.timeout || 8000;
8
+ var interval = opts.interval || 50;
9
+
10
+ var start = Date.now();
11
+ (function tick() {
12
+ var val;
13
+ try {
14
+ val = getter();
15
+ } catch (e) {
16
+ val = null;
17
+ }
18
+
19
+ if (val) {
20
+ cb(val);
21
+ return;
22
+ }
23
+
24
+ if (Date.now() - start > timeout) {
25
+ return;
26
+ }
27
+
28
+ setTimeout(tick, interval);
29
+ })();
30
+ }
31
+
32
+ // show-more-less
33
+ (function () {
34
+ const SEL = {
35
+ OPEN: '#open-overlay',
36
+ CLOSE: '#close-overlay, .filter-results__btn-close',
37
+ FILTER_RESULT: '.filter-results_desktop',
38
+ FILTER_MOBILE: '.filter-results_mobile',
39
+ CATEGORY: '.filter__item--category',
40
+ };
41
+
42
+ const SRPShowMoreLess = createShowMoreLess({
43
+ excludeGroup: ($group) => $group.hasClass(SEL.CATEGORY),
44
+ });
45
+
46
+ function initInScope() {
47
+ const $fm = $(SEL.FILTER_MOBILE);
48
+ SRPShowMoreLess.init($(SEL.FILTER_RESULT));
49
+ SRPShowMoreLess.init($fm);
50
+ }
51
+
52
+ function resetInMobile() {
53
+ const $fm = $(SEL.FILTER_MOBILE);
54
+ SRPShowMoreLess.resetAll($fm);
55
+ }
56
+
57
+ $(function () {
58
+ initInScope();
59
+ });
60
+
61
+ $(document)
62
+ .off('click.srpSmlEmu', SEL.OPEN)
63
+ .on('click.srpSmlEmu', SEL.OPEN, function (e) {
64
+ e.preventDefault();
65
+ initInScope();
66
+ resetInMobile();
67
+ });
68
+
69
+ $(document)
70
+ .off('click.srpSmlEmu', SEL.CLOSE)
71
+ .on('click.srpSmlEmu', SEL.CLOSE, function (e) {
72
+ e.preventDefault();
73
+ resetInMobile();
74
+ });
75
+ })();
76
+
77
+ (function () {
78
+ waitFor(
79
+ function () {
80
+ return Wick.Sort;
81
+ },
82
+ function (Sort) {
83
+ Sort.ROOT = '.products-list-page:not(.page-KitchenPLPPage)';
84
+ Wick.Sort.ROOT = Sort.ROOT;
85
+
86
+ var $root = $(Sort.ROOT);
87
+ if (!$root.length) return;
88
+
89
+ if (Sort.__emuBound) return;
90
+ Sort.__emuBound = true;
91
+
92
+ $root.off('click', Sort.TRIGGER_MOBILE);
93
+ $root.off('click', Sort.TRIGGER_DESKTOP_BTN);
94
+ $root.off('keydown', Sort.TRIGGER_MOBILE + ', ' + Sort.TRIGGER_DESKTOP_BTN);
95
+ $root.off('click', Sort.OPTION);
96
+
97
+ $root.on('click', Sort.TRIGGER_MOBILE, function (e) {
98
+ e.stopPropagation();
99
+
100
+ if ($(e.target).closest(Sort.DROPDOWN).length) return;
101
+ e.preventDefault();
102
+ Sort.toggle($(e.currentTarget));
103
+ });
104
+
105
+ $root.on('click', Sort.TRIGGER_DESKTOP_BTN, function (e) {
106
+ e.stopPropagation();
107
+
108
+ e.preventDefault();
109
+ Sort.toggle($(e.currentTarget).closest(Sort.WRAP));
110
+ });
111
+
112
+ $root.on(
113
+ 'keydown',
114
+ Sort.TRIGGER_MOBILE + ', ' + Sort.TRIGGER_DESKTOP_BTN,
115
+ function (e) {
116
+ if (e.key === 'Enter' || e.key === ' ') {
117
+ e.stopPropagation();
118
+ e.preventDefault();
119
+ Sort.toggle($(e.currentTarget).closest(Sort.WRAP));
120
+ }
121
+ }
122
+ );
123
+
124
+ $root.on('click', Sort.OPTION, function (e) {
125
+ e.preventDefault();
126
+ e.stopPropagation();
127
+
128
+ var opt = $(e.currentTarget);
129
+ var value = opt.data('value');
130
+ var label = Sort.valueToLabel(value);
131
+
132
+ if (opt.data('is-plp-srp')) {
133
+ var wrap = opt.closest(Sort.WRAP);
134
+ wrap.find(Sort.OPTION).removeClass('is-active');
135
+ opt.addClass('is-active');
136
+
137
+ $(Sort.INFO).text(label);
138
+ Sort.closeAll();
139
+ return;
140
+ }
141
+
142
+ Sort.updateSortParamInURL(value);
143
+ });
144
+
145
+ (function bootstrapEmu() {
146
+ var urlParams = new URLSearchParams(window.location.search);
147
+ var value = urlParams.get('sortBy') || 'relevance';
148
+ var label = Sort.valueToLabel(value);
149
+
150
+ var $wraps = $root.find(Sort.WRAP);
151
+
152
+ $wraps.each(function (_, el) {
153
+ var w = $(el);
154
+ w.find(Sort.OPTION)
155
+ .removeClass('is-active')
156
+ .filter('[data-value="' + value + '"]')
157
+ .addClass('is-active');
158
+ });
159
+
160
+ $(Sort.INFO).text(label);
161
+ })();
162
+ }
163
+ );
164
+ })();