{"version":3,"file":"application-legacy-0vuYEHHX.js","sources":["../../../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/function-bind-native.js","../../../node_modules/core-js/internals/function-call.js","../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../node_modules/core-js/internals/create-property-descriptor.js","../../../node_modules/core-js/internals/engine-v8-version.js","../../../node_modules/core-js/internals/function-uncurry-this.js","../../../node_modules/core-js/internals/classof-raw.js","../../../node_modules/core-js/internals/indexed-object.js","../../../node_modules/core-js/internals/is-null-or-undefined.js","../../../node_modules/core-js/internals/require-object-coercible.js","../../../node_modules/core-js/internals/to-indexed-object.js","../../../node_modules/core-js/internals/document-all.js","../../../node_modules/core-js/internals/is-callable.js","../../../node_modules/core-js/internals/is-object.js","../../../node_modules/core-js/internals/get-built-in.js","../../../node_modules/core-js/internals/object-is-prototype-of.js","../../../node_modules/core-js/internals/engine-user-agent.js","../../../node_modules/core-js/internals/symbol-constructor-detection.js","../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../node_modules/core-js/internals/is-symbol.js","../../../node_modules/core-js/internals/try-to-string.js","../../../node_modules/core-js/internals/a-callable.js","../../../node_modules/core-js/internals/get-method.js","../../../node_modules/core-js/internals/ordinary-to-primitive.js","../../../node_modules/core-js/internals/define-global-property.js","../../../node_modules/core-js/internals/shared-store.js","../../../node_modules/core-js/internals/shared.js","../../../node_modules/core-js/internals/to-object.js","../../../node_modules/core-js/internals/has-own-property.js","../../../node_modules/core-js/internals/uid.js","../../../node_modules/core-js/internals/well-known-symbol.js","../../../node_modules/core-js/internals/to-primitive.js","../../../node_modules/core-js/internals/to-property-key.js","../../../node_modules/core-js/internals/document-create-element.js","../../../node_modules/core-js/internals/ie8-dom-define.js","../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../../node_modules/core-js/internals/an-object.js","../../../node_modules/core-js/internals/object-define-property.js","../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../node_modules/core-js/internals/function-name.js","../../../node_modules/core-js/internals/inspect-source.js","../../../node_modules/core-js/internals/internal-state.js","../../../node_modules/core-js/internals/weak-map-basic-detection.js","../../../node_modules/core-js/internals/shared-key.js","../../../node_modules/core-js/internals/hidden-keys.js","../../../node_modules/core-js/internals/make-built-in.js","../../../node_modules/core-js/internals/define-built-in.js","../../../node_modules/core-js/internals/math-trunc.js","../../../node_modules/core-js/internals/to-integer-or-infinity.js","../../../node_modules/core-js/internals/to-absolute-index.js","../../../node_modules/core-js/internals/to-length.js","../../../node_modules/core-js/internals/length-of-array-like.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-string-tag-support.js","../../../node_modules/core-js/internals/classof.js","../../../node_modules/core-js/internals/to-string.js","../../../node_modules/core-js/modules/es.string.at-alternative.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/object-create.js","../../../node_modules/core-js/internals/add-to-unscopables.js","../../../node_modules/core-js/modules/es.array.at.js","../../../node_modules/core-js/internals/array-buffer-view-core.js","../../../node_modules/core-js/internals/array-buffer-basic-detection.js","../../../node_modules/core-js/internals/define-built-in-accessor.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/function-uncurry-this-accessor.js","../../../node_modules/core-js/internals/a-possible-prototype.js","../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../node_modules/core-js/modules/es.typed-array.at.js","../../../node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","../../../node_modules/@gouvfr/dsfr/dist/dsfr.module.js","../../../app/javascript/shared/activestorage/ujs.js","../../../app/javascript/shared/safari-11-empty-file-workaround.ts","../../../app/javascript/new_design/form-validation.js","../../../app/javascript/new_design/instruction-button.ts","../../../app/javascript/shared/toggle-target.js","../../../app/javascript/entrypoints/application.js","../../../app/javascript/new_design/avis.js","../../../app/javascript/new_design/fc-fusion.js"],"sourcesContent":["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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || 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// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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 -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\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 documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\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.31.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.31.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\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// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(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","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 DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\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 || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(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 isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\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","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\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) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, 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.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var hasOwn = require('../internals/has-own-property');\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, exceptions) {\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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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 defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\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] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\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 defineBuiltIn(target, key, sourceProperty, options);\n }\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 isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\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' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\n\nvar charAt = uncurryThis(''.charAt);\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-array-string-prototype-at -- safe\n return '𠮷'.at(-2) !== '\\uD842';\n});\n\n// `String.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'String', proto: true, forced: FORCED }, {\n at: function at(index) {\n var S = toString(requireObjectCoercible(this));\n var len = S.length;\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : charAt(S, k);\n }\n});\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'Array', proto: true }, {\n at: function at(index) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n }\n});\n\naddToUnscopables('at');\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\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 $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(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(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n\n(function() {\n var context = this;\n\n (function() {\n (function() {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function() {\n (function() {\n var nonce;\n\n nonce = null;\n\n Rails.loadCSPNonce = function() {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function() {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n\n }).call(this);\n (function() {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function(element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function(element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function(element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.isContentEditable = function(element) {\n var isEditable;\n isEditable = false;\n while (true) {\n if (element.isContentEditable) {\n isEditable = true;\n break;\n }\n element = element.parentElement;\n if (!element) {\n break;\n }\n }\n return isEditable;\n };\n\n Rails.$ = function(selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n\n }).call(this);\n (function() {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function(xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function() {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if ((token != null) && (param != null)) {\n return $('form input[name=\"' + param + '\"]').forEach(function(input) {\n return input.value = token;\n });\n }\n };\n\n }).call(this);\n (function() {\n var CustomEvent, fire, matches, preventDefault;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function() {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n }\n return result;\n };\n }\n\n fire = Rails.fire = function(obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function(e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function(element, selector, eventType, handler) {\n return element.addEventListener(eventType, function(e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n\n }).call(this);\n (function() {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function(options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function() {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function(response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function(element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function(url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host));\n } catch (error) {\n e = error;\n return true;\n }\n };\n\n }).call(this);\n (function() {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function(element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function(option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function(param) {\n if (param.name != null) {\n return (encodeURIComponent(param.name)) + \"=\" + (encodeURIComponent(param.value));\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function(form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function(el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n\n }).call(this);\n (function() {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function(e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function(message, element) {\n return confirm(message);\n };\n\n allowAction = function(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n\n }).call(this);\n (function() {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isContentEditable, isXhrRedirect, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements, isContentEditable = Rails.isContentEditable;\n\n Rails.handleDisabledElement = function(e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function(e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (isContentEditable(element)) {\n return;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function(e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (isContentEditable(element)) {\n return;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n\n }).call(this);\n (function() {\n var isContentEditable, stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n isContentEditable = Rails.isContentEditable;\n\n Rails.handleMethod = function(e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n if (isContentEditable(this)) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n\n }).call(this);\n (function() {\n var ajax, fire, getData, isContentEditable, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement, isContentEditable = Rails.isContentEditable;\n\n isRemote = function(element) {\n var value;\n value = element.getAttribute('data-remote');\n return (value != null) && value !== 'false';\n };\n\n Rails.handleRemote = function(e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n if (isContentEditable(element)) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: (withCredentials != null) && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function(e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function(e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = (e.button != null) && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n\n }).call(this);\n (function() {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if ((typeof jQuery !== \"undefined\" && jQuery !== null) && (jQuery.ajax != null)) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function() {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function() {\n $(Rails.formEnableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function(e) {\n return setTimeout((function() {\n return disableElement(e);\n }), 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);\n","/*! DSFR v1.10.1 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */\n\nclass State {\n constructor () {\n this.modules = {};\n }\n\n create (ModuleClass) {\n const module = new ModuleClass();\n this.modules[module.type] = module;\n }\n\n getModule (type) {\n return this.modules[type];\n }\n\n add (type, item) {\n this.modules[type].add(item);\n }\n\n remove (type, item) {\n this.modules[type].remove(item);\n }\n\n get isActive () {\n return this._isActive;\n }\n\n set isActive (value) {\n if (value === this._isActive) return;\n this._isActive = value;\n const values = Object.keys(this.modules).map((e) => {\n return this.modules[e];\n });\n if (value) {\n for (const module of values) {\n module.activate();\n }\n } else {\n for (const module of values) {\n module.deactivate();\n }\n }\n }\n\n get isLegacy () {\n return this._isLegacy;\n }\n\n set isLegacy (value) {\n if (value === this._isLegacy) return;\n this._isLegacy = value;\n }\n}\n\nconst state = new State();\n\nconst config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.10.1'\r\n};\n\nclass LogLevel {\n constructor (level, light, dark, logger) {\n this.level = level;\n this.light = light;\n this.dark = dark;\n\n switch (logger) {\n case 'warn':\n this.logger = console.warn;\n break;\n\n case 'error':\n this.logger = console.error;\n break;\n\n default:\n this.logger = console.log;\n }\n }\n\n log (...values) {\n const message = new Message(config.namespace);\n for (const value of values) message.add(value);\n this.print(message);\n }\n\n print (message) {\n message.setColor(this.color);\n this.logger.apply(console, message.getMessage());\n }\n\n get color () {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? this.dark : this.light;\n }\n}\n\nclass Message {\n constructor (domain) {\n this.inputs = ['%c'];\n this.styles = ['font-family:Marianne', 'line-height: 1.5'];\n this.objects = [];\n\n if (domain) this.add(`${domain} :`);\n }\n\n add (value) {\n switch (typeof value) {\n case 'object':\n case 'function':\n this.inputs.push('%o ');\n this.objects.push(value);\n break;\n\n default:\n this.inputs.push(`${value} `);\n }\n }\n\n setColor (color) {\n this.styles.push(`color:${color}`);\n }\n\n getMessage () {\n return [this.inputs.join(''), this.styles.join(';'), ...this.objects];\n }\n}\n\nconst LEVELS = {\n log: new LogLevel(0, '#616161', '#989898'),\n debug: new LogLevel(1, '#000091', '#8B8BFF'),\n info: new LogLevel(2, '#007c3b', '#00ed70'),\n warn: new LogLevel(3, '#ba4500', '#fa5c00', 'warn'),\n error: new LogLevel(4, '#D80600', '#FF4641', 'error')\n};\n\nclass Inspector {\n constructor () {\n this.level = 2;\n\n for (const id in LEVELS) {\n const level = LEVELS[id];\n this[id] = (...msgs) => {\n if (this.level <= level.level) level.log.apply(level, msgs);\n };\n this[id].print = level.print.bind(level);\n }\n }\n\n state () {\n const message = new Message();\n message.add(state);\n this.log.print(message);\n }\n\n tree () {\n const stage = state.getModule('stage');\n if (!stage) return;\n const message = new Message();\n this._branch(stage.root, 0, message);\n this.log.print(message);\n }\n\n _branch (element, space, message) {\n let branch = '';\n if (space > 0) {\n let indent = '';\n for (let i = 0; i < space; i++) indent += ' ';\n // branch += indent + '|\\n';\n branch += indent + '└─ ';\n }\n branch += `[${element.id}] ${element.html}`;\n message.add(branch);\n message.add({ '@': element });\n message.add('\\n');\n for (const child of element.children) branch += this._branch(child, space + 1, message);\n }\n}\n\nconst inspector = new Inspector();\n\nconst startAtDomContentLoaded = (callback) => {\n if (document.readyState !== 'loading') window.requestAnimationFrame(callback);\n else document.addEventListener('DOMContentLoaded', callback);\n};\n\nconst startAuto = (callback) => {\n // detect\n startAtDomContentLoaded(callback);\n};\n\nconst Modes = {\n AUTO: 'auto',\n MANUAL: 'manual',\n RUNTIME: 'runtime',\n LOADED: 'loaded',\n VUE: 'vue',\n ANGULAR: 'angular',\n REACT: 'react'\n};\n\nclass Options {\n constructor () {\n this._mode = Modes.AUTO;\n this.isStarted = false;\n this.starting = this.start.bind(this);\n this.preventManipulation = false;\n }\n\n configure (settings = {}, start, query) {\n this.startCallback = start;\n const isProduction = settings.production && (!query || query.production !== 'false');\n switch (true) {\n case query && !isNaN(query.level):\n inspector.level = Number(query.level);\n break;\n\n case query && query.verbose && (query.verbose === 'true' || query.verbose === 1):\n inspector.level = 0;\n break;\n\n case isProduction:\n inspector.level = 999;\n break;\n\n case settings.verbose:\n inspector.level = 0;\n break;\n }\n inspector.info(`version ${config.version}`);\n this.mode = settings.mode || Modes.AUTO;\n }\n\n set mode (value) {\n switch (value) {\n case Modes.AUTO:\n this.preventManipulation = false;\n startAuto(this.starting);\n break;\n\n case Modes.LOADED:\n this.preventManipulation = false;\n startAtDomContentLoaded(this.starting);\n break;\n\n case Modes.RUNTIME:\n this.preventManipulation = false;\n this.start();\n break;\n\n case Modes.MANUAL:\n this.preventManipulation = false;\n break;\n\n case Modes.VUE:\n this.preventManipulation = true;\n break;\n\n case Modes.ANGULAR:\n this.preventManipulation = true;\n break;\n\n case Modes.REACT:\n this.preventManipulation = true;\n break;\n\n default:\n inspector.error('Illegal mode');\n return;\n }\n\n this._mode = value;\n inspector.info(`mode set to ${value}`);\n }\n\n get mode () {\n return this._mode;\n }\n\n start () {\n inspector.info('start');\n this.startCallback();\n }\n}\n\nconst options = new Options();\n\nclass Collection {\n constructor () {\n this._collection = [];\n }\n\n forEach (callback) {\n this._collection.forEach(callback);\n }\n\n map (callback) {\n return this._collection.map(callback);\n }\n\n get length () {\n return this._collection.length;\n }\n\n add (collectable) {\n if (this._collection.indexOf(collectable) > -1) return false;\n this._collection.push(collectable);\n if (this.onAdd) this.onAdd();\n if (this.onPopulate && this._collection.length === 1) this.onPopulate();\n return true;\n }\n\n remove (collectable) {\n const index = this._collection.indexOf(collectable);\n if (index === -1) return false;\n this._collection.splice(index, 1);\n if (this.onRemove) this.onRemove();\n if (this.onEmpty && this._collection.length === 0) this.onEmpty();\n }\n\n execute (...args) {\n for (const collectable of this._collection) if (collectable) collectable.apply(null, args);\n }\n\n clear () {\n this._collection.length = 0;\n }\n\n clone () {\n const clone = new Collection();\n clone._collection = this._collection.slice();\n return clone;\n }\n\n get collection () {\n return this._collection;\n }\n}\n\nclass Module extends Collection {\n constructor (type) {\n super();\n this.type = type;\n this.isActive = false;\n }\n\n activate () {}\n deactivate () {}\n}\n\nconst ns = name => `${config.prefix}-${name}`;\n\nns.selector = (name, notation) => {\n if (notation === undefined) notation = '.';\n return `${notation}${ns(name)}`;\n};\n\nns.attr = (name) => `data-${ns(name)}`;\n\nns.attr.selector = (name, value) => {\n let result = ns.attr(name);\n if (value !== undefined) result += `=\"${value}\"`;\n return `[${result}]`;\n};\n\nns.event = (type) => `${config.namespace}.${type}`;\n\nns.emission = (domain, type) => `emission:${domain}.${type}`;\n\nconst querySelectorAllArray = (element, selectors) => Array.prototype.slice.call(element.querySelectorAll(selectors));\n\nconst queryParentSelector = (element, selectors) => {\n const parent = element.parentElement;\n if (parent.matches(selectors)) return parent;\n if (parent === document.documentElement) return null;\n return queryParentSelector(parent, selectors);\n};\n\nclass Registration {\n constructor (selector, InstanceClass, creator) {\n this.selector = selector;\n this.InstanceClass = InstanceClass;\n this.creator = creator;\n this.instances = new Collection();\n this.isIntroduced = false;\n this._instanceClassName = this.InstanceClass.instanceClassName;\n this._instanceClassNames = this.getInstanceClassNames(this.InstanceClass);\n this._property = this._instanceClassName.substring(0, 1).toLowerCase() + this._instanceClassName.substring(1);\n const dashed = this._instanceClassName\n .replace(/[^a-zA-Z0-9]+/g, '-')\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/([0-9])([^0-9])/g, '$1-$2')\n .replace(/([^0-9])([0-9])/g, '$1-$2')\n .toLowerCase();\n this._attribute = ns.attr(`js-${dashed}`);\n }\n\n getInstanceClassNames (InstanceClass) {\n const prototype = Object.getPrototypeOf(InstanceClass);\n if (!prototype || prototype.instanceClassName === 'Instance') return [InstanceClass.instanceClassName];\n return [...this.getInstanceClassNames(prototype), InstanceClass.instanceClassName];\n }\n\n hasInstanceClassName (instanceClassName) {\n return this._instanceClassNames.indexOf(instanceClassName) > -1;\n }\n\n introduce () {\n if (this.isIntroduced) return;\n this.isIntroduced = true;\n state.getModule('stage').parse(document.documentElement, this);\n }\n\n parse (node, nonRecursive) {\n const nodes = [];\n if (node.matches && node.matches(this.selector)) nodes.push(node);\n // eslint-disable-next-line no-useless-call\n if (!nonRecursive && node.querySelectorAll && node.querySelector(this.selector)) nodes.push.apply(nodes, querySelectorAllArray(node, this.selector));\n return nodes;\n }\n\n create (element) {\n if (!element.node.matches(this.selector)) return;\n const instance = new this.InstanceClass();\n this.instances.add(instance);\n return instance;\n }\n\n remove (instance) {\n this.instances.remove(instance);\n }\n\n dispose () {\n const instances = this.instances.collection;\n for (let i = instances.length - 1; i > -1; i--) instances[i]._dispose();\n this.creator = null;\n }\n\n get instanceClassName () {\n return this._instanceClassName;\n }\n\n get instanceClassNames () {\n return this._instanceClassNames;\n }\n\n get property () {\n return this._property;\n }\n\n get attribute () {\n return this._attribute;\n }\n}\n\nclass Register extends Module {\n constructor () {\n super('register');\n }\n\n register (selector, InstanceClass, creator) {\n const registration = new Registration(selector, InstanceClass, creator);\n this.add(registration);\n if (state.isActive) registration.introduce();\n return registration;\n }\n\n activate () {\n for (const registration of this.collection) registration.introduce();\n }\n\n remove (registration) {\n registration.dispose();\n super.remove(registration);\n }\n}\n\nlet count = 0;\n\nclass Element$1 {\n constructor (node, id) {\n if (!id) {\n count++;\n this.id = count;\n } else this.id = id;\n this.node = node;\n this.attributeNames = [];\n this.instances = [];\n this._children = [];\n this._parent = null;\n this._projects = [];\n }\n\n get proxy () {\n const scope = this;\n if (!this._proxy) {\n this._proxy = {\n id: this.id,\n get parent () {\n return scope.parent ? scope.parent.proxy : null;\n },\n get children () {\n return scope.children.map((child) => child.proxy);\n }\n };\n\n for (const instance of this.instances) this._proxy[instance.registration.property] = instance.proxy;\n }\n return this._proxy;\n }\n\n get html () {\n if (!this.node || !this.node.outerHTML) return '';\n const end = this.node.outerHTML.indexOf('>');\n return this.node.outerHTML.substring(0, end + 1);\n }\n\n project (registration) {\n if (this._projects.indexOf(registration) === -1) this._projects.push(registration);\n }\n\n populate () {\n const projects = this._projects.slice();\n this._projects.length = 0;\n for (const registration of projects) this.create(registration);\n }\n\n create (registration) {\n if (this.hasInstance(registration.instanceClassName)) {\n // inspector.debug(`failed creation, instance of ${registration.instanceClassName} already exists on element [${this.id}]`);\n return;\n }\n inspector.debug(`create instance of ${registration.instanceClassName} on element [${this.id}]`);\n const instance = registration.create(this);\n this.instances.push(instance);\n instance._config(this, registration);\n if (this._proxy) this._proxy[registration.property] = instance.proxy;\n }\n\n remove (instance) {\n const index = this.instances.indexOf(instance);\n if (index > -1) this.instances.splice(index, 1);\n if (this._proxy) delete this._proxy[instance.registration.property];\n }\n\n get parent () {\n return this._parent;\n }\n\n get ascendants () {\n return [this.parent, ...this.parent.ascendants];\n }\n\n get children () {\n return this._children;\n }\n\n get descendants () {\n const descendants = [...this._children];\n this._children.forEach(child => descendants.push(...child.descendants));\n return descendants;\n }\n\n // TODO : emit ascendant et descendant de changement ?\n\n addChild (child, index) {\n if (this._children.indexOf(child) > -1) return null;\n child._parent = this;\n if (!isNaN(index) && index > -1 && index < this._children.length) this._children.splice(index, 0, child);\n else this._children.push(child);\n return child;\n }\n\n removeChild (child) {\n const index = this._children.indexOf(child);\n if (index === -1) return null;\n child._parent = null;\n this._children.splice(index, 1);\n }\n\n emit (type, data) {\n const elements = state.getModule('stage').collection;\n const response = [];\n for (const element of elements) response.push(...element._emit(type, data));\n return response;\n }\n\n _emit (type, data) {\n const response = [];\n for (const instance of this.instances) response.push(...instance._emitter.emit(type, data));\n return response;\n }\n\n ascend (type, data) {\n if (this._parent) return this._parent._ascend(type, data);\n return [];\n }\n\n _ascend (type, data) {\n const response = [];\n for (const instance of this.instances) response.push(...instance._ascent.emit(type, data));\n if (this._parent) response.push(...this._parent._ascend(type, data));\n return response;\n }\n\n descend (type, data) {\n const response = [];\n for (const child of this._children) response.push(...child._descend(type, data));\n return response;\n }\n\n _descend (type, data) {\n const response = [];\n for (const instance of this.instances) response.push(...instance._descent.emit(type, data));\n for (const child of this._children) response.push(...child._descend(type, data));\n return response;\n }\n\n getInstance (instanceClassName) {\n for (const instance of this.instances) if (instance.registration.hasInstanceClassName(instanceClassName)) return instance;\n return null;\n }\n\n hasInstance (instanceClassName) {\n return this.getInstance(instanceClassName) !== null;\n }\n\n getDescendantInstances (instanceClassName, stopAtInstanceClassName, stopAtFirstInstance) {\n if (!instanceClassName) return [];\n const instances = [];\n for (const child of this._children) {\n const instance = child.getInstance(instanceClassName);\n if (instance) {\n instances.push(instance);\n if (stopAtFirstInstance) continue;\n }\n if ((!stopAtInstanceClassName || !child.hasInstance(stopAtInstanceClassName)) && child.children.length) instances.push.apply(instances, child.getDescendantInstances(instanceClassName, stopAtInstanceClassName, stopAtFirstInstance));\n }\n return instances;\n }\n\n getAscendantInstance (instanceClassName, stopAtInstanceClassName) {\n if (!instanceClassName || !this._parent) return null;\n const instance = this._parent.getInstance(instanceClassName);\n if (instance) return instance;\n if (stopAtInstanceClassName && this._parent.hasInstance(stopAtInstanceClassName)) return null;\n return this._parent.getAscendantInstance(instanceClassName, stopAtInstanceClassName);\n }\n\n dispose () {\n for (let i = this.instances.length - 1; i >= 0; i--) {\n const instance = this.instances[i];\n if (instance) instance._dispose();\n }\n this.instances.length = 0;\n state.remove('stage', this);\n this.parent.removeChild(this);\n this._children.length = 0;\n inspector.debug(`remove element [${this.id}] ${this.html}`);\n }\n\n prepare (attributeName) {\n if (this.attributeNames.indexOf(attributeName) === -1) this.attributeNames.push(attributeName);\n }\n\n examine () {\n const attributeNames = this.attributeNames.slice();\n this.attributeNames.length = 0;\n for (let i = this.instances.length - 1; i > -1; i--) this.instances[i].examine(attributeNames);\n }\n}\n\nconst RootEmission = {\n CLICK: ns.emission('root', 'click'),\n KEYDOWN: ns.emission('root', 'keydown'),\n KEYUP: ns.emission('root', 'keyup')\n};\n\nconst KeyCodes = {\n TAB: {\n id: 'tab',\n value: 9\n },\n ESCAPE: {\n id: 'escape',\n value: 27\n },\n END: {\n id: 'end',\n value: 35\n },\n HOME: {\n id: 'home',\n value: 36\n },\n LEFT: {\n id: 'left',\n value: 37\n },\n UP: {\n id: 'up',\n value: 38\n },\n RIGHT: {\n id: 'right',\n value: 39\n },\n DOWN: {\n id: 'down',\n value: 40\n }\n};\n\nconst getKeyCode = (keyCode) => Object.values(KeyCodes).filter(entry => entry.value === keyCode)[0];\n\nclass Root extends Element$1 {\n constructor () {\n super(document.documentElement, 'root');\n this.node.setAttribute(ns.attr('js'), true);\n this.listen();\n }\n\n listen () {\n // TODO v2 => listener au niveau des éléments qui redistribuent aux instances.\n document.documentElement.addEventListener('click', this.click.bind(this), { capture: true });\n document.documentElement.addEventListener('keydown', this.keydown.bind(this), { capture: true });\n document.documentElement.addEventListener('keyup', this.keyup.bind(this), { capture: true });\n }\n\n click (e) {\n this.emit(RootEmission.CLICK, e.target);\n }\n\n keydown (e) {\n this.emit(RootEmission.KEYDOWN, getKeyCode(e.keyCode));\n }\n\n keyup (e) {\n this.emit(RootEmission.KEYUP, getKeyCode(e.keyCode));\n }\n}\n\nclass Stage extends Module {\n constructor () {\n super('stage');\n this.root = new Root();\n super.add(this.root);\n this.observer = new MutationObserver(this.mutate.bind(this));\n this.modifications = [];\n this.willModify = false;\n this.modifying = this.modify.bind(this);\n }\n\n hasElement (node) {\n for (const element of this.collection) if (element.node === node) return true;\n return false;\n }\n\n getElement (node) {\n for (const element of this.collection) if (element.node === node) return element;\n const element = new Element$1(node);\n this.add(element);\n inspector.debug(`add element [${element.id}] ${element.html}`);\n return element;\n }\n\n getProxy (node) {\n if (!this.hasElement(node)) return null;\n const element = this.getElement(node);\n return element.proxy;\n }\n\n add (element) {\n super.add(element);\n this.put(element, this.root);\n }\n\n put (element, branch) {\n let index = 0;\n for (let i = branch.children.length - 1; i > -1; i--) {\n const child = branch.children[i];\n const position = element.node.compareDocumentPosition(child.node);\n if (position & Node.DOCUMENT_POSITION_CONTAINS) {\n this.put(element, child);\n return;\n } else if (position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n branch.removeChild(child);\n element.addChild(child, 0);\n } else if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n index = i + 1;\n break;\n }\n }\n\n branch.addChild(element, index);\n }\n\n activate () {\n this.observer.observe(document.documentElement, { childList: true, subtree: true, attributes: true });\n }\n\n deactivate () {\n this.observer.disconnect();\n }\n\n mutate (mutations) {\n const examinations = [];\n mutations.forEach((mutation) => {\n switch (mutation.type) {\n case 'childList':\n mutation.removedNodes.forEach((node) => this.dispose(node));\n mutation.addedNodes.forEach((node) => this.parse(node));\n break;\n\n case 'attributes':\n if (this.hasElement(mutation.target)) {\n const element = this.getElement(mutation.target);\n element.prepare(mutation.attributeName);\n if (examinations.indexOf(element) === -1) examinations.push(element);\n for (const descendant of element.descendants) if (examinations.indexOf(descendant) === -1) examinations.push(descendant);\n }\n if (this.modifications.indexOf(mutation.target) === -1) this.modifications.push(mutation.target);\n break;\n }\n });\n\n examinations.forEach(element => element.examine());\n if (this.modifications.length && !this.willModify) {\n this.willModify = true;\n window.requestAnimationFrame(this.modifying);\n }\n }\n\n modify () {\n this.willModify = false;\n const targets = this.modifications.slice();\n this.modifications.length = 0;\n for (const target of targets) if (document.documentElement.contains(target)) this.parse(target);\n }\n\n dispose (node) {\n const disposables = [];\n this.forEach((element) => {\n if (node.contains(element.node)) disposables.push(element);\n });\n\n for (const disposable of disposables) {\n disposable.dispose();\n this.remove(disposable);\n }\n }\n\n parse (node, registration, nonRecursive) {\n const registrations = registration ? [registration] : state.getModule('register').collection;\n const creations = [];\n\n for (const registration of registrations) {\n const nodes = registration.parse(node, nonRecursive);\n\n for (const n of nodes) {\n const element = this.getElement(n);\n element.project(registration);\n if (creations.indexOf(element) === -1) creations.push(element);\n }\n }\n\n for (const element of creations) element.populate();\n }\n}\n\nclass Renderer extends Module {\n constructor () {\n super('render');\n this.rendering = this.render.bind(this);\n this.nexts = new Collection();\n }\n\n activate () {\n window.requestAnimationFrame(this.rendering);\n }\n\n request (instance) {\n this.nexts.add(instance);\n }\n\n render () {\n if (!state.isActive) return;\n window.requestAnimationFrame(this.rendering);\n this.forEach((instance) => instance.render());\n if (!this.nexts.length) return;\n const nexts = this.nexts.clone();\n this.nexts.clear();\n nexts.forEach((instance) => instance.next());\n }\n}\n\nclass Resizer extends Module {\n constructor () {\n super('resize');\n this.requireResize = false;\n this.resizing = this.resize.bind(this);\n const requesting = this.request.bind(this);\n if (document.fonts) {\n document.fonts.ready.then(requesting);\n }\n window.addEventListener('resize', requesting);\n window.addEventListener('orientationchange', requesting);\n }\n\n activate () {\n this.request();\n }\n\n request () {\n if (this.requireResize) return;\n this.requireResize = true;\n window.requestAnimationFrame(this.resizing);\n }\n\n resize () {\n if (!this.requireResize) return;\n this.forEach((instance) => instance.resize());\n this.requireResize = false;\n }\n}\n\nclass ScrollLocker extends Module {\n constructor () {\n super('lock');\n this._isLocked = false;\n this._scrollY = 0;\n this.onPopulate = this.lock.bind(this);\n this.onEmpty = this.unlock.bind(this);\n }\n\n get isLocked () {\n return this._isLocked;\n }\n\n lock () {\n if (!this._isLocked) {\n this._isLocked = true;\n this._scrollY = window.scrollY;\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n document.documentElement.setAttribute(ns.attr('scrolling'), 'false');\n document.body.style.top = `${-this._scrollY}px`;\n this.behavior = getComputedStyle(document.documentElement).getPropertyValue('scroll-behavior');\n if (this.behavior === 'smooth') document.documentElement.style.scrollBehavior = 'auto';\n if (scrollBarGap > 0) {\n document.documentElement.style.setProperty('--scrollbar-width', `${scrollBarGap}px`);\n }\n }\n }\n\n unlock () {\n if (this._isLocked) {\n this._isLocked = false;\n document.documentElement.removeAttribute(ns.attr('scrolling'));\n document.body.style.top = '';\n window.scrollTo(0, this._scrollY);\n if (this.behavior === 'smooth') document.documentElement.style.removeProperty('scroll-behavior');\n document.documentElement.style.removeProperty('--scrollbar-width');\n }\n }\n\n move (value) {\n if (this._isLocked) {\n this._scrollY += value;\n document.body.style.top = `${-this._scrollY}px`;\n } else {\n window.scrollTo(0, window.scrollY + value);\n }\n }\n}\n\nclass Load extends Module {\n constructor () {\n super('load');\n this.loading = this.load.bind(this);\n }\n\n activate () {\n window.addEventListener('load', this.loading);\n }\n\n load () {\n this.forEach((instance) => instance.load());\n }\n}\n\nconst FONT_FAMILIES = ['Marianne', 'Spectral'];\n\nclass FontSwap extends Module {\n constructor () {\n super('font-swap');\n this.swapping = this.swap.bind(this);\n }\n\n activate () {\n if (document.fonts) {\n document.fonts.addEventListener('loadingdone', this.swapping);\n }\n }\n\n swap () {\n const families = FONT_FAMILIES.filter(family => document.fonts.check(`16px ${family}`));\n\n this.forEach((instance) => instance.swapFont(families));\n }\n}\n\nclass MouseMove extends Module {\n constructor () {\n super('mouse-move');\n this.requireMove = false;\n this._isMoving = false;\n this.moving = this.move.bind(this);\n this.requesting = this.request.bind(this);\n this.onPopulate = this.listen.bind(this);\n this.onEmpty = this.unlisten.bind(this);\n }\n\n listen () {\n if (this._isMoving) return;\n this._isMoving = true;\n this.requireMove = false;\n document.documentElement.addEventListener('mousemove', this.requesting);\n }\n\n unlisten () {\n if (!this._isMoving) return;\n this._isMoving = false;\n this.requireMove = false;\n document.documentElement.removeEventListener('mousemove', this.requesting);\n }\n\n request (e) {\n if (!this._isMoving) return;\n this.point = { x: e.clientX, y: e.clientY };\n if (this.requireMove) return;\n this.requireMove = true;\n window.requestAnimationFrame(this.moving);\n }\n\n move () {\n if (!this.requireMove) return;\n this.forEach((instance) => instance.mouseMove(this.point));\n this.requireMove = false;\n }\n}\n\nclass Hash extends Module {\n constructor () {\n super('hash');\n this.handling = this.handle.bind(this);\n this.getLocationHash();\n }\n\n activate () {\n window.addEventListener('hashchange', this.handling);\n }\n\n deactivate () {\n window.removeEventListener('hashchange', this.handling);\n }\n\n _sanitize (hash) {\n if (hash.charAt(0) === '#') return hash.substring(1);\n return hash;\n }\n\n set hash (value) {\n const hash = this._sanitize(value);\n if (this._hash !== hash) window.location.hash = hash;\n }\n\n get hash () {\n return this._hash;\n }\n\n getLocationHash () {\n const hash = window.location.hash;\n this._hash = this._sanitize(hash);\n }\n\n handle (e) {\n this.getLocationHash();\n this.forEach((instance) => instance.handleHash(this._hash, e));\n }\n}\n\nclass Engine {\n constructor () {\n state.create(Register);\n state.create(Stage);\n state.create(Renderer);\n state.create(Resizer);\n state.create(ScrollLocker);\n state.create(Load);\n state.create(FontSwap);\n state.create(MouseMove);\n state.create(Hash);\n\n const registerModule = state.getModule('register');\n this.register = registerModule.register.bind(registerModule);\n }\n\n get isActive () {\n return state.isActive;\n }\n\n start () {\n inspector.debug('START');\n state.isActive = true;\n }\n\n stop () {\n inspector.debug('STOP');\n state.isActive = false;\n }\n}\n\nconst engine = new Engine();\n\nclass Colors {\n getColor (context, use, tint, options = {}) {\n const option = getOption(options);\n const decision = `--${context}-${use}-${tint}${option}`;\n return getComputedStyle(document.documentElement).getPropertyValue(decision).trim() || null;\n }\n}\n\nconst getOption = (options) => {\n switch (true) {\n case options.hover:\n return '-hover';\n case options.active:\n return '-active';\n default:\n return '';\n }\n};\n\nconst colors = new Colors();\n\nconst sanitize = (className) => className.charAt(0) === '.' ? className.substr(1) : className;\n\nconst getClassNames = (element) => element.className ? element.className.split(' ') : [];\n\nconst modifyClass = (element, className, remove) => {\n className = sanitize(className);\n const classNames = getClassNames(element);\n const index = classNames.indexOf(className);\n if (remove === true) {\n if (index > -1) classNames.splice(index, 1);\n } else if (index === -1) classNames.push(className);\n element.className = classNames.join(' ');\n};\n\nconst addClass = (element, className) => modifyClass(element, className);\n\nconst removeClass = (element, className) => modifyClass(element, className, true);\n\nconst hasClass = (element, className) => getClassNames(element).indexOf(sanitize(className)) > -1;\n\nconst ACTIONS = [\n '[tabindex]:not([tabindex=\"-1\"])',\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n 'iframe'\n];\n\nconst ACTIONS_SELECTOR = ACTIONS.join();\n\nconst queryActions = (element) => {\n return element.querySelectorAll(ACTIONS_SELECTOR);\n};\n\nlet counter = 0;\n\nconst uniqueId = (id) => {\n if (!document.getElementById(id)) return id;\n let element = true;\n const base = id;\n while (element) {\n counter++;\n id = `${base}-${counter}`;\n element = document.getElementById(id);\n }\n return id;\n};\n\nconst dom = {};\n\ndom.addClass = addClass;\ndom.hasClass = hasClass;\ndom.removeClass = removeClass;\ndom.queryParentSelector = queryParentSelector;\ndom.querySelectorAllArray = querySelectorAllArray;\ndom.queryActions = queryActions;\ndom.uniqueId = uniqueId;\n\nconst supportLocalStorage = () => {\n try {\n return 'localStorage' in window && window.localStorage !== null;\n } catch (e) {\n return false;\n }\n};\n\nconst supportAspectRatio = () => {\n if (!window.CSS) return false;\n return CSS.supports('aspect-ratio: 16 / 9');\n};\n\nconst support = {};\n\nsupport.supportLocalStorage = supportLocalStorage;\n\nsupport.supportAspectRatio = supportAspectRatio;\n\nconst TransitionSelector = {\n NONE: ns.selector('transition-none')\n};\n\nconst selector = {};\n\nselector.TransitionSelector = TransitionSelector;\n\n/**\n * Copy properties from multiple sources including accessors.\n * source : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#copier_des_accesseurs\n *\n * @param {object} [target] - Target object to copy into\n * @param {...objects} [sources] - Multiple objects\n * @return {object} A new object\n *\n * @example\n *\n * const obj1 = {\n * key: 'value'\n * };\n * const obj2 = {\n * get function01 () {\n * return a-value;\n * }\n * set function01 () {\n * return a-value;\n * }\n * };\n * completeAssign(obj1, obj2)\n */\nconst completeAssign = (target, ...sources) => {\n sources.forEach(source => {\n const descriptors = Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {});\n\n Object.getOwnPropertySymbols(source).forEach(sym => {\n const descriptor = Object.getOwnPropertyDescriptor(source, sym);\n if (descriptor.enumerable) {\n descriptors[sym] = descriptor;\n }\n });\n Object.defineProperties(target, descriptors);\n });\n return target;\n};\n\nconst property = {};\n\nproperty.completeAssign = completeAssign;\n\n/**\n * Return an object of query params or null\n *\n * @method\n * @name searchParams\n * @param {string} url - an url\n * @returns {Object} object of query params or null\n */\n\nconst searchParams = (url) => {\n if (url && url.search) {\n const params = new URLSearchParams(window.location.search);\n const entries = params.entries();\n return Object.fromEntries(entries);\n }\n return null;\n};\n\nconst internals = {};\nconst legacy = {};\n\nObject.defineProperty(legacy, 'isLegacy', {\n get: () => state.isLegacy\n});\n\nlegacy.setLegacy = () => {\n state.isLegacy = true;\n};\n\ninternals.legacy = legacy;\ninternals.dom = dom;\ninternals.support = support;\ninternals.motion = selector;\ninternals.property = property;\ninternals.ns = ns;\ninternals.register = engine.register;\ninternals.state = state;\ninternals.query = searchParams(window.location);\n\nObject.defineProperty(internals, 'preventManipulation', {\n get: () => options.preventManipulation\n});\nObject.defineProperty(internals, 'stage', {\n get: () => state.getModule('stage')\n});\n\nconst api$1 = (node) => {\n const stage = state.getModule('stage');\n return stage.getProxy(node);\n};\n\napi$1.version = config.version;\napi$1.prefix = config.prefix;\napi$1.organisation = config.organisation;\napi$1.Modes = Modes;\n\nObject.defineProperty(api$1, 'mode', {\n set: (value) => { options.mode = value; },\n get: () => options.mode\n});\n\napi$1.internals = internals;\napi$1.version = config.version;\n\napi$1.start = engine.start;\napi$1.stop = engine.stop;\n\napi$1.inspector = inspector;\napi$1.colors = colors;\n\nconst configuration = window[config.namespace];\napi$1.internals.configuration = configuration;\n\noptions.configure(configuration, api$1.start, api$1.internals.query);\n\nwindow[config.namespace] = api$1;\n\nclass Emitter {\n constructor () {\n this.emissions = {};\n }\n\n add (type, closure) {\n if (typeof closure !== 'function') throw new Error('closure must be a function');\n if (!this.emissions[type]) this.emissions[type] = [];\n this.emissions[type].push(closure);\n }\n\n remove (type, closure) {\n if (!this.emissions[type]) return;\n if (!closure) delete this.emissions[type];\n else {\n const index = this.emissions[type].indexOf(closure);\n if (index > -1) this.emissions[type].splice(index);\n }\n }\n\n emit (type, data) {\n if (!this.emissions[type]) return [];\n const response = [];\n for (const closure of this.emissions[type]) if (closure) response.push(closure(data));\n return response;\n }\n\n dispose () {\n this.emissions = null;\n }\n}\n\nclass Breakpoint {\n constructor (id, minWidth) {\n this.id = id;\n this.minWidth = minWidth;\n }\n\n test () {\n return window.matchMedia(`(min-width: ${this.minWidth}em)`).matches;\n }\n}\n\nconst Breakpoints = {\n XS: new Breakpoint('xs', 0),\n SM: new Breakpoint('sm', 36),\n MD: new Breakpoint('md', 48),\n LG: new Breakpoint('lg', 62),\n XL: new Breakpoint('xl', 78)\n};\n\nclass Instance {\n constructor (jsAttribute = true) {\n this.jsAttribute = jsAttribute;\n this._isRendering = false;\n this._isResizing = false;\n this._isScrollLocked = false;\n this._isLoading = false;\n this._isSwappingFont = false;\n this._isEnabled = true;\n this._isDisposed = false;\n this._listeners = {};\n this.handlingClick = this.handleClick.bind(this);\n this._hashes = [];\n this._hash = '';\n this._keyListenerTypes = [];\n this._keys = [];\n this.handlingKey = this.handleKey.bind(this);\n this._emitter = new Emitter();\n this._ascent = new Emitter();\n this._descent = new Emitter();\n this._registrations = [];\n this._nexts = [];\n }\n\n static get instanceClassName () {\n return 'Instance';\n }\n\n _config (element, registration) {\n this.element = element;\n this.registration = registration;\n this.node = element.node;\n this.id = element.node.id;\n if (this.jsAttribute) this.setAttribute(registration.attribute, true);\n this.init();\n }\n\n init () {}\n\n get proxy () {\n const scope = this;\n const proxy = {\n render: () => scope.render(),\n resize: () => scope.resize()\n };\n\n const proxyAccessors = {\n get node () {\n return this.node;\n },\n get isEnabled () {\n return scope.isEnabled;\n },\n set isEnabled (value) {\n scope.isEnabled = value;\n }\n };\n\n return completeAssign(proxy, proxyAccessors);\n }\n\n log (...values) {\n values.unshift(`${this.registration.instanceClassName} #${this.id} - `);\n inspector.log.apply(inspector, values);\n }\n\n debug (...values) {\n values.unshift(`${this.registration.instanceClassName} #${this.id} - `);\n inspector.debug.apply(inspector, values);\n }\n\n info (...values) {\n values.unshift(`${this.registration.instanceClassName} #${this.id} - `);\n inspector.info.apply(inspector, values);\n }\n\n warn (...values) {\n values.unshift(`${this.registration.instanceClassName} #${this.id} - `);\n inspector.warn.apply(inspector, values);\n }\n\n error (...values) {\n values.unshift(`${this.registration.instanceClassName} #${this.id} - `);\n inspector.error.apply(inspector, values);\n }\n\n register (selector, InstanceClass) {\n const registration = state.getModule('register').register(selector, InstanceClass, this);\n this._registrations.push(registration);\n }\n\n getRegisteredInstances (instanceClassName) {\n for (const registration of this._registrations) if (registration.hasInstanceClassName(instanceClassName)) return registration.instances.collection;\n return [];\n }\n\n dispatch (type, detail, bubbles, cancelable) {\n const event = new CustomEvent(type, { detail: detail, bubble: bubbles === true, cancelable: cancelable === true });\n this.node.dispatchEvent(event);\n }\n\n // TODO v2 => listener au niveau des éléments qui redistribuent aux instances.\n listen (type, closure, options) {\n if (!this._listeners[type]) this._listeners[type] = [];\n const listeners = this._listeners[type];\n // if (listeners.some(listener => listener.closure === closure)) return;\n const listener = new Listener(this.node, type, closure, options);\n listeners.push(listener);\n listener.listen();\n }\n\n unlisten (type, closure, options) {\n if (!type) {\n for (const type in this._listeners) this.unlisten(type);\n return;\n }\n\n const listeners = this._listeners[type];\n\n if (!listeners) return;\n\n if (!closure) {\n listeners.forEach(listener => this.unlisten(type, listener.closure));\n return;\n }\n\n const removal = listeners.filter(listener => listener.closure === closure && listener.matchOptions(options));\n removal.forEach(listener => listener.unlisten());\n this._listeners[type] = listeners.filter(listener => removal.indexOf(listener) === -1);\n }\n\n listenClick (options) {\n this.listen('click', this.handlingClick, options);\n }\n\n unlistenClick (options) {\n this.unlisten('click', this.handlingClick, options);\n }\n\n handleClick (e) {}\n\n set hash (value) {\n state.getModule('hash').hash = value;\n }\n\n get hash () {\n return state.getModule('hash').hash;\n }\n\n listenHash (hash, add) {\n if (this._hashes.length === 0) state.add('hash', this);\n const action = new HashAction(hash, add);\n this._hashes = this._hashes.filter(action => action.hash !== hash);\n this._hashes.push(action);\n }\n\n unlistenHash (hash) {\n this._hashes = this._hashes.filter(action => action.hash !== hash);\n if (this._hashes.length === 0) state.remove('hash', this);\n }\n\n handleHash (hash, e) {\n for (const action of this._hashes) action.handle(hash, e);\n }\n\n listenKey (keyCode, closure, preventDefault = false, stopPropagation = false, type = 'down') {\n if (this._keyListenerTypes.indexOf(type) === -1) {\n this.listen(`key${type}`, this.handlingKey);\n this._keyListenerTypes.push(type);\n }\n\n this._keys.push(new KeyAction(type, keyCode, closure, preventDefault, stopPropagation));\n }\n\n unlistenKey (code, closure) {\n this._keys = this._keys.filter((key) => key.code !== code || key.closure !== closure);\n\n this._keyListenerTypes.forEach(type => {\n if (!this._keys.some(key => key.type === type)) this.unlisten(`key${type}`, this.handlingKey);\n });\n }\n\n handleKey (e) {\n for (const key of this._keys) key.handle(e);\n }\n\n get isEnabled () { return this._isEnabled; }\n\n set isEnabled (value) {\n this._isEnabled = value;\n }\n\n get isRendering () { return this._isRendering; }\n\n set isRendering (value) {\n if (this._isRendering === value) return;\n if (value) state.add('render', this);\n else state.remove('render', this);\n this._isRendering = value;\n }\n\n render () {}\n\n request (closure) {\n this._nexts.push(closure);\n state.getModule('render').request(this);\n }\n\n next () {\n const nexts = this._nexts.slice();\n this._nexts.length = 0;\n for (const closure of nexts) if (closure) closure();\n }\n\n get isResizing () { return this._isResizing; }\n\n set isResizing (value) {\n if (this._isResizing === value) return;\n if (value) {\n state.add('resize', this);\n this.resize();\n } else state.remove('resize', this);\n this._isResizing = value;\n }\n\n resize () {}\n\n isBreakpoint (breakpoint) {\n switch (true) {\n case typeof breakpoint === 'string':\n return Breakpoints[breakpoint.toUpperCase()].test();\n\n default:\n return breakpoint.test();\n }\n }\n\n get isScrollLocked () {\n return this._isScrollLocked;\n }\n\n set isScrollLocked (value) {\n if (this._isScrollLocked === value) return;\n if (value) state.add('lock', this);\n else state.remove('lock', this);\n this._isScrollLocked = value;\n }\n\n get isLoading () {\n return this._isLoading;\n }\n\n set isLoading (value) {\n if (this._isLoading === value) return;\n if (value) state.add('load', this);\n else state.remove('load', this);\n this._isLoading = value;\n }\n\n load () {}\n\n get isSwappingFont () {\n return this._isSwappingFont;\n }\n\n set isSwappingFont (value) {\n if (this._isSwappingFont === value) return;\n if (value) state.add('font-swap', this);\n else state.remove('font-swap', this);\n this._isSwappingFont = value;\n }\n\n swapFont () {}\n\n get isMouseMoving () { return this._isMouseMoving; }\n\n set isMouseMoving (value) {\n if (this._isMouseMoving === value) return;\n if (value) {\n state.add('mouse-move', this);\n } else {\n state.remove('mouse-move', this);\n }\n this._isMouseMoving = value;\n }\n\n mouseMove (point) {}\n\n examine (attributeNames) {\n if (!this.node.matches(this.registration.selector)) {\n this._dispose();\n return;\n }\n\n this.mutate(attributeNames);\n }\n\n mutate (attributeNames) {}\n\n retrieveNodeId (node, append) {\n if (node.id) return node.id;\n const id = uniqueId(`${this.id}-${append}`);\n this.warn(`add id '${id}' to ${append}`);\n node.setAttribute('id', id);\n return id;\n }\n\n get isDisposed () {\n return this._isDisposed;\n }\n\n _dispose () {\n this.debug(`dispose instance of ${this.registration.instanceClassName} on element [${this.element.id}]`);\n this.removeAttribute(this.registration.attribute);\n this.unlisten();\n this._hashes = null;\n this._keys = null;\n this.isRendering = false;\n this.isResizing = false;\n this._nexts = null;\n state.getModule('render').nexts.remove(this);\n this.isScrollLocked = false;\n this.isLoading = false;\n this.isSwappingFont = false;\n this._emitter.dispose();\n this._emitter = null;\n this._ascent.dispose();\n this._ascent = null;\n this._descent.dispose();\n this._descent = null;\n this.element.remove(this);\n for (const registration of this._registrations) state.remove('register', registration);\n this._registrations = null;\n this.registration.remove(this);\n this._isDisposed = true;\n this.dispose();\n }\n\n dispose () {}\n\n emit (type, data) {\n return this.element.emit(type, data);\n }\n\n addEmission (type, closure) {\n this._emitter.add(type, closure);\n }\n\n removeEmission (type, closure) {\n this._emitter.remove(type, closure);\n }\n\n ascend (type, data) {\n return this.element.ascend(type, data);\n }\n\n addAscent (type, closure) {\n this._ascent.add(type, closure);\n }\n\n removeAscent (type, closure) {\n this._ascent.remove(type, closure);\n }\n\n descend (type, data) {\n return this.element.descend(type, data);\n }\n\n addDescent (type, closure) {\n this._descent.add(type, closure);\n }\n\n removeDescent (type, closure) {\n this._descent.remove(type, closure);\n }\n\n get style () {\n return this.node.style;\n }\n\n addClass (className) {\n addClass(this.node, className);\n }\n\n removeClass (className) {\n removeClass(this.node, className);\n }\n\n hasClass (className) {\n return hasClass(this.node, className);\n }\n\n get classNames () {\n return getClassNames(this.node);\n }\n\n remove () {\n this.node.parentNode.removeChild(this.node);\n }\n\n setAttribute (attributeName, value) {\n this.node.setAttribute(attributeName, value);\n }\n\n getAttribute (attributeName) {\n return this.node.getAttribute(attributeName);\n }\n\n hasAttribute (attributeName) {\n return this.node.hasAttribute(attributeName);\n }\n\n removeAttribute (attributeName) {\n this.node.removeAttribute(attributeName);\n }\n\n setProperty (propertyName, value) {\n this.node.style.setProperty(propertyName, value);\n }\n\n removeProperty (propertyName) {\n this.node.style.removeProperty(propertyName);\n }\n\n focus () {\n this.node.focus();\n }\n\n blur () {\n this.node.blur();\n }\n\n focusClosest () {\n const closest = this._focusClosest(this.node.parentNode);\n if (closest) closest.focus();\n }\n\n _focusClosest (parent) {\n if (!parent) return null;\n const actions = [...queryActions(parent)];\n if (actions.length <= 1) {\n return this._focusClosest(parent.parentNode);\n } else {\n const index = actions.indexOf(this.node);\n return actions[index + (index < actions.length - 1 ? 1 : -1)];\n }\n }\n\n get hasFocus () {\n return this.node === document.activeElement;\n }\n\n scrollIntoView () {\n const rect = this.getRect();\n\n const scroll = state.getModule('lock');\n\n if (rect.top < 0) {\n scroll.move(rect.top - 50);\n }\n\n if (rect.bottom > window.innerHeight) {\n scroll.move(rect.bottom - window.innerHeight + 50);\n }\n }\n\n matches (selectors) {\n return this.node.matches(selectors);\n }\n\n querySelector (selectors) {\n return this.node.querySelector(selectors);\n }\n\n querySelectorAll (selectors) {\n return querySelectorAllArray(this.node, selectors);\n }\n\n queryParentSelector (selectors) {\n return queryParentSelector(this.node, selectors);\n }\n\n getRect () {\n const rect = this.node.getBoundingClientRect();\n rect.center = rect.left + rect.width * 0.5;\n rect.middle = rect.top + rect.height * 0.5;\n return rect;\n }\n\n get isLegacy () {\n return state.isLegacy;\n }\n}\n\nclass KeyAction {\n constructor (type, keyCode, closure, preventDefault, stopPropagation) {\n this.type = type;\n this.eventType = `key${type}`;\n this.keyCode = keyCode;\n this.closure = closure;\n this.preventDefault = preventDefault === true;\n this.stopPropagation = stopPropagation === true;\n }\n\n handle (e) {\n if (e.type !== this.eventType) return;\n if (e.keyCode === this.keyCode.value) {\n this.closure(e);\n if (this.preventDefault) {\n e.preventDefault();\n }\n if (this.stopPropagation) {\n e.stopPropagation();\n }\n }\n }\n}\n\nclass Listener {\n constructor (node, type, closure, options) {\n this._node = node;\n this._type = type;\n this._closure = closure;\n this._options = options;\n }\n\n get closure () {\n return this._closure;\n }\n\n listen () {\n this._node.addEventListener(this._type, this._closure, this._options);\n }\n\n matchOptions (options = null) {\n switch (true) {\n case options === null:\n case typeof this._options === 'boolean' && typeof options === 'boolean' && this._options === options:\n return true;\n\n case Object.keys(this._options).length !== Object.keys(options).length:\n return false;\n\n case Object.keys(options).every(key => this._options[key] === options[key]):\n return true;\n }\n\n return false;\n }\n\n unlisten () {\n this._node.removeEventListener(this._type, this._closure, this._options);\n }\n}\n\nclass HashAction {\n constructor (hash, add) {\n this.hash = hash;\n this.add = add;\n }\n\n handle (hash, e) {\n if (this.hash === hash) this.add(e);\n }\n}\n\nconst DisclosureEvent = {\n DISCLOSE: ns.event('disclose'),\n CONCEAL: ns.event('conceal')\n};\n\nconst DisclosureEmission = {\n RESET: ns.emission('disclosure', 'reset'),\n ADDED: ns.emission('disclosure', 'added'),\n RETRIEVE: ns.emission('disclosure', 'retrieve'),\n REMOVED: ns.emission('disclosure', 'removed'),\n GROUP: ns.emission('disclosure', 'group'),\n UNGROUP: ns.emission('disclosure', 'ungroup'),\n SPOTLIGHT: ns.emission('disclosure', 'spotlight')\n};\n\nclass Disclosure extends Instance {\n constructor (type, selector, DisclosureButtonInstanceClass, disclosuresGroupInstanceClassName) {\n super();\n this.type = type;\n this._selector = selector;\n this.DisclosureButtonInstanceClass = DisclosureButtonInstanceClass;\n this.disclosuresGroupInstanceClassName = disclosuresGroupInstanceClassName;\n this.modifier = this._selector + '--' + this.type.id;\n this._isPristine = true;\n this._isRetrievingPrimaries = false;\n this._hasRetrieved = false;\n this._primaryButtons = [];\n }\n\n static get instanceClassName () {\n return 'Disclosure';\n }\n\n init () {\n this.addDescent(DisclosureEmission.RESET, this.reset.bind(this));\n this.addDescent(DisclosureEmission.GROUP, this.update.bind(this));\n this.addDescent(DisclosureEmission.UNGROUP, this.update.bind(this));\n this.addAscent(DisclosureEmission.SPOTLIGHT, this.disclose.bind(this));\n this.register(`[aria-controls=\"${this.id}\"]`, this.DisclosureButtonInstanceClass);\n this.ascend(DisclosureEmission.ADDED);\n this.listenHash(this.id, this._spotlight.bind(this));\n this.update();\n }\n\n get isEnabled () { return super.isEnabled; }\n\n set isEnabled (value) {\n if (this.isEnabled === value) return;\n super.isEnabled = value;\n if (value) this.ascend(DisclosureEmission.ADDED);\n else this.ascend(DisclosureEmission.REMOVED);\n }\n\n get isPristine () {\n return this._isPristine;\n }\n\n get proxy () {\n const scope = this;\n const proxy = Object.assign(super.proxy, {\n disclose: scope.disclose.bind(scope),\n focus: scope.focus.bind(scope)\n });\n\n if (this.type.canConceal) proxy.conceal = scope.conceal.bind(scope);\n\n const proxyAccessors = {\n get buttons () {\n return scope.buttons.map((button) => button.proxy);\n },\n get group () {\n const group = scope.group;\n return group ? group.proxy : null;\n },\n get isDisclosed () {\n return scope.isDisclosed;\n }\n };\n\n return completeAssign(proxy, proxyAccessors);\n }\n\n get buttons () {\n return this.getRegisteredInstances(this.DisclosureButtonInstanceClass.instanceClassName);\n }\n\n update () {\n this.getGroup();\n this.retrievePrimaries();\n }\n\n getGroup () {\n if (!this.disclosuresGroupInstanceClassName) {\n this._group = null;\n return;\n }\n\n const group = this.element.getAscendantInstance(this.disclosuresGroupInstanceClassName, this.constructor.instanceClassName);\n if (!group || !group.validate(this)) {\n this._group = null;\n return;\n }\n\n this._group = group;\n }\n\n get group () {\n return this._group;\n }\n\n disclose (withhold) {\n if (this.isDisclosed === true || !this.isEnabled) return false;\n this._isPristine = false;\n this.isDisclosed = true;\n if (!withhold && this.group) this.group.current = this;\n return true;\n }\n\n conceal (withhold, preventFocus = true) {\n if (this.isDisclosed === false) return false;\n if (!this.type.canConceal && this.group && this.group.current === this) return false;\n this.isDisclosed = false;\n if (!withhold && this.group && this.group.current === this) this.group.current = null;\n if (!preventFocus) this.focus();\n if (!this._isPristine) this.descend(DisclosureEmission.RESET);\n return true;\n }\n\n get isDisclosed () {\n return this._isDisclosed;\n }\n\n set isDisclosed (value) {\n if (this._isDisclosed === value || (!this.isEnabled && value === true)) return;\n this.dispatch(value ? DisclosureEvent.DISCLOSE : DisclosureEvent.CONCEAL, this.type);\n this._isDisclosed = value;\n if (value) this.addClass(this.modifier);\n else this.removeClass(this.modifier);\n for (let i = 0; i < this.buttons.length; i++) this.buttons[i].apply(value);\n }\n\n get isInitiallyDisclosed () {\n return this.primaryButtons.some(button => button.isInitiallyDisclosed);\n }\n\n hasRetrieved () {\n return this._hasRetrieved;\n }\n\n reset () {}\n\n toggle (canDisclose) {\n if (!this.type.canConceal) this.disclose();\n else {\n switch (true) {\n case !canDisclose:\n case this.isDisclosed:\n this.conceal(false, false);\n break;\n\n default:\n this.disclose();\n }\n }\n }\n\n get buttonHasFocus () {\n return this.buttons.some((button) => { return button.hasFocus; });\n }\n\n get hasFocus () {\n if (super.hasFocus) return true;\n if (this.buttonHasFocus) return true;\n return this.querySelectorAll(':focus').length > 0;\n }\n\n focus () {\n if (this._primaryButtons.length > 0) this._primaryButtons[0].focus();\n }\n\n get primaryButtons () {\n return this._primaryButtons;\n }\n\n retrievePrimaries () {\n if (this._isRetrievingPrimaries) return;\n this._isRetrievingPrimaries = true;\n this.request(this._retrievePrimaries.bind(this));\n }\n\n _retrievePrimaries () {\n this._isRetrievingPrimaries = false;\n this._primaryButtons = this._electPrimaries(this.buttons);\n\n if (this._hasRetrieved || this._primaryButtons.length === 0) return;\n this.retrieved();\n this._hasRetrieved = true;\n\n this.applyAbility(true);\n\n if (this.group) {\n this.group.retrieve();\n return;\n }\n\n if (this._isPristine && this.isEnabled && !this.group) {\n switch (true) {\n case this.hash === this.id:\n this._spotlight();\n break;\n\n case this.isInitiallyDisclosed:\n this.disclose();\n break;\n }\n }\n }\n\n retrieved () {}\n\n _spotlight () {\n this.disclose();\n this.request(() => { this.ascend(DisclosureEmission.SPOTLIGHT); });\n }\n\n _electPrimaries (candidates) {\n return candidates.filter(button => button.canDisclose && !this.node.contains(button.node));\n }\n\n applyAbility (withhold = false) {\n const isEnabled = !this._primaryButtons.every(button => button.isDisabled);\n\n if (this.isEnabled === isEnabled) return;\n\n this.isEnabled = isEnabled;\n\n if (withhold) return;\n\n if (!this.isEnabled && this.isDisclosed) {\n if (this.group) this.ascend(DisclosureEmission.REMOVED);\n else if (this.type.canConceal) this.conceal();\n }\n\n if (this.isEnabled) {\n if (this.group) this.ascend(DisclosureEmission.ADDED);\n if (this.hash === this.id) {\n this._spotlight();\n }\n }\n }\n\n dispose () {\n this._group = null;\n this._primaryButtons = null;\n super.dispose();\n this.ascend(DisclosureEmission.REMOVED);\n }\n}\n\nclass DisclosureButton extends Instance {\n constructor (type) {\n super();\n this.type = type;\n this.attributeName = type.ariaState ? 'aria-' + type.id : ns.attr(type.id);\n this._canDisclose = false;\n }\n\n static get instanceClassName () {\n return 'DisclosureButton';\n }\n\n get isPrimary () {\n return this.registration.creator.primaryButtons.includes(this);\n }\n\n get canDisclose () {\n return this._canDisclose;\n }\n\n get isDisabled () {\n return this.type.canDisable && this.hasAttribute('disabled');\n }\n\n init () {\n this._canDisclose = this.hasAttribute(this.attributeName);\n this._isInitiallyDisclosed = this.isDisclosed;\n this._isContained = this.registration.creator.node.contains(this.node);\n this.controlsId = this.getAttribute('aria-controls');\n this.registration.creator.retrievePrimaries();\n this.listenClick();\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n focus: scope.focus.bind(scope)\n });\n }\n\n handleClick (e) {\n if (this.registration.creator) this.registration.creator.toggle(this.canDisclose);\n }\n\n mutate (attributeNames) {\n this._canDisclose = this.hasAttribute(this.attributeName);\n this.registration.creator.applyAbility();\n if (!this._isApplying && this.isPrimary && attributeNames.indexOf(this.attributeName) > -1 && this.registration.creator) {\n if (this.isDisclosed) this.registration.creator.disclose();\n else if (this.type.canConceal) this.registration.creator.conceal();\n }\n }\n\n apply (value) {\n if (!this.canDisclose) return;\n this._isApplying = true;\n this.setAttribute(this.attributeName, value);\n this.request(() => { this._isApplying = false; });\n }\n\n get isDisclosed () {\n return this.getAttribute(this.attributeName) === 'true';\n }\n\n get isInitiallyDisclosed () {\n return this._isInitiallyDisclosed;\n }\n\n focus () {\n super.focus();\n this.scrollIntoView();\n }\n\n measure (rect) {\n const buttonRect = this.rect;\n this._dx = rect.x - buttonRect.x;\n this._dy = rect.y - buttonRect.y;\n }\n\n get dx () {\n return this._dx;\n }\n\n get dy () {\n return this._dy;\n }\n}\n\nclass DisclosuresGroup extends Instance {\n constructor (disclosureInstanceClassName, jsAttribute) {\n super(jsAttribute);\n this.disclosureInstanceClassName = disclosureInstanceClassName;\n this._members = [];\n this._index = -1;\n this._isRetrieving = false;\n this._hasRetrieved = false;\n }\n\n static get instanceClassName () {\n return 'DisclosuresGroup';\n }\n\n init () {\n this.addAscent(DisclosureEmission.ADDED, this.update.bind(this));\n this.addAscent(DisclosureEmission.RETRIEVE, this.retrieve.bind(this));\n this.addAscent(DisclosureEmission.REMOVED, this.update.bind(this));\n this.descend(DisclosureEmission.GROUP);\n this.update();\n }\n\n get proxy () {\n const scope = this;\n\n const proxyAccessors = {\n set index (value) {\n scope.index = value;\n },\n get index () {\n return scope.index;\n },\n get length () {\n return scope.length;\n },\n get current () {\n const current = scope.current;\n return current ? current.proxy : null;\n },\n get members () {\n return scope.members.map((member) => member.proxy);\n },\n get hasFocus () {\n return scope.hasFocus;\n }\n };\n\n return completeAssign(super.proxy, proxyAccessors);\n }\n\n validate (member) {\n return true;\n }\n\n getMembers () {\n const members = this.element.getDescendantInstances(this.disclosureInstanceClassName, this.constructor.instanceClassName, true);\n this._members = members.filter(this.validate.bind(this)).filter(member => member.isEnabled);\n const invalids = members.filter(member => !this._members.includes(member));\n invalids.forEach(invalid => invalid.conceal());\n }\n\n retrieve (bypassPrevention = false) {\n if (this._isRetrieving || (this._hasRetrieved && !bypassPrevention)) return;\n this._isRetrieving = true;\n this.request(this._retrieve.bind(this));\n }\n\n _retrieve () {\n this.getMembers();\n this._isRetrieving = false;\n this._hasRetrieved = true;\n if (this.hash) {\n for (let i = 0; i < this.length; i++) {\n const member = this.members[i];\n if (this.hash === member.id) {\n this.index = i;\n this.request(() => { this.ascend(DisclosureEmission.SPOTLIGHT); });\n return i;\n }\n }\n }\n\n for (let i = 0; i < this.length; i++) {\n const member = this.members[i];\n if (member.isInitiallyDisclosed) {\n this.index = i;\n return i;\n }\n }\n\n return this.getIndex();\n }\n\n update () {\n this.getMembers();\n if (this._hasRetrieved) this.getIndex();\n }\n\n get members () {\n return this._members;\n }\n\n get length () {\n return this.members ? this.members.length : 0;\n }\n\n getIndex (defaultIndex = -1) {\n this._index = undefined;\n let index = defaultIndex;\n for (let i = 0; i < this.length; i++) {\n if (this.members[i].isDisclosed) {\n index = i;\n break;\n }\n }\n\n this.index = index;\n return index;\n }\n\n get index () {\n return this._index;\n }\n\n set index (value) {\n if (value < -1 || value >= this.length || value === this._index) return;\n this._index = value;\n for (let i = 0; i < this.length; i++) {\n const member = this.members[i];\n if (value === i) {\n if (!member.isDisclosed) member.disclose(true);\n } else {\n if (member.isDisclosed) member.conceal(true);\n }\n }\n this.apply();\n }\n\n get current () {\n if (this._index === -1 || isNaN(this._index)) return null;\n return this._members[this._index] || null;\n }\n\n set current (member) {\n this.index = this.members.indexOf(member);\n }\n\n get hasFocus () {\n const current = this.current;\n if (current) return current.hasFocus;\n return false;\n }\n\n apply () {}\n\n dispose () {\n super.dispose();\n this.descend(DisclosureEmission.UNGROUP);\n this._members = null;\n }\n}\n\nconst DisclosureType = {\n EXPAND: {\n id: 'expanded',\n ariaState: true,\n ariaControls: true,\n canConceal: true,\n canDisable: true\n },\n SELECT: {\n id: 'selected',\n ariaState: true,\n ariaControls: true,\n canConceal: false,\n canDisable: true\n },\n OPENED: {\n id: 'opened',\n ariaState: false,\n ariaControls: true,\n canConceal: true,\n canDisable: false\n }\n};\n\nconst DisclosureSelector = {\n PREVENT_CONCEAL: ns.attr.selector('prevent-conceal')\n};\n\nclass CollapseButton extends DisclosureButton {\n constructor () {\n super(DisclosureType.EXPAND);\n }\n\n static get instanceClassName () {\n return 'CollapseButton';\n }\n}\n\nconst CollapseSelector = {\n COLLAPSE: ns.selector('collapse'),\n COLLAPSING: ns.selector('collapsing')\n};\n\n/**\n * Tab coorespond au panel d'un élement Tabs (tab panel)\n * Tab étend disclosure qui ajoute/enleve le modifier --selected,\n * et ajoute/eleve l'attribut hidden, sur le panel\n */\nclass Collapse extends Disclosure {\n constructor () {\n super(DisclosureType.EXPAND, CollapseSelector.COLLAPSE, CollapseButton, 'CollapsesGroup');\n }\n\n static get instanceClassName () {\n return 'Collapse';\n }\n\n init () {\n super.init();\n this.listen('transitionend', this.transitionend.bind(this));\n }\n\n transitionend (e) {\n this.removeClass(CollapseSelector.COLLAPSING);\n if (!this.isDisclosed) {\n if (this.isLegacy) this.style.maxHeight = '';\n else this.style.removeProperty('--collapse-max-height');\n }\n }\n\n unbound () {\n if (this.isLegacy) this.style.maxHeight = 'none';\n else this.style.setProperty('--collapse-max-height', 'none');\n }\n\n disclose (withhold) {\n if (this.isDisclosed === true || !this.isEnabled) return false;\n this.unbound();\n this.request(() => {\n this.addClass(CollapseSelector.COLLAPSING);\n this.adjust();\n this.request(() => {\n super.disclose(withhold);\n });\n });\n }\n\n conceal (withhold, preventFocus) {\n if (this.isDisclosed === false) return false;\n this.request(() => {\n this.addClass(CollapseSelector.COLLAPSING);\n this.adjust();\n this.request(() => {\n super.conceal(withhold, preventFocus);\n });\n });\n }\n\n adjust () {\n this.setProperty('--collapser', 'none');\n const height = this.node.offsetHeight;\n this.setProperty('--collapse', -height + 'px');\n this.setProperty('--collapser', '');\n }\n\n reset () {\n if (!this.isPristine) this.isDisclosed = false;\n }\n\n _electPrimaries (candidates) {\n const primary = this.element.parent.instances.map(instance => instance.collapsePrimary).filter(button => button !== undefined && candidates.indexOf(button) > -1);\n if (primary.length === 1) return primary;\n candidates = super._electPrimaries(candidates);\n if (candidates.length === 1) return candidates;\n const before = candidates.filter(candidate => candidate.dy >= 0);\n if (before.length > 0) candidates = before;\n if (candidates.length === 1) return candidates;\n const min = Math.min(...candidates.map(candidate => candidate.dy));\n const mins = candidates.filter(candidate => candidate.dy === min);\n if (mins.length > 0) candidates = mins;\n if (candidates.length === 1) return candidates;\n candidates.sort((a, b) => Math.abs(b.dx) - Math.abs(a.dx));\n return candidates;\n }\n}\n\nclass CollapsesGroup extends DisclosuresGroup {\n constructor () {\n super('Collapse');\n }\n\n static get instanceClassName () {\n return 'CollapsesGroup';\n }\n}\n\nconst EquisizedEmission = {\n CHANGE: ns('equisized')\n};\n\nclass Equisized extends Instance {\n static get instanceClassName () {\n return 'Equisized';\n }\n\n init () {\n this.ascend(EquisizedEmission.CHANGE);\n }\n\n measure () {\n if (this.isLegacy) this.style.width = 'auto';\n return this.getRect().width;\n }\n\n adjust (width) {\n if (this.isLegacy) this.style.width = `${width}px`;\n }\n\n dispose () {\n this.ascend(EquisizedEmission.CHANGE);\n }\n}\n\nclass EquisizedsGroup extends Instance {\n static get instanceClassName () {\n return 'EquisizedsGroup';\n }\n\n init () {\n this.isResizing = true;\n this.isLoading = true;\n this.addAscent(EquisizedEmission.CHANGE, this.resize.bind(this));\n }\n\n load () {\n this.resize();\n }\n\n resize () {\n const equisizeds = this.element.getDescendantInstances('Equisized');\n if (!this.isLegacy) this.style.setProperty('--equisized-width', 'auto');\n\n const width = Math.max(...equisizeds.map(equisized => equisized.measure()));\n if (this.isLegacy) equisizeds.forEach(equisized => equisized.adjust(width));\n else this.style.setProperty('--equisized-width', `${width}px`);\n }\n}\n\nconst ToggleEvent = {\n TOGGLE: ns.event('toggle')\n};\n\nclass Toggle extends Instance {\n static get instanceClassName () {\n return 'Toggle';\n }\n\n init () {\n this.pressed = this.pressed === 'true';\n this.listenClick();\n }\n\n handleClick () {\n this.toggle();\n }\n\n toggle () {\n this.pressed = this.pressed !== 'true';\n }\n\n get pressed () {\n return this.getAttribute('aria-pressed');\n }\n\n set pressed (value) {\n this.setAttribute('aria-pressed', value ? 'true' : 'false');\n this.dispatch(ToggleEvent.TOGGLE, value);\n }\n\n get proxy () {\n const scope = this;\n const proxy = Object.assign(super.proxy, {\n toggle: scope.toggle.bind(scope)\n });\n\n const proxyAccessors = {\n get pressed () {\n return scope.pressed;\n },\n set pressed (value) {\n scope.pressed = value;\n }\n };\n\n return completeAssign(proxy, proxyAccessors);\n }\n}\n\nconst RootSelector = {\n ROOT: ':root'\n};\n\nconst setAttributes = (el, attrs) => {\n Object.keys(attrs).forEach(key => el.setAttribute(key, attrs[key]));\n};\n\nclass InjectSvg extends Instance {\n static get instanceClassName () {\n return 'InjectSvg';\n }\n\n init () {\n if (this.node) {\n this.img = this.node.querySelector('img');\n }\n\n if (!this.isLegacy) {\n this.replace();\n }\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n replace: scope.replace.bind(scope),\n restore: scope.restore.bind(scope)\n });\n }\n\n fetch () {\n if (this.img) {\n this.imgID = this.img.getAttribute('id');\n this.imgClass = this.img.getAttribute('class');\n this.imgURL = this.img.getAttribute('src');\n\n fetch(this.imgURL)\n .then(data => data.text())\n .then(response => {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(response, 'text/html');\n this.svg = xmlDoc.querySelector('svg');\n\n if (this.svg) {\n this.replace();\n }\n });\n }\n }\n\n replace () {\n if (!this.svg) {\n this.fetch();\n return;\n }\n\n if (this.imgID && typeof this.imgID !== 'undefined') {\n this.svg.setAttribute('id', this.imgID);\n }\n\n // gestion de la dépréciation\n let name = this.imgURL.match(/[ \\w-]+\\./)[0];\n if (name) {\n name = name.slice(0, -1);\n\n if (['dark', 'light', 'system'].includes(name)) {\n this.svg.innerHTML = this.svg.innerHTML.replaceAll('id=\"artwork-', `id=\"${name}-artwork-`);\n this.svg.innerHTML = this.svg.innerHTML.replaceAll('\"#artwork-', `\"#${name}-artwork-`);\n }\n }\n\n if (this.imgClass && typeof this.imgClass !== 'undefined') {\n this.svg.setAttribute('class', this.imgClass);\n }\n\n if (this.svg.hasAttribute('xmlns:a')) {\n this.svg.removeAttribute('xmlns:a');\n }\n\n this.node.setAttribute('data-fr-inject-svg', true);\n const svgAttributes = {\n 'aria-hidden': true,\n focusable: false\n };\n setAttributes(this.svg, svgAttributes);\n this.node.replaceChild(this.svg, this.img);\n }\n\n restore () {\n if (this.img && this.svg) {\n this.node.setAttribute('data-fr-inject-svg', false);\n this.node.replaceChild(this.img, this.svg);\n }\n }\n}\n\nconst InjectSvgSelector = {\n INJECT_SVG: `[${ns.attr('inject-svg')}]`\n};\n\nclass Artwork extends Instance {\n static get instanceClassName () {\n return 'Artwork';\n }\n\n init () {\n if (this.isLegacy) {\n this.replace();\n }\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n replace: scope.replace.bind(scope)\n });\n }\n\n fetch () {\n this.xlink = this.node.getAttribute('href');\n const splitUrl = this.xlink.split('#');\n this.svgUrl = splitUrl[0];\n this.svgName = splitUrl[1];\n\n const xhr = new XMLHttpRequest();\n xhr.onload = () => {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xhr.responseText, 'text/html');\n this.realSvgContent = xmlDoc.getElementById(this.svgName);\n\n if (this.realSvgContent) {\n this.realSvgContent.classList.add(this.node.classList);\n this.replace();\n }\n };\n xhr.open('GET', this.svgUrl);\n xhr.send();\n }\n\n replace () {\n if (!this.realSvgContent) {\n this.fetch();\n return;\n }\n\n this.node.parentNode.replaceChild(this.realSvgContent, this.node);\n }\n}\n\nconst ArtworkSelector = {\n ARTWORK_USE: `${ns.selector('artwork')} use`\n};\n\nconst AssessSelector = {\n ASSESS_FILE: `${ns.attr.selector('assess-file')}`,\n DETAIL: `${ns.attr.selector('assess-file')} [class$=\"__detail\"], ${ns.attr.selector('assess-file')} [class*=\"__detail \"]`\n};\n\nconst AssessEmission = {\n UPDATE: ns.emission('assess', 'update'),\n ADDED: ns.emission('assess', 'added')\n};\n\nclass AssessFile extends Instance {\n static get instanceClassName () {\n return 'AssessFile';\n }\n\n init () {\n this.lang = this.getLang(this.node);\n this.href = this.getAttribute('href');\n this.hreflang = this.getAttribute('hreflang');\n this.file = {};\n this.gather();\n this.addAscent(AssessEmission.ADDED, this.update.bind(this));\n this.addDescent(AssessEmission.ADDED, this.update.bind(this));\n }\n\n getFileLength () {\n if (this.href === undefined) {\n this.length = -1;\n return;\n }\n\n fetch(this.href, { method: 'HEAD', mode: 'cors' }).then(response => {\n this.length = response.headers.get('content-length') || -1;\n if (this.length === -1) {\n inspector.warn('File size unknown: ' + this.href + '\\nUnable to get HTTP header: \"content-length\"');\n }\n this.gather();\n });\n }\n\n mutate (attributeNames) {\n if (attributeNames.indexOf('href') !== -1) {\n this.href = this.getAttribute('href');\n this.getFileLength();\n }\n\n if (attributeNames.indexOf('hreflang') !== -1) {\n this.hreflang = this.getAttribute('hreflang');\n this.gather();\n }\n }\n\n gather () {\n // TODO V2: implémenter async\n if (this.isLegacy) this.length = -1;\n\n if (!this.length) {\n this.getFileLength();\n return;\n }\n\n this.details = [];\n\n if (this.href) {\n const extension = this.parseExtension(this.href);\n if (extension) this.details.push(extension.toUpperCase());\n }\n\n if (this.length !== -1) {\n this.details.push(this.bytesToSize(this.length));\n }\n\n if (this.hreflang) {\n this.details.push(this.getLangDisplayName(this.hreflang));\n }\n\n this.update();\n }\n\n update () {\n if (!this.details) return;\n this.descend(AssessEmission.UPDATE, this.details);\n this.ascend(AssessEmission.UPDATE, this.details);\n }\n\n getLang (elem) {\n // todo: ajouter un listener global de changement de langue\n if (elem.lang) return elem.lang;\n if (document.documentElement === elem) return window.navigator.language;\n return this.getLang(elem.parentElement);\n }\n\n parseExtension (url) {\n const regexExtension = /\\.(\\w{1,9})(?:$|[?#])/;\n return url.match(regexExtension)[0].replace('.', '');\n }\n\n getLangDisplayName (locale) {\n if (this.isLegacy) return locale;\n const displayNames = new Intl.DisplayNames([this.lang], { type: 'language' });\n const name = displayNames.of(locale);\n return name.charAt(0).toUpperCase() + name.slice(1);\n }\n\n bytesToSize (bytes) {\n if (bytes === -1) return null;\n\n let sizeUnits = ['octets', 'ko', 'Mo', 'Go', 'To'];\n if (this.getAttribute(ns.attr('assess-file')) === 'bytes') {\n sizeUnits = ['bytes', 'KB', 'MB', 'GB', 'TB'];\n }\n\n const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)), 10);\n if (i === 0) return `${bytes} ${sizeUnits[i]}`;\n\n const size = bytes / (1000 ** i);\n const roundedSize = Math.round((size + Number.EPSILON) * 100) / 100; // arrondi a 2 décimal\n const stringSize = String(roundedSize).replace('.', ',');\n\n return `${stringSize} ${sizeUnits[i]}`;\n }\n}\n\nclass AssessDetail extends Instance {\n static get instanceClassName () {\n return 'AssessDetail';\n }\n\n init () {\n this.addDescent(AssessEmission.UPDATE, this.update.bind(this));\n this.ascend(AssessEmission.ADDED);\n }\n\n update (details) {\n this.node.innerHTML = details.join(' - ');\n }\n}\n\nconst ratiosImg = ['32x9', '16x9', '3x2', '4x3', '1x1', '3x4', '2x3'];\nconst ratiosVid = ['16x9', '4x3', '1x1'];\n\nconst ratioSelector = (name, modifiers) => {\n return modifiers.map(modifier => ns.selector(`${name}--${modifier}`)).join(',');\n};\n\nconst deprecatedRatioSelector = `${ns.selector('responsive-img')}, ${ratioSelector('responsive-img', ratiosImg)}, ${ns.selector('responsive-vid')}, ${ratioSelector('responsive-vid', ratiosVid)}`;\n\nconst RatioSelector = {\n RATIO: `${ns.selector('ratio')}, ${ratioSelector('ratio', ratiosImg)}, ${deprecatedRatioSelector}`\n};\n\nconst api = window[config.namespace];\n\nclass Ratio extends Instance {\n static get instanceClassName () {\n return 'Ratio';\n }\n\n init () {\n if (!api.internals.support.supportAspectRatio()) {\n this.ratio = 16 / 9;\n for (const className in this.classNames) {\n if (this.registration.selector.indexOf(this.classNames[className]) > 0) {\n const ratio = this.classNames[className].split('ratio-');\n if (ratio[1]) {\n this.ratio = ratio[1].split('x')[0] / ratio[1].split('x')[1];\n }\n }\n }\n this.isRendering = true;\n this.update();\n }\n }\n\n render () {\n const width = this.getRect().width;\n if (width !== this.currentWidth) this.update();\n }\n\n update () {\n this.currentWidth = this.getRect().width;\n this.style.height = this.currentWidth / this.ratio + 'px';\n }\n}\n\nconst PlaceSelector = {\n TOP: ns.selector('placement--top'),\n RIGHT: ns.selector('placement--right'),\n BOTTOM: ns.selector('placement--bottom'),\n LEFT: ns.selector('placement--left')\n};\n\nconst AlignSelector = {\n START: ns.selector('placement--start'),\n CENTER: ns.selector('placement--center'),\n END: ns.selector('placement--end')\n};\n\nconst PlacementPosition = {\n TOP: 'place_top',\n RIGHT: 'place_right',\n BOTTOM: 'place_bottom',\n LEFT: 'place_left'\n};\n\nconst PlacementAlign = {\n START: 'align_start',\n CENTER: 'align_center',\n END: 'align_end'\n};\n\nconst PlacementMode = {\n AUTO: 'placement_auto',\n MANUAL: 'placement_manual'\n};\n\nclass Placement extends Instance {\n constructor (mode = PlacementMode.AUTO, places = [PlacementPosition.BOTTOM, PlacementPosition.TOP, PlacementPosition.LEFT, PlacementPosition.RIGHT], aligns = [PlacementAlign.CENTER, PlacementAlign.START, PlacementAlign.END], safeAreaMargin = 16) {\n super();\n this._mode = mode;\n this._places = places;\n this._aligns = aligns;\n this._safeAreaMargin = safeAreaMargin;\n this._isShown = false;\n }\n\n static get instanceClassName () {\n return 'Placement';\n }\n\n init () {\n this.isResizing = true;\n }\n\n get proxy () {\n const scope = this;\n const proxy = Object.assign(super.proxy, {\n show: scope.show.bind(scope),\n hide: scope.hide.bind(scope)\n });\n\n const proxyAccessors = {\n get mode () {\n return scope.mode;\n },\n set mode (value) {\n scope.mode = value;\n },\n get place () {\n return scope.place;\n },\n set place (value) {\n scope.place = value;\n },\n get align () {\n return scope.align;\n },\n set align (value) {\n scope.align = value;\n },\n get isShown () {\n return scope.isShown;\n },\n set isShown (value) {\n scope.isShown = value;\n }\n };\n\n return completeAssign(proxy, proxyAccessors);\n }\n\n get mode () {\n return this._mode;\n }\n\n set mode (value) {\n this._mode = value;\n }\n\n get place () {\n return this._place;\n }\n\n set place (value) {\n if (this._place === value) return;\n switch (this._place) {\n case PlacementPosition.TOP:\n this.removeClass(PlaceSelector.TOP);\n break;\n\n case PlacementPosition.RIGHT:\n this.removeClass(PlaceSelector.RIGHT);\n break;\n\n case PlacementPosition.BOTTOM:\n this.removeClass(PlaceSelector.BOTTOM);\n break;\n\n case PlacementPosition.LEFT:\n this.removeClass(PlaceSelector.LEFT);\n break;\n }\n this._place = value;\n switch (this._place) {\n case PlacementPosition.TOP:\n this.addClass(PlaceSelector.TOP);\n break;\n\n case PlacementPosition.RIGHT:\n this.addClass(PlaceSelector.RIGHT);\n break;\n\n case PlacementPosition.BOTTOM:\n this.addClass(PlaceSelector.BOTTOM);\n break;\n\n case PlacementPosition.LEFT:\n this.addClass(PlaceSelector.LEFT);\n break;\n }\n }\n\n get align () {\n return this._align;\n }\n\n set align (value) {\n if (this._align === value) return;\n switch (this._align) {\n case PlacementAlign.START:\n this.removeClass(AlignSelector.START);\n break;\n\n case PlacementAlign.CENTER:\n this.removeClass(AlignSelector.CENTER);\n break;\n\n case PlacementAlign.END:\n this.removeClass(AlignSelector.END);\n break;\n }\n this._align = value;\n switch (this._align) {\n case PlacementAlign.START:\n this.addClass(AlignSelector.START);\n break;\n\n case PlacementAlign.CENTER:\n this.addClass(AlignSelector.CENTER);\n break;\n\n case PlacementAlign.END:\n this.addClass(AlignSelector.END);\n break;\n }\n }\n\n show () {\n this.isShown = true;\n }\n\n hide () {\n this.isShown = false;\n }\n\n get isShown () {\n return this._isShown;\n }\n\n set isShown (value) {\n if (this._isShown === value || !this.isEnabled) return;\n this.isRendering = value;\n this._isShown = value;\n }\n\n setReferent (referent) {\n this._referent = referent;\n }\n\n resize () {\n this.safeArea = {\n top: this._safeAreaMargin,\n right: window.innerWidth - this._safeAreaMargin,\n bottom: window.innerHeight - this._safeAreaMargin,\n left: this._safeAreaMargin,\n center: window.innerWidth * 0.5,\n middle: window.innerHeight * 0.5\n };\n }\n\n render () {\n if (!this._referent) return;\n this.rect = this.getRect();\n this.referentRect = this._referent.getRect();\n\n if (this.mode === PlacementMode.AUTO) {\n this.place = this.getPlace();\n switch (this.place) {\n case PlacementPosition.TOP:\n case PlacementPosition.BOTTOM:\n this.align = this.getHorizontalAlign();\n break;\n\n case PlacementPosition.LEFT:\n case PlacementPosition.RIGHT:\n this.align = this.getVerticalAlign();\n }\n }\n\n let x, y;\n\n switch (this.place) {\n case PlacementPosition.TOP:\n y = this.referentRect.top - this.rect.height;\n break;\n\n case PlacementPosition.RIGHT:\n x = this.referentRect.right;\n break;\n\n case PlacementPosition.BOTTOM:\n y = this.referentRect.bottom;\n break;\n\n case PlacementPosition.LEFT:\n x = this.referentRect.left - this.rect.width;\n break;\n }\n\n switch (this.place) {\n case PlacementPosition.TOP:\n case PlacementPosition.BOTTOM:\n switch (this.align) {\n case PlacementAlign.CENTER:\n x = this.referentRect.center - this.rect.width * 0.5;\n break;\n\n case PlacementAlign.START:\n x = this.referentRect.left;\n break;\n\n case PlacementAlign.END:\n x = this.referentRect.right - this.rect.width;\n break;\n }\n break;\n\n case PlacementPosition.RIGHT:\n case PlacementPosition.LEFT:\n switch (this.align) {\n case PlacementAlign.CENTER:\n y = this.referentRect.middle - this.rect.height * 0.5;\n break;\n\n case PlacementAlign.START:\n y = this.referentRect.top;\n break;\n\n case PlacementAlign.END:\n y = this.referentRect.bottom - this.rect.height;\n break;\n }\n break;\n }\n\n if (this._x !== x || this._y !== y) {\n this._x = (x + 0.5) | 0;\n this._y = (y + 0.5) | 0;\n this.node.style.transform = `translate(${this._x}px,${this._y}px)`;\n }\n }\n\n getPlace () {\n for (const place of this._places) {\n switch (place) {\n case PlacementPosition.TOP:\n if (this.referentRect.top - this.rect.height > this.safeArea.top) return PlacementPosition.TOP;\n break;\n\n case PlacementPosition.RIGHT:\n if (this.referentRect.right + this.rect.width < this.safeArea.right) return PlacementPosition.RIGHT;\n break;\n\n case PlacementPosition.BOTTOM:\n if (this.referentRect.bottom + this.rect.height < this.safeArea.bottom) return PlacementPosition.BOTTOM;\n break;\n\n case PlacementPosition.LEFT:\n if (this.referentRect.left - this.rect.width > this.safeArea.left) return PlacementPosition.LEFT;\n break;\n }\n }\n\n return this._places[0];\n }\n\n getHorizontalAlign () {\n for (const align of this._aligns) {\n switch (align) {\n case PlacementAlign.CENTER:\n if (this.referentRect.center - this.rect.width * 0.5 > this.safeArea.left && this.referentRect.center + this.rect.width * 0.5 < this.safeArea.right) return PlacementAlign.CENTER;\n break;\n\n case PlacementAlign.START:\n if (this.referentRect.left + this.rect.width < this.safeArea.right) return PlacementAlign.START;\n break;\n\n case PlacementAlign.END:\n if (this.referentRect.right - this.rect.width > this.safeArea.left) return PlacementAlign.END;\n break;\n }\n }\n\n return this._aligns[0];\n }\n\n getVerticalAlign () {\n for (const align of this._aligns) {\n switch (align) {\n case PlacementAlign.CENTER:\n if (this.referentRect.middle - this.rect.height * 0.5 > this.safeArea.top && this.referentRect.middle + this.rect.height * 0.5 < this.safeArea.bottom) return PlacementAlign.CENTER;\n break;\n\n case PlacementAlign.START:\n if (this.referentRect.top + this.rect.height < this.safeArea.bottom) return PlacementAlign.START;\n break;\n\n case PlacementAlign.END:\n if (this.referentRect.bottom - this.rect.height > this.safeArea.top) return PlacementAlign.END;\n break;\n }\n }\n\n return this._aligns[0];\n }\n\n dispose () {\n this._referent = null;\n super.dispose();\n }\n}\n\nclass PlacementReferent extends Instance {\n constructor () {\n super();\n this._isShown = false;\n }\n\n static get instanceClassName () {\n return 'PlacementReferent';\n }\n\n init () {\n this.registration.creator.setReferent(this);\n this._placement = this.registration.creator;\n }\n\n get placement () {\n return this._placement;\n }\n\n get isShown () {\n return this._isShown;\n }\n\n set isShown (value) {\n if (this._isShown === value || !this.isEnabled) return;\n this._isShown = value;\n if (value) this.registration.creator.show();\n else this.registration.creator.hide();\n }\n\n show () {\n this.isShown = true;\n }\n\n hide () {\n this.isShown = false;\n }\n}\n\napi$1.core = {\n Instance: Instance,\n Breakpoints: Breakpoints,\n KeyCodes: KeyCodes,\n Disclosure: Disclosure,\n DisclosureButton: DisclosureButton,\n DisclosuresGroup: DisclosuresGroup,\n DisclosureType: DisclosureType,\n DisclosureEvent: DisclosureEvent,\n DisclosureSelector: DisclosureSelector,\n DisclosureEmission: DisclosureEmission,\n Collapse: Collapse,\n CollapseButton: CollapseButton,\n CollapsesGroup: CollapsesGroup,\n CollapseSelector: CollapseSelector,\n RootSelector: RootSelector,\n RootEmission: RootEmission,\n Equisized: Equisized,\n EquisizedEmission: EquisizedEmission,\n Toggle: Toggle,\n EquisizedsGroup: EquisizedsGroup,\n InjectSvg: InjectSvg,\n InjectSvgSelector: InjectSvgSelector,\n Artwork: Artwork,\n ArtworkSelector: ArtworkSelector,\n AssessFile: AssessFile,\n AssessDetail: AssessDetail,\n AssessEmission: AssessEmission,\n AssessSelector: AssessSelector,\n Ratio: Ratio,\n RatioSelector: RatioSelector,\n Placement: Placement,\n PlacementReferent: PlacementReferent,\n PlacementAlign: PlacementAlign,\n PlacementPosition: PlacementPosition,\n PlacementMode: PlacementMode\n};\n\napi$1.internals.register(api$1.core.CollapseSelector.COLLAPSE, api$1.core.Collapse);\napi$1.internals.register(api$1.core.InjectSvgSelector.INJECT_SVG, api$1.core.InjectSvg);\napi$1.internals.register(api$1.core.RatioSelector.RATIO, api$1.core.Ratio);\napi$1.internals.register(api$1.core.AssessSelector.ASSESS_FILE, api$1.core.AssessFile);\napi$1.internals.register(api$1.core.AssessSelector.DETAIL, api$1.core.AssessDetail);\n\nconst SchemeValue = {\n SYSTEM: 'system',\n LIGHT: 'light',\n DARK: 'dark'\n};\n\nconst SchemeAttribute = {\n THEME: api.internals.ns.attr('theme'),\n SCHEME: api.internals.ns.attr('scheme'),\n TRANSITION: api.internals.ns.attr('transition')\n};\n\nconst SchemeTheme = {\n LIGHT: 'light',\n DARK: 'dark'\n};\n\nconst SchemeEmission = {\n SCHEME: api.internals.ns.emission('scheme', 'scheme'),\n THEME: api.internals.ns.emission('scheme', 'theme'),\n ASK: api.internals.ns.emission('scheme', 'ask')\n};\n\nconst SchemeEvent = {\n SCHEME: api.internals.ns.event('scheme'),\n THEME: api.internals.ns.event('theme')\n};\n\nclass Scheme extends api.core.Instance {\n constructor () {\n super(false);\n }\n\n static get instanceClassName () {\n return 'Scheme';\n }\n\n init () {\n this.changing = this.change.bind(this);\n\n if (this.hasAttribute(SchemeAttribute.TRANSITION)) {\n this.removeAttribute(SchemeAttribute.TRANSITION);\n this.request(this.restoreTransition.bind(this));\n }\n\n const scheme = api.internals.support.supportLocalStorage() ? localStorage.getItem('scheme') : '';\n const schemeAttr = this.getAttribute(SchemeAttribute.SCHEME);\n\n switch (scheme) {\n case SchemeValue.DARK:\n case SchemeValue.LIGHT:\n case SchemeValue.SYSTEM:\n this.scheme = scheme;\n break;\n\n default:\n switch (schemeAttr) {\n case SchemeValue.DARK:\n this.scheme = SchemeValue.DARK;\n break;\n\n case SchemeValue.LIGHT:\n this.scheme = SchemeValue.LIGHT;\n break;\n\n default:\n this.scheme = SchemeValue.SYSTEM;\n }\n }\n\n this.addAscent(SchemeEmission.ASK, this.ask.bind(this));\n this.addAscent(SchemeEmission.SCHEME, this.apply.bind(this));\n }\n\n get proxy () {\n const scope = this;\n\n const proxyAccessors = {\n get scheme () {\n return scope.scheme;\n },\n set scheme (value) {\n scope.scheme = value;\n }\n };\n\n return api.internals.property.completeAssign(super.proxy, proxyAccessors);\n }\n\n restoreTransition () {\n this.setAttribute(SchemeAttribute.TRANSITION, '');\n }\n\n ask () {\n this.descend(SchemeEmission.SCHEME, this.scheme);\n }\n\n apply (value) {\n this.scheme = value;\n }\n\n get scheme () {\n return this._scheme;\n }\n\n set scheme (value) {\n if (this._scheme === value) return;\n this._scheme = value;\n switch (value) {\n case SchemeValue.SYSTEM:\n this.listenPreferences();\n break;\n\n case SchemeValue.DARK:\n this.unlistenPreferences();\n this.theme = SchemeTheme.DARK;\n break;\n\n case SchemeValue.LIGHT:\n this.unlistenPreferences();\n this.theme = SchemeTheme.LIGHT;\n break;\n\n default:\n this.scheme = SchemeValue.SYSTEM;\n return;\n }\n\n this.descend(SchemeEmission.SCHEME, value);\n if (api.internals.support.supportLocalStorage()) {\n localStorage.setItem('scheme', value);\n }\n this.setAttribute(SchemeAttribute.SCHEME, value);\n this.dispatch(SchemeEvent.SCHEME, { scheme: this._scheme });\n }\n\n get theme () {\n return this._theme;\n }\n\n set theme (value) {\n if (this._theme === value) return;\n switch (value) {\n case SchemeTheme.LIGHT:\n case SchemeTheme.DARK:\n this._theme = value;\n this.setAttribute(SchemeAttribute.THEME, value);\n this.descend(SchemeEmission.THEME, value);\n this.dispatch(SchemeEvent.THEME, { theme: this._theme });\n document.documentElement.style.colorScheme = value === SchemeTheme.DARK ? 'dark' : '';\n break;\n }\n }\n\n listenPreferences () {\n if (this.isListening) return;\n this.isListening = true;\n this.mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n this.mediaQuery.addEventListener('change', this.changing);\n this.change();\n }\n\n unlistenPreferences () {\n if (!this.isListening) return;\n this.isListening = false;\n this.mediaQuery.removeEventListener('change', this.changing);\n this.mediaQuery = null;\n }\n\n change () {\n if (!this.isListening) return;\n this.theme = this.mediaQuery.matches ? SchemeTheme.DARK : SchemeTheme.LIGHT;\n }\n\n mutate (attributeNames) {\n if (attributeNames.indexOf(SchemeAttribute.SCHEME) > -1) this.scheme = this.getAttribute(SchemeAttribute.SCHEME);\n if (attributeNames.indexOf(SchemeAttribute.THEME) > -1) this.theme = this.getAttribute(SchemeAttribute.THEME);\n }\n\n dispose () {\n this.unlistenPreferences();\n }\n}\n\nconst SchemeSelector = {\n SCHEME: `:root${api.internals.ns.attr.selector('theme')}, :root${api.internals.ns.attr.selector('scheme')}`,\n SWITCH_THEME: api.internals.ns.selector('switch-theme'),\n RADIO_BUTTONS: `input[name=\"${api.internals.ns('radios-theme')}\"]`\n};\n\napi.scheme = {\n Scheme: Scheme,\n SchemeValue: SchemeValue,\n SchemeSelector: SchemeSelector,\n SchemeEmission: SchemeEmission,\n SchemeTheme: SchemeTheme,\n SchemeEvent: SchemeEvent\n};\n\napi.internals.register(api.scheme.SchemeSelector.SCHEME, api.scheme.Scheme);\n\nconst ACCORDION = api.internals.ns.selector('accordion');\nconst COLLAPSE$2 = api.internals.ns.selector('collapse');\n\nconst AccordionSelector = {\n GROUP: api.internals.ns.selector('accordions-group'),\n ACCORDION: ACCORDION,\n COLLAPSE: `${ACCORDION} > ${COLLAPSE$2}, ${ACCORDION} > *:not(${ACCORDION}):not(${COLLAPSE$2}) > ${COLLAPSE$2}, ${ACCORDION} > *:not(${ACCORDION}):not(${COLLAPSE$2}) > *:not(${ACCORDION}):not(${COLLAPSE$2}) > ${COLLAPSE$2}`,\n COLLAPSE_LEGACY: `${ACCORDION} ${COLLAPSE$2}`,\n BUTTON: `${ACCORDION}__btn`\n};\n\nclass Accordion extends api.core.Instance {\n static get instanceClassName () {\n return 'Accordion';\n }\n\n get collapsePrimary () {\n const buttons = this.element.children.map(child => child.getInstance('CollapseButton')).filter(button => button !== null && button.hasClass(AccordionSelector.BUTTON));\n return buttons[0];\n }\n}\n\nclass AccordionsGroup extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'AccordionsGroup';\n }\n\n validate (member) {\n const match = member.node.matches(api.internals.legacy.isLegacy ? AccordionSelector.COLLAPSE_LEGACY : AccordionSelector.COLLAPSE);\n return super.validate(member) && match;\n }\n}\n\napi.accordion = {\n Accordion: Accordion,\n AccordionSelector: AccordionSelector,\n AccordionsGroup: AccordionsGroup\n};\n\napi.internals.register(api.accordion.AccordionSelector.GROUP, api.accordion.AccordionsGroup);\napi.internals.register(api.accordion.AccordionSelector.ACCORDION, api.accordion.Accordion);\n\nconst ButtonSelector = {\n EQUISIZED_BUTTON: `${api.internals.ns.selector('btns-group--equisized')} ${api.internals.ns.selector('btn')}`,\n EQUISIZED_GROUP: api.internals.ns.selector('btns-group--equisized')\n};\n\napi.button = {\n ButtonSelector: ButtonSelector\n};\n\napi.internals.register(api.button.ButtonSelector.EQUISIZED_BUTTON, api.core.Equisized);\napi.internals.register(api.button.ButtonSelector.EQUISIZED_GROUP, api.core.EquisizedsGroup);\n\nclass CardDownload extends api.core.Instance {\n static get instanceClassName () {\n return 'CardDownload';\n }\n\n init () {\n this.addAscent(api.core.AssessEmission.UPDATE, details => {\n this.descend(api.core.AssessEmission.UPDATE, details);\n });\n this.addAscent(api.core.AssessEmission.ADDED, () => {\n this.descend(api.core.AssessEmission.ADDED);\n });\n }\n}\n\nconst CardSelector = {\n DOWNLOAD: api.internals.ns.selector('card--download'),\n DOWNLOAD_DETAIL: `${api.internals.ns.selector('card--download')} ${api.internals.ns.selector('card__end')} ${api.internals.ns.selector('card__detail')}`\n};\n\napi.card = {\n CardSelector: CardSelector,\n CardDownload: CardDownload\n};\n\napi.internals.register(api.card.CardSelector.DOWNLOAD, api.card.CardDownload);\napi.internals.register(api.card.CardSelector.DOWNLOAD_DETAIL, api.core.AssessDetail);\n\nconst BreadcrumbSelector = {\n BREADCRUMB: api.internals.ns.selector('breadcrumb'),\n BUTTON: api.internals.ns.selector('breadcrumb__button')\n};\n\nclass Breadcrumb extends api.core.Instance {\n constructor () {\n super();\n this.count = 0;\n this.focusing = this.focus.bind(this);\n }\n\n static get instanceClassName () {\n return 'Breadcrumb';\n }\n\n init () {\n this.getCollapse();\n this.isResizing = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n focus: scope.focus.bind(scope),\n disclose: scope.collapse.disclose.bind(scope.collapse)\n });\n }\n\n getCollapse () {\n const collapse = this.collapse;\n if (collapse) {\n collapse.listen(api.core.DisclosureEvent.DISCLOSE, this.focusing);\n } else {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.getCollapse.bind(this));\n }\n }\n\n resize () {\n const collapse = this.collapse;\n const links = this.links;\n if (!collapse || !links.length) return;\n\n if (this.isBreakpoint(api.core.Breakpoints.MD)) {\n if (collapse.buttonHasFocus) links[0].focus();\n } else {\n if (links.indexOf(document.activeElement) > -1) collapse.focus();\n }\n }\n\n get links () {\n return [...this.querySelectorAll('a[href]')];\n }\n\n get collapse () {\n return this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n }\n\n focus () {\n this.count = 0;\n this._focus();\n }\n\n _focus () {\n const link = this.links[0];\n if (!link) return;\n link.focus();\n this.request(this.verify.bind(this));\n }\n\n verify () {\n this.count++;\n if (this.count > 100) return;\n const link = this.links[0];\n if (!link) return;\n if (document.activeElement !== link) this._focus();\n }\n\n get collapsePrimary () {\n const buttons = this.element.children.map(child => child.getInstance('CollapseButton')).filter(button => button !== null && button.hasClass(BreadcrumbSelector.BUTTON));\n return buttons[0];\n }\n}\n\napi.breadcrumb = {\n BreadcrumbSelector: BreadcrumbSelector,\n Breadcrumb: Breadcrumb\n};\n\napi.internals.register(api.breadcrumb.BreadcrumbSelector.BREADCRUMB, api.breadcrumb.Breadcrumb);\n\nconst TooltipSelector = {\n TOOLTIP: api.internals.ns.selector('tooltip'),\n SHOWN: api.internals.ns.selector('tooltip--shown'),\n BUTTON: api.internals.ns.selector('btn--tooltip')\n};\n\nconst TooltipReferentState = {\n FOCUS: 1 << 0,\n HOVER: 1 << 1\n};\n\nclass TooltipReferent extends api.core.PlacementReferent {\n constructor () {\n super();\n this._state = 0;\n }\n\n static get instanceClassName () {\n return 'TooltipReferent';\n }\n\n init () {\n super.init();\n this.listen('focusin', this.focusIn.bind(this));\n this.listen('focusout', this.focusOut.bind(this));\n if (!this.matches(TooltipSelector.BUTTON)) {\n const mouseover = this.mouseover.bind(this);\n this.listen('mouseover', mouseover);\n this.placement.listen('mouseover', mouseover);\n const mouseout = this.mouseout.bind(this);\n this.listen('mouseout', mouseout);\n this.placement.listen('mouseout', mouseout);\n }\n this.addEmission(api.core.RootEmission.KEYDOWN, this._keydown.bind(this));\n this.listen('click', this._click.bind(this));\n this.addEmission(api.core.RootEmission.CLICK, this._clickOut.bind(this));\n }\n\n _click () {\n this.focus();\n }\n\n _clickOut (target) {\n if (!this.node.contains(target)) this.blur();\n }\n\n _keydown (keyCode) {\n switch (keyCode) {\n case api.core.KeyCodes.ESCAPE:\n this.blur();\n this.close();\n break;\n }\n }\n\n close () {\n this.state = 0;\n }\n\n get state () {\n return this._state;\n }\n\n set state (value) {\n if (this._state === value) return;\n this.isShown = value > 0;\n this._state = value;\n }\n\n focusIn () {\n this.state |= TooltipReferentState.FOCUS;\n }\n\n focusOut () {\n this.state &= ~TooltipReferentState.FOCUS;\n }\n\n mouseover () {\n this.state |= TooltipReferentState.HOVER;\n }\n\n mouseout () {\n this.state &= ~TooltipReferentState.HOVER;\n }\n}\n\nconst TooltipEvent = {\n SHOW: ns.event('show'),\n HIDE: ns.event('hide')\n};\n\nconst TooltipState = {\n HIDDEN: 'hidden',\n SHOWN: 'shown',\n HIDING: 'hiding'\n};\n\nclass Tooltip extends api.core.Placement {\n constructor () {\n super(api.core.PlacementMode.AUTO, [api.core.PlacementPosition.TOP, api.core.PlacementPosition.BOTTOM], [api.core.PlacementAlign.CENTER, api.core.PlacementAlign.START, api.core.PlacementAlign.END]);\n this.modifier = '';\n this._state = TooltipState.HIDDEN;\n }\n\n static get instanceClassName () {\n return 'Tooltip';\n }\n\n init () {\n super.init();\n this.register(`[aria-describedby=\"${this.id}\"]`, TooltipReferent);\n this.listen('transitionend', this.transitionEnd.bind(this));\n }\n\n transitionEnd () {\n if (this._state === TooltipState.HIDING) {\n this._state = TooltipState.HIDDEN;\n this.isShown = false;\n }\n }\n\n get isShown () {\n return super.isShown;\n }\n\n set isShown (value) {\n if (!this.isEnabled) return;\n switch (true) {\n case value:\n this._state = TooltipState.SHOWN;\n this.addClass(TooltipSelector.SHOWN);\n this.dispatch(TooltipEvent.SHOW);\n super.isShown = true;\n break;\n\n case this.isShown && !value && this._state === TooltipState.SHOWN:\n this._state = TooltipState.HIDING;\n this.removeClass(TooltipSelector.SHOWN);\n break;\n\n case this.isShown && !value && this._state === TooltipState.HIDDEN:\n this.dispatch(TooltipEvent.HIDE);\n super.isShown = false;\n break;\n }\n }\n\n render () {\n super.render();\n let x = this.referentRect.center - this.rect.center;\n const limit = this.rect.width * 0.5 - 8;\n if (x < -limit) x = -limit;\n if (x > limit) x = limit;\n this.setProperty('--arrow-x', `${x.toFixed(2)}px`);\n }\n}\n\napi.tooltip = {\n Tooltip: Tooltip,\n TooltipSelector: TooltipSelector,\n TooltipEvent: TooltipEvent\n};\n\napi.internals.register(api.tooltip.TooltipSelector.TOOLTIP, api.tooltip.Tooltip);\n\nclass ToggleInput extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleInput';\n }\n\n get isChecked () {\n return this.node.checked;\n }\n}\n\nclass ToggleStatusLabel extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleStatusLabel';\n }\n\n init () {\n this.register(`input[id=\"${this.getAttribute('for')}\"]`, ToggleInput);\n this.update();\n this.isSwappingFont = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n update: scope.update.bind(scope)\n });\n }\n\n get input () {\n return this.getRegisteredInstances('ToggleInput')[0];\n }\n\n update () {\n this.node.style.removeProperty('--toggle-status-width');\n const checked = this.input.isChecked;\n\n const style = getComputedStyle(this.node, ':before');\n let maxWidth = parseFloat(style.width);\n this.input.node.checked = !checked;\n\n const style2 = getComputedStyle(this.node, ':before');\n const width = parseFloat(style2.width);\n if (width > maxWidth) maxWidth = width;\n this.input.node.checked = checked;\n\n this.node.style.setProperty('--toggle-status-width', (maxWidth / 16) + 'rem');\n }\n\n swapFont (families) {\n this.update();\n }\n}\n\nconst ToggleSelector = {\n STATUS_LABEL: `${api.internals.ns.selector('toggle__label')}${api.internals.ns.attr.selector('checked-label')}${api.internals.ns.attr.selector('unchecked-label')}`\n};\n\n// import { ToggleInput } from './script/toggle/toggle-input.js';\n\napi.toggle = {\n ToggleStatusLabel: ToggleStatusLabel,\n ToggleSelector: ToggleSelector\n};\n\napi.internals.register(api.toggle.ToggleSelector.STATUS_LABEL, api.toggle.ToggleStatusLabel);\n\nconst ITEM$1 = api.internals.ns.selector('sidemenu__item');\nconst COLLAPSE$1 = api.internals.ns.selector('collapse');\n\nconst SidemenuSelector = {\n LIST: api.internals.ns.selector('sidemenu__list'),\n COLLAPSE: `${ITEM$1} > ${COLLAPSE$1}, ${ITEM$1} > *:not(${ITEM$1}):not(${COLLAPSE$1}) > ${COLLAPSE$1}, ${ITEM$1} > *:not(${ITEM$1}):not(${COLLAPSE$1}) > *:not(${ITEM$1}):not(${COLLAPSE$1}) > ${COLLAPSE$1}`,\n COLLAPSE_LEGACY: `${ITEM$1} ${COLLAPSE$1}`,\n ITEM: api.internals.ns.selector('sidemenu__item'),\n BUTTON: api.internals.ns.selector('sidemenu__btn')\n};\n\nclass SidemenuList extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'SidemenuList';\n }\n\n validate (member) {\n return super.validate(member) && member.node.matches(api.internals.legacy.isLegacy ? SidemenuSelector.COLLAPSE_LEGACY : SidemenuSelector.COLLAPSE);\n }\n}\n\nclass SidemenuItem extends api.core.Instance {\n static get instanceClassName () {\n return 'SidemenuItem';\n }\n\n get collapsePrimary () {\n const buttons = this.element.children.map(child => child.getInstance('CollapseButton')).filter(button => button !== null && button.hasClass(SidemenuSelector.BUTTON));\n return buttons[0];\n }\n}\n\napi.sidemenu = {\n SidemenuList: SidemenuList,\n SidemenuItem: SidemenuItem,\n SidemenuSelector: SidemenuSelector\n};\n\napi.internals.register(api.sidemenu.SidemenuSelector.LIST, api.sidemenu.SidemenuList);\napi.internals.register(api.sidemenu.SidemenuSelector.ITEM, api.sidemenu.SidemenuItem);\n\nconst ModalSelector = {\n MODAL: api.internals.ns.selector('modal'),\n SCROLL_DIVIDER: api.internals.ns.selector('scroll-divider'),\n BODY: api.internals.ns.selector('modal__body'),\n TITLE: api.internals.ns.selector('modal__title')\n};\n\nclass ModalButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.OPENED);\n }\n\n static get instanceClassName () {\n return 'ModalButton';\n }\n}\n\nconst ModalAttribute = {\n CONCEALING_BACKDROP: api.internals.ns.attr('concealing-backdrop')\n};\n\nclass Modal extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.OPENED, ModalSelector.MODAL, ModalButton, 'ModalsGroup');\n this._isActive = false;\n this.scrolling = this.resize.bind(this, false);\n this.resizing = this.resize.bind(this, true);\n }\n\n static get instanceClassName () {\n return 'Modal';\n }\n\n init () {\n super.init();\n this._isDialog = this.node.tagName === 'DIALOG';\n this.isScrolling = false;\n this.listenClick();\n this.addEmission(api.core.RootEmission.KEYDOWN, this._keydown.bind(this));\n }\n\n _keydown (keyCode) {\n switch (keyCode) {\n case api.core.KeyCodes.ESCAPE:\n this._escape();\n break;\n }\n }\n\n // TODO v2 : passer les tagName d'action en constante\n _escape () {\n const tagName = document.activeElement ? document.activeElement.tagName : undefined;\n\n switch (tagName) {\n case 'INPUT':\n case 'LABEL':\n case 'TEXTAREA':\n case 'SELECT':\n case 'AUDIO':\n case 'VIDEO':\n break;\n\n default:\n if (this.isDisclosed) {\n this.conceal();\n this.focus();\n }\n }\n }\n\n retrieved () {\n this._ensureAccessibleName();\n }\n\n get body () {\n return this.element.getDescendantInstances('ModalBody', 'Modal')[0];\n }\n\n handleClick (e) {\n if (e.target === this.node && this.getAttribute(ModalAttribute.CONCEALING_BACKDROP) !== 'false') this.conceal();\n }\n\n disclose (withhold) {\n if (!super.disclose(withhold)) return false;\n if (this.body) this.body.activate();\n this.isScrollLocked = true;\n this.setAttribute('aria-modal', 'true');\n this.setAttribute('open', 'true');\n if (!this._isDialog) {\n this.activateModal();\n }\n return true;\n }\n\n conceal (withhold, preventFocus) {\n if (!super.conceal(withhold, preventFocus)) return false;\n this.isScrollLocked = false;\n this.removeAttribute('aria-modal');\n this.removeAttribute('open');\n if (this.body) this.body.deactivate();\n if (!this._isDialog) {\n this.deactivateModal();\n }\n return true;\n }\n\n get isDialog () {\n return this._isDialog;\n }\n\n set isDialog (value) {\n this._isDialog = value;\n }\n\n activateModal () {\n if (this._isActive) return;\n this._isActive = true;\n this._hasDialogRole = this.getAttribute('role') === 'dialog';\n if (!this._hasDialogRole) this.setAttribute('role', 'dialog');\n }\n\n deactivateModal () {\n if (!this._isActive) return;\n this._isActive = false;\n if (!this._hasDialogRole) this.removeAttribute('role');\n }\n\n _setAccessibleName (node, append) {\n const id = this.retrieveNodeId(node, append);\n this.warn(`add reference to ${append} for accessible name (aria-labelledby)`);\n this.setAttribute('aria-labelledby', id);\n }\n\n _ensureAccessibleName () {\n if (this.hasAttribute('aria-labelledby') || this.hasAttribute('aria-label')) return;\n this.warn('missing accessible name');\n const title = this.node.querySelector(ModalSelector.TITLE);\n const primary = this.primaryButtons[0];\n\n switch (true) {\n case title !== null:\n this._setAccessibleName(title, 'title');\n break;\n\n case primary !== undefined:\n this.warn('missing required title, fallback to primary button');\n this._setAccessibleName(primary, 'primary');\n break;\n }\n }\n}\n\nconst unordereds = [\n '[tabindex=\"0\"]',\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n 'iframe'\n];\n\nconst UNORDEREDS = unordereds.join();\n\nconst ordereds = [\n '[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])'\n];\n\nconst ORDEREDS = ordereds.join();\n\nconst isFocusable = (element, container) => {\n if (!(element instanceof Element)) return false;\n const style = window.getComputedStyle(element);\n if (!style) return false;\n if (style.visibility === 'hidden') return false;\n if (container === undefined) container = element;\n\n while (container.contains(element)) {\n if (style.display === 'none') return false;\n element = element.parentElement;\n }\n\n return true;\n};\n\nclass FocusTrap {\n constructor (onTrap, onUntrap) {\n this.element = null;\n this.activeElement = null;\n this.onTrap = onTrap;\n this.onUntrap = onUntrap;\n this.waiting = this.wait.bind(this);\n this.handling = this.handle.bind(this);\n this.focusing = this.maintainFocus.bind(this);\n this.current = null;\n }\n\n get trapped () { return this.element !== null; }\n\n trap (element) {\n if (this.trapped) this.untrap();\n\n this.element = element;\n this.isTrapping = true;\n this.wait();\n\n if (this.onTrap) this.onTrap();\n }\n\n wait () {\n if (!isFocusable(this.element)) {\n window.requestAnimationFrame(this.waiting);\n return;\n }\n\n this.trapping();\n }\n\n trapping () {\n if (!this.isTrapping) return;\n this.isTrapping = false;\n const focusables = this.focusables;\n if (focusables.length && focusables.indexOf(document.activeElement) === -1) focusables[0].focus();\n this.element.setAttribute('aria-modal', true);\n window.addEventListener('keydown', this.handling);\n document.body.addEventListener('focus', this.focusing, true);\n }\n\n stun (node) {\n for (const child of node.children) {\n if (child === this.element) continue;\n if (child.contains(this.element)) {\n this.stun(child);\n continue;\n }\n this.stunneds.push(new Stunned(child));\n }\n }\n\n maintainFocus (event) {\n if (!this.element.contains(event.target)) {\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n const first = focusables[0];\n event.preventDefault();\n first.focus();\n }\n }\n\n handle (e) {\n if (e.keyCode !== 9) return;\n\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n const index = focusables.indexOf(document.activeElement);\n\n if (e.shiftKey) {\n if (!this.element.contains(document.activeElement) || index < 1) {\n e.preventDefault();\n last.focus();\n } else if (document.activeElement.tabIndex > 0 || focusables[index - 1].tabIndex > 0) {\n e.preventDefault();\n focusables[index - 1].focus();\n }\n } else {\n if (!this.element.contains(document.activeElement) || index === focusables.length - 1 || index === -1) {\n e.preventDefault();\n first.focus();\n } else if (document.activeElement.tabIndex > 0) {\n e.preventDefault();\n focusables[index + 1].focus();\n }\n }\n }\n\n get focusables () {\n let unordereds = api.internals.dom.querySelectorAllArray(this.element, UNORDEREDS);\n\n /**\n * filtrage des radiobutttons de même name (la navigations d'un groupe de radio se fait à la flèche et non pas au tab\n **/\n const radios = api.internals.dom.querySelectorAllArray(document.documentElement, 'input[type=\"radio\"]');\n\n if (radios.length) {\n const groups = {};\n\n for (const radio of radios) {\n const name = radio.getAttribute('name');\n if (groups[name] === undefined) groups[name] = new RadioButtonGroup(name);\n groups[name].push(radio);\n }\n\n unordereds = unordereds.filter((unordered) => {\n if (unordered.tagName.toLowerCase() !== 'input' || unordered.getAttribute('type').toLowerCase() !== 'radio') return true;\n const name = unordered.getAttribute('name');\n return groups[name].keep(unordered);\n });\n }\n\n const ordereds = api.internals.dom.querySelectorAllArray(this.element, ORDEREDS);\n\n ordereds.sort((a, b) => a.tabIndex - b.tabIndex);\n\n const noDuplicates = unordereds.filter((element) => ordereds.indexOf(element) === -1);\n const concateneds = ordereds.concat(noDuplicates);\n return concateneds.filter((element) => element.tabIndex !== '-1' && isFocusable(element, this.element));\n }\n\n untrap () {\n if (!this.trapped) return;\n this.isTrapping = false;\n\n this.element.removeAttribute('aria-modal');\n window.removeEventListener('keydown', this.handling);\n document.body.removeEventListener('focus', this.focusing, true);\n\n this.element = null;\n\n if (this.onUntrap) this.onUntrap();\n }\n\n dispose () {\n this.untrap();\n }\n}\n\nclass Stunned {\n constructor (element) {\n this.element = element;\n // this.hidden = element.getAttribute('aria-hidden');\n this.inert = element.getAttribute('inert');\n\n // this.element.setAttribute('aria-hidden', true);\n this.element.setAttribute('inert', '');\n }\n\n unstun () {\n /*\n if (this.hidden === null) this.element.removeAttribute('aria-hidden');\n else this.element.setAttribute('aria-hidden', this.hidden);\n */\n\n if (this.inert === null) this.element.removeAttribute('inert');\n else this.element.setAttribute('inert', this.inert);\n }\n}\n\nclass RadioButtonGroup {\n constructor (name) {\n this.name = name;\n this.buttons = [];\n }\n\n push (button) {\n this.buttons.push(button);\n if (button === document.activeElement || button.checked || this.selected === undefined) this.selected = button;\n }\n\n keep (button) {\n return this.selected === button;\n }\n}\n\nclass ModalsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('Modal', false);\n this.focusTrap = new FocusTrap();\n }\n\n static get instanceClassName () {\n return 'ModalsGroup';\n }\n\n apply (value, initial) {\n super.apply(value, initial);\n if (this.current === null) this.focusTrap.untrap();\n else this.focusTrap.trap(this.current.node);\n }\n}\n\nconst OFFSET = 32; // 32px => 8v => 2rem\n\nclass ModalBody extends api.core.Instance {\n static get instanceClassName () {\n return 'ModalBody';\n }\n\n init () {\n this.listen('scroll', this.divide.bind(this));\n }\n\n activate () {\n this.isResizing = true;\n this.resize();\n }\n\n deactivate () {\n this.isResizing = false;\n }\n\n divide () {\n if (this.node.scrollHeight > this.node.clientHeight) {\n if (this.node.offsetHeight + this.node.scrollTop >= this.node.scrollHeight) {\n this.removeClass(ModalSelector.SCROLL_DIVIDER);\n } else {\n this.addClass(ModalSelector.SCROLL_DIVIDER);\n }\n } else {\n this.removeClass(ModalSelector.SCROLL_DIVIDER);\n }\n }\n\n resize () {\n this.adjust();\n this.request(this.adjust.bind(this));\n }\n\n adjust () {\n const offset = OFFSET * (this.isBreakpoint(api.core.Breakpoints.MD) ? 2 : 1);\n if (this.isLegacy) this.style.maxHeight = `${window.innerHeight - offset}px`;\n else this.style.setProperty('--modal-max-height', `${window.innerHeight - offset}px`);\n this.divide();\n }\n}\n\napi.modal = {\n Modal: Modal,\n ModalButton: ModalButton,\n ModalBody: ModalBody,\n ModalsGroup: ModalsGroup,\n ModalSelector: ModalSelector\n};\n\napi.internals.register(api.modal.ModalSelector.MODAL, api.modal.Modal);\napi.internals.register(api.modal.ModalSelector.BODY, api.modal.ModalBody);\napi.internals.register(api.core.RootSelector.ROOT, api.modal.ModalsGroup);\n\nconst PasswordEmission = {\n TOGGLE: api.internals.ns.emission('password', 'toggle'),\n ADJUST: api.internals.ns.emission('password', 'adjust')\n};\n\nclass PasswordToggle extends api.core.Instance {\n static get instanceClassName () {\n return 'PasswordToggle';\n }\n\n init () {\n this.listenClick();\n this.ascend(PasswordEmission.ADJUST, this.width);\n this.isSwappingFont = true;\n this._isChecked = this.isChecked;\n }\n\n get width () {\n const style = getComputedStyle(this.node.parentNode);\n return parseInt(style.width);\n }\n\n get isChecked () {\n return this.node.checked;\n }\n\n set isChecked (value) {\n this._isChecked = value;\n this.ascend(PasswordEmission.TOGGLE, value);\n }\n\n handleClick () {\n this.isChecked = !this._isChecked;\n }\n\n swapFont (families) {\n this.ascend(PasswordEmission.ADJUST, this.width);\n }\n}\n\nclass Password extends api.core.Instance {\n static get instanceClassName () {\n return 'Password';\n }\n\n init () {\n this.addAscent(PasswordEmission.TOGGLE, this.toggle.bind(this));\n this.addAscent(PasswordEmission.ADJUST, this.adjust.bind(this));\n }\n\n toggle (value) {\n this.descend(PasswordEmission.TOGGLE, value);\n }\n\n adjust (value) {\n this.descend(PasswordEmission.ADJUST, value);\n }\n}\n\nconst PasswordSelector = {\n PASSWORD: api.internals.ns.selector('password'),\n INPUT: api.internals.ns.selector('password__input'),\n LABEL: api.internals.ns.selector('password__label'),\n TOOGLE: `${api.internals.ns.selector('password__checkbox')} input[type=\"checkbox\"]`\n};\n\nclass PasswordInput extends api.core.Instance {\n static get instanceClassName () {\n return 'PasswordInput';\n }\n\n init () {\n this.addDescent(PasswordEmission.TOGGLE, this.toggle.bind(this));\n this._isRevealed = this.hasAttribute('type') === 'password';\n this.listen('keydown', this.capslock.bind(this)); // for capslock enabled\n this.listen('keyup', this.capslock.bind(this)); // for capslock desabled\n }\n\n toggle (value) {\n this.isRevealed = value;\n this.setAttribute('type', value ? 'text' : 'password');\n }\n\n get isRevealed () {\n return this._isRevealed;\n }\n\n capslock (event) {\n if (event && typeof event.getModifierState !== 'function') return;\n if (event.getModifierState('CapsLock')) {\n this.node.parentNode.setAttribute(api.internals.ns.attr('capslock'), '');\n } else {\n this.node.parentNode.removeAttribute(api.internals.ns.attr('capslock'));\n }\n }\n\n set isRevealed (value) {\n this._isRevealed = value;\n this.setAttribute('type', value ? 'text' : 'password');\n }\n}\n\nclass PasswordLabel extends api.core.Instance {\n static get instanceClassName () {\n return 'PasswordLabel';\n }\n\n init () {\n this.addDescent(PasswordEmission.ADJUST, this.adjust.bind(this));\n }\n\n adjust (value) {\n const valueREM = Math.ceil(value / 16);\n this.node.style.paddingRight = valueREM + 'rem';\n }\n}\n\napi.password = {\n Password: Password,\n PasswordToggle: PasswordToggle,\n PasswordSelector: PasswordSelector,\n PasswordInput: PasswordInput,\n PasswordLabel: PasswordLabel\n};\n\napi.internals.register(api.password.PasswordSelector.INPUT, api.password.PasswordInput);\napi.internals.register(api.password.PasswordSelector.PASSWORD, api.password.Password);\napi.internals.register(api.password.PasswordSelector.TOOGLE, api.password.PasswordToggle);\napi.internals.register(api.password.PasswordSelector.LABEL, api.password.PasswordLabel);\n\nconst ITEM = api.internals.ns.selector('nav__item');\nconst COLLAPSE = api.internals.ns.selector('collapse');\n\nconst NavigationSelector = {\n NAVIGATION: api.internals.ns.selector('nav'),\n COLLAPSE: `${ITEM} > ${COLLAPSE}, ${ITEM} > *:not(${ITEM}):not(${COLLAPSE}) > ${COLLAPSE}, ${ITEM} > *:not(${ITEM}):not(${COLLAPSE}) > *:not(${ITEM}):not(${COLLAPSE}) > ${COLLAPSE}`,\n COLLAPSE_LEGACY: `${ITEM} ${COLLAPSE}`,\n ITEM: ITEM,\n ITEM_RIGHT: `${ITEM}--align-right`,\n MENU: api.internals.ns.selector('menu'),\n BUTTON: api.internals.ns.selector('nav__btn'),\n TRANSLATE_BUTTON: api.internals.ns.selector('translate__btn')\n};\n\nclass NavigationItem extends api.core.Instance {\n constructor () {\n super();\n this._isRightAligned = false;\n }\n\n static get instanceClassName () {\n return 'NavigationItem';\n }\n\n init () {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.calculate.bind(this));\n this.addAscent(api.core.DisclosureEmission.REMOVED, this.calculate.bind(this));\n this.isResizing = true;\n this.calculate();\n }\n\n resize () {\n this.calculate();\n }\n\n calculate () {\n const collapse = this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n if (collapse && this.isBreakpoint(api.core.Breakpoints.LG) && collapse.element.node.matches(NavigationSelector.MENU)) {\n const right = this.element.node.parentElement.getBoundingClientRect().right; // todo: ne fonctionne que si la nav fait 100% du container\n const width = collapse.element.node.getBoundingClientRect().width;\n const left = this.element.node.getBoundingClientRect().left;\n this.isRightAligned = left + width > right;\n } else this.isRightAligned = false;\n }\n\n get isRightAligned () {\n return this._isRightAligned;\n }\n\n set isRightAligned (value) {\n if (this._isRightAligned === value) return;\n this._isRightAligned = value;\n if (value) api.internals.dom.addClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n else api.internals.dom.removeClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n }\n\n get collapsePrimary () {\n const buttons = this.element.children.map(child => child.getInstance('CollapseButton')).filter(button => button !== null && (button.hasClass(NavigationSelector.BUTTON) || button.hasClass(NavigationSelector.TRANSLATE_BUTTON)));\n return buttons[0];\n }\n}\n\nconst NavigationMousePosition = {\n NONE: -1,\n INSIDE: 0,\n OUTSIDE: 1\n};\n\nclass Navigation extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'Navigation';\n }\n\n init () {\n super.init();\n this.clicked = false;\n this.out = false;\n this.listen('focusout', this.focusOutHandler.bind(this));\n this.listen('mousedown', this.mouseDownHandler.bind(this));\n this.listenClick({ capture: true });\n }\n\n validate (member) {\n return super.validate(member) && member.element.node.matches(api.internals.legacy.isLegacy ? NavigationSelector.COLLAPSE_LEGACY : NavigationSelector.COLLAPSE);\n }\n\n mouseDownHandler (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG) || this.index === -1 || !this.current) return;\n this.position = this.current.node.contains(e.target) ? NavigationMousePosition.INSIDE : NavigationMousePosition.OUTSIDE;\n this.requestPosition();\n }\n\n clickHandler (e) {\n if (e.target.matches('a, button') && !e.target.matches('[aria-controls]') && !e.target.matches(api.core.DisclosureSelector.PREVENT_CONCEAL)) this.index = -1;\n }\n\n focusOutHandler (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG)) return;\n this.out = true;\n this.requestPosition();\n }\n\n requestPosition () {\n if (this.isRequesting) return;\n this.isRequesting = true;\n this.request(this.getPosition.bind(this));\n }\n\n getPosition () {\n if (this.out) {\n switch (this.position) {\n case NavigationMousePosition.OUTSIDE:\n this.index = -1;\n break;\n\n case NavigationMousePosition.INSIDE:\n if (this.current && !this.current.node.contains(document.activeElement)) this.current.focus();\n break;\n\n default:\n if (this.index > -1 && !this.current.hasFocus) this.index = -1;\n }\n }\n\n this.request(this.requested.bind(this));\n }\n\n requested () {\n this.position = NavigationMousePosition.NONE;\n this.out = false;\n this.isRequesting = false;\n }\n\n get index () { return super.index; }\n\n set index (value) {\n if (value === -1 && this.current && this.current.hasFocus) this.current.focus();\n super.index = value;\n }\n}\n\napi.navigation = {\n Navigation: Navigation,\n NavigationItem: NavigationItem,\n NavigationMousePosition: NavigationMousePosition,\n NavigationSelector: NavigationSelector\n};\n\napi.internals.register(api.navigation.NavigationSelector.NAVIGATION, api.navigation.Navigation);\napi.internals.register(api.navigation.NavigationSelector.ITEM, api.navigation.NavigationItem);\n\n/**\n * TabButton correspond au bouton cliquable qui change le panel\n * TabButton étend de DisclosureButton qui ajoute/enelve l'attribut aria-selected,\n * Et change l'attributte tabindex a 0 si le boutton est actif (value=true), -1 s'il n'est pas actif (value=false)\n */\nclass TabButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.SELECT);\n }\n\n static get instanceClassName () {\n return 'TabButton';\n }\n\n handleClick (e) {\n super.handleClick(e);\n this.focus();\n }\n\n apply (value) {\n super.apply(value);\n if (this.isPrimary) {\n this.setAttribute('tabindex', value ? '0' : '-1');\n if (value) {\n if (this.list) this.list.focalize(this);\n }\n }\n }\n\n get list () {\n return this.element.getAscendantInstance('TabsList', 'TabsGroup');\n }\n}\n\nconst TabSelector = {\n TAB: api.internals.ns.selector('tabs__tab'),\n GROUP: api.internals.ns.selector('tabs'),\n PANEL: api.internals.ns.selector('tabs__panel'),\n LIST: api.internals.ns.selector('tabs__list'),\n SHADOW: api.internals.ns.selector('tabs__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('tabs__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('tabs__shadow--right'),\n PANEL_START: api.internals.ns.selector('tabs__panel--direction-start'),\n PANEL_END: api.internals.ns.selector('tabs__panel--direction-end')\n};\n\nconst TabPanelDirection = {\n START: 'direction-start',\n END: 'direction-end',\n NONE: 'none'\n};\n\n/**\n * Tab coorespond au panel d'un élement Tabs (tab panel)\n * Tab étend disclosure qui ajoute/enleve le modifier --selected,\n * et ajoute/eleve l'attribut hidden, sur le panel\n */\nclass TabPanel extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.SELECT, TabSelector.PANEL, TabButton, 'TabsGroup');\n this._direction = TabPanelDirection.NONE;\n this._isPreventingTransition = false;\n }\n\n static get instanceClassName () {\n return 'TabPanel';\n }\n\n get direction () {\n return this._direction;\n }\n\n set direction (value) {\n if (value === this._direction) return;\n switch (this._direction) {\n case TabPanelDirection.START:\n this.removeClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.removeClass(TabSelector.PANEL_END);\n break;\n\n case TabPanelDirection.NONE:\n break;\n\n default:\n return;\n }\n\n this._direction = value;\n\n switch (this._direction) {\n case TabPanelDirection.START:\n this.addClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.addClass(TabSelector.PANEL_END);\n break;\n }\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n translate (direction, initial) {\n this.isPreventingTransition = initial;\n this.direction = direction;\n }\n\n reset () {\n if (this.group) this.group.retrieve(true);\n }\n\n _electPrimaries (candidates) {\n if (!this.group || !this.group.list) return [];\n return super._electPrimaries(candidates).filter(candidate => this.group.list.node.contains(candidate.node));\n }\n}\n\nconst TabKeys = {\n LEFT: 'tab_keys_left',\n RIGHT: 'tab_keys_right',\n HOME: 'tab_keys_home',\n END: 'tab_keys_end'\n};\n\nconst TabEmission = {\n PRESS_KEY: api.internals.ns.emission('tab', 'press_key'),\n LIST_HEIGHT: api.internals.ns.emission('tab', 'list_height')\n};\n\n/**\n* TabGroup est la classe étendue de DiscosuresGroup\n* Correspond à un objet Tabs avec plusieurs tab-button & Tab (panel)\n*/\nclass TabsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('TabPanel');\n }\n\n static get instanceClassName () {\n return 'TabsGroup';\n }\n\n init () {\n super.init();\n\n this.listen('transitionend', this.transitionend.bind(this));\n this.addAscent(TabEmission.PRESS_KEY, this.pressKey.bind(this));\n this.addAscent(TabEmission.LIST_HEIGHT, this.setListHeight.bind(this));\n this.isRendering = true;\n }\n\n getIndex (defaultIndex = 0) {\n super.getIndex(defaultIndex);\n }\n\n get list () {\n return this.element.getDescendantInstances('TabsList', 'TabsGroup', true)[0];\n }\n\n setListHeight (value) {\n this.listHeight = value;\n }\n\n transitionend (e) {\n this.isPreventingTransition = true;\n }\n\n get buttonHasFocus () {\n return this.members.some(member => member.buttonHasFocus);\n }\n\n pressKey (key) {\n switch (key) {\n case TabKeys.LEFT:\n this.pressLeft();\n break;\n\n case TabKeys.RIGHT:\n this.pressRight();\n break;\n\n case TabKeys.HOME:\n this.pressHome();\n break;\n\n case TabKeys.END:\n this.pressEnd();\n break;\n }\n }\n\n /**\n * Selectionne l'element suivant de la liste si on est sur un bouton\n * Si on est à la fin on retourne au début\n */\n pressRight () {\n if (this.buttonHasFocus) {\n if (this.index < this.length - 1) {\n this.index++;\n } else {\n this.index = 0;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne l'element précédent de la liste si on est sur un bouton\n * Si on est au debut retourne a la fin\n */\n pressLeft () {\n if (this.buttonHasFocus) {\n if (this.index > 0) {\n this.index--;\n } else {\n this.index = this.length - 1;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne le permier element de la liste si on est sur un bouton\n */\n pressHome () {\n if (this.buttonHasFocus) {\n this.index = 0;\n this.focus();\n }\n };\n\n /**\n * Selectionne le dernier element de la liste si on est sur un bouton\n */\n pressEnd () {\n if (this.buttonHasFocus) {\n this.index = this.length - 1;\n this.focus();\n }\n };\n\n focus () {\n if (this.current) {\n this.current.focus();\n }\n }\n\n apply () {\n for (let i = 0; i < this._index; i++) this.members[i].translate(TabPanelDirection.START);\n if (this.current) this.current.translate(TabPanelDirection.NONE);\n for (let i = this._index + 1; i < this.length; i++) this.members[i].translate(TabPanelDirection.END);\n this.isPreventingTransition = false;\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n render () {\n if (this.current === null) return;\n this.node.scrollTop = 0;\n this.node.scrollLeft = 0;\n const paneHeight = Math.round(this.current.node.offsetHeight);\n if (this.panelHeight === paneHeight) return;\n this.panelHeight = paneHeight;\n this.style.setProperty('--tabs-height', (this.panelHeight + this.listHeight) + 'px');\n }\n}\n\nconst FOCALIZE_OFFSET = 16;\nconst SCROLL_OFFSET$1 = 16; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TabsList extends api.core.Instance {\n static get instanceClassName () {\n return 'TabsList';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.listenKey(api.core.KeyCodes.RIGHT, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.RIGHT), true, true);\n this.listenKey(api.core.KeyCodes.LEFT, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.LEFT), true, true);\n this.listenKey(api.core.KeyCodes.HOME, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.HOME), true, true);\n this.listenKey(api.core.KeyCodes.END, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.END), true, true);\n this.isResizing = true;\n }\n\n focalize (btn) {\n const btnRect = btn.getRect();\n const listRect = this.getRect();\n const actualScroll = this.node.scrollLeft;\n if (btnRect.left < listRect.left) this.node.scrollTo(actualScroll - listRect.left + btnRect.left - FOCALIZE_OFFSET, 0);\n else if (btnRect.right > listRect.right) this.node.scrollTo(actualScroll - listRect.right + btnRect.right + FOCALIZE_OFFSET, 0);\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n this.apply();\n }\n\n apply () {\n if (this._isScrolling) {\n this.addClass(TabSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TabSelector.SHADOW_RIGHT);\n this.removeClass(TabSelector.SHADOW_LEFT);\n this.removeClass(TabSelector.SHADOW);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const scrollLeft = this.node.scrollLeft;\n const isMin = scrollLeft <= SCROLL_OFFSET$1;\n const max = this.node.scrollWidth - this.node.clientWidth - SCROLL_OFFSET$1;\n\n const isMax = Math.abs(scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TabSelector.SHADOW_RIGHT : TabSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TabSelector.SHADOW_LEFT : TabSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.node.scrollWidth > this.node.clientWidth + SCROLL_OFFSET$1;\n const height = this.getRect().height;\n this.setProperty('--tabs-list-height', `${height}px`);\n this.ascend(TabEmission.LIST_HEIGHT, height);\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\napi.tab = {\n TabPanel: TabPanel,\n TabButton: TabButton,\n TabsGroup: TabsGroup,\n TabsList: TabsList,\n TabSelector: TabSelector,\n TabEmission: TabEmission\n};\n\napi.internals.register(api.tab.TabSelector.PANEL, api.tab.TabPanel);\napi.internals.register(api.tab.TabSelector.GROUP, api.tab.TabsGroup);\napi.internals.register(api.tab.TabSelector.LIST, api.tab.TabsList);\n\nconst TableEmission = {\n SCROLLABLE: api.internals.ns.emission('table', 'scrollable'),\n CHANGE: api.internals.ns.emission('table', 'change'),\n CAPTION_HEIGHT: api.internals.ns.emission('table', 'captionheight')\n};\n\nconst PADDING = '1rem'; // padding de 4v sur le caption\n\nclass Table extends api.core.Instance {\n static get instanceClassName () {\n return 'Table';\n }\n\n init () {\n this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this));\n }\n\n setCaptionHeight (value) {\n this.setProperty('--table-offset', `calc(${value}px + ${PADDING})`);\n }\n}\n\nconst TableSelector = {\n TABLE: api.internals.ns.selector('table'),\n SHADOW: api.internals.ns.selector('table__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('table__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('table__shadow--right'),\n ELEMENT: `${api.internals.ns.selector('table')}:not(${api.internals.ns.selector('table--no-scroll')}) table`,\n CAPTION: `${api.internals.ns.selector('table')} table caption`\n};\n\nconst SCROLL_OFFSET = 8; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TableElement extends api.core.Instance {\n static get instanceClassName () {\n return 'TableElement';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.content = this.querySelector('tbody');\n this.isResizing = true;\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n\n if (value) {\n this.addClass(TableSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TableSelector.SHADOW);\n this.removeClass(TableSelector.SHADOW_LEFT);\n this.removeClass(TableSelector.SHADOW_RIGHT);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const isMin = this.node.scrollLeft <= SCROLL_OFFSET;\n const max = this.content.offsetWidth - this.node.offsetWidth - SCROLL_OFFSET;\n const isMax = Math.abs(this.node.scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TableSelector.SHADOW_RIGHT : TableSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TableSelector.SHADOW_LEFT : TableSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.content.offsetWidth > this.node.offsetWidth;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nclass TableCaption extends api.core.Instance {\n static get instanceClassName () {\n return 'TableCaption';\n }\n\n init () {\n this.height = 0;\n this.isResizing = true;\n }\n\n resize () {\n const height = this.getRect().height;\n if (this.height === height) return;\n this.height = height;\n this.ascend(TableEmission.CAPTION_HEIGHT, height);\n }\n}\n\napi.table = {\n Table: Table,\n TableElement: TableElement,\n TableCaption: TableCaption,\n TableSelector: TableSelector\n};\n\napi.internals.register(api.table.TableSelector.TABLE, api.table.Table);\napi.internals.register(api.table.TableSelector.ELEMENT, api.table.TableElement);\napi.internals.register(api.table.TableSelector.CAPTION, api.table.TableCaption);\n\nconst TagEvent = {\n DISMISS: api.internals.ns.event('dismiss')\n};\n\nclass TagDismissible extends api.core.Instance {\n static get instanceClassName () {\n return 'TagDismissible';\n }\n\n init () {\n this.listenClick();\n }\n\n handleClick () {\n this.focusClosest();\n\n switch (api.mode) {\n case api.Modes.ANGULAR:\n case api.Modes.REACT:\n case api.Modes.VUE:\n this.request(this.verify.bind(this));\n break;\n\n default:\n this.remove();\n }\n\n this.dispatch(TagEvent.DISMISS);\n }\n\n verify () {\n if (document.body.contains(this.node)) this.warn(`a TagDismissible has just been dismissed and should be removed from the dom. In ${api.mode} mode, the api doesn't handle dom modification. An event ${TagEvent.DISMISS} is dispatched by the element to trigger the removal`);\n }\n}\n\nconst TagSelector = {\n PRESSABLE: `${api.internals.ns.selector('tag')}[aria-pressed]`,\n DISMISSIBLE: `${api.internals.ns.selector('tag--dismiss')}`\n};\n\napi.tag = {\n TagDismissible: TagDismissible,\n TagSelector: TagSelector,\n TagEvent: TagEvent\n};\n\napi.internals.register(api.tag.TagSelector.PRESSABLE, api.core.Toggle);\napi.internals.register(api.tag.TagSelector.DISMISSIBLE, api.tag.TagDismissible);\n\nconst TRANSCRIPTION = api.internals.ns.selector('transcription');\n\nconst TranscriptionSelector = {\n TRANSCRIPTION: TRANSCRIPTION,\n BUTTON: `${TRANSCRIPTION}__btn`\n};\n\nclass Transcription extends api.core.Instance {\n static get instanceClassName () {\n return 'Transcription';\n }\n\n get collapsePrimary () {\n const buttons = this.element.children.map(child => child.getInstance('CollapseButton')).filter(button => button !== null && button.hasClass(TranscriptionSelector.BUTTON));\n return buttons[0];\n }\n}\n\napi.transcription = {\n Transcription: Transcription,\n TranscriptionSelector: TranscriptionSelector\n};\n\napi.internals.register(api.transcription.TranscriptionSelector.TRANSCRIPTION, api.transcription.Transcription);\n\nclass TileDownload extends api.core.Instance {\n static get instanceClassName () {\n return 'TileDownload';\n }\n\n init () {\n this.addAscent(api.core.AssessEmission.UPDATE, details => {\n this.descend(api.core.AssessEmission.UPDATE, details);\n });\n this.addAscent(api.core.AssessEmission.ADDED, () => {\n this.descend(api.core.AssessEmission.ADDED);\n });\n }\n}\n\nconst TileSelector = {\n DOWNLOAD: api.internals.ns.selector('tile--download'),\n DOWNLOAD_DETAIL: `${api.internals.ns.selector('tile--download')} ${api.internals.ns.selector('tile__detail')}`\n};\n\napi.tile = {\n TileSelector: TileSelector,\n TileDownload: TileDownload\n};\n\napi.internals.register(api.tile.TileSelector.DOWNLOAD, api.tile.TileDownload);\napi.internals.register(api.tile.TileSelector.DOWNLOAD_DETAIL, api.core.AssessDetail);\n\nconst HeaderSelector = {\n HEADER: api.internals.ns.selector('header'),\n TOOLS_LINKS: api.internals.ns.selector('header__tools-links'),\n MENU_LINKS: api.internals.ns.selector('header__menu-links'),\n BUTTONS: `${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('btns-group')}, ${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('links-group')}`,\n MODALS: `${api.internals.ns.selector('header__search')}${api.internals.ns.selector('modal')}, ${api.internals.ns.selector('header__menu')}${api.internals.ns.selector('modal')}`\n};\n\nclass HeaderLinks extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderLinks';\n }\n\n init () {\n const header = this.queryParentSelector(HeaderSelector.HEADER);\n this.toolsLinks = header.querySelector(HeaderSelector.TOOLS_LINKS);\n this.menuLinks = header.querySelector(HeaderSelector.MENU_LINKS);\n const copySuffix = '-mobile';\n\n const toolsHtml = this.toolsLinks.innerHTML.replace(/ +/g, ' ');\n\n switch (api.mode) {\n case api.Modes.ANGULAR:\n case api.Modes.REACT:\n case api.Modes.VUE:\n this.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation:\n${api.header.doc}`);\n break;\n\n default:\n this.menuLinks.innerHTML = toolsHtml;\n for (const element of this.menuLinks.querySelectorAll('[id]')) element.id = `${element.id}${copySuffix}`;\n for (const element of this.menuLinks.querySelectorAll('[aria-controls]')) {\n element.setAttribute('aria-controls', `${element.getAttribute('aria-controls')}${copySuffix}`);\n }\n }\n }\n}\n\nclass HeaderModal extends api.core.Instance {\n constructor () {\n super();\n this._clickHandling = this.clickHandler.bind(this);\n }\n\n static get instanceClassName () {\n return 'HeaderModal';\n }\n\n init () {\n this.isResizing = true;\n }\n\n resize () {\n if (this.isBreakpoint(api.core.Breakpoints.LG)) this.deactivateModal();\n else this.activateModal();\n }\n\n activateModal () {\n const modal = this.element.getInstance('Modal');\n if (!modal) return;\n modal.isEnabled = true;\n this.listen('click', this._clickHandling, { capture: true });\n }\n\n deactivateModal () {\n const modal = this.element.getInstance('Modal');\n if (!modal) return;\n modal.conceal();\n modal.isEnabled = false;\n this.unlisten('click', this._clickHandling, { capture: true });\n }\n\n clickHandler (e) {\n if (e.target.matches('a, button') && !e.target.matches('[aria-controls]') && !e.target.matches(api.core.DisclosureSelector.PREVENT_CONCEAL)) {\n const modal = this.element.getInstance('Modal');\n modal.conceal();\n }\n }\n}\n\napi.header = {\n HeaderLinks: HeaderLinks,\n HeaderModal: HeaderModal,\n HeaderSelector: HeaderSelector,\n doc: 'https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/en-tete'\n};\n\napi.internals.register(api.header.HeaderSelector.TOOLS_LINKS, api.header.HeaderLinks);\napi.internals.register(api.header.HeaderSelector.MODALS, api.header.HeaderModal);\n\nconst DisplaySelector = {\n DISPLAY: api.internals.ns.selector('display'),\n RADIO_BUTTONS: `input[name=\"${api.internals.ns('radios-theme')}\"]`,\n FIELDSET: api.internals.ns.selector('fieldset')\n};\n\nclass Display extends api.core.Instance {\n static get instanceClassName () {\n return 'Display';\n }\n\n init () {\n this.radios = this.querySelectorAll(DisplaySelector.RADIO_BUTTONS);\n\n if (api.scheme) {\n this.changing = this.change.bind(this);\n for (const radio of this.radios) radio.addEventListener('change', this.changing);\n this.addDescent(api.scheme.SchemeEmission.SCHEME, this.apply.bind(this));\n this.ascend(api.scheme.SchemeEmission.ASK);\n } else {\n this.querySelector(DisplaySelector.FIELDSET).setAttribute('disabled', '');\n }\n }\n\n get scheme () {\n return this._scheme;\n }\n\n set scheme (value) {\n if (this._scheme === value || !api.scheme) return;\n switch (value) {\n case api.scheme.SchemeValue.SYSTEM:\n case api.scheme.SchemeValue.LIGHT:\n case api.scheme.SchemeValue.DARK:\n this._scheme = value;\n for (const radio of this.radios) {\n radio.checked = radio.value === value;\n }\n this.ascend(api.scheme.SchemeEmission.SCHEME, value);\n break;\n }\n }\n\n change () {\n for (const radio of this.radios) {\n if (radio.checked) {\n this.scheme = radio.value;\n return;\n }\n }\n }\n\n apply (value) {\n this.scheme = value;\n }\n\n dispose () {\n for (const radio of this.radios) radio.removeEventListener('change', this.changing);\n }\n}\n\napi.display = {\n Display: Display,\n DisplaySelector: DisplaySelector\n};\n\napi.internals.register(api.display.DisplaySelector.DISPLAY, api.display.Display);\n//# sourceMappingURL=dsfr.module.js.map\n","import ProgressBar from './progress-bar';\nimport {\n errorFromDirectUploadMessage,\n ERROR_CODE_READ,\n FAILURE_CLIENT\n} from './file-upload-error';\nimport { fire } from '@utils';\n\nconst INITIALIZE_EVENT = 'direct-upload:initialize';\nconst START_EVENT = 'direct-upload:start';\nconst PROGRESS_EVENT = 'direct-upload:progress';\nconst ERROR_EVENT = 'direct-upload:error';\nconst END_EVENT = 'direct-upload:end';\n\nfunction addUploadEventListener(type, handler) {\n addEventListener(type, (event) => {\n // Internet Explorer and Edge will sometime replay Javascript events\n // that were dispatched just before a page navigation (!), but without\n // the event payload.\n //\n // Ignore these replayed events.\n const isEventValid = event && event.detail && event.detail.id != undefined;\n if (!isEventValid) return;\n\n handler(event);\n });\n}\n\naddUploadEventListener(INITIALIZE_EVENT, ({ target, detail: { id, file } }) => {\n ProgressBar.init(target, id, file);\n});\n\naddUploadEventListener(START_EVENT, ({ target, detail: { id } }) => {\n ProgressBar.start(id);\n // At the end of the upload, the form will be submitted again.\n // Avoid the confirm dialog to be presented again then.\n const button = target.form.querySelector('button.primary');\n if (button) {\n button.removeAttribute('data-confirm');\n }\n});\n\naddUploadEventListener(PROGRESS_EVENT, ({ detail: { id, progress } }) => {\n ProgressBar.progress(id, progress);\n});\n\naddUploadEventListener(ERROR_EVENT, (event) => {\n let id = event.detail.id;\n let errorMsg = event.detail.error;\n\n // Display an error message\n alert(\n `Nous sommes désolés, une erreur s’est produite lors de l’envoi du fichier.\n\n (${errorMsg})`\n );\n // Prevent ActiveStorage from displaying its own error message\n event.preventDefault();\n\n ProgressBar.error(id, errorMsg);\n\n // Report unexpected client errors to Sentry.\n // (But ignore usual client errors, or errors we can monitor better on the server side.)\n let error = errorFromDirectUploadMessage(errorMsg);\n if (error.failureReason == FAILURE_CLIENT && error.code != ERROR_CODE_READ) {\n fire(document, 'sentry:capture-exception', error);\n }\n});\n\naddUploadEventListener(END_EVENT, ({ detail: { id } }) => {\n ProgressBar.end(id);\n});\n","// iOS 11.3 Safari / macOS Safari 11.1 empty XHR bug workaround.\n// This should work with every modern browser which supports ES5 (including IE9).\n// https://stackoverflow.com/questions/49614091/safari-11-1-ajax-xhr-form-submission-fails-when-inputtype-file-is-empty\n// https://github.com/rails/rails/issues/32440\n\ndocument.documentElement.addEventListener(\n 'turbo:before-fetch-request',\n (event) => {\n const target = event.target as Element;\n const inputs = target.querySelectorAll(\n 'input[type=\"file\"]:not([disabled])'\n );\n for (const input of inputs) {\n if (input.files?.length == 0) {\n input.setAttribute('data-safari-temp-disabled', 'true');\n input.setAttribute('disabled', '');\n }\n }\n }\n);\n\ndocument.documentElement.addEventListener(\n 'turbo:before-fetch-response',\n (event) => {\n const target = event.target as Element;\n const inputs = target.querySelectorAll(\n 'input[type=\"file\"][data-safari-temp-disabled]'\n );\n for (const input of inputs) {\n input.removeAttribute('data-safari-temp-disabled');\n input.removeAttribute('disabled');\n }\n }\n);\n\nexport {};\n","import { delegate } from '@utils';\n\ndelegate('blur keydown', 'input, textarea', ({ target }) => {\n touch(target);\n});\n\ndelegate(\n 'click',\n 'input[type=\"submit\"]:not([formnovalidate])',\n ({ target }) => {\n let form = target.closest('form');\n let inputs = form ? form.querySelectorAll('input, textarea') : [];\n [...inputs].forEach(touch);\n }\n);\n\nfunction touch({ classList }) {\n classList.add('touched');\n}\n","import { isInputElement } from '@coldwired/utils';\nimport { show, hide, disable, enable } from '@coldwired/actions';\n\nexport function showMotivation(event: Event, state: string) {\n event.preventDefault();\n motivationCancel();\n const stateElement = document.querySelector(`.motivation.${state}`);\n\n if (stateElement) {\n show(stateElement.parentElement);\n show(stateElement);\n stateElement.querySelectorAll('input, textarea').forEach(enable);\n }\n}\n\nexport function motivationCancel() {\n document.querySelectorAll('.motivation').forEach((stateElement) => {\n hide(stateElement);\n hide(stateElement.parentElement);\n stateElement.querySelectorAll('input, textarea').forEach(disable);\n });\n\n hide('.js_delete_motivation');\n}\n\nexport function showDeleteJustificatif(name: string) {\n const justificatif = document.querySelector(\n `#dossier_justificatif_motivation_${name}`\n );\n\n if (isInputElement(justificatif)) {\n if (justificatif.value != '') {\n show(`#delete_motivation_import_${name}`);\n }\n }\n}\n\nexport function deleteJustificatif(name: string) {\n const justificatif = document.querySelector(\n `#dossier_justificatif_motivation_${name}`\n );\n if (isInputElement(justificatif)) {\n justificatif.value = '';\n hide(`#delete_motivation_import_${name}`);\n }\n}\n\nexport function showImportJustificatif(name: string) {\n show(`#justificatif_motivation_import_${name}`);\n hide(`#justificatif_motivation_suggest_${name}`);\n}\n","import { delegate, toggle } from '@utils';\n\n// Unobtrusive Javascript for allowing an element to toggle\n// the visibility of another element.\n//\n// Usage:\n// \n//
Content
\n\nconst TOGGLE_SOURCE_SELECTOR = '[data-toggle-target]';\n\ndelegate('click', TOGGLE_SOURCE_SELECTOR, (evt) => {\n evt.preventDefault();\n\n const targetSelector = evt.target.dataset.toggleTarget;\n const targetElements = document.querySelectorAll(targetSelector);\n for (let target of targetElements) {\n toggle(target);\n target.focus();\n }\n});\n","import 'core-js/proposals/relative-indexing-method';\nimport Rails from '@rails/ujs';\nimport * as ActiveStorage from '@rails/activestorage';\nimport * as Turbo from '@hotwired/turbo';\nimport { Application } from '@hotwired/stimulus';\nimport '@gouvfr/dsfr/dist/dsfr.module.js';\n\nimport '../shared/activestorage/ujs';\nimport '../shared/safari-11-empty-file-workaround';\nimport '../shared/toggle-target';\n\nimport { registerControllers } from '../shared/stimulus-loader';\n\nimport '../new_design/form-validation';\n\nimport { toggleCondidentielExplanation } from '../new_design/avis';\nimport {\n showMotivation,\n motivationCancel,\n showImportJustificatif,\n showDeleteJustificatif,\n deleteJustificatif\n} from '../new_design/instruction-button';\nimport { showFusion, showNewAccount } from '../new_design/fc-fusion';\n\nconst application = Application.start();\nregisterControllers(application);\n\n// This is the global application namespace where we expose helpers used from rails views\nconst DS = {\n toggleCondidentielExplanation,\n showMotivation,\n motivationCancel,\n showImportJustificatif,\n showDeleteJustificatif,\n deleteJustificatif,\n showFusion,\n showNewAccount\n};\n\n// Start Rails helpers\nActiveStorage.start();\nif (!window._rails_loaded) {\n Rails.start();\n}\nTurbo.session.drive = false;\n\n// Expose globals\nwindow.DS = window.DS || DS;\n\n// enable legacy mode of DSFR when vite is not detectde as modern browser\nwindow.addEventListener('load', function () {\n if (!window.__vite_is_modern_browser) {\n window.dsfr.internals.legacy.setLegacy();\n }\n});\n\nimport('../shared/track/matomo');\nimport('../shared/track/sentry');\n","import { toggle } from '@utils';\n\nexport function toggleCondidentielExplanation() {\n toggle(document.querySelector('.confidentiel-explanation'));\n}\n","import { show, hide } from '@utils';\n\nexport function showFusion() {\n show(document.querySelector('.fusion'));\n hide(document.querySelector('.new-account'));\n hide(document.querySelector('#new-account-password-confirmation'));\n}\n\nexport function showNewAccount() {\n hide(document.querySelector('.fusion'));\n show(document.querySelector('.new-account'));\n hide(document.querySelector('#new-account-password-confirmation'));\n}\n"],"names":["check","it","Math","global","_typeof","globalThis","window","self","this","Function","fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","call","prototype","functionCall","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","objectPropertyIsEnumerable","f","V","descriptor","enumerable","match","version","createPropertyDescriptor","bitmap","value","configurable","writable","FunctionPrototype","uncurryThisWithBind","functionUncurryThis","fn","uncurryThis","toString","stringSlice","slice","classofRaw","require$$1","classof","require$$2","$Object","split","indexedObject","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","argument","isObject","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","userAgent","navigator","String","process","Deno","versions","v8","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","defineGlobalProperty","key","SHARED","sharedStore","store","sharedModule","push","mode","copyright","license","source","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","getMethod","P","func","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","EXISTS","createElement","documentCreateElement","ie8DomDefine","a","DESCRIPTORS","propertyIsEnumerableModule","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","objectGetOwnPropertyDescriptor","O","v8PrototypeDefineBug","anObject","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","Attributes","current","definePropertyModule","createNonEnumerableProperty","object","getDescriptor","functionName","PROPER","functionToString","inspectSource","set","has","WeakMap","weakMapBasicDetection","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","exports","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toLength","lengthOfArrayLike","obj","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","target","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","$","charAt","proto","at","S","len","relativeIndex","k","objectKeys","objectDefineProperties","defineProperties","Properties","props","activeXDocument","html","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","src","contentWindow","open","F","create","UNSCOPABLES","ArrayPrototype","Array","addToUnscopables","NAME","Constructor","Prototype","arrayBufferBasicDetection","ArrayBuffer","DataView","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","__proto__","NATIVE_ARRAY_BUFFER","require$$8","require$$9","defineBuiltInAccessor","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isTypedArray","klass","arrayBufferViewCore","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","getTypedArrayConstructor","isView","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","querySelector","cspNonce","expando","m","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","setData","isContentEditable","isEditable","parentElement","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","CustomEvent","fire","preventDefault","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","defaultPrevented","dispatchEvent","stopEverything","e","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","xml","json","script","ajax","response","responseText","getResponseHeader","status","success","statusText","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","toUpperCase","dataType","accept","done","crossDomain","withCredentials","onreadystatechange","DONE","parser","JSON","parse","setAttribute","head","removeChild","DOMParser","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","checked","map","encodeURIComponent","formElements","form","filter","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","innerHTML","originalText","removeEventListener","handleMethod","formContent","link","action","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","module","State","_classCallCheck","modules","_createClass","ModuleClass","item","add","remove","_isActive","_this","values","_step","_iterator","_createForOfIteratorHelper","s","activate","err","_iterator2","_step2","deactivate","_isLegacy","config","LogLevel","level","light","dark","logger","console","warn","log","Message","_len","_key","_i","_values","print","setColor","color","getMessage","matchMedia","styles","objects","_toConsumableArray","LEVELS","debug","info","Inspector","_this2","_loop","_len2","msgs","_key2","stage","getModule","_branch","root","space","branch","indent","_step3","_iterator3","children","child","inspector","startAtDomContentLoaded","requestAnimationFrame","Modes","AUTO","MANUAL","RUNTIME","LOADED","VUE","ANGULAR","REACT","Options","_mode","isStarted","starting","preventManipulation","settings","query","startCallback","isProduction","production","isNaN","Number","verbose","Collection","_collection","collectable","onAdd","onPopulate","splice","onRemove","onEmpty","_len3","_key3","_step4","_iterator4","clone","Module","_Collection","_inherits","_super","_createSuper","_this3","isActive","ns","notation","attr","emission","querySelectorAllArray","selectors","queryParentSelector","parent","documentElement","Registration","InstanceClass","creator","instances","isIntroduced","_instanceClassName","instanceClassName","_instanceClassNames","getInstanceClassNames","_property","substring","dashed","_attribute","node","nonRecursive","nodes","instance","collection","_dispose","Register","_Module","_super2","registration","introduce","_iterator5","_step5","dispose","_get","_getPrototypeOf","count","Element$1","attributeNames","_children","_parent","_projects","scope","_proxy","proxy","_step6","_iterator6","outerHTML","end","projects","_step7","_iterator7","hasInstance","_config","ascendants","descendants","_step8","_iterator8","_emit","_step9","_iterator9","_emitter","emit","_ascend","_step10","_iterator10","_ascent","_step11","_iterator11","_descend","_step12","_iterator12","_descent","_step13","_iterator13","_iterator14","_step14","hasInstanceClassName","getInstance","stopAtInstanceClassName","stopAtFirstInstance","_step15","_iterator15","getDescendantInstances","getAscendantInstance","attributeName","examine","RootEmission","CLICK","KEYDOWN","KEYUP","KeyCodes","TAB","ESCAPE","END","HOME","LEFT","UP","RIGHT","DOWN","getKeyCode","keyCode","entry","Root","_Element$","_super3","_this4","listen","capture","keydown","keyup","Stage","_Module2","_super4","_thisSuper","_this5","_assertThisInitialized","observer","MutationObserver","mutate","modifications","willModify","modifying","modify","_step16","_iterator16","_iterator17","_step17","hasElement","getElement","put","position","compareDocumentPosition","Node","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","addChild","DOCUMENT_POSITION_PRECEDING","observe","childList","subtree","attributes","disconnect","mutations","_this6","examinations","mutation","removedNodes","addedNodes","prepare","_step18","_iterator18","descendant","targets","_step19","_iterator19","contains","disposables","_i2","_disposables","disposable","_step20","creations","_iterator20","_step21","_iterator21","project","_i3","_creations","populate","Renderer","_Module3","_super5","_this7","rendering","render","nexts","clear","next","Resizer","_Module4","_super6","_this8","requireResize","resizing","resize","requesting","request","fonts","ready","then","ScrollLocker","_Module5","_super7","_this9","_isLocked","_scrollY","lock","unlock","scrollY","scrollBarGap","innerWidth","clientWidth","top","behavior","getComputedStyle","getPropertyValue","scrollBehavior","setProperty","removeAttribute","scrollTo","removeProperty","Load","_Module6","_super8","_this10","loading","load","FONT_FAMILIES","FontSwap","_Module7","_super9","_this11","swapping","swap","families","family","swapFont","MouseMove","_Module8","_super10","_this12","requireMove","_isMoving","moving","move","unlisten","point","clientX","y","clientY","_this13","mouseMove","Hash","_Module9","_super11","_this14","handling","handle","getLocationHash","hash","_hash","_sanitize","_this15","handleHash","engine","Engine","registerModule","register","Colors","context","use","tint","getOption","decision","trim","hover","active","colors","sanitize","className","substr","getClassNames","modifyClass","classNames","addClass","removeClass","hasClass","ACTIONS_SELECTOR","queryActions","counter","uniqueId","getElementById","base","dom","support","localStorage","CSS","supports","TransitionSelector","NONE","completeAssign","_len4","sources","_key4","reduce","sym","internals","legacy","isLegacy","setLegacy","motion","search","entries","URLSearchParams","fromEntries","searchParams","api$1","getProxy","prefix","organisation","stop","configuration","configure","Emitter","emissions","closure","_step22","_iterator22","Breakpoint","minWidth","Breakpoints","XS","SM","MD","LG","XL","Instance","jsAttribute","_isRendering","_isResizing","_isScrollLocked","_isLoading","_isSwappingFont","_isEnabled","_isDisposed","_listeners","handlingClick","handleClick","_hashes","_keyListenerTypes","_keys","handlingKey","handleKey","_registrations","_nexts","attribute","init","isEnabled","_len5","_key5","unshift","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_step23","_iterator23","bubble","listeners","listener","Listener","_this16","removal","matchOptions","HashAction","_iterator24","_step24","KeyAction","code","_this17","some","_step25","_iterator25","_step26","_iterator26","breakpoint","_isMouseMoving","isRendering","isResizing","isScrollLocked","isLoading","isSwappingFont","_step27","_iterator27","ascend","descend","hasAttribute","propertyName","focus","blur","closest","_focusClosest","actions","activeElement","rect","getRect","scroll","bottom","innerHeight","getBoundingClientRect","center","left","width","middle","height","_node","_type","_closure","_options","_this18","every","DisclosureEvent","DISCLOSE","CONCEAL","DisclosureEmission","RESET","ADDED","RETRIEVE","REMOVED","GROUP","UNGROUP","SPOTLIGHT","Disclosure","_Instance","_super12","DisclosureButtonInstanceClass","disclosuresGroupInstanceClassName","_this19","_selector","modifier","_isPristine","_isRetrievingPrimaries","_hasRetrieved","_primaryButtons","addDescent","reset","update","addAscent","disclose","listenHash","_spotlight","_set","assign","canConceal","conceal","buttons","group","isDisclosed","getRegisteredInstances","getGroup","retrievePrimaries","validate","_group","withhold","preventFocus","_isDisclosed","dispatch","primaryButtons","isInitiallyDisclosed","canDisclose","hasFocus","buttonHasFocus","_retrievePrimaries","_electPrimaries","retrieved","applyAbility","retrieve","_this20","candidates","_this21","isDisabled","DisclosureButton","_Instance2","_super13","_this22","ariaState","_canDisclose","canDisable","_isInitiallyDisclosed","_isContained","controlsId","listenClick","toggle","_isApplying","isPrimary","_this23","scrollIntoView","buttonRect","_dx","_dy","DisclosuresGroup","_Instance3","_super14","disclosureInstanceClassName","_this24","_members","_index","_isRetrieving","proxyAccessors","members","member","_this25","invalid","bypassPrevention","_retrieve","_this26","getMembers","getIndex","defaultIndex","DisclosureType","EXPAND","ariaControls","SELECT","DisclosureSelector","PREVENT_CONCEAL","CollapseButton","_DisclosureButton","_super15","CollapseSelector","COLLAPSE","COLLAPSING","Collapse","_Disclosure","_super16","transitionend","maxHeight","_this27","unbound","adjust","_this28","offsetHeight","isPristine","primary","collapsePrimary","before","candidate","dy","mins","sort","b","abs","dx","CollapsesGroup","_DisclosuresGroup","_super17","EquisizedEmission","CHANGE","Equisized","_Instance4","_super18","EquisizedsGroup","_Instance5","_super19","equisizeds","equisized","measure","ToggleEvent","TOGGLE","Toggle","_Instance6","_super20","pressed","InjectSvg","_Instance7","_super21","img","restore","_fetch","fetch","_this29","imgID","imgClass","imgURL","xmlDoc","svg","replaceAll","attrs","focusable","replaceChild","InjectSvgSelector","INJECT_SVG","Artwork","_Instance8","_super22","_this30","xlink","splitUrl","svgUrl","svgName","onload","realSvgContent","classList","ArtworkSelector","ARTWORK_USE","AssessSelector","ASSESS_FILE","DETAIL","AssessEmission","UPDATE","AssessFile","_Instance9","_super23","lang","getLang","hreflang","file","gather","_this31","headers","getFileLength","details","extension","parseExtension","bytesToSize","getLangDisplayName","elem","language","locale","Intl","DisplayNames","of","bytes","sizeUnits","parseInt","size","pow","roundedSize","round","EPSILON","stringSize","AssessDetail","_Instance10","_super24","ratiosImg","ratioSelector","modifiers","deprecatedRatioSelector","RatioSelector","RATIO","api","Ratio","_Instance11","_super25","supportAspectRatio","ratio","currentWidth","PlaceSelector","TOP","BOTTOM","AlignSelector","START","CENTER","PlacementPosition","PlacementAlign","PlacementMode","Placement","_Instance12","_super26","_this32","places","aligns","safeAreaMargin","_places","_aligns","_safeAreaMargin","_isShown","show","hide","place","align","isShown","_place","_align","referent","_referent","safeArea","right","referentRect","getPlace","getHorizontalAlign","getVerticalAlign","_x","_y","transform","_step28","_iterator28","_step29","_iterator29","_step30","_iterator30","core","RootSelector","ROOT","PlacementReferent","_Instance13","_super27","_this33","setReferent","_placement","SchemeValue","SYSTEM","LIGHT","DARK","SchemeAttribute","THEME","SCHEME","TRANSITION","SchemeTheme","SchemeEmission","ASK","SchemeEvent","Scheme","_api$core$Instance","_super28","changing","change","restoreTransition","scheme","supportLocalStorage","getItem","schemeAttr","ask","_scheme","listenPreferences","unlistenPreferences","theme","setItem","_theme","colorScheme","isListening","mediaQuery","SchemeSelector","SWITCH_THEME","RADIO_BUTTONS","ACCORDION","COLLAPSE$2","AccordionSelector","COLLAPSE_LEGACY","BUTTON","Accordion","_api$core$Instance2","_super29","AccordionsGroup","_api$core$CollapsesGr","_super30","accordion","ButtonSelector","EQUISIZED_BUTTON","EQUISIZED_GROUP","CardDownload","_api$core$Instance3","_super31","_this34","CardSelector","DOWNLOAD","DOWNLOAD_DETAIL","card","BreadcrumbSelector","BREADCRUMB","Breadcrumb","_api$core$Instance4","_super32","_this35","focusing","getCollapse","collapse","links","isBreakpoint","_focus","verify","breadcrumb","TooltipSelector","TOOLTIP","SHOWN","TooltipReferentState","TooltipReferent","_api$core$PlacementRe","_super33","_this36","_state","focusIn","focusOut","mouseover","placement","mouseout","addEmission","_keydown","_click","_clickOut","TooltipEvent","SHOW","HIDE","TooltipState","Tooltip","_api$core$Placement","_super34","_this37","transitionEnd","limit","toFixed","tooltip","ToggleInput","_api$core$Instance5","_super35","ToggleStatusLabel","_api$core$Instance6","_super36","isChecked","maxWidth","parseFloat","style2","ToggleSelector","STATUS_LABEL","ITEM$1","COLLAPSE$1","SidemenuSelector","LIST","ITEM","SidemenuList","_api$core$CollapsesGr2","_super37","SidemenuItem","_api$core$Instance7","_super38","sidemenu","ModalSelector","MODAL","SCROLL_DIVIDER","BODY","TITLE","ModalButton","_api$core$DisclosureB","_super39","ModalAttribute","CONCEALING_BACKDROP","Modal","_api$core$Disclosure","_super40","_this38","scrolling","_isDialog","tagName","isScrolling","_escape","_ensureAccessibleName","activateModal","deactivateModal","_hasDialogRole","retrieveNodeId","title","_setAccessibleName","UNORDEREDS","ORDEREDS","isFocusable","container","visibility","FocusTrap","onTrap","onUntrap","waiting","wait","maintainFocus","trapped","untrap","isTrapping","trapping","focusables","_step31","_iterator31","stun","stunneds","Stunned","first","last","shiftKey","tabIndex","_this39","unordereds","radios","_step32","groups","_iterator32","radio","RadioButtonGroup","unordered","keep","ordereds","noDuplicates","inert","ModalsGroup","_api$core$Disclosures","_super41","_this40","focusTrap","initial","trap","ModalBody","_api$core$Instance8","_super42","divide","scrollHeight","clientHeight","scrollTop","offset","modal","PasswordEmission","ADJUST","PasswordToggle","_api$core$Instance9","_super43","_isChecked","Password","_api$core$Instance10","_super44","PasswordSelector","PASSWORD","INPUT","LABEL","TOOGLE","PasswordInput","_api$core$Instance11","_super45","_isRevealed","capslock","isRevealed","getModifierState","PasswordLabel","_api$core$Instance12","_super46","valueREM","paddingRight","password","NavigationSelector","NAVIGATION","ITEM_RIGHT","MENU","TRANSLATE_BUTTON","NavigationItem","_api$core$Instance13","_super47","_this41","_isRightAligned","calculate","isRightAligned","NavigationMousePosition","INSIDE","OUTSIDE","Navigation","_api$core$CollapsesGr3","_super48","clicked","out","focusOutHandler","mouseDownHandler","requestPosition","isRequesting","getPosition","requested","navigation","TabButton","_api$core$DisclosureB2","_super49","list","focalize","TabSelector","PANEL","SHADOW","SHADOW_LEFT","SHADOW_RIGHT","PANEL_START","PANEL_END","TabPanelDirection","TabPanel","_api$core$Disclosure2","_super50","_this42","_direction","_isPreventingTransition","direction","isPreventingTransition","_this43","TabKeys","TabEmission","PRESS_KEY","LIST_HEIGHT","TabsGroup","_api$core$Disclosures2","_super51","pressKey","setListHeight","listHeight","pressLeft","pressRight","pressHome","pressEnd","translate","scrollLeft","paneHeight","panelHeight","TabsList","_api$core$Instance14","_super52","listenKey","btn","btnRect","listRect","actualScroll","_isScrolling","isMin","scrollWidth","isMax","isRtl","minSelector","maxSelector","tab","TableEmission","SCROLLABLE","CAPTION_HEIGHT","Table","_api$core$Instance15","_super53","setCaptionHeight","TableSelector","TABLE","ELEMENT","CAPTION","TableElement","_api$core$Instance16","_super54","offsetWidth","TableCaption","_api$core$Instance17","_super55","table","TagEvent","DISMISS","TagDismissible","_api$core$Instance18","_super56","focusClosest","TagSelector","PRESSABLE","DISMISSIBLE","TRANSCRIPTION","TranscriptionSelector","Transcription","_api$core$Instance19","_super57","transcription","TileDownload","_api$core$Instance20","_super58","_this44","TileSelector","tile","HeaderSelector","HEADER","TOOLS_LINKS","MENU_LINKS","BUTTONS","MODALS","HeaderLinks","_api$core$Instance21","_super59","header","toolsLinks","menuLinks","copySuffix","toolsHtml","doc","_step33","_iterator33","_step34","_iterator34","HeaderModal","_api$core$Instance22","_super60","_this45","_clickHandling","clickHandler","DisplaySelector","DISPLAY","FIELDSET","Display","_api$core$Instance23","_super61","_step35","_iterator35","_step36","_iterator36","_step37","_iterator37","_iterator38","_step38","addUploadEventListener","_ref","_ref$detail","ProgressBar","_ref2","_ref3","_ref3$detail","progress","errorMsg","alert","errorFromDirectUploadMessage","failureReason","FAILURE_CLIENT","ERROR_CODE_READ","_ref4","_step39","_iterator39","_input$files","files","_step40","_iterator40","touch","_ref7","motivationCancel","stateElement","disable","_step41","targetSelector","dataset","toggleTarget","_iterator41","_ref5","_ref6","application","Application","registerControllers","DS","toggleCondidentielExplanation","showMotivation","enable","showImportJustificatif","showDeleteJustificatif","justificatif","isInputElement","deleteJustificatif","showFusion","showNewAccount","ActiveStorage.start","Turbo.session","drive","__vite_is_modern_browser","dsfr","__vitePreload","import","__VITE_IS_MODERN__"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85]}