wickes-css2 2.106.0-develop.1 → 2.106.0-develop.3
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 +1 -1
- 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/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/emulation.min.js +61 -20
- package/build/js/page/basket-v2.js +5 -5
- package/build/js/page/components/billie-modal.js +20 -20
- package/build/js/page/count-stepper/pdp-count-stepper.js +29 -0
- package/build/js/page/filters/plp-filters.js +2 -2
- package/build/js/page/kitchen/colour-swatches.js +152 -152
- package/build/js/page/quick-filter.js +106 -103
- package/build/js/page/utils/create-count-stepper.js +141 -0
- package/build/js/pdp-count-stepper.min.js +1 -0
- package/build/js/plp-filters.min.js +1 -1
- package/package.json +1 -1
- package/src/components/home-movers/form.hbs +1 -1
- package/src/components/price-block-v2.hbs +1 -1
- package/src/elements/count-button.hbs +10 -0
- package/src/js/components/pdp-billie-modal-scroll-reset.js +46 -42
- package/src/js/emulation/billie-modal.js +6 -6
- package/src/js/emulation/mock.js +88 -21
- package/src/js/emulation/validity-emulation.js +33 -0
- package/src/js/page/basket-v2.js +5 -5
- package/src/js/page/components/billie-modal.js +20 -20
- package/src/js/page/count-stepper/pdp-count-stepper.js +29 -0
- package/src/js/page/filters/plp-filters.js +2 -2
- package/src/js/page/kitchen/colour-swatches.js +152 -152
- package/src/js/page/quick-filter.js +106 -103
- package/src/js/page/utils/create-count-stepper.js +141 -0
- package/src/partials/scripts.hbs +1 -0
- package/src/scss/components/_custom-slider.scss +5 -4
- package/src/scss/components/_input-counter.scss +65 -0
- package/src/scss/components/_quick-filter.scss +32 -10
- package/src/scss/components/kitchen/_price-tooltip.scss +3 -2
- package/src/scss/components/kitchen/_price.scss +2 -2
- package/src/scss/helpers/_variables.scss +1 -1
- package/src/scss/pdp-main.scss +1 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import countButton from '../../../elements/count-button.hbs';
|
|
2
|
+
|
|
3
|
+
// ===== HELPERS =====
|
|
4
|
+
|
|
5
|
+
function normalizeOptions(options) {
|
|
6
|
+
return {
|
|
7
|
+
inputSel: '#quantity-field',
|
|
8
|
+
|
|
9
|
+
min: 1,
|
|
10
|
+
|
|
11
|
+
enhancedInputClass: 'count-stepper__input',
|
|
12
|
+
enhancedParentClass: 'count-stepper',
|
|
13
|
+
|
|
14
|
+
onChange: null,
|
|
15
|
+
|
|
16
|
+
...options,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function toInt(value) {
|
|
21
|
+
const n = parseInt(String(value || '').trim(), 10);
|
|
22
|
+
return Number.isFinite(n) ? n : NaN;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function clampMin(n, min) {
|
|
26
|
+
return Math.max(min, n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function ensureQty(value, fallback) {
|
|
30
|
+
const n = toInt(value);
|
|
31
|
+
return Number.isFinite(n) ? n : fallback;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function buildBtn(type, disabled) {
|
|
35
|
+
return countButton({
|
|
36
|
+
type,
|
|
37
|
+
icon: type === 'plus' ? 'fa-plus' : 'fa-minus',
|
|
38
|
+
ariaLabel: type === 'plus' ? 'Increase quantity' : 'Decrease quantity',
|
|
39
|
+
disabled: !!disabled,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function getButtonsWrap($input) {
|
|
44
|
+
return $input.parent();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getMinusBtn($wrap) {
|
|
48
|
+
return $wrap.find('[data-count-btn][data-count-type="minus"]').first();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function getPlusBtn($wrap) {
|
|
52
|
+
return $wrap.find('[data-count-btn][data-count-type="plus"]').first();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function updateButtons($input, opt) {
|
|
56
|
+
const $wrap = getButtonsWrap($input);
|
|
57
|
+
const qty = ensureQty($input.val(), opt.min);
|
|
58
|
+
|
|
59
|
+
const $minus = getMinusBtn($wrap);
|
|
60
|
+
|
|
61
|
+
if ($minus.length) $minus.prop('disabled', qty <= opt.min);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function setQty($input, opt, qty) {
|
|
65
|
+
const next = clampMin(qty, opt.min);
|
|
66
|
+
$input.val(String(next));
|
|
67
|
+
updateButtons($input, opt);
|
|
68
|
+
|
|
69
|
+
if (typeof opt.onChange === 'function') {
|
|
70
|
+
opt.onChange(next, $input.get(0));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function ensureButtons($input, opt) {
|
|
75
|
+
const $parent = getButtonsWrap($input);
|
|
76
|
+
|
|
77
|
+
$input.addClass(opt.enhancedInputClass);
|
|
78
|
+
$parent.addClass(opt.enhancedParentClass);
|
|
79
|
+
|
|
80
|
+
const hasMinus = getMinusBtn($parent).length;
|
|
81
|
+
const hasPlus = getPlusBtn($parent).length;
|
|
82
|
+
|
|
83
|
+
if (!hasMinus) {
|
|
84
|
+
$input.before(buildBtn('minus', true));
|
|
85
|
+
}
|
|
86
|
+
if (!hasPlus) {
|
|
87
|
+
$input.after(buildBtn('plus', false));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const initial = ensureQty($input.val(), opt.min);
|
|
91
|
+
setQty($input, opt, initial);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function getInputs($root, inputSel) {
|
|
95
|
+
const $scope = $root && $root.length ? $root : $(document);
|
|
96
|
+
const $self = $scope.is(inputSel) ? $scope : $();
|
|
97
|
+
const $found = $scope.find(inputSel);
|
|
98
|
+
return $self.add($found);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// ===== FACTORY =====
|
|
102
|
+
|
|
103
|
+
export function createCountStepper(options = {}) {
|
|
104
|
+
const OPT = normalizeOptions(options);
|
|
105
|
+
if (!OPT.inputSel) throw new Error('[createCountStepper] Missing inputSel');
|
|
106
|
+
|
|
107
|
+
const NS = `.cnt_${Math.random().toString(16).slice(2)}`;
|
|
108
|
+
|
|
109
|
+
function init($root) {
|
|
110
|
+
getInputs($root, OPT.inputSel).each(function () {
|
|
111
|
+
ensureButtons($(this), OPT);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// +/- click
|
|
116
|
+
$(document)
|
|
117
|
+
.off(`click${NS}`, '[data-count-btn]')
|
|
118
|
+
.on(`click${NS}`, '[data-count-btn]', function (e) {
|
|
119
|
+
const $btn = $(this);
|
|
120
|
+
const $parent = $btn.parent();
|
|
121
|
+
const $input = $parent.find(OPT.inputSel).first();
|
|
122
|
+
|
|
123
|
+
if (!$input.length) return;
|
|
124
|
+
|
|
125
|
+
e.preventDefault();
|
|
126
|
+
|
|
127
|
+
const type = ($btn.attr('data-count-type') || '').toLowerCase();
|
|
128
|
+
const current = ensureQty($input.val(), OPT.min);
|
|
129
|
+
|
|
130
|
+
if (type === 'plus') setQty($input, OPT, current + 1);
|
|
131
|
+
if (type === 'minus') setQty($input, OPT, current - 1);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
$(document)
|
|
135
|
+
.off(`input${NS} change${NS}`, OPT.inputSel)
|
|
136
|
+
.on(`input${NS} change${NS}`, OPT.inputSel, function () {
|
|
137
|
+
updateButtons($(this), OPT);
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
return { init };
|
|
141
|
+
}
|
|
@@ -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")),u=o(e("./handlebars/runtime")),e=r(e("./handlebars/no-conflict"));function c(){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=u,t.template=function(e){return u.template(e,t)},t}var p=c();p.create=c,e.default(p),p.default=p,n.default=p,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=p;var o=e("./utils"),a=r(e("./exception")),i=e("./helpers"),l=e("./decorators"),s=r(e("./logger")),u=e("./internal/proto-access"),c=(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 p(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},i.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}p.prototype={constructor:p,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(o.toString.call(e)===c){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)===c)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)===c){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(){u.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 u(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,u);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){}}u.prototype=new Error,n.default=u,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),u.default(e),c.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")),u=r(e("./helpers/lookup")),c=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 u(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 c=r.length;a<c;a++)a in r&&u(a,a,a===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var p=[],f=r[Symbol.iterator](),d=f.next();!d.done;d=f.next())p.push(d.value);for(c=(r=p).length;a<c;a++)u(a,a,a===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&u(t,a-1),t=e,a++}),void 0!==t&&u(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=f.COMPILER_REVISION;if(!(t>=f.LAST_COMPATIBLE_COMPILER_REVISION&&t<=f.COMPILER_REVISION))throw t<f.LAST_COMPATIBLE_COMPILER_REVISION?(n=f.REVISION_CHANGES[n],t=f.REVISION_CHANGES[t],new p.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 p.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,u){if(!u)throw new p.default("No environment passed to template");if(!s||!s.main)throw new p.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,u.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 p.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:c.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=c.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=u.VM.resolvePartial.call(this,e,t,n);var r=c.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=u.VM.invokePartial.call(this,e,t,r);if(null==o&&u.compile&&(n.partials[n.name]=u.compile(e,s.compilerOptions,u),o=n.partials[n.name](t,r)),null==o)throw new p.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?c.extend({},t,e):n},nullContext:Object.seal({}),noop:u.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?f.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=g(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=c.extend({},u.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 c.extend({lookupProperty:t},e)}))}),i.helpers=t,s.usePartial&&(i.partials=i.mergeIfNeeded(e.partials,u.partials)),(s.usePartial||s.useDecorators)&&(i.decorators=c.extend({},u.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 p.default("must pass block params");if(s.useDepths&&!r)throw new p.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=f.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=f.createFrame(t.data),t.data["partial-block"]=o,n(e,t)},n.partials&&(r.partials=c.extend({},r.partials,n.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new p.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=i;var c=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"),p=(n=n)&&n.__esModule?n:{default:n},f=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=g(o,n,r,l,a,i)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function i(){return""}function g(e,t,n,r,o,a){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],o,a,r),c.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||!(!c(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={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},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,u=(n.toString=s,function(e){return"function"==typeof e}),c=(u(/x/)&&(n.isFunction=u=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),n.isFunction=u,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});n.isArray=c},{}],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"disabled"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var a,i=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",u=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button\n type="button"\n class="count-btn count-btn--'+u(typeof(a=null!=(a=c(n,"type")||(null!=t?c(t,"type"):t))?a:l)==s?a.call(i,{name:"type",hash:{},data:o,loc:{start:{line:3,column:32},end:{line:3,column:40}}}):a)+" "+u(typeof(a=null!=(a=c(n,"class")||(null!=t?c(t,"class"):t))?a:l)==s?a.call(i,{name:"class",hash:{},data:o,loc:{start:{line:3,column:41},end:{line:3,column:50}}}):a)+'"\n aria-label="'+u(typeof(a=null!=(a=c(n,"ariaLabel")||(null!=t?c(t,"ariaLabel"):t))?a:l)==s?a.call(i,{name:"ariaLabel",hash:{},data:o,loc:{start:{line:4,column:16},end:{line:4,column:29}}}):a)+'"\n data-count-btn\n data-count-type="'+u(typeof(a=null!=(a=c(n,"type")||(null!=t?c(t,"type"):t))?a:l)==s?a.call(i,{name:"type",hash:{},data:o,loc:{start:{line:6,column:21},end:{line:6,column:29}}}):a)+'"\n '+(null!=(e=c(n,"if").call(i,null!=t?c(t,"disabled"):t,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:4},end:{line:7,column:35}}}))?e:"")+'\n>\n <i class="far '+u(typeof(a=null!=(a=c(n,"icon")||(null!=t?c(t,"icon"):t))?a:l)==s?a.call(i,{name:"icon",hash:{},data:o,loc:{start:{line:9,column:16},end:{line:9,column:24}}}):a)+'" aria-hidden="true"></i>\n</button>\n'},useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,n){"use strict";var r=e("../utils/create-count-stepper"),o=window.Wick||{};o.PDPCountStepper={el:{input:"#quantity-field"},stepper:null,init:function(){o.PDPCountStepper.stepper=(0,r.createCountStepper)({inputSel:o.PDPCountStepper.el.input,min:1,max:99,onChange:function(e,t){$(t).trigger("change")}}),o.PDPCountStepper.stepper.init($(document))}},$(document).ready(function(){$(o.PDPCountStepper.el.input).length&&o.PDPCountStepper.init()})},{"../utils/create-count-stepper":26}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createCountStepper=function(){var e,o=function(e){return 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}({inputSel:"#quantity-field",min:1,enhancedInputClass:"count-stepper__input",enhancedParentClass:"count-stepper",onChange:null},e)}(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{});if(o.inputSel)return e=".cnt_".concat(Math.random().toString(16).slice(2)),$(document).off("click".concat(e),"[data-count-btn]").on("click".concat(e),"[data-count-btn]",function(e){var t=$(this),n=t.parent().find(o.inputSel).first();n.length&&(e.preventDefault(),e=(t.attr("data-count-type")||"").toLowerCase(),t=l(n.val(),o.min),"plus"===e&&f(n,o,t+1),"minus"===e)&&f(n,o,t-1)}),$(document).off("input".concat(e," change").concat(e),o.inputSel).on("input".concat(e," change").concat(e),o.inputSel,function(){p($(this),o)}),{init:function(e){!function(e,t){var e=e&&e.length?e:$(document),n=e.is(t)?e:$(),e=e.find(t);return n.add(e)}(e,o.inputSel).each(function(){var e=$(this),t=o,n=u(e),r=(e.addClass(t.enhancedInputClass),n.addClass(t.enhancedParentClass),c(n).length),n=n.find('[data-count-btn][data-count-type="plus"]').first().length;r||e.before(s("minus",!0)),n||e.after(s("plus",!1)),r=l(e.val(),t.min),f(e,t,r)})}};throw new Error("[createCountStepper] Missing inputSel")};var r=(n=e("../../../elements/count-button.hbs"))&&n.__esModule?n:{default:n};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}function l(e,t){e=e,e=parseInt(String(e||"").trim(),10);e=Number.isFinite(e)?e:NaN;return Number.isFinite(e)?e:t}function s(e,t){return(0,r.default)({type:e,icon:"plus"===e?"fa-plus":"fa-minus",ariaLabel:"plus"===e?"Increase quantity":"Decrease quantity",disabled:!!t})}function u(e){return e.parent()}function c(e){return e.find('[data-count-btn][data-count-type="minus"]').first()}function p(e,t){var n=u(e),e=l(e.val(),t.min),n=c(n);n.length&&n.prop("disabled",e<=t.min)}function f(e,t,n){r=t.min;var r=Math.max(r,n);e.val(String(r)),p(e,t),"function"==typeof t.onChange&&t.onChange(r,e.get(0))}},{"../../../elements/count-button.hbs":24}]},{},[25]);
|
|
@@ -6,4 +6,4 @@ var Wick=window.Wick||{};function formatNumberInElement(e){const i=new Intl.Numb
|
|
|
6
6
|
<button type="button" class="plp-selected__clear-all btn btn-secondary">
|
|
7
7
|
<i class="fa fa-times" aria-hidden="true"></i><span>Clear all</span>
|
|
8
8
|
</button>
|
|
9
|
-
`),r.append(e)))}},bindChipActions(e){e.on("click",".pf-chip",e=>{e.preventDefault();var e=$(e.target).closest(".pf-chip"),t=e.data("group"),e=e.data("value");Wick.PLPFilters.removeFromApplied(t,e),Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState,!1)}),e.on("click",".plp-selected__clear-all",e=>{e.preventDefault(),Wick.PLPFilters.writeStateToURL({},!1)})}},(Wick=window.Wick||{}).PLPFiltersPanel={ROOT:".plp-filters",BAR:".plp-filters__bar",GROUP:".plp-filters__group",TOGGLE:".plp-filters__toggle",PANEL:".plp-filters__panel",init(){$(document).on("click",Wick.PLPFiltersPanel.TOGGLE,Wick.PLPFiltersPanel.togglePanel),$(document).on("click",e=>{var t=$(Wick.PLPFiltersPanel.ROOT);t.is(e.target)||0!==t.has(e.target).length||Wick.PLPFiltersPanel.closeAll()}),$(document).on("keydown",e=>{"Escape"===e.key&&Wick.PLPFiltersPanel.closeAll()}),$(window).on("resize",_.debounce(()=>{var e=$(Wick.PLPFiltersPanel.GROUP+".is-open").first();e.length&&(e=e.find(Wick.PLPFiltersPanel.TOGGLE).first(),Wick.PLPFiltersPanel.layoutPanel(e))},120))},togglePanel(e){e.preventDefault();const t=$(this);var e=t.closest(Wick.PLPFiltersPanel.GROUP),i=e.children(Wick.PLPFiltersPanel.PANEL).first(),r=!e.hasClass("is-open");Wick.PLPFiltersPanel.closeAll(),r&&(e.addClass("is-open"),t.attr("aria-expanded","true"),i.attr("aria-hidden","false"),requestAnimationFrame(()=>Wick.PLPFiltersPanel.layoutPanel(t)))},closeAll(){$(Wick.PLPFiltersPanel.GROUP).removeClass("is-open"),$(Wick.PLPFiltersPanel.TOGGLE).attr("aria-expanded","false"),$(Wick.PLPFiltersPanel.PANEL).attr("aria-hidden","true").removeClass("plp-filters__panel--wide plp-filters__panel--auto").css({left:"",right:""})},layoutPanel(t){var e=$(Wick.PLPFiltersPanel.ROOT),t=t.closest(Wick.PLPFiltersPanel.GROUP),i=t.children(Wick.PLPFiltersPanel.PANEL).first();let r=t.closest(Wick.PLPFiltersPanel.BAR);if((r=r.length?r:e.find(".plp-filters__bar-desktop:visible").first()||e.find(".plp-filters__bar-desktop").first()||e.find(Wick.PLPFiltersPanel.BAR).filter(":visible").first()||e.find(Wick.PLPFiltersPanel.BAR).first()).length&&i.length){i.removeClass("plp-filters__panel--wide plp-filters__panel--auto").css({left:"",right:"",width:""});var e=r.offset(),t=t.offset(),l=Math.round(r.outerWidth()),t=Math.round(t.left-e.left),e=Wick.PLPUtils.getPanelType(i),o=Math.max(1,Wick.PLPUtils.countItems(i));if("cards"===e){Wick.PLPUtils.setCardsColumns(i,Math.min(o,4));let e=t;o=i.outerWidth();(e=e+o>l?l-o:e)<0&&(e=0),void i.css({left:e-t})}else if("swatches"===e){o=i.outerWidth();let e=t;e+o>l&&(e=l-o)<0&&(e=0),void i.css({left:e-t})}else i.css({right:0})}}},(Wick=window.Wick||{}).PLPFiltersMobile={ROOT_WRAPPER:".page-KitchenPLPPage, .products-list-page:not(.page-responsiveThematicProductListPage)",PRODUCTS_LIST:".products-list-page",INPUTS:".filter-card__checkbox, .swatch__checkbox, .checkbox__input",MODAL_SEL:"#filterModal",MODAL_VIEW_BTN:"#filterModal .btn.btn-primary",MODAL_CLEAR_BTN:"#filterModal .btn.btn-secondary",$ACCORDION:".accordion",$ACCORDION_CONTENT:".accordion__content",ACCORDION_COLLAPSED:"accordion_collapsed",getPlural(e,t,i){return 1===e?t:i},isProductPage(){return 0<$(Wick.PLPFiltersMobile.PRODUCTS_LIST).length},getMobileCounts(){if(Wick.PLPFiltersMobile.isProductPage()){const e=Wick.ProductCounter&&Wick.ProductCounter.count||0;return{mode:"products",total:e}}const e=Wick.PLPFilters.totalApplied();return{mode:"filters",total:e}},updateMobileFilterInfo(){var e,t,i=$('.mobile-nav__item[data-target="#filterModal"] .mobile-nav__info');i.length&&({mode:t,total:e}=Wick.PLPFiltersMobile.getMobileCounts(),"products"!==t)&&(0<e?(t=Wick.PLPFiltersMobile.getPlural(e,"filter","filters"),i.text(e+` ${t} applied`)):i.text("No filters applied"))},updateViewResultsButton(){var e,t=Wick.PLPFiltersMobile.getMobileCounts()["mode"];"products"!==t&&(t=$(Wick.PLPFiltersMobile.MODAL_VIEW_BTN)).length&&(e=Wick.PLPFiltersMobile.getMobileCounts()["total"],t.text(0<e?`View results (${e})`:"View results"))},hideAccordions(){$(Wick.PLPFiltersMobile.$ACCORDION).addClass(Wick.PLPFiltersMobile.ACCORDION_COLLAPSED),$(Wick.PLPFiltersMobile.$ACCORDION_CONTENT).hide()},init(){$(document).off("change.plpFiltersMobile",Wick.PLPFiltersMobile.INPUTS).on("change.plpFiltersMobile",Wick.PLPFiltersMobile.INPUTS,function(){var e=$(this),t=e.attr("name");t&&Wick.PLPUtils.syncTwinInputsByName(t,e.prop("checked"),e)}),$(document).off("shown.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL).on("shown.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL,function(){Wick.PLPFilters.setDOMFromState($(this),Wick.PLPFilters.appliedState)}),$(document).off("hide.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL).on("hide.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL,function(){Wick.PLPFiltersMobile.hideAccordions()}),$(document).off("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_VIEW_BTN).on("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_VIEW_BTN,function(e){$(this).data("is-plp-srp")?(e.stopImmediatePropagation(),e.preventDefault()):(e.preventDefault(),e=$(Wick.PLPFiltersMobile.ROOT_WRAPPER).add($(Wick.PLPFiltersMobile.MODAL_SEL)),Wick.PLPFilters.applyFromScopes(e,!0))}),$(document).off("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_CLEAR_BTN).on("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_CLEAR_BTN,function(e){$(this).data("is-plp-srp")?(e.stopImmediatePropagation(),e.preventDefault()):(e.preventDefault(),Wick.PLPFilters.appliedState={},Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState,!1),$(document).find(Wick.PLPFiltersMobile.INPUTS+":checked").prop("checked",!1),Wick.PLPFilters.updateSelectedUI($(Wick.PLPFiltersMobile.ROOT_WRAPPER)))}),$(document).off("productCounter:change.plpFiltersMobile").on("productCounter:change.plpFiltersMobile",function(){Wick.PLPFiltersMobile.updateMobileFilterInfo(),Wick.PLPFiltersMobile.updateViewResultsButton()}),Wick.PLPFiltersMobile.updateMobileFilterInfo(),Wick.PLPFiltersMobile.updateViewResultsButton()}},(Wick=window.Wick||{}).PLPFilters={ROOT_WRAPPER:".page-KitchenPLPPage, .products-list-page:not(.page-responsiveThematicProductListPage)",ROOT:".plp-filters",GROUP:".plp-filters__group",APPLY_BTN:".plp-filters__apply",INPUTS:".filter-card__checkbox, .swatch__checkbox, .checkbox__input",appliedState:{},init(){Wick.PLPFiltersPanel.init(),Wick.PLPFiltersMobile.init();var e=$(Wick.PLPFilters.ROOT),t=$(Wick.PLPFilters.ROOT_WRAPPER);e.length&&(Wick.PLPFilters.appliedState=Wick.PLPFilters.readStateFromURL(t),Wick.PLPFilters.setDOMFromState(t,Wick.PLPFilters.appliedState),Wick.PLPChips.bindChipActions(t),$(document).on("click",Wick.PLPFilters.APPLY_BTN,Wick.PLPFilters.applyFilters),Wick.PLPFilters.updateSelectedUI(t),Wick.PLPFilters.handlePageShow())},handlePageShow(){window.addEventListener("pageshow",function(e){var t=$(Wick.PLPFilters.ROOT_WRAPPER);Wick.PLPFilters.appliedState=Wick.PLPFilters.readStateFromURL(t),Wick.PLPFilters.setDOMFromState(t,Wick.PLPFilters.appliedState)})},readStateFromURL(e){var t=new URL(window.location.href).searchParams;const i={};e=Wick.PLPUtils.getGroupsMeta(e,Wick.PLPFilters.GROUP);if(e.length){const o={};e.forEach(e=>{o[e.domName]=e});for(var[r,l]of t.entries()){const s=o[r];s&&(r=l.split(",").map(e=>e.trim()).filter(Boolean)).length&&r.forEach(e=>{var t=s.group.find(Wick.PLPFilters.INPUTS).filter(function(){return $(this).val()===e}).first();t.length&&(t=t.val(),i[s.domName]||(i[s.domName]=new Set),i[s.domName].add(t))})}}return i},writeStateToURL(i){var e,t,r=new URL(window.location.href),l=Wick.PLPUtils.getGroupsMeta($(Wick.PLPFilters.ROOT_WRAPPER),Wick.PLPFilters.GROUP),o=new Set(l.map(e=>e.domName));const s=[];for([e,t]of r.searchParams.entries())o.has(e)||s.push(encodeURIComponent(e)+"="+encodeURIComponent(t));l.forEach(e=>{var t=i[e.domName];t&&t.size&&(e=encodeURIComponent(e.domName),t=Array.from(t).map(e=>encodeURIComponent(e)).join(","),s.push(e+"="+t))}),r.search=s.join("&"),window.location.href=r.origin+r.pathname+r.search},setDOMFromState(t,e){t.find(Wick.PLPFilters.INPUTS).prop("checked",!1),Object.keys(e).forEach(r=>{e[r].forEach(e=>{const i=e;e=t.find(Wick.PLPFilters.INPUTS).filter(function(){var e=$(this),t=e.val()===i,e=e.closest(Wick.PLPFilters.GROUP),e=!e.length||e.attr("data-filter")===r;return t&&e}).first();e.length&&e.prop("checked",!0)})})},collectStateFromDOM(e){const r={};return e.find(Wick.PLPFilters.INPUTS).filter(":checked").each((e,t)=>{var t=$(t),i=t.closest(Wick.PLPFilters.GROUP).attr("data-filter")||"";i&&(t=(t.val()||"").trim())&&(r[i]||(r[i]=new Set),r[i].add(t))}),r},applyFromScopes(e,t){Wick.PLPFilters.appliedState=Wick.PLPFilters.collectStateFromDOM(e),Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState,!!t)},applyFilters(e){e.preventDefault();e=$(Wick.PLPFilters.ROOT_WRAPPER).add($(Wick.PLPFiltersMobile.MODAL_SEL));Wick.PLPFilters.applyFromScopes(e,!0)},updateSelectedUI(e){Wick.PLPChips.renderGroupCounters(e),Wick.PLPChips.renderChips(e),Wick.PLPFiltersMobile.updateMobileFilterInfo()},totalApplied(){return Object.values(Wick.PLPFilters.appliedState).reduce((e,t)=>e+t.size,0)},removeFromApplied(e,t){var i=Wick.PLPFilters.appliedState[e];i&&(i.delete(t),0===i.size)&&delete Wick.PLPFilters.appliedState[e]},exportState(){const t={};return Object.keys(Wick.PLPFilters.appliedState).forEach(e=>{t[e]=Array.from(Wick.PLPFilters.appliedState[e])}),t}},Wick.Overlay=function(){if($("body").hasClass("page-responsiveThematicProductListPage")){const t=$(".filter-results_mobile");$(document).on("click","#open-overlay",function(e){e.preventDefault(),$("body").addClass("is-filters-visible"),t.addClass("show")}),$(document).on("click","#close-overlay, .filter-results__btn-close",function(e){e.preventDefault(),t.hasClass("show")&&($("body").removeClass("is-filters-visible"),t.removeClass("show"))}),$(document).on("click",'.filter-results_desktop .filter__item input[type="checkbox"]',function(){$(this).closest("form").submit()})}}(),$(function(){Wick.PLPFilters.init()}),(Wick=window.Wick||{}).Sort={ROOT:".page-KitchenPLPPage, .products-list-page:not(.page-responsiveThematicProductListPage)",WRAP:".sort",DROPDOWN:".sort-dd",OPTION:".sort-opt",INFO:".js-sort-info",CHEVRON:".sort__chevron",TRIGGER_MOBILE:".sort--mobile",TRIGGER_DESKTOP_BTN:".sort--desktop .sort-button",MAP_VALUE_TO_LABEL:{relevance:"Relevance",priceLow:"Price (lowest first)",priceHigh:"Price (highest first)"},init:function(){var e=$(Wick.Sort.ROOT);e.length&&(e.on("click",Wick.Sort.TRIGGER_MOBILE,e=>{$(e.target).closest(Wick.Sort.DROPDOWN).length||(e.preventDefault(),Wick.Sort.toggle($(e.currentTarget)))}),e.on("click",Wick.Sort.TRIGGER_DESKTOP_BTN,e=>{e.preventDefault(),Wick.Sort.toggle($(e.currentTarget).closest(Wick.Sort.WRAP))}),e.on("keydown",Wick.Sort.TRIGGER_MOBILE+", "+Wick.Sort.TRIGGER_DESKTOP_BTN,e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Wick.Sort.toggle($(e.currentTarget).closest(Wick.Sort.WRAP)))}),e.on("click",Wick.Sort.OPTION,e=>{e.preventDefault(),e.stopPropagation();var e=$(e.currentTarget),t=e.data("value");e.data("is-plp-srp")||Wick.Sort.updateSortParamInURL(t)}),$(document).on("click",e=>{var t=$(Wick.Sort.WRAP+".is-open");t.length&&!t.is(e.target)&&0===t.has(e.target).length&&Wick.Sort.closeAll()}),$(document).on("keydown",e=>{"Escape"===e.key&&Wick.Sort.closeAll()}),Wick.Sort.bootstrap())},updateSortParamInURL:function(e){var t=new URL(window.location.href),i=t.searchParams;"relevance"===e?i.delete("sortBy"):i.set("sortBy",e),t.search=i.toString(),window.location.href=t.toString()},toggle:function(e){var t=e.hasClass("is-open");Wick.Sort.closeAll(),t||(e.addClass("is-open"),e.find(Wick.Sort.DROPDOWN).removeAttr("hidden"),Wick.Sort.setExpanded(e,!0),window.Wick&&Wick.PLPFilters&&"function"==typeof Wick.PLPFilters.closeAll&&Wick.PLPFilters.closeAll())},close:function(e){e.removeClass("is-open"),e.find(Wick.Sort.DROPDOWN).attr("hidden",!0),Wick.Sort.setExpanded(e,!1)},closeAll:function(){var e=$(Wick.Sort.WRAP);e.removeClass("is-open"),e.find(Wick.Sort.DROPDOWN).attr("hidden",!0),e.each((e,t)=>Wick.Sort.setExpanded($(t),!1))},bootstrap:function(){const i=new URLSearchParams(window.location.search).get("sortBy")||"relevance";var e=Wick.Sort.valueToLabel(i),t=($(Wick.Sort.WRAP).each((e,t)=>{t=$(t);t.find(Wick.Sort.OPTION).first().data("is-plp-srp")||t.find(Wick.Sort.OPTION).removeClass("is-active").filter(`[data-value="${i}"]`).addClass("is-active")}),$(Wick.Sort.OPTION).first().data("is-plp-srp"));t||($(document).trigger("sort:change",{value:i,label:e}),$(Wick.Sort.INFO).text(e))},setExpanded:function(e,t){e=e.is(".sort--mobile")?e:e.find(".sort-button").first();e.length&&e.attr("aria-expanded",t?"true":"false")},valueToLabel:function(e){return Wick.Sort.MAP_VALUE_TO_LABEL[e]||"Relevance"},labelToValue:function(e){var t,i;for([t,i]of Object.entries(Wick.Sort.MAP_VALUE_TO_LABEL))if(i.toLowerCase()===e.toString().toLowerCase())return t;return"relevance"}},$(function(){Wick.Sort.init()}),function(){const i={$filters:$(".plp-filters"),$filterBar:$(".plp-filters__bar-mobile"),$filterModal:$(".filter-modal"),$offerBanner:$(".offer-banner"),offerBannerCloseIcon:".icon.notification__close"},r={plpFiltersStuck:"plp-filters__bar-stuck"};function l(){return"down-sm"===Wick.Responsive.getCurrentBreakpoint()}function o(){return i.$offerBanner.length&&i.$offerBanner.outerHeight(!0)||0}function e(){var e;i.$filters.length&&(l()?(e=o(),i.$filters.css("top",0<e?e+"px":"")):i.$filters.css("top",""))}function t(){var e,t;l()?i.$filters.length&&i.$filterBar.length&&(e=i.$filters.get(0))&&(e=e.getBoundingClientRect(),t=o(),e.top<=t?i.$filterBar.addClass(r.plpFiltersStuck):i.$filterBar.removeClass(r.plpFiltersStuck)):i.$filterBar.removeClass(r.plpFiltersStuck)}function s(){$(document).on("click",i.offerBannerCloseIcon,function(){i.$filters.length&&i.$filters.css("top","0px")})}$(document).ready(function(){e(),t(),$(window).on("scroll",_.debounce(t,50)),$(window).on("resize",_.debounce(function(){"down-sm"!==Wick.Responsive.getCurrentBreakpoint()&&i.$filterModal.modal("hide"),e(),t()},100)),s()})}(),function(){const t={$sidebar:$(".filter-results_desktop"),$heading:$(".filter-results__heading"),$offerBanner:$(".offer-banner"),$offerBannerIndent:40,offerBannerCloseIcon:".icon.notification__close, .icon.notification__close_white, .notification__close"};function e(){var e;t.$sidebar.length&&("down-sm"===Wick.Responsive.getCurrentBreakpoint()?(t.$sidebar.css("top",""),t.$heading.css("top","")):(e=t.$offerBanner.length?t.$offerBanner.outerHeight(!0)+t.$offerBannerIndent||0:t.$offerBannerIndent,t.$sidebar.css("top",e+"px"),t.$heading.length&&t.$heading.css("top",e+"px")))}$(document).ready(function(){formatNumberInElement(".product-count"),e(),$(window).on("resize",_.debounce(e,100)),$(document).on("click",t.offerBannerCloseIcon,function(){setTimeout(e,0)})})}();
|
|
9
|
+
`),r.append(e)))}},bindChipActions(e){e.on("click",".pf-chip",e=>{e.preventDefault();var e=$(e.target).closest(".pf-chip"),t=e.data("group"),e=e.data("value");Wick.PLPFilters.removeFromApplied(t,e),Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState,!1)}),e.on("click",".plp-selected__clear-all",e=>{e.preventDefault(),Wick.PLPFilters.writeStateToURL({},!1)})}},(Wick=window.Wick||{}).PLPFiltersPanel={ROOT:".plp-filters",BAR:".plp-filters__bar",GROUP:".plp-filters__group",TOGGLE:".plp-filters__toggle",PANEL:".plp-filters__panel",init(){$(document).on("click",Wick.PLPFiltersPanel.TOGGLE,Wick.PLPFiltersPanel.togglePanel),$(document).on("click",e=>{var t=$(Wick.PLPFiltersPanel.ROOT);t.is(e.target)||0!==t.has(e.target).length||Wick.PLPFiltersPanel.closeAll()}),$(document).on("keydown",e=>{"Escape"===e.key&&Wick.PLPFiltersPanel.closeAll()}),$(window).on("resize",_.debounce(()=>{var e=$(Wick.PLPFiltersPanel.GROUP+".is-open").first();e.length&&(e=e.find(Wick.PLPFiltersPanel.TOGGLE).first(),Wick.PLPFiltersPanel.layoutPanel(e))},120))},togglePanel(e){e.preventDefault();const t=$(this);var e=t.closest(Wick.PLPFiltersPanel.GROUP),i=e.children(Wick.PLPFiltersPanel.PANEL).first(),r=!e.hasClass("is-open");Wick.PLPFiltersPanel.closeAll(),r&&(e.addClass("is-open"),t.attr("aria-expanded","true"),i.attr("aria-hidden","false"),requestAnimationFrame(()=>Wick.PLPFiltersPanel.layoutPanel(t)))},closeAll(){$(Wick.PLPFiltersPanel.GROUP).removeClass("is-open"),$(Wick.PLPFiltersPanel.TOGGLE).attr("aria-expanded","false"),$(Wick.PLPFiltersPanel.PANEL).attr("aria-hidden","true").removeClass("plp-filters__panel--wide plp-filters__panel--auto").css({left:"",right:""})},layoutPanel(t){var e=$(Wick.PLPFiltersPanel.ROOT),t=t.closest(Wick.PLPFiltersPanel.GROUP),i=t.children(Wick.PLPFiltersPanel.PANEL).first();let r=t.closest(Wick.PLPFiltersPanel.BAR);if((r=r.length?r:e.find(".plp-filters__bar-desktop:visible").first()||e.find(".plp-filters__bar-desktop").first()||e.find(Wick.PLPFiltersPanel.BAR).filter(":visible").first()||e.find(Wick.PLPFiltersPanel.BAR).first()).length&&i.length){i.removeClass("plp-filters__panel--wide plp-filters__panel--auto").css({left:"",right:"",width:""});var e=r.offset(),t=t.offset(),l=Math.round(r.outerWidth()),t=Math.round(t.left-e.left),e=Wick.PLPUtils.getPanelType(i),o=Math.max(1,Wick.PLPUtils.countItems(i));if("cards"===e){Wick.PLPUtils.setCardsColumns(i,Math.min(o,4));let e=t;o=i.outerWidth();(e=e+o>l?l-o:e)<0&&(e=0),void i.css({left:e-t})}else if("swatches"===e){o=i.outerWidth();let e=t;e+o>l&&(e=l-o)<0&&(e=0),void i.css({left:e-t})}else i.css({right:0})}}},(Wick=window.Wick||{}).PLPFiltersMobile={ROOT_WRAPPER:".page-KitchenPLPPage, .products-list-page:not(.page-responsiveThematicProductListPage)",PRODUCTS_LIST:".products-list-page",INPUTS:".filter-card__checkbox, .swatch__checkbox, .checkbox__input",MODAL_SEL:"#filterModal",MODAL_VIEW_BTN:"#filterModal .btn.btn-primary",MODAL_CLEAR_BTN:"#filterModal .btn.btn-secondary",$ACCORDION:".accordion",$ACCORDION_CONTENT:".accordion__content",ACCORDION_COLLAPSED:"accordion_collapsed",getPlural(e,t,i){return 1===e?t:i},isProductPage(){return 0<$(Wick.PLPFiltersMobile.PRODUCTS_LIST).length},getMobileCounts(){if(Wick.PLPFiltersMobile.isProductPage()){const e=Wick.ProductCounter&&Wick.ProductCounter.count||0;return{mode:"products",total:e}}const e=Wick.PLPFilters.totalApplied();return{mode:"filters",total:e}},updateMobileFilterInfo(){var e,t,i=$('.mobile-nav__item[data-target="#filterModal"] .mobile-nav__info');i.length&&({mode:t,total:e}=Wick.PLPFiltersMobile.getMobileCounts(),"products"!==t)&&(0<e?(t=Wick.PLPFiltersMobile.getPlural(e,"filter","filters"),i.text(e+` ${t} applied`)):i.text("No filters applied"))},updateViewResultsButton(){var e,t=Wick.PLPFiltersMobile.getMobileCounts()["mode"];"products"!==t&&(t=$(Wick.PLPFiltersMobile.MODAL_VIEW_BTN)).length&&(e=Wick.PLPFiltersMobile.getMobileCounts()["total"],t.text(0<e?`View results (${e})`:"View results"))},hideAccordions(){$(Wick.PLPFiltersMobile.$ACCORDION).addClass(Wick.PLPFiltersMobile.ACCORDION_COLLAPSED),$(Wick.PLPFiltersMobile.$ACCORDION_CONTENT).hide()},init(){$(document).off("change.plpFiltersMobile",Wick.PLPFiltersMobile.INPUTS).on("change.plpFiltersMobile",Wick.PLPFiltersMobile.INPUTS,function(){var e=$(this),t=e.attr("name");t&&Wick.PLPUtils.syncTwinInputsByName(t,e.prop("checked"),e)}),$(document).off("shown.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL).on("shown.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL,function(){Wick.PLPFilters.setDOMFromState($(this),Wick.PLPFilters.appliedState)}),$(document).off("hide.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL).on("hide.bs.modal.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_SEL,function(){Wick.PLPFiltersMobile.hideAccordions()}),$(document).off("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_VIEW_BTN).on("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_VIEW_BTN,function(e){$(this).data("is-plp-srp")?(e.stopImmediatePropagation(),e.preventDefault()):(e.preventDefault(),e=$(Wick.PLPFiltersMobile.ROOT_WRAPPER).add($(Wick.PLPFiltersMobile.MODAL_SEL)),Wick.PLPFilters.applyFromScopes(e,!0))}),$(document).off("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_CLEAR_BTN).on("click.plpFiltersMobile",Wick.PLPFiltersMobile.MODAL_CLEAR_BTN,function(e){$(this).data("is-plp-srp")?(e.stopImmediatePropagation(),e.preventDefault()):(e.preventDefault(),Wick.PLPFilters.appliedState={},Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState,!1),$(document).find(Wick.PLPFiltersMobile.INPUTS+":checked").prop("checked",!1),Wick.PLPFilters.updateSelectedUI($(Wick.PLPFiltersMobile.ROOT_WRAPPER)))}),$(document).off("productCounter:change.plpFiltersMobile").on("productCounter:change.plpFiltersMobile",function(){Wick.PLPFiltersMobile.updateMobileFilterInfo(),Wick.PLPFiltersMobile.updateViewResultsButton()}),Wick.PLPFiltersMobile.updateMobileFilterInfo(),Wick.PLPFiltersMobile.updateViewResultsButton()}},(Wick=window.Wick||{}).PLPFilters={ROOT_WRAPPER:".page-KitchenPLPPage, .products-list-page:not(.page-responsiveThematicProductListPage)",ROOT:".plp-filters",GROUP:".plp-filters__group",APPLY_BTN:".plp-filters__apply",INPUTS:".filter-card__checkbox, .swatch__checkbox, .checkbox__input",appliedState:{},init(){Wick.PLPFiltersPanel.init(),Wick.PLPFiltersMobile.init();var e=$(Wick.PLPFilters.ROOT),t=$(Wick.PLPFilters.ROOT_WRAPPER);e.length&&(Wick.PLPFilters.appliedState=Wick.PLPFilters.readStateFromURL(t),Wick.PLPFilters.setDOMFromState(t,Wick.PLPFilters.appliedState),Wick.PLPChips.bindChipActions(t),$(document).on("click",Wick.PLPFilters.APPLY_BTN,Wick.PLPFilters.applyFilters),Wick.PLPFilters.updateSelectedUI(t),Wick.PLPFilters.handlePageShow())},handlePageShow(){window.addEventListener("pageshow",function(){var e=$(Wick.PLPFilters.ROOT_WRAPPER);Wick.PLPFilters.appliedState=Wick.PLPFilters.readStateFromURL(e),Wick.PLPFilters.setDOMFromState(e,Wick.PLPFilters.appliedState)})},readStateFromURL(e){var t=new URL(window.location.href).searchParams;const i={};e=Wick.PLPUtils.getGroupsMeta(e,Wick.PLPFilters.GROUP);if(e.length){const o={};e.forEach(e=>{o[e.domName]=e});for(var[r,l]of t.entries()){const s=o[r];s&&(r=l.split(",").map(e=>e.trim()).filter(Boolean)).length&&r.forEach(e=>{var t=s.group.find(Wick.PLPFilters.INPUTS).filter(function(){return $(this).val()===e}).first();t.length&&(t=t.val(),i[s.domName]||(i[s.domName]=new Set),i[s.domName].add(t))})}}return i},writeStateToURL(i){var e,t,r=new URL(window.location.href),l=Wick.PLPUtils.getGroupsMeta($(Wick.PLPFilters.ROOT_WRAPPER),Wick.PLPFilters.GROUP),o=new Set(l.map(e=>e.domName));const s=[];for([e,t]of r.searchParams.entries())o.has(e)||s.push(encodeURIComponent(e)+"="+encodeURIComponent(t));l.forEach(e=>{var t=i[e.domName];t&&t.size&&(e=encodeURIComponent(e.domName),t=Array.from(t).map(e=>encodeURIComponent(e)).join(","),s.push(e+"="+t))}),r.search=s.join("&"),window.location.href=r.origin+r.pathname+r.search},setDOMFromState(t,e){t.find(Wick.PLPFilters.INPUTS).prop("checked",!1),Object.keys(e).forEach(r=>{e[r].forEach(e=>{const i=e;e=t.find(Wick.PLPFilters.INPUTS).filter(function(){var e=$(this),t=e.val()===i,e=e.closest(Wick.PLPFilters.GROUP),e=!e.length||e.attr("data-filter")===r;return t&&e}).first();e.length&&e.prop("checked",!0)})})},collectStateFromDOM(e){const r={};return e.find(Wick.PLPFilters.INPUTS).filter(":checked").each((e,t)=>{var t=$(t),i=t.closest(Wick.PLPFilters.GROUP).attr("data-filter")||"";i&&(t=(t.val()||"").trim())&&(r[i]||(r[i]=new Set),r[i].add(t))}),r},applyFromScopes(e,t){Wick.PLPFilters.appliedState=Wick.PLPFilters.collectStateFromDOM(e),Wick.PLPFilters.writeStateToURL(Wick.PLPFilters.appliedState,!!t)},applyFilters(e){e.preventDefault();e=$(Wick.PLPFilters.ROOT_WRAPPER).add($(Wick.PLPFiltersMobile.MODAL_SEL));Wick.PLPFilters.applyFromScopes(e,!0)},updateSelectedUI(e){Wick.PLPChips.renderGroupCounters(e),Wick.PLPChips.renderChips(e),Wick.PLPFiltersMobile.updateMobileFilterInfo()},totalApplied(){return Object.values(Wick.PLPFilters.appliedState).reduce((e,t)=>e+t.size,0)},removeFromApplied(e,t){var i=Wick.PLPFilters.appliedState[e];i&&(i.delete(t),0===i.size)&&delete Wick.PLPFilters.appliedState[e]},exportState(){const t={};return Object.keys(Wick.PLPFilters.appliedState).forEach(e=>{t[e]=Array.from(Wick.PLPFilters.appliedState[e])}),t}},Wick.Overlay=function(){if($("body").hasClass("page-responsiveThematicProductListPage")){const t=$(".filter-results_mobile");$(document).on("click","#open-overlay",function(e){e.preventDefault(),$("body").addClass("is-filters-visible"),t.addClass("show")}),$(document).on("click","#close-overlay, .filter-results__btn-close",function(e){e.preventDefault(),t.hasClass("show")&&($("body").removeClass("is-filters-visible"),t.removeClass("show"))}),$(document).on("click",'.filter-results_desktop .filter__item input[type="checkbox"]',function(){$(this).closest("form").submit()})}}(),$(function(){Wick.PLPFilters.init()}),(Wick=window.Wick||{}).Sort={ROOT:".page-KitchenPLPPage, .products-list-page:not(.page-responsiveThematicProductListPage)",WRAP:".sort",DROPDOWN:".sort-dd",OPTION:".sort-opt",INFO:".js-sort-info",CHEVRON:".sort__chevron",TRIGGER_MOBILE:".sort--mobile",TRIGGER_DESKTOP_BTN:".sort--desktop .sort-button",MAP_VALUE_TO_LABEL:{relevance:"Relevance",priceLow:"Price (lowest first)",priceHigh:"Price (highest first)"},init:function(){var e=$(Wick.Sort.ROOT);e.length&&(e.on("click",Wick.Sort.TRIGGER_MOBILE,e=>{$(e.target).closest(Wick.Sort.DROPDOWN).length||(e.preventDefault(),Wick.Sort.toggle($(e.currentTarget)))}),e.on("click",Wick.Sort.TRIGGER_DESKTOP_BTN,e=>{e.preventDefault(),Wick.Sort.toggle($(e.currentTarget).closest(Wick.Sort.WRAP))}),e.on("keydown",Wick.Sort.TRIGGER_MOBILE+", "+Wick.Sort.TRIGGER_DESKTOP_BTN,e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Wick.Sort.toggle($(e.currentTarget).closest(Wick.Sort.WRAP)))}),e.on("click",Wick.Sort.OPTION,e=>{e.preventDefault(),e.stopPropagation();var e=$(e.currentTarget),t=e.data("value");e.data("is-plp-srp")||Wick.Sort.updateSortParamInURL(t)}),$(document).on("click",e=>{var t=$(Wick.Sort.WRAP+".is-open");t.length&&!t.is(e.target)&&0===t.has(e.target).length&&Wick.Sort.closeAll()}),$(document).on("keydown",e=>{"Escape"===e.key&&Wick.Sort.closeAll()}),Wick.Sort.bootstrap())},updateSortParamInURL:function(e){var t=new URL(window.location.href),i=t.searchParams;"relevance"===e?i.delete("sortBy"):i.set("sortBy",e),t.search=i.toString(),window.location.href=t.toString()},toggle:function(e){var t=e.hasClass("is-open");Wick.Sort.closeAll(),t||(e.addClass("is-open"),e.find(Wick.Sort.DROPDOWN).removeAttr("hidden"),Wick.Sort.setExpanded(e,!0),window.Wick&&Wick.PLPFilters&&"function"==typeof Wick.PLPFilters.closeAll&&Wick.PLPFilters.closeAll())},close:function(e){e.removeClass("is-open"),e.find(Wick.Sort.DROPDOWN).attr("hidden",!0),Wick.Sort.setExpanded(e,!1)},closeAll:function(){var e=$(Wick.Sort.WRAP);e.removeClass("is-open"),e.find(Wick.Sort.DROPDOWN).attr("hidden",!0),e.each((e,t)=>Wick.Sort.setExpanded($(t),!1))},bootstrap:function(){const i=new URLSearchParams(window.location.search).get("sortBy")||"relevance";var e=Wick.Sort.valueToLabel(i),t=($(Wick.Sort.WRAP).each((e,t)=>{t=$(t);t.find(Wick.Sort.OPTION).first().data("is-plp-srp")||t.find(Wick.Sort.OPTION).removeClass("is-active").filter(`[data-value="${i}"]`).addClass("is-active")}),$(Wick.Sort.OPTION).first().data("is-plp-srp"));t||($(document).trigger("sort:change",{value:i,label:e}),$(Wick.Sort.INFO).text(e))},setExpanded:function(e,t){e=e.is(".sort--mobile")?e:e.find(".sort-button").first();e.length&&e.attr("aria-expanded",t?"true":"false")},valueToLabel:function(e){return Wick.Sort.MAP_VALUE_TO_LABEL[e]||"Relevance"},labelToValue:function(e){var t,i;for([t,i]of Object.entries(Wick.Sort.MAP_VALUE_TO_LABEL))if(i.toLowerCase()===e.toString().toLowerCase())return t;return"relevance"}},$(function(){Wick.Sort.init()}),function(){const i={$filters:$(".plp-filters"),$filterBar:$(".plp-filters__bar-mobile"),$filterModal:$(".filter-modal"),$offerBanner:$(".offer-banner"),offerBannerCloseIcon:".icon.notification__close"},r={plpFiltersStuck:"plp-filters__bar-stuck"};function l(){return"down-sm"===Wick.Responsive.getCurrentBreakpoint()}function o(){return i.$offerBanner.length&&i.$offerBanner.outerHeight(!0)||0}function e(){var e;i.$filters.length&&(l()?(e=o(),i.$filters.css("top",0<e?e+"px":"")):i.$filters.css("top",""))}function t(){var e,t;l()?i.$filters.length&&i.$filterBar.length&&(e=i.$filters.get(0))&&(e=e.getBoundingClientRect(),t=o(),e.top<=t?i.$filterBar.addClass(r.plpFiltersStuck):i.$filterBar.removeClass(r.plpFiltersStuck)):i.$filterBar.removeClass(r.plpFiltersStuck)}function s(){$(document).on("click",i.offerBannerCloseIcon,function(){i.$filters.length&&i.$filters.css("top","0px")})}$(document).ready(function(){e(),t(),$(window).on("scroll",_.debounce(t,50)),$(window).on("resize",_.debounce(function(){"down-sm"!==Wick.Responsive.getCurrentBreakpoint()&&i.$filterModal.modal("hide"),e(),t()},100)),s()})}(),function(){const t={$sidebar:$(".filter-results_desktop"),$heading:$(".filter-results__heading"),$offerBanner:$(".offer-banner"),$offerBannerIndent:40,offerBannerCloseIcon:".icon.notification__close, .icon.notification__close_white, .notification__close"};function e(){var e;t.$sidebar.length&&("down-sm"===Wick.Responsive.getCurrentBreakpoint()?(t.$sidebar.css("top",""),t.$heading.css("top","")):(e=t.$offerBanner.length?t.$offerBanner.outerHeight(!0)+t.$offerBannerIndent||0:t.$offerBannerIndent,t.$sidebar.css("top",e+"px"),t.$heading.length&&t.$heading.css("top",e+"px")))}$(document).ready(function(){formatNumberInElement(".product-count"),e(),$(window).on("resize",_.debounce(e,100)),$(document).on("click",t.offerBannerCloseIcon,function(){setTimeout(e,0)})})}();
|
package/package.json
CHANGED
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
">
|
|
183
183
|
{{#unless isQuantity}}
|
|
184
184
|
<label for="quantity-field" class="quantity-label">Quantity: </label>
|
|
185
|
-
<input type="text" inputmode="numeric" pattern="[0-9]
|
|
185
|
+
<input type="text" inputmode="numeric" required="" pattern="[0-9]*\d" id="quantity-field"
|
|
186
186
|
class="tbx tbx_quantity"
|
|
187
187
|
value="1">
|
|
188
188
|
{{/unless}}
|
|
@@ -2,52 +2,56 @@ var Wick = window.Wick || {};
|
|
|
2
2
|
window.Wick = Wick;
|
|
3
3
|
|
|
4
4
|
Wick.BillieModalScrollReset = (function () {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
const MODAL_ID = '#billieLearnMoreModal';
|
|
6
|
+
const OPEN_LINK = '.billie__link[data-target="#billieLearnMoreModal"]';
|
|
7
|
+
const SCROLL_BODY = '.modal-body.modal-box__body';
|
|
8
|
+
const CONTENT = '.modal-content.modal-box__content';
|
|
9
|
+
|
|
10
|
+
function resetScroll($modal) {
|
|
11
|
+
if (!$modal || !$modal.length) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let bodyEl = $modal.find(SCROLL_BODY)[0];
|
|
16
|
+
if (bodyEl) {
|
|
17
|
+
bodyEl.scrollTop = 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
$modal.find(CONTENT).attr('data-scroll-state', 'top');
|
|
13
21
|
}
|
|
14
22
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
function bindEvents($modal) {
|
|
24
|
+
$(document).on('click', OPEN_LINK, function () {
|
|
25
|
+
resetScroll($modal);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
$(document).on('shown.bs.modal', MODAL_ID, function () {
|
|
29
|
+
resetScroll($modal);
|
|
30
|
+
requestAnimationFrame(function () {
|
|
31
|
+
resetScroll($modal);
|
|
32
|
+
});
|
|
33
|
+
setTimeout(function () {
|
|
34
|
+
resetScroll($modal);
|
|
35
|
+
}, 30);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
$(document).on('hidden.bs.modal', MODAL_ID, function () {
|
|
39
|
+
resetScroll($modal);
|
|
40
|
+
});
|
|
18
41
|
}
|
|
19
42
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
$(document).on('hidden.bs.modal', MODAL_ID, function () {
|
|
35
|
-
resetScroll($modal);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function init() {
|
|
40
|
-
$(function () {
|
|
41
|
-
let $modal = $(MODAL_ID);
|
|
42
|
-
if (!$modal.length) return;
|
|
43
|
-
|
|
44
|
-
bindEvents($modal);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
init: init,
|
|
50
|
-
};
|
|
43
|
+
function init() {
|
|
44
|
+
$(function () {
|
|
45
|
+
let $modal = $(MODAL_ID);
|
|
46
|
+
if (!$modal.length) return;
|
|
47
|
+
|
|
48
|
+
bindEvents($modal);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
init: init,
|
|
54
|
+
};
|
|
51
55
|
})();
|
|
52
56
|
|
|
53
57
|
Wick.BillieModalScrollReset.init();
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
function resetBillieModalScroll($modal) {
|
|
35
|
-
const $body = $modal.find(
|
|
36
|
-
const $content = $modal.find(
|
|
35
|
+
const $body = $modal.find('.modal-body');
|
|
36
|
+
const $content = $modal.find('.modal-content');
|
|
37
37
|
|
|
38
38
|
$body.scrollTop(0);
|
|
39
|
-
$content.attr(
|
|
39
|
+
$content.attr('data-scroll-state', 'top');
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
function applyBillieTerms(terms) {
|
|
@@ -48,16 +48,16 @@
|
|
|
48
48
|
$modal.attr('data-billie-terms', terms);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
$(document).on(
|
|
51
|
+
$(document).on('shown.bs.modal', '#billieLearnMoreModal', function () {
|
|
52
52
|
const $modal = $(this);
|
|
53
53
|
requestAnimationFrame(() => resetBillieModalScroll($modal));
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
-
$(document).on(
|
|
56
|
+
$(document).on('hidden.bs.modal', '#billieLearnMoreModal', function () {
|
|
57
57
|
resetBillieModalScroll($(this));
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
$(document).on(
|
|
60
|
+
$(document).on('click', '.billie__link', function (e) {
|
|
61
61
|
e.preventDefault();
|
|
62
62
|
|
|
63
63
|
const terms = nextTerms();
|