TP_JO2024/home/dist/component/tab/tab.nomodule.js.map
2024-03-27 17:19:37 +01:00

1 line
No EOL
25 KiB
Text

{"version":3,"file":"tab.nomodule.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/tab/script/tab/tab-button.js","../../../src/component/tab/script/tab/tab-selector.js","../../../src/component/tab/script/tab/tab-panel-direction.js","../../../src/component/tab/script/tab/tab-panel.js","../../../src/component/tab/script/tab/tab-keys.js","../../../src/component/tab/script/tab/tab-emission.js","../../../src/component/tab/script/tab/tabs-group.js","../../../src/component/tab/script/tab/tabs-list.js","../../../src/component/tab/index.js","../../../src/component/tab/main.js"],"sourcesContent":["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 config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\n/**\n * TabButton correspond au bouton cliquable qui change le panel\n * TabButton étend de DisclosureButton qui ajoute/enelve l'attribut aria-selected,\n * Et change l'attributte tabindex a 0 si le boutton est actif (value=true), -1 s'il n'est pas actif (value=false)\n */\nclass TabButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.SELECT);\n }\n\n static get instanceClassName () {\n return 'TabButton';\n }\n\n handleClick (e) {\n super.handleClick(e);\n this.focus();\n }\n\n apply (value) {\n super.apply(value);\n if (this.isPrimary) {\n this.setAttribute('tabindex', value ? '0' : '-1');\n if (value) {\n if (this.list) this.list.focalize(this);\n }\n }\n }\n\n get list () {\n return this.element.getAscendantInstance('TabsList', 'TabsGroup');\n }\n}\n\nexport { TabButton };\n","import api from '../../api.js';\n\nexport const TabSelector = {\n TAB: api.internals.ns.selector('tabs__tab'),\n GROUP: api.internals.ns.selector('tabs'),\n PANEL: api.internals.ns.selector('tabs__panel'),\n LIST: api.internals.ns.selector('tabs__list'),\n SHADOW: api.internals.ns.selector('tabs__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('tabs__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('tabs__shadow--right'),\n PANEL_START: api.internals.ns.selector('tabs__panel--direction-start'),\n PANEL_END: api.internals.ns.selector('tabs__panel--direction-end')\n};\n","export const TabPanelDirection = {\n START: 'direction-start',\n END: 'direction-end',\n NONE: 'none'\n};\n","import api from '../../api.js';\nimport { TabButton } from './tab-button.js';\nimport { TabSelector } from './tab-selector.js';\nimport { TabPanelDirection } from './tab-panel-direction.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 TabPanel extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.SELECT, TabSelector.PANEL, TabButton, 'TabsGroup');\n this._direction = TabPanelDirection.NONE;\n this._isPreventingTransition = false;\n }\n\n static get instanceClassName () {\n return 'TabPanel';\n }\n\n get direction () {\n return this._direction;\n }\n\n set direction (value) {\n if (value === this._direction) return;\n switch (this._direction) {\n case TabPanelDirection.START:\n this.removeClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.removeClass(TabSelector.PANEL_END);\n break;\n\n case TabPanelDirection.NONE:\n break;\n\n default:\n return;\n }\n\n this._direction = value;\n\n switch (this._direction) {\n case TabPanelDirection.START:\n this.addClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.addClass(TabSelector.PANEL_END);\n break;\n }\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n translate (direction, initial) {\n this.isPreventingTransition = initial;\n this.direction = direction;\n }\n\n reset () {\n if (this.group) this.group.retrieve(true);\n }\n\n _electPrimaries (candidates) {\n if (!this.group || !this.group.list) return [];\n return super._electPrimaries(candidates).filter(candidate => this.group.list.node.contains(candidate.node));\n }\n}\n\nexport { TabPanel };\n","export const TabKeys = {\n LEFT: 'tab_keys_left',\n RIGHT: 'tab_keys_right',\n HOME: 'tab_keys_home',\n END: 'tab_keys_end'\n};\n","import api from '../../api.js';\n\nexport const TabEmission = {\n PRESS_KEY: api.internals.ns.emission('tab', 'press_key'),\n LIST_HEIGHT: api.internals.ns.emission('tab', 'list_height')\n};\n","import api from '../../api.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\nimport { TabKeys } from './tab-keys';\nimport { TabEmission } from './tab-emission';\n\n/**\n* TabGroup est la classe étendue de DiscosuresGroup\n* Correspond à un objet Tabs avec plusieurs tab-button & Tab (panel)\n*/\nclass TabsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('TabPanel');\n }\n\n static get instanceClassName () {\n return 'TabsGroup';\n }\n\n init () {\n super.init();\n\n this.listen('transitionend', this.transitionend.bind(this));\n this.addAscent(TabEmission.PRESS_KEY, this.pressKey.bind(this));\n this.addAscent(TabEmission.LIST_HEIGHT, this.setListHeight.bind(this));\n this.isRendering = true;\n }\n\n getIndex (defaultIndex = 0) {\n super.getIndex(defaultIndex);\n }\n\n get list () {\n return this.element.getDescendantInstances('TabsList', 'TabsGroup', true)[0];\n }\n\n setListHeight (value) {\n this.listHeight = value;\n }\n\n transitionend (e) {\n this.isPreventingTransition = true;\n }\n\n get buttonHasFocus () {\n return this.members.some(member => member.buttonHasFocus);\n }\n\n pressKey (key) {\n switch (key) {\n case TabKeys.LEFT:\n this.pressLeft();\n break;\n\n case TabKeys.RIGHT:\n this.pressRight();\n break;\n\n case TabKeys.HOME:\n this.pressHome();\n break;\n\n case TabKeys.END:\n this.pressEnd();\n break;\n }\n }\n\n /**\n * Selectionne l'element suivant de la liste si on est sur un bouton\n * Si on est à la fin on retourne au début\n */\n pressRight () {\n if (this.buttonHasFocus) {\n if (this.index < this.length - 1) {\n this.index++;\n } else {\n this.index = 0;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne l'element précédent de la liste si on est sur un bouton\n * Si on est au debut retourne a la fin\n */\n pressLeft () {\n if (this.buttonHasFocus) {\n if (this.index > 0) {\n this.index--;\n } else {\n this.index = this.length - 1;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne le permier element de la liste si on est sur un bouton\n */\n pressHome () {\n if (this.buttonHasFocus) {\n this.index = 0;\n this.focus();\n }\n };\n\n /**\n * Selectionne le dernier element de la liste si on est sur un bouton\n */\n pressEnd () {\n if (this.buttonHasFocus) {\n this.index = this.length - 1;\n this.focus();\n }\n };\n\n focus () {\n if (this.current) {\n this.current.focus();\n }\n }\n\n apply () {\n for (let i = 0; i < this._index; i++) this.members[i].translate(TabPanelDirection.START);\n if (this.current) this.current.translate(TabPanelDirection.NONE);\n for (let i = this._index + 1; i < this.length; i++) this.members[i].translate(TabPanelDirection.END);\n this.isPreventingTransition = false;\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n render () {\n if (this.current === null) return;\n this.node.scrollTop = 0;\n this.node.scrollLeft = 0;\n const paneHeight = Math.round(this.current.node.offsetHeight);\n if (this.panelHeight === paneHeight) return;\n this.panelHeight = paneHeight;\n this.style.setProperty('--tabs-height', (this.panelHeight + this.listHeight) + 'px');\n }\n}\n\nexport { TabsGroup };\n","import api from '../../api.js';\nimport { TabSelector } from './tab-selector';\nimport { TabKeys } from './tab-keys';\nimport { TabEmission } from './tab-emission';\n\nconst FOCALIZE_OFFSET = 16;\nconst SCROLL_OFFSET = 16; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TabsList extends api.core.Instance {\n static get instanceClassName () {\n return 'TabsList';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.listenKey(api.core.KeyCodes.RIGHT, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.RIGHT), true, true);\n this.listenKey(api.core.KeyCodes.LEFT, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.LEFT), true, true);\n this.listenKey(api.core.KeyCodes.HOME, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.HOME), true, true);\n this.listenKey(api.core.KeyCodes.END, this.ascend.bind(this, TabEmission.PRESS_KEY, TabKeys.END), true, true);\n this.isResizing = true;\n }\n\n focalize (btn) {\n const btnRect = btn.getRect();\n const listRect = this.getRect();\n const actualScroll = this.node.scrollLeft;\n if (btnRect.left < listRect.left) this.node.scrollTo(actualScroll - listRect.left + btnRect.left - FOCALIZE_OFFSET, 0);\n else if (btnRect.right > listRect.right) this.node.scrollTo(actualScroll - listRect.right + btnRect.right + FOCALIZE_OFFSET, 0);\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n this.apply();\n }\n\n apply () {\n if (this._isScrolling) {\n this.addClass(TabSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TabSelector.SHADOW_RIGHT);\n this.removeClass(TabSelector.SHADOW_LEFT);\n this.removeClass(TabSelector.SHADOW);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const scrollLeft = this.node.scrollLeft;\n const isMin = scrollLeft <= SCROLL_OFFSET;\n const max = this.node.scrollWidth - this.node.clientWidth - SCROLL_OFFSET;\n\n const isMax = Math.abs(scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TabSelector.SHADOW_RIGHT : TabSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TabSelector.SHADOW_LEFT : TabSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.node.scrollWidth > this.node.clientWidth + SCROLL_OFFSET;\n const height = this.getRect().height;\n this.setProperty('--tabs-list-height', `${height}px`);\n this.ascend(TabEmission.LIST_HEIGHT, height);\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TabsList };\n","import api from './api.js';\nimport { TabPanel } from './script/tab/tab-panel.js';\nimport { TabButton } from './script/tab/tab-button.js';\nimport { TabsGroup } from './script/tab/tabs-group.js';\nimport { TabsList } from './script/tab/tabs-list.js';\nimport { TabSelector } from './script/tab/tab-selector.js';\nimport { TabEmission } from './script/tab/tab-emission.js';\n\napi.tab = {\n TabPanel: TabPanel,\n TabButton: TabButton,\n TabsGroup: TabsGroup,\n TabsList: TabsList,\n TabSelector: TabSelector,\n TabEmission: TabEmission\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tab.TabSelector.PANEL, api.tab.TabPanel);\napi.internals.register(api.tab.TabSelector.GROUP, api.tab.TabsGroup);\napi.internals.register(api.tab.TabSelector.LIST, api.tab.TabsList);\n\nexport default api;\n"],"names":["const","super","this","let","i"],"mappings":"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"}