wickes-css2 2.103.0-gift-cards.6 → 2.103.0-gift-cards.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md CHANGED
@@ -234,6 +234,7 @@ 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
+
237
238
  * -only breakpoints should be placed only after group of -up or -down
238
239
 
239
240
  ## Js
@@ -259,7 +260,7 @@ for pages - page_page-name;
259
260
  for components - c_component-name.
260
261
  ```
261
262
 
262
- When you finish your task, you must create merge request, assign it to Andrii and add all front-end team via comment in description.
263
+ When you finish your task, you must create merge request, assign it to Andrii and add all front-end team via comment in description.
263
264
  **Note:** `[WIP]` or `WIP` prefix could be added to MR title. There is short explanation about [GitLab WIP status](https://about.gitlab.com/2016/01/08/feature-highlight-wip/).
264
265
 
265
266
  ## Linting
@@ -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){Array.isArray(e.promotionsInfo)&&e.promotionsInfo.length?($(r.discountItem).show(),r.$discountList.empty(),e.promotionsInfo&&e.promotionsInfo.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>")}))})):t&&Array.isArray(e.promotionsInfo)&&e.promotionsInfo.length?($(r.discountItem).show(),r.$discountList.empty(),e.promotionsInfo.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?"\n <li>".concat(e.description,"</li>\n "):""})})):$(r.discountItem).hide()};var r={$discountList:$(".checkout-widget__details-discount 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"),p=e("../utils/gift-cards-utils"),h=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:p.ADD_GIFT_CARD,REMOVE_GIFT_CARD:p.REMOVE_GIFT_CARD,PAY_WITH_GIFT_CARD:p.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",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,h.clearErrorText)(n,this.el.field,this.el.errorText,this.el.fieldError,this.el.ariaInvalidAttr),(0,h.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,p.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,h.validateExactDigits)(o,16,this.messages.numberMessage,this.el),u=(0,h.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,p.verifyGiftCard)(n,u,t).then(function(e){return r.handleVerifyResponse(s,e)}).catch(function(e){e=e&&"number"==typeof e.code?e.code:void 0,e=p.MESSAGE_BY_CODE[e]||p.MESSAGE_BY_CODE[-1];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===p.OK_CODE)return Array.isArray(t.giftCards)?0===Number(t.giftCardTotal)?void this.showBannerError(e,p.ZERO_BALANCE_MESSAGE):(this.pendingServerGiftCards=t.giftCards.slice(),null==t.orderTotal&&null==t.giftCardTotal||(n={total:t.orderTotal,giftCardApplied:t.giftCardTotal},(0,i.updateOrderSummary)(n,(0,p.buildSummaryEqualMap)(n),!0),this.toggleBillingDescrForZero(e,{total:t.orderTotal}),this.summaryTotal=t.orderTotal,this.updateCtaButton(e)),this.resetForm(e),void this.showSubmitSpinner(e)):void this.showBannerError(e,p.MESSAGE_BY_CODE[-1]);var n=t&&p.MESSAGE_BY_CODE[t.code]||p.MESSAGE_BY_CODE[-1];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,p.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,{total:this.summaryTotal})):(this.setBillingLabelToCard(r),d.show(),r.hide(),r.find(i).hide(),a=(0,p.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,f=n.cardRadio,n=n.cardField,p=e.closest(d).find(r),e=([i,a,o,l,s,c].forEach(function(e){e=p.find(e).closest(u);e.length&&e[t?"show":"hide"]()}),p.find(n).closest(u));e.length&&e.show(),t||(d=p.find(n).closest(u)).length&&((r=d.find(f)).length&&(r.prop("checked",!0),r.trigger("change"),this.updateCtaButton()),d.trigger("click"))},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))},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,p.removeGiftCard)(t,a).then(function(e){return n.handleRemoveResponse(d,e)}).catch(function(e){e=e&&"number"==typeof e.code?e.code:void 0,e=p.MESSAGE_BY_CODE[e]||p.MESSAGE_BY_CODE[-1];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===p.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,p.buildSummaryEqualMap)(n),!0),this.updateCtaButton($root),this.toggleBillingDescrForZero&&this.toggleBillingDescrForZero(e,{total:t.orderTotal})):(r=t&&p.MESSAGE_BY_CODE[t.code]||p.MESSAGE_BY_CODE[-1],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,p.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,t){e=e.closest(this.el.checkoutContainer).find(this.el.checkoutPaymentFields);e.length&&e[!!t&&(0,p.isZeroAmount)(t.total)?"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,p.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=Number(null==e?void 0:e.errorCode);Number.isFinite(e)&&p.PAY_MESSAGE_BY_CODE[e]&&c.Notification.show({text:(0,p.linkifyClickHere)(p.PAY_MESSAGE_BY_CODE[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,p.linkifyClickHere)(t)}));e.find(r).after(a)},hideBanner:function(e){var t=this.el.notification;e.find(t).remove()},mapGiftToChipData:function(e,t){e=e.closest(this.el.block).data("currency")||"£";return{id:t.id,maskedNumber:String(t.maskedNumber||""),currency:e,amount:Number(t.amountToRedeem||0)}},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,p.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){window.Wick&&c.Notification&&"function"==typeof c.Notification.show&&(t=p.linkifyClickHere?(0,p.linkifyClickHere)(t):String(t||""),c.Notification.show({text:t,container:".globalMessages .container",type:"error"}))},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(),n&&n.length&&(e=n.first(),Array.isArray(t.giftCards)&&t.giftCards.length&&this.renderGiftCardsFromList(e,t.giftCards),t=t.errorCode,Number.isFinite(t))&&p.PAY_MESSAGE_BY_CODE[t]&&this.useGlobalError(e,p.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.ZERO_BALANCE_MESSAGE=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.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(r){return Object.entries(c).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?o(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)?o(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=r[t];return d.has(t)&&(n=function(e){if(null!=e&&""!==String(e).trim()){var t=String(e).replace(/[^\d.-]/g,""),t=Number(t);if(Number.isFinite(t))return"£".concat(t.toFixed(2))}return e}(n)),"giftCardApplied"===t&&n.startsWith("£")&&(n="-".concat(n)),function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach(function(e){l(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({item:e.item,itemValue:e.value,dataValue:n},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=function(e){var e=String(null!=e?e:"").replace(/[^\d.]/g,"");return!!e&&(e=Number(e),Number.isFinite(e))&&0===e},n.linkifyClickHere=void 0,n.payWithGiftCard=function(){return new Promise(function(e,t){e=createEvent(p,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(f,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(u,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 i(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function o(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 l(e,t,n){return(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,e}function s(e){return $("<div>").text(String(e||"")).html()}var c={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"}},d=new Set(["subTotal","vat","clickAndCollectCost","deliveryCost","charityPrice","discountTotal","total","giftCardApplied"]),e=(n.OK_CODE=0,n.ZERO_BALANCE_MESSAGE="Insufficient funds available, please try another Gift Card or alternate payment method.",l({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.",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.",89:"Gift Card already added, please use a different card.",99:"The entered Gift Card is invalid. For support click here."},-1,"Gift Card is unavailable at this time, please try later. For support click here.")),u=(n.MESSAGE_BY_CODE=e,n.PAY_MESSAGE_BY_CODE={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."},"addGiftCard"),f=(n.ADD_GIFT_CARD=u,"removeGiftCard"),p=(n.REMOVE_GIFT_CARD=f,"payWithGiftCard"),h=(n.PAY_WITH_GIFT_CARD=p,"https://www.wickes.co.uk/gifts");n.FAQ_URL=h,n.escapeHtml=s;n.linkifyClickHere=function(e){return s(e).replace(/\bclick here\b/gi,'<a href="'.concat(h,'" 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=x,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=A,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=P,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?A(e,i,a,o,r):P(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),x(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 x(e,t){t&&$(e).append('<div class="form-row__error">'+t+"</div>")}function P(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 A(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){Array.isArray(e.promotionsInfo)&&e.promotionsInfo.length?($(r.discountItem).show(),r.$discountList.empty(),e.promotionsInfo&&e.promotionsInfo.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>")}))})):t&&Array.isArray(e.promotionsInfo)&&e.promotionsInfo.length?($(r.discountItem).show(),r.$discountList.empty(),e.promotionsInfo.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?"\n <li>".concat(e.description,"</li>\n "):""})})):$(r.discountItem).hide()};var r={$discountList:$(".checkout-widget__details-discount 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"),m=e("../utils/gift-cards-utils"),p=e("../utils/validation"),h=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:m.ADD_GIFT_CARD,REMOVE_GIFT_CARD:m.REMOVE_GIFT_CARD,PAY_WITH_GIFT_CARD:m.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",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,m.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,m.verifyGiftCard)(n,u,t).then(function(e){return r.handleVerifyResponse(s,e)}).catch(function(e){e=r.getErrorMessage(e);r.showBannerError(s,e)})):((0,h.handleGcNumberBlur)({currentTarget:o[0]},e),(0,h.handleGcPinBlur)({currentTarget:a[0]},c),(d?a:o).trigger("focus"))},handleVerifyResponse:function(e,t){if(t&&t.code===m.OK_CODE)return Array.isArray(t.giftCards)?0===Number(t.giftCardTotal)?void this.showBannerError(e,m.ZERO_BALANCE_MESSAGE):(this.pendingServerGiftCards=t.giftCards.slice(),null==t.orderTotal&&null==t.giftCardTotal||(n={total:t.orderTotal,giftCardApplied:t.giftCardTotal},(0,i.updateOrderSummary)(n,(0,m.buildSummaryEqualMap)(n),!0),this.updateCtaButton(e,{total:t.orderTotal}),this.toggleBillingDescrForZero(e,{total:t.orderTotal}),this.summaryTotal=t.orderTotal),this.resetForm(e),void this.showSubmitSpinner(e)):void this.showBannerError(e,m.MESSAGE_BY_CODE[-1]);var n=t&&m.MESSAGE_BY_CODE[t.code]||m.MESSAGE_BY_CODE[-1];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,m.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,{total:this.summaryTotal})):(this.setBillingLabelToCard(r),d.show(),r.hide(),r.find(i).hide(),a=(0,m.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,f=n.cardRadio,n=n.cardField,p=null!=this.summaryTotal&&(0,m.isZeroAmount)(this.summaryTotal),h=e.closest(d).find(r),r=([i,a,o,l,s,c].forEach(function(e){e=h.find(e).closest(u);e.length&&e[t?"show":"hide"]()}),h.find(n).closest(u));r.length&&r[p?"hide":"show"](),t||p||(i=(i=e.closest(d).find(f)).length?i:$(f)).length&&i.prop("checked",!0)},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&&m.MESSAGE_BY_CODE[e]||m.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,m.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===m.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,m.buildSummaryEqualMap)(n),!0),this.updateCtaButton&&this.updateCtaButton(e,{total:t.orderTotal}),this.toggleBillingDescrForZero&&this.toggleBillingDescrForZero(e,{total:t.orderTotal})):(r=t&&m.MESSAGE_BY_CODE[t.code]||m.MESSAGE_BY_CODE[-1],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,t){var n=this.el,r=n.ctaSelector,i=n.btnDetails,a=n.btnText,n=n.checkoutContainer,o=$(r);(o=o.length?o:e.closest(n).find(r)).length&&(n=(e=o.closest(i).length?o.closest(i):o).find(a).first().length?e.find(a).first():e,r=null==t?void 0:t.total,i=(0,m.isZeroAmount)(r),n.text(i?this.messages.ctaGiftcardText:this.messages.ctaDefaultText),e.attr("data-mode",i?"giftcards":"card"),i?e.attr("type","button").removeAttr("form"):e.attr("type","submit").attr("form","hopPaymentAddressPostForm"))},toggleBillingDescrForZero:function(e,t){e=e.closest(this.el.checkoutContainer).find(this.el.checkoutPaymentFields);e.length&&e[!!t&&(0,m.isZeroAmount)(t.total)?"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,m.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=Number(null==e?void 0:e.errorCode);Number.isFinite(e)&&m.PAY_MESSAGE_BY_CODE[e]&&c.Notification.show({text:(0,m.linkifyClickHere)(m.PAY_MESSAGE_BY_CODE[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,m.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,m.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){window.Wick&&c.Notification&&"function"==typeof c.Notification.show&&(t=m.linkifyClickHere?(0,m.linkifyClickHere)(t):String(t||""),c.Notification.show({text:t,container:".globalMessages .container",type:"error"}))},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,h.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,h.digitsOnlyKeypress).on("blur.giftcard",n,function(e){return(0,h.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,h.handleGcPinInput)(e,{fieldSelector:t.el.field,errorTextSelector:t.el.errorText,errorClass:t.el.fieldError,ariaInvalidAttr:t.el.ariaInvalidAttr})}).on("keypress.giftcard",r,h.handleGcPinKeypress).on("blur.giftcard",r,function(e){return(0,h.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(),n&&n.length&&(e=n.first(),Array.isArray(t.giftCards)&&t.giftCards.length&&this.renderGiftCardsFromList(e,t.giftCards),t=t.errorCode,Number.isFinite(t))&&m.PAY_MESSAGE_BY_CODE[t]&&this.useGlobalError(e,m.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.ZERO_BALANCE_MESSAGE=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_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(c).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?g(n)?r="":null!=n&&""!==n&&"string"==typeof(r=m(n))&&r.startsWith("£")&&(r="-".concat(r)):d.has(t)&&null!=n&&""!==n&&(r=m(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=g,n.linkifyClickHere=void 0,n.payWithGiftCard=function(){return new Promise(function(e,t){e=createEvent(p,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(f,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(u,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={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"}},d=new Set(["subTotal","vat","clickAndCollectCost","deliveryCost","charityPrice","discountTotal","total","giftCardApplied"]),u=(n.DEFAULT_ERROR_MESSAGE="Unable to use Gift Card at this time, please try later or click here for support.",n.OK_CODE=0,n.ZERO_BALANCE_MESSAGE="Insufficient funds available, please try another Gift Card or alternate payment method.",s(e={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 Cards at this time, please try later or click here for support.",21:"Unable to use Gift Cards at this time, please try later or click here for support.",40:"Unable to use Gift Cards 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(e,"PIS-REQUEST-TIMEOUT","Unable to use Gift Cards at this time, please try later or click here for support."),s(e,"PIS-INTEGRATION-ERROR","Unable to use Gift Cards at this time, please try later or click here for support."),s(e,"HYBRIS-REQUEST-TIMEOUT","Unable to use Gift Cards at this time, please try later or click here for support."),s(e,"HYBRIS-PIS-INTEGRATION-ERROR","Unable to use Gift Cards at this time, please try later or click here for support."),s(e,99,"The entered Gift Card is invalid. For support click here."),s(e,-1,"Gift Card is unavailable at this time, please try later. For support click here."),n.MESSAGE_BY_CODE=e,n.PAY_MESSAGE_BY_CODE={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."},"addGiftCard"),f=(n.ADD_GIFT_CARD=u,"removeGiftCard"),p=(n.REMOVE_GIFT_CARD=f,"payWithGiftCard"),h=(n.PAY_WITH_GIFT_CARD=p,"https://www.wickes.co.uk/gifts");n.FAQ_URL=h,n.escapeHtml=i;function m(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 g(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(h,'" 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=A,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=P,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):P(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),A(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 A(e,t){t&&$(e).append('<div class="form-row__error">'+t+"</div>")}function P(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]);
@@ -16,7 +16,8 @@ import {
16
16
  removeGiftCard,
17
17
  verifyGiftCard,
18
18
  ZERO_BALANCE_MESSAGE,
19
- PAY_MESSAGE_BY_CODE
19
+ PAY_MESSAGE_BY_CODE,
20
+ DEFAULT_ERROR_MESSAGE
20
21
  } from "../utils/gift-cards-utils";
21
22
 
22
23
  import { clearErrorText, validateExactDigits } from "../utils/validation";
@@ -324,8 +325,7 @@ Wick.GiftCard = {
324
325
  verifyGiftCard($loader, giftCardNumber, pin)
325
326
  .then((res) => this.handleVerifyResponse($root, res))
326
327
  .catch((err) => {
327
- const code = err && typeof err.code === 'number' ? err.code : undefined;
328
- const msg = MESSAGE_BY_CODE[code] || MESSAGE_BY_CODE[-1];
328
+ const msg = this.getErrorMessage(err);
329
329
  this.showBannerError($root, msg);
330
330
  });
331
331
  },
@@ -346,9 +346,9 @@ Wick.GiftCard = {
346
346
  if (res.orderTotal != null || res.giftCardTotal != null) {
347
347
  const data = { total: res.orderTotal, giftCardApplied: res.giftCardTotal };
348
348
  updateOrderSummary(data, buildSummaryEqualMap(data), true);
349
+ this.updateCtaButton($root, { total: res.orderTotal });
349
350
  this.toggleBillingDescrForZero($root, { total: res.orderTotal });
350
351
  this.summaryTotal = res.orderTotal;
351
- this.updateCtaButton($root);
352
352
  }
353
353
 
354
354
  this.resetForm($root);
@@ -466,8 +466,9 @@ Wick.GiftCard = {
466
466
  cardField,
467
467
  } = this.el;
468
468
 
469
- const $container = $root.closest(checkoutContainer);
470
- const $paymentField = $container.find(paymentForm);
469
+ const isTotalZero = this.summaryTotal != null ? isZeroAmount(this.summaryTotal) : false;
470
+
471
+ const $paymentField = $root.closest(checkoutContainer).find(paymentForm);
471
472
 
472
473
  const paymentSelectors = [
473
474
  billieField,
@@ -487,22 +488,14 @@ Wick.GiftCard = {
487
488
 
488
489
  const $cardRow = $paymentField.find(cardField).closest(formRow);
489
490
  if ($cardRow.length) {
490
- $cardRow.show();
491
+ $cardRow[isTotalZero ? 'hide' : 'show']();
491
492
  }
492
493
 
493
- if (!show) {
494
- const $cardFieldRow = $paymentField.find(cardField).closest(formRow);
495
-
496
- if ($cardFieldRow.length) {
497
- const $radio = $cardFieldRow.find(cardRadio);
498
-
499
- if ($radio.length) {
500
- $radio.prop('checked', true);
501
- $radio.trigger('change');
502
- this.updateCtaButton()
503
- }
504
-
505
- $cardFieldRow.trigger('click');
494
+ if (!show && !isTotalZero) {
495
+ let $radio = $root.closest(checkoutContainer).find(cardRadio);
496
+ if (!$radio.length) $radio = $(cardRadio);
497
+ if ($radio.length) {
498
+ $radio.prop('checked', true);
506
499
  }
507
500
  }
508
501
  },
@@ -526,6 +519,15 @@ Wick.GiftCard = {
526
519
  }, 0);
527
520
  },
528
521
 
522
+ getErrorMessage(payload) {
523
+ const code =
524
+ payload && (typeof payload.code === 'number' || typeof payload.code === 'string')
525
+ ? payload.code
526
+ : undefined;
527
+
528
+ return (code != null && MESSAGE_BY_CODE[code]) || DEFAULT_ERROR_MESSAGE;
529
+ },
530
+
529
531
  handleChipCloseClick(e) {
530
532
  e.preventDefault();
531
533
  const {
@@ -560,8 +562,7 @@ Wick.GiftCard = {
560
562
  removeGiftCard($loader, index)
561
563
  .then((res) => this.handleRemoveResponse($giftcard, res))
562
564
  .catch((err) => {
563
- const code = err && typeof err.code === 'number' ? err.code : undefined;
564
- const msg = MESSAGE_BY_CODE[code] || MESSAGE_BY_CODE[-1];
565
+ const msg = this.getErrorMessage(err);
565
566
  this.showBannerError($giftcard, msg);
566
567
  })
567
568
  .finally(() => {
@@ -581,7 +582,7 @@ Wick.GiftCard = {
581
582
  if (res.orderTotal != null || res.giftCardTotal != null) {
582
583
  updateOrderSummary(data, buildSummaryEqualMap(data), true);
583
584
  }
584
- this.updateCtaButton($root);
585
+ this.updateCtaButton && this.updateCtaButton($giftcard, { total: res.orderTotal });
585
586
  this.toggleBillingDescrForZero && this.toggleBillingDescrForZero($giftcard, { total: res.orderTotal });
586
587
  return;
587
588
  }
@@ -614,7 +615,7 @@ Wick.GiftCard = {
614
615
  showLoader($pl);
615
616
  },
616
617
 
617
- updateCtaButton($scope) {
618
+ updateCtaButton($scope, summaryData) {
618
619
  const { ctaSelector, btnDetails, btnText, checkoutContainer } = this.el;
619
620
  let $cta = $(ctaSelector);
620
621
  if (!$cta.length) {
@@ -624,7 +625,8 @@ Wick.GiftCard = {
624
625
 
625
626
  const $wrap = $cta.closest(btnDetails).length ? $cta.closest(btnDetails) : $cta;
626
627
  const $text = $wrap.find(btnText).first().length ? $wrap.find(btnText).first() : $wrap;
627
- const useGiftcard = isZeroAmount(this.summaryTotal);
628
+ const totalLike = summaryData?.total;
629
+ const useGiftcard = isZeroAmount(totalLike);
628
630
 
629
631
  $text.text(useGiftcard ? this.messages.ctaGiftcardText : this.messages.ctaDefaultText);
630
632
  $wrap.attr('data-mode', useGiftcard ? 'giftcards' : 'card');
@@ -728,11 +730,13 @@ Wick.GiftCard = {
728
730
  mapGiftToChipData($root, gift) {
729
731
  const $giftcard = $root.closest(this.el.block);
730
732
  const currency = $giftcard.data('currency') || '£';
733
+ const rawAmount = Number(gift.amountToRedeem || 0);
734
+ const amount = Number.isFinite(rawAmount) ? rawAmount.toFixed(2) : '0.00';
731
735
  return {
732
736
  id: gift.id,
733
737
  maskedNumber: String(gift.maskedNumber || ''),
734
738
  currency,
735
- amount: Number(gift.amountToRedeem || 0),
739
+ amount,
736
740
  };
737
741
  },
738
742
 
@@ -16,6 +16,15 @@ const CURRENCY_KEYS = new Set([
16
16
  'charityPrice','discountTotal','total','giftCardApplied'
17
17
  ]);
18
18
 
19
+ const GIFT_CARD_ALREADY_ADDED = 'GIFT_CARD_ALREADY_ADDED';
20
+ const PIS_REQUEST_TIMEOUT = 'PIS-REQUEST-TIMEOUT';
21
+ const PIS_INTEGRATION_ERROR = 'PIS-INTEGRATION-ERROR';
22
+ const HYBRIS_REQUEST_TIMEOUT = 'HYBRIS-REQUEST-TIMEOUT';
23
+ const HYBRIS_PIS_INTEGRATION_ERROR = 'HYBRIS-PIS-INTEGRATION-ERROR';
24
+
25
+ export const DEFAULT_ERROR_MESSAGE =
26
+ 'Unable to use Gift Card at this time, please try later or click here for support.';
27
+
19
28
  export const OK_CODE = 0;
20
29
 
21
30
  export const ZERO_BALANCE_MESSAGE =
@@ -24,10 +33,16 @@ export const ZERO_BALANCE_MESSAGE =
24
33
  export const MESSAGE_BY_CODE = {
25
34
  10: 'Gift Card number and / or PIN not recognised. A Gift Card will be locked following three unsuccessful PIN attempts.',
26
35
  16: 'Card locked due to three unsuccessful PIN entries. For support click here.',
27
- 20: 'Unable to use Gift Card at this time, please try later or click here for support.',
28
- 40: 'Unable to use Gift Card at this time, please try later or click here for support.',
36
+ 20: 'Unable to use Gift Cards at this time, please try later or click here for support.',
37
+ 21: 'Unable to use Gift Cards at this time, please try later or click here for support.',
38
+ 40: 'Unable to use Gift Cards at this time, please try later or click here for support.',
29
39
  60: 'The entered Gift Card has expired. For support click here.',
30
- 89: 'Gift Card already added, please use a different card.',
40
+ 75: 'The entered Gift Card is invalid. For support click here.',
41
+ [GIFT_CARD_ALREADY_ADDED]: 'Gift Card already added, please use a different card.',
42
+ [PIS_REQUEST_TIMEOUT]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
43
+ [PIS_INTEGRATION_ERROR]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
44
+ [HYBRIS_REQUEST_TIMEOUT]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
45
+ [HYBRIS_PIS_INTEGRATION_ERROR]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
31
46
  99: 'The entered Gift Card is invalid. For support click here.',
32
47
  [-1]: 'Gift Card is unavailable at this time, please try later. For support click here.',
33
48
  };
@@ -85,23 +100,28 @@ export function buildHintContext(count, limit) {
85
100
 
86
101
  export function buildSummaryEqualMap(data) {
87
102
  return Object.entries(SUMMARY_SELECTORS).map(([key, d]) => {
88
- let dataValue = data[key];
89
-
90
- if (CURRENCY_KEYS.has(key)) {
91
- dataValue = formatGBP(dataValue);
92
- }
93
-
94
- if (
95
- key === 'giftCardApplied' &&
96
- dataValue.startsWith('£')
97
- ) {
98
- dataValue = `-${dataValue}`;
103
+ const raw = data[key];
104
+ let dataValue = raw;
105
+
106
+ if (key === 'giftCardApplied') {
107
+ if (isZeroAmount(raw)) {
108
+ dataValue = '';
109
+ } else if (raw != null && raw !== '') {
110
+ dataValue = formatGBP(raw);
111
+ if (typeof dataValue === 'string' && dataValue.startsWith('£')) {
112
+ dataValue = `-${dataValue}`;
113
+ }
114
+ }
115
+ } else {
116
+ if (CURRENCY_KEYS.has(key) && raw != null && raw !== '') {
117
+ dataValue = formatGBP(raw);
118
+ }
99
119
  }
100
120
 
101
121
  return {
102
122
  item: d.item,
103
123
  itemValue: d.value,
104
- dataValue: dataValue,
124
+ dataValue,
105
125
  ...(d.title ? { title: d.title } : {}),
106
126
  };
107
127
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.103.0-gift-cards.6",
3
+ "version": "2.103.0-gift-cards.8",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -108,7 +108,7 @@
108
108
  "branches": [
109
109
  "alt-master",
110
110
  {
111
- "name": "custom-tag/RG-1756-incorrect-payment-method-when-proceed-payment-with-gift-card",
111
+ "name": "custom-tag/gift-cards",
112
112
  "prerelease": "${name.replace(/^custom-tag\\//g, '')}"
113
113
  }
114
114
  ],
@@ -16,7 +16,8 @@ import {
16
16
  removeGiftCard,
17
17
  verifyGiftCard,
18
18
  ZERO_BALANCE_MESSAGE,
19
- PAY_MESSAGE_BY_CODE
19
+ PAY_MESSAGE_BY_CODE,
20
+ DEFAULT_ERROR_MESSAGE
20
21
  } from "../utils/gift-cards-utils";
21
22
 
22
23
  import { clearErrorText, validateExactDigits } from "../utils/validation";
@@ -324,8 +325,7 @@ Wick.GiftCard = {
324
325
  verifyGiftCard($loader, giftCardNumber, pin)
325
326
  .then((res) => this.handleVerifyResponse($root, res))
326
327
  .catch((err) => {
327
- const code = err && typeof err.code === 'number' ? err.code : undefined;
328
- const msg = MESSAGE_BY_CODE[code] || MESSAGE_BY_CODE[-1];
328
+ const msg = this.getErrorMessage(err);
329
329
  this.showBannerError($root, msg);
330
330
  });
331
331
  },
@@ -346,9 +346,9 @@ Wick.GiftCard = {
346
346
  if (res.orderTotal != null || res.giftCardTotal != null) {
347
347
  const data = { total: res.orderTotal, giftCardApplied: res.giftCardTotal };
348
348
  updateOrderSummary(data, buildSummaryEqualMap(data), true);
349
+ this.updateCtaButton($root, { total: res.orderTotal });
349
350
  this.toggleBillingDescrForZero($root, { total: res.orderTotal });
350
351
  this.summaryTotal = res.orderTotal;
351
- this.updateCtaButton($root);
352
352
  }
353
353
 
354
354
  this.resetForm($root);
@@ -466,8 +466,9 @@ Wick.GiftCard = {
466
466
  cardField,
467
467
  } = this.el;
468
468
 
469
- const $container = $root.closest(checkoutContainer);
470
- const $paymentField = $container.find(paymentForm);
469
+ const isTotalZero = this.summaryTotal != null ? isZeroAmount(this.summaryTotal) : false;
470
+
471
+ const $paymentField = $root.closest(checkoutContainer).find(paymentForm);
471
472
 
472
473
  const paymentSelectors = [
473
474
  billieField,
@@ -487,22 +488,14 @@ Wick.GiftCard = {
487
488
 
488
489
  const $cardRow = $paymentField.find(cardField).closest(formRow);
489
490
  if ($cardRow.length) {
490
- $cardRow.show();
491
+ $cardRow[isTotalZero ? 'hide' : 'show']();
491
492
  }
492
493
 
493
- if (!show) {
494
- const $cardFieldRow = $paymentField.find(cardField).closest(formRow);
495
-
496
- if ($cardFieldRow.length) {
497
- const $radio = $cardFieldRow.find(cardRadio);
498
-
499
- if ($radio.length) {
500
- $radio.prop('checked', true);
501
- $radio.trigger('change');
502
- this.updateCtaButton()
503
- }
504
-
505
- $cardFieldRow.trigger('click');
494
+ if (!show && !isTotalZero) {
495
+ let $radio = $root.closest(checkoutContainer).find(cardRadio);
496
+ if (!$radio.length) $radio = $(cardRadio);
497
+ if ($radio.length) {
498
+ $radio.prop('checked', true);
506
499
  }
507
500
  }
508
501
  },
@@ -526,6 +519,15 @@ Wick.GiftCard = {
526
519
  }, 0);
527
520
  },
528
521
 
522
+ getErrorMessage(payload) {
523
+ const code =
524
+ payload && (typeof payload.code === 'number' || typeof payload.code === 'string')
525
+ ? payload.code
526
+ : undefined;
527
+
528
+ return (code != null && MESSAGE_BY_CODE[code]) || DEFAULT_ERROR_MESSAGE;
529
+ },
530
+
529
531
  handleChipCloseClick(e) {
530
532
  e.preventDefault();
531
533
  const {
@@ -560,8 +562,7 @@ Wick.GiftCard = {
560
562
  removeGiftCard($loader, index)
561
563
  .then((res) => this.handleRemoveResponse($giftcard, res))
562
564
  .catch((err) => {
563
- const code = err && typeof err.code === 'number' ? err.code : undefined;
564
- const msg = MESSAGE_BY_CODE[code] || MESSAGE_BY_CODE[-1];
565
+ const msg = this.getErrorMessage(err);
565
566
  this.showBannerError($giftcard, msg);
566
567
  })
567
568
  .finally(() => {
@@ -581,7 +582,7 @@ Wick.GiftCard = {
581
582
  if (res.orderTotal != null || res.giftCardTotal != null) {
582
583
  updateOrderSummary(data, buildSummaryEqualMap(data), true);
583
584
  }
584
- this.updateCtaButton($root);
585
+ this.updateCtaButton && this.updateCtaButton($giftcard, { total: res.orderTotal });
585
586
  this.toggleBillingDescrForZero && this.toggleBillingDescrForZero($giftcard, { total: res.orderTotal });
586
587
  return;
587
588
  }
@@ -614,7 +615,7 @@ Wick.GiftCard = {
614
615
  showLoader($pl);
615
616
  },
616
617
 
617
- updateCtaButton($scope) {
618
+ updateCtaButton($scope, summaryData) {
618
619
  const { ctaSelector, btnDetails, btnText, checkoutContainer } = this.el;
619
620
  let $cta = $(ctaSelector);
620
621
  if (!$cta.length) {
@@ -624,7 +625,8 @@ Wick.GiftCard = {
624
625
 
625
626
  const $wrap = $cta.closest(btnDetails).length ? $cta.closest(btnDetails) : $cta;
626
627
  const $text = $wrap.find(btnText).first().length ? $wrap.find(btnText).first() : $wrap;
627
- const useGiftcard = isZeroAmount(this.summaryTotal);
628
+ const totalLike = summaryData?.total;
629
+ const useGiftcard = isZeroAmount(totalLike);
628
630
 
629
631
  $text.text(useGiftcard ? this.messages.ctaGiftcardText : this.messages.ctaDefaultText);
630
632
  $wrap.attr('data-mode', useGiftcard ? 'giftcards' : 'card');
@@ -728,11 +730,13 @@ Wick.GiftCard = {
728
730
  mapGiftToChipData($root, gift) {
729
731
  const $giftcard = $root.closest(this.el.block);
730
732
  const currency = $giftcard.data('currency') || '£';
733
+ const rawAmount = Number(gift.amountToRedeem || 0);
734
+ const amount = Number.isFinite(rawAmount) ? rawAmount.toFixed(2) : '0.00';
731
735
  return {
732
736
  id: gift.id,
733
737
  maskedNumber: String(gift.maskedNumber || ''),
734
738
  currency,
735
- amount: Number(gift.amountToRedeem || 0),
739
+ amount,
736
740
  };
737
741
  },
738
742
 
@@ -16,6 +16,15 @@ const CURRENCY_KEYS = new Set([
16
16
  'charityPrice','discountTotal','total','giftCardApplied'
17
17
  ]);
18
18
 
19
+ const GIFT_CARD_ALREADY_ADDED = 'GIFT_CARD_ALREADY_ADDED';
20
+ const PIS_REQUEST_TIMEOUT = 'PIS-REQUEST-TIMEOUT';
21
+ const PIS_INTEGRATION_ERROR = 'PIS-INTEGRATION-ERROR';
22
+ const HYBRIS_REQUEST_TIMEOUT = 'HYBRIS-REQUEST-TIMEOUT';
23
+ const HYBRIS_PIS_INTEGRATION_ERROR = 'HYBRIS-PIS-INTEGRATION-ERROR';
24
+
25
+ export const DEFAULT_ERROR_MESSAGE =
26
+ 'Unable to use Gift Card at this time, please try later or click here for support.';
27
+
19
28
  export const OK_CODE = 0;
20
29
 
21
30
  export const ZERO_BALANCE_MESSAGE =
@@ -24,10 +33,16 @@ export const ZERO_BALANCE_MESSAGE =
24
33
  export const MESSAGE_BY_CODE = {
25
34
  10: 'Gift Card number and / or PIN not recognised. A Gift Card will be locked following three unsuccessful PIN attempts.',
26
35
  16: 'Card locked due to three unsuccessful PIN entries. For support click here.',
27
- 20: 'Unable to use Gift Card at this time, please try later or click here for support.',
28
- 40: 'Unable to use Gift Card at this time, please try later or click here for support.',
36
+ 20: 'Unable to use Gift Cards at this time, please try later or click here for support.',
37
+ 21: 'Unable to use Gift Cards at this time, please try later or click here for support.',
38
+ 40: 'Unable to use Gift Cards at this time, please try later or click here for support.',
29
39
  60: 'The entered Gift Card has expired. For support click here.',
30
- 89: 'Gift Card already added, please use a different card.',
40
+ 75: 'The entered Gift Card is invalid. For support click here.',
41
+ [GIFT_CARD_ALREADY_ADDED]: 'Gift Card already added, please use a different card.',
42
+ [PIS_REQUEST_TIMEOUT]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
43
+ [PIS_INTEGRATION_ERROR]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
44
+ [HYBRIS_REQUEST_TIMEOUT]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
45
+ [HYBRIS_PIS_INTEGRATION_ERROR]: 'Unable to use Gift Cards at this time, please try later or click here for support.',
31
46
  99: 'The entered Gift Card is invalid. For support click here.',
32
47
  [-1]: 'Gift Card is unavailable at this time, please try later. For support click here.',
33
48
  };
@@ -85,23 +100,28 @@ export function buildHintContext(count, limit) {
85
100
 
86
101
  export function buildSummaryEqualMap(data) {
87
102
  return Object.entries(SUMMARY_SELECTORS).map(([key, d]) => {
88
- let dataValue = data[key];
89
-
90
- if (CURRENCY_KEYS.has(key)) {
91
- dataValue = formatGBP(dataValue);
92
- }
93
-
94
- if (
95
- key === 'giftCardApplied' &&
96
- dataValue.startsWith('£')
97
- ) {
98
- dataValue = `-${dataValue}`;
103
+ const raw = data[key];
104
+ let dataValue = raw;
105
+
106
+ if (key === 'giftCardApplied') {
107
+ if (isZeroAmount(raw)) {
108
+ dataValue = '';
109
+ } else if (raw != null && raw !== '') {
110
+ dataValue = formatGBP(raw);
111
+ if (typeof dataValue === 'string' && dataValue.startsWith('£')) {
112
+ dataValue = `-${dataValue}`;
113
+ }
114
+ }
115
+ } else {
116
+ if (CURRENCY_KEYS.has(key) && raw != null && raw !== '') {
117
+ dataValue = formatGBP(raw);
118
+ }
99
119
  }
100
120
 
101
121
  return {
102
122
  item: d.item,
103
123
  itemValue: d.value,
104
- dataValue: dataValue,
124
+ dataValue,
105
125
  ...(d.title ? { title: d.title } : {}),
106
126
  };
107
127
  });
@@ -48,7 +48,7 @@
48
48
  <div class="billing-payment-block">
49
49
  <h3 class="billing-payment-block__heading">Billing & Payment</h3>
50
50
  <div class="billing-payment-block__wrapper">
51
- {{> checkout-payment-details-v2 apple-pay=true google-pay=true clear-pay=true klarna-method=true}}
51
+ {{> checkout-payment-details-v2 apple-pay=true google-pay=true clear-pay=true billie=true}}
52
52
  </div>
53
53
  </div>
54
54