- mocked_description -
- -Define the installment options for the official Adyen Oracle Commerce Cloud payments plugin
-Create a new set of payment installment options
- -Your installment options code
- -
+
+
+
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+ |
+ + + | +
+
+
+
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+ |
+ + + | +
\").concat(description, \"
\") : liContents;\n}\nfunction getImagePath(_ref3) {\n var isStored = _ref3.isStored,\n paymentMethod = _ref3.paymentMethod,\n path = _ref3.path,\n isSchemeNotStored = _ref3.isSchemeNotStored;\n var paymentMethodImage = \"\".concat(path).concat(getImage(isStored, paymentMethod), \".png\");\n var cardImage = \"\".concat(path, \"card.png\");\n return isSchemeNotStored ? cardImage : paymentMethodImage;\n}\nfunction setValid(_ref4) {\n var isStored = _ref4.isStored,\n paymentMethodID = _ref4.paymentMethodID;\n if (isStored && ['bcmc', 'scheme'].indexOf(paymentMethodID) > -1) {\n store.componentsObj[paymentMethodID].isValid = true;\n }\n}\nfunction configureContainer(_ref5) {\n var paymentMethodID = _ref5.paymentMethodID,\n container = _ref5.container;\n container.classList.add('additionalFields');\n container.setAttribute('id', \"component_\".concat(paymentMethodID));\n container.setAttribute('style', 'display:none');\n}\nfunction handleInput(_ref6) {\n var paymentMethodID = _ref6.paymentMethodID;\n var input = document.querySelector(\"#rb_\".concat(paymentMethodID));\n input.onchange = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n helpers.displaySelectedMethod(event.target.value);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n}\nfunction createListItem(rerender, paymentMethodID, liContents) {\n var li;\n if (rerender) {\n li = document.querySelector(\"#rb_\".concat(paymentMethodID)).closest('li');\n } else {\n li = document.createElement('li');\n li.innerHTML = liContents;\n li.classList.add('paymentMethod');\n }\n return li;\n}\nfunction checkIfNodeIsAvailable(_x2) {\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction _checkIfNodeIsAvailable() {\n _checkIfNodeIsAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {\n var isNodeAvailable;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!node.isAvailable) {\n _context3.next = 6;\n break;\n }\n _context3.next = 3;\n return node.isAvailable();\n case 3:\n isNodeAvailable = _context3.sent;\n if (isNodeAvailable) {\n _context3.next = 6;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 6:\n return _context3.abrupt(\"return\", true);\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction appendNodeToContainerIfAvailable(_x3, _x4, _x5, _x6) {\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nfunction _appendNodeToContainerIfAvailable() {\n _appendNodeToContainerIfAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(paymentMethodsUI, li, node, container) {\n var canBeMounted;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!node) {\n _context4.next = 5;\n break;\n }\n _context4.next = 3;\n return checkIfNodeIsAvailable(node);\n case 3:\n canBeMounted = _context4.sent;\n if (canBeMounted) {\n paymentMethodsUI.append(li);\n node.mount(container);\n }\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nmodule.exports.renderPaymentMethod = /*#__PURE__*/function () {\n var _renderPaymentMethod = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(paymentMethod, isStored, path) {\n var description,\n rerender,\n _store$componentsObj$,\n paymentMethodsUI,\n paymentMethodID,\n isSchemeNotStored,\n container,\n options,\n imagePath,\n liContents,\n li,\n _args2 = arguments;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n description = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;\n rerender = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : false;\n _context2.prev = 2;\n paymentMethodsUI = document.querySelector('#paymentMethodsList');\n paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n if (!(paymentMethodID === constants.GIFTCARD)) {\n _context2.next = 7;\n break;\n }\n return _context2.abrupt(\"return\");\n case 7:\n isSchemeNotStored = paymentMethod.type === 'scheme' && !isStored;\n container = document.createElement('div');\n options = {\n container: container,\n paymentMethod: paymentMethod,\n isStored: isStored,\n path: path,\n description: description,\n paymentMethodID: paymentMethodID,\n isSchemeNotStored: isSchemeNotStored\n };\n imagePath = getImagePath(options);\n liContents = getListContents(_objectSpread(_objectSpread({}, options), {}, {\n imagePath: imagePath,\n description: description\n }));\n li = createListItem(rerender, paymentMethodID, liContents);\n handlePayment(options);\n configureContainer(options);\n li.append(container);\n _context2.next = 18;\n return appendNodeToContainerIfAvailable(paymentMethodsUI, li, (_store$componentsObj$ = store.componentsObj[paymentMethodID]) === null || _store$componentsObj$ === void 0 ? void 0 : _store$componentsObj$.node, container);\n case 18:\n if (paymentMethodID === constants.GIROPAY) {\n container.innerHTML = '';\n }\n handleInput(options);\n setValid(options);\n _context2.next = 25;\n break;\n case 23:\n _context2.prev = 23;\n _context2.t0 = _context2[\"catch\"](2);\n case 25:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[2, 23]]);\n }));\n function renderPaymentMethod(_x7, _x8, _x9) {\n return _renderPaymentMethod.apply(this, arguments);\n }\n return renderPaymentMethod;\n}();\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js?"); +eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nfunction getFallback(paymentMethod) {\n var fallback = {};\n if (fallback[paymentMethod.type]) {\n store.componentsObj[paymentMethod.type] = {};\n }\n return fallback[paymentMethod.type];\n}\nfunction getPersonalDetails() {\n var _document$querySelect, _document$querySelect2, _document$querySelect3, _document$querySelect4;\n return {\n firstName: (_document$querySelect = document.querySelector('#shippingFirstNamedefault')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.value,\n lastName: (_document$querySelect2 = document.querySelector('#shippingLastNamedefault')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.value,\n telephoneNumber: (_document$querySelect3 = document.querySelector('#shippingPhoneNumberdefault')) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.value,\n shopperEmail: (_document$querySelect4 = document.querySelector('.customer-summary-email')) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.textContent\n };\n}\nfunction setNode(paymentMethodID) {\n var createNode = function createNode() {\n if (!store.componentsObj[paymentMethodID]) {\n store.componentsObj[paymentMethodID] = {};\n }\n try {\n var _store$checkout;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // ALl nodes created for the checkout component are enriched with shopper personal details\n var node = (_store$checkout = store.checkout).create.apply(_store$checkout, args.concat([{\n data: _objectSpread(_objectSpread({}, getPersonalDetails()), {}, {\n personalDetails: getPersonalDetails()\n }),\n visibility: {\n personalDetails: 'editable',\n billingAddress: 'hidden',\n deliveryAddress: 'hidden'\n }\n }]));\n store.componentsObj[paymentMethodID].node = node;\n store.componentsObj[paymentMethodID].isValid = node.isValid;\n } catch (e) {\n /* No component for payment method */\n }\n };\n return createNode;\n}\nfunction getPaymentMethodID(isStored, paymentMethod) {\n if (isStored) {\n return \"storedCard\".concat(paymentMethod.id);\n }\n if (paymentMethod.type === constants.GIFTCARD) {\n return constants.GIFTCARD;\n }\n if (paymentMethod.brand) {\n return \"\".concat(paymentMethod.type, \"_\").concat(paymentMethod.brand);\n }\n return paymentMethod.type;\n}\nfunction getImage(isStored, paymentMethod) {\n return isStored ? paymentMethod.brand : paymentMethod.type;\n}\nfunction getLabel(isStored, paymentMethod) {\n var label = isStored ? \" \".concat(store.MASKED_CC_PREFIX).concat(paymentMethod.lastFour) : '';\n return \"\".concat(paymentMethod.name).concat(label);\n}\nfunction handleFallbackPayment(_ref) {\n var paymentMethod = _ref.paymentMethod,\n container = _ref.container,\n paymentMethodID = _ref.paymentMethodID;\n var fallback = getFallback(paymentMethod);\n var createTemplate = function createTemplate() {\n var template = document.createElement('template');\n template.innerHTML = fallback;\n container.append(template.content);\n };\n return fallback ? createTemplate() : setNode(paymentMethod.type)(paymentMethodID);\n}\nfunction handlePayment(options) {\n return options.isStored ? setNode(options.paymentMethodID)('card', options.paymentMethod) : handleFallbackPayment(options);\n}\nfunction getListContents(_ref2) {\n var imagePath = _ref2.imagePath,\n isStored = _ref2.isStored,\n paymentMethod = _ref2.paymentMethod,\n description = _ref2.description;\n var paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n var label = getLabel(isStored, paymentMethod);\n var liContents = \"\\n \\n \\n \\n \");\n return description ? \"\".concat(liContents, \"\").concat(description, \"
\") : liContents;\n}\nfunction getImagePath(_ref3) {\n var isStored = _ref3.isStored,\n paymentMethod = _ref3.paymentMethod,\n path = _ref3.path,\n isSchemeNotStored = _ref3.isSchemeNotStored;\n var paymentMethodImage = \"\".concat(path).concat(getImage(isStored, paymentMethod), \".png\");\n var cardImage = \"\".concat(path, \"card.png\");\n return isSchemeNotStored ? cardImage : paymentMethodImage;\n}\nfunction setValid(_ref4) {\n var isStored = _ref4.isStored,\n paymentMethodID = _ref4.paymentMethodID;\n if (isStored && ['bcmc', 'scheme'].indexOf(paymentMethodID) > -1) {\n store.componentsObj[paymentMethodID].isValid = true;\n }\n}\nfunction configureContainer(_ref5) {\n var paymentMethodID = _ref5.paymentMethodID,\n container = _ref5.container;\n container.classList.add('additionalFields');\n container.setAttribute('id', \"component_\".concat(paymentMethodID));\n container.setAttribute('style', 'display:none');\n}\nfunction handleInput(_ref6) {\n var paymentMethodID = _ref6.paymentMethodID;\n var input = document.querySelector(\"#rb_\".concat(paymentMethodID));\n input.onchange = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n helpers.displaySelectedMethod(event.target.value);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n}\nfunction createListItem(rerender, paymentMethodID, liContents) {\n var li;\n if (rerender) {\n li = document.querySelector(\"#rb_\".concat(paymentMethodID)).closest('li');\n } else {\n li = document.createElement('li');\n li.innerHTML = liContents;\n li.classList.add('paymentMethod');\n }\n return li;\n}\nfunction checkIfNodeIsAvailable(_x2) {\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction _checkIfNodeIsAvailable() {\n _checkIfNodeIsAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {\n var isNodeAvailable;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!node.isAvailable) {\n _context3.next = 6;\n break;\n }\n _context3.next = 3;\n return node.isAvailable();\n case 3:\n isNodeAvailable = _context3.sent;\n if (isNodeAvailable) {\n _context3.next = 6;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 6:\n return _context3.abrupt(\"return\", true);\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction appendNodeToContainerIfAvailable(_x3, _x4, _x5, _x6) {\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nfunction _appendNodeToContainerIfAvailable() {\n _appendNodeToContainerIfAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(paymentMethodsUI, li, node, container) {\n var canBeMounted;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!node) {\n _context4.next = 5;\n break;\n }\n _context4.next = 3;\n return checkIfNodeIsAvailable(node);\n case 3:\n canBeMounted = _context4.sent;\n if (canBeMounted) {\n paymentMethodsUI.append(li);\n node.mount(container);\n }\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nmodule.exports.renderPaymentMethod = /*#__PURE__*/function () {\n var _renderPaymentMethod = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(paymentMethod, isStored, path) {\n var description,\n rerender,\n canRender,\n _store$componentsObj$,\n paymentMethodsUI,\n paymentMethodID,\n isSchemeNotStored,\n container,\n options,\n imagePath,\n liContents,\n li,\n _args2 = arguments;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n description = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;\n rerender = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : false;\n _context2.prev = 2;\n paymentMethodsUI = document.querySelector('#paymentMethodsList');\n paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n if (!(paymentMethodID === constants.GIFTCARD)) {\n _context2.next = 7;\n break;\n }\n return _context2.abrupt(\"return\");\n case 7:\n isSchemeNotStored = paymentMethod.type === 'scheme' && !isStored;\n container = document.createElement('div');\n options = {\n container: container,\n paymentMethod: paymentMethod,\n isStored: isStored,\n path: path,\n description: description,\n paymentMethodID: paymentMethodID,\n isSchemeNotStored: isSchemeNotStored\n };\n imagePath = getImagePath(options);\n liContents = getListContents(_objectSpread(_objectSpread({}, options), {}, {\n imagePath: imagePath,\n description: description\n }));\n li = createListItem(rerender, paymentMethodID, liContents);\n handlePayment(options);\n configureContainer(options);\n li.append(container);\n _context2.next = 18;\n return appendNodeToContainerIfAvailable(paymentMethodsUI, li, (_store$componentsObj$ = store.componentsObj[paymentMethodID]) === null || _store$componentsObj$ === void 0 ? void 0 : _store$componentsObj$.node, container);\n case 18:\n if (paymentMethodID === constants.GIROPAY) {\n container.innerHTML = '';\n }\n handleInput(options);\n setValid(options);\n canRender = true;\n _context2.next = 27;\n break;\n case 24:\n _context2.prev = 24;\n _context2.t0 = _context2[\"catch\"](2);\n // method not available\n canRender = false;\n case 27:\n return _context2.abrupt(\"return\", canRender);\n case 28:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[2, 24]]);\n }));\n function renderPaymentMethod(_x7, _x8, _x9) {\n return _renderPaymentMethod.apply(this, arguments);\n }\n return renderPaymentMethod;\n}();\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js?"); /***/ }), diff --git a/cartridges/int_adyen_SFRA/cartridge/static/default/js/amazonPayExpressPart2.js b/cartridges/int_adyen_SFRA/cartridge/static/default/js/amazonPayExpressPart2.js index 722e99c3d..c7100824a 100644 --- a/cartridges/int_adyen_SFRA/cartridge/static/default/js/amazonPayExpressPart2.js +++ b/cartridges/int_adyen_SFRA/cartridge/static/default/js/amazonPayExpressPart2.js @@ -94,7 +94,7 @@ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction saveShopperDetails(details) {\n $.ajax({\n url: window.saveShopperDetailsURL,\n type: 'post',\n data: {\n shopperDetails: JSON.stringify(details),\n paymentMethod: 'amazonpay'\n },\n success: function success(data) {\n var select = document.querySelector('#shippingMethods');\n select.innerHTML = '';\n data.shippingMethods.forEach(function (shippingMethod) {\n var option = document.createElement('option');\n option.setAttribute('data-shipping-id', shippingMethod.ID);\n option.innerText = \"\".concat(shippingMethod.displayName, \" (\").concat(shippingMethod.estimatedArrivalTime, \")\");\n select.appendChild(option);\n });\n select.options[0].selected = true;\n select.dispatchEvent(new Event('change'));\n }\n });\n}\nfunction constructAddress(shopperDetails) {\n var addressKeys = Object.keys(shopperDetails.shippingAddress);\n var addressValues = Object.values(shopperDetails.shippingAddress);\n var addressStr = \"\".concat(shopperDetails.shippingAddress.name, \"\\n\");\n for (var i = 0; i < addressKeys.length; i += 1) {\n if (addressValues[i] && addressKeys[i] !== 'name') {\n addressStr += \"\".concat(addressValues[i], \" \");\n }\n }\n return addressStr;\n}\nfunction positionElementBefore(elm) {\n var addressDetails = document.querySelector('#amazonPayAddressDetails');\n var containerNode = addressDetails.parentNode.parentNode.parentNode;\n containerNode.insertBefore(addressDetails, document.querySelector(elm));\n}\nfunction wrapChangeAddressButton() {\n // hide component button and use custom \"Edit\" buttons instead\n var changeDetailsBtn = document.getElementsByClassName('adyen-checkout__button adyen-checkout__button--ghost adyen-checkout__amazonpay__button--changeAddress')[0];\n changeDetailsBtn.classList.add('invisible');\n var editAddressBtns = document.querySelectorAll('.editAddressBtn');\n editAddressBtns.forEach(function (btn) {\n btn.addEventListener('click', function () {\n changeDetailsBtn.click();\n });\n });\n}\nfunction showAddressDetails(shopperDetails) {\n var addressText = constructAddress(shopperDetails);\n var addressElement = document.querySelector('#address');\n var paymentDiscriptorElement = document.querySelector('#paymentStr');\n addressElement.innerText = addressText;\n paymentDiscriptorElement.innerText = shopperDetails.paymentDescriptor;\n positionElementBefore('.coupons-and-promos');\n wrapChangeAddressButton();\n var payBtn = document.getElementsByClassName('adyen-checkout__button adyen-checkout__button--standalone adyen-checkout__button--pay')[0];\n payBtn.style.background = '#00a1e0';\n}\nfunction mountAmazonPayComponent() {\n return _mountAmazonPayComponent.apply(this, arguments);\n}\nfunction _mountAmazonPayComponent() {\n _mountAmazonPayComponent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var amazonPayNode, checkout, amazonConfig, amazonPayComponent, shopperDetails;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n amazonPayNode = document.getElementById('amazon-container');\n _context.next = 3;\n return AdyenCheckout(window.Configuration);\n case 3:\n checkout = _context.sent;\n _context.prev = 4;\n amazonConfig = {\n showOrderButton: true,\n returnUrl: window.returnUrl,\n showChangePaymentDetailsButton: true,\n amount: JSON.parse(window.basketAmount),\n amazonCheckoutSessionId: window.amazonCheckoutSessionId\n };\n amazonPayComponent = checkout.create('amazonpay', amazonConfig).mount(amazonPayNode);\n _context.next = 9;\n return amazonPayComponent.getShopperDetails();\n case 9:\n shopperDetails = _context.sent;\n saveShopperDetails(shopperDetails);\n showAddressDetails(shopperDetails);\n _context.next = 16;\n break;\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](4);\n case 16:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 14]]);\n }));\n return _mountAmazonPayComponent.apply(this, arguments);\n}\nmountAmazonPayComponent();\nmodule.exports = saveShopperDetails;\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/amazonPayExpressPart2.js?"); +eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction saveShopperDetails(details) {\n $.ajax({\n url: window.saveShopperDetailsURL,\n type: 'post',\n data: {\n shopperDetails: JSON.stringify(details),\n paymentMethod: 'amazonpay'\n },\n success: function success(data) {\n var select = document.querySelector('#shippingMethods');\n select.innerHTML = '';\n data.shippingMethods.forEach(function (shippingMethod) {\n var option = document.createElement('option');\n option.setAttribute('data-shipping-id', shippingMethod.ID);\n option.innerText = \"\".concat(shippingMethod.displayName, \" (\").concat(shippingMethod.estimatedArrivalTime, \")\");\n select.appendChild(option);\n });\n select.options[0].selected = true;\n select.dispatchEvent(new Event('change'));\n }\n });\n}\nfunction getPaymentMethods() {\n return new Promise(function (resolve, reject) {\n $.ajax({\n url: window.getPaymentMethodsURL,\n type: 'get',\n success: function success(data) {\n resolve(data);\n },\n error: function error(_error) {\n reject(_error);\n }\n });\n });\n}\nfunction constructAddress(shopperDetails) {\n var addressKeys = Object.keys(shopperDetails.shippingAddress);\n var addressValues = Object.values(shopperDetails.shippingAddress);\n var addressStr = \"\".concat(shopperDetails.shippingAddress.name, \"\\n\");\n for (var i = 0; i < addressKeys.length; i += 1) {\n if (addressValues[i] && addressKeys[i] !== 'name') {\n addressStr += \"\".concat(addressValues[i], \" \");\n }\n }\n return addressStr;\n}\nfunction positionElementBefore(elm) {\n var addressDetails = document.querySelector('#amazonPayAddressDetails');\n var containerNode = addressDetails.parentNode.parentNode.parentNode;\n containerNode.insertBefore(addressDetails, document.querySelector(elm));\n}\nfunction wrapChangeAddressButton() {\n // hide component button and use custom \"Edit\" buttons instead\n var changeDetailsBtn = document.getElementsByClassName('adyen-checkout__button adyen-checkout__button--ghost adyen-checkout__amazonpay__button--changeAddress')[0];\n changeDetailsBtn.classList.add('invisible');\n var editAddressBtns = document.querySelectorAll('.editAddressBtn');\n editAddressBtns.forEach(function (btn) {\n btn.addEventListener('click', function () {\n changeDetailsBtn.click();\n });\n });\n}\nfunction showAddressDetails(shopperDetails) {\n var addressText = constructAddress(shopperDetails);\n var addressElement = document.querySelector('#address');\n var paymentDiscriptorElement = document.querySelector('#paymentStr');\n addressElement.innerText = addressText;\n paymentDiscriptorElement.innerText = shopperDetails.paymentDescriptor;\n positionElementBefore('.coupons-and-promos');\n wrapChangeAddressButton();\n var payBtn = document.getElementsByClassName('adyen-checkout__button adyen-checkout__button--standalone adyen-checkout__button--pay')[0];\n payBtn.style.background = '#00a1e0';\n}\nfunction mountAmazonPayComponent() {\n return _mountAmazonPayComponent.apply(this, arguments);\n}\nfunction _mountAmazonPayComponent() {\n _mountAmazonPayComponent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var amazonPayNode, checkout, _paymentMethodsRespon, data, paymentMethodsResponse, amazonPayConfig, amazonConfig, amazonPayComponent, shopperDetails;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n amazonPayNode = document.getElementById('amazon-container');\n _context.next = 3;\n return AdyenCheckout(window.Configuration);\n case 3:\n checkout = _context.sent;\n _context.prev = 4;\n _context.next = 7;\n return getPaymentMethods();\n case 7:\n data = _context.sent;\n paymentMethodsResponse = data.AdyenPaymentMethods;\n amazonPayConfig = (_paymentMethodsRespon = paymentMethodsResponse.find(function (pm) {\n return pm.type === 'amazonpay';\n })) === null || _paymentMethodsRespon === void 0 ? void 0 : _paymentMethodsRespon.configuration;\n if (amazonPayConfig) {\n _context.next = 12;\n break;\n }\n return _context.abrupt(\"return\");\n case 12:\n amazonConfig = {\n showOrderButton: true,\n configuration: {\n merchantId: amazonPayConfig.merchantId,\n storeId: amazonPayConfig.storeId,\n region: amazonPayConfig.region,\n publicKeyId: amazonPayConfig.publicKeyId\n },\n returnUrl: window.returnUrl,\n showChangePaymentDetailsButton: true,\n amount: JSON.parse(window.basketAmount),\n amazonCheckoutSessionId: window.amazonCheckoutSessionId\n };\n amazonPayComponent = checkout.create('amazonpay', amazonConfig).mount(amazonPayNode);\n _context.next = 16;\n return amazonPayComponent.getShopperDetails();\n case 16:\n shopperDetails = _context.sent;\n saveShopperDetails(shopperDetails);\n showAddressDetails(shopperDetails);\n _context.next = 23;\n break;\n case 21:\n _context.prev = 21;\n _context.t0 = _context[\"catch\"](4);\n case 23:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 21]]);\n }));\n return _mountAmazonPayComponent.apply(this, arguments);\n}\nmountAmazonPayComponent();\nmodule.exports = saveShopperDetails;\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/amazonPayExpressPart2.js?"); /***/ }) diff --git a/cartridges/int_adyen_SFRA/cartridge/static/default/js/checkout.js b/cartridges/int_adyen_SFRA/cartridge/static/default/js/checkout.js index f35686395..538abe8d9 100644 --- a/cartridges/int_adyen_SFRA/cartridge/static/default/js/checkout.js +++ b/cartridges/int_adyen_SFRA/cartridge/static/default/js/checkout.js @@ -238,7 +238,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(f /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nvar store = __webpack_require__(/*! ../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar _require = __webpack_require__(/*! ./adyen_checkout/renderGenericComponent */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js\"),\n renderGenericComponent = _require.renderGenericComponent;\nvar _require2 = __webpack_require__(/*! ./adyen_checkout/checkoutConfiguration */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js\"),\n setCheckoutConfiguration = _require2.setCheckoutConfiguration,\n actionHandler = _require2.actionHandler;\nvar _require3 = __webpack_require__(/*! ./adyen_checkout/helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\"),\n assignPaymentMethodValue = _require3.assignPaymentMethodValue,\n showValidation = _require3.showValidation,\n paymentFromComponent = _require3.paymentFromComponent;\nvar _require4 = __webpack_require__(/*! ./adyen_checkout/validateComponents */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/validateComponents.js\"),\n validateComponents = _require4.validateComponents;\n$('#dwfrm_billing').submit(function apiRequest(e) {\n e.preventDefault();\n var form = $(this);\n var url = form.attr('action');\n $.ajax({\n type: 'POST',\n url: url,\n data: form.serialize(),\n async: false,\n success: function success(data) {\n store.formErrorsExist = 'fieldErrors' in data;\n }\n });\n});\nsetCheckoutConfiguration();\nif (window.cardholderNameBool !== 'null') {\n store.checkoutConfiguration.paymentMethodsConfiguration.card.hasHolderName = true;\n store.checkoutConfiguration.paymentMethodsConfiguration.card.holderNameRequired = true;\n}\nif (window.googleMerchantID !== 'null' && window.Configuration.environment === 'live') {\n var id = 'merchantId';\n store.checkoutConfiguration.paymentMethodsConfiguration.paywithgoogle.configuration[id] = window.googleMerchantID;\n store.checkoutConfiguration.paymentMethodsConfiguration.googlepay.configuration[id] = window.googleMerchantID;\n}\n\n// Submit the payment\n$('button[value=\"submit-payment\"]').on('click', function () {\n if (store.paypalTerminatedEarly) {\n paymentFromComponent({\n cancelTransaction: true,\n merchantReference: document.querySelector('#merchantReference').value\n });\n store.paypalTerminatedEarly = false;\n }\n if (document.querySelector('#selectedPaymentOption').value === 'AdyenPOS') {\n document.querySelector('#terminalId').value = document.querySelector('#terminalList').value;\n }\n if (document.querySelector('#selectedPaymentOption').value === 'AdyenComponent' || document.querySelector('#selectedPaymentOption').value === 'CREDIT_CARD') {\n assignPaymentMethodValue();\n validateComponents();\n return showValidation();\n }\n return true;\n});\nmodule.exports = {\n renderGenericComponent: renderGenericComponent,\n actionHandler: actionHandler\n};\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyenCheckout.js?"); +eval("\n\nvar store = __webpack_require__(/*! ../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar _require = __webpack_require__(/*! ./adyen_checkout/renderGenericComponent */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js\"),\n renderGenericComponent = _require.renderGenericComponent;\nvar _require2 = __webpack_require__(/*! ./adyen_checkout/checkoutConfiguration */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js\"),\n setCheckoutConfiguration = _require2.setCheckoutConfiguration,\n actionHandler = _require2.actionHandler;\nvar _require3 = __webpack_require__(/*! ./adyen_checkout/helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\"),\n assignPaymentMethodValue = _require3.assignPaymentMethodValue,\n showValidation = _require3.showValidation,\n paymentFromComponent = _require3.paymentFromComponent;\nvar _require4 = __webpack_require__(/*! ./adyen_checkout/validateComponents */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/validateComponents.js\"),\n validateComponents = _require4.validateComponents;\n$('#dwfrm_billing').submit(function apiRequest(e) {\n e.preventDefault();\n var form = $(this);\n var url = form.attr('action');\n $.ajax({\n type: 'POST',\n url: url,\n data: form.serialize(),\n async: false,\n success: function success(data) {\n store.formErrorsExist = 'fieldErrors' in data;\n }\n });\n});\nsetCheckoutConfiguration();\nif (window.cardholderNameBool !== 'null') {\n store.checkoutConfiguration.paymentMethodsConfiguration.card.hasHolderName = true;\n store.checkoutConfiguration.paymentMethodsConfiguration.card.holderNameRequired = true;\n}\nif (window.googleMerchantID !== 'null' && window.Configuration.environment.includes('live')) {\n var id = 'merchantId';\n store.checkoutConfiguration.paymentMethodsConfiguration.paywithgoogle.configuration[id] = window.googleMerchantID;\n store.checkoutConfiguration.paymentMethodsConfiguration.googlepay.configuration[id] = window.googleMerchantID;\n}\n\n// Submit the payment\n$('button[value=\"submit-payment\"]').on('click', function () {\n if (store.paypalTerminatedEarly) {\n paymentFromComponent({\n cancelTransaction: true,\n merchantReference: document.querySelector('#merchantReference').value\n });\n store.paypalTerminatedEarly = false;\n }\n if (document.querySelector('#selectedPaymentOption').value === 'AdyenPOS') {\n document.querySelector('#terminalId').value = document.querySelector('#terminalList').value;\n }\n if (document.querySelector('#selectedPaymentOption').value === 'AdyenComponent' || document.querySelector('#selectedPaymentOption').value === 'CREDIT_CARD') {\n assignPaymentMethodValue();\n validateComponents();\n return showValidation();\n }\n return true;\n});\nmodule.exports = {\n renderGenericComponent: renderGenericComponent,\n actionHandler: actionHandler\n};\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyenCheckout.js?"); /***/ }), @@ -250,7 +250,7 @@ eval("\n\nvar store = __webpack_require__(/*! ../../../store */ \"./cartridges/i /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar _require = __webpack_require__(/*! ./makePartialPayment */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/makePartialPayment.js\"),\n makePartialPayment = _require.makePartialPayment;\nvar _require2 = __webpack_require__(/*! ../commons */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/commons/index.js\"),\n onBrand = _require2.onBrand,\n onFieldValid = _require2.onFieldValid;\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nvar _require3 = __webpack_require__(/*! ./renderGiftcardComponent */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js\"),\n createElementsToShowRemainingGiftCardAmount = _require3.createElementsToShowRemainingGiftCardAmount,\n renderAddedGiftCard = _require3.renderAddedGiftCard,\n getGiftCardElements = _require3.getGiftCardElements,\n showGiftCardInfoMessage = _require3.showGiftCardInfoMessage,\n showGiftCardCancelButton = _require3.showGiftCardCancelButton,\n attachGiftCardCancelListener = _require3.attachGiftCardCancelListener;\nfunction getCardConfig() {\n return {\n enableStoreDetails: window.showStoreDetails,\n showBrandsUnderCardNumber: false,\n clickToPayConfiguration: {\n shopperEmail: window.customerEmail,\n merchantDisplayName: window.merchantAccount\n },\n onChange: function onChange(state) {\n store.isValid = state.isValid;\n var method = state.data.paymentMethod.storedPaymentMethodId ? \"storedCard\".concat(state.data.paymentMethod.storedPaymentMethodId) : store.selectedMethod;\n store.updateSelectedPayment(method, 'isValid', store.isValid);\n store.updateSelectedPayment(method, 'stateData', state.data);\n },\n onSubmit: function onSubmit() {\n helpers.assignPaymentMethodValue();\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n document.querySelector('button[value=\"submit-payment\"]').click();\n },\n onFieldValid: onFieldValid,\n onBrand: onBrand\n };\n}\nfunction getPaypalConfig() {\n store.paypalTerminatedEarly = false;\n return {\n showPayButton: true,\n environment: window.Configuration.environment,\n onSubmit: function onSubmit(state, component) {\n helpers.assignPaymentMethodValue();\n document.querySelector('#adyenStateData').value = JSON.stringify(store.selectedPayment.stateData);\n helpers.paymentFromComponent(state.data, component);\n },\n onCancel: function onCancel(data, component) {\n store.paypalTerminatedEarly = false;\n helpers.paymentFromComponent({\n cancelTransaction: true,\n merchantReference: document.querySelector('#merchantReference').value,\n orderToken: document.querySelector('#orderToken').value\n }, component);\n },\n onError: function onError(error, component) {\n store.paypalTerminatedEarly = false;\n if (component) {\n component.setStatus('ready');\n }\n document.querySelector('#showConfirmationForm').submit();\n },\n onAdditionalDetails: function onAdditionalDetails(state) {\n store.paypalTerminatedEarly = false;\n document.querySelector('#additionalDetailsHidden').value = JSON.stringify(state.data);\n document.querySelector('#showConfirmationForm').submit();\n },\n onClick: function onClick(data, actions) {\n $('#dwfrm_billing').trigger('submit');\n if (store.formErrorsExist) {\n return actions.reject();\n }\n if (store.paypalTerminatedEarly) {\n helpers.paymentFromComponent({\n cancelTransaction: true,\n merchantReference: document.querySelector('#merchantReference').value\n });\n store.paypalTerminatedEarly = false;\n return actions.resolve();\n }\n store.paypalTerminatedEarly = true;\n return null;\n }\n };\n}\nfunction getGooglePayConfig() {\n return {\n environment: window.Configuration.environment,\n onSubmit: function onSubmit() {\n helpers.assignPaymentMethodValue();\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n document.querySelector('button[value=\"submit-payment\"]').click();\n },\n configuration: {\n gatewayMerchantId: window.merchantAccount\n },\n showPayButton: true,\n buttonColor: 'white'\n };\n}\nfunction handlePartialPaymentSuccess() {\n var _store$addedGiftCards;\n var _getGiftCardElements = getGiftCardElements(),\n giftCardSelectContainer = _getGiftCardElements.giftCardSelectContainer,\n giftCardSelect = _getGiftCardElements.giftCardSelect,\n giftCardsList = _getGiftCardElements.giftCardsList,\n cancelMainPaymentGiftCard = _getGiftCardElements.cancelMainPaymentGiftCard,\n giftCardAddButton = _getGiftCardElements.giftCardAddButton;\n giftCardSelectContainer.classList.add('invisible');\n giftCardSelect.value = null;\n giftCardsList.innerHTML = '';\n cancelMainPaymentGiftCard.addEventListener('click', function () {\n store.componentsObj.giftcard.node.unmount('component_giftcard');\n cancelMainPaymentGiftCard.classList.add('invisible');\n giftCardAddButton.style.display = 'block';\n giftCardSelect.value = 'null';\n });\n if (store.componentsObj.giftcard) {\n store.componentsObj.giftcard.node.unmount('component_giftcard');\n }\n store.addedGiftCards.forEach(function (card) {\n renderAddedGiftCard(card);\n });\n if ((_store$addedGiftCards = store.addedGiftCards) !== null && _store$addedGiftCards !== void 0 && _store$addedGiftCards.length) {\n showGiftCardInfoMessage();\n }\n showGiftCardCancelButton(true);\n attachGiftCardCancelListener();\n createElementsToShowRemainingGiftCardAmount();\n}\nfunction makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject) {\n var brandSelect = document.getElementById('giftCardSelect');\n var selectedBrandIndex = brandSelect.selectedIndex;\n var giftcardBrand = brandSelect.options[selectedBrandIndex].text;\n var partialPaymentRequest = {\n paymentMethod: giftCardData,\n amount: giftcardBalance,\n partialPaymentsOrder: {\n pspReference: store.adyenOrderData.pspReference,\n orderData: store.adyenOrderData.orderData\n },\n giftcardBrand: giftcardBrand\n };\n var partialPaymentResponse = makePartialPayment(partialPaymentRequest);\n if (partialPaymentResponse !== null && partialPaymentResponse !== void 0 && partialPaymentResponse.error) {\n reject();\n } else {\n handlePartialPaymentSuccess();\n }\n}\nfunction getGiftCardConfig() {\n var giftcardBalance;\n return {\n showPayButton: true,\n onChange: function onChange(state) {\n store.updateSelectedPayment(constants.GIFTCARD, 'isValid', state.isValid);\n store.updateSelectedPayment(constants.GIFTCARD, 'stateData', state.data);\n },\n onBalanceCheck: function onBalanceCheck(resolve, reject, requestData) {\n $.ajax({\n type: 'POST',\n url: window.checkBalanceUrl,\n data: JSON.stringify(requestData),\n contentType: 'application/json; charset=utf-8',\n async: false,\n success: function success(data) {\n giftcardBalance = data.balance;\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n if (data.resultCode === constants.SUCCESS) {\n var _getGiftCardElements2 = getGiftCardElements(),\n giftCardsInfoMessageContainer = _getGiftCardElements2.giftCardsInfoMessageContainer,\n giftCardSelect = _getGiftCardElements2.giftCardSelect,\n cancelMainPaymentGiftCard = _getGiftCardElements2.cancelMainPaymentGiftCard,\n giftCardAddButton = _getGiftCardElements2.giftCardAddButton,\n giftCardSelectWrapper = _getGiftCardElements2.giftCardSelectWrapper;\n if (giftCardSelectWrapper) {\n giftCardSelectWrapper.classList.add('invisible');\n }\n var initialPartialObject = _objectSpread({}, store.partialPaymentsOrderObj);\n cancelMainPaymentGiftCard.classList.remove('invisible');\n cancelMainPaymentGiftCard.addEventListener('click', function () {\n store.componentsObj.giftcard.node.unmount('component_giftcard');\n cancelMainPaymentGiftCard.classList.add('invisible');\n giftCardAddButton.style.display = 'block';\n giftCardSelect.value = 'null';\n store.partialPaymentsOrderObj.remainingAmountFormatted = initialPartialObject.remainingAmountFormatted;\n store.partialPaymentsOrderObj.totalDiscountedAmount = initialPartialObject.totalDiscountedAmount;\n });\n document.querySelector('button[value=\"submit-payment\"]').disabled = true;\n giftCardsInfoMessageContainer.innerHTML = '';\n giftCardsInfoMessageContainer.classList.remove('gift-cards-info-message-container');\n store.partialPaymentsOrderObj.remainingAmountFormatted = data.remainingAmountFormatted;\n store.partialPaymentsOrderObj.totalDiscountedAmount = data.totalAmountFormatted;\n resolve(data);\n } else if (data.resultCode === constants.NOTENOUGHBALANCE) {\n resolve(data);\n } else {\n reject();\n }\n },\n fail: function fail() {\n reject();\n }\n });\n },\n onOrderRequest: function onOrderRequest(resolve, reject, requestData) {\n // Make a POST /orders request\n // Create an order for the total transaction amount\n var giftCardData = requestData.paymentMethod;\n if (store.adyenOrderData) {\n makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject);\n } else {\n $.ajax({\n type: 'POST',\n url: window.partialPaymentsOrderUrl,\n data: JSON.stringify(requestData),\n contentType: 'application/json; charset=utf-8',\n async: false,\n success: function success(data) {\n if (data.resultCode === 'Success') {\n store.adyenOrderData = data;\n // make payments call including giftcard data and order data\n makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject);\n }\n }\n });\n }\n },\n onSubmit: function onSubmit(state, component) {\n store.selectedMethod = state.data.paymentMethod.type;\n store.brand = component === null || component === void 0 ? void 0 : component.displayName;\n document.querySelector('input[name=\"brandCode\"]').checked = false;\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n document.querySelector('button[value=\"submit-payment\"]').click();\n }\n };\n}\nfunction handleOnChange(state) {\n store.isValid = state.isValid;\n if (!store.componentsObj[store.selectedMethod]) {\n store.componentsObj[store.selectedMethod] = {};\n }\n store.componentsObj[store.selectedMethod].isValid = store.isValid;\n store.componentsObj[store.selectedMethod].stateData = state.data;\n}\nvar actionHandler = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(action) {\n var checkout;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return AdyenCheckout(store.checkoutConfiguration);\n case 2:\n checkout = _context.sent;\n checkout.createFromAction(action).mount('#action-container');\n $('#action-modal').modal({\n backdrop: 'static',\n keyboard: false\n });\n if (action.type === constants.ACTIONTYPE.QRCODE) {\n document.getElementById('cancelQrMethodsButton').classList.remove('invisible');\n }\n case 6:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function actionHandler(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nfunction handleOnAdditionalDetails(state) {\n $.ajax({\n type: 'POST',\n url: window.paymentsDetailsURL,\n data: JSON.stringify({\n data: state.data,\n orderToken: window.orderToken\n }),\n contentType: 'application/json; charset=utf-8',\n async: false,\n success: function success(data) {\n if (!data.isFinal && _typeof(data.action) === 'object') {\n actionHandler(data.action);\n } else {\n window.location.href = data.redirectUrl;\n }\n }\n });\n}\nfunction getAmazonpayConfig() {\n return {\n showPayButton: true,\n productType: 'PayAndShip',\n checkoutMode: 'ProcessOrder',\n locale: window.Configuration.locale,\n returnUrl: window.returnURL,\n onClick: function onClick(resolve, reject) {\n $('#dwfrm_billing').trigger('submit');\n if (store.formErrorsExist) {\n reject();\n } else {\n helpers.assignPaymentMethodValue();\n resolve();\n }\n },\n onError: function onError() {}\n };\n}\nfunction getApplePayConfig() {\n return {\n showPayButton: true,\n onSubmit: function onSubmit(state, component) {\n helpers.assignPaymentMethodValue();\n helpers.paymentFromComponent(state.data, component);\n }\n };\n}\nfunction getCashAppConfig() {\n return {\n showPayButton: true,\n onSubmit: function onSubmit(state, component) {\n $('#dwfrm_billing').trigger('submit');\n helpers.assignPaymentMethodValue();\n helpers.paymentFromComponent(state.data, component);\n }\n };\n}\nfunction getKlarnaConfig() {\n var _window = window,\n klarnaWidgetEnabled = _window.klarnaWidgetEnabled;\n if (klarnaWidgetEnabled) {\n return {\n showPayButton: true,\n useKlarnaWidget: true,\n onSubmit: function onSubmit(state, component) {\n helpers.assignPaymentMethodValue();\n helpers.paymentFromComponent(state.data, component);\n },\n onAdditionalDetails: function onAdditionalDetails(state) {\n document.querySelector('#additionalDetailsHidden').value = JSON.stringify(state.data);\n document.querySelector('#showConfirmationForm').submit();\n }\n };\n }\n return null;\n}\nfunction setCheckoutConfiguration() {\n store.checkoutConfiguration.onChange = handleOnChange;\n store.checkoutConfiguration.onAdditionalDetails = handleOnAdditionalDetails;\n store.checkoutConfiguration.showPayButton = false;\n store.checkoutConfiguration.clientKey = window.adyenClientKey;\n store.checkoutConfiguration.paymentMethodsConfiguration = {\n card: getCardConfig(),\n bcmc: getCardConfig(),\n storedCard: getCardConfig(),\n boletobancario: {\n personalDetailsRequired: true,\n // turn personalDetails section on/off\n billingAddressRequired: false,\n // turn billingAddress section on/off\n showEmailAddress: false // allow shopper to specify their email address\n },\n\n paywithgoogle: getGooglePayConfig(),\n googlepay: getGooglePayConfig(),\n paypal: getPaypalConfig(),\n amazonpay: getAmazonpayConfig(),\n giftcard: getGiftCardConfig(),\n applepay: getApplePayConfig(),\n klarna: getKlarnaConfig(),\n klarna_account: getKlarnaConfig(),\n klarna_paynow: getKlarnaConfig(),\n cashapp: getCashAppConfig()\n };\n}\nmodule.exports = {\n getCardConfig: getCardConfig,\n getPaypalConfig: getPaypalConfig,\n getGooglePayConfig: getGooglePayConfig,\n getAmazonpayConfig: getAmazonpayConfig,\n setCheckoutConfiguration: setCheckoutConfiguration,\n actionHandler: actionHandler\n};\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js?"); +eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar _require = __webpack_require__(/*! ./makePartialPayment */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/makePartialPayment.js\"),\n makePartialPayment = _require.makePartialPayment;\nvar _require2 = __webpack_require__(/*! ../commons */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/commons/index.js\"),\n onBrand = _require2.onBrand,\n onFieldValid = _require2.onFieldValid;\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nvar _require3 = __webpack_require__(/*! ./renderGiftcardComponent */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js\"),\n createElementsToShowRemainingGiftCardAmount = _require3.createElementsToShowRemainingGiftCardAmount,\n renderAddedGiftCard = _require3.renderAddedGiftCard,\n getGiftCardElements = _require3.getGiftCardElements,\n showGiftCardInfoMessage = _require3.showGiftCardInfoMessage,\n showGiftCardCancelButton = _require3.showGiftCardCancelButton,\n attachGiftCardCancelListener = _require3.attachGiftCardCancelListener;\nfunction getCardConfig() {\n return {\n enableStoreDetails: window.showStoreDetails,\n showBrandsUnderCardNumber: false,\n clickToPayConfiguration: {\n shopperEmail: window.customerEmail,\n merchantDisplayName: window.merchantAccount\n },\n onChange: function onChange(state) {\n store.isValid = state.isValid;\n var method = state.data.paymentMethod.storedPaymentMethodId ? \"storedCard\".concat(state.data.paymentMethod.storedPaymentMethodId) : store.selectedMethod;\n store.updateSelectedPayment(method, 'isValid', store.isValid);\n store.updateSelectedPayment(method, 'stateData', state.data);\n },\n onSubmit: function onSubmit() {\n helpers.assignPaymentMethodValue();\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n document.querySelector('button[value=\"submit-payment\"]').click();\n },\n onFieldValid: onFieldValid,\n onBrand: onBrand\n };\n}\nfunction getPaypalConfig() {\n store.paypalTerminatedEarly = false;\n return {\n showPayButton: true,\n environment: window.Configuration.environment,\n onSubmit: function onSubmit(state, component) {\n helpers.assignPaymentMethodValue();\n document.querySelector('#adyenStateData').value = JSON.stringify(store.selectedPayment.stateData);\n helpers.paymentFromComponent(state.data, component);\n },\n onCancel: function onCancel(data, component) {\n store.paypalTerminatedEarly = false;\n helpers.paymentFromComponent({\n cancelTransaction: true,\n merchantReference: document.querySelector('#merchantReference').value,\n orderToken: document.querySelector('#orderToken').value\n }, component);\n },\n onError: function onError(error, component) {\n store.paypalTerminatedEarly = false;\n if (component) {\n component.setStatus('ready');\n }\n document.querySelector('#showConfirmationForm').submit();\n },\n onAdditionalDetails: function onAdditionalDetails(state) {\n store.paypalTerminatedEarly = false;\n document.querySelector('#additionalDetailsHidden').value = JSON.stringify(state.data);\n document.querySelector('#showConfirmationForm').submit();\n },\n onClick: function onClick(data, actions) {\n $('#dwfrm_billing').trigger('submit');\n if (store.formErrorsExist) {\n return actions.reject();\n }\n if (store.paypalTerminatedEarly) {\n helpers.paymentFromComponent({\n cancelTransaction: true,\n merchantReference: document.querySelector('#merchantReference').value\n });\n store.paypalTerminatedEarly = false;\n return actions.resolve();\n }\n store.paypalTerminatedEarly = true;\n return null;\n }\n };\n}\nfunction getGooglePayConfig() {\n return {\n environment: window.Configuration.environment,\n onSubmit: function onSubmit() {\n helpers.assignPaymentMethodValue();\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n document.querySelector('button[value=\"submit-payment\"]').click();\n },\n configuration: {\n gatewayMerchantId: window.merchantAccount\n },\n showPayButton: true,\n buttonColor: 'white'\n };\n}\nfunction handlePartialPaymentSuccess() {\n var _store$addedGiftCards;\n var _getGiftCardElements = getGiftCardElements(),\n giftCardSelectContainer = _getGiftCardElements.giftCardSelectContainer,\n giftCardSelect = _getGiftCardElements.giftCardSelect,\n giftCardsList = _getGiftCardElements.giftCardsList,\n cancelMainPaymentGiftCard = _getGiftCardElements.cancelMainPaymentGiftCard,\n giftCardAddButton = _getGiftCardElements.giftCardAddButton;\n giftCardSelectContainer.classList.add('invisible');\n giftCardSelect.value = null;\n giftCardsList.innerHTML = '';\n cancelMainPaymentGiftCard.addEventListener('click', function () {\n store.componentsObj.giftcard.node.unmount('component_giftcard');\n cancelMainPaymentGiftCard.classList.add('invisible');\n giftCardAddButton.style.display = 'block';\n giftCardSelect.value = 'null';\n });\n if (store.componentsObj.giftcard) {\n store.componentsObj.giftcard.node.unmount('component_giftcard');\n }\n store.addedGiftCards.forEach(function (card) {\n renderAddedGiftCard(card);\n });\n if ((_store$addedGiftCards = store.addedGiftCards) !== null && _store$addedGiftCards !== void 0 && _store$addedGiftCards.length) {\n showGiftCardInfoMessage();\n }\n showGiftCardCancelButton(true);\n attachGiftCardCancelListener();\n createElementsToShowRemainingGiftCardAmount();\n}\nfunction makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject) {\n var brandSelect = document.getElementById('giftCardSelect');\n var selectedBrandIndex = brandSelect.selectedIndex;\n var giftcardBrand = brandSelect.options[selectedBrandIndex].text;\n var partialPaymentRequest = {\n paymentMethod: giftCardData,\n amount: giftcardBalance,\n partialPaymentsOrder: {\n pspReference: store.adyenOrderData.pspReference,\n orderData: store.adyenOrderData.orderData\n },\n giftcardBrand: giftcardBrand\n };\n var partialPaymentResponse = makePartialPayment(partialPaymentRequest);\n if (partialPaymentResponse !== null && partialPaymentResponse !== void 0 && partialPaymentResponse.error) {\n reject();\n } else {\n handlePartialPaymentSuccess();\n }\n}\nfunction getGiftCardConfig() {\n var giftcardBalance;\n return {\n showPayButton: true,\n onChange: function onChange(state) {\n store.updateSelectedPayment(constants.GIFTCARD, 'isValid', state.isValid);\n store.updateSelectedPayment(constants.GIFTCARD, 'stateData', state.data);\n },\n onBalanceCheck: function onBalanceCheck(resolve, reject, requestData) {\n $.ajax({\n type: 'POST',\n url: window.checkBalanceUrl,\n data: JSON.stringify(requestData),\n contentType: 'application/json; charset=utf-8',\n async: false,\n success: function success(data) {\n giftcardBalance = data.balance;\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n if (data.resultCode === constants.SUCCESS) {\n var _getGiftCardElements2 = getGiftCardElements(),\n giftCardsInfoMessageContainer = _getGiftCardElements2.giftCardsInfoMessageContainer,\n giftCardSelect = _getGiftCardElements2.giftCardSelect,\n cancelMainPaymentGiftCard = _getGiftCardElements2.cancelMainPaymentGiftCard,\n giftCardAddButton = _getGiftCardElements2.giftCardAddButton,\n giftCardSelectWrapper = _getGiftCardElements2.giftCardSelectWrapper;\n if (giftCardSelectWrapper) {\n giftCardSelectWrapper.classList.add('invisible');\n }\n var initialPartialObject = _objectSpread({}, store.partialPaymentsOrderObj);\n cancelMainPaymentGiftCard.classList.remove('invisible');\n cancelMainPaymentGiftCard.addEventListener('click', function () {\n store.componentsObj.giftcard.node.unmount('component_giftcard');\n cancelMainPaymentGiftCard.classList.add('invisible');\n giftCardAddButton.style.display = 'block';\n giftCardSelect.value = 'null';\n store.partialPaymentsOrderObj.remainingAmountFormatted = initialPartialObject.remainingAmountFormatted;\n store.partialPaymentsOrderObj.totalDiscountedAmount = initialPartialObject.totalDiscountedAmount;\n });\n document.querySelector('button[value=\"submit-payment\"]').disabled = true;\n giftCardsInfoMessageContainer.innerHTML = '';\n giftCardsInfoMessageContainer.classList.remove('gift-cards-info-message-container');\n store.partialPaymentsOrderObj.remainingAmountFormatted = data.remainingAmountFormatted;\n store.partialPaymentsOrderObj.totalDiscountedAmount = data.totalAmountFormatted;\n resolve(data);\n } else if (data.resultCode === constants.NOTENOUGHBALANCE) {\n resolve(data);\n } else {\n reject();\n }\n },\n fail: function fail() {\n reject();\n }\n });\n },\n onOrderRequest: function onOrderRequest(resolve, reject, requestData) {\n // Make a POST /orders request\n // Create an order for the total transaction amount\n var giftCardData = requestData.paymentMethod;\n if (store.adyenOrderData) {\n makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject);\n } else {\n $.ajax({\n type: 'POST',\n url: window.partialPaymentsOrderUrl,\n data: JSON.stringify(requestData),\n contentType: 'application/json; charset=utf-8',\n async: false,\n success: function success(data) {\n if (data.resultCode === 'Success') {\n store.adyenOrderData = data;\n // make payments call including giftcard data and order data\n makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject);\n }\n }\n });\n }\n },\n onSubmit: function onSubmit(state, component) {\n store.selectedMethod = state.data.paymentMethod.type;\n store.brand = component === null || component === void 0 ? void 0 : component.displayName;\n document.querySelector('input[name=\"brandCode\"]').checked = false;\n document.querySelector('button[value=\"submit-payment\"]').disabled = false;\n document.querySelector('button[value=\"submit-payment\"]').click();\n }\n };\n}\nfunction handleOnChange(state) {\n store.isValid = state.isValid;\n if (!store.componentsObj[store.selectedMethod]) {\n store.componentsObj[store.selectedMethod] = {};\n }\n store.componentsObj[store.selectedMethod].isValid = store.isValid;\n store.componentsObj[store.selectedMethod].stateData = state.data;\n}\nvar actionHandler = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(action) {\n var checkout;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return AdyenCheckout(store.checkoutConfiguration);\n case 2:\n checkout = _context.sent;\n checkout.createFromAction(action).mount('#action-container');\n $('#action-modal').modal({\n backdrop: 'static',\n keyboard: false\n });\n if (action.type === constants.ACTIONTYPE.QRCODE) {\n document.getElementById('cancelQrMethodsButton').classList.remove('invisible');\n }\n case 6:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function actionHandler(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nfunction handleOnAdditionalDetails(state) {\n $.ajax({\n type: 'POST',\n url: window.paymentsDetailsURL,\n data: JSON.stringify({\n data: state.data,\n orderToken: window.orderToken\n }),\n contentType: 'application/json; charset=utf-8',\n async: false,\n success: function success(data) {\n if (!data.isFinal && _typeof(data.action) === 'object') {\n actionHandler(data.action);\n } else {\n window.location.href = data.redirectUrl;\n }\n }\n });\n}\nfunction getAmazonpayConfig() {\n return {\n showPayButton: true,\n productType: 'PayAndShip',\n checkoutMode: 'ProcessOrder',\n locale: window.Configuration.locale,\n returnUrl: window.returnURL,\n onClick: function onClick(resolve, reject) {\n $('#dwfrm_billing').trigger('submit');\n if (store.formErrorsExist) {\n reject();\n } else {\n helpers.assignPaymentMethodValue();\n resolve();\n }\n },\n onError: function onError() {}\n };\n}\nfunction getApplePayConfig() {\n return {\n showPayButton: true,\n buttonColor: 'black',\n onSubmit: function onSubmit(state, component) {\n $('#dwfrm_billing').trigger('submit');\n helpers.assignPaymentMethodValue();\n helpers.paymentFromComponent(state.data, component);\n }\n };\n}\nfunction getCashAppConfig() {\n return {\n showPayButton: true,\n onSubmit: function onSubmit(state, component) {\n $('#dwfrm_billing').trigger('submit');\n helpers.assignPaymentMethodValue();\n helpers.paymentFromComponent(state.data, component);\n }\n };\n}\nfunction getKlarnaConfig() {\n var _window = window,\n klarnaWidgetEnabled = _window.klarnaWidgetEnabled;\n if (klarnaWidgetEnabled) {\n return {\n showPayButton: true,\n useKlarnaWidget: true,\n onSubmit: function onSubmit(state, component) {\n helpers.assignPaymentMethodValue();\n helpers.paymentFromComponent(state.data, component);\n },\n onAdditionalDetails: function onAdditionalDetails(state) {\n document.querySelector('#additionalDetailsHidden').value = JSON.stringify(state.data);\n document.querySelector('#showConfirmationForm').submit();\n }\n };\n }\n return null;\n}\nfunction setCheckoutConfiguration() {\n store.checkoutConfiguration.onChange = handleOnChange;\n store.checkoutConfiguration.onAdditionalDetails = handleOnAdditionalDetails;\n store.checkoutConfiguration.showPayButton = false;\n store.checkoutConfiguration.clientKey = window.adyenClientKey;\n store.checkoutConfiguration.paymentMethodsConfiguration = {\n card: getCardConfig(),\n bcmc: getCardConfig(),\n storedCard: getCardConfig(),\n boletobancario: {\n personalDetailsRequired: true,\n // turn personalDetails section on/off\n billingAddressRequired: false,\n // turn billingAddress section on/off\n showEmailAddress: false // allow shopper to specify their email address\n },\n\n paywithgoogle: getGooglePayConfig(),\n googlepay: getGooglePayConfig(),\n paypal: getPaypalConfig(),\n amazonpay: getAmazonpayConfig(),\n giftcard: getGiftCardConfig(),\n applepay: getApplePayConfig(),\n klarna: getKlarnaConfig(),\n klarna_account: getKlarnaConfig(),\n klarna_paynow: getKlarnaConfig(),\n cashapp: getCashAppConfig()\n };\n}\nmodule.exports = {\n getCardConfig: getCardConfig,\n getPaypalConfig: getPaypalConfig,\n getGooglePayConfig: getGooglePayConfig,\n getAmazonpayConfig: getAmazonpayConfig,\n setCheckoutConfiguration: setCheckoutConfiguration,\n actionHandler: actionHandler\n};\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js?"); /***/ }), @@ -298,7 +298,7 @@ eval("\n\nvar _excluded = [\"giftCards\"];\nfunction _objectWithoutProperties(so /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nvar _document$getElementB;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/* eslint-disable no-unsafe-optional-chaining */\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar _require = __webpack_require__(/*! ./renderPaymentMethod */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js\"),\n renderPaymentMethod = _require.renderPaymentMethod;\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar _require2 = __webpack_require__(/*! ./localesUsingInstallments */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/localesUsingInstallments.js\"),\n installmentLocales = _require2.installmentLocales;\nvar _require3 = __webpack_require__(/*! ../commons */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/commons/index.js\"),\n createSession = _require3.createSession,\n fetchGiftCards = _require3.fetchGiftCards;\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nvar _require4 = __webpack_require__(/*! ./renderGiftcardComponent */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js\"),\n createElementsToShowRemainingGiftCardAmount = _require4.createElementsToShowRemainingGiftCardAmount,\n removeGiftCards = _require4.removeGiftCards,\n renderAddedGiftCard = _require4.renderAddedGiftCard,\n showGiftCardWarningMessage = _require4.showGiftCardWarningMessage,\n attachGiftCardAddButtonListener = _require4.attachGiftCardAddButtonListener,\n showGiftCardInfoMessage = _require4.showGiftCardInfoMessage,\n giftCardBrands = _require4.giftCardBrands,\n clearGiftCardsContainer = _require4.clearGiftCardsContainer,\n attachGiftCardCancelListener = _require4.attachGiftCardCancelListener,\n showGiftCardCancelButton = _require4.showGiftCardCancelButton;\nvar INIT_CHECKOUT_EVENT = 'INIT_CHECKOUT_EVENT';\nfunction addPosTerminals(terminals) {\n var ddTerminals = document.createElement('select');\n ddTerminals.id = 'terminalList';\n Object.keys(terminals).forEach(function (t) {\n var option = document.createElement('option');\n option.value = terminals[t];\n option.text = terminals[t];\n ddTerminals.appendChild(option);\n });\n document.querySelector('#adyenPosTerminals').append(ddTerminals);\n}\nfunction setCheckoutConfiguration(checkoutOptions) {\n var setField = function setField(key, val) {\n return val && _defineProperty({}, key, val);\n };\n store.checkoutConfiguration = _objectSpread(_objectSpread(_objectSpread({}, store.checkoutConfiguration), setField('amount', checkoutOptions.amount)), setField('countryCode', checkoutOptions.countryCode));\n}\nfunction resolveUnmount(key, val) {\n try {\n return Promise.resolve(val.node.unmount(\"component_\".concat(key)));\n } catch (e) {\n // try/catch block for val.unmount\n return Promise.resolve(false);\n }\n}\n\n/**\n * To avoid re-rendering components twice, unmounts existing components from payment methods list\n */\nfunction unmountComponents() {\n var promises = Object.entries(store.componentsObj).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n delete store.componentsObj[key];\n return resolveUnmount(key, val);\n });\n return Promise.all(promises);\n}\nfunction isCartModified(amount, orderAmount) {\n return amount.currency !== orderAmount.currency || amount.value !== orderAmount.value;\n}\nfunction renderGiftCardLogo(imagePath) {\n var headingImg = document.querySelector('#headingImg');\n if (headingImg) {\n headingImg.src = \"\".concat(imagePath, \"genericgiftcard.png\");\n }\n}\nfunction applyGiftCards() {\n var now = new Date().toISOString();\n var amount = store.checkoutConfiguration.amount;\n var orderAmount = store.partialPaymentsOrderObj.orderAmount;\n var isPartialPaymentExpired = store.addedGiftCards.some(function (cart) {\n return now > cart.expiresAt;\n });\n var cartModified = isCartModified(amount, orderAmount);\n if (isPartialPaymentExpired) {\n removeGiftCards();\n } else if (cartModified) {\n removeGiftCards();\n showGiftCardWarningMessage();\n } else {\n var _store$addedGiftCards;\n clearGiftCardsContainer();\n store.addedGiftCards.forEach(function (card) {\n renderAddedGiftCard(card);\n });\n if ((_store$addedGiftCards = store.addedGiftCards) !== null && _store$addedGiftCards !== void 0 && _store$addedGiftCards.length) {\n showGiftCardInfoMessage();\n }\n store.checkout.options.amount = store.addedGiftCards[store.addedGiftCards.length - 1].remainingAmount;\n showGiftCardCancelButton(true);\n attachGiftCardCancelListener();\n createElementsToShowRemainingGiftCardAmount();\n }\n}\nfunction renderStoredPaymentMethod(imagePath) {\n return function (pm) {\n if (pm.supportedShopperInteractions.includes('Ecommerce')) {\n renderPaymentMethod(pm, true, imagePath);\n }\n };\n}\nfunction renderStoredPaymentMethods(data, imagePath) {\n if (data.storedPaymentMethods) {\n var storedPaymentMethods = data.storedPaymentMethods;\n storedPaymentMethods.forEach(renderStoredPaymentMethod(imagePath));\n }\n}\nfunction renderPaymentMethods(paymentMethods, imagePath, adyenDescriptions) {\n var promises = [];\n for (var i = 0; i < paymentMethods.length; i += 1) {\n var pm = paymentMethods[i];\n promises.push(renderPaymentMethod(pm, false, imagePath, adyenDescriptions[pm.type]));\n }\n return Promise.all(promises);\n}\nfunction renderPosTerminals(adyenConnectedTerminals) {\n var _adyenConnectedTermin;\n var removeChilds = function removeChilds() {\n var posTerminals = document.querySelector('#adyenPosTerminals');\n while (posTerminals.firstChild) {\n posTerminals.removeChild(posTerminals.firstChild);\n }\n };\n if (adyenConnectedTerminals !== null && adyenConnectedTerminals !== void 0 && (_adyenConnectedTermin = adyenConnectedTerminals.uniqueTerminalIds) !== null && _adyenConnectedTermin !== void 0 && _adyenConnectedTermin.length) {\n removeChilds();\n addPosTerminals(adyenConnectedTerminals.uniqueTerminalIds);\n }\n}\nfunction setAmazonPayConfig(adyenPaymentMethods) {\n var amazonpay = adyenPaymentMethods.paymentMethods.find(function (paymentMethod) {\n return paymentMethod.type === 'amazonpay';\n });\n if (amazonpay) {\n var _document$querySelect, _document$querySelect2, _document$querySelect3, _document$querySelect4, _document$querySelect5, _document$querySelect6, _document$querySelect7, _document$querySelect8;\n store.checkoutConfiguration.paymentMethodsConfiguration.amazonpay.configuration = amazonpay.configuration;\n store.checkoutConfiguration.paymentMethodsConfiguration.amazonpay.addressDetails = {\n name: \"\".concat((_document$querySelect = document.querySelector('#shippingFirstNamedefault')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.value, \" \").concat((_document$querySelect2 = document.querySelector('#shippingLastNamedefault')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.value),\n addressLine1: (_document$querySelect3 = document.querySelector('#shippingAddressOnedefault')) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.value,\n city: (_document$querySelect4 = document.querySelector('#shippingAddressCitydefault')) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.value,\n stateOrRegion: (_document$querySelect5 = document.querySelector('#shippingAddressCitydefault')) === null || _document$querySelect5 === void 0 ? void 0 : _document$querySelect5.value,\n postalCode: (_document$querySelect6 = document.querySelector('#shippingZipCodedefault')) === null || _document$querySelect6 === void 0 ? void 0 : _document$querySelect6.value,\n countryCode: (_document$querySelect7 = document.querySelector('#shippingCountrydefault')) === null || _document$querySelect7 === void 0 ? void 0 : _document$querySelect7.value,\n phoneNumber: (_document$querySelect8 = document.querySelector('#shippingPhoneNumberdefault')) === null || _document$querySelect8 === void 0 ? void 0 : _document$querySelect8.value\n };\n }\n}\nfunction setInstallments(amount) {\n try {\n var _window$installments;\n if (installmentLocales.indexOf(window.Configuration.locale) < 0) {\n return;\n }\n var _window$installments$ = (_window$installments = window.installments) === null || _window$installments === void 0 ? void 0 : _window$installments.replace(/\\[|]/g, '').split(','),\n _window$installments$2 = _slicedToArray(_window$installments$, 2),\n minAmount = _window$installments$2[0],\n numOfInstallments = _window$installments$2[1];\n if (minAmount <= amount.value) {\n store.checkoutConfiguration.paymentMethodsConfiguration.card.installmentOptions = {\n card: {}\n }; // eslint-disable-next-line max-len\n store.checkoutConfiguration.paymentMethodsConfiguration.card.installmentOptions.card.values = helpers.getInstallmentValues(numOfInstallments);\n store.checkoutConfiguration.paymentMethodsConfiguration.card.showInstallmentAmounts = true;\n }\n } catch (e) {} // eslint-disable-line no-empty\n}\n\nfunction setGiftCardContainerVisibility() {\n var availableGiftCards = giftCardBrands();\n if (availableGiftCards.length === 0) {\n var giftCardContainer = document.querySelector('.gift-card-selection');\n giftCardContainer.style.display = 'none';\n var giftCardSeparator = document.querySelector('.gift-card-separator');\n giftCardSeparator.style.display = 'none';\n }\n}\nfunction initializeCheckout() {\n return _initializeCheckout.apply(this, arguments);\n}\nfunction _initializeCheckout() {\n _initializeCheckout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {\n var session, giftCardsData, totalDiscountedAmount, giftCards, lastGiftCard, paymentMethodsWithoutGiftCards, firstPaymentMethod;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return createSession();\n case 2:\n session = _context2.sent;\n _context2.next = 5;\n return fetchGiftCards();\n case 5:\n giftCardsData = _context2.sent;\n store.checkoutConfiguration.session = {\n id: session.id,\n sessionData: session.sessionData,\n imagePath: session.imagePath,\n adyenDescriptions: session.adyenDescriptions\n };\n _context2.next = 9;\n return AdyenCheckout(store.checkoutConfiguration);\n case 9:\n store.checkout = _context2.sent;\n setGiftCardContainerVisibility();\n totalDiscountedAmount = giftCardsData.totalDiscountedAmount, giftCards = giftCardsData.giftCards;\n if (giftCards !== null && giftCards !== void 0 && giftCards.length) {\n store.addedGiftCards = giftCards;\n lastGiftCard = store.addedGiftCards[store.addedGiftCards.length - 1];\n store.partialPaymentsOrderObj = _objectSpread(_objectSpread({}, lastGiftCard), {}, {\n totalDiscountedAmount: totalDiscountedAmount\n });\n }\n setCheckoutConfiguration(store.checkout.options);\n setInstallments(store.checkout.options.amount);\n setAmazonPayConfig(store.checkout.paymentMethodsResponse);\n document.querySelector('#paymentMethodsList').innerHTML = '';\n paymentMethodsWithoutGiftCards = store.checkout.paymentMethodsResponse.paymentMethods.filter(function (pm) {\n return pm.type !== constants.GIFTCARD;\n });\n renderStoredPaymentMethods(paymentMethodsWithoutGiftCards, session.imagePath);\n _context2.next = 21;\n return renderPaymentMethods(paymentMethodsWithoutGiftCards, session.imagePath, session.adyenDescriptions);\n case 21:\n renderPosTerminals(session.adyenConnectedTerminals);\n renderGiftCardLogo(session.imagePath);\n firstPaymentMethod = document.querySelector('input[type=radio][name=brandCode]');\n if (firstPaymentMethod) {\n firstPaymentMethod.checked = true;\n helpers.displaySelectedMethod(firstPaymentMethod.value);\n }\n helpers.createShowConfirmationForm(window.ShowConfirmationPaymentFromComponent);\n case 26:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _initializeCheckout.apply(this, arguments);\n}\n(_document$getElementB = document.getElementById('email')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.addEventListener('change', function (e) {\n var emailPattern = /^[\\w.%+-]+@[\\w.-]+\\.[\\w]{2,6}$/;\n if (emailPattern.test(e.target.value)) {\n var paymentMethodsConfiguration = store.checkoutConfiguration.paymentMethodsConfiguration;\n paymentMethodsConfiguration.card.clickToPayConfiguration.shopperEmail = e.target.value;\n var event = new Event(INIT_CHECKOUT_EVENT);\n document.dispatchEvent(event);\n }\n});\n\n// used by renderGiftCardComponent.js\ndocument.addEventListener(INIT_CHECKOUT_EVENT, function () {\n var handleCheckoutEvent = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(Object.keys(store.componentsObj).length !== 0)) {\n _context.next = 3;\n break;\n }\n _context.next = 3;\n return unmountComponents();\n case 3:\n _context.next = 5;\n return initializeCheckout();\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function handleCheckoutEvent() {\n return _ref4.apply(this, arguments);\n };\n }();\n handleCheckoutEvent();\n});\n\n/**\n * Calls createSession and then renders the retrieved payment methods (including card component)\n */\nfunction renderGenericComponent() {\n return _renderGenericComponent.apply(this, arguments);\n}\nfunction _renderGenericComponent() {\n _renderGenericComponent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {\n var _store$addedGiftCards2;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!(Object.keys(store.componentsObj).length !== 0)) {\n _context3.next = 3;\n break;\n }\n _context3.next = 3;\n return unmountComponents();\n case 3:\n _context3.next = 5;\n return initializeCheckout();\n case 5:\n if ((_store$addedGiftCards2 = store.addedGiftCards) !== null && _store$addedGiftCards2 !== void 0 && _store$addedGiftCards2.length) {\n applyGiftCards();\n }\n attachGiftCardAddButtonListener();\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _renderGenericComponent.apply(this, arguments);\n}\nmodule.exports = {\n renderGenericComponent: renderGenericComponent,\n initializeCheckout: initializeCheckout,\n INIT_CHECKOUT_EVENT: INIT_CHECKOUT_EVENT\n};\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js?"); +eval("\n\nvar _document$getElementB;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/* eslint-disable no-unsafe-optional-chaining */\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar _require = __webpack_require__(/*! ./renderPaymentMethod */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js\"),\n renderPaymentMethod = _require.renderPaymentMethod;\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar _require2 = __webpack_require__(/*! ./localesUsingInstallments */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/localesUsingInstallments.js\"),\n installmentLocales = _require2.installmentLocales;\nvar _require3 = __webpack_require__(/*! ../commons */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/commons/index.js\"),\n createSession = _require3.createSession,\n fetchGiftCards = _require3.fetchGiftCards;\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nvar _require4 = __webpack_require__(/*! ./renderGiftcardComponent */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js\"),\n createElementsToShowRemainingGiftCardAmount = _require4.createElementsToShowRemainingGiftCardAmount,\n removeGiftCards = _require4.removeGiftCards,\n renderAddedGiftCard = _require4.renderAddedGiftCard,\n showGiftCardWarningMessage = _require4.showGiftCardWarningMessage,\n attachGiftCardAddButtonListener = _require4.attachGiftCardAddButtonListener,\n showGiftCardInfoMessage = _require4.showGiftCardInfoMessage,\n giftCardBrands = _require4.giftCardBrands,\n clearGiftCardsContainer = _require4.clearGiftCardsContainer,\n attachGiftCardCancelListener = _require4.attachGiftCardCancelListener,\n showGiftCardCancelButton = _require4.showGiftCardCancelButton;\nvar INIT_CHECKOUT_EVENT = 'INIT_CHECKOUT_EVENT';\nfunction addPosTerminals(terminals) {\n var ddTerminals = document.createElement('select');\n ddTerminals.id = 'terminalList';\n Object.keys(terminals).forEach(function (t) {\n var option = document.createElement('option');\n option.value = terminals[t];\n option.text = terminals[t];\n ddTerminals.appendChild(option);\n });\n document.querySelector('#adyenPosTerminals').append(ddTerminals);\n}\nfunction setCheckoutConfiguration(checkoutOptions) {\n var setField = function setField(key, val) {\n return val && _defineProperty({}, key, val);\n };\n store.checkoutConfiguration = _objectSpread(_objectSpread(_objectSpread({}, store.checkoutConfiguration), setField('amount', checkoutOptions.amount)), setField('countryCode', checkoutOptions.countryCode));\n}\nfunction resolveUnmount(key, val) {\n try {\n return Promise.resolve(val.node.unmount(\"component_\".concat(key)));\n } catch (e) {\n // try/catch block for val.unmount\n return Promise.resolve(false);\n }\n}\n\n/**\n * To avoid re-rendering components twice, unmounts existing components from payment methods list\n */\nfunction unmountComponents() {\n var promises = Object.entries(store.componentsObj).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n delete store.componentsObj[key];\n return resolveUnmount(key, val);\n });\n return Promise.all(promises);\n}\nfunction isCartModified(amount, orderAmount) {\n return amount.currency !== orderAmount.currency || amount.value !== orderAmount.value;\n}\nfunction renderGiftCardLogo(imagePath) {\n var headingImg = document.querySelector('#headingImg');\n if (headingImg) {\n headingImg.src = \"\".concat(imagePath, \"genericgiftcard.png\");\n }\n}\nfunction applyGiftCards() {\n var now = new Date().toISOString();\n var amount = store.checkoutConfiguration.amount;\n var orderAmount = store.partialPaymentsOrderObj.orderAmount;\n var isPartialPaymentExpired = store.addedGiftCards.some(function (cart) {\n return now > cart.expiresAt;\n });\n var cartModified = isCartModified(amount, orderAmount);\n if (isPartialPaymentExpired) {\n removeGiftCards();\n } else if (cartModified) {\n removeGiftCards();\n showGiftCardWarningMessage();\n } else {\n var _store$addedGiftCards;\n clearGiftCardsContainer();\n store.addedGiftCards.forEach(function (card) {\n renderAddedGiftCard(card);\n });\n if ((_store$addedGiftCards = store.addedGiftCards) !== null && _store$addedGiftCards !== void 0 && _store$addedGiftCards.length) {\n showGiftCardInfoMessage();\n }\n store.checkout.options.amount = store.addedGiftCards[store.addedGiftCards.length - 1].remainingAmount;\n showGiftCardCancelButton(true);\n attachGiftCardCancelListener();\n createElementsToShowRemainingGiftCardAmount();\n }\n}\nfunction renderStoredPaymentMethod(imagePath) {\n return function (pm) {\n if (pm.supportedShopperInteractions.includes('Ecommerce')) {\n renderPaymentMethod(pm, true, imagePath);\n }\n };\n}\nfunction renderStoredPaymentMethods(data, imagePath) {\n if (data.length) {\n data.forEach(renderStoredPaymentMethod(imagePath));\n }\n}\nfunction renderPaymentMethods(_x2, _x3, _x4) {\n return _renderPaymentMethods.apply(this, arguments);\n}\nfunction _renderPaymentMethods() {\n _renderPaymentMethods = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(paymentMethods, imagePath, adyenDescriptions) {\n var i, pm;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n i = 0;\n case 1:\n if (!(i < paymentMethods.length)) {\n _context2.next = 8;\n break;\n }\n pm = paymentMethods[i]; // eslint-disable-next-line\n _context2.next = 5;\n return renderPaymentMethod(pm, false, imagePath, adyenDescriptions[pm.type]);\n case 5:\n i += 1;\n _context2.next = 1;\n break;\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _renderPaymentMethods.apply(this, arguments);\n}\nfunction renderPosTerminals(adyenConnectedTerminals) {\n var _adyenConnectedTermin;\n var removeChilds = function removeChilds() {\n var posTerminals = document.querySelector('#adyenPosTerminals');\n while (posTerminals.firstChild) {\n posTerminals.removeChild(posTerminals.firstChild);\n }\n };\n if (adyenConnectedTerminals !== null && adyenConnectedTerminals !== void 0 && (_adyenConnectedTermin = adyenConnectedTerminals.uniqueTerminalIds) !== null && _adyenConnectedTermin !== void 0 && _adyenConnectedTermin.length) {\n removeChilds();\n addPosTerminals(adyenConnectedTerminals.uniqueTerminalIds);\n }\n}\nfunction setAmazonPayConfig(adyenPaymentMethods) {\n var amazonpay = adyenPaymentMethods.paymentMethods.find(function (paymentMethod) {\n return paymentMethod.type === 'amazonpay';\n });\n if (amazonpay) {\n var _document$querySelect, _document$querySelect2, _document$querySelect3, _document$querySelect4, _document$querySelect5, _document$querySelect6, _document$querySelect7, _document$querySelect8;\n store.checkoutConfiguration.paymentMethodsConfiguration.amazonpay.configuration = amazonpay.configuration;\n store.checkoutConfiguration.paymentMethodsConfiguration.amazonpay.addressDetails = {\n name: \"\".concat((_document$querySelect = document.querySelector('#shippingFirstNamedefault')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.value, \" \").concat((_document$querySelect2 = document.querySelector('#shippingLastNamedefault')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.value),\n addressLine1: (_document$querySelect3 = document.querySelector('#shippingAddressOnedefault')) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.value,\n city: (_document$querySelect4 = document.querySelector('#shippingAddressCitydefault')) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.value,\n stateOrRegion: (_document$querySelect5 = document.querySelector('#shippingAddressCitydefault')) === null || _document$querySelect5 === void 0 ? void 0 : _document$querySelect5.value,\n postalCode: (_document$querySelect6 = document.querySelector('#shippingZipCodedefault')) === null || _document$querySelect6 === void 0 ? void 0 : _document$querySelect6.value,\n countryCode: (_document$querySelect7 = document.querySelector('#shippingCountrydefault')) === null || _document$querySelect7 === void 0 ? void 0 : _document$querySelect7.value,\n phoneNumber: (_document$querySelect8 = document.querySelector('#shippingPhoneNumberdefault')) === null || _document$querySelect8 === void 0 ? void 0 : _document$querySelect8.value\n };\n }\n}\nfunction setInstallments(amount) {\n try {\n if (installmentLocales.indexOf(window.Configuration.locale) < 0) {\n return;\n }\n var installments = JSON.parse(window.installments.replace(/"/g, '\"'));\n if (installments.length) {\n store.checkoutConfiguration.paymentMethodsConfiguration.card.installmentOptions = {};\n }\n installments.forEach(function (installment) {\n var _installment = _slicedToArray(installment, 3),\n minAmount = _installment[0],\n numOfInstallments = _installment[1],\n cards = _installment[2];\n if (minAmount <= amount.value) {\n cards.forEach(function (cardType) {\n var installmentOptions = store.checkoutConfiguration.paymentMethodsConfiguration.card.installmentOptions;\n if (!installmentOptions[cardType]) {\n installmentOptions[cardType] = {\n values: [1]\n };\n }\n if (!installmentOptions[cardType].values.includes(numOfInstallments)) {\n installmentOptions[cardType].values.push(numOfInstallments);\n installmentOptions[cardType].values.sort(function (a, b) {\n return a - b;\n });\n }\n });\n }\n });\n store.checkoutConfiguration.paymentMethodsConfiguration.card.showInstallmentAmounts = true;\n } catch (e) {} // eslint-disable-line no-empty\n}\n\nfunction setGiftCardContainerVisibility() {\n var availableGiftCards = giftCardBrands();\n if (availableGiftCards.length === 0) {\n var giftCardContainer = document.querySelector('.gift-card-selection');\n giftCardContainer.style.display = 'none';\n var giftCardSeparator = document.querySelector('.gift-card-separator');\n giftCardSeparator.style.display = 'none';\n }\n}\nfunction initializeCheckout() {\n return _initializeCheckout.apply(this, arguments);\n}\nfunction _initializeCheckout() {\n _initializeCheckout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {\n var session, giftCardsData, totalDiscountedAmount, giftCards, lastGiftCard, paymentMethodsWithoutGiftCards, storedPaymentMethodsWithoutGiftCards, firstPaymentMethod;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return createSession();\n case 2:\n session = _context3.sent;\n _context3.next = 5;\n return fetchGiftCards();\n case 5:\n giftCardsData = _context3.sent;\n store.checkoutConfiguration.session = {\n id: session.id,\n sessionData: session.sessionData,\n imagePath: session.imagePath,\n adyenDescriptions: session.adyenDescriptions\n };\n _context3.next = 9;\n return AdyenCheckout(store.checkoutConfiguration);\n case 9:\n store.checkout = _context3.sent;\n setGiftCardContainerVisibility();\n totalDiscountedAmount = giftCardsData.totalDiscountedAmount, giftCards = giftCardsData.giftCards;\n if (giftCards !== null && giftCards !== void 0 && giftCards.length) {\n store.addedGiftCards = giftCards;\n lastGiftCard = store.addedGiftCards[store.addedGiftCards.length - 1];\n store.partialPaymentsOrderObj = _objectSpread(_objectSpread({}, lastGiftCard), {}, {\n totalDiscountedAmount: totalDiscountedAmount\n });\n }\n setCheckoutConfiguration(store.checkout.options);\n setInstallments(store.checkout.options.amount);\n setAmazonPayConfig(store.checkout.paymentMethodsResponse);\n document.querySelector('#paymentMethodsList').innerHTML = '';\n paymentMethodsWithoutGiftCards = store.checkout.paymentMethodsResponse.paymentMethods.filter(function (pm) {\n return pm.type !== constants.GIFTCARD;\n });\n storedPaymentMethodsWithoutGiftCards = store.checkout.paymentMethodsResponse.storedPaymentMethods.filter(function (pm) {\n return pm.type !== constants.GIFTCARD;\n });\n renderStoredPaymentMethods(storedPaymentMethodsWithoutGiftCards, session.imagePath);\n _context3.next = 22;\n return renderPaymentMethods(paymentMethodsWithoutGiftCards, session.imagePath, session.adyenDescriptions);\n case 22:\n renderPosTerminals(session.adyenConnectedTerminals);\n renderGiftCardLogo(session.imagePath);\n firstPaymentMethod = document.querySelector('input[type=radio][name=brandCode]');\n if (firstPaymentMethod) {\n firstPaymentMethod.checked = true;\n helpers.displaySelectedMethod(firstPaymentMethod.value);\n }\n helpers.createShowConfirmationForm(window.ShowConfirmationPaymentFromComponent);\n case 27:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _initializeCheckout.apply(this, arguments);\n}\n(_document$getElementB = document.getElementById('email')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.addEventListener('change', function (e) {\n var emailPattern = /^[\\w.%+-]+@[\\w.-]+\\.[\\w]{2,6}$/;\n if (emailPattern.test(e.target.value)) {\n var paymentMethodsConfiguration = store.checkoutConfiguration.paymentMethodsConfiguration;\n paymentMethodsConfiguration.card.clickToPayConfiguration.shopperEmail = e.target.value;\n var event = new Event(INIT_CHECKOUT_EVENT);\n document.dispatchEvent(event);\n }\n});\n\n// used by renderGiftCardComponent.js\ndocument.addEventListener(INIT_CHECKOUT_EVENT, function () {\n var handleCheckoutEvent = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(Object.keys(store.componentsObj).length !== 0)) {\n _context.next = 3;\n break;\n }\n _context.next = 3;\n return unmountComponents();\n case 3:\n _context.next = 5;\n return initializeCheckout();\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function handleCheckoutEvent() {\n return _ref4.apply(this, arguments);\n };\n }();\n handleCheckoutEvent();\n});\n\n/**\n * Calls createSession and then renders the retrieved payment methods (including card component)\n */\nfunction renderGenericComponent() {\n return _renderGenericComponent.apply(this, arguments);\n}\nfunction _renderGenericComponent() {\n _renderGenericComponent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {\n var _store$addedGiftCards2;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!(Object.keys(store.componentsObj).length !== 0)) {\n _context4.next = 3;\n break;\n }\n _context4.next = 3;\n return unmountComponents();\n case 3:\n _context4.next = 5;\n return initializeCheckout();\n case 5:\n if ((_store$addedGiftCards2 = store.addedGiftCards) !== null && _store$addedGiftCards2 !== void 0 && _store$addedGiftCards2.length) {\n applyGiftCards();\n }\n attachGiftCardAddButtonListener();\n case 7:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _renderGenericComponent.apply(this, arguments);\n}\nmodule.exports = {\n renderGenericComponent: renderGenericComponent,\n initializeCheckout: initializeCheckout,\n INIT_CHECKOUT_EVENT: INIT_CHECKOUT_EVENT\n};\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js?"); /***/ }), @@ -322,7 +322,7 @@ eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nfunction getFallback(paymentMethod) {\n var fallback = {};\n if (fallback[paymentMethod.type]) {\n store.componentsObj[paymentMethod.type] = {};\n }\n return fallback[paymentMethod.type];\n}\nfunction getPersonalDetails() {\n var _document$querySelect, _document$querySelect2, _document$querySelect3, _document$querySelect4;\n return {\n firstName: (_document$querySelect = document.querySelector('#shippingFirstNamedefault')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.value,\n lastName: (_document$querySelect2 = document.querySelector('#shippingLastNamedefault')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.value,\n telephoneNumber: (_document$querySelect3 = document.querySelector('#shippingPhoneNumberdefault')) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.value,\n shopperEmail: (_document$querySelect4 = document.querySelector('.customer-summary-email')) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.textContent\n };\n}\nfunction setNode(paymentMethodID) {\n var createNode = function createNode() {\n if (!store.componentsObj[paymentMethodID]) {\n store.componentsObj[paymentMethodID] = {};\n }\n try {\n var _store$checkout;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // ALl nodes created for the checkout component are enriched with shopper personal details\n var node = (_store$checkout = store.checkout).create.apply(_store$checkout, args.concat([{\n data: _objectSpread(_objectSpread({}, getPersonalDetails()), {}, {\n personalDetails: getPersonalDetails()\n }),\n visibility: {\n personalDetails: 'editable',\n billingAddress: 'hidden',\n deliveryAddress: 'hidden'\n }\n }]));\n store.componentsObj[paymentMethodID].node = node;\n store.componentsObj[paymentMethodID].isValid = node.isValid;\n } catch (e) {\n /* No component for payment method */\n }\n };\n return createNode;\n}\nfunction getPaymentMethodID(isStored, paymentMethod) {\n if (isStored) {\n return \"storedCard\".concat(paymentMethod.id);\n }\n if (paymentMethod.type === constants.GIFTCARD) {\n return constants.GIFTCARD;\n }\n if (paymentMethod.brand) {\n return \"\".concat(paymentMethod.type, \"_\").concat(paymentMethod.brand);\n }\n return paymentMethod.type;\n}\nfunction getImage(isStored, paymentMethod) {\n return isStored ? paymentMethod.brand : paymentMethod.type;\n}\nfunction getLabel(isStored, paymentMethod) {\n var label = isStored ? \" \".concat(store.MASKED_CC_PREFIX).concat(paymentMethod.lastFour) : '';\n return \"\".concat(paymentMethod.name).concat(label);\n}\nfunction handleFallbackPayment(_ref) {\n var paymentMethod = _ref.paymentMethod,\n container = _ref.container,\n paymentMethodID = _ref.paymentMethodID;\n var fallback = getFallback(paymentMethod);\n var createTemplate = function createTemplate() {\n var template = document.createElement('template');\n template.innerHTML = fallback;\n container.append(template.content);\n };\n return fallback ? createTemplate() : setNode(paymentMethod.type)(paymentMethodID);\n}\nfunction handlePayment(options) {\n return options.isStored ? setNode(options.paymentMethodID)('card', options.paymentMethod) : handleFallbackPayment(options);\n}\nfunction getListContents(_ref2) {\n var imagePath = _ref2.imagePath,\n isStored = _ref2.isStored,\n paymentMethod = _ref2.paymentMethod,\n description = _ref2.description;\n var paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n var label = getLabel(isStored, paymentMethod);\n var liContents = \"\\n \\n \\n \\n \");\n return description ? \"\".concat(liContents, \"\").concat(description, \"
\") : liContents;\n}\nfunction getImagePath(_ref3) {\n var isStored = _ref3.isStored,\n paymentMethod = _ref3.paymentMethod,\n path = _ref3.path,\n isSchemeNotStored = _ref3.isSchemeNotStored;\n var paymentMethodImage = \"\".concat(path).concat(getImage(isStored, paymentMethod), \".png\");\n var cardImage = \"\".concat(path, \"card.png\");\n return isSchemeNotStored ? cardImage : paymentMethodImage;\n}\nfunction setValid(_ref4) {\n var isStored = _ref4.isStored,\n paymentMethodID = _ref4.paymentMethodID;\n if (isStored && ['bcmc', 'scheme'].indexOf(paymentMethodID) > -1) {\n store.componentsObj[paymentMethodID].isValid = true;\n }\n}\nfunction configureContainer(_ref5) {\n var paymentMethodID = _ref5.paymentMethodID,\n container = _ref5.container;\n container.classList.add('additionalFields');\n container.setAttribute('id', \"component_\".concat(paymentMethodID));\n container.setAttribute('style', 'display:none');\n}\nfunction handleInput(_ref6) {\n var paymentMethodID = _ref6.paymentMethodID;\n var input = document.querySelector(\"#rb_\".concat(paymentMethodID));\n input.onchange = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n helpers.displaySelectedMethod(event.target.value);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n}\nfunction createListItem(rerender, paymentMethodID, liContents) {\n var li;\n if (rerender) {\n li = document.querySelector(\"#rb_\".concat(paymentMethodID)).closest('li');\n } else {\n li = document.createElement('li');\n li.innerHTML = liContents;\n li.classList.add('paymentMethod');\n }\n return li;\n}\nfunction checkIfNodeIsAvailable(_x2) {\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction _checkIfNodeIsAvailable() {\n _checkIfNodeIsAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {\n var isNodeAvailable;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!node.isAvailable) {\n _context3.next = 6;\n break;\n }\n _context3.next = 3;\n return node.isAvailable();\n case 3:\n isNodeAvailable = _context3.sent;\n if (isNodeAvailable) {\n _context3.next = 6;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 6:\n return _context3.abrupt(\"return\", true);\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction appendNodeToContainerIfAvailable(_x3, _x4, _x5, _x6) {\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nfunction _appendNodeToContainerIfAvailable() {\n _appendNodeToContainerIfAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(paymentMethodsUI, li, node, container) {\n var canBeMounted;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!node) {\n _context4.next = 5;\n break;\n }\n _context4.next = 3;\n return checkIfNodeIsAvailable(node);\n case 3:\n canBeMounted = _context4.sent;\n if (canBeMounted) {\n paymentMethodsUI.append(li);\n node.mount(container);\n }\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nmodule.exports.renderPaymentMethod = /*#__PURE__*/function () {\n var _renderPaymentMethod = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(paymentMethod, isStored, path) {\n var description,\n rerender,\n _store$componentsObj$,\n paymentMethodsUI,\n paymentMethodID,\n isSchemeNotStored,\n container,\n options,\n imagePath,\n liContents,\n li,\n _args2 = arguments;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n description = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;\n rerender = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : false;\n _context2.prev = 2;\n paymentMethodsUI = document.querySelector('#paymentMethodsList');\n paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n if (!(paymentMethodID === constants.GIFTCARD)) {\n _context2.next = 7;\n break;\n }\n return _context2.abrupt(\"return\");\n case 7:\n isSchemeNotStored = paymentMethod.type === 'scheme' && !isStored;\n container = document.createElement('div');\n options = {\n container: container,\n paymentMethod: paymentMethod,\n isStored: isStored,\n path: path,\n description: description,\n paymentMethodID: paymentMethodID,\n isSchemeNotStored: isSchemeNotStored\n };\n imagePath = getImagePath(options);\n liContents = getListContents(_objectSpread(_objectSpread({}, options), {}, {\n imagePath: imagePath,\n description: description\n }));\n li = createListItem(rerender, paymentMethodID, liContents);\n handlePayment(options);\n configureContainer(options);\n li.append(container);\n _context2.next = 18;\n return appendNodeToContainerIfAvailable(paymentMethodsUI, li, (_store$componentsObj$ = store.componentsObj[paymentMethodID]) === null || _store$componentsObj$ === void 0 ? void 0 : _store$componentsObj$.node, container);\n case 18:\n if (paymentMethodID === constants.GIROPAY) {\n container.innerHTML = '';\n }\n handleInput(options);\n setValid(options);\n _context2.next = 25;\n break;\n case 23:\n _context2.prev = 23;\n _context2.t0 = _context2[\"catch\"](2);\n case 25:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[2, 23]]);\n }));\n function renderPaymentMethod(_x7, _x8, _x9) {\n return _renderPaymentMethod.apply(this, arguments);\n }\n return renderPaymentMethod;\n}();\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js?"); +eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, \"catch\": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar store = __webpack_require__(/*! ../../../../store */ \"./cartridges/int_adyen_SFRA/cartridge/store/index.js\");\nvar helpers = __webpack_require__(/*! ./helpers */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/helpers.js\");\nvar constants = __webpack_require__(/*! ../constants */ \"./cartridges/int_adyen_SFRA/cartridge/client/default/js/constants.js\");\nfunction getFallback(paymentMethod) {\n var fallback = {};\n if (fallback[paymentMethod.type]) {\n store.componentsObj[paymentMethod.type] = {};\n }\n return fallback[paymentMethod.type];\n}\nfunction getPersonalDetails() {\n var _document$querySelect, _document$querySelect2, _document$querySelect3, _document$querySelect4;\n return {\n firstName: (_document$querySelect = document.querySelector('#shippingFirstNamedefault')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.value,\n lastName: (_document$querySelect2 = document.querySelector('#shippingLastNamedefault')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.value,\n telephoneNumber: (_document$querySelect3 = document.querySelector('#shippingPhoneNumberdefault')) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.value,\n shopperEmail: (_document$querySelect4 = document.querySelector('.customer-summary-email')) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.textContent\n };\n}\nfunction setNode(paymentMethodID) {\n var createNode = function createNode() {\n if (!store.componentsObj[paymentMethodID]) {\n store.componentsObj[paymentMethodID] = {};\n }\n try {\n var _store$checkout;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // ALl nodes created for the checkout component are enriched with shopper personal details\n var node = (_store$checkout = store.checkout).create.apply(_store$checkout, args.concat([{\n data: _objectSpread(_objectSpread({}, getPersonalDetails()), {}, {\n personalDetails: getPersonalDetails()\n }),\n visibility: {\n personalDetails: 'editable',\n billingAddress: 'hidden',\n deliveryAddress: 'hidden'\n }\n }]));\n store.componentsObj[paymentMethodID].node = node;\n store.componentsObj[paymentMethodID].isValid = node.isValid;\n } catch (e) {\n /* No component for payment method */\n }\n };\n return createNode;\n}\nfunction getPaymentMethodID(isStored, paymentMethod) {\n if (isStored) {\n return \"storedCard\".concat(paymentMethod.id);\n }\n if (paymentMethod.type === constants.GIFTCARD) {\n return constants.GIFTCARD;\n }\n if (paymentMethod.brand) {\n return \"\".concat(paymentMethod.type, \"_\").concat(paymentMethod.brand);\n }\n return paymentMethod.type;\n}\nfunction getImage(isStored, paymentMethod) {\n return isStored ? paymentMethod.brand : paymentMethod.type;\n}\nfunction getLabel(isStored, paymentMethod) {\n var label = isStored ? \" \".concat(store.MASKED_CC_PREFIX).concat(paymentMethod.lastFour) : '';\n return \"\".concat(paymentMethod.name).concat(label);\n}\nfunction handleFallbackPayment(_ref) {\n var paymentMethod = _ref.paymentMethod,\n container = _ref.container,\n paymentMethodID = _ref.paymentMethodID;\n var fallback = getFallback(paymentMethod);\n var createTemplate = function createTemplate() {\n var template = document.createElement('template');\n template.innerHTML = fallback;\n container.append(template.content);\n };\n return fallback ? createTemplate() : setNode(paymentMethod.type)(paymentMethodID);\n}\nfunction handlePayment(options) {\n return options.isStored ? setNode(options.paymentMethodID)('card', options.paymentMethod) : handleFallbackPayment(options);\n}\nfunction getListContents(_ref2) {\n var imagePath = _ref2.imagePath,\n isStored = _ref2.isStored,\n paymentMethod = _ref2.paymentMethod,\n description = _ref2.description;\n var paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n var label = getLabel(isStored, paymentMethod);\n var liContents = \"\\n \\n \\n \\n \");\n return description ? \"\".concat(liContents, \"\").concat(description, \"
\") : liContents;\n}\nfunction getImagePath(_ref3) {\n var isStored = _ref3.isStored,\n paymentMethod = _ref3.paymentMethod,\n path = _ref3.path,\n isSchemeNotStored = _ref3.isSchemeNotStored;\n var paymentMethodImage = \"\".concat(path).concat(getImage(isStored, paymentMethod), \".png\");\n var cardImage = \"\".concat(path, \"card.png\");\n return isSchemeNotStored ? cardImage : paymentMethodImage;\n}\nfunction setValid(_ref4) {\n var isStored = _ref4.isStored,\n paymentMethodID = _ref4.paymentMethodID;\n if (isStored && ['bcmc', 'scheme'].indexOf(paymentMethodID) > -1) {\n store.componentsObj[paymentMethodID].isValid = true;\n }\n}\nfunction configureContainer(_ref5) {\n var paymentMethodID = _ref5.paymentMethodID,\n container = _ref5.container;\n container.classList.add('additionalFields');\n container.setAttribute('id', \"component_\".concat(paymentMethodID));\n container.setAttribute('style', 'display:none');\n}\nfunction handleInput(_ref6) {\n var paymentMethodID = _ref6.paymentMethodID;\n var input = document.querySelector(\"#rb_\".concat(paymentMethodID));\n input.onchange = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n helpers.displaySelectedMethod(event.target.value);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n}\nfunction createListItem(rerender, paymentMethodID, liContents) {\n var li;\n if (rerender) {\n li = document.querySelector(\"#rb_\".concat(paymentMethodID)).closest('li');\n } else {\n li = document.createElement('li');\n li.innerHTML = liContents;\n li.classList.add('paymentMethod');\n }\n return li;\n}\nfunction checkIfNodeIsAvailable(_x2) {\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction _checkIfNodeIsAvailable() {\n _checkIfNodeIsAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {\n var isNodeAvailable;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!node.isAvailable) {\n _context3.next = 6;\n break;\n }\n _context3.next = 3;\n return node.isAvailable();\n case 3:\n isNodeAvailable = _context3.sent;\n if (isNodeAvailable) {\n _context3.next = 6;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 6:\n return _context3.abrupt(\"return\", true);\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _checkIfNodeIsAvailable.apply(this, arguments);\n}\nfunction appendNodeToContainerIfAvailable(_x3, _x4, _x5, _x6) {\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nfunction _appendNodeToContainerIfAvailable() {\n _appendNodeToContainerIfAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(paymentMethodsUI, li, node, container) {\n var canBeMounted;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!node) {\n _context4.next = 5;\n break;\n }\n _context4.next = 3;\n return checkIfNodeIsAvailable(node);\n case 3:\n canBeMounted = _context4.sent;\n if (canBeMounted) {\n paymentMethodsUI.append(li);\n node.mount(container);\n }\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _appendNodeToContainerIfAvailable.apply(this, arguments);\n}\nmodule.exports.renderPaymentMethod = /*#__PURE__*/function () {\n var _renderPaymentMethod = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(paymentMethod, isStored, path) {\n var description,\n rerender,\n canRender,\n _store$componentsObj$,\n paymentMethodsUI,\n paymentMethodID,\n isSchemeNotStored,\n container,\n options,\n imagePath,\n liContents,\n li,\n _args2 = arguments;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n description = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;\n rerender = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : false;\n _context2.prev = 2;\n paymentMethodsUI = document.querySelector('#paymentMethodsList');\n paymentMethodID = getPaymentMethodID(isStored, paymentMethod);\n if (!(paymentMethodID === constants.GIFTCARD)) {\n _context2.next = 7;\n break;\n }\n return _context2.abrupt(\"return\");\n case 7:\n isSchemeNotStored = paymentMethod.type === 'scheme' && !isStored;\n container = document.createElement('div');\n options = {\n container: container,\n paymentMethod: paymentMethod,\n isStored: isStored,\n path: path,\n description: description,\n paymentMethodID: paymentMethodID,\n isSchemeNotStored: isSchemeNotStored\n };\n imagePath = getImagePath(options);\n liContents = getListContents(_objectSpread(_objectSpread({}, options), {}, {\n imagePath: imagePath,\n description: description\n }));\n li = createListItem(rerender, paymentMethodID, liContents);\n handlePayment(options);\n configureContainer(options);\n li.append(container);\n _context2.next = 18;\n return appendNodeToContainerIfAvailable(paymentMethodsUI, li, (_store$componentsObj$ = store.componentsObj[paymentMethodID]) === null || _store$componentsObj$ === void 0 ? void 0 : _store$componentsObj$.node, container);\n case 18:\n if (paymentMethodID === constants.GIROPAY) {\n container.innerHTML = '';\n }\n handleInput(options);\n setValid(options);\n canRender = true;\n _context2.next = 27;\n break;\n case 24:\n _context2.prev = 24;\n _context2.t0 = _context2[\"catch\"](2);\n // method not available\n canRender = false;\n case 27:\n return _context2.abrupt(\"return\", canRender);\n case 28:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[2, 24]]);\n }));\n function renderPaymentMethod(_x7, _x8, _x9) {\n return _renderPaymentMethod.apply(this, arguments);\n }\n return renderPaymentMethod;\n}();\n\n//# sourceURL=webpack:///./cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js?"); /***/ }), diff --git a/cartridges/int_adyen_SFRA/cartridge/templates/default/cart/checkoutButtons.isml b/cartridges/int_adyen_SFRA/cartridge/templates/default/cart/checkoutButtons.isml index 978065074..269ba7100 100644 --- a/cartridges/int_adyen_SFRA/cartridge/templates/default/cart/checkoutButtons.isml +++ b/cartridges/int_adyen_SFRA/cartridge/templates/default/cart/checkoutButtons.isml @@ -9,9 +9,9 @@ window.locale = "${request.locale}"; window.saveShopperDetailsURL = "${URLUtils.https('Adyen-SaveExpressShopperDetails')}"; window.returnUrl = "${URLUtils.https('Checkout-Begin', 'stage', 'payment')}"; + window.getPaymentMethodsURL = "${URLUtils.https('Adyen-GetPaymentMethods')}"; - var queryString = '${request.getHttpQueryString()}'.split("="); - var amazonCheckoutSessionId = queryString[queryString.length - 1]; + var amazonCheckoutSessionId ="${pdict.AdyenHelper.encodeHtml(request.getHttpQueryString().split("=").pop())}"; window.amazonCheckoutSessionId = amazonCheckoutSessionId; window.Configuration = { diff --git a/cartridges/int_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml b/cartridges/int_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml index 99319e43f..a7d6c8478 100644 --- a/cartridges/int_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml +++ b/cartridges/int_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml @@ -1,4 +1,5 @@