wickes-css2 2.105.0-develop.1 → 2.105.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 (274) hide show
  1. package/Readme.md +5 -4
  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/homepage-main.css +1 -1
  5. package/build/css/kitchen-plp-main.css +1 -1
  6. package/build/css/main.css +1 -1
  7. package/build/css/my-account-main-v2.css +1 -1
  8. package/build/css/my-account-main.css +1 -1
  9. package/build/css/pages/checkout-new.css +1 -1
  10. package/build/css/pages/checkout.css +1 -1
  11. package/build/css/pages/my-account-v2.css +1 -1
  12. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  13. package/build/css/pages/page_discount.css +1 -1
  14. package/build/css/pages/page_product_search.css +1 -1
  15. package/build/css/pages/page_products-list-combined.css +1 -1
  16. package/build/css/pages/page_products-list.css +1 -1
  17. package/build/css/pages/tradePro-rewards.css +1 -1
  18. package/build/css/pdp-main-before-combine.css +1 -1
  19. package/build/css/pdp-main-critical.css +1 -1
  20. package/build/css/pdp-main-non-critical.css +1 -1
  21. package/build/css/pdp-main.css +1 -1
  22. package/build/css/plp-main.css +1 -1
  23. package/build/css/store-locator-main.css +1 -1
  24. package/build/img/google-pay-mark.svg +11 -0
  25. package/build/img/quick-filters/bath1.svg +10 -0
  26. package/build/img/quick-filters/bath3.svg +3 -0
  27. package/build/img/quick-filters/bath4.svg +10 -0
  28. package/build/img/quick-filters/bath5.svg +10 -0
  29. package/build/img/quick-filters/image1.jpg +0 -0
  30. package/build/img/quick-filters/image2.jpg +0 -0
  31. package/build/img/quick-filters/image3.jpg +0 -0
  32. package/build/js/account-members.min.js +1 -1
  33. package/build/js/basket.min.js +2 -2
  34. package/build/js/bundle.min.js +1 -1
  35. package/build/js/checkout.min.js +2 -2
  36. package/build/js/emulation.min.js +12140 -11596
  37. package/build/js/general.bundle.min.js +1 -1
  38. package/build/js/kitchen/kitchen-plp.min.js +1 -9
  39. package/build/js/merged-checkout.min.js +2 -2
  40. package/build/js/mini-basket-slider.min.js +1 -1
  41. package/build/js/my-account.min.js +1 -1
  42. package/build/js/page/basket/basket-update-cart-action.js +59 -56
  43. package/build/js/page/basket/basket-update-cart.js +27 -27
  44. package/build/js/page/basket/basket-utils.js +40 -33
  45. package/build/js/page/basket/mini-basket-total.js +70 -66
  46. package/build/js/page/basket/quantity-change-handler.js +73 -55
  47. package/build/js/page/basket/update-quantity-operation.js +39 -30
  48. package/build/js/page/basket/update-quantity.js +62 -62
  49. package/build/js/page/basket-v2.js +360 -225
  50. package/build/js/page/billie-business-type.js +27 -27
  51. package/build/js/page/checkout-payment-details.js +301 -299
  52. package/build/js/page/components/billie-modal.js +31 -0
  53. package/build/js/page/components/discounts.js +39 -36
  54. package/build/js/page/components/mini-basket-slider.js +604 -545
  55. package/build/js/page/filters/desktop-nav.js +64 -0
  56. package/build/js/page/filters/mobile-nav.js +93 -0
  57. package/build/js/page/filters/plp-filters-chips.js +92 -0
  58. package/build/js/page/filters/plp-filters-mobile.js +150 -0
  59. package/build/js/page/filters/plp-filters-panel.js +123 -0
  60. package/build/js/page/filters/plp-filters-utils.js +66 -0
  61. package/build/js/page/filters/plp-filters.js +268 -0
  62. package/build/js/page/filters/sort-by.js +172 -0
  63. package/build/js/page/kitchen/colour-swatches.js +5 -2
  64. package/build/js/page/klarna-modal-scroll-disable.js +4 -4
  65. package/build/js/page/my-account.js +32 -47
  66. package/build/js/page/online-exclusive.js +28 -31
  67. package/build/js/page/quick-filter.js +108 -0
  68. package/build/js/page/search-filter.js +62 -0
  69. package/build/js/page/share-project-list.js +57 -0
  70. package/build/js/page/tradePro-rewards.js +69 -39
  71. package/build/js/page/utils/copy-to-clipboard.js +79 -47
  72. package/build/js/page/utils/helpers.js +14 -9
  73. package/build/js/page/utils/show-more-less.js +273 -0
  74. package/build/js/pdp.bundle.min.js +1 -1
  75. package/build/js/plp-filters.min.js +9 -0
  76. package/build/js/plp.bundle.min.js +1 -1
  77. package/build/js/project-list.min.js +143 -85
  78. package/build/js/search-filter.min.js +1 -0
  79. package/build/js/share-project-list.min.js +1 -0
  80. package/build/js/tradePro-rewards.min.js +1 -1
  81. package/package.json +4 -2
  82. package/src/components/.DS_Store +0 -0
  83. package/src/components/accordion.hbs +2 -2
  84. package/src/components/checkout-payment-details-v2.hbs +1 -1
  85. package/src/components/date-selection.hbs +25 -6
  86. package/src/components/generate-project-id.hbs +1 -1
  87. package/src/components/kitchen/dropdown.hbs +6 -3
  88. package/src/components/kitchen/filter-modal-content-kitchen.hbs +10 -0
  89. package/src/components/kitchen/filter-modal.hbs +10 -13
  90. package/src/components/kitchen/kitchen-card.hbs +1 -1
  91. package/src/components/kitchen/plp-filters.hbs +3 -1
  92. package/src/components/kitchen/sort-by.hbs +1 -1
  93. package/src/components/my-account/barcode.hbs +1 -3
  94. package/src/components/my-account/cards-swap.hbs +10 -0
  95. package/src/components/my-account/clipboard-code-card.hbs +3 -3
  96. package/src/components/my-account/discount.hbs +1 -1
  97. package/src/components/my-account/greetings.hbs +1 -1
  98. package/src/components/order-summary.hbs +1 -0
  99. package/src/components/price-block-v2.hbs +1 -0
  100. package/src/components/quick-filter.hbs +56 -0
  101. package/src/components/search-filter-modal-content.hbs +102 -0
  102. package/src/components/search-filter.hbs +121 -112
  103. package/src/components/shopping-list-with-share-list-v2.hbs +28 -10
  104. package/src/components/shopping-list.hbs +5 -5
  105. package/src/data/data_plp_load-more.json +1 -1
  106. package/src/data/data_quick-filter.json +508 -0
  107. package/src/data/my-account/data_my-account.json +9 -0
  108. package/src/elements/btn.hbs +7 -0
  109. package/src/img/google-pay-mark.svg +11 -0
  110. package/src/img/quick-filters/bath1.svg +10 -0
  111. package/src/img/quick-filters/bath3.svg +3 -0
  112. package/src/img/quick-filters/bath4.svg +10 -0
  113. package/src/img/quick-filters/bath5.svg +10 -0
  114. package/src/img/quick-filters/image1.jpg +0 -0
  115. package/src/img/quick-filters/image2.jpg +0 -0
  116. package/src/img/quick-filters/image3.jpg +0 -0
  117. package/src/js/components/cards-swap.js +74 -0
  118. package/src/js/components/general/accordion.js +44 -33
  119. package/src/js/components/general/cart-slider.js +19 -16
  120. package/src/js/components/general/create-popup-slider.js +168 -173
  121. package/src/js/components/pdp-billie-modal-scroll-reset.js +53 -0
  122. package/src/js/components/share-project-list.js +8 -5
  123. package/src/js/emulation/big-wins.js +1081 -904
  124. package/src/js/emulation/billie-modal.js +39 -18
  125. package/src/js/emulation/checkout-payment-details.js +47 -38
  126. package/src/js/emulation/custom-slider-emulation.js +17 -13
  127. package/src/js/emulation/filters-emulation.js +164 -0
  128. package/src/js/emulation/forms.js +360 -323
  129. package/src/js/emulation/mini-basket-data.js +1051 -923
  130. package/src/js/emulation/paymentLoader.js +17 -17
  131. package/src/js/emulation/pdf-file-loader.js +89 -91
  132. package/src/js/emulation/popover-mini-basket.js +246 -239
  133. package/src/js/emulation/product-counter.js +50 -0
  134. package/src/js/emulation/project-list-pdp.js +320 -316
  135. package/src/js/emulation/repayment-toggle.js +23 -24
  136. package/src/js/emulation/reset-filter-desktop.js +5 -0
  137. package/src/js/emulation/selectable.js +22 -18
  138. package/src/js/emulation/wismo-details.js +23 -31
  139. package/src/js/page/basket/basket-update-cart-action.js +59 -56
  140. package/src/js/page/basket/basket-update-cart.js +27 -27
  141. package/src/js/page/basket/basket-utils.js +40 -33
  142. package/src/js/page/basket/mini-basket-total.js +70 -66
  143. package/src/js/page/basket/quantity-change-handler.js +73 -55
  144. package/src/js/page/basket/update-quantity-operation.js +39 -30
  145. package/src/js/page/basket/update-quantity.js +62 -62
  146. package/src/js/page/basket-v2.js +360 -225
  147. package/src/js/page/billie-business-type.js +27 -27
  148. package/src/js/page/checkout-payment-details.js +301 -299
  149. package/src/js/page/components/billie-modal.js +31 -0
  150. package/src/js/page/components/discounts.js +39 -36
  151. package/src/js/page/components/mini-basket-slider.js +604 -545
  152. package/src/js/page/filters/desktop-nav.js +64 -0
  153. package/src/js/page/filters/mobile-nav.js +93 -0
  154. package/src/js/page/filters/plp-filters-chips.js +92 -0
  155. package/src/js/page/filters/plp-filters-mobile.js +150 -0
  156. package/src/js/page/filters/plp-filters-panel.js +123 -0
  157. package/src/js/page/filters/plp-filters-utils.js +66 -0
  158. package/src/js/page/filters/plp-filters.js +268 -0
  159. package/src/js/page/filters/sort-by.js +172 -0
  160. package/src/js/page/kitchen/colour-swatches.js +5 -2
  161. package/src/js/page/klarna-modal-scroll-disable.js +4 -4
  162. package/src/js/page/my-account.js +32 -47
  163. package/src/js/page/online-exclusive.js +28 -31
  164. package/src/js/page/quick-filter.js +108 -0
  165. package/src/js/page/search-filter.js +62 -0
  166. package/src/js/page/share-project-list.js +57 -0
  167. package/src/js/page/tradePro-rewards.js +69 -39
  168. package/src/js/page/utils/copy-to-clipboard.js +79 -47
  169. package/src/js/page/utils/helpers.js +14 -9
  170. package/src/js/page/utils/show-more-less.js +273 -0
  171. package/src/page_empty-shared-project-list-bicester-hub.html +4 -0
  172. package/src/page_empty-shopping-list_guest.html +1 -0
  173. package/src/page_kitchen-plp.html +2 -2
  174. package/src/page_my-account-installer.html +1 -1
  175. package/src/page_my-account-trade-pro-carousel-double.html +127 -0
  176. package/src/page_my-account-trade-pro-carousel.html +134 -0
  177. package/src/page_my-account-trade-pro.html +1 -1
  178. package/src/page_my-shopping-list-add-notes.html +1 -0
  179. package/src/page_my-shopping-list-energy.html +1 -0
  180. package/src/page_my-shopping-list-hide-download.html +3 -2
  181. package/src/page_my-shopping-list-pdf.html +2 -0
  182. package/src/page_my-shopping-list-saved-ref.html +1 -0
  183. package/src/page_my-shopping-list-wisdom-oos-registered.html +1 -0
  184. package/src/page_my-shopping-list-wisdom-oos.html +1 -0
  185. package/src/page_my-shopping-list-wisdom-partial-registered.html +1 -0
  186. package/src/page_my-shopping-list-wisdom-registered.html +1 -0
  187. package/src/page_my-shopping-list-wisdom.html +1 -0
  188. package/src/page_my-shopping-list.html +1 -0
  189. package/src/page_my-shopping-list_not-register.html +3 -0
  190. package/src/page_plp-with-paint.html +2 -7
  191. package/src/page_plp.html +2 -7
  192. package/src/page_plp_v2-energy-efficiency.html +1 -6
  193. package/src/page_plp_v2-favourite-products.html +6 -7
  194. package/src/page_plp_v2-quick-filter_colourSwatches_11.html +79 -0
  195. package/src/page_plp_v2-quick-filter_colourSwatches_5.html +79 -0
  196. package/src/page_plp_v2-quick-filter_iconAndText_5.html +79 -0
  197. package/src/page_plp_v2-quick-filter_iconAndText_9.html +79 -0
  198. package/src/page_plp_v2-quick-filter_iconOnly_11.html +79 -0
  199. package/src/page_plp_v2-quick-filter_iconOnly_5.html +79 -0
  200. package/src/page_plp_v2-quick-filter_imageAndText_5.html +79 -0
  201. package/src/page_plp_v2-quick-filter_imageAndText_9.html +79 -0
  202. package/src/page_plp_v2-quick-filter_textOnly_5.html +79 -0
  203. package/src/page_plp_v2-quick-filter_textOnly_9.html +79 -0
  204. package/src/page_plp_v2-vat.html +2 -7
  205. package/src/page_plp_v2.html +22 -9
  206. package/src/page_product-details-tile-steps-klarna-widget-with-method-ids.html +120 -0
  207. package/src/page_product_search-vat.html +2 -7
  208. package/src/page_product_search.html +2 -7
  209. package/src/page_project-list-generate-project-list-ID.html +3 -0
  210. package/src/page_project-list-vat.html +4 -0
  211. package/src/page_project-list-with-new-share-popup-android.html +16 -0
  212. package/src/page_project-list-with-new-share-popup-ios.html +16 -0
  213. package/src/page_project-list-with-new-share-popup.html +2 -1
  214. package/src/page_search-results.html +2 -7
  215. package/src/page_shared-project-list-bicester-hub.html +3 -1
  216. package/src/page_shopping-cart-v2-klarna-with-method-ids.html +50 -0
  217. package/src/page_tradepro-discount-app.html +1 -1
  218. package/src/page_tradepro-discount-double.html +109 -0
  219. package/src/page_tradepro-discount.html +36 -2
  220. package/src/partials/head.hbs +1 -0
  221. package/src/scss/common/_common.scss +10 -4
  222. package/src/scss/components/_accordion.scss +1 -3
  223. package/src/scss/components/_custom-slider.scss +17 -16
  224. package/src/scss/components/_date-selection-add-new-styles.scss +48 -7
  225. package/src/scss/components/_date-selection.scss +80 -1
  226. package/src/scss/components/{kitchen/_filter-modal.scss → _filter-modal.scss} +55 -4
  227. package/src/scss/components/{kitchen/_plp-filters.scss → _plp-filters.scss} +31 -13
  228. package/src/scss/components/_popover-mini-basket.scss +3 -3
  229. package/src/scss/components/_quick-filter.scss +288 -0
  230. package/src/scss/components/_search-filter.scss +95 -15
  231. package/src/scss/components/_shared-shopping-list.scss +22 -0
  232. package/src/scss/components/_shopping-list.scss +18 -8
  233. package/src/scss/components/_sort-by.scss +190 -0
  234. package/src/scss/components/checkout-chip.scss +2 -2
  235. package/src/scss/components/checkout-payment-details-v2.scss +10 -4
  236. package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
  237. package/src/scss/components/kitchen/_price-tooltip.scss +1 -1
  238. package/src/scss/components/kitchen/_price.scss +1 -1
  239. package/src/scss/components/my-account/_barcode.scss +9 -1
  240. package/src/scss/components/my-account/_cards-swap.scss +60 -0
  241. package/src/scss/components/my-account/_clipboard-code.scss +11 -3
  242. package/src/scss/components/my-account/_discount.scss +12 -2
  243. package/src/scss/globals/_global-components.scss +3 -0
  244. package/src/scss/helpers/_colors-semantic.scss +68 -68
  245. package/src/scss/helpers/_variables.scss +244 -196
  246. package/src/scss/kitchen-plp-main.scss +0 -4
  247. package/src/scss/main.scss +65 -65
  248. package/src/scss/pages/_checkout-confirmation-new.scss +49 -21
  249. package/src/scss/pages/my-account-v2.scss +42 -5
  250. package/src/scss/pages/page_discount.scss +8 -4
  251. package/src/scss/pages/page_product-details-v2.scss +1 -4
  252. package/src/scss/pages/page_product_search.scss +9 -1
  253. package/src/scss/pages/page_products-list-combined.scss +28 -24
  254. package/src/scss/pages/page_products-list.scss +8 -0
  255. package/src/scss/pages/tradePro-rewards.scss +3 -4
  256. package/src/scss/plp-main.scss +1 -0
  257. package/src/sitemap.html +40 -4
  258. package/build/img/google-pay-mark.png +0 -0
  259. package/build/js/page/accordion.js +0 -35
  260. package/build/js/page/kitchen/plp-filters-chips.js +0 -90
  261. package/build/js/page/kitchen/plp-filters-mobile.js +0 -72
  262. package/build/js/page/kitchen/plp-filters-panel.js +0 -119
  263. package/build/js/page/kitchen/plp-filters-utils.js +0 -65
  264. package/build/js/page/kitchen/plp-filters.js +0 -205
  265. package/build/js/page/kitchen/sort-by.js +0 -157
  266. package/src/img/google-pay-mark.png +0 -0
  267. package/src/js/components/general/search-filter.js +0 -21
  268. package/src/js/page/accordion.js +0 -35
  269. package/src/js/page/kitchen/plp-filters-chips.js +0 -90
  270. package/src/js/page/kitchen/plp-filters-mobile.js +0 -72
  271. package/src/js/page/kitchen/plp-filters-panel.js +0 -119
  272. package/src/js/page/kitchen/plp-filters-utils.js +0 -65
  273. package/src/js/page/kitchen/plp-filters.js +0 -205
  274. package/src/js/page/kitchen/sort-by.js +0 -157
@@ -1,4 +1,4 @@
1
- import {updateEeaProducts, updateEeaCheckoutProducts, syncEeaProducts} from './basket/gtm';
1
+ import { updateEeaProducts, updateEeaCheckoutProducts, syncEeaProducts } from './basket/gtm';
2
2
  import {
3
3
  toggleWisdom,
4
4
  checkDeliveryStock,
@@ -6,34 +6,34 @@ import {
6
6
  createWisdom,
7
7
  changeWisdomWhenQuantityUpdated,
8
8
  checkDeliveryStockOnEnter,
9
- prettifyWisdomPostcode
9
+ prettifyWisdomPostcode,
10
10
  } from './basket/wisdom';
11
- import {updateOrderSummary} from './components/order-summary';
12
- import {checkVoucherCode, voucherRemove} from './components/voucher';
13
- import {updateKlarnaPlacements} from './basket/klarna';
14
- import {updateClearpayPlacements, updateClearpayVisibility} from './basket/clearpay';
15
- import {checkPayPalAvailability} from './basket/paypal';
11
+ import { updateOrderSummary } from './components/order-summary';
12
+ import { checkVoucherCode, voucherRemove } from './components/voucher';
13
+ import { updateKlarnaPlacements } from './basket/klarna';
14
+ import { updateClearpayPlacements, updateClearpayVisibility } from './basket/clearpay';
15
+ import { checkPayPalAvailability } from './basket/paypal';
16
16
  import {
17
17
  updateCharity,
18
18
  changeCharityPrice,
19
19
  setDefaultCharityValue,
20
20
  initCharityInteractions,
21
21
  } from './components/charity';
22
- import {callAction} from './utils/http-action';
23
- import {ROUTES} from './utils/routes';
22
+ import { callAction } from './utils/http-action';
23
+ import { ROUTES } from './utils/routes';
24
24
  import {
25
25
  getUniqBasketSessionId,
26
26
  updateBasketSession,
27
27
  addStorageCheckEvent,
28
28
  updateBasketDataQuantity,
29
- } from './basket/session-sync'
30
- import {displayEnergyEfficiency} from "./basket/display-energy-efficiency";
31
- import {appendLoader, hideLoader, showLoader} from "./utils/loader";
29
+ } from './basket/session-sync';
30
+ import { displayEnergyEfficiency } from './basket/display-energy-efficiency';
31
+ import { appendLoader, hideLoader, showLoader } from './utils/loader';
32
32
  import { initStickyObserver } from './components/sticky-order-observer';
33
- import {addClassToSummaryAside} from "./basket/summary-mobile";
34
- import {handleQuantityChange} from "./basket/quantity-change-handler";
35
- import {updateQuantityAction} from "./basket/update-quantity";
36
- import {updateQuantityOperation} from "./basket/update-quantity-operation";
33
+ import { addClassToSummaryAside } from './basket/summary-mobile';
34
+ import { handleQuantityChange } from './basket/quantity-change-handler';
35
+ import { updateQuantityAction } from './basket/update-quantity';
36
+ import { updateQuantityOperation } from './basket/update-quantity-operation';
37
37
  import {
38
38
  checkProductArrays,
39
39
  getCartEntries,
@@ -44,6 +44,7 @@ import {
44
44
  } from "./basket/basket-utils";
45
45
  import {updateCartBase} from "./basket/basket-update-cart";
46
46
  import {updateCartActionBase} from "./basket/basket-update-cart-action";
47
+ import {initBillieModal} from "./components/billie-modal";
47
48
 
48
49
  var Wick = window.Wick || {};
49
50
  Wick.BasketPage = {
@@ -120,15 +121,15 @@ Wick.BasketPage = {
120
121
  titleItems: '.checkout-title__items',
121
122
  wisdomPostcode: '.wisdom-postcode',
122
123
  orderItemQuantityControl: '.order-item__quantity-control',
123
- loader: '.basket-loader'
124
+ loader: '.basket-loader',
124
125
  },
125
126
  cartEntries: [],
126
127
  sessionId: getUniqBasketSessionId(),
127
128
  loaderPayload: {
128
129
  wrapper: 'body',
129
130
  hidden: true,
130
- titleLoader: "Updating basket…",
131
- modifier: "basket-loader"
131
+ titleLoader: 'Updating basket…',
132
+ modifier: 'basket-loader',
132
133
  },
133
134
  getEqualMapForUpdateCart: function (data) {
134
135
  return [
@@ -137,34 +138,34 @@ Wick.BasketPage = {
137
138
  itemValue: Wick.BasketPage.el.value,
138
139
  dataValue: data.subtotalWithoutCharity.formattedValue,
139
140
  value: data.subTotal.value,
140
- title: 'Items subtotal:'
141
+ title: 'Items subtotal:',
141
142
  },
142
143
  {
143
144
  item: Wick.BasketPage.el.vat,
144
145
  itemValue: Wick.BasketPage.el.value,
145
146
  dataValue: data.totalTax.formattedValue,
146
147
  value: data.totalTax.value,
147
- title: 'VAT:'
148
+ title: 'VAT:',
148
149
  },
149
150
  {
150
151
  item: Wick.BasketPage.el.cc,
151
152
  itemValue: Wick.BasketPage.el.value,
152
153
  dataValue: 'Free',
153
- title: 'Click & Collect:'
154
+ title: 'Click & Collect:',
154
155
  },
155
156
  {
156
157
  item: Wick.BasketPage.el.delivery,
157
158
  itemValue: Wick.BasketPage.el.value,
158
159
  dataValue: data.deliveryCost.formattedValue,
159
160
  value: data.deliveryCost.value,
160
- title: 'Delivery:'
161
+ title: 'Delivery:',
161
162
  },
162
163
  {
163
164
  item: Wick.BasketPage.el.charity,
164
165
  itemValue: Wick.BasketPage.el.value,
165
166
  dataValue: data.charityPrice.formattedValue,
166
167
  value: data.charityPrice.value,
167
- title: 'Charity donation:'
168
+ title: 'Charity donation:',
168
169
  },
169
170
  {
170
171
  item: Wick.BasketPage.el.discountItem,
@@ -214,15 +215,15 @@ Wick.BasketPage = {
214
215
  entryNumber,
215
216
  onQuantityChange: Wick.BasketPage.updateQuantityAction,
216
217
  debounceQuantityChange: Wick.BasketPage.debounceQuantityChange,
217
- onRemoveQuantityDisable: Wick.BasketPage.removeQuantityDisable
218
+ onRemoveQuantityDisable: Wick.BasketPage.removeQuantityDisable,
218
219
  });
219
220
 
220
221
  changeWisdomWhenQuantityUpdated(e, context);
221
- Wick.BasketPage.toggleItemTotal(context, +quantityInput.val())
222
+ Wick.BasketPage.toggleItemTotal(context, +quantityInput.val());
222
223
  },
223
224
  debounceQuantityChange: _.debounce(function (entryNumber, value, quantityInput, context) {
224
225
  showLoader(Wick.BasketPage.el.loader);
225
- Wick.BasketPage.updateQuantityAction(entryNumber, value, quantityInput, context)
226
+ Wick.BasketPage.updateQuantityAction(entryNumber, value, quantityInput, context);
226
227
  }, 500),
227
228
  updateQuantityAction: function (entryNumber, quantityToUpdate, quantityInput, context) {
228
229
  updateQuantityAction({
@@ -240,16 +241,11 @@ Wick.BasketPage = {
240
241
  isLocalEnv: Wick.checkLocalEnv,
241
242
  callActionFn: callAction,
242
243
  routes: ROUTES,
243
- basketSectionSelector: Wick.BasketPage.el.basketMainSection
244
+ basketSectionSelector: Wick.BasketPage.el.basketMainSection,
244
245
  });
245
246
  },
246
247
  updateAction: function (response, quantityToUpdate, quantityInput, context, successCallback) {
247
- Wick.BasketPage.updateQuantityOperation(
248
- quantityToUpdate,
249
- quantityInput,
250
- context,
251
- response
252
- );
248
+ Wick.BasketPage.updateQuantityOperation(quantityToUpdate, quantityInput, context, response);
253
249
  successCallback(response);
254
250
  },
255
251
  updateQuantityOperation: function (quantityToUpdate, quantityInput, context, data) {
@@ -259,7 +255,7 @@ Wick.BasketPage = {
259
255
  updateQuantity: Wick.BasketPage.updateQuantity,
260
256
  updateItemTotal: Wick.BasketPage.updateItemTotal,
261
257
  isMessageExist: Wick.BasketPage.isMessageExist,
262
- getMessageInfo: Wick.BasketPage.getMessageInfo
258
+ getMessageInfo: Wick.BasketPage.getMessageInfo,
263
259
  });
264
260
  },
265
261
  isMessageExist: isMessageExist,
@@ -267,7 +263,7 @@ Wick.BasketPage = {
267
263
  loadIndexing: function () {
268
264
  Wick.BasketPage.el.$orderItem.each(function (index) {
269
265
  $(this).attr('data-id', index);
270
- })
266
+ });
271
267
  },
272
268
  updateQuantity: function (quantityInput, accum) {
273
269
  quantityInput.val(accum);
@@ -290,10 +286,10 @@ Wick.BasketPage = {
290
286
  }
291
287
  }
292
288
  },
293
- toggleItemTotal: function(context, quantity) {
289
+ toggleItemTotal: function (context, quantity) {
294
290
  quantity <= 1
295
- ? $(context).find(Wick.BasketPage.el.total).addClass(Wick.BasketPage.el.totalHide)
296
- : $(context).find(Wick.BasketPage.el.total).removeClass(Wick.BasketPage.el.totalHide);
291
+ ? $(context).find(Wick.BasketPage.el.total).addClass(Wick.BasketPage.el.totalHide)
292
+ : $(context).find(Wick.BasketPage.el.total).removeClass(Wick.BasketPage.el.totalHide);
297
293
  },
298
294
  updateCart: function (repaintData, context, charity, initial, callback) {
299
295
  console.log('case(api) to update cart');
@@ -308,7 +304,7 @@ Wick.BasketPage = {
308
304
  context,
309
305
  charity,
310
306
  initial,
311
- localUpdateFn: function(initial, repaintData, context, charity) {
307
+ localUpdateFn: function (initial, repaintData, context, charity) {
312
308
  if (initial) {
313
309
  Wick.BasketPage.getCartEntries(Wick.BasketData.initialCartState);
314
310
  addClassToSummaryAside(Wick.BasketData.initialCartState);
@@ -317,29 +313,33 @@ Wick.BasketPage = {
317
313
  } else {
318
314
  updateBasketDataQuantity();
319
315
  updateOrderSummary(
320
- Wick.BasketData.updateCart,
321
- Wick.BasketPage.getEqualMapForUpdateCart(Wick.BasketData.updateCart)
316
+ Wick.BasketData.updateCart,
317
+ Wick.BasketPage.getEqualMapForUpdateCart(Wick.BasketData.updateCart)
322
318
  );
323
- !repaintData || Wick.BasketPage.repaintOrderItems(Wick.BasketData.updateCart, repaintData);
319
+ !repaintData ||
320
+ Wick.BasketPage.repaintOrderItems(Wick.BasketData.updateCart, repaintData);
324
321
  !charity || Wick.BasketPage.addCharityEntryNumber(Wick.BasketData.updateCart);
325
322
  if (context && context.length) {
326
323
  Wick.BasketPage.updatePromotion(Wick.BasketData.updateCart, context);
327
324
  }
328
- updateKlarnaPlacements(Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol);
325
+ updateKlarnaPlacements(
326
+ Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol
327
+ );
329
328
  updateClearpayPlacements(Wick.BasketData.updateCart.totalPrice.value);
330
329
  updateClearpayVisibility(Wick.BasketData.updateCart.totalPrice.value);
331
330
  Wick.BasketPage.addPotentialPromo(Wick.BasketData.updateCart);
332
331
  addClassToSummaryAside(Wick.BasketData.updateCart);
333
332
  Wick.BasketPage.getCartEntries(Wick.BasketData.updateCart);
334
- Wick.BasketPage.checkProductArrays(Wick.BasketData.updateCart) || Wick.BasketPage.removeOrderItem(repaintData);
333
+ Wick.BasketPage.checkProductArrays(Wick.BasketData.updateCart) ||
334
+ Wick.BasketPage.removeOrderItem(repaintData);
335
335
  updateBasketSession();
336
336
  Wick.EnergyEfficiency && Wick.EnergyEfficiency.drawEnergyLabels();
337
337
  setTimeout(() => hideLoader(Wick.BasketPage.el.loader), 1000);
338
338
  }
339
- }
339
+ },
340
340
  });
341
341
  },
342
- updateCartAction: function (response, {repaintData, charity, initial, context}) {
342
+ updateCartAction: function (response, { repaintData, charity, initial, context }) {
343
343
  updateClearpayVisibility(response.totalPrice.value);
344
344
  addClassToSummaryAside(response);
345
345
 
@@ -370,77 +370,84 @@ Wick.BasketPage = {
370
370
  updateEeaProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
371
371
  updateEeaCheckoutProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
372
372
  syncEeaProducts();
373
- }
373
+ },
374
374
  });
375
375
  },
376
376
  checkProductArrays: checkProductArrays,
377
- getCartEntries: function(data) {
377
+ getCartEntries: function (data) {
378
378
  Wick.BasketPage.cartEntries = getCartEntries(data);
379
379
  },
380
380
  addCharityEntryNumber: function (data) {
381
381
  let entryNumber;
382
- data.deliveryOrderGroups.forEach(order => {
383
- order.entries.forEach(item => {
384
- item.charity ? entryNumber = item.entryNumber : null
385
- })
386
- })
382
+ data.deliveryOrderGroups.forEach((order) => {
383
+ order.entries.forEach((item) => {
384
+ item.charity ? (entryNumber = item.entryNumber) : null;
385
+ });
386
+ });
387
387
  if ($(Wick.BasketPage.el.charityItem).find('input[name="entryNumber"]').length) {
388
- $(Wick.BasketPage.el.charityItem).find('input[name="entryNumber"]').val(entryNumber)
388
+ $(Wick.BasketPage.el.charityItem).find('input[name="entryNumber"]').val(entryNumber);
389
389
  } else {
390
390
  $(Wick.BasketPage.el.charityItem).prepend(
391
391
  `<input type="hidden" name="entryNumber" value="${entryNumber}">`
392
- )
392
+ );
393
393
  }
394
394
  },
395
- updatePromotion: function(data, context) {
395
+ updatePromotion: function (data) {
396
396
  updatePromotion(
397
- data,
398
- Wick.BasketPage.el.orderItem,
399
- Wick.BasketPage.el.orderItemOffers,
400
- Wick.BasketPage.el.orderItemInfo,
401
- Wick.BasketPage.addPromotions
397
+ data,
398
+ Wick.BasketPage.el.orderItem,
399
+ Wick.BasketPage.el.orderItemOffers,
400
+ Wick.BasketPage.el.orderItemInfo,
401
+ Wick.BasketPage.addPromotions
402
402
  );
403
403
  },
404
- showNotification: function(data) {
404
+ showNotification: function (data) {
405
405
  showNotification(data, '.notification-area');
406
406
  },
407
407
  hideUnusedDeliveryTypeCost: function (data, isVoucher) {
408
- $(Wick.BasketPage.el.delivery).show()
409
- $(Wick.BasketPage.el.cc).show()
408
+ $(Wick.BasketPage.el.delivery).show();
409
+ $(Wick.BasketPage.el.cc).show();
410
410
  if (isVoucher) {
411
411
  if (!data.deliveryOrder) {
412
- $(Wick.BasketPage.el.delivery).hide()
412
+ $(Wick.BasketPage.el.delivery).hide();
413
413
  } else if (!data.clickAndCollectOrder) {
414
- $(Wick.BasketPage.el.cc).hide()
414
+ $(Wick.BasketPage.el.cc).hide();
415
415
  }
416
416
  } else {
417
417
  if (data.clickAndCollectOnly) {
418
- $(Wick.BasketPage.el.delivery).hide()
418
+ $(Wick.BasketPage.el.delivery).hide();
419
419
  } else if (data.deliveryItemsQuantity > 0 && data.pickupItemsQuantity === 0) {
420
- $(Wick.BasketPage.el.cc).hide()
420
+ $(Wick.BasketPage.el.cc).hide();
421
421
  }
422
422
  }
423
423
  },
424
424
  paintActionButton: function () {
425
425
  $(Wick.BasketPage.el.basketMainSection).each(function () {
426
- if ($(this).attr('data-type') === "Delivery") {
427
- $(this).find(Wick.BasketPage.el.actionButton).each(function () {
428
- $(this).removeClass(Wick.BasketPage.el.btnSelected);
429
- if ($(this).attr('data-type') === "Delivery" || $(this).attr('data-type') === "Delivery Stock") {
430
- $(this).addClass(Wick.BasketPage.el.btnSelected);
431
- $(this).find('input').prop('checked', true);
432
- }
433
- })
434
- } else if ($(this).attr('data-type') === "Click & Collect") {
435
- $(this).find(Wick.BasketPage.el.actionButton).each(function () {
436
- $(this).removeClass(Wick.BasketPage.el.btnSelected);
437
- if ($(this).attr('data-type') === "Click & Collect") {
438
- $(this).addClass(Wick.BasketPage.el.btnSelected);
439
- $(this).find('input').prop('checked', true);
440
- }
441
- })
426
+ if ($(this).attr('data-type') === 'Delivery') {
427
+ $(this)
428
+ .find(Wick.BasketPage.el.actionButton)
429
+ .each(function () {
430
+ $(this).removeClass(Wick.BasketPage.el.btnSelected);
431
+ if (
432
+ $(this).attr('data-type') === 'Delivery' ||
433
+ $(this).attr('data-type') === 'Delivery Stock'
434
+ ) {
435
+ $(this).addClass(Wick.BasketPage.el.btnSelected);
436
+ $(this).find('input').prop('checked', true);
437
+ }
438
+ });
439
+ } else if ($(this).attr('data-type') === 'Click & Collect') {
440
+ $(this)
441
+ .find(Wick.BasketPage.el.actionButton)
442
+ .each(function () {
443
+ $(this).removeClass(Wick.BasketPage.el.btnSelected);
444
+ if ($(this).attr('data-type') === 'Click & Collect') {
445
+ $(this).addClass(Wick.BasketPage.el.btnSelected);
446
+ $(this).find('input').prop('checked', true);
447
+ }
448
+ });
442
449
  }
443
- })
450
+ });
444
451
  },
445
452
  hideCCSectionInDelivery: function (context) {
446
453
  let delivery = context.find(Wick.BasketPage.el.deliveryMessage),
@@ -464,7 +471,7 @@ Wick.BasketPage = {
464
471
  ccOrderInfo.removeClass(Wick.BasketPage.el.ccOrderInfoHide);
465
472
 
466
473
  //hide wisdom if exist
467
- wisdom.length && wisdom.addClass(Wick.BasketPage.el.wisdomBlockHide)
474
+ wisdom.length && wisdom.addClass(Wick.BasketPage.el.wisdomBlockHide);
468
475
 
469
476
  context.find(Wick.BasketPage.el.storeUnselected).unbind();
470
477
  context.find(Wick.BasketPage.el.ccCloseLink).unbind();
@@ -472,12 +479,17 @@ Wick.BasketPage = {
472
479
  context.find(Wick.BasketPage.el.storeUnselected).on('click', (e) => e.preventDefault());
473
480
  context.find(Wick.BasketPage.el.ccCloseLink).on('click', function (e) {
474
481
  e.preventDefault();
475
- Wick.BasketPage.makeRadioActive(context.find(Wick.BasketPage.el.deliveryButtonInCC));
482
+ Wick.BasketPage.makeRadioActive(
483
+ context.find(Wick.BasketPage.el.deliveryButtonInCC)
484
+ );
476
485
  Wick.BasketPage.hideCCSectionInDelivery(context);
477
- })
486
+ });
478
487
  } else {
479
488
  Wick.BasketPage.makeRadioActive(this);
480
- $(this).closest(Wick.BasketPage.el.orderItem).find(Wick.BasketPage.el.wisdomClose).trigger('click');
489
+ $(this)
490
+ .closest(Wick.BasketPage.el.orderItem)
491
+ .find(Wick.BasketPage.el.wisdomClose)
492
+ .trigger('click');
481
493
  }
482
494
  },
483
495
  changeMethodToDelivery: function (e) {
@@ -494,10 +506,10 @@ Wick.BasketPage = {
494
506
  cartEntryNumber: entryNumber,
495
507
  cartEntry: {},
496
508
  fulfilmentData: {
497
- fulfillmentType: 'Delivery'
509
+ fulfillmentType: 'Delivery',
498
510
  },
499
511
  isChangeDelivery: true,
500
- }
512
+ };
501
513
 
502
514
  //checkEnv
503
515
  if (!Wick.checkLocalEnv) {
@@ -505,10 +517,10 @@ Wick.BasketPage = {
505
517
  const payload = {
506
518
  url: `${ROUTES.BASKET_ADD_STOCK}/${entryNumber}/delivery`,
507
519
  type: 'PUT',
508
- }
509
- callAction(payload, Wick.BasketPage.updateDeliveryMethod, options)
520
+ };
521
+ callAction(payload, Wick.BasketPage.updateDeliveryMethod, options);
510
522
  } else {
511
- Wick.BasketPage.showNotification(Wick.BasketData.changeMethod)
523
+ Wick.BasketPage.showNotification(Wick.BasketData.changeMethod);
512
524
  Wick.BasketPage.updateCart(options);
513
525
  }
514
526
  } else {
@@ -518,7 +530,10 @@ Wick.BasketPage = {
518
530
  },
519
531
  changeMethodToCC: function () {
520
532
  let context = $(this).closest(Wick.BasketPage.el.orderItem),
521
- storeId = $(this).closest(Wick.BasketPage.el.orderSectionCta).find('.storeNamePost').val(),
533
+ storeId = $(this)
534
+ .closest(Wick.BasketPage.el.orderSectionCta)
535
+ .find('.storeNamePost')
536
+ .val(),
522
537
  entryNumber = +context.attr('data-id'),
523
538
  quantity = context.find(Wick.BasketPage.el.quantityValue).val(),
524
539
  storeName;
@@ -527,9 +542,18 @@ Wick.BasketPage = {
527
542
  if ($(el).find('input').attr('value') === storeId) {
528
543
  storeName = $(el).find(Wick.BasketPage.el.storeNameText).text().trim();
529
544
  }
530
- })
545
+ });
531
546
 
532
- console.log('case(api) change to C&C method, entry -', entryNumber, 'storeId', storeId, 'qty-', quantity, 'storeName-', storeName);
547
+ console.log(
548
+ 'case(api) change to C&C method, entry -',
549
+ entryNumber,
550
+ 'storeId',
551
+ storeId,
552
+ 'qty-',
553
+ quantity,
554
+ 'storeName-',
555
+ storeName
556
+ );
533
557
 
534
558
  const options = {
535
559
  cartEntryNumber: entryNumber,
@@ -540,7 +564,7 @@ Wick.BasketPage = {
540
564
  storeName: storeName,
541
565
  },
542
566
  isChangeDelivery: true,
543
- }
567
+ };
544
568
 
545
569
  //checkEnv
546
570
  if (!Wick.checkLocalEnv) {
@@ -552,17 +576,18 @@ Wick.BasketPage = {
552
576
  quantity: quantity,
553
577
  },
554
578
  type: 'PUT',
555
- }
556
- callAction(payload, Wick.BasketPage.updateDeliveryMethod, options)
579
+ };
580
+ callAction(payload, Wick.BasketPage.updateDeliveryMethod, options);
557
581
  } else {
558
- Wick.BasketPage.showNotification(Wick.BasketData.changeMethod)
582
+ Wick.BasketPage.showNotification(Wick.BasketData.changeMethod);
559
583
  Wick.BasketPage.updateCart(options);
560
584
  }
561
585
  },
562
586
  updateDeliveryMethod: function (response, options) {
563
- const messageInfo = Wick.BasketPage.isMessageExist(response) && Wick.BasketPage.getMessageInfo(response);
587
+ const messageInfo =
588
+ Wick.BasketPage.isMessageExist(response) && Wick.BasketPage.getMessageInfo(response);
564
589
  Object.assign(options, messageInfo);
565
- Wick.BasketPage.showNotification(response)
590
+ Wick.BasketPage.showNotification(response);
566
591
  Wick.BasketPage.updateCart(options);
567
592
  },
568
593
  removeOrderItem: function (messageInfo) {
@@ -571,13 +596,14 @@ Wick.BasketPage = {
571
596
  status = messageInfo.status,
572
597
  link;
573
598
 
574
- link = `${currentLink}?notificationMessage=${message}&messageStatus=${status}`
599
+ link = `${currentLink}?notificationMessage=${message}&messageStatus=${status}`;
575
600
  window.location.replace(link);
576
601
  },
577
- repaintOrderItems: function (data, message) {
602
+ repaintOrderItems: function (data) {
578
603
  const ccGroup = data.pickupOrderGroups || [],
579
604
  deliveryGroup = data.deliveryOrderGroups || [];
580
- let type, itemDetails = {};
605
+ let type,
606
+ itemDetails = {};
581
607
 
582
608
  $(Wick.BasketPage.el.orderItem).remove();
583
609
 
@@ -585,19 +611,27 @@ Wick.BasketPage = {
585
611
  type = 'cc';
586
612
  if ($(Wick.BasketPage.el.basketCCSection).length) {
587
613
  ccGroup.forEach((obj) => {
588
- obj.entries.forEach(item => {
614
+ obj.entries.forEach((item) => {
589
615
  itemDetails = {
590
- item, type, data,
616
+ item,
617
+ type,
618
+ data,
591
619
  };
592
- $(Wick.BasketPage.el.basketCCSection).append(Wick.BasketPage.createOrderItem(itemDetails));
593
- })
594
- })
620
+ $(Wick.BasketPage.el.basketCCSection).append(
621
+ Wick.BasketPage.createOrderItem(itemDetails)
622
+ );
623
+ });
624
+ });
595
625
  Wick.BasketPage.updateItemsCount(data, type);
596
626
  } else {
597
627
  if ($(Wick.BasketPage.el.basketDeliverySection)) {
598
- $(Wick.BasketPage.el.basketDeliverySection).after(Wick.BasketPage.createBasketSection(type, ccGroup, data))
628
+ $(Wick.BasketPage.el.basketDeliverySection).after(
629
+ Wick.BasketPage.createBasketSection(type, ccGroup, data)
630
+ );
599
631
  } else {
600
- $(Wick.BasketPage.el.content).prepend(Wick.BasketPage.createBasketSection(type, ccGroup, data));
632
+ $(Wick.BasketPage.el.content).prepend(
633
+ Wick.BasketPage.createBasketSection(type, ccGroup, data)
634
+ );
601
635
  }
602
636
  }
603
637
  } else {
@@ -605,24 +639,33 @@ Wick.BasketPage = {
605
639
  }
606
640
 
607
641
  if (deliveryGroup.length) {
608
- if (deliveryGroup.length === 1 && deliveryGroup[0].entries.length === 1 && deliveryGroup[0].entries[0].charity) {
642
+ if (
643
+ deliveryGroup.length === 1 &&
644
+ deliveryGroup[0].entries.length === 1 &&
645
+ deliveryGroup[0].entries[0].charity
646
+ ) {
609
647
  $(Wick.BasketPage.el.basketDeliverySection).remove();
610
648
  } else {
611
649
  type = 'delivery';
612
650
 
613
651
  if ($(Wick.BasketPage.el.basketDeliverySection).length) {
614
652
  deliveryGroup.forEach((obj) => {
615
- obj.entries.forEach(item => {
653
+ obj.entries.forEach((item) => {
616
654
  itemDetails = {
617
- item, type, data,
655
+ item,
656
+ type,
657
+ data,
618
658
  };
619
- $(Wick.BasketPage.el.basketDeliverySection).append(Wick.BasketPage.createOrderItem(itemDetails));
620
- })
621
-
622
- })
659
+ $(Wick.BasketPage.el.basketDeliverySection).append(
660
+ Wick.BasketPage.createOrderItem(itemDetails)
661
+ );
662
+ });
663
+ });
623
664
  Wick.BasketPage.updateItemsCount(data, type);
624
665
  } else {
625
- $(Wick.BasketPage.el.content).prepend(Wick.BasketPage.createBasketSection(type, deliveryGroup, data));
666
+ $(Wick.BasketPage.el.content).prepend(
667
+ Wick.BasketPage.createBasketSection(type, deliveryGroup, data)
668
+ );
626
669
  }
627
670
  }
628
671
  Wick.BasketPage.addCharityEntryNumber(data);
@@ -632,27 +675,30 @@ Wick.BasketPage = {
632
675
 
633
676
  $('.order-item').each(function () {
634
677
  let quantity = +$(this).find('.order-item__quantity-value').val();
635
- Wick.BasketPage.toggleItemTotal(this, quantity)
636
- })
678
+ Wick.BasketPage.toggleItemTotal(this, quantity);
679
+ });
637
680
 
638
681
  Wick.BasketPage.paintActionButton();
639
682
  checkPayPalAvailability(data);
640
683
  Wick.VatToggle.reapplyDisplayClass();
641
- $(document).trigger("cartRerender");
684
+ $(document).trigger('cartRerender');
642
685
  },
643
686
  createBasketSection: function (type, group, data) {
644
- type === 'cc' ? type = 'Click & Collect' : type = 'Delivery';
687
+ type === 'cc' ? (type = 'Click & Collect') : (type = 'Delivery');
645
688
  const orderItems = [];
646
689
  let itemDetails = {};
647
690
 
648
- group.forEach(obj => {
649
- obj.entries.forEach(item => {
650
- itemDetails = {item, type, data};
691
+ group.forEach((obj) => {
692
+ obj.entries.forEach((item) => {
693
+ itemDetails = { item, type, data };
651
694
  orderItems.push(Wick.BasketPage.createOrderItem(itemDetails));
652
- })
695
+ });
653
696
  });
654
697
 
655
- const itemsCount = type === 'Click & Collect' ? data.pickupUniqueItemsNumber : data.deliveryUniqueItemsNumber;
698
+ const itemsCount =
699
+ type === 'Click & Collect'
700
+ ? data.pickupUniqueItemsNumber
701
+ : data.deliveryUniqueItemsNumber;
656
702
 
657
703
  return `
658
704
  <section class="basket__section" data-type="${type}">
@@ -666,18 +712,23 @@ Wick.BasketPage = {
666
712
  </div>
667
713
  ${orderItems.join('')}
668
714
  </section>
669
- `
715
+ `;
670
716
  },
671
717
  updateItemsCount: function (data, type) {
672
- const itemCount = type === 'cc' ? data.pickupUniqueItemsNumber : data.deliveryUniqueItemsNumber,
718
+ const itemCount =
719
+ type === 'cc' ? data.pickupUniqueItemsNumber : data.deliveryUniqueItemsNumber,
673
720
  titleItemsText = `${itemCount} item${itemCount > 1 ? 's' : ''}`;
674
721
 
675
722
  if (type === 'cc') {
676
- $(Wick.BasketPage.el.basketCCSection).find(Wick.BasketPage.el.titleItems).text(titleItemsText)
723
+ $(Wick.BasketPage.el.basketCCSection)
724
+ .find(Wick.BasketPage.el.titleItems)
725
+ .text(titleItemsText);
677
726
  }
678
727
 
679
728
  if (type === 'delivery') {
680
- $(Wick.BasketPage.el.basketDeliverySection).find(Wick.BasketPage.el.titleItems).text(titleItemsText);
729
+ $(Wick.BasketPage.el.basketDeliverySection)
730
+ .find(Wick.BasketPage.el.titleItems)
731
+ .text(titleItemsText);
681
732
  }
682
733
  },
683
734
  createOrderItem: function (itemDetails) {
@@ -746,7 +797,7 @@ Wick.BasketPage = {
746
797
  currentItem.basePrice.value === 0
747
798
  ? '<span class="order-item__value">FREE</span>'
748
799
  : Wick.VatToggle.isToggleVatAvailable()
749
- ? `
800
+ ? `
750
801
  <div class="including-vat"><!--
751
802
  --><span class="order-item__value">${currentItem.basePrice.formattedValue}</span><!--
752
803
  --><div class="price-vat">Inc.VAT</div>
@@ -756,7 +807,7 @@ Wick.BasketPage = {
756
807
  --><div class="price-vat">Exc.VAT</div>
757
808
  </div>
758
809
  `
759
- : `<span class="order-item__value">${currentItem.basePrice.formattedValue}</span>`
810
+ : `<span class="order-item__value">${currentItem.basePrice.formattedValue}</span>`
760
811
  }
761
812
  </div>
762
813
  </div>
@@ -768,7 +819,7 @@ Wick.BasketPage = {
768
819
  currentItem.itemTotalWithoutDiscount.value === 0
769
820
  ? '<span class="order-item__value">FREE</span>'
770
821
  : Wick.VatToggle.isToggleVatAvailable()
771
- ? `
822
+ ? `
772
823
  <div class="including-vat"><!--
773
824
  --><span class="order-item__value">${currentItem.itemTotalWithoutDiscount.formattedValue}</span><!--
774
825
  --><div class="price-vat">Inc.VAT</div><!--
@@ -778,7 +829,7 @@ Wick.BasketPage = {
778
829
  --><div class="price-vat">Exc.VAT</div>
779
830
  </div>
780
831
  `
781
- : `<span class="order-item__value">${currentItem.itemTotalWithoutDiscount.formattedValue}</span>`
832
+ : `<span class="order-item__value">${currentItem.itemTotalWithoutDiscount.formattedValue}</span>`
782
833
  }
783
834
  </div>
784
835
  </div>
@@ -797,13 +848,11 @@ Wick.BasketPage = {
797
848
  ${Wick.BasketPage.createDeliveryMessage(currentItem, itemDetails.type)}
798
849
  ${Wick.BasketPage.createCCFinder(currentItem)}
799
850
  </div>
800
- `
851
+ `;
801
852
  }
802
853
  },
803
854
  createActionButton: function (item, type, section) {
804
- let available,
805
- title,
806
- dataType;
855
+ let available, title, dataType;
807
856
 
808
857
  if (type === 'cc') {
809
858
  title = 'Click & Collect';
@@ -823,7 +872,7 @@ Wick.BasketPage = {
823
872
  } else {
824
873
  title = 'Check Delivery Stock';
825
874
  dataType = 'Delivery Stock';
826
- type = "delivery_stock";
875
+ type = 'delivery_stock';
827
876
  available = item.orderFulfilmentControls.availableForWickesFulfilment;
828
877
  }
829
878
  }
@@ -843,51 +892,61 @@ Wick.BasketPage = {
843
892
  <span>${title}</span>
844
893
  </label>
845
894
  </div>
846
- `
895
+ `;
847
896
  } else {
848
- return ''
897
+ return '';
849
898
  }
850
-
851
899
  },
852
900
  addPromotions: function (item, data) {
853
901
  let arr = [];
854
902
 
855
- data.potentialProductPromotions && data.potentialProductPromotions.forEach((entry) => {
856
- entry.consumedEntries.forEach((promo) => {
857
- if (promo.orderEntryNumber === item.entryNumber) {
858
- if (arr.length) {
859
- let duplicate = arr.every((el) => {
860
- return el !== `<div class="order-item__promo">${entry.description}</div>`
861
- })
862
-
863
- !duplicate || arr.push(`<div class="order-item__promo">${entry.description}</div>`);
864
-
865
- } else {
866
- arr.push(`<div class="order-item__promo">${entry.description}</div>`);
903
+ data.potentialProductPromotions &&
904
+ data.potentialProductPromotions.forEach((entry) => {
905
+ entry.consumedEntries.forEach((promo) => {
906
+ if (promo.orderEntryNumber === item.entryNumber) {
907
+ if (arr.length) {
908
+ let duplicate = arr.every((el) => {
909
+ return (
910
+ el !==
911
+ `<div class="order-item__promo">${entry.description}</div>`
912
+ );
913
+ });
914
+
915
+ !duplicate ||
916
+ arr.push(
917
+ `<div class="order-item__promo">${entry.description}</div>`
918
+ );
919
+ } else {
920
+ arr.push(`<div class="order-item__promo">${entry.description}</div>`);
921
+ }
867
922
  }
868
- }
869
- })
870
-
871
- });
872
-
873
- data.appliedProductPromotions && data.appliedProductPromotions.forEach((entry) => {
874
- entry.consumedEntries.forEach((promo) => {
875
- if (promo.orderEntryNumber === item.entryNumber && entry.description) {
876
- if (arr.length) {
877
- let duplicate = arr.every((el) => {
878
- return el !== `<div class="order-item__promo">${entry.description}</div>`
879
- })
880
-
881
- !duplicate || arr.push(`<div class="order-item__promo">${entry.description}</div>`);
882
-
883
- } else {
884
- arr.push(`<div class="order-item__promo">${entry.description}</div>`);
923
+ });
924
+ });
925
+
926
+ data.appliedProductPromotions &&
927
+ data.appliedProductPromotions.forEach((entry) => {
928
+ entry.consumedEntries.forEach((promo) => {
929
+ if (promo.orderEntryNumber === item.entryNumber && entry.description) {
930
+ if (arr.length) {
931
+ let duplicate = arr.every((el) => {
932
+ return (
933
+ el !==
934
+ `<div class="order-item__promo">${entry.description}</div>`
935
+ );
936
+ });
937
+
938
+ !duplicate ||
939
+ arr.push(
940
+ `<div class="order-item__promo">${entry.description}</div>`
941
+ );
942
+ } else {
943
+ arr.push(`<div class="order-item__promo">${entry.description}</div>`);
944
+ }
885
945
  }
886
- }
887
- })
888
- });
946
+ });
947
+ });
889
948
 
890
- return arr.length ? `<div class="order-item__offers">${arr.join('')}</div>` : ''
949
+ return arr.length ? `<div class="order-item__offers">${arr.join('')}</div>` : '';
891
950
  },
892
951
  createPerMeterPrice: function (item) {
893
952
  if (item.product.installationProduct) {
@@ -911,16 +970,20 @@ Wick.BasketPage = {
911
970
  }
912
971
  </div>
913
972
  </div>
914
- `
973
+ `;
915
974
  } else {
916
- return ''
975
+ return '';
917
976
  }
918
977
  },
919
978
  createDeliveryMessage: function (item, type) {
920
979
  if (type === 'delivery') {
921
- let currentFulfillment = item.product.fulfillmentAttributes.supplierDelivered ? 'SUPPLIER_DELIVERED' : 'STANDARD',
980
+ let currentFulfillment = item.product.fulfillmentAttributes.supplierDelivered
981
+ ? 'SUPPLIER_DELIVERED'
982
+ : 'STANDARD',
922
983
  productCode = item.product.code,
923
- coincidenceFulfillmentValue = $(Wick.BasketPage.el.content).find(`#${productCode}_${currentFulfillment}`).val()
984
+ coincidenceFulfillmentValue = $(Wick.BasketPage.el.content)
985
+ .find(`#${productCode}_${currentFulfillment}`)
986
+ .val();
924
987
 
925
988
  if (coincidenceFulfillmentValue) {
926
989
  return `
@@ -930,12 +993,12 @@ Wick.BasketPage = {
930
993
  ${coincidenceFulfillmentValue}
931
994
  </div>
932
995
  </div>
933
- `
996
+ `;
934
997
  } else {
935
- return ''
998
+ return '';
936
999
  }
937
1000
  } else {
938
- return ''
1001
+ return '';
939
1002
  }
940
1003
  },
941
1004
  createCCFinder: function (item) {
@@ -946,7 +1009,7 @@ Wick.BasketPage = {
946
1009
  </div>
947
1010
  ${Wick.BasketPage.createCCOrderInfo(item)}
948
1011
  </div>
949
- `
1012
+ `;
950
1013
  },
951
1014
  createCCOrderInfo: function (item) {
952
1015
  if (item.updateable) {
@@ -1009,9 +1072,9 @@ Wick.BasketPage = {
1009
1072
  </div>
1010
1073
  </div>
1011
1074
  </div>
1012
- `
1075
+ `;
1013
1076
  } else {
1014
- return ''
1077
+ return '';
1015
1078
  }
1016
1079
  },
1017
1080
  checkStoreAvailability: function (store, item) {
@@ -1024,7 +1087,7 @@ Wick.BasketPage = {
1024
1087
  <a href="#" class="cc-order__change" ${item.updateable || 'style="display: none"'}>
1025
1088
  Change Store location
1026
1089
  </a>
1027
- `
1090
+ `;
1028
1091
  } else {
1029
1092
  return `
1030
1093
  <div class="cc-order__store-select">
@@ -1035,17 +1098,19 @@ Wick.BasketPage = {
1035
1098
  </a>
1036
1099
  </div>
1037
1100
  </div>
1038
- `
1101
+ `;
1039
1102
  }
1040
1103
  },
1041
1104
  removePromotion: function () {
1042
- $(this).closest(Wick.BasketPage.el.promo).remove()
1105
+ $(this).closest(Wick.BasketPage.el.promo).remove();
1043
1106
  },
1044
1107
  addPotentialPromo: function (data) {
1045
1108
  $(Wick.BasketPage.el.promo).remove();
1046
1109
 
1047
- if ((data.potentialOrderPromotions && data.potentialOrderPromotions.length)
1048
- || (data.appliedOrderPromotions && data.appliedOrderPromotions.length)) {
1110
+ if (
1111
+ (data.potentialOrderPromotions && data.potentialOrderPromotions.length) ||
1112
+ (data.appliedOrderPromotions && data.appliedOrderPromotions.length)
1113
+ ) {
1049
1114
  $(Wick.BasketPage.el.promoWrapper).append(Wick.BasketPage.createPotentialPromo(data));
1050
1115
  }
1051
1116
  },
@@ -1053,7 +1118,8 @@ Wick.BasketPage = {
1053
1118
  const arr = [];
1054
1119
  if (data.potentialOrderPromotions && data.potentialOrderPromotions.length) {
1055
1120
  data.potentialOrderPromotions.forEach((promo) => {
1056
- !promo.description || arr.push(`
1121
+ !promo.description ||
1122
+ arr.push(`
1057
1123
  <div class="p-promotion">
1058
1124
  <div class="p-promotion__icon">
1059
1125
  <i class="icon fas fa-gift"></i>
@@ -1065,14 +1131,14 @@ Wick.BasketPage = {
1065
1131
  <i class="icon fas fa-times"></i>
1066
1132
  </div>
1067
1133
  </div>
1068
- `
1069
- )
1070
- })
1134
+ `);
1135
+ });
1071
1136
  }
1072
1137
 
1073
1138
  if (data.appliedOrderPromotions && data.appliedOrderPromotions.length) {
1074
1139
  data.appliedOrderPromotions.forEach((promo) => {
1075
- !promo.description || arr.push(`
1140
+ !promo.description ||
1141
+ arr.push(`
1076
1142
  <div class="p-promotion">
1077
1143
  <div class="p-promotion__icon">
1078
1144
  <i class="icon fas fa-gift"></i>
@@ -1084,14 +1150,15 @@ Wick.BasketPage = {
1084
1150
  <i class="icon fas fa-times"></i>
1085
1151
  </div>
1086
1152
  </div>
1087
- `
1088
- )
1089
- })
1153
+ `);
1154
+ });
1090
1155
  }
1091
1156
  if ($(Wick.BasketPage.el.promoWrapper).length) {
1092
1157
  return arr.join('');
1093
1158
  } else {
1094
- $(Wick.BasketPage.el.checkoutHeader).before(`<div class="checkout-header__promo">${arr.join('')}</div>`)
1159
+ $(Wick.BasketPage.el.checkoutHeader).before(
1160
+ `<div class="checkout-header__promo">${arr.join('')}</div>`
1161
+ );
1095
1162
  }
1096
1163
  },
1097
1164
  limitingQuantityValue: function () {
@@ -1123,7 +1190,7 @@ Wick.BasketPage = {
1123
1190
  const collapsed = $(context).hasClass('collapsed');
1124
1191
  const accordionText = collapsed ? showText : hideText;
1125
1192
 
1126
- $(context).find(Wick.BasketPage.el.summaryAccordionText).text(accordionText)
1193
+ $(context).find(Wick.BasketPage.el.summaryAccordionText).text(accordionText);
1127
1194
  }, 150),
1128
1195
  changeOnBlur: function () {
1129
1196
  const context = $(this).closest(Wick.BasketPage.el.orderItem),
@@ -1153,29 +1220,60 @@ Wick.BasketPage = {
1153
1220
 
1154
1221
  $(Wick.BasketPage.el.content).find(quantityValue).prop('disabled', false);
1155
1222
  $(Wick.BasketPage.el.content).find(quantityButton).prop('disabled', false);
1156
- }
1223
+ },
1157
1224
  };
1158
1225
 
1159
1226
  $(document).on('cartUpdate', initStickyObserver);
1160
1227
 
1161
1228
  $(document).ready(function () {
1162
1229
  function init() {
1163
-
1164
1230
  if (!$('.page_basket.basket').length) {
1165
1231
  return;
1166
1232
  }
1167
1233
 
1168
1234
  addStorageCheckEvent();
1169
1235
  Wick.BasketPage.el.$voucherFormBtn.on('click', checkVoucherCode);
1170
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.quantityButton, Wick.BasketPage.updateItemQuantity);
1171
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.removeButton, Wick.BasketPage.updateItemQuantity);
1172
- $(Wick.BasketPage.el.content).on('change', Wick.BasketPage.el.quantityValue, Wick.BasketPage.updateItemQuantity);
1173
- $(Wick.BasketPage.el.content).on('input', Wick.BasketPage.el.quantityValue, Wick.BasketPage.limitingQuantityValue);
1174
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.ccButton, Wick.BasketPage.showCCSectionInDelivery);
1175
- $(Wick.BasketPage.el.content).on('focusout', Wick.BasketPage.el.quantityValue, Wick.BasketPage.changeOnBlur);
1176
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.deliveryButtonInCC, Wick.BasketPage.changeMethodToDelivery);
1177
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.updateStoreButton, Wick.BasketPage.changeMethodToCC);
1178
- $(Wick.BasketPage.el.donationCartBtn).on('click', function(e) {
1236
+ $(Wick.BasketPage.el.content).on(
1237
+ 'click',
1238
+ Wick.BasketPage.el.quantityButton,
1239
+ Wick.BasketPage.updateItemQuantity
1240
+ );
1241
+ $(Wick.BasketPage.el.content).on(
1242
+ 'click',
1243
+ Wick.BasketPage.el.removeButton,
1244
+ Wick.BasketPage.updateItemQuantity
1245
+ );
1246
+ $(Wick.BasketPage.el.content).on(
1247
+ 'change',
1248
+ Wick.BasketPage.el.quantityValue,
1249
+ Wick.BasketPage.updateItemQuantity
1250
+ );
1251
+ $(Wick.BasketPage.el.content).on(
1252
+ 'input',
1253
+ Wick.BasketPage.el.quantityValue,
1254
+ Wick.BasketPage.limitingQuantityValue
1255
+ );
1256
+ $(Wick.BasketPage.el.content).on(
1257
+ 'click',
1258
+ Wick.BasketPage.el.ccButton,
1259
+ Wick.BasketPage.showCCSectionInDelivery
1260
+ );
1261
+ $(Wick.BasketPage.el.content).on(
1262
+ 'focusout',
1263
+ Wick.BasketPage.el.quantityValue,
1264
+ Wick.BasketPage.changeOnBlur
1265
+ );
1266
+ $(Wick.BasketPage.el.content).on(
1267
+ 'click',
1268
+ Wick.BasketPage.el.deliveryButtonInCC,
1269
+ Wick.BasketPage.changeMethodToDelivery
1270
+ );
1271
+ $(Wick.BasketPage.el.content).on(
1272
+ 'click',
1273
+ Wick.BasketPage.el.updateStoreButton,
1274
+ Wick.BasketPage.changeMethodToCC
1275
+ );
1276
+ $(Wick.BasketPage.el.donationCartBtn).on('click', function (e) {
1179
1277
  e.preventDefault();
1180
1278
  const context = $(this).closest(Wick.BasketPage.el.charityItem);
1181
1279
  if (!context.hasClass('charity-added')) {
@@ -1185,17 +1283,53 @@ $(document).ready(function () {
1185
1283
  changeCharityPrice.call(this);
1186
1284
  }
1187
1285
  });
1188
- $(Wick.BasketPage.el.charityItem).on('click', Wick.BasketPage.el.removeButton, updateCharity);
1189
- $(Wick.BasketPage.el.orderSummary).on('click', Wick.BasketPage.el.voucherRemove, voucherRemove);
1190
- $(Wick.BasketPage.el.promoWrapper).on('click', Wick.BasketPage.el.promoClose, Wick.BasketPage.removePromotion);
1191
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.deliveryStockButton, toggleWisdom);
1286
+ $(Wick.BasketPage.el.charityItem).on(
1287
+ 'click',
1288
+ Wick.BasketPage.el.removeButton,
1289
+ updateCharity
1290
+ );
1291
+ $(Wick.BasketPage.el.orderSummary).on(
1292
+ 'click',
1293
+ Wick.BasketPage.el.voucherRemove,
1294
+ voucherRemove
1295
+ );
1296
+ $(Wick.BasketPage.el.promoWrapper).on(
1297
+ 'click',
1298
+ Wick.BasketPage.el.promoClose,
1299
+ Wick.BasketPage.removePromotion
1300
+ );
1301
+ $(Wick.BasketPage.el.content).on(
1302
+ 'click',
1303
+ Wick.BasketPage.el.deliveryStockButton,
1304
+ toggleWisdom
1305
+ );
1192
1306
  $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.wisdomClose, toggleWisdom);
1193
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.wisdomCheck, checkDeliveryStock);
1194
- $(Wick.BasketPage.el.content).on('keypress', Wick.BasketPage.el.wisdomPostcode, checkDeliveryStockOnEnter);
1195
- $(Wick.BasketPage.el.content).on('blur', Wick.BasketPage.el.wisdomPostcode, prettifyWisdomPostcode);
1307
+ $(Wick.BasketPage.el.content).on(
1308
+ 'click',
1309
+ Wick.BasketPage.el.wisdomCheck,
1310
+ checkDeliveryStock
1311
+ );
1312
+ $(Wick.BasketPage.el.content).on(
1313
+ 'keypress',
1314
+ Wick.BasketPage.el.wisdomPostcode,
1315
+ checkDeliveryStockOnEnter
1316
+ );
1317
+ $(Wick.BasketPage.el.content).on(
1318
+ 'blur',
1319
+ Wick.BasketPage.el.wisdomPostcode,
1320
+ prettifyWisdomPostcode
1321
+ );
1196
1322
  $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.wisdomAdd, addDeliveryStock);
1197
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.changeLink, Wick.Wisdom.onLinkChange);
1198
- $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.summaryAccordion, Wick.BasketPage.changeAccordionText);
1323
+ $(Wick.BasketPage.el.content).on(
1324
+ 'click',
1325
+ Wick.BasketPage.el.changeLink,
1326
+ Wick.Wisdom.onLinkChange
1327
+ );
1328
+ $(Wick.BasketPage.el.content).on(
1329
+ 'click',
1330
+ Wick.BasketPage.el.summaryAccordion,
1331
+ Wick.BasketPage.changeAccordionText
1332
+ );
1199
1333
  $('main').on('click', Wick.BasketPage.el.promoClose, Wick.BasketPage.removePromotion);
1200
1334
 
1201
1335
  $(Wick.BasketPage.el.voucherRemove).unbind('click');
@@ -1209,6 +1343,7 @@ $(document).ready(function () {
1209
1343
 
1210
1344
  setDefaultCharityValue();
1211
1345
  initCharityInteractions();
1346
+ initBillieModal();
1212
1347
  if (!$(Wick.BasketPage.el.loader).length) {
1213
1348
  appendLoader(Wick.BasketPage.loaderPayload);
1214
1349
  }