wickes-css2 2.103.0-IC-976-pre-commit-lint.2 → 2.103.0-IC-976-pre-commit-lint.4

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 (672) hide show
  1. package/build/css/main.css +1 -1
  2. package/build/css/pages/page_book-consultant-thank-you-new.css +1 -1
  3. package/build/css/pages/page_pre_home_thank-you.css +1 -1
  4. package/build/css/pages/page_top-rated.css +1 -1
  5. package/build/img/TradePaint.svg +42 -14
  6. package/build/img/apple-pay.svg +12 -7
  7. package/build/img/big-white-apple-pay.svg +10 -5
  8. package/build/img/billie-logo.svg +4 -2
  9. package/build/img/billie-modal.svg +4 -2
  10. package/build/img/billie-pdp.svg +12 -9
  11. package/build/img/billie-spinner.svg +5 -3
  12. package/build/img/billie.svg +3 -1
  13. package/build/img/clearpay-logo.svg +6 -1
  14. package/build/img/clearpay-spinner.svg +4 -1
  15. package/build/img/energy-efficiency/energy-marker.svg +12 -1
  16. package/build/img/google-spinner.svg +14 -7
  17. package/build/img/googlepay.svg +23 -12
  18. package/build/img/home-banner_arrow.svg +7 -1
  19. package/build/img/ic-menu.svg +7 -1
  20. package/build/img/ic_info_big.svg +4 -1
  21. package/build/img/klarna-big.svg +18 -9
  22. package/build/img/klarna-sm.svg +5 -2
  23. package/build/img/klarna-spinner.svg +3 -1
  24. package/build/img/logo-klarna.svg +5 -2
  25. package/build/img/mastercard.svg +6 -3
  26. package/build/img/payapal_text.svg +6 -1
  27. package/build/img/payment/checkout/applepay.svg +12 -7
  28. package/build/img/payment/checkout/billie.svg +4 -2
  29. package/build/img/payment/checkout/clearpay.svg +5 -1
  30. package/build/img/payment/checkout/googlepay.svg +23 -12
  31. package/build/img/payment/checkout/mastercard.svg +13 -1
  32. package/build/img/payment/checkout/paypal.svg +37 -1
  33. package/build/img/payment/checkout/visa.svg +8 -1
  34. package/build/img/payment/footer/applepay.svg +12 -7
  35. package/build/img/payment/footer/billie.svg +3 -1
  36. package/build/img/payment/footer/clearpay.svg +18 -10
  37. package/build/img/payment/footer/googlepay.svg +23 -12
  38. package/build/img/payment/footer/mastercard.svg +13 -1
  39. package/build/img/payment/footer/paypal.svg +37 -1
  40. package/build/img/payment/footer/visa.svg +8 -1
  41. package/build/img/paypal.svg +8 -1
  42. package/build/img/paypal_logo_loader_paypal.svg +4 -1
  43. package/build/img/paypal_logo_loader_pp.svg +10 -1
  44. package/build/img/placeholders/full-width-img.svg +9 -1
  45. package/build/img/placeholders/img-2-to-1.svg +9 -1
  46. package/build/img/placeholders/img-3-to-4.svg +9 -1
  47. package/build/img/placeholders/img-4-to-3.svg +9 -1
  48. package/build/img/proposition_arrow_click.svg +7 -1
  49. package/build/img/proposition_delivery.svg +7 -1
  50. package/build/img/proposition_price.svg +7 -1
  51. package/build/img/proposition_returns.svg +7 -1
  52. package/build/img/social-icon-facebook.svg +8 -1
  53. package/build/img/social-icon-instagram.svg +15 -1
  54. package/build/img/social-icon-pinterest.svg +7 -1
  55. package/build/img/socials/facebook.svg +5 -1
  56. package/build/img/socials/instagram.svg +5 -1
  57. package/build/img/socials/pinterest.svg +5 -1
  58. package/build/img/socials/tiktok.svg +5 -1
  59. package/build/img/socials/x-twitter.svg +5 -1
  60. package/build/img/socials/youtube.svg +5 -1
  61. package/build/img/socials_facebook_color.svg +7 -1
  62. package/build/img/socials_facebook_white_blue_color.svg +5 -1
  63. package/build/img/socials_info_big.svg +7 -1
  64. package/build/img/socials_instagram_color.svg +16 -1
  65. package/build/img/socials_pinterest_color.svg +4 -1
  66. package/build/img/socials_twitter_color.svg +4 -1
  67. package/build/img/socials_whatsapp_color.svg +5 -1
  68. package/build/img/socials_youtube_color.svg +4 -1
  69. package/build/img/stars.svg +8 -1
  70. package/build/img/visa-logo.svg +3 -1
  71. package/build/img/wickes-dc-logo.svg +17 -13
  72. package/build/img/wickes-logo-v2.svg +15 -1
  73. package/build/img/wickes-logo.svg +36 -1
  74. package/build/img/young-minds.svg +10 -8
  75. package/build/js/account-members.min.js +1 -1
  76. package/build/js/basket.min.js +2 -2
  77. package/build/js/bootstrap.bundle.min.js +1 -1
  78. package/build/js/bundle.min.js +1 -1
  79. package/build/js/checkout.min.js +2 -2
  80. package/build/js/emulation.min.js +11866 -10333
  81. package/build/js/general.bundle.min.js +1 -1
  82. package/build/js/iframeResizer.min.js +2 -2
  83. package/build/js/kitchen/kitchen-plp.min.js +1 -1
  84. package/build/js/merged-checkout.min.js +2 -2
  85. package/build/js/my-orders.min.js +1 -1
  86. package/build/js/page/accordion.js +31 -29
  87. package/build/js/page/account-deletion.js +13 -13
  88. package/build/js/page/account-hub.js +128 -119
  89. package/build/js/page/account-members.js +229 -216
  90. package/build/js/page/address-book.js +186 -184
  91. package/build/js/page/basket/add-project-list-id.js +158 -130
  92. package/build/js/page/basket/clearpay.js +17 -17
  93. package/build/js/page/basket/display-energy-efficiency.js +13 -13
  94. package/build/js/page/basket/gtm.js +60 -54
  95. package/build/js/page/basket/klarna.js +2 -2
  96. package/build/js/page/basket/paypal.js +33 -33
  97. package/build/js/page/basket/session-sync.js +5 -5
  98. package/build/js/page/basket/summary-mobile.js +16 -16
  99. package/build/js/page/basket/wisdom.js +54 -39
  100. package/build/js/page/basket-v2.js +415 -261
  101. package/build/js/page/basket.js +42 -39
  102. package/build/js/page/billie-business-type.js +22 -22
  103. package/build/js/page/business-account-form.js +12 -12
  104. package/build/js/page/buying-guides-guttering.js +3 -3
  105. package/build/js/page/category-landing.js +18 -11
  106. package/build/js/page/change-password.js +100 -99
  107. package/build/js/page/checkout-confirmation-new.js +127 -70
  108. package/build/js/page/checkout-confirmation.js +6 -6
  109. package/build/js/page/checkout-delivery-address.js +35 -32
  110. package/build/js/page/checkout-delivery-details-loader.js +2 -5
  111. package/build/js/page/checkout-edit-address.js +1 -1
  112. package/build/js/page/checkout-payment-details.js +170 -172
  113. package/build/js/page/checkout-sign-in.js +15 -11
  114. package/build/js/page/checkout.js +1 -1
  115. package/build/js/page/cms-homepage.js +87 -45
  116. package/build/js/page/components/charity.js +114 -120
  117. package/build/js/page/components/csrf.js +4 -4
  118. package/build/js/page/components/discounts.js +39 -39
  119. package/build/js/page/components/favourite-product.js +125 -113
  120. package/build/js/page/components/global-search.js +204 -192
  121. package/build/js/page/components/modal-observer.js +43 -46
  122. package/build/js/page/components/order-summary.js +26 -22
  123. package/build/js/page/components/pagination.js +124 -117
  124. package/build/js/page/components/retry-action.js +2 -2
  125. package/build/js/page/components/saving-shopping-list.js +381 -314
  126. package/build/js/page/components/sticky-order-observer.js +36 -39
  127. package/build/js/page/components/voucher.js +46 -47
  128. package/build/js/page/copy-project-id.js +23 -23
  129. package/build/js/page/countdown-timer.js +6 -6
  130. package/build/js/page/default-store.js +40 -34
  131. package/build/js/page/design-appointment.js +6 -3
  132. package/build/js/page/energy-efficiency.js +39 -25
  133. package/build/js/page/finance-tabs.js +4 -4
  134. package/build/js/page/general/cookie.js +20 -10
  135. package/build/js/page/installation/calculator.js +12 -16
  136. package/build/js/page/installation/fi.js +76 -71
  137. package/build/js/page/installation/generic.js +21 -20
  138. package/build/js/page/installation/installation.js +36 -22
  139. package/build/js/page/installation/pdp-generic.js +3 -9
  140. package/build/js/page/installation/ti.js +26 -24
  141. package/build/js/page/installer-files-form.js +98 -76
  142. package/build/js/page/installer-form.js +502 -447
  143. package/build/js/page/installer-validation.js +848 -761
  144. package/build/js/page/instore-checkout.js +2 -2
  145. package/build/js/page/kitchen/card-carousel.js +21 -21
  146. package/build/js/page/kitchen/colour-swatches.js +153 -149
  147. package/build/js/page/kitchen/kitchen-card.js +62 -64
  148. package/build/js/page/kitchen/mobile-nav.js +26 -27
  149. package/build/js/page/kitchen/plp-filters-chips.js +72 -70
  150. package/build/js/page/kitchen/plp-filters-mobile.js +64 -60
  151. package/build/js/page/kitchen/plp-filters-panel.js +106 -102
  152. package/build/js/page/kitchen/plp-filters-utils.js +54 -53
  153. package/build/js/page/kitchen/plp-filters.js +210 -194
  154. package/build/js/page/kitchen/sort-by.js +149 -149
  155. package/build/js/page/klarna-modal-scroll-disable.js +4 -4
  156. package/build/js/page/merged-checkout.js +6 -3
  157. package/build/js/page/my-account.js +44 -46
  158. package/build/js/page/my-orders.js +153 -149
  159. package/build/js/page/online-exclusive.js +28 -31
  160. package/build/js/page/pdp-favourite.js +4 -4
  161. package/build/js/page/pdp-tile.js +0 -4
  162. package/build/js/page/pdp.js +41 -37
  163. package/build/js/page/personal-details.js +307 -277
  164. package/build/js/page/plp-cards-v2.js +39 -25
  165. package/build/js/page/plp-favourite.js +9 -9
  166. package/build/js/page/plp-img-v2.js +2 -3
  167. package/build/js/page/plp-load-more.js +66 -66
  168. package/build/js/page/plp.js +9 -10
  169. package/build/js/page/pre-home.js +159 -144
  170. package/build/js/page/project-list/generate-project-id.js +77 -68
  171. package/build/js/page/project-list-note.js +234 -232
  172. package/build/js/page/project-list.js +2 -3
  173. package/build/js/page/quiz.js +292 -292
  174. package/build/js/page/select-address.js +27 -14
  175. package/build/js/page/smart-banner.js +8 -5
  176. package/build/js/page/ti.js +67 -42
  177. package/build/js/page/top-rated.js +36 -29
  178. package/build/js/page/track-my-order.js +172 -156
  179. package/build/js/page/tradePro-rewards.js +34 -36
  180. package/build/js/page/utils/array-utils.js +13 -10
  181. package/build/js/page/utils/copy-to-clipboard.js +45 -45
  182. package/build/js/page/utils/create-event.js +8 -8
  183. package/build/js/page/utils/errorMesages.js +12 -11
  184. package/build/js/page/utils/helpers.js +14 -9
  185. package/build/js/page/utils/http-action.js +4 -5
  186. package/build/js/page/utils/loader.js +5 -5
  187. package/build/js/page/utils/routes.js +9 -9
  188. package/build/js/page/utils/url-query.js +4 -4
  189. package/build/js/page/utils/validation.js +93 -96
  190. package/build/js/page/wickes-dc.js +51 -44
  191. package/build/js/page/wismo.js +12 -12
  192. package/build/js/page/your-details.js +77 -41
  193. package/build/js/pdp-favourite-product.bundle.min.js +1 -1
  194. package/build/js/pdp.bundle.min.js +1 -1
  195. package/build/js/personal-details.min.js +1 -1
  196. package/build/js/plp-favourite-product.bundle.min.js +1 -1
  197. package/build/js/plp.bundle.min.js +1 -1
  198. package/build/js/project-list.min.js +16 -16
  199. package/build/js/pstrength.min.js +28 -34
  200. package/build/js/wickers.json +2069 -2069
  201. package/package.json +6 -2
  202. package/src/data/data_account-families.json +1 -1
  203. package/src/data/data_bathroom-installation.json +1 -1
  204. package/src/data/data_bathroom-ranges.json +14 -14
  205. package/src/data/data_business-pages.json +27 -27
  206. package/src/data/data_calendar.json +7 -1
  207. package/src/data/data_checkout-order.json +306 -306
  208. package/src/data/data_contact-us-form.json +17 -17
  209. package/src/data/data_contact-us-reasons.json +16 -16
  210. package/src/data/data_design-appointment.json +27 -12
  211. package/src/data/data_discounts.json +4 -4
  212. package/src/data/data_fdl-new-product.json +6 -6
  213. package/src/data/data_fdl-product.json +75 -87
  214. package/src/data/data_flooring-installation.json +6 -6
  215. package/src/data/data_great-quality.json +2 -2
  216. package/src/data/data_heating-plumbing.json +2 -2
  217. package/src/data/data_how-to_fit-corrugated-sheeting.json +245 -258
  218. package/src/data/data_journey-price-lists.json +1 -1
  219. package/src/data/data_kb-brouchure-requests.json +10 -10
  220. package/src/data/data_kitchen-brochure-request.json +1 -1
  221. package/src/data/data_kitchen-cabinets.json +1 -1
  222. package/src/data/data_kitchen-plp.json +24 -18
  223. package/src/data/data_kitchen-ranges.json +21 -23
  224. package/src/data/data_latest-offers.json +1044 -1044
  225. package/src/data/data_locators.json +130 -132
  226. package/src/data/data_next-steps.json +20 -20
  227. package/src/data/data_notification-page.json +72 -24
  228. package/src/data/data_online-ranges.json +1 -1
  229. package/src/data/data_page-category-hub.json +1 -1
  230. package/src/data/data_page-confirmation.json +9 -9
  231. package/src/data/data_page-project-multiple-list.json +18 -18
  232. package/src/data/data_pre-home.json +1090 -1082
  233. package/src/data/data_price-event-new.json +1 -1
  234. package/src/data/data_saved-project-list.json +8 -8
  235. package/src/data/data_seo-widgets.json +31 -31
  236. package/src/data/data_shopping-cart-v2.json +1 -2
  237. package/src/data/data_shopping-cart-with-energy.json +229 -229
  238. package/src/data/data_storage-solutions.json +99 -99
  239. package/src/data/data_tile-installation.json +1 -1
  240. package/src/data/data_top-rated-perfect-product.json +204 -204
  241. package/src/data/data_trade-essentials.json +1 -1
  242. package/src/data/data_tradePro_cards.json +0 -1
  243. package/src/data/data_user-address-saved.json +33 -33
  244. package/src/data/data_voucher_tradePro.json +5 -5
  245. package/src/data/data_wismo.json +12 -12
  246. package/src/data/how-to-guides/data-how_to_fit-bath-and-taps.json +2 -2
  247. package/src/data/how-to-guides/data_how-to-change-door-window-furniture.json +274 -274
  248. package/src/data/how-to-guides/data_how-to-fit-door-locks.json +3 -8
  249. package/src/data/how-to-guides/data_how-to-fit-worktop.json +5 -13
  250. package/src/data/how-to-guides/data_how-to-fit_basin-and-taps.json +2 -6
  251. package/src/data/how-to-guides/data_how-to-fit_bath-and-taps.json +3 -10
  252. package/src/data/how-to-guides/data_how-to-plumb-a-kitchen-appliance.json +3 -7
  253. package/src/data/how-to-guides/data_how-to-unblock-sink.json +5 -7
  254. package/src/data/how-to-guides/data_how-to_bleed-radiator.json +134 -134
  255. package/src/data/how-to-guides/data_how-to_build-raised-deck.json +4 -4
  256. package/src/data/how-to-guides/data_how-to_change-socket.json +2 -2
  257. package/src/data/how-to-guides/data_how-to_fit-guttering.json +282 -282
  258. package/src/data/how-to-guides/data_how-to_fit-toilet.json +2 -2
  259. package/src/data/how-to-guides/data_how-to_fit-wall-tiles.json +77 -23
  260. package/src/data/how-to-guides/data_how-to_fit-worktops.json +3 -4
  261. package/src/data/how-to-guides/data_how-to_fix-leaking-sink.json +3 -3
  262. package/src/data/how-to-guides/data_how-to_fix-leaking-tap.json +3 -3
  263. package/src/data/how-to-guides/data_how-to_garden-calendar.json +4 -5
  264. package/src/data/how-to-guides/data_how-to_grow-fruit-veg.json +3 -3
  265. package/src/data/how-to-guides/data_how-to_hang-internal-door.json +266 -266
  266. package/src/data/how-to-guides/data_how-to_install-artificial-grass.json +3 -4
  267. package/src/data/how-to-guides/data_how-to_install-base-wall-cabinets.json +3 -4
  268. package/src/data/how-to-guides/data_how-to_install-composite-decking.json +6 -14
  269. package/src/data/how-to-guides/data_how-to_install-deck-lighting.json +4 -7
  270. package/src/data/how-to-guides/data_how-to_install-fence.json +5 -5
  271. package/src/data/how-to-guides/data_how-to_insulate-loft.json +2 -2
  272. package/src/data/how-to-guides/data_how-to_lay-deck.json +4 -6
  273. package/src/data/how-to-guides/data_how-to_lay-laminate-flooring.json +3 -8
  274. package/src/data/how-to-guides/data_how-to_lay-maintain-turf.json +4 -4
  275. package/src/data/how-to-guides/data_how-to_lay-path.json +5 -6
  276. package/src/data/how-to-guides/data_how-to_lay-patio.json +5 -5
  277. package/src/data/how-to-guides/data_how-to_lay-solid-wood-flooring.json +0 -8
  278. package/src/data/how-to-guides/data_how-to_lay-vinyl-carpet-tiles.json +3 -3
  279. package/src/data/how-to-guides/data_how-to_paint-a-room.json +5 -5
  280. package/src/data/how-to-guides/data_how-to_plaster-wall.json +8 -6
  281. package/src/data/how-to-guides/data_how-to_plumb-kitchen-appliances.json +3 -3
  282. package/src/data/how-to-guides/data_how-to_prepare-interior-woodwork.json +5 -5
  283. package/src/data/how-to-guides/data_how-to_prepare-paint-exterior-walls.json +1 -1
  284. package/src/data/how-to-guides/data_how-to_prepare-wall-and-ceilings.json +9 -9
  285. package/src/data/how-to-guides/data_how-to_put_up_shelf.json +4 -4
  286. package/src/data/how-to-guides/data_how-to_remove-replace-tiles.json +3 -3
  287. package/src/data/how-to-guides/data_how-to_repair-wall.json +384 -385
  288. package/src/data/how-to-guides/data_how-to_tile-bathroom.json +3 -4
  289. package/src/data/how-to-guides/data_how-to_unblock-sink.json +3 -3
  290. package/src/data/how-to-guides/data_install-composite-decking.json +4 -4
  291. package/src/data/how-to-guides/data_planting-techniques.json +3 -3
  292. package/src/data/how-to-guides/fit-roofing-shingles.json +4 -4
  293. package/src/data/how-to-guides/hubs/data_how-to_hub_home.json +1 -1
  294. package/src/data/my-account/data_address-book.json +12 -3
  295. package/src/data/my-account/data_my-order.json +1 -1
  296. package/src/data/my-account/data_personal-details.json +32 -8
  297. package/src/data/navigation.json +1016 -805
  298. package/src/data/page_how-to-choose-your-doors.json +1 -2
  299. package/src/data/public/wickers.json +2069 -2069
  300. package/src/img/TradePaint.svg +42 -14
  301. package/src/img/apple-pay.svg +12 -7
  302. package/src/img/big-white-apple-pay.svg +10 -5
  303. package/src/img/billie-logo.svg +4 -2
  304. package/src/img/billie-modal.svg +4 -2
  305. package/src/img/billie-pdp.svg +12 -9
  306. package/src/img/billie-spinner.svg +5 -3
  307. package/src/img/billie.svg +3 -1
  308. package/src/img/clearpay-logo.svg +6 -1
  309. package/src/img/clearpay-spinner.svg +4 -1
  310. package/src/img/energy-efficiency/energy-marker.svg +12 -1
  311. package/src/img/google-spinner.svg +14 -7
  312. package/src/img/googlepay.svg +23 -12
  313. package/src/img/home-banner_arrow.svg +7 -1
  314. package/src/img/ic-menu.svg +7 -1
  315. package/src/img/ic_info_big.svg +4 -1
  316. package/src/img/klarna-big.svg +18 -9
  317. package/src/img/klarna-sm.svg +5 -2
  318. package/src/img/klarna-spinner.svg +3 -1
  319. package/src/img/logo-klarna.svg +5 -2
  320. package/src/img/mastercard.svg +6 -3
  321. package/src/img/payapal_text.svg +6 -1
  322. package/src/img/payment/checkout/applepay.svg +12 -7
  323. package/src/img/payment/checkout/billie.svg +4 -2
  324. package/src/img/payment/checkout/clearpay.svg +5 -1
  325. package/src/img/payment/checkout/googlepay.svg +23 -12
  326. package/src/img/payment/checkout/mastercard.svg +13 -1
  327. package/src/img/payment/checkout/paypal.svg +37 -1
  328. package/src/img/payment/checkout/visa.svg +8 -1
  329. package/src/img/payment/footer/applepay.svg +12 -7
  330. package/src/img/payment/footer/billie.svg +3 -1
  331. package/src/img/payment/footer/clearpay.svg +18 -10
  332. package/src/img/payment/footer/googlepay.svg +23 -12
  333. package/src/img/payment/footer/mastercard.svg +13 -1
  334. package/src/img/payment/footer/paypal.svg +37 -1
  335. package/src/img/payment/footer/visa.svg +8 -1
  336. package/src/img/paypal.svg +8 -1
  337. package/src/img/paypal_logo_loader_paypal.svg +4 -1
  338. package/src/img/paypal_logo_loader_pp.svg +10 -1
  339. package/src/img/placeholders/full-width-img.svg +9 -1
  340. package/src/img/placeholders/img-2-to-1.svg +9 -1
  341. package/src/img/placeholders/img-3-to-4.svg +9 -1
  342. package/src/img/placeholders/img-4-to-3.svg +9 -1
  343. package/src/img/proposition_arrow_click.svg +7 -1
  344. package/src/img/proposition_delivery.svg +7 -1
  345. package/src/img/proposition_price.svg +7 -1
  346. package/src/img/proposition_returns.svg +7 -1
  347. package/src/img/social-icon-facebook.svg +8 -1
  348. package/src/img/social-icon-instagram.svg +15 -1
  349. package/src/img/social-icon-pinterest.svg +7 -1
  350. package/src/img/socials/facebook.svg +5 -1
  351. package/src/img/socials/instagram.svg +5 -1
  352. package/src/img/socials/pinterest.svg +5 -1
  353. package/src/img/socials/tiktok.svg +5 -1
  354. package/src/img/socials/x-twitter.svg +5 -1
  355. package/src/img/socials/youtube.svg +5 -1
  356. package/src/img/socials_facebook_color.svg +7 -1
  357. package/src/img/socials_facebook_white_blue_color.svg +5 -1
  358. package/src/img/socials_info_big.svg +7 -1
  359. package/src/img/socials_instagram_color.svg +16 -1
  360. package/src/img/socials_pinterest_color.svg +4 -1
  361. package/src/img/socials_twitter_color.svg +4 -1
  362. package/src/img/socials_whatsapp_color.svg +5 -1
  363. package/src/img/socials_youtube_color.svg +4 -1
  364. package/src/img/stars.svg +8 -1
  365. package/src/img/visa-logo.svg +3 -1
  366. package/src/img/wickes-dc-logo.svg +17 -13
  367. package/src/img/wickes-logo-v2.svg +15 -1
  368. package/src/img/wickes-logo.svg +36 -1
  369. package/src/img/young-minds.svg +10 -8
  370. package/src/js/components/anchors-scroll.js +9 -6
  371. package/src/js/components/badge-cashback.js +5 -6
  372. package/src/js/components/banner-placement-manager.js +269 -232
  373. package/src/js/components/card-color-slider.js +29 -29
  374. package/src/js/components/card-slider.js +78 -73
  375. package/src/js/components/cards-slider.js +64 -58
  376. package/src/js/components/charity-donations.js +3 -4
  377. package/src/js/components/checkout_your-details.js +68 -67
  378. package/src/js/components/clamp.js +47 -32
  379. package/src/js/components/click-disable.js +7 -7
  380. package/src/js/components/date-selection.js +50 -37
  381. package/src/js/components/file-loader.js +33 -33
  382. package/src/js/components/finance.js +3 -4
  383. package/src/js/components/flatpickr.js +135 -149
  384. package/src/js/components/gallery-pdp.js +97 -98
  385. package/src/js/components/gallery-range.js +107 -109
  386. package/src/js/components/general/accordion.js +31 -29
  387. package/src/js/components/general/back-to-top.js +40 -37
  388. package/src/js/components/general/backdrop.js +15 -15
  389. package/src/js/components/general/cart-slider.js +15 -12
  390. package/src/js/components/general/clamp-content.js +80 -80
  391. package/src/js/components/general/clamp.js +53 -38
  392. package/src/js/components/general/clear-input.js +25 -25
  393. package/src/js/components/general/cookie-chat-back.js +19 -13
  394. package/src/js/components/general/cookies-policy.js +5 -5
  395. package/src/js/components/general/create-popup-slider.js +169 -175
  396. package/src/js/components/general/device-type.js +3 -3
  397. package/src/js/components/general/footer.js +82 -52
  398. package/src/js/components/general/handleAccordion.js +28 -28
  399. package/src/js/components/general/is-trade-pro.js +15 -9
  400. package/src/js/components/general/main-nav.js +8 -8
  401. package/src/js/components/general/main-navigation.js +67 -73
  402. package/src/js/components/general/mini-basket-slider.js +6 -6
  403. package/src/js/components/general/notification.js +58 -40
  404. package/src/js/components/general/offer-banner.js +58 -58
  405. package/src/js/components/general/scroll-disable.js +45 -44
  406. package/src/js/components/general/search-filter.js +16 -16
  407. package/src/js/components/general/search.js +27 -29
  408. package/src/js/components/general/snack-bar.js +20 -11
  409. package/src/js/components/general/sticky_header.js +8 -7
  410. package/src/js/components/general/switchVat.js +154 -154
  411. package/src/js/components/general/text-clamp.js +14 -16
  412. package/src/js/components/general/tooltips.js +2 -2
  413. package/src/js/components/general/validation.js +47 -41
  414. package/src/js/components/leave-event.js +116 -113
  415. package/src/js/components/loader.js +11 -11
  416. package/src/js/components/modal-slider.js +57 -52
  417. package/src/js/components/order-item-cc.js +59 -69
  418. package/src/js/components/pdp-read-more.js +7 -11
  419. package/src/js/components/pdp-video.js +2 -2
  420. package/src/js/components/pwdstrength.js +13 -17
  421. package/src/js/components/range-cards.js +12 -12
  422. package/src/js/components/range-types.js +11 -11
  423. package/src/js/components/scrollbar.js +23 -20
  424. package/src/js/components/share-project-list.js +4 -5
  425. package/src/js/components/show-more-less.js +2 -2
  426. package/src/js/components/similar-slider.js +19 -10
  427. package/src/js/components/sticky-aside.js +84 -83
  428. package/src/js/components/store-locator-facilities.js +17 -15
  429. package/src/js/components/tabs.js +16 -17
  430. package/src/js/components/toggle-password-visibility.js +50 -50
  431. package/src/js/components/tradepro-notification-copy.js +5 -6
  432. package/src/js/components/voucher-remove.js +1 -2
  433. package/src/js/components/wisdom.js +35 -26
  434. package/src/js/components/zoom.js +67 -59
  435. package/src/js/emulation/account-hub.js +40 -40
  436. package/src/js/emulation/account-members.js +37 -36
  437. package/src/js/emulation/add-project-list-id-local.js +24 -18
  438. package/src/js/emulation/add.to.any.customisation.js +44 -38
  439. package/src/js/emulation/autocomplete.js +123 -114
  440. package/src/js/emulation/banner-placement-manager.js +40 -35
  441. package/src/js/emulation/basket-data.js +2123 -2037
  442. package/src/js/emulation/basket.js +58 -57
  443. package/src/js/emulation/big-wins.js +1079 -903
  444. package/src/js/emulation/chat-bot.js +14 -14
  445. package/src/js/emulation/checkLocalEnv.js +4 -4
  446. package/src/js/emulation/checkout-delivery-details.js +28 -25
  447. package/src/js/emulation/checkout-payment-details.js +46 -37
  448. package/src/js/emulation/checkout-sign-in-emulation.js +36 -33
  449. package/src/js/emulation/checkout_your-details.js +47 -46
  450. package/src/js/emulation/click-and-collect-modal.js +18 -20
  451. package/src/js/emulation/cnc-notifications.js +9 -10
  452. package/src/js/emulation/custom-slider-emulation.js +16 -17
  453. package/src/js/emulation/date-selection.js +25 -25
  454. package/src/js/emulation/default-store.js +92 -86
  455. package/src/js/emulation/favourite-product-local.js +31 -29
  456. package/src/js/emulation/find-address.js +41 -42
  457. package/src/js/emulation/footer-date.js +6 -3
  458. package/src/js/emulation/forms.js +352 -308
  459. package/src/js/emulation/generate-project-id-local.js +26 -23
  460. package/src/js/emulation/global-search-local.js +125 -122
  461. package/src/js/emulation/google-maps-store-info.js +25 -29
  462. package/src/js/emulation/home-movers.js +47 -49
  463. package/src/js/emulation/input-file.js +638 -558
  464. package/src/js/emulation/kitchen-plp-data.js +4528 -3670
  465. package/src/js/emulation/loadMore.js +13 -14
  466. package/src/js/emulation/main-nav-data.js +1058 -848
  467. package/src/js/emulation/mini-basket.js +34 -34
  468. package/src/js/emulation/mini-cart.js +12 -11
  469. package/src/js/emulation/mock.js +23 -23
  470. package/src/js/emulation/my-orders-local.js +30 -30
  471. package/src/js/emulation/paymentLoader.js +16 -16
  472. package/src/js/emulation/pdf-file-loader.js +88 -90
  473. package/src/js/emulation/pdp.js +18 -12
  474. package/src/js/emulation/personal-details-local.js +57 -56
  475. package/src/js/emulation/plp-load-more.js +16 -13
  476. package/src/js/emulation/popover-mini-basket.js +244 -238
  477. package/src/js/emulation/project-list-multiple.js +24 -18
  478. package/src/js/emulation/project-list-pdp.js +319 -316
  479. package/src/js/emulation/project-list-print.js +43 -40
  480. package/src/js/emulation/quiz-local.js +11 -11
  481. package/src/js/emulation/reference-field.js +2 -7
  482. package/src/js/emulation/selectable.js +19 -18
  483. package/src/js/emulation/shopping-list.js +19 -17
  484. package/src/js/emulation/sign-up.js +17 -21
  485. package/src/js/emulation/store-locator-list.js +11 -13
  486. package/src/js/emulation/switchCalendar.js +12 -8
  487. package/src/js/emulation/total-amount-loader.js +14 -13
  488. package/src/js/emulation/user.js +32 -32
  489. package/src/js/emulation/vat-toggle.js +1 -1
  490. package/src/js/emulation/wickes-responsive.js +178 -189
  491. package/src/js/emulation/wismo-details.js +22 -30
  492. package/src/js/emulation/your-details.js +34 -22
  493. package/src/js/helpers/jquery.cookiebar.js +270 -192
  494. package/src/js/helpers/responsive.js +69 -69
  495. package/src/js/helpers/safari-back.js +4 -4
  496. package/src/js/libs/bootstrap.bundle.min.js +1 -1
  497. package/src/js/libs/iframeResizer.min.js +2 -2
  498. package/src/js/libs/jquery.pstrength.custom-1.2.0.js +28 -34
  499. package/src/js/libs/simplebar.js +3 -3
  500. package/src/js/page/accordion.js +31 -29
  501. package/src/js/page/account-deletion.js +13 -13
  502. package/src/js/page/account-hub.js +128 -119
  503. package/src/js/page/account-members.js +229 -216
  504. package/src/js/page/address-book.js +186 -184
  505. package/src/js/page/basket/add-project-list-id.js +158 -130
  506. package/src/js/page/basket/clearpay.js +17 -17
  507. package/src/js/page/basket/display-energy-efficiency.js +13 -13
  508. package/src/js/page/basket/gtm.js +60 -54
  509. package/src/js/page/basket/klarna.js +2 -2
  510. package/src/js/page/basket/paypal.js +33 -33
  511. package/src/js/page/basket/session-sync.js +5 -5
  512. package/src/js/page/basket/summary-mobile.js +16 -16
  513. package/src/js/page/basket/wisdom.js +54 -39
  514. package/src/js/page/basket-v2.js +415 -261
  515. package/src/js/page/basket.js +42 -39
  516. package/src/js/page/billie-business-type.js +22 -22
  517. package/src/js/page/business-account-form.js +12 -12
  518. package/src/js/page/buying-guides-guttering.js +3 -3
  519. package/src/js/page/category-landing.js +18 -11
  520. package/src/js/page/change-password.js +100 -99
  521. package/src/js/page/checkout-confirmation-new.js +127 -70
  522. package/src/js/page/checkout-confirmation.js +6 -6
  523. package/src/js/page/checkout-delivery-address.js +35 -32
  524. package/src/js/page/checkout-delivery-details-loader.js +2 -5
  525. package/src/js/page/checkout-edit-address.js +1 -1
  526. package/src/js/page/checkout-payment-details.js +170 -172
  527. package/src/js/page/checkout-sign-in.js +15 -11
  528. package/src/js/page/checkout.js +1 -1
  529. package/src/js/page/cms-homepage.js +87 -45
  530. package/src/js/page/components/charity.js +114 -120
  531. package/src/js/page/components/csrf.js +4 -4
  532. package/src/js/page/components/discounts.js +39 -39
  533. package/src/js/page/components/favourite-product.js +125 -113
  534. package/src/js/page/components/global-search.js +204 -192
  535. package/src/js/page/components/modal-observer.js +43 -46
  536. package/src/js/page/components/order-summary.js +26 -22
  537. package/src/js/page/components/pagination.js +124 -117
  538. package/src/js/page/components/retry-action.js +2 -2
  539. package/src/js/page/components/saving-shopping-list.js +381 -314
  540. package/src/js/page/components/sticky-order-observer.js +36 -39
  541. package/src/js/page/components/voucher.js +46 -47
  542. package/src/js/page/copy-project-id.js +23 -23
  543. package/src/js/page/countdown-timer.js +6 -6
  544. package/src/js/page/default-store.js +40 -34
  545. package/src/js/page/design-appointment.js +6 -3
  546. package/src/js/page/energy-efficiency.js +39 -25
  547. package/src/js/page/finance-tabs.js +4 -4
  548. package/src/js/page/general/cookie.js +20 -10
  549. package/src/js/page/installation/calculator.js +12 -16
  550. package/src/js/page/installation/fi.js +76 -71
  551. package/src/js/page/installation/generic.js +21 -20
  552. package/src/js/page/installation/installation.js +36 -22
  553. package/src/js/page/installation/pdp-generic.js +3 -9
  554. package/src/js/page/installation/ti.js +26 -24
  555. package/src/js/page/installer-files-form.js +98 -76
  556. package/src/js/page/installer-form.js +502 -447
  557. package/src/js/page/installer-validation.js +848 -761
  558. package/src/js/page/instore-checkout.js +2 -2
  559. package/src/js/page/kitchen/card-carousel.js +21 -21
  560. package/src/js/page/kitchen/colour-swatches.js +153 -149
  561. package/src/js/page/kitchen/kitchen-card.js +62 -64
  562. package/src/js/page/kitchen/mobile-nav.js +26 -27
  563. package/src/js/page/kitchen/plp-filters-chips.js +72 -70
  564. package/src/js/page/kitchen/plp-filters-mobile.js +64 -60
  565. package/src/js/page/kitchen/plp-filters-panel.js +106 -102
  566. package/src/js/page/kitchen/plp-filters-utils.js +54 -53
  567. package/src/js/page/kitchen/plp-filters.js +210 -194
  568. package/src/js/page/kitchen/sort-by.js +149 -149
  569. package/src/js/page/klarna-modal-scroll-disable.js +4 -4
  570. package/src/js/page/merged-checkout.js +6 -3
  571. package/src/js/page/my-account.js +44 -46
  572. package/src/js/page/my-orders.js +153 -149
  573. package/src/js/page/online-exclusive.js +28 -31
  574. package/src/js/page/pdp-favourite.js +4 -4
  575. package/src/js/page/pdp-tile.js +0 -4
  576. package/src/js/page/pdp.js +41 -37
  577. package/src/js/page/personal-details.js +307 -277
  578. package/src/js/page/plp-cards-v2.js +39 -25
  579. package/src/js/page/plp-favourite.js +9 -9
  580. package/src/js/page/plp-img-v2.js +2 -3
  581. package/src/js/page/plp-load-more.js +66 -66
  582. package/src/js/page/plp.js +9 -10
  583. package/src/js/page/pre-home.js +159 -144
  584. package/src/js/page/project-list/generate-project-id.js +77 -68
  585. package/src/js/page/project-list-note.js +234 -232
  586. package/src/js/page/project-list.js +2 -3
  587. package/src/js/page/quiz.js +292 -292
  588. package/src/js/page/select-address.js +27 -14
  589. package/src/js/page/smart-banner.js +8 -5
  590. package/src/js/page/ti.js +67 -42
  591. package/src/js/page/top-rated.js +36 -29
  592. package/src/js/page/track-my-order.js +172 -156
  593. package/src/js/page/tradePro-rewards.js +34 -36
  594. package/src/js/page/utils/array-utils.js +13 -10
  595. package/src/js/page/utils/copy-to-clipboard.js +45 -45
  596. package/src/js/page/utils/create-event.js +8 -8
  597. package/src/js/page/utils/errorMesages.js +12 -11
  598. package/src/js/page/utils/helpers.js +14 -9
  599. package/src/js/page/utils/http-action.js +4 -5
  600. package/src/js/page/utils/loader.js +5 -5
  601. package/src/js/page/utils/routes.js +9 -9
  602. package/src/js/page/utils/url-query.js +4 -4
  603. package/src/js/page/utils/validation.js +93 -96
  604. package/src/js/page/wickes-dc.js +51 -44
  605. package/src/js/page/wismo.js +12 -12
  606. package/src/js/page/your-details.js +77 -41
  607. package/src/layouts/app_sticky_header.hbs +0 -1
  608. package/src/scss/barclays-paypage-combined.css +585 -585
  609. package/src/scss/barclays-paypage-desktop.css +496 -496
  610. package/src/scss/barclays-paypage-mobile.css +494 -494
  611. package/src/scss/category-main.scss +8 -2
  612. package/src/scss/common/_cat-common.scss +1 -0
  613. package/src/scss/common/_plp-common.scss +1 -0
  614. package/src/scss/components/_billie-modal.scss +2 -2
  615. package/src/scss/components/_card.scss +1 -0
  616. package/src/scss/components/_find-a-store.scss +1 -0
  617. package/src/scss/components/_gallery-pdp-critical.scss +2 -2
  618. package/src/scss/components/_kitchen-card.scss +2 -2
  619. package/src/scss/components/_notifications-critical.scss +2 -2
  620. package/src/scss/components/_offer-banner.scss +1 -0
  621. package/src/scss/components/_order-summary.scss +1 -1
  622. package/src/scss/components/_page-overlay.scss +1 -1
  623. package/src/scss/components/_price-block.scss +1 -0
  624. package/src/scss/components/_price.scss +1 -1
  625. package/src/scss/components/_range-card.scss +0 -1
  626. package/src/scss/components/_recommended.scss +0 -1
  627. package/src/scss/components/_rewards.scss +1 -1
  628. package/src/scss/components/_share-list-modal.scss +1 -1
  629. package/src/scss/components/_shopping-list-note.scss +1 -1
  630. package/src/scss/components/_steps-three.scss +1 -1
  631. package/src/scss/components/_steps.scss +2 -2
  632. package/src/scss/components/_tc-generic.scss +1 -1
  633. package/src/scss/components/_thank-you-modal.scss +3 -1
  634. package/src/scss/components/_ti-total-area.scss +1 -1
  635. package/src/scss/components/_user-address-delivery.scss +1 -1
  636. package/src/scss/components/kitchen/_price.scss +1 -1
  637. package/src/scss/components/my-account/_contacts.scss +3 -1
  638. package/src/scss/components/special-opening-schedule-v2.scss +3 -3
  639. package/src/scss/components/special-opening-schedule.scss +2 -2
  640. package/src/scss/helpers/_variables.scss +157 -154
  641. package/src/scss/helpers/helpers-pdp-critical/_elements-critical-pdp.scss +1 -0
  642. package/src/scss/helpers/helpers-pdp-critical/_helpers-critical-pdp.scss +4 -0
  643. package/src/scss/libs/_bootstrap-extracted.scss +24 -6
  644. package/src/scss/libs/_skeleton.scss +3 -3
  645. package/src/scss/libs/simplebar.css +3 -3
  646. package/src/scss/libs/swiper.css +479 -384
  647. package/src/scss/main.scss +140 -70
  648. package/src/scss/my-account-main-v2.scss +38 -19
  649. package/src/scss/my-account-main.scss +38 -19
  650. package/src/scss/pages/_checkout-widget.scss +1 -1
  651. package/src/scss/pages/_checkout_your-details.scss +1 -0
  652. package/src/scss/pages/checkout-new.scss +1 -0
  653. package/src/scss/pages/checkout.scss +1 -0
  654. package/src/scss/pages/iframe-paypage.scss +9 -8
  655. package/src/scss/pages/page_book-consultant-thank-you-new.scss +2 -2
  656. package/src/scss/pages/page_installer.scss +2 -2
  657. package/src/scss/pages/page_my-account_tradePro.scss +1 -1
  658. package/src/scss/pages/page_new-checkout_login-register.scss +1 -1
  659. package/src/scss/pages/page_pre_home_thank-you.scss +2 -2
  660. package/src/scss/pages/page_product-details-critical.scss +1 -0
  661. package/src/scss/pages/page_products-list-combined.scss +4 -0
  662. package/src/scss/pages/page_store-locator-details.scss +1 -1
  663. package/src/scss/pages/page_top-rated.scss +14 -14
  664. package/src/scss/pages/page_wismo-details.scss +1 -1
  665. package/src/scss/pages/tradePro-rewards-old.scss +1 -1
  666. package/src/scss/partials/_breadcrumbs-critical.scss +2 -2
  667. package/src/scss/partials/_breadcrumbs.scss +2 -2
  668. package/src/scss/partials/_header-critical.scss +1 -1
  669. package/src/scss/partials/_header.scss +1 -1
  670. package/src/scss/store-locator-main.scss +3 -0
  671. package/build/js/page/business-pages.js +0 -13
  672. package/src/js/page/business-pages.js +0 -13
@@ -1,9 +1,9 @@
1
- import {retryAction} from "../components/retry-action";
2
- import {generateUrlWithQuery} from "./url-query";
1
+ import { retryAction } from '../components/retry-action';
2
+ import { generateUrlWithQuery } from './url-query';
3
3
 
4
4
  const routes = {
5
5
  origin: window.location.origin,
6
- }
6
+ };
7
7
 
8
8
  export function callAction(payload, callback, ...args) {
9
9
  $.ajax({
@@ -22,7 +22,6 @@ export function callAction(payload, callback, ...args) {
22
22
  payload.error && payload.error(xhr, ...args);
23
23
  }
24
24
  },
25
- complete: payload.complete
25
+ complete: payload.complete,
26
26
  });
27
27
  }
28
-
@@ -1,20 +1,20 @@
1
- import loader from "../../../elements/loader.hbs";
1
+ import loader from '../../../elements/loader.hbs';
2
2
 
3
3
  const defaultLoader = '.loader-wrapper';
4
4
  const HIDDEN_CLASS_NAME = 'd-none';
5
5
 
6
6
  function defineLoaderWrapper(loader) {
7
- return loader ? loader : defaultLoader;
7
+ return loader ? loader : defaultLoader;
8
8
  }
9
9
 
10
10
  export function appendLoader(payload) {
11
- $(payload.wrapper).append(loader(payload));
11
+ $(payload.wrapper).append(loader(payload));
12
12
  }
13
13
 
14
14
  export function showLoader(loaderSelector) {
15
- $(defineLoaderWrapper(loaderSelector)).removeClass(HIDDEN_CLASS_NAME);
15
+ $(defineLoaderWrapper(loaderSelector)).removeClass(HIDDEN_CLASS_NAME);
16
16
  }
17
17
 
18
18
  export function hideLoader(loaderSelector) {
19
- $(defineLoaderWrapper(loaderSelector)).addClass(HIDDEN_CLASS_NAME);
19
+ $(defineLoaderWrapper(loaderSelector)).addClass(HIDDEN_CLASS_NAME);
20
20
  }
@@ -1,10 +1,10 @@
1
1
  export const ROUTES = {
2
- WISDOM_CHECK_AVAILABILITY: '/delivery-availability',
3
- CHARITY_ADD: '/cart/add',
4
- BASKET_GET_CART: '/checkout-rs/user/cart',
5
- BASKET_ADD_STOCK: '/cart/entry',
6
- VOUCHER_UPDATE: '/checkout-rs/user/cart/vouchers',
7
- GET_CSRF_TOKEN: '/sites-rs/site',
8
- PL_UPDATE_REFERENCE: '/project-list/update-notes',
9
- PL_REMOVE_REFERENCE: '/project-list/remove-notes',
10
- }
2
+ WISDOM_CHECK_AVAILABILITY: '/delivery-availability',
3
+ CHARITY_ADD: '/cart/add',
4
+ BASKET_GET_CART: '/checkout-rs/user/cart',
5
+ BASKET_ADD_STOCK: '/cart/entry',
6
+ VOUCHER_UPDATE: '/checkout-rs/user/cart/vouchers',
7
+ GET_CSRF_TOKEN: '/sites-rs/site',
8
+ PL_UPDATE_REFERENCE: '/project-list/update-notes',
9
+ PL_REMOVE_REFERENCE: '/project-list/remove-notes',
10
+ };
@@ -1,11 +1,11 @@
1
1
  export function generateUrlWithQuery(url, queries) {
2
- return queries
3
- ? `${url}${concatQueries(queries)}`
4
- : url
2
+ return queries ? `${url}${concatQueries(queries)}` : url;
5
3
  }
6
4
 
7
5
  function concatQueries(queries) {
8
6
  return queries
9
- ? `?${Object.keys(queries).map((key) => `${key}=${(queries[key])}`).join('&')}`
7
+ ? `?${Object.keys(queries)
8
+ .map((key) => `${key}=${queries[key]}`)
9
+ .join('&')}`
10
10
  : '';
11
11
  }
@@ -1,97 +1,91 @@
1
1
  const validationEl = {
2
- idsOfInputsWithNoNeedToUpdateDuringTyping: ['address-lookup-query', 'modal-address-lookup-query']
3
- }
2
+ idsOfInputsWithNoNeedToUpdateDuringTyping: [
3
+ 'address-lookup-query',
4
+ 'modal-address-lookup-query',
5
+ ],
6
+ };
4
7
 
5
8
  const formElements = {
6
9
  formInvalid: 'form_invalid',
7
10
  fieldRow: '.form-row[data-row-required]',
8
11
  rowValidationError: 'form-row_validation-error',
9
- }
12
+ };
10
13
 
11
14
  const patterns = {
12
15
  guidPattern: /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i,
13
16
  userFriendlyIdPattern: /^[A-Za-z]{2,3}\d{6}$/,
14
- }
17
+ };
15
18
 
16
19
  export function addFieldValidation(fieldSelector, validationFunction) {
17
- $(fieldSelector).each(function(index, element) {
18
- $(element).blur(function() {
20
+ $(fieldSelector).each(function (index, element) {
21
+ $(element).blur(function () {
19
22
  updateInputValueBeforeValidation(this);
20
- validationFunction(this);
21
- if (!validationEl.idsOfInputsWithNoNeedToUpdateDuringTyping.includes(element.id)) {
22
- $(this).keyup(function() {
23
+ validationFunction(this);
24
+ if (!validationEl.idsOfInputsWithNoNeedToUpdateDuringTyping.includes(element.id)) {
25
+ $(this).keyup(function () {
23
26
  updateInputValueBeforeValidation(this);
24
27
  validationFunction(this);
25
28
  });
26
- }
29
+ }
27
30
  });
28
31
  });
29
32
  }
30
33
 
31
- export function updateInputValueBeforeValidation (element) {
34
+ export function updateInputValueBeforeValidation(element) {
32
35
  $(element).val($.trim($(element).val()));
33
36
  }
34
37
 
35
38
  export function validateEmail(element) {
36
- updateStylingError(element.id,
37
- isValidEmail(element.value),
38
- invalidEmailAddress);
39
- }
40
-
41
- export function isValidEmail (value) {
42
- const ipAddressPattern = "(?:(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)\\.){3}(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)",
43
- emailPattern = new RegExp("^(?=.{1,64}@)[\\w\\+-]+(\\.[\\w\\+-]+)*@(([A-Za-z\\d]+[A-Za-z\\d-]*\\.){1,3}[A-Za-z]{2,16}|" + ipAddressPattern + ")$"),
44
- charactersLimit = 254,
45
- isCharactersLimitReached = value.length <= charactersLimit;
39
+ updateStylingError(element.id, isValidEmail(element.value), invalidEmailAddress);
40
+ }
41
+
42
+ export function isValidEmail(value) {
43
+ const ipAddressPattern =
44
+ '(?:(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)\\.){3}(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)',
45
+ emailPattern = new RegExp(
46
+ '^(?=.{1,64}@)[\\w\\+-]+(\\.[\\w\\+-]+)*@(([A-Za-z\\d]+[A-Za-z\\d-]*\\.){1,3}[A-Za-z]{2,16}|' +
47
+ ipAddressPattern +
48
+ ')$'
49
+ ),
50
+ charactersLimit = 254,
51
+ isCharactersLimitReached = value.length <= charactersLimit;
46
52
  return emailPattern.test(value) && isCharactersLimitReached;
47
53
  }
48
54
 
49
- export function validatePassword (element) {
50
- updateStylingError(element.id,
51
- isValidPassword(element.value),
52
- invalidPassword);
55
+ export function validatePassword(element) {
56
+ updateStylingError(element.id, isValidPassword(element.value), invalidPassword);
53
57
  }
54
58
 
55
- export function isValidPassword (value) {
59
+ export function isValidPassword(value) {
56
60
  return value.length > 0;
57
61
  }
58
62
 
59
- export function validateTitle (element) {
60
- updateStylingError(element.id,
61
- isValidTitle(element.value),
62
- invalidTitle);
63
+ export function validateTitle(element) {
64
+ updateStylingError(element.id, isValidTitle(element.value), invalidTitle);
63
65
  }
64
66
 
65
- export function isValidTitle (value) {
67
+ export function isValidTitle(value) {
66
68
  return value.length > 0;
67
69
  }
68
70
 
69
- export function isValidOrderNumber (value) {
71
+ export function isValidOrderNumber(value) {
70
72
  return value.length >= 9;
71
73
  }
72
74
 
73
- export function validateFirstName (element) {
74
- updateStylingError(element.id,
75
- isValidInputTextField(element.value),
76
- invalidFirstName);
75
+ export function validateFirstName(element) {
76
+ updateStylingError(element.id, isValidInputTextField(element.value), invalidFirstName);
77
77
  }
78
78
 
79
- export function validateLastName (element) {
80
- updateStylingError(element.id,
81
- isValidInputTextField(element.value),
82
- invalidLastName);
79
+ export function validateLastName(element) {
80
+ updateStylingError(element.id, isValidInputTextField(element.value), invalidLastName);
83
81
  }
84
82
 
85
- export function validateAddress1 (element) {
86
- updateStylingError(element.id,
87
- isValidInputTextField(element.value),
88
- invalidAddressOne);
83
+ export function validateAddress1(element) {
84
+ updateStylingError(element.id, isValidInputTextField(element.value), invalidAddressOne);
89
85
  }
90
86
 
91
87
  export function validateCity(element) {
92
- updateStylingError(element.id,
93
- isValidInputTextField(element.value),
94
- invalidTownCity);
88
+ updateStylingError(element.id, isValidInputTextField(element.value), invalidTownCity);
95
89
  }
96
90
 
97
91
  export function isValidFieldSize(value) {
@@ -107,23 +101,27 @@ export function isValidInputTextField(value) {
107
101
  return isValidFieldSize(value) && regExp.test(value);
108
102
  }
109
103
 
110
- export function validateMobile (element, allowEmptyValue) {
111
- updateStylingError(element.id,
104
+ export function validateMobile(element, allowEmptyValue) {
105
+ updateStylingError(
106
+ element.id,
112
107
  isValidPhoneNumber(element.value, allowEmptyValue),
113
- invalidMobile);
108
+ invalidMobile
109
+ );
114
110
  }
115
111
 
116
112
  export function validatePhone(element) {
117
- updateStylingError(element.id,
118
- isValidPhoneNumber(element.value, true),
119
- invalidTelephone);
113
+ updateStylingError(element.id, isValidPhoneNumber(element.value, true), invalidTelephone);
120
114
  }
121
115
 
122
- export function isValidPhoneNumber(value, allowEmptyValue) {
123
- value = value.replace(/\s+/g, "");
116
+ export function isValidPhoneNumber(value, allowEmptyValue) {
117
+ value = value.replace(/\s+/g, '');
124
118
 
125
- var phonePatterElevenDigit = new RegExp("^0{1}\\d{10}$|^0{1}\\d{5}\\s{1}\\d{5}$|^0{1}\\d{4}\\s{1}\\d{6}$|^0{1}\\d{3}\\s{1}\\d{3}\\s{1}\\d{4}$|^0{1}\\d{2}\\s{1}\\d{4}\\s{1}\\d{4}$|^0{1}\\d{3}\\s{1}\\d{7}$");
126
- var phonePatternTenDigit = new RegExp("^0{1}\\d{9}$|^0{1}\\d{5}\\s{1}\\d{4}$|^0{1}\\d{4}\\s{1}\\d{5}$");
119
+ var phonePatterElevenDigit = new RegExp(
120
+ '^0{1}\\d{10}$|^0{1}\\d{5}\\s{1}\\d{5}$|^0{1}\\d{4}\\s{1}\\d{6}$|^0{1}\\d{3}\\s{1}\\d{3}\\s{1}\\d{4}$|^0{1}\\d{2}\\s{1}\\d{4}\\s{1}\\d{4}$|^0{1}\\d{3}\\s{1}\\d{7}$'
121
+ );
122
+ var phonePatternTenDigit = new RegExp(
123
+ '^0{1}\\d{9}$|^0{1}\\d{5}\\s{1}\\d{4}$|^0{1}\\d{4}\\s{1}\\d{5}$'
124
+ );
127
125
  var result = phonePatterElevenDigit.test(value) || phonePatternTenDigit.test(value);
128
126
 
129
127
  if (allowEmptyValue) {
@@ -137,22 +135,26 @@ export function validatePostcode(element, ifConvert) {
137
135
  var elementValue = element.value;
138
136
  var isValid = isValidPostcodeField(elementValue);
139
137
  if (ifConvert && isValid) {
140
- elementValue = elementValue.replace(/\s/g, "");
141
- $('#' + $.escapeSelector(element.id))
142
- .val(elementValue.substr(0, elementValue.length-3) + " " + elementValue.substr(elementValue.length-3));
138
+ elementValue = elementValue.replace(/\s/g, '');
139
+ $('#' + $.escapeSelector(element.id)).val(
140
+ elementValue.substr(0, elementValue.length - 3) +
141
+ ' ' +
142
+ elementValue.substr(elementValue.length - 3)
143
+ );
143
144
  }
144
145
  updateStylingError(element.id, isValid, invalidPostCode);
145
146
  }
146
147
 
147
148
  export function isValidPostcodeField(value) {
148
149
  const transformedValue = value.toUpperCase().replaceAll(' ', '');
149
- const regExp = new RegExp("^(GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))[0-9][A-BD-HJLNP-UW-Z]{2})$");
150
- return transformedValue.replace(/\s+/g, "").length > 4 && regExp.test(transformedValue);
150
+ const regExp = new RegExp(
151
+ '^(GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))[0-9][A-BD-HJLNP-UW-Z]{2})$'
152
+ );
153
+ return transformedValue.replace(/\s+/g, '').length > 4 && regExp.test(transformedValue);
151
154
  }
152
155
 
153
156
  export function validateHouseName(element) {
154
157
  updateStylingError(element.id, isValidHouseName(element.value));
155
-
156
158
  }
157
159
 
158
160
  export function isValidHouseName(value) {
@@ -161,30 +163,24 @@ export function isValidHouseName(value) {
161
163
  }
162
164
 
163
165
  export function validateAddressSelection(element) {
164
- updateStylingError(element.id,
165
- isValidAddressSelection(element),
166
- selectAddressMessage);
166
+ updateStylingError(element.id, isValidAddressSelection(element), selectAddressMessage);
167
167
  }
168
168
 
169
169
  export function isValidAddressSelection(element) {
170
- return !$('#' + $.escapeSelector(element.id)).is(":visible");
170
+ return !$('#' + $.escapeSelector(element.id)).is(':visible');
171
171
  }
172
172
 
173
173
  export function validateAddress2(element) {
174
- updateStylingError(element.id,
175
- isValidAddress2(element.value),
176
- invalidAddressTwo);
174
+ updateStylingError(element.id, isValidAddress2(element.value), invalidAddressTwo);
177
175
  }
178
176
 
179
177
  export function isValidAddress2(value) {
180
178
  var regExp = new RegExp("^[\\w ().,'-]+$|^$");
181
- return value.length === 0 || regExp.test( value);
179
+ return value.length === 0 || regExp.test(value);
182
180
  }
183
181
 
184
182
  export function validateVoucher(element) {
185
- updateStylingErrorForElement(element,
186
- isValidVoucher(element.value),
187
- invalidVoucherCode);
183
+ updateStylingErrorForElement(element, isValidVoucher(element.value), invalidVoucherCode);
188
184
  }
189
185
 
190
186
  export function isValidVoucher(value) {
@@ -198,9 +194,9 @@ export function validateNameOnCard(element) {
198
194
  if (fieldSizeIsValid) {
199
195
  if (element.value.length > nameOnCardMaxLength) {
200
196
  updateStylingError(element.id, false, invalidNameOnCardLength);
201
- } else if(isNameOnCardContainsOnly16Digits(element.value)) {
197
+ } else if (isNameOnCardContainsOnly16Digits(element.value)) {
202
198
  updateStylingError(element.id, false, invalidCustomNameOnCard);
203
- } else if(isNameOnCardContainsAtLeast14Digits(element.value)) {
199
+ } else if (isNameOnCardContainsAtLeast14Digits(element.value)) {
204
200
  updateStylingError(element.id, false, validationWarnNameOnCard);
205
201
  }
206
202
  } else {
@@ -208,21 +204,18 @@ export function validateNameOnCard(element) {
208
204
  }
209
205
  }
210
206
 
211
-
212
207
  export function isNameOnCardContainsOnly16Digits(value) {
213
- var regExp = new RegExp("^\\d{16}$");
208
+ var regExp = new RegExp('^\\d{16}$');
214
209
  return regExp.test(value);
215
210
  }
216
211
 
217
212
  export function isNameOnCardContainsAtLeast14Digits(value) {
218
- var regExp = new RegExp("^(.*\\d){14,}.*$");
213
+ var regExp = new RegExp('^(.*\\d){14,}.*$');
219
214
  return regExp.test(value);
220
215
  }
221
216
 
222
217
  export function validateStoreId(element) {
223
- updateStylingError(element.id,
224
- isValidStoreId(element.value),
225
- invalidStoreId);
218
+ updateStylingError(element.id, isValidStoreId(element.value), invalidStoreId);
226
219
  }
227
220
 
228
221
  export function isValidStoreId(value) {
@@ -236,13 +229,13 @@ export function updateStylingError(elementId, isValid, errorMessage) {
236
229
 
237
230
  export function updateStylingErrorForElement(element, isValid, errorMessage) {
238
231
  var parentElem = $(element).closest('.form-row');
239
- if (!parentElem.is(":visible")) {
232
+ if (!parentElem.is(':visible')) {
240
233
  return;
241
234
  }
242
235
  removeErrorStyling(parentElem);
243
236
  if (!isValid) {
244
- wrapWithError(parentElem);
245
- addErrorMessage(parentElem, errorMessage);
237
+ wrapWithError(parentElem);
238
+ addErrorMessage(parentElem, errorMessage);
246
239
  }
247
240
  }
248
241
 
@@ -251,13 +244,10 @@ export function removeErrorStyling(element) {
251
244
  element.find('.form-row__error').remove();
252
245
  }
253
246
 
254
-
255
247
  export function wrapWithError(element) {
256
248
  $(element).addClass('form-row_validation-error');
257
-
258
249
  }
259
250
 
260
-
261
251
  export function addErrorMessage(element, errorMessage) {
262
252
  if (errorMessage) {
263
253
  $(element).append('<div class="form-row__error">' + errorMessage + '</div>');
@@ -268,7 +258,11 @@ export function showValidationErrors(form, errorMsg) {
268
258
  var $form = $(form);
269
259
  if (!$form.hasClass(formElements.formInvalid)) {
270
260
  $form.find('.form-row__error').remove();
271
- $form.addClass(formElements.formInvalid).find(formElements.fieldRow).append(validationError(errorMsg)).addClass(formElements.rowValidationError);
261
+ $form
262
+ .addClass(formElements.formInvalid)
263
+ .find(formElements.fieldRow)
264
+ .append(validationError(errorMsg))
265
+ .addClass(formElements.rowValidationError);
272
266
  } else {
273
267
  $form.find(formElements.fieldRow).find('.form-row__error').text(errorMsg);
274
268
  }
@@ -279,7 +273,7 @@ export function showValidationErrors(form, errorMsg) {
279
273
  $scrollableEl = inModal ? $firstMsg.closest('.modal') : $('html, body'),
280
274
  y = inModal ? 0 : $firstMsg.offset().top - 30;
281
275
 
282
- $scrollableEl.animate({scrollTop: y}, 300);
276
+ $scrollableEl.animate({ scrollTop: y }, 300);
283
277
  }
284
278
  }
285
279
 
@@ -297,22 +291,25 @@ function isElementInViewport(el) {
297
291
  }
298
292
 
299
293
  function validationError(errorMsg) {
300
- return `<div class="form-row__error"> ${errorMsg || 'Error message here'}</div>`
294
+ return `<div class="form-row__error"> ${errorMsg || 'Error message here'}</div>`;
301
295
  }
302
296
 
303
297
  export function clearValidationErrors(form) {
304
298
  const $form = $(form);
305
299
  if ($form.hasClass('form_invalid')) {
306
- $form.removeClass('form_invalid')
307
- .find('.form-row[data-row-required]').removeClass('form-row_validation-error')
308
- .find('.form-row__error').remove();
300
+ $form
301
+ .removeClass('form_invalid')
302
+ .find('.form-row[data-row-required]')
303
+ .removeClass('form-row_validation-error')
304
+ .find('.form-row__error')
305
+ .remove();
309
306
  }
310
307
  }
311
308
 
312
- export function validateGuidPattern (value) {
309
+ export function validateGuidPattern(value) {
313
310
  return patterns.guidPattern.test(value);
314
311
  }
315
312
 
316
- export function validateUserFriendlyIdPattern (value) {
313
+ export function validateUserFriendlyIdPattern(value) {
317
314
  return patterns.userFriendlyIdPattern.test(value);
318
315
  }
@@ -1,59 +1,66 @@
1
1
  $(document).ready(applyDCFixes);
2
2
 
3
3
  function applyDCFixes() {
4
- //add the empty button on desktop
5
- $(".header-right-wrapp .header-right__item:eq(-2)").after("<li class=\"header-right__item\"><a href=\"#\" class=\"header-right__link swal-confirm\"><span class=\"btn__text\"><i class=\"fas fa-trash fa-2x\"></i></span><span class=\"header-right__link-title\">Empty</span></a></li>");
6
- //add the empty button on mobile
7
- $(".header-mobileicon a:eq(-1)").after("<a class=\"trash-button-dc swal-confirm\" href=\"#\"><div class=\"btn btn-primary header-shop-list\"><span class=\"icon\"><i class=\"svg-inline--fa fas fa-trash fa-w-12 fa-lg\"></i></span></div></a>");
8
- //add swal
9
- $("head").append("<script src='https://unpkg.com/sweetalert/dist/sweetalert.min.js'></script>");
10
- //hide when the screen is too small
11
- $("head").append("<style>@media (max-width: 399px) { .trash-button-dc { display: none; } }</style>");
12
- //disable hover on touch devices
13
- if ('ontouchstart' in window) {
14
- $('.trash-button-dc .btn').removeClass('btn-primary');
15
- }
16
- //link swal
17
- $(".swal-confirm").click(function(e) {
18
- e.preventDefault();
19
- swal({
20
- title: "Are you sure?",
21
- text: "You will remove all the items from the basket, including any vouchers applied.",
22
- buttons: true,
23
- dangerMode: true
24
- }).then(function(willDelete) {
25
- if (willDelete) {
26
- addLoader();
27
- // send post request to remove all items from the basket
28
- $.post("/cart/clear")
29
- .fail(function() {
30
- // show error message
31
- swal({
32
- title: "Error",
33
- text: "Failed to remove items from the basket.",
34
- dangerMode: true
35
- })
36
- removeLoader();
37
- })
38
- .done(function() {
39
- // reload the page
40
- location.reload();
41
- })
42
- }
4
+ //add the empty button on desktop
5
+ $('.header-right-wrapp .header-right__item:eq(-2)').after(
6
+ '<li class="header-right__item"><a href="#" class="header-right__link swal-confirm"><span class="btn__text"><i class="fas fa-trash fa-2x"></i></span><span class="header-right__link-title">Empty</span></a></li>'
7
+ );
8
+ //add the empty button on mobile
9
+ $('.header-mobileicon a:eq(-1)').after(
10
+ '<a class="trash-button-dc swal-confirm" href="#"><div class="btn btn-primary header-shop-list"><span class="icon"><i class="svg-inline--fa fas fa-trash fa-w-12 fa-lg"></i></span></div></a>'
11
+ );
12
+ //add swal
13
+ $('head').append("<script src='https://unpkg.com/sweetalert/dist/sweetalert.min.js'></script>");
14
+ //hide when the screen is too small
15
+ $('head').append(
16
+ '<style>@media (max-width: 399px) { .trash-button-dc { display: none; } }</style>'
17
+ );
18
+ //disable hover on touch devices
19
+ if ('ontouchstart' in window) {
20
+ $('.trash-button-dc .btn').removeClass('btn-primary');
21
+ }
22
+ //link swal
23
+ $('.swal-confirm').click(function (e) {
24
+ e.preventDefault();
25
+ swal({
26
+ title: 'Are you sure?',
27
+ text: 'You will remove all the items from the basket, including any vouchers applied.',
28
+ buttons: true,
29
+ dangerMode: true,
30
+ }).then(function (willDelete) {
31
+ if (willDelete) {
32
+ addLoader();
33
+ // send post request to remove all items from the basket
34
+ $.post('/cart/clear')
35
+ .fail(function () {
36
+ // show error message
37
+ swal({
38
+ title: 'Error',
39
+ text: 'Failed to remove items from the basket.',
40
+ dangerMode: true,
41
+ });
42
+ removeLoader();
43
+ })
44
+ .done(function () {
45
+ // reload the page
46
+ location.reload();
47
+ });
48
+ }
49
+ });
43
50
  });
44
- });
45
51
  }
46
52
 
47
53
  function addLoader() {
48
- var loader = '<div class="loader-wrapper loader-wrapper--full-page">\
54
+ var loader =
55
+ '<div class="loader-wrapper loader-wrapper--full-page">\
49
56
  <div class="loader-container">\
50
57
  <div class="loader"></div>\
51
58
  <div class="loader-message">Removing items from your basket</div>\
52
59
  </div>\
53
60
  </div>';
54
- $('body').append(loader);
61
+ $('body').append(loader);
55
62
  }
56
63
 
57
64
  function removeLoader() {
58
- $('.loader-wrapper').remove();
59
- }
65
+ $('.loader-wrapper').remove();
66
+ }
@@ -1,17 +1,17 @@
1
1
  var Wick = Wick || {};
2
- Wick.Wismo = (function() {
3
- var $page = $('.page_wismo-orders');
2
+ Wick.Wismo = (function () {
3
+ var $page = $('.page_wismo-orders');
4
4
 
5
- function init() {
6
- $('.order-heading__print-link').click(function(e) {
7
- e.preventDefault();
8
- window.print();
9
- })
10
- }
5
+ function init() {
6
+ $('.order-heading__print-link').click(function (e) {
7
+ e.preventDefault();
8
+ window.print();
9
+ });
10
+ }
11
11
 
12
- if (!$page.length) {
13
- return;
14
- }
12
+ if (!$page.length) {
13
+ return;
14
+ }
15
15
 
16
- init();
16
+ init();
17
17
  })();