@alma/widgets 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.modern.js","sources":["../node_modules/core-js/internals/to-integer.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/has.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/redefine.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/define-iterator.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/a-function.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../src/types.ts","../src/utils/polyfills.js","../node_modules/core-js/modules/es.array.from.js","../src/utils/index.ts","../node_modules/core-js/internals/array-from.js","../src/intl/utils.ts","../src/intl/IntlProvider.tsx","../src/utils/filterEligibility.ts","../src/hooks/useFetchEligibility.ts","../src/utils/fetch.ts","../src/components/LoadingIndicator/index.tsx","../src/assets/Cross.tsx","../src/components/Modal/index.tsx","../src/utils/paymentPlanStrings.tsx","../src/Widgets/EligibilityModal/components/EligibilityPlansButtons/index.tsx","../src/Widgets/EligibilityModal/components/Schedule/index.tsx","../src/Widgets/EligibilityModal/components/Info/index.tsx","../src/assets/Logo.tsx","../src/Widgets/EligibilityModal/components/Logo/index.tsx","../src/Widgets/EligibilityModal/components/Title/index.tsx","../src/Widgets/EligibilityModal/DesktopModal/index.tsx","../src/Widgets/EligibilityModal/MobileModal/index.tsx","../src/Widgets/EligibilityModal/index.tsx","../src/Widgets/EligibilityModal/ModalContainer.tsx","../src/components/Loader/index.tsx","../src/Widgets/PaymentPlans/index.tsx","../src/utils/merchantOrderPreferences.ts","../src/hooks/useButtonAnimation.ts","../src/widgets_controller.tsx","../src/consts.ts","../src/index.ts"],"sourcesContent":["var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = {};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","import { ApiMode } from 'consts'\n\nexport type ApiConfig = { domain: ApiMode; merchantId: string }\n\nexport enum widgetTypes {\n PaymentPlans = 'PaymentPlans',\n Modal = 'Modal',\n}\nexport enum apiStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILED = 'failed',\n}\n\nexport type ConfigPlan = {\n installmentsCount: number\n deferredDays?: number\n deferredMonths?: number\n minAmount: number\n maxAmount: number\n}\n\nexport type PaymentPlan = {\n customer_fee: number\n customer_interest: number\n due_date: number\n purchase_amount: number\n total_amount: number\n refunded_interest?: number\n}\nexport type EligibilityPlan = {\n annual_interest_rate?: number\n customer_total_cost_amount: number\n customer_total_cost_bps: number\n deferred_days: number\n deferred_months: number\n eligible: boolean\n installments_count: number\n payment_plan: PaymentPlan[]\n purchase_amount: number\n}\nexport type EligibilityPlanToDisplay = EligibilityPlan & {\n minAmount?: number\n maxAmount?: number\n}\n\nexport enum Locale {\n en = 'en',\n fr = 'fr',\n de = 'de',\n it = 'it',\n es = 'es',\n nl = 'nl',\n 'nl-NL' = 'nl-NL',\n 'nl-BE' = 'nl-BE',\n}\n\nexport type PaymentPlanWidgetOptions = {\n container: string\n purchaseAmount: number\n plans?: ConfigPlan[]\n transitionDelay?: number\n suggestedPaymentPlan?: number | number[]\n hideIfNotEligible?: boolean\n locale?: Locale\n}\n\nexport type ModalOptions = {\n container: string\n clickableSelector: string\n purchaseAmount: number\n plans?: ConfigPlan[]\n locale?: Locale\n}\n\nexport type WidgetNames = keyof typeof widgetTypes\n\nexport type WidgetOptions = PaymentPlanWidgetOptions | ModalOptions\n","/* eslint-disable */\n\n/*\n * Element.prototype.closest & Element.prototype.matches polyfills\n */\n\n;(function (ElementProto) {\n if (typeof ElementProto.matches !== 'function') {\n ElementProto.matches =\n ElementProto.msMatchesSelector ||\n ElementProto.mozMatchesSelector ||\n ElementProto.webkitMatchesSelector ||\n function matches(selector) {\n var element = this\n var elements = (element.document || element.ownerDocument).querySelectorAll(selector)\n var index = 0\n\n while (elements[index] && elements[index] !== element) {\n ++index\n }\n\n return Boolean(elements[index])\n }\n }\n\n if (typeof ElementProto.closest !== 'function') {\n ElementProto.closest = function closest(selector) {\n var element = this\n\n while (element && element.nodeType === 1) {\n if (element.matches(selector)) {\n return element\n }\n\n element = element.parentNode\n }\n\n return null\n }\n }\n})(window.Element.prototype)\n\n/*\n * Element.prototype.classList polyfill\n */\n\n// 1. String.prototype.trim polyfill\nif (!''.trim)\n String.prototype.trim = function () {\n return this.replace(/^[\\s]+|[\\s]+$/g, '')\n }\n;(function (window) {\n 'use strict' // prevent global namespace pollution\n if (!window.DOMException)\n (DOMException = function (reason) {\n this.message = reason\n }).prototype = new Error()\n var wsRE = /[\\11\\12\\14\\15\\40]/,\n wsIndex = 0,\n checkIfValidClassListEntry = function (O, V) {\n if (V === '')\n throw new DOMException(\n \"Failed to execute '\" + O + \"' on 'DOMTokenList': The token provided must not be empty.\"\n )\n if ((wsIndex = V.search(wsRE)) !== -1)\n throw new DOMException(\n \"Failed to execute '\" +\n O +\n \"' on 'DOMTokenList': \" +\n \"The token provided ('\" +\n V[wsIndex] +\n \"') contains HTML space characters, which are not valid in tokens.\"\n )\n }\n // 2. Implement the barebones DOMTokenList livelyness polyfill\n if (typeof DOMTokenList !== 'function')\n (function (window) {\n var document = window.document,\n Object = window.Object,\n hasOwnProp = Object.prototype.hasOwnProperty\n var defineProperty = Object.defineProperty,\n allowTokenListConstruction = 0,\n skipPropChange = 0\n\n var DOMTokenList = function () {\n if (!allowTokenListConstruction) throw TypeError('Illegal constructor') // internally let it through\n }\n\n DOMTokenList.prototype.toString = DOMTokenList.prototype.toLocaleString = function () {\n return this.value\n }\n DOMTokenList.prototype.add = function () {\n a: for (\n var v = 0, argLen = arguments.length, val = '', ele = this[' uCL'], proto = ele[' uCLp'];\n v !== argLen;\n ++v\n ) {\n ;(val = arguments[v] + ''), checkIfValidClassListEntry('add', val)\n for (var i = 0, Len = proto.length, resStr = val; i !== Len; ++i)\n if (this[i] === val) continue a\n else resStr += ' ' + this[i]\n ;(this[Len] = val), (proto.length += 1), (proto.value = resStr)\n }\n ;(skipPropChange = 1), (ele.className = proto.value), (skipPropChange = 0)\n }\n DOMTokenList.prototype.remove = function () {\n for (\n var v = 0, argLen = arguments.length, val = '', ele = this[' uCL'], proto = ele[' uCLp'];\n v !== argLen;\n ++v\n ) {\n ;(val = arguments[v] + ''), checkIfValidClassListEntry('remove', val)\n for (var i = 0, Len = proto.length, resStr = '', is = 0; i !== Len; ++i)\n if (is) {\n this[i - 1] = this[i]\n } else {\n if (this[i] !== val) {\n resStr += this[i] + ' '\n } else {\n is = 1\n }\n }\n if (!is) continue\n delete this[Len], (proto.length -= 1), (proto.value = resStr)\n }\n ;(skipPropChange = 1), (ele.className = proto.value), (skipPropChange = 0)\n }\n window.DOMTokenList = DOMTokenList\n\n function whenPropChanges() {\n var evt = window.event,\n prop = evt.propertyName\n if (\n !skipPropChange &&\n (prop === 'className' || (prop === 'classList' && !defineProperty))\n ) {\n var target = evt.srcElement,\n protoObjProto = target[' uCLp'],\n strval = '' + target[prop]\n var tokens = strval.trim().split(wsRE),\n resTokenList = target[prop === 'classList' ? ' uCL' : 'classList']\n var oldLen = protoObjProto.length\n a: for (\n var cI = 0, cLen = (protoObjProto.length = tokens.length), sub = 0;\n cI !== cLen;\n ++cI\n ) {\n for (var innerI = 0; innerI !== cI; ++innerI)\n if (tokens[innerI] === tokens[cI]) {\n sub++\n continue a\n }\n resTokenList[cI - sub] = tokens[cI]\n }\n for (var i = cLen - sub; i < oldLen; ++i) delete resTokenList[i] //remove trailing indexs\n if (prop !== 'classList') return\n ;(skipPropChange = 1), (target.classList = resTokenList), (target.className = strval)\n ;(skipPropChange = 0), (resTokenList.length = tokens.length - sub)\n }\n }\n\n function polyfillClassList(ele) {\n if (!ele || !('innerHTML' in ele)) throw TypeError('Illegal invocation')\n ele.detachEvent('onpropertychange', whenPropChanges) // prevent duplicate handler infinite loop\n allowTokenListConstruction = 1\n try {\n var protoObj = function () {}\n\n protoObj.prototype = new DOMTokenList()\n } finally {\n allowTokenListConstruction = 0\n }\n var protoObjProto = protoObj.prototype,\n resTokenList = new protoObj()\n a: for (\n var toks = ele.className.trim().split(wsRE), cI = 0, cLen = toks.length, sub = 0;\n cI !== cLen;\n ++cI\n ) {\n for (var innerI = 0; innerI !== cI; ++innerI)\n if (toks[innerI] === toks[cI]) {\n sub++\n continue a\n }\n this[cI - sub] = toks[cI]\n }\n ;(protoObjProto.length = cLen - sub),\n (protoObjProto.value = ele.className),\n (protoObjProto[' uCL'] = ele)\n if (defineProperty) {\n defineProperty(ele, 'classList', {\n // IE8 & IE9 allow defineProperty on the DOM\n enumerable: 1,\n get: function () {\n return resTokenList\n },\n configurable: 0,\n set: function (newVal) {\n ;(skipPropChange = 1),\n (ele.className = protoObjProto.value = newVal += ''),\n (skipPropChange = 0)\n var toks = newVal.trim().split(wsRE),\n oldLen = protoObjProto.length\n a: for (\n var cI = 0, cLen = (protoObjProto.length = toks.length), sub = 0;\n cI !== cLen;\n ++cI\n ) {\n for (var innerI = 0; innerI !== cI; ++innerI)\n if (toks[innerI] === toks[cI]) {\n sub++\n continue a\n }\n resTokenList[cI - sub] = toks[cI]\n }\n for (var i = cLen - sub; i < oldLen; ++i) delete resTokenList[i] //remove trailing indexs\n },\n })\n defineProperty(ele, ' uCLp', {\n // for accessing the hidden prototype\n enumerable: 0,\n configurable: 0,\n writeable: 0,\n value: protoObj.prototype,\n })\n defineProperty(protoObjProto, ' uCL', {\n enumerable: 0,\n configurable: 0,\n writeable: 0,\n value: ele,\n })\n } else {\n ;(ele.classList = resTokenList),\n (ele[' uCL'] = resTokenList),\n (ele[' uCLp'] = protoObj.prototype)\n }\n ele.attachEvent('onpropertychange', whenPropChanges)\n }\n\n try {\n // Much faster & cleaner version for IE8 & IE9:\n // Should work in IE8 because Element.prototype instanceof Node is true according to the specs\n window.Object.defineProperty(window.Element.prototype, 'classList', {\n enumerable: 1,\n get: function (val) {\n if (!hasOwnProp.call(this, 'classList')) polyfillClassList(this)\n return this.classList\n },\n configurable: 0,\n set: function (val) {\n this.className = val\n },\n })\n } catch (e) {\n // Less performant fallback for older browsers (IE 6-8):\n window[' uCL'] = polyfillClassList\n // the below code ensures polyfillClassList is applied to all current and future elements in the doc.\n document.documentElement.firstChild.appendChild(\n document.createElement('style')\n ).styleSheet.cssText =\n '_*{x-uCLp:expression(!this.hasOwnProperty(\"classList\")&&window[\" uCL\"](this))}' + // IE6\n '[class]{x-uCLp/**/:expression(!this.hasOwnProperty(\"classList\")&&window[\" uCL\"](this))}' //IE7-8\n }\n })(window)\n // 3. Patch in unsupported methods in DOMTokenList\n ;(function (DOMTokenListProto, testClass) {\n if (!DOMTokenListProto.item)\n DOMTokenListProto.item = function (i) {\n function NullCheck(n) {\n return n === void 0 ? null : n\n }\n\n return NullCheck(this[i])\n }\n if (!DOMTokenListProto.toggle || testClass.toggle('a', 0) !== false)\n DOMTokenListProto.toggle = function (val) {\n if (arguments.length > 1) return this[arguments[1] ? 'add' : 'remove'](val), !!arguments[1]\n var oldValue = this.value\n return this.remove(oldValue), oldValue === this.value && (this.add(val), true) /*|| false*/\n }\n if (!DOMTokenListProto.replace || typeof testClass.replace('a', 'b') !== 'boolean')\n DOMTokenListProto.replace = function (oldToken, newToken) {\n checkIfValidClassListEntry('replace', oldToken),\n checkIfValidClassListEntry('replace', newToken)\n var oldValue = this.value\n return this.remove(oldToken), this.value !== oldValue && (this.add(newToken), true)\n }\n if (!DOMTokenListProto.contains)\n DOMTokenListProto.contains = function (value) {\n for (var i = 0, Len = this.length; i !== Len; ++i) if (this[i] === value) return true\n return false\n }\n if (!DOMTokenListProto.forEach)\n DOMTokenListProto.forEach = function (f) {\n if (arguments.length === 1)\n for (var i = 0, Len = this.length; i !== Len; ++i) f(this[i], i, this)\n else\n for (var i = 0, Len = this.length, tArg = arguments[1]; i !== Len; ++i)\n f.call(tArg, this[i], i, this)\n }\n if (!DOMTokenListProto.entries)\n DOMTokenListProto.entries = function () {\n var nextIndex = 0,\n that = this\n return {\n next: function () {\n return nextIndex < that.length\n ? {\n value: [nextIndex, that[nextIndex]],\n done: false,\n }\n : { done: true }\n },\n }\n }\n if (!DOMTokenListProto.values)\n DOMTokenListProto.values = function () {\n var nextIndex = 0,\n that = this\n return {\n next: function () {\n return nextIndex < that.length\n ? { value: that[nextIndex], done: false }\n : { done: true }\n },\n }\n }\n if (!DOMTokenListProto.keys)\n DOMTokenListProto.keys = function () {\n var nextIndex = 0,\n that = this\n return {\n next: function () {\n return nextIndex < that.length ? { value: nextIndex, done: false } : { done: true }\n },\n }\n }\n })(window.DOMTokenList.prototype, window.document.createElement('div').classList)\n})(window)\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","export function priceToCents(price: number): number {\n return Math.round(price * 100)\n}\n\nexport function priceFromCents(cents: number): number {\n return Number((cents / 100).toFixed(2))\n}\n\nexport function formatCents(cents: number): string {\n return String(priceFromCents(cents)).replace('.', ',')\n}\n\nexport const secondsToMilliseconds = (date: number): number => date * 1000\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","import messagesDE from 'intl/messages/messages.de.json'\nimport messagesEN from 'intl/messages/messages.en.json'\nimport messagesES from 'intl/messages/messages.es.json'\nimport messagesFR from 'intl/messages/messages.fr.json'\nimport messagesIT from 'intl/messages/messages.it.json'\nimport messagesNL from 'intl/messages/messages.nl.json'\nimport { Locale } from 'types'\n\nexport const getTranslationsByLocale = (locale: Locale): Record<string, string> => {\n switch (locale) {\n case Locale.fr:\n return messagesFR\n case Locale.en:\n return messagesEN\n case Locale.es:\n return messagesES\n case Locale.it:\n return messagesIT\n case Locale.de:\n return messagesDE\n case Locale.nl:\n case Locale['nl-BE']:\n case Locale['nl-NL']:\n return messagesNL\n default:\n return messagesEN\n }\n}\n","import React, { FC, ReactNode } from 'react'\nimport { IntlProvider } from 'react-intl'\nimport { Locale } from 'types'\nimport { getTranslationsByLocale } from './utils'\n\ntype Props = { children: ReactNode; locale: Locale }\n\nconst Provider: FC<Props> = ({ children, locale }) => (\n <IntlProvider messages={getTranslationsByLocale(locale)} locale={locale} defaultLocale=\"en\">\n {children}\n </IntlProvider>\n)\n\nexport default Provider\n","import { ConfigPlan, EligibilityPlan, EligibilityPlanToDisplay } from 'types'\n\nconst filterELigibility = (\n eligibilities: EligibilityPlan[],\n configPlans?: ConfigPlan[],\n): EligibilityPlanToDisplay[] => {\n // Remove p1x\n const filteredEligibilityPlans = eligibilities.filter(\n (plan) =>\n !(plan.installments_count === 1 && plan.deferred_days === 0 && plan.deferred_months === 0),\n )\n\n // If no configPlans was provided, return eligibility response\n if (!configPlans) {\n return filteredEligibilityPlans\n }\n\n // Else check if the plan is eligible regarding the related configPlan\n return filteredEligibilityPlans.map((plan) => {\n const eligibilityDeferredDays =\n (plan.deferred_months ? plan.deferred_months : 0) * 30 +\n (plan.deferred_days ? plan.deferred_days : 0)\n\n // find the related configPlan\n const relatedConfigPlan = configPlans.find((configPlan) => {\n const configPlanDeferredDays =\n (configPlan.deferredMonths ? configPlan.deferredMonths : 0) * 30 +\n (configPlan.deferredDays ? configPlan.deferredDays : 0)\n return (\n plan.installments_count === configPlan.installmentsCount &&\n eligibilityDeferredDays === configPlanDeferredDays\n )\n })\n return {\n ...plan,\n eligible: relatedConfigPlan\n ? plan.purchase_amount >= relatedConfigPlan?.minAmount &&\n plan.purchase_amount <= relatedConfigPlan?.maxAmount\n : false,\n minAmount: relatedConfigPlan?.minAmount,\n maxAmount: relatedConfigPlan?.maxAmount,\n }\n })\n}\n\nexport default filterELigibility\n","import { useEffect, useState } from 'react'\nimport { ApiConfig, apiStatus, ConfigPlan, EligibilityPlan } from 'types'\nimport { fetchFromApi } from 'utils/fetch'\nimport filterELigibility from 'utils/filterEligibility'\n\nconst useFetchEligibility = (\n purchaseAmount: number,\n { domain, merchantId }: ApiConfig,\n plans?: ConfigPlan[],\n): [EligibilityPlan[], apiStatus] => {\n const [eligibility, setEligibility] = useState([] as EligibilityPlan[])\n const [status, setStatus] = useState(apiStatus.PENDING)\n const configInstallments = plans?.map((plan) => ({\n installments_count: plan.installmentsCount,\n deferred_days: plan?.deferredDays,\n deferred_months: plan?.deferredMonths,\n }))\n useEffect(() => {\n if (status === apiStatus.PENDING) {\n fetchFromApi(\n domain + '/v2/payments/eligibility',\n {\n purchase_amount: purchaseAmount,\n queries: configInstallments,\n },\n {\n Authorization: `Alma-Merchant-Auth ${merchantId}`,\n },\n )\n .then((res) => {\n setEligibility(res)\n setStatus(apiStatus.SUCCESS)\n })\n .catch(() => {\n setStatus(apiStatus.FAILED)\n })\n }\n }, [status])\n\n return [filterELigibility(eligibility, plans), status]\n}\nexport default useFetchEligibility\n","import { EligibilityPlan } from 'types'\n\nexport async function fetchFromApi(\n url = '',\n data: { [key: string]: unknown },\n headers?: { [key: string]: unknown },\n): Promise<EligibilityPlan[]> {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n body: JSON.stringify(data),\n })\n return response.json()\n}\n","import cx from 'classnames'\nimport React, { VoidFunctionComponent } from 'react'\nimport s from './LoadingIndicator.module.css'\n\nconst LoadingIndicator: VoidFunctionComponent<{ className?: string }> = ({ className }) => {\n return (\n <div className={cx(s.loadingIndicator, className)} data-testid=\"loader\">\n <div className={s.letter}>a</div>\n <div className={s.bar} />\n </div>\n )\n}\n\nexport default LoadingIndicator\n","import React from 'react'\nfunction CrossIcon({\n color = '#fff',\n className,\n}: {\n color?: string\n className?: string\n}): JSX.Element {\n return (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.5964 11.404L9.41445 8.22205L12.5964 5.04007C12.7732 4.86329 12.7732 4.50974 12.5964 4.33296L11.8893 3.62585C11.6904 3.42698 11.359 3.44908 11.1822 3.62585L8.00023 6.80783L4.81825 3.62585C4.61938 3.42698 4.28792 3.44908 4.11114 3.62585L3.40404 4.33296C3.20516 4.53183 3.20516 4.84119 3.40404 5.04007L6.58602 8.22205L3.40404 11.404C3.20516 11.6029 3.20517 11.9123 3.40404 12.1111L4.11115 12.8182C4.28792 12.995 4.61938 13.0171 4.81825 12.8182L8.00023 9.63626L11.1822 12.8182C11.359 12.995 11.6904 13.0171 11.8893 12.8182L12.5964 12.1111C12.7732 11.9344 12.7732 11.5808 12.5964 11.404Z\"\n fill={color}\n />\n </svg>\n )\n}\n\nexport default CrossIcon\n","import { FunctionComponent, ReactNode } from 'react'\nimport Modal from 'react-modal'\nimport React from 'react'\nimport noScroll from 'no-scroll'\nimport cx from 'classnames'\n\nimport s from './Modal.module.css'\nimport CrossIcon from 'assets/Cross'\n\nexport type Props = Modal.Props & {\n children: ReactNode\n isOpen: boolean\n onClose: () => void\n className?: string\n contentClassName?: string\n scrollable?: boolean\n}\n\nconst ControlledModal: FunctionComponent<Props> = ({\n children,\n isOpen,\n onClose,\n className,\n contentClassName,\n scrollable = false,\n ...props\n}) => {\n if (process.env.NODE_ENV !== 'test') Modal.setAppElement('body')\n\n return (\n <Modal\n className={cx(s.modal, className)}\n overlayClassName={s.overlay}\n onAfterOpen={() => {\n noScroll.on()\n }}\n onAfterClose={() => {\n noScroll.off()\n }}\n onRequestClose={onClose}\n isOpen={isOpen}\n shouldCloseOnOverlayClick\n shouldCloseOnEsc\n {...props}\n >\n <div className={s.header}>\n <button onClick={onClose} className={s.closeButton} data-testid=\"modal-close-button\">\n <CrossIcon />\n </button>\n </div>\n <div className={cx(s.content, contentClassName, { [s.contentScrollable]: scrollable })}>\n {children}\n </div>\n </Modal>\n )\n}\n\nexport default ControlledModal\n","import { secondsToMilliseconds } from 'date-fns'\nimport React, { ReactNode } from 'react'\nimport { FormattedDate, FormattedMessage, FormattedNumber } from 'react-intl'\nimport { EligibilityPlan, EligibilityPlanToDisplay } from 'types'\nimport { priceFromCents } from 'utils'\n\nexport const paymentPlanShorthandName = (payment: EligibilityPlan): ReactNode => {\n const { deferred_days, deferred_months, installments_count: installmentsCount } = payment\n const deferredDaysCount = deferred_days + deferred_months * 30\n\n if (installmentsCount === 1) {\n return (\n <FormattedMessage\n id=\"payment-plan-strings.day-abbreviation\"\n defaultMessage=\"J{numberOfDeferredDays}\"\n values={{\n numberOfDeferredDays: deferredDaysCount > 0 ? `+${deferredDaysCount}` : '',\n }}\n />\n )\n } else {\n return `${installmentsCount}x`\n }\n}\n\nexport const paymentPlanInfoText = (payment: EligibilityPlanToDisplay): ReactNode => {\n const {\n deferred_days,\n deferred_months,\n installments_count: installmentsCount,\n eligible,\n purchase_amount: purchaseAmount,\n minAmount = 0,\n maxAmount = 0,\n } = payment\n const deferredDaysCount = deferred_days + deferred_months * 30\n\n const withNoFee = () => {\n if (\n payment.payment_plan.every((plan) => plan.customer_fee === 0 && plan.customer_interest === 0)\n ) {\n return (\n <>\n {' '}\n <FormattedMessage id=\"payment-plan-strings.no-fee\" defaultMessage={'(sans frais)'} />\n </>\n )\n }\n }\n\n if (!eligible) {\n return purchaseAmount > maxAmount ? (\n <FormattedMessage\n id=\"payment-plan-strings.ineligible-greater-than-max\"\n defaultMessage=\"Jusqu'à {maxAmount}\"\n values={{\n maxAmount: (\n <FormattedNumber value={priceFromCents(maxAmount)} style=\"currency\" currency=\"EUR\" />\n ),\n }}\n />\n ) : (\n <FormattedMessage\n id=\"payment-plan-strings.ineligible-lower-than-min\"\n defaultMessage=\"À partir de {minAmount}\"\n values={{\n minAmount: (\n <FormattedNumber value={priceFromCents(minAmount)} style=\"currency\" currency=\"EUR\" />\n ),\n }}\n />\n )\n } else if (deferredDaysCount !== 0 && installmentsCount === 1) {\n return (\n <>\n <FormattedMessage\n id=\"payment-plan-strings.deferred\"\n defaultMessage=\"{totalAmount} à payer le {dueDate}\"\n values={{\n totalAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[0].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n dueDate: (\n <FormattedDate\n value={secondsToMilliseconds(payment.payment_plan[0].due_date)}\n day=\"numeric\"\n month=\"long\"\n year=\"numeric\"\n />\n ),\n }}\n />\n {withNoFee()}\n </>\n )\n } else if (installmentsCount > 0) {\n const areInstallmentsOfSameAmount = payment.payment_plan.every(\n (installment, index) =>\n index === 0 || installment.total_amount === payment.payment_plan[0].total_amount,\n )\n\n if (areInstallmentsOfSameAmount) {\n return (\n <>\n <FormattedMessage\n id=\"payment-plan-strings.multiple-installments-same-amount\"\n defaultMessage=\"{installmentsCount} x {totalAmount}\"\n values={{\n totalAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[0].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n installmentsCount,\n }}\n />\n {withNoFee()}\n </>\n )\n }\n\n return (\n <>\n <FormattedMessage\n id=\"payment-plan-strings.multiple-installments\"\n defaultMessage=\"{numberOfRemainingInstallments, plural, one {{firstInstallmentAmount} puis {numberOfRemainingInstallments} x {othersInstallmentAmount}} other {{firstInstallmentAmount} puis {numberOfRemainingInstallments} x {othersInstallmentAmount}}}\"\n values={{\n firstInstallmentAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[0].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n numberOfRemainingInstallments: installmentsCount - 1,\n othersInstallmentAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[1].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n }}\n />\n {withNoFee()}\n </>\n )\n }\n return (\n <FormattedMessage\n id=\"payment-plan-strings.default-message\"\n defaultMessage=\"Payez en plusieurs fois avec Alma\"\n />\n )\n}\n","import React, { FC } from 'react'\nimport cx from 'classnames'\nimport { EligibilityPlan } from 'types'\n\nimport { paymentPlanShorthandName } from 'utils/paymentPlanStrings'\nimport s from './EligibilityPlansButtons.module.css'\n\nconst EligibilityPlansButtons: FC<{\n eligibilityPlans: EligibilityPlan[]\n currentPlanIndex: number\n setCurrentPlanIndex: (index: number) => void\n}> = ({ eligibilityPlans, currentPlanIndex, setCurrentPlanIndex }) => (\n <div className={s.buttons}>\n {eligibilityPlans.map((eligibilityPlan, index) => (\n <button\n key={index}\n className={cx({ [s.active]: index === currentPlanIndex })}\n onClick={() => setCurrentPlanIndex(index)}\n >\n {paymentPlanShorthandName(eligibilityPlan)}\n </button>\n ))}\n </div>\n)\n\nexport default EligibilityPlansButtons\n","import React, { FC } from 'react'\nimport cx from 'classnames'\nimport { FormattedDate, FormattedMessage, FormattedNumber, useIntl } from 'react-intl'\nimport { EligibilityPlan } from 'types'\nimport { priceFromCents } from 'utils'\nimport { isToday } from 'date-fns'\n\nimport s from './Schedule.module.css'\n\nconst Schedule: FC<{ currentPlan: EligibilityPlan }> = ({ currentPlan }) => {\n const total =\n currentPlan &&\n priceFromCents(currentPlan.purchase_amount + currentPlan.customer_total_cost_amount)\n const creditCost = currentPlan ? priceFromCents(currentPlan.customer_total_cost_amount) : 0\n const TAEG = currentPlan?.annual_interest_rate && currentPlan.annual_interest_rate / 10000\n const customerFees = priceFromCents(currentPlan ? currentPlan.customer_total_cost_amount : 0)\n const isCredit = currentPlan && currentPlan.installments_count > 4\n const intl = useIntl()\n\n return (\n <div className={s.schedule} data-testid=\"modal-installments-element\">\n <div className={cx(s.scheduleLine, s.total)}>\n <span>\n <FormattedMessage id=\"eligibility-modal.total\" defaultMessage=\"Total\" />\n </span>\n <span>\n <FormattedNumber value={total} style=\"currency\" currency=\"EUR\" />\n </span>\n </div>\n <div className={cx(s.scheduleLine, s.creditCost)}>\n {isCredit ? (\n <span>\n <FormattedMessage\n id=\"eligibility-modal.credit-cost\"\n defaultMessage=\"Dont coût du crédit\"\n />\n </span>\n ) : (\n <span>\n <FormattedMessage id=\"eligibility-modal.cost\" defaultMessage=\"Dont frais\" />\n </span>\n )}\n <span>\n {isCredit ? (\n <FormattedMessage\n id=\"eligibility-modal.credit-cost-amount\"\n defaultMessage=\"{creditCost} (TAEG {TAEG})\"\n values={{\n creditCost: intl.formatNumber(creditCost, {\n style: 'currency',\n currency: 'EUR',\n }),\n TAEG: intl.formatNumber(TAEG ?? 0, {\n style: 'percent',\n maximumFractionDigits: 2,\n }),\n }}\n />\n ) : (\n <FormattedNumber value={customerFees} style=\"currency\" currency=\"EUR\" />\n )}\n </span>\n </div>\n {(currentPlan?.payment_plan || []).map((installment, index) => (\n <div className={s.scheduleLine} key={index}>\n <span>\n {isToday(installment.due_date * 1000) ? (\n <FormattedMessage id=\"installments.today\" defaultMessage=\"Aujourd'hui\" />\n ) : (\n <FormattedDate\n value={installment.due_date * 1000}\n day=\"numeric\"\n month=\"long\"\n year=\"numeric\"\n />\n )}\n </span>\n <span>\n <FormattedNumber\n value={priceFromCents(installment.total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n </span>\n </div>\n ))}\n {isCredit && (\n <p className={s.creditMessage}>\n <FormattedMessage\n id=\"eligibility-modal.credit-commitment\"\n defaultMessage=\"Un crédit vous engage et doit être remboursé. Vérifiez vos capacités de remboursement\n avant de vous engager.\"\n />\n </p>\n )}\n </div>\n )\n}\n\nexport default Schedule\n","import React, { FC } from 'react'\nimport { FormattedMessage } from 'react-intl'\n\nimport s from './Info.module.css'\n\nconst Info: FC = () => (\n <div className={s.list} data-testid=\"modal-info-element\">\n <div className={s.listItem}>\n <div className={s.bullet}>1</div>\n <div>\n <FormattedMessage\n id=\"eligibility-modal.bullet-1\"\n defaultMessage=\"Choisissez <strong>Alma</strong> au moment du paiement.\"\n values={{ strong: (...chunks: string[]) => <strong>{chunks}</strong> }}\n />\n </div>\n </div>\n <div className={s.listItem}>\n <div className={s.bullet}>2</div>\n <div>\n <FormattedMessage\n id=\"eligibility-modal.bullet-2\"\n defaultMessage=\"Renseignez les <strong>informations</strong> demandées.\"\n values={{ strong: (...chunks: string[]) => <strong>{chunks}</strong> }}\n />\n </div>\n </div>\n <div className={s.listItem}>\n <div className={s.bullet}>3</div>\n <div>\n <FormattedMessage\n id=\"eligibility-modal.bullet-3\"\n defaultMessage=\"La validation de votre paiement <strong>instantanée</strong> !\"\n values={{ strong: (...chunks: string[]) => <strong>{chunks}</strong> }}\n />\n </div>\n </div>\n </div>\n)\n\nexport default Info\n","import React from 'react'\n\ntype Props = {\n color?: string\n className?: string\n underlineColor?: string\n}\n\nfunction LogoIcon({\n color = '#00425D',\n underlineColor = '#00425D',\n className,\n}: Props): JSX.Element {\n return (\n <svg\n className={className}\n width=\"35\"\n height=\"23\"\n viewBox=\"0 0 40 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.38546 10.1313V10.029H4.92542C4.23835 10.029 3.72877 10.0972 3.39668 10.2337C3.07605 10.3587 2.91573 10.6374 2.91573 11.0695C2.91573 11.7177 3.37378 12.0418 4.28988 12.0418C5.05711 12.0418 5.59532 11.8826 5.9045 11.5642C6.22514 11.2344 6.38546 10.7568 6.38546 10.1313ZM3.72304 13.9182C2.64663 13.9182 1.85076 13.6567 1.33546 13.1335C0.820153 12.599 0.5625 11.911 0.5625 11.0695C0.5625 10.0574 0.894586 9.32958 1.55876 8.88606C2.22293 8.43118 3.23636 8.20374 4.59906 8.20374H6.38546V7.82846C6.38546 6.98693 5.84725 6.56616 4.77083 6.56616C3.80893 6.56616 3.27644 6.93007 3.17338 7.65788H0.768622C0.848781 6.78223 1.21522 6.04873 1.86794 5.45738C2.52066 4.86603 3.50547 4.57036 4.82236 4.57036C6.1278 4.57036 7.11261 4.86035 7.77678 5.44032C8.44095 6.0203 8.77304 6.83909 8.77304 7.89669V13.7135H6.60875V12.7241C6.09345 13.5202 5.13155 13.9182 3.72304 13.9182Z\"\n fill={color}\n />\n <path\n d=\"M14.2554 11.6324V13.6965C14.0149 13.7306 13.763 13.7476 13.4996 13.7476C12.5492 13.7476 11.8736 13.5486 11.4728 13.1506C11.072 12.7412 10.8716 12.0873 10.8716 11.1889V0.919922H13.3107V11.0183C13.3107 11.2344 13.3508 11.3936 13.4309 11.496C13.5111 11.5983 13.6771 11.6495 13.929 11.6495C13.9863 11.6495 14.0493 11.6495 14.118 11.6495C14.1982 11.6381 14.244 11.6324 14.2554 11.6324Z\"\n fill={color}\n />\n <path\n d=\"M23.8943 8.63019V13.7135H21.4552V8.40844C21.4552 7.23711 20.9742 6.65145 20.0123 6.65145C19.4512 6.65145 19.0161 6.82203 18.7069 7.16319C18.4092 7.50436 18.2603 7.9763 18.2603 8.57902V13.7135H15.8212V4.77506H18.0714V5.86678C18.5409 5.0025 19.4054 4.57036 20.6651 4.57036C21.856 4.57036 22.7263 4.99113 23.2759 5.83266C24.0432 4.99113 25.0394 4.57036 26.2647 4.57036C27.3182 4.57036 28.1255 4.89446 28.6867 5.54267C29.2478 6.19088 29.5283 7.05516 29.5283 8.13551V13.7135H27.0892V8.40844C27.0892 7.23711 26.6083 6.65145 25.6464 6.65145C25.0738 6.65145 24.6386 6.82772 24.3409 7.18025C24.0432 7.52141 23.8943 8.00473 23.8943 8.63019Z\"\n fill={color}\n />\n <path\n d=\"M37.0321 10.1313V10.029H35.572C34.885 10.029 34.3754 10.0972 34.0433 10.2337C33.7227 10.3587 33.5623 10.6374 33.5623 11.0695C33.5623 11.7177 34.0204 12.0418 34.9365 12.0418C35.7037 12.0418 36.2419 11.8826 36.5511 11.5642C36.8717 11.2344 37.0321 10.7568 37.0321 10.1313ZM34.3696 13.9182C33.2932 13.9182 32.4974 13.6567 31.9821 13.1335C31.4668 12.599 31.2091 11.911 31.2091 11.0695C31.2091 10.0574 31.5412 9.32958 32.2054 8.88606C32.8695 8.43118 33.883 8.20374 35.2457 8.20374H37.0321V7.82846C37.0321 6.98693 36.4939 6.56616 35.4174 6.56616C34.4555 6.56616 33.923 6.93007 33.82 7.65788H31.4152C31.4954 6.78223 31.8618 6.04873 32.5145 5.45738C33.1673 4.86603 34.1521 4.57036 35.469 4.57036C36.7744 4.57036 37.7592 4.86035 38.4234 5.44032C39.0876 6.0203 39.4196 6.83909 39.4196 7.89669V13.7135H37.2554V12.7241C36.7401 13.5202 35.7781 13.9182 34.3696 13.9182Z\"\n fill={color}\n />\n <rect y=\"20\" width=\"40\" height=\"3\" fill={underlineColor} />\n </svg>\n )\n}\n\nexport default LogoIcon\n","import React, { FC } from 'react'\n\nimport LogoIcon from 'assets/Logo'\n\nimport s from './Logo.module.css'\n\nconst Logo: FC = () => (\n <div className={s.logo}>\n <LogoIcon underlineColor=\"#FF414D\" />\n </div>\n)\n\nexport default Logo\n","import React, { FC } from 'react'\nimport { FormattedMessage } from 'react-intl'\n\nimport s from './Title.module.css'\n\nconst Title: FC = () => (\n <div className={s.title} data-testid=\"modal-title-element\">\n <FormattedMessage\n id=\"eligibility-modal.title\"\n defaultMessage=\"<highlighted>Payez en plusieurs fois</highlighted> ou plus tard par carte bancaire avec Alma.\"\n values={{ highlighted: (...chunks: string[]) => <span>{chunks}</span> }}\n />\n </div>\n)\n\nexport default Title\n","import cx from 'classnames'\nimport React, { FC } from 'react'\nimport Info from '../components/Info'\nimport Logo from '../components/Logo'\nimport Title from '../components/Title'\nimport s from './DesktopModal.module.css'\n\nconst DesktopModal: FC = ({ children }) => (\n <div className={s.container} data-testid=\"modal-container\">\n <div className={cx([s.block, s.left])}>\n <Title />\n <Info />\n <Logo />\n </div>\n <div className={s.block}>{children}</div>\n </div>\n)\n\nexport default DesktopModal\n","import React, { FC } from 'react'\nimport Info from '../components/Info'\nimport Logo from '../components/Logo'\nimport Title from '../components/Title'\nimport s from './MobileModal.module.css'\n\nconst MobileModal: FC = ({ children }) => (\n <div className={s.container} data-testid=\"modal-container\">\n <Title />\n {children}\n <Info />\n <Logo />\n </div>\n)\n\nexport default MobileModal\n","import LoadingIndicator from 'components/LoadingIndicator'\nimport Modal from 'components/Modal'\nimport React, { FunctionComponent, useState } from 'react'\nimport { FormattedMessage } from 'react-intl'\nimport { useMediaQuery } from 'react-responsive'\nimport { apiStatus, EligibilityPlan } from 'types'\nimport EligibilityPlansButtons from './components/EligibilityPlansButtons'\nimport Schedule from './components/Schedule'\nimport DesktopModal from './DesktopModal'\nimport s from './EligibilityModal.module.css'\nimport MobileModal from './MobileModal'\n\ntype Props = {\n initialPlanIndex?: number\n onClose: () => void\n eligibilityPlans: EligibilityPlan[]\n status: apiStatus\n}\n\nconst EligibilityModal: FunctionComponent<Props> = ({\n initialPlanIndex,\n onClose,\n eligibilityPlans,\n status,\n}) => {\n const [currentPlanIndex, setCurrentPlanIndex] = useState(initialPlanIndex || 0)\n const isBigScreen = useMediaQuery({ minWidth: 800 })\n const ModalComponent = isBigScreen ? DesktopModal : MobileModal\n const eligiblePlans = eligibilityPlans.filter((plan) => plan.eligible)\n const currentPlan = eligiblePlans[currentPlanIndex]\n const modalProps = {\n eligibilityPlans: eligiblePlans,\n currentPlanIndex,\n setCurrentPlanIndex,\n currentPlan,\n status,\n }\n\n return (\n <Modal onClose={onClose} ariaHideApp={false} scrollable isOpen>\n <ModalComponent {...modalProps}>\n {status === apiStatus.PENDING && (\n <div className={s.loader}>\n <LoadingIndicator />\n </div>\n )}\n {status === apiStatus.SUCCESS && eligiblePlans.length === 0 && (\n <div className={s.noEligibility}>\n <FormattedMessage\n id=\"eligibility-modal.no-eligibility\"\n defaultMessage=\"Oups, il semblerait que la simulation n'aie pas fonctionné.\"\n />\n </div>\n )}\n {status === apiStatus.SUCCESS && eligiblePlans.length >= 1 && (\n <>\n <EligibilityPlansButtons\n eligibilityPlans={eligiblePlans}\n currentPlanIndex={currentPlanIndex}\n setCurrentPlanIndex={setCurrentPlanIndex}\n />\n <Schedule currentPlan={currentPlan} />\n </>\n )}\n </ModalComponent>\n </Modal>\n )\n}\nexport default EligibilityModal\n","import useFetchEligibility from 'hooks/useFetchEligibility'\nimport React from 'react'\nimport { ApiConfig, ConfigPlan } from 'types'\nimport EligibilityModal from '.'\n\ntype Props = {\n purchaseAmount: number\n apiData: ApiConfig\n configPlans?: ConfigPlan[]\n onClose: () => void\n}\n\n/**\n * This component allows to display only the modal, without PaymentPlans.\n */\nconst ModalContainer: React.FC<Props> = ({ purchaseAmount, apiData, configPlans, onClose }) => {\n const [eligibilityPlans, status] = useFetchEligibility(purchaseAmount, apiData, configPlans)\n\n return (\n <EligibilityModal\n initialPlanIndex={0}\n onClose={onClose}\n eligibilityPlans={eligibilityPlans}\n status={status}\n />\n )\n}\n\nexport default ModalContainer\n","import React, { VoidFunctionComponent } from 'react'\nimport s from './Loader.module.css'\nimport cx from 'classnames'\n\nconst Loader: VoidFunctionComponent<{ className?: string }> = ({ className }) => {\n return (\n <div className={cx(s.loadingIndicator, className)} data-testid=\"loader\">\n <div className={s.line1} />\n <div className={s.line2} />\n </div>\n )\n}\n\nexport default Loader\n","import LogoIcon from 'assets/Logo'\nimport cx from 'classnames'\nimport Loader from 'components/Loader'\nimport useButtonAnimation from 'hooks/useButtonAnimation'\nimport useFetchEligibility from 'hooks/useFetchEligibility'\nimport React, { MouseEvent, useEffect, useState, VoidFunctionComponent } from 'react'\nimport { ApiConfig, apiStatus, ConfigPlan } from 'types'\nimport { getIndexOfActivePlan } from 'utils/merchantOrderPreferences'\nimport { paymentPlanInfoText, paymentPlanShorthandName } from 'utils/paymentPlanStrings'\nimport EligibilityModal from 'Widgets/EligibilityModal'\nimport s from './PaymentPlans.module.css'\n\ntype Props = {\n purchaseAmount: number\n apiData: ApiConfig\n configPlans?: ConfigPlan[]\n transitionDelay?: number\n hideIfNotEligible?: boolean\n suggestedPaymentPlan?: number | number[]\n}\n\nconst VERY_LONG_TIME_IN_MS = 1000 * 3600 * 24 * 365\nconst DEFAULT_TRANSITION_TIME = 5500\n\nconst PaymentPlanWidget: VoidFunctionComponent<Props> = ({\n purchaseAmount,\n apiData,\n configPlans,\n transitionDelay,\n hideIfNotEligible,\n suggestedPaymentPlan,\n}) => {\n const [eligibilityPlans, status] = useFetchEligibility(purchaseAmount, apiData, configPlans)\n const eligiblePlans = eligibilityPlans.filter((plan) => plan.eligible)\n const activePlanIndex = getIndexOfActivePlan({\n eligibilityPlans,\n suggestedPaymentPlan: suggestedPaymentPlan ?? 0,\n })\n const isSuggestedPaymentPlanSpecified = suggestedPaymentPlan !== undefined // 👈 The merchant decided to focus a tab and remove animated transition.\n const isTransitionSpecified = transitionDelay !== undefined // 👈 The merchant has specified a transition time\n const [isOpen, setIsOpen] = useState(false)\n const openModal = () => setIsOpen(true)\n const closeModal = () => setIsOpen(false)\n\n const eligiblePlanKeys = eligibilityPlans.reduce<number[]>(\n (acc, plan, index) => (plan.eligible ? [...acc, index] : acc),\n [],\n )\n\n /**\n * If merchand specify a suggestedPaymentPlan and no transition, we set a very long transition delay.\n * Otherwise, we set the transition delay specified by the merchant.\n * If none of those properties are specified, we set a default transition delay.\n * @returns\n */\n const realTransitionTime = () => {\n if (isTransitionSpecified) {\n return transitionDelay ?? DEFAULT_TRANSITION_TIME\n }\n if (isSuggestedPaymentPlanSpecified) {\n return VERY_LONG_TIME_IN_MS\n }\n return DEFAULT_TRANSITION_TIME\n }\n\n const { current, onHover, onLeave } = useButtonAnimation(eligiblePlanKeys, realTransitionTime())\n\n useEffect(() => {\n // When API has given a response AND the marchand set an active plan by default.\n if (status === apiStatus.SUCCESS && isSuggestedPaymentPlanSpecified) {\n onHover(activePlanIndex) // We select the first active plan possible\n onLeave() // We need to call onLeave to reset the animation\n }\n }, [status])\n\n /**\n * It takes a plan index and returns the index of that plan within the eligible plans\n *\n * @param {number} planIndex - The index of the plan that the user has selected.\n * @returns The index of the planKey in the eligiblePlanKeys array.\n */\n const getIndexWithinEligiblePlans = (planIndex: number) => {\n const index = eligiblePlanKeys.findIndex((planKey) => planKey === planIndex)\n return index === -1 ? 0 : index\n }\n\n if (status === apiStatus.PENDING) {\n return (\n <div className={cx(s.widgetButton, s.pending)}>\n <Loader />\n </div>\n )\n }\n\n if (\n (hideIfNotEligible && eligiblePlans.length === 0) ||\n eligibilityPlans.length === 0 ||\n status === apiStatus.FAILED\n ) {\n return null\n }\n\n const handleOpenModal = (e: MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n if (eligiblePlans.length > 0) {\n openModal()\n }\n }\n\n return (\n <>\n <div\n onClick={handleOpenModal}\n className={cx(s.widgetButton, {\n [s.clickable]: eligiblePlans.length > 0,\n [s.unClickable]: eligiblePlans.length === 0,\n })}\n data-testid=\"widget-button\"\n >\n <div className={s.primaryContainer}>\n <LogoIcon className={s.logo} />\n <div className={s.paymentPlans}>\n {eligibilityPlans.map((eligibilityPlan, key) => {\n return (\n <div\n key={key}\n onMouseEnter={() => onHover(key)}\n onMouseOut={onLeave}\n className={cx(s.plan, {\n [s.active]: current === key,\n [s.notEligible]: !eligibilityPlan.eligible,\n })}\n >\n {paymentPlanShorthandName(eligibilityPlan)}\n </div>\n )\n })}\n </div>\n </div>\n <div\n className={cx(s.info, {\n [s.notEligible]: eligibilityPlans[current] && !eligibilityPlans[current].eligible,\n })}\n >\n {eligibilityPlans.length !== 0 && paymentPlanInfoText(eligibilityPlans[current])}\n </div>\n </div>\n {isOpen && (\n <EligibilityModal\n initialPlanIndex={getIndexWithinEligiblePlans(current)}\n onClose={closeModal}\n eligibilityPlans={eligiblePlans}\n status={status}\n />\n )}\n </>\n )\n}\n\nexport default PaymentPlanWidget\n","import { EligibilityPlan } from 'types'\n\ntype Args = {\n suggestedPaymentPlan: number | number[]\n eligibilityPlans: EligibilityPlan[]\n}\n\n/**\n * It returns the **index** of the **first eligible plan** that matches the default installments count\n *\n * @param {number | number[]} suggestedPaymentPlan\n * @param {EligibilityPlan[]} eligibilityPlans\n * @returns number (index of the first eligible plan that matches the default installments count)\n */\nexport const getIndexOfActivePlan = ({ suggestedPaymentPlan, eligibilityPlans }: Args): number => {\n const suggestedPaymentPlanArray = Array.isArray(suggestedPaymentPlan)\n ? suggestedPaymentPlan\n : [suggestedPaymentPlan]\n\n for (const index in suggestedPaymentPlanArray) {\n const installmentsCount = suggestedPaymentPlanArray[index]\n\n const planFound = eligibilityPlans.findIndex((plan) => {\n return plan.installments_count === installmentsCount && plan.eligible\n })\n\n if (planFound !== -1) {\n return planFound\n }\n }\n\n return 0\n}\n","import { useEffect, useState } from 'react'\n\nconst useButtonAnimation = (\n iterateValues: number[],\n transitionDelay: number,\n): { current: number; onHover: (current: number) => void; onLeave: () => void } => {\n const [current, setCurrent] = useState(0)\n const [update, setUpdate] = useState(true)\n\n useEffect(() => {\n let isMounted = true\n if (iterateValues.length !== 0) {\n if (!iterateValues.includes(current) && update) setCurrent(iterateValues[0])\n setTimeout(() => {\n if (update && isMounted) {\n setCurrent(\n iterateValues[\n iterateValues.includes(current)\n ? (iterateValues.indexOf(current) + 1) % iterateValues.length\n : 0\n ],\n )\n }\n }, transitionDelay)\n }\n return () => {\n isMounted = false\n }\n }, [iterateValues, current])\n return {\n current,\n onHover: (current: number) => {\n setCurrent(current)\n setUpdate(false)\n },\n onLeave: () => {\n setUpdate(true)\n },\n }\n}\nexport default useButtonAnimation\n","import { ApiMode } from 'consts'\nimport IntlProvider from 'intl/IntlProvider'\nimport React from 'react'\nimport { render, unmountComponentAtNode } from 'react-dom'\nimport {\n Locale,\n ModalOptions,\n PaymentPlanWidgetOptions,\n WidgetNames,\n WidgetOptions,\n widgetTypes,\n} from 'types'\nimport ModalContainer from 'Widgets/EligibilityModal/ModalContainer'\nimport PaymentPlanWidget from 'Widgets/PaymentPlans'\n\ntype AddReturnType =\n | {\n open: () => void\n close: () => void\n }\n | undefined\n\nexport class WidgetsController {\n constructor(private readonly apiData: { domain: ApiMode; merchantId: string }) {}\n\n add(widget: WidgetNames, options: WidgetOptions): AddReturnType {\n const containerDiv = document.querySelector(options.container)\n\n if (containerDiv) {\n unmountComponentAtNode(containerDiv)\n }\n\n if (widget === widgetTypes.PaymentPlans) {\n const {\n container,\n purchaseAmount,\n plans,\n transitionDelay,\n hideIfNotEligible,\n suggestedPaymentPlan,\n locale = Locale.en,\n } = options as PaymentPlanWidgetOptions\n\n if (containerDiv) {\n render(\n <IntlProvider locale={locale}>\n <PaymentPlanWidget\n purchaseAmount={purchaseAmount}\n apiData={this.apiData}\n configPlans={plans}\n transitionDelay={transitionDelay}\n hideIfNotEligible={hideIfNotEligible}\n suggestedPaymentPlan={suggestedPaymentPlan}\n />\n </IntlProvider>,\n document.querySelector(container),\n )\n }\n }\n\n if (widget === widgetTypes.Modal) {\n const {\n container,\n clickableSelector,\n purchaseAmount,\n plans,\n locale = Locale.en,\n } = options as ModalOptions\n\n const close = () => containerDiv && unmountComponentAtNode(containerDiv)\n\n const renderModal = () => {\n render(\n <IntlProvider locale={locale}>\n <ModalContainer\n purchaseAmount={purchaseAmount}\n apiData={this.apiData}\n configPlans={plans}\n onClose={close}\n />\n </IntlProvider>,\n document.querySelector(container),\n )\n }\n\n // if clickableSelector is provided, add an onClick event handler to open the Modal.\n if (clickableSelector) {\n document.querySelector(clickableSelector)?.addEventListener('click', renderModal, false)\n }\n\n return {\n open: renderModal,\n close,\n }\n }\n }\n}\n","export const SANDBOX_API_URL = 'https://api.sandbox.getalma.eu'\nexport const LIVE_API_URL = 'https://api.getalma.eu'\n\nexport enum ApiMode {\n LIVE = 'https://api.getalma.eu',\n TEST = 'https://api.sandbox.getalma.eu',\n}\n","import 'core-js/stable/array/from'\nimport { widgetTypes } from 'types'\nimport { ApiMode } from './consts'\nimport './main.css'\nimport * as utils from './utils'\nimport './utils/polyfills'\nimport { WidgetsController } from './widgets_controller'\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Widgets {\n export function initialize(merchantId: string, mode: ApiMode): WidgetsController {\n return new WidgetsController({ domain: mode, merchantId })\n }\n export const PaymentPlans = widgetTypes.PaymentPlans\n export const Modal = widgetTypes.Modal\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Utils {\n export const priceToCents = utils.priceToCents\n export const priceFromCents = utils.priceFromCents\n export const formatCents = utils.formatCents\n}\n\nexport { ApiMode } from './consts'\n"],"names":["ceil","Math","floor","argument","isNaN","it","undefined","TypeError","createMethod","CONVERT_TO_STRING","$this","pos","first","second","S","String","requireObjectCoercible","position","toInteger","size","length","charCodeAt","charAt","slice","codeAt","check","globalThis","window","self","global","this","Function","exec","error","fails","Object","defineProperty","get","document","EXISTS","isObject","createElement","DESCRIPTORS","a","input","PREFERRED_STRING","fn","val","toString","call","valueOf","nativeDefineProperty","O","P","Attributes","anObject","toPrimitive","IE8_DOM_DEFINE","value","bitmap","enumerable","configurable","writable","object","key","definePropertyModule","f","createPropertyDescriptor","createNonEnumerableProperty","setGlobal","functionToString","store","inspectSource","set","has","WeakMap","test","hasOwnProperty","module","push","version","mode","copyright","id","postfix","random","keys","shared","uid","NATIVE_WEAK_MAP","state","wmget","wmhas","wmset","metadata","facade","STATE","sharedKey","hiddenKeys","objectHas","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","enforce","getterFor","TYPE","type","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","V","descriptor","split","classof","IndexedObject","nativeGetOwnPropertyDescriptor","toIndexedObject","propertyIsEnumerableModule","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","source","join","prototype","aFunction","variable","namespace","method","arguments","path","min","max","IS_INCLUDES","el","fromIndex","toLength","index","integer","toAbsoluteIndex","indexOf","names","i","result","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","getOwnPropertySymbols","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","target","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","require$$0","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","copyConstructorProperties","sham","redefine","F","constructor","getPrototypeOf","IE_PROTO","ObjectPrototype","CORRECT_PROTOTYPE_GETTER","toObject","Symbol","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","USE_SYMBOL_AS_UID","withoutSetter","name","ITERATOR","wellKnownSymbol","BUGGY_SAFARI_ITERATORS","activeXDocument","defineProperties","Properties","objectKeys","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","documentCreateElement","style","display","html","appendChild","src","contentWindow","open","create","TO_STRING_TAG","TAG","returnThis","setPrototypeOf","setter","CORRECT_SETTER","Array","proto","aPossiblePrototype","__proto__","IteratorsCore","setInternalState","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","point","done","setToStringTag","Iterators","createIteratorConstructor","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defineIterator","defaultIterator","IterablePrototype","nativeIterator","values","entries","$","iterated","that","b","c","apply","ENTRIES","returnMethod","iteratorClose","ArrayPrototype","propertyKey","CORRECT_ARGUMENTS","classofRaw","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","SAFE_CLOSING","called","iteratorWithReturn","from","widgetTypes","apiStatus","Locale","ElementProto","INCORRECT_ITERATION","SKIP_CLOSING","ITERATION_SUPPORT","checkCorrectnessOfIteration","priceToCents","price","round","priceFromCents","cents","Number","toFixed","formatCents","arrayLike","step","C","argumentsLength","mapfn","mapping","iteratorMethod","getIteratorMethod","bind","isArrayIteratorMethod","createProperty","callWithSafeIterationClosing","Element","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","selector","elements","ownerDocument","querySelectorAll","Boolean","closest","element","nodeType","parentNode","trim","DOMException","reason","message","Error","DOMTokenListProto","testClass","wsRE","wsIndex","checkIfValidClassListEntry","search","DOMTokenList","hasOwnProp","allowTokenListConstruction","skipPropChange","whenPropChanges","evt","event","prop","propertyName","srcElement","protoObjProto","strval","tokens","resTokenList","oldLen","cI","cLen","sub","innerI","classList","className","polyfillClassList","ele","detachEvent","protoObj","toks","newVal","writeable","attachEvent","toLocaleString","add","v","argLen","Len","resStr","remove","is","e","documentElement","firstChild","styleSheet","cssText","item","n","toggle","oldValue","oldToken","newToken","contains","forEach","tArg","getTranslationsByLocale","locale","fr","messagesFR","en","messagesEN","es","messagesES","messagesIT","de","messagesDE","nl","messagesNL","Provider","children","React","IntlProvider","messages","defaultLocale","filterELigibility","eligibilities","configPlans","filteredEligibilityPlans","filter","plan","installments_count","deferred_days","deferred_months","map","eligibilityDeferredDays","relatedConfigPlan","find","configPlan","installmentsCount","deferredMonths","deferredDays","eligible","purchase_amount","minAmount","maxAmount","useFetchEligibility","purchaseAmount","merchantId","plans","eligibility","setEligibility","useState","status","setStatus","PENDING","configInstallments","useEffect","url","headers","fetch","Content-Type","body","JSON","stringify","json","fetchFromApi","queries","Authorization","then","res","SUCCESS","catch","FAILED","LoadingIndicator","cx","CrossIcon","color","width","height","viewBox","fill","xmlns","d","ControlledModal","isOpen","onClose","contentClassName","scrollable","props","Modal","setAppElement","overlayClassName","onAfterOpen","noScroll","on","onAfterClose","off","onRequestClose","shouldCloseOnOverlayClick","shouldCloseOnEsc","onClick","_1GP2F","paymentPlanShorthandName","payment","deferredDaysCount","FormattedMessage","defaultMessage","numberOfDeferredDays","EligibilityPlansButtons","eligibilityPlans","currentPlanIndex","setCurrentPlanIndex","eligibilityPlan","_3rue7","Schedule","currentPlan","total","customer_total_cost_amount","creditCost","TAEG","annual_interest_rate","customerFees","isCredit","intl","useIntl","FormattedNumber","currency","formatNumber","maximumFractionDigits","payment_plan","installment","isToday","due_date","FormattedDate","day","month","year","total_amount","Info","strong","chunks","LogoIcon","underlineColor","y","Logo","Title","highlighted","DesktopModal","MobileModal","EligibilityModal","initialPlanIndex","ModalComponent","useMediaQuery","minWidth","eligiblePlans","ariaHideApp","ModalContainer","apiData","Loader","PaymentPlanWidget","transitionDelay","hideIfNotEligible","suggestedPaymentPlan","activePlanIndex","suggestedPaymentPlanArray","isArray","planFound","findIndex","getIndexOfActivePlan","isSuggestedPaymentPlanSpecified","isTransitionSpecified","setIsOpen","eligiblePlanKeys","reduce","acc","current","onHover","onLeave","iterateValues","setCurrent","update","setUpdate","isMounted","includes","setTimeout","useButtonAnimation","preventDefault","_UksZa","_1lr-q","onMouseEnter","onMouseOut","_3dG_J","_3O1bg","withNoFee","every","customer_fee","customer_interest","totalAmount","dueDate","secondsToMilliseconds","areInstallmentsOfSameAmount","firstInstallmentAmount","numberOfRemainingInstallments","othersInstallmentAmount","paymentPlanInfoText","planIndex","planKey","getIndexWithinEligiblePlans","WidgetsController","widget","containerDiv","querySelector","container","unmountComponentAtNode","PaymentPlans","render","clickableSelector","renderModal","addEventListener","ApiMode","Widgets","Utils","utils"],"mappings":"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"}
1
+ {"version":3,"file":"widgets.modern.js","sources":["../node_modules/core-js/internals/to-integer.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/has.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/redefine.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/define-iterator.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/a-function.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../src/types.ts","../src/utils/polyfills.js","../node_modules/core-js/modules/es.array.from.js","../src/utils/index.ts","../node_modules/core-js/internals/array-from.js","../src/intl/utils.ts","../src/intl/IntlProvider.tsx","../src/utils/filterEligibility.ts","../src/hooks/useFetchEligibility.ts","../src/utils/fetch.ts","../src/components/LoadingIndicator/index.tsx","../src/assets/Cross.tsx","../src/components/Modal/index.tsx","../src/utils/paymentPlanStrings.tsx","../src/Widgets/EligibilityModal/components/EligibilityPlansButtons/index.tsx","../src/Widgets/EligibilityModal/components/Schedule/index.tsx","../src/Widgets/EligibilityModal/components/Info/index.tsx","../src/assets/Logo.tsx","../src/Widgets/EligibilityModal/components/Logo/index.tsx","../src/Widgets/EligibilityModal/components/Title/index.tsx","../src/Widgets/EligibilityModal/DesktopModal/index.tsx","../src/Widgets/EligibilityModal/MobileModal/index.tsx","../src/Widgets/EligibilityModal/index.tsx","../src/Widgets/EligibilityModal/ModalContainer.tsx","../src/components/Loader/index.tsx","../src/Widgets/PaymentPlans/index.tsx","../src/utils/merchantOrderPreferences.ts","../src/hooks/useButtonAnimation.ts","../src/widgets_controller.tsx","../src/consts.ts","../src/index.ts"],"sourcesContent":["var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = {};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","import { ApiMode } from 'consts'\n\nexport type ApiConfig = { domain: ApiMode; merchantId: string }\n\nexport enum widgetTypes {\n PaymentPlans = 'PaymentPlans',\n Modal = 'Modal',\n}\nexport enum apiStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILED = 'failed',\n}\n\nexport type ConfigPlan = {\n installmentsCount: number\n deferredDays?: number\n deferredMonths?: number\n minAmount: number\n maxAmount: number\n}\n\nexport type PaymentPlan = {\n customer_fee: number\n customer_interest: number\n due_date: number\n purchase_amount: number\n total_amount: number\n refunded_interest?: number\n}\nexport type EligibilityPlan = {\n annual_interest_rate?: number\n customer_total_cost_amount: number\n customer_total_cost_bps: number\n deferred_days: number\n deferred_months: number\n eligible: boolean\n installments_count: number\n payment_plan: PaymentPlan[]\n purchase_amount: number\n}\nexport type EligibilityPlanToDisplay = EligibilityPlan & {\n minAmount?: number\n maxAmount?: number\n}\n\nexport enum Locale {\n en = 'en',\n fr = 'fr',\n de = 'de',\n it = 'it',\n es = 'es',\n nl = 'nl',\n 'nl-NL' = 'nl-NL',\n 'nl-BE' = 'nl-BE',\n}\n\nexport type PaymentPlanWidgetOptions = {\n container: string\n purchaseAmount: number\n plans?: ConfigPlan[]\n transitionDelay?: number\n suggestedPaymentPlan?: number | number[]\n hideIfNotEligible?: boolean\n locale?: Locale\n}\n\nexport type ModalOptions = {\n container: string\n clickableSelector: string\n purchaseAmount: number\n plans?: ConfigPlan[]\n locale?: Locale\n}\n\nexport type WidgetNames = keyof typeof widgetTypes\n\nexport type WidgetOptions = PaymentPlanWidgetOptions | ModalOptions\n","/* eslint-disable */\n\n/*\n * Element.prototype.closest & Element.prototype.matches polyfills\n */\n\n;(function (ElementProto) {\n if (typeof ElementProto.matches !== 'function') {\n ElementProto.matches =\n ElementProto.msMatchesSelector ||\n ElementProto.mozMatchesSelector ||\n ElementProto.webkitMatchesSelector ||\n function matches(selector) {\n var element = this\n var elements = (element.document || element.ownerDocument).querySelectorAll(selector)\n var index = 0\n\n while (elements[index] && elements[index] !== element) {\n ++index\n }\n\n return Boolean(elements[index])\n }\n }\n\n if (typeof ElementProto.closest !== 'function') {\n ElementProto.closest = function closest(selector) {\n var element = this\n\n while (element && element.nodeType === 1) {\n if (element.matches(selector)) {\n return element\n }\n\n element = element.parentNode\n }\n\n return null\n }\n }\n})(window.Element.prototype)\n\n/*\n * Element.prototype.classList polyfill\n */\n\n// 1. String.prototype.trim polyfill\nif (!''.trim)\n String.prototype.trim = function () {\n return this.replace(/^[\\s]+|[\\s]+$/g, '')\n }\n;(function (window) {\n 'use strict' // prevent global namespace pollution\n if (!window.DOMException)\n (DOMException = function (reason) {\n this.message = reason\n }).prototype = new Error()\n var wsRE = /[\\11\\12\\14\\15\\40]/,\n wsIndex = 0,\n checkIfValidClassListEntry = function (O, V) {\n if (V === '')\n throw new DOMException(\n \"Failed to execute '\" + O + \"' on 'DOMTokenList': The token provided must not be empty.\"\n )\n if ((wsIndex = V.search(wsRE)) !== -1)\n throw new DOMException(\n \"Failed to execute '\" +\n O +\n \"' on 'DOMTokenList': \" +\n \"The token provided ('\" +\n V[wsIndex] +\n \"') contains HTML space characters, which are not valid in tokens.\"\n )\n }\n // 2. Implement the barebones DOMTokenList livelyness polyfill\n if (typeof DOMTokenList !== 'function')\n (function (window) {\n var document = window.document,\n Object = window.Object,\n hasOwnProp = Object.prototype.hasOwnProperty\n var defineProperty = Object.defineProperty,\n allowTokenListConstruction = 0,\n skipPropChange = 0\n\n var DOMTokenList = function () {\n if (!allowTokenListConstruction) throw TypeError('Illegal constructor') // internally let it through\n }\n\n DOMTokenList.prototype.toString = DOMTokenList.prototype.toLocaleString = function () {\n return this.value\n }\n DOMTokenList.prototype.add = function () {\n a: for (\n var v = 0, argLen = arguments.length, val = '', ele = this[' uCL'], proto = ele[' uCLp'];\n v !== argLen;\n ++v\n ) {\n ;(val = arguments[v] + ''), checkIfValidClassListEntry('add', val)\n for (var i = 0, Len = proto.length, resStr = val; i !== Len; ++i)\n if (this[i] === val) continue a\n else resStr += ' ' + this[i]\n ;(this[Len] = val), (proto.length += 1), (proto.value = resStr)\n }\n ;(skipPropChange = 1), (ele.className = proto.value), (skipPropChange = 0)\n }\n DOMTokenList.prototype.remove = function () {\n for (\n var v = 0, argLen = arguments.length, val = '', ele = this[' uCL'], proto = ele[' uCLp'];\n v !== argLen;\n ++v\n ) {\n ;(val = arguments[v] + ''), checkIfValidClassListEntry('remove', val)\n for (var i = 0, Len = proto.length, resStr = '', is = 0; i !== Len; ++i)\n if (is) {\n this[i - 1] = this[i]\n } else {\n if (this[i] !== val) {\n resStr += this[i] + ' '\n } else {\n is = 1\n }\n }\n if (!is) continue\n delete this[Len], (proto.length -= 1), (proto.value = resStr)\n }\n ;(skipPropChange = 1), (ele.className = proto.value), (skipPropChange = 0)\n }\n window.DOMTokenList = DOMTokenList\n\n function whenPropChanges() {\n var evt = window.event,\n prop = evt.propertyName\n if (\n !skipPropChange &&\n (prop === 'className' || (prop === 'classList' && !defineProperty))\n ) {\n var target = evt.srcElement,\n protoObjProto = target[' uCLp'],\n strval = '' + target[prop]\n var tokens = strval.trim().split(wsRE),\n resTokenList = target[prop === 'classList' ? ' uCL' : 'classList']\n var oldLen = protoObjProto.length\n a: for (\n var cI = 0, cLen = (protoObjProto.length = tokens.length), sub = 0;\n cI !== cLen;\n ++cI\n ) {\n for (var innerI = 0; innerI !== cI; ++innerI)\n if (tokens[innerI] === tokens[cI]) {\n sub++\n continue a\n }\n resTokenList[cI - sub] = tokens[cI]\n }\n for (var i = cLen - sub; i < oldLen; ++i) delete resTokenList[i] //remove trailing indexs\n if (prop !== 'classList') return\n ;(skipPropChange = 1), (target.classList = resTokenList), (target.className = strval)\n ;(skipPropChange = 0), (resTokenList.length = tokens.length - sub)\n }\n }\n\n function polyfillClassList(ele) {\n if (!ele || !('innerHTML' in ele)) throw TypeError('Illegal invocation')\n ele.detachEvent('onpropertychange', whenPropChanges) // prevent duplicate handler infinite loop\n allowTokenListConstruction = 1\n try {\n var protoObj = function () {}\n\n protoObj.prototype = new DOMTokenList()\n } finally {\n allowTokenListConstruction = 0\n }\n var protoObjProto = protoObj.prototype,\n resTokenList = new protoObj()\n a: for (\n var toks = ele.className.trim().split(wsRE), cI = 0, cLen = toks.length, sub = 0;\n cI !== cLen;\n ++cI\n ) {\n for (var innerI = 0; innerI !== cI; ++innerI)\n if (toks[innerI] === toks[cI]) {\n sub++\n continue a\n }\n this[cI - sub] = toks[cI]\n }\n ;(protoObjProto.length = cLen - sub),\n (protoObjProto.value = ele.className),\n (protoObjProto[' uCL'] = ele)\n if (defineProperty) {\n defineProperty(ele, 'classList', {\n // IE8 & IE9 allow defineProperty on the DOM\n enumerable: 1,\n get: function () {\n return resTokenList\n },\n configurable: 0,\n set: function (newVal) {\n ;(skipPropChange = 1),\n (ele.className = protoObjProto.value = newVal += ''),\n (skipPropChange = 0)\n var toks = newVal.trim().split(wsRE),\n oldLen = protoObjProto.length\n a: for (\n var cI = 0, cLen = (protoObjProto.length = toks.length), sub = 0;\n cI !== cLen;\n ++cI\n ) {\n for (var innerI = 0; innerI !== cI; ++innerI)\n if (toks[innerI] === toks[cI]) {\n sub++\n continue a\n }\n resTokenList[cI - sub] = toks[cI]\n }\n for (var i = cLen - sub; i < oldLen; ++i) delete resTokenList[i] //remove trailing indexs\n },\n })\n defineProperty(ele, ' uCLp', {\n // for accessing the hidden prototype\n enumerable: 0,\n configurable: 0,\n writeable: 0,\n value: protoObj.prototype,\n })\n defineProperty(protoObjProto, ' uCL', {\n enumerable: 0,\n configurable: 0,\n writeable: 0,\n value: ele,\n })\n } else {\n ;(ele.classList = resTokenList),\n (ele[' uCL'] = resTokenList),\n (ele[' uCLp'] = protoObj.prototype)\n }\n ele.attachEvent('onpropertychange', whenPropChanges)\n }\n\n try {\n // Much faster & cleaner version for IE8 & IE9:\n // Should work in IE8 because Element.prototype instanceof Node is true according to the specs\n window.Object.defineProperty(window.Element.prototype, 'classList', {\n enumerable: 1,\n get: function (val) {\n if (!hasOwnProp.call(this, 'classList')) polyfillClassList(this)\n return this.classList\n },\n configurable: 0,\n set: function (val) {\n this.className = val\n },\n })\n } catch (e) {\n // Less performant fallback for older browsers (IE 6-8):\n window[' uCL'] = polyfillClassList\n // the below code ensures polyfillClassList is applied to all current and future elements in the doc.\n document.documentElement.firstChild.appendChild(\n document.createElement('style')\n ).styleSheet.cssText =\n '_*{x-uCLp:expression(!this.hasOwnProperty(\"classList\")&&window[\" uCL\"](this))}' + // IE6\n '[class]{x-uCLp/**/:expression(!this.hasOwnProperty(\"classList\")&&window[\" uCL\"](this))}' //IE7-8\n }\n })(window)\n // 3. Patch in unsupported methods in DOMTokenList\n ;(function (DOMTokenListProto, testClass) {\n if (!DOMTokenListProto.item)\n DOMTokenListProto.item = function (i) {\n function NullCheck(n) {\n return n === void 0 ? null : n\n }\n\n return NullCheck(this[i])\n }\n if (!DOMTokenListProto.toggle || testClass.toggle('a', 0) !== false)\n DOMTokenListProto.toggle = function (val) {\n if (arguments.length > 1) return this[arguments[1] ? 'add' : 'remove'](val), !!arguments[1]\n var oldValue = this.value\n return this.remove(oldValue), oldValue === this.value && (this.add(val), true) /*|| false*/\n }\n if (!DOMTokenListProto.replace || typeof testClass.replace('a', 'b') !== 'boolean')\n DOMTokenListProto.replace = function (oldToken, newToken) {\n checkIfValidClassListEntry('replace', oldToken),\n checkIfValidClassListEntry('replace', newToken)\n var oldValue = this.value\n return this.remove(oldToken), this.value !== oldValue && (this.add(newToken), true)\n }\n if (!DOMTokenListProto.contains)\n DOMTokenListProto.contains = function (value) {\n for (var i = 0, Len = this.length; i !== Len; ++i) if (this[i] === value) return true\n return false\n }\n if (!DOMTokenListProto.forEach)\n DOMTokenListProto.forEach = function (f) {\n if (arguments.length === 1)\n for (var i = 0, Len = this.length; i !== Len; ++i) f(this[i], i, this)\n else\n for (var i = 0, Len = this.length, tArg = arguments[1]; i !== Len; ++i)\n f.call(tArg, this[i], i, this)\n }\n if (!DOMTokenListProto.entries)\n DOMTokenListProto.entries = function () {\n var nextIndex = 0,\n that = this\n return {\n next: function () {\n return nextIndex < that.length\n ? {\n value: [nextIndex, that[nextIndex]],\n done: false,\n }\n : { done: true }\n },\n }\n }\n if (!DOMTokenListProto.values)\n DOMTokenListProto.values = function () {\n var nextIndex = 0,\n that = this\n return {\n next: function () {\n return nextIndex < that.length\n ? { value: that[nextIndex], done: false }\n : { done: true }\n },\n }\n }\n if (!DOMTokenListProto.keys)\n DOMTokenListProto.keys = function () {\n var nextIndex = 0,\n that = this\n return {\n next: function () {\n return nextIndex < that.length ? { value: nextIndex, done: false } : { done: true }\n },\n }\n }\n })(window.DOMTokenList.prototype, window.document.createElement('div').classList)\n})(window)\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","export function priceToCents(price: number): number {\n return Math.round(price * 100)\n}\n\nexport function priceFromCents(cents: number): number {\n return Number((cents / 100).toFixed(2))\n}\n\nexport function formatCents(cents: number): string {\n return String(priceFromCents(cents)).replace('.', ',')\n}\n\nexport const secondsToMilliseconds = (date: number): number => date * 1000\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","import messagesDE from 'intl/messages/messages.de.json'\nimport messagesEN from 'intl/messages/messages.en.json'\nimport messagesES from 'intl/messages/messages.es.json'\nimport messagesFR from 'intl/messages/messages.fr.json'\nimport messagesIT from 'intl/messages/messages.it.json'\nimport messagesNL from 'intl/messages/messages.nl.json'\nimport { Locale } from 'types'\n\nexport const getTranslationsByLocale = (locale: Locale): Record<string, string> => {\n switch (locale) {\n case Locale.fr:\n return messagesFR\n case Locale.en:\n return messagesEN\n case Locale.es:\n return messagesES\n case Locale.it:\n return messagesIT\n case Locale.de:\n return messagesDE\n case Locale.nl:\n case Locale['nl-BE']:\n case Locale['nl-NL']:\n return messagesNL\n default:\n return messagesEN\n }\n}\n","import React, { FC, ReactNode } from 'react'\nimport { IntlProvider } from 'react-intl'\nimport { Locale } from 'types'\nimport { getTranslationsByLocale } from './utils'\n\ntype Props = { children: ReactNode; locale: Locale }\n\nconst Provider: FC<Props> = ({ children, locale }) => (\n <IntlProvider messages={getTranslationsByLocale(locale)} locale={locale} defaultLocale=\"en\">\n {children}\n </IntlProvider>\n)\n\nexport default Provider\n","import { ConfigPlan, EligibilityPlan, EligibilityPlanToDisplay } from 'types'\n\nconst filterELigibility = (\n eligibilities: EligibilityPlan[],\n configPlans?: ConfigPlan[],\n): EligibilityPlanToDisplay[] => {\n // Remove p1x\n const filteredEligibilityPlans = eligibilities.filter(\n (plan) =>\n !(plan.installments_count === 1 && plan.deferred_days === 0 && plan.deferred_months === 0),\n )\n\n // If no configPlans was provided, return eligibility response\n if (!configPlans) {\n return filteredEligibilityPlans\n }\n\n // Else check if the plan is eligible regarding the related configPlan\n return filteredEligibilityPlans.map((plan) => {\n const eligibilityDeferredDays =\n (plan.deferred_months ? plan.deferred_months : 0) * 30 +\n (plan.deferred_days ? plan.deferred_days : 0)\n\n // find the related configPlan\n const relatedConfigPlan = configPlans.find((configPlan) => {\n const configPlanDeferredDays =\n (configPlan.deferredMonths ? configPlan.deferredMonths : 0) * 30 +\n (configPlan.deferredDays ? configPlan.deferredDays : 0)\n return (\n plan.installments_count === configPlan.installmentsCount &&\n eligibilityDeferredDays === configPlanDeferredDays\n )\n })\n return {\n ...plan,\n eligible: relatedConfigPlan\n ? plan.purchase_amount >= relatedConfigPlan?.minAmount &&\n plan.purchase_amount <= relatedConfigPlan?.maxAmount\n : false,\n minAmount: relatedConfigPlan?.minAmount,\n maxAmount: relatedConfigPlan?.maxAmount,\n }\n })\n}\n\nexport default filterELigibility\n","import { useEffect, useState } from 'react'\nimport { ApiConfig, apiStatus, ConfigPlan, EligibilityPlan } from 'types'\nimport { fetchFromApi } from 'utils/fetch'\nimport filterELigibility from 'utils/filterEligibility'\n\nconst useFetchEligibility = (\n purchaseAmount: number,\n { domain, merchantId }: ApiConfig,\n plans?: ConfigPlan[],\n): [EligibilityPlan[], apiStatus] => {\n const [eligibility, setEligibility] = useState([] as EligibilityPlan[])\n const [status, setStatus] = useState(apiStatus.PENDING)\n const configInstallments = plans?.map((plan) => ({\n installments_count: plan.installmentsCount,\n deferred_days: plan?.deferredDays,\n deferred_months: plan?.deferredMonths,\n }))\n useEffect(() => {\n if (status === apiStatus.PENDING) {\n fetchFromApi(\n domain + '/v2/payments/eligibility',\n {\n purchase_amount: purchaseAmount,\n queries: configInstallments,\n },\n {\n Authorization: `Alma-Merchant-Auth ${merchantId}`,\n },\n )\n .then((res) => {\n setEligibility(res)\n setStatus(apiStatus.SUCCESS)\n })\n .catch(() => {\n setStatus(apiStatus.FAILED)\n })\n }\n }, [status])\n\n return [filterELigibility(eligibility, plans), status]\n}\nexport default useFetchEligibility\n","import { EligibilityPlan } from 'types'\n\nexport async function fetchFromApi(\n url = '',\n data: { [key: string]: unknown },\n headers?: { [key: string]: unknown },\n): Promise<EligibilityPlan[]> {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n body: JSON.stringify(data),\n })\n return response.json()\n}\n","import cx from 'classnames'\nimport React, { VoidFunctionComponent } from 'react'\nimport s from './LoadingIndicator.module.css'\n\nconst LoadingIndicator: VoidFunctionComponent<{ className?: string }> = ({ className }) => {\n return (\n <div className={cx(s.loadingIndicator, className)} data-testid=\"loader\">\n <div className={s.letter}>a</div>\n <div className={s.bar} />\n </div>\n )\n}\n\nexport default LoadingIndicator\n","import React from 'react'\nfunction CrossIcon({\n color = '#fff',\n className,\n}: {\n color?: string\n className?: string\n}): JSX.Element {\n return (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.5964 11.404L9.41445 8.22205L12.5964 5.04007C12.7732 4.86329 12.7732 4.50974 12.5964 4.33296L11.8893 3.62585C11.6904 3.42698 11.359 3.44908 11.1822 3.62585L8.00023 6.80783L4.81825 3.62585C4.61938 3.42698 4.28792 3.44908 4.11114 3.62585L3.40404 4.33296C3.20516 4.53183 3.20516 4.84119 3.40404 5.04007L6.58602 8.22205L3.40404 11.404C3.20516 11.6029 3.20517 11.9123 3.40404 12.1111L4.11115 12.8182C4.28792 12.995 4.61938 13.0171 4.81825 12.8182L8.00023 9.63626L11.1822 12.8182C11.359 12.995 11.6904 13.0171 11.8893 12.8182L12.5964 12.1111C12.7732 11.9344 12.7732 11.5808 12.5964 11.404Z\"\n fill={color}\n />\n </svg>\n )\n}\n\nexport default CrossIcon\n","import { FunctionComponent, ReactNode } from 'react'\nimport Modal from 'react-modal'\nimport React from 'react'\nimport noScroll from 'no-scroll'\nimport cx from 'classnames'\n\nimport s from './Modal.module.css'\nimport CrossIcon from 'assets/Cross'\n\nexport type Props = Modal.Props & {\n children: ReactNode\n isOpen: boolean\n onClose: () => void\n className?: string\n contentClassName?: string\n scrollable?: boolean\n}\n\nconst ControlledModal: FunctionComponent<Props> = ({\n children,\n isOpen,\n onClose,\n className,\n contentClassName,\n scrollable = false,\n ...props\n}) => {\n if (process.env.NODE_ENV !== 'test') Modal.setAppElement('body')\n\n return (\n <Modal\n className={cx(s.modal, className)}\n overlayClassName={s.overlay}\n onAfterOpen={() => {\n noScroll.on()\n }}\n onAfterClose={() => {\n noScroll.off()\n }}\n onRequestClose={onClose}\n isOpen={isOpen}\n shouldCloseOnOverlayClick\n shouldCloseOnEsc\n {...props}\n >\n <div className={s.header}>\n <button onClick={onClose} className={s.closeButton} data-testid=\"modal-close-button\">\n <CrossIcon />\n </button>\n </div>\n <div className={cx(s.content, contentClassName, { [s.contentScrollable]: scrollable })}>\n {children}\n </div>\n </Modal>\n )\n}\n\nexport default ControlledModal\n","import { secondsToMilliseconds } from 'date-fns'\nimport React, { ReactNode } from 'react'\nimport { FormattedDate, FormattedMessage, FormattedNumber } from 'react-intl'\nimport { EligibilityPlan, EligibilityPlanToDisplay } from 'types'\nimport { priceFromCents } from 'utils'\n\nexport const paymentPlanShorthandName = (payment: EligibilityPlan): ReactNode => {\n const { deferred_days, deferred_months, installments_count: installmentsCount } = payment\n const deferredDaysCount = deferred_days + deferred_months * 30\n\n if (installmentsCount === 1) {\n return (\n <FormattedMessage\n id=\"payment-plan-strings.day-abbreviation\"\n defaultMessage=\"J{numberOfDeferredDays}\"\n values={{\n numberOfDeferredDays: deferredDaysCount > 0 ? `+${deferredDaysCount}` : '',\n }}\n />\n )\n } else {\n return `${installmentsCount}x`\n }\n}\n\nexport const paymentPlanInfoText = (payment: EligibilityPlanToDisplay): ReactNode => {\n const {\n deferred_days,\n deferred_months,\n installments_count: installmentsCount,\n eligible,\n purchase_amount: purchaseAmount,\n minAmount = 0,\n maxAmount = 0,\n } = payment\n const deferredDaysCount = deferred_days + deferred_months * 30\n\n const withNoFee = () => {\n if (\n payment.payment_plan.every((plan) => plan.customer_fee === 0 && plan.customer_interest === 0)\n ) {\n return (\n <>\n {' '}\n <FormattedMessage id=\"payment-plan-strings.no-fee\" defaultMessage={'(sans frais)'} />\n </>\n )\n }\n }\n\n if (!eligible) {\n return purchaseAmount > maxAmount ? (\n <FormattedMessage\n id=\"payment-plan-strings.ineligible-greater-than-max\"\n defaultMessage=\"Jusqu'à {maxAmount}\"\n values={{\n maxAmount: (\n <FormattedNumber value={priceFromCents(maxAmount)} style=\"currency\" currency=\"EUR\" />\n ),\n }}\n />\n ) : (\n <FormattedMessage\n id=\"payment-plan-strings.ineligible-lower-than-min\"\n defaultMessage=\"À partir de {minAmount}\"\n values={{\n minAmount: (\n <FormattedNumber value={priceFromCents(minAmount)} style=\"currency\" currency=\"EUR\" />\n ),\n }}\n />\n )\n } else if (deferredDaysCount !== 0 && installmentsCount === 1) {\n return (\n <>\n <FormattedMessage\n id=\"payment-plan-strings.deferred\"\n defaultMessage=\"{totalAmount} à payer le {dueDate}\"\n values={{\n totalAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[0].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n dueDate: (\n <FormattedDate\n value={secondsToMilliseconds(payment.payment_plan[0].due_date)}\n day=\"numeric\"\n month=\"long\"\n year=\"numeric\"\n />\n ),\n }}\n />\n {withNoFee()}\n </>\n )\n } else if (installmentsCount > 0) {\n const areInstallmentsOfSameAmount = payment.payment_plan.every(\n (installment, index) =>\n index === 0 || installment.total_amount === payment.payment_plan[0].total_amount,\n )\n\n if (areInstallmentsOfSameAmount) {\n return (\n <>\n <FormattedMessage\n id=\"payment-plan-strings.multiple-installments-same-amount\"\n defaultMessage=\"{installmentsCount} x {totalAmount}\"\n values={{\n totalAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[0].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n installmentsCount,\n }}\n />\n {withNoFee()}\n </>\n )\n }\n\n return (\n <>\n <FormattedMessage\n id=\"payment-plan-strings.multiple-installments\"\n defaultMessage=\"{numberOfRemainingInstallments, plural, one {{firstInstallmentAmount} puis {numberOfRemainingInstallments} x {othersInstallmentAmount}} other {{firstInstallmentAmount} puis {numberOfRemainingInstallments} x {othersInstallmentAmount}}}\"\n values={{\n firstInstallmentAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[0].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n numberOfRemainingInstallments: installmentsCount - 1,\n othersInstallmentAmount: (\n <FormattedNumber\n value={priceFromCents(payment.payment_plan[1].total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n ),\n }}\n />\n {withNoFee()}\n </>\n )\n }\n return (\n <FormattedMessage\n id=\"payment-plan-strings.default-message\"\n defaultMessage=\"Payez en plusieurs fois avec Alma\"\n />\n )\n}\n","import React, { FC } from 'react'\nimport cx from 'classnames'\nimport { EligibilityPlan } from 'types'\n\nimport { paymentPlanShorthandName } from 'utils/paymentPlanStrings'\nimport s from './EligibilityPlansButtons.module.css'\n\nconst EligibilityPlansButtons: FC<{\n eligibilityPlans: EligibilityPlan[]\n currentPlanIndex: number\n setCurrentPlanIndex: (index: number) => void\n}> = ({ eligibilityPlans, currentPlanIndex, setCurrentPlanIndex }) => (\n <div className={s.buttons}>\n {eligibilityPlans.map((eligibilityPlan, index) => (\n <button\n key={index}\n className={cx({ [s.active]: index === currentPlanIndex })}\n onClick={() => setCurrentPlanIndex(index)}\n >\n {paymentPlanShorthandName(eligibilityPlan)}\n </button>\n ))}\n </div>\n)\n\nexport default EligibilityPlansButtons\n","import React, { FC } from 'react'\nimport cx from 'classnames'\nimport { FormattedDate, FormattedMessage, FormattedNumber, useIntl } from 'react-intl'\nimport { EligibilityPlan } from 'types'\nimport { priceFromCents } from 'utils'\nimport { isToday } from 'date-fns'\n\nimport s from './Schedule.module.css'\n\nconst Schedule: FC<{ currentPlan: EligibilityPlan }> = ({ currentPlan }) => {\n const total =\n currentPlan &&\n priceFromCents(currentPlan.purchase_amount + currentPlan.customer_total_cost_amount)\n const creditCost = currentPlan ? priceFromCents(currentPlan.customer_total_cost_amount) : 0\n const TAEG = currentPlan?.annual_interest_rate && currentPlan.annual_interest_rate / 10000\n const customerFees = priceFromCents(currentPlan ? currentPlan.customer_total_cost_amount : 0)\n const isCredit = currentPlan && currentPlan.installments_count > 4\n const intl = useIntl()\n\n return (\n <div className={s.schedule} data-testid=\"modal-installments-element\">\n <div className={cx(s.scheduleLine, s.total)}>\n <span>\n <FormattedMessage id=\"eligibility-modal.total\" defaultMessage=\"Total\" />\n </span>\n <span>\n <FormattedNumber value={total} style=\"currency\" currency=\"EUR\" />\n </span>\n </div>\n <div className={cx(s.scheduleLine, s.creditCost)}>\n {isCredit ? (\n <span>\n <FormattedMessage\n id=\"eligibility-modal.credit-cost\"\n defaultMessage=\"Dont coût du crédit\"\n />\n </span>\n ) : (\n <span>\n <FormattedMessage id=\"eligibility-modal.cost\" defaultMessage=\"Dont frais\" />\n </span>\n )}\n <span>\n {isCredit ? (\n <FormattedMessage\n id=\"eligibility-modal.credit-cost-amount\"\n defaultMessage=\"{creditCost} (TAEG {TAEG})\"\n values={{\n creditCost: intl.formatNumber(creditCost, {\n style: 'currency',\n currency: 'EUR',\n }),\n TAEG: intl.formatNumber(TAEG ?? 0, {\n style: 'percent',\n maximumFractionDigits: 2,\n }),\n }}\n />\n ) : (\n <FormattedNumber value={customerFees} style=\"currency\" currency=\"EUR\" />\n )}\n </span>\n </div>\n {(currentPlan?.payment_plan || []).map((installment, index) => (\n <div className={s.scheduleLine} key={index}>\n <span>\n {isToday(installment.due_date * 1000) ? (\n <FormattedMessage id=\"installments.today\" defaultMessage=\"Aujourd'hui\" />\n ) : (\n <FormattedDate\n value={installment.due_date * 1000}\n day=\"numeric\"\n month=\"long\"\n year=\"numeric\"\n />\n )}\n </span>\n <span>\n <FormattedNumber\n value={priceFromCents(installment.total_amount)}\n style=\"currency\"\n currency=\"EUR\"\n />\n </span>\n </div>\n ))}\n {isCredit && (\n <p className={s.creditMessage}>\n <FormattedMessage\n id=\"eligibility-modal.credit-commitment\"\n defaultMessage=\"Un crédit vous engage et doit être remboursé. Vérifiez vos capacités de remboursement\n avant de vous engager.\"\n />\n </p>\n )}\n </div>\n )\n}\n\nexport default Schedule\n","import React, { FC } from 'react'\nimport { FormattedMessage } from 'react-intl'\n\nimport s from './Info.module.css'\n\nconst Info: FC = () => (\n <div className={s.list} data-testid=\"modal-info-element\">\n <div className={s.listItem}>\n <div className={s.bullet}>1</div>\n <div>\n <FormattedMessage\n id=\"eligibility-modal.bullet-1\"\n defaultMessage=\"Choisissez <strong>Alma</strong> au moment du paiement.\"\n values={{ strong: (...chunks: string[]) => <strong>{chunks}</strong> }}\n />\n </div>\n </div>\n <div className={s.listItem}>\n <div className={s.bullet}>2</div>\n <div>\n <FormattedMessage\n id=\"eligibility-modal.bullet-2\"\n defaultMessage=\"Renseignez les <strong>informations</strong> demandées.\"\n values={{ strong: (...chunks: string[]) => <strong>{chunks}</strong> }}\n />\n </div>\n </div>\n <div className={s.listItem}>\n <div className={s.bullet}>3</div>\n <div>\n <FormattedMessage\n id=\"eligibility-modal.bullet-3\"\n defaultMessage=\"La validation de votre paiement <strong>instantanée</strong> !\"\n values={{ strong: (...chunks: string[]) => <strong>{chunks}</strong> }}\n />\n </div>\n </div>\n </div>\n)\n\nexport default Info\n","import React from 'react'\n\ntype Props = {\n color?: string\n className?: string\n underlineColor?: string\n}\n\nfunction LogoIcon({\n color = '#00425D',\n underlineColor = '#00425D',\n className,\n}: Props): JSX.Element {\n return (\n <svg\n className={className}\n width=\"35\"\n height=\"23\"\n viewBox=\"0 0 40 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.38546 10.1313V10.029H4.92542C4.23835 10.029 3.72877 10.0972 3.39668 10.2337C3.07605 10.3587 2.91573 10.6374 2.91573 11.0695C2.91573 11.7177 3.37378 12.0418 4.28988 12.0418C5.05711 12.0418 5.59532 11.8826 5.9045 11.5642C6.22514 11.2344 6.38546 10.7568 6.38546 10.1313ZM3.72304 13.9182C2.64663 13.9182 1.85076 13.6567 1.33546 13.1335C0.820153 12.599 0.5625 11.911 0.5625 11.0695C0.5625 10.0574 0.894586 9.32958 1.55876 8.88606C2.22293 8.43118 3.23636 8.20374 4.59906 8.20374H6.38546V7.82846C6.38546 6.98693 5.84725 6.56616 4.77083 6.56616C3.80893 6.56616 3.27644 6.93007 3.17338 7.65788H0.768622C0.848781 6.78223 1.21522 6.04873 1.86794 5.45738C2.52066 4.86603 3.50547 4.57036 4.82236 4.57036C6.1278 4.57036 7.11261 4.86035 7.77678 5.44032C8.44095 6.0203 8.77304 6.83909 8.77304 7.89669V13.7135H6.60875V12.7241C6.09345 13.5202 5.13155 13.9182 3.72304 13.9182Z\"\n fill={color}\n />\n <path\n d=\"M14.2554 11.6324V13.6965C14.0149 13.7306 13.763 13.7476 13.4996 13.7476C12.5492 13.7476 11.8736 13.5486 11.4728 13.1506C11.072 12.7412 10.8716 12.0873 10.8716 11.1889V0.919922H13.3107V11.0183C13.3107 11.2344 13.3508 11.3936 13.4309 11.496C13.5111 11.5983 13.6771 11.6495 13.929 11.6495C13.9863 11.6495 14.0493 11.6495 14.118 11.6495C14.1982 11.6381 14.244 11.6324 14.2554 11.6324Z\"\n fill={color}\n />\n <path\n d=\"M23.8943 8.63019V13.7135H21.4552V8.40844C21.4552 7.23711 20.9742 6.65145 20.0123 6.65145C19.4512 6.65145 19.0161 6.82203 18.7069 7.16319C18.4092 7.50436 18.2603 7.9763 18.2603 8.57902V13.7135H15.8212V4.77506H18.0714V5.86678C18.5409 5.0025 19.4054 4.57036 20.6651 4.57036C21.856 4.57036 22.7263 4.99113 23.2759 5.83266C24.0432 4.99113 25.0394 4.57036 26.2647 4.57036C27.3182 4.57036 28.1255 4.89446 28.6867 5.54267C29.2478 6.19088 29.5283 7.05516 29.5283 8.13551V13.7135H27.0892V8.40844C27.0892 7.23711 26.6083 6.65145 25.6464 6.65145C25.0738 6.65145 24.6386 6.82772 24.3409 7.18025C24.0432 7.52141 23.8943 8.00473 23.8943 8.63019Z\"\n fill={color}\n />\n <path\n d=\"M37.0321 10.1313V10.029H35.572C34.885 10.029 34.3754 10.0972 34.0433 10.2337C33.7227 10.3587 33.5623 10.6374 33.5623 11.0695C33.5623 11.7177 34.0204 12.0418 34.9365 12.0418C35.7037 12.0418 36.2419 11.8826 36.5511 11.5642C36.8717 11.2344 37.0321 10.7568 37.0321 10.1313ZM34.3696 13.9182C33.2932 13.9182 32.4974 13.6567 31.9821 13.1335C31.4668 12.599 31.2091 11.911 31.2091 11.0695C31.2091 10.0574 31.5412 9.32958 32.2054 8.88606C32.8695 8.43118 33.883 8.20374 35.2457 8.20374H37.0321V7.82846C37.0321 6.98693 36.4939 6.56616 35.4174 6.56616C34.4555 6.56616 33.923 6.93007 33.82 7.65788H31.4152C31.4954 6.78223 31.8618 6.04873 32.5145 5.45738C33.1673 4.86603 34.1521 4.57036 35.469 4.57036C36.7744 4.57036 37.7592 4.86035 38.4234 5.44032C39.0876 6.0203 39.4196 6.83909 39.4196 7.89669V13.7135H37.2554V12.7241C36.7401 13.5202 35.7781 13.9182 34.3696 13.9182Z\"\n fill={color}\n />\n <rect y=\"20\" width=\"40\" height=\"3\" fill={underlineColor} />\n </svg>\n )\n}\n\nexport default LogoIcon\n","import React, { FC } from 'react'\n\nimport LogoIcon from 'assets/Logo'\n\nimport s from './Logo.module.css'\n\nconst Logo: FC = () => (\n <div className={s.logo}>\n <LogoIcon underlineColor=\"#FF414D\" />\n </div>\n)\n\nexport default Logo\n","import React, { FC } from 'react'\nimport { FormattedMessage } from 'react-intl'\n\nimport s from './Title.module.css'\n\nconst Title: FC = () => (\n <div className={s.title} data-testid=\"modal-title-element\">\n <FormattedMessage\n id=\"eligibility-modal.title\"\n defaultMessage=\"<highlighted>Payez en plusieurs fois</highlighted> ou plus tard par carte bancaire avec Alma.\"\n values={{ highlighted: (...chunks: string[]) => <span>{chunks}</span> }}\n />\n </div>\n)\n\nexport default Title\n","import cx from 'classnames'\nimport React, { FC } from 'react'\nimport Info from '../components/Info'\nimport Logo from '../components/Logo'\nimport Title from '../components/Title'\nimport s from './DesktopModal.module.css'\n\nconst DesktopModal: FC = ({ children }) => (\n <div className={s.container} data-testid=\"modal-container\">\n <div className={cx([s.block, s.left])}>\n <Title />\n <Info />\n <Logo />\n </div>\n <div className={s.block}>{children}</div>\n </div>\n)\n\nexport default DesktopModal\n","import React, { FC } from 'react'\nimport Info from '../components/Info'\nimport Logo from '../components/Logo'\nimport Title from '../components/Title'\nimport s from './MobileModal.module.css'\n\nconst MobileModal: FC = ({ children }) => (\n <div className={s.container} data-testid=\"modal-container\">\n <Title />\n {children}\n <Info />\n <Logo />\n </div>\n)\n\nexport default MobileModal\n","import LoadingIndicator from 'components/LoadingIndicator'\nimport Modal from 'components/Modal'\nimport React, { FunctionComponent, useState } from 'react'\nimport { FormattedMessage } from 'react-intl'\nimport { useMediaQuery } from 'react-responsive'\nimport { apiStatus, EligibilityPlan } from 'types'\nimport EligibilityPlansButtons from './components/EligibilityPlansButtons'\nimport Schedule from './components/Schedule'\nimport DesktopModal from './DesktopModal'\nimport s from './EligibilityModal.module.css'\nimport MobileModal from './MobileModal'\n\ntype Props = {\n initialPlanIndex?: number\n onClose: () => void\n eligibilityPlans: EligibilityPlan[]\n status: apiStatus\n}\n\nconst EligibilityModal: FunctionComponent<Props> = ({\n initialPlanIndex,\n onClose,\n eligibilityPlans,\n status,\n}) => {\n const [currentPlanIndex, setCurrentPlanIndex] = useState(initialPlanIndex || 0)\n const isBigScreen = useMediaQuery({ minWidth: 800 })\n const ModalComponent = isBigScreen ? DesktopModal : MobileModal\n const eligiblePlans = eligibilityPlans.filter((plan) => plan.eligible)\n const currentPlan = eligiblePlans[currentPlanIndex]\n const modalProps = {\n eligibilityPlans: eligiblePlans,\n currentPlanIndex,\n setCurrentPlanIndex,\n currentPlan,\n status,\n }\n\n return (\n <Modal onClose={onClose} ariaHideApp={false} scrollable isOpen>\n <ModalComponent {...modalProps}>\n {status === apiStatus.PENDING && (\n <div className={s.loader}>\n <LoadingIndicator />\n </div>\n )}\n {status === apiStatus.SUCCESS && eligiblePlans.length === 0 && (\n <div className={s.noEligibility}>\n <FormattedMessage\n id=\"eligibility-modal.no-eligibility\"\n defaultMessage=\"Oups, il semblerait que la simulation n'aie pas fonctionné.\"\n />\n </div>\n )}\n {status === apiStatus.SUCCESS && eligiblePlans.length >= 1 && (\n <>\n <EligibilityPlansButtons\n eligibilityPlans={eligiblePlans}\n currentPlanIndex={currentPlanIndex}\n setCurrentPlanIndex={setCurrentPlanIndex}\n />\n <Schedule currentPlan={currentPlan} />\n </>\n )}\n </ModalComponent>\n </Modal>\n )\n}\nexport default EligibilityModal\n","import useFetchEligibility from 'hooks/useFetchEligibility'\nimport React from 'react'\nimport { ApiConfig, ConfigPlan } from 'types'\nimport EligibilityModal from '.'\n\ntype Props = {\n purchaseAmount: number\n apiData: ApiConfig\n configPlans?: ConfigPlan[]\n onClose: () => void\n}\n\n/**\n * This component allows to display only the modal, without PaymentPlans.\n */\nconst ModalContainer: React.FC<Props> = ({ purchaseAmount, apiData, configPlans, onClose }) => {\n const [eligibilityPlans, status] = useFetchEligibility(purchaseAmount, apiData, configPlans)\n\n return (\n <EligibilityModal\n initialPlanIndex={0}\n onClose={onClose}\n eligibilityPlans={eligibilityPlans}\n status={status}\n />\n )\n}\n\nexport default ModalContainer\n","import React, { VoidFunctionComponent } from 'react'\nimport s from './Loader.module.css'\nimport cx from 'classnames'\n\nconst Loader: VoidFunctionComponent<{ className?: string }> = ({ className }) => {\n return (\n <div className={cx(s.loadingIndicator, className)} data-testid=\"loader\">\n <div className={s.line1} />\n <div className={s.line2} />\n </div>\n )\n}\n\nexport default Loader\n","import LogoIcon from 'assets/Logo'\nimport cx from 'classnames'\nimport Loader from 'components/Loader'\nimport useButtonAnimation from 'hooks/useButtonAnimation'\nimport useFetchEligibility from 'hooks/useFetchEligibility'\nimport React, { MouseEvent, useEffect, useState, VoidFunctionComponent } from 'react'\nimport { ApiConfig, apiStatus, ConfigPlan } from 'types'\nimport { getIndexOfActivePlan } from 'utils/merchantOrderPreferences'\nimport { paymentPlanInfoText, paymentPlanShorthandName } from 'utils/paymentPlanStrings'\nimport EligibilityModal from 'Widgets/EligibilityModal'\nimport s from './PaymentPlans.module.css'\n\ntype Props = {\n purchaseAmount: number\n apiData: ApiConfig\n configPlans?: ConfigPlan[]\n transitionDelay?: number\n hideIfNotEligible?: boolean\n suggestedPaymentPlan?: number | number[]\n}\n\nconst VERY_LONG_TIME_IN_MS = 1000 * 3600 * 24 * 365\nconst DEFAULT_TRANSITION_TIME = 5500\n\nconst PaymentPlanWidget: VoidFunctionComponent<Props> = ({\n purchaseAmount,\n apiData,\n configPlans,\n transitionDelay,\n hideIfNotEligible,\n suggestedPaymentPlan,\n}) => {\n const [eligibilityPlans, status] = useFetchEligibility(purchaseAmount, apiData, configPlans)\n const eligiblePlans = eligibilityPlans.filter((plan) => plan.eligible)\n const activePlanIndex = getIndexOfActivePlan({\n eligibilityPlans,\n suggestedPaymentPlan: suggestedPaymentPlan ?? 0,\n })\n const isSuggestedPaymentPlanSpecified = suggestedPaymentPlan !== undefined // 👈 The merchant decided to focus a tab and remove animated transition.\n const isTransitionSpecified = transitionDelay !== undefined // 👈 The merchant has specified a transition time\n const [isOpen, setIsOpen] = useState(false)\n const openModal = () => setIsOpen(true)\n const closeModal = () => setIsOpen(false)\n\n const eligiblePlanKeys = eligibilityPlans.reduce<number[]>(\n (acc, plan, index) => (plan.eligible ? [...acc, index] : acc),\n [],\n )\n\n /**\n * If merchand specify a suggestedPaymentPlan and no transition, we set a very long transition delay.\n * Otherwise, we set the transition delay specified by the merchant.\n * If none of those properties are specified, we set a default transition delay.\n * @returns\n */\n const realTransitionTime = () => {\n if (isTransitionSpecified) {\n return transitionDelay ?? DEFAULT_TRANSITION_TIME\n }\n if (isSuggestedPaymentPlanSpecified) {\n return VERY_LONG_TIME_IN_MS\n }\n return DEFAULT_TRANSITION_TIME\n }\n\n const { current, onHover, onLeave } = useButtonAnimation(eligiblePlanKeys, realTransitionTime())\n\n useEffect(() => {\n // When API has given a response AND the marchand set an active plan by default.\n if (status === apiStatus.SUCCESS && isSuggestedPaymentPlanSpecified) {\n onHover(activePlanIndex) // We select the first active plan possible\n onLeave() // We need to call onLeave to reset the animation\n }\n }, [status])\n\n /**\n * It takes a plan index and returns the index of that plan within the eligible plans\n *\n * @param {number} planIndex - The index of the plan that the user has selected.\n * @returns The index of the planKey in the eligiblePlanKeys array.\n */\n const getIndexWithinEligiblePlans = (planIndex: number) => {\n const index = eligiblePlanKeys.findIndex((planKey) => planKey === planIndex)\n return index === -1 ? 0 : index\n }\n\n if (status === apiStatus.PENDING) {\n return (\n <div className={cx(s.widgetButton, s.pending)}>\n <Loader />\n </div>\n )\n }\n\n if (\n (hideIfNotEligible && eligiblePlans.length === 0) ||\n eligibilityPlans.length === 0 ||\n status === apiStatus.FAILED\n ) {\n return null\n }\n\n const handleOpenModal = (e: MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n if (eligiblePlans.length > 0) {\n openModal()\n }\n }\n\n return (\n <>\n <div\n onClick={handleOpenModal}\n className={cx(s.widgetButton, {\n [s.clickable]: eligiblePlans.length > 0,\n [s.unClickable]: eligiblePlans.length === 0,\n })}\n data-testid=\"widget-button\"\n >\n <div className={s.primaryContainer}>\n <LogoIcon className={s.logo} />\n <div className={s.paymentPlans}>\n {eligibilityPlans.map((eligibilityPlan, key) => {\n return (\n <div\n key={key}\n onMouseEnter={() => onHover(key)}\n onMouseOut={onLeave}\n className={cx(s.plan, {\n [s.active]: current === key,\n [s.notEligible]: !eligibilityPlan.eligible,\n })}\n >\n {paymentPlanShorthandName(eligibilityPlan)}\n </div>\n )\n })}\n </div>\n </div>\n <div\n className={cx(s.info, {\n [s.notEligible]: eligibilityPlans[current] && !eligibilityPlans[current].eligible,\n })}\n >\n {eligibilityPlans.length !== 0 && paymentPlanInfoText(eligibilityPlans[current])}\n </div>\n </div>\n {isOpen && (\n <EligibilityModal\n initialPlanIndex={getIndexWithinEligiblePlans(current)}\n onClose={closeModal}\n eligibilityPlans={eligiblePlans}\n status={status}\n />\n )}\n </>\n )\n}\n\nexport default PaymentPlanWidget\n","import { EligibilityPlan } from 'types'\n\ntype Args = {\n suggestedPaymentPlan: number | number[]\n eligibilityPlans: EligibilityPlan[]\n}\n\n/**\n * It returns the **index** of the **first eligible plan** that matches the default installments count\n *\n * @param {number | number[]} suggestedPaymentPlan\n * @param {EligibilityPlan[]} eligibilityPlans\n * @returns number (index of the first eligible plan that matches the default installments count)\n */\nexport const getIndexOfActivePlan = ({ suggestedPaymentPlan, eligibilityPlans }: Args): number => {\n const suggestedPaymentPlanArray = Array.isArray(suggestedPaymentPlan)\n ? suggestedPaymentPlan\n : [suggestedPaymentPlan]\n\n for (const index in suggestedPaymentPlanArray) {\n const installmentsCount = suggestedPaymentPlanArray[index]\n\n const planFound = eligibilityPlans.findIndex((plan) => {\n return plan.installments_count === installmentsCount && plan.eligible\n })\n\n if (planFound !== -1) {\n return planFound\n }\n }\n\n return 0\n}\n","import { useEffect, useState } from 'react'\n\nconst useButtonAnimation = (\n iterateValues: number[],\n transitionDelay: number,\n): { current: number; onHover: (current: number) => void; onLeave: () => void } => {\n const [current, setCurrent] = useState(0)\n const [update, setUpdate] = useState(true)\n\n useEffect(() => {\n let isMounted = true\n if (iterateValues.length !== 0) {\n if (!iterateValues.includes(current) && update) setCurrent(iterateValues[0])\n setTimeout(() => {\n if (update && isMounted) {\n setCurrent(\n iterateValues[\n iterateValues.includes(current)\n ? (iterateValues.indexOf(current) + 1) % iterateValues.length\n : 0\n ],\n )\n }\n }, transitionDelay)\n }\n return () => {\n isMounted = false\n }\n }, [iterateValues, current])\n return {\n current,\n onHover: (current: number) => {\n setCurrent(current)\n setUpdate(false)\n },\n onLeave: () => {\n setUpdate(true)\n },\n }\n}\nexport default useButtonAnimation\n","import { ApiMode } from 'consts'\nimport IntlProvider from 'intl/IntlProvider'\nimport React from 'react'\nimport { render, unmountComponentAtNode } from 'react-dom'\nimport {\n Locale,\n ModalOptions,\n PaymentPlanWidgetOptions,\n WidgetNames,\n WidgetOptions,\n widgetTypes,\n} from 'types'\nimport ModalContainer from 'Widgets/EligibilityModal/ModalContainer'\nimport PaymentPlanWidget from 'Widgets/PaymentPlans'\n\ntype AddReturnType =\n | {\n open: () => void\n close: () => void\n }\n | undefined\n\nexport class WidgetsController {\n constructor(private readonly apiData: { domain: ApiMode; merchantId: string }) {}\n\n add(widget: WidgetNames, options: WidgetOptions): AddReturnType {\n const containerDiv = document.querySelector(options.container)\n\n if (containerDiv) {\n unmountComponentAtNode(containerDiv)\n }\n\n if (widget === widgetTypes.PaymentPlans) {\n const {\n container,\n purchaseAmount,\n plans,\n transitionDelay,\n hideIfNotEligible,\n suggestedPaymentPlan,\n locale = Locale.en,\n } = options as PaymentPlanWidgetOptions\n\n if (containerDiv) {\n render(\n <IntlProvider locale={locale}>\n <PaymentPlanWidget\n purchaseAmount={purchaseAmount}\n apiData={this.apiData}\n configPlans={plans}\n transitionDelay={transitionDelay}\n hideIfNotEligible={hideIfNotEligible}\n suggestedPaymentPlan={suggestedPaymentPlan}\n />\n </IntlProvider>,\n document.querySelector(container),\n )\n }\n }\n\n if (widget === widgetTypes.Modal) {\n const {\n container,\n clickableSelector,\n purchaseAmount,\n plans,\n locale = Locale.en,\n } = options as ModalOptions\n\n const close = () => containerDiv && unmountComponentAtNode(containerDiv)\n\n const renderModal = () => {\n render(\n <IntlProvider locale={locale}>\n <ModalContainer\n purchaseAmount={purchaseAmount}\n apiData={this.apiData}\n configPlans={plans}\n onClose={close}\n />\n </IntlProvider>,\n document.querySelector(container),\n )\n }\n\n // if clickableSelector is provided, add an onClick event handler to open the Modal.\n if (clickableSelector) {\n document.querySelector(clickableSelector)?.addEventListener('click', renderModal, false)\n }\n\n return {\n open: renderModal,\n close,\n }\n }\n }\n}\n","export const SANDBOX_API_URL = 'https://api.sandbox.getalma.eu'\nexport const LIVE_API_URL = 'https://api.getalma.eu'\n\nexport enum ApiMode {\n LIVE = 'https://api.getalma.eu',\n TEST = 'https://api.sandbox.getalma.eu',\n}\n","import 'core-js/stable/array/from'\nimport { widgetTypes } from 'types'\nimport { ApiMode } from './consts'\nimport './main.css'\nimport * as utils from './utils'\nimport './utils/polyfills'\nimport { WidgetsController } from './widgets_controller'\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Widgets {\n export function initialize(merchantId: string, mode: ApiMode): WidgetsController {\n return new WidgetsController({ domain: mode, merchantId })\n }\n export const PaymentPlans = widgetTypes.PaymentPlans\n export const Modal = widgetTypes.Modal\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Utils {\n export const priceToCents = utils.priceToCents\n export const priceFromCents = utils.priceFromCents\n export const formatCents = utils.formatCents\n}\n\nexport { ApiMode } from './consts'\n"],"names":["ceil","Math","floor","argument","isNaN","it","undefined","TypeError","createMethod","CONVERT_TO_STRING","$this","pos","first","second","S","String","requireObjectCoercible","position","toInteger","size","length","charCodeAt","charAt","slice","codeAt","check","globalThis","window","self","global","this","Function","exec","error","fails","Object","defineProperty","get","document","EXISTS","isObject","createElement","DESCRIPTORS","a","input","PREFERRED_STRING","fn","val","toString","call","valueOf","nativeDefineProperty","O","P","Attributes","anObject","toPrimitive","IE8_DOM_DEFINE","value","bitmap","enumerable","configurable","writable","object","key","definePropertyModule","f","createPropertyDescriptor","createNonEnumerableProperty","setGlobal","functionToString","store","inspectSource","set","has","WeakMap","test","hasOwnProperty","module","push","version","mode","copyright","id","postfix","random","keys","shared","uid","NATIVE_WEAK_MAP","state","wmget","wmhas","wmset","metadata","facade","STATE","sharedKey","hiddenKeys","objectHas","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","enforce","getterFor","TYPE","type","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","V","descriptor","split","classof","IndexedObject","nativeGetOwnPropertyDescriptor","toIndexedObject","propertyIsEnumerableModule","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","source","join","prototype","aFunction","variable","namespace","method","arguments","path","min","max","IS_INCLUDES","el","fromIndex","toLength","index","integer","toAbsoluteIndex","indexOf","names","i","result","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","getOwnPropertySymbols","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","target","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","require$$0","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","copyConstructorProperties","sham","redefine","F","constructor","getPrototypeOf","IE_PROTO","ObjectPrototype","CORRECT_PROTOTYPE_GETTER","toObject","Symbol","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","USE_SYMBOL_AS_UID","withoutSetter","name","ITERATOR","wellKnownSymbol","BUGGY_SAFARI_ITERATORS","activeXDocument","defineProperties","Properties","objectKeys","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","documentCreateElement","style","display","html","appendChild","src","contentWindow","open","create","TO_STRING_TAG","TAG","returnThis","setPrototypeOf","setter","CORRECT_SETTER","Array","proto","aPossiblePrototype","__proto__","IteratorsCore","setInternalState","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","point","done","setToStringTag","Iterators","createIteratorConstructor","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defineIterator","defaultIterator","IterablePrototype","nativeIterator","values","entries","$","iterated","that","b","c","apply","ENTRIES","returnMethod","iteratorClose","ArrayPrototype","propertyKey","CORRECT_ARGUMENTS","classofRaw","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","SAFE_CLOSING","called","iteratorWithReturn","from","widgetTypes","apiStatus","Locale","ElementProto","INCORRECT_ITERATION","SKIP_CLOSING","ITERATION_SUPPORT","checkCorrectnessOfIteration","priceToCents","price","round","priceFromCents","cents","Number","toFixed","formatCents","arrayLike","step","C","argumentsLength","mapfn","mapping","iteratorMethod","getIteratorMethod","bind","isArrayIteratorMethod","createProperty","callWithSafeIterationClosing","Element","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","selector","elements","ownerDocument","querySelectorAll","Boolean","closest","element","nodeType","parentNode","trim","DOMException","reason","message","Error","DOMTokenListProto","testClass","wsRE","wsIndex","checkIfValidClassListEntry","search","DOMTokenList","hasOwnProp","allowTokenListConstruction","skipPropChange","whenPropChanges","evt","event","prop","propertyName","srcElement","protoObjProto","strval","tokens","resTokenList","oldLen","cI","cLen","sub","innerI","classList","className","polyfillClassList","ele","detachEvent","protoObj","toks","newVal","writeable","attachEvent","toLocaleString","add","v","argLen","Len","resStr","remove","is","e","documentElement","firstChild","styleSheet","cssText","item","n","toggle","oldValue","oldToken","newToken","contains","forEach","tArg","getTranslationsByLocale","locale","fr","messagesFR","en","messagesEN","es","messagesES","messagesIT","de","messagesDE","nl","messagesNL","Provider","children","React","IntlProvider","messages","defaultLocale","filterELigibility","eligibilities","configPlans","filteredEligibilityPlans","filter","plan","installments_count","deferred_days","deferred_months","map","eligibilityDeferredDays","relatedConfigPlan","find","configPlan","installmentsCount","deferredMonths","deferredDays","eligible","purchase_amount","minAmount","maxAmount","useFetchEligibility","purchaseAmount","merchantId","plans","eligibility","setEligibility","useState","status","setStatus","PENDING","configInstallments","useEffect","url","headers","fetch","Content-Type","body","JSON","stringify","json","fetchFromApi","queries","Authorization","then","res","SUCCESS","catch","FAILED","LoadingIndicator","cx","CrossIcon","color","width","height","viewBox","fill","xmlns","d","ControlledModal","isOpen","onClose","contentClassName","scrollable","props","Modal","setAppElement","overlayClassName","onAfterOpen","noScroll","on","onAfterClose","off","onRequestClose","shouldCloseOnOverlayClick","shouldCloseOnEsc","onClick","_1GP2F","paymentPlanShorthandName","payment","deferredDaysCount","FormattedMessage","defaultMessage","numberOfDeferredDays","EligibilityPlansButtons","eligibilityPlans","currentPlanIndex","setCurrentPlanIndex","eligibilityPlan","_3rue7","Schedule","currentPlan","total","customer_total_cost_amount","creditCost","TAEG","annual_interest_rate","customerFees","isCredit","intl","useIntl","FormattedNumber","currency","formatNumber","maximumFractionDigits","payment_plan","installment","isToday","due_date","FormattedDate","day","month","year","total_amount","Info","strong","chunks","LogoIcon","underlineColor","y","Logo","Title","highlighted","DesktopModal","MobileModal","EligibilityModal","initialPlanIndex","ModalComponent","useMediaQuery","minWidth","eligiblePlans","ariaHideApp","ModalContainer","apiData","Loader","PaymentPlanWidget","transitionDelay","hideIfNotEligible","suggestedPaymentPlan","activePlanIndex","suggestedPaymentPlanArray","isArray","planFound","findIndex","getIndexOfActivePlan","isSuggestedPaymentPlanSpecified","isTransitionSpecified","setIsOpen","eligiblePlanKeys","reduce","acc","current","onHover","onLeave","iterateValues","setCurrent","update","setUpdate","isMounted","includes","setTimeout","useButtonAnimation","preventDefault","_UksZa","_1lr-q","onMouseEnter","onMouseOut","_3dG_J","_3O1bg","withNoFee","every","customer_fee","customer_interest","totalAmount","dueDate","secondsToMilliseconds","areInstallmentsOfSameAmount","firstInstallmentAmount","numberOfRemainingInstallments","othersInstallmentAmount","paymentPlanInfoText","planIndex","planKey","getIndexWithinEligiblePlans","WidgetsController","widget","containerDiv","querySelector","container","unmountComponentAtNode","PaymentPlans","render","clickableSelector","renderModal","addEventListener","ApiMode","Widgets","Utils","utils"],"mappings":"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"}