{"version":3,"file":"core.nomodule.js","sources":["../../src/core/script/api/state.js","../../.config/config.js","../../src/core/script/api/inspect/inspector.js","../../src/core/script/api/options/starters.js","../../src/core/script/api/options/modes.js","../../src/core/script/api/options/options.js","../../src/core/script/api/utilities/collection.js","../../src/core/script/api/modules/module.js","../../src/core/script/api/utilities/namespace.js","../../src/core/script/api/utilities/dom/query-selector.js","../../src/core/script/api/modules/register/registration.js","../../src/core/script/api/modules/register/register.js","../../src/core/script/api/modules/stage/element.js","../../src/core/script/api/modules/stage/root-emission.js","../../src/core/script/api/modules/register/key-codes.js","../../src/core/script/api/modules/stage/root.js","../../src/core/script/api/modules/stage/stage.js","../../src/core/script/api/modules/render/renderer.js","../../src/core/script/api/modules/resize/resizer.js","../../src/core/script/api/modules/scroll/scroll-locker.js","../../src/core/script/api/modules/load/load.js","../../src/core/script/api/modules/font-swap/font-swap.js","../../src/core/script/api/modules/mouse-move/mouse-move.js","../../src/core/script/api/modules/hash/hash.js","../../src/core/script/api/engine.js","../../src/core/script/api/utilities/colors/colors.js","../../src/core/script/api/utilities/dom/classes.js","../../src/core/script/api/utilities/dom/actions.js","../../src/core/script/api/utilities/dom/id.js","../../src/core/script/api/utilities/dom/index.js","../../src/core/script/api/utilities/image/data-uri-svg.js","../../src/core/script/api/utilities/image/index.js","../../src/core/script/api/utilities/support/browser-support.js","../../src/core/script/api/utilities/support/index.js","../../src/core/script/api/utilities/motion/transition-selector.js","../../src/core/script/api/utilities/motion/index.js","../../src/core/script/api/utilities/property/complete-assign.js","../../src/core/script/api/utilities/property/index.js","../../src/core/script/api/utilities/search-params/index.js","../../src/core/script/api/internals.js","../../src/core/script/api/api.js","../../src/core/script/api/utilities/emitter.js","../../src/core/script/api/modules/register/breakpoints.js","../../src/core/script/api/modules/register/instance.js","../../src/core/script/disclosure/disclosure-event.js","../../src/core/script/disclosure/disclosure-emission.js","../../src/core/script/disclosure/disclosure.js","../../src/core/script/disclosure/disclosure-button.js","../../src/core/script/disclosure/disclosure-selector.js","../../src/core/script/disclosure/disclosures-group.js","../../src/core/script/disclosure/disclosure-type.js","../../src/core/script/collapse/collapse-button.js","../../src/core/script/collapse/collapse-selector.js","../../src/core/script/collapse/collapse.js","../../src/core/script/collapse/collapses-group.js","../../src/core/script/equisized/equisized-emission.js","../../src/core/script/equisized/equisized.js","../../src/core/script/equisized/equisizeds-group.js","../../src/core/script/action/toggle/toggle-event.js","../../src/core/script/action/toggle/toggle.js","../../src/core/script/api/modules/stage/root-selector.js","../../src/core/script/api/utilities/attribute.js","../../src/core/script/inject/inject-svg.js","../../src/core/script/inject/inject-svg-selector.js","../../src/core/script/artwork/artwork.js","../../src/core/script/artwork/artwork-selector.js","../../src/core/script/assess/assess-selector.js","../../src/core/script/assess/assess-emission.js","../../src/core/script/assess/assess-file.js","../../src/core/script/assess/assess-detail.js","../../src/core/script/ratio/ratio-selector.js","../../src/core/api.js","../../src/core/script/ratio/ratio.js","../../src/core/script/placement/place-selector.js","../../src/core/script/placement/align-selector.js","../../src/core/script/placement/placement-position.js","../../src/core/script/placement/placement-align.js","../../src/core/script/placement/placement-mode.js","../../src/core/script/placement/placement.js","../../src/core/script/placement/placement-referent.js","../../src/core/index.js","../../src/core/main.js","../../src/core/legacy.js"],"sourcesContent":["class 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\nexport default state;\n","const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.2'\r\n};\r\n\r\nexport default config;\r\n","import state from '../state.js';\nimport config from '../../../config.js';\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\nexport default inspector;\n","export const startAtDomContentLoaded = (callback) => {\n if (document.readyState !== 'loading') window.requestAnimationFrame(callback);\n else document.addEventListener('DOMContentLoaded', callback);\n};\n\nexport const startAuto = (callback) => {\n // detect\n startAtDomContentLoaded(callback);\n};\n","export const Modes = {\n AUTO: 'auto',\n MANUAL: 'manual',\n RUNTIME: 'runtime',\n LOADED: 'loaded',\n VUE: 'vue',\n ANGULAR: 'angular',\n REACT: 'react'\n};\n","import inspector from '../inspect/inspector.js';\nimport { startAtDomContentLoaded, startAuto } from './starters.js';\nimport config from '../../../config';\nimport { Modes } from './modes';\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();\nexport default options;\n","class 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\nexport { Collection };\n","import { Collection } from '../utilities/collection.js';\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\nexport { Module };\n","import config from '../../../config.js';\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\nexport default ns;\n","export const querySelectorAllArray = (element, selectors) => Array.prototype.slice.call(element.querySelectorAll(selectors));\n\nexport const 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","import { Collection } from '../../utilities/collection.js';\nimport state from '../../state.js';\nimport ns from '../../utilities/namespace.js';\nimport { querySelectorAllArray } from '../../utilities/dom/query-selector';\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\nexport { Registration };\n","import { Module } from '../module.js';\nimport { Registration } from './registration.js';\nimport state from '../../state.js';\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\nexport { Register };\n","import state from '../../state.js';\nimport inspector from '../../inspect/inspector.js';\n\nlet count = 0;\n\nclass Element {\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\nexport { Element };\n","import ns from '../../utilities/namespace.js';\n\nexport const RootEmission = {\n CLICK: ns.emission('root', 'click'),\n KEYDOWN: ns.emission('root', 'keydown'),\n KEYUP: ns.emission('root', 'keyup')\n};\n","export const 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\nexport const getKeyCode = (keyCode) => Object.values(KeyCodes).filter(entry => entry.value === keyCode)[0];\n","import { Element } from './element.js';\nimport ns from '../../utilities/namespace.js';\nimport { RootEmission } from './root-emission';\nimport { getKeyCode } from '../register/key-codes';\n\nclass Root extends Element {\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\nexport { Root };\n","import state from '../../state.js';\nimport { Element } from './element.js';\nimport { Module } from '../module.js';\nimport { Root } from './root.js';\nimport inspector from '../../inspect/inspector.js';\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(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\nexport { Stage };\n","import state from '../../state.js';\nimport { Module } from '../module.js';\nimport { Collection } from '../../utilities/collection.js';\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\nexport { Renderer };\n","import { Module } from '../module.js';\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\nexport { Resizer };\n","import ns from '../../utilities/namespace.js';\nimport { Module } from '../module.js';\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\nexport { ScrollLocker };\n","import { Module } from '../module.js';\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\nexport { Load };\n","import { Module } from '../module.js';\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\nexport { FontSwap };\n","import { Module } from '../module.js';\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\nexport { MouseMove };\n","import { Module } from '../module.js';\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\nexport { Hash };\n","import { Register } from './modules/register/register.js';\nimport { Stage } from './modules/stage/stage.js';\nimport { Renderer } from './modules/render/renderer.js';\nimport { Resizer } from './modules/resize/resizer.js';\nimport { ScrollLocker } from './modules/scroll/scroll-locker.js';\nimport { Load } from './modules/load/load.js';\nimport { FontSwap } from './modules/font-swap/font-swap';\nimport { MouseMove } from './modules/mouse-move/mouse-move';\nimport { Hash } from './modules/hash/hash';\nimport inspector from './inspect/inspector.js';\nimport state from './state.js';\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();\nexport default engine;\n","class 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\nexport default colors;\n","const sanitize = (className) => className.charAt(0) === '.' ? className.substr(1) : className;\n\nconst getClassNames = (element) => {\n switch (true) {\n case !element.className:\n return [];\n\n case typeof element.className === 'string':\n return element.className.split(' ');\n\n case typeof element.className.baseVal === 'string':\n return element.className.baseVal.split(' ');\n }\n\n return [];\n};\n\nexport { getClassNames };\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\nexport { addClass };\n\nconst removeClass = (element, className) => modifyClass(element, className, true);\n\nexport { removeClass };\n\nconst hasClass = (element, className) => getClassNames(element).indexOf(sanitize(className)) > -1;\n\nexport { hasClass };\n","const 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\nexport const queryActions = (element) => {\n return element.querySelectorAll(ACTIONS_SELECTOR);\n};\n","let counter = 0;\n\nexport const 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","import { addClass, hasClass, removeClass } from './classes.js';\nimport { queryParentSelector, querySelectorAllArray } from './query-selector.js';\nimport { queryActions } from './actions';\nimport { uniqueId } from './id';\n\nconst dom = {\n addClass: addClass,\n hasClass: hasClass,\n removeClass: removeClass,\n queryParentSelector: queryParentSelector,\n querySelectorAllArray: querySelectorAllArray,\n queryActions: queryActions,\n uniqueId: uniqueId\n};\n\nexport default dom;\n","class DataURISVG {\n constructor (width = 0, height = 0) {\n this._width = width;\n this._height = height;\n this._content = '';\n }\n\n get width () {\n return this._width;\n }\n\n set width (value) {\n this._width = value;\n }\n\n get height () {\n return this._height;\n }\n\n set height (value) {\n this._height = value;\n }\n\n get content () {\n return this._content;\n }\n\n set content (value) {\n this._content = value;\n }\n\n getDataURI (isLegacy = false) {\n let svg = `${this._content}`;\n\n svg = svg.replace(/#/gi, '%23');\n if (isLegacy) {\n svg = svg.replace(//gi, '%3E');\n svg = svg.replace(/\"/gi, '\\'');\n svg = svg.replace(/{/gi, '%7B');\n svg = svg.replace(/}/gi, '%7D');\n }\n return `data:image/svg+xml;charset=utf8,${svg}`;\n }\n}\n\nexport { DataURISVG };\n","import { DataURISVG } from './data-uri-svg';\n\nconst image = {\n DataURISVG: DataURISVG\n};\n\nexport default image;\n","const 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\nexport { supportLocalStorage, supportAspectRatio };\n","import { supportLocalStorage, supportAspectRatio } from './browser-support.js';\n\nconst support = {\n supportLocalStorage: supportLocalStorage,\n supportAspectRatio: supportAspectRatio\n};\n\nexport default support;\n","import ns from '../namespace.js';\n\nexport const TransitionSelector = {\n NONE: ns.selector('transition-none')\n};\n","import { TransitionSelector } from './transition-selector';\n\nconst selector = {\n TransitionSelector: TransitionSelector\n};\n\nexport default selector;\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\nexport { completeAssign };\n","import { completeAssign } from './complete-assign';\n\nconst property = {\n completeAssign: completeAssign\n};\n\nexport default property;\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\nexport default searchParams;\n","import state from './state.js';\nimport engine from './engine.js';\nimport options from './options/options.js';\nimport dom from './utilities/dom/index';\nimport image from './utilities/image/index';\nimport ns from './utilities/namespace.js';\nimport support from './utilities/support/index';\nimport motion from './utilities/motion/index';\nimport property from './utilities/property/index';\nimport searchParams from './utilities/search-params/index.js';\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.image = image;\ninternals.support = support;\ninternals.motion = motion;\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\nexport default internals;\n","import state from './state.js';\nimport options from './options/options.js';\nimport { Modes } from './options/modes.js';\nimport config from '../../config.js';\nimport engine from './engine.js';\nimport inspector from './inspect/inspector.js';\nimport colors from './utilities/colors/colors.js';\nimport internals from './internals.js';\n\nconst api = (node) => {\n const stage = state.getModule('stage');\n return stage.getProxy(node);\n};\n\napi.version = config.version;\napi.prefix = config.prefix;\napi.organisation = config.organisation;\napi.Modes = Modes;\n\nObject.defineProperty(api, 'mode', {\n set: (value) => { options.mode = value; },\n get: () => options.mode\n});\n\napi.internals = internals;\napi.version = config.version;\n\napi.start = engine.start;\napi.stop = engine.stop;\n\napi.inspector = inspector;\napi.colors = colors;\n\nconst configuration = window[config.namespace];\napi.internals.configuration = configuration;\n\noptions.configure(configuration, api.start, api.internals.query);\n\nwindow[config.namespace] = api;\nexport default api;\n","class 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\nexport { Emitter };\n","class 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\nexport const 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","import { Emitter } from '../../utilities/emitter.js';\nimport state from '../../state.js';\nimport inspector from '../../inspect/inspector.js';\nimport { Breakpoints } from './breakpoints.js';\nimport { addClass, removeClass, hasClass, getClassNames } from '../../utilities/dom/classes.js';\nimport { uniqueId } from '../../utilities/dom/id';\nimport { completeAssign } from '../../utilities/property/complete-assign.js';\nimport { queryParentSelector, querySelectorAllArray } from '../../utilities/dom/query-selector.js';\nimport { queryActions } from '../../utilities/dom/actions.js';\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) return;\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 if (!this._hashes) return;\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 if (!this._hashes) return;\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 state.remove('hash', this);\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.isMouseMoving = 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\nexport { Instance };\n","import ns from '../api/utilities/namespace.js';\n\nconst DisclosureEvent = {\n DISCLOSE: ns.event('disclose'),\n CONCEAL: ns.event('conceal')\n};\n\nexport { DisclosureEvent };\n","import ns from '../api/utilities/namespace.js';\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\nexport { DisclosureEmission };\n","import { Instance } from '../api/modules/register/instance.js';\nimport { DisclosureEvent } from './disclosure-event.js';\nimport { DisclosureEmission } from './disclosure-emission.js';\nimport { completeAssign } from '../api/utilities/property/complete-assign.js';\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\nexport { Disclosure };\n","import { Instance } from '../api/modules/register/instance';\nimport ns from '../api/utilities/namespace.js';\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\nexport { DisclosureButton };\n","import ns from '../api/utilities/namespace.js';\n\nexport const DisclosureSelector = {\n PREVENT_CONCEAL: ns.attr.selector('prevent-conceal'),\n GROUP: ns.attr('group')\n};\n","import { Instance } from '../api/modules/register/instance.js';\nimport { DisclosureEmission } from './disclosure-emission.js';\nimport { completeAssign } from '../api/utilities/property/complete-assign.js';\nimport { DisclosureSelector } from './disclosure-selector.js';\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 this._isGrouped = true;\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._isGrouped = this.getAttribute(DisclosureSelector.GROUP) !== 'false';\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 set isGrouped (value) {\n scope.isGrouped = value;\n },\n get isGrouped () {\n return scope.isGrouped;\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 ((this.isGrouped || !this.canUngroup) && 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 set isGrouped (value) {\n const isGrouped = !!value;\n if (this._isGrouped === isGrouped) return;\n this._isGrouped = isGrouped;\n this.setAttribute(DisclosureSelector.GROUP, !!value);\n this.update();\n }\n\n get isGrouped () {\n return this._isGrouped;\n }\n\n get canUngroup () {\n return false;\n }\n\n mutate (attributesNames) {\n if (attributesNames.includes(DisclosureSelector.GROUP)) {\n this.isGrouped = this.getAttribute(DisclosureSelector.GROUP) !== 'false';\n }\n }\n\n apply () {}\n\n dispose () {\n super.dispose();\n this.descend(DisclosureEmission.UNGROUP);\n this._members = null;\n }\n}\n\nexport { DisclosuresGroup };\n","export const 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","import { DisclosureType } from '../disclosure/disclosure-type.js';\nimport { DisclosureButton } from '../disclosure/disclosure-button.js';\n\nclass CollapseButton extends DisclosureButton {\n constructor () {\n super(DisclosureType.EXPAND);\n }\n\n static get instanceClassName () {\n return 'CollapseButton';\n }\n}\n\nexport { CollapseButton };\n","import ns from '../api/utilities/namespace.js';\n\nexport const CollapseSelector = {\n COLLAPSE: ns.selector('collapse'),\n COLLAPSING: ns.selector('collapsing')\n};\n","import { Disclosure } from '../disclosure/disclosure.js';\nimport { CollapseSelector } from './collapse-selector.js';\nimport { DisclosureType } from '../disclosure/disclosure-type.js';\nimport { CollapseButton } from './collapse-button.js';\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\nexport { Collapse };\n","import { DisclosuresGroup } from '../disclosure/disclosures-group.js';\n\nclass CollapsesGroup extends DisclosuresGroup {\n constructor () {\n super('Collapse');\n }\n\n static get instanceClassName () {\n return 'CollapsesGroup';\n }\n\n get canUngroup () {\n return true;\n }\n}\n\nexport { CollapsesGroup };\n","import ns from '../api/utilities/namespace.js';\n\nexport const EquisizedEmission = {\n CHANGE: ns('equisized', 'change')\n};\n","import { Instance } from '../api/modules/register/instance.js';\nimport { EquisizedEmission } from './equisized-emission.js';\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\nexport { Equisized };\n","import { Instance } from '../api/modules/register/instance.js';\nimport { EquisizedEmission } from './equisized-emission.js';\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\nexport { EquisizedsGroup };\n","import ns from '../../api/utilities/namespace.js';\n\nconst ToggleEvent = {\n TOGGLE: ns.event('toggle')\n};\n\nexport { ToggleEvent };\n","import { Instance } from '../../api/modules/register/instance.js';\nimport { completeAssign } from '../../api/utilities/property/complete-assign.js';\nimport { ToggleEvent } from './toggle-event.js';\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\nexport { Toggle };\n","export const RootSelector = {\n ROOT: ':root'\n};\n","const setAttributes = (el, attrs) => {\n Object.keys(attrs).forEach(key => el.setAttribute(key, attrs[key]));\n};\n\nexport { setAttributes };\n","import { Instance } from '../api/modules/register/instance.js';\nimport { setAttributes } from '../api/utilities/attribute';\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\nexport { InjectSvg };\n","import ns from '../api/utilities/namespace.js';\n\nexport const InjectSvgSelector = {\n INJECT_SVG: `[${ns.attr('inject-svg')}]`\n};\n","import { Instance } from '../api/modules/register/instance.js';\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\nexport { Artwork };\n","import ns from '../api/utilities/namespace.js';\n\nexport const ArtworkSelector = {\n ARTWORK_USE: `${ns.selector('artwork')} use`\n};\n","import ns from '../api/utilities/namespace.js';\n\nexport const 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","import ns from '../api/utilities/namespace.js';\n\nconst AssessEmission = {\n UPDATE: ns.emission('assess', 'update'),\n ADDED: ns.emission('assess', 'added')\n};\n\nexport { AssessEmission };\n","import ns from '../api/utilities/namespace.js';\nimport { Instance } from '../api/modules/register/instance.js';\nimport { AssessEmission } from './assess-emission';\nimport inspector from '../api/inspect/inspector.js';\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\nexport { AssessFile };\n","import { Instance } from '../api/modules/register/instance.js';\nimport { AssessEmission } from './assess-emission';\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\nexport { AssessDetail };\n","import ns from '../api/utilities/namespace.js';\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\nexport const RatioSelector = {\n RATIO: `${ns.selector('ratio')}, ${ratioSelector('ratio', ratiosImg)}, ${deprecatedRatioSelector}`\n};\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import { Instance } from '../api/modules/register/instance.js';\nimport api from '../../api.js';\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\nexport { Ratio };\n","import ns from '../api/utilities/namespace.js';\n\nexport const 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","import ns from '../api/utilities/namespace.js';\n\nexport const AlignSelector = {\n START: ns.selector('placement--start'),\n CENTER: ns.selector('placement--center'),\n END: ns.selector('placement--end')\n};\n","export const PlacementPosition = {\n TOP: 'place_top',\n RIGHT: 'place_right',\n BOTTOM: 'place_bottom',\n LEFT: 'place_left'\n};\n","export const PlacementAlign = {\n START: 'align_start',\n CENTER: 'align_center',\n END: 'align_end'\n};\n","export const PlacementMode = {\n AUTO: 'placement_auto',\n MANUAL: 'placement_manual'\n};\n","import { Instance } from '../api/modules/register/instance.js';\nimport { PlaceSelector } from './place-selector';\nimport { AlignSelector } from './align-selector';\nimport { completeAssign } from '../api/utilities/property/complete-assign.js';\nimport { PlacementPosition } from './placement-position';\nimport { PlacementAlign } from './placement-align';\nimport { PlacementMode } from './placement-mode';\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\nexport { Placement };\n","import { Instance } from '../api/modules/register/instance.js';\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\nexport { PlacementReferent };\n","import api from './script/api/api';\n\nimport { Instance } from './script/api/modules/register/instance.js';\nimport { KeyCodes } from './script/api/modules/register/key-codes.js';\nimport { Breakpoints } from './script/api/modules/register/breakpoints';\nimport { Disclosure } from './script/disclosure/disclosure.js';\nimport { DisclosureButton } from './script/disclosure/disclosure-button.js';\nimport { DisclosuresGroup } from './script/disclosure/disclosures-group.js';\nimport { DisclosureType } from './script/disclosure/disclosure-type.js';\nimport { DisclosureEvent } from './script/disclosure/disclosure-event.js';\nimport { DisclosureSelector } from './script/disclosure/disclosure-selector.js';\nimport { DisclosureEmission } from './script/disclosure/disclosure-emission.js';\nimport { CollapseButton } from './script/collapse/collapse-button.js';\nimport { Collapse } from './script/collapse/collapse.js';\nimport { CollapsesGroup } from './script/collapse/collapses-group.js';\nimport { CollapseSelector } from './script/collapse/collapse-selector.js';\nimport { Equisized } from './script/equisized/equisized.js';\nimport { EquisizedsGroup } from './script/equisized/equisizeds-group.js';\nimport { EquisizedEmission } from './script/equisized/equisized-emission.js';\nimport { Toggle } from './script/action/toggle/toggle';\nimport { RootSelector } from './script/api/modules/stage/root-selector.js';\nimport { RootEmission } from './script/api/modules/stage/root-emission.js';\nimport { InjectSvg } from './script/inject/inject-svg';\nimport { InjectSvgSelector } from './script/inject/inject-svg-selector';\nimport { Artwork } from './script/artwork/artwork';\nimport { ArtworkSelector } from './script/artwork/artwork-selector';\nimport { AssessSelector } from './script/assess/assess-selector';\nimport { AssessFile } from './script/assess/assess-file';\nimport { AssessDetail } from './script/assess/assess-detail';\nimport { AssessEmission } from './script/assess/assess-emission';\nimport { RatioSelector } from './script/ratio/ratio-selector.js';\nimport { Ratio } from './script/ratio/ratio.js';\nimport { Placement } from './script/placement/placement.js';\nimport { PlacementReferent } from './script/placement/placement-referent';\nimport { PlacementAlign } from './script/placement/placement-align';\nimport { PlacementPosition } from './script/placement/placement-position';\nimport { PlacementMode } from './script/placement/placement-mode';\n\napi.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\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.core.CollapseSelector.COLLAPSE, api.core.Collapse);\napi.internals.register(api.core.InjectSvgSelector.INJECT_SVG, api.core.InjectSvg);\napi.internals.register(api.core.RatioSelector.RATIO, api.core.Ratio);\napi.internals.register(api.core.AssessSelector.ASSESS_FILE, api.core.AssessFile);\napi.internals.register(api.core.AssessSelector.DETAIL, api.core.AssessDetail);\n\nexport default api;\n","import api from './index.js';\n\n/* legacy code here */\napi.internals.legacy.setLegacy();\napi.internals.register(api.core.ArtworkSelector.ARTWORK_USE, api.core.Artwork);\n\nexport default api;\n"],"names":["const","prototypeAccessors","this","module","let","super","element","registration","motion","api","type","i","member"],"mappings":"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"}