@alma/widgets 1.1.2 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +55 -2
  3. package/dist/assets/fonts/Eina04-Bold.ttf +0 -0
  4. package/dist/assets/fonts/Eina04-Bold.woff +0 -0
  5. package/dist/assets/fonts/PublicSans-VariableFont_wght.ttf +0 -0
  6. package/dist/types/Widgets/EligibilityModal/index.d.ts +9 -0
  7. package/dist/types/Widgets/EligibilityModal/modal.test.d.ts +1 -0
  8. package/dist/types/Widgets/PaymentPlan.d.ts +11 -0
  9. package/dist/types/Widgets/button.test.d.ts +1 -0
  10. package/dist/types/assets/Logo.d.ts +8 -0
  11. package/dist/types/components/Loader/index.d.ts +5 -0
  12. package/dist/types/components/Modal/index.d.ts +12 -0
  13. package/dist/types/consts.d.ts +6 -0
  14. package/dist/types/hooks/useButtonAnimation.d.ts +6 -0
  15. package/dist/types/hooks/useFetchEligibility.d.ts +3 -0
  16. package/dist/types/index.d.ts +6 -7
  17. package/dist/types/intl/IntlProvider.d.ts +8 -0
  18. package/dist/types/intl/utils.d.ts +2 -0
  19. package/dist/types/setupTests.d.ts +1 -0
  20. package/dist/types/test/index.d.ts +7 -0
  21. package/dist/types/types.d.ts +60 -13
  22. package/dist/types/utils/fetch.d.ts +6 -0
  23. package/dist/types/utils/filterEligibility.d.ts +3 -0
  24. package/dist/types/utils/index.d.ts +4 -9
  25. package/dist/types/utils/paymentPlanStrings.d.ts +4 -0
  26. package/dist/types/widgets_controller.d.ts +8 -7
  27. package/dist/widgets.css +5 -0
  28. package/dist/widgets.js +2 -0
  29. package/dist/widgets.js.map +1 -0
  30. package/dist/widgets.m.js +2 -0
  31. package/dist/widgets.m.js.map +1 -0
  32. package/dist/widgets.modern.js +2 -0
  33. package/dist/widgets.modern.js.map +1 -0
  34. package/dist/widgets.umd.js +2 -0
  35. package/dist/widgets.umd.js.map +1 -0
  36. package/package.json +31 -16
  37. package/dist/alma-widgets.css +0 -2
  38. package/dist/alma-widgets.js +0 -2
  39. package/dist/alma-widgets.js.map +0 -1
  40. package/dist/alma-widgets.m.js +0 -2
  41. package/dist/alma-widgets.m.js.map +0 -1
  42. package/dist/alma-widgets.modern.js +0 -2
  43. package/dist/alma-widgets.modern.js.map +0 -1
  44. package/dist/alma-widgets.umd.js +0 -2
  45. package/dist/alma-widgets.umd.js.map +0 -1
  46. package/dist/types/assets/alma.svg.d.ts +0 -2
  47. package/dist/types/assets/cards/cb.svg.d.ts +0 -2
  48. package/dist/types/assets/cards/mastercard.svg.d.ts +0 -2
  49. package/dist/types/assets/cards/visa.svg.d.ts +0 -2
  50. package/dist/types/components/Amount.d.ts +0 -9
  51. package/dist/types/components/CardLogo.d.ts +0 -7
  52. package/dist/types/components/Modal.d.ts +0 -6
  53. package/dist/types/widgets/HowItWorks/HowItWorks.d.ts +0 -16
  54. package/dist/types/widgets/HowItWorks/HowItWorksRenderer.d.ts +0 -14
  55. package/dist/types/widgets/HowItWorks/components/PaymentPlan/Installment.d.ts +0 -7
  56. package/dist/types/widgets/HowItWorks/components/PaymentPlan/InstallmentPlaceholder.d.ts +0 -4
  57. package/dist/types/widgets/HowItWorks/components/PaymentPlan/PaymentPlan.d.ts +0 -6
  58. package/dist/types/widgets/HowItWorks/components/PlanIntro.d.ts +0 -5
  59. package/dist/types/widgets/HowItWorks/components/PlanSelector/PlanSelector.d.ts +0 -9
  60. package/dist/types/widgets/HowItWorks/components/PlanSelector/PlanSelectorItems.d.ts +0 -10
  61. package/dist/types/widgets/HowItWorks/types.d.ts +0 -7
  62. package/dist/types/widgets/PaymentPlans/PaymentPlans.d.ts +0 -16
  63. package/dist/types/widgets/PaymentPlans/PaymentPlansRenderer.d.ts +0 -16
  64. package/dist/types/widgets/PaymentPlans/components/PlanPill.d.ts +0 -10
  65. package/dist/types/widgets/PaymentPlans/components/PlanPillPlaceholder.d.ts +0 -5
  66. package/dist/types/widgets/PaymentPlans/components/PlanSummary.d.ts +0 -9
  67. package/dist/types/widgets/PaymentPlans/components/plansPlaceholders.d.ts +0 -12
  68. package/dist/types/widgets/PaymentPlans/types.d.ts +0 -20
  69. package/dist/types/widgets/Widget.d.ts +0 -14
  70. package/dist/types/widgets/config.d.ts +0 -26
  71. package/dist/types/widgets/index.d.ts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"alma-widgets.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/utils/polyfills.js","../node_modules/core-js/modules/es.array.from.js","../node_modules/core-js/internals/array-from.js","../src/widgets_controller.ts","../src/widgets/Widget.tsx","../src/widgets/config.ts","../src/components/Modal.tsx","../src/widgets/HowItWorks/components/PlanIntro.tsx","../src/assets/Cross.tsx","../src/widgets/HowItWorks/components/PlanSelector/PlanSelectorItems.tsx","../src/widgets/HowItWorks/components/PlanSelector/PlanSelector.tsx","../src/utils/index.ts","../src/components/Amount.tsx","../src/widgets/HowItWorks/components/PaymentPlan/Installment.tsx","../src/widgets/HowItWorks/components/PaymentPlan/InstallmentPlaceholder.tsx","../src/widgets/HowItWorks/components/PaymentPlan/PaymentPlan.tsx","../src/assets/alma.svg","../src/components/CardLogo.tsx","../src/assets/cards/cb.svg","../src/assets/cards/visa.svg","../src/assets/cards/mastercard.svg","../src/widgets/HowItWorks/HowItWorksRenderer.tsx","../src/widgets/PaymentPlans/components/PlanSummary.tsx","../src/widgets/PaymentPlans/components/PlanPill.tsx","../src/widgets/PaymentPlans/components/PlanPillPlaceholder.tsx","../src/widgets/PaymentPlans/PaymentPlansRenderer.tsx","../src/widgets/PaymentPlans/components/plansPlaceholders.tsx","../src/widgets/PaymentPlans/PaymentPlans.tsx","../src/index.ts","../src/widgets/HowItWorks/HowItWorks.tsx"],"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","/* 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","'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 { Client } from '@alma/client'\nimport { Widget, ConstructorFor, SettingsFor } from './widgets/Widget'\nimport { WidgetSettings } from '@/widgets/config'\n\nexport class WidgetsController {\n private widgets: Widget<WidgetSettings>[] = []\n\n constructor(private readonly almaClient: Client) {}\n\n add<T>(widgetCtor: ConstructorFor<T>, settings: SettingsFor<T>): T {\n const widget = new widgetCtor(this.almaClient, settings)\n this.widgets.push(widget)\n return widget\n }\n\n async render(): Promise<void> {\n const promises: Promise<void>[] = []\n\n for (const widget of this.widgets) {\n promises.push(widget.render())\n }\n\n await Promise.all(promises)\n }\n}\n","import { Client } from '@alma/client'\nimport {\n DefaultWidgetConfig,\n makeConfig,\n SettingsLiteral,\n WidgetConfig,\n WidgetSettings,\n} from '@/widgets/config'\nimport { render } from 'preact'\n\nexport type ConstructorFor<T> = T extends Widget<infer SettingsType>\n ? new (almaClient: Client, settings: SettingsLiteral<SettingsType>) => T\n : never\n\nexport type SettingsFor<T> = T extends Widget<infer SettingsType>\n ? SettingsLiteral<SettingsType>\n : never\n\nexport abstract class Widget<SettingsType extends WidgetSettings> {\n protected readonly config: WidgetConfig<SettingsType>\n\n constructor(protected readonly almaClient: Client, settings: SettingsLiteral<SettingsType>) {\n this.config = makeConfig<SettingsType>(this.defaultConfig(), settings)\n }\n\n abstract defaultConfig(): DefaultWidgetConfig<SettingsType>\n\n private get container(): HTMLElement {\n let container: HTMLElement\n\n if (typeof this.config.container === 'string') {\n const foundElement = document.querySelector(this.config.container)\n\n if (!foundElement) {\n throw new Error(`Container element '${this.config.container}' not found`)\n } else {\n container = foundElement as HTMLElement\n }\n } else {\n container = this.config.container\n }\n\n return container\n }\n\n protected abstract renderComponent(): Promise<JSX.Element | null>\n\n async render(): Promise<void> {\n const content = await this.renderComponent()\n render(\n <div className={`alma-widget-root ${this.config.classes.root}`}>{content}</div>,\n this.container,\n )\n }\n}\n","import isPlainObject from 'lodash.isplainobject'\nimport { MarkOptional } from 'ts-essentials'\n\nimport { DOMContent, IObject, Preserve, PreservedDeepRequired, ResolvePreserve } from '@/types'\n\n/*\n * *Settings: interfaces for lib consumers\n */\nexport interface BaseTemplateSettings {\n [K: string]: ((...args: never[]) => DOMContent) | null | undefined\n}\n\nexport interface BaseClassesSettings {\n root?: string\n}\n\n// Widget Settings are composed of top-level settings + optional template settings & classes settings\nexport interface BaseWidgetSettings<\n Tpl extends BaseTemplateSettings,\n Cls extends BaseClassesSettings\n> {\n container: Preserve<string | HTMLElement>\n\n templates?: Tpl\n classes?: Cls\n}\n\nexport type WidgetSettings = BaseWidgetSettings<BaseTemplateSettings, BaseClassesSettings>\n\nexport type SettingsLiteral<T> = ResolvePreserve<T>\n\n/*\n * *Config: \"complete\" representations of settings for internal use\n */\n\n// A Widget config is derived from its Settings type, making all keys\n// required except `render` ()\nexport type WidgetConfig<T> = T extends BaseWidgetSettings<infer _, infer __>\n ? PreservedDeepRequired<T>\n : never\n\n// A \"default widget config\" represents the shape of the default values object used to initialize a\n// config. It's the Config type itself, with 'container' marked optional as it does not make a lot of\n// sense to have a default value for this property.\nexport type DefaultWidgetConfig<T> = T extends BaseWidgetSettings<infer _, infer __>\n ? MarkOptional<PreservedDeepRequired<T>, 'container'>\n : never\n\n/**\n * Merges a default config object with a settings object, to build a widget's internal config object\n *\n * @param defaults The default values to use as a base config\n * @param settings The settings that should override the default values\n *\n * @return WidgetConfig the fully merged config object\n */\nexport function makeConfig<T extends WidgetSettings>(\n defaults: DefaultWidgetConfig<T>,\n settings: SettingsLiteral<T>,\n): WidgetConfig<T> {\n const result: WidgetConfig<T> = {} as WidgetConfig<T>\n const sources = [defaults, settings]\n\n function mergeObjects(base: IObject, source: IObject): IObject {\n for (const key of Object.keys(source)) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n if (isPlainObject(source[key])) {\n if (!base[key] || !isPlainObject(base[key])) {\n base[key] = {}\n }\n mergeObjects(base[key] as IObject, source[key] as IObject)\n } else {\n base[key] = source[key]\n }\n }\n }\n\n return base\n }\n\n for (let idx = 0; idx < 2; idx++) {\n const src = sources[idx]\n mergeObjects(result, src as IObject)\n }\n\n return result\n}\n","import { FunctionComponent } from 'preact'\nimport { useEffect } from 'preact/hooks'\n\ntype ModalProps = {\n closeCallback?: () => void\n}\n\nexport const Modal: FunctionComponent<ModalProps> = ({ closeCallback, children }) => {\n useEffect(() => {\n const listener = (ev: KeyboardEvent) => {\n if (ev.key?.toLowerCase() === 'escape' || ev.keyCode === 27) {\n closeCallback?.()\n }\n }\n\n document.addEventListener('keyup', listener)\n return () => {\n document.removeEventListener('keyup', listener)\n }\n }, [closeCallback])\n\n return (\n <div className=\"atw-inset-0 atw-flex atw-fixed atw-justify-center atw-items-center atw-z-50 atw-bg-black atw-bg-opacity-50\">\n {children}\n </div>\n )\n}\n","import { IPaymentPlan } from '@alma/client/dist/types/entities/eligibility'\n\nfunction isFree(plan: IPaymentPlan): boolean {\n return plan.find((i) => i.customer_fee > 0 || i.customer_interest > 0) == null\n}\n\nexport function PlanIntro({ plan }: { plan: IPaymentPlan | null }): JSX.Element {\n if (!plan) {\n return (\n <div className=\"atw-my-8 atw-space-y-2 atw-animate-pulse\">\n <div className=\"atw-h-4 atw-bg-orange-900 atw-rounded-sm atw-opacity-15\">&nbsp;</div>\n <div className=\"atw-h-4 atw-bg-orange-900 atw-rounded-sm atw-opacity-15\">&nbsp;</div>\n </div>\n )\n }\n\n return (\n <p className=\"atw-my-8 atw-text-lg\">\n Paiement {isFree(plan) ? 'sans frais,' : null} par carte bancaire, en {plan.length}{' '}\n échéances&nbsp;:\n </p>\n )\n}\n","function 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 cx from 'classnames'\nimport { integer } from '@/types'\nimport CrossIcon from '@/assets/Cross'\n\ntype PlanSelectorProps = {\n n: integer\n selected: boolean\n onSelect: (n: integer) => void\n}\n\nconst baseItemClasses = [\n 'atw-group',\n 'atw-inline-block',\n 'atw-transition-all',\n 'duration-200',\n 'atw-border-b-2',\n 'atw-text-sm',\n 'atw-mr-3',\n]\n\nconst basePillClasses = [\n 'atw-flex',\n 'atw-p-2',\n 'atw-text-white',\n 'atw-rounded-sm',\n 'atw-my-4',\n 'atw-transition-colors',\n 'atw-duration-200',\n ' atw-select-none',\n]\n\nexport function PlanSelectorPlaceholder(): JSX.Element {\n const itemClasses = cx(\n ...baseItemClasses,\n '.atw-animate-pulse',\n 'atw-border-orange-900',\n 'atw-opacity-50',\n 'atw-text-orange-900',\n )\n const pillClasses = cx(...basePillClasses, 'atw-bg-orange-900')\n\n return (\n <li className={itemClasses}>\n <span className={pillClasses}>\n <CrossIcon />\n </span>\n </li>\n )\n}\n\nexport function PlanSelectorItem({ n, selected, onSelect }: PlanSelectorProps): JSX.Element {\n const itemClasses = cx(\n ...baseItemClasses,\n selected ? 'atw-border-red' : 'atw-border-transparent',\n 'atw-cursor-pointer',\n )\n\n const pillClasses = cx(...basePillClasses, selected ? 'atw-bg-red' : 'atw-bg-blue', {\n 'group-hover:atw-bg-red': !selected,\n })\n\n function handleClick(e: React.MouseEvent<HTMLLIElement, MouseEvent>) {\n e.preventDefault()\n e.stopPropagation()\n onSelect(n)\n }\n\n return (\n <li className={itemClasses} onClick={handleClick}>\n <span className={pillClasses}>\n {n}\n <CrossIcon className=\"plan-selector-multiplier\" />\n </span>\n </li>\n )\n}\n","import { integer } from '@/types'\nimport { PlanSelectorItem, PlanSelectorPlaceholder } from './PlanSelectorItems'\n\ntype PlansSelectorsProps = {\n installmentsCounts: integer[]\n selectedPlan: integer\n onSelect: (n: integer) => void\n}\n\nexport function PlanSelector({\n selectedPlan,\n installmentsCounts,\n onSelect,\n}: PlansSelectorsProps): JSX.Element {\n const loading = installmentsCounts.length === 0\n\n let installments = null\n if (loading) {\n installments = <PlanSelectorPlaceholder />\n } else {\n installments = installmentsCounts.map((n) => (\n <PlanSelectorItem key={n} selected={n === selectedPlan} n={n} onSelect={onSelect} />\n ))\n }\n\n return <ul className=\"atw-flex atw-justify-center\">{installments}</ul>\n}\n","import { integer } from '@/types'\n\nexport function priceToCents(price: number): integer {\n return Math.round(price * 100)\n}\n\nexport function priceFromCents(cents: integer): number {\n return Number((cents / 100).toFixed(2))\n}\n\nexport function formatCents(cents: integer): string {\n return String(priceFromCents(cents)).replace('.', ',')\n}\n\nexport function isSameDate(date1: Date, date2: Date): boolean {\n return (\n date1.getUTCDate() === date2.getUTCDate() &&\n date1.getUTCMonth() === date2.getUTCMonth() &&\n date1.getUTCFullYear() === date2.getUTCFullYear()\n )\n}\n\nexport function isToday(date: Date): boolean {\n return isSameDate(date, new Date())\n}\n\nexport function isYesterday(date: Date): boolean {\n const today = new Date()\n return isSameDate(date, new Date(today.setDate(today.getDate() - 1)))\n}\n\nexport function humanizedDate(date: Date, addArticle = false, forceDate = false): string {\n if (isToday(date) && !forceDate) {\n return \"aujourd'hui\"\n }\n\n if (isYesterday(date) && !forceDate) {\n return 'hier'\n }\n\n const article = addArticle ? 'le ' : ''\n return article + date.toLocaleDateString()\n}\n\nexport function addMonths(date: Date, months: integer): Date {\n const d = date.getDate()\n date.setMonth(date.getMonth() + +months)\n if (date.getDate() != d) {\n date.setDate(0)\n }\n return date\n}\n","import { integer } from '@/types'\nimport { formatCents } from '@/utils'\n\ntype AmountProps = {\n className?: string\n cents: integer\n currency?: string\n}\n\nexport function Amount({ className, cents, currency = '€' }: AmountProps): JSX.Element {\n // &#8239; => NARROW NO-BREAK SPACE\n return (\n <span className={className}>\n {formatCents(cents)}&#8239;{currency}\n </span>\n )\n}\n","import cx from 'classnames'\nimport { IInstallment } from '@alma/client/dist/types/entities/eligibility'\nimport { Amount } from '@/components/Amount'\nimport { humanizedDate } from '@/utils'\n\ntype InstallmentProps = {\n installment: IInstallment\n}\n\nexport function Installment({ installment }: InstallmentProps): JSX.Element {\n const fullAmount =\n installment.purchase_amount + installment.customer_fee + installment.customer_interest\n\n const installmentClasses = cx('atw-flex', 'atw-flex-row', 'atw-justify-between', {\n 'atw-pb-4': installment.customer_fee === 0,\n })\n\n let fees = null\n if (installment.customer_fee > 0) {\n fees = (\n <div className=\"atw-flex atw-flex-row atw-justify-end atw-pb-4\">\n <span className=\"atw-text-xs\">\n Dont frais : <Amount cents={installment.customer_fee} />\n </span>\n </div>\n )\n }\n\n return (\n <>\n <div className={installmentClasses}>\n <span className=\"atw-capitalize\">\n {humanizedDate(new Date(installment.due_date * 1000), true)}\n </span>\n <Amount className=\"alma-title-text\" cents={fullAmount} />\n </div>\n {fees}\n </>\n )\n}\n","export function InstallmentPlaceholder({ label }: { label: string }): JSX.Element {\n return (\n <div className=\"atw-flex atw-flex-row atw-justify-between\">\n <span className=\"atw-capitalize\">{label}</span>\n <span>\n <span className=\"atw-inline-block atw-w-8 atw-bg-orange-900 atw-rounded-sm atw-opacity-25\">\n &nbsp;\n </span>\n &nbsp;€\n </span>\n </div>\n )\n}\n","import { IPaymentPlan } from '@alma/client/dist/types/entities/eligibility'\n\nimport { integer } from '@/types'\nimport { Amount } from '@/components/Amount'\n\nimport { Installment } from './Installment'\nimport { addMonths, humanizedDate } from '@/utils'\nimport { InstallmentPlaceholder } from '@/widgets/HowItWorks/components/PaymentPlan/InstallmentPlaceholder'\n\nexport type PlanDetailsProps = {\n plan: IPaymentPlan | null\n}\n\nfunction planFullAmount(plan: IPaymentPlan): integer {\n return plan\n .map((p) => p.purchase_amount + p.customer_fee + p.customer_interest)\n .reduce((full, amount) => full + amount)\n}\n\nexport function PaymentPlan({ plan }: PlanDetailsProps): JSX.Element {\n // If not plan has been provided, display a pulsing placeholder\n if (!plan) {\n const today = new Date()\n\n return (\n <div className=\"atw-space-y-4 atw-animate-pulse atw-text-orange-900 atw-opacity-25\">\n <InstallmentPlaceholder label={humanizedDate(today, true)} />\n <InstallmentPlaceholder label={humanizedDate(addMonths(today, 1), true)} />\n <InstallmentPlaceholder label={humanizedDate(addMonths(today, 2), true)} />\n <hr className=\"atw-border-orange-900 atw-opacity-25\" />\n <InstallmentPlaceholder label=\"Total\" />\n </div>\n )\n }\n\n return (\n <div>\n {plan.map((i, idx) => (\n <Installment key={idx} installment={i} />\n ))}\n <hr className=\"atw-border-blue atw-opacity-50\" />\n <div className=\"atw-flex atw-flex-row atw-justify-between atw-pt-4 alma-title-text\">\n <span>Total</span>\n <Amount cents={planFullAmount(plan)} />\n </div>\n </div>\n )\n}\n","const img = \"data:image/svg+xml,%3csvg width='114' height='62' viewBox='0 0 114 62' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0)'%3e%3cpath d='M18.1985 26.5444V26.2495H14.0374C12.0793 26.2495 10.627 26.4461 9.68054 26.8394C8.76673 27.1998 8.30982 28.0027 8.30982 29.248C8.30982 31.116 9.61526 32.0499 12.2261 32.0499C14.4128 32.0499 15.9467 31.5911 16.8278 30.6736C17.7416 29.7232 18.1985 28.3468 18.1985 26.5444ZM10.6107 37.4571C7.54288 37.4571 5.27467 36.7034 3.80605 35.1959C2.33743 33.6557 1.60312 31.6731 1.60312 29.248C1.60312 26.3314 2.54956 24.2341 4.44245 22.956C6.33534 21.6452 9.22363 20.9898 13.1073 20.9898H18.1985V19.9083C18.1985 17.4833 16.6646 16.2708 13.5969 16.2708C10.8554 16.2708 9.33786 17.3194 9.04414 19.4168H2.19057C2.41902 16.8934 3.46337 14.7797 5.32363 13.0756C7.18388 11.3715 9.99058 10.5195 13.7437 10.5195C17.4642 10.5195 20.2709 11.3551 22.1638 13.0264C24.0567 14.6978 25.0032 17.0573 25.0032 20.1049V36.8673H18.8349V34.0162C17.3663 36.3102 14.6249 37.4571 10.6107 37.4571Z' fill='%2300425E'/%3e%3cpath d='M40.6279 30.8702V36.8181C39.9426 36.9164 39.2246 36.9656 38.4739 36.9656C35.7651 36.9656 33.8396 36.3921 32.6974 35.2451C31.5551 34.0654 30.984 32.181 30.984 29.5921V0H37.9354V29.1006C37.9354 29.7232 38.0497 30.182 38.2781 30.4769C38.5066 30.7719 38.9798 30.9193 39.6978 30.9193C39.861 30.9193 40.0405 30.9193 40.2363 30.9193C40.4647 30.8866 40.5953 30.8702 40.6279 30.8702Z' fill='%2300425E'/%3e%3cpath d='M68.0988 22.2187V36.8673H61.1473V21.5796C61.1473 18.2042 59.7766 16.5165 57.0352 16.5165C55.436 16.5165 54.1958 17.0081 53.3147 17.9912C52.4661 18.9744 52.0419 20.3343 52.0419 22.0712V36.8673H45.0904V11.1093H51.5034V14.2553C52.8414 11.7648 55.3055 10.5195 58.8954 10.5195C62.2896 10.5195 64.7699 11.732 66.3364 14.157C68.523 11.732 71.3624 10.5195 74.8544 10.5195C77.857 10.5195 80.1578 11.4534 81.757 13.3214C83.3561 15.1893 84.1557 17.6799 84.1557 20.7931V36.8673H77.2042V21.5796C77.2042 18.2042 75.8335 16.5165 73.0921 16.5165C71.4603 16.5165 70.2201 17.0245 69.3716 18.0404C68.523 19.0235 68.0988 20.4163 68.0988 22.2187Z' fill='%2300425E'/%3e%3cpath d='M105.541 26.5444V26.2495H101.38C99.4221 26.2495 97.9698 26.4461 97.0234 26.8394C96.1096 27.1998 95.6526 28.0027 95.6526 29.248C95.6526 31.116 96.9581 32.0499 99.569 32.0499C101.756 32.0499 103.289 31.5911 104.171 30.6736C105.084 29.7232 105.541 28.3468 105.541 26.5444ZM97.9535 37.4571C94.8857 37.4571 92.6175 36.7034 91.1489 35.1959C89.6803 33.6557 88.9459 31.6731 88.9459 29.248C88.9459 26.3314 89.8924 24.2341 91.7853 22.956C93.6782 21.6452 96.5665 20.9898 100.45 20.9898H105.541V19.9083C105.541 17.4833 104.007 16.2708 100.94 16.2708C98.1983 16.2708 96.6807 17.3194 96.387 19.4168H89.5334C89.7618 16.8934 90.8062 14.7797 92.6665 13.0756C94.5267 11.3715 97.3334 10.5195 101.087 10.5195C104.807 10.5195 107.614 11.3551 109.507 13.0264C111.4 14.6978 112.346 17.0573 112.346 20.1049V36.8673H106.178V34.0162C104.709 36.3102 101.968 37.4571 97.9535 37.4571Z' fill='%2300425E'/%3e%3crect y='53.7429' width='114' height='8.14286' fill='%23FF414D'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0'%3e%3crect width='114' height='61.8857' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\";\n export default img;","import cbLogo from '../assets/cards/cb.svg'\nimport visaLogo from '../assets/cards/visa.svg'\nimport mastercardLogo from '../assets/cards/mastercard.svg'\n\ntype CardLogoProps = {\n brand: 'visa' | 'mastercard' | 'cb'\n alt?: string\n}\n\ntype CardDict = { [k in CardLogoProps['brand']]: string }\n\nconst DEFAULT_LABELS: CardDict = {\n visa: 'Visa',\n mastercard: 'Mastercard',\n cb: 'Cartes Bancaires',\n}\n\nconst LOGOS: CardDict = {\n cb: cbLogo,\n visa: visaLogo,\n mastercard: mastercardLogo,\n}\n\nexport function CardLogo({ brand, alt = DEFAULT_LABELS[brand] }: CardLogoProps): JSX.Element {\n return <img className=\"atw-h-full\" src={LOGOS[brand]} alt={alt} />\n}\n","const img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3e%3cdefs%3e%3clinearGradient id='cardcb' x1='5.842%25' x2='95.393%25' y1='81.753%25' y2='17.344%25'%3e%3cstop offset='0%25' stop-color='%2339B54A'%3e%3c/stop%3e %3cstop offset='100%25' stop-color='%230A5296'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e %3cg fill='none' fill-rule='nonzero'%3e%3cpath fill='url(%23cardcb)' d='M22.621 16H1.38C.627 16 0 15.392 0 14.662V1.338C0 .608.627 0 1.379 0H22.62C23.373 0 24 .608 24 1.338v13.324c-.063.73-.627 1.338-1.379 1.338z'%3e%3c/path%3e %3cg fill='white'%3e%3cpath d='M19.094 4.03h-6.437V8h6.498c1.165 0 2.084-.889 2.084-2.015-.06-1.066-.98-1.955-2.145-1.955zM19.094 8.593h-6.437v3.97h6.498c1.165 0 2.084-.889 2.084-2.015-.06-1.067-.98-1.955-2.145-1.955zM7.017 8.06h4.966c-.245-2.371-2.391-4.267-4.966-4.267-2.758 0-5.027 2.074-5.027 4.681s2.269 4.682 5.027 4.682c2.698 0 4.904-2.015 5.027-4.563H7.017v-.534z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e\";\n export default img;","const img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3e%3cg fill='none' fill-rule='nonzero'%3e%3cpath fill='%23FCFCFC' d='M22.684 16H1.38C.627 16 0 15.39 0 14.656V1.344C0 .61.627 0 1.379 0H22.62C23.373 0 24 .61 24 1.344v13.374c0 .671-.564 1.282-1.316 1.282z'%3e%3c/path%3e %3cpath fill='%23005098' d='M8.889 10.726l.948-5.393h1.482l-.949 5.393zM15.704 5.452a3.658 3.658 0 0 0-1.304-.237c-1.481 0-2.489.71-2.489 1.778 0 .77.711 1.185 1.304 1.481.592.237.77.415.77.652 0 .355-.474.533-.889.533-.592 0-.889-.059-1.363-.296l-.177-.06-.178 1.186c.355.178 1.007.296 1.659.296 1.54 0 2.548-.71 2.548-1.837 0-.592-.415-1.067-1.244-1.481-.534-.237-.83-.415-.83-.652 0-.237.237-.474.83-.474.474 0 .83.118 1.126.178l.118.059.119-1.126M19.496 5.333H18.37c-.355 0-.592.119-.77.474l-2.193 4.919h1.541s.237-.652.296-.83h1.897c.059.178.178.83.178.83h1.362l-1.185-5.393zM17.66 8.77l.593-1.481s.118-.296.178-.533l.118.474s.296 1.303.356 1.54h-1.245zM7.644 5.333L6.222 9.007l-.178-.77C5.748 7.348 4.92 6.459 4.03 5.985l1.303 4.682h1.541l2.311-5.393h-1.54'%3e%3c/path%3e %3cpath fill='%23F6A500' d='M4.919 5.333h-2.37v.119c1.836.474 3.08 1.54 3.555 2.844L5.57 5.807c-.118-.414-.355-.474-.651-.474'%3e%3c/path%3e %3cpath fill='%230A5296' d='M23.937 3.23H0V1.316C0 .598.627 0 1.379 0H22.62C23.373 0 24 .598 24 1.316V3.23h-.063z'%3e%3c/path%3e %3cpath fill='%23F4A428' d='M.063 13H24v1.8c0 .655-.625 1.2-1.375 1.2H1.375C.625 16 0 15.455 0 14.8V13h.063z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\";\n export default img;","const img = \"data:image/svg+xml,%3csvg width='24px' height='16px' viewBox='0 0 24 16' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg id='Parcours-1C-B' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg id='mobile-1C-Paiement-V1' transform='translate(-269.000000%2c -313.000000)'%3e%3cg id='mastercard' transform='translate(269.000000%2c 313.000000)'%3e%3crect id='Rectangle' fill='white' x='0' y='0' width='24' height='16' rx='1'%3e%3c/rect%3e %3cg id='Group-6' transform='translate(4.000000%2c 3.000000)'%3e%3ccircle id='Oval-4-Copy' fill='%23EA001B' cx='5.05263158' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e %3ccircle id='Oval-4' fill-opacity='0.25' fill='%23F79F1A' cx='10.9473684' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e %3ccircle id='Oval-4-Copy-2' fill-opacity='0.9' fill='%23F79F1A' cx='10.9473684' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e %3ccircle id='Oval-4-Copy-3' fill-opacity='0.3' fill='%23EA001B' cx='5.05263158' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e\";\n export default img;","import { useEffect, useState } from 'preact/hooks'\n\nimport { integer } from '@/types'\nimport {\n EligibleEligibility,\n IEligibility,\n IPaymentPlan,\n} from '@alma/client/dist/types/entities/eligibility'\n\nimport { Client } from '@alma/client'\n\nimport { Modal } from '@/components/Modal'\nimport { PlanIntro } from './components/PlanIntro'\nimport { PlanSelector } from './components/PlanSelector/PlanSelector'\nimport { PaymentPlan } from './components/PaymentPlan/PaymentPlan'\n\nimport './styles.scss'\nimport almaLogo from '../../assets/alma.svg'\nimport { CardLogo } from '@/components/CardLogo'\n\ntype HowItWorksProps = {\n almaClient: Client\n purchaseAmount: integer\n installmentsCounts: integer[]\n samplePlans?: IPaymentPlan[]\n closeCallback: () => void\n}\n\nfunction planForN(plans: IPaymentPlan[], n: integer): IPaymentPlan | null {\n return plans.find((p) => p.length === n) || null\n}\n\nasync function fetchSamplePlans(\n almaClient: Client,\n purchaseAmount: integer,\n installmentsCounts: integer[],\n): Promise<IPaymentPlan[]> {\n const plans: IEligibility[] = await almaClient.payments.eligibility({\n payment: {\n purchase_amount: purchaseAmount,\n installments_count: installmentsCounts,\n },\n })\n\n return (plans.filter((p) => p.eligible) as EligibleEligibility[]).map((p) => p.payment_plan)\n}\n\nexport function HowItWorksRenderer({\n almaClient,\n purchaseAmount,\n installmentsCounts,\n samplePlans: initialSamplePlans = [],\n closeCallback,\n}: HowItWorksProps): JSX.Element {\n const [shownInstallmentsCount, setShownInstallmentsCount] = useState(0)\n const [samplePlans, setSamplePlans] = useState(initialSamplePlans)\n\n useEffect(() => {\n // Select \"p3x\" by default, or the plan with highest installments count if p3x not present\n const defaultInstallmentsCount = samplePlans\n .map((p) => p.length)\n .reduce((prev, n) => (prev !== 3 && n > prev ? n : prev), 0)\n\n setShownInstallmentsCount(defaultInstallmentsCount)\n }, [samplePlans])\n\n useEffect(() => {\n if (!samplePlans.length) {\n fetchSamplePlans(almaClient, purchaseAmount, installmentsCounts)\n .then(setSamplePlans)\n .catch(() => {\n return null\n })\n }\n }, [purchaseAmount, installmentsCounts, samplePlans])\n\n const shownPlan = planForN(samplePlans, shownInstallmentsCount)\n\n return (\n <Modal closeCallback={closeCallback}>\n <div className=\"atw-overflow-auto atw-relative atw-flex atw-flex-row atw-flex-wrap atw-rounded-sm atw-shadow-lg atw-w-screen atw-h-screen md:atw-h-800 lg:atw-w-11/12 md:atw-max-w-4xl atw-max-h-screen atw-bg-white atw-text-base\">\n <button\n onClick={closeCallback}\n className=\"atw-text-3xl atw-opacity-50 hover:atw-opacity-100 focus:atw-opacity-100 atw-absolute atw-top-3 atw-right-4 atw-outline-none atw-transform hover:atw-scale-125 focus:atw-scale-125 atw-transition-transform atw-duration-100\"\n >\n &times;\n </button>\n\n <div className=\"atw-w-full md:atw-w-1/2 atw-p-8\">\n <img className=\"atw-h-8\" src={almaLogo} alt=\"Alma\" />\n\n <div className=\"alma-title-text atw-text-5xl atw-font-bold atw-mt-8\">\n Payer avec Alma c'est simple <br />\n et <span className=\"alma-text-highlight-md\">immédiat</span>\n </div>\n\n <ul className=\"alma-howItWorks__steps atw-my-10\">\n <li className=\"atw-pl-8 atw-mb-5\">Validez votre panier</li>\n <li className=\"atw-pl-8 atw-mb-5\">\n Sélectionnez l'option de paiement en plusieurs fois Alma\n </li>\n <li className=\"atw-pl-8 atw-mb-5\">\n Entrez votre numéro de carte bancaire, et c'est tout !\n </li>\n </ul>\n\n <p>\n <a\n href=\"https://getalma.eu/customers\"\n target=\"_blank\"\n className=\"atw-text-xs atw-underline\"\n >\n Une question ? Visitez notre page dédiée\n </a>\n </p>\n\n <p className=\"atw-mt-7 atw-space-x-3\">\n <span className=\"atw-inline-block atw-h-10 atw-border atw-border-orange atw-rounded-md atw-p-2\">\n <CardLogo brand=\"cb\" />\n </span>\n <span className=\"atw-inline-block atw-h-10 atw-border atw-border-orange atw-rounded-md atw-p-2\">\n <CardLogo brand=\"visa\" />\n </span>\n <span className=\"atw-inline-block atw-h-10 atw-border atw-border-orange atw-rounded-md atw-p-1\">\n <CardLogo brand=\"mastercard\" />\n </span>\n </p>\n </div>\n <div className=\"alma-howItWorks__planPanel atw-w-full md:atw-w-1/2 atw-p-8 atw-pb-24 md:atw-pb-8 md:atw-pt-8 atw-flex atw-flex-col atw-align-center atw-bg-beige\">\n <div className=\"atw-flex-grow\">\n <PlanSelector\n installmentsCounts={samplePlans.map((p) => p.length)}\n selectedPlan={shownInstallmentsCount}\n onSelect={setShownInstallmentsCount}\n />\n\n <PlanIntro plan={shownPlan} />\n\n <PaymentPlan plan={shownPlan} />\n </div>\n\n {/* First wrapper to make the button fixed and displayed over the rest of the modal on small screens */}\n <div className=\"atw-mt-8 atw-fixed md:atw-relative atw-shadow-above-md md:atw-shadow-none atw-p-4 md:atw-p-0 atw-bg-beige md:atw-bg-transparent atw-bottom-0 atw-left-0 atw-right-0\">\n {/* Second wrappers for the drop shadow, so that it's retained when showing the button's shadow outline */}\n <div className=\"atw-shadow-xl atw-rounded-sm\">\n {/* The actual button, that will get a shadow-based outline upon focus/hover (which justifies inner wrapper) */}\n <button\n onClick={closeCallback}\n className=\"atw-w-full atw-uppercase atw-bg-red atw-text-white atw-h-12 atw-rounded-sm alma-title-text atw-bg-gradient-to-b atw-from-red atw-via-red atw-to-red-700 atw-outline-none hover:atw-shadow-outline-red focus:atw-shadow-outline-red\"\n >\n J'ai compris\n </button>\n </div>\n {shownPlan && shownPlan.length > 4 && (\n <div className=\"atw-font-light atw-mt-6\">\n Un crédit vous engage et doit être remboursé. Vérifiez vos capacités de\n remboursement avant de vous engager.\n </div>\n )}\n </div>\n </div>\n </div>\n </Modal>\n )\n}\n","import {\n EligibleEligibility,\n IEligibility,\n NotEligibleEligibility,\n} from '@alma/client/dist/types/entities/eligibility'\nimport { Amount } from '@/components/Amount'\nimport { integer } from '@/types'\n\n// TODO: this assumes the first payment will be made \"today\"; will need to adapt for Pay Later\nfunction eligiblePlan(eligibility: EligibleEligibility): JSX.Element {\n const { payment_plan: paymentPlan } = eligibility\n\n const firstAmount = paymentPlan[0].purchase_amount + paymentPlan[0].customer_fee + paymentPlan[0].customer_interest\n const nextAmount = paymentPlan[1].purchase_amount + paymentPlan[1].customer_fee + paymentPlan[1].customer_interest\n\n return (\n <span className=\"atw-leading-relaxed\">\n <Amount cents={firstAmount} /> puis&nbsp;{paymentPlan.length - 1}&times;\n <Amount cents={nextAmount} />\n </span>\n )\n}\n\nfunction nonEligiblePlan(purchaseAmount: number, eligibility: NotEligibleEligibility): JSX.Element {\n // TODO: Eligibility types need some fixing on the API Client\n const reasons = (eligibility as any).reasons\n const constraints = (eligibility as any).constraints.purchase_amount\n\n if (reasons || !constraints) {\n // No matter the reason, if there's one we'll just output a generic \"Unavailable\" text\n return <span>Indisponible</span>\n }\n\n if (purchaseAmount < constraints.minimum) {\n return (\n <span>\n Dès <Amount cents={constraints.minimum} />\n </span>\n )\n } else {\n return (\n <span>\n Jusqu'à <Amount cents={constraints.maximum} />\n </span>\n )\n }\n}\n\ntype PlanSummaryProps = {\n purchaseAmount: integer\n eligibility: IEligibility\n}\n\nexport function PlanSummary({ eligibility, purchaseAmount }: PlanSummaryProps): JSX.Element {\n if (eligibility.eligible) {\n // TODO: remove type assertion once API Client's eligibility types are fixed\n return eligiblePlan(eligibility as EligibleEligibility)\n } else {\n return nonEligiblePlan(purchaseAmount, eligibility as NotEligibleEligibility)\n }\n}\n","import cx from 'classnames'\nimport { IEligibility } from '@alma/client/dist/types/entities/eligibility'\nimport CrossIcon from '@/assets/Cross'\n\nexport const basePillClasses = [\n 'atw-flex',\n 'atw-p-1',\n 'atw-text-white',\n 'atw-rounded-sm',\n 'atw-transition-colors',\n 'atw-duration-500',\n 'atw-select-none',\n]\n\ntype PlanPillProps = {\n isActive: boolean\n eligibility: IEligibility\n mouseEnterCallback: () => void\n}\n\nexport function PlanPill({\n isActive,\n eligibility,\n mouseEnterCallback,\n}: PlanPillProps): JSX.Element {\n const isEligible = eligibility.eligible\n\n return (\n <span className={cx('atw-inline-block', 'atw-h-7')}>\n <span\n className={cx(\n 'atw-inline-block',\n 'atw-transition-all',\n 'atw-duration-500',\n 'atw-border-b-2',\n {\n 'atw-border-red': isActive && isEligible,\n 'atw-border-opacity-100': isActive && isEligible,\n 'atw-border-blue': !isActive || !isEligible,\n 'atw-border-opacity-50': isActive && !isEligible,\n 'atw-border-opacity-0': !isActive,\n },\n isActive ? 'atw-h-7' : 'atw-h-6',\n )}\n >\n <span\n className={cx(...basePillClasses, {\n 'atw-bg-red': isActive && isEligible,\n 'atw-bg-blue': !isActive || !isEligible,\n 'atw-bg-opacity-50': isActive && !isEligible,\n 'atw-bg-opacity-25': !isActive && !isEligible,\n })}\n onMouseEnter={mouseEnterCallback}\n >\n {eligibility.installments_count}\n <CrossIcon className=\"plan-pill-multiplier\" />\n </span>\n </span>\n </span>\n )\n}\n","import CrossIcon from '@/assets/Cross'\nimport { QueriedPlanProperties } from '@/widgets/PaymentPlans/types'\nimport cx from 'classnames'\nimport { basePillClasses } from './PlanPill'\n\nexport function PlanPillPlaceholder({ plan }: { plan: QueriedPlanProperties }): JSX.Element {\n return (\n <span className=\"atw-animate-pulse atw-h-7\">\n <span\n className={cx(...basePillClasses, 'atw-bg-blue', 'atw-opacity-25', 'atw-w-full atw-h-6')}\n >\n {plan.installmentsCount}\n <CrossIcon className=\"plan-pill-multiplier\" />\n </span>\n </span>\n )\n}\n","import cx from 'classnames'\n\nimport { integer } from '@/types'\nimport { QueriedPlanProperties } from '@/widgets/PaymentPlans/types'\nimport { EligibleEligibility, IEligibility } from '@alma/client/dist/types/entities/eligibility'\n\nimport { useEffect, useLayoutEffect, useReducer } from 'preact/hooks'\n\nimport { HowItWorksRenderer } from '@/widgets/HowItWorks/HowItWorksRenderer'\nimport { PlanSummary } from '@/widgets/PaymentPlans/components/PlanSummary'\n\nimport almaLogo from '../../assets/alma.svg'\nimport { render } from 'preact'\nimport { Client } from '@alma/client'\nimport { PlanPill } from '@/widgets/PaymentPlans/components/PlanPill'\nimport { plansPlaceholders } from './components/plansPlaceholders'\n\ntype RendererProps = {\n almaClient: Client\n purchaseAmount: integer\n queriedPlans: QueriedPlanProperties[]\n results: IEligibility[]\n transitionDelay: number | false\n error: boolean\n errorRetryCallback: () => void\n}\n\nfunction planIsAvailable(plan: IEligibility): boolean {\n // TODO: Eligibility types need fixing in @alma/client\n return plan.eligible || (plan as any).reasons === undefined\n}\n\ntype State = {\n shownPlan: integer\n autoRotate: boolean\n showTooltip: boolean\n showInfoModal: boolean\n modalContent: JSX.Element | null\n}\n\ntype ActionPayload<S extends keyof State> = {\n key: S\n value: State[S]\n}\n\nconst setState = <S extends keyof State>(key: S, value: State[S]): ActionPayload<S> => ({\n key,\n value,\n})\n\nfunction initState(initialResults: IEligibility[]): State {\n return {\n shownPlan: 0,\n autoRotate: initialResults.length > 0,\n showTooltip: false,\n showInfoModal: false,\n modalContent: null,\n }\n}\n\nfunction reducer(state: State, action: ReturnType<typeof setState>): State {\n return { ...state, [action.key]: action.value }\n}\n\nfunction handleMouseEnter(dispatch: (action: ReturnType<typeof setState>) => void) {\n return () => {\n dispatch(setState('showTooltip', true))\n dispatch(setState('autoRotate', false))\n }\n}\n\nfunction handleMouseLeave(dispatch: (action: ReturnType<typeof setState>) => void) {\n return () => {\n dispatch(setState('showTooltip', false))\n dispatch(setState('autoRotate', true))\n }\n}\n\nfunction useTimeout(timeout: number, cb: () => void): void {\n useEffect(() => {\n const timeoutId = window.setTimeout(cb, timeout)\n return () => clearTimeout(timeoutId)\n }, [timeout, cb])\n}\n\nexport function PaymentPlansRenderer({\n almaClient,\n purchaseAmount,\n queriedPlans,\n results,\n transitionDelay,\n error,\n errorRetryCallback,\n}: RendererProps): JSX.Element {\n const eligiblePlans = results.filter((r) => r.eligible) as EligibleEligibility[]\n const hasEligiblePlans = eligiblePlans.length > 0\n\n const [state, dispatch] = useReducer(reducer, results, initState)\n\n useEffect(() => {\n dispatch(setState('autoRotate', results.length > 0))\n }, [results])\n\n // Automatically transition from one plan to another\n if (state.autoRotate && transitionDelay && results.length > 1) {\n useTimeout(transitionDelay, () => {\n dispatch(setState('shownPlan', (state.shownPlan + 1) % results.length))\n })\n }\n\n useLayoutEffect(() => {\n if (state.showInfoModal && hasEligiblePlans) {\n // To show correctly, the modal needs to be injected into the document's body\n const container = document.createElement('div')\n container.className = 'alma-widget-root'\n document.body.appendChild(container)\n\n render(\n <HowItWorksRenderer\n almaClient={almaClient}\n purchaseAmount={purchaseAmount}\n installmentsCounts={eligiblePlans.map((ep) => ep.installments_count)}\n closeCallback={() => dispatch(setState('showInfoModal', false))}\n samplePlans={eligiblePlans.map((ep) => ep.payment_plan)}\n />,\n container,\n )\n\n return () => document.body.removeChild(container)\n }\n }, [state.showInfoModal, hasEligiblePlans])\n\n let planPills: JSX.Element[], planSummary: JSX.Element\n if (results.length === 0 || error) {\n // We're still loading results, or having an issue, but we know what pills should be presented\n // so show placeholders\n ;({ planPills, planSummary } = plansPlaceholders({ error, queriedPlans, errorRetryCallback }))\n } else {\n const { shownPlan } = state\n\n planPills = results\n .filter(planIsAvailable)\n .map((r, idx) => (\n <PlanPill\n key={idx}\n eligibility={r}\n isActive={shownPlan === idx}\n mouseEnterCallback={() => dispatch(setState('shownPlan', idx))}\n />\n ))\n\n planSummary = <PlanSummary purchaseAmount={purchaseAmount} eligibility={results[shownPlan]} />\n }\n\n return (\n <div\n onMouseEnter={handleMouseEnter(dispatch)}\n onMouseLeave={handleMouseLeave(dispatch)}\n onClick={() => !error && hasEligiblePlans && dispatch(setState('showInfoModal', true))}\n >\n <p\n className={cx(\n !error && state.showTooltip && hasEligiblePlans ? 'atw-opacity-100' : 'atw-opacity-0',\n 'atw-transition-opacity',\n 'atw-duration-200',\n 'atw-my-1',\n 'atw-pl-1',\n 'atw-text-xs',\n 'atw-font-normal',\n 'atw-text-right',\n )}\n >\n cliquez pour plus d'infos\n </p>\n <div className=\"atw-bg-white atw-cursor-pointer atw-flex atw-flex-row atw-items-center atw-flex-wrap atw-text-xs atw-p-2 atw-pb-0 atw-rounded-md atw-border atw-border-blue atw-border-opacity-50\">\n <img className=\"atw-h-5 atw-mb-2\" src={almaLogo} alt=\"Alma\" />\n <span className=\"atw-flex atw-flex-row atw-space-x-1 atw-mx-2 atw-mb-1\">{planPills}</span>\n <span className=\"atw-inline-block atw-mb-2 atw-flex-grow atw-text-sm\">{planSummary}</span>\n </div>\n </div>\n )\n}\n","import { QueriedPlanProperties } from '@/widgets/PaymentPlans/types'\nimport { PlanPillPlaceholder } from '@/widgets/PaymentPlans/components/PlanPillPlaceholder'\n\ntype PlansPlaceholderProps = {\n error: boolean\n queriedPlans: QueriedPlanProperties[]\n errorRetryCallback: () => void\n}\n\nexport function plansPlaceholders({\n error,\n queriedPlans,\n errorRetryCallback,\n}: PlansPlaceholderProps): { planPills: JSX.Element[]; planSummary: JSX.Element } {\n const planPills = queriedPlans.map((p, idx) => <PlanPillPlaceholder plan={p} key={idx} />)\n\n let planSummary\n if (error) {\n planSummary = (\n <span>\n <span className=\"atw-text-xs\">ERREUR</span> &nbsp;\n <span className=\"atw-text-blue atw-underline\" onClick={errorRetryCallback}>\n réessayer\n </span>\n </span>\n )\n } else {\n planSummary = (\n <span className=\"atw-animate-pulse\">\n <span className=\"atw-inline-block atw-h-4 atw-bg-blue atw-opacity-25 atw-rounded-sm atw-w-full\">\n &nbsp;\n </span>\n </span>\n )\n }\n\n return { planPills, planSummary }\n}\n","import { Widget } from '@/widgets/Widget'\nimport { Client, Eligibility } from '@alma/client'\nimport { PaymentPlanSettings } from './types'\nimport { DefaultWidgetConfig, SettingsLiteral } from '@/widgets/config'\nimport { PaymentPlansRenderer } from '@/widgets/PaymentPlans/PaymentPlansRenderer'\nimport { IEligibility } from '@alma/client/dist/types/entities/eligibility'\n\ntype PaymentPlanDefaultConfig = DefaultWidgetConfig<PaymentPlanSettings>\n\nexport class PaymentPlans extends Widget<PaymentPlanSettings> {\n private results: IEligibility[]\n private loading: boolean\n private fetchError: boolean\n\n defaultConfig(): PaymentPlanDefaultConfig {\n return {\n purchaseAmount: 100,\n transitionDelay: 5500,\n plans: [\n {\n installmentsCount: 3,\n minAmount: 0,\n maxAmount: 200000,\n },\n {\n installmentsCount: 4,\n minAmount: 10000,\n maxAmount: 200000,\n },\n ],\n templates: {\n planSummary: null,\n },\n classes: {\n root: 'alma-paymentPlans',\n },\n }\n }\n\n constructor(almaClient: Client, settings: SettingsLiteral<PaymentPlanSettings>) {\n super(almaClient, settings)\n this.results = []\n this.loading = false\n this.fetchError = false\n }\n\n private async fetchResults() {\n // Start with an empty list of results\n const results: Array<Eligibility | number> = []\n\n const { purchaseAmount, plans } = this.config\n const installmentsCountsToQuery = []\n // For each plan to be queried, check whether it's worth querying (i.e. is the purchase amount\n // is within the plan's boundaries) and act accordingly\n for (const plan of plans) {\n if ((plan.minAmount == 0 || purchaseAmount >= plan.minAmount) && purchaseAmount <= plan.maxAmount) {\n installmentsCountsToQuery.push(plan.installmentsCount)\n // Push a marker into the results array to easily merge back handmade results with API ones\n results.push(installmentsCountsToQuery.length - 1)\n } else {\n // purchase amount is out of bounds: build a non-eligible result\n results.push(\n new Eligibility({\n eligible: false,\n installments_count: plan.installmentsCount,\n constraints: {\n purchase_amount: {\n minimum: plan.minAmount,\n maximum: plan.maxAmount,\n },\n },\n }),\n )\n }\n }\n // Now, query the API for plans that were valid for the requested purchase amount\n let eligibilities: IEligibility[]\n try {\n eligibilities = await this.almaClient.payments.eligibility({\n payment: {\n purchase_amount: purchaseAmount,\n installments_count: installmentsCountsToQuery,\n },\n })\n } catch (e) {\n console?.error?.(e)\n this.fetchError = true\n eligibilities = []\n }\n\n this.results = results\n .map((r) => (typeof r === 'number' ? eligibilities[r] : r))\n // In case of network error, eligibilities might be empty and results contain `undefined`\n // entries as a consequence, so make sure to filter them out\n .filter(Boolean)\n }\n\n protected async renderComponent(): Promise<JSX.Element> {\n // Compute/request results if we don't have them yet\n if (!this.results.length && !this.loading && !this.fetchError) {\n this.loading = true\n this.fetchResults().then(() => {\n this.loading = false\n this.render()\n })\n }\n\n const retry = () => {\n this.fetchError = false\n this.render()\n }\n\n const { purchaseAmount, plans, transitionDelay } = this.config\n return (\n <PaymentPlansRenderer\n almaClient={this.almaClient}\n purchaseAmount={purchaseAmount}\n queriedPlans={plans}\n results={this.results}\n transitionDelay={transitionDelay}\n error={this.fetchError}\n errorRetryCallback={retry}\n />\n )\n }\n}\n","import 'core-js/stable/array/from'\nimport './utils/polyfills'\n\nimport './scss/main.scss'\n\nimport { ApiMode, Client } from '@alma/client'\nimport { WidgetsController } from './widgets_controller'\n\nimport * as widgets from './widgets'\nimport * as utils from './utils'\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Widgets {\n export function initialize(merchantId: string, mode: ApiMode): WidgetsController {\n const almaClient = Client.withMerchantId(merchantId, { mode })\n return new WidgetsController(almaClient)\n }\n\n export const PaymentPlans = widgets.PaymentPlans\n export const HowItWorks = widgets.HowItWorks\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 '@alma/client'\n","import { Widget } from '../Widget'\nimport { HowItWorksSettings } from './types'\nimport { IPaymentPlan } from '@alma/client/dist/types/entities/eligibility'\nimport { DefaultWidgetConfig, SettingsLiteral } from '@/widgets/config'\nimport { HowItWorksRenderer } from '@/widgets/HowItWorks/HowItWorksRenderer'\nimport { Client } from '@alma/client'\n\nexport class HowItWorks extends Widget<HowItWorksSettings> {\n private samplePlans: IPaymentPlan[]\n private _show: boolean\n\n defaultConfig(): DefaultWidgetConfig<HowItWorksSettings> {\n return {\n show: false,\n samplePurchaseAmount: 30000,\n\n sampleInstallmentsCounts: [3, 4],\n classes: {\n root: 'alma-howItWorks',\n },\n templates: {},\n }\n }\n\n constructor(almaClient: Client, settings: SettingsLiteral<HowItWorksSettings>) {\n super(almaClient, settings)\n this.samplePlans = []\n this._show = this.config.show\n }\n\n get show(): boolean {\n return this._show\n }\n\n set show(value: boolean) {\n if (this.show !== value) {\n this._show = value\n this.render()\n }\n }\n\n open(): void {\n this.show = true\n }\n\n close(): void {\n this.show = false\n }\n\n protected async renderComponent(): Promise<JSX.Element | null> {\n if (!this.show) return null\n\n return (\n <HowItWorksRenderer\n almaClient={this.almaClient}\n purchaseAmount={this.config.samplePurchaseAmount}\n installmentsCounts={this.config.sampleInstallmentsCounts}\n closeCallback={this.close.bind(this)}\n />\n )\n }\n}\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","1","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","return","from","ElementProto","INCORRECT_ITERATION","SKIP_CLOSING","ITERATION_SUPPORT","checkCorrectnessOfIteration","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","WidgetsController","almaClient","widgetCtor","settings","widget","widgets","render","promises","Promise","all","Widget","config","defaults","sources","mergeObjects","base","isPlainObject","idx","makeConfig","defaultConfig","_this2","renderComponent","_jsx","classes","root","container","foundElement","querySelector","Modal","closeCallback","children","useEffect","listener","ev","keyCode","addEventListener","removeEventListener","isFree","plan","find","customer_fee","customer_interest","PlanIntro","CrossIcon","color","width","height","viewBox","fill","xmlns","d","baseItemClasses","basePillClasses","PlanSelectorPlaceholder","itemClasses","cx","pillClasses","PlanSelectorItem","selected","onSelect","group-hover:atw-bg-red","onClick","preventDefault","stopPropagation","_jsxs","PlanSelector","installments","selectedPlan","installmentsCounts","map","priceFromCents","cents","Number","toFixed","formatCents","isSameDate","date1","date2","getUTCDate","getUTCMonth","getUTCFullYear","humanizedDate","date","addArticle","forceDate","Date","isToday","today","setDate","getDate","isYesterday","toLocaleDateString","addMonths","months","setMonth","getMonth","Amount","currency","Installment","installment","fullAmount","purchase_amount","installmentClasses","atw-pb-4","fees","due_date","InstallmentPlaceholder","label","planFullAmount","p","reduce","full","amount","PaymentPlan","img","DEFAULT_LABELS","visa","mastercard","cb","LOGOS","CardLogo","brand","alt","HowItWorksRenderer","purchaseAmount","samplePlans","initialSamplePlans","useState","shownInstallmentsCount","setShownInstallmentsCount","setSamplePlans","defaultInstallmentsCount","prev","payments","eligibility","payment","installments_count","plans","filter","eligible","payment_plan","fetchSamplePlans","then","shownPlan","almaLogo","href","PlanSummary","paymentPlan","nextAmount","eligiblePlan","constraints","reasons","minimum","maximum","nonEligiblePlan","PlanPill","isActive","mouseEnterCallback","isEligible","atw-border-red","atw-border-opacity-100","atw-border-blue","atw-border-opacity-50","atw-border-opacity-0","atw-bg-red","atw-bg-blue","atw-bg-opacity-50","atw-bg-opacity-25","onMouseEnter","PlanPillPlaceholder","installmentsCount","planIsAvailable","setState","initState","initialResults","autoRotate","showTooltip","showInfoModal","modalContent","reducer","action","handleMouseEnter","dispatch","handleMouseLeave","PaymentPlansRenderer","timeout","planPills","planSummary","queriedPlans","results","transitionDelay","errorRetryCallback","eligiblePlans","r","hasEligiblePlans","useReducer","timeoutId","setTimeout","clearTimeout","useLayoutEffect","body","ep","removeChild","plansPlaceholders","onMouseLeave","Widgets","Utils","PaymentPlans","_this","loading","fetchError","minAmount","maxAmount","templates","fetchResults","eligibilities","_this3","installmentsCountsToQuery","Eligibility","console","_this5","HowItWorks","_show","show","samplePurchaseAmount","sampleInstallmentsCounts","merchantId","Client","withMerchantId","price","round","utils"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{Eligibility as t,Client as e}from"@alma/client";export{ApiMode}from"@alma/client";import{jsx as n,jsxs as r,Fragment as a}from"preact/jsx-runtime";import o from"lodash.isplainobject";import{render as i}from"preact";import c from"classnames";import{useEffect as l,useState as s,useReducer as u,useLayoutEffect as f}from"preact/hooks";var p=Math.ceil,h=Math.floor,m=function(t){return isNaN(t=+t)?0:(t>0?h:p)(t)},d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},w=function(t){return function(e,n){var r,a,o=String(d(e)),i=m(n),c=o.length;return i<0||i>=c?t?"":void 0:(r=o.charCodeAt(i))<55296||r>56319||i+1===c||(a=o.charCodeAt(i+1))<56320||a>57343?t?o.charAt(i):r:t?o.slice(i,i+2):a-56320+(r-55296<<10)+65536}},v={codeAt:w(!1),charAt:w(!0)},g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function y(t,e,n){return t(n={path:e,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}()}},n.exports),n.exports}var b=function(t){return t&&t.Math==Math&&t},C=b("object"==typeof globalThis&&globalThis)||b("object"==typeof window&&window)||b("object"==typeof self&&self)||b("object"==typeof g&&g)||function(){return this}()||Function("return this")(),x=function(t){try{return!!t()}catch(t){return!0}},N=!x(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),O=function(t){return"object"==typeof t?null!==t:"function"==typeof t},P=C.document,S=O(P)&&O(P.createElement),_=function(t){return S?P.createElement(t):{}},k=!N&&!x(function(){return 7!=Object.defineProperty(_("div"),"a",{get:function(){return 7}}).a}),A=function(t){if(!O(t))throw TypeError(String(t)+" is not an object");return t},j=function(t,e){if(!O(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!O(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!O(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!O(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},L=Object.defineProperty,M={f:N?L:function(t,e,n){if(A(t),e=j(e,!0),A(n),k)try{return L(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},E=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},T=N?function(t,e,n){return M.f(t,e,E(1,n))}:function(t,e,n){return t[e]=n,t},I=function(t,e){try{T(C,t,e)}catch(n){C[t]=e}return e},D=C["__core-js_shared__"]||I("__core-js_shared__",{}),V=Function.toString;"function"!=typeof D.inspectSource&&(D.inspectSource=function(t){return V.call(t)});var z,F,H,R=D.inspectSource,B=C.WeakMap,U="function"==typeof B&&/native code/.test(R(B)),q={}.hasOwnProperty,G=function(t,e){return q.call(t,e)},W=y(function(t){(t.exports=function(t,e){return D[t]||(D[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.8.1",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})}),Z=0,Y=Math.random(),J=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++Z+Y).toString(36)},$=W("keys"),K=function(t){return $[t]||($[t]=J(t))},X={};if(U){var Q=D.state||(D.state=new(0,C.WeakMap)),tt=Q.get,et=Q.has,nt=Q.set;z=function(t,e){return e.facade=t,nt.call(Q,t,e),e},F=function(t){return tt.call(Q,t)||{}},H=function(t){return et.call(Q,t)}}else{var rt=K("state");X[rt]=!0,z=function(t,e){return e.facade=t,T(t,rt,e),e},F=function(t){return G(t,rt)?t[rt]:{}},H=function(t){return G(t,rt)}}var at,ot,it,ct={set:z,get:F,has:H,enforce:function(t){return H(t)?F(t):z(t,{})},getterFor:function(t){return function(e){var n;if(!O(e)||(n=F(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},lt={}.propertyIsEnumerable,st=Object.getOwnPropertyDescriptor,ut={f:st&&!lt.call({1:2},1)?function(t){var e=st(this,t);return!!e&&e.enumerable}:lt},ft={}.toString,pt=function(t){return ft.call(t).slice(8,-1)},ht="".split,mt=x(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==pt(t)?ht.call(t,""):Object(t)}:Object,dt=function(t){return mt(d(t))},wt=Object.getOwnPropertyDescriptor,vt={f:N?wt:function(t,e){if(t=dt(t),e=j(e,!0),k)try{return wt(t,e)}catch(t){}if(G(t,e))return E(!ut.f.call(t,e),t[e])}},gt=y(function(t){var e=ct.get,n=ct.enforce,r=String(String).split("String");(t.exports=function(t,e,a,o){var i,c=!!o&&!!o.unsafe,l=!!o&&!!o.enumerable,s=!!o&&!!o.noTargetGet;"function"==typeof a&&("string"!=typeof e||G(a,"name")||T(a,"name",e),(i=n(a)).source||(i.source=r.join("string"==typeof e?e:""))),t!==C?(c?!s&&t[e]&&(l=!0):delete t[e],l?t[e]=a:T(t,e,a)):l?t[e]=a:I(e,a)})(Function.prototype,"toString",function(){return"function"==typeof this&&e(this).source||R(this)})}),yt=C,bt=function(t){return"function"==typeof t?t:void 0},Ct=function(t,e){return arguments.length<2?bt(yt[t])||bt(C[t]):yt[t]&&yt[t][e]||C[t]&&C[t][e]},xt=Math.min,Nt=function(t){return t>0?xt(m(t),9007199254740991):0},Ot=Math.max,Pt=Math.min,St=function(t){return function(e,n,r){var a,o=dt(e),i=Nt(o.length),c=function(t,e){var n=m(t);return n<0?Ot(n+e,0):Pt(n,e)}(r,i);if(t&&n!=n){for(;i>c;)if((a=o[c++])!=a)return!0}else for(;i>c;c++)if((t||c in o)&&o[c]===n)return t||c||0;return!t&&-1}},_t=(St(!0),St(!1)),kt=function(t,e){var n,r=dt(t),a=0,o=[];for(n in r)!G(X,n)&&G(r,n)&&o.push(n);for(;e.length>a;)G(r,n=e[a++])&&(~_t(o,n)||o.push(n));return o},At=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],jt=At.concat("length","prototype"),Lt={f:Object.getOwnPropertyNames||function(t){return kt(t,jt)}},Mt={f:Object.getOwnPropertySymbols},Et=Ct("Reflect","ownKeys")||function(t){var e=Lt.f(A(t)),n=Mt.f;return n?e.concat(n(t)):e},Tt=function(t,e){for(var n=Et(e),r=M.f,a=vt.f,o=0;o<n.length;o++){var i=n[o];G(t,i)||r(t,i,a(e,i))}},It=/#|\.prototype\./,Dt=function(t,e){var n=zt[Vt(t)];return n==Ht||n!=Ft&&("function"==typeof e?x(e):!!e)},Vt=Dt.normalize=function(t){return String(t).replace(It,".").toLowerCase()},zt=Dt.data={},Ft=Dt.NATIVE="N",Ht=Dt.POLYFILL="P",Rt=Dt,Bt=vt.f,Ut=function(t,e){var n,r,a,o,i,c=t.target,l=t.global,s=t.stat;if(n=l?C:s?C[c]||I(c,{}):(C[c]||{}).prototype)for(r in e){if(o=e[r],a=t.noTargetGet?(i=Bt(n,r))&&i.value:n[r],!Rt(l?r:c+(s?".":"#")+r,t.forced)&&void 0!==a){if(typeof o==typeof a)continue;Tt(o,a)}(t.sham||a&&a.sham)&&T(o,"sham",!0),gt(n,r,o,t)}},qt=function(t){return Object(d(t))},Gt=!x(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),Wt=K("IE_PROTO"),Zt=Object.prototype,Yt=Gt?Object.getPrototypeOf:function(t){return t=qt(t),G(t,Wt)?t[Wt]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Zt:null},Jt=!!Object.getOwnPropertySymbols&&!x(function(){return!String(Symbol())}),$t=Jt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Kt=W("wks"),Xt=C.Symbol,Qt=$t?Xt:Xt&&Xt.withoutSetter||J,te=function(t){return G(Kt,t)||(Kt[t]=Jt&&G(Xt,t)?Xt[t]:Qt("Symbol."+t)),Kt[t]},ee=te("iterator"),ne=!1;[].keys&&("next"in(it=[].keys())?(ot=Yt(Yt(it)))!==Object.prototype&&(at=ot):ne=!0),null==at&&(at={}),G(at,ee)||T(at,ee,function(){return this});var re,ae={IteratorPrototype:at,BUGGY_SAFARI_ITERATORS:ne},oe=Object.keys||function(t){return kt(t,At)},ie=N?Object.defineProperties:function(t,e){A(t);for(var n,r=oe(e),a=r.length,o=0;a>o;)M.f(t,n=r[o++],e[n]);return t},ce=Ct("document","documentElement"),le=K("IE_PROTO"),se=function(){},ue=function(t){return"<script>"+t+"<\/script>"},fe=function(){try{re=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;fe=re?function(t){t.write(ue("")),t.close();var e=t.parentWindow.Object;return t=null,e}(re):((e=_("iframe")).style.display="none",ce.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ue("document.F=Object")),t.close(),t.F);for(var n=At.length;n--;)delete fe.prototype[At[n]];return fe()};X[le]=!0;var pe=Object.create||function(t,e){var n;return null!==t?(se.prototype=A(t),n=new se,se.prototype=null,n[le]=t):n=fe(),void 0===e?n:ie(n,e)},he=M.f,me=te("toStringTag"),de=function(t,e,n){t&&!G(t=n?t:t.prototype,me)&&he(t,me,{configurable:!0,value:e})},we={},ve=ae.IteratorPrototype,ge=function(){return this},ye=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return A(n),function(t){if(!O(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),e?t.call(n,r):n.__proto__=r,n}}():void 0),be=ae.IteratorPrototype,Ce=ae.BUGGY_SAFARI_ITERATORS,xe=te("iterator"),Ne=function(){return this},Oe=v.charAt,Pe=ct.set,Se=ct.getterFor("String Iterator");!function(t,e,n,r,a,o,i){!function(t,e,n){t.prototype=pe(ve,{next:E(1,function(){var t,e=Se(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=Oe(n,r),e.index+=t.length,{value:t,done:!1})})}),de(t,"String Iterator",!1),we["String Iterator"]=ge}(n);var c,l,s,u=function(t){if(void 0===t&&h)return h;if(!Ce&&t in f)return f[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},f=t.prototype,p=f[xe]||f["@@iterator"]||void 0,h=!Ce&&p||u(void 0);if(p&&(c=Yt(p.call(new t)),be!==Object.prototype&&c.next&&(Yt(c)!==be&&(ye?ye(c,be):"function"!=typeof c[xe]&&T(c,xe,Ne)),de(c,"String Iterator",!0))),f[xe]!==h&&T(f,xe,h),void(we.String=h))if(void(l={values:u("values"),keys:u("keys"),entries:u("entries")}))for(s in l)(Ce||!(s in f))&&gt(f,s,l[s]);else Ut({target:"String",proto:!0,forced:Ce||!1},l)}(String,0,function(t){Pe(this,{type:"String Iterator",string:String(t),index:0})});var _e=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,a){return t.call(e,n,r,a)}}return function(){return t.apply(e,arguments)}},ke=function(t,e,n,r){try{return r?e(A(n)[0],n[1]):e(n)}catch(e){throw function(t){var e=t.return;void 0!==e&&A(e.call(t))}(t),e}},Ae=te("iterator"),je=Array.prototype,Le=function(t){return void 0!==t&&(we.Array===t||je[Ae]===t)},Me=function(t,e,n){var r=j(e);r in t?M.f(t,r,E(0,n)):t[r]=n},Ee={};Ee[te("toStringTag")]="z";var Te="[object z]"===String(Ee),Ie=te("toStringTag"),De="Arguments"==pt(function(){return arguments}()),Ve=Te?pt:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Ie))?n:De?pt(e):"Object"==(r=pt(e))&&"function"==typeof e.callee?"Arguments":r},ze=te("iterator"),Fe=function(t){if(null!=t)return t[ze]||t["@@iterator"]||we[Ve(t)]},He=te("iterator"),Re=!1;try{var Be=0,Ue={next:function(){return{done:!!Be++}},return:function(){Re=!0}};Ue[He]=function(){return this},Array.from(Ue,function(){throw 2})}catch(t){}var qe,Ge=!function(t,e){if(!Re)return!1;var n=!1;try{var r={};r[He]=function(){return{next:function(){return{done:n=!0}}}},Array.from(r)}catch(t){}return n}();function We(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Ze(t,e,n){return e&&We(t.prototype,e),n&&We(t,n),t}function Ye(){return(Ye=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}function Je(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function $e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Ke(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return $e(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$e(t,void 0):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=t[Symbol.iterator]()).next.bind(n)}Ut({target:"Array",stat:!0,forced:Ge},{from:function(t){var e,n,r,a,o,i,c=qt(t),l="function"==typeof this?this:Array,s=arguments.length,u=s>1?arguments[1]:void 0,f=void 0!==u,p=Fe(c),h=0;if(f&&(u=_e(u,s>2?arguments[2]:void 0,2)),null==p||l==Array&&Le(p))for(n=new l(e=Nt(c.length));e>h;h++)i=f?u(c[h],h):c[h],Me(n,h,i);else for(o=(a=p.call(c)).next,n=new l;!(r=o.call(a)).done;h++)i=f?ke(a,u,[r.value,h],!0):r.value,Me(n,h,i);return n.length=h,n}}),"function"!=typeof(qe=window.Element.prototype).matches&&(qe.matches=qe.msMatchesSelector||qe.mozMatchesSelector||qe.webkitMatchesSelector||function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),n=0;e[n]&&e[n]!==this;)++n;return Boolean(e[n])}),"function"!=typeof qe.closest&&(qe.closest=function(t){for(var e=this;e&&1===e.nodeType;){if(e.matches(t))return e;e=e.parentNode}return null}),"".trim||(String.prototype.trim=function(){return this.replace(/^[\s]+|[\s]+$/g,"")}),function(t){t.DOMException||((DOMException=function(t){this.message=t}).prototype=new Error);var e,n,r=/[\11\12\14\15\40]/,a=0,o=function(t,e){if(""===e)throw new DOMException("Failed to execute '"+t+"' on 'DOMTokenList': The token provided must not be empty.");if(-1!==(a=e.search(r)))throw new DOMException("Failed to execute '"+t+"' on 'DOMTokenList': The token provided ('"+e[a]+"') contains HTML space characters, which are not valid in tokens.")};"function"!=typeof DOMTokenList&&function(t){var e=t.document,n=t.Object,a=n.prototype.hasOwnProperty,i=n.defineProperty,c=0,l=0,s=function(){if(!c)throw TypeError("Illegal constructor")};function u(){var e=t.event,n=e.propertyName;if(!l&&("className"===n||"classList"===n&&!i)){var a=e.srcElement,o=a[" uCLp"],c=""+a[n],s=c.trim().split(r),u=a["classList"===n?" uCL":"classList"],f=o.length;t:for(var p=0,h=o.length=s.length,m=0;p!==h;++p){for(var d=0;d!==p;++d)if(s[d]===s[p]){m++;continue t}u[p-m]=s[p]}for(var w=h-m;w<f;++w)delete u[w];if("classList"!==n)return;l=1,a.classList=u,a.className=c,l=0,u.length=s.length-m}}function f(t){if(!t||!("innerHTML"in t))throw TypeError("Illegal invocation");t.detachEvent("onpropertychange",u),c=1;try{var e=function(){};e.prototype=new s}finally{c=0}var n=e.prototype,a=new e;t:for(var o=t.className.trim().split(r),f=0,p=o.length,h=0;f!==p;++f){for(var m=0;m!==f;++m)if(o[m]===o[f]){h++;continue t}this[f-h]=o[f]}n.length=p-h,n.value=t.className,n[" uCL"]=t,i?(i(t,"classList",{enumerable:1,get:function(){return a},configurable:0,set:function(e){l=1,t.className=n.value=e+="",l=0;var o=e.trim().split(r),i=n.length;t:for(var c=0,s=n.length=o.length,u=0;c!==s;++c){for(var f=0;f!==c;++f)if(o[f]===o[c]){u++;continue t}a[c-u]=o[c]}for(var p=s-u;p<i;++p)delete a[p]}}),i(t," uCLp",{enumerable:0,configurable:0,writeable:0,value:e.prototype}),i(n," uCL",{enumerable:0,configurable:0,writeable:0,value:t})):(t.classList=a,t[" uCL"]=a,t[" uCLp"]=e.prototype),t.attachEvent("onpropertychange",u)}s.prototype.toString=s.prototype.toLocaleString=function(){return this.value},s.prototype.add=function(){t:for(var t=0,e=arguments.length,n="",r=this[" uCL"],a=r[" uCLp"];t!==e;++t){o("add",n=arguments[t]+"");for(var i=0,c=a.length,s=n;i!==c;++i){if(this[i]===n)continue t;s+=" "+this[i]}this[c]=n,a.length+=1,a.value=s}l=1,r.className=a.value,l=0},s.prototype.remove=function(){for(var t=0,e=arguments.length,n="",r=this[" uCL"],a=r[" uCLp"];t!==e;++t){o("remove",n=arguments[t]+"");for(var i=0,c=a.length,s="",u=0;i!==c;++i)u?this[i-1]=this[i]:this[i]!==n?s+=this[i]+" ":u=1;u&&(delete this[c],a.length-=1,a.value=s)}l=1,r.className=a.value,l=0},t.DOMTokenList=s;try{t.Object.defineProperty(t.Element.prototype,"classList",{enumerable:1,get:function(t){return a.call(this,"classList")||f(this),this.classList},configurable:0,set:function(t){this.className=t}})}catch(n){t[" uCL"]=f,e.documentElement.firstChild.appendChild(e.createElement("style")).styleSheet.cssText='_*{x-uCLp:expression(!this.hasOwnProperty("classList")&&window[" uCL"](this))}[class]{x-uCLp/**/:expression(!this.hasOwnProperty("classList")&&window[" uCL"](this))}'}}(t),e=t.DOMTokenList.prototype,n=t.document.createElement("div").classList,e.item||(e.item=function(t){return void 0===(e=this[t])?null:e;var e}),e.toggle&&!1===n.toggle("a",0)||(e.toggle=function(t){if(arguments.length>1)return this[arguments[1]?"add":"remove"](t),!!arguments[1];var e=this.value;return this.remove(e),e===this.value&&(this.add(t),!0)}),e.replace&&"boolean"==typeof n.replace("a","b")||(e.replace=function(t,e){o("replace",t),o("replace",e);var n=this.value;return this.remove(t),this.value!==n&&(this.add(e),!0)}),e.contains||(e.contains=function(t){for(var e=0,n=this.length;e!==n;++e)if(this[e]===t)return!0;return!1}),e.forEach||(e.forEach=function(t){if(1===arguments.length)for(var e=0,n=this.length;e!==n;++e)t(this[e],e,this);else{e=0,n=this.length;for(var r=arguments[1];e!==n;++e)t.call(r,this[e],e,this)}}),e.entries||(e.entries=function(){var t=this;return{next:function(){return 0<t.length?{value:[0,t[0]],done:!1}:{done:!0}}}}),e.values||(e.values=function(){var t=this;return{next:function(){return 0<t.length?{value:t[0],done:!1}:{done:!0}}}}),e.keys||(e.keys=function(){var t=this;return{next:function(){return 0<t.length?{value:0,done:!1}:{done:!0}}}})}(window);var Xe=function(){function t(t){this.almaClient=t,this.widgets=[]}var e=t.prototype;return e.add=function(t,e){var n=new t(this.almaClient,e);return this.widgets.push(n),n},e.render=function(){try{for(var t,e=[],n=Ke(this.widgets);!(t=n()).done;)e.push(t.value.render());return Promise.resolve(Promise.all(e)).then(function(){})}catch(t){return Promise.reject(t)}},t}(),Qe=function(){function t(t,e){this.almaClient=t,this.config=function(t,e){var n={},r=[t,e];function a(t,e){for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];Object.prototype.hasOwnProperty.call(e,i)&&(o(e[i])?(t[i]&&o(t[i])||(t[i]={}),a(t[i],e[i])):t[i]=e[i])}return t}for(var i=0;i<2;i++)a(n,r[i]);return n}(this.defaultConfig(),e)}return t.prototype.render=function(){try{var t=this;return Promise.resolve(t.renderComponent()).then(function(e){i(n("div",{className:"alma-widget-root "+t.config.classes.root,children:e}),t.container)})}catch(t){return Promise.reject(t)}},Ze(t,[{key:"container",get:function(){var t;if("string"==typeof this.config.container){var e=document.querySelector(this.config.container);if(!e)throw new Error("Container element '"+this.config.container+"' not found");t=e}else t=this.config.container;return t}}]),t}(),tn=function(t){var e=t.closeCallback,r=t.children;return l(function(){var t=function(t){var n;"escape"!==(null==(n=t.key)?void 0:n.toLowerCase())&&27!==t.keyCode||null==e||e()};return document.addEventListener("keyup",t),function(){document.removeEventListener("keyup",t)}},[e]),n("div",{className:"atw-inset-0 atw-flex atw-fixed atw-justify-center atw-items-center atw-z-50 atw-bg-black atw-bg-opacity-50",children:r})};function en(t){return null==t.find(function(t){return t.customer_fee>0||t.customer_interest>0})}function nn(t){var e=t.plan;return e?r("p",{className:"atw-my-8 atw-text-lg",children:["Paiement ",en(e)?"sans frais,":null," par carte bancaire, en ",e.length," ","échéances :"]}):r("div",{className:"atw-my-8 atw-space-y-2 atw-animate-pulse",children:[n("div",{className:"atw-h-4 atw-bg-orange-900 atw-rounded-sm atw-opacity-15",children:" "}),n("div",{className:"atw-h-4 atw-bg-orange-900 atw-rounded-sm atw-opacity-15",children:" "})]})}function rn(t){var e=t.color;return n("svg",{className:t.className,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n("path",{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",fill:void 0===e?"#fff":e})})}var an=["atw-group","atw-inline-block","atw-transition-all","duration-200","atw-border-b-2","atw-text-sm","atw-mr-3"],on=["atw-flex","atw-p-2","atw-text-white","atw-rounded-sm","atw-my-4","atw-transition-colors","atw-duration-200"," atw-select-none"];function cn(){var t=c.apply(void 0,an.concat([".atw-animate-pulse","atw-border-orange-900","atw-opacity-50","atw-text-orange-900"])),e=c.apply(void 0,on.concat(["atw-bg-orange-900"]));return n("li",{className:t,children:n("span",{className:e,children:n(rn,{})})})}function ln(t){var e=t.n,a=t.selected,o=t.onSelect,i=c.apply(void 0,an.concat([a?"atw-border-red":"atw-border-transparent","atw-cursor-pointer"])),l=c.apply(void 0,on.concat([a?"atw-bg-red":"atw-bg-blue",{"group-hover:atw-bg-red":!a}]));return n("li",{className:i,onClick:function(t){t.preventDefault(),t.stopPropagation(),o(e)},children:r("span",{className:l,children:[e,n(rn,{className:"plan-selector-multiplier"})]})})}function sn(t){var e,r=t.selectedPlan,a=t.installmentsCounts,o=t.onSelect;return e=0===a.length?n(cn,{}):a.map(function(t){return n(ln,{selected:t===r,n:t,onSelect:o},t)}),n("ul",{className:"atw-flex atw-justify-center",children:e})}function un(t){return Math.round(100*t)}function fn(t){return Number((t/100).toFixed(2))}function pn(t){return String(fn(t)).replace(".",",")}function hn(t,e){return t.getUTCDate()===e.getUTCDate()&&t.getUTCMonth()===e.getUTCMonth()&&t.getUTCFullYear()===e.getUTCFullYear()}function mn(t,e,n){return void 0===e&&(e=!1),void 0===n&&(n=!1),function(t){return hn(t,new Date)}(t)&&!n?"aujourd'hui":function(t){var e=new Date;return hn(t,new Date(e.setDate(e.getDate()-1)))}(t)&&!n?"hier":(e?"le ":"")+t.toLocaleDateString()}function dn(t,e){var n=t.getDate();return t.setMonth(t.getMonth()+ +e),t.getDate()!=n&&t.setDate(0),t}function wn(t){var e=t.currency,n=void 0===e?"€":e;return r("span",{className:t.className,children:[pn(t.cents)," ",n]})}function vn(t){var e=t.installment,o=e.purchase_amount+e.customer_fee+e.customer_interest,i=c("atw-flex","atw-flex-row","atw-justify-between",{"atw-pb-4":0===e.customer_fee}),l=null;return e.customer_fee>0&&(l=n("div",{className:"atw-flex atw-flex-row atw-justify-end atw-pb-4",children:r("span",{className:"atw-text-xs",children:["Dont frais : ",n(wn,{cents:e.customer_fee})]})})),r(a,{children:[r("div",{className:i,children:[n("span",{className:"atw-capitalize",children:mn(new Date(1e3*e.due_date),!0)}),n(wn,{className:"alma-title-text",cents:o})]}),l]})}function gn(t){return r("div",{className:"atw-flex atw-flex-row atw-justify-between",children:[n("span",{className:"atw-capitalize",children:t.label}),r("span",{children:[n("span",{className:"atw-inline-block atw-w-8 atw-bg-orange-900 atw-rounded-sm atw-opacity-25",children:" "})," €"]})]})}function yn(t){return t.map(function(t){return t.purchase_amount+t.customer_fee+t.customer_interest}).reduce(function(t,e){return t+e})}function bn(t){var e=t.plan;if(!e){var a=new Date;return r("div",{className:"atw-space-y-4 atw-animate-pulse atw-text-orange-900 atw-opacity-25",children:[n(gn,{label:mn(a,!0)}),n(gn,{label:mn(dn(a,1),!0)}),n(gn,{label:mn(dn(a,2),!0)}),n("hr",{className:"atw-border-orange-900 atw-opacity-25"}),n(gn,{label:"Total"})]})}return r("div",{children:[e.map(function(t,e){return n(vn,{installment:t},e)}),n("hr",{className:"atw-border-blue atw-opacity-50"}),r("div",{className:"atw-flex atw-flex-row atw-justify-between atw-pt-4 alma-title-text",children:[n("span",{children:"Total"}),n(wn,{cents:yn(e)})]})]})}const Cn="data:image/svg+xml,%3csvg width='114' height='62' viewBox='0 0 114 62' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0)'%3e%3cpath d='M18.1985 26.5444V26.2495H14.0374C12.0793 26.2495 10.627 26.4461 9.68054 26.8394C8.76673 27.1998 8.30982 28.0027 8.30982 29.248C8.30982 31.116 9.61526 32.0499 12.2261 32.0499C14.4128 32.0499 15.9467 31.5911 16.8278 30.6736C17.7416 29.7232 18.1985 28.3468 18.1985 26.5444ZM10.6107 37.4571C7.54288 37.4571 5.27467 36.7034 3.80605 35.1959C2.33743 33.6557 1.60312 31.6731 1.60312 29.248C1.60312 26.3314 2.54956 24.2341 4.44245 22.956C6.33534 21.6452 9.22363 20.9898 13.1073 20.9898H18.1985V19.9083C18.1985 17.4833 16.6646 16.2708 13.5969 16.2708C10.8554 16.2708 9.33786 17.3194 9.04414 19.4168H2.19057C2.41902 16.8934 3.46337 14.7797 5.32363 13.0756C7.18388 11.3715 9.99058 10.5195 13.7437 10.5195C17.4642 10.5195 20.2709 11.3551 22.1638 13.0264C24.0567 14.6978 25.0032 17.0573 25.0032 20.1049V36.8673H18.8349V34.0162C17.3663 36.3102 14.6249 37.4571 10.6107 37.4571Z' fill='%2300425E'/%3e%3cpath d='M40.6279 30.8702V36.8181C39.9426 36.9164 39.2246 36.9656 38.4739 36.9656C35.7651 36.9656 33.8396 36.3921 32.6974 35.2451C31.5551 34.0654 30.984 32.181 30.984 29.5921V0H37.9354V29.1006C37.9354 29.7232 38.0497 30.182 38.2781 30.4769C38.5066 30.7719 38.9798 30.9193 39.6978 30.9193C39.861 30.9193 40.0405 30.9193 40.2363 30.9193C40.4647 30.8866 40.5953 30.8702 40.6279 30.8702Z' fill='%2300425E'/%3e%3cpath d='M68.0988 22.2187V36.8673H61.1473V21.5796C61.1473 18.2042 59.7766 16.5165 57.0352 16.5165C55.436 16.5165 54.1958 17.0081 53.3147 17.9912C52.4661 18.9744 52.0419 20.3343 52.0419 22.0712V36.8673H45.0904V11.1093H51.5034V14.2553C52.8414 11.7648 55.3055 10.5195 58.8954 10.5195C62.2896 10.5195 64.7699 11.732 66.3364 14.157C68.523 11.732 71.3624 10.5195 74.8544 10.5195C77.857 10.5195 80.1578 11.4534 81.757 13.3214C83.3561 15.1893 84.1557 17.6799 84.1557 20.7931V36.8673H77.2042V21.5796C77.2042 18.2042 75.8335 16.5165 73.0921 16.5165C71.4603 16.5165 70.2201 17.0245 69.3716 18.0404C68.523 19.0235 68.0988 20.4163 68.0988 22.2187Z' fill='%2300425E'/%3e%3cpath d='M105.541 26.5444V26.2495H101.38C99.4221 26.2495 97.9698 26.4461 97.0234 26.8394C96.1096 27.1998 95.6526 28.0027 95.6526 29.248C95.6526 31.116 96.9581 32.0499 99.569 32.0499C101.756 32.0499 103.289 31.5911 104.171 30.6736C105.084 29.7232 105.541 28.3468 105.541 26.5444ZM97.9535 37.4571C94.8857 37.4571 92.6175 36.7034 91.1489 35.1959C89.6803 33.6557 88.9459 31.6731 88.9459 29.248C88.9459 26.3314 89.8924 24.2341 91.7853 22.956C93.6782 21.6452 96.5665 20.9898 100.45 20.9898H105.541V19.9083C105.541 17.4833 104.007 16.2708 100.94 16.2708C98.1983 16.2708 96.6807 17.3194 96.387 19.4168H89.5334C89.7618 16.8934 90.8062 14.7797 92.6665 13.0756C94.5267 11.3715 97.3334 10.5195 101.087 10.5195C104.807 10.5195 107.614 11.3551 109.507 13.0264C111.4 14.6978 112.346 17.0573 112.346 20.1049V36.8673H106.178V34.0162C104.709 36.3102 101.968 37.4571 97.9535 37.4571Z' fill='%2300425E'/%3e%3crect y='53.7429' width='114' height='8.14286' fill='%23FF414D'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0'%3e%3crect width='114' height='61.8857' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";var xn={visa:"Visa",mastercard:"Mastercard",cb:"Cartes Bancaires"},Nn={cb:"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3e%3cdefs%3e%3clinearGradient id='cardcb' x1='5.842%25' x2='95.393%25' y1='81.753%25' y2='17.344%25'%3e%3cstop offset='0%25' stop-color='%2339B54A'%3e%3c/stop%3e %3cstop offset='100%25' stop-color='%230A5296'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e %3cg fill='none' fill-rule='nonzero'%3e%3cpath fill='url(%23cardcb)' d='M22.621 16H1.38C.627 16 0 15.392 0 14.662V1.338C0 .608.627 0 1.379 0H22.62C23.373 0 24 .608 24 1.338v13.324c-.063.73-.627 1.338-1.379 1.338z'%3e%3c/path%3e %3cg fill='white'%3e%3cpath d='M19.094 4.03h-6.437V8h6.498c1.165 0 2.084-.889 2.084-2.015-.06-1.066-.98-1.955-2.145-1.955zM19.094 8.593h-6.437v3.97h6.498c1.165 0 2.084-.889 2.084-2.015-.06-1.067-.98-1.955-2.145-1.955zM7.017 8.06h4.966c-.245-2.371-2.391-4.267-4.966-4.267-2.758 0-5.027 2.074-5.027 4.681s2.269 4.682 5.027 4.682c2.698 0 4.904-2.015 5.027-4.563H7.017v-.534z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e",visa:"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3e%3cg fill='none' fill-rule='nonzero'%3e%3cpath fill='%23FCFCFC' d='M22.684 16H1.38C.627 16 0 15.39 0 14.656V1.344C0 .61.627 0 1.379 0H22.62C23.373 0 24 .61 24 1.344v13.374c0 .671-.564 1.282-1.316 1.282z'%3e%3c/path%3e %3cpath fill='%23005098' d='M8.889 10.726l.948-5.393h1.482l-.949 5.393zM15.704 5.452a3.658 3.658 0 0 0-1.304-.237c-1.481 0-2.489.71-2.489 1.778 0 .77.711 1.185 1.304 1.481.592.237.77.415.77.652 0 .355-.474.533-.889.533-.592 0-.889-.059-1.363-.296l-.177-.06-.178 1.186c.355.178 1.007.296 1.659.296 1.54 0 2.548-.71 2.548-1.837 0-.592-.415-1.067-1.244-1.481-.534-.237-.83-.415-.83-.652 0-.237.237-.474.83-.474.474 0 .83.118 1.126.178l.118.059.119-1.126M19.496 5.333H18.37c-.355 0-.592.119-.77.474l-2.193 4.919h1.541s.237-.652.296-.83h1.897c.059.178.178.83.178.83h1.362l-1.185-5.393zM17.66 8.77l.593-1.481s.118-.296.178-.533l.118.474s.296 1.303.356 1.54h-1.245zM7.644 5.333L6.222 9.007l-.178-.77C5.748 7.348 4.92 6.459 4.03 5.985l1.303 4.682h1.541l2.311-5.393h-1.54'%3e%3c/path%3e %3cpath fill='%23F6A500' d='M4.919 5.333h-2.37v.119c1.836.474 3.08 1.54 3.555 2.844L5.57 5.807c-.118-.414-.355-.474-.651-.474'%3e%3c/path%3e %3cpath fill='%230A5296' d='M23.937 3.23H0V1.316C0 .598.627 0 1.379 0H22.62C23.373 0 24 .598 24 1.316V3.23h-.063z'%3e%3c/path%3e %3cpath fill='%23F4A428' d='M.063 13H24v1.8c0 .655-.625 1.2-1.375 1.2H1.375C.625 16 0 15.455 0 14.8V13h.063z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e",mastercard:"data:image/svg+xml,%3csvg width='24px' height='16px' viewBox='0 0 24 16' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg id='Parcours-1C-B' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg id='mobile-1C-Paiement-V1' transform='translate(-269.000000%2c -313.000000)'%3e%3cg id='mastercard' transform='translate(269.000000%2c 313.000000)'%3e%3crect id='Rectangle' fill='white' x='0' y='0' width='24' height='16' rx='1'%3e%3c/rect%3e %3cg id='Group-6' transform='translate(4.000000%2c 3.000000)'%3e%3ccircle id='Oval-4-Copy' fill='%23EA001B' cx='5.05263158' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e %3ccircle id='Oval-4' fill-opacity='0.25' fill='%23F79F1A' cx='10.9473684' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e %3ccircle id='Oval-4-Copy-2' fill-opacity='0.9' fill='%23F79F1A' cx='10.9473684' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e %3ccircle id='Oval-4-Copy-3' fill-opacity='0.3' fill='%23EA001B' cx='5.05263158' cy='5.05263158' r='5.05263158'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e"};function On(t){var e=t.brand,r=t.alt;return n("img",{className:"atw-h-full",src:Nn[e],alt:void 0===r?xn[e]:r})}function Pn(t){var e=t.almaClient,a=t.purchaseAmount,o=t.installmentsCounts,i=t.samplePlans,c=void 0===i?[]:i,u=t.closeCallback,f=s(0),p=f[0],h=f[1],m=s(c),d=m[0],w=m[1];l(function(){var t=d.map(function(t){return t.length}).reduce(function(t,e){return 3!==t&&e>t?e:t},0);h(t)},[d]),l(function(){d.length||function(t,e,n){try{return Promise.resolve(t.payments.eligibility({payment:{purchase_amount:e,installments_count:n}})).then(function(t){return t.filter(function(t){return t.eligible}).map(function(t){return t.payment_plan})})}catch(t){return Promise.reject(t)}}(e,a,o).then(w).catch(function(){return null})},[a,o,d]);var v,g=(v=p,d.find(function(t){return t.length===v})||null);return n(tn,{closeCallback:u,children:r("div",{className:"atw-overflow-auto atw-relative atw-flex atw-flex-row atw-flex-wrap atw-rounded-sm atw-shadow-lg atw-w-screen atw-h-screen md:atw-h-800 lg:atw-w-11/12 md:atw-max-w-4xl atw-max-h-screen atw-bg-white atw-text-base",children:[n("button",{onClick:u,className:"atw-text-3xl atw-opacity-50 hover:atw-opacity-100 focus:atw-opacity-100 atw-absolute atw-top-3 atw-right-4 atw-outline-none atw-transform hover:atw-scale-125 focus:atw-scale-125 atw-transition-transform atw-duration-100",children:"×"}),r("div",{className:"atw-w-full md:atw-w-1/2 atw-p-8",children:[n("img",{className:"atw-h-8",src:Cn,alt:"Alma"}),r("div",{className:"alma-title-text atw-text-5xl atw-font-bold atw-mt-8",children:["Payer avec Alma c'est simple ",n("br",{}),"et ",n("span",{className:"alma-text-highlight-md",children:"immédiat"})]}),r("ul",{className:"alma-howItWorks__steps atw-my-10",children:[n("li",{className:"atw-pl-8 atw-mb-5",children:"Validez votre panier"}),n("li",{className:"atw-pl-8 atw-mb-5",children:"Sélectionnez l'option de paiement en plusieurs fois Alma"}),n("li",{className:"atw-pl-8 atw-mb-5",children:"Entrez votre numéro de carte bancaire, et c'est tout !"})]}),n("p",{children:n("a",{href:"https://getalma.eu/customers",target:"_blank",className:"atw-text-xs atw-underline",children:"Une question ? Visitez notre page dédiée"})}),r("p",{className:"atw-mt-7 atw-space-x-3",children:[n("span",{className:"atw-inline-block atw-h-10 atw-border atw-border-orange atw-rounded-md atw-p-2",children:n(On,{brand:"cb"})}),n("span",{className:"atw-inline-block atw-h-10 atw-border atw-border-orange atw-rounded-md atw-p-2",children:n(On,{brand:"visa"})}),n("span",{className:"atw-inline-block atw-h-10 atw-border atw-border-orange atw-rounded-md atw-p-1",children:n(On,{brand:"mastercard"})})]})]}),r("div",{className:"alma-howItWorks__planPanel atw-w-full md:atw-w-1/2 atw-p-8 atw-pb-24 md:atw-pb-8 md:atw-pt-8 atw-flex atw-flex-col atw-align-center atw-bg-beige",children:[r("div",{className:"atw-flex-grow",children:[n(sn,{installmentsCounts:d.map(function(t){return t.length}),selectedPlan:p,onSelect:h}),n(nn,{plan:g}),n(bn,{plan:g})]}),r("div",{className:"atw-mt-8 atw-fixed md:atw-relative atw-shadow-above-md md:atw-shadow-none atw-p-4 md:atw-p-0 atw-bg-beige md:atw-bg-transparent atw-bottom-0 atw-left-0 atw-right-0",children:[n("div",{className:"atw-shadow-xl atw-rounded-sm",children:n("button",{onClick:u,className:"atw-w-full atw-uppercase atw-bg-red atw-text-white atw-h-12 atw-rounded-sm alma-title-text atw-bg-gradient-to-b atw-from-red atw-via-red atw-to-red-700 atw-outline-none hover:atw-shadow-outline-red focus:atw-shadow-outline-red",children:"J'ai compris"})}),g&&g.length>4&&n("div",{className:"atw-font-light atw-mt-6",children:"Un crédit vous engage et doit être remboursé. Vérifiez vos capacités de remboursement avant de vous engager."})]})]})]})})}function Sn(t){var e=t.eligibility,a=t.purchaseAmount;return e.eligible?function(t){var e=t.payment_plan,a=e[1].purchase_amount+e[1].customer_fee+e[1].customer_interest;return r("span",{className:"atw-leading-relaxed",children:[n(wn,{cents:e[0].purchase_amount+e[0].customer_fee+e[0].customer_interest})," puis ",e.length-1,"×",n(wn,{cents:a})]})}(e):function(t,e){var a=e.constraints.purchase_amount;return e.reasons||!a?n("span",{children:"Indisponible"}):r("span",t<a.minimum?{children:["Dès ",n(wn,{cents:a.minimum})]}:{children:["Jusqu'à ",n(wn,{cents:a.maximum})]})}(a,e)}var _n=["atw-flex","atw-p-1","atw-text-white","atw-rounded-sm","atw-transition-colors","atw-duration-500","atw-select-none"];function kn(t){var e=t.isActive,a=t.eligibility,o=t.mouseEnterCallback,i=a.eligible;return n("span",{className:c("atw-inline-block","atw-h-7"),children:n("span",{className:c("atw-inline-block","atw-transition-all","atw-duration-500","atw-border-b-2",{"atw-border-red":e&&i,"atw-border-opacity-100":e&&i,"atw-border-blue":!e||!i,"atw-border-opacity-50":e&&!i,"atw-border-opacity-0":!e},e?"atw-h-7":"atw-h-6"),children:r("span",{className:c.apply(void 0,_n.concat([{"atw-bg-red":e&&i,"atw-bg-blue":!e||!i,"atw-bg-opacity-50":e&&!i,"atw-bg-opacity-25":!e&&!i}])),onMouseEnter:o,children:[a.installments_count,n(rn,{className:"plan-pill-multiplier"})]})})})}function An(t){var e=t.plan;return n("span",{className:"atw-animate-pulse atw-h-7",children:r("span",{className:c.apply(void 0,_n.concat(["atw-bg-blue","atw-opacity-25","atw-w-full atw-h-6"])),children:[e.installmentsCount,n(rn,{className:"plan-pill-multiplier"})]})})}function jn(t){return t.eligible||void 0===t.reasons}var Ln=function(t,e){return{key:t,value:e}};function Mn(t){return{shownPlan:0,autoRotate:t.length>0,showTooltip:!1,showInfoModal:!1,modalContent:null}}function En(t,e){var n;return Ye({},t,((n={})[e.key]=e.value,n))}function Tn(t){return function(){t(Ln("showTooltip",!0)),t(Ln("autoRotate",!1))}}function In(t){return function(){t(Ln("showTooltip",!1)),t(Ln("autoRotate",!0))}}function Dn(t){var e,a,o,s,p=t.almaClient,h=t.purchaseAmount,m=t.queriedPlans,d=t.results,w=t.transitionDelay,v=t.error,g=t.errorRetryCallback,y=d.filter(function(t){return t.eligible}),b=y.length>0,C=u(En,d,Mn),x=C[0],N=C[1];if(l(function(){N(Ln("autoRotate",d.length>0))},[d]),x.autoRotate&&w&&d.length>1&&l(function(){var t=window.setTimeout(a,e);return function(){return clearTimeout(t)}},[e=w,a=function(){N(Ln("shownPlan",(x.shownPlan+1)%d.length))}]),f(function(){if(x.showInfoModal&&b){var t=document.createElement("div");return t.className="alma-widget-root",document.body.appendChild(t),i(n(Pn,{almaClient:p,purchaseAmount:h,installmentsCounts:y.map(function(t){return t.installments_count}),closeCallback:function(){return N(Ln("showInfoModal",!1))},samplePlans:y.map(function(t){return t.payment_plan})}),t),function(){return document.body.removeChild(t)}}},[x.showInfoModal,b]),0===d.length||v){var O=function(t){var e=t.error,a=t.errorRetryCallback;return{planPills:t.queriedPlans.map(function(t,e){return n(An,{plan:t},e)}),planSummary:e?r("span",{children:[n("span",{className:"atw-text-xs",children:"ERREUR"}),"  ",n("span",{className:"atw-text-blue atw-underline",onClick:a,children:"réessayer"})]}):n("span",{className:"atw-animate-pulse",children:n("span",{className:"atw-inline-block atw-h-4 atw-bg-blue atw-opacity-25 atw-rounded-sm atw-w-full",children:" "})})}}({error:v,queriedPlans:m,errorRetryCallback:g});o=O.planPills,s=O.planSummary}else{var P=x.shownPlan;o=d.filter(jn).map(function(t,e){return n(kn,{eligibility:t,isActive:P===e,mouseEnterCallback:function(){return N(Ln("shownPlan",e))}},e)}),s=n(Sn,{purchaseAmount:h,eligibility:d[P]})}return r("div",{onMouseEnter:Tn(N),onMouseLeave:In(N),onClick:function(){return!v&&b&&N(Ln("showInfoModal",!0))},children:[n("p",{className:c(!v&&x.showTooltip&&b?"atw-opacity-100":"atw-opacity-0","atw-transition-opacity","atw-duration-200","atw-my-1","atw-pl-1","atw-text-xs","atw-font-normal","atw-text-right"),children:"cliquez pour plus d'infos"}),r("div",{className:"atw-bg-white atw-cursor-pointer atw-flex atw-flex-row atw-items-center atw-flex-wrap atw-text-xs atw-p-2 atw-pb-0 atw-rounded-md atw-border atw-border-blue atw-border-opacity-50",children:[n("img",{className:"atw-h-5 atw-mb-2",src:Cn,alt:"Alma"}),n("span",{className:"atw-flex atw-flex-row atw-space-x-1 atw-mx-2 atw-mb-1",children:o}),n("span",{className:"atw-inline-block atw-mb-2 atw-flex-grow atw-text-sm",children:s})]})]})}var Vn,zn,Fn=function(e){function r(t,n){var r;return(r=e.call(this,t,n)||this).results=[],r.loading=!1,r.fetchError=!1,r}Je(r,e);var a=r.prototype;return a.defaultConfig=function(){return{purchaseAmount:100,transitionDelay:5500,plans:[{installmentsCount:3,minAmount:0,maxAmount:2e5},{installmentsCount:4,minAmount:1e4,maxAmount:2e5}],templates:{planSummary:null},classes:{root:"alma-paymentPlans"}}},a.fetchResults=function(){try{for(var e,n,r=this,a=function(){r.results=o.map(function(t){return"number"==typeof t?n[t]:t}).filter(Boolean)},o=[],i=r.config,c=i.purchaseAmount,l=[],s=Ke(i.plans);!(e=s()).done;){var u=e.value;(0==u.minAmount||c>=u.minAmount)&&c<=u.maxAmount?(l.push(u.installmentsCount),o.push(l.length-1)):o.push(new t({eligible:!1,installments_count:u.installmentsCount,constraints:{purchase_amount:{minimum:u.minAmount,maximum:u.maxAmount}}}))}var f=function(t,e){try{var a=Promise.resolve(r.almaClient.payments.eligibility({payment:{purchase_amount:c,installments_count:l}})).then(function(t){n=t})}catch(t){return e(t)}return a&&a.then?a.then(void 0,e):a}(0,function(t){var e;null==(e=console)||null==e.error||e.error(t),r.fetchError=!0,n=[]});return Promise.resolve(f&&f.then?f.then(a):a())}catch(t){return Promise.reject(t)}},a.renderComponent=function(){try{var t=this;t.results.length||t.loading||t.fetchError||(t.loading=!0,t.fetchResults().then(function(){t.loading=!1,t.render()}));var e=t.config;return Promise.resolve(n(Dn,{almaClient:t.almaClient,purchaseAmount:e.purchaseAmount,queriedPlans:e.plans,results:t.results,transitionDelay:e.transitionDelay,error:t.fetchError,errorRetryCallback:function(){t.fetchError=!1,t.render()}}))}catch(t){return Promise.reject(t)}},r}(Qe),Hn=function(t){function e(e,n){var r;return(r=t.call(this,e,n)||this).samplePlans=[],r._show=r.config.show,r}Je(e,t);var r=e.prototype;return r.defaultConfig=function(){return{show:!1,samplePurchaseAmount:3e4,sampleInstallmentsCounts:[3,4],classes:{root:"alma-howItWorks"},templates:{}}},r.open=function(){this.show=!0},r.close=function(){this.show=!1},r.renderComponent=function(){try{return Promise.resolve(this.show?n(Pn,{almaClient:this.almaClient,purchaseAmount:this.config.samplePurchaseAmount,installmentsCounts:this.config.sampleInstallmentsCounts,closeCallback:this.close.bind(this)}):null)}catch(t){return Promise.reject(t)}},Ze(e,[{key:"show",get:function(){return this._show},set:function(t){this.show!==t&&(this._show=t,this.render())}}]),e}(Qe);!function(t){t.initialize=function(t,n){var r=e.withMerchantId(t,{mode:n});return new Xe(r)},t.PaymentPlans=Fn,t.HowItWorks=Hn}(Vn||(Vn={})),function(t){t.priceToCents=un,t.priceFromCents=fn,t.formatCents=pn}(zn||(zn={}));export{zn as Utils,Vn as Widgets};
2
- //# sourceMappingURL=alma-widgets.m.js.map