{"version":3,"file":"express-checkout-button.bundle.js","mappings":"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","sources":["webpack://peachpay-for-woocommerce/./node_modules/tslib/tslib.es6.js","webpack://peachpay-for-woocommerce/./node_modules/url-search-params-polyfill/index.js","webpack://peachpay-for-woocommerce/webpack/bootstrap","webpack://peachpay-for-woocommerce/webpack/runtime/define property getters","webpack://peachpay-for-woocommerce/webpack/runtime/global","webpack://peachpay-for-woocommerce/webpack/runtime/hasOwnProperty shorthand","webpack://peachpay-for-woocommerce/./node_modules/whatwg-fetch/fetch.js","webpack://peachpay-for-woocommerce/./node_modules/formdata-polyfill/formdata.min.js","webpack://peachpay-for-woocommerce/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://peachpay-for-woocommerce/./frontend/polyfills.ts","webpack://peachpay-for-woocommerce/./frontend/express-checkout-button/ts/sdk-checkout.ts","webpack://peachpay-for-woocommerce/./frontend/express-checkout-button/ts/main.ts","webpack://peachpay-for-woocommerce/./frontend/@shared/ts/sentry.ts","webpack://peachpay-for-woocommerce/./frontend/git.ts","webpack://peachpay-for-woocommerce/./frontend/express-checkout-button/ts/sdk-core.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/**\n *\n *\n * @author Jerry Bendy \n * @licence MIT\n *\n */\n\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\n var propValue; \n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n /*\n * Apply polifill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = USPProto.forEach || function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n\n /**\n * Sort all name-value pairs\n */\n USPProto.sort = USPProto.sort || function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.keys = USPProto.keys || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.entries = USPProto.entries || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","/*! formdata-polyfill. MIT License. Jimmy W?rting */\n;(function(){var h;function l(a){var b=0;return function(){return b>>0)+\"_\",e=0;return b});\nr(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;c} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","// IOS Safari/Desktop Safari browsers < 10.3\nimport 'url-search-params-polyfill';\nimport 'whatwg-fetch';\nimport 'formdata-polyfill';\nimport ResizeObservePollyFill from 'resize-observer-polyfill';\n\nwindow.ResizeObserver = window.ResizeObserver || ResizeObservePollyFill;\n\nPromise.allSettled = Promise.allSettled || async function (promises: Array>) {\n\tconst mappedPromises = promises.map(async p => p\n\t\t.then(value => ({\n\t\t\tstatus: 'fulfilled',\n\t\t\tvalue,\n\t\t}))\n\t\t.catch((reason: unknown) => ({\n\t\t\tstatus: 'rejected',\n\t\t\treason,\n\t\t})));\n\treturn Promise.all(mappedPromises);\n};\n\ndeclare global {\n\tinterface FormData {\n\t\t// Not sure why this is needed, but it is -\\_(o_o)_/-\n\t\tentries(): IterableIterator<[string, string]>;\n\t}\n}\n","import {type SDKOptions} from './sdk-core';\n\n/**\n * Internal private API for controlling the Express Checkout iframe\n */\ntype ExpressCheckoutAPI = {\n\tshow(): void;\n\thide(): void;\n\tmaybeMount(): Promise;\n\tonClose(callback: (event: CloseFlags) => void): void;\n};\n\n/**\n * Flags that are sent back from the Express Checkout iframe when it is closed\n */\ntype CloseFlags = {\n\tredirect?: string;\n\treload?: boolean;\n\trefresh?: boolean;\n};\n\n/**\n *\n */\nfunction expressCheckoutInstance(sdkContext: SDKOptions) {\n\tdocument.head.insertAdjacentHTML('afterend', sdkContext.checkoutContainerFragment);\n\n\tconst $iframeContainer = document.querySelector('#peachpay-checkout-container');\n\tif (!$iframeContainer) {\n\t\tthrow new Error('Integration error. The Express Checkout container element is missing.');\n\t}\n\n\tconst $iframeBackdrop = document.querySelector('#peachpay-checkout-backdrop');\n\tif (!$iframeBackdrop) {\n\t\tthrow new Error('Integration error. The Express Checkout backdrop element is missing.');\n\t}\n\n\tconst $loadingSpinner = $iframeBackdrop.querySelector('.loading-spinner');\n\tif (!$loadingSpinner) {\n\t\tthrow new Error('Integration error. The Express Checkout \"loading spinner\" element is missing.');\n\t}\n\n\tconst $slowLoading = $iframeBackdrop.querySelector('.slow-loading');\n\tif (!$slowLoading) {\n\t\tthrow new Error('Integration error. The Express Checkout \"slow loading\" message element is missing.');\n\t}\n\n\tconst $errorLoading = $iframeBackdrop.querySelector('.error-loading');\n\tif (!$errorLoading) {\n\t\tthrow new Error('Integration error. The Express Checkout \"error loading\" message element is missing.');\n\t}\n\n\tconst $closeLoading = $iframeBackdrop.querySelector('.close-loading');\n\tif (!$closeLoading) {\n\t\tthrow new Error('Integration error. The Express Checkout \"close\" button element is missing.');\n\t}\n\n\tlet iframeMountStarted = false;\n\tlet $iframe: HTMLIFrameElement | null = null;\n\n\tconst checkout = {\n\t\t/**\n\t\t * Shows the PeachPay Checkout\n\t\t */\n\t\tshow(): void {\n\t\t\ttry {\n\t\t\t\tlockDocumentBody();\n\n\t\t\t\t$iframeBackdrop.style.display = 'flex';\n\n\t\t\t\t$iframe?.classList.remove('hide');\n\t\t\t\t$iframe?.contentWindow?.focus();\n\n\t\t\t\t$iframe?.contentWindow?.postMessage({type: 'peachpay_checkout_opened'}, location.origin);\n\t\t\t} catch (e) {\n\t\t\t\tsdkContext.errorReporter(e);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Hides the PeachPay Checkout\n\t\t */\n\t\thide(): void {\n\t\t\ttry {\n\t\t\t\tunlockDocumentBody();\n\n\t\t\t\t$iframe?.contentWindow?.blur();\n\t\t\t\t$iframe?.classList.add('out');\n\n\t\t\t\t$iframeBackdrop?.classList?.add('out');\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t$iframeBackdrop.style.display = 'none';\n\t\t\t\t\t$iframeBackdrop?.classList?.remove('out');\n\n\t\t\t\t\t$iframe?.classList.add('hide');\n\t\t\t\t\t$iframe?.classList.remove('out');\n\t\t\t\t}, 500);\n\n\t\t\t\t$iframe?.contentWindow?.postMessage({type: 'peachpay_checkout_closed'}, location.origin);\n\t\t\t} catch (e) {\n\t\t\t\tsdkContext.errorReporter(e);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Mounts the PeachPay Checkout iFrame DOM element if it has not already been mounted. Waits for the iFrame to load before resolving.\n\t\t */\n\t\tasync maybeMount(): Promise {\n\t\t\tif ($iframe || iframeMountStarted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tiframeMountStarted = true;\n\t\t\t$iframe = await new Promise((resolve, reject) => {\n\t\t\t\tconst slowLoadingTimer = setTimeout(() => {\n\t\t\t\t\t$slowLoading.classList.remove('hide');\n\t\t\t\t}, 8000);\n\n\t\t\t\tconst $iframe = document.createElement('iframe');\n\t\t\t\t$iframe.setAttribute('id', 'peachpay-checkout-iframe');\n\t\t\t\t$iframe.setAttribute('title', 'PeachPay Checkout');\n\t\t\t\t$iframe.setAttribute('class', 'hide');\n\n\t\t\t\t$iframe.onload = () => {\n\t\t\t\t\tclearTimeout(slowLoadingTimer);\n\t\t\t\t\t$loadingSpinner.classList.add('hide');\n\t\t\t\t\t$slowLoading.classList.add('hide');\n\t\t\t\t\t$closeLoading.classList.add('hide');\n\t\t\t\t\tresolve($iframe);\n\t\t\t\t};\n\n\t\t\t\t$iframe.onerror = e => {\n\t\t\t\t\tclearTimeout(slowLoadingTimer);\n\t\t\t\t\t$loadingSpinner.classList.add('hide');\n\t\t\t\t\t$slowLoading.classList.add('hide');\n\t\t\t\t\t$errorLoading.classList.remove('hide');\n\t\t\t\t\t$iframe.remove();\n\t\t\t\t\treject(e);\n\t\t\t\t};\n\n\t\t\t\t$iframe.src = sdkContext.checkoutURL;\n\t\t\t\t$iframeBackdrop.insertAdjacentElement('beforeend', $iframe);\n\t\t\t});\n\n\t\t\tif (!$iframeBackdrop.classList.contains('hide')) {\n\t\t\t\t$iframe?.classList.remove('hide');\n\t\t\t\t$iframe?.contentWindow?.focus();\n\t\t\t}\n\n\t\t\twindow.addEventListener('message', e => {\n\t\t\t\tif (e.origin !== location.origin) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.data.type === 'peachpay_checkout_close') {\n\t\t\t\t\tcheckout.hide();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Registers a callback that is called when the PeachPay Checkout is closed\n\t\t */\n\t\tonClose(callback: (event: CloseFlags) => void): void {\n\t\t\twindow.addEventListener('message', e => {\n\t\t\t\tif (e.origin !== location.origin) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.data.type === 'peachpay_checkout_close_flags') {\n\t\t\t\t\tconst data = e.data.data as CloseFlags;\n\t\t\t\t\tcallback(data);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t} satisfies ExpressCheckoutAPI;\n\n\t$closeLoading.addEventListener('click', e => {\n\t\te.preventDefault();\n\t\tcheckout.hide();\n\t});\n\n\tdocument.addEventListener('DOMContentLoaded', () => {\n\t\t// Move the iframe container to the end of the body so we have the\n\t\t// highest z-index priority\n\t\tdocument.body.appendChild($iframeContainer);\n\n\t\t// We wait to eager load here because if the iFrame is removed and\n\t\t// re-added to the DOM then the iFrame will reload which is just a\n\t\t// performance consideration.\n\t\tif (sdkContext.checkoutLoadMode === 'eager') {\n\t\t\tcheckout.maybeMount().catch(sdkContext.errorReporter);\n\t\t}\n\t});\n\n\treturn checkout;\n}\n\nconst handleTouchMove = (e: Event) => {\n\te.preventDefault();\n};\n\nfunction lockDocumentBody() {\n\t// We get the scrollbar width because when the `.peachpay-lock-body` class is applied to the body it\n\t// adds `overflow:hidden` which causes the scrollbar to be removed. To prevent layout shifts we add\n\t// a right padding to the body to equal the scrollbar width.\n\tconst bodyScrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n\tdocument.body.style.setProperty('--peachpay-scrollbar-width', `${bodyScrollBarWidth}px`);\n\tdocument.body.classList.add('peachpay-lock-body');\n\tdocument.body.addEventListener('touchmove', handleTouchMove, false);\n}\n\nfunction unlockDocumentBody() {\n\tdocument.body.classList.remove('peachpay-lock-body');\n\tdocument.body.removeEventListener('touchmove', handleTouchMove, false);\n}\n\nexport {\n\ttype CloseFlags,\n\texpressCheckoutInstance,\n};\n","import {captureSentryException, initSentry} from '../../@shared/ts/sentry';\nimport {PLUGIN_VERSION} from '../../git';\nimport {type PeachPaySDK, peachpaySDK} from './sdk-core';\n\ntype PeachPayButtonData = {\n\tadd_to_cart_url: string;\n\n\texpress_checkout_url: string;\n\texpress_checkout_fragment: string;\n\n\ttranslations: {\n\t\tadd_product_fail: string;\n\t};\n\n\t// This is used to determine if the checkout iframe should be loaded lazily or eagerly. Defaults to \"lazy\".\n\tload_mode?: 'lazy' | 'eager';\n};\n\ndeclare global {\n\tinterface Window {\n\t\tpeachpay_button: PeachPayButtonData;\n\t\tpeachpay: PeachPaySDK;\n\t}\n}\n\ninitSentry(`peachpay-checkout@${PLUGIN_VERSION}`, 'https://39b5a2e17e264bb5a6ea5abe9bc6cf61@o470066.ingest.sentry.io/5660513');\n\nfunction main() {\n\ttry {\n\t\tif (!window.peachpay_button) {\n\t\t\tconsole.warn('PeachPay express checkout not initialized. Missing button configuration.');\n\t\t\treturn;\n\t\t}\n\n\t\twindow.peachpay = peachpaySDK({\n\t\t\tcheckoutURL: window.peachpay_button.express_checkout_url,\n\t\t\tcheckoutContainerFragment: window.peachpay_button.express_checkout_fragment,\n\t\t\terrorReporter: reportError,\n\t\t\tcheckoutLoadMode: window.peachpay_button.load_mode,\n\t\t});\n\n\t\twindow.peachpay.activateButtons();\n\n\t\t// This is the logic used by PeachPay product page buttons. The button needs to submit the \"add to cart\" form using ajax\n\t\t// before opening the PeachPay checkout.\n\t\tlet $peachpayButtonClicked: HTMLButtonElement | null = null;\n\t\tdocument.addEventListener('click', e => {\n\t\t\t$peachpayButtonClicked = (e.target as HTMLElement)?.closest('button[type=\"submit\"][data-peachpay-button=\"true\"][data-activation-trigger=\"manual\"]');\n\t\t});\n\t\tdocument.addEventListener('submit', async e => {\n\t\t\tconst $form = e.target as HTMLFormElement;\n\n\t\t\t// We assign the button here so if a new click event is triggered we do not loose our reference to our button.\n\t\t\tconst $button = $peachpayButtonClicked;\n\t\t\tif (!$button) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\tif ($button.classList.contains('pp-loading')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$button.classList.add('pp-loading');\n\n\t\t\tconst formData = new FormData($form);\n\n\t\t\tif (!formData.has('add-to-cart')) {\n\t\t\t\tformData.set('add-to-cart', $form.querySelector('[name=\"add-to-cart\"]')?.value ?? '');\n\t\t\t}\n\n\t\t\tconst response = await fetch(window.peachpay_button.add_to_cart_url, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData,\n\t\t\t}).catch(() => null);\n\n\t\t\tif (response?.ok) {\n\t\t\t\tdocument.body.dispatchEvent(new CustomEvent('wc_fragment_refresh'));\n\t\t\t\tawait window.peachpay.showCheckout().catch(reportError);\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line no-alert\n\t\t\t\talert(window.peachpay_button.translations.add_product_fail);\n\t\t\t}\n\n\t\t\t$button.classList.remove('pp-loading');\n\t\t});\n\n\t\t// This is the logic used by PeachPay \"Add to cart\" shortcodes and Elementor widget buttons. They sometimes need\n\t\t// to add a product to the cart and this code shows the checkout after the product is added.\n\t\tdocument.addEventListener('click', async e => {\n\t\t\tconst $anchor = (e.target as HTMLElement)?.closest('a[data-peachpay-button=\"true\"][data-activation-trigger=\"shortcode\"]');\n\t\t\tif (!$anchor) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\tif ($anchor.classList.contains('pp-loading')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$anchor.classList.add('pp-loading');\n\n\t\t\t// Note: In the future a optimization could be made here to redirect the actual iframe to this URL. This should not happen until we server\n\t\t\t// render the majority of the express checkout to avoid loading artifacts.\n\t\t\tconst response = await fetch($anchor.href, {method: 'GET'}).catch(() => null);\n\n\t\t\tif (response?.ok) {\n\t\t\t\tdocument.body.dispatchEvent(new CustomEvent('wc_fragment_refresh'));\n\t\t\t\tawait window.peachpay.showCheckout().catch(reportError);\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line no-alert\n\t\t\t\talert(window.peachpay_button.translations.add_product_fail);\n\t\t\t}\n\n\t\t\t$anchor.classList.remove('pp-loading');\n\t\t});\n\n\t\t// When the PeachPay checkout iframe is closed the host page might need redirected, reloaded or refreshed. Here\n\t\t// we define the callback to handle that scenario.\n\t\twindow.peachpay.onClose(flags => {\n\t\t\tif (flags.redirect) {\n\t\t\t\twindow.location.href = flags.redirect;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (flags.reload) {\n\t\t\t\twindow.location.reload();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (flags.refresh) {\n\t\t\t\t// Note: \"update_checkout\" only works on the checkout page. \"wc_fragment_refresh\" works on all\n\t\t\t\t// other pages. We do not need to check which page we are on because triggering the event on the\n\t\t\t\t// wrong page will do nothing. Yay for simplicity!\n\t\t\t\tdocument.body.dispatchEvent(new CustomEvent('wc_fragment_refresh'));\n\t\t\t\tdocument.body.dispatchEvent(new CustomEvent('update_checkout'));\n\t\t\t}\n\t\t});\n\t} catch (e: unknown) {\n\t\treportError(e);\n\t}\n}\n\n/**\n * This function is used to report error's to the console and to Sentry.\n */\nfunction reportError(e: unknown) {\n\tif (e instanceof Error) {\n\t\tcaptureSentryException(e);\n\t}\n\n\tconsole.error(e);\n}\n\nmain();\n","/**\n * Sentry Types. These may not be accurate but we just need typescript happy\n */\ninterface SentryScope {\n\tsetFingerprint(fingerprint: any[]): void;\n\n\t// Debug, error,or other...\n\tsetLevel(level: string): void;\n\tsetExtra(key: string, value: string): void;\n}\n\ninterface SentryHub {\n\tonLoad(callback: () => void): void;\n\tinit(settings: any): void;\n\twithScope(cb: (scope: SentryScope) => void): void;\n\tcaptureException(ex: Error): void;\n\tcaptureMessage(message: string, level?: string): void;\n\tgetCurrentHub(): SentryHub;\n}\n\ndeclare const Sentry: SentryHub;\n\nfunction initSentry(release: string, dsn: string) {\n\tconst isStagingSite = /^(woo|qa|demo|ui-test|theme\\d*)\\.peachpay\\.app/i;\n\tconst isLocalSite = /^(store\\.local|localhost|127\\.0\\.0\\.1)/i;\n\n\tconst isDevelopmentMode = isStagingSite.test(location.hostname) || isLocalSite.test(location.hostname);\n\n\ttry {\n\t\tSentry.onLoad(() => {\n\t\t\tSentry.init({\n\t\t\t\tdsn,\n\t\t\t\tenvironment: isDevelopmentMode ? 'development' : 'production',\n\t\t\t\trelease,\n\t\t\t\tbeforeSend(event: unknown, hint: {originalException: unknown; syntheticException: unknown}) {\n\t\t\t\t\t// All of the PeachPay errors from the PeachPay SDK are atleast an instance of `Error`. We will\n\t\t\t\t\t// exclude everything else which is probably not our exceptions anyways.\n\t\t\t\t\tif (!(hint.originalException instanceof Error)) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// We only want exceptions that come from the Plugin folder \"peachpay-for-woocommerce\" or the page slug \"express-checkout\"\n\t\t\t\t\tif (!hint.originalException.stack?.includes('peachpay-for-woocommerce') && !hint.originalException.stack?.includes('express-checkout')) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn event;\n\t\t\t\t},\n\t\t\t\t// Ignore errors produced by Chrome, Firefox, and Safari upon\n\t\t\t\t// navigating away from a page that has a fetch request in progress.\n\t\t\t\t// See https://forum.sentry.io/t/typeerror-failed-to-fetch-reported-over-and-overe/8447/2\n\t\t\t\tignoreErrors: [\n\t\t\t\t\t'TypeError: Failed to fetch',\n\t\t\t\t\t'TypeError: NetworkError when attempting to fetch resource.',\n\t\t\t\t\t'TypeError: cancelled',\n\t\t\t\t\t'TypeError: cancelado',\n\t\t\t\t\t'TypeError: Abgebrochen',\n\t\t\t\t\t'TypeError: annulé',\n\t\t\t\t\t'Window navigated away',\n\t\t\t\t\t'annullato',\n\t\t\t\t\t'Load failed',\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t} catch {\n\t// Sentry is not present. Do not make things worse!\n\t}\n}\n\n/**\n * Used to capture a exception with sentry\n *\n * @param error The error/exception to report\n * @param extra Details to include with the sentry report\n * @param fingerprint Fingerprint to identify a sequence of events?\n */\nfunction captureSentryException(error: Error, extra?: Record | null, fingerprint?: any[] | null) {\n\ttry {\n\t\tSentry.withScope(scope => {\n\t\t\tif (extra) {\n\t\t\t\t// Attempt extras\n\t\t\t\ttry {\n\t\t\t\t\tObject.entries(extra).forEach(([key, value]) => {\n\t\t\t\t\t\tscope.setExtra(key, value);\n\t\t\t\t\t});\n\t\t\t\t} catch {\n\t\t\t\t\t// Do no harm.\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fingerprint) {\n\t\t\t\t// Attempt Fingerprint\n\t\t\t\ttry {\n\t\t\t\t\tscope.setFingerprint(fingerprint);\n\t\t\t\t} catch {\n\t\t\t\t\t// Do no harm.\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Capture exception with any above set extras and/or fingerprint\n\t\t\tSentry.captureException(error);\n\t\t});\n\t} catch {\n\t\t// Sentry is not present. Don't make things worse.\n\t}\n}\n\nexport {\n\tinitSentry,\n\tcaptureSentryException,\n};\n","declare const __PEACHPAY_GIT_VERSION__: string;\ndeclare const __PEACHPAY_GIT_COMMITHASH__: string;\ndeclare const __PEACHPAY_GIT_BRANCH__: string;\ndeclare const __PEACHPAY_GIT_LASTCOMMITDATETIME__: string;\ndeclare const __PLUGIN_VERSION__: string;\n\nconst VERSION = __PEACHPAY_GIT_VERSION__;\nconst COMMITHASH = __PEACHPAY_GIT_COMMITHASH__;\nconst BRANCH = __PEACHPAY_GIT_BRANCH__;\nconst LASTCOMMITDATETIME = __PEACHPAY_GIT_LASTCOMMITDATETIME__;\n\nconst PLUGIN_VERSION = __PLUGIN_VERSION__;\n\nexport {\n\tVERSION,\n\tCOMMITHASH,\n\tBRANCH,\n\tLASTCOMMITDATETIME,\n\tPLUGIN_VERSION,\n};\n","import '../scss/sdk.scss';\nimport {expressCheckoutInstance} from './sdk-checkout';\n\ninterface SDKOptions {\n\t/**\n\t * The URL to the Express Checkout iframe\n\t */\n\tcheckoutURL: string;\n\n\t/**\n\t * The container fragment for the Express Checkout iframe\n\t */\n\tcheckoutContainerFragment: string;\n\n\t/**\n\t * Controls if the Express Checkout iframe is loaded on page load or when the button is clicked. Defaults to \"lazy\" or when the button is clicked.\n\t */\n\tcheckoutLoadMode?: 'eager' | 'lazy';\n\n\t/**\n\t * Error reporter function. This function is called when an error occurs in the SDK.\n\t */\n\terrorReporter: (error: unknown) => void;\n}\n\n/**\n * SDK to control adding, manipulating, and removing the PeachPay Express Checkout buttons\n */\nfunction peachpaySDK(config: SDKOptions) {\n\tif (!config.checkoutURL) {\n\t\tthrow new Error('Integration error. A Express Checkout URL must be supplied.');\n\t}\n\n\tconst sdkContext = {\n\t\tcheckoutURL: config.checkoutURL,\n\t\tcheckoutContainerFragment: config.checkoutContainerFragment,\n\t\tcheckoutLoadMode: config.checkoutLoadMode ?? 'lazy',\n\t\terrorReporter: config.errorReporter,\n\t} satisfies SDKOptions;\n\n\tconst checkoutAPI = expressCheckoutInstance(sdkContext);\n\n\treturn {\n\t\t/**\n\t\t * Activates all PeachPay buttons on the page that do not have the `data-activation-trigger` attribute defined. If the attribute is defined then the button is activated by alternative means.\n\t\t */\n\t\tactivateButtons() {\n\t\t\tdocument.addEventListener('click', async event => {\n\t\t\t\tconst $target = event.target as HTMLElement;\n\t\t\t\tif (!$target) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $button = $target?.closest('[data-peachpay-button]');\n\t\t\t\tif (!$button || $button?.dataset['activationTrigger']) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif ($button.classList.contains('loading')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$button.classList.add('loading');\n\t\t\t\tcheckoutAPI.show();\n\t\t\t\t$button.classList.remove('loading');\n\n\t\t\t\tawait checkoutAPI.maybeMount().catch(config.errorReporter);\n\t\t\t});\n\t\t},\n\t\tasync showCheckout(): Promise {\n\t\t\tcheckoutAPI.show();\n\t\t\tawait checkoutAPI.maybeMount().catch(config.errorReporter);\n\t\t},\n\t\thideCheckout: checkoutAPI.hide,\n\t\tonClose: checkoutAPI.onClose,\n\t};\n}\n\ntype PeachPaySDK = ReturnType;\n\nexport {\n\ttype SDKOptions,\n\ttype PeachPaySDK,\n\n\tpeachpaySDK,\n};\n"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__read","o","m","r","i","ar","error","self","ampersandTest","nativeURLSearchParams","URLSearchParams","get","isSupportObjectConstructor","a","toString","decodesPlusesCorrectly","__URLSearchParams__","encodesAmpersandsCorrectly","append","prototype","URLSearchParamsPolyfill","iterable","propValue","name","appendTo","dict","has","getAll","slice","hasOwnProperty","set","key","query","encode","join","Proxy","construct","target","args","Function","bind","defineProperty","USPProto","polyfill","forEach","callback","parseToDict","getOwnPropertyNames","sort","k","j","keys","values","items","item","makeIterator","entries","search","str","replace","encodeURIComponent","match","decode","decodeURIComponent","arr","shift","undefined","isArray","indexOf","pairs","split","index","val","JSON","stringify","obj","prop","window","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","d","definition","enumerable","globalThis","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","String","test","toLowerCase","normalizeValue","iteratorFor","Headers","headers","map","Array","header","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","DataView","_bodyArrayBuffer","type","Error","arrayBuffer","isConsumed","byteOffset","text","readAsText","chars","fromCharCode","readArrayBufferAsText","formData","json","parse","oldValue","methods","Request","input","options","method","upcased","url","credentials","mode","signal","toUpperCase","referrer","cache","reParamSearch","Date","getTime","form","trim","bytes","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","DOMException","err","message","stack","constructor","fetch","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","substr","line","parts","responseURL","responseText","setTimeout","ontimeout","onabort","open","href","fixUrl","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","h","l","b","defineProperties","c","w","q","global","Math","configurable","writable","u","A","random","setPrototypeOf","__proto__","B","C","D","E","F","G","s","H","return","J","throw","I","K","L","M","N","O","File","Q","R","S","T","U","navigator","sendBeacon","V","Element","W","toStringTag","lastModified","escape","X","elements","disabled","matches","files","selected","checked","arguments","delete","p","x","_asNative","_blob","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","Y","MapShim","Map","getIndex","some","entry","class_1","__entries__","splice","clear","ctx","_i","_a","isBrowser","global$1","requestAnimationFrame$1","requestAnimationFrame","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","observe","attributes","childList","characterData","subtree","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","props","getWindowOf","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","_this","observation","WeakMap","ResizeObserver","allSettled","promises","mappedPromises","catch","reason","all","expressCheckoutInstance","sdkContext","head","insertAdjacentHTML","checkoutContainerFragment","$iframeContainer","querySelector","$iframeBackdrop","$loadingSpinner","$slowLoading","$errorLoading","$closeLoading","iframeMountStarted","$iframe","checkout","show","bodyScrollBarWidth","innerWidth","style","setProperty","classList","add","handleTouchMove","display","remove","contentWindow","focus","postMessage","origin","errorReporter","hide","blur","maybeMount","slowLoadingTimer","createElement","setAttribute","clearTimeout","src","checkoutURL","insertAdjacentElement","contains","data","onClose","preventDefault","appendChild","checkoutLoadMode","reportError","extra","fingerprint","Sentry","withScope","scope","setExtra","setFingerprint","captureException","captureSentryException","console","release","dsn","isDevelopmentMode","hostname","onLoad","environment","beforeSend","event","hint","originalException","includes","ignoreErrors","initSentry","peachpay_button","warn","peachpay","config","checkoutAPI","activateButtons","$target","$button","closest","dataset","showCheckout","hideCheckout","peachpaySDK","express_checkout_url","express_checkout_fragment","load_mode","$form","add_to_cart_url","dispatchEvent","CustomEvent","alert","translations","add_product_fail","$anchor","flags","reload","main"],"sourceRoot":""}