wickes-css2 2.112.0-develop.1 → 2.112.0-dont-forget-widget.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/Readme.md +1 -1
  2. package/build/css/account-families-main.css +1 -1
  3. package/build/css/category-main.css +1 -1
  4. package/build/css/components/card-product-banner.css +1 -1
  5. package/build/css/components/card-store-locator-v2.css +1 -1
  6. package/build/css/components/special-opening-schedule-v2.css +1 -1
  7. package/build/css/homepage-main.css +1 -1
  8. package/build/css/kitchen-plp-main.css +1 -1
  9. package/build/css/main.css +1 -1
  10. package/build/css/my-account-main-v2.css +1 -1
  11. package/build/css/my-account-main.css +1 -1
  12. package/build/css/pages/checkout-new.css +1 -1
  13. package/build/css/pages/checkout.css +1 -1
  14. package/build/css/pages/home-movers.css +1 -1
  15. package/build/css/pages/my-account-v2.css +1 -1
  16. package/build/css/pages/my-account.css +1 -1
  17. package/build/css/pages/oldweb_header.css +1 -1
  18. package/build/css/pages/page_act-trade-pro.css +1 -1
  19. package/build/css/pages/page_book-consultant-thank-you-new.css +1 -1
  20. package/build/css/pages/page_checkout-payment-details.css +1 -1
  21. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  22. package/build/css/pages/page_content.css +1 -1
  23. package/build/css/pages/page_default-store.css +1 -1
  24. package/build/css/pages/page_fdl-management.css +1 -1
  25. package/build/css/pages/page_fi.css +1 -1
  26. package/build/css/pages/page_forgotten-password.css +1 -1
  27. package/build/css/pages/page_home.css +1 -1
  28. package/build/css/pages/page_in-store-checkout.css +1 -1
  29. package/build/css/pages/page_installer_form.css +1 -1
  30. package/build/css/pages/page_kitchen-claims.css +1 -1
  31. package/build/css/pages/page_merged-basket.css +1 -1
  32. package/build/css/pages/page_my-order.css +1 -1
  33. package/build/css/pages/page_my-orders.css +1 -1
  34. package/build/css/pages/page_new-checkout-forgot.css +1 -1
  35. package/build/css/pages/page_online-exclusive.css +1 -1
  36. package/build/css/pages/page_pre_home.css +1 -1
  37. package/build/css/pages/page_pre_home_thank-you.css +1 -1
  38. package/build/css/pages/page_product-details-v2.css +1 -1
  39. package/build/css/pages/page_product_search.css +1 -1
  40. package/build/css/pages/page_products-list-combined.css +1 -1
  41. package/build/css/pages/page_products-list.css +1 -1
  42. package/build/css/pages/page_registration.css +1 -1
  43. package/build/css/pages/page_shopping-cart-v2.css +1 -1
  44. package/build/css/pages/page_shopping-cart.css +1 -1
  45. package/build/css/pages/page_store-locator-details.css +1 -1
  46. package/build/css/pages/page_thankyou.css +1 -1
  47. package/build/css/pages/page_ti.css +1 -1
  48. package/build/css/pages/page_top-rated.css +1 -1
  49. package/build/css/pages/page_upd-pass.css +1 -1
  50. package/build/css/pages/page_wismo-details.css +1 -1
  51. package/build/css/pages/page_wismo-orders.css +1 -1
  52. package/build/css/pages/sticky_header.css +1 -1
  53. package/build/css/pages/tradePro-signup.css +1 -1
  54. package/build/css/pdp-main-before-combine.css +1 -1
  55. package/build/css/pdp-main-critical.css +1 -1
  56. package/build/css/pdp-main-non-critical.css +1 -1
  57. package/build/css/pdp-main.css +1 -1
  58. package/build/css/plp-main.css +1 -1
  59. package/build/css/shopping-list-pdf.css +1 -1
  60. package/build/css/store-locator-main.css +1 -1
  61. package/build/img/premium-delivery.png +0 -0
  62. package/build/img/premium-delivery.svg +1 -0
  63. package/build/js/bloomreach-widget.min.js +1 -1
  64. package/build/js/emulation.min.js +389 -11
  65. package/build/js/page/bloomreach-widget/bloomreach-widget.js +241 -0
  66. package/build/js/page/{bloomreach-widget.js → bloomreach-widget/complete-your-project-widget.js} +205 -359
  67. package/build/js/page/bloomreach-widget/why-not-add-widget.js +196 -0
  68. package/package.json +3 -5
  69. package/src/components/banner-news.hbs +5 -1
  70. package/src/components/bloomreach/complete-card.hbs +4 -32
  71. package/src/components/bloomreach/why-not-add-card-skeleton.hbs +14 -0
  72. package/src/components/bloomreach/why-not-add-card.hbs +73 -0
  73. package/src/components/bloomreach/why-not-add-content.hbs +41 -0
  74. package/src/components/bloomreach/why-not-add-skeleton.hbs +9 -0
  75. package/src/components/bloomreach/why-not-add.hbs +6 -0
  76. package/src/components/date-selection.hbs +33 -10
  77. package/src/components/delivery-types.hbs +5 -0
  78. package/src/components/pdp-price-actions.hbs +2 -2
  79. package/src/components/price-block-v2.hbs +2 -0
  80. package/src/components/reviews-rating.hbs +22 -0
  81. package/src/data/my-account/data_my-account.json +6 -26
  82. package/src/data/my-account/data_my-order.json +43 -0
  83. package/src/data/my-account/data_my-orders.json +15 -1
  84. package/src/img/premium-delivery.png +0 -0
  85. package/src/img/premium-delivery.svg +1 -0
  86. package/src/js/emulation/bloomreach-widget-loading.js +2 -2
  87. package/src/js/emulation/date-selection.js +59 -2
  88. package/src/js/emulation/mock.js +309 -0
  89. package/src/js/emulation/why-not-add-loading.js +11 -0
  90. package/src/js/emulation/why-not-add.js +28 -0
  91. package/src/js/page/bloomreach-widget/bloomreach-widget.js +241 -0
  92. package/src/js/page/{bloomreach-widget.js → bloomreach-widget/complete-your-project-widget.js} +205 -359
  93. package/src/js/page/bloomreach-widget/why-not-add-widget.js +196 -0
  94. package/src/page_checkout_premium-delivery-details.html +161 -0
  95. package/src/page_product-details-bloomreach.html +1 -1
  96. package/src/page_product-details-with-global-search-v2.html +2 -1
  97. package/src/page_product-details-with-why-not-add-single.html +131 -0
  98. package/src/scss/category-main.scss +5 -7
  99. package/src/scss/common/_app.scss +1 -1
  100. package/src/scss/common/_rewards-counter.scss +1 -2
  101. package/src/scss/common/_typography.scss +1 -1
  102. package/src/scss/common/_vat-toggle.scss +1 -1
  103. package/src/scss/components/_add-list-id.scss +0 -1
  104. package/src/scss/components/_advice-inspiration-critical.scss +2 -2
  105. package/src/scss/components/_advice-inspiration.scss +2 -3
  106. package/src/scss/components/_anchor-nav.scss +1 -1
  107. package/src/scss/components/_aside-accordion.scss +0 -5
  108. package/src/scss/components/_aside-nav.scss +1 -1
  109. package/src/scss/components/_aside-nav2.scss +0 -2
  110. package/src/scss/components/_autocomplete.scss +0 -1
  111. package/src/scss/components/_banner-2.scss +1 -1
  112. package/src/scss/components/_banner-info.scss +1 -1
  113. package/src/scss/components/_banner.scss +0 -2
  114. package/src/scss/components/_barcode.scss +0 -1
  115. package/src/scss/components/_big-wins-critical.scss +8 -9
  116. package/src/scss/components/_big-wins.scss +25 -32
  117. package/src/scss/components/_billie-modal.scss +5 -6
  118. package/src/scss/components/_billie-online-messaging.scss +2 -2
  119. package/src/scss/components/_card.scss +1 -5
  120. package/src/scss/components/_cards-slider.scss +1 -1
  121. package/src/scss/components/_category-tree.scss +2 -2
  122. package/src/scss/components/_charity-donations.scss +7 -7
  123. package/src/scss/components/_checkout-action.scss +0 -2
  124. package/src/scss/components/_checkout_order.scss +1 -1
  125. package/src/scss/components/_colour-block.scss +0 -2
  126. package/src/scss/components/_cookies-policy.scss +1 -1
  127. package/src/scss/components/_copy-project-id.scss +0 -1
  128. package/src/scss/components/_date-selection-add-new-styles.scss +30 -7
  129. package/src/scss/components/_date-selection.scss +32 -12
  130. package/src/scss/components/_donation-cart-new.scss +6 -6
  131. package/src/scss/components/_donation-cart.scss +3 -4
  132. package/src/scss/components/_favourite-product.scss +1 -1
  133. package/src/scss/components/_gallery-critical.scss +3 -3
  134. package/src/scss/components/_gallery-pdp-critical.scss +4 -4
  135. package/src/scss/components/_gallery-pdp.scss +2 -2
  136. package/src/scss/components/_gallery.scss +2 -2
  137. package/src/scss/components/_hero.scss +0 -1
  138. package/src/scss/components/_home-banner.scss +1 -1
  139. package/src/scss/components/_kitchen-card.scss +4 -4
  140. package/src/scss/components/_lines-group.scss +0 -1
  141. package/src/scss/components/_marketing-preferences.scss +1 -1
  142. package/src/scss/components/_merge-basket-options.scss +0 -1
  143. package/src/scss/components/_modal-box.scss +5 -5
  144. package/src/scss/components/_new-checkout-form.scss +1 -1
  145. package/src/scss/components/_notifications-critical.scss +1 -3
  146. package/src/scss/components/_order-item-cc.scss +6 -7
  147. package/src/scss/components/_order-item.scss +11 -12
  148. package/src/scss/components/_order-line-shop-list.scss +2 -2
  149. package/src/scss/components/_order-line.scss +3 -3
  150. package/src/scss/components/_page-overlay.scss +3 -9
  151. package/src/scss/components/_payment-transactions.scss +5 -5
  152. package/src/scss/components/_payments.scss +0 -1
  153. package/src/scss/components/_pdp-cta.scss +0 -4
  154. package/src/scss/components/_pdp-info-v2.scss +2 -5
  155. package/src/scss/components/_popular-categories.scss +0 -2
  156. package/src/scss/components/_potential-promotion.scss +1 -1
  157. package/src/scss/components/_price-badges-critical.scss +0 -1
  158. package/src/scss/components/_price-badges.scss +0 -2
  159. package/src/scss/components/_price-tooltip.scss +3 -2
  160. package/src/scss/components/_price.scss +2 -2
  161. package/src/scss/components/_product-card-critical.scss +1 -2
  162. package/src/scss/components/_product-card.scss +3 -5
  163. package/src/scss/components/_product-main-info.scss +4 -5
  164. package/src/scss/components/_project-list-multiple.scss +4 -4
  165. package/src/scss/components/_project-list-total.scss +1 -1
  166. package/src/scss/components/_proposition.scss +2 -2
  167. package/src/scss/components/_range-card.scss +1 -3
  168. package/src/scss/components/_range-types.scss +2 -2
  169. package/src/scss/components/_recommended.scss +1 -5
  170. package/src/scss/components/_rewards.scss +1 -1
  171. package/src/scss/components/_saving-shopping-list-modal.scss +1 -2
  172. package/src/scss/components/_seo-widgets.scss +1 -2
  173. package/src/scss/components/_share-list-modal.scss +1 -2
  174. package/src/scss/components/_shop-colour.scss +1 -1
  175. package/src/scss/components/_shopping-list-note.scss +2 -2
  176. package/src/scss/components/_smart-banner.scss +4 -5
  177. package/src/scss/components/_snack-bar.scss +2 -2
  178. package/src/scss/components/_steps-three.scss +3 -3
  179. package/src/scss/components/_steps.scss +2 -2
  180. package/src/scss/components/_sticky-element-appearance.scss +2 -2
  181. package/src/scss/components/_tables.scss +1 -2
  182. package/src/scss/components/_tabs.scss +0 -1
  183. package/src/scss/components/_tc-generic-floor.scss +3 -3
  184. package/src/scss/components/_tc-generic.scss +4 -4
  185. package/src/scss/components/_thank-you-modal.scss +3 -1
  186. package/src/scss/components/_ti-floor.scss +3 -4
  187. package/src/scss/components/_ti-header.scss +2 -2
  188. package/src/scss/components/_ti-radio.scss +4 -4
  189. package/src/scss/components/_ti-total-area.scss +10 -10
  190. package/src/scss/components/_tile-banner.scss +1 -1
  191. package/src/scss/components/_tile-product.scss +3 -4
  192. package/src/scss/components/_tooltip.scss +2 -2
  193. package/src/scss/components/_trade-offers.scss +0 -1
  194. package/src/scss/components/_tradepro-discount-banner.scss +0 -1
  195. package/src/scss/components/_user-address-delivery.scss +1 -3
  196. package/src/scss/components/_user-address.scss +1 -1
  197. package/src/scss/components/_usp-component.scss +0 -1
  198. package/src/scss/components/_voucher-accordion.scss +3 -3
  199. package/src/scss/components/_wisdom-critical.scss +2 -3
  200. package/src/scss/components/_wisdom.scss +6 -9
  201. package/src/scss/components/_your-details.scss +0 -1
  202. package/src/scss/components/account-families/_add-members.scss +1 -3
  203. package/src/scss/components/account-families/_member-card.scss +3 -3
  204. package/src/scss/components/bloomreach/_bloomreach.scss +3 -0
  205. package/src/scss/components/bloomreach/_complete-card.scss +0 -38
  206. package/src/scss/components/bloomreach/_reviews.scss +60 -0
  207. package/src/scss/components/bloomreach/_why-not-add-card.scss +212 -0
  208. package/src/scss/components/bloomreach/_why-not-add.scss +143 -0
  209. package/src/scss/components/card-store-locator-v2.scss +0 -1
  210. package/src/scss/components/card_v2.scss +3 -7
  211. package/src/scss/components/checkout-loader-modal.scss +0 -1
  212. package/src/scss/components/energy-efficiency.scss +6 -6
  213. package/src/scss/components/global-search.scss +14 -14
  214. package/src/scss/components/kitchen/_chips.scss +7 -6
  215. package/src/scss/components/kitchen/_filter-card.scss +1 -1
  216. package/src/scss/components/kitchen/_sort-by.scss +2 -3
  217. package/src/scss/components/kitchen/strip-stickers.scss +1 -1
  218. package/src/scss/components/loader.scss +5 -6
  219. package/src/scss/components/my-account/_active-orders.scss +6 -6
  220. package/src/scss/components/my-account/_consignment-info.scss +3 -3
  221. package/src/scss/components/my-account/_contacts.scss +2 -2
  222. package/src/scss/components/my-account/_menu.scss +2 -2
  223. package/src/scss/components/my-account/_mobile-nav.scss +4 -4
  224. package/src/scss/components/my-account/_order-process.scss +3 -3
  225. package/src/scss/components/my-account/_order-status.scss +3 -3
  226. package/src/scss/components/my-account/_orders-nav.scss +1 -1
  227. package/src/scss/components/my-account/_payment-status.scss +2 -2
  228. package/src/scss/components/my-account/_saving-totaliser.scss +8 -7
  229. package/src/scss/components/my-account/_shipment.scss +2 -2
  230. package/src/scss/components/pdf-loader.scss +1 -2
  231. package/src/scss/components/price-block-v2-critical.scss +0 -1
  232. package/src/scss/components/price-block-v2.scss +0 -3
  233. package/src/scss/components/store-locator-v2-details.scss +2 -2
  234. package/src/scss/components/strip-stickers.scss +1 -1
  235. package/src/scss/helpers/_elements.scss +0 -1
  236. package/src/scss/helpers/_mixins.scss +5 -5
  237. package/src/scss/helpers/_store-locator-elements.scss +0 -1
  238. package/src/scss/helpers/_typography.scss +3 -3
  239. package/src/scss/helpers/_utilities.scss +0 -1
  240. package/src/scss/helpers/helpers-pdp-critical/_CTAs-critical-pdp.scss +1 -1
  241. package/src/scss/helpers/helpers-pdp-critical/_elements-critical-pdp.scss +0 -1
  242. package/src/scss/helpers/helpers-pdp-critical/_helpers-critical-pdp.scss +1 -1
  243. package/src/scss/helpers/helpers-pdp-critical/_typography-critical-pdp.scss +4 -4
  244. package/src/scss/libs/_bootstrap-extracted.scss +42 -12
  245. package/src/scss/libs/_cat-libs.scss +10 -10
  246. package/src/scss/libs/_font-awesome-icons.scss +133 -113
  247. package/src/scss/libs/_homepage-libs.scss +12 -12
  248. package/src/scss/libs/_plp-libs.scss +11 -11
  249. package/src/scss/libs/_skeleton.scss +4 -4
  250. package/src/scss/libs/_store-locator-libs.scss +1 -1
  251. package/src/scss/libs/flatpickr.scss +6 -6
  252. package/src/scss/my-account-main-v2.scss +19 -19
  253. package/src/scss/my-account-main.scss +19 -19
  254. package/src/scss/pages/_checkout-confirmation.scss +1 -3
  255. package/src/scss/pages/_checkout-sign-in.scss +1 -2
  256. package/src/scss/pages/_checkout-tradepro.scss +3 -4
  257. package/src/scss/pages/_checkout-widget.scss +10 -16
  258. package/src/scss/pages/_checkout_delivery-details.scss +1 -3
  259. package/src/scss/pages/_checkout_edit-delivery-address.scss +0 -1
  260. package/src/scss/pages/_checkout_terms-and-conditions.scss +0 -1
  261. package/src/scss/pages/_checkout_your-details.scss +1 -1
  262. package/src/scss/pages/_contact-us.scss +0 -1
  263. package/src/scss/pages/_facets.scss +0 -2
  264. package/src/scss/pages/_my-account_address-details.scss +0 -3
  265. package/src/scss/pages/_my-account_change-email.scss +0 -1
  266. package/src/scss/pages/_my-account_new.scss +25 -31
  267. package/src/scss/pages/_my-account_order-details.scss +1 -1
  268. package/src/scss/pages/_my-account_order-history.scss +1 -2
  269. package/src/scss/pages/_my-account_personal-details.scss +0 -5
  270. package/src/scss/pages/_my-account_profile.scss +1 -2
  271. package/src/scss/pages/_my-account_your-account.scss +0 -1
  272. package/src/scss/pages/_page_category-landing.scss +3 -2
  273. package/src/scss/pages/bicester-header.scss +0 -1
  274. package/src/scss/pages/checkout-new.scss +7 -2
  275. package/src/scss/pages/checkout.scss +4 -5
  276. package/src/scss/pages/home-movers.scss +1 -1
  277. package/src/scss/pages/iframe-paypage.scss +44 -44
  278. package/src/scss/pages/my-account.scss +3 -3
  279. package/src/scss/pages/oldweb_header.scss +5 -6
  280. package/src/scss/pages/page_account-deletion.scss +1 -1
  281. package/src/scss/pages/page_act-trade-pro.scss +0 -1
  282. package/src/scss/pages/page_address-book.scss +0 -1
  283. package/src/scss/pages/page_bathroom-trends.scss +0 -1
  284. package/src/scss/pages/page_book-consultant-thank-you-new.scss +3 -5
  285. package/src/scss/pages/page_checkout-payment-details.scss +2 -5
  286. package/src/scss/pages/page_checkout_delivery-new.scss +1 -1
  287. package/src/scss/pages/page_cms_homepage.scss +1 -1
  288. package/src/scss/pages/page_contact-us.scss +1 -1
  289. package/src/scss/pages/page_content.scss +0 -4
  290. package/src/scss/pages/page_default-store.scss +2 -3
  291. package/src/scss/pages/page_empty-basket.scss +0 -5
  292. package/src/scss/pages/page_fdl-management.scss +0 -1
  293. package/src/scss/pages/page_fi.scss +0 -2
  294. package/src/scss/pages/page_home.scss +0 -2
  295. package/src/scss/pages/page_hotspot-guttering.scss +0 -1
  296. package/src/scss/pages/page_in-store-checkout.scss +1 -3
  297. package/src/scss/pages/page_installer.scss +3 -5
  298. package/src/scss/pages/page_installer_form.scss +0 -1
  299. package/src/scss/pages/page_kitchen-claims.scss +2 -5
  300. package/src/scss/pages/page_kitchen-list.scss +1 -1
  301. package/src/scss/pages/page_marketing-preferences.scss +1 -1
  302. package/src/scss/pages/page_merged-basket.scss +2 -2
  303. package/src/scss/pages/page_my-account_tradePro.scss +1 -1
  304. package/src/scss/pages/page_my-order.scss +15 -15
  305. package/src/scss/pages/page_my-orders.scss +2 -2
  306. package/src/scss/pages/page_new-checkout_login-register.scss +1 -2
  307. package/src/scss/pages/page_no-results.scss +1 -2
  308. package/src/scss/pages/page_online-exclusive.scss +6 -6
  309. package/src/scss/pages/page_personal-details.scss +2 -2
  310. package/src/scss/pages/page_pre_home.scss +7 -7
  311. package/src/scss/pages/page_pre_home_thank-you.scss +2 -2
  312. package/src/scss/pages/page_product-details-critical.scss +0 -1
  313. package/src/scss/pages/page_product-details-v2-critical.scss +1 -2
  314. package/src/scss/pages/page_product-details.scss +0 -1
  315. package/src/scss/pages/page_products-list-phone.scss +0 -7
  316. package/src/scss/pages/page_products-list.scss +2 -2
  317. package/src/scss/pages/page_quiz.scss +3 -3
  318. package/src/scss/pages/page_rate-review.scss +0 -3
  319. package/src/scss/pages/page_registration.scss +0 -3
  320. package/src/scss/pages/page_store-locator-details.scss +2 -2
  321. package/src/scss/pages/page_ti.scss +1 -5
  322. package/src/scss/pages/page_top-rated.scss +5 -5
  323. package/src/scss/pages/page_track-my-order.scss +1 -1
  324. package/src/scss/pages/page_track_your_order.scss +5 -5
  325. package/src/scss/pages/page_upd-pass.scss +0 -1
  326. package/src/scss/pages/page_wismo-details.scss +8 -8
  327. package/src/scss/pages/page_wismo-order-history.scss +3 -3
  328. package/src/scss/pages/page_wismo-orders.scss +7 -7
  329. package/src/scss/pages/print_quiz.scss +3 -1
  330. package/src/scss/pages/sticky_header.scss +5 -6
  331. package/src/scss/pages/tradePro-about.scss +1 -1
  332. package/src/scss/pages/tradePro-discount.scss +1 -2
  333. package/src/scss/pages/tradePro-rewards-old.scss +4 -3
  334. package/src/scss/pages/tradePro-signup.scss +3 -5
  335. package/src/scss/partials/_breadcrumbs-critical.scss +2 -2
  336. package/src/scss/partials/_breadcrumbs.scss +2 -2
  337. package/src/scss/partials/_footer-v2.scss +2 -2
  338. package/src/scss/partials/_footer.scss +4 -4
  339. package/src/scss/partials/_footer_checkout-new.scss +1 -1
  340. package/src/scss/partials/_footer_checkout.scss +1 -1
  341. package/src/scss/partials/_header-critical.scss +6 -9
  342. package/src/scss/partials/_header.scss +7 -9
  343. package/src/scss/partials/_header_checkout.scss +2 -2
  344. package/src/scss/partials/_main-nav.scss +7 -11
  345. package/src/scss/partials/_sign-up.scss +3 -3
  346. package/src/scss/shopping-list-pdf.scss +1 -1
  347. package/src/sitemap.html +12 -4
  348. package/src/components/.DS_Store +0 -0
  349. package/src/img/.DS_Store +0 -0
  350. package/src/img/placeholders/.DS_Store +0 -0
  351. package/src/js/page/.DS_Store +0 -0
  352. package/src/scss/.DS_Store +0 -0
  353. package/src/scss/pages/.DS_Store +0 -0
@@ -1,29 +1,29 @@
1
1
  var Wick = window.Wick || {};
2
2
 
3
- import { createCountStepper } from './utils/create-count-stepper';
4
- import { createEvent } from './utils/create-event';
5
- import { createDropdown } from './utils/custom-dropdown';
6
- import { createLoadingButton } from './utils/create-loading-button';
7
- import { createToast } from './utils/create-toast';
3
+ import { createCountStepper } from '../utils/create-count-stepper';
4
+ import { createDropdown } from '../utils/custom-dropdown';
5
+ import { createLoadingButton } from '../utils/create-loading-button';
6
+ import { createToast } from '../utils/create-toast';
8
7
 
9
8
  const Handlebars = require('hbsfy/runtime');
10
9
 
11
- Handlebars.registerPartial('checkbox', require('../../elements/checkbox.hbs'));
12
- Handlebars.registerPartial('loader', require('../../elements/loader.hbs'));
13
- Handlebars.registerPartial('button', require('../../components/base/button.hbs'));
10
+ Handlebars.registerPartial('checkbox', require('../../../elements/checkbox.hbs'));
11
+ Handlebars.registerPartial('loader', require('../../../elements/loader.hbs'));
12
+ Handlebars.registerPartial('button', require('../../../components/base/button.hbs'));
14
13
  Handlebars.registerPartial(
15
14
  'bloomreach/complete-card-dropdown',
16
- require('../../components/bloomreach/complete-card-dropdown.hbs')
15
+ require('../../../components/bloomreach/complete-card-dropdown.hbs')
17
16
  );
18
- Handlebars.registerPartial('notifications', require('../../elements/notifications.hbs'));
17
+ Handlebars.registerPartial('notifications', require('../../../elements/notifications.hbs'));
18
+ Handlebars.registerPartial('reviews-rating', require('../../../components/reviews-rating.hbs'));
19
19
 
20
- const notificationTemplate = require('../../elements/notifications.hbs');
21
- const completeWrapperTemplate = require('../../components/bloomreach/complete-wrapper.hbs');
22
- const completeDividerTemplate = require('../../components/bloomreach/complete-divider.hbs');
23
- const completeCardTemplate = require('../../components/bloomreach/complete-card.hbs');
24
- const completeSummaryTemplate = require('../../components/bloomreach/complete-summary.hbs');
20
+ const notificationTemplate = require('../../../elements/notifications.hbs');
21
+ const completeWrapperTemplate = require('../../../components/bloomreach/complete-wrapper.hbs');
22
+ const completeDividerTemplate = require('../../../components/bloomreach/complete-divider.hbs');
23
+ const completeCardTemplate = require('../../../components/bloomreach/complete-card.hbs');
24
+ const completeSummaryTemplate = require('../../../components/bloomreach/complete-summary.hbs');
25
25
 
26
- Wick.BloomreachWidget = {
26
+ const CompleteYourProjectWidget = {
27
27
  CALCULATE_PRODUCT_BUNDLE_TOTAL_EVENT: 'calculateProductBundleTotal',
28
28
  ADD_PRODUCT_BUNDLE_TO_CART_EVENT: 'bulkAddToCart',
29
29
 
@@ -43,14 +43,8 @@ Wick.BloomreachWidget = {
43
43
  countStepperInitializedData: 'count-stepper-initialized',
44
44
  countStepperRoot: '.count-stepper',
45
45
  ctaButton: '.complete-widget__cta .btn',
46
- ctaButtonText: '.loading-button__text',
47
- ctaButtonLoader: '.loading-button__loader',
48
46
  summaryPriceValue: '.complete-widget__price-value',
49
47
  summarySalePrice: '.complete-widget__sale-price',
50
- summaryPriceInc: '.including-vat-inherit',
51
- summaryPriceExc: '.excluding-vat-inherit',
52
- summarySalePriceInc: '.including-vat-inherit',
53
- summarySalePriceExc: '.excluding-vat-inherit',
54
48
 
55
49
  dropdownErrorClass: 'complete-card-dropdown--error',
56
50
  dropdownOpenClass: 'complete-card-dropdown--open',
@@ -68,8 +62,6 @@ Wick.BloomreachWidget = {
68
62
  recommendationIndexAttr: 'data-recommendation-index',
69
63
  selectedClass: 'complete-card--selected',
70
64
  selectedValueData: 'selected-value',
71
- starOverlay: '.star-overlay',
72
-
73
65
  titleEl: '.complete-card__title',
74
66
 
75
67
  widgetContainer: '[data-complete-widget]',
@@ -94,8 +86,7 @@ Wick.BloomreachWidget = {
94
86
  },
95
87
 
96
88
  setCtaText($button, text) {
97
- const { ctaButtonText } = Wick.BloomreachWidget.el;
98
- const $text = $button.find(ctaButtonText);
89
+ const $text = $button.find(Wick.BloomreachWidget.el.loadingButtonText);
99
90
 
100
91
  if ($text.length) {
101
92
  $text.text(text);
@@ -106,61 +97,7 @@ Wick.BloomreachWidget = {
106
97
  },
107
98
 
108
99
  getBadgeColor(color) {
109
- return Wick.BloomreachWidget.badgeColorMap[color] || color;
110
- },
111
-
112
- hasRecommendations(payloadData) {
113
- if (Array.isArray(payloadData)) {
114
- return payloadData.length > 0;
115
- }
116
-
117
- return Boolean(
118
- payloadData &&
119
- Array.isArray(payloadData.recommendedProducts) &&
120
- payloadData.recommendedProducts.length
121
- );
122
- },
123
-
124
- normalizePayload(payloadData) {
125
- if (Array.isArray(payloadData)) {
126
- return payloadData;
127
- }
128
-
129
- if (payloadData && Array.isArray(payloadData.recommendedProducts)) {
130
- return payloadData.recommendedProducts;
131
- }
132
-
133
- return [];
134
- },
135
-
136
- getDisplayPrice(product) {
137
- return product.displayPrice || product.price || {};
138
- },
139
-
140
- dispatchWidgetEvent(eventName, payload) {
141
- return new Promise(function (resolve, reject) {
142
- const eventDetail = { resolve, reject };
143
- const event = createEvent(eventName, payload, eventDetail);
144
-
145
- window.dispatchEvent(event);
146
- });
147
- },
148
-
149
- getProductImage(product, fallbackProduct) {
150
- const productImages = product.images || [];
151
- const fallbackImages = fallbackProduct ? fallbackProduct.images || [] : [];
152
- const images = productImages.length ? productImages : fallbackImages;
153
-
154
- return (
155
- images.find(function (item) {
156
- return item.format === 'product';
157
- }) ||
158
- images.find(function (item) {
159
- return item.imageType === 'PRIMARY';
160
- }) ||
161
- images[0] ||
162
- {}
163
- );
100
+ return CompleteYourProjectWidget.badgeColorMap[color] || color;
164
101
  },
165
102
 
166
103
  getDropdownOptions(product) {
@@ -199,7 +136,7 @@ Wick.BloomreachWidget = {
199
136
  return;
200
137
  }
201
138
 
202
- Wick.BloomreachWidget.toast.show({
139
+ CompleteYourProjectWidget.toast.show({
203
140
  type: bulkData.messageType,
204
141
  text: bulkData.messageText,
205
142
  });
@@ -212,10 +149,10 @@ Wick.BloomreachWidget = {
212
149
  if (promotionAttributes && promotionAttributes.overlayText) {
213
150
  return {
214
151
  text: promotionAttributes.overlayText,
215
- textColor: Wick.BloomreachWidget.getBadgeColor(
152
+ textColor: CompleteYourProjectWidget.getBadgeColor(
216
153
  promotionAttributes.overlayTextColor
217
154
  ),
218
- color: Wick.BloomreachWidget.getBadgeColor(
155
+ color: CompleteYourProjectWidget.getBadgeColor(
219
156
  promotionAttributes.overlayBackgroundColor
220
157
  ),
221
158
  };
@@ -224,70 +161,6 @@ Wick.BloomreachWidget = {
224
161
  return product.badge;
225
162
  },
226
163
 
227
- getWasPrice(product) {
228
- const displayPrice = Wick.BloomreachWidget.getDisplayPrice(product);
229
-
230
- return displayPrice && displayPrice.wasPrice ? displayPrice.wasPrice : null;
231
- },
232
-
233
- getWasPriceFormatted(product) {
234
- const displayPrice = Wick.BloomreachWidget.getDisplayPrice(product);
235
- const wasPrice = Wick.BloomreachWidget.getWasPrice(product);
236
-
237
- if (wasPrice && wasPrice.formattedValue) {
238
- return wasPrice.formattedValue;
239
- }
240
-
241
- if (typeof wasPrice === 'number') {
242
- return Wick.BloomreachWidget.formatPrice(wasPrice);
243
- }
244
-
245
- if (wasPrice) {
246
- return `${displayPrice.currencySymbol || '£'}${wasPrice}`;
247
- }
248
-
249
- return '';
250
- },
251
-
252
- getDisplayPriceExcVat(product) {
253
- return product.displayPriceExclusiveVat || product.priceExclusiveVat || null;
254
- },
255
-
256
- getPriceValue(price) {
257
- return price && typeof price.value === 'number' ? price.value : 0;
258
- },
259
-
260
- getPriceFormattedValue(price) {
261
- if (!price) {
262
- return '';
263
- }
264
-
265
- if (price.formattedValue) {
266
- return price.formattedValue;
267
- }
268
-
269
- if (typeof price.value === 'number') {
270
- return Wick.BloomreachWidget.formatPrice(price.value);
271
- }
272
-
273
- return '';
274
- },
275
-
276
- getExcVatWasPrice(product) {
277
- const displayPriceExclusiveVat = Wick.BloomreachWidget.getDisplayPriceExcVat(product);
278
- const wasPrice = displayPriceExclusiveVat && displayPriceExclusiveVat.wasPrice;
279
-
280
- if (wasPrice && wasPrice.formattedValue) {
281
- return wasPrice.formattedValue;
282
- }
283
-
284
- if (typeof wasPrice === 'number') {
285
- return Wick.BloomreachWidget.formatPrice(wasPrice);
286
- }
287
-
288
- return wasPrice || '';
289
- },
290
-
291
164
  getExcVatFormattedValue(displayPrice, product) {
292
165
  const excVat = product ? Wick.BloomreachWidget.getDisplayPriceExcVat(product) : null;
293
166
  if (excVat && excVat.formattedValue) {
@@ -303,10 +176,10 @@ Wick.BloomreachWidget = {
303
176
  getProductRenderData(product, index, options = {}) {
304
177
  const shouldShowDropdown = index !== 0;
305
178
  const dropdownOptions = shouldShowDropdown
306
- ? Wick.BloomreachWidget.getDropdownOptions(product)
179
+ ? CompleteYourProjectWidget.getDropdownOptions(product)
307
180
  : [];
308
181
  const selectedDropdownValue = options.selectedDropdownValue || '';
309
- const selectedDropdownLabel = Wick.BloomreachWidget.getSelectedDropdownLabel(
182
+ const selectedDropdownLabel = CompleteYourProjectWidget.getSelectedDropdownLabel(
310
183
  dropdownOptions,
311
184
  selectedDropdownValue
312
185
  );
@@ -319,19 +192,17 @@ Wick.BloomreachWidget = {
319
192
  );
320
193
 
321
194
  const wasPriceFormatted = Wick.BloomreachWidget.getWasPriceFormatted(product);
322
- const excVatFormattedValue = Wick.BloomreachWidget.getExcVatFormattedValue(
195
+ const excVatFormattedValue = CompleteYourProjectWidget.getExcVatFormattedValue(
323
196
  displayPrice,
324
197
  product
325
198
  );
326
199
  const isSwitchVat = !!(window.ACC && window.ACC.app && window.ACC.app.isVatToggleAvailable);
327
200
 
328
- const excVatWasPriceFormatted = wasPriceFormatted
329
- ? Wick.BloomreachWidget.getExcVatWasPrice(product)
330
- : '';
201
+ const excVatWasPriceFormatted = Wick.BloomreachWidget.getExcVatWasPrice(product);
331
202
 
332
203
  return {
333
204
  ...product,
334
- badge: Wick.BloomreachWidget.getBadge(product),
205
+ badge: CompleteYourProjectWidget.getBadge(product),
335
206
  price: displayPrice,
336
207
  wasPriceFormatted,
337
208
  'switch-vat': isSwitchVat,
@@ -342,7 +213,11 @@ Wick.BloomreachWidget = {
342
213
  Wick.BloomreachWidget.getDisplayPriceExcVat(product)
343
214
  ),
344
215
  incVatWasPriceFormatted: wasPriceFormatted,
216
+ wasPriceIncVatFormattedValue: wasPriceFormatted,
217
+ incVatWasPriceFormattedValue: wasPriceFormatted,
345
218
  excVatWasPriceFormatted,
219
+ wasPriceExcVatFormattedValue: excVatWasPriceFormatted,
220
+ excVatWasPriceFormattedValue: excVatWasPriceFormatted,
346
221
  showFromPrice,
347
222
  image:
348
223
  options.image ||
@@ -363,7 +238,7 @@ Wick.BloomreachWidget = {
363
238
 
364
239
  renderWidget($container, context) {
365
240
  const { widgetContent, widgetWrapper, completeCard, recommendationIndexAttr } =
366
- Wick.BloomreachWidget.el;
241
+ CompleteYourProjectWidget.el;
367
242
 
368
243
  const $content = $container.find(widgetContent);
369
244
  const recommendations = Wick.BloomreachWidget.normalizePayload(context);
@@ -372,16 +247,16 @@ Wick.BloomreachWidget = {
372
247
  return;
373
248
  }
374
249
 
375
- Wick.BloomreachWidget.recommendations = recommendations;
250
+ CompleteYourProjectWidget.recommendations = recommendations;
376
251
 
377
252
  $content.html(completeWrapperTemplate());
378
253
 
379
254
  const $wrapper = $content.find(widgetWrapper);
380
255
 
381
- Wick.BloomreachWidget.dropdownCurrent = {};
256
+ CompleteYourProjectWidget.dropdownCurrent = {};
382
257
 
383
258
  recommendations.forEach(function (recommendation, index) {
384
- const product = Wick.BloomreachWidget.getProductRenderData(
259
+ const product = CompleteYourProjectWidget.getProductRenderData(
385
260
  recommendation.baseProduct,
386
261
  index
387
262
  );
@@ -402,7 +277,7 @@ Wick.BloomreachWidget = {
402
277
  },
403
278
 
404
279
  renderWidgetFromPayload(payloadData) {
405
- const { widgetContainer, completeWidget } = Wick.BloomreachWidget.el;
280
+ const { widgetContainer, completeWidget } = CompleteYourProjectWidget.el;
406
281
  const $containers = $(widgetContainer);
407
282
 
408
283
  if (!$containers.length) {
@@ -417,46 +292,23 @@ Wick.BloomreachWidget = {
417
292
  $containers.each(function () {
418
293
  const $container = $(this);
419
294
 
420
- Wick.BloomreachWidget.renderWidget($container, payloadData);
421
- Wick.BloomreachWidget.initRenderedWidget($container);
422
- });
423
- },
424
-
425
- drawRating($root) {
426
- const $ratingOverlay = $root.find('.rating-overlay');
427
-
428
- $ratingOverlay.each(function () {
429
- let rating = parseFloat($(this).attr('data-rating')) || 0;
430
- const $stars = $(this).children(Wick.BloomreachWidget.el.starOverlay);
431
-
432
- $stars.each(function () {
433
- const $star = $(this);
434
-
435
- if (rating >= 1) {
436
- rating--;
437
- } else if (rating > 0) {
438
- const width = Math.asin(2 * rating - 1) / Math.PI + 0.5;
439
- $star.css('width', width + 'rem');
440
- rating = 0;
441
- } else {
442
- $star.css('width', '0rem');
443
- }
444
- });
295
+ CompleteYourProjectWidget.renderWidget($container, payloadData);
296
+ CompleteYourProjectWidget.initRenderedWidget($container);
445
297
  });
446
298
  },
447
299
 
448
300
  getDropdownCard($dropdown) {
449
- return $dropdown.closest(Wick.BloomreachWidget.el.completeCard);
301
+ return $dropdown.closest(CompleteYourProjectWidget.el.completeCard);
450
302
  },
451
303
 
452
304
  getDropdownCheckbox($dropdown) {
453
- return Wick.BloomreachWidget.getDropdownCard($dropdown).find(
454
- Wick.BloomreachWidget.el.cardCheckbox
305
+ return CompleteYourProjectWidget.getDropdownCard($dropdown).find(
306
+ CompleteYourProjectWidget.el.cardCheckbox
455
307
  );
456
308
  },
457
309
 
458
310
  setDropdownCheckboxState($dropdown, isChecked, shouldTriggerChange = true) {
459
- const $checkbox = Wick.BloomreachWidget.getDropdownCheckbox($dropdown);
311
+ const $checkbox = CompleteYourProjectWidget.getDropdownCheckbox($dropdown);
460
312
 
461
313
  if (!$checkbox.length) {
462
314
  return;
@@ -470,18 +322,18 @@ Wick.BloomreachWidget = {
470
322
  },
471
323
 
472
324
  setDropdownError($dropdown, hasError) {
473
- $dropdown.toggleClass(Wick.BloomreachWidget.el.dropdownErrorClass, hasError);
325
+ $dropdown.toggleClass(CompleteYourProjectWidget.el.dropdownErrorClass, hasError);
474
326
  },
475
327
 
476
328
  validateDropdown($dropdown, options = {}) {
477
- const isValid = Boolean($dropdown.data(Wick.BloomreachWidget.el.selectedValueData));
329
+ const isValid = Boolean($dropdown.data(CompleteYourProjectWidget.el.selectedValueData));
478
330
 
479
- Wick.BloomreachWidget.setDropdownError($dropdown, !isValid);
331
+ CompleteYourProjectWidget.setDropdownError($dropdown, !isValid);
480
332
 
481
333
  if (!isValid && options.uncheck) {
482
- Wick.BloomreachWidget.setDropdownCheckboxState($dropdown, false, false);
483
- Wick.BloomreachWidget.getDropdownCard($dropdown).removeClass(
484
- Wick.BloomreachWidget.el.selectedClass
334
+ CompleteYourProjectWidget.setDropdownCheckboxState($dropdown, false, false);
335
+ CompleteYourProjectWidget.getDropdownCard($dropdown).removeClass(
336
+ CompleteYourProjectWidget.el.selectedClass
485
337
  );
486
338
  }
487
339
 
@@ -489,13 +341,13 @@ Wick.BloomreachWidget = {
489
341
  },
490
342
 
491
343
  validateCardDropdown($card, options = {}) {
492
- const $dropdown = $card.find(Wick.BloomreachWidget.el.dropdownRoot);
344
+ const $dropdown = $card.find(CompleteYourProjectWidget.el.dropdownRoot);
493
345
 
494
346
  if (!$dropdown.length) {
495
347
  return true;
496
348
  }
497
349
 
498
- return Wick.BloomreachWidget.validateDropdown($dropdown, options);
350
+ return CompleteYourProjectWidget.validateDropdown($dropdown, options);
499
351
  },
500
352
 
501
353
  findVariantProduct(recommendation, selectedValue) {
@@ -509,7 +361,7 @@ Wick.BloomreachWidget = {
509
361
  },
510
362
 
511
363
  getCardQuantity($card) {
512
- const $input = $card.find(Wick.BloomreachWidget.el.quantityInput);
364
+ const $input = $card.find(CompleteYourProjectWidget.el.quantityInput);
513
365
  const quantity = parseInt($input.val(), 10);
514
366
 
515
367
  return Number.isNaN(quantity) ? 1 : quantity;
@@ -517,10 +369,10 @@ Wick.BloomreachWidget = {
517
369
 
518
370
  getCardProduct($card) {
519
371
  const { recommendationIndexAttr, dropdownRoot, selectedValueData } =
520
- Wick.BloomreachWidget.el;
372
+ CompleteYourProjectWidget.el;
521
373
 
522
374
  const recommendationIndex = Number($card.attr(recommendationIndexAttr));
523
- const recommendation = Wick.BloomreachWidget.recommendations[recommendationIndex];
375
+ const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
524
376
 
525
377
  if (!recommendation) {
526
378
  return null;
@@ -531,7 +383,7 @@ Wick.BloomreachWidget = {
531
383
 
532
384
  if (selectedValue) {
533
385
  return (
534
- Wick.BloomreachWidget.findVariantProduct(recommendation, selectedValue) ||
386
+ CompleteYourProjectWidget.findVariantProduct(recommendation, selectedValue) ||
535
387
  recommendation.baseProduct
536
388
  );
537
389
  }
@@ -540,7 +392,7 @@ Wick.BloomreachWidget = {
540
392
  },
541
393
 
542
394
  getSelectedEntries($root) {
543
- const { completeCard, cardCheckbox } = Wick.BloomreachWidget.el;
395
+ const { completeCard, cardCheckbox } = CompleteYourProjectWidget.el;
544
396
  const entries = [];
545
397
 
546
398
  $root.find(completeCard).each(function () {
@@ -551,7 +403,7 @@ Wick.BloomreachWidget = {
551
403
  return;
552
404
  }
553
405
 
554
- const product = Wick.BloomreachWidget.getCardProduct($card);
406
+ const product = CompleteYourProjectWidget.getCardProduct($card);
555
407
 
556
408
  if (!product) {
557
409
  return;
@@ -559,7 +411,7 @@ Wick.BloomreachWidget = {
559
411
 
560
412
  entries.push({
561
413
  product,
562
- quantity: Wick.BloomreachWidget.getCardQuantity($card),
414
+ quantity: CompleteYourProjectWidget.getCardQuantity($card),
563
415
  });
564
416
  });
565
417
 
@@ -567,7 +419,7 @@ Wick.BloomreachWidget = {
567
419
  },
568
420
 
569
421
  getAddToCartEntries($root) {
570
- return Wick.BloomreachWidget.getSelectedEntries($root).map(function (entry) {
422
+ return CompleteYourProjectWidget.getSelectedEntries($root).map(function (entry) {
571
423
  return {
572
424
  productCode: entry.product.code,
573
425
  quantity: entry.quantity,
@@ -581,16 +433,10 @@ Wick.BloomreachWidget = {
581
433
  const totalWasPriceExclusiveVat =
582
434
  response.totalWasPriceExclusiveVat || response.totalExcVatWasPrice;
583
435
 
584
- const {
585
- summaryPriceValue,
586
- summarySalePrice,
587
- summaryPriceInc,
588
- summaryPriceExc,
589
- summarySalePriceInc,
590
- summarySalePriceExc,
591
- } = Wick.BloomreachWidget.el;
436
+ const { summaryPriceValue, summarySalePrice } = CompleteYourProjectWidget.el;
437
+ const { vatInc, vatExc } = Wick.BloomreachWidget.el;
592
438
 
593
- Wick.BloomreachWidget.lastCalculationResponse = response;
439
+ CompleteYourProjectWidget.lastCalculationResponse = response;
594
440
 
595
441
  const $price = $root.find(summaryPriceValue);
596
442
  const $salePrice = $root.find(summarySalePrice);
@@ -602,46 +448,43 @@ Wick.BloomreachWidget = {
602
448
 
603
449
  if (response.totalWasPrice) {
604
450
  $total.addClass('complete-widget__total-sale');
605
- const $priceInc = $price.find(summaryPriceInc);
451
+ const $priceInc = $price.find(vatInc);
606
452
 
607
453
  if ($priceInc.length) {
608
454
  $priceInc.text(response.totalWasPrice);
609
- $price
610
- .find(summaryPriceExc)
611
- .text(totalWasPriceExclusiveVat || response.totalWasPrice);
612
-
613
- $salePrice.find(summarySalePriceInc).text(response.totalPrice || '');
614
- $salePrice
615
- .find(summarySalePriceExc)
616
- .text(totalPriceExclusiveVat || response.totalPrice || '');
455
+ $price.find(vatExc).text(totalWasPriceExclusiveVat || response.totalWasPrice);
456
+
457
+ $salePrice.find(vatInc).text(response.totalPrice || '');
458
+ $salePrice.find(vatExc).text(totalPriceExclusiveVat || response.totalPrice || '');
617
459
  } else {
618
460
  $price.text(response.totalWasPrice);
619
461
  $salePrice.text(response.totalPrice || '');
620
462
  }
621
463
 
622
464
  $salePrice.show();
465
+ Wick.BloomreachWidget.reapplyVatDisplay();
623
466
  return;
624
467
  }
625
468
 
626
469
  $total.removeClass('complete-widget__total-sale');
627
- const $priceInc = $price.find(summaryPriceInc);
470
+ const $priceInc = $price.find(vatInc);
628
471
  if ($priceInc.length) {
629
472
  $priceInc.text(response.totalPrice || '£0.00');
630
- $price
631
- .find(summaryPriceExc)
632
- .text(totalPriceExclusiveVat || response.totalPrice || '£0.00');
473
+ $price.find(vatExc).text(totalPriceExclusiveVat || response.totalPrice || '£0.00');
633
474
 
634
- $salePrice.find(summarySalePriceInc).text('');
635
- $salePrice.find(summarySalePriceExc).text('');
475
+ $salePrice.find(vatInc).text('');
476
+ $salePrice.find(vatExc).text('');
636
477
  $salePrice.hide();
637
478
  } else {
638
479
  $price.text(response.totalPrice || '£0.00');
639
480
  $salePrice.text('').hide();
640
481
  }
482
+
483
+ Wick.BloomreachWidget.reapplyVatDisplay();
641
484
  },
642
485
 
643
486
  updateCta($root) {
644
- const { ctaButton, cardCheckbox } = Wick.BloomreachWidget.el;
487
+ const { ctaButton, cardCheckbox } = CompleteYourProjectWidget.el;
645
488
  const selectedCount = $root.find(cardCheckbox).filter(':checked').length;
646
489
  const $cta = $root.find(ctaButton);
647
490
 
@@ -650,44 +493,43 @@ Wick.BloomreachWidget = {
650
493
  }
651
494
 
652
495
  $cta.prop('disabled', !selectedCount);
653
- Wick.BloomreachWidget.setCtaText($cta, Wick.BloomreachWidget.getCtaText(selectedCount));
496
+ CompleteYourProjectWidget.setCtaText(
497
+ $cta,
498
+ CompleteYourProjectWidget.getCtaText(selectedCount)
499
+ );
654
500
  },
655
501
 
656
502
  dispatchCalculateTotal($root) {
657
- Wick.BloomreachWidget.updateCta($root);
503
+ CompleteYourProjectWidget.updateCta($root);
658
504
 
659
505
  return Wick.BloomreachWidget.dispatchWidgetEvent(
660
- Wick.BloomreachWidget.CALCULATE_PRODUCT_BUNDLE_TOTAL_EVENT,
506
+ CompleteYourProjectWidget.CALCULATE_PRODUCT_BUNDLE_TOTAL_EVENT,
661
507
  {
662
- entries: Wick.BloomreachWidget.getSelectedEntries($root),
508
+ entries: CompleteYourProjectWidget.getSelectedEntries($root),
663
509
  }
664
510
  ).then(function (response) {
665
- Wick.BloomreachWidget.updateSummary($root, response);
511
+ CompleteYourProjectWidget.updateSummary($root, response);
666
512
  });
667
513
  },
668
514
 
669
515
  dispatchAddToCart($root, $button) {
670
- Wick.BloomreachWidget.loadingButton.start($button);
671
-
672
- return new Promise(function (resolve, reject) {
673
- const eventDetail = { resolve, reject };
674
- const event = createEvent(
675
- Wick.BloomreachWidget.ADD_PRODUCT_BUNDLE_TO_CART_EVENT,
676
- {
677
- entries: Wick.BloomreachWidget.getAddToCartEntries($root),
678
- },
679
- eventDetail
680
- );
516
+ CompleteYourProjectWidget.loadingButton.start($button);
681
517
 
682
- window.dispatchEvent(event);
683
- })
518
+ return Wick.BloomreachWidget.dispatchWidgetEvent(
519
+ CompleteYourProjectWidget.ADD_PRODUCT_BUNDLE_TO_CART_EVENT,
520
+ {
521
+ entries: CompleteYourProjectWidget.getAddToCartEntries($root),
522
+ }
523
+ )
684
524
  .then(function (response) {
685
- Wick.BloomreachWidget.handleBulkAddToCartResponse(response);
525
+ CompleteYourProjectWidget.handleBulkAddToCartResponse(response);
686
526
 
687
- Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
527
+ if (Wick.MiniBasketSliderFE) {
528
+ Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
529
+ }
688
530
  })
689
531
  .catch(function () {
690
- Wick.BloomreachWidget.handleBulkAddToCartResponse({
532
+ CompleteYourProjectWidget.handleBulkAddToCartResponse({
691
533
  bulkAddToCartData: {
692
534
  messageType: 'error',
693
535
  messageText: 'Selected product(s) were not added to basket',
@@ -695,19 +537,20 @@ Wick.BloomreachWidget = {
695
537
  });
696
538
  })
697
539
  .finally(function () {
698
- Wick.BloomreachWidget.loadingButton.stop($button);
699
- Wick.BloomreachWidget.updateCta($root);
540
+ CompleteYourProjectWidget.loadingButton.stop($button);
541
+ CompleteYourProjectWidget.updateCta($root);
700
542
  });
701
543
  },
702
544
 
703
545
  reinitCard($card) {
704
- const { countBtn, completeWidget } = Wick.BloomreachWidget.el;
546
+ const { countBtn, completeWidget } = CompleteYourProjectWidget.el;
705
547
 
706
548
  $card.find(countBtn).remove();
707
549
 
708
- Wick.BloomreachWidget.initQuantityFields($card);
550
+ CompleteYourProjectWidget.initQuantityFields($card);
709
551
  Wick.BloomreachWidget.drawRating($card);
710
- Wick.BloomreachWidget.alignCardBlocks($card.closest(completeWidget));
552
+ CompleteYourProjectWidget.alignCardBlocks($card.closest(completeWidget));
553
+ Wick.BloomreachWidget.reapplyVatDisplay();
711
554
  },
712
555
 
713
556
  replaceCardWithBaseProduct($dropdown, options = {}) {
@@ -717,17 +560,17 @@ Wick.BloomreachWidget = {
717
560
  dropdownRoot,
718
561
  dropdownErrorClass,
719
562
  cardCheckbox,
720
- } = Wick.BloomreachWidget.el;
563
+ } = CompleteYourProjectWidget.el;
721
564
 
722
565
  const $card = $dropdown.closest(completeCard);
723
566
  const recommendationIndex = Number($card.attr(recommendationIndexAttr));
724
- const recommendation = Wick.BloomreachWidget.recommendations[recommendationIndex];
567
+ const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
725
568
 
726
569
  if (!recommendation || !recommendation.baseProduct) {
727
570
  return null;
728
571
  }
729
572
 
730
- const productData = Wick.BloomreachWidget.getProductRenderData(
573
+ const productData = CompleteYourProjectWidget.getProductRenderData(
731
574
  recommendation.baseProduct,
732
575
  recommendationIndex,
733
576
  {
@@ -750,13 +593,13 @@ Wick.BloomreachWidget = {
750
593
  $newCard.find(cardCheckbox).prop('checked', false);
751
594
 
752
595
  $newCard
753
- .find(Wick.BloomreachWidget.el.quantityInput)
596
+ .find(CompleteYourProjectWidget.el.quantityInput)
754
597
  .val(1)
755
- .data(Wick.BloomreachWidget.el.previousQuantityData, 1)
756
- .removeData(Wick.BloomreachWidget.el.quantityReadyData)
757
- .removeData(Wick.BloomreachWidget.el.countStepperInitializedData);
598
+ .data(CompleteYourProjectWidget.el.previousQuantityData, 1)
599
+ .removeData(CompleteYourProjectWidget.el.quantityReadyData)
600
+ .removeData(CompleteYourProjectWidget.el.countStepperInitializedData);
758
601
 
759
- Wick.BloomreachWidget.reinitCard($newCard);
602
+ CompleteYourProjectWidget.reinitCard($newCard);
760
603
 
761
604
  return $newCard;
762
605
  },
@@ -769,17 +612,17 @@ Wick.BloomreachWidget = {
769
612
  dropdownRoot,
770
613
  selectedValueData,
771
614
  cardCheckbox,
772
- } = Wick.BloomreachWidget.el;
615
+ } = CompleteYourProjectWidget.el;
773
616
 
774
617
  const $card = $dropdown.closest(completeCard);
775
618
  const recommendationIndex = Number($card.attr(recommendationIndexAttr));
776
- const recommendation = Wick.BloomreachWidget.recommendations[recommendationIndex];
619
+ const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
777
620
 
778
621
  if (!recommendation) {
779
622
  return null;
780
623
  }
781
624
 
782
- const variantProduct = Wick.BloomreachWidget.findVariantProduct(
625
+ const variantProduct = CompleteYourProjectWidget.findVariantProduct(
783
626
  recommendation,
784
627
  selectedValue
785
628
  );
@@ -788,7 +631,7 @@ Wick.BloomreachWidget = {
788
631
  return null;
789
632
  }
790
633
 
791
- const productData = Wick.BloomreachWidget.getProductRenderData(
634
+ const productData = CompleteYourProjectWidget.getProductRenderData(
792
635
  {
793
636
  ...variantProduct,
794
637
  variantOptions: recommendation.baseProduct.variantOptions,
@@ -818,51 +661,53 @@ Wick.BloomreachWidget = {
818
661
  $newCard.find(cardCheckbox).prop('checked', true);
819
662
 
820
663
  $newCard
821
- .find(Wick.BloomreachWidget.el.quantityInput)
664
+ .find(CompleteYourProjectWidget.el.quantityInput)
822
665
  .val(1)
823
- .data(Wick.BloomreachWidget.el.previousQuantityData, 1)
824
- .removeData(Wick.BloomreachWidget.el.quantityReadyData)
825
- .removeData(Wick.BloomreachWidget.el.countStepperInitializedData);
666
+ .data(CompleteYourProjectWidget.el.previousQuantityData, 1)
667
+ .removeData(CompleteYourProjectWidget.el.quantityReadyData)
668
+ .removeData(CompleteYourProjectWidget.el.countStepperInitializedData);
826
669
 
827
- Wick.BloomreachWidget.reinitCard($newCard);
670
+ CompleteYourProjectWidget.reinitCard($newCard);
828
671
 
829
672
  return $newCard;
830
673
  },
831
674
 
832
675
  handleDropdownSelect($dropdown, selectedValue) {
833
- const $card = $dropdown.closest(Wick.BloomreachWidget.el.completeCard);
834
- const recommendationIndex = $card.attr(Wick.BloomreachWidget.el.recommendationIndexAttr);
835
- const currentValue = Wick.BloomreachWidget.dropdownCurrent[recommendationIndex];
676
+ const $card = $dropdown.closest(CompleteYourProjectWidget.el.completeCard);
677
+ const recommendationIndex = $card.attr(
678
+ CompleteYourProjectWidget.el.recommendationIndexAttr
679
+ );
680
+ const currentValue = CompleteYourProjectWidget.dropdownCurrent[recommendationIndex];
836
681
 
837
682
  if (`${currentValue}` === `${selectedValue}`) {
838
683
  return;
839
684
  }
840
685
 
841
- Wick.BloomreachWidget.dropdownCurrent[recommendationIndex] = selectedValue;
686
+ CompleteYourProjectWidget.dropdownCurrent[recommendationIndex] = selectedValue;
842
687
 
843
- const $completeWidget = $dropdown.closest(Wick.BloomreachWidget.el.completeWidget);
688
+ const $completeWidget = $dropdown.closest(CompleteYourProjectWidget.el.completeWidget);
844
689
  const isPlaceholder = !selectedValue;
845
690
 
846
691
  if (isPlaceholder) {
847
- Wick.BloomreachWidget.setDropdownError($dropdown, true);
848
- Wick.BloomreachWidget.setDropdownCheckboxState($dropdown, false, false);
849
- Wick.BloomreachWidget.replaceCardWithBaseProduct($dropdown, {
692
+ CompleteYourProjectWidget.setDropdownError($dropdown, true);
693
+ CompleteYourProjectWidget.setDropdownCheckboxState($dropdown, false, false);
694
+ CompleteYourProjectWidget.replaceCardWithBaseProduct($dropdown, {
850
695
  dropdownError: true,
851
696
  });
852
697
 
853
698
  if ($completeWidget.length) {
854
- Wick.BloomreachWidget.dispatchCalculateTotal($completeWidget);
699
+ CompleteYourProjectWidget.dispatchCalculateTotal($completeWidget);
855
700
  }
856
701
 
857
702
  return;
858
703
  }
859
704
 
860
- Wick.BloomreachWidget.setDropdownError($dropdown, false);
861
- Wick.BloomreachWidget.setDropdownCheckboxState($dropdown, true, false);
862
- Wick.BloomreachWidget.replaceCardWithVariant($dropdown, selectedValue);
705
+ CompleteYourProjectWidget.setDropdownError($dropdown, false);
706
+ CompleteYourProjectWidget.setDropdownCheckboxState($dropdown, true, false);
707
+ CompleteYourProjectWidget.replaceCardWithVariant($dropdown, selectedValue);
863
708
 
864
709
  if ($completeWidget.length) {
865
- Wick.BloomreachWidget.dispatchCalculateTotal($completeWidget);
710
+ CompleteYourProjectWidget.dispatchCalculateTotal($completeWidget);
866
711
  }
867
712
  },
868
713
 
@@ -874,9 +719,9 @@ Wick.BloomreachWidget = {
874
719
  dropdownOption,
875
720
  dropdownOpenClass,
876
721
  dropdownOptionSelectedClass,
877
- } = Wick.BloomreachWidget.el;
722
+ } = CompleteYourProjectWidget.el;
878
723
 
879
- Wick.BloomreachWidget.dropdown = createDropdown({
724
+ CompleteYourProjectWidget.dropdown = createDropdown({
880
725
  root: dropdownRoot,
881
726
  toggle: dropdownToggle,
882
727
  value: dropdownValue,
@@ -885,15 +730,15 @@ Wick.BloomreachWidget = {
885
730
  selectedClass: dropdownOptionSelectedClass,
886
731
  namespace: 'bloomreachDropdown',
887
732
  onSelect($dropdown, $option, selectedValue) {
888
- Wick.BloomreachWidget.handleDropdownSelect($dropdown, selectedValue);
733
+ CompleteYourProjectWidget.handleDropdownSelect($dropdown, selectedValue);
889
734
  },
890
735
  });
891
736
 
892
- Wick.BloomreachWidget.dropdown.bind();
737
+ CompleteYourProjectWidget.dropdown.bind();
893
738
  },
894
739
 
895
740
  bindCardSelection($root) {
896
- const { completeCard, cardCheckbox, selectedClass } = Wick.BloomreachWidget.el;
741
+ const { completeCard, cardCheckbox, selectedClass } = CompleteYourProjectWidget.el;
897
742
 
898
743
  const $firstCard = $root.find(completeCard).first();
899
744
 
@@ -904,11 +749,11 @@ Wick.BloomreachWidget = {
904
749
  $root.on('change.bloomreachCardSelection', cardCheckbox, function () {
905
750
  const $checkbox = $(this);
906
751
  const $card = $checkbox.closest(completeCard);
907
- const $dropdown = $card.find(Wick.BloomreachWidget.el.dropdownRoot);
752
+ const $dropdown = $card.find(CompleteYourProjectWidget.el.dropdownRoot);
908
753
 
909
754
  if (
910
755
  !$checkbox.prop('checked') &&
911
- $dropdown.hasClass(Wick.BloomreachWidget.el.dropdownErrorClass)
756
+ $dropdown.hasClass(CompleteYourProjectWidget.el.dropdownErrorClass)
912
757
  ) {
913
758
  $card.removeClass(selectedClass);
914
759
  return;
@@ -916,7 +761,7 @@ Wick.BloomreachWidget = {
916
761
 
917
762
  if (
918
763
  $checkbox.prop('checked') &&
919
- !Wick.BloomreachWidget.validateCardDropdown($card, {
764
+ !CompleteYourProjectWidget.validateCardDropdown($card, {
920
765
  uncheck: true,
921
766
  })
922
767
  ) {
@@ -927,12 +772,12 @@ Wick.BloomreachWidget = {
927
772
 
928
773
  $card.toggleClass(selectedClass, this.checked);
929
774
 
930
- Wick.BloomreachWidget.dispatchCalculateTotal($root);
775
+ CompleteYourProjectWidget.dispatchCalculateTotal($root);
931
776
  });
932
777
  },
933
778
 
934
779
  bindDropdownValidation($root) {
935
- const { cardCheckbox, completeCard } = Wick.BloomreachWidget.el;
780
+ const { cardCheckbox, completeCard } = CompleteYourProjectWidget.el;
936
781
 
937
782
  $root.off('click.bloomreachDropdownValidation', cardCheckbox);
938
783
  $root.on('click.bloomreachDropdownValidation', cardCheckbox, function () {
@@ -941,18 +786,24 @@ Wick.BloomreachWidget = {
941
786
 
942
787
  if (
943
788
  $checkbox.prop('checked') &&
944
- !Wick.BloomreachWidget.validateCardDropdown($card, {
789
+ !CompleteYourProjectWidget.validateCardDropdown($card, {
945
790
  uncheck: true,
946
791
  })
947
792
  ) {
948
793
  $checkbox.prop('checked', false);
949
- $card.removeClass(Wick.BloomreachWidget.el.selectedClass);
794
+ $card.removeClass(CompleteYourProjectWidget.el.selectedClass);
950
795
  }
951
796
  });
952
797
  },
953
798
 
799
+ bindVatToggle() {
800
+ if (Wick.BloomreachWidget.bindVatToggle) {
801
+ Wick.BloomreachWidget.bindVatToggle('completeYourProjectVatToggle');
802
+ }
803
+ },
804
+
954
805
  bindAddToCart($root) {
955
- const { ctaButton } = Wick.BloomreachWidget.el;
806
+ const { ctaButton } = CompleteYourProjectWidget.el;
956
807
 
957
808
  $root.off('click.bloomreachAddToCart', ctaButton);
958
809
  $root.on('click.bloomreachAddToCart', ctaButton, function (event) {
@@ -962,12 +813,12 @@ Wick.BloomreachWidget = {
962
813
 
963
814
  if (
964
815
  $button.prop('disabled') ||
965
- Wick.BloomreachWidget.loadingButton.isLoading($button)
816
+ CompleteYourProjectWidget.loadingButton.isLoading($button)
966
817
  ) {
967
818
  return;
968
819
  }
969
820
 
970
- Wick.BloomreachWidget.dispatchAddToCart($root, $button);
821
+ CompleteYourProjectWidget.dispatchAddToCart($root, $button);
971
822
  });
972
823
  },
973
824
 
@@ -992,14 +843,14 @@ Wick.BloomreachWidget = {
992
843
  },
993
844
 
994
845
  alignCardBlocks($root) {
995
- const { titleEl, optionsEl } = Wick.BloomreachWidget.el;
846
+ const { titleEl, optionsEl } = CompleteYourProjectWidget.el;
996
847
 
997
- Wick.BloomreachWidget.alignBlock(titleEl, $root);
998
- Wick.BloomreachWidget.alignBlock(optionsEl, $root);
848
+ CompleteYourProjectWidget.alignBlock(titleEl, $root);
849
+ CompleteYourProjectWidget.alignBlock(optionsEl, $root);
999
850
  },
1000
851
 
1001
852
  setInitialSummary($root) {
1002
- const entries = Wick.BloomreachWidget.getSelectedEntries($root);
853
+ const entries = CompleteYourProjectWidget.getSelectedEntries($root);
1003
854
  const firstEntry = entries[0];
1004
855
 
1005
856
  if (!firstEntry || !firstEntry.product) {
@@ -1011,7 +862,7 @@ Wick.BloomreachWidget = {
1011
862
  const priceExcVat = Wick.BloomreachWidget.getDisplayPriceExcVat(product);
1012
863
  const wasPriceFormatted = Wick.BloomreachWidget.getWasPriceFormatted(product);
1013
864
 
1014
- Wick.BloomreachWidget.updateSummary($root, {
865
+ CompleteYourProjectWidget.updateSummary($root, {
1015
866
  totalPrice: Wick.BloomreachWidget.getPriceFormattedValue(displayPrice) || '£0.00',
1016
867
  totalWasPrice: wasPriceFormatted || null,
1017
868
  totalPriceExclusiveVat: Wick.BloomreachWidget.getPriceFormattedValue(priceExcVat),
@@ -1025,18 +876,18 @@ Wick.BloomreachWidget = {
1025
876
  min: 1,
1026
877
  onChange(qty, inputEl) {
1027
878
  const $input = $(inputEl);
1028
- const $card = $input.closest(Wick.BloomreachWidget.el.completeCard);
1029
- const $completeWidget = $input.closest(Wick.BloomreachWidget.el.completeWidget);
1030
- const $checkbox = $card.find(Wick.BloomreachWidget.el.cardCheckbox);
879
+ const $card = $input.closest(CompleteYourProjectWidget.el.completeCard);
880
+ const $completeWidget = $input.closest(CompleteYourProjectWidget.el.completeWidget);
881
+ const $checkbox = $card.find(CompleteYourProjectWidget.el.cardCheckbox);
1031
882
  const previousQuantity =
1032
- $input.data(Wick.BloomreachWidget.el.previousQuantityData) || 1;
883
+ $input.data(CompleteYourProjectWidget.el.previousQuantityData) || 1;
1033
884
 
1034
- if (!$input.data(Wick.BloomreachWidget.el.quantityReadyData)) {
1035
- $input.data(Wick.BloomreachWidget.el.previousQuantityData, qty || 1);
885
+ if (!$input.data(CompleteYourProjectWidget.el.quantityReadyData)) {
886
+ $input.data(CompleteYourProjectWidget.el.previousQuantityData, qty || 1);
1036
887
  return;
1037
888
  }
1038
889
 
1039
- if (!Wick.BloomreachWidget.validateCardDropdown($card)) {
890
+ if (!CompleteYourProjectWidget.validateCardDropdown($card)) {
1040
891
  $input.val(previousQuantity);
1041
892
 
1042
893
  const $minus = $card.find('.count-btn--minus');
@@ -1049,22 +900,22 @@ Wick.BloomreachWidget = {
1049
900
  }
1050
901
 
1051
902
  $checkbox.prop('checked', true);
1052
- $card.addClass(Wick.BloomreachWidget.el.selectedClass);
903
+ $card.addClass(CompleteYourProjectWidget.el.selectedClass);
1053
904
 
1054
- $input.data(Wick.BloomreachWidget.el.previousQuantityData, qty);
905
+ $input.data(CompleteYourProjectWidget.el.previousQuantityData, qty);
1055
906
  $input.trigger('change');
1056
907
 
1057
908
  if ($completeWidget.length) {
1058
- Wick.BloomreachWidget.dispatchCalculateTotal($completeWidget);
909
+ CompleteYourProjectWidget.dispatchCalculateTotal($completeWidget);
1059
910
  }
1060
911
  },
1061
912
  });
1062
913
 
1063
914
  stepper.init($root);
1064
915
 
1065
- $root.find(inputSel).data(Wick.BloomreachWidget.el.quantityReadyData, true);
916
+ $root.find(inputSel).data(CompleteYourProjectWidget.el.quantityReadyData, true);
1066
917
 
1067
- Wick.BloomreachWidget.steppers.push(stepper);
918
+ CompleteYourProjectWidget.steppers.push(stepper);
1068
919
  },
1069
920
 
1070
921
  initQuantityFields($root) {
@@ -1073,7 +924,7 @@ Wick.BloomreachWidget = {
1073
924
  countStepperInitializedData,
1074
925
  countStepperRoot,
1075
926
  previousQuantityData,
1076
- } = Wick.BloomreachWidget.el;
927
+ } = CompleteYourProjectWidget.el;
1077
928
 
1078
929
  $root.find(quantityInput).each(function () {
1079
930
  const $input = $(this);
@@ -1091,99 +942,94 @@ Wick.BloomreachWidget = {
1091
942
  $input.data(countStepperInitializedData, true);
1092
943
  $input.data(previousQuantityData, parseInt($input.val(), 10) || 1);
1093
944
 
1094
- Wick.BloomreachWidget.initQuantityField(
945
+ CompleteYourProjectWidget.initQuantityField(
1095
946
  $input.closest(countStepperRoot),
1096
947
  `#${inputId}`
1097
948
  );
1098
949
  });
1099
950
  },
1100
951
 
1101
- formatPrice(value) {
1102
- return new Intl.NumberFormat('en-GB', {
1103
- style: 'currency',
1104
- currency: 'GBP',
1105
- minimumFractionDigits: 2,
1106
- maximumFractionDigits: 2,
1107
- }).format(value);
1108
- },
1109
-
1110
952
  resetWidgetState($root) {
1111
- $root.find(Wick.BloomreachWidget.el.cardCheckbox).prop('checked', false);
953
+ $root.find(CompleteYourProjectWidget.el.cardCheckbox).prop('checked', false);
1112
954
 
1113
955
  $root
1114
- .find(Wick.BloomreachWidget.el.completeCard)
1115
- .removeClass(Wick.BloomreachWidget.el.selectedClass);
956
+ .find(CompleteYourProjectWidget.el.completeCard)
957
+ .removeClass(CompleteYourProjectWidget.el.selectedClass);
1116
958
 
1117
959
  $root
1118
- .find(Wick.BloomreachWidget.el.quantityInput)
960
+ .find(CompleteYourProjectWidget.el.quantityInput)
1119
961
  .val(1)
1120
- .data(Wick.BloomreachWidget.el.previousQuantityData, 1);
962
+ .data(CompleteYourProjectWidget.el.previousQuantityData, 1);
1121
963
  },
1122
964
 
1123
965
  resetBackForwardState() {
1124
- $(Wick.BloomreachWidget.el.completeWidget).each(function () {
966
+ $(CompleteYourProjectWidget.el.completeWidget).each(function () {
1125
967
  const $widget = $(this);
1126
968
 
1127
- Wick.BloomreachWidget.resetWidgetState($widget);
1128
- Wick.BloomreachWidget.bindCardSelection($widget);
969
+ CompleteYourProjectWidget.resetWidgetState($widget);
970
+ CompleteYourProjectWidget.bindCardSelection($widget);
1129
971
  });
1130
972
  },
1131
973
 
1132
974
  initRenderedWidget($container) {
1133
- if (!Wick.BloomreachWidget.toast) {
1134
- Wick.BloomreachWidget.toast = createToast({
975
+ if (!CompleteYourProjectWidget.toast) {
976
+ CompleteYourProjectWidget.toast = createToast({
1135
977
  template: notificationTemplate,
1136
978
  });
1137
979
  }
1138
- if (!Wick.BloomreachWidget.loadingButton) {
1139
- Wick.BloomreachWidget.loadingButton = createLoadingButton();
980
+ if (!CompleteYourProjectWidget.loadingButton) {
981
+ CompleteYourProjectWidget.loadingButton = createLoadingButton();
1140
982
  }
1141
- const $completeWidget = $container.find(Wick.BloomreachWidget.el.completeWidget);
983
+ const $completeWidget = $container.find(CompleteYourProjectWidget.el.completeWidget);
1142
984
 
1143
985
  if (!$completeWidget.length) {
1144
986
  return;
1145
987
  }
1146
988
 
1147
989
  Wick.BloomreachWidget.drawRating($completeWidget);
1148
- Wick.BloomreachWidget.bindCardSelection($completeWidget);
1149
- Wick.BloomreachWidget.bindDropdowns();
1150
- Wick.BloomreachWidget.bindDropdownValidation($completeWidget);
1151
- Wick.BloomreachWidget.bindAddToCart($completeWidget);
1152
- Wick.BloomreachWidget.initQuantityFields($completeWidget);
990
+ CompleteYourProjectWidget.bindCardSelection($completeWidget);
991
+ CompleteYourProjectWidget.bindDropdowns();
992
+ CompleteYourProjectWidget.bindDropdownValidation($completeWidget);
993
+ CompleteYourProjectWidget.bindAddToCart($completeWidget);
994
+ CompleteYourProjectWidget.bindVatToggle();
995
+ CompleteYourProjectWidget.initQuantityFields($completeWidget);
1153
996
 
1154
997
  $completeWidget
1155
- .find(Wick.BloomreachWidget.el.dropdownRoot)
1156
- .removeClass(Wick.BloomreachWidget.el.dropdownErrorClass);
998
+ .find(CompleteYourProjectWidget.el.dropdownRoot)
999
+ .removeClass(CompleteYourProjectWidget.el.dropdownErrorClass);
1157
1000
 
1158
- Wick.BloomreachWidget.alignCardBlocks($completeWidget);
1159
- Wick.BloomreachWidget.updateCta($completeWidget);
1160
- Wick.BloomreachWidget.setInitialSummary($completeWidget);
1001
+ CompleteYourProjectWidget.alignCardBlocks($completeWidget);
1002
+ CompleteYourProjectWidget.updateCta($completeWidget);
1003
+ CompleteYourProjectWidget.setInitialSummary($completeWidget);
1004
+ Wick.BloomreachWidget.reapplyVatDisplay();
1161
1005
  },
1162
1006
 
1163
1007
  init(payloadData) {
1164
- const $containers = $(Wick.BloomreachWidget.el.widgetContainer);
1008
+ const $containers = $(CompleteYourProjectWidget.el.widgetContainer);
1165
1009
 
1166
1010
  if (!payloadData || !Wick.BloomreachWidget.hasRecommendations(payloadData)) {
1167
- $containers.find(Wick.BloomreachWidget.el.completeWidget).hide();
1011
+ $containers.find(CompleteYourProjectWidget.el.completeWidget).hide();
1168
1012
  return;
1169
1013
  }
1170
1014
 
1171
- Wick.BloomreachWidget.renderWidgetFromPayload(payloadData);
1015
+ CompleteYourProjectWidget.renderWidgetFromPayload(payloadData);
1172
1016
  },
1173
1017
  };
1174
1018
 
1175
1019
  $(document).ready(function () {
1176
1020
  Wick.Responsive.onResize(function () {
1177
- $(Wick.BloomreachWidget.el.widgetContainer).each(function () {
1178
- const $completeWidget = $(this).find(Wick.BloomreachWidget.el.completeWidget);
1021
+ $(CompleteYourProjectWidget.el.widgetContainer).each(function () {
1022
+ const $completeWidget = $(this).find(CompleteYourProjectWidget.el.completeWidget);
1179
1023
 
1180
1024
  if ($completeWidget.length) {
1181
- Wick.BloomreachWidget.alignCardBlocks($completeWidget);
1025
+ CompleteYourProjectWidget.alignCardBlocks($completeWidget);
1182
1026
  }
1183
1027
  });
1184
1028
  });
1185
1029
  });
1186
1030
 
1187
1031
  window.addEventListener('pagehide', function () {
1188
- Wick.BloomreachWidget.resetBackForwardState();
1032
+ CompleteYourProjectWidget.resetBackForwardState();
1189
1033
  });
1034
+
1035
+ export default CompleteYourProjectWidget;