wickes-css2 2.102.0 → 2.103.0-gift-cards.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/Readme.md +1 -3
  2. package/build/css/components/checkout-payment-details-v2.css +1 -1
  3. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  4. package/build/img/giftcard.svg +28 -0
  5. package/build/js/account-members.min.js +1 -1
  6. package/build/js/basket.min.js +1 -1
  7. package/build/js/bundle.min.js +1 -1
  8. package/build/js/checkout.min.js +1 -1
  9. package/build/js/emulation.min.js +66 -16
  10. package/build/js/gift-cards.min.js +1 -0
  11. package/build/js/merged-checkout.min.js +1 -1
  12. package/build/js/page/components/gift-cards.js +610 -0
  13. package/build/js/page/components/toggle-password-visibility.js +22 -0
  14. package/build/js/page/utils/gift-cards-utils.js +43 -0
  15. package/build/js/page/utils/show-hide-input.js +28 -0
  16. package/build/js/project-list.min.js +1 -1
  17. package/build/js/toggle-password-visibility.min.js +1 -0
  18. package/package.json +2 -2
  19. package/src/components/checkout-payment-details-v2.hbs +2 -1
  20. package/src/components/gift-cards-hint.hbs +9 -0
  21. package/src/components/gift-cards.hbs +89 -0
  22. package/src/components/giftcard-chip.hbs +23 -0
  23. package/src/elements/form-row.hbs +1 -1
  24. package/src/elements/input.hbs +31 -2
  25. package/src/img/giftcard.svg +28 -0
  26. package/src/js/emulation/checkout-data.js +35 -0
  27. package/src/js/emulation/checkout-payment-details.js +23 -14
  28. package/src/js/emulation/forms.js +7 -2
  29. package/src/js/page/components/gift-cards.js +610 -0
  30. package/src/js/page/components/toggle-password-visibility.js +22 -0
  31. package/src/js/page/utils/gift-cards-utils.js +43 -0
  32. package/src/js/page/utils/show-hide-input.js +28 -0
  33. package/src/page_my-account_change-password.html +1 -0
  34. package/src/page_payment-details-with-gift-card.html +2 -1
  35. package/src/scss/components/_gift-cards.scss +357 -0
  36. package/src/scss/components/checkout-payment-details-v2.scss +2 -0
  37. package/src/scss/pages/page_checkout_delivery-new.scss +19 -0
  38. package/src/js/components/toggle-password-visibility.js +0 -58
@@ -3428,6 +3428,42 @@ Wick.checkLocalEnv = (function () {
3428
3428
  }
3429
3429
  })();
3430
3430
 
3431
+ var Wick = Wick || {};
3432
+ Wick.CheckoutData = (function () {
3433
+ return {
3434
+ //TODO: update after BE confirmation
3435
+ successGiftCardData: {
3436
+ "subTotal": "£85.00",
3437
+ "deliveryCost": "£4.00",
3438
+ "freeDelivery": false,
3439
+ "clickAndCollectCost": "FREE",
3440
+ "totalForDelivery": "£69.00",
3441
+ "totalForClickAndCollect": "FREE",
3442
+ "total": "£67.00",
3443
+ "vat": "£11.17",
3444
+ "deliveryOrder": true,
3445
+ "clickAndCollectOrder": false,
3446
+ "discountTotal": "£2.00",
3447
+ "giftCardApplied": "-£100.00",
3448
+ "discounts": [
3449
+ "Spend over £10 and get £2 fixed discount"
3450
+ ],
3451
+ "promotionsInfo": [
3452
+ {
3453
+ "description": "Spend over £10 and get £2 fixed discount",
3454
+ "usedCouponCode": "RT_02"
3455
+ }
3456
+ ],
3457
+ "subTotalWithDeliveryCost": "£69.00",
3458
+ "net": false,
3459
+ "subtotalWithDeliveryAndDiscounts": "£67.00",
3460
+ "discountAmounts": [],
3461
+ "goodsTotalWithoutDiscount": "£65.00",
3462
+ "charityPrice": ""
3463
+ },
3464
+ }
3465
+ })();
3466
+
3431
3467
  var Wick = Wick || {};
3432
3468
  Wick.DeliveryDetails = (function () {
3433
3469
  var $page = $('.page_checkout-delivery-details');
@@ -3468,24 +3504,33 @@ var Wick = Wick || {};
3468
3504
 
3469
3505
  Wick.PaymentDetails = (function () {
3470
3506
  var $btnEnterDetails = $('.btn-enter-details'),
3471
- $form = $btnEnterDetails.parents('form'),
3472
3507
  isGuestPage = $('.page_checkout-payment-details_guest').length;
3473
3508
 
3474
3509
  function bindEvents () {
3475
- $btnEnterDetails.on('click', function(){
3476
- if ($form.find('#card-name').val().length &&
3477
- $form.find('#first-line-address').val().length &&
3478
- $form.find('#address-line-1').val().length &&
3479
- $form.find('#town-city').val().length &&
3480
- $form.find('#postcode_additional').val().length){
3481
- $('.checkout-payment-details__card-details').removeClass('checkout-payment-details__card-details_hidden');
3482
- $('html, body').animate({
3483
- scrollTop: $('.checkout-payment-details__card-details').offset().top - 15
3484
- }, 700);
3485
- return false;
3510
+ $btnEnterDetails.on('click', function (e) {
3511
+ e.preventDefault();
3512
+ var $scope = $(this).closest('form');
3513
+ if (!$scope.length) $scope = $(this).closest('.billing-address');
3514
+ if (!$scope.length) $scope = $('.billing-address');
3515
+ var nameVal= ($scope.find('#card-name').val() || '').trim();
3516
+ var finderVal= ($scope.find('#first-line-address').val() || '').trim();
3517
+ var manualLine1= ($scope.find('#address-line-1').val() || '').trim();
3518
+ var manualTown= ($scope.find('#town-city').val() || '').trim();
3519
+ var manualPost= ($scope.find('#postcode_additional').val() || '').trim();
3520
+ var addressFinderOk = finderVal.length > 0;
3521
+ var addressManualOk = manualLine1 && manualTown && manualPost;
3522
+
3523
+ if (nameVal && (addressFinderOk || addressManualOk)) {
3524
+ var $details = $('.checkout-payment-details__card-details');
3525
+ $details.removeClass('checkout-payment-details__card-details_hidden');
3526
+ $('html, body').animate({ scrollTop: $details.offset().top - 15 }, 700);
3527
+ return;
3528
+ }
3529
+
3530
+ var formEl = $scope.closest('form').get(0) || $scope.get(0);
3531
+ if (formEl && Wick.Forms && Wick.Forms.showValidationErrors) {
3532
+ Wick.Forms.showValidationErrors(formEl);
3486
3533
  }
3487
- Wick.Forms.showValidationErrors($form[0]);
3488
- return false;
3489
3534
  });
3490
3535
 
3491
3536
  $('.checkout-payment-details__card-details').on('submit', function(){
@@ -4022,11 +4067,16 @@ Wick.Forms = (function(){
4022
4067
 
4023
4068
  var showValidationErrors = function (form, errorMsg) {
4024
4069
  var $form = $(form);
4070
+ var $rows = $form.find(fieldRow).not('[data-no-global-validation]');
4071
+ if (!$rows.length) return;
4072
+ $rows.find('.form-row__error').remove();
4073
+
4025
4074
  if (!$form.hasClass(formInvalid)) {
4026
- $form.find('.form-row__error').remove();
4027
- $form.addClass(formInvalid).find(fieldRow).append(validationError(errorMsg)).addClass(rowValidationError);
4075
+ $form.addClass(formInvalid);
4028
4076
  }
4029
4077
 
4078
+ $rows.append(validationError(errorMsg)).addClass(rowValidationError);
4079
+
4030
4080
  var $firstMsg = $form.find(fieldRow).first();
4031
4081
  if($firstMsg.length && !isElementInViewport($firstMsg)){
4032
4082
  var inModal = $firstMsg.closest('.modal').length,
@@ -0,0 +1 @@
1
+ !function r(i,o,a){function l(t,e){if(!o[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=o[t]={exports:{}},i[t][0].call(n.exports,function(e){return l(i[t][1][e]||e)},n,n.exports,r,i,o,a)}return o[t].exports}for(var s="function"==typeof require&&require,e=0;e<a.length;e++)l(a[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 o=i(e("./handlebars/base")),a=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 u(){var t=new o.HandlebarsEnvironment;return s.extend(t,o),t.SafeString=a.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 d=u();d.create=u,e.default(d),d.default=d,n.default=d,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=d;var i=e("./utils"),o=r(e("./exception")),a=e("./helpers"),l=e("./decorators"),s=r(e("./logger")),c=e("./internal/proto-access"),u=(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 d(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},a.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}d.prototype={constructor:d,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(i.toString.call(e)===u){if(t)throw new o.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)===u)i.extend(this.partials,e);else{if(void 0===t)throw new o.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)===u){if(t)throw new o.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 a=e("../utils");n.default=function(e){e.registerDecorator("inline",function(r,i,o,e){var t=r;return i.partials||(i.partials={},t=function(e,t){var n=o.partials,e=(o.partials=a.extend({},n,i.partials),r(e,t));return o.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,o=void 0,a=(t&&(n=t.start.line,r=t.end.line,i=t.start.column,o=t.end.column,e+=" - "+n+":"+i),Error.prototype.constructor.call(this,e)),l=0;l<s.length;l++)this[s[l]]=a[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:o,enumerable:!0})):(this.column=i,this.endColumn=o))}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),o.default(e),a.default(e),l.default(e),s.default(e),c.default(e),u.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")),o=r(e("./helpers/each")),a=r(e("./helpers/helper-missing")),l=r(e("./helpers/if")),s=r(e("./helpers/log")),c=r(e("./helpers/lookup")),u=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 o=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):o.isArray(e)?0<e.length?(t.ids&&(t.ids=[t.name]),i.helpers.each(e,t)):n(this):(t.data&&t.ids&&((n=o.createFrame(t.data)).contextPath=o.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,o=0,a="",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),a+=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 u=r.length;o<u;o++)o in r&&c(o,o,o===r.length-1);else if("function"==typeof Symbol&&r[Symbol.iterator]){for(var d=[],f=r[Symbol.iterator](),p=f.next();!p.done;p=f.next())d.push(p.value);for(u=(r=d).length;o<u;o++)c(o,o,o===r.length-1)}else t=void 0,Object.keys(r).forEach(function(e){void 0!==t&&c(t,o-1),t=e,o++}),void 0!==t&&c(t,o-1,!0);return a=0===o?n(this):a})},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"),o=(e=e)&&e.__esModule?e:{default:e};n.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new o.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 a("function"==typeof e?t.methods:t.properties,n)},n.resetLoggedProperties=function(){Object.keys(o).forEach(function(e){delete o[e]})};var r=e("./create-new-lookup-object"),n=e("../logger"),i=(e=n)&&e.__esModule?e:{default:e},o=Object.create(null);function a(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==o[e=t]&&(o[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 d.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 d.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 d.default("No environment passed to template");if(!s||!s.main)throw new d.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 a={strict:function(e,t,n){if(e&&t in e)return a.lookupProperty(e,t);throw new d.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,a.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(null!=(e[r]&&a.lookupProperty(e[r],t)))return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:u.escapeExpression,invokePartial:function(e,t,n){n.hash&&(t=u.extend({},t,n.hash),n.ids)&&(n.ids[0]=!0),e=c.VM.resolvePartial.call(this,e,t,n);var r=u.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 d.default("The partial "+n.name+" could not be compiled when running in runtime-only mode");if(n.indent){for(var o=i.split("\n"),a=0,l=o.length;a<l&&(o[a]||a+1!==l);a++)o[a]=n.indent+o[a];i=o.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 o=this.programs[e],a=this.fn(e);return o=t||i||r||n?m(this,e,a,t,n,r,i):o||(this.programs[e]=m(this,e,a))},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?u.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 o(e){return""+s.main(a,e,a.helpers,a.partials,n,i,r)}return s.useDepths&&(r=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(o=g(s.main,o,a,t.depths||[],n,i))(e,t)}return l.isTop=!0,l._setup=function(e){var t,r,i;e.partial?(a.protoAccessControl=e.protoAccessControl,a.helpers=e.helpers,a.partials=e.partials,a.decorators=e.decorators,a.hooks=e.hooks):(t=u.extend({},c.helpers,e.helpers),r=t,i=a,Object.keys(r).forEach(function(e){var t,n=r[e];r[e]=(t=i.lookupProperty,p.wrapHelper(n,function(e){return u.extend({lookupProperty:t},e)}))}),a.helpers=t,s.usePartial&&(a.partials=a.mergeIfNeeded(e.partials,c.partials)),(s.usePartial||s.useDecorators)&&(a.decorators=u.extend({},c.decorators,e.decorators)),a.hooks={},a.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||n,o.moveHelperToHooks(a,"helperMissing",t),o.moveHelperToHooks(a,"blockHelperMissing",t))},l._child=function(e,t,n,r){if(s.useBlockParams&&!n)throw new d.default("must pass block params");if(s.useDepths&&!r)throw new d.default("must pass parent depths");return m(a,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 o=void 0;r.fn&&r.fn!==a&&!function(){r.data=f.createFrame(r.data);var n=r.fn;o=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=u.extend({},r.partials,n.partials))}();void 0===e&&o&&(e=o);{if(void 0===e)throw new d.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}},n.noop=a;var u=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"),d=(n=n)&&n.__esModule?n:{default:n},f=e("./base"),o=e("./helpers"),p=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(r,e,i,o,t,a,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||o,a&&[t.blockParams].concat(a),n)}return(n=g(i,n,r,l,o,a)).program=e,n.depth=l?l.length:0,n.blockParams=t||0,n}function a(){return""}function g(e,t,n,r,i,o){return e.decorator&&(t=e.decorator(t,e={},n,r&&r[0],i,o,r),u.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 o.test(e)?e.replace(i,a):e},n.isEmpty=function(e){return!e&&0!==e||!(!u(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,o=/[&<>"'`=]/;function a(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}),u=(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=u},{}],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 o,a=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(o=null!=(o=l(n,"hintClass")||(null!=t?l(t,"hintClass"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"hintClass",hash:{},data:i,loc:{start:{line:1,column:10},end:{line:1,column:23}}}):o)+'">\n'+(null!=(o=l(n,"if").call(a,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}}}))?o:"")+(null!=(o=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}))?o:"")+"</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 o,a=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(o=null!=(o=e(n,"id")||(null!=t?e(t,"id"):t))?o:l)==s?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:1,column:45},end:{line:1,column:51}}}):o)+'">\n <div class="giftcard-chip__icon" aria-hidden="true">\n <img src="./img/giftcard.svg" alt="" />\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="Gift card ending '+c(typeof(o=null!=(o=e(n,"last5")||(null!=t?e(t,"last5"):t))?o:l)==s?o.call(a,{name:"last5",hash:{},data:i,loc:{start:{line:10,column:39},end:{line:10,column:48}}}):o)+'">\n ***********'+c(typeof(o=null!=(o=e(n,"last5")||(null!=t?e(t,"last5"):t))?o:l)==s?o.call(a,{name:"last5",hash:{},data:i,loc:{start:{line:11,column:19},end:{line:11,column:28}}}):o)+'\n </span>\n </div>\n\n <div class="giftcard-chip__line">\n <span class="giftcard-chip__applied">'+c(typeof(o=null!=(o=e(n,"currency")||(null!=t?e(t,"currency"):t))?o:l)==s?o.call(a,{name:"currency",hash:{},data:i,loc:{start:{line:16,column:43},end:{line:16,column:55}}}):o)+c(typeof(o=null!=(o=e(n,"amount")||(null!=t?e(t,"amount"):t))?o:l)==s?o.call(a,{name:"amount",hash:{},data:i,loc:{start:{line:16,column:55},end:{line:16,column:65}}}):o)+' 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({1:function(e,t,n,r,i){var o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]},a=' title="',l=null!=(l=o(n,"markdown")||(null!=t?o(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=o(n,"markdown")?l:e.hooks.blockHelperMissing.call(t,l,i))&&(a+=l),a+'"\n'},2:function(e,t,n,r,i){var o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(n=null!=(n=o(n,"title")||(null!=t?o(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 o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' title="'+e.escapeExpression("function"==typeof(n=null!=(n=o(n,"title")||(null!=t?o(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 o=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=o(n,"data-container")||(null!=t?o(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 o=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=o(n,"data-offset")||(null!=t?o(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 o=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=o(n,"data-html")||(null!=t?o(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 o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="icon icon-info-component '+c(typeof(o=null!=(o=u(n,"modification")||(null!=t?u(t,"modification"):t))?o:l)==s?o.call(a,{name:"modification",hash:{},data:i,loc:{start:{line:1,column:38},end:{line:1,column:54}}}):o)+'" data-toggle="tooltip" data-placement="'+c(typeof(o=null!=(o=u(n,"data-placement")||(null!=t?u(t,"data-placement"):t))?o:l)==s?o.call(a,{name:"data-placement",hash:{},data:i,loc:{start:{line:1,column:94},end:{line:1,column:112}}}):o)+'"\n'+(null!=(c=u(n,"if").call(a,null!=t?u(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=u(n,"if").call(a,null!=t?u(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=u(n,"if").call(a,null!=t?u(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=u(n,"if").call(a,null!=t?u(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}],27:[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 o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" <h2>"+e.escapeExpression("function"==typeof(n=null!=(n=o(n,"titleLoader")||(null!=t?o(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 o,a=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(o=null!=(o=l(n,"modifier")||(null!=t?l(t,"modifier"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"modifier",hash:{},data:i,loc:{start:{line:1,column:27},end:{line:1,column:39}}}):o)+" "+(null!=(o=l(n,"if").call(a,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}}}))?o:"")+'">\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!=(o=l(n,"if").call(a,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}}}))?o:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],28:[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"}},{}],29:[function(e,t,n){"use strict";var i=e("../utils/show-hide-input"),l=e("./order-summary"),d=e("../utils/loader"),f=e("../utils/gift-cards-utils"),r=e("hbsfy/runtime"),p=(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"),a=e("../../../elements/loader.hbs"),s=window.Wick||{};s.GiftCard={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",wrapper:".giftcard__wrapper",success:"#giftcard-applied",container:".giftcard__container",paymentForm:".checkout-payment-details__payment-method",billieField:".form-row__field.form-row__field-billie",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",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",ctaSelector:".billing-address .btn-enter-details .btn__text",btnDetails:".btn-enter-details",btnText:".btn__text",pageLoader:".loader-wrapper.page-loader",iframe:"#hopIframe",payBtnSelector:'#btnSubmit,input[type="submit"].submit-PayNow,.submitButton.btn.primary.submit-PayNow',btnEnterDetails:".billing-address .btn-enter-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,lastChipData:null,successTimer:null,showError:function(e,t){var n=this.el,r=n.field,i=n.errorText,o=n.fieldError,n=n.ariaInvalidAttr,r=e.closest(r),o=(r.addClass(o),e.attr(n,"true"),r.find(i));(o=o.length?o:$('<div class="giftcard__error-text" />').appendTo(r)).text(t)},clearError:function(e){var t=this.el,n=t.field,r=t.errorText,i=t.fieldError,t=t.ariaInvalidAttr,n=e.closest(n);n.removeClass(i),e.removeAttr(t),n.find(r).remove()},resetPinToggle:function(e){var t=this.el,n=t.pin,r=t.field,i=t.showToggle,o=t.toggleIcon,a=t.iconEye,l=t.iconEyeSlash,s=t.iconSvgEyeSlash,c=t.passwordToggleEvent,u=t.typeAttr,d=t.dataIconAttr,t=t.svg,e=e.find(n).closest(r),r=e.find(n).first(),n=(r.attr(u,"password"),e.find(i).first()),u=n.find(o).first(),e=(u.length&&(u.removeClass("".concat(a," ").concat(l)).addClass(l),u.is(t))&&u.attr(d)&&u.attr(d,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(""),this.clearError(n),this.clearError(r),e.find(t).remove(),this.resetPinToggle(e)},open:function(e){var t=this.el,n=t.toggle,r=t.panel,i=t.hint,o=t.pin,a=t.expandedAttr,t=t.passwordToggleEvent;e.show(),e.find(r).prop("hidden",!1),e.find(n).attr(a,"true").hide(),e.find(i).hide(),e.find(o).trigger(t)},close:function(e){var t=this,n=this.el,r=n.toggle,i=n.panel,o=n.loader,a=n.expandedAttr,l=e.find(r),s=e.find(i),c=e.find(o);(0,d.showLoader)(c),setTimeout(function(){(0,d.hideLoader)(c),s.prop("hidden",!0),l.attr(a,"false").show().trigger("focus"),t.updateHintVisibility(e)},1e3)},showSubmitSpinner:function(e){var t=this,n=this.el,r=n.loader,i=n.panel,o=n.toggle,a=n.hint,l=n.expandedAttr,s=e.find(r);(0,d.showLoader)(s),setTimeout(function(){(0,d.hideLoader)(s),e.find(i).prop("hidden",!0),e.find(o).attr(l,"false").show().trigger("focus"),e.find(a).show(),t.showSuccess(e)},1e3)},handleNumberInput:function(e){var t=this.el,n=t.field,t=t.fieldError,e=e.currentTarget,r=$(e),i=e.selectionStart===e.value.length,n=r.closest(n).hasClass(t);e.value=(0,f.formatGc16)(e.value),n&&this.clearError(r),i&&e.setSelectionRange(e.value.length,e.value.length)},handleNumberKeypress:function(e){/\d/.test(String.fromCharCode(e.which||e.keyCode))||e.preventDefault()},handleNumberBlur:function(e){var e=$(e.currentTarget),t=String(e.val()||"").replace(/\D/g,"").length;this.clearError(e),t<16&&this.showError(e,this.messages.numberMessage)},handlePinInput:function(e){var t=this.el,n=t.field,t=t.fieldError,e=e.currentTarget,r=$(e),n=r.closest(n).hasClass(t);e.value=String(e.value||"").replace(/\D/g,"").slice(0,8),n&&this.clearError(r)},handlePinKeypress:function(e){/\d/.test(String.fromCharCode(e.which||e.keyCode))||e.preventDefault()},handlePinBlur:function(e){var e=$(e.currentTarget),t=String(e.val()||"").replace(/\D/g,"").length;this.clearError(e),t<8&&this.showError(e,this.messages.pinMessage)},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,o=n.hint,a=n.expandedAttr,n=n.chipList,i=(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(a,"false").show(),e.find(o).show(),this.lastChipData&&(t=this.ensureSummaryContainer(e),r=this.renderChipHTML(this.lastChipData),t.find(n).append(r),t.show(),this.lastChipData=null,this.updateCtaButton(e)),s.CheckoutData.successGiftCardData);(0,l.updateOrderSummary)(i,this.getEqualMapForGiftCardUpdate(i),!0),this.updateHintVisibility(e),this.updateCtaButton(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)},isValid:function(e){var t=this.el,n=t.number,t=t.pin,n=e.find(n),e=e.find(t),t=String(n.val()||"").replace(/\D/g,""),r=String(e.val()||"").replace(/\D/g,""),i=!0;return 16!==t.length&&(this.showError(n,this.messages.numberMessage),i=!1),8!==r.length&&(this.showError(e,this.messages.pinMessage),i=!1),i},handleFormSubmit:function(e){var t=this.el,n=t.number,t=t.block,e=(e.preventDefault(),$(e.currentTarget).closest(t)),t=e.find(n);t.val((0,f.formatGc16)(t.val())),this.isValid(e)&&(this.lastChipData=(0,f.buildChipData)(e,n),this.resetForm(e),this.showSubmitSpinner(e))},updateHintVisibility:function(e){var t=this.el,n=t.chipList,r=t.giftcardRow,i=t.hint,o=t.panel,a=t.toggle,l=t.iconInfo,s=t.expandedAttr,c=t.summaryHint,u=t.chip,d=t.block,t=t.body,e=e.closest(r),r=e.find(d).first(),d=e.find("".concat(n," ").concat(u)).length,e=this.maxChips||3,n=(this.toggleAltPayments(r,0===d),this.ensureSummaryContainer(r));0===d?(n.hide(),r.show(),this.resetForm(r),r.find(o).prop("hidden",!0),r.find(a).attr(s,"false").show(),r.find(i).show(),this.updateCtaButton(r)):(n.show(),r.hide(),r.find(i).hide(),u=(0,f.buildHintContext)(d,e),o=p(u),a=n.find(c).first(),s=$(o),a.length?a.replaceWith(s):n.append(s),$.fn.tooltip&&s.find(l).tooltip({container:t}))},renderChipHTML:function(e){var t=e.id,n=e.last5,r=e.currency,e=e.amount;return o({id:t,last5:n,currency:r,amount:e})},toggleAltPayments:function(e,t){var n=this.el,r=n.paymentForm,i=n.billieField,o=n.clearpayField,a=n.appleField,l=n.googleField,s=n.paypalField,c=n.checkoutContainer,u=n.formRow,d=e.closest(c).find(r);[i,o,a,l,s].forEach(function(e){e=d.find(e).closest(u);e.length&&e[t?"show":"hide"]()})},handleAddAnotherClick:function(e){e.preventDefault();var t,n=this.el,r=n.giftcardRow,i=n.chipList,o=n.chip,a=n.block,l=n.number,n=n.summaryHint,e=$(e.currentTarget).closest(r);e.find("".concat(i," ").concat(o)).length>=this.maxChips||(t=e.find(a).first(),this.resetForm(t),this.open(t),e.find(n).hide(),setTimeout(function(){t.find(l).trigger("focus")},0))},handleChipCloseClick:function(e){var t=this,n=(e.preventDefault(),this.el),r=n.chip,i=n.giftcardRow,o=n.block,a=n.giftcardChipClose,n=n.chipListLoader,l=$(e.currentTarget).closest(r),s=l.closest(i),c=s.find(o).first(),u=this.ensureSummaryContainer(c).find(n);(0,d.showLoader)(u),s.find(a).css("pointer-events","none").attr("aria-disabled","true"),setTimeout(function(){l.remove(),(0,d.hideLoader)(u),s.find(a).css("pointer-events","").removeAttr("aria-disabled"),t.updateHintVisibility(c)},1e3)},getEqualMapForGiftCardUpdate:function(e){return(0,f.buildSummaryEqualMap)(e)},ensureSummaryContainer:function(e){var t=this.el,n=t.chipList,r=t.summary,i=t.giftcardRow,t=t.loaderChip,e=e.closest(i),i=e.find(r).first(),r=(i.length||(i=$('\n <div class="giftcard-summary" style="display:none">\n <div class="giftcard-chip-list"></div>\n <p class="giftcard-summary__hint"></p>\n </div>\n '),e.append(i)),i.find(n));return r.children(t).length||(e=a({hidden:!0}),r.append(e)),i},updateCtaButton:function(e){var t=this.el,n=t.chip,r=t.ctaSelector,i=t.btnDetails,o=t.btnText,t=t.giftcardRow,e=0<e.closest(t).find(n).length,t=$(r).closest(i);t.length&&(t.find(o).text(e?this.messages.ctaGiftcardText:this.messages.ctaDefaultText),t.attr("data-mode",e?"giftcards":"card"))},getPageLoader:function(){var e=$(this.el.pageLoader);return e.parent().is("body")||e.appendTo("body"),e},showPageLoader:function(){var e=this.getPageLoader();(0,d.showLoader)(e)},bindIframePaypageLoader:function(){var e=this.el,t=e.iframe,r=e.payBtnSelector,i=this;$(t).off("load.giftcard").on("load.giftcard",function(e){var e=e.currentTarget;try{var t,n=e.contentDocument||(null==(t=e.contentWindow)?void 0:t.document)}catch(e){return}n&&((e=$(n)).off(".giftcard"),e.on("click.giftcard",r,function(){return i.showPageLoader()}).on("submit.giftcard","form",function(){return i.showPageLoader()}))})},bindCtaGiftcardLoader:function(){var e=this;$(document).on("click.giftcard",this.el.btnEnterDetails,function(){"giftcards"===$(this).attr("data-mode")&&e.showPageLoader()})},bindEvents:function(){var e=this.el,t=e.number,n=e.pin,r=e.toggle,i=e.closeBtn,o=e.giftcardBtn,a=e.jsGiftcardAdd,e=e.giftcardChipClose;$(document).off(".giftcard"),$(document).on("input.giftcard",t,this.handleNumberInput.bind(this)).on("keypress.giftcard",t,this.handleNumberKeypress.bind(this)).on("blur.giftcard",t,this.handleNumberBlur.bind(this)),$(document).on("input.giftcard",n,this.handlePinInput.bind(this)).on("keypress.giftcard",n,this.handlePinKeypress.bind(this)).on("blur.giftcard",n,this.handlePinBlur.bind(this)),$(document).on("click.giftcard",r,this.handleToggleClick.bind(this)).on("click.giftcard",i,this.handleCloseClick.bind(this)).on("click.giftcard",o,this.handleFormSubmit.bind(this)).on("click.giftcard",a,this.handleAddAnotherClick.bind(this)).on("click.giftcard",e,this.handleChipCloseClick.bind(this)),this.bindIframePaypageLoader(),this.bindCtaGiftcardLoader()},init:function(){var e=this.el,n=e.field,r=e.pin,e=e.$blocks;this.bindEvents(),e.each(function(e,t){t=$(t).find(r).closest(n);t.length&&(0,i.initializeInputToggle)(t)})}},$(function(){s.GiftCard.init()})},{"../../../components/gift-cards-hint.hbs":24,"../../../components/giftcard-chip.hbs":25,"../../../components/info-icon.hbs":26,"../../../elements/loader.hbs":27,"../utils/gift-cards-utils":31,"../utils/loader":32,"../utils/show-hide-input":33,"./order-summary":30,"hbsfy/runtime":23}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.updateOrderSummary=function(e,t,n){t.forEach(function(e){$(e.item).length?$(e.item).show():$(i.checkoutWidgetDetailsDiscount).length?$(i.checkoutWidgetDetailsDiscount).before(o(e)):$(i.checkoutWidgetDetails).append(o(e)),$(e.item).find(e.itemValue).text(e.dataValue),(n||e.value)&&e.dataValue?$(e.item).find(e.itemValue).show():$(e.item).hide()});t=(null==(t=e.totalPrice)?void 0:t.formattedValue)||e.total;(0,r.updateDiscount)(e,n),function(e,t){$(i.delivery).show(),$(i.cc).show(),t?e.deliveryOrder?e.clickAndCollectOrder||$(i.cc).hide():$(i.delivery).hide():e.clickAndCollectOnly?$(i.delivery).hide():0<e.deliveryItemsQuantity&&0===e.pickupItemsQuantity&&$(i.cc).hide()}(e,n),function(n){i.$summarySection.each(function(){var e=$(this).find(i.itemFree),t=$(this).find(i.itemDeficit);e.length&&e.remove(),t.length&&t.remove(),n.clickAndCollectOnly||(n.freeDelivery&&n.messageForFreeDelivery?($(this).find(i.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(i.summaryDelivery).hide()):!n.freeDelivery&&n.messageForFreeDelivery&&$(this).find(i.summaryDelivery).before(function(){return'\n <div class="checkout-widget__item checkout-widget__item-deficit">\n '.concat(n.messageForFreeDelivery,"\n </div>\n ")}))})}(e),function(e){$(i.summaryMobileTotal).text(e)}(t)};var r=e("./discounts"),i={$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 o(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":28}],31:[function(e,t,n){"use strict";function o(e){return(o="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 a(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 r(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}Object.defineProperty(n,"__esModule",{value:!0}),n.buildChipData=function(e,t){var t=String(e.find(t).val()||"").replace(/\D/g,"").slice(-5),n="giftcard_".concat(Date.now()),e=e.closest(".giftcard"),r=e.data("currency")||"£",e=null!=e.data("amount")?e.data("amount"):"100.00";return{id:n,last5:t,currency:r,amount:e}},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(n){return Object.entries(i).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,o,a,l=[],s=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=o.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&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?r(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)?r(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];return function(r){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?a(Object(i),!0).forEach(function(e){var t,n;t=r,n=i[e=e],(e=function(e){e=function(e,t){if("object"!==o(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"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===o(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))})}return r}({item:e.item,itemValue:e.value,dataValue:n[t]},e.title?{title:e.title}:{})})},n.formatGc16=function(e){return String(e||"").replace(/\D/g,"").slice(0,16).replace(/(\d{4})(?=\d)/g,"$1-")};var i={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"},total:{item:".checkout-widget__total",value:".checkout-widget__total-value"},giftCardApplied:{item:".checkout-widget__gift-card",value:".checkout-widget__total-value",title:"Gift Card:"}}},{}],32:[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){$(a(e)).addClass(o)},n.showLoader=function(e){$(a(e)).removeClass(o)};var r=(n=e("../../../elements/loader.hbs"))&&n.__esModule?n:{default:n};var i=".loader-wrapper",o="d-none";function a(e){return e||i}},{"../../../elements/loader.hbs":27}],33:[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())}},{}]},{},[29]);