wickes-css2 2.105.0-develop.4 → 2.105.0-develop.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/build/css/pages/tradePro-rewards.css +1 -1
  2. package/build/js/basket.min.js +1 -1
  3. package/build/js/bundle.min.js +1 -1
  4. package/build/js/checkout.min.js +1 -1
  5. package/build/js/emulation.min.js +3 -2
  6. package/build/js/merged-checkout.min.js +1 -1
  7. package/build/js/my-account.min.js +1 -1
  8. package/build/js/page/share-project-list.js +57 -0
  9. package/build/js/page/tradePro-rewards.js +69 -39
  10. package/build/js/page/utils/copy-to-clipboard.js +79 -47
  11. package/build/js/project-list.min.js +143 -85
  12. package/build/js/tradePro-rewards.min.js +1 -1
  13. package/package.json +1 -1
  14. package/src/components/.DS_Store +0 -0
  15. package/src/js/emulation/project-list-pdp.js +2 -3
  16. package/src/js/page/share-project-list.js +57 -0
  17. package/src/js/page/tradePro-rewards.js +69 -39
  18. package/src/js/page/utils/copy-to-clipboard.js +79 -47
  19. package/src/page_empty-shared-project-list-bicester-hub.html +1 -0
  20. package/src/page_empty-shopping-list_guest.html +1 -0
  21. package/src/page_my-shopping-list-add-notes.html +1 -0
  22. package/src/page_my-shopping-list-energy.html +1 -0
  23. package/src/page_my-shopping-list-hide-download.html +2 -1
  24. package/src/page_my-shopping-list-pdf.html +2 -0
  25. package/src/page_my-shopping-list-saved-ref.html +1 -0
  26. package/src/page_my-shopping-list-wisdom-oos-registered.html +1 -0
  27. package/src/page_my-shopping-list-wisdom-oos.html +1 -0
  28. package/src/page_my-shopping-list-wisdom-partial-registered.html +1 -0
  29. package/src/page_my-shopping-list-wisdom-registered.html +1 -0
  30. package/src/page_my-shopping-list-wisdom.html +1 -0
  31. package/src/page_my-shopping-list.html +1 -0
  32. package/src/page_my-shopping-list_not-register.html +3 -0
  33. package/src/page_project-list-generate-project-list-ID.html +3 -0
  34. package/src/page_project-list-vat.html +4 -0
  35. package/src/page_project-list-with-new-share-popup-android.html +2 -1
  36. package/src/page_project-list-with-new-share-popup-ios.html +2 -1
  37. package/src/page_project-list-with-new-share-popup.html +1 -1
  38. package/src/page_shared-project-list-bicester-hub.html +2 -1
  39. package/src/scss/pages/tradePro-rewards.scss +1 -1
  40. package/build/js/plp-filters.min.js +0 -9
  41. package/build/js/search-filter.min.js +0 -1
  42. package/src/js/components/share-project-list.js +0 -53
@@ -1 +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]);
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]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.105.0-develop.4",
3
+ "version": "2.105.0-develop.5",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
Binary file
@@ -307,11 +307,10 @@ function returnSuccessGetPayload(currentPage) {
307
307
 
308
308
  $(document).ready(function () {
309
309
  function init() {
310
- if (!$('.shop-list-modal').length) {
310
+ if (!$('.shop-list-modal').length || !Wick.SavingShoppingList) {
311
311
  return;
312
312
  }
313
-
314
- $(Wick.SavingShoppingList.el.modalSavingToShopList).on(
313
+ $(Wick.SavingShoppingList?.el.modalSavingToShopList).on(
315
314
  'show.bs.modal',
316
315
  Wick.SavingShoppingList.init
317
316
  );
@@ -0,0 +1,57 @@
1
+ import { copyToClipboard } from './utils/copy-to-clipboard';
2
+
3
+ var Wick = Wick || {};
4
+ Wick.ShareProjectList = (function () {
5
+ function init() {
6
+ var $input = $('#share-list-modal #shopping-list-link');
7
+ var linkContainer = $('#copy-link');
8
+ var $actualLink = linkContainer.find('a');
9
+ var copyClass = 'copy-link_hovered';
10
+
11
+ $actualLink.on('click', function (e) {
12
+ e.preventDefault();
13
+ });
14
+
15
+ function focusAndSelectInput() {
16
+ if (!$input.length) return;
17
+
18
+ var el = $input.get(0);
19
+
20
+ $input.removeAttr('disabled');
21
+
22
+ el.focus();
23
+
24
+ var len = (el.value || '').length;
25
+ if (typeof el.setSelectionRange === 'function') {
26
+ el.setSelectionRange(0, len);
27
+ } else if (typeof el.select === 'function') {
28
+ el.select();
29
+ }
30
+ }
31
+
32
+ linkContainer.on('click', function (e) {
33
+ e.preventDefault();
34
+
35
+ focusAndSelectInput();
36
+
37
+ var value = ($input.val() || '').trim();
38
+ if (!value) return;
39
+
40
+ copyToClipboard(value, linkContainer[0], { noUpperCase: true })
41
+ .then(function () {
42
+ $actualLink.addClass(copyClass);
43
+ })
44
+ .catch(function (e) {
45
+ console.error(e);
46
+ });
47
+ });
48
+
49
+ $input.on('click', function (e) {
50
+ e.preventDefault();
51
+ focusAndSelectInput();
52
+ $actualLink.removeClass(copyClass);
53
+ });
54
+ }
55
+
56
+ init();
57
+ })();
@@ -1,46 +1,76 @@
1
- import {copyToClipboard} from "./utils/copy-to-clipboard";
1
+ import { copyToClipboard } from './utils/copy-to-clipboard';
2
2
 
3
3
  var Wick = window.Wick || {};
4
4
 
5
5
  Wick.TradeProRewards = {
6
- el: {
7
- $tradeProRewards: $('.page_tradePro-rewards'),
8
- buttonSelector: '.copy-tradePro-barcode',
9
- },
10
- message: 'Code copied to clipboard',
11
- copyToClipboardInit() {
12
- Wick.SnackBar.init();
13
- $(Wick.TradeProRewards.el.buttonSelector).on('click', function (e) {
14
- e.preventDefault();
15
- e.stopPropagation();
16
- var discountCode = $(this).parent().find('input');
17
- var discountCodeValue = discountCode.val().trim();
18
- discountCode.removeAttr('disabled').attr('readonly', 'readonly');
19
-
20
- copyToClipboard(discountCodeValue, e.currentTarget, { noUpperCase: true });
21
-
22
- discountCode.attr('disabled', 'disabled').removeAttr('readonly');
23
- window.getSelection().removeAllRanges();
24
-
25
- Wick.SnackBar.show(
26
- {
27
- text: Wick.TradeProRewards.message,
28
- type: Wick.SnackBar.types.SUCCESS,
29
- withCloseButton: false,
30
- autoClose: true,
31
- delayBeforeClose: 3000
32
- }
33
- );
34
- return false;
35
- });
36
- },
37
- init() {
38
- Wick.TradeProRewards.copyToClipboardInit();
39
- }
40
- }
6
+ el: {
7
+ $tradeProRewards: $('.page_tradePro-rewards'),
8
+ buttonSelector: '.copy-tradePro-barcode',
9
+ },
10
+
11
+ message: 'Code copied to clipboard',
12
+ errorMessage: 'Unable to copy. Please copy manually',
13
+
14
+ copyToClipboardInit() {
15
+ Wick.SnackBar.init();
16
+
17
+ $(document).on('click', Wick.TradeProRewards.el.buttonSelector, async function (e) {
18
+ e.preventDefault();
19
+ e.stopPropagation();
20
+
21
+ const $btn = $(this);
22
+ const $input = $btn.parent().find('input');
23
+
24
+ if (!$input.length) return false;
25
+
26
+ const discountCodeValue = ($input.val() || '').trim();
27
+ if (!discountCodeValue) return false;
28
+
29
+ $input.removeAttr('disabled').attr('readonly', 'readonly');
30
+
31
+ try {
32
+ await copyToClipboard(discountCodeValue, e.currentTarget, { noUpperCase: true });
33
+
34
+ Wick.SnackBar.show({
35
+ text: Wick.TradeProRewards.message,
36
+ type: Wick.SnackBar.types.SUCCESS,
37
+ withCloseButton: false,
38
+ autoClose: true,
39
+ delayBeforeClose: 3000,
40
+ });
41
+ } catch (err) {
42
+ try {
43
+ const el = $input.get(0);
44
+ el.focus();
45
+ el.select();
46
+ el.setSelectionRange(0, 999999);
47
+ } catch (e) {
48
+ console.error(e);
49
+ }
50
+
51
+ Wick.SnackBar.show({
52
+ text: Wick.TradeProRewards.errorMessage,
53
+ type: Wick.SnackBar.types.ERROR,
54
+ withCloseButton: false,
55
+ autoClose: true,
56
+ delayBeforeClose: 4000,
57
+ });
58
+ }
59
+
60
+ $input.attr('disabled', 'disabled').removeAttr('readonly');
61
+ window.getSelection()?.removeAllRanges?.();
62
+
63
+ return false;
64
+ });
65
+ },
66
+
67
+ init() {
68
+ Wick.TradeProRewards.copyToClipboardInit();
69
+ },
70
+ };
41
71
 
42
72
  $(document).ready(function () {
43
- if (Wick.TradeProRewards.el.$tradeProRewards.length) {
44
- Wick.TradeProRewards.init();
45
- }
73
+ if (Wick.TradeProRewards.el.$tradeProRewards.length) {
74
+ Wick.TradeProRewards.init();
75
+ }
46
76
  });
@@ -1,56 +1,88 @@
1
1
  export function copyToClipboard(copyValue, currentSelector, options = {}) {
2
- const $temp = $('<textarea>').css({
3
- position: 'absolute',
4
- top: 0,
5
- left: 0,
6
- opacity: 0
7
- });
8
-
9
- $(currentSelector).parent().append($temp);
10
-
11
- let str;
12
- if (options.noUpperCase) {
13
- str = copyValue;
14
- } else {
15
- str = copyValue.replace(/(^\w|\s\w)/g, function (m) {
16
- return m.toUpperCase()
17
- });
18
- }
2
+ const textTrimmed = normalizeCopyText(copyValue, options);
19
3
 
20
- const textFiltered = str.split(' ').filter(function (value) {
21
- return value !== ''
22
- });
4
+ if (!textTrimmed) return Promise.reject(new Error('Empty text'));
23
5
 
24
- const textTrimmed = textFiltered.join(' ');
6
+ // 1) iOS app bridge (WKWebView)
7
+ if (window.webkit?.messageHandlers?.copy) {
8
+ try {
9
+ window.webkit.messageHandlers.copy.postMessage(textTrimmed);
10
+ return Promise.resolve(true);
11
+ } catch (e) {
12
+ console.error(e);
13
+ }
14
+ }
25
15
 
26
- $temp.val(textTrimmed);
16
+ // 2) Android app bridge
17
+ if (window.Android?.copyToClipboard && typeof window.Android.copyToClipboard === 'function') {
18
+ try {
19
+ window.Android.copyToClipboard(textTrimmed);
20
+ return Promise.resolve(true);
21
+ } catch (e) {
22
+ console.error(e);
23
+ }
24
+ }
27
25
 
28
- if (navigator.userAgent.match(/TradeProMobile_iOS|DIYMobile_iOS/i)) {
29
- iosCopyToClipboard($temp);
30
- } else if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
31
- $temp.select();
32
- $temp[0].setSelectionRange(0, 999999);
33
- } else {
34
- $temp.select();
35
- }
26
+ if (navigator.clipboard?.writeText) {
27
+ return navigator.clipboard.writeText(textTrimmed).then(() => true);
28
+ }
36
29
 
37
- document.execCommand("copy");
38
- $temp.remove();
30
+ return legacyExecCommandCopy(textTrimmed, currentSelector);
39
31
  }
40
32
 
41
- function iosCopyToClipboard($input) {
42
- const el = $input.get(0);
43
- const editable = el.contentEditable;
44
- const readOnly = el.readOnly;
45
- const range = document.createRange();
46
- const sel = window.getSelection();
47
-
48
- el.contentEditable = true;
49
- el.readOnly = false;
50
- range.selectNodeContents(el);
51
- sel.removeAllRanges();
52
- sel.addRange(range);
53
- el.setSelectionRange(0, 999999);
54
- el.contentEditable = editable;
55
- el.readOnly = readOnly;
33
+ function normalizeCopyText(copyValue, options) {
34
+ let raw = copyValue == null ? '' : copyValue + '';
35
+
36
+ const str = options.noUpperCase ? raw : raw.replace(/(^\w|\s\w)/g, (m) => m.toUpperCase());
37
+
38
+ return str
39
+ .split(' ')
40
+ .filter((v) => v !== '')
41
+ .join(' ')
42
+ .trim();
43
+ }
44
+
45
+ function legacyExecCommandCopy(text, currentSelector) {
46
+ return new Promise(function (resolve, reject) {
47
+ try {
48
+ let $parent = $(currentSelector).parent();
49
+
50
+ let $temp = $('<textarea>').val(text).attr('readonly', 'readonly').css({
51
+ position: 'fixed',
52
+ top: 0,
53
+ left: '-9999px',
54
+ opacity: 0,
55
+ width: '1px',
56
+ height: '1px',
57
+ padding: 0,
58
+ border: 0,
59
+ margin: 0,
60
+ });
61
+
62
+ $parent.append($temp);
63
+
64
+ let el = $temp.get(0);
65
+
66
+ el.focus();
67
+ let len = (el.value || '').length;
68
+ if (typeof el.setSelectionRange === 'function') {
69
+ el.setSelectionRange(0, len);
70
+ } else {
71
+ $temp.select();
72
+ }
73
+
74
+ let ok = document.execCommand('copy');
75
+
76
+ $temp.remove();
77
+
78
+ if (window.getSelection) {
79
+ let sel = window.getSelection();
80
+ if (sel && sel.removeAllRanges) sel.removeAllRanges();
81
+ }
82
+
83
+ ok ? resolve(true) : reject(new Error('execCommand failed'));
84
+ } catch (e) {
85
+ reject(e);
86
+ }
87
+ });
56
88
  }
@@ -6,6 +6,7 @@
6
6
  <main>
7
7
  {{> shopping-list-bicester-hub emptyShopList="true" }}
8
8
  </main>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{#content "foot" mode="append"}}
11
12
  <script defer src="./js/saving-shopping-list.min.js"></script>
@@ -5,5 +5,6 @@
5
5
  <main>
6
6
  {{> shopping-list emptyShopList=true pagination=false}}
7
7
  </main>
8
+ <script defer src="./js/share-project-list.min.js"></script>
8
9
  {{/content}}
9
10
  {{/extend}}
@@ -18,5 +18,6 @@
18
18
  copy-id=true
19
19
  }}
20
20
  </main>
21
+ <script defer src="./js/share-project-list.min.js"></script>
21
22
  {{/content}}
22
23
  {{/extend}}
@@ -15,5 +15,6 @@
15
15
  {{/content}}
16
16
  <script defer src="./js/page/project-list.js"></script>
17
17
  <script defer src="./js/energy-efficiency.min.js"></script>
18
+ <script defer src="./js/share-project-list.min.js"></script>
18
19
  {{/content}}
19
20
  {{/extend}}
@@ -7,6 +7,7 @@
7
7
  </main>
8
8
  {{/content}}
9
9
  {{#content "foot" mode="append"}}
10
- <script src="./js/project-list-note.min.js"></script>
10
+ <script defer src="./js/project-list.min.js"></script>
11
+ <script defer src="./js/share-project-list.min.js"></script>
11
12
  {{/content}}
12
13
  {{/extend}}
@@ -3,5 +3,7 @@
3
3
  {{/content}}
4
4
  {{#content "body"}}
5
5
  {{> shopping-list-pdf}}
6
+
7
+ <script defer src="./js/share-project-list.min.js"></script>
6
8
  {{/content}}
7
9
  {{/extend}}
@@ -6,5 +6,6 @@
6
6
  {{> shopping-list emptyShopList=false isUserRegister=true pagination=true ref-value=true}}
7
7
  </main>
8
8
  <script defer src="./js/page/project-list.js"></script>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{/extend}}
@@ -6,6 +6,7 @@
6
6
  {{> shopping-list emptyShopList=false isUserRegister=true pagination=true ref=true wisdom=true available=0}}
7
7
  </main>
8
8
  <script defer src="./js/page/project-list.js"></script>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{#content "foot" mode="append"}}
11
12
  {{> wisdom-modal available=0 current=5}}
@@ -6,6 +6,7 @@
6
6
  {{> shopping-list emptyShopList=false isUserRegister=false pagination=true ref=true wisdom=true available=0}}
7
7
  </main>
8
8
  <script defer src="./js/page/project-list.js"></script>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{#content "foot" mode="append"}}
11
12
  {{> wisdom-modal available=0 current=5}}
@@ -6,6 +6,7 @@
6
6
  {{> shopping-list emptyShopList=false isUserRegister=true pagination=true ref=true wisdom=true available=10}}
7
7
  </main>
8
8
  <script defer src="./js/page/project-list.js"></script>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{#content "foot" mode="append"}}
11
12
  {{> wisdom-modal available=12 current=15}}
@@ -6,6 +6,7 @@
6
6
  {{> shopping-list emptyShopList=false isUserRegister=true pagination=true ref=true wisdom=true available=10}}
7
7
  </main>
8
8
  <script defer src="./js/page/project-list.js"></script>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{#content "foot" mode="append"}}
11
12
  {{> wisdom-modal available=12 current=5}}
@@ -6,6 +6,7 @@
6
6
  {{> shopping-list emptyShopList=false isUserRegister=false pagination=true ref=true wisdom=true available=10}}
7
7
  </main>
8
8
  <script defer src="./js/page/project-list.js"></script>
9
+ <script defer src="./js/share-project-list.min.js"></script>
9
10
  {{/content}}
10
11
  {{#content "foot" mode="append"}}
11
12
  {{> wisdom-modal available=12 current=5}}
@@ -9,5 +9,6 @@
9
9
  <script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.1/html2pdf.bundle.min.js"
10
10
  integrity="sha512-1qLXyA3x0VSWeM+8vOotn6+KIRGdcQ8QMzsNeDXmdJsUAnoDGjzlxzqAuUGJGrGkGrtOrq4buDoAHxR89D9PWA=="
11
11
  crossorigin="anonymous" referrerpolicy="no-referrer"></script>
12
+ <script defer src="./js/share-project-list.min.js"></script>
12
13
  {{/content}}
13
14
  {{/extend}}
@@ -5,6 +5,9 @@
5
5
  <main>
6
6
  {{> shopping-list emptyShopList=false pagination=true}}
7
7
  </main>
8
+ {{/content}}
9
+ {{#content "foot" mode="append"}}
8
10
  <script defer src="./js/page/project-list.js"></script>
11
+ <script defer src="./js/share-project-list.min.js"></script>
9
12
  {{/content}}
10
13
  {{/extend}}
@@ -19,4 +19,7 @@
19
19
  }}
20
20
  </main>
21
21
  {{/content}}
22
+ {{#content "foot" mode="append"}}
23
+ <script defer src="./js/share-project-list.min.js"></script>
24
+ {{/content}}
22
25
  {{/extend}}
@@ -21,4 +21,8 @@
21
21
  }}
22
22
  </main>
23
23
  {{/content}}
24
+ {{#content "foot" mode="append"}}
25
+ <script defer src="./js/project-list.min.js"></script>
26
+ <script defer src="./js/share-project-list.min.js"></script>
27
+ {{/content}}
24
28
  {{/extend}}
@@ -8,7 +8,8 @@
8
8
  </main>
9
9
  {{/content}}
10
10
  {{#content "foot" mode="append"}}
11
- <script src="./js/project-list-note.min.js"></script>
11
+ <script src="./js/project-list.min.js"></script>
12
+ <script defer src="./js/share-project-list.min.js"></script>
12
13
  <script async src="https://static.addtoany.com/menu/page.js"></script>
13
14
  <script defer src="./js/saving-shopping-list.min.js"></script>
14
15
  {{/content}}
@@ -8,7 +8,8 @@
8
8
  </main>
9
9
  {{/content}}
10
10
  {{#content "foot" mode="append"}}
11
- <script src="./js/project-list-note.min.js"></script>
11
+ <script src="./js/project-list.min.js"></script>
12
+ <script defer src="./js/share-project-list.min.js"></script>
12
13
  <script async src="https://static.addtoany.com/menu/page.js"></script>
13
14
  <script defer src="./js/saving-shopping-list.min.js"></script>
14
15
  {{/content}}
@@ -8,7 +8,7 @@
8
8
  </main>
9
9
  {{/content}}
10
10
  {{#content "foot" mode="append"}}
11
- <script src="./js/project-list-note.min.js"></script>
11
+ <script defer src="./js/project-list.min.js"></script>
12
12
  <script async src="https://static.addtoany.com/menu/page.js"></script>
13
13
  <script defer src="./js/saving-shopping-list.min.js"></script>
14
14
  {{/content}}
@@ -9,7 +9,8 @@
9
9
  </main>
10
10
  {{/content}}
11
11
  {{#content "foot" mode="append"}}
12
- <script src="./js/project-list-note.min.js"></script>
12
+ <script defer src="./js/project-list.min.js"></script>
13
+ <script defer src="./js/share-project-list.min.js"></script>
13
14
  <script defer src="./js/global-search.min.js"></script>
14
15
  <script defer src="./js/saving-shopping-list.min.js"></script>
15
16
  {{/content}}
@@ -7,7 +7,7 @@ $voucher-cell-height-lg: 246px;
7
7
  $voucher-cell-height-xl: 296px;
8
8
 
9
9
  .text-start {
10
- text-align: left;
10
+ text-align: left !important;
11
11
  }
12
12
 
13
13
  .page_tradePro-rewards {
@@ -1,9 +0,0 @@
1
- var Wick=window.Wick||{};function formatNumberInElement(e){const i=new Intl.NumberFormat("en-GB");document.querySelectorAll(e).forEach(e=>{var t=e.textContent.trim(),t=Number(t.replace(/[^\d]/g,""));Number.isNaN(t)||(e.textContent=i.format(t))})}Wick.PLPUtils=function(){function i(e){return e.find(".plp-filters__options--cards").length?"cards":e.find(".swatch-list").length?"swatches":"text"}return{syncTwinInputsByName:function(e,t,i){$(".filter-card__checkbox, .swatch__checkbox, .checkbox__input").filter(function(){return $(this).attr("name")===e}).each(function(){i&&this===i[0]||$(this).prop("checked",t)})},getPanelType:i,countItems:function(e){var t=i(e);return"cards"===t?e.find(".filter-card").length||0:"swatches"===t?e.find(".swatch").length||0:e.find(".checkbox").length||0},setCardsColumns:function(e,t){(e=e.find(".plp-filters__options--cards")).length&&e.css("grid-template-columns",`repeat(${t}, minmax(0,1fr))`)},getGroupsMeta:function(e,t){const r=[];return e.find(t).each((e,t)=>{var t=$(t),i=t.attr("data-filter")||"";i&&r.push({domName:i,paramKey:i,group:t})}),r}}}(),(Wick=window.Wick||{}).PLPChips={GROUP:".plp-filters__group",TOGGLE:".plp-filters__toggle",INPUTS:".filter-card__checkbox, .swatch__checkbox, .checkbox__input",CHIPS_WRAP_SEL:".plp-selected",BADGE_CLASS:"plp-filters__badge",renderGroupCounters(e){e.find(Wick.PLPChips.GROUP).each((e,t)=>{var t=$(t),i=t.attr("data-filter")||"",i=Wick.PLPFilters.appliedState[i]?Wick.PLPFilters.appliedState[i].size:0,t=t.find(Wick.PLPChips.TOGGLE).find(`.${Wick.PLPChips.BADGE_CLASS} span`);0<i?t.text(i).css("display","flex"):t.text("").hide()})},renderChips(t){t=t.find(Wick.PLPChips.CHIPS_WRAP_SEL);if(t.length){const r=t.find(".plp-selected__list");let e=t.find(".plp-selected__clear-all");r.empty();var i=Wick.PLPFilters.totalApplied();t.find(".plp-selected__clear-all").prop("hidden",0===i),0===i?(t.hide(),e.length&&e.remove()):(Object.keys(Wick.PLPFilters.appliedState).forEach(t=>{Wick.PLPFilters.appliedState[t].forEach(e=>{r.append(`<button type="button" class="pf-chip" data-group="${t}" data-value="${e}">
2
- <span class="pf-chip__text">${e}</span>
3
- <i class="fa fa-times pf-chip__close" aria-hidden="true"></i>
4
- <span class="sr-only">Remove ${e} from ${t}</span>
5
- </button>`)})}),e.length?(e.prop("hidden",!1),e.appendTo(r)):(e=$(`
6
- <button type="button" class="plp-selected__clear-all btn btn-secondary">
7
- <i class="fa fa-times" aria-hidden="true"></i><span>Clear all</span>
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))},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)})})}();
@@ -1 +0,0 @@
1
- !function o(i,n,s){function l(t,e){if(!n[t]){if(!i[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=n[t]={exports:{}},i[t][0].call(r.exports,function(e){return l(i[t][1][e]||e)},r,r.exports,o,i,n,s)}return n[t].exports}for(var c="function"==typeof require&&require,e=0;e<s.length;e++)l(s[e]);return l}({1:[function(e,t,r){"use strict";var o,i,n;o=$(".filter-results_mobile"),$("#open-overlay").click(function(e){e.preventDefault(),$("body").addClass("is-filters-visible"),o.toggleClass("show")}),$("#close-overlay, .filter-results__btn-close").click(function(e){e.preventDefault(),o.hasClass("show")&&($("body").removeClass("is-filters-visible"),o.removeClass("show"))}),$('.filter-results_desktop .filter__item input[type="checkbox"]').click(function(){$(this).closest("form").submit()}),i=".close",n='.filter-results_desktop .filter__item input[type="checkbox"]',$(".filter-modal-cta").on("click",function(e){e.preventDefault()}),$(document).on("click",i,function(e){e.preventDefault()}),$(document).on("click",n,function(){$(this).closest("form").submit()})},{}]},{},[1]);