wickes-css2 2.105.0-develop.7 → 2.105.0-develop.8
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.
- package/Readme.md +2 -2
- package/build/css/category-main.css +1 -1
- package/build/css/homepage-main.css +1 -1
- package/build/css/kitchen-plp-main.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -1
- package/build/css/my-account-main.css +1 -1
- package/build/css/pages/my-account-v2.css +1 -1
- package/build/css/pages/page_discount.css +1 -1
- package/build/css/pages/page_product_search.css +1 -1
- package/build/css/pages/page_products-list-combined.css +1 -1
- package/build/css/pages/page_products-list.css +1 -1
- package/build/css/pages/tradePro-rewards.css +1 -1
- package/build/css/pdp-main-before-combine.css +1 -1
- package/build/css/pdp-main-non-critical.css +1 -1
- package/build/css/pdp-main.css +1 -1
- package/build/css/plp-main.css +1 -1
- package/build/css/store-locator-main.css +1 -1
- package/build/js/basket.min.js +2 -2
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +2 -2
- package/build/js/emulation.min.js +10255 -10784
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/kitchen/kitchen-plp.min.js +9 -1
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/mini-basket-slider.min.js +1 -1
- package/build/js/my-account.min.js +1 -1
- package/build/js/page/accordion.js +35 -0
- package/build/js/page/basket/basket-update-cart-action.js +56 -59
- package/build/js/page/basket/basket-update-cart.js +27 -27
- package/build/js/page/basket/basket-utils.js +33 -40
- package/build/js/page/basket/mini-basket-total.js +66 -70
- package/build/js/page/basket/quantity-change-handler.js +55 -73
- package/build/js/page/basket/update-quantity-operation.js +30 -39
- package/build/js/page/basket/update-quantity.js +62 -62
- package/build/js/page/basket-v2.js +229 -362
- package/build/js/page/billie-business-type.js +27 -27
- package/build/js/page/checkout-payment-details.js +299 -301
- package/build/js/page/components/discounts.js +36 -39
- package/build/js/page/components/mini-basket-slider.js +545 -604
- package/build/js/page/kitchen/plp-filters-chips.js +90 -0
- package/build/js/page/kitchen/plp-filters-mobile.js +72 -0
- package/build/js/page/kitchen/plp-filters-panel.js +119 -0
- package/build/js/page/kitchen/plp-filters-utils.js +65 -0
- package/build/js/page/kitchen/plp-filters.js +205 -0
- package/build/js/page/kitchen/sort-by.js +157 -0
- package/build/js/page/klarna-modal-scroll-disable.js +4 -4
- package/build/js/page/my-account.js +14 -29
- package/build/js/page/online-exclusive.js +30 -28
- package/build/js/page/tradePro-rewards.js +39 -69
- package/build/js/page/utils/copy-to-clipboard.js +47 -79
- package/build/js/page/utils/helpers.js +9 -14
- package/build/js/pdp.bundle.min.js +1 -1
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/project-list.min.js +85 -143
- package/build/js/tradePro-rewards.min.js +1 -1
- package/package.json +3 -3
- package/src/components/.DS_Store +0 -0
- package/src/components/accordion.hbs +2 -2
- package/src/components/kitchen/dropdown.hbs +3 -6
- package/src/components/kitchen/filter-modal.hbs +13 -10
- package/src/components/kitchen/plp-filters.hbs +1 -3
- package/src/components/kitchen/sort-by.hbs +1 -1
- package/src/components/my-account/barcode.hbs +1 -3
- package/src/components/my-account/cards-swap.hbs +10 -0
- package/src/components/my-account/clipboard-code-card.hbs +3 -3
- package/src/components/my-account/discount.hbs +1 -1
- package/src/components/my-account/greetings.hbs +1 -1
- package/src/components/search-filter.hbs +112 -121
- package/src/data/data_plp_load-more.json +1 -1
- package/src/data/my-account/data_my-account.json +9 -0
- package/src/js/components/cards-swap.js +72 -0
- package/src/js/components/general/accordion.js +33 -44
- package/src/js/components/general/cart-slider.js +16 -19
- package/src/js/components/general/create-popup-slider.js +173 -168
- package/src/js/components/general/search-filter.js +21 -0
- package/src/js/components/share-project-list.js +53 -0
- package/src/js/emulation/big-wins.js +904 -1081
- package/src/js/emulation/billie-modal.js +19 -23
- package/src/js/emulation/checkout-payment-details.js +38 -47
- package/src/js/emulation/custom-slider-emulation.js +13 -17
- package/src/js/emulation/forms.js +323 -360
- package/src/js/emulation/mini-basket-data.js +923 -1051
- package/src/js/emulation/paymentLoader.js +17 -17
- package/src/js/emulation/pdf-file-loader.js +91 -89
- package/src/js/emulation/popover-mini-basket.js +239 -246
- package/src/js/emulation/project-list-pdp.js +316 -320
- package/src/js/emulation/repayment-toggle.js +24 -23
- package/src/js/emulation/selectable.js +18 -22
- package/src/js/emulation/wismo-details.js +31 -23
- package/src/js/page/accordion.js +35 -0
- package/src/js/page/basket/basket-update-cart-action.js +56 -59
- package/src/js/page/basket/basket-update-cart.js +27 -27
- package/src/js/page/basket/basket-utils.js +33 -40
- package/src/js/page/basket/mini-basket-total.js +66 -70
- package/src/js/page/basket/quantity-change-handler.js +55 -73
- package/src/js/page/basket/update-quantity-operation.js +30 -39
- package/src/js/page/basket/update-quantity.js +62 -62
- package/src/js/page/basket-v2.js +229 -362
- package/src/js/page/billie-business-type.js +27 -27
- package/src/js/page/checkout-payment-details.js +299 -301
- package/src/js/page/components/discounts.js +36 -39
- package/src/js/page/components/mini-basket-slider.js +545 -604
- package/src/js/page/kitchen/plp-filters-chips.js +90 -0
- package/src/js/page/kitchen/plp-filters-mobile.js +72 -0
- package/src/js/page/kitchen/plp-filters-panel.js +119 -0
- package/src/js/page/kitchen/plp-filters-utils.js +65 -0
- package/src/js/page/kitchen/plp-filters.js +205 -0
- package/src/js/page/kitchen/sort-by.js +157 -0
- package/src/js/page/klarna-modal-scroll-disable.js +4 -4
- package/src/js/page/my-account.js +14 -29
- package/src/js/page/online-exclusive.js +30 -28
- package/src/js/page/tradePro-rewards.js +39 -69
- package/src/js/page/utils/copy-to-clipboard.js +47 -79
- package/src/js/page/utils/helpers.js +9 -14
- package/src/page_empty-shared-project-list-bicester-hub.html +0 -4
- package/src/page_empty-shopping-list_guest.html +0 -1
- package/src/page_kitchen-plp.html +2 -2
- package/src/page_my-account-installer.html +1 -1
- package/src/page_my-account-trade-pro-carousel-double.html +127 -0
- package/src/page_my-account-trade-pro-carousel.html +134 -0
- package/src/page_my-account-trade-pro.html +1 -1
- package/src/page_my-shopping-list-add-notes.html +0 -1
- package/src/page_my-shopping-list-energy.html +0 -1
- package/src/page_my-shopping-list-hide-download.html +1 -2
- package/src/page_my-shopping-list-pdf.html +0 -2
- package/src/page_my-shopping-list-saved-ref.html +0 -1
- package/src/page_my-shopping-list-wisdom-oos-registered.html +0 -1
- package/src/page_my-shopping-list-wisdom-oos.html +0 -1
- package/src/page_my-shopping-list-wisdom-partial-registered.html +0 -1
- package/src/page_my-shopping-list-wisdom-registered.html +0 -1
- package/src/page_my-shopping-list-wisdom.html +0 -1
- package/src/page_my-shopping-list.html +0 -1
- package/src/page_my-shopping-list_not-register.html +0 -3
- package/src/page_plp-with-paint.html +7 -2
- package/src/page_plp.html +7 -2
- package/src/page_plp_v2-energy-efficiency.html +6 -1
- package/src/page_plp_v2-favourite-products.html +7 -6
- package/src/page_plp_v2-vat.html +7 -2
- package/src/page_plp_v2.html +9 -22
- package/src/page_product_search-vat.html +7 -2
- package/src/page_product_search.html +7 -2
- package/src/page_project-list-generate-project-list-ID.html +0 -3
- package/src/page_project-list-vat.html +0 -4
- package/src/page_project-list-with-new-share-popup-android.html +1 -3
- package/src/page_project-list-with-new-share-popup-ios.html +1 -3
- package/src/page_project-list-with-new-share-popup.html +1 -2
- package/src/page_search-results.html +7 -2
- package/src/page_shared-project-list-bicester-hub.html +1 -3
- package/src/page_tradepro-discount-app.html +1 -1
- package/src/page_tradepro-discount-double.html +109 -0
- package/src/page_tradepro-discount.html +36 -2
- package/src/scss/common/_common.scss +4 -5
- package/src/scss/components/_accordion.scss +3 -1
- package/src/scss/components/_custom-slider.scss +14 -15
- package/src/scss/components/_date-selection-add-new-styles.scss +7 -6
- package/src/scss/components/_date-selection.scss +1 -1
- package/src/scss/components/_popover-mini-basket.scss +3 -3
- package/src/scss/components/_search-filter.scss +15 -95
- package/src/scss/components/checkout-chip.scss +2 -2
- package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
- package/src/scss/components/{_filter-modal.scss → kitchen/_filter-modal.scss} +4 -55
- package/src/scss/components/{_plp-filters.scss → kitchen/_plp-filters.scss} +13 -31
- package/src/scss/components/my-account/_barcode.scss +8 -0
- package/src/scss/components/my-account/_cards-swap.scss +58 -0
- package/src/scss/components/my-account/_clipboard-code.scss +8 -0
- package/src/scss/components/my-account/_discount.scss +10 -0
- package/src/scss/globals/_global-components.scss +0 -3
- package/src/scss/helpers/_colors-semantic.scss +68 -68
- package/src/scss/helpers/_variables.scss +196 -242
- package/src/scss/kitchen-plp-main.scss +3 -0
- package/src/scss/main.scss +65 -65
- package/src/scss/pages/my-account-v2.scss +37 -0
- package/src/scss/pages/page_discount.scss +8 -4
- package/src/scss/pages/page_product-details-v2.scss +4 -1
- package/src/scss/pages/page_product_search.scss +1 -9
- package/src/scss/pages/page_products-list-combined.scss +24 -28
- package/src/scss/pages/page_products-list.scss +0 -8
- package/src/scss/pages/tradePro-rewards.scss +4 -3
- package/src/sitemap.html +3 -0
- package/build/js/page/filters/desktop-nav.js +0 -64
- package/build/js/page/filters/mobile-nav.js +0 -93
- package/build/js/page/filters/plp-filters-chips.js +0 -92
- package/build/js/page/filters/plp-filters-mobile.js +0 -150
- package/build/js/page/filters/plp-filters-panel.js +0 -123
- package/build/js/page/filters/plp-filters-utils.js +0 -66
- package/build/js/page/filters/plp-filters.js +0 -256
- package/build/js/page/filters/sort-by.js +0 -172
- package/build/js/page/search-filter.js +0 -62
- package/build/js/page/share-project-list.js +0 -57
- package/build/js/page/utils/show-more-less.js +0 -273
- package/build/js/plp-filters.min.js +0 -9
- package/build/js/search-filter.min.js +0 -1
- package/src/components/kitchen/filter-modal-content-kitchen.hbs +0 -10
- package/src/components/search-filter-modal-content.hbs +0 -102
- package/src/elements/btn.hbs +0 -7
- package/src/js/emulation/filters-emulation.js +0 -164
- package/src/js/emulation/product-counter.js +0 -50
- package/src/js/emulation/reset-filter-desktop.js +0 -5
- package/src/js/page/filters/desktop-nav.js +0 -64
- package/src/js/page/filters/mobile-nav.js +0 -93
- package/src/js/page/filters/plp-filters-chips.js +0 -92
- package/src/js/page/filters/plp-filters-mobile.js +0 -150
- package/src/js/page/filters/plp-filters-panel.js +0 -123
- package/src/js/page/filters/plp-filters-utils.js +0 -66
- package/src/js/page/filters/plp-filters.js +0 -256
- package/src/js/page/filters/sort-by.js +0 -172
- package/src/js/page/search-filter.js +0 -62
- package/src/js/page/share-project-list.js +0 -57
- package/src/js/page/utils/show-more-less.js +0 -273
- package/src/scss/components/_sort-by.scss +0 -190
|
@@ -1 +1 @@
|
|
|
1
|
-
!function n(o,i,a){function c(e,t){if(!i[e]){if(!o[e]){var r="function"==typeof require&&require;if(!t&&r)return r(e,!0);if(u)return u(e,!0);throw(t=new Error("Cannot find module '"+e+"'")).code="MODULE_NOT_FOUND",t}r=i[e]={exports:{}},o[e][0].call(r.exports,function(t){return c(o[e][1][t]||t)},r,r.exports,n,o,i,a)}return i[e].exports}for(var u="function"==typeof require&&require,t=0;t<a.length;t++)c(a[t]);return c}({1:[function(t,e,r){"use strict";function L(t){return(L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var u=t("./utils/copy-to-clipboard");function S(){S=function(){return a};var a={},t=Object.prototype,u=t.hasOwnProperty,l=Object.defineProperty||function(t,e,r){t[e]=r.value},e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",o=e.toStringTag||"@@toStringTag";function i(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{i({},"")}catch(t){i=function(t,e,r){return t[e]=r}}function c(t,e,r,n){var o,i,a,c,e=e&&e.prototype instanceof p?e:p,e=Object.create(e.prototype),n=new x(n||[]);return l(e,"_invoke",{value:(o=t,i=r,a=n,c="suspendedStart",function(t,e){if("executing"===c)throw new Error("Generator is already running");if("completed"===c){if("throw"===t)throw e;return{value:void 0,done:!0}}for(a.method=t,a.arg=e;;){var r=a.delegate;if(r){r=function t(e,r){var n=r.method,o=e.iterator[n];if(void 0===o)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=void 0,t(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;n=s(o,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,f;o=n.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,f):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,f)}(r,a);if(r){if(r===f)continue;return r}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===c)throw c="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);c="executing";r=s(o,i,a);if("normal"===r.type){if(c=a.done?"completed":"suspendedYield",r.arg===f)continue;return{value:r.arg,done:a.done}}"throw"===r.type&&(c="completed",a.method="throw",a.arg=r.arg)}})}),e}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=c;var f={};function p(){}function d(){}function h(){}var e={},y=(i(e,n,function(){return this}),Object.getPrototypeOf),y=y&&y(y(E([]))),v=(y&&y!==t&&u.call(y,n)&&(e=y),h.prototype=p.prototype=Object.create(e));function g(t){["next","throw","return"].forEach(function(e){i(t,e,function(t){return this._invoke(e,t)})})}function w(a,c){var e;l(this,"_invoke",{value:function(r,n){function t(){return new c(function(t,e){!function e(t,r,n,o){var i,t=s(a[t],a,r);if("throw"!==t.type)return(r=(i=t.arg).value)&&"object"==L(r)&&u.call(r,"__await")?c.resolve(r.__await).then(function(t){e("next",t,n,o)},function(t){e("throw",t,n,o)}):c.resolve(r).then(function(t){i.value=t,n(i)},function(t){return e("throw",t,n,o)});o(t.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}})}function m(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function b(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(m,this),this.reset(!0)}function E(e){if(e||""===e){var r,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return r=-1,(t=function t(){for(;++r<e.length;)if(u.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t}).next=t}throw new TypeError(L(e)+" is not iterable")}return l(v,"constructor",{value:d.prototype=h,configurable:!0}),l(h,"constructor",{value:d,configurable:!0}),d.displayName=i(h,o,"GeneratorFunction"),a.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,i(t,o,"GeneratorFunction")),t.prototype=Object.create(v),t},a.awrap=function(t){return{__await:t}},g(w.prototype),i(w.prototype,r,function(){return this}),a.AsyncIterator=w,a.async=function(t,e,r,n,o){void 0===o&&(o=Promise);var i=new w(c(t,e,r,n),o);return a.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},g(v),i(v,o,"Generator"),i(v,n,function(){return this}),i(v,"toString",function(){return"[object Generator]"}),a.keys=function(t){var e,r=Object(t),n=[];for(e in r)n.push(e);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in r)return t.value=e,t.done=!1,t}return t.done=!0,t}},a.values=E,x.prototype={constructor:x,reset:function(t){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(b),!t)for(var e in this)"t"===e.charAt(0)&&u.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function t(t,e){return i.type="throw",i.arg=r,n.next=t,e&&(n.method="next",n.arg=void 0),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var o=this.tryEntries[e],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=u.call(o,"catchLoc"),c=u.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&u.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}var i=(o=o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc?null:o)?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),b(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r,n,o=this.tryEntries[e];if(o.tryLoc===t)return"throw"===(r=o.completion).type&&(n=r.arg,b(o)),n}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:E(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},a}function l(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var s=window.Wick||{};s.TradeProRewards={el:{$tradeProRewards:$(".page_tradePro-rewards"),buttonSelector:".copy-tradePro-barcode"},message:"Code copied to clipboard",errorMessage:"Unable to copy. Please copy manually",copyToClipboardInit:function(){s.SnackBar.init(),$(document).on("click",s.TradeProRewards.el.buttonSelector,function(){c=S().mark(function t(e){var r,n,o,i,a;return S().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.preventDefault(),e.stopPropagation(),o=$(this),(o=o.parent().find("input")).length){t.next=6;break}return t.abrupt("return",!1);case 6:if(i=(o.val()||"").trim()){t.next=9;break}return t.abrupt("return",!1);case 9:return o.removeAttr("disabled").attr("readonly","readonly"),t.prev=10,t.next=13,(0,u.copyToClipboard)(i,e.currentTarget,{noUpperCase:!0});case 13:s.SnackBar.show({text:s.TradeProRewards.message,type:s.SnackBar.types.SUCCESS,withCloseButton:!1,autoClose:!0,delayBeforeClose:3e3}),t.next=20;break;case 16:t.prev=16,t.t0=t.catch(10);try{(a=o.get(0)).focus(),a.select(),a.setSelectionRange(0,999999)}catch(t){console.error(t)}s.SnackBar.show({text:s.TradeProRewards.errorMessage,type:s.SnackBar.types.ERROR,withCloseButton:!1,autoClose:!0,delayBeforeClose:4e3});case 20:return o.attr("disabled","disabled").removeAttr("readonly"),null!=(r=window.getSelection())&&null!=(n=r.removeAllRanges)&&n.call(r),t.abrupt("return",!1);case 23:case"end":return t.stop()}},t,this,[[10,16]])});var c,e=function(){var t=this,a=arguments;return new Promise(function(e,r){var n=c.apply(t,a);function o(t){l(n,e,r,o,i,"next",t)}function i(t){l(n,e,r,o,i,"throw",t)}o(void 0)})};return function(t){return e.apply(this,arguments)}}())},init:function(){s.TradeProRewards.copyToClipboardInit()}},$(document).ready(function(){s.TradeProRewards.el.$tradeProRewards.length&&s.TradeProRewards.init()})},{"./utils/copy-to-clipboard":2}],2:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.copyToClipboard=function(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},t=function(t,e){t=null==t?"":t+"";return(e.noUpperCase?t:t.replace(/(^\w|\s\w)/g,function(t){return t.toUpperCase()})).split(" ").filter(function(t){return""!==t}).join(" ").trim()}(t,r);if(!t)return Promise.reject(new Error("Empty text"));if(null!=(r=window.webkit)&&null!=(r=r.messageHandlers)&&r.copy)try{return window.webkit.messageHandlers.copy.postMessage(t),Promise.resolve(!0)}catch(t){console.error(t)}if(null!=(r=window.Android)&&r.copyToClipboard&&"function"==typeof window.Android.copyToClipboard)try{return window.Android.copyToClipboard(t),Promise.resolve(!0)}catch(t){console.error(t)}if(null!=(r=navigator.clipboard)&&r.writeText)return navigator.clipboard.writeText(t).then(function(){return!0});return function(u,l){return new Promise(function(t,e){try{var r,n=$(l).parent(),o=$("<textarea>").val(u).attr("readonly","readonly").css({position:"fixed",top:0,left:"-9999px",opacity:0,width:"1px",height:"1px",padding:0,border:0,margin:0}),i=(n.append(o),o.get(0)),a=(i.focus(),(i.value||"").length),c=("function"==typeof i.setSelectionRange?i.setSelectionRange(0,a):o.select(),document.execCommand("copy"));o.remove(),window.getSelection&&(r=window.getSelection())&&r.removeAllRanges&&r.removeAllRanges(),c?t(!0):e(new Error("execCommand failed"))}catch(t){e(t)}})}(t,e)}},{}]},{},[1]);
|
|
1
|
+
!function o(n,a,i){function d(t,e){if(!a[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(c)return c(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=a[t]={exports:{}},n[t][0].call(r.exports,function(e){return d(n[t][1][e]||e)},r,r.exports,o,n,a,i)}return a[t].exports}for(var c="function"==typeof require&&require,e=0;e<i.length;e++)d(i[e]);return d}({1:[function(e,t,r){"use strict";var o=e("./utils/copy-to-clipboard"),n=window.Wick||{};n.TradeProRewards={el:{$tradeProRewards:$(".page_tradePro-rewards"),buttonSelector:".copy-tradePro-barcode"},message:"Code copied to clipboard",copyToClipboardInit:function(){n.SnackBar.init(),$(n.TradeProRewards.el.buttonSelector).on("click",function(e){e.preventDefault(),e.stopPropagation();var t=$(this).parent().find("input"),r=t.val().trim();return t.removeAttr("disabled").attr("readonly","readonly"),(0,o.copyToClipboard)(r,e.currentTarget,{noUpperCase:!0}),t.attr("disabled","disabled").removeAttr("readonly"),window.getSelection().removeAllRanges(),n.SnackBar.show({text:n.TradeProRewards.message,type:n.SnackBar.types.SUCCESS,withCloseButton:!1,autoClose:!0,delayBeforeClose:3e3}),!1})},init:function(){n.TradeProRewards.copyToClipboardInit()}},$(document).ready(function(){n.TradeProRewards.el.$tradeProRewards.length&&n.TradeProRewards.init()})},{"./utils/copy-to-clipboard":2}],2:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.copyToClipboard=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},o=$("<textarea>").css({position:"absolute",top:0,left:0,opacity:0});$(t).parent().append(o),t=r.noUpperCase?e:e.replace(/(^\w|\s\w)/g,function(e){return e.toUpperCase()});r=t.split(" ").filter(function(e){return""!==e}).join(" ");o.val(r),navigator.userAgent.match(/TradeProMobile_iOS|DIYMobile_iOS/i)?function(e){var e=e.get(0),t=e.contentEditable,r=e.readOnly,o=document.createRange(),n=window.getSelection();e.contentEditable=!0,e.readOnly=!1,o.selectNodeContents(e),n.removeAllRanges(),n.addRange(o),e.setSelectionRange(0,999999),e.contentEditable=t,e.readOnly=r}(o):navigator.userAgent.match(/ipad|ipod|iphone/i)?(o.select(),o[0].setSelectionRange(0,999999)):o.select();document.execCommand("copy"),o.remove()}},{}]},{},[1]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickes-css2",
|
|
3
|
-
"version": "2.105.0-develop.
|
|
3
|
+
"version": "2.105.0-develop.8",
|
|
4
4
|
"description": "CSS and JS and page templates in use by Wickes",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"src/scss/**/*.{scss,css}": [
|
|
18
18
|
"sass-lint-auto-fix",
|
|
19
19
|
"prettier --write",
|
|
20
|
-
"sass-lint -c .sasslintrc
|
|
20
|
+
"sass-lint -c .sasslintrc"
|
|
21
21
|
]
|
|
22
22
|
},
|
|
23
23
|
"keywords": [
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"branches": [
|
|
126
126
|
"alt-master",
|
|
127
127
|
{
|
|
128
|
-
"name": "
|
|
128
|
+
"name": "develop",
|
|
129
129
|
"prerelease": "${name.replace(/^custom-tag\\//g, '')}"
|
|
130
130
|
}
|
|
131
131
|
],
|
package/src/components/.DS_Store
CHANGED
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<div class="accordion {{mod}} {{collapsed}}"
|
|
1
|
+
<div class="accordion {{mod}} {{collapsed}}">
|
|
2
2
|
<h5 class="accordion__header">
|
|
3
3
|
{{#unless hide-chevron}}
|
|
4
|
-
|
|
4
|
+
<span class="icon accordion__header-icon">
|
|
5
5
|
<i class="fas fa-angle-up"></i>
|
|
6
6
|
</span>
|
|
7
7
|
{{/unless}}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
<div class="sort-dd" role="menu" aria-label="Sort options" hidden>
|
|
2
|
-
<button class="sort-opt" type="button" data-value="relevance"
|
|
3
|
-
{{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>
|
|
2
|
+
<button class="sort-opt" type="button" data-value="relevance">
|
|
4
3
|
<i class="fa fa-check sort-opt__check" aria-hidden="true"></i>
|
|
5
4
|
<span>Relevance</span>
|
|
6
5
|
</button>
|
|
7
|
-
<button class="sort-opt" type="button" data-value="priceLow"
|
|
8
|
-
{{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>
|
|
6
|
+
<button class="sort-opt" type="button" data-value="priceLow">
|
|
9
7
|
<i class="fa fa-check sort-opt__check" aria-hidden="true"></i>
|
|
10
8
|
<span>Price (lowest first)</span>
|
|
11
9
|
</button>
|
|
12
|
-
<button class="sort-opt" type="button" data-value="priceHigh"
|
|
13
|
-
{{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>
|
|
10
|
+
<button class="sort-opt" type="button" data-value="priceHigh">
|
|
14
11
|
<i class="fa fa-check sort-opt__check" aria-hidden="true"></i>
|
|
15
12
|
<span>Price (highest first)</span>
|
|
16
13
|
</button>
|
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
{{#extend "modal" id="filterModal" classMod="filter-modal modal-scroll-observer" title="" showCloseBtn=true centered=true backdrop=true fullWidth=true}}
|
|
2
2
|
{{#content "header"}}
|
|
3
3
|
<h4 class="filter-modal__title">
|
|
4
|
-
|
|
4
|
+
Filter kitchens
|
|
5
5
|
</h4>
|
|
6
6
|
{{/content}}
|
|
7
7
|
{{#content "body"}}
|
|
8
8
|
<div class="filter-modal__content">
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
{{
|
|
12
|
-
{{
|
|
13
|
-
|
|
9
|
+
{{#with kitchen-plp}}
|
|
10
|
+
{{> kitchen/chips mod="mobile"}}
|
|
11
|
+
{{#each filters}}
|
|
12
|
+
{{#extend "accordion" header=name collapsed="accordion_collapsed" hidden="hidden-state"}}
|
|
13
|
+
{{#content "content"}}
|
|
14
|
+
{{> kitchen/filter-option }}
|
|
15
|
+
{{/content}}
|
|
16
|
+
{{/extend}}
|
|
17
|
+
{{/each}}
|
|
18
|
+
{{/with}}
|
|
14
19
|
</div>
|
|
15
20
|
{{/content}}
|
|
16
21
|
|
|
17
22
|
{{#content "footer"}}
|
|
18
23
|
<div class="modal-box__inner-row justify-content-center modal-box__footer-row">
|
|
19
24
|
<div class="modal-box__inner-columns">
|
|
20
|
-
<button type="button" class="btn btn-secondary" data-dismiss="modal"
|
|
21
|
-
|
|
22
|
-
<button type="button" class="btn btn-primary" data-dismiss="modal"
|
|
23
|
-
{{#unless isKitchenMode}}data-is-plp-srp="true"{{/unless}}>View results</button>
|
|
25
|
+
<button type="button" class="btn btn-secondary" data-dismiss="modal">Clear all</button>
|
|
26
|
+
<button type="button" class="btn btn-primary" data-dismiss="modal">View results</button>
|
|
24
27
|
</div>
|
|
25
28
|
</div>
|
|
26
29
|
{{/content}}
|
|
@@ -3,15 +3,13 @@
|
|
|
3
3
|
<div class="plp-filters__bar plp-filters__bar-mobile" role="tablist" aria-label="Filters">
|
|
4
4
|
{{> kitchen/mobile-nav-item
|
|
5
5
|
icon="fas fa-filter"
|
|
6
|
-
title="Filter
|
|
6
|
+
title="Filter"
|
|
7
7
|
modalId="filterModal"
|
|
8
8
|
}}
|
|
9
9
|
{{> kitchen/mobile-nav-item
|
|
10
10
|
icon="fas fa-sort-alt"
|
|
11
11
|
title="Sort by"
|
|
12
|
-
info="Relevance"
|
|
13
12
|
dropdown=true
|
|
14
|
-
isKitchenMode=true
|
|
15
13
|
}}
|
|
16
14
|
</div>
|
|
17
15
|
<div class="container">
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<label class="sort__label">Sort by</label>
|
|
3
3
|
|
|
4
4
|
<button class="sort-button" type="button" aria-haspopup="menu" aria-expanded="false">
|
|
5
|
-
<span class="js-sort-info"
|
|
5
|
+
<span class="js-sort-info"></span>
|
|
6
6
|
<i class="sort__chevron fa fa-chevron-down" aria-hidden="true"></i>
|
|
7
7
|
</button>
|
|
8
8
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<div class="cards-swap">
|
|
2
|
+
<div class="cards-swap__card cards-swap__card1 active static">
|
|
3
|
+
<div class="cards-swap__toggle">2</div>
|
|
4
|
+
{{#block "card1"}}{{/block}}
|
|
5
|
+
</div>
|
|
6
|
+
<div class="cards-swap__card cards-swap__card2">
|
|
7
|
+
<div class="cards-swap__toggle">1</div>
|
|
8
|
+
{{#block "card2"}}{{/block}}
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="clipboard-code {{mod}}">
|
|
1
|
+
<div class="clipboard-code {{mod}} {{#if secondary}}clipboard-code--secondary{{/if}}">
|
|
2
2
|
<span class="icon-wrap">
|
|
3
3
|
{{#if customIcon}}
|
|
4
4
|
{{{customIcon}}}
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
<p class="title">{{title}}</p>
|
|
11
11
|
<div class="clipboard-code__cta">
|
|
12
12
|
<span class="subtitle">{{code}}</span>
|
|
13
|
-
<button class="btn btn--icon btn--{{mod}}">
|
|
13
|
+
<button class="btn btn--icon copy-code btn--{{mod}}">
|
|
14
14
|
<i class="fas fa-copy icon-copy"></i>
|
|
15
15
|
</button>
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
18
18
|
{{#if description}}
|
|
19
19
|
<div class="clipboard-code__description">
|
|
20
|
-
<p>{{description.text}} <a class="link" href="{{{description.link}}}">{{description.link}}</a></p>
|
|
20
|
+
<p>{{{description.text}}} <a class="link" href="{{{description.link}}}">{{description.link}}</a></p>
|
|
21
21
|
</div>
|
|
22
22
|
{{/if}}
|
|
23
23
|
</div>
|
|
@@ -1,143 +1,134 @@
|
|
|
1
1
|
<form class="filter-results filter-results_desktop">
|
|
2
2
|
<div class="filter-results__heading">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
<button type="reset" class="filter-results__clear" value="Clear all">Clear all</button>
|
|
6
|
-
</div>
|
|
7
|
-
{{#unless filterTitle}}
|
|
8
|
-
<div class="sort-products-list__total">
|
|
9
|
-
<span class="product-count">{{plp_load-more.pagination.totalNumberOfResults}}</span> <span>results</span>
|
|
10
|
-
</div>
|
|
11
|
-
{{/unless}}
|
|
3
|
+
<span class="heading-4">Filter results</span>
|
|
4
|
+
<button type="reset" class="filter-results__clear" value="Clear all">Clear all</button>
|
|
12
5
|
</div>
|
|
13
|
-
|
|
14
|
-
{{#
|
|
6
|
+
{{#extend "accordion" header="Color Family" mod="filter"}}
|
|
7
|
+
{{#content "content"}}
|
|
8
|
+
{{#each filters.colors}}
|
|
9
|
+
<div class="filter__item">
|
|
10
|
+
<label for="{{id}}" class="chb chb-color">
|
|
11
|
+
<input type="checkbox" value="{{label}}" id="{{id}}" name="{{id}}-filter">
|
|
12
|
+
<ins><i class="fas fa-check"></i></ins>
|
|
13
|
+
<span>{{label}}</span>
|
|
14
|
+
</label>
|
|
15
|
+
</div>
|
|
16
|
+
{{/each}}
|
|
17
|
+
{{/content}}
|
|
18
|
+
{{/extend}}
|
|
19
|
+
{{#extend "accordion" header="Shop by category" mod="filter category-filter" fixed-height=""}}
|
|
20
|
+
{{#content "content"}}
|
|
21
|
+
{{>category-tree filters}}
|
|
22
|
+
{{/content}}
|
|
23
|
+
{{/extend}}
|
|
24
|
+
{{#extend "accordion" header="Shop by pack quantity" mod="filter"}}
|
|
25
|
+
{{#content "content"}}
|
|
26
|
+
{{/content}}
|
|
27
|
+
{{/extend}}
|
|
28
|
+
{{#extend "accordion" header="Shop by type" mod="filter"}}
|
|
29
|
+
{{#content "content"}}
|
|
30
|
+
{{#each filters.type-list}}
|
|
31
|
+
<div class="filter__item">
|
|
32
|
+
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
33
|
+
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
34
|
+
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
35
|
+
<ins><i class="fas fa-check"></i></ins>
|
|
36
|
+
<span>{{label}}</span>
|
|
37
|
+
<span class="filter-quantity">({{quantity}})</span>
|
|
38
|
+
</label>
|
|
39
|
+
</div>
|
|
40
|
+
{{/each}}
|
|
41
|
+
{{/content}}
|
|
42
|
+
{{/extend}}
|
|
43
|
+
{{#extend "accordion" header="Shop by type 2" mod="filter"}}
|
|
15
44
|
{{#content "content"}}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
45
|
+
{{#each filters.type-list2}}
|
|
46
|
+
<div class="filter__item">
|
|
47
|
+
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
48
|
+
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
49
|
+
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
50
|
+
<ins><i class="fas fa-check"></i></ins>
|
|
51
|
+
<span>{{label}}</span>
|
|
52
|
+
<span class="filter-quantity">({{quantity}})</span>
|
|
53
|
+
</label>
|
|
54
|
+
</div>
|
|
55
|
+
{{/each}}
|
|
25
56
|
{{/content}}
|
|
26
|
-
|
|
27
|
-
|
|
57
|
+
{{/extend}}
|
|
58
|
+
{{#extend "accordion" header="Shop by type 3" mod="filter"}}
|
|
28
59
|
{{#content "content"}}
|
|
29
|
-
|
|
60
|
+
{{#each filters.type-list3}}
|
|
61
|
+
<div class="filter__item">
|
|
62
|
+
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
63
|
+
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
64
|
+
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
65
|
+
<ins><i class="fas fa-check"></i></ins>
|
|
66
|
+
<span>{{label}}</span>
|
|
67
|
+
<span class="filter-quantity">({{quantity}})</span>
|
|
68
|
+
</label>
|
|
69
|
+
</div>
|
|
70
|
+
{{/each}}
|
|
30
71
|
{{/content}}
|
|
31
|
-
|
|
32
|
-
|
|
72
|
+
{{/extend}}
|
|
73
|
+
{{#extend "accordion" header="Customer Rating" mod="filter"}}
|
|
33
74
|
{{#content "content"}}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
{{#extend "accordion" header="Shop by type 2" mod="filter" facetStep="5"}}
|
|
52
|
-
{{#content "content"}}
|
|
53
|
-
{{#each filters.type-list2}}
|
|
54
|
-
<div class="filter__item">
|
|
55
|
-
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
56
|
-
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
57
|
-
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
58
|
-
<ins><i class="fas fa-check"></i></ins>
|
|
59
|
-
<span>{{label}}</span>
|
|
60
|
-
<span class="filter-quantity">({{quantity}})</span>
|
|
61
|
-
</label>
|
|
62
|
-
</div>
|
|
63
|
-
{{/each}}
|
|
64
|
-
{{/content}}
|
|
65
|
-
{{/extend}}
|
|
66
|
-
{{#extend "accordion" header="Shop by type 3" mod="filter" facetStep="5"}}
|
|
67
|
-
{{#content "content"}}
|
|
68
|
-
{{#each filters.type-list3}}
|
|
69
|
-
<div class="filter__item">
|
|
70
|
-
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
71
|
-
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
72
|
-
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
73
|
-
<ins><i class="fas fa-check"></i></ins>
|
|
74
|
-
<span>{{label}}</span>
|
|
75
|
-
<span class="filter-quantity">({{quantity}})</span>
|
|
76
|
-
</label>
|
|
77
|
-
</div>
|
|
78
|
-
{{/each}}
|
|
79
|
-
{{/content}}
|
|
80
|
-
{{/extend}}
|
|
81
|
-
{{#extend "accordion" header="Customer Rating" mod="filter" facetStep="5"}}
|
|
82
|
-
{{#content "content"}}
|
|
83
|
-
{{#each filters.rated}}
|
|
84
|
-
<div class="filter__item">
|
|
85
|
-
{{#ifvalue quantity value='0'}}
|
|
86
|
-
{{else}}
|
|
87
|
-
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
88
|
-
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
89
|
-
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
90
|
-
<ins><i class="fas fa-check"></i></ins>
|
|
91
|
-
<div class="filter__reviews">
|
|
92
|
-
<div class="product-rating">
|
|
93
|
-
<div class="rating-bg">
|
|
94
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
95
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
96
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
97
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
98
|
-
<i class="fa fa-star" aria-hidden="true"></i>
|
|
99
|
-
<div class="rating-overlay" data-rating="{{#if rating}}{{rating}}{{else}}0{{/if}}">
|
|
75
|
+
{{#each filters.rated}}
|
|
76
|
+
<div class="filter__item">
|
|
77
|
+
{{#ifvalue quantity value='0'}}
|
|
78
|
+
{{else}}
|
|
79
|
+
<label for="{{id}}" class="chb chb-{{classForGtm}}">
|
|
80
|
+
<input type="checkbox" value="{{value}}" id="{{id}}"
|
|
81
|
+
name="{{id}}" {{#if checked}}checked{{/if}} {{#if disabled}}disabled{{/if}}>
|
|
82
|
+
<ins><i class="fas fa-check"></i></ins>
|
|
83
|
+
<div class="filter__reviews">
|
|
84
|
+
<div class="product-rating">
|
|
85
|
+
<div class="rating-bg">
|
|
86
|
+
<i class="fa fa-star" aria-hidden="true"></i>
|
|
87
|
+
<i class="fa fa-star" aria-hidden="true"></i>
|
|
88
|
+
<i class="fa fa-star" aria-hidden="true"></i>
|
|
89
|
+
<i class="fa fa-star" aria-hidden="true"></i>
|
|
90
|
+
<i class="fa fa-star" aria-hidden="true"></i>
|
|
91
|
+
<div class="rating-overlay" data-rating="{{#if rating}}{{rating}}{{else}}0{{/if}}">
|
|
100
92
|
<span class="star-overlay">
|
|
101
93
|
<i class="fa fa-star" aria-hidden="true"></i>
|
|
102
94
|
</span>
|
|
103
|
-
|
|
95
|
+
<span class="star-overlay">
|
|
104
96
|
<i class="fa fa-star" aria-hidden="true"></i>
|
|
105
97
|
</span>
|
|
106
|
-
|
|
98
|
+
<span class="star-overlay">
|
|
107
99
|
<i class="fa fa-star" aria-hidden="true"></i>
|
|
108
100
|
</span>
|
|
109
|
-
|
|
101
|
+
<span class="star-overlay">
|
|
110
102
|
<i class="fa fa-star" aria-hidden="true"></i>
|
|
111
103
|
</span>
|
|
112
|
-
|
|
104
|
+
<span class="star-overlay">
|
|
113
105
|
<i class="fa fa-star" aria-hidden="true"></i>
|
|
114
106
|
</span>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
({{quantity}})
|
|
110
|
+
</div>
|
|
115
111
|
</div>
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
</label>
|
|
121
|
-
{{/ifvalue}}
|
|
122
|
-
</div>
|
|
123
|
-
{{/each}}
|
|
124
|
-
{{/content}}
|
|
125
|
-
{{/extend}}
|
|
126
|
-
{{#extend "accordion" header="Shop by bulb shape" mod="filter" facetStep="5"}}
|
|
127
|
-
{{#content "content"}}
|
|
128
|
-
{{/content}}
|
|
129
|
-
{{/extend}}
|
|
130
|
-
{{#extend "accordion" header="Shop by number of gangs" mod="filter" facetStep="5"}}
|
|
131
|
-
{{#content "content"}}
|
|
112
|
+
</label>
|
|
113
|
+
{{/ifvalue}}
|
|
114
|
+
</div>
|
|
115
|
+
{{/each}}
|
|
132
116
|
{{/content}}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
117
|
+
{{/extend}}
|
|
118
|
+
{{#extend "accordion" header="Shop by bulb shape" mod="filter"}}
|
|
119
|
+
{{#content "content"}}
|
|
120
|
+
{{/content}}
|
|
121
|
+
{{/extend}}
|
|
122
|
+
{{#extend "accordion" header="Shop by number of gangs" mod="filter"}}
|
|
123
|
+
{{#content "content"}}
|
|
124
|
+
{{/content}}
|
|
125
|
+
{{/extend}}
|
|
126
|
+
{{#extend "accordion" header="Shop by bulb fitting" mod="filter"}}
|
|
127
|
+
{{#content "content"}}
|
|
128
|
+
{{/content}}
|
|
129
|
+
{{/extend}}
|
|
130
|
+
{{#extend "accordion" header="Shop by wattage" mod="filter"}}
|
|
131
|
+
{{#content "content"}}
|
|
132
|
+
{{/content}}
|
|
133
|
+
{{/extend}}
|
|
143
134
|
</form>
|
|
@@ -388,6 +388,7 @@
|
|
|
388
388
|
}
|
|
389
389
|
],
|
|
390
390
|
"discount": "img/placeholders/discount-sm.png",
|
|
391
|
+
"discountText": "10% off",
|
|
391
392
|
"discountCode": "TRADEPRO",
|
|
392
393
|
"icons": {
|
|
393
394
|
"tradeproID": "fas fa-user-hard-hat"
|
|
@@ -529,6 +530,13 @@
|
|
|
529
530
|
}
|
|
530
531
|
]
|
|
531
532
|
},
|
|
533
|
+
"tradepro2": {
|
|
534
|
+
"discount": "img/placeholders/discount-sm-15.jpg",
|
|
535
|
+
"discountText": "15% off",
|
|
536
|
+
"onlineDiscountText": {
|
|
537
|
+
"text": "We're giving our TradePro members <b>15% off everything</b> online and in-store, <b>on top of our existing offers</b>, as a thank you for being a TradePro member. Discount will be automatically applied at checkout when you shop online or via the TradePro app from 5PM Sunday 4th January until 11:59PM Tuesday 6th January. You can also use your barcode in-store from Monday 5th January to Tuesday 6th January."
|
|
538
|
+
}
|
|
539
|
+
},
|
|
532
540
|
"tradeProRewards": {
|
|
533
541
|
"breadcrumbsHomePage": [
|
|
534
542
|
{
|
|
@@ -576,6 +584,7 @@
|
|
|
576
584
|
}
|
|
577
585
|
],
|
|
578
586
|
"discount": "img/placeholders/discount-sm-15.jpg",
|
|
587
|
+
"discountText": "10% off",
|
|
579
588
|
"discountCode": "TRADEPROINSTALL",
|
|
580
589
|
"icons": {
|
|
581
590
|
"installer": "<svg class=\"icon custom-icon\" width=\"18\" height=\"19\" viewBox=\"0 0 18 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 0.75C6 0.334375 6.33437 0 6.75 0H7.25C7.66563 0 8 0.334375 8 0.75V2.5L8.8875 0.721875C10.075 1.35938 10.9062 2.58125 10.9937 4H11C11.4156 4 11.75 4.33437 11.75 4.75C11.75 5.16563 11.4156 5.5 11 5.5H3C2.58437 5.5 2.25 5.16563 2.25 4.75C2.25 4.33437 2.58437 4 3 4H3.00625C3.09375 2.58125 3.925 1.35938 5.1125 0.721875L6 2.5V0.75Z\" fill=\"#3E3E3E\"/>\n<path d=\"M10.9688 6.5C10.7219 8.47188 9.04062 10 7 10C4.95937 10 3.27813 8.47188 3.03125 6.5H10.9688Z\" fill=\"#3E3E3E\"/>\n<path d=\"M0 15.2C0 12.8813 1.88125 11 4.2 11H9.8C10.2255 11 10.6362 11.0633 11.0233 11.1811C10.927 11.8173 11.002 12.421 11.1001 12.7031L7.90625 16H0.8C0.359375 16 0 15.6406 0 15.2Z\" fill=\"#3E3E3E\"/>\n<path d=\"M14.875 15.25C16.6016 15.25 18 13.8516 18 12.125C18 11.8262 17.957 11.5371 17.8789 11.2617C17.8184 11.0508 17.5586 11.0039 17.4043 11.1582L15.9043 12.6582C15.8457 12.7168 15.7656 12.75 15.6836 12.75H14.5625C14.3906 12.75 14.25 12.6094 14.25 12.4375V11.3164C14.25 11.2344 14.2832 11.1543 14.3418 11.0957L15.8418 9.5957C15.9961 9.44141 15.9473 9.18164 15.7383 9.12109C15.4629 9.04297 15.1738 9 14.875 9C13.1484 9 11.75 10.3984 11.75 12.125C11.75 12.498 11.8164 12.8574 11.9355 13.1895L8.38867 16.7363C8.14062 16.9844 8 17.3223 8 17.6738C8 18.4062 8.59375 19 9.32617 19C9.67773 19 10.0156 18.8594 10.2637 18.6113L13.8105 15.0645C14.1426 15.1855 14.502 15.25 14.875 15.25ZM9.5625 16.9688C9.68682 16.9688 9.80605 17.0181 9.89396 17.106C9.98186 17.194 10.0312 17.3132 10.0312 17.4375C10.0312 17.5618 9.98186 17.681 9.89396 17.769C9.80605 17.8569 9.68682 17.9062 9.5625 17.9062C9.43818 17.9062 9.31895 17.8569 9.23104 17.769C9.14314 17.681 9.09375 17.5618 9.09375 17.4375C9.09375 17.3132 9.14314 17.194 9.23104 17.106C9.31895 17.0181 9.43818 16.9688 9.5625 16.9688Z\" fill=\"#3E3E3E\"/>\n</svg>\n"
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
class CardsSwap {
|
|
2
|
+
static selectors = {
|
|
3
|
+
root: '.cards-swap',
|
|
4
|
+
card: '.cards-swap__card',
|
|
5
|
+
toggle: '.cards-swap__toggle',
|
|
6
|
+
activeCard: '.cards-swap__card.active',
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
static classes = {
|
|
10
|
+
static: 'static',
|
|
11
|
+
active: 'active',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
constructor(element) {
|
|
15
|
+
this.element = element;
|
|
16
|
+
this.cards = this.element.querySelectorAll(CardsSwap.selectors.card);
|
|
17
|
+
this.toggles = this.element.querySelectorAll(CardsSwap.selectors.toggle);
|
|
18
|
+
this.init();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
init() {
|
|
22
|
+
if (this.cards.length !== 2 || this.toggles.length !== 2) return;
|
|
23
|
+
this.cards.forEach((card) => {
|
|
24
|
+
card.classList.remove(CardsSwap.classes.static);
|
|
25
|
+
});
|
|
26
|
+
this.attachToggleListeners();
|
|
27
|
+
this.updateHeight();
|
|
28
|
+
|
|
29
|
+
window.addEventListener('resize', _.debounce(() => {
|
|
30
|
+
this.updateHeight();
|
|
31
|
+
}, 250));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
attachToggleListeners() {
|
|
35
|
+
this.toggles.forEach((toggle) => {
|
|
36
|
+
toggle.addEventListener('click', () => {
|
|
37
|
+
this.toggleCards();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
toggleCards() {
|
|
43
|
+
this.cards.forEach((card) => {
|
|
44
|
+
card.classList.toggle(CardsSwap.classes.active);
|
|
45
|
+
});
|
|
46
|
+
this.animateHeight();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
updateHeight() {
|
|
50
|
+
const activeCard = this.element.querySelector(CardsSwap.selectors.activeCard);
|
|
51
|
+
if (activeCard) {
|
|
52
|
+
this.element.style.transition = 'none';
|
|
53
|
+
this.element.style.height = activeCard.offsetHeight + 'px';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
animateHeight() {
|
|
58
|
+
const activeCard = this.element.querySelector(CardsSwap.selectors.activeCard);
|
|
59
|
+
if (activeCard) {
|
|
60
|
+
this.element.style.transition = 'height 0.5s linear';
|
|
61
|
+
this.element.style.height = activeCard.offsetHeight + 'px';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
$(document).ready(function () {
|
|
68
|
+
const cardsSwapElements = document.querySelectorAll(CardsSwap.selectors.root);
|
|
69
|
+
cardsSwapElements.forEach(element => {
|
|
70
|
+
new CardsSwap(element);
|
|
71
|
+
});
|
|
72
|
+
})
|