wickes-css2 2.109.0-develop.1 → 2.109.0-test.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md CHANGED
@@ -234,7 +234,6 @@ While using breakpoints we should use right order of its placement:
234
234
  ```
235
235
 
236
236
  * Preferable way is to use one way of breakpoints direction: -up or -down, and to use them both only in exceptional cases"
237
-
238
237
  * -only breakpoints should be placed only after group of -up or -down
239
238
 
240
239
 
@@ -4811,10 +4811,16 @@ Wick.DeliveryDetails = function () {
4811
4811
  },{}],39:[function(require,module,exports){
4812
4812
  "use strict";
4813
4813
 
4814
- var Wick = Wick || {};
4814
+ window.Wick = window.Wick || {};
4815
+ window.Wick.BillieData = window.Wick.BillieData || {};
4816
+ window.Wick.BillieData.billiePaymentTerms = ['30', '60', '90'];
4817
+ window.INIT_KLARNA_PAYMENT = window.INIT_KLARNA_PAYMENT || 'INIT_KLARNA_PAYMENT';
4818
+ window.INIT_BILLIE_PAYMENT = window.INIT_BILLIE_PAYMENT || 'INIT_BILLIE_PAYMENT';
4815
4819
  Wick.PaymentDetails = function () {
4816
4820
  var $btnEnterDetails = $('.btn-enter-details'),
4817
4821
  isGuestPage = $('.page_checkout-payment-details_guest').length;
4822
+ var $billieInfo = $('.checkout-payment-details__billie .billie-info');
4823
+ var $klarnaInfo = $('.checkout-payment-details__klarna .klarna-info');
4818
4824
  function bindEvents() {
4819
4825
  $btnEnterDetails.on('click', function (e) {
4820
4826
  e.preventDefault();
@@ -4850,6 +4856,26 @@ Wick.PaymentDetails = function () {
4850
4856
  Wick.Forms.showValidationErrors(this);
4851
4857
  return false;
4852
4858
  });
4859
+ $(window).on(window.INIT_BILLIE_PAYMENT, function (e) {
4860
+ var detail = e.detail || e.originalEvent && e.originalEvent.detail || {};
4861
+ if (detail && detail.resolve) {
4862
+ $billieInfo.show();
4863
+ detail.resolve();
4864
+ }
4865
+ });
4866
+ $(window).on(window.INIT_KLARNA_PAYMENT, function (e) {
4867
+ var detail = e.detail || e.originalEvent && e.originalEvent.detail || {};
4868
+ if (detail && detail.resolve) {
4869
+ $klarnaInfo.show();
4870
+ detail.resolve();
4871
+ }
4872
+ });
4873
+ $(document).on('change', 'input[name="repaymentTerms"]', function () {
4874
+ var hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
4875
+ if (hasSelection) {
4876
+ $billieInfo.show();
4877
+ }
4878
+ });
4853
4879
  }
4854
4880
  bindEvents();
4855
4881
  }();
@@ -1 +1 @@
1
- !function r(i,a,o){function l(t,e){if(!a[t]){if(!i[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:{}},i[t][0].call(n.exports,function(e){return l(i[t][1][e]||e)},n,n.exports,r,i,a,o)}return a[t].exports}for(var s="function"==typeof require&&require,e=0;e<o.length;e++)l(o[e]);return l}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(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=i(e("./handlebars/base")),o=r(e("./handlebars/safe-string")),l=r(e("./handlebars/exception")),s=i(e("./handlebars/utils")),c=i(e("./handlebars/runtime")),e=r(e("./handlebars/no-conflict"));function d(){var t=new a.HandlebarsEnvironment;return s.extend(t,a),t.SafeString=o.default,t.Exception=l.default,t.Utils=s,t.escapeExpression=s.escapeExpression,t.VM=c,t.template=function(e){return c.template(e,t)},t}var u=d();u.create=d,e.default(u),u.default=u,n.default=u,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=u;var i=e("./utils"),a=r(e("./exception")),o=e("./helpers"),l=e("./decorators"),s=r(e("./logger")),c=e("./internal/proto-access"),d=(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 u(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},o.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}u.prototype={constructor:u,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(i.toString.call(e)===d){if(t)throw new a.default("Arg not supported with multiple helpers");i.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(i.toString.call(e)===d)i.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(i.toString.call(e)===d){if(t)throw new a.default("Arg not supported with multiple decorators");i.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}};e=s.default.log;n.log=e,n.createFrame=i.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 o=e("../utils");n.default=function(e){e.registerDecorator("inline",function(r,i,a,e){var t=r;return i.partials||(i.partials={},t=function(e,t){var n=a.partials,e=(a.partials=o.extend({},n,i.partials),r(e,t));return a.partials=n,e}),i.partials[e.args[0]]=e.fn,t})},t.exports=n.default},{"../utils":21}],5:[function(e,t,n){"use strict";n.__esModule=!0;var s=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function c(e,t){for(var t=t&&t.loc,n=void 0,r=void 0,i=void 0,a=void 0,o=(t&&(n=t.start.line,r=t.end.line,i=t.start.column,a=t.end.column,e+=" - "+n+":"+i),Error.prototype.constructor.call(this,e)),l=0;l<s.length;l++)this[s[l]]=o[s[l]];Error.captureStackTrace&&Error.captureStackTrace(this,c);try{t&&(this.lineNumber=n,this.endLineNumber=r,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=i,this.endColumn=a))}catch(e){}}c.prototype=new Error,n.default=c,t.exports=n.default},{}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.registerDefaultHelpers=function(e){i.default(e),a.default(e),o.default(e),l.default(e),s.default(e),c.default(e),d.default(e)},n.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var i=r(e("./helpers/block-helper-missing")),a=r(e("./helpers/each")),o=r(e("./helpers/helper-missing")),l=r(e("./helpers/if")),s=r(e("./helpers/log")),c=r(e("./helpers/lookup")),d=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(i){i.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]),i.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,i=e.fn,n=e.inverse,a=0,o="",l=void 0,s=void 0;function c(e,t,n){l&&(l.key=e,l.index=t,l.first=0===t,l.last=!!n,s)&&(l.contextPath=s+e),o+=i(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 d=r.length;a<d;a++)a in r&&c(a,a,a===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var u=[],f=r[Symbol.iterator](),p=f.next();!p.done;p=f.next())u.push(p.value);for(d=(r=u).length;a<d;a++)c(a,a,a===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&c(t,a-1),t=e,a++}),void 0!==t&&c(t,a-1,!0);return o=0===a?n(this):o})},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"),i=(e=e)&&e.__esModule?e:{default:e};n.default=function(n){n.registerHelper("if",function(e,t){if(2!=arguments.length)throw new i.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 i.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(i){i.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,i.log.apply(i,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 i=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");i.isFunction(e)&&(e=e.call(this));var n,r=t.fn;return i.isEmpty(e)?t.inverse(this):(n=t.data,t.data&&t.ids&&((n=i.createFrame(t.data)).contextPath=i.appendContextPath(t.data.contextPath,t.ids[0])),r(e,{data:n,blockParams:i.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 o("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"),i=(e=n)&&e.__esModule?e:{default:e},a=Object.create(null);function o(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,i.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"),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=r.indexOf(i.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=i.lookupLevel(e),"undefined"!=typeof console&&i.lookupLevel(i.level)<=e){e=i.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=i,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 u.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 u.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},n.template=function(s,c){if(!c)throw new u.default("No environment passed to template");if(!s||!s.main)throw new u.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,c.VM.checkRevision(s.compiler);var n=s.compiler&&7===s.compiler[0];var o={strict:function(e,t,n){if(e&&t in e)return o.lookupProperty(e,t);throw new u.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,o.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(null!=(e[r]&&o.lookupProperty(e[r],t)))return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=d.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=c.VM.resolvePartial.call(this,e,t,n);var r=d.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),i=c.VM.invokePartial.call(this,e,t,r);if(null==i&&c.compile&&(n.partials[n.name]=c.compile(e,s.compilerOptions,c),i=n.partials[n.name](t,r)),null==i)throw new u.default("The partial "+n.name+" could not be compiled when running in runtime-only mode");if(n.indent){for(var a=i.split("\n"),o=0,l=a.length;o<l&&(a[o]||o+1!==l);o++)a[o]=n.indent+a[o];i=a.join("\n")}return i},fn:function(e){var t=s[e];return t.decorator=s[e+"_d"],t},programs:[],program:function(e,t,n,r,i){var a=this.programs[e],o=this.fn(e);return a=t||i||r||n?m(this,e,o,t,n,r,i):a||(this.programs[e]=m(this,e,o))},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?d.extend({},t,e):n},nullContext:Object.seal({}),noop:c.VM.noop,compilerInfo:s.compiler};function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.data,r=(l._setup(t),!t.partial&&s.useData&&(n=function(e,t){t&&"root"in t||((t=t?f.createFrame(t):{}).root=e);return t}(e,n)),void 0),i=s.useBlockParams?[]:void 0;function a(e){return""+s.main(o,e,o.helpers,o.partials,n,i,r)}return s.useDepths&&(r=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=g(s.main,a,o,t.depths||[],n,i))(e,t)}return l.isTop=!0,l._setup=function(e){var t,r,i;e.partial?(o.protoAccessControl=e.protoAccessControl,o.helpers=e.helpers,o.partials=e.partials,o.decorators=e.decorators,o.hooks=e.hooks):(t=d.extend({},c.helpers,e.helpers),r=t,i=o,Object.keys(r).forEach(function(e){var t,n=r[e];r[e]=(t=i.lookupProperty,p.wrapHelper(n,function(e){return d.extend({lookupProperty:t},e)}))}),o.helpers=t,s.usePartial&&(o.partials=o.mergeIfNeeded(e.partials,c.partials)),(s.usePartial||s.useDecorators)&&(o.decorators=d.extend({},c.decorators,e.decorators)),o.hooks={},o.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||n,a.moveHelperToHooks(o,"helperMissing",t),a.moveHelperToHooks(o,"blockHelperMissing",t))},l._child=function(e,t,n,r){if(s.useBlockParams&&!n)throw new u.default("must pass block params");if(s.useDepths&&!r)throw new u.default("must pass parent depths");return m(o,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 i=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!==o&&!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"]=i,n(e,t)},n.partials&&(r.partials=d.extend({},r.partials,n.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new u.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=o;var d=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"),u=(n=n)&&n.__esModule?n:{default:n},f=e("./base"),a=e("./helpers"),p=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(r,e,i,a,t,o,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)),i(r,e,r.helpers,r.partials,t.data||a,o&&[t.blockParams].concat(o),n)}return(n=g(i,n,r,l,a,o)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function o(){return""}function g(e,t,n,r,i,a){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],i,a,r),d.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(i,o):e},n.isEmpty=function(e){return!e&&0!==e||!(!d(e)||0!==e.length)},n.createFrame=function(e){var t=l({},e);return t._parent=e,t},n.blockParams=function(e,t){return e.path=t,e},n.appendContextPath=function(e,t){return(e?e+".":"")+t};var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},i=/[&<>"'`=]/g,a=/[&<>"'`=]/;function o(e){return r[e]}function l(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var s=Object.prototype.toString,c=(n.toString=s,function(e){return"function"==typeof e}),d=(c(/x/)&&(n.isFunction=c=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),n.isFunction=c,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});n.isArray=d},{}],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,i){return' <span class="giftcard-summary__add js-giftcard-add">Add another Gift Card</span>\n or pay the remaining balance with a Credit/Debit card.\n'},3:function(e,t,n,r,i){return" Maximum number of Gift Cards added, please pay remaining balance with a Credit/Debit card.\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p class="'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"hintClass")||(null!=t?l(t,"hintClass"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"hintClass",hash:{},data:i,loc:{start:{line:1,column:10},end:{line:1,column:23}}}):a)+'">\n'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"canAdd"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:7,column:9}}}))?a:"")+(null!=(a=e.invokePartial(l(r,"info-icon"),t,{name:"info-icon",hash:{"data-placement":"top",title:"If you’d like to pay with a different payment method, please remove any / all applied Gift Cards."},data:i,indent:" ",helpers:n,partials:r,decorators:e.decorators}))?a:"")+"</p>\n"},usePartial:!0,useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,e=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="giftcard-chip" data-giftcard-id="'+c(typeof(a=null!=(a=e(n,"id")||(null!=t?e(t,"id"):t))?a:l)==s?a.call(o,{name:"id",hash:{},data:i,loc:{start:{line:1,column:45},end:{line:1,column:51}}}):a)+'">\n <div class="giftcard-chip__icon" aria-hidden="true">\n <img src="https://eu-images.contentstack.com/v3/assets/blt066259863543a0d2/blt0af9cb9d86356305/69130779467abd2df07b7e79/giftcard.svg" alt="giftcard" />\n </div>\n\n <div class="giftcard-chip__content">\n <div class="giftcard-chip__line">\n <span\n class="giftcard-chip__number"\n aria-label="'+c(typeof(a=null!=(a=e(n,"maskedNumber")||(null!=t?e(t,"maskedNumber"):t))?a:l)==s?a.call(o,{name:"maskedNumber",hash:{},data:i,loc:{start:{line:10,column:22},end:{line:10,column:38}}}):a)+'">\n '+c(typeof(a=null!=(a=e(n,"maskedNumber")||(null!=t?e(t,"maskedNumber"):t))?a:l)==s?a.call(o,{name:"maskedNumber",hash:{},data:i,loc:{start:{line:11,column:8},end:{line:11,column:24}}}):a)+'\n </span>\n </div>\n\n <div class="giftcard-chip__line">\n <span class="giftcard-chip__applied">'+c(typeof(a=null!=(a=e(n,"currency")||(null!=t?e(t,"currency"):t))?a:l)==s?a.call(o,{name:"currency",hash:{},data:i,loc:{start:{line:16,column:43},end:{line:16,column:55}}}):a)+c(typeof(a=null!=(a=e(n,"amount")||(null!=t?e(t,"amount"):t))?a:l)==s?a.call(o,{name:"amount",hash:{},data:i,loc:{start:{line:16,column:55},end:{line:16,column:65}}}):a)+' applied</span>\n </div>\n </div>\n\n <span class="giftcard-chip__close">\n <i class="fal fa-times" aria-hidden="true"></i>\n </span>\n</div>\n'},useData:!0})},{"hbsfy/runtime":23}],26:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="giftcard-summary" style="display:none">\n <div class="giftcard-chip-list">\n'+(null!=(a=e.invokePartial(a(r,"loader"),t,{name:"loader",hash:{hidden:!0},data:i,indent:" ",helpers:n,partials:r,decorators:e.decorators}))?a:"")+' </div>\n <p class="giftcard-summary__hint"></p>\n</div>\n'},usePartial:!0,useData:!0})},{"hbsfy/runtime":23}],27:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]},o=' title="',l=null!=(l=a(n,"markdown")||(null!=t?a(t,"markdown"):t))?l:e.hooks.helperMissing,i={name:"markdown",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:11},end:{line:3,column:46}}},l="function"==typeof l?l.call(null!=t?t:e.nullContext||{},i):l;return null!=(l=a(n,"markdown")?l:e.hooks.blockHelperMissing.call(t,l,i))&&(o+=l),o+'"\n'},2:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(n=null!=(n=a(n,"title")||(null!=t?a(t,"title"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:3,column:24},end:{line:3,column:33}}}):n)},4:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' title="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"title")||(null!=t?a(t,"title"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:5,column:11},end:{line:5,column:20}}}):n)+'"\n'},6:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'data-container="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"data-container")||(null!=t?a(t,"data-container"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"data-container",hash:{},data:i,loc:{start:{line:7,column:40},end:{line:7,column:58}}}):n)+'"'},8:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'data-offset="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"data-offset")||(null!=t?a(t,"data-offset"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"data-offset",hash:{},data:i,loc:{start:{line:8,column:34},end:{line:8,column:49}}}):n)+'"'},10:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'data-html="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"data-html")||(null!=t?a(t,"data-html"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"data-html",hash:{},data:i,loc:{start:{line:9,column:30},end:{line:9,column:43}}}):n)+'"'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="icon icon-info-component '+c(typeof(a=null!=(a=d(n,"modification")||(null!=t?d(t,"modification"):t))?a:l)==s?a.call(o,{name:"modification",hash:{},data:i,loc:{start:{line:1,column:38},end:{line:1,column:54}}}):a)+'" data-toggle="tooltip" data-placement="'+c(typeof(a=null!=(a=d(n,"data-placement")||(null!=t?d(t,"data-placement"):t))?a:l)==s?a.call(o,{name:"data-placement",hash:{},data:i,loc:{start:{line:1,column:94},end:{line:1,column:112}}}):a)+'"\n'+(null!=(c=d(n,"if").call(o,null!=t?d(t,"markdown"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(4,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))?c:"")+" "+(null!=(c=d(n,"if").call(o,null!=t?d(t,"data-container"):t,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:2},end:{line:7,column:66}}}))?c:"")+"\n "+(null!=(c=d(n,"if").call(o,null!=t?d(t,"data-offset"):t,{name:"if",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:8,column:2},end:{line:8,column:57}}}))?c:"")+"\n "+(null!=(c=d(n,"if").call(o,null!=t?d(t,"data-html"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:9,column:2},end:{line:9,column:51}}}))?c:"")+'\n>\n <span class="fas fa-info-circle"></span>\n <span class="far fa-info-circle"></span>\n</span>\n'},useData:!0})},{"hbsfy/runtime":23}],28:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,i){return"d-none"},3:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" <h2>"+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"titleLoader")||(null!=t?a(t,"titleLoader"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"titleLoader",hash:{},data:i,loc:{start:{line:8,column:12},end:{line:8,column:27}}}):n)+"</h2>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="loader-wrapper '+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"modifier")||(null!=t?l(t,"modifier"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"modifier",hash:{},data:i,loc:{start:{line:1,column:27},end:{line:1,column:39}}}):a)+" "+(null!=(a=l(n,"if").call(o,null!=t?l(t,"hidden"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:40},end:{line:1,column:67}}}))?a:"")+'">\n <div class="loader-spinner">\n <svg class="circular-loader" viewBox="25 25 50 50">\n <circle class="loader-path" cx="50" cy="50" r="20" fill="none"/>\n </svg>\n </div>\n'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"titleLoader"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:4},end:{line:9,column:11}}}))?a:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],29:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,i){return"notification notification_general"},3:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <span class="fas fa-check-circle"></span>\n </span>\n'},5:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <span class="fas fa-exclamation-circle"></span>\n </span>\n'},7:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <span class="fas fa-times-circle"></span>\n </span>\n'},9:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <i class="fas fa-user-hard-hat"></i>\n </span>\n'},11:function(e,t,n,r,i){var a,o,l=null!=t?t:e.nullContext||{},s=e.hooks.helperMissing,c="function",e=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <div class="notification__wrap">\n <h4 class="title">'+(null!=(a=typeof(o=null!=(o=e(n,"title")||(null!=t?e(t,"title"):t))?o:s)==c?o.call(l,{name:"title",hash:{},data:i,loc:{start:{line:30,column:24},end:{line:30,column:35}}}):o)?a:"")+'</h4>\n <p class="description">'+(null!=(a=typeof(o=null!=(o=e(n,"text")||(null!=t?e(t,"text"):t))?o:s)==c?o.call(l,{name:"text",hash:{},data:i,loc:{start:{line:31,column:29},end:{line:31,column:39}}}):o)?a:"")+"</p>\n </div>\n"},13:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" "+(null!=(a="function"==typeof(n=null!=(n=a(n,"text")||(null!=t?a(t,"text"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"text",hash:{},data:i,loc:{start:{line:34,column:4},end:{line:34,column:14}}}):n)?a:"")+"\n"},15:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <div class="accordion-notifications">\n <input class="accordion-notifications-item-input" type="checkbox" name="accordion-notifications" id="accordion-notifications" />\n <div class="accordion-notifications-list">\n <div class="additional-notifications">\n'+(null!=(n=a(n,"each").call(null!=t?t:e.nullContext||{},null!=t?a(t,"additional-list"):t,{name:"each",hash:{},fn:e.program(16,i,0),inverse:e.noop,data:i,loc:{start:{line:42,column:8},end:{line:44,column:17}}}))?n:"")+' </div>\n </div>\n <label for="accordion-notifications" class="accordion-notifications-view-all">View all errors</label>\n </div>\n'},16:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <p class="notification-item">'+(null!=(a="function"==typeof(n=null!=(n=a(n,"notification")||(null!=t?a(t,"notification"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"notification",hash:{},data:i,loc:{start:{line:43,column:39},end:{line:43,column:57}}}):n)?a:"")+"</p>\n"},18:function(e,t,n,r,i){return' <b>\n <a class="notification_link" href="#">Learn more</a>\n </b>\n'},20:function(e,t,n,r,i){return' <i class="fas fa-angle-right"></i>\n'},22:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <span class="icon notification__close notification__close'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"mod")||(null!=t?l(t,"mod"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"mod",hash:{},data:i,loc:{start:{line:60,column:61},end:{line:60,column:68}}}):a)+'">\n <span class="fa'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"bold"):t,{name:"if",hash:{},fn:e.program(23,i,0),inverse:e.program(25,i,0),data:i,loc:{start:{line:61,column:21},end:{line:61,column:50}}}))?a:"")+' fa-times"></span>\n </span>\n'},23:function(e,t,n,r,i){return"s"},25:function(e,t,n,r,i){return"r"},27:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <span class="icon notification__hide notification_accordion"\n data-toggle="collapse" data-target="#'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"target-id")||(null!=t?l(t,"target-id"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"target-id",hash:{},data:i,loc:{start:{line:66,column:47},end:{line:66,column:60}}}):a)+'">\n <span class="fa'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"bold"):t,{name:"if",hash:{},fn:e.program(23,i,0),inverse:e.program(25,i,0),data:i,loc:{start:{line:67,column:27},end:{line:67,column:56}}}))?a:"")+' fa-times"></span>\n </span>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o,l=null!=t?t:e.nullContext||{},s=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="'+(null!=(a=s(n,"unless").call(l,null!=t?s(t,"app"):t,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:12},end:{line:1,column:71}}}))?a:"")+" "+e.escapeExpression("function"==typeof(o=null!=(o=s(n,"classModifier")||(null!=t?s(t,"classModifier"):t))?o:e.hooks.helperMissing)?o.call(l,{name:"classModifier",hash:{},data:i,loc:{start:{line:1,column:72},end:{line:1,column:89}}}):o)+'">\n'+(null!=(a=s(n,"if").call(l,null!=t?s(t,"success"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"warning"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:2},end:{line:11,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"info"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"error"):t,{name:"if",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:17,column:2},end:{line:21,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"reminder"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:22,column:2},end:{line:26,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"title"):t,{name:"if",hash:{},fn:e.program(11,i,0),inverse:e.program(13,i,0),data:i,loc:{start:{line:28,column:2},end:{line:35,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"additional-notifications"):t,{name:"if",hash:{},fn:e.program(15,i,0),inverse:e.noop,data:i,loc:{start:{line:37,column:2},end:{line:49,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"link"):t,{name:"if",hash:{},fn:e.program(18,i,0),inverse:e.noop,data:i,loc:{start:{line:51,column:2},end:{line:55,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"angle-icon"):t,{name:"if",hash:{},fn:e.program(20,i,0),inverse:e.noop,data:i,loc:{start:{line:56,column:2},end:{line:58,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"withCloseBtn"):t,{name:"if",hash:{},fn:e.program(22,i,0),inverse:e.noop,data:i,loc:{start:{line:59,column:2},end:{line:63,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"withHideBtn"):t,{name:"if",hash:{},fn:e.program(27,i,0),inverse:e.noop,data:i,loc:{start:{line:64,column:2},end:{line:69,column:9}}}))?a:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.updateDiscount=function(e,t){e=null==e?void 0:e.promotionsInfo;Array.isArray(e)&&0!==e.length?($(r.discountItem).show(),r.$discountList().empty(),t?e.forEach(function(e){r.$discountList().append(function(){return e.usedCouponCode&&e.description?'\n <li data-coupon-code="'.concat(e.usedCouponCode,'">\n ').concat(e.description,'\n <span class="icon checkout-widget__voucher-remove">\n <span class="fas fa-times"></span>\n </span>\n </li>\n '):e.description?"<li>".concat(e.description,"</li>"):""})}):e.forEach(function(e){var t;t=e,_.isEmpty(t)||(t.usedCouponCode&&t.description?r.$discountList().append(function(e){return'\n <li data-coupon-code="'.concat(e.usedCouponCode,'">\n ').concat(e.description,'\n <span class="icon checkout-widget__voucher-remove">\n <span class="fas fa-times"></span>\n </span>\n </li>\n')}(t)):t.description&&r.$discountList().append(function(){return"<li>".concat(t.description,"</li>")}))})):$(r.discountItem).hide()};var r={$discountList:function(){return $(".checkout-widget__details-discount").find("ul")},discountItem:".checkout-widget__details-discount"}},{}],31:[function(e,t,n){"use strict";var a=e("../utils/show-hide-input"),i=e("./order-summary"),f=e("../utils/loader"),h=e("../utils/gift-cards-utils"),p=e("../utils/validation"),m=e("../utils/input-handling"),r=e("hbsfy/runtime"),g=(r.registerPartial("info-icon",e("../../../components/info-icon.hbs")),r.registerPartial("loader",e("../../../elements/loader.hbs")),e("../../../components/gift-cards-hint.hbs")),o=e("../../../components/giftcard-chip.hbs"),l=e("../../../components/giftcard-summary.hbs"),s=e("../../../elements/notifications.hbs"),c=window.Wick||{};c.GiftCard={ADD_GIFT_CARD:h.ADD_GIFT_CARD,REMOVE_GIFT_CARD:h.REMOVE_GIFT_CARD,PAY_WITH_GIFT_CARD:h.PAY_WITH_GIFT_CARD,el:{$blocks:$(".giftcard"),block:".giftcard",toggle:"#giftcard-toggle",panel:"#giftcard-inline",hint:".giftcard-hint",closeBtn:".giftcard-inline__close",form:".giftcard-inline__form",number:'input[name="giftcard-number"]',pin:'input[name="giftcard-pin"]',note:".giftcard-note",field:".giftcard__field",errorText:".giftcard__error-text",fieldError:"giftcard-field--error",showToggle:".toggle-show",loader:".giftcard__container .loader-wrapper",success:"#giftcard-applied",container:".giftcard__container",paymentForm:".checkout-payment-details__payment-method",billieField:".form-row__field.form-row__field-billie",klarnaField:".form-row__field.form-row__field-klarna",clearpayField:".form-row__field.form-row__field-clearpay",appleField:".form-row__field.form-row__field-apple",googleField:".form-row__field.form-row__field-google",paypalField:".form-row__field.form-row__field-paypal",cardField:".form-row__field.form-row__card-payment",summaryHint:".giftcard-summary__hint",chipList:".giftcard-chip-list",summary:".giftcard-summary",chip:".giftcard-chip",giftcardRow:".giftcard-row",checkoutContainer:".checkout-payment-details",formRow:".form-row",iconInfo:".icon-info-component",toggleIcon:"svg, i",iconEye:"fa-eye",iconEyeSlash:"fa-eye-slash",iconSvgEyeSlash:"eye-slash",passwordToggleEvent:"input.passwordToggle",ariaInvalidAttr:"aria-invalid",typeAttr:"type",dataIconAttr:"data-icon",svg:"svg",expandedAttr:"aria-expanded",giftcardBtn:".giftcard__btn",jsGiftcardAdd:".js-giftcard-add",giftcardChipClose:".giftcard-chip__close",body:"body",loaderChip:".loader-wrapper",chipListLoader:".giftcard-chip-list > .loader-wrapper",notification:".giftcard-inline .notification",giftCardInline:".giftcard-inline",notificationRoot:".notification",inlineHeader:".giftcard-inline__header",ctaSelector:".btn-enter-details",btnDetails:"button",btnText:".btn__text",btnEnterDetails:".btn-enter-details",checkoutPaymentFields:".billing-address .checkout-payment-details__descr",pageLoader:".loader-wrapper.page-loader",cardRadio:"#checkout-payment-details-card, #_checkout-payment-details-card_card",billieInfo:".checkout-payment-details__billie",klarnaInfo:".checkout-payment-details__klarna",billingAddress:".billing-address",altPaymentRowsAttr:"[data-apple],[data-google],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]",hiddenCard:"checkout-payment-details__card-details_hidden",cardDetails:".checkout-payment-details__card-details"},messages:{numberMessage:"Gift Card should consist of 16 digits",pinMessage:"Gift Card PIN should consist of 8 digits",ctaDefaultText:"Enter card details",ctaGiftcardText:"Pay with Gift Card"},maxChips:3,successTimer:null,pendingServerGiftCards:null,altPaymentInfosLocked:!1,altPaymentPanelsLocked:!1,summaryTotal:null,resetPinToggle:function(e){var t=this.el,n=t.pin,r=t.field,i=t.showToggle,a=t.toggleIcon,o=t.iconEye,l=t.iconEyeSlash,s=t.iconSvgEyeSlash,c=t.passwordToggleEvent,d=t.typeAttr,u=t.dataIconAttr,t=t.svg,e=e.find(n).closest(r),r=e.find(n).first(),n=(r.attr(d,"password"),e.find(i).first()),d=n.find(a).first(),e=(d.length&&(d.removeClass("".concat(o," ").concat(l)).addClass(l),d.is(t))&&d.attr(u)&&d.attr(u,s),0<(r.val()||"").length);n.toggle(e),r.trigger(c)},resetForm:function(e){var t=this.el,n=t.number,r=t.pin,t=t.note,n=e.find(n),r=e.find(r);n.val(""),r.val(""),(0,p.clearErrorText)(n,this.el.field,this.el.errorText,this.el.fieldError,this.el.ariaInvalidAttr),(0,p.clearErrorText)(r,this.el.field,this.el.errorText,this.el.fieldError,this.el.ariaInvalidAttr),e.find(t).remove(),this.hideBanner(e),this.resetPinToggle(e)},open:function(e){var t=this.el,n=t.toggle,r=t.panel,i=t.hint,a=t.pin,o=t.expandedAttr,t=t.passwordToggleEvent;this.hideBanner(e),e.show(),e.find(r).prop("hidden",!1),e.find(n).attr(o,"true").hide(),e.find(i).hide(),e.find(a).trigger(t)},close:function(e){var t=this,n=this.el,r=n.toggle,i=n.panel,a=n.loader,o=n.expandedAttr,l=e.find(r),s=e.find(i),c=e.find(a);(0,f.showLoader)(c),setTimeout(function(){(0,f.hideLoader)(c),s.prop("hidden",!0),l.attr(o,"false").show().trigger("focus"),t.updateHintVisibility(e)},1e3)},showSubmitSpinner:function(e){var t=this.el,n=t.panel,r=t.toggle,i=t.hint,t=t.expandedAttr;e.find(n).prop("hidden",!0),e.find(r).attr(t,"false").show().trigger("focus"),e.find(i).show(),this.showSuccess(e)},handleToggleClick:function(e){e.preventDefault(),this.open($(e.currentTarget).closest(this.el.$blocks))},handleCloseClick:function(e){e.preventDefault();e=$(e.currentTarget).closest(this.el.$blocks);this.resetForm(e),this.close(e)},finalizeSuccess:function(e,t){var n=this.el,r=n.panel,i=n.toggle,a=n.hint,n=n.expandedAttr;t&&t.length&&t.attr("hidden","hidden").removeClass("fade show").off("transitionend"),this.resetForm(e),e.find(r).prop("hidden",!0),e.find(i).attr(n,"false").show(),e.find(a).show(),this.pendingServerGiftCards&&(this.renderGiftCardsFromList(e,this.pendingServerGiftCards),this.pendingServerGiftCards=null),this.updateHintVisibility(e),this.successTimer=null},showSuccess:function(t){var n=this,e=this.el.success,r=(this.successTimer&&(clearTimeout(this.successTimer),this.successTimer=null),t.hide(),$(e));r.removeAttr("hidden").addClass("fade"),r[0]&&r[0].offsetWidth,r.addClass("show"),this.successTimer=setTimeout(function(){r.removeClass("show");function e(){return n.finalizeSuccess(t,r)}r.on("transitionend",e),setTimeout(e,200)},3e3)},handleFormSubmit:function(e){var t,n,r=this,i=this.el,a=i.number,o=i.block,l=i.giftcardRow,i=i.loaderChip,s=(e.preventDefault(),$(e.currentTarget).closest(o)),e=(this.hideBanner(s),s.find(a)),o=(e.val((0,h.formatGc16)(e.val())),s.find(this.el.number)),a=s.find(this.el.pin),e={fieldSelector:this.el.field,errorTextSelector:this.el.errorText,errorClass:this.el.fieldError,ariaInvalidAttr:this.el.ariaInvalidAttr,numberMessage:this.messages.numberMessage},c={fieldSelector:this.el.field,errorTextSelector:this.el.errorText,errorClass:this.el.fieldError,ariaInvalidAttr:this.el.ariaInvalidAttr,pinMessage:this.messages.pinMessage},d=(0,p.validateExactDigits)(o,16,this.messages.numberMessage,this.el),u=(0,p.validateExactDigits)(a,8,this.messages.pinMessage,this.el);d&&u?(u=this.getNumberValue(s),t=this.getPinValue(s),(n=(l=s.closest(l)).children(i)).length||((0,f.appendLoader)({wrapper:l}),n=l.children(i).last()),(0,h.verifyGiftCard)(n,u,t).then(function(e){return r.handleVerifyResponse(s,e)}).catch(function(e){e=r.getErrorMessage(e);r.showBannerError(s,e)})):((0,m.handleGcNumberBlur)({currentTarget:o[0]},e),(0,m.handleGcPinBlur)({currentTarget:a[0]},c),(d?a:o).trigger("focus"))},handleVerifyResponse:function(e,t){if(t&&t.code===h.OK_CODE)return Array.isArray(t.giftCards)?(this.pendingServerGiftCards=t.giftCards.slice(),null==t.orderTotal&&null==t.giftCardTotal||(n={total:t.orderTotal,giftCardApplied:t.giftCardTotal},(0,i.updateOrderSummary)(n,(0,h.buildSummaryEqualMap)(n),!0),this.summaryTotal=t.orderTotal,this.toggleBillingDescrForZero(e),this.updateCtaButton(e)),this.resetForm(e),void this.showSubmitSpinner(e)):void this.showBannerError(e,h.DEFAULT_ERROR_MESSAGE);var n=t&&h.MESSAGE_BY_CODE[t.code]||h.DEFAULT_ERROR_MESSAGE;this.showBannerError(e,n)},updateHintVisibility:function(e){var t=this.el,n=t.chipList,r=t.giftcardRow,i=t.hint,a=t.panel,o=t.toggle,l=t.iconInfo,s=t.expandedAttr,c=t.summaryHint,d=t.chip,u=t.block,t=t.body,e=e.closest(r),r=e.find(u).first(),u=e.find("".concat(n," ").concat(d)).length,e=this.maxChips||3,n=null!=this.summaryTotal&&(0,h.isZeroAmount)(this.summaryTotal),d=(this.toggleAltPayments(r,0===u),this.toggleAltPaymentInfos(r,0===u),0<u?this.altPaymentPanelsLocked?this.showOnlyBillingAddress(r):(this.showOnlyBillingAddress(r),this.altPaymentPanelsLocked=!0):this.altPaymentPanelsLocked?this.showOnlyBillingAddress(r):(this.toggleAltPayments(r,!0),this.toggleAltPaymentInfos(r,!0)),this.ensureSummaryContainer(r));0===u?(d.hide(),r.show(),this.resetForm(r),r.find(a).prop("hidden",!0),r.find(o).attr(s,"false").show(),r.find(i)[n?"hide":"show"](),this.updateCtaButton(r)):(this.setBillingLabelToCard(r),d.show(),r.hide(),r.find(i).hide(),a=(0,h.buildHintContext)(u,e,n),o=g(a),s=d.find(c).first(),i=$(o),s.length?s.replaceWith(i):d.append(i),n&&d.find(c).hide(),this.toggleCardDetailsForTotal(r),$.fn.tooltip&&d.find(c).find(l).tooltip({container:t}))},renderChipHTML:function(e){var t=e.id,n=e.maskedNumber,r=e.currency,e=e.amount;return o({id:t,maskedNumber:n,currency:r,amount:e})},toggleAltPaymentInfos:function(e,t){var n=this.el,r=n.checkoutContainer,i=n.billieInfo,n=n.klarnaInfo,e=e.closest(r);this.altPaymentInfosLocked&&(t=!1),[e.find(i),e.find(n)].forEach(function(e){e&&e.length&&e[t?"show":"hide"]()}),t||(this.altPaymentInfosLocked=!0)},toggleAltPayments:function(e,t){var n=this.el,r=n.paymentForm,i=n.billieField,a=n.klarnaField,o=n.clearpayField,l=n.appleField,s=n.googleField,c=n.paypalField,d=n.checkoutContainer,u=n.formRow,n=n.cardField,f=e.closest(d).find(r),p=null!=this.summaryTotal&&(0,h.isZeroAmount)(this.summaryTotal),e=([i,a,o,l,s,c].forEach(function(e){e=f.find(e).closest(u);e.length&&e[t&&!p?"show":"hide"]()}),f.find(n).closest(u));e.length&&e[p?"hide":"show"](),t||this.ensureCardPaymentSelected(f)},ensureCardPaymentSelected:function(e){var t=this.el,n=t.cardField,r=t.cardRadio,t=t.formRow,e=e.find(n).closest(t);e.length&&(n=e.find(r)).length&&!n.prop("checked")&&(n.prop("checked",!0),n.trigger("change"),this.updateCtaButton(e))},handleAddAnotherClick:function(e){e.preventDefault();var t,n=this.el,r=n.giftcardRow,i=n.chipList,a=n.chip,o=n.block,l=n.number,n=n.summaryHint,e=$(e.currentTarget).closest(r);e.find("".concat(i," ").concat(a)).length>=this.maxChips||(t=e.find(o).first(),this.resetForm(t),this.open(t),e.find(n).hide(),setTimeout(function(){t.find(l).trigger("focus")},0))},getErrorMessage:function(e){e=!e||"number"!=typeof e.code&&"string"!=typeof e.code?void 0:e.code;return null!=e&&h.MESSAGE_BY_CODE[e]||h.DEFAULT_ERROR_MESSAGE},handleChipCloseClick:function(e){var t,n=this,r=(e.preventDefault(),this.el),i=r.chip,a=r.giftcardRow,o=r.block,l=r.giftcardChipClose,s=r.chipList,r=r.loaderChip,e=$(e.currentTarget).closest(i),c=e.closest(a),d=c.find(o).first(),a=this.ensureSummaryContainer(d).find("".concat(s," ").concat(i)).index(e);a<0||((t=c.children(r)).length||((0,f.appendLoader)({wrapper:c}),t=c.children(r).last()),c.find(l).css("pointer-events","none").attr("aria-disabled","true"),(0,h.removeGiftCard)(t,a).then(function(e){return n.handleRemoveResponse(d,e)}).catch(function(e){e=n.getErrorMessage(e);n.showBannerError(d,e)}).finally(function(){(0,f.hideLoader)(t),c.find(l).css("pointer-events","").removeAttr("aria-disabled")}))},handleRemoveResponse:function(e,t){var n,r;t&&t.code===h.OK_CODE?(r=Array.isArray(t.giftCards)?t.giftCards:[],n={total:t.orderTotal,giftCardApplied:t.giftCardTotal},this.summaryTotal=t.orderTotal,this.renderGiftCardsFromList(e,r,n),null==t.orderTotal&&null==t.giftCardTotal||(0,i.updateOrderSummary)(n,(0,h.buildSummaryEqualMap)(n),!0),this.updateCtaButton(e),this.toggleBillingDescrForZero(e)):(r=t&&h.MESSAGE_BY_CODE[t.code]||h.DEFAULT_ERROR_MESSAGE,this.showBannerError(e,r))},ensureSummaryContainer:function(e){var t=this.el,n=t.summary,t=t.giftcardRow,e=e.closest(t),t=e.find(n).first();return t.length||(t=$(l({})),e.append(t)),t},getPageLoader:function(){var e=$(this.el.pageLoader);return e.parent().is("body")||e.appendTo("body"),e},showPageLoader:function(){var e=this.getPageLoader();(0,f.showLoader)(e)},updateCtaButton:function(e){var t=this.el,n=t.ctaSelector,r=t.btnDetails,i=t.btnText,t=t.checkoutContainer,a=$(n);(a=a.length?a:e.closest(t).find(n)).length&&(t=(e=a.closest(r).length?a.closest(r):a).find(i).first().length?e.find(i).first():e,n=(0,h.isZeroAmount)(this.summaryTotal),t.text(n?this.messages.ctaGiftcardText:this.messages.ctaDefaultText),e.attr("data-mode",n?"giftcards":"card"),n?e.attr("type","button").removeAttr("form"):e.attr("type","submit").attr("form","hopPaymentAddressPostForm"))},toggleBillingDescrForZero:function(e){e=e.closest(this.el.checkoutContainer).find(this.el.checkoutPaymentFields);e.length&&e[(0,h.isZeroAmount)(this.summaryTotal)?"hide":"show"]()},getNumberValue:function(e){var t=this.el.number;return String(e.find(t).val()||"").replace(/\D/g,"")},getPinValue:function(e){var t=this.el.pin;return String(e.find(t).val()||"").replace(/\D/g,"")},bindGiftcardCtaHandler:function(){var r=this;$(document).off("click.giftcard",this.el.btnEnterDetails),$(document).on("click.giftcard",this.el.btnEnterDetails,function(e){var t,n=$(this);"giftcards"===n.attr("data-mode")&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),e=n.closest(r.el.checkoutContainer).find(r.el.block).first(),t=e.length?e:$(r.el.block).first(),r.showPageLoader(),(0,h.payWithGiftCard)().then(function(e){e=e.url;"string"==typeof e&&e&&(window.location.href=e)}).catch(function(e){Array.isArray(null==e?void 0:e.giftCards)&&r.renderGiftCardsFromList(t,e.giftCards);e=e.errorCode&&h.PAY_MESSAGE_BY_CODE[e.errorCode]||h.DEFAULT_PAY_ERROR_MESSAGE;e&&c.Notification.show({text:(0,h.linkifyClickHere)(e),container:".globalMessages .container",type:"error"})}).finally(function(){var e=r.getPageLoader();(0,f.hideLoader)(e)}))})},showBannerError:function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"",r=this.el,i=r.notificationRoot,a=r.giftCardInline,r=r.inlineHeader,e=e.find(a),a=(e.find(i).remove(),s({classModifier:"notification_error",error:!0,withCloseBtn:!0,title:n||void 0,text:(0,h.linkifyClickHere)(t)}));e.find(r).after(a)},hideBanner:function(e){var t=this.el.notification;e.find(t).remove()},mapGiftToChipData:function(e,t){var e=e.closest(this.el.block).data("currency")||"£",n=Number(t.amountToRedeem||0),n=Number.isFinite(n)?n.toFixed(2):"0.00";return{id:t.id,maskedNumber:String(t.maskedNumber||""),currency:e,amount:n}},renderGiftCardsFromList:function(t,e,n){var r=this,i=this.el,a=i.chipList,o=i.loaderChip,i=i.chip,l=this.ensureSummaryContainer(t),a=l.find(a),i=(a.children("".concat(i,":not(").concat(o,")")).remove(),(e||[]).map(function(e){return r.renderChipHTML(r.mapGiftToChipData(t,e))}).join(""));i&&(a.append(i),l.show()),this.updateHintVisibility(t,n),Array.isArray(e)&&0<e.length&&this.setBillingLabelToCard(t)},toggleCardDetailsForTotal:function(e){var t=this.el,n=t.checkoutContainer,r=t.cardDetails,t=t.hiddenCard,e=e.closest(n).find(r);e.length&&null!=this.summaryTotal&&(0,h.isZeroAmount)(this.summaryTotal)&&e.addClass(t)},setBillingLabelToCard:function(e){var e=e.closest(this.el.checkoutContainer).find(this.el.billingAddress);e.length&&(e=e.find('[for="card-name"]')).length&&e.text("Name on card")},showOnlyBillingAddress:function(e){var t=this.el,n=t.checkoutContainer,r=t.billingAddress,i=t.altPaymentRowsAttr,t=t.hiddenCard,n=e.closest(n);n.find(r).removeClass(t),n.find(i).addClass(t),this.toggleAltPaymentInfos(e,!1)},useGlobalError:function(e,t){var n;window.Wick&&c.Notification&&"function"==typeof c.Notification.show&&(t=h.linkifyClickHere?(0,h.linkifyClickHere)(t):String(t||""),n=[".globalMessages .container",".globalMessages.container"].find(function(e){return $(e).length}))&&c.Notification.show({text:t,container:n,type:"error"})},bindSplitPaymentFailedListener:function(){var t=this;window.addEventListener("cardSplitPaymentFailed",function(e){var e=null==e||null==(e=e.detail)?void 0:e.externalErrorCode;e&&(e=h.PAY_MESSAGE_BY_CODE[e]||h.DEFAULT_PAY_ERROR_MESSAGE,t.useGlobalError(t.el.$blocks.first(),e))})},bindEvents:function(){var t=this,e=this.el,n=e.number,r=e.pin,i=e.toggle,a=e.closeBtn,o=e.giftcardBtn,l=e.jsGiftcardAdd,e=e.giftcardChipClose,s=($(document).off(".giftcard"),(0,m.createGcNumberInputHandler)({fieldSelector:this.el.field,fieldErrorClass:this.el.fieldError,errorTextSelector:this.el.errorText,ariaInvalidAttr:this.el.ariaInvalidAttr}));$(document).on("input.giftcard",n,s).on("keypress.giftcard",n,m.digitsOnlyKeypress).on("blur.giftcard",n,function(e){return(0,m.handleGcNumberBlur)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr,numberMessage:t.messages.numberMessage})}),$(document).on("input.giftcard",r,function(e){return(0,m.handleGcPinInput)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr})}).on("keypress.giftcard",r,m.handleGcPinKeypress).on("blur.giftcard",r,function(e){return(0,m.handleGcPinBlur)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr,pinMessage:t.messages.pinMessage})}),$(document).on("click.giftcard",i,this.handleToggleClick.bind(this)).on("click.giftcard",a,this.handleCloseClick.bind(this)).on("click.giftcard",o,this.handleFormSubmit.bind(this)).on("click.giftcard",l,this.handleAddAnotherClick.bind(this)).on("click.giftcard",e,this.handleChipCloseClick.bind(this)),this.bindGiftcardCtaHandler()},init:function(){var e,t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=this.el,r=n.field,i=n.pin,n=n.$blocks;this.bindEvents(),this.bindSplitPaymentFailedListener(),n&&n.length&&(e=n.first(),Array.isArray(t.giftCards)&&t.giftCards.length&&this.renderGiftCardsFromList(e,t.giftCards),t=t.errorCode,Number.isFinite(t))&&h.PAY_MESSAGE_BY_CODE[t]&&this.useGlobalError(e,h.PAY_MESSAGE_BY_CODE[t]),n.each(function(e,t){t=$(t).find(i).closest(r);t.length&&(0,a.initializeInputToggle)(t)})}}},{"../../../components/gift-cards-hint.hbs":24,"../../../components/giftcard-chip.hbs":25,"../../../components/giftcard-summary.hbs":26,"../../../components/info-icon.hbs":27,"../../../elements/loader.hbs":28,"../../../elements/notifications.hbs":29,"../utils/gift-cards-utils":33,"../utils/input-handling":34,"../utils/loader":35,"../utils/show-hide-input":36,"../utils/validation":37,"./order-summary":32,"hbsfy/runtime":23}],32:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.updateOrderSummary=function(e,t,n){function r(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.some(function(e){return i.has(e)})}t.forEach(function(e){void 0!==e.dataValue&&($(e.item).length?$(e.item).show():$(o.checkoutWidgetDetailsDiscount).length?$(o.checkoutWidgetDetailsDiscount).before(l(e)):$(o.checkoutWidgetDetails).append(l(e)),$(e.item).find(e.itemValue).text(e.dataValue),(n||e.value)&&e.dataValue?$(e.item).find(e.itemValue).show():$(e.item).hide())});var i=new Set(Object.keys(e||{})),t=(null==(t=e.totalPrice)?void 0:t.formattedValue)||e.total;void 0!==t&&r("total","totalPrice")&&!function(e){$(o.summaryMobileTotal).text(e)}(t);r("promotionsInfo")&&(0,a.updateDiscount)(e,n);r("deliveryOrder","clickAndCollectOrder","clickAndCollectOnly","deliveryItemsQuantity","pickupItemsQuantity")&&!function(e,t){$(o.delivery).show(),$(o.cc).show(),t?("deliveryOrder"in e&&!1===e.deliveryOrder&&$(o.delivery).hide(),"clickAndCollectOrder"in e&&!1===e.clickAndCollectOrder&&$(o.cc).hide()):e.clickAndCollectOnly?$(o.delivery).hide():0<e.deliveryItemsQuantity&&0===e.pickupItemsQuantity&&$(o.cc).hide()}(e,n);r("freeDelivery","messageForFreeDelivery","clickAndCollectOnly")&&!function(n){o.$summarySection.each(function(){var e=$(this).find(o.itemFree),t=$(this).find(o.itemDeficit);e.length&&e.remove(),t.length&&t.remove(),n.clickAndCollectOnly||(n.freeDelivery&&n.messageForFreeDelivery?($(this).find(o.summaryDelivery).before(function(){return'\n <div class="checkout-widget__item checkout-widget__item-free">\n <span class="checkout-widget__text">\n '.concat(n.messageForFreeDelivery,"\n </span>\n </div>\n ")}),$(this).find(o.summaryDelivery).hide()):!n.freeDelivery&&n.messageForFreeDelivery&&$(this).find(o.summaryDelivery).before(function(){return'\n <div class="checkout-widget__item checkout-widget__item-deficit">\n '.concat(n.messageForFreeDelivery,"\n </div>\n ")}))})}(e)};var a=e("./discounts"),o={$summarySection:$(".summary"),checkoutWidgetDetailsDiscount:".checkout-widget__details-discount",checkoutWidgetDetails:".checkout-widget__details",delivery:".checkout-widget__item-delivery",cc:".checkout-widget__item-cc",itemFree:".checkout-widget__item-free",itemDeficit:".checkout-widget__item-deficit",summaryDelivery:".checkout-widget__item-delivery",summaryMobileTotal:".summary__mobile-bar-total"};function l(e){return'\n <li class="checkout-widget__item '.concat(e.item.substr(1),'">\n <span>').concat(e.title,'</span>\n <span class="checkout-widget__item-value">').concat(e.dataValue,"</span>\n </li>\n ")}},{"./discounts":30}],33:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.REMOVE_GIFT_CARD=n.PAY_WITH_GIFT_CARD=n.PAY_MESSAGE_BY_CODE=n.OK_CODE=n.MESSAGE_BY_CODE=n.FAQ_URL=n.DEFAULT_PAY_ERROR_MESSAGE=n.DEFAULT_ERROR_MESSAGE=n.ADD_GIFT_CARD=void 0,n.buildHintContext=function(e,t){t=t<=e;return{canAdd:!t,max:t,hintClass:"giftcard-summary__hint".concat(t?" giftcard-summary__hint--max":"")}},n.buildSummaryEqualMap=function(i){return Object.entries(d).map(function(e){t=2;var e=function(e){if(Array.isArray(e))return e}(e=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,l=[],s=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?l(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),t=e[0],e=e[1],n=i[t],r=n;return"giftCardApplied"===t?k(n)?r="":null!=n&&""!==n&&"string"==typeof(r=C(n))&&r.startsWith("£")&&(r="-".concat(r)):u.has(t)&&null!=n&&""!==n&&(r=C(n)),function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){s(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({item:e.item,itemValue:e.value,dataValue:r},e.title?{title:e.title}:{})})},n.escapeHtml=void 0,n.formatGc16=function(e){return String(e||"").replace(/\D/g,"").slice(0,16).replace(/(\d{4})(?=\d)/g,"$1-")},n.isZeroAmount=k,n.linkifyClickHere=void 0,n.payWithGiftCard=function(){return new Promise(function(e,t){e=createEvent(b,void 0,{resolve:e,reject:t});window.dispatchEvent(e)})},n.removeGiftCard=function(e,r){return(0,a.showLoader)(e),new Promise(function(e,t){var n={index:r},e=createEvent(_,n,{resolve:e,reject:t,payload:n});window.dispatchEvent(e)}).finally(function(){(0,a.hideLoader)(e)})},n.verifyGiftCard=function(e,r,i){return(0,a.showLoader)(e),new Promise(function(e,t){var n={giftCardNumber:r,pin:i},e=createEvent(y,n,{resolve:e,reject:t,payload:n});window.dispatchEvent(e)}).finally(function(){(0,a.hideLoader)(e)})};var a=e("./loader");function r(e){return(r="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 o(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){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t,n){(t=function(e){e=function(e,t){if("object"!==r(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"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===r(e)?e:String(e)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function i(e){return $("<div>").text(String(e||"")).html()}var c,d={subTotal:{item:".checkout-widget__item-bold",value:".checkout-widget__item-value",title:"Items subtotal:"},vat:{item:".checkout-widget__item-vat",value:".checkout-widget__item-value",title:"VAT:"},clickAndCollectCost:{item:".checkout-widget__item-cc",value:".checkout-widget__item-value",title:"Click & Collect:"},deliveryCost:{item:".checkout-widget__item-delivery",value:".checkout-widget__item-value",title:"Delivery:"},charityPrice:{item:".checkout-widget__item-charity",value:".checkout-widget__item-value",title:"Charity donation:"},discountTotal:{item:".checkout-widget__details-discount",value:".checkout-widget__detail-value"},giftCardApplied:{item:".checkout-widget__gift-card",value:".checkout-widget__item-value",title:"Gift Card:"},total:{item:".checkout-widget__total",value:".checkout-widget__total-value"}},u=new Set(["subTotal","vat","clickAndCollectCost","deliveryCost","charityPrice","discountTotal","total","giftCardApplied"]),e="PIS-REQUEST-TIMEOUT",f="PIS-INTEGRATION-ERROR",p="PIS-INSUFFICIENT-AMOUNT",h="PIS_PROCESSING_ERROR",m="HYBRIS-REQUEST-TIMEOUT",g="HYBRIS-PIS_INTEGRATION-ERROR",v="HYBRIS-PIS_CONNECTION-ERROR",e=(n.DEFAULT_ERROR_MESSAGE="Unable to use Gift Card at this time, please try later or click here for support.",n.DEFAULT_PAY_ERROR_MESSAGE="Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support.",n.OK_CODE=0,s(c={10:"Gift Card number and / or PIN not recognised. A Gift Card will be locked following three unsuccessful PIN attempts.",16:"Card locked due to three unsuccessful PIN entries. For support click here.",20:"Unable to use Gift Card at this time, please try later or click here for support.",21:"Gift Card number not recognised.",40:"Unable to use Gift Card at this time, please try later or click here for support.",60:"The entered Gift Card has expired. For support click here.",75:"The entered Gift Card is invalid. For support click here."},"GIFT_CARD_ALREADY_ADDED","Gift Card already added, please use a different card."),s(c,e,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,f,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,p,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,h,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,m,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,g,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,v,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,"ZERO_BALANCE","Insufficient funds available, please try another Gift Card or alternate payment method."),s(c,99,"The entered Gift Card is invalid. For support click here."),s(c,-1,"Gift Card is unavailable at this time, please try later. For support click here."),n.MESSAGE_BY_CODE=c,s(c={101:"Unable to use Gift Cards at this time, please try later or click here for support.",102:"Unfortunately there was a problem with requesting your card details from the payment provider. Available funds on your Gift Card are unchanged.",103:"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support.",104:"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."},e,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,f,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,p,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,h,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,m,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,g,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,v,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,"SPLIT_PAYMENT_CARD_ERROR","Unfortunately there was a problem with requesting your card details from the payment provider. Available funds on your Gift Card are unchanged."),c),y=(n.PAY_MESSAGE_BY_CODE=e,"addGiftCard"),_=(n.ADD_GIFT_CARD=y,"removeGiftCard"),b=(n.REMOVE_GIFT_CARD=_,"payWithGiftCard"),w=(n.PAY_WITH_GIFT_CARD=b,"https://www.wickes.co.uk/gifts");n.FAQ_URL=w,n.escapeHtml=i;function C(e){var t;return null!=e&&""!==String(e).trim()&&(t=String(e).replace(/[^\d.-]/g,""),t=Number(t),Number.isFinite(t))?"£".concat(t.toFixed(2)):e}function k(e){var e=String(null!=e?e:"").replace(/[^\d.]/g,"");return!!e&&(e=Number(e),Number.isFinite(e))&&0===e}n.linkifyClickHere=function(e){return i(e).replace(/\bclick here\b/gi,'<a href="'.concat(w,'" target="_blank" rel="noopener" class="notification_link">click here</a>'))}},{"./loader":35}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createGcNumberInputHandler=function(e){var i=e.fieldSelector,a=e.fieldErrorClass,o=e.errorTextSelector,l=e.ariaInvalidAttr;return function(e){var e=e.currentTarget,t=$(e),n="number"==typeof e.selectionStart&&e.selectionStart===e.value.length,r=t.closest(i).hasClass(a);e.value=(0,s.formatGc16)(e.value),r&&(0,c.clearErrorText)(t,i,o,a,l),n&&"function"==typeof e.setSelectionRange&&e.setSelectionRange(e.value.length,e.value.length)}},n.digitsOnlyKeypress=function(e){/\d/.test(String.fromCharCode(e.which||e.keyCode))||e.preventDefault()},n.handleGcNumberBlur=function(e,t){var n=t.fieldSelector,r=t.errorTextSelector,i=t.errorClass,a=t.ariaInvalidAttr,t=t.numberMessage,e=$(e.currentTarget),o=String(e.val()||"").replace(/\D/g,"").length;(0,c.clearErrorText)(e,n,r,i,a),o<16&&(0,c.showErrorText)(e,t,n,r,i,a)},n.handleGcPinBlur=function(e,t){var n=t.fieldSelector,r=t.errorTextSelector,i=t.errorClass,a=t.ariaInvalidAttr,t=t.pinMessage,e=$(e.currentTarget),o=String(e.val()||"").replace(/\D/g,"").length;(0,c.clearErrorText)(e,n,r,i,a),o<8&&(0,c.showErrorText)(e,t,n,r,i,a)},n.handleGcPinInput=function(e,t){var n=t.fieldSelector,r=t.errorTextSelector,i=t.errorClass,t=t.ariaInvalidAttr,e=e.currentTarget,a=$(e),o=a.closest(n).hasClass(i);e.value=String(e.value||"").replace(/\D/g,"").slice(0,8),o&&(0,c.clearErrorText)(a,n,r,i,t)},n.handleGcPinKeypress=function(e){/\d/.test(String.fromCharCode(e.which||e.keyCode))||e.preventDefault()};var s=e("./gift-cards-utils"),c=e("./validation")},{"./gift-cards-utils":33,"./validation":37}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.appendLoader=function(e){$(e.wrapper).append((0,r.default)(e))},n.hideLoader=function(e){$(o(e)).addClass(a)},n.showLoader=function(e){$(o(e)).removeClass(a)};var r=(n=e("../../../elements/loader.hbs"))&&n.__esModule?n:{default:n};var i=".loader-wrapper",a="d-none";function o(e){return e||i}},{"../../../elements/loader.hbs":28}],36:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.initializeInputToggle=function(e){var n=e.find("input"),r=e.find(".toggle-show");n.length&&r.length&&(e=function(){r.toggle(0<(n.val()||"").length)},r.off("click.passwordToggle mousedown.passwordToggle").on("mousedown.passwordToggle",function(e){e.preventDefault();var e="password"===String(n.attr("type")),t=(n.attr("type",e?"text":"password"),r.find("svg, i").first());t.length&&t.removeClass("fa-eye fa-eye-slash").addClass(e?"fa-eye":"fa-eye-slash")}),n.off("input.passwordToggle").on("input.passwordToggle",e),e())}},{}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.addErrorMessage=P,n.addFieldValidation=function(e,n){$(e).each(function(e,t){$(t).blur(function(){o(this),n(this),r.idsOfInputsWithNoNeedToUpdateDuringTyping.includes(t.id)||$(this).keyup(function(){o(this),n(this)})})})},n.clearErrorText=x,n.clearValidationErrors=function(e){e=$(e);e.hasClass("form_invalid")&&e.removeClass("form_invalid").find(".form-row[data-row-required]").removeClass("form-row_validation-error").find(".form-row__error").remove()},n.isNameOnCardContainsAtLeast14Digits=_,n.isNameOnCardContainsOnly16Digits=y,n.isValidAddress2=g,n.isValidAddressSelection=m,n.isValidEmail=l,n.isValidFieldSize=d,n.isValidHouseName=h,n.isValidInputTextField=u,n.isValidOrderNumber=function(e){return 9<=e.length},n.isValidPassword=s,n.isValidPasswordSize=function(e){return 5<e.length&&e.length<256},n.isValidPhoneNumber=f,n.isValidPostcodeField=p,n.isValidStoreId=b,n.isValidTitle=c,n.isValidVoucher=v,n.removeErrorStyling=k,n.showErrorText=A,n.showValidationErrors=function(e,t){e=$(e);e.hasClass(i.formInvalid)?e.find(i.fieldRow).find(".form-row__error").text(t):(e.find(".form-row__error").remove(),e.addClass(i.formInvalid).find(i.fieldRow).append(function(e){return'<div class="form-row__error"> '.concat(e||"Error message here","</div>")}(t)).addClass(i.rowValidationError));t=e.find(i.fieldRow).first();{var n;t.length&&!function(e){"function"==typeof jQuery&&e instanceof jQuery&&(e=e[0]);e=e.getBoundingClientRect();return 0<=e.top&&0<=e.left&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}(t)&&(e=t.closest(".modal").length,n=e?t.closest(".modal"):$("html, body"),e=e?0:t.offset().top-30,n.animate({scrollTop:e},300))}},n.updateInputValueBeforeValidation=o,n.updateStylingError=w,n.updateStylingErrorForElement=C,n.validateAddress1=function(e){w(e.id,u(e.value),invalidAddressOne)},n.validateAddress2=function(e){w(e.id,g(e.value),invalidAddressTwo)},n.validateAddressSelection=function(e){w(e.id,m(e),selectAddressMessage)},n.validateCity=function(e){w(e.id,u(e.value),invalidTownCity)},n.validateEmail=function(e){w(e.id,l(e.value),invalidEmailAddress)},n.validateExactDigits=function(e,n,t,r){return function(e,t,n,r){var i=r.fieldSelector,a=r.errorText,o=r.fieldError,r=r.ariaInvalidAttr,t=!!t(String(e.val()||""));t?x(e,i,a,o,r):A(e,n,i,a,o,r);return t}(e,function(e){return t=n,function(e){return String(e||"").replace(/\D/g,"")}(e).length===Number(t);var t},t,r)},n.validateFirstName=function(e){w(e.id,u(e.value),invalidFirstName)},n.validateGuidPattern=function(e){return a.guidPattern.test(e)},n.validateHouseName=function(e){w(e.id,h(e.value))},n.validateLastName=function(e){w(e.id,u(e.value),invalidLastName)},n.validateMobile=function(e,t){w(e.id,f(e.value,t),invalidMobile)},n.validateNameOnCard=function(e){w(e.id,!0);var t=u(e.value);t?e.value.length>nameOnCardMaxLength?w(e.id,!1,invalidNameOnCardLength):y(e.value)?w(e.id,!1,invalidCustomNameOnCard):_(e.value)&&w(e.id,!1,validationWarnNameOnCard):w(e.id,t,invalidNameOnCard)},n.validatePassword=function(e){w(e.id,s(e.value),invalidPassword)},n.validatePhone=function(e){w(e.id,f(e.value,!0),invalidTelephone)},n.validatePostcode=function(e,t){var n=e.value,r=p(n);t&&r&&(n=n.replace(/\s/g,""),$("#"+$.escapeSelector(e.id)).val(n.substr(0,n.length-3)+" "+n.substr(n.length-3)));w(e.id,r,invalidPostCode)},n.validateStoreId=function(e){w(e.id,b(e.value),invalidStoreId)},n.validateTitle=function(e){w(e.id,c(e.value),invalidTitle)},n.validateUserFriendlyIdPattern=function(e){return a.userFriendlyIdPattern.test(e)},n.validateVoucher=function(e){C(e,v(e.value),invalidVoucherCode)},n.wrapWithError=E;var r={idsOfInputsWithNoNeedToUpdateDuringTyping:["address-lookup-query","modal-address-lookup-query"]},i={formInvalid:"form_invalid",fieldRow:".form-row[data-row-required]",rowValidationError:"form-row_validation-error"},a={guidPattern:/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i,userFriendlyIdPattern:/^[A-Za-z]{2,3}\d{6}$/};function o(e){$(e).val($.trim($(e).val()))}function l(e){var t=new RegExp("^(?=.{1,64}@)[\\w\\+-]+(\\.[\\w\\+-]+)*@(([A-Za-z\\d]+[A-Za-z\\d-]*\\.){1,3}[A-Za-z]{2,16}|(?:(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)\\.){3}(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?))$"),n=e.length<=254;return t.test(e)&&n}function s(e){return 0<e.length}function c(e){return 0<e.length}function d(e){return 0<e.length&&e.length<256}function u(e){var t=new RegExp("^[\\w ()/&.,'-]+$|^$");return d(e)&&t.test(e)}function f(e,t){e=e.replace(/\s+/g,"");var n=new RegExp("^0{1}\\d{10}$|^0{1}\\d{5}\\s{1}\\d{5}$|^0{1}\\d{4}\\s{1}\\d{6}$|^0{1}\\d{3}\\s{1}\\d{3}\\s{1}\\d{4}$|^0{1}\\d{2}\\s{1}\\d{4}\\s{1}\\d{4}$|^0{1}\\d{3}\\s{1}\\d{7}$"),r=new RegExp("^0{1}\\d{9}$|^0{1}\\d{5}\\s{1}\\d{4}$|^0{1}\\d{4}\\s{1}\\d{5}$"),n=n.test(e)||r.test(e);return t?0===e.length||n:0<e.length&&n}function p(e){var e=e.toUpperCase().replaceAll(" ",""),t=new RegExp("^(GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))[0-9][A-BD-HJLNP-UW-Z]{2})$");return 4<e.replace(/\s+/g,"").length&&t.test(e)}function h(e){var t=new RegExp("^[\\w ()/&.,'-]+$|^$");return 0<e.length&&t.test(e)}function m(e){return!$("#"+$.escapeSelector(e.id)).is(":visible")}function g(e){var t=new RegExp("^[\\w ().,'-]+$|^$");return 0===e.length||t.test(e)}function v(e){return 0<e.trim().length}function y(e){return new RegExp("^\\d{16}$").test(e)}function _(e){return new RegExp("^(.*\\d){14,}.*$").test(e)}function b(e){return"0"!==e}function w(e,t,n){C($(e),t,n)}function C(e,t,n){e=$(e).closest(".form-row");e.is(":visible")&&(k(e),t||(E(e),P(e,n)))}function k(e){e.removeClass("form-row_validation-error"),e.find(".form-row__error").remove()}function E(e){$(e).addClass("form-row_validation-error")}function P(e,t){t&&$(e).append('<div class="form-row__error">'+t+"</div>")}function A(e,t,n,r,i,a){n=e.closest(n),n.addClass(i),e.attr(a,"true"),i=n.find(r);(i=i.length?i:$('<div class="'.concat(r.slice(1),'" />')).appendTo(n)).text(t)}function x(e,t,n,r,i){t=e.closest(t);t.removeClass(r),e.removeAttr(i),t.find(n).remove()}},{}]},{},[31]);
1
+ !function r(i,a,o){function l(t,e){if(!a[t]){if(!i[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:{}},i[t][0].call(n.exports,function(e){return l(i[t][1][e]||e)},n,n.exports,r,i,a,o)}return a[t].exports}for(var s="function"==typeof require&&require,e=0;e<o.length;e++)l(o[e]);return l}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(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=i(e("./handlebars/base")),o=r(e("./handlebars/safe-string")),l=r(e("./handlebars/exception")),s=i(e("./handlebars/utils")),c=i(e("./handlebars/runtime")),e=r(e("./handlebars/no-conflict"));function d(){var t=new a.HandlebarsEnvironment;return s.extend(t,a),t.SafeString=o.default,t.Exception=l.default,t.Utils=s,t.escapeExpression=s.escapeExpression,t.VM=c,t.template=function(e){return c.template(e,t)},t}var u=d();u.create=d,e.default(u),u.default=u,n.default=u,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=u;var i=e("./utils"),a=r(e("./exception")),o=e("./helpers"),l=e("./decorators"),s=r(e("./logger")),c=e("./internal/proto-access"),d=(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 u(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},o.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}u.prototype={constructor:u,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(i.toString.call(e)===d){if(t)throw new a.default("Arg not supported with multiple helpers");i.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(i.toString.call(e)===d)i.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(i.toString.call(e)===d){if(t)throw new a.default("Arg not supported with multiple decorators");i.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}};e=s.default.log;n.log=e,n.createFrame=i.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 o=e("../utils");n.default=function(e){e.registerDecorator("inline",function(r,i,a,e){var t=r;return i.partials||(i.partials={},t=function(e,t){var n=a.partials,e=(a.partials=o.extend({},n,i.partials),r(e,t));return a.partials=n,e}),i.partials[e.args[0]]=e.fn,t})},t.exports=n.default},{"../utils":21}],5:[function(e,t,n){"use strict";n.__esModule=!0;var s=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function c(e,t){for(var t=t&&t.loc,n=void 0,r=void 0,i=void 0,a=void 0,o=(t&&(n=t.start.line,r=t.end.line,i=t.start.column,a=t.end.column,e+=" - "+n+":"+i),Error.prototype.constructor.call(this,e)),l=0;l<s.length;l++)this[s[l]]=o[s[l]];Error.captureStackTrace&&Error.captureStackTrace(this,c);try{t&&(this.lineNumber=n,this.endLineNumber=r,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=i,this.endColumn=a))}catch(e){}}c.prototype=new Error,n.default=c,t.exports=n.default},{}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0,n.registerDefaultHelpers=function(e){i.default(e),a.default(e),o.default(e),l.default(e),s.default(e),c.default(e),d.default(e)},n.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var i=r(e("./helpers/block-helper-missing")),a=r(e("./helpers/each")),o=r(e("./helpers/helper-missing")),l=r(e("./helpers/if")),s=r(e("./helpers/log")),c=r(e("./helpers/lookup")),d=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(i){i.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]),i.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,i=e.fn,n=e.inverse,a=0,o="",l=void 0,s=void 0;function c(e,t,n){l&&(l.key=e,l.index=t,l.first=0===t,l.last=!!n,s)&&(l.contextPath=s+e),o+=i(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 d=r.length;a<d;a++)a in r&&c(a,a,a===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var u=[],f=r[Symbol.iterator](),p=f.next();!p.done;p=f.next())u.push(p.value);for(d=(r=u).length;a<d;a++)c(a,a,a===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&c(t,a-1),t=e,a++}),void 0!==t&&c(t,a-1,!0);return o=0===a?n(this):o})},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"),i=(e=e)&&e.__esModule?e:{default:e};n.default=function(n){n.registerHelper("if",function(e,t){if(2!=arguments.length)throw new i.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 i.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(i){i.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,i.log.apply(i,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 i=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");i.isFunction(e)&&(e=e.call(this));var n,r=t.fn;return i.isEmpty(e)?t.inverse(this):(n=t.data,t.data&&t.ids&&((n=i.createFrame(t.data)).contextPath=i.appendContextPath(t.data.contextPath,t.ids[0])),r(e,{data:n,blockParams:i.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 o("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"),i=(e=n)&&e.__esModule?e:{default:e},a=Object.create(null);function o(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,i.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"),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=r.indexOf(i.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=i.lookupLevel(e),"undefined"!=typeof console&&i.lookupLevel(i.level)<=e){e=i.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=i,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 u.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 u.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},n.template=function(s,c){if(!c)throw new u.default("No environment passed to template");if(!s||!s.main)throw new u.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,c.VM.checkRevision(s.compiler);var n=s.compiler&&7===s.compiler[0];var o={strict:function(e,t,n){if(e&&t in e)return o.lookupProperty(e,t);throw new u.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,o.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(null!=(e[r]&&o.lookupProperty(e[r],t)))return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=d.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=c.VM.resolvePartial.call(this,e,t,n);var r=d.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),i=c.VM.invokePartial.call(this,e,t,r);if(null==i&&c.compile&&(n.partials[n.name]=c.compile(e,s.compilerOptions,c),i=n.partials[n.name](t,r)),null==i)throw new u.default("The partial "+n.name+" could not be compiled when running in runtime-only mode");if(n.indent){for(var a=i.split("\n"),o=0,l=a.length;o<l&&(a[o]||o+1!==l);o++)a[o]=n.indent+a[o];i=a.join("\n")}return i},fn:function(e){var t=s[e];return t.decorator=s[e+"_d"],t},programs:[],program:function(e,t,n,r,i){var a=this.programs[e],o=this.fn(e);return a=t||i||r||n?m(this,e,o,t,n,r,i):a||(this.programs[e]=m(this,e,o))},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?d.extend({},t,e):n},nullContext:Object.seal({}),noop:c.VM.noop,compilerInfo:s.compiler};function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.data,r=(l._setup(t),!t.partial&&s.useData&&(n=function(e,t){t&&"root"in t||((t=t?f.createFrame(t):{}).root=e);return t}(e,n)),void 0),i=s.useBlockParams?[]:void 0;function a(e){return""+s.main(o,e,o.helpers,o.partials,n,i,r)}return s.useDepths&&(r=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=g(s.main,a,o,t.depths||[],n,i))(e,t)}return l.isTop=!0,l._setup=function(e){var t,r,i;e.partial?(o.protoAccessControl=e.protoAccessControl,o.helpers=e.helpers,o.partials=e.partials,o.decorators=e.decorators,o.hooks=e.hooks):(t=d.extend({},c.helpers,e.helpers),r=t,i=o,Object.keys(r).forEach(function(e){var t,n=r[e];r[e]=(t=i.lookupProperty,p.wrapHelper(n,function(e){return d.extend({lookupProperty:t},e)}))}),o.helpers=t,s.usePartial&&(o.partials=o.mergeIfNeeded(e.partials,c.partials)),(s.usePartial||s.useDecorators)&&(o.decorators=d.extend({},c.decorators,e.decorators)),o.hooks={},o.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||n,a.moveHelperToHooks(o,"helperMissing",t),a.moveHelperToHooks(o,"blockHelperMissing",t))},l._child=function(e,t,n,r){if(s.useBlockParams&&!n)throw new u.default("must pass block params");if(s.useDepths&&!r)throw new u.default("must pass parent depths");return m(o,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 i=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!==o&&!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"]=i,n(e,t)},n.partials&&(r.partials=d.extend({},r.partials,n.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new u.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=o;var d=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"),u=(n=n)&&n.__esModule?n:{default:n},f=e("./base"),a=e("./helpers"),p=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(r,e,i,a,t,o,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)),i(r,e,r.helpers,r.partials,t.data||a,o&&[t.blockParams].concat(o),n)}return(n=g(i,n,r,l,a,o)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function o(){return""}function g(e,t,n,r,i,a){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],i,a,r),d.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(i,o):e},n.isEmpty=function(e){return!e&&0!==e||!(!d(e)||0!==e.length)},n.createFrame=function(e){var t=l({},e);return t._parent=e,t},n.blockParams=function(e,t){return e.path=t,e},n.appendContextPath=function(e,t){return(e?e+".":"")+t};var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},i=/[&<>"'`=]/g,a=/[&<>"'`=]/;function o(e){return r[e]}function l(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var s=Object.prototype.toString,c=(n.toString=s,function(e){return"function"==typeof e}),d=(c(/x/)&&(n.isFunction=c=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),n.isFunction=c,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});n.isArray=d},{}],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,i){return' <span class="giftcard-summary__add js-giftcard-add">Add another Gift Card</span>\n or pay the remaining balance with a Credit/Debit card.\n'},3:function(e,t,n,r,i){return" Maximum number of Gift Cards added, please pay remaining balance with a Credit/Debit card.\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p class="'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"hintClass")||(null!=t?l(t,"hintClass"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"hintClass",hash:{},data:i,loc:{start:{line:1,column:10},end:{line:1,column:23}}}):a)+'">\n'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"canAdd"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:7,column:9}}}))?a:"")+(null!=(a=e.invokePartial(l(r,"info-icon"),t,{name:"info-icon",hash:{"data-placement":"top",title:"If you’d like to pay with a different payment method, please remove any / all applied Gift Cards."},data:i,indent:" ",helpers:n,partials:r,decorators:e.decorators}))?a:"")+"</p>\n"},usePartial:!0,useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,e=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="giftcard-chip" data-giftcard-id="'+c(typeof(a=null!=(a=e(n,"id")||(null!=t?e(t,"id"):t))?a:l)==s?a.call(o,{name:"id",hash:{},data:i,loc:{start:{line:1,column:45},end:{line:1,column:51}}}):a)+'">\n <div class="giftcard-chip__icon" aria-hidden="true">\n <img src="https://eu-images.contentstack.com/v3/assets/blt066259863543a0d2/blt0af9cb9d86356305/69130779467abd2df07b7e79/giftcard.svg" alt="giftcard" />\n </div>\n\n <div class="giftcard-chip__content">\n <div class="giftcard-chip__line">\n <span\n class="giftcard-chip__number"\n aria-label="'+c(typeof(a=null!=(a=e(n,"maskedNumber")||(null!=t?e(t,"maskedNumber"):t))?a:l)==s?a.call(o,{name:"maskedNumber",hash:{},data:i,loc:{start:{line:10,column:22},end:{line:10,column:38}}}):a)+'">\n '+c(typeof(a=null!=(a=e(n,"maskedNumber")||(null!=t?e(t,"maskedNumber"):t))?a:l)==s?a.call(o,{name:"maskedNumber",hash:{},data:i,loc:{start:{line:11,column:8},end:{line:11,column:24}}}):a)+'\n </span>\n </div>\n\n <div class="giftcard-chip__line">\n <span class="giftcard-chip__applied">'+c(typeof(a=null!=(a=e(n,"currency")||(null!=t?e(t,"currency"):t))?a:l)==s?a.call(o,{name:"currency",hash:{},data:i,loc:{start:{line:16,column:43},end:{line:16,column:55}}}):a)+c(typeof(a=null!=(a=e(n,"amount")||(null!=t?e(t,"amount"):t))?a:l)==s?a.call(o,{name:"amount",hash:{},data:i,loc:{start:{line:16,column:55},end:{line:16,column:65}}}):a)+' applied</span>\n </div>\n </div>\n\n <span class="giftcard-chip__close">\n <i class="fal fa-times" aria-hidden="true"></i>\n </span>\n</div>\n'},useData:!0})},{"hbsfy/runtime":23}],26:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="giftcard-summary" style="display:none">\n <div class="giftcard-chip-list">\n'+(null!=(a=e.invokePartial(a(r,"loader"),t,{name:"loader",hash:{hidden:!0},data:i,indent:" ",helpers:n,partials:r,decorators:e.decorators}))?a:"")+' </div>\n <p class="giftcard-summary__hint"></p>\n</div>\n'},usePartial:!0,useData:!0})},{"hbsfy/runtime":23}],27:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]},o=' title="',l=null!=(l=a(n,"markdown")||(null!=t?a(t,"markdown"):t))?l:e.hooks.helperMissing,i={name:"markdown",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:11},end:{line:3,column:46}}},l="function"==typeof l?l.call(null!=t?t:e.nullContext||{},i):l;return null!=(l=a(n,"markdown")?l:e.hooks.blockHelperMissing.call(t,l,i))&&(o+=l),o+'"\n'},2:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(n=null!=(n=a(n,"title")||(null!=t?a(t,"title"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:3,column:24},end:{line:3,column:33}}}):n)},4:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' title="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"title")||(null!=t?a(t,"title"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:5,column:11},end:{line:5,column:20}}}):n)+'"\n'},6:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'data-container="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"data-container")||(null!=t?a(t,"data-container"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"data-container",hash:{},data:i,loc:{start:{line:7,column:40},end:{line:7,column:58}}}):n)+'"'},8:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'data-offset="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"data-offset")||(null!=t?a(t,"data-offset"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"data-offset",hash:{},data:i,loc:{start:{line:8,column:34},end:{line:8,column:49}}}):n)+'"'},10:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'data-html="'+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"data-html")||(null!=t?a(t,"data-html"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"data-html",hash:{},data:i,loc:{start:{line:9,column:30},end:{line:9,column:43}}}):n)+'"'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="icon icon-info-component '+c(typeof(a=null!=(a=d(n,"modification")||(null!=t?d(t,"modification"):t))?a:l)==s?a.call(o,{name:"modification",hash:{},data:i,loc:{start:{line:1,column:38},end:{line:1,column:54}}}):a)+'" data-toggle="tooltip" data-placement="'+c(typeof(a=null!=(a=d(n,"data-placement")||(null!=t?d(t,"data-placement"):t))?a:l)==s?a.call(o,{name:"data-placement",hash:{},data:i,loc:{start:{line:1,column:94},end:{line:1,column:112}}}):a)+'"\n'+(null!=(c=d(n,"if").call(o,null!=t?d(t,"markdown"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(4,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))?c:"")+" "+(null!=(c=d(n,"if").call(o,null!=t?d(t,"data-container"):t,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:2},end:{line:7,column:66}}}))?c:"")+"\n "+(null!=(c=d(n,"if").call(o,null!=t?d(t,"data-offset"):t,{name:"if",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:8,column:2},end:{line:8,column:57}}}))?c:"")+"\n "+(null!=(c=d(n,"if").call(o,null!=t?d(t,"data-html"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:9,column:2},end:{line:9,column:51}}}))?c:"")+'\n>\n <span class="fas fa-info-circle"></span>\n <span class="far fa-info-circle"></span>\n</span>\n'},useData:!0})},{"hbsfy/runtime":23}],28:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,i){return"d-none"},3:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" <h2>"+e.escapeExpression("function"==typeof(n=null!=(n=a(n,"titleLoader")||(null!=t?a(t,"titleLoader"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"titleLoader",hash:{},data:i,loc:{start:{line:8,column:12},end:{line:8,column:27}}}):n)+"</h2>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="loader-wrapper '+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"modifier")||(null!=t?l(t,"modifier"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"modifier",hash:{},data:i,loc:{start:{line:1,column:27},end:{line:1,column:39}}}):a)+" "+(null!=(a=l(n,"if").call(o,null!=t?l(t,"hidden"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:40},end:{line:1,column:67}}}))?a:"")+'">\n <div class="loader-spinner">\n <svg class="circular-loader" viewBox="25 25 50 50">\n <circle class="loader-path" cx="50" cy="50" r="20" fill="none"/>\n </svg>\n </div>\n'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"titleLoader"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:4},end:{line:9,column:11}}}))?a:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],29:[function(e,t,n){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,n,r,i){return"notification notification_general"},3:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <span class="fas fa-check-circle"></span>\n </span>\n'},5:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <span class="fas fa-exclamation-circle"></span>\n </span>\n'},7:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <span class="fas fa-times-circle"></span>\n </span>\n'},9:function(e,t,n,r,i){return' <span class="icon notification__icon">\n <i class="fas fa-user-hard-hat"></i>\n </span>\n'},11:function(e,t,n,r,i){var a,o,l=null!=t?t:e.nullContext||{},s=e.hooks.helperMissing,c="function",e=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <div class="notification__wrap">\n <h4 class="title">'+(null!=(a=typeof(o=null!=(o=e(n,"title")||(null!=t?e(t,"title"):t))?o:s)==c?o.call(l,{name:"title",hash:{},data:i,loc:{start:{line:30,column:24},end:{line:30,column:35}}}):o)?a:"")+'</h4>\n <p class="description">'+(null!=(a=typeof(o=null!=(o=e(n,"text")||(null!=t?e(t,"text"):t))?o:s)==c?o.call(l,{name:"text",hash:{},data:i,loc:{start:{line:31,column:29},end:{line:31,column:39}}}):o)?a:"")+"</p>\n </div>\n"},13:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" "+(null!=(a="function"==typeof(n=null!=(n=a(n,"text")||(null!=t?a(t,"text"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"text",hash:{},data:i,loc:{start:{line:34,column:4},end:{line:34,column:14}}}):n)?a:"")+"\n"},15:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <div class="accordion-notifications">\n <input class="accordion-notifications-item-input" type="checkbox" name="accordion-notifications" id="accordion-notifications" />\n <div class="accordion-notifications-list">\n <div class="additional-notifications">\n'+(null!=(n=a(n,"each").call(null!=t?t:e.nullContext||{},null!=t?a(t,"additional-list"):t,{name:"each",hash:{},fn:e.program(16,i,0),inverse:e.noop,data:i,loc:{start:{line:42,column:8},end:{line:44,column:17}}}))?n:"")+' </div>\n </div>\n <label for="accordion-notifications" class="accordion-notifications-view-all">View all errors</label>\n </div>\n'},16:function(e,t,n,r,i){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <p class="notification-item">'+(null!=(a="function"==typeof(n=null!=(n=a(n,"notification")||(null!=t?a(t,"notification"):t))?n:e.hooks.helperMissing)?n.call(null!=t?t:e.nullContext||{},{name:"notification",hash:{},data:i,loc:{start:{line:43,column:39},end:{line:43,column:57}}}):n)?a:"")+"</p>\n"},18:function(e,t,n,r,i){return' <b>\n <a class="notification_link" href="#">Learn more</a>\n </b>\n'},20:function(e,t,n,r,i){return' <i class="fas fa-angle-right"></i>\n'},22:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <span class="icon notification__close notification__close'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"mod")||(null!=t?l(t,"mod"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"mod",hash:{},data:i,loc:{start:{line:60,column:61},end:{line:60,column:68}}}):a)+'">\n <span class="fa'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"bold"):t,{name:"if",hash:{},fn:e.program(23,i,0),inverse:e.program(25,i,0),data:i,loc:{start:{line:61,column:21},end:{line:61,column:50}}}))?a:"")+' fa-times"></span>\n </span>\n'},23:function(e,t,n,r,i){return"s"},25:function(e,t,n,r,i){return"r"},27:function(e,t,n,r,i){var a,o=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <span class="icon notification__hide notification_accordion"\n data-toggle="collapse" data-target="#'+e.escapeExpression("function"==typeof(a=null!=(a=l(n,"target-id")||(null!=t?l(t,"target-id"):t))?a:e.hooks.helperMissing)?a.call(o,{name:"target-id",hash:{},data:i,loc:{start:{line:66,column:47},end:{line:66,column:60}}}):a)+'">\n <span class="fa'+(null!=(a=l(n,"if").call(o,null!=t?l(t,"bold"):t,{name:"if",hash:{},fn:e.program(23,i,0),inverse:e.program(25,i,0),data:i,loc:{start:{line:67,column:27},end:{line:67,column:56}}}))?a:"")+' fa-times"></span>\n </span>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a,o,l=null!=t?t:e.nullContext||{},s=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="'+(null!=(a=s(n,"unless").call(l,null!=t?s(t,"app"):t,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:12},end:{line:1,column:71}}}))?a:"")+" "+e.escapeExpression("function"==typeof(o=null!=(o=s(n,"classModifier")||(null!=t?s(t,"classModifier"):t))?o:e.hooks.helperMissing)?o.call(l,{name:"classModifier",hash:{},data:i,loc:{start:{line:1,column:72},end:{line:1,column:89}}}):o)+'">\n'+(null!=(a=s(n,"if").call(l,null!=t?s(t,"success"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"warning"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:2},end:{line:11,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"info"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"error"):t,{name:"if",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:17,column:2},end:{line:21,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"reminder"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:22,column:2},end:{line:26,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"title"):t,{name:"if",hash:{},fn:e.program(11,i,0),inverse:e.program(13,i,0),data:i,loc:{start:{line:28,column:2},end:{line:35,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"additional-notifications"):t,{name:"if",hash:{},fn:e.program(15,i,0),inverse:e.noop,data:i,loc:{start:{line:37,column:2},end:{line:49,column:9}}}))?a:"")+"\n"+(null!=(a=s(n,"if").call(l,null!=t?s(t,"link"):t,{name:"if",hash:{},fn:e.program(18,i,0),inverse:e.noop,data:i,loc:{start:{line:51,column:2},end:{line:55,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"angle-icon"):t,{name:"if",hash:{},fn:e.program(20,i,0),inverse:e.noop,data:i,loc:{start:{line:56,column:2},end:{line:58,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"withCloseBtn"):t,{name:"if",hash:{},fn:e.program(22,i,0),inverse:e.noop,data:i,loc:{start:{line:59,column:2},end:{line:63,column:9}}}))?a:"")+(null!=(a=s(n,"if").call(l,null!=t?s(t,"withHideBtn"):t,{name:"if",hash:{},fn:e.program(27,i,0),inverse:e.noop,data:i,loc:{start:{line:64,column:2},end:{line:69,column:9}}}))?a:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.updateDiscount=function(e,t){e=null==e?void 0:e.promotionsInfo;Array.isArray(e)&&0!==e.length?($(r.discountItem).show(),r.$discountList().empty(),t?e.forEach(function(e){r.$discountList().append(function(){return e.usedCouponCode&&e.description?'\n <li data-coupon-code="'.concat(e.usedCouponCode,'">\n ').concat(e.description,'\n <span class="icon checkout-widget__voucher-remove">\n <span class="fas fa-times"></span>\n </span>\n </li>\n '):e.description?"<li>".concat(e.description,"</li>"):""})}):e.forEach(function(e){var t;t=e,_.isEmpty(t)||(t.usedCouponCode&&t.description?r.$discountList().append(function(e){return'\n <li data-coupon-code="'.concat(e.usedCouponCode,'">\n ').concat(e.description,'\n <span class="icon checkout-widget__voucher-remove">\n <span class="fas fa-times"></span>\n </span>\n </li>\n')}(t)):t.description&&r.$discountList().append(function(){return"<li>".concat(t.description,"</li>")}))})):$(r.discountItem).hide()};var r={$discountList:function(){return $(".checkout-widget__details-discount").find("ul")},discountItem:".checkout-widget__details-discount"}},{}],31:[function(e,t,n){"use strict";var a=e("../utils/show-hide-input"),i=e("./order-summary"),f=e("../utils/loader"),h=e("../utils/gift-cards-utils"),p=e("../utils/validation"),m=e("../utils/input-handling"),r=e("hbsfy/runtime"),g=(r.registerPartial("info-icon",e("../../../components/info-icon.hbs")),r.registerPartial("loader",e("../../../elements/loader.hbs")),e("../../../components/gift-cards-hint.hbs")),o=e("../../../components/giftcard-chip.hbs"),l=e("../../../components/giftcard-summary.hbs"),s=e("../../../elements/notifications.hbs"),c=window.Wick||{};c.GiftCard={ADD_GIFT_CARD:h.ADD_GIFT_CARD,REMOVE_GIFT_CARD:h.REMOVE_GIFT_CARD,PAY_WITH_GIFT_CARD:h.PAY_WITH_GIFT_CARD,el:{$blocks:$(".giftcard"),block:".giftcard",toggle:"#giftcard-toggle",panel:"#giftcard-inline",hint:".giftcard-hint",closeBtn:".giftcard-inline__close",form:".giftcard-inline__form",number:'input[name="giftcard-number"]',pin:'input[name="giftcard-pin"]',note:".giftcard-note",field:".giftcard__field",errorText:".giftcard__error-text",fieldError:"giftcard-field--error",showToggle:".toggle-show",loader:".giftcard__container .loader-wrapper",success:"#giftcard-applied",container:".giftcard__container",paymentForm:".checkout-payment-details__payment-method",billieField:".form-row__field.form-row__field-billie",klarnaField:".form-row__field.form-row__field-klarna",clearpayField:".form-row__field.form-row__field-clearpay",appleField:".form-row__field.form-row__field-apple",googleField:".form-row__field.form-row__field-google",paypalField:".form-row__field.form-row__field-paypal",cardField:".form-row__field.form-row__card-payment",summaryHint:".giftcard-summary__hint",chipList:".giftcard-chip-list",summary:".giftcard-summary",chip:".giftcard-chip",giftcardRow:".giftcard-row",checkoutContainer:".checkout-payment-details",formRow:".form-row",iconInfo:".icon-info-component",toggleIcon:"svg, i",iconEye:"fa-eye",iconEyeSlash:"fa-eye-slash",iconSvgEyeSlash:"eye-slash",passwordToggleEvent:"input.passwordToggle",ariaInvalidAttr:"aria-invalid",typeAttr:"type",dataIconAttr:"data-icon",svg:"svg",expandedAttr:"aria-expanded",giftcardBtn:".giftcard__btn",jsGiftcardAdd:".js-giftcard-add",giftcardChipClose:".giftcard-chip__close",body:"body",loaderChip:".loader-wrapper",chipListLoader:".giftcard-chip-list > .loader-wrapper",notification:".giftcard-inline .notification",giftCardInline:".giftcard-inline",notificationRoot:".notification",inlineHeader:".giftcard-inline__header",ctaSelector:".btn-enter-details",btnDetails:"button",btnText:".btn__text",btnEnterDetails:".btn-enter-details",checkoutPaymentFields:".billing-address .checkout-payment-details__descr",pageLoader:".loader-wrapper.page-loader",cardRadio:"#checkout-payment-details-card, #_checkout-payment-details-card_card",billieInfo:".checkout-payment-details__billie",klarnaInfo:".checkout-payment-details__klarna",billingAddress:".billing-address",altPaymentRowsAttr:"[data-apple-pay],[data-google-pay],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]",hiddenCard:"checkout-payment-details__card-details_hidden",cardDetails:".checkout-payment-details__card-details"},messages:{numberMessage:"Gift Card should consist of 16 digits",pinMessage:"Gift Card PIN should consist of 8 digits",ctaDefaultText:"Enter card details",ctaGiftcardText:"Pay with Gift Card"},maxChips:3,successTimer:null,pendingServerGiftCards:null,altPaymentInfosLocked:!1,altPaymentPanelsLocked:!1,summaryTotal:null,resetPinToggle:function(e){var t=this.el,n=t.pin,r=t.field,i=t.showToggle,a=t.toggleIcon,o=t.iconEye,l=t.iconEyeSlash,s=t.iconSvgEyeSlash,c=t.passwordToggleEvent,d=t.typeAttr,u=t.dataIconAttr,t=t.svg,e=e.find(n).closest(r),r=e.find(n).first(),n=(r.attr(d,"password"),e.find(i).first()),d=n.find(a).first(),e=(d.length&&(d.removeClass("".concat(o," ").concat(l)).addClass(l),d.is(t))&&d.attr(u)&&d.attr(u,s),0<(r.val()||"").length);n.toggle(e),r.trigger(c)},resetForm:function(e){var t=this.el,n=t.number,r=t.pin,t=t.note,n=e.find(n),r=e.find(r);n.val(""),r.val(""),(0,p.clearErrorText)(n,this.el.field,this.el.errorText,this.el.fieldError,this.el.ariaInvalidAttr),(0,p.clearErrorText)(r,this.el.field,this.el.errorText,this.el.fieldError,this.el.ariaInvalidAttr),e.find(t).remove(),this.hideBanner(e),this.resetPinToggle(e)},open:function(e){var t=this.el,n=t.toggle,r=t.panel,i=t.hint,a=t.pin,o=t.expandedAttr,t=t.passwordToggleEvent;this.hideBanner(e),e.show(),e.find(r).prop("hidden",!1),e.find(n).attr(o,"true").hide(),e.find(i).hide(),e.find(a).trigger(t)},close:function(e){var t=this,n=this.el,r=n.toggle,i=n.panel,a=n.loader,o=n.expandedAttr,l=e.find(r),s=e.find(i),c=e.find(a);(0,f.showLoader)(c),setTimeout(function(){(0,f.hideLoader)(c),s.prop("hidden",!0),l.attr(o,"false").show().trigger("focus"),t.updateHintVisibility(e)},1e3)},showSubmitSpinner:function(e){var t=this.el,n=t.panel,r=t.toggle,i=t.hint,t=t.expandedAttr;e.find(n).prop("hidden",!0),e.find(r).attr(t,"false").show().trigger("focus"),e.find(i).show(),this.showSuccess(e)},handleToggleClick:function(e){e.preventDefault(),this.open($(e.currentTarget).closest(this.el.$blocks))},handleCloseClick:function(e){e.preventDefault();e=$(e.currentTarget).closest(this.el.$blocks);this.resetForm(e),this.close(e)},finalizeSuccess:function(e,t){var n=this.el,r=n.panel,i=n.toggle,a=n.hint,n=n.expandedAttr;t&&t.length&&t.attr("hidden","hidden").removeClass("fade show").off("transitionend"),this.resetForm(e),e.find(r).prop("hidden",!0),e.find(i).attr(n,"false").show(),e.find(a).show(),this.pendingServerGiftCards&&(this.renderGiftCardsFromList(e,this.pendingServerGiftCards),this.pendingServerGiftCards=null),this.updateHintVisibility(e),this.successTimer=null},showSuccess:function(t){var n=this,e=this.el.success,r=(this.successTimer&&(clearTimeout(this.successTimer),this.successTimer=null),t.hide(),$(e));r.removeAttr("hidden").addClass("fade"),r[0]&&r[0].offsetWidth,r.addClass("show"),this.successTimer=setTimeout(function(){r.removeClass("show");function e(){return n.finalizeSuccess(t,r)}r.on("transitionend",e),setTimeout(e,200)},3e3)},handleFormSubmit:function(e){var t,n,r=this,i=this.el,a=i.number,o=i.block,l=i.giftcardRow,i=i.loaderChip,s=(e.preventDefault(),$(e.currentTarget).closest(o)),e=(this.hideBanner(s),s.find(a)),o=(e.val((0,h.formatGc16)(e.val())),s.find(this.el.number)),a=s.find(this.el.pin),e={fieldSelector:this.el.field,errorTextSelector:this.el.errorText,errorClass:this.el.fieldError,ariaInvalidAttr:this.el.ariaInvalidAttr,numberMessage:this.messages.numberMessage},c={fieldSelector:this.el.field,errorTextSelector:this.el.errorText,errorClass:this.el.fieldError,ariaInvalidAttr:this.el.ariaInvalidAttr,pinMessage:this.messages.pinMessage},d=(0,p.validateExactDigits)(o,16,this.messages.numberMessage,this.el),u=(0,p.validateExactDigits)(a,8,this.messages.pinMessage,this.el);d&&u?(u=this.getNumberValue(s),t=this.getPinValue(s),(n=(l=s.closest(l)).children(i)).length||((0,f.appendLoader)({wrapper:l}),n=l.children(i).last()),(0,h.verifyGiftCard)(n,u,t).then(function(e){return r.handleVerifyResponse(s,e)}).catch(function(e){e=r.getErrorMessage(e);r.showBannerError(s,e)})):((0,m.handleGcNumberBlur)({currentTarget:o[0]},e),(0,m.handleGcPinBlur)({currentTarget:a[0]},c),(d?a:o).trigger("focus"))},handleVerifyResponse:function(e,t){if(t&&t.code===h.OK_CODE)return Array.isArray(t.giftCards)?(this.pendingServerGiftCards=t.giftCards.slice(),null==t.orderTotal&&null==t.giftCardTotal||(n={total:t.orderTotal,giftCardApplied:t.giftCardTotal},(0,i.updateOrderSummary)(n,(0,h.buildSummaryEqualMap)(n),!0),this.summaryTotal=t.orderTotal,this.toggleBillingDescrForZero(e),this.updateCtaButton(e)),this.resetForm(e),void this.showSubmitSpinner(e)):void this.showBannerError(e,h.DEFAULT_ERROR_MESSAGE);var n=t&&h.MESSAGE_BY_CODE[t.code]||h.DEFAULT_ERROR_MESSAGE;this.showBannerError(e,n)},updateHintVisibility:function(e){var t=this.el,n=t.chipList,r=t.giftcardRow,i=t.hint,a=t.panel,o=t.toggle,l=t.iconInfo,s=t.expandedAttr,c=t.summaryHint,d=t.chip,u=t.block,t=t.body,e=e.closest(r),r=e.find(u).first(),u=e.find("".concat(n," ").concat(d)).length,e=this.maxChips||3,n=null!=this.summaryTotal&&(0,h.isZeroAmount)(this.summaryTotal),d=(this.toggleAltPayments(r,0===u),this.toggleAltPaymentInfos(r,0===u),0<u?this.altPaymentPanelsLocked?this.showOnlyBillingAddress(r):(this.showOnlyBillingAddress(r),this.altPaymentPanelsLocked=!0):this.altPaymentPanelsLocked?this.showOnlyBillingAddress(r):(this.toggleAltPayments(r,!0),this.toggleAltPaymentInfos(r,!0)),this.ensureSummaryContainer(r));0===u?(d.hide(),r.show(),this.resetForm(r),r.find(a).prop("hidden",!0),r.find(o).attr(s,"false").show(),r.find(i)[n?"hide":"show"](),this.updateCtaButton(r)):(this.setBillingLabelToCard(r),d.show(),r.hide(),r.find(i).hide(),a=(0,h.buildHintContext)(u,e,n),o=g(a),s=d.find(c).first(),i=$(o),s.length?s.replaceWith(i):d.append(i),n&&d.find(c).hide(),this.toggleCardDetailsForTotal(r),$.fn.tooltip&&d.find(c).find(l).tooltip({container:t}))},renderChipHTML:function(e){var t=e.id,n=e.maskedNumber,r=e.currency,e=e.amount;return o({id:t,maskedNumber:n,currency:r,amount:e})},toggleAltPaymentInfos:function(e,t){var n=this.el,r=n.checkoutContainer,i=n.billieInfo,n=n.klarnaInfo,e=e.closest(r);this.altPaymentInfosLocked&&(t=!1),[e.find(i),e.find(n)].forEach(function(e){e&&e.length&&e[t?"show":"hide"]()}),t||(this.altPaymentInfosLocked=!0)},toggleAltPayments:function(e,t){var n=this.el,r=n.paymentForm,i=n.billieField,a=n.klarnaField,o=n.clearpayField,l=n.appleField,s=n.googleField,c=n.paypalField,d=n.checkoutContainer,u=n.formRow,n=n.cardField,f=e.closest(d).find(r),p=null!=this.summaryTotal&&(0,h.isZeroAmount)(this.summaryTotal),e=([i,a,o,l,s,c].forEach(function(e){e=f.find(e).closest(u);e.length&&e[t&&!p?"show":"hide"]()}),f.find(n).closest(u));e.length&&e[p?"hide":"show"](),t||this.ensureCardPaymentSelected(f)},ensureCardPaymentSelected:function(e){var t=this.el,n=t.cardField,r=t.cardRadio,t=t.formRow,e=e.find(n).closest(t);e.length&&(n=e.find(r)).length&&!n.prop("checked")&&(n.prop("checked",!0),n.trigger("change"),this.updateCtaButton(e))},handleAddAnotherClick:function(e){e.preventDefault();var t,n=this.el,r=n.giftcardRow,i=n.chipList,a=n.chip,o=n.block,l=n.number,n=n.summaryHint,e=$(e.currentTarget).closest(r);e.find("".concat(i," ").concat(a)).length>=this.maxChips||(t=e.find(o).first(),this.resetForm(t),this.open(t),e.find(n).hide(),setTimeout(function(){t.find(l).trigger("focus")},0))},getErrorMessage:function(e){e=!e||"number"!=typeof e.code&&"string"!=typeof e.code?void 0:e.code;return null!=e&&h.MESSAGE_BY_CODE[e]||h.DEFAULT_ERROR_MESSAGE},handleChipCloseClick:function(e){var t,n=this,r=(e.preventDefault(),this.el),i=r.chip,a=r.giftcardRow,o=r.block,l=r.giftcardChipClose,s=r.chipList,r=r.loaderChip,e=$(e.currentTarget).closest(i),c=e.closest(a),d=c.find(o).first(),a=this.ensureSummaryContainer(d).find("".concat(s," ").concat(i)).index(e);a<0||((t=c.children(r)).length||((0,f.appendLoader)({wrapper:c}),t=c.children(r).last()),c.find(l).css("pointer-events","none").attr("aria-disabled","true"),(0,h.removeGiftCard)(t,a).then(function(e){return n.handleRemoveResponse(d,e)}).catch(function(e){e=n.getErrorMessage(e);n.showBannerError(d,e)}).finally(function(){(0,f.hideLoader)(t),c.find(l).css("pointer-events","").removeAttr("aria-disabled")}))},handleRemoveResponse:function(e,t){var n,r;t&&t.code===h.OK_CODE?(r=Array.isArray(t.giftCards)?t.giftCards:[],n={total:t.orderTotal,giftCardApplied:t.giftCardTotal},this.summaryTotal=t.orderTotal,this.renderGiftCardsFromList(e,r,n),null==t.orderTotal&&null==t.giftCardTotal||(0,i.updateOrderSummary)(n,(0,h.buildSummaryEqualMap)(n),!0),this.updateCtaButton(e),this.toggleBillingDescrForZero(e)):(r=t&&h.MESSAGE_BY_CODE[t.code]||h.DEFAULT_ERROR_MESSAGE,this.showBannerError(e,r))},ensureSummaryContainer:function(e){var t=this.el,n=t.summary,t=t.giftcardRow,e=e.closest(t),t=e.find(n).first();return t.length||(t=$(l({})),e.append(t)),t},getPageLoader:function(){var e=$(this.el.pageLoader);return e.parent().is("body")||e.appendTo("body"),e},showPageLoader:function(){var e=this.getPageLoader();(0,f.showLoader)(e)},updateCtaButton:function(e){var t=this.el,n=t.ctaSelector,r=t.btnDetails,i=t.btnText,t=t.checkoutContainer,a=$(n);(a=a.length?a:e.closest(t).find(n)).length&&(t=(e=a.closest(r).length?a.closest(r):a).find(i).first().length?e.find(i).first():e,n=(0,h.isZeroAmount)(this.summaryTotal),t.text(n?this.messages.ctaGiftcardText:this.messages.ctaDefaultText),e.attr("data-mode",n?"giftcards":"card"),n?e.attr("type","button").removeAttr("form"):e.attr("type","submit").attr("form","hopPaymentAddressPostForm"))},toggleBillingDescrForZero:function(e){e=e.closest(this.el.checkoutContainer).find(this.el.checkoutPaymentFields);e.length&&e[(0,h.isZeroAmount)(this.summaryTotal)?"hide":"show"]()},getNumberValue:function(e){var t=this.el.number;return String(e.find(t).val()||"").replace(/\D/g,"")},getPinValue:function(e){var t=this.el.pin;return String(e.find(t).val()||"").replace(/\D/g,"")},bindGiftcardCtaHandler:function(){var r=this;$(document).off("click.giftcard",this.el.btnEnterDetails),$(document).on("click.giftcard",this.el.btnEnterDetails,function(e){var t,n=$(this);"giftcards"===n.attr("data-mode")&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),e=n.closest(r.el.checkoutContainer).find(r.el.block).first(),t=e.length?e:$(r.el.block).first(),r.showPageLoader(),(0,h.payWithGiftCard)().then(function(e){e=e.url;"string"==typeof e&&e&&(window.location.href=e)}).catch(function(e){Array.isArray(null==e?void 0:e.giftCards)&&r.renderGiftCardsFromList(t,e.giftCards);e=e.errorCode&&h.PAY_MESSAGE_BY_CODE[e.errorCode]||h.DEFAULT_PAY_ERROR_MESSAGE;e&&c.Notification.show({text:(0,h.linkifyClickHere)(e),container:".globalMessages .container",type:"error"})}).finally(function(){var e=r.getPageLoader();(0,f.hideLoader)(e)}))})},showBannerError:function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"",r=this.el,i=r.notificationRoot,a=r.giftCardInline,r=r.inlineHeader,e=e.find(a),a=(e.find(i).remove(),s({classModifier:"notification_error",error:!0,withCloseBtn:!0,title:n||void 0,text:(0,h.linkifyClickHere)(t)}));e.find(r).after(a)},hideBanner:function(e){var t=this.el.notification;e.find(t).remove()},mapGiftToChipData:function(e,t){var e=e.closest(this.el.block).data("currency")||"£",n=Number(t.amountToRedeem||0),n=Number.isFinite(n)?n.toFixed(2):"0.00";return{id:t.id,maskedNumber:String(t.maskedNumber||""),currency:e,amount:n}},renderGiftCardsFromList:function(t,e,n){var r=this,i=this.el,a=i.chipList,o=i.loaderChip,i=i.chip,l=this.ensureSummaryContainer(t),a=l.find(a),i=(a.children("".concat(i,":not(").concat(o,")")).remove(),(e||[]).map(function(e){return r.renderChipHTML(r.mapGiftToChipData(t,e))}).join(""));i&&(a.append(i),l.show()),this.updateHintVisibility(t,n),Array.isArray(e)&&0<e.length&&this.setBillingLabelToCard(t)},toggleCardDetailsForTotal:function(e){var t=this.el,n=t.checkoutContainer,r=t.cardDetails,t=t.hiddenCard,e=e.closest(n).find(r);e.length&&null!=this.summaryTotal&&(0,h.isZeroAmount)(this.summaryTotal)&&e.addClass(t)},setBillingLabelToCard:function(e){var e=e.closest(this.el.checkoutContainer).find(this.el.billingAddress);e.length&&(e=e.find('[for="card-name"]')).length&&e.text("Name on card")},showOnlyBillingAddress:function(e){var t=this.el,n=t.checkoutContainer,r=t.billingAddress,i=t.altPaymentRowsAttr,t=t.hiddenCard,n=e.closest(n);n.find(r).removeClass(t),n.find(i).addClass(t),this.toggleAltPaymentInfos(e,!1)},useGlobalError:function(e,t){var n;window.Wick&&c.Notification&&"function"==typeof c.Notification.show&&(t=h.linkifyClickHere?(0,h.linkifyClickHere)(t):String(t||""),n=[".globalMessages .container",".globalMessages.container"].find(function(e){return $(e).length}))&&c.Notification.show({text:t,container:n,type:"error"})},bindSplitPaymentFailedListener:function(){var t=this;window.addEventListener("cardSplitPaymentFailed",function(e){var e=null==e||null==(e=e.detail)?void 0:e.externalErrorCode;e&&(e=h.PAY_MESSAGE_BY_CODE[e]||h.DEFAULT_PAY_ERROR_MESSAGE,t.useGlobalError(t.el.$blocks.first(),e))})},bindEvents:function(){var t=this,e=this.el,n=e.number,r=e.pin,i=e.toggle,a=e.closeBtn,o=e.giftcardBtn,l=e.jsGiftcardAdd,e=e.giftcardChipClose,s=($(document).off(".giftcard"),(0,m.createGcNumberInputHandler)({fieldSelector:this.el.field,fieldErrorClass:this.el.fieldError,errorTextSelector:this.el.errorText,ariaInvalidAttr:this.el.ariaInvalidAttr}));$(document).on("input.giftcard",n,s).on("keypress.giftcard",n,m.digitsOnlyKeypress).on("blur.giftcard",n,function(e){return(0,m.handleGcNumberBlur)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr,numberMessage:t.messages.numberMessage})}),$(document).on("input.giftcard",r,function(e){return(0,m.handleGcPinInput)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr})}).on("keypress.giftcard",r,m.handleGcPinKeypress).on("blur.giftcard",r,function(e){return(0,m.handleGcPinBlur)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr,pinMessage:t.messages.pinMessage})}),$(document).on("click.giftcard",i,this.handleToggleClick.bind(this)).on("click.giftcard",a,this.handleCloseClick.bind(this)).on("click.giftcard",o,this.handleFormSubmit.bind(this)).on("click.giftcard",l,this.handleAddAnotherClick.bind(this)).on("click.giftcard",e,this.handleChipCloseClick.bind(this)),this.bindGiftcardCtaHandler()},init:function(){var e,t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=this.el,r=n.field,i=n.pin,n=n.$blocks;this.bindEvents(),this.bindSplitPaymentFailedListener(),n&&n.length&&(e=n.first(),Array.isArray(t.giftCards)&&t.giftCards.length&&this.renderGiftCardsFromList(e,t.giftCards),t=t.errorCode,Number.isFinite(t))&&h.PAY_MESSAGE_BY_CODE[t]&&this.useGlobalError(e,h.PAY_MESSAGE_BY_CODE[t]),n.each(function(e,t){t=$(t).find(i).closest(r);t.length&&(0,a.initializeInputToggle)(t)})}}},{"../../../components/gift-cards-hint.hbs":24,"../../../components/giftcard-chip.hbs":25,"../../../components/giftcard-summary.hbs":26,"../../../components/info-icon.hbs":27,"../../../elements/loader.hbs":28,"../../../elements/notifications.hbs":29,"../utils/gift-cards-utils":33,"../utils/input-handling":34,"../utils/loader":35,"../utils/show-hide-input":36,"../utils/validation":37,"./order-summary":32,"hbsfy/runtime":23}],32:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.updateOrderSummary=function(e,t,n){function r(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.some(function(e){return i.has(e)})}t.forEach(function(e){void 0!==e.dataValue&&($(e.item).length?$(e.item).show():$(o.checkoutWidgetDetailsDiscount).length?$(o.checkoutWidgetDetailsDiscount).before(l(e)):$(o.checkoutWidgetDetails).append(l(e)),$(e.item).find(e.itemValue).text(e.dataValue),(n||e.value)&&e.dataValue?$(e.item).find(e.itemValue).show():$(e.item).hide())});var i=new Set(Object.keys(e||{})),t=(null==(t=e.totalPrice)?void 0:t.formattedValue)||e.total;void 0!==t&&r("total","totalPrice")&&!function(e){$(o.summaryMobileTotal).text(e)}(t);r("promotionsInfo")&&(0,a.updateDiscount)(e,n);r("deliveryOrder","clickAndCollectOrder","clickAndCollectOnly","deliveryItemsQuantity","pickupItemsQuantity")&&!function(e,t){$(o.delivery).show(),$(o.cc).show(),t?("deliveryOrder"in e&&!1===e.deliveryOrder&&$(o.delivery).hide(),"clickAndCollectOrder"in e&&!1===e.clickAndCollectOrder&&$(o.cc).hide()):e.clickAndCollectOnly?$(o.delivery).hide():0<e.deliveryItemsQuantity&&0===e.pickupItemsQuantity&&$(o.cc).hide()}(e,n);r("freeDelivery","messageForFreeDelivery","clickAndCollectOnly")&&!function(n){o.$summarySection.each(function(){var e=$(this).find(o.itemFree),t=$(this).find(o.itemDeficit);e.length&&e.remove(),t.length&&t.remove(),n.clickAndCollectOnly||(n.freeDelivery&&n.messageForFreeDelivery?($(this).find(o.summaryDelivery).before(function(){return'\n <div class="checkout-widget__item checkout-widget__item-free">\n <span class="checkout-widget__text">\n '.concat(n.messageForFreeDelivery,"\n </span>\n </div>\n ")}),$(this).find(o.summaryDelivery).hide()):!n.freeDelivery&&n.messageForFreeDelivery&&$(this).find(o.summaryDelivery).before(function(){return'\n <div class="checkout-widget__item checkout-widget__item-deficit">\n '.concat(n.messageForFreeDelivery,"\n </div>\n ")}))})}(e)};var a=e("./discounts"),o={$summarySection:$(".summary"),checkoutWidgetDetailsDiscount:".checkout-widget__details-discount",checkoutWidgetDetails:".checkout-widget__details",delivery:".checkout-widget__item-delivery",cc:".checkout-widget__item-cc",itemFree:".checkout-widget__item-free",itemDeficit:".checkout-widget__item-deficit",summaryDelivery:".checkout-widget__item-delivery",summaryMobileTotal:".summary__mobile-bar-total"};function l(e){return'\n <li class="checkout-widget__item '.concat(e.item.substr(1),'">\n <span>').concat(e.title,'</span>\n <span class="checkout-widget__item-value">').concat(e.dataValue,"</span>\n </li>\n ")}},{"./discounts":30}],33:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.REMOVE_GIFT_CARD=n.PAY_WITH_GIFT_CARD=n.PAY_MESSAGE_BY_CODE=n.OK_CODE=n.MESSAGE_BY_CODE=n.FAQ_URL=n.DEFAULT_PAY_ERROR_MESSAGE=n.DEFAULT_ERROR_MESSAGE=n.ADD_GIFT_CARD=void 0,n.buildHintContext=function(e,t){t=t<=e;return{canAdd:!t,max:t,hintClass:"giftcard-summary__hint".concat(t?" giftcard-summary__hint--max":"")}},n.buildSummaryEqualMap=function(i){return Object.entries(d).map(function(e){t=2;var e=function(e){if(Array.isArray(e))return e}(e=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,l=[],s=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?l(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),t=e[0],e=e[1],n=i[t],r=n;return"giftCardApplied"===t?k(n)?r="":null!=n&&""!==n&&"string"==typeof(r=C(n))&&r.startsWith("£")&&(r="-".concat(r)):u.has(t)&&null!=n&&""!==n&&(r=C(n)),function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){s(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({item:e.item,itemValue:e.value,dataValue:r},e.title?{title:e.title}:{})})},n.escapeHtml=void 0,n.formatGc16=function(e){return String(e||"").replace(/\D/g,"").slice(0,16).replace(/(\d{4})(?=\d)/g,"$1-")},n.isZeroAmount=k,n.linkifyClickHere=void 0,n.payWithGiftCard=function(){return new Promise(function(e,t){e=createEvent(b,void 0,{resolve:e,reject:t});window.dispatchEvent(e)})},n.removeGiftCard=function(e,r){return(0,a.showLoader)(e),new Promise(function(e,t){var n={index:r},e=createEvent(_,n,{resolve:e,reject:t,payload:n});window.dispatchEvent(e)}).finally(function(){(0,a.hideLoader)(e)})},n.verifyGiftCard=function(e,r,i){return(0,a.showLoader)(e),new Promise(function(e,t){var n={giftCardNumber:r,pin:i},e=createEvent(y,n,{resolve:e,reject:t,payload:n});window.dispatchEvent(e)}).finally(function(){(0,a.hideLoader)(e)})};var a=e("./loader");function r(e){return(r="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 o(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){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t,n){(t=function(e){e=function(e,t){if("object"!==r(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"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===r(e)?e:String(e)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function i(e){return $("<div>").text(String(e||"")).html()}var c,d={subTotal:{item:".checkout-widget__item-bold",value:".checkout-widget__item-value",title:"Items subtotal:"},vat:{item:".checkout-widget__item-vat",value:".checkout-widget__item-value",title:"VAT:"},clickAndCollectCost:{item:".checkout-widget__item-cc",value:".checkout-widget__item-value",title:"Click & Collect:"},deliveryCost:{item:".checkout-widget__item-delivery",value:".checkout-widget__item-value",title:"Delivery:"},charityPrice:{item:".checkout-widget__item-charity",value:".checkout-widget__item-value",title:"Charity donation:"},discountTotal:{item:".checkout-widget__details-discount",value:".checkout-widget__detail-value"},giftCardApplied:{item:".checkout-widget__gift-card",value:".checkout-widget__item-value",title:"Gift Card:"},total:{item:".checkout-widget__total",value:".checkout-widget__total-value"}},u=new Set(["subTotal","vat","clickAndCollectCost","deliveryCost","charityPrice","discountTotal","total","giftCardApplied"]),e="PIS-REQUEST-TIMEOUT",f="PIS-INTEGRATION-ERROR",p="PIS-INSUFFICIENT-AMOUNT",h="PIS_PROCESSING_ERROR",m="HYBRIS-REQUEST-TIMEOUT",g="HYBRIS-PIS_INTEGRATION-ERROR",v="HYBRIS-PIS_CONNECTION-ERROR",e=(n.DEFAULT_ERROR_MESSAGE="Unable to use Gift Card at this time, please try later or click here for support.",n.DEFAULT_PAY_ERROR_MESSAGE="Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support.",n.OK_CODE=0,s(c={10:"Gift Card number and / or PIN not recognised. A Gift Card will be locked following three unsuccessful PIN attempts.",16:"Card locked due to three unsuccessful PIN entries. For support click here.",20:"Unable to use Gift Card at this time, please try later or click here for support.",21:"Gift Card number not recognised.",40:"Unable to use Gift Card at this time, please try later or click here for support.",60:"The entered Gift Card has expired. For support click here.",75:"The entered Gift Card is invalid. For support click here."},"GIFT_CARD_ALREADY_ADDED","Gift Card already added, please use a different card."),s(c,e,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,f,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,p,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,h,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,m,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,g,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,v,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,"ZERO_BALANCE","Insufficient funds available, please try another Gift Card or alternate payment method."),s(c,99,"The entered Gift Card is invalid. For support click here."),s(c,-1,"Gift Card is unavailable at this time, please try later. For support click here."),n.MESSAGE_BY_CODE=c,s(c={101:"Unable to use Gift Cards at this time, please try later or click here for support.",102:"Unfortunately there was a problem with requesting your card details from the payment provider. Available funds on your Gift Card are unchanged.",103:"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support.",104:"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."},e,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,f,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,p,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,h,"Unfortunately there was a problem placing your order with Gift Card(s). Please click here for support."),s(c,m,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,g,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,v,"Unable to use Gift Card at this time, please try later or click here for support."),s(c,"SPLIT_PAYMENT_CARD_ERROR","Unfortunately there was a problem with requesting your card details from the payment provider. Available funds on your Gift Card are unchanged."),c),y=(n.PAY_MESSAGE_BY_CODE=e,"addGiftCard"),_=(n.ADD_GIFT_CARD=y,"removeGiftCard"),b=(n.REMOVE_GIFT_CARD=_,"payWithGiftCard"),w=(n.PAY_WITH_GIFT_CARD=b,"https://www.wickes.co.uk/gifts");n.FAQ_URL=w,n.escapeHtml=i;function C(e){var t;return null!=e&&""!==String(e).trim()&&(t=String(e).replace(/[^\d.-]/g,""),t=Number(t),Number.isFinite(t))?"£".concat(t.toFixed(2)):e}function k(e){var e=String(null!=e?e:"").replace(/[^\d.]/g,"");return!!e&&(e=Number(e),Number.isFinite(e))&&0===e}n.linkifyClickHere=function(e){return i(e).replace(/\bclick here\b/gi,'<a href="'.concat(w,'" target="_blank" rel="noopener" class="notification_link">click here</a>'))}},{"./loader":35}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createGcNumberInputHandler=function(e){var i=e.fieldSelector,a=e.fieldErrorClass,o=e.errorTextSelector,l=e.ariaInvalidAttr;return function(e){var e=e.currentTarget,t=$(e),n="number"==typeof e.selectionStart&&e.selectionStart===e.value.length,r=t.closest(i).hasClass(a);e.value=(0,s.formatGc16)(e.value),r&&(0,c.clearErrorText)(t,i,o,a,l),n&&"function"==typeof e.setSelectionRange&&e.setSelectionRange(e.value.length,e.value.length)}},n.digitsOnlyKeypress=function(e){/\d/.test(String.fromCharCode(e.which||e.keyCode))||e.preventDefault()},n.handleGcNumberBlur=function(e,t){var n=t.fieldSelector,r=t.errorTextSelector,i=t.errorClass,a=t.ariaInvalidAttr,t=t.numberMessage,e=$(e.currentTarget),o=String(e.val()||"").replace(/\D/g,"").length;(0,c.clearErrorText)(e,n,r,i,a),o<16&&(0,c.showErrorText)(e,t,n,r,i,a)},n.handleGcPinBlur=function(e,t){var n=t.fieldSelector,r=t.errorTextSelector,i=t.errorClass,a=t.ariaInvalidAttr,t=t.pinMessage,e=$(e.currentTarget),o=String(e.val()||"").replace(/\D/g,"").length;(0,c.clearErrorText)(e,n,r,i,a),o<8&&(0,c.showErrorText)(e,t,n,r,i,a)},n.handleGcPinInput=function(e,t){var n=t.fieldSelector,r=t.errorTextSelector,i=t.errorClass,t=t.ariaInvalidAttr,e=e.currentTarget,a=$(e),o=a.closest(n).hasClass(i);e.value=String(e.value||"").replace(/\D/g,"").slice(0,8),o&&(0,c.clearErrorText)(a,n,r,i,t)},n.handleGcPinKeypress=function(e){/\d/.test(String.fromCharCode(e.which||e.keyCode))||e.preventDefault()};var s=e("./gift-cards-utils"),c=e("./validation")},{"./gift-cards-utils":33,"./validation":37}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.appendLoader=function(e){$(e.wrapper).append((0,r.default)(e))},n.hideLoader=function(e){$(o(e)).addClass(a)},n.showLoader=function(e){$(o(e)).removeClass(a)};var r=(n=e("../../../elements/loader.hbs"))&&n.__esModule?n:{default:n};var i=".loader-wrapper",a="d-none";function o(e){return e||i}},{"../../../elements/loader.hbs":28}],36:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.initializeInputToggle=function(e){var n=e.find("input"),r=e.find(".toggle-show");n.length&&r.length&&(e=function(){r.toggle(0<(n.val()||"").length)},r.off("click.passwordToggle mousedown.passwordToggle").on("mousedown.passwordToggle",function(e){e.preventDefault();var e="password"===String(n.attr("type")),t=(n.attr("type",e?"text":"password"),r.find("svg, i").first());t.length&&t.removeClass("fa-eye fa-eye-slash").addClass(e?"fa-eye":"fa-eye-slash")}),n.off("input.passwordToggle").on("input.passwordToggle",e),e())}},{}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.addErrorMessage=P,n.addFieldValidation=function(e,n){$(e).each(function(e,t){$(t).blur(function(){o(this),n(this),r.idsOfInputsWithNoNeedToUpdateDuringTyping.includes(t.id)||$(this).keyup(function(){o(this),n(this)})})})},n.clearErrorText=x,n.clearValidationErrors=function(e){e=$(e);e.hasClass("form_invalid")&&e.removeClass("form_invalid").find(".form-row[data-row-required]").removeClass("form-row_validation-error").find(".form-row__error").remove()},n.isNameOnCardContainsAtLeast14Digits=_,n.isNameOnCardContainsOnly16Digits=y,n.isValidAddress2=g,n.isValidAddressSelection=m,n.isValidEmail=l,n.isValidFieldSize=d,n.isValidHouseName=h,n.isValidInputTextField=u,n.isValidOrderNumber=function(e){return 9<=e.length},n.isValidPassword=s,n.isValidPasswordSize=function(e){return 5<e.length&&e.length<256},n.isValidPhoneNumber=f,n.isValidPostcodeField=p,n.isValidStoreId=b,n.isValidTitle=c,n.isValidVoucher=v,n.removeErrorStyling=k,n.showErrorText=A,n.showValidationErrors=function(e,t){e=$(e);e.hasClass(i.formInvalid)?e.find(i.fieldRow).find(".form-row__error").text(t):(e.find(".form-row__error").remove(),e.addClass(i.formInvalid).find(i.fieldRow).append(function(e){return'<div class="form-row__error"> '.concat(e||"Error message here","</div>")}(t)).addClass(i.rowValidationError));t=e.find(i.fieldRow).first();{var n;t.length&&!function(e){"function"==typeof jQuery&&e instanceof jQuery&&(e=e[0]);e=e.getBoundingClientRect();return 0<=e.top&&0<=e.left&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}(t)&&(e=t.closest(".modal").length,n=e?t.closest(".modal"):$("html, body"),e=e?0:t.offset().top-30,n.animate({scrollTop:e},300))}},n.updateInputValueBeforeValidation=o,n.updateStylingError=w,n.updateStylingErrorForElement=C,n.validateAddress1=function(e){w(e.id,u(e.value),invalidAddressOne)},n.validateAddress2=function(e){w(e.id,g(e.value),invalidAddressTwo)},n.validateAddressSelection=function(e){w(e.id,m(e),selectAddressMessage)},n.validateCity=function(e){w(e.id,u(e.value),invalidTownCity)},n.validateEmail=function(e){w(e.id,l(e.value),invalidEmailAddress)},n.validateExactDigits=function(e,n,t,r){return function(e,t,n,r){var i=r.fieldSelector,a=r.errorText,o=r.fieldError,r=r.ariaInvalidAttr,t=!!t(String(e.val()||""));t?x(e,i,a,o,r):A(e,n,i,a,o,r);return t}(e,function(e){return t=n,function(e){return String(e||"").replace(/\D/g,"")}(e).length===Number(t);var t},t,r)},n.validateFirstName=function(e){w(e.id,u(e.value),invalidFirstName)},n.validateGuidPattern=function(e){return a.guidPattern.test(e)},n.validateHouseName=function(e){w(e.id,h(e.value))},n.validateLastName=function(e){w(e.id,u(e.value),invalidLastName)},n.validateMobile=function(e,t){w(e.id,f(e.value,t),invalidMobile)},n.validateNameOnCard=function(e){w(e.id,!0);var t=u(e.value);t?e.value.length>nameOnCardMaxLength?w(e.id,!1,invalidNameOnCardLength):y(e.value)?w(e.id,!1,invalidCustomNameOnCard):_(e.value)&&w(e.id,!1,validationWarnNameOnCard):w(e.id,t,invalidNameOnCard)},n.validatePassword=function(e){w(e.id,s(e.value),invalidPassword)},n.validatePhone=function(e){w(e.id,f(e.value,!0),invalidTelephone)},n.validatePostcode=function(e,t){var n=e.value,r=p(n);t&&r&&(n=n.replace(/\s/g,""),$("#"+$.escapeSelector(e.id)).val(n.substr(0,n.length-3)+" "+n.substr(n.length-3)));w(e.id,r,invalidPostCode)},n.validateStoreId=function(e){w(e.id,b(e.value),invalidStoreId)},n.validateTitle=function(e){w(e.id,c(e.value),invalidTitle)},n.validateUserFriendlyIdPattern=function(e){return a.userFriendlyIdPattern.test(e)},n.validateVoucher=function(e){C(e,v(e.value),invalidVoucherCode)},n.wrapWithError=E;var r={idsOfInputsWithNoNeedToUpdateDuringTyping:["address-lookup-query","modal-address-lookup-query"]},i={formInvalid:"form_invalid",fieldRow:".form-row[data-row-required]",rowValidationError:"form-row_validation-error"},a={guidPattern:/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i,userFriendlyIdPattern:/^[A-Za-z]{2,3}\d{6}$/};function o(e){$(e).val($.trim($(e).val()))}function l(e){var t=new RegExp("^(?=.{1,64}@)[\\w\\+-]+(\\.[\\w\\+-]+)*@(([A-Za-z\\d]+[A-Za-z\\d-]*\\.){1,3}[A-Za-z]{2,16}|(?:(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)\\.){3}(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?))$"),n=e.length<=254;return t.test(e)&&n}function s(e){return 0<e.length}function c(e){return 0<e.length}function d(e){return 0<e.length&&e.length<256}function u(e){var t=new RegExp("^[\\w ()/&.,'-]+$|^$");return d(e)&&t.test(e)}function f(e,t){e=e.replace(/\s+/g,"");var n=new RegExp("^0{1}\\d{10}$|^0{1}\\d{5}\\s{1}\\d{5}$|^0{1}\\d{4}\\s{1}\\d{6}$|^0{1}\\d{3}\\s{1}\\d{3}\\s{1}\\d{4}$|^0{1}\\d{2}\\s{1}\\d{4}\\s{1}\\d{4}$|^0{1}\\d{3}\\s{1}\\d{7}$"),r=new RegExp("^0{1}\\d{9}$|^0{1}\\d{5}\\s{1}\\d{4}$|^0{1}\\d{4}\\s{1}\\d{5}$"),n=n.test(e)||r.test(e);return t?0===e.length||n:0<e.length&&n}function p(e){var e=e.toUpperCase().replaceAll(" ",""),t=new RegExp("^(GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))[0-9][A-BD-HJLNP-UW-Z]{2})$");return 4<e.replace(/\s+/g,"").length&&t.test(e)}function h(e){var t=new RegExp("^[\\w ()/&.,'-]+$|^$");return 0<e.length&&t.test(e)}function m(e){return!$("#"+$.escapeSelector(e.id)).is(":visible")}function g(e){var t=new RegExp("^[\\w ().,'-]+$|^$");return 0===e.length||t.test(e)}function v(e){return 0<e.trim().length}function y(e){return new RegExp("^\\d{16}$").test(e)}function _(e){return new RegExp("^(.*\\d){14,}.*$").test(e)}function b(e){return"0"!==e}function w(e,t,n){C($(e),t,n)}function C(e,t,n){e=$(e).closest(".form-row");e.is(":visible")&&(k(e),t||(E(e),P(e,n)))}function k(e){e.removeClass("form-row_validation-error"),e.find(".form-row__error").remove()}function E(e){$(e).addClass("form-row_validation-error")}function P(e,t){t&&$(e).append('<div class="form-row__error">'+t+"</div>")}function A(e,t,n,r,i,a){n=e.closest(n),n.addClass(i),e.attr(a,"true"),i=n.find(r);(i=i.length?i:$('<div class="'.concat(r.slice(1),'" />')).appendTo(n)).text(t)}function x(e,t,n,r,i){t=e.closest(t);t.removeClass(r),e.removeAttr(i),t.find(n).remove()}},{}]},{},[31]);
@@ -1,4 +1,6 @@
1
1
  var Wick = Wick || {};
2
+ window.INIT_KLARNA_PAYMENT = window.INIT_KLARNA_PAYMENT || 'INIT_KLARNA_PAYMENT';
3
+ window.INIT_BILLIE_PAYMENT = window.INIT_BILLIE_PAYMENT || 'INIT_BILLIE_PAYMENT';
2
4
  Wick.CheckoutPaymentDetails = (function () {
3
5
  const $modal = $('#modal-terms-and-conditions');
4
6
 
@@ -10,10 +12,11 @@ Wick.CheckoutPaymentDetails = (function () {
10
12
  buttonName: 'btn-enter-details',
11
13
  };
12
14
 
15
+ const toggleBillieRepaymentTermsClass = 'js-billie-repayment-terms--has-selection';
16
+
13
17
  const elements = {
14
18
  $billieRepaymentTerms: $('.js-billie-repayment-terms'),
15
- $billieInfoBlock: $('.checkout-payment-details__billie'),
16
- $billieInfo: $('.checkout-payment-details__billie .billie-info'),
19
+ $billieWidget: $('.checkout-payment-details__billie[data-billie]'),
17
20
  $wrapperPaymentInput: $('.checkout-payment-details__row'),
18
21
  paymentInputName: '[name=payment-method]',
19
22
  $cardDetails: $('.checkout-payment-details__card-details'),
@@ -27,6 +30,52 @@ Wick.CheckoutPaymentDetails = (function () {
27
30
  hiddenClass: 'd-none',
28
31
  };
29
32
 
33
+ let klarnaInited = false;
34
+ let billieInited = false;
35
+
36
+ function initKlarnaPayment() {
37
+ if (klarnaInited) return Promise.resolve({ ok: true, cached: true });
38
+
39
+ return new Promise((resolve, reject) => {
40
+ const payload = {};
41
+ const detail = {
42
+ resolve: (data) => {
43
+ klarnaInited = true;
44
+ resolve(data);
45
+ },
46
+ reject,
47
+ };
48
+
49
+ const evt = createEvent(window.INIT_KLARNA_PAYMENT, payload, detail);
50
+ window.dispatchEvent(evt);
51
+ });
52
+ }
53
+
54
+ function initBilliePayment() {
55
+ if (billieInited) return Promise.resolve({ ok: true, cached: true });
56
+
57
+ return new Promise((resolve, reject) => {
58
+ const payload = {};
59
+ const detail = {
60
+ resolve: (data) => {
61
+ billieInited = true;
62
+ resolve(data);
63
+ },
64
+ reject,
65
+ };
66
+
67
+ const evt = createEvent(window.INIT_BILLIE_PAYMENT, payload, detail);
68
+ window.dispatchEvent(evt);
69
+ });
70
+ }
71
+
72
+ function getBillieRepaymentTermsLength() {
73
+ const billieRepaymentTerms =
74
+ (window.Wick && window.Wick?.BillieData?.billiePaymentTerms) || [];
75
+
76
+ return Array.isArray(billieRepaymentTerms) ? billieRepaymentTerms.length : 0;
77
+ }
78
+
30
79
  function preparePage() {
31
80
  var modalOpened = $('.modal.show').length;
32
81
  if (!modalOpened) return;
@@ -55,10 +104,14 @@ Wick.CheckoutPaymentDetails = (function () {
55
104
 
56
105
  function togglePaymentBlocks(paymentMethods, checkedMethod) {
57
106
  paymentMethods.forEach((method) => {
58
- $(`[data-${method}]`).toggle(checkedMethod === method);
107
+ $(`[data-${method}]`).hide();
59
108
  });
60
- }
61
109
 
110
+ const $selected = $(`[data-${checkedMethod}]`);
111
+ if ($selected.length) {
112
+ $selected.show();
113
+ }
114
+ }
62
115
  function resetAllCheckoutForms(keepPaymentMethod) {
63
116
  const $container = elements.$wrapperPaymentInput.closest('.checkout-payment-details');
64
117
  if (!$container.length) return;
@@ -102,9 +155,18 @@ Wick.CheckoutPaymentDetails = (function () {
102
155
  $row.find(':input').prop('disabled', !isVisible);
103
156
  }
104
157
 
158
+ function _syncBillieUI(isReady) {
159
+ elements.$billieWidget.toggle(isReady);
160
+ elements.$billieRepaymentTerms.toggleClass(toggleBillieRepaymentTermsClass, isReady);
161
+ }
162
+
163
+ function resetBillieUi() {
164
+ _syncBillieUI(false);
165
+ }
166
+
105
167
  function setBillieStepVisibility(isReady) {
168
+ _syncBillieUI(isReady);
106
169
  setBillingDetailsRowVisibility(isReady);
107
- elements.$billieInfo.toggleClass(elements.hiddenClass, !isReady);
108
170
  }
109
171
 
110
172
  function resetBillieRepaymentSelection() {
@@ -130,13 +192,27 @@ Wick.CheckoutPaymentDetails = (function () {
130
192
  const isUnregistered = type === 'unregistered';
131
193
  const isRegistered = type === 'registered';
132
194
 
133
- elements.$unregisteredFields.toggleClass(elements.hiddenClass, !isUnregistered);
134
- elements.$registeredFields.toggleClass(elements.hiddenClass, !isRegistered);
195
+ elements.$unregisteredFields
196
+ .toggleClass(elements.hiddenClass, !isUnregistered)
197
+ .removeAttr('style');
198
+ elements.$registeredFields
199
+ .toggleClass(elements.hiddenClass, !isRegistered)
200
+ .removeAttr('style');
135
201
  }
136
202
 
137
203
  function changeDetailsBlock(checkedMethod) {
138
204
  if (checkedMethod !== 'billie') {
205
+ resetBillieUi();
139
206
  setBillingDetailsRowVisibility(true);
207
+ hideBillieBusiness();
208
+ }
209
+
210
+ if (checkedMethod === 'klarna') {
211
+ initKlarnaPayment().catch(() => {});
212
+ }
213
+
214
+ if (checkedMethod === 'billie' && getBillieRepaymentTermsLength() === 1) {
215
+ initBilliePayment().catch(() => {});
140
216
  }
141
217
 
142
218
  switch (checkedMethod) {
@@ -158,7 +234,7 @@ Wick.CheckoutPaymentDetails = (function () {
158
234
  };
159
235
  changeLabelText(detailsLabel);
160
236
 
161
- setBillieStepVisibility(false);
237
+ setBillieStepVisibility(getBillieRepaymentTermsLength() === 1);
162
238
  resetBillieRepaymentSelection();
163
239
  showBillieBusiness();
164
240
  break;
@@ -174,13 +250,13 @@ Wick.CheckoutPaymentDetails = (function () {
174
250
  prevClearableMethod = checkedMethod;
175
251
  break;
176
252
 
177
- case 'apple':
253
+ case 'apple-pay':
178
254
  hideCardDetails();
179
255
  hidePlaceOrder();
180
256
  hideBillingAddres();
181
257
  break;
182
258
 
183
- case 'google':
259
+ case 'google-pay':
184
260
  hideCardDetails();
185
261
  hidePlaceOrder();
186
262
  hideBillingAddres();
@@ -256,7 +332,7 @@ Wick.CheckoutPaymentDetails = (function () {
256
332
  if (currentMethod !== 'billie') return;
257
333
 
258
334
  requestAnimationFrame(() => {
259
- forceReflow(elements.$billieInfoBlock);
335
+ forceReflow(elements.$billieWidget);
260
336
  });
261
337
 
262
338
  const hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
@@ -111,7 +111,7 @@ Wick.GiftCard = {
111
111
  klarnaInfo: '.checkout-payment-details__klarna',
112
112
  billingAddress: '.billing-address',
113
113
  altPaymentRowsAttr:
114
- '[data-apple],[data-google],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]',
114
+ '[data-apple-pay],[data-google-pay],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]',
115
115
  hiddenCard: 'checkout-payment-details__card-details_hidden',
116
116
  cardDetails: '.checkout-payment-details__card-details',
117
117
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.109.0-develop.1",
3
+ "version": "2.109.0-test.1",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -25,7 +25,7 @@
25
25
  type="radio"
26
26
  id="checkout-payment-details-apple"
27
27
  name="payment-method"
28
- value="apple">
28
+ value="apple-pay">
29
29
  <ins></ins>
30
30
  <div class="apple-logo">
31
31
  <img src="img/apple-pay.svg" alt="apple pay">
@@ -44,7 +44,7 @@
44
44
  type="radio"
45
45
  id="checkout-payment-details-google"
46
46
  name="payment-method"
47
- value="google">
47
+ value="google-pay">
48
48
  <ins></ins>
49
49
  <div class="google-logo">
50
50
  <img src="img/google-pay-mark.svg" alt="google pay">
@@ -134,7 +134,7 @@
134
134
  </div>
135
135
  </div>
136
136
 
137
- <div data-apple class="form-row form-row__action form-row__save apple-wrap" style="display: none;">
137
+ <div data-apple-pay class="form-row form-row__action form-row__save apple-wrap" style="display: none;">
138
138
  <div class="form-row__col-btn">
139
139
  <apple-pay-button class="apple__button" buttonstyle="black" type="pay" locale="en-GB"></apple-pay-button>
140
140
  </div>
@@ -146,7 +146,7 @@
146
146
  </div>
147
147
  </div>
148
148
 
149
- <div data-google class="form-row form-row__action form-row__save google-wrap" style="display: none;">
149
+ <div data-google-pay class="form-row form-row__action form-row__save google-wrap" style="display: none;">
150
150
  <div class="form-row__col-btn">
151
151
  <div class="google__button" id="google-pay-btn">
152
152
  <button type="button" aria-label="Pay with GPay" class="gpay-button black pay en"></button>
@@ -1,5 +1,5 @@
1
1
  <div {{#if dataAttr}}{{dataAttr}}{{/if}} class="{{blockClass}}" style="display: none;">
2
- <div class="{{infoClass}}">
2
+ <div class="{{infoClass}}" style="display: none;">
3
3
  <div class="{{infoClass}}__header">
4
4
  <h4 class="{{infoClass}}__header_title">{{{heading}}}</h4>
5
5
  <div class="{{infoClass}}__logo-img-big">
@@ -1,9 +1,16 @@
1
- var Wick = Wick || {};
1
+ window.Wick = window.Wick || {};
2
+ window.Wick.BillieData = window.Wick.BillieData || {};
3
+ window.Wick.BillieData.billiePaymentTerms = ['30', '60', '90'];
4
+ window.INIT_KLARNA_PAYMENT = window.INIT_KLARNA_PAYMENT || 'INIT_KLARNA_PAYMENT';
5
+ window.INIT_BILLIE_PAYMENT = window.INIT_BILLIE_PAYMENT || 'INIT_BILLIE_PAYMENT';
2
6
 
3
7
  Wick.PaymentDetails = (function () {
4
8
  var $btnEnterDetails = $('.btn-enter-details'),
5
9
  isGuestPage = $('.page_checkout-payment-details_guest').length;
6
10
 
11
+ const $billieInfo = $('.checkout-payment-details__billie .billie-info');
12
+ const $klarnaInfo = $('.checkout-payment-details__klarna .klarna-info');
13
+
7
14
  function bindEvents() {
8
15
  $btnEnterDetails.on('click', function (e) {
9
16
  e.preventDefault();
@@ -49,6 +56,32 @@ Wick.PaymentDetails = (function () {
49
56
  Wick.Forms.showValidationErrors(this);
50
57
  return false;
51
58
  });
59
+
60
+ $(window).on(window.INIT_BILLIE_PAYMENT, function (e) {
61
+ const detail = e.detail || (e.originalEvent && e.originalEvent.detail) || {};
62
+
63
+ if (detail && detail.resolve) {
64
+ $billieInfo.show();
65
+ detail.resolve();
66
+ }
67
+ });
68
+
69
+ $(window).on(window.INIT_KLARNA_PAYMENT, function (e) {
70
+ const detail = e.detail || (e.originalEvent && e.originalEvent.detail) || {};
71
+
72
+ if (detail && detail.resolve) {
73
+ $klarnaInfo.show();
74
+ detail.resolve();
75
+ }
76
+ });
77
+
78
+ $(document).on('change', 'input[name="repaymentTerms"]', function () {
79
+ const hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
80
+
81
+ if (hasSelection) {
82
+ $billieInfo.show();
83
+ }
84
+ });
52
85
  }
53
86
 
54
87
  bindEvents();
@@ -1,4 +1,6 @@
1
1
  var Wick = Wick || {};
2
+ window.INIT_KLARNA_PAYMENT = window.INIT_KLARNA_PAYMENT || 'INIT_KLARNA_PAYMENT';
3
+ window.INIT_BILLIE_PAYMENT = window.INIT_BILLIE_PAYMENT || 'INIT_BILLIE_PAYMENT';
2
4
  Wick.CheckoutPaymentDetails = (function () {
3
5
  const $modal = $('#modal-terms-and-conditions');
4
6
 
@@ -10,10 +12,11 @@ Wick.CheckoutPaymentDetails = (function () {
10
12
  buttonName: 'btn-enter-details',
11
13
  };
12
14
 
15
+ const toggleBillieRepaymentTermsClass = 'js-billie-repayment-terms--has-selection';
16
+
13
17
  const elements = {
14
18
  $billieRepaymentTerms: $('.js-billie-repayment-terms'),
15
- $billieInfoBlock: $('.checkout-payment-details__billie'),
16
- $billieInfo: $('.checkout-payment-details__billie .billie-info'),
19
+ $billieWidget: $('.checkout-payment-details__billie[data-billie]'),
17
20
  $wrapperPaymentInput: $('.checkout-payment-details__row'),
18
21
  paymentInputName: '[name=payment-method]',
19
22
  $cardDetails: $('.checkout-payment-details__card-details'),
@@ -27,6 +30,52 @@ Wick.CheckoutPaymentDetails = (function () {
27
30
  hiddenClass: 'd-none',
28
31
  };
29
32
 
33
+ let klarnaInited = false;
34
+ let billieInited = false;
35
+
36
+ function initKlarnaPayment() {
37
+ if (klarnaInited) return Promise.resolve({ ok: true, cached: true });
38
+
39
+ return new Promise((resolve, reject) => {
40
+ const payload = {};
41
+ const detail = {
42
+ resolve: (data) => {
43
+ klarnaInited = true;
44
+ resolve(data);
45
+ },
46
+ reject,
47
+ };
48
+
49
+ const evt = createEvent(window.INIT_KLARNA_PAYMENT, payload, detail);
50
+ window.dispatchEvent(evt);
51
+ });
52
+ }
53
+
54
+ function initBilliePayment() {
55
+ if (billieInited) return Promise.resolve({ ok: true, cached: true });
56
+
57
+ return new Promise((resolve, reject) => {
58
+ const payload = {};
59
+ const detail = {
60
+ resolve: (data) => {
61
+ billieInited = true;
62
+ resolve(data);
63
+ },
64
+ reject,
65
+ };
66
+
67
+ const evt = createEvent(window.INIT_BILLIE_PAYMENT, payload, detail);
68
+ window.dispatchEvent(evt);
69
+ });
70
+ }
71
+
72
+ function getBillieRepaymentTermsLength() {
73
+ const billieRepaymentTerms =
74
+ (window.Wick && window.Wick?.BillieData?.billiePaymentTerms) || [];
75
+
76
+ return Array.isArray(billieRepaymentTerms) ? billieRepaymentTerms.length : 0;
77
+ }
78
+
30
79
  function preparePage() {
31
80
  var modalOpened = $('.modal.show').length;
32
81
  if (!modalOpened) return;
@@ -55,10 +104,14 @@ Wick.CheckoutPaymentDetails = (function () {
55
104
 
56
105
  function togglePaymentBlocks(paymentMethods, checkedMethod) {
57
106
  paymentMethods.forEach((method) => {
58
- $(`[data-${method}]`).toggle(checkedMethod === method);
107
+ $(`[data-${method}]`).hide();
59
108
  });
60
- }
61
109
 
110
+ const $selected = $(`[data-${checkedMethod}]`);
111
+ if ($selected.length) {
112
+ $selected.show();
113
+ }
114
+ }
62
115
  function resetAllCheckoutForms(keepPaymentMethod) {
63
116
  const $container = elements.$wrapperPaymentInput.closest('.checkout-payment-details');
64
117
  if (!$container.length) return;
@@ -102,9 +155,18 @@ Wick.CheckoutPaymentDetails = (function () {
102
155
  $row.find(':input').prop('disabled', !isVisible);
103
156
  }
104
157
 
158
+ function _syncBillieUI(isReady) {
159
+ elements.$billieWidget.toggle(isReady);
160
+ elements.$billieRepaymentTerms.toggleClass(toggleBillieRepaymentTermsClass, isReady);
161
+ }
162
+
163
+ function resetBillieUi() {
164
+ _syncBillieUI(false);
165
+ }
166
+
105
167
  function setBillieStepVisibility(isReady) {
168
+ _syncBillieUI(isReady);
106
169
  setBillingDetailsRowVisibility(isReady);
107
- elements.$billieInfo.toggleClass(elements.hiddenClass, !isReady);
108
170
  }
109
171
 
110
172
  function resetBillieRepaymentSelection() {
@@ -130,13 +192,27 @@ Wick.CheckoutPaymentDetails = (function () {
130
192
  const isUnregistered = type === 'unregistered';
131
193
  const isRegistered = type === 'registered';
132
194
 
133
- elements.$unregisteredFields.toggleClass(elements.hiddenClass, !isUnregistered);
134
- elements.$registeredFields.toggleClass(elements.hiddenClass, !isRegistered);
195
+ elements.$unregisteredFields
196
+ .toggleClass(elements.hiddenClass, !isUnregistered)
197
+ .removeAttr('style');
198
+ elements.$registeredFields
199
+ .toggleClass(elements.hiddenClass, !isRegistered)
200
+ .removeAttr('style');
135
201
  }
136
202
 
137
203
  function changeDetailsBlock(checkedMethod) {
138
204
  if (checkedMethod !== 'billie') {
205
+ resetBillieUi();
139
206
  setBillingDetailsRowVisibility(true);
207
+ hideBillieBusiness();
208
+ }
209
+
210
+ if (checkedMethod === 'klarna') {
211
+ initKlarnaPayment().catch(() => {});
212
+ }
213
+
214
+ if (checkedMethod === 'billie' && getBillieRepaymentTermsLength() === 1) {
215
+ initBilliePayment().catch(() => {});
140
216
  }
141
217
 
142
218
  switch (checkedMethod) {
@@ -158,7 +234,7 @@ Wick.CheckoutPaymentDetails = (function () {
158
234
  };
159
235
  changeLabelText(detailsLabel);
160
236
 
161
- setBillieStepVisibility(false);
237
+ setBillieStepVisibility(getBillieRepaymentTermsLength() === 1);
162
238
  resetBillieRepaymentSelection();
163
239
  showBillieBusiness();
164
240
  break;
@@ -174,13 +250,13 @@ Wick.CheckoutPaymentDetails = (function () {
174
250
  prevClearableMethod = checkedMethod;
175
251
  break;
176
252
 
177
- case 'apple':
253
+ case 'apple-pay':
178
254
  hideCardDetails();
179
255
  hidePlaceOrder();
180
256
  hideBillingAddres();
181
257
  break;
182
258
 
183
- case 'google':
259
+ case 'google-pay':
184
260
  hideCardDetails();
185
261
  hidePlaceOrder();
186
262
  hideBillingAddres();
@@ -256,7 +332,7 @@ Wick.CheckoutPaymentDetails = (function () {
256
332
  if (currentMethod !== 'billie') return;
257
333
 
258
334
  requestAnimationFrame(() => {
259
- forceReflow(elements.$billieInfoBlock);
335
+ forceReflow(elements.$billieWidget);
260
336
  });
261
337
 
262
338
  const hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
@@ -111,7 +111,7 @@ Wick.GiftCard = {
111
111
  klarnaInfo: '.checkout-payment-details__klarna',
112
112
  billingAddress: '.billing-address',
113
113
  altPaymentRowsAttr:
114
- '[data-apple],[data-google],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]',
114
+ '[data-apple-pay],[data-google-pay],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]',
115
115
  hiddenCard: 'checkout-payment-details__card-details_hidden',
116
116
  cardDetails: '.checkout-payment-details__card-details',
117
117
  },