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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/components/global-search.css +1 -1
  3. package/build/css/components/price-block-v2-critical.css +1 -1
  4. package/build/css/components/price-block-v2.css +1 -1
  5. package/build/css/components/store-locator-facilities.css +1 -1
  6. package/build/css/components/store-locator-lookup.css +1 -1
  7. package/build/css/components/tile-calculator.css +1 -1
  8. package/build/css/homepage-main.css +1 -1
  9. package/build/css/kitchen-plp-main.css +1 -1
  10. package/build/css/main.css +1 -1
  11. package/build/css/my-account-main-v2.css +1 -1
  12. package/build/css/my-account-main.css +1 -1
  13. package/build/css/pages/checkout-new.css +1 -1
  14. package/build/css/pages/checkout.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/page_address-book.css +1 -1
  18. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  19. package/build/css/pages/page_default-store.css +1 -1
  20. package/build/css/pages/page_discount.css +1 -1
  21. package/build/css/pages/page_fi.css +1 -1
  22. package/build/css/pages/page_in-store-checkout.css +1 -1
  23. package/build/css/pages/page_merged-basket.css +1 -1
  24. package/build/css/pages/page_my-order.css +1 -1
  25. package/build/css/pages/page_my-orders.css +1 -1
  26. package/build/css/pages/page_product-details-critical.css +1 -1
  27. package/build/css/pages/page_product-details-v2-critical.css +1 -1
  28. package/build/css/pages/page_product-details-v2.css +1 -1
  29. package/build/css/pages/page_product-details.css +1 -1
  30. package/build/css/pages/page_shopping-cart-v2.css +1 -1
  31. package/build/css/pages/page_store-locator-details.css +1 -1
  32. package/build/css/pages/page_store-locator.css +1 -1
  33. package/build/css/pages/page_ti.css +1 -1
  34. package/build/css/pages/tradePro-discount.css +1 -1
  35. package/build/css/pages/tradePro-rewards-old.css +1 -1
  36. package/build/css/pages/tradePro-rewards.css +1 -1
  37. package/build/css/pdp-main-before-combine.css +1 -1
  38. package/build/css/pdp-main-critical.css +1 -1
  39. package/build/css/pdp-main-non-critical.css +1 -1
  40. package/build/css/pdp-main.css +1 -1
  41. package/build/css/plp-main.css +1 -1
  42. package/build/css/shopping-list-pdf.css +1 -1
  43. package/build/css/store-locator-main.css +1 -1
  44. package/build/img/emulation/low-trees.png +0 -0
  45. package/build/img/emulation/overhead-power-cables.png +0 -0
  46. package/build/img/emulation/parked-vehicles.png +0 -0
  47. package/build/img/emulation/traffic-access-issues.png +0 -0
  48. package/build/img/emulation/walls-or-fences.png +0 -0
  49. package/build/js/account-members.min.js +1 -1
  50. package/build/js/add-project-list-id.min.js +1 -1
  51. package/build/js/address-book.min.js +1 -1
  52. package/build/js/basket.min.js +2 -2
  53. package/build/js/bloomreach-widget.min.js +1 -1
  54. package/build/js/bundle.min.js +1 -1
  55. package/build/js/change-password.min.js +1 -1
  56. package/build/js/checkout.min.js +2 -2
  57. package/build/js/emulation.min.js +456 -3270
  58. package/build/js/general.bundle.min.js +1 -1
  59. package/build/js/gift-cards.min.js +1 -1
  60. package/build/js/kitchen/kitchen-plp.min.js +1 -1
  61. package/build/js/merged-checkout.min.js +2 -2
  62. package/build/js/package-bulk-add.min.js +1 -0
  63. package/build/js/page/bloomreach-widget/bloomreach-recommendation-carousel-widget.js +318 -0
  64. package/build/js/page/bloomreach-widget/bloomreach-widget-core.js +370 -0
  65. package/build/js/page/bloomreach-widget/bloomreach-widget-tracking.js +16 -13
  66. package/build/js/page/bloomreach-widget/bloomreach-widget.js +8 -237
  67. package/build/js/page/bloomreach-widget/complete-your-project/cards.js +308 -0
  68. package/build/js/page/bloomreach-widget/complete-your-project/config.js +60 -0
  69. package/build/js/page/bloomreach-widget/complete-your-project/model.js +140 -0
  70. package/build/js/page/bloomreach-widget/complete-your-project/presenter.js +69 -0
  71. package/build/js/page/bloomreach-widget/complete-your-project/quantity.js +80 -0
  72. package/build/js/page/bloomreach-widget/complete-your-project/view.js +179 -0
  73. package/build/js/page/bloomreach-widget/complete-your-project/widget.js +185 -0
  74. package/build/js/page/bloomreach-widget/dont-forget-widget.js +15 -0
  75. package/build/js/page/bloomreach-widget/why-not-add-widget.js +10 -228
  76. package/build/js/page/plp-load-more.js +81 -66
  77. package/build/js/page/ripple/bulk-add.js +71 -0
  78. package/build/js/page/ripple/package-bulk-add.js +43 -0
  79. package/build/js/page/ripple/postcode-checker.js +83 -0
  80. package/build/js/page/ripple/thumb-gallery.js +168 -0
  81. package/build/js/page/utils/validation.js +1 -1
  82. package/build/js/pdp.bundle.min.js +2 -2
  83. package/build/js/personal-details.min.js +1 -1
  84. package/build/js/plp.bundle.min.js +1 -1
  85. package/build/js/postcode-checker.min.js +1 -0
  86. package/build/js/project-list.min.js +2 -2
  87. package/build/js/quiz.min.js +1 -1
  88. package/build/js/track-my-order.min.js +1 -1
  89. package/package.json +4 -2
  90. package/src/badges-ripple.html +120 -0
  91. package/src/badges.html +9 -18
  92. package/src/components/base/button.hbs +7 -0
  93. package/src/components/bloomreach/complete-your-project-skeleton.hbs +21 -0
  94. package/src/components/bloomreach/complete-your-project.hbs +6 -21
  95. package/src/components/bloomreach/why-not-add-card-skeleton.hbs +2 -2
  96. package/src/components/bloomreach/why-not-add-card.hbs +79 -60
  97. package/src/components/bloomreach/why-not-add-content.hbs +3 -3
  98. package/src/components/bloomreach/why-not-add.hbs +1 -1
  99. package/src/components/date-selection.hbs +19 -10
  100. package/src/components/fulfilment-accordions.hbs +1 -1
  101. package/src/components/heavy-banners-wrapper.hbs +21 -0
  102. package/src/components/image-accordion.hbs +18 -0
  103. package/src/components/kitchen/price.hbs +49 -29
  104. package/src/components/kitchen/strip-stickers.hbs +9 -3
  105. package/src/components/package-card.hbs +30 -0
  106. package/src/components/pdp-price-actions.hbs +17 -0
  107. package/src/components/postcode-checker.hbs +24 -0
  108. package/src/components/price-badges.hbs +12 -10
  109. package/src/components/price-block-v2.hbs +274 -202
  110. package/src/components/product-main-info-v2.hbs +2 -0
  111. package/src/components/suite-includes.hbs +66 -0
  112. package/src/components/suite-product-card.hbs +47 -0
  113. package/src/components/thumb-gallery.hbs +23 -0
  114. package/src/data/data_badges.json +143 -0
  115. package/src/data/data_bathroom-plp.json +814 -0
  116. package/src/data/data_heavy-banner.json +29 -0
  117. package/src/data/data_suite-includes-products.json +134 -0
  118. package/src/data/my-account/data_my-account.json +1 -1
  119. package/src/data/my-account/data_my-order.json +1 -1
  120. package/src/data/my-account/data_my-orders.json +1 -1
  121. package/src/img/emulation/low-trees.png +0 -0
  122. package/src/img/emulation/overhead-power-cables.png +0 -0
  123. package/src/img/emulation/parked-vehicles.png +0 -0
  124. package/src/img/emulation/traffic-access-issues.png +0 -0
  125. package/src/img/emulation/walls-or-fences.png +0 -0
  126. package/src/js/components/banner-placement-manager.js +25 -9
  127. package/src/js/components/general/cart-slider.js +41 -4
  128. package/src/js/components/general/image-accordion.js +54 -0
  129. package/src/js/components/general/switchVat.js +8 -1
  130. package/src/js/components/package-card.js +69 -0
  131. package/src/js/components/store-locator-cards.js +76 -0
  132. package/src/js/emulation/banner-placement-manager.js +219 -188
  133. package/src/js/emulation/complete-your-project-loading.js +16 -0
  134. package/src/js/emulation/custom-slider-emulation.js +21 -8
  135. package/src/js/emulation/date-selection.js +2 -2
  136. package/src/js/emulation/dont-forget-loading.js +36 -0
  137. package/src/js/emulation/just-added-scenarios-emulation.js +131 -0
  138. package/src/js/emulation/mini-basket.js +34 -34
  139. package/src/js/emulation/mock.js +429 -4
  140. package/src/js/emulation/plp-load-more.js +13 -4
  141. package/src/js/emulation/postcode-checker.js +11 -0
  142. package/src/js/emulation/why-not-add-loading.js +14 -3
  143. package/src/js/emulation/why-not-add.js +12 -14
  144. package/src/js/page/bloomreach-widget/bloomreach-recommendation-carousel-widget.js +318 -0
  145. package/src/js/page/bloomreach-widget/bloomreach-widget-core.js +370 -0
  146. package/src/js/page/bloomreach-widget/bloomreach-widget-tracking.js +16 -13
  147. package/src/js/page/bloomreach-widget/bloomreach-widget.js +8 -237
  148. package/src/js/page/bloomreach-widget/complete-your-project/cards.js +308 -0
  149. package/src/js/page/bloomreach-widget/complete-your-project/config.js +60 -0
  150. package/src/js/page/bloomreach-widget/complete-your-project/model.js +140 -0
  151. package/src/js/page/bloomreach-widget/complete-your-project/presenter.js +69 -0
  152. package/src/js/page/bloomreach-widget/complete-your-project/quantity.js +80 -0
  153. package/src/js/page/bloomreach-widget/complete-your-project/view.js +179 -0
  154. package/src/js/page/bloomreach-widget/complete-your-project/widget.js +185 -0
  155. package/src/js/page/bloomreach-widget/dont-forget-widget.js +15 -0
  156. package/src/js/page/bloomreach-widget/why-not-add-widget.js +10 -228
  157. package/src/js/page/plp-load-more.js +81 -66
  158. package/src/js/page/ripple/bulk-add.js +71 -0
  159. package/src/js/page/ripple/package-bulk-add.js +43 -0
  160. package/src/js/page/ripple/postcode-checker.js +83 -0
  161. package/src/js/page/ripple/thumb-gallery.js +168 -0
  162. package/src/js/page/utils/validation.js +1 -1
  163. package/src/page_bathroom-plp-vat.html +81 -0
  164. package/src/page_bathroom-plp-without-load-more.html +83 -0
  165. package/src/page_bathroom-plp.html +98 -0
  166. package/src/page_checkout_big-bulky-delivery-details.html +272 -0
  167. package/src/page_checkout_premium-delivery-details.html +2 -2
  168. package/src/page_product-details-banner.html +1 -3
  169. package/src/page_product-details-big-wins-disabled-delivery.html +1 -3
  170. package/src/page_product-details-big-wins-non-registered.html +1 -3
  171. package/src/page_product-details-big-wins-out-nearest.html +1 -3
  172. package/src/page_product-details-big-wins-unhappy.html +1 -3
  173. package/src/page_product-details-big-wins.html +1 -3
  174. package/src/page_product-details-billie.html +1 -3
  175. package/src/page_product-details-calculator.html +1 -3
  176. package/src/page_product-details-cashback-v2.html +1 -3
  177. package/src/page_product-details-clearpay.html +1 -3
  178. package/src/page_product-details-cnc-error-notification.html +1 -3
  179. package/src/page_product-details-cnc-success-notification-vat.html +1 -4
  180. package/src/page_product-details-cnc-success-notification.html +1 -3
  181. package/src/page_product-details-default-store.html +1 -3
  182. package/src/page_product-details-energy-efficiency.html +1 -3
  183. package/src/page_product-details-flooring-with-pr-placeholder.html +1 -3
  184. package/src/page_product-details-flooring.html +1 -3
  185. package/src/page_product-details-gallery-actual.html +1 -3
  186. package/src/page_product-details-mfe-calculator.html +1 -3
  187. package/src/page_product-details-mtm-doors.html +1 -3
  188. package/src/page_product-details-only-clearpay.html +1 -3
  189. package/src/page_product-details-paint-mixing.html +1 -3
  190. package/src/page_product-details-ripple-gallery.html +121 -0
  191. package/src/page_product-details-saved-pl.html +1 -3
  192. package/src/page_product-details-suite-includes-banners.html +139 -0
  193. package/src/page_product-details-suite-includes-billie.html +128 -0
  194. package/src/page_product-details-suite-includes-klarna.html +120 -0
  195. package/src/page_product-details-suite-includes-vat.html +126 -0
  196. package/src/page_product-details-suite-includes.html +122 -0
  197. package/src/page_product-details-tile-steps-klarna-widget-with-method-ids.html +1 -3
  198. package/src/page_product-details-tile-steps-logout.html +1 -3
  199. package/src/page_product-details-tile-steps-no-new-project-list.html +1 -3
  200. package/src/page_product-details-tile-steps-with-klarna.html +1 -3
  201. package/src/page_product-details-tile-steps.html +1 -3
  202. package/src/page_product-details-v2.html +1 -3
  203. package/src/page_product-details-vat.html +1 -3
  204. package/src/page_product-details-wisdom-mcfc-registered.html +1 -3
  205. package/src/page_product-details-wisdom-mcfc.html +1 -3
  206. package/src/page_product-details-wisdom-oos-registered.html +1 -3
  207. package/src/page_product-details-wisdom-oos.html +1 -3
  208. package/src/page_product-details-wisdom-registered.html +1 -3
  209. package/src/page_product-details-wisdom.html +1 -3
  210. package/src/page_product-details-with-favourite.html +1 -3
  211. package/src/page_product-details-with-global-search-v2.html +6 -9
  212. package/src/page_product-details-with-why-not-add-single.html +2 -1
  213. package/src/page_product-details_no-previous-default.html +1 -3
  214. package/src/scss/components/_cards-slider.scss +3 -1
  215. package/src/scss/components/_checkout_order.scss +2 -1
  216. package/src/scss/components/_date-selection-add-new-styles.scss +29 -0
  217. package/src/scss/components/_heavy-banners.scss +216 -0
  218. package/src/scss/components/_image-accordion.scss +54 -0
  219. package/src/scss/components/_kitchen-card.scss +1 -0
  220. package/src/scss/components/_lines-group.scss +1 -1
  221. package/src/scss/components/_package-card.scss +63 -0
  222. package/src/scss/components/_package-plp.scss +88 -0
  223. package/src/scss/components/_postcode-checker.scss +115 -0
  224. package/src/scss/components/_price-badges-critical.scss +10 -0
  225. package/src/scss/components/_price-badges.scss +10 -0
  226. package/src/scss/components/_price-block-critical.scss +1 -0
  227. package/src/scss/components/_price-block.scss +1 -0
  228. package/src/scss/components/_sticky-element-appearance.scss +6 -2
  229. package/src/scss/components/_suite-includes.scss +141 -0
  230. package/src/scss/components/_suite-product-card.scss +98 -0
  231. package/src/scss/components/_thumb-gallery-critical.scss +34 -0
  232. package/src/scss/components/_thumb-gallery.scss +192 -0
  233. package/src/scss/components/bloomreach/_bloomreach.scss +1 -0
  234. package/src/scss/components/bloomreach/_card-shared.scss +24 -0
  235. package/src/scss/components/bloomreach/_complete-card.scss +1 -9
  236. package/src/scss/components/bloomreach/_reviews.scss +0 -2
  237. package/src/scss/components/bloomreach/_why-not-add-card.scss +137 -10
  238. package/src/scss/components/bloomreach/_why-not-add.scss +31 -2
  239. package/src/scss/components/energy-efficiency.scss +2 -2
  240. package/src/scss/components/global-search.scss +6 -2
  241. package/src/scss/components/kitchen/_price.scss +10 -0
  242. package/src/scss/components/kitchen/_strip-stickers.scss +46 -0
  243. package/src/scss/components/my-account/_active-orders.scss +9 -9
  244. package/src/scss/components/price-block-v2-critical.scss +58 -0
  245. package/src/scss/components/price-block-v2.scss +58 -0
  246. package/src/scss/helpers/helpers-pdp-critical/_helpers-critical-pdp.scss +13 -8
  247. package/src/scss/libs/_bootstrap-extracted.scss +5 -0
  248. package/src/scss/main.scss +1 -0
  249. package/src/scss/pages/iframe-paypage.scss +9 -11
  250. package/src/scss/pages/page_checkout_delivery-new.scss +4 -0
  251. package/src/scss/pages/page_cms_homepage.scss +10 -4
  252. package/src/scss/pages/page_installation.scss +2 -2
  253. package/src/scss/pages/page_online-exclusive.scss +7 -3
  254. package/src/scss/pages/page_product-details-v2-critical.scss +216 -109
  255. package/src/scss/pages/page_product-details-v2.scss +168 -107
  256. package/src/scss/pages/page_product-details.scss +11 -0
  257. package/src/scss/pages/page_top-rated.scss +38 -23
  258. package/src/scss/pdp-main-critical.scss +1 -0
  259. package/src/scss/pdp-main.scss +6 -0
  260. package/src/scss/plp-main.scss +5 -0
  261. package/src/sitemap.html +15 -0
  262. package/build/css/components/kitchen/strip-stickers.css +0 -1
  263. package/build/css/components/strip-stickers.css +0 -1
  264. package/build/js/page/bloomreach-widget/complete-your-project-widget.js +0 -1100
  265. package/src/js/page/bloomreach-widget/complete-your-project-widget.js +0 -1100
  266. package/src/scss/components/kitchen/strip-stickers.scss +0 -18
  267. package/src/scss/components/strip-stickers.scss +0 -18
@@ -0,0 +1 @@
1
+ !function r(o,a,i){function l(t,e){if(!a[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(s)return s(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=a[t]={exports:{}},o[t][0].call(n.exports,function(e){return l(o[t][1][e]||e)},n,n.exports,r,o,a,i)}return a[t].exports}for(var s="function"==typeof require&&require,e=0;e<i.length;e++)l(i[e]);return l}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}n.__esModule=!0;var a=o(e("./handlebars/base")),i=r(e("./handlebars/safe-string")),l=r(e("./handlebars/exception")),s=o(e("./handlebars/utils")),c=o(e("./handlebars/runtime")),e=r(e("./handlebars/no-conflict"));function u(){var t=new a.HandlebarsEnvironment;return s.extend(t,a),t.SafeString=i.default,t.Exception=l.default,t.Utils=s,t.escapeExpression=s.escapeExpression,t.VM=c,t.template=function(e){return c.template(e,t)},t}var f=u();f.create=u,e.default(f),f.default=f,n.default=f,t.exports=n.default},{"./handlebars/base":2,"./handlebars/exception":5,"./handlebars/no-conflict":18,"./handlebars/runtime":19,"./handlebars/safe-string":20,"./handlebars/utils":21}],2:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.HandlebarsEnvironment=f;var o=e("./utils"),a=r(e("./exception")),i=e("./helpers"),l=e("./decorators"),s=r(e("./logger")),c=e("./internal/proto-access"),u=(n.VERSION="4.7.8",n.COMPILER_REVISION=8,n.LAST_COMPATIBLE_COMPILER_REVISION=7,n.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"},"[object Object]");function f(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},i.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}f.prototype={constructor:f,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(o.toString.call(e)===u){if(t)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(o.toString.call(e)===u)o.extend(this.partials,e);else{if(void 0===t)throw new a.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(o.toString.call(e)===u){if(t)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}};e=s.default.log;n.log=e,n.createFrame=o.createFrame,n.logger=s.default},{"./decorators":3,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./logger":17,"./utils":21}],3:[function(e,t,n){"use strict";n.__esModule=!0,n.registerDefaultDecorators=function(e){r.default(e)};var n=e("./decorators/inline"),r=(e=n)&&e.__esModule?e:{default:e}},{"./decorators/inline":4}],4:[function(e,t,n){"use strict";n.__esModule=!0;var i=e("../utils");n.default=function(e){e.registerDecorator("inline",function(r,o,a,e){var t=r;return o.partials||(o.partials={},t=function(e,t){var n=a.partials,e=(a.partials=i.extend({},n,o.partials),r(e,t));return a.partials=n,e}),o.partials[e.args[0]]=e.fn,t})},t.exports=n.default},{"../utils":21}],5:[function(e,t,n){"use strict";n.__esModule=!0;var s=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function c(e,t){for(var t=t&&t.loc,n=void 0,r=void 0,o=void 0,a=void 0,i=(t&&(n=t.start.line,r=t.end.line,o=t.start.column,a=t.end.column,e+=" - "+n+":"+o),Error.prototype.constructor.call(this,e)),l=0;l<s.length;l++)this[s[l]]=i[s[l]];Error.captureStackTrace&&Error.captureStackTrace(this,c);try{t&&(this.lineNumber=n,this.endLineNumber=r,Object.defineProperty?(Object.defineProperty(this,"column",{value:o,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=o,this.endColumn=a))}catch(e){}}c.prototype=new Error,n.default=c,t.exports=n.default},{}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.registerDefaultHelpers=function(e){o.default(e),a.default(e),i.default(e),l.default(e),s.default(e),c.default(e),u.default(e)},n.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var o=r(e("./helpers/block-helper-missing")),a=r(e("./helpers/each")),i=r(e("./helpers/helper-missing")),l=r(e("./helpers/if")),s=r(e("./helpers/log")),c=r(e("./helpers/lookup")),u=r(e("./helpers/with"))},{"./helpers/block-helper-missing":7,"./helpers/each":8,"./helpers/helper-missing":9,"./helpers/if":10,"./helpers/log":11,"./helpers/lookup":12,"./helpers/with":13}],7:[function(e,t,n){"use strict";n.__esModule=!0;var a=e("../utils");n.default=function(o){o.registerHelper("blockHelperMissing",function(e,t){var n=t.inverse,r=t.fn;return!0===e?r(this):!1===e||null==e?n(this):a.isArray(e)?0<e.length?(t.ids&&(t.ids=[t.name]),o.helpers.each(e,t)):n(this):(t.data&&t.ids&&((n=a.createFrame(t.data)).contextPath=a.appendContextPath(t.data.contextPath,t.name),t={data:n}),r(e,t))})},t.exports=n.default},{"../utils":21}],8:[function(e,t,n){"use strict";n.__esModule=!0;var h=e("../utils"),e=e("../exception"),m=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("each",function(r,e){if(!e)throw new m.default("Must pass iterator to #each");var t,o=e.fn,n=e.inverse,a=0,i="",l=void 0,s=void 0;function c(e,t,n){l&&(l.key=e,l.index=t,l.first=0===t,l.last=!!n,s)&&(l.contextPath=s+e),i+=o(r[e],{data:l,blockParams:h.blockParams([r[e],e],[s+e,null])})}if(e.data&&e.ids&&(s=h.appendContextPath(e.data.contextPath,e.ids[0])+"."),h.isFunction(r)&&(r=r.call(this)),e.data&&(l=h.createFrame(e.data)),r&&"object"==typeof r)if(h.isArray(r))for(var u=r.length;a<u;a++)a in r&&c(a,a,a===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var f=[],p=r[Symbol.iterator](),d=p.next();!d.done;d=p.next())f.push(d.value);for(u=(r=f).length;a<u;a++)c(a,a,a===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&c(t,a-1),t=e,a++}),void 0!==t&&c(t,a-1,!0);return i=0===a?n(this):i})},t.exports=n.default},{"../exception":5,"../utils":21}],9:[function(e,t,n){"use strict";n.__esModule=!0;var e=e("../exception"),r=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new r.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=n.default},{"../exception":5}],10:[function(e,t,n){"use strict";n.__esModule=!0;var r=e("../utils"),e=e("../exception"),o=(e=e)&&e.__esModule?e:{default:e};n.default=function(n){n.registerHelper("if",function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)}),n.registerHelper("unless",function(e,t){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return n.helpers.if.call(this,e,{fn:t.inverse,inverse:t.fn,hash:t.hash})})},t.exports=n.default},{"../exception":5,"../utils":21}],11:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(o){o.registerHelper("log",function(){for(var e=[void 0],t=arguments[arguments.length-1],n=0;n<arguments.length-1;n++)e.push(arguments[n]);var r=1;null!=t.hash.level?r=t.hash.level:t.data&&null!=t.data.level&&(r=t.data.level),e[0]=r,o.log.apply(o,e)})},t.exports=n.default},{}],12:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){e.registerHelper("lookup",function(e,t,n){return e&&n.lookupProperty(e,t)})},t.exports=n.default},{}],13:[function(e,t,n){"use strict";n.__esModule=!0;var o=e("../utils"),e=e("../exception"),a=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new a.default("#with requires exactly one argument");o.isFunction(e)&&(e=e.call(this));var n,r=t.fn;return o.isEmpty(e)?t.inverse(this):(n=t.data,t.data&&t.ids&&((n=o.createFrame(t.data)).contextPath=o.appendContextPath(t.data.contextPath,t.ids[0])),r(e,{data:n,blockParams:o.blockParams([e],[n&&n.contextPath])}))})},t.exports=n.default},{"../exception":5,"../utils":21}],14:[function(e,t,n){"use strict";n.__esModule=!0,n.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.extend.apply(void 0,[Object.create(null)].concat(t))};var r=e("../utils")},{"../utils":21}],15:[function(e,t,n){"use strict";n.__esModule=!0,n.createProtoAccessControl=function(e){var t=Object.create(null),n=(t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1,Object.create(null));return n.__proto__=!1,{properties:{whitelist:r.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:r.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},n.resultIsAllowed=function(e,t,n){return i("function"==typeof e?t.methods:t.properties,n)},n.resetLoggedProperties=function(){Object.keys(a).forEach(function(e){delete a[e]})};var r=e("./create-new-lookup-object"),n=e("../logger"),o=(e=n)&&e.__esModule?e:{default:e},a=Object.create(null);function i(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==a[e=t]&&(a[e]=!0,o.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},{"../logger":17,"./create-new-lookup-object":14}],16:[function(e,t,n){"use strict";n.__esModule=!0,n.wrapHelper=function(t,n){if("function"!=typeof t)return t;return function(){var e=arguments[arguments.length-1];return arguments[arguments.length-1]=n(e),t.apply(this,arguments)}}},{}],17:[function(e,t,n){"use strict";n.__esModule=!0;var r=e("./utils"),o={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=r.indexOf(o.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=o.lookupLevel(e),"undefined"!=typeof console&&o.lookupLevel(o.level)<=e){e=o.methodMap[e];console[e]||(e="log");for(var t=arguments.length,n=Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console[e].apply(console,n)}}};n.default=o,t.exports=n.default},{"./utils":21}],18:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},t.exports=n.default},{}],19:[function(e,t,n){"use strict";n.__esModule=!0,n.checkRevision=function(e){var t=e&&e[0]||1,n=p.COMPILER_REVISION;if(!(t>=p.LAST_COMPATIBLE_COMPILER_REVISION&&t<=p.COMPILER_REVISION))throw t<p.LAST_COMPATIBLE_COMPILER_REVISION?(n=p.REVISION_CHANGES[n],t=p.REVISION_CHANGES[t],new f.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+t+").")):new f.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},n.template=function(s,c){if(!c)throw new f.default("No environment passed to template");if(!s||!s.main)throw new f.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,c.VM.checkRevision(s.compiler);var n=s.compiler&&7===s.compiler[0];var i={strict:function(e,t,n){if(e&&t in e)return i.lookupProperty(e,t);throw new f.default('"'+t+'" not defined in '+e,{loc:n})},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||h.resultIsAllowed(n,i.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(null!=(e[r]&&i.lookupProperty(e[r],t)))return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:u.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=u.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=c.VM.resolvePartial.call(this,e,t,n);var r=u.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=c.VM.invokePartial.call(this,e,t,r);if(null==o&&c.compile&&(n.partials[n.name]=c.compile(e,s.compilerOptions,c),o=n.partials[n.name](t,r)),null==o)throw new f.default("The partial "+n.name+" could not be compiled when running in runtime-only mode");if(n.indent){for(var a=o.split("\n"),i=0,l=a.length;i<l&&(a[i]||i+1!==l);i++)a[i]=n.indent+a[i];o=a.join("\n")}return o},fn:function(e){var t=s[e];return t.decorator=s[e+"_d"],t},programs:[],program:function(e,t,n,r,o){var a=this.programs[e],i=this.fn(e);return a=t||o||r||n?m(this,e,i,t,n,r,o):a||(this.programs[e]=m(this,e,i))},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return n=e&&t&&e!==t?u.extend({},t,e):n},nullContext:Object.seal({}),noop:c.VM.noop,compilerInfo:s.compiler};function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.data,r=(l._setup(t),!t.partial&&s.useData&&(n=function(e,t){t&&"root"in t||((t=t?p.createFrame(t):{}).root=e);return t}(e,n)),void 0),o=s.useBlockParams?[]:void 0;function a(e){return""+s.main(i,e,i.helpers,i.partials,n,o,r)}return s.useDepths&&(r=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=v(s.main,a,i,t.depths||[],n,o))(e,t)}return l.isTop=!0,l._setup=function(e){var t,r,o;e.partial?(i.protoAccessControl=e.protoAccessControl,i.helpers=e.helpers,i.partials=e.partials,i.decorators=e.decorators,i.hooks=e.hooks):(t=u.extend({},c.helpers,e.helpers),r=t,o=i,Object.keys(r).forEach(function(e){var t,n=r[e];r[e]=(t=o.lookupProperty,d.wrapHelper(n,function(e){return u.extend({lookupProperty:t},e)}))}),i.helpers=t,s.usePartial&&(i.partials=i.mergeIfNeeded(e.partials,c.partials)),(s.usePartial||s.useDecorators)&&(i.decorators=u.extend({},c.decorators,e.decorators)),i.hooks={},i.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||n,a.moveHelperToHooks(i,"helperMissing",t),a.moveHelperToHooks(i,"blockHelperMissing",t))},l._child=function(e,t,n,r){if(s.useBlockParams&&!n)throw new f.default("must pass block params");if(s.useDepths&&!r)throw new f.default("must pass parent depths");return m(i,e,s[e],t,0,n,r)},l},n.wrapProgram=m,n.resolvePartial=function(e,t,n){e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name];return e},n.invokePartial=function(e,t,r){var o=r.data&&r.data["partial-block"];r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var a=void 0;r.fn&&r.fn!==i&&!function(){r.data=p.createFrame(r.data);var n=r.fn;a=r.data["partial-block"]=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.data=p.createFrame(t.data),t.data["partial-block"]=o,n(e,t)},n.partials&&(r.partials=u.extend({},r.partials,n.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new f.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=i;var u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e("./utils")),n=e("./exception"),f=(n=n)&&n.__esModule?n:{default:n},p=e("./base"),a=e("./helpers"),d=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(r,e,o,a,t,i,l){function n(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=l;return!l||e==l[0]||e===r.nullContext&&null===l[0]||(n=[e].concat(l)),o(r,e,r.helpers,r.partials,t.data||a,i&&[t.blockParams].concat(i),n)}return(n=v(o,n,r,l,a,i)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function i(){return""}function v(e,t,n,r,o,a){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],o,a,r),u.extend(t,e)),t}},{"./base":2,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./internal/wrapHelper":16,"./utils":21}],20:[function(e,t,n){"use strict";function r(e){this.string=e}n.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},n.default=r,t.exports=n.default},{}],21:[function(e,t,n){"use strict";n.__esModule=!0,n.extend=l,n.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},n.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return a.test(e)?e.replace(o,i):e},n.isEmpty=function(e){return!e&&0!==e||!(!u(e)||0!==e.length)},n.createFrame=function(e){var t=l({},e);return t._parent=e,t},n.blockParams=function(e,t){return e.path=t,e},n.appendContextPath=function(e,t){return(e?e+".":"")+t};var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},o=/[&<>"'`=]/g,a=/[&<>"'`=]/;function i(e){return r[e]}function l(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var s=Object.prototype.toString,c=(n.toString=s,function(e){return"function"==typeof e}),u=(c(/x/)&&(n.isFunction=c=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),n.isFunction=c,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});n.isArray=u},{}],22:[function(e,t,n){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":1}],23:[function(e,t,n){t.exports=e("handlebars/runtime").default},{"handlebars/runtime":22}],24:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,o){return"notification notification_general"},3:function(e,t,n,r,o){return' <span class="icon notification__icon">\n <span class="fas fa-check-circle"></span>\n </span>\n'},5:function(e,t,n,r,o){return' <span class="icon notification__icon">\n <span class="fas fa-exclamation-circle"></span>\n </span>\n'},7:function(e,t,n,r,o){return' <span class="icon notification__icon">\n <span class="fas fa-times-circle"></span>\n </span>\n'},9:function(e,t,n,r,o){return' <span class="icon notification__icon">\n <i class="fas fa-user-hard-hat"></i>\n </span>\n'},11:function(e,t,n,r,o){var a,i,l=null!=t?t:e.nullContext||{},s=e.hooks.helperMissing,c="function",e=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <div class="notification__wrap">\n <h4 class="title">'+(null!=(a=typeof(i=null!=(i=e(n,"title")||(null!=t?e(t,"title"):t))?i:s)==c?i.call(l,{name:"title",hash:{},data:o,loc:{start:{line:30,column:24},end:{line:30,column:35}}}):i)?a:"")+'</h4>\n <p class="description">'+(null!=(a=typeof(i=null!=(i=e(n,"text")||(null!=t?e(t,"text"):t))?i:s)==c?i.call(l,{name:"text",hash:{},data:o,loc:{start:{line:31,column:29},end:{line:31,column:39}}}):i)?a:"")+"</p>\n </div>\n"},13:function(e,t,n,r,o){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" "+(null!=(a="function"==typeof(n=null!=(n=a(n,"text")||(null!=t?a(t,"text"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"text",hash:{},data:o,loc:{start:{line:34,column:4},end:{line:34,column:14}}}):n)?a:"")+"\n"},15:function(e,t,n,r,o){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <div class="accordion-notifications">\n <input class="accordion-notifications-item-input" type="checkbox" name="accordion-notifications" id="accordion-notifications" />\n <div class="accordion-notifications-list">\n <div class="additional-notifications">\n'+(null!=(n=a(n,"each").call(null!=t?t:e.nullContext||{},null!=t?a(t,"additional-list"):t,{name:"each",hash:{},fn:e.program(16,o,0),inverse:e.noop,data:o,loc:{start:{line:42,column:8},end:{line:44,column:17}}}))?n:"")+' </div>\n </div>\n <label for="accordion-notifications" class="accordion-notifications-view-all">View all errors</label>\n </div>\n'},16:function(e,t,n,r,o){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <p class="notification-item">'+(null!=(a="function"==typeof(n=null!=(n=a(n,"notification")||(null!=t?a(t,"notification"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"notification",hash:{},data:o,loc:{start:{line:43,column:39},end:{line:43,column:57}}}):n)?a:"")+"</p>\n"},18:function(e,t,n,r,o){return' <b>\n <a class="notification_link" href="#">Learn more</a>\n </b>\n'},20:function(e,t,n,r,o){return' <i class="fas fa-angle-right"></i>\n'},22:function(e,t,n,r,o){var a,i=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <span class="icon notification__close notification__close'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"mod")||(null!=t?l(t,"mod"):t))?a:e.hooks.helperMissing)?a.call(i,{name:"mod",hash:{},data:o,loc:{start:{line:60,column:61},end:{line:60,column:68}}}):a)+'">\n <span class="fa'+(null!=(a=l(n,"if").call(i,null!=t?l(t,"bold"):t,{name:"if",hash:{},fn:e.program(23,o,0),inverse:e.program(25,o,0),data:o,loc:{start:{line:61,column:21},end:{line:61,column:50}}}))?a:"")+' fa-times"></span>\n </span>\n'},23:function(e,t,n,r,o){return"s"},25:function(e,t,n,r,o){return"r"},27:function(e,t,n,r,o){var a,i=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <span class="icon notification__hide notification_accordion"\n data-toggle="collapse" data-target="#'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"target-id")||(null!=t?l(t,"target-id"):t))?a:e.hooks.helperMissing)?a.call(i,{name:"target-id",hash:{},data:o,loc:{start:{line:66,column:47},end:{line:66,column:60}}}):a)+'">\n <span class="fa'+(null!=(a=l(n,"if").call(i,null!=t?l(t,"bold"):t,{name:"if",hash:{},fn:e.program(23,o,0),inverse:e.program(25,o,0),data:o,loc:{start:{line:67,column:27},end:{line:67,column:56}}}))?a:"")+' fa-times"></span>\n </span>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var a,i,l=null!=t?t:e.nullContext||{},s=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="'+(null!=(a=s(n,"unless").call(l,null!=t?s(t,"app"):t,{name:"unless",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:12},end:{line:1,column:71}}}))?a:"")+" "+e.escapeExpression("function"==typeof(i=null!=(i=s(n,"classModifier")||(null!=t?s(t,"classModifier"):t))?i:e.hooks.helperMissing)?i.call(l,{name:"classModifier",hash:{},data:o,loc:{start:{line:1,column:72},end:{line:1,column:89}}}):i)+'">\n'+(null!=(a=s(n,"if").call(l,null!=t?s(t,"success"):t,{name:"if",hash:{},fn:e.program(3,o,0),inverse:e.noop,data:o,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"warning"):t,{name:"if",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:2},end:{line:11,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"info"):t,{name:"if",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"error"):t,{name:"if",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:17,column:2},end:{line:21,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"reminder"):t,{name:"if",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:22,column:2},end:{line:26,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"title"):t,{name:"if",hash:{},fn:e.program(11,o,0),inverse:e.program(13,o,0),data:o,loc:{start:{line:28,column:2},end:{line:35,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"additional-notifications"):t,{name:"if",hash:{},fn:e.program(15,o,0),inverse:e.noop,data:o,loc:{start:{line:37,column:2},end:{line:49,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"link"):t,{name:"if",hash:{},fn:e.program(18,o,0),inverse:e.noop,data:o,loc:{start:{line:51,column:2},end:{line:55,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"angle-icon"):t,{name:"if",hash:{},fn:e.program(20,o,0),inverse:e.noop,data:o,loc:{start:{line:56,column:2},end:{line:58,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"withCloseBtn"):t,{name:"if",hash:{},fn:e.program(22,o,0),inverse:e.noop,data:o,loc:{start:{line:59,column:2},end:{line:63,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"withHideBtn"):t,{name:"if",hash:{},fn:e.program(27,o,0),inverse:e.noop,data:o,loc:{start:{line:64,column:2},end:{line:69,column:9}}}))?a:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createBulkAddHelper=function(e){var t=e.productCodeSelector,n=null,r=null;function o(){return $(t).val()}function a(e){e=e&&e.bulkAddToCartData;e&&n.show({type:e.messageType,text:e.messageText})}return{init:function(){n=n||(0,i.createToast)({template:s}),r=r||(0,l.createLoadingButton)()},getProductCode:o,addProductToCart:function(e){var t={entries:[{productCode:o(),quantity:u}]};return e&&(t.postCode=e),p(c,t)},showBulkAddResult:a,showBulkAddFailed:function(){return a(f)},get loadingButton(){return r}}},n.dispatchWindowEvent=p;var i=e("../utils/create-toast"),l=e("../utils/create-loading-button"),o=e("../utils/create-event"),s=e("../../../elements/notifications.hbs"),c="bulkAddToCart",u=1,f={bulkAddToCartData:{messageType:"error",messageText:"Product was not added to basket"}};function p(n,r){return new Promise(function(e,t){window.dispatchEvent((0,o.createEvent)(n,r,{resolve:e,reject:t}))})}},{"../../../elements/notifications.hbs":24,"../utils/create-event":27,"../utils/create-loading-button":28,"../utils/create-toast":29}],26:[function(e,t,n){"use strict";function k(e){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}e=e("./bulk-add");function P(){P=function(){return i};var i={},e=Object.prototype,s=e.hasOwnProperty,c=Object.defineProperty||function(e,t,n){e[t]=n.value},t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",n=t.asyncIterator||"@@asyncIterator",o=t.toStringTag||"@@toStringTag";function a(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{a({},"")}catch(e){a=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o,a,i,l,t=t&&t.prototype instanceof p?t:p,t=Object.create(t.prototype),r=new _(r||[]);return c(t,"_invoke",{value:(o=e,a=n,i=r,l="suspendedStart",function(e,t){if("executing"===l)throw new Error("Generator is already running");if("completed"===l){if("throw"===e)throw t;return{value:void 0,done:!0}}for(i.method=e,i.arg=t;;){var n=i.delegate;if(n){n=function e(t,n){var r=n.method,o=t.iterator[r];if(void 0===o)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=void 0,e(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;r=u(o,t.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;o=r.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,f):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}(n,i);if(n){if(n===f)continue;return n}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===l)throw l="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);l="executing";n=u(o,a,i);if("normal"===n.type){if(l=i.done?"completed":"suspendedYield",n.arg===f)continue;return{value:n.arg,done:i.done}}"throw"===n.type&&(l="completed",i.method="throw",i.arg=n.arg)}})}),t}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}i.wrap=l;var f={};function p(){}function d(){}function h(){}var t={},m=(a(t,r,function(){return this}),Object.getPrototypeOf),m=m&&m(m(x([]))),v=(m&&m!==e&&s.call(m,r)&&(t=m),h.prototype=p.prototype=Object.create(t));function g(e){["next","throw","return"].forEach(function(t){a(e,t,function(e){return this._invoke(t,e)})})}function y(i,l){var t;c(this,"_invoke",{value:function(n,r){function e(){return new l(function(e,t){!function t(e,n,r,o){var a,e=u(i[e],i,n);if("throw"!==e.type)return(n=(a=e.arg).value)&&"object"==k(n)&&s.call(n,"__await")?l.resolve(n.__await).then(function(e){t("next",e,r,o)},function(e){t("throw",e,r,o)}):l.resolve(n).then(function(e){a.value=e,r(a)},function(e){return t("throw",e,r,o)});o(e.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}})}function b(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function x(t){if(t||""===t){var n,e=t[r];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return n=-1,(e=function e(){for(;++n<t.length;)if(s.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e}).next=e}throw new TypeError(k(t)+" is not iterable")}return c(v,"constructor",{value:d.prototype=h,configurable:!0}),c(h,"constructor",{value:d,configurable:!0}),d.displayName=a(h,o,"GeneratorFunction"),i.isGeneratorFunction=function(e){e="function"==typeof e&&e.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},i.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,a(e,o,"GeneratorFunction")),e.prototype=Object.create(v),e},i.awrap=function(e){return{__await:e}},g(y.prototype),a(y.prototype,n,function(){return this}),i.AsyncIterator=y,i.async=function(e,t,n,r,o){void 0===o&&(o=Promise);var a=new y(l(e,t,n,r),o);return i.isGeneratorFunction(t)?a:a.next().then(function(e){return e.done?e.value:a.next()})},g(v),a(v,o,"Generator"),a(v,r,function(){return this}),a(v,"toString",function(){return"[object Generator]"}),i.keys=function(e){var t,n=Object(e),r=[];for(t in n)r.push(t);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},i.values=x,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return a.type="throw",a.arg=n,r.next=e,t&&(r.method="next",r.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var o=this.tryEntries[t],a=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var i=s.call(o,"catchLoc"),l=s.call(o,"finallyLoc");if(i&&l){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}var a=(o=o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc?null:o)?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n,r,o=this.tryEntries[t];if(o.tryLoc===e)return"throw"===(n=o.completion).type&&(r=n.arg,w(o)),r}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},i}function s(e,t,n,r,o,a,i){try{var l=e[a](i),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,o)}var r,o,a,i=window.Wick||{};function l(e){return c.apply(this,arguments)}function c(){var l;return l=P().mark(function e(t){var n;return P().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),n=$(r),a.loadingButton.isLoading(n))return e.abrupt("return");e.next=4;break;case 4:return a.loadingButton.start(n),e.prev=5,e.t0=a,e.next=9,a.addProductToCart();case 9:e.t1=e.sent,e.t0.showBulkAddResult.call(e.t0,e.t1),i.MiniBasketSliderFE.isMiniBasketLoaded=!1,e.next=17;break;case 14:e.prev=14,e.t2=e.catch(5),a.showBulkAddFailed();case 17:return e.prev=17,a.loadingButton.stop(n),e.finish(17);case 20:case"end":return e.stop()}},e,null,[[5,14,17,20]])}),(c=function(){var e=this,i=arguments;return new Promise(function(t,n){var r=l.apply(e,i);function o(e){s(r,t,n,o,a,"next",e)}function a(e){s(r,t,n,o,a,"throw",e)}o(void 0)})}).apply(this,arguments)}i.PackageBulkAdd=(r=".package-bulk-add",o=".pdp-price input[name=productCodePost]",a=(0,e.createBulkAddHelper)({productCodeSelector:o}),{init:function(){a.init(),$(r).on("click",l)}}),$(document).ready(i.PackageBulkAdd.init)},{"./bulk-add":25}],27:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createEvent=function(e,t,n){return new CustomEvent(e,{detail:{payload:t,resolve:n.resolve,reject:n.reject}})}},{}],28:[function(e,t,n){"use strict";function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}Object.defineProperty(n,"__esModule",{value:!0}),n.createLoadingButton=function(){var n=function(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach(function(e){var t,n;t=r,n=o[e=e],(e=function(e){e=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===a(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}({text:".loading-button__text",loader:".loading-button__loader",loadingClass:"loading-button--loading"},0<arguments.length&&void 0!==arguments[0]?arguments[0]:{});function t(e,t){e.length&&(e.toggleClass(n.loadingClass,t),e.find(n.text).toggleClass("d-none",t),e.find(n.loader).toggleClass("d-none",!t))}return{setLoading:t,start:function(e){t(e,!0)},stop:function(e){t(e,!1)},isLoading:function(e){return e.hasClass(n.loadingClass)}}}},{}],29:[function(e,t,n){"use strict";function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}Object.defineProperty(n,"__esModule",{value:!0}),n.createToast=function(){var n=function(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach(function(e){var t,n;t=r,n=o[e=e],(e=function(e){e=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===a(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}({containerClass:"toast-container",toastClass:"toast",closeSelector:".notification__close",backdropClass:"modal-backdrop--toast",duration:3e3,template:null,getData:function(e,t){return{text:t,classModifier:"".concat(n.toastClass," notification_").concat(e),success:"success"===e,warning:"warning"===e,error:"error"===e}}},0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}),r=null;function o(){r&&(window.clearTimeout(r),r=null),$(".".concat(n.containerClass)).remove(),$(".".concat(n.backdropClass)).removeClass(n.backdropClass),window.Wick&&Wick.Backdrop&&Wick.Backdrop.hide(),$(document).off("click.toast")}return{show:function(e){var t=void 0===(t=e.type)?"success":t,e=void 0===(e=e.text)?"":e;n.template&&(o(),t=n.template(n.getData(t,e)),window.Wick&&Wick.Backdrop&&(Wick.Backdrop.show(),$(".modal-backdrop").addClass(n.backdropClass)),$("body").append('<div class="'.concat(n.containerClass,'">').concat(t,"</div>")),$(".".concat(n.containerClass)).off("click.toastClose",n.closeSelector).on("click.toastClose",n.closeSelector,function(e){e.preventDefault(),o()}),$(document).off("click.toast").on("click.toast",".".concat(n.backdropClass),function(){o()}),r=window.setTimeout(o,n.duration))},hide:o}}},{}]},{},[26]);
@@ -0,0 +1,318 @@
1
+ import { createLoadingButton } from '../utils/create-loading-button';
2
+ import { createBloomreachWidget } from './bloomreach-widget-core';
3
+
4
+ const Handlebars = require('hbsfy/runtime');
5
+
6
+ Handlebars.registerPartial('loader', require('../../../elements/loader.hbs'));
7
+ Handlebars.registerPartial('button', require('../../../components/base/button.hbs'));
8
+ Handlebars.registerPartial(
9
+ 'bloomreach/why-not-add-card',
10
+ require('../../../components/bloomreach/why-not-add-card.hbs')
11
+ );
12
+ Handlebars.registerPartial('reviews-rating', require('../../../components/reviews-rating.hbs'));
13
+
14
+ const recommendationCarouselTemplate = require('../../../components/bloomreach/why-not-add-content.hbs');
15
+
16
+ const DEFAULT_EL = {
17
+ addToCartError: '[data-add-to-cart-error]',
18
+ card: '.why-not-add-card',
19
+ cardWrapper: '.why-not-add-card-wrapper',
20
+ cta: '.why-not-add-card__cta',
21
+ next: '[data-why-not-add-next]',
22
+ pagination: '[data-why-not-add-pagination]',
23
+ productLink: '.why-not-add-card__title',
24
+ prev: '[data-why-not-add-prev]',
25
+ root: '[data-why-not-add]',
26
+ slider: '[data-why-not-add-slider]',
27
+ productCodeAttribute: 'data-product-code',
28
+ };
29
+
30
+ export function createBloomreachRecommendationCarouselWidget(config) {
31
+ const state = {
32
+ sliders: [],
33
+ loadingButton: null,
34
+ };
35
+ const el = {
36
+ ...DEFAULT_EL,
37
+ widgetContainer: config.widgetContainer,
38
+ };
39
+ const addToCartEvent = config.addToCartEvent || 'addToCart';
40
+ let widget = null;
41
+
42
+ function getRenderedRoots($container) {
43
+ let $roots = $container.find(el.root);
44
+
45
+ if (config.modifier) {
46
+ $roots = $roots.filter(`.${config.modifier}`);
47
+ }
48
+
49
+ return $roots;
50
+ }
51
+
52
+ function removeRenderedWidget($container) {
53
+ getRenderedRoots($container).remove();
54
+ }
55
+
56
+ function normalizeProducts(payloadData) {
57
+ return Wick.BloomreachWidget.normalizePayload(payloadData)
58
+ .map(function (item) {
59
+ return item.baseProduct || item;
60
+ })
61
+ .filter(function (product) {
62
+ return config.isEligibleProduct ? config.isEligibleProduct(product) : true;
63
+ })
64
+ .slice(0, 5);
65
+ }
66
+
67
+ function renderWidget($container, payloadData) {
68
+ const products = normalizeProducts(payloadData);
69
+
70
+ if (!products.length) {
71
+ if (config.appendToContainer) {
72
+ removeRenderedWidget($container);
73
+ } else {
74
+ $container.empty().hide();
75
+ }
76
+
77
+ return;
78
+ }
79
+
80
+ const html = recommendationCarouselTemplate({
81
+ title: config.title,
82
+ modifier: config.modifier,
83
+ products: products.map(function (product) {
84
+ return {
85
+ ...Wick.BloomreachWidget.getProductRenderData(product),
86
+ addToCartError: config.addToCartError,
87
+ showBadge: !config.hideBadge,
88
+ };
89
+ }),
90
+ isSingleProduct: products.length === 1,
91
+ });
92
+
93
+ if (config.appendToContainer) {
94
+ removeRenderedWidget($container);
95
+ $container.append(html);
96
+ return;
97
+ }
98
+
99
+ $container.html(html).show();
100
+ }
101
+
102
+ function destroySliders() {
103
+ state.sliders.forEach(function (slider) {
104
+ if (slider && slider.destroy) {
105
+ slider.destroy(true, true);
106
+ }
107
+ });
108
+
109
+ state.sliders = [];
110
+ }
111
+
112
+ function initSliders($root) {
113
+ destroySliders();
114
+
115
+ $root.find(el.slider).each(function () {
116
+ const sliderEl = this;
117
+ const $slider = $(sliderEl);
118
+ const $widget = $slider.closest(el.root);
119
+ const slidesCount = $slider.find('.swiper-slide').length;
120
+
121
+ if (slidesCount <= 1) {
122
+ return;
123
+ }
124
+
125
+ const slider = new Swiper(sliderEl, {
126
+ roundLengths: true,
127
+ slidesPerView: 1,
128
+ spaceBetween: 12,
129
+ watchOverflow: true,
130
+ navigation: {
131
+ nextEl: $widget.find(el.next)[0],
132
+ prevEl: $widget.find(el.prev)[0],
133
+ disabledClass: 'why-not-add__arrow--disabled',
134
+ },
135
+ pagination: {
136
+ el: $widget.find(el.pagination)[0],
137
+ clickable: true,
138
+ renderBullet(index, className) {
139
+ return `<button class="${className}" type="button" aria-label="Go to slide ${
140
+ index + 1
141
+ }"></button>`;
142
+ },
143
+ bulletClass: 'why-not-add__pagination-item',
144
+ bulletActiveClass: 'why-not-add__pagination-item--active',
145
+ },
146
+ });
147
+
148
+ state.sliders.push(slider);
149
+ });
150
+ }
151
+
152
+ function setCardAdded($card) {
153
+ const $button = $card.find(el.cta);
154
+
155
+ $card.removeClass('why-not-add-card--failed').addClass('why-not-add-card--added');
156
+ $card.find('.why-not-add-card__error').addClass('d-none');
157
+
158
+ $button.prop('disabled', true).attr('aria-label', 'Added to basket');
159
+ $button.find('.loading-button__text').addClass('d-none');
160
+ $button.find('.button__icon--success').removeClass('d-none');
161
+ }
162
+
163
+ function setCardFailed($card, messageText) {
164
+ const $button = $card.find(el.cta);
165
+ const errorText = messageText || config.addToCartError;
166
+
167
+ $card.removeClass('why-not-add-card--added').addClass('why-not-add-card--failed');
168
+
169
+ $button
170
+ .prop('disabled', true)
171
+ .attr('aria-label', errorText || 'Product has not been added to basket');
172
+
173
+ if (errorText) {
174
+ $card.find(el.addToCartError).text(errorText);
175
+ }
176
+
177
+ $card.find('.why-not-add-card__error').removeClass('d-none');
178
+ }
179
+
180
+ function handleAddToCartResponse($card, response) {
181
+ const messageType = response && response.messageType;
182
+ const isSuccess = !messageType || messageType === 'success';
183
+
184
+ if (isSuccess) {
185
+ if (config.disableAfterSuccess) {
186
+ setCardAdded($card);
187
+ }
188
+
189
+ return;
190
+ }
191
+
192
+ if (config.disableAfterFailure) {
193
+ setCardFailed($card, response && response.messageText);
194
+ }
195
+ }
196
+
197
+ function getAddToCartPayload(productCode) {
198
+ const payload = { productCode };
199
+
200
+ if (config.doNotShowAddedProductPopup) {
201
+ payload.doNotShowAddedProductPopup = true;
202
+ }
203
+
204
+ return payload;
205
+ }
206
+
207
+ function bindProductTracking($root) {
208
+ $root.off(`click.${config.namespace}Tracking`, el.productLink);
209
+ $root.on(`click.${config.namespace}Tracking`, el.productLink, function (event) {
210
+ const productCode = $(event.currentTarget)
211
+ .closest(el.card)
212
+ .attr(el.productCodeAttribute);
213
+
214
+ widget.tracking.trackClick(productCode);
215
+ });
216
+ }
217
+
218
+ function bindAddToCart($root) {
219
+ $root.off(`click.${config.namespace}`, el.cta);
220
+ $root.on(`click.${config.namespace}`, el.cta, function (event) {
221
+ event.preventDefault();
222
+
223
+ const $button = $(event.currentTarget);
224
+ const $card = $button.closest(el.cardWrapper);
225
+ const productCode = $card.find(el.card).attr(el.productCodeAttribute);
226
+
227
+ if (
228
+ !productCode ||
229
+ $button.prop('disabled') ||
230
+ state.loadingButton.isLoading($button)
231
+ ) {
232
+ return;
233
+ }
234
+
235
+ widget.tracking.trackAddToCart([
236
+ {
237
+ item_id: productCode,
238
+ sku: productCode,
239
+ },
240
+ ]);
241
+
242
+ state.loadingButton.start($button);
243
+
244
+ Wick.BloomreachWidget.dispatchWidgetEvent(
245
+ addToCartEvent,
246
+ getAddToCartPayload(productCode)
247
+ )
248
+ .then(function (response) {
249
+ state.loadingButton.stop($button);
250
+
251
+ if (config.doNotShowAddedProductPopup) {
252
+ handleAddToCartResponse($card, response);
253
+ return;
254
+ }
255
+
256
+ if (Wick.MiniBasketSliderFE) {
257
+ Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
258
+ }
259
+ })
260
+ .catch(function (error) {
261
+ state.loadingButton.stop($button);
262
+
263
+ if (config.disableAfterFailure) {
264
+ setCardFailed($card, error && (error.messageText || error.message));
265
+ }
266
+ });
267
+ });
268
+ }
269
+
270
+ function bindVatToggle() {
271
+ if (Wick.BloomreachWidget.bindVatToggle) {
272
+ Wick.BloomreachWidget.bindVatToggle(`${config.namespace}VatToggle`);
273
+ }
274
+ }
275
+
276
+ function initRenderedWidget($container) {
277
+ const $root = getRenderedRoots($container).last();
278
+
279
+ if (!$root.length) {
280
+ return;
281
+ }
282
+
283
+ if (!state.loadingButton) {
284
+ state.loadingButton = createLoadingButton({
285
+ text: Wick.BloomreachWidget.el.loadingButtonText,
286
+ loader: Wick.BloomreachWidget.el.loadingButtonLoader,
287
+ });
288
+ }
289
+
290
+ Wick.BloomreachWidget.drawRating($root);
291
+ initSliders($root);
292
+ bindProductTracking($root);
293
+ bindAddToCart($root);
294
+ bindVatToggle();
295
+ Wick.BloomreachWidget.reapplyVatDisplay();
296
+ }
297
+
298
+ widget = createBloomreachWidget({
299
+ el,
300
+ hide($containers) {
301
+ if (config.appendToContainer) {
302
+ $containers.each(function () {
303
+ removeRenderedWidget($(this));
304
+ });
305
+ return;
306
+ }
307
+
308
+ $containers.empty().hide();
309
+ },
310
+ renderWidget,
311
+ initRenderedWidget,
312
+ getViewTargets($containers) {
313
+ return [$containers.find(el.productLink).get(0), $containers.find(el.cta).get(0)];
314
+ },
315
+ });
316
+
317
+ return widget;
318
+ }