@gouvfr/dsfr 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.config/config.js +1 -1
- package/.config/config.json +43 -38
- package/.config/icon.json +1 -1
- package/.config/icon.scss +2 -4
- package/dist/component/accordion/accordion.css +1 -1
- package/dist/component/accordion/accordion.legacy.css +1 -1
- package/dist/component/accordion/accordion.legacy.min.css +1 -1
- package/dist/component/accordion/accordion.main.css +1 -1
- package/dist/component/accordion/accordion.main.min.css +1 -1
- package/dist/component/accordion/accordion.min.css +1 -1
- package/dist/component/accordion/accordion.module.js +2 -2
- package/dist/component/accordion/accordion.module.js.map +1 -1
- package/dist/component/accordion/accordion.module.min.js +1 -1
- package/dist/component/accordion/accordion.module.min.js.map +1 -1
- package/dist/component/accordion/accordion.nomodule.js +2 -2
- package/dist/component/accordion/accordion.nomodule.js.map +1 -1
- package/dist/component/accordion/accordion.nomodule.min.js +1 -1
- package/dist/component/accordion/accordion.nomodule.min.js.map +1 -1
- package/dist/component/alert/alert.css +1 -1
- package/dist/component/alert/alert.legacy.css +1 -1
- package/dist/component/alert/alert.legacy.min.css +1 -1
- package/dist/component/alert/alert.main.css +1 -1
- package/dist/component/alert/alert.main.min.css +1 -1
- package/dist/component/alert/alert.min.css +1 -1
- package/dist/component/badge/badge.css +1 -1
- package/dist/component/badge/badge.legacy.css +1 -1
- package/dist/component/badge/badge.legacy.min.css +1 -1
- package/dist/component/badge/badge.main.css +1 -1
- package/dist/component/badge/badge.main.min.css +1 -1
- package/dist/component/badge/badge.min.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.legacy.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.legacy.min.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.main.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.main.min.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.min.css +1 -1
- package/dist/component/breadcrumb/breadcrumb.module.js +2 -2
- package/dist/component/breadcrumb/breadcrumb.module.js.map +1 -1
- package/dist/component/breadcrumb/breadcrumb.module.min.js +1 -1
- package/dist/component/breadcrumb/breadcrumb.module.min.js.map +1 -1
- package/dist/component/breadcrumb/breadcrumb.nomodule.js +2 -2
- package/dist/component/breadcrumb/breadcrumb.nomodule.js.map +1 -1
- package/dist/component/breadcrumb/breadcrumb.nomodule.min.js +1 -1
- package/dist/component/breadcrumb/breadcrumb.nomodule.min.js.map +1 -1
- package/dist/component/button/button.css +1 -1
- package/dist/component/button/button.legacy.css +1 -1
- package/dist/component/button/button.legacy.min.css +1 -1
- package/dist/component/button/button.main.css +1 -1
- package/dist/component/button/button.main.min.css +1 -1
- package/dist/component/button/button.min.css +1 -1
- package/dist/component/button/button.module.js +2 -2
- package/dist/component/button/button.module.js.map +1 -1
- package/dist/component/button/button.module.min.js +1 -1
- package/dist/component/button/button.module.min.js.map +1 -1
- package/dist/component/button/button.nomodule.js +2 -2
- package/dist/component/button/button.nomodule.js.map +1 -1
- package/dist/component/button/button.nomodule.min.js +1 -1
- package/dist/component/button/button.nomodule.min.js.map +1 -1
- package/dist/component/callout/callout.css +1 -1
- package/dist/component/callout/callout.legacy.css +1 -1
- package/dist/component/callout/callout.legacy.min.css +1 -1
- package/dist/component/callout/callout.main.css +1 -1
- package/dist/component/callout/callout.main.min.css +1 -1
- package/dist/component/callout/callout.min.css +1 -1
- package/dist/component/card/card.css +1 -1
- package/dist/component/card/card.legacy.css +1 -1
- package/dist/component/card/card.legacy.min.css +1 -1
- package/dist/component/card/card.main.css +1 -1
- package/dist/component/card/card.main.min.css +1 -1
- package/dist/component/card/card.min.css +1 -1
- package/dist/component/checkbox/checkbox.css +1 -1
- package/dist/component/checkbox/checkbox.legacy.css +1 -1
- package/dist/component/checkbox/checkbox.legacy.min.css +1 -1
- package/dist/component/checkbox/checkbox.main.css +1 -1
- package/dist/component/checkbox/checkbox.main.min.css +1 -1
- package/dist/component/checkbox/checkbox.min.css +1 -1
- package/dist/component/component.css +1 -1
- package/dist/component/component.legacy.css +1 -1
- package/dist/component/component.legacy.min.css +1 -1
- package/dist/component/component.main.css +1 -1
- package/dist/component/component.main.min.css +1 -1
- package/dist/component/component.min.css +1 -1
- package/dist/component/component.module.js +11 -8
- package/dist/component/component.module.js.map +1 -1
- package/dist/component/component.module.min.js +2 -2
- package/dist/component/component.module.min.js.map +1 -1
- package/dist/component/component.nomodule.js +11 -8
- package/dist/component/component.nomodule.js.map +1 -1
- package/dist/component/component.nomodule.min.js +2 -2
- package/dist/component/component.nomodule.min.js.map +1 -1
- package/dist/component/connect/connect.css +1 -1
- package/dist/component/connect/connect.legacy.css +1 -1
- package/dist/component/connect/connect.legacy.min.css +1 -1
- package/dist/component/connect/connect.main.css +1 -1
- package/dist/component/connect/connect.main.min.css +1 -1
- package/dist/component/connect/connect.min.css +1 -1
- package/dist/component/consent/consent.css +1 -1
- package/dist/component/consent/consent.legacy.css +1 -1
- package/dist/component/consent/consent.legacy.min.css +1 -1
- package/dist/component/consent/consent.main.css +1 -1
- package/dist/component/consent/consent.main.min.css +1 -1
- package/dist/component/consent/consent.min.css +1 -1
- package/dist/component/content/content.css +1 -1
- package/dist/component/content/content.legacy.css +1 -1
- package/dist/component/content/content.legacy.min.css +1 -1
- package/dist/component/content/content.main.css +1 -1
- package/dist/component/content/content.main.min.css +1 -1
- package/dist/component/content/content.min.css +1 -1
- package/dist/component/display/display.module.js +2 -2
- package/dist/component/display/display.module.js.map +1 -1
- package/dist/component/display/display.module.min.js +1 -1
- package/dist/component/display/display.module.min.js.map +1 -1
- package/dist/component/display/display.nomodule.js +2 -2
- package/dist/component/display/display.nomodule.js.map +1 -1
- package/dist/component/display/display.nomodule.min.js +1 -1
- package/dist/component/display/display.nomodule.min.js.map +1 -1
- package/dist/component/download/download.css +1 -1
- package/dist/component/download/download.min.css +1 -1
- package/dist/component/download/download.module.js +11 -8
- package/dist/component/download/download.module.js.map +1 -1
- package/dist/component/download/download.module.min.js +2 -2
- package/dist/component/download/download.module.min.js.map +1 -1
- package/dist/component/download/download.nomodule.js +11 -8
- package/dist/component/download/download.nomodule.js.map +1 -1
- package/dist/component/download/download.nomodule.min.js +2 -2
- package/dist/component/download/download.nomodule.min.js.map +1 -1
- package/dist/component/follow/follow.css +1 -1
- package/dist/component/follow/follow.legacy.css +1 -1
- package/dist/component/follow/follow.legacy.min.css +1 -1
- package/dist/component/follow/follow.main.css +1 -1
- package/dist/component/follow/follow.main.min.css +1 -1
- package/dist/component/follow/follow.min.css +1 -1
- package/dist/component/footer/footer.css +1 -1
- package/dist/component/footer/footer.legacy.css +1 -1
- package/dist/component/footer/footer.legacy.min.css +1 -1
- package/dist/component/footer/footer.main.css +1 -1
- package/dist/component/footer/footer.main.min.css +1 -1
- package/dist/component/footer/footer.min.css +1 -1
- package/dist/component/form/form.css +1 -1
- package/dist/component/form/form.legacy.css +1 -1
- package/dist/component/form/form.legacy.min.css +1 -1
- package/dist/component/form/form.main.css +1 -1
- package/dist/component/form/form.main.min.css +1 -1
- package/dist/component/form/form.min.css +1 -1
- package/dist/component/header/header.css +1 -1
- package/dist/component/header/header.legacy.css +1 -1
- package/dist/component/header/header.legacy.min.css +1 -1
- package/dist/component/header/header.main.css +1 -1
- package/dist/component/header/header.main.min.css +1 -1
- package/dist/component/header/header.min.css +1 -1
- package/dist/component/header/header.module.js +2 -2
- package/dist/component/header/header.module.js.map +1 -1
- package/dist/component/header/header.module.min.js +1 -1
- package/dist/component/header/header.module.min.js.map +1 -1
- package/dist/component/header/header.nomodule.js +2 -2
- package/dist/component/header/header.nomodule.js.map +1 -1
- package/dist/component/header/header.nomodule.min.js +1 -1
- package/dist/component/header/header.nomodule.min.js.map +1 -1
- package/dist/component/highlight/highlight.css +1 -1
- package/dist/component/highlight/highlight.legacy.css +1 -1
- package/dist/component/highlight/highlight.legacy.min.css +1 -1
- package/dist/component/highlight/highlight.main.css +1 -1
- package/dist/component/highlight/highlight.main.min.css +1 -1
- package/dist/component/highlight/highlight.min.css +1 -1
- package/dist/component/input/input.css +1 -1
- package/dist/component/input/input.legacy.css +1 -1
- package/dist/component/input/input.legacy.min.css +1 -1
- package/dist/component/input/input.main.css +1 -1
- package/dist/component/input/input.main.min.css +1 -1
- package/dist/component/input/input.min.css +1 -1
- package/dist/component/link/link.css +1 -1
- package/dist/component/link/link.legacy.css +1 -1
- package/dist/component/link/link.legacy.min.css +1 -1
- package/dist/component/link/link.main.css +1 -1
- package/dist/component/link/link.main.min.css +1 -1
- package/dist/component/link/link.min.css +1 -1
- package/dist/component/logo/logo.css +1 -1
- package/dist/component/logo/logo.legacy.css +1 -1
- package/dist/component/logo/logo.legacy.min.css +1 -1
- package/dist/component/logo/logo.main.css +1 -1
- package/dist/component/logo/logo.main.min.css +1 -1
- package/dist/component/logo/logo.min.css +1 -1
- package/dist/component/modal/modal.css +1 -1
- package/dist/component/modal/modal.legacy.css +1 -1
- package/dist/component/modal/modal.legacy.min.css +1 -1
- package/dist/component/modal/modal.main.css +1 -1
- package/dist/component/modal/modal.main.min.css +1 -1
- package/dist/component/modal/modal.min.css +1 -1
- package/dist/component/modal/modal.module.js +2 -2
- package/dist/component/modal/modal.module.js.map +1 -1
- package/dist/component/modal/modal.module.min.js +1 -1
- package/dist/component/modal/modal.module.min.js.map +1 -1
- package/dist/component/modal/modal.nomodule.js +2 -2
- package/dist/component/modal/modal.nomodule.js.map +1 -1
- package/dist/component/modal/modal.nomodule.min.js +1 -1
- package/dist/component/modal/modal.nomodule.min.js.map +1 -1
- package/dist/component/navigation/navigation.css +1 -1
- package/dist/component/navigation/navigation.legacy.css +1 -1
- package/dist/component/navigation/navigation.legacy.min.css +1 -1
- package/dist/component/navigation/navigation.main.css +1 -1
- package/dist/component/navigation/navigation.main.min.css +1 -1
- package/dist/component/navigation/navigation.min.css +1 -1
- package/dist/component/navigation/navigation.module.js +2 -2
- package/dist/component/navigation/navigation.module.js.map +1 -1
- package/dist/component/navigation/navigation.module.min.js +1 -1
- package/dist/component/navigation/navigation.module.min.js.map +1 -1
- package/dist/component/navigation/navigation.nomodule.js +2 -2
- package/dist/component/navigation/navigation.nomodule.js.map +1 -1
- package/dist/component/navigation/navigation.nomodule.min.js +1 -1
- package/dist/component/navigation/navigation.nomodule.min.js.map +1 -1
- package/dist/component/pagination/pagination.css +1 -1
- package/dist/component/pagination/pagination.legacy.css +1 -1
- package/dist/component/pagination/pagination.legacy.min.css +1 -1
- package/dist/component/pagination/pagination.main.css +1 -1
- package/dist/component/pagination/pagination.main.min.css +1 -1
- package/dist/component/pagination/pagination.min.css +1 -1
- package/dist/component/quote/quote.css +1 -1
- package/dist/component/quote/quote.legacy.css +1 -1
- package/dist/component/quote/quote.legacy.min.css +1 -1
- package/dist/component/quote/quote.main.css +1 -1
- package/dist/component/quote/quote.main.min.css +1 -1
- package/dist/component/quote/quote.min.css +1 -1
- package/dist/component/radio/radio.css +1 -1
- package/dist/component/radio/radio.legacy.css +1 -1
- package/dist/component/radio/radio.legacy.min.css +1 -1
- package/dist/component/radio/radio.main.css +1 -1
- package/dist/component/radio/radio.main.min.css +1 -1
- package/dist/component/radio/radio.min.css +1 -1
- package/dist/component/search/search.css +1 -1
- package/dist/component/search/search.legacy.css +1 -1
- package/dist/component/search/search.legacy.min.css +1 -1
- package/dist/component/search/search.main.css +1 -1
- package/dist/component/search/search.main.min.css +1 -1
- package/dist/component/search/search.min.css +1 -1
- package/dist/component/select/select.css +1 -1
- package/dist/component/select/select.legacy.css +1 -1
- package/dist/component/select/select.legacy.min.css +1 -1
- package/dist/component/select/select.main.css +1 -1
- package/dist/component/select/select.main.min.css +1 -1
- package/dist/component/select/select.min.css +1 -1
- package/dist/component/share/share.css +1 -1
- package/dist/component/share/share.legacy.css +1 -1
- package/dist/component/share/share.legacy.min.css +1 -1
- package/dist/component/share/share.main.css +1 -1
- package/dist/component/share/share.main.min.css +1 -1
- package/dist/component/share/share.min.css +1 -1
- package/dist/component/sidemenu/sidemenu.css +1 -1
- package/dist/component/sidemenu/sidemenu.legacy.css +1 -1
- package/dist/component/sidemenu/sidemenu.legacy.min.css +1 -1
- package/dist/component/sidemenu/sidemenu.main.css +1 -1
- package/dist/component/sidemenu/sidemenu.main.min.css +1 -1
- package/dist/component/sidemenu/sidemenu.min.css +1 -1
- package/dist/component/sidemenu/sidemenu.module.js +2 -2
- package/dist/component/sidemenu/sidemenu.module.js.map +1 -1
- package/dist/component/sidemenu/sidemenu.module.min.js +1 -1
- package/dist/component/sidemenu/sidemenu.module.min.js.map +1 -1
- package/dist/component/sidemenu/sidemenu.nomodule.js +2 -2
- package/dist/component/sidemenu/sidemenu.nomodule.js.map +1 -1
- package/dist/component/sidemenu/sidemenu.nomodule.min.js +1 -1
- package/dist/component/sidemenu/sidemenu.nomodule.min.js.map +1 -1
- package/dist/component/skiplink/skiplink.css +1 -1
- package/dist/component/skiplink/skiplink.legacy.css +1 -1
- package/dist/component/skiplink/skiplink.legacy.min.css +1 -1
- package/dist/component/skiplink/skiplink.main.css +1 -1
- package/dist/component/skiplink/skiplink.main.min.css +1 -1
- package/dist/component/skiplink/skiplink.min.css +1 -1
- package/dist/component/summary/summary.css +1 -1
- package/dist/component/summary/summary.legacy.css +1 -1
- package/dist/component/summary/summary.legacy.min.css +1 -1
- package/dist/component/summary/summary.main.css +1 -1
- package/dist/component/summary/summary.main.min.css +1 -1
- package/dist/component/summary/summary.min.css +1 -1
- package/dist/component/tab/tab.css +1 -1
- package/dist/component/tab/tab.legacy.css +1 -1
- package/dist/component/tab/tab.legacy.min.css +1 -1
- package/dist/component/tab/tab.main.css +1 -1
- package/dist/component/tab/tab.main.min.css +1 -1
- package/dist/component/tab/tab.min.css +1 -1
- package/dist/component/tab/tab.module.js +2 -2
- package/dist/component/tab/tab.module.js.map +1 -1
- package/dist/component/tab/tab.module.min.js +1 -1
- package/dist/component/tab/tab.module.min.js.map +1 -1
- package/dist/component/tab/tab.nomodule.js +2 -2
- package/dist/component/tab/tab.nomodule.js.map +1 -1
- package/dist/component/tab/tab.nomodule.min.js +1 -1
- package/dist/component/tab/tab.nomodule.min.js.map +1 -1
- package/dist/component/table/table.css +1 -1
- package/dist/component/table/table.legacy.css +1 -1
- package/dist/component/table/table.legacy.min.css +1 -1
- package/dist/component/table/table.main.css +1 -1
- package/dist/component/table/table.main.min.css +1 -1
- package/dist/component/table/table.min.css +1 -1
- package/dist/component/table/table.module.js +2 -2
- package/dist/component/table/table.module.js.map +1 -1
- package/dist/component/table/table.module.min.js +1 -1
- package/dist/component/table/table.module.min.js.map +1 -1
- package/dist/component/table/table.nomodule.js +2 -2
- package/dist/component/table/table.nomodule.js.map +1 -1
- package/dist/component/table/table.nomodule.min.js +1 -1
- package/dist/component/table/table.nomodule.min.js.map +1 -1
- package/dist/component/tag/tag.css +1 -1
- package/dist/component/tag/tag.legacy.css +1 -1
- package/dist/component/tag/tag.legacy.min.css +1 -1
- package/dist/component/tag/tag.main.css +1 -1
- package/dist/component/tag/tag.main.min.css +1 -1
- package/dist/component/tag/tag.min.css +1 -1
- package/dist/component/tag/tag.module.js +2 -2
- package/dist/component/tag/tag.module.js.map +1 -1
- package/dist/component/tag/tag.module.min.js +1 -1
- package/dist/component/tag/tag.module.min.js.map +1 -1
- package/dist/component/tag/tag.nomodule.js +2 -2
- package/dist/component/tag/tag.nomodule.js.map +1 -1
- package/dist/component/tag/tag.nomodule.min.js +1 -1
- package/dist/component/tag/tag.nomodule.min.js.map +1 -1
- package/dist/component/tile/tile.css +1 -1
- package/dist/component/tile/tile.legacy.css +1 -1
- package/dist/component/tile/tile.legacy.min.css +1 -1
- package/dist/component/tile/tile.main.css +1 -1
- package/dist/component/tile/tile.main.min.css +1 -1
- package/dist/component/tile/tile.min.css +1 -1
- package/dist/component/toggle/toggle.css +1 -1
- package/dist/component/toggle/toggle.legacy.css +1 -1
- package/dist/component/toggle/toggle.legacy.min.css +1 -1
- package/dist/component/toggle/toggle.main.css +1 -1
- package/dist/component/toggle/toggle.main.min.css +1 -1
- package/dist/component/toggle/toggle.min.css +1 -1
- package/dist/component/toggle/toggle.module.js +2 -2
- package/dist/component/toggle/toggle.module.js.map +1 -1
- package/dist/component/toggle/toggle.module.min.js +1 -1
- package/dist/component/toggle/toggle.module.min.js.map +1 -1
- package/dist/component/toggle/toggle.nomodule.js +2 -2
- package/dist/component/toggle/toggle.nomodule.js.map +1 -1
- package/dist/component/toggle/toggle.nomodule.min.js +1 -1
- package/dist/component/toggle/toggle.nomodule.min.js.map +1 -1
- package/dist/component/upload/upload.css +1 -1
- package/dist/component/upload/upload.min.css +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.legacy.css +1 -1
- package/dist/core/core.legacy.min.css +1 -1
- package/dist/core/core.main.css +1 -1
- package/dist/core/core.main.min.css +1 -1
- package/dist/core/core.min.css +1 -1
- package/dist/core/core.module.js +2 -2
- package/dist/core/core.module.js.map +1 -1
- package/dist/core/core.module.min.js +2 -2
- package/dist/core/core.module.min.js.map +1 -1
- package/dist/core/core.nomodule.js +2 -2
- package/dist/core/core.nomodule.js.map +1 -1
- package/dist/core/core.nomodule.min.js +2 -2
- package/dist/core/core.nomodule.min.js.map +1 -1
- package/dist/dsfr/dsfr.css +1 -1
- package/dist/dsfr/dsfr.legacy.css +1 -1
- package/dist/dsfr/dsfr.legacy.min.css +1 -1
- package/dist/dsfr/dsfr.main.css +1 -1
- package/dist/dsfr/dsfr.main.min.css +1 -1
- package/dist/dsfr/dsfr.min.css +1 -1
- package/dist/dsfr/dsfr.module.js +11 -8
- package/dist/dsfr/dsfr.module.js.map +1 -1
- package/dist/dsfr/dsfr.module.min.js +2 -2
- package/dist/dsfr/dsfr.module.min.js.map +1 -1
- package/dist/dsfr/{dsfr-deprecated.nomodule.js → dsfr.nomodule.js} +12 -9
- package/dist/dsfr/dsfr.nomodule.js.map +1 -0
- package/dist/dsfr/{dsfr-deprecated.nomodule.min.js → dsfr.nomodule.min.js} +3 -3
- package/dist/dsfr/dsfr.nomodule.min.js.map +1 -0
- package/dist/dsfr.css +1 -1
- package/dist/dsfr.legacy.css +1 -1
- package/dist/dsfr.legacy.min.css +1 -1
- package/dist/dsfr.main.css +1 -1
- package/dist/dsfr.main.min.css +1 -1
- package/dist/dsfr.min.css +1 -1
- package/dist/dsfr.module.js +11 -8
- package/dist/dsfr.module.js.map +1 -1
- package/dist/dsfr.module.min.js +2 -2
- package/dist/dsfr.module.min.js.map +1 -1
- package/dist/dsfr.nomodule.js +11 -8
- package/dist/dsfr.nomodule.js.map +1 -1
- package/dist/dsfr.nomodule.min.js +2 -2
- package/dist/dsfr.nomodule.min.js.map +1 -1
- package/dist/icons/system/{delete-line.svg → delete-bin-fill.svg} +0 -0
- package/dist/icons/system/{delete-fill.svg → delete-bin-line.svg} +0 -0
- package/dist/legacy/legacy.nomodule.js +1 -1
- package/dist/legacy/legacy.nomodule.min.js +1 -1
- package/dist/scheme/scheme.css +1 -1
- package/dist/scheme/scheme.min.css +1 -1
- package/dist/scheme/scheme.module.js +2 -2
- package/dist/scheme/scheme.module.js.map +1 -1
- package/dist/scheme/scheme.module.min.js +1 -1
- package/dist/scheme/scheme.module.min.js.map +1 -1
- package/dist/utility/README.md +12 -1
- package/dist/utility/icons/README.md +7 -1
- package/dist/utility/icons/icons-buildings/README.md +7 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.css +19 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.css.map +1 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.legacy.css +9 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.legacy.css.map +1 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.legacy.min.css +2 -2
- package/dist/utility/icons/icons-buildings/icons-buildings.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.main.css +11 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.main.css.map +1 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.main.min.css +2 -2
- package/dist/utility/icons/icons-buildings/icons-buildings.main.min.css.map +1 -1
- package/dist/utility/icons/icons-buildings/icons-buildings.min.css +3 -3
- package/dist/utility/icons/icons-buildings/icons-buildings.min.css.map +1 -1
- package/dist/utility/icons/icons-business/README.md +7 -1
- package/dist/utility/icons/icons-business/icons-business.css +100 -1
- package/dist/utility/icons/icons-business/icons-business.css.map +1 -1
- package/dist/utility/icons/icons-business/icons-business.legacy.css +45 -1
- package/dist/utility/icons/icons-business/icons-business.legacy.css.map +1 -1
- package/dist/utility/icons/icons-business/icons-business.legacy.min.css +2 -2
- package/dist/utility/icons/icons-business/icons-business.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-business/icons-business.main.css +56 -1
- package/dist/utility/icons/icons-business/icons-business.main.css.map +1 -1
- package/dist/utility/icons/icons-business/icons-business.main.min.css +2 -2
- package/dist/utility/icons/icons-business/icons-business.main.min.css.map +1 -1
- package/dist/utility/icons/icons-business/icons-business.min.css +3 -3
- package/dist/utility/icons/icons-business/icons-business.min.css.map +1 -1
- package/dist/utility/icons/icons-communication/README.md +7 -1
- package/dist/utility/icons/icons-communication/icons-communication.css +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.css.map +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.legacy.css +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.legacy.min.css +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.main.css +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.main.css.map +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.main.min.css +1 -1
- package/dist/utility/icons/icons-communication/icons-communication.min.css +1 -1
- package/dist/utility/icons/icons-design/README.md +7 -1
- package/dist/utility/icons/icons-design/icons-design.css +19 -1
- package/dist/utility/icons/icons-design/icons-design.css.map +1 -1
- package/dist/utility/icons/icons-design/icons-design.legacy.css +9 -1
- package/dist/utility/icons/icons-design/icons-design.legacy.css.map +1 -1
- package/dist/utility/icons/icons-design/icons-design.legacy.min.css +2 -2
- package/dist/utility/icons/icons-design/icons-design.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-design/icons-design.main.css +11 -1
- package/dist/utility/icons/icons-design/icons-design.main.css.map +1 -1
- package/dist/utility/icons/icons-design/icons-design.main.min.css +2 -2
- package/dist/utility/icons/icons-design/icons-design.main.min.css.map +1 -1
- package/dist/utility/icons/icons-design/icons-design.min.css +3 -3
- package/dist/utility/icons/icons-design/icons-design.min.css.map +1 -1
- package/dist/utility/icons/icons-development/README.md +7 -1
- package/dist/utility/icons/icons-development/icons-development.css +1 -1
- package/dist/utility/icons/icons-development/icons-development.css.map +1 -1
- package/dist/utility/icons/icons-development/icons-development.legacy.css +1 -1
- package/dist/utility/icons/icons-development/icons-development.legacy.min.css +1 -1
- package/dist/utility/icons/icons-development/icons-development.main.css +1 -1
- package/dist/utility/icons/icons-development/icons-development.main.css.map +1 -1
- package/dist/utility/icons/icons-development/icons-development.main.min.css +1 -1
- package/dist/utility/icons/icons-development/icons-development.min.css +1 -1
- package/dist/utility/icons/icons-device/README.md +7 -1
- package/dist/utility/icons/icons-device/icons-device.css +55 -1
- package/dist/utility/icons/icons-device/icons-device.css.map +1 -1
- package/dist/utility/icons/icons-device/icons-device.legacy.css +25 -1
- package/dist/utility/icons/icons-device/icons-device.legacy.css.map +1 -1
- package/dist/utility/icons/icons-device/icons-device.legacy.min.css +2 -2
- package/dist/utility/icons/icons-device/icons-device.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-device/icons-device.main.css +31 -1
- package/dist/utility/icons/icons-device/icons-device.main.css.map +1 -1
- package/dist/utility/icons/icons-device/icons-device.main.min.css +2 -2
- package/dist/utility/icons/icons-device/icons-device.main.min.css.map +1 -1
- package/dist/utility/icons/icons-device/icons-device.min.css +3 -3
- package/dist/utility/icons/icons-device/icons-device.min.css.map +1 -1
- package/dist/utility/icons/icons-document/README.md +7 -1
- package/dist/utility/icons/icons-document/icons-document.css +55 -1
- package/dist/utility/icons/icons-document/icons-document.css.map +1 -1
- package/dist/utility/icons/icons-document/icons-document.legacy.css +25 -1
- package/dist/utility/icons/icons-document/icons-document.legacy.css.map +1 -1
- package/dist/utility/icons/icons-document/icons-document.legacy.min.css +2 -2
- package/dist/utility/icons/icons-document/icons-document.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-document/icons-document.main.css +31 -1
- package/dist/utility/icons/icons-document/icons-document.main.css.map +1 -1
- package/dist/utility/icons/icons-document/icons-document.main.min.css +2 -2
- package/dist/utility/icons/icons-document/icons-document.main.min.css.map +1 -1
- package/dist/utility/icons/icons-document/icons-document.min.css +3 -3
- package/dist/utility/icons/icons-document/icons-document.min.css.map +1 -1
- package/dist/utility/icons/icons-editor/README.md +7 -1
- package/dist/utility/icons/icons-editor/icons-editor.css +64 -1
- package/dist/utility/icons/icons-editor/icons-editor.css.map +1 -1
- package/dist/utility/icons/icons-editor/icons-editor.legacy.css +29 -1
- package/dist/utility/icons/icons-editor/icons-editor.legacy.css.map +1 -1
- package/dist/utility/icons/icons-editor/icons-editor.legacy.min.css +2 -2
- package/dist/utility/icons/icons-editor/icons-editor.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-editor/icons-editor.main.css +36 -1
- package/dist/utility/icons/icons-editor/icons-editor.main.css.map +1 -1
- package/dist/utility/icons/icons-editor/icons-editor.main.min.css +2 -2
- package/dist/utility/icons/icons-editor/icons-editor.main.min.css.map +1 -1
- package/dist/utility/icons/icons-editor/icons-editor.min.css +3 -3
- package/dist/utility/icons/icons-editor/icons-editor.min.css.map +1 -1
- package/dist/utility/icons/icons-finance/README.md +7 -1
- package/dist/utility/icons/icons-finance/icons-finance.css +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.css.map +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.legacy.css +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.legacy.min.css +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.main.css +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.main.css.map +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.main.min.css +1 -1
- package/dist/utility/icons/icons-finance/icons-finance.min.css +1 -1
- package/dist/utility/icons/icons-health/README.md +7 -1
- package/dist/utility/icons/icons-health/icons-health.css +1 -1
- package/dist/utility/icons/icons-health/icons-health.css.map +1 -1
- package/dist/utility/icons/icons-health/icons-health.legacy.css +1 -1
- package/dist/utility/icons/icons-health/icons-health.legacy.min.css +1 -1
- package/dist/utility/icons/icons-health/icons-health.main.css +1 -1
- package/dist/utility/icons/icons-health/icons-health.main.css.map +1 -1
- package/dist/utility/icons/icons-health/icons-health.main.min.css +1 -1
- package/dist/utility/icons/icons-health/icons-health.min.css +1 -1
- package/dist/utility/icons/icons-logo/README.md +7 -1
- package/dist/utility/icons/icons-logo/icons-logo.css +253 -1
- package/dist/utility/icons/icons-logo/icons-logo.css.map +1 -1
- package/dist/utility/icons/icons-logo/icons-logo.legacy.css +113 -1
- package/dist/utility/icons/icons-logo/icons-logo.legacy.css.map +1 -1
- package/dist/utility/icons/icons-logo/icons-logo.legacy.min.css +2 -2
- package/dist/utility/icons/icons-logo/icons-logo.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-logo/icons-logo.main.css +141 -1
- package/dist/utility/icons/icons-logo/icons-logo.main.css.map +1 -1
- package/dist/utility/icons/icons-logo/icons-logo.main.min.css +2 -2
- package/dist/utility/icons/icons-logo/icons-logo.main.min.css.map +1 -1
- package/dist/utility/icons/icons-logo/icons-logo.min.css +3 -3
- package/dist/utility/icons/icons-logo/icons-logo.min.css.map +1 -1
- package/dist/utility/icons/icons-map/README.md +7 -1
- package/dist/utility/icons/icons-map/icons-map.css +37 -1
- package/dist/utility/icons/icons-map/icons-map.css.map +1 -1
- package/dist/utility/icons/icons-map/icons-map.legacy.css +17 -1
- package/dist/utility/icons/icons-map/icons-map.legacy.css.map +1 -1
- package/dist/utility/icons/icons-map/icons-map.legacy.min.css +2 -2
- package/dist/utility/icons/icons-map/icons-map.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-map/icons-map.main.css +21 -1
- package/dist/utility/icons/icons-map/icons-map.main.css.map +1 -1
- package/dist/utility/icons/icons-map/icons-map.main.min.css +2 -2
- package/dist/utility/icons/icons-map/icons-map.main.min.css.map +1 -1
- package/dist/utility/icons/icons-map/icons-map.min.css +3 -3
- package/dist/utility/icons/icons-map/icons-map.min.css.map +1 -1
- package/dist/utility/icons/icons-media/README.md +7 -1
- package/dist/utility/icons/icons-media/icons-media.css +145 -1
- package/dist/utility/icons/icons-media/icons-media.css.map +1 -1
- package/dist/utility/icons/icons-media/icons-media.legacy.css +65 -1
- package/dist/utility/icons/icons-media/icons-media.legacy.css.map +1 -1
- package/dist/utility/icons/icons-media/icons-media.legacy.min.css +2 -2
- package/dist/utility/icons/icons-media/icons-media.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-media/icons-media.main.css +81 -1
- package/dist/utility/icons/icons-media/icons-media.main.css.map +1 -1
- package/dist/utility/icons/icons-media/icons-media.main.min.css +2 -2
- package/dist/utility/icons/icons-media/icons-media.main.min.css.map +1 -1
- package/dist/utility/icons/icons-media/icons-media.min.css +3 -3
- package/dist/utility/icons/icons-media/icons-media.min.css.map +1 -1
- package/dist/utility/icons/icons-others/README.md +7 -1
- package/dist/utility/icons/icons-others/icons-others.css +1 -1
- package/dist/utility/icons/icons-others/icons-others.css.map +1 -1
- package/dist/utility/icons/icons-others/icons-others.legacy.css +1 -1
- package/dist/utility/icons/icons-others/icons-others.legacy.min.css +1 -1
- package/dist/utility/icons/icons-others/icons-others.main.css +1 -1
- package/dist/utility/icons/icons-others/icons-others.main.css.map +1 -1
- package/dist/utility/icons/icons-others/icons-others.main.min.css +1 -1
- package/dist/utility/icons/icons-others/icons-others.min.css +1 -1
- package/dist/utility/icons/icons-system/README.md +7 -1
- package/dist/utility/icons/icons-system/icons-system.css +49 -29
- package/dist/utility/icons/icons-system/icons-system.css.map +1 -1
- package/dist/utility/icons/icons-system/icons-system.legacy.css +23 -13
- package/dist/utility/icons/icons-system/icons-system.legacy.css.map +1 -1
- package/dist/utility/icons/icons-system/icons-system.legacy.min.css +2 -2
- package/dist/utility/icons/icons-system/icons-system.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-system/icons-system.main.css +27 -17
- package/dist/utility/icons/icons-system/icons-system.main.css.map +1 -1
- package/dist/utility/icons/icons-system/icons-system.main.min.css +2 -2
- package/dist/utility/icons/icons-system/icons-system.main.min.css.map +1 -1
- package/dist/utility/icons/icons-system/icons-system.min.css +3 -3
- package/dist/utility/icons/icons-system/icons-system.min.css.map +1 -1
- package/dist/utility/icons/icons-user/README.md +7 -1
- package/dist/utility/icons/icons-user/icons-user.css +55 -19
- package/dist/utility/icons/icons-user/icons-user.css.map +1 -1
- package/dist/utility/icons/icons-user/icons-user.legacy.css +25 -9
- package/dist/utility/icons/icons-user/icons-user.legacy.css.map +1 -1
- package/dist/utility/icons/icons-user/icons-user.legacy.min.css +2 -2
- package/dist/utility/icons/icons-user/icons-user.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-user/icons-user.main.css +31 -11
- package/dist/utility/icons/icons-user/icons-user.main.css.map +1 -1
- package/dist/utility/icons/icons-user/icons-user.main.min.css +2 -2
- package/dist/utility/icons/icons-user/icons-user.main.min.css.map +1 -1
- package/dist/utility/icons/icons-user/icons-user.min.css +3 -3
- package/dist/utility/icons/icons-user/icons-user.min.css.map +1 -1
- package/dist/utility/icons/icons-weather/README.md +7 -1
- package/dist/utility/icons/icons-weather/icons-weather.css +19 -1
- package/dist/utility/icons/icons-weather/icons-weather.css.map +1 -1
- package/dist/utility/icons/icons-weather/icons-weather.legacy.css +9 -1
- package/dist/utility/icons/icons-weather/icons-weather.legacy.css.map +1 -1
- package/dist/utility/icons/icons-weather/icons-weather.legacy.min.css +2 -2
- package/dist/utility/icons/icons-weather/icons-weather.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons-weather/icons-weather.main.css +11 -1
- package/dist/utility/icons/icons-weather/icons-weather.main.css.map +1 -1
- package/dist/utility/icons/icons-weather/icons-weather.main.min.css +2 -2
- package/dist/utility/icons/icons-weather/icons-weather.main.min.css.map +1 -1
- package/dist/utility/icons/icons-weather/icons-weather.min.css +3 -3
- package/dist/utility/icons/icons-weather/icons-weather.min.css.map +1 -1
- package/dist/utility/icons/icons.css +861 -49
- package/dist/utility/icons/icons.css.map +1 -1
- package/dist/utility/icons/icons.legacy.css +383 -21
- package/dist/utility/icons/icons.legacy.css.map +1 -1
- package/dist/utility/icons/icons.legacy.min.css +2 -2
- package/dist/utility/icons/icons.legacy.min.css.map +1 -1
- package/dist/utility/icons/icons.main.css +477 -27
- package/dist/utility/icons/icons.main.css.map +1 -1
- package/dist/utility/icons/icons.main.min.css +2 -2
- package/dist/utility/icons/icons.main.min.css.map +1 -1
- package/dist/utility/icons/icons.min.css +3 -3
- package/dist/utility/icons/icons.min.css.map +1 -1
- package/dist/utility/utility.css +861 -49
- package/dist/utility/utility.css.map +1 -1
- package/dist/utility/utility.legacy.css +383 -21
- package/dist/utility/utility.legacy.css.map +1 -1
- package/dist/utility/utility.legacy.min.css +2 -2
- package/dist/utility/utility.legacy.min.css.map +1 -1
- package/dist/utility/utility.main.css +477 -27
- package/dist/utility/utility.main.css.map +1 -1
- package/dist/utility/utility.main.min.css +2 -2
- package/dist/utility/utility.main.min.css.map +1 -1
- package/dist/utility/utility.min.css +3 -3
- package/dist/utility/utility.min.css.map +1 -1
- package/example/component/accordion/index.html +111 -141
- package/example/component/tab/index.html +100 -105
- package/example/component/table/index.html +98 -98
- package/example/utility/icons/icons-buildings/index.html +2 -0
- package/example/utility/icons/icons-business/index.html +2 -0
- package/example/utility/icons/icons-communication/index.html +2 -0
- package/example/utility/icons/icons-design/index.html +2 -0
- package/example/utility/icons/icons-development/index.html +2 -0
- package/example/utility/icons/icons-device/index.html +2 -0
- package/example/utility/icons/icons-document/index.html +2 -0
- package/example/utility/icons/icons-editor/index.html +2 -0
- package/example/utility/icons/icons-finance/index.html +2 -0
- package/example/utility/icons/icons-health/index.html +2 -0
- package/example/utility/icons/icons-logo/index.html +2 -0
- package/example/utility/icons/icons-map/index.html +2 -0
- package/example/utility/icons/icons-media/index.html +2 -0
- package/example/utility/icons/icons-others/index.html +2 -0
- package/example/utility/icons/icons-system/index.html +8 -6
- package/example/utility/icons/icons-user/index.html +46 -74
- package/example/utility/icons/icons-weather/index.html +18 -16
- package/example/utility/icons/index.html +2 -0
- package/example/utility/index.html +13 -0
- package/package.json +1 -1
- package/src/component/download/script/download/assess-file.js +9 -5
- package/src/component/download/script/download/download-selector.js +0 -1
- package/src/core/icon/system/{delete-line.svg → delete-bin-fill.svg} +0 -0
- package/src/core/icon/system/{delete-fill.svg → delete-bin-line.svg} +0 -0
- package/src/utility/.folder.yml +8 -1
- package/src/utility/icons/.folder.yml +2 -2
- package/src/utility/icons/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-buildings/.package.yml +2 -2
- package/src/utility/icons/icons-buildings/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-buildings/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-buildings/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-buildings/legacy.scss +4 -0
- package/src/utility/icons/icons-buildings/main.scss +4 -0
- package/src/utility/icons/icons-business/.package.yml +2 -2
- package/src/utility/icons/icons-business/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-business/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-business/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-business/legacy.scss +4 -0
- package/src/utility/icons/icons-business/main.scss +4 -0
- package/src/utility/icons/icons-communication/.package.yml +2 -2
- package/src/utility/icons/icons-communication/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-communication/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-communication/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-communication/legacy.scss +4 -0
- package/src/utility/icons/icons-communication/main.scss +4 -0
- package/src/utility/icons/icons-design/.package.yml +2 -2
- package/src/utility/icons/icons-design/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-design/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-design/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-design/legacy.scss +4 -0
- package/src/utility/icons/icons-design/main.scss +4 -0
- package/src/utility/icons/icons-development/.package.yml +2 -2
- package/src/utility/icons/icons-development/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-development/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-development/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-development/legacy.scss +4 -0
- package/src/utility/icons/icons-development/main.scss +4 -0
- package/src/utility/icons/icons-device/.package.yml +2 -2
- package/src/utility/icons/icons-device/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-device/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-device/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-device/legacy.scss +4 -0
- package/src/utility/icons/icons-device/main.scss +4 -0
- package/src/utility/icons/icons-document/.package.yml +2 -2
- package/src/utility/icons/icons-document/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-document/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-document/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-document/legacy.scss +4 -0
- package/src/utility/icons/icons-document/main.scss +4 -0
- package/src/utility/icons/icons-editor/.package.yml +2 -2
- package/src/utility/icons/icons-editor/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-editor/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-editor/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-editor/legacy.scss +4 -0
- package/src/utility/icons/icons-editor/main.scss +4 -0
- package/src/utility/icons/icons-finance/.package.yml +2 -2
- package/src/utility/icons/icons-finance/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-finance/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-finance/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-finance/legacy.scss +4 -0
- package/src/utility/icons/icons-finance/main.scss +4 -0
- package/src/utility/icons/icons-health/.package.yml +2 -2
- package/src/utility/icons/icons-health/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-health/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-health/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-health/legacy.scss +4 -0
- package/src/utility/icons/icons-health/main.scss +4 -0
- package/src/utility/icons/icons-logo/.package.yml +2 -2
- package/src/utility/icons/icons-logo/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-logo/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-logo/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-logo/legacy.scss +4 -0
- package/src/utility/icons/icons-logo/main.scss +4 -0
- package/src/utility/icons/icons-map/.package.yml +2 -2
- package/src/utility/icons/icons-map/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-map/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-map/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-map/legacy.scss +4 -0
- package/src/utility/icons/icons-map/main.scss +4 -0
- package/src/utility/icons/icons-media/.package.yml +2 -2
- package/src/utility/icons/icons-media/deprecated/style/_legacy.scss +24 -0
- package/src/utility/icons/icons-media/deprecated/style/_module.scss +22 -0
- package/src/utility/icons/icons-media/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-media/legacy.scss +4 -0
- package/src/utility/icons/icons-media/main.scss +4 -0
- package/src/utility/icons/icons-others/.package.yml +2 -2
- package/src/utility/icons/icons-others/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-others/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-others/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-others/legacy.scss +4 -0
- package/src/utility/icons/icons-others/main.scss +4 -0
- package/src/utility/icons/icons-system/.package.yml +2 -2
- package/src/utility/icons/icons-system/deprecated/style/_legacy.scss +16 -0
- package/src/utility/icons/icons-system/deprecated/style/_module.scss +16 -0
- package/src/utility/icons/icons-system/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-system/legacy.scss +1 -1
- package/src/utility/icons/icons-system/main.scss +1 -1
- package/src/utility/icons/icons-user/.package.yml +2 -2
- package/src/utility/icons/icons-user/deprecated/style/_legacy.scss +24 -0
- package/src/utility/icons/icons-user/deprecated/style/_module.scss +22 -0
- package/src/utility/icons/icons-user/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-user/legacy.scss +4 -0
- package/src/utility/icons/icons-user/main.scss +4 -0
- package/src/utility/icons/icons-weather/.package.yml +2 -2
- package/src/utility/icons/icons-weather/deprecated/style/_legacy.scss +8 -0
- package/src/utility/icons/icons-weather/deprecated/style/_module.scss +6 -0
- package/src/utility/icons/icons-weather/deprecated/style/_setting.scss +1 -0
- package/src/utility/icons/icons-weather/legacy.scss +4 -0
- package/src/utility/icons/icons-weather/main.scss +4 -0
- package/dist/dsfr/dsfr-deprecated.nomodule.js.map +0 -1
- package/dist/dsfr/dsfr-deprecated.nomodule.min.js.map +0 -1
- package/dist/icons/user/account-fill.svg +0 -1
- package/dist/icons/user/account-line.svg +0 -1
- package/src/core/icon/user/account-fill.svg +0 -1
- package/src/core/icon/user/account-line.svg +0 -1
- package/src/utility/icons/icons-system/deprecated/style/_settings.scss +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! DSFR v1.5.
|
|
2
|
-
const e=window.dsfr,t={GROUP:e.internals.ns.selector("accordions-group"),COLLAPSE:`${e.internals.ns.selector("accordion")} > ${e.internals.ns.selector("collapse")}`};class s extends e.core.CollapsesGroup{static get instanceClassName(){return"AccordionsGroup"}validate(e){return e.node.matches(t.COLLAPSE)}}e.accordion={AccordionSelector:t,AccordionsGroup:s},e.internals.register(e.accordion.AccordionSelector.GROUP,e.accordion.AccordionsGroup);const i={EQUISIZED_BUTTON:`${e.internals.ns.selector("btns-group--equisized")} ${e.internals.ns.selector("btn")}`,EQUISIZED_GROUP:e.internals.ns.selector("btns-group--equisized")};e.button={ButtonSelector:i},e.internals.register(e.button.ButtonSelector.EQUISIZED_BUTTON,e.core.Equisized),e.internals.register(e.button.ButtonSelector.EQUISIZED_GROUP,e.core.EquisizedsGroup);class n extends e.core.Instance{constructor(){super(),this.count=0,this.focusing=this.focus.bind(this)}static get instanceClassName(){return"Breadcrumb"}init(){this.getCollapse(),this.isResizing=!0}get proxy(){const e=this;return Object.assign(super.proxy,{focus:e.focus.bind(e),disclose:e.collapse.disclose.bind(e.collapse)})}getCollapse(){const t=this.collapse;t?t.listen(e.core.DisclosureEvent.DISCLOSE,this.focusing):this.addAscent(e.core.DisclosureEmission.ADDED,this.getCollapse.bind(this))}resize(){const t=this.collapse,s=this.links;t&&s.length&&(this.isBreakpoint(e.core.Breakpoints.MD)?t.buttonHasFocus&&s[0].focus():s.indexOf(document.activeElement)>-1&&t.focus())}get links(){return[...this.querySelectorAll("a[href]")]}get collapse(){return this.element.getDescendantInstances(e.core.Collapse.instanceClassName,null,!0)[0]}focus(){this.count=0,this._focus()}_focus(){const e=this.links[0];e&&(e.focus(),this.request(this.verify.bind(this)))}verify(){if(this.count++,this.count>100)return;const e=this.links[0];e&&document.activeElement!==e&&this._focus()}}const r={BREADCRUMB:e.internals.ns.selector("breadcrumb")};e.breadcrumb={BreadcrumbSelector:r,Breadcrumb:n},e.internals.register(e.breadcrumb.BreadcrumbSelector.BREADCRUMB,e.breadcrumb.Breadcrumb);class o extends e.core.Instance{static get instanceClassName(){return"ToggleInput"}get isChecked(){return this.hasAttribute("checked")}}class a extends e.core.Instance{static get instanceClassName(){return"ToggleStatusLabel"}init(){this.register(`input[id="${this.getAttribute("for")}"]`,o),this.update(),this.isSwappingFont=!0}get proxy(){return Object.assign(super.proxy,{update:this.update.bind(this)})}get input(){return this.getRegisteredInstances("ToggleInput")[0]}update(){this.node.style.removeProperty("--toggle-status-width");const e=this.input.isChecked,t=getComputedStyle(this.node,":before");let s=parseFloat(t.width);this.input.node.checked=!e;const i=getComputedStyle(this.node,":before"),n=parseFloat(i.width);n>s&&(s=n),this.input.node.checked=e,this.node.style.setProperty("--toggle-status-width",s/16+"rem")}swapFont(e){this.update()}}const l={STATUS_LABEL:`${e.internals.ns.selector("toggle__label")}${e.internals.ns.attr.selector("checked-label")}${e.internals.ns.attr.selector("unchecked-label")}`};e.toggle={ToggleStatusLabel:a,ToggleSelector:l},e.internals.register(e.toggle.ToggleSelector.STATUS_LABEL,e.toggle.ToggleStatusLabel);const c={LIST:e.internals.ns.selector("sidemenu__list"),COLLAPSE:`${e.internals.ns.selector("sidemenu__item")} > ${e.internals.ns.selector("collapse")}`};class h extends e.core.CollapsesGroup{static get instanceClassName(){return"SidemenuList"}validate(e){return e.node.matches(c.COLLAPSE)}}e.sidemenu={SidemenuList:h,SidemenuSelector:c},e.internals.register(e.sidemenu.SidemenuSelector.LIST,e.sidemenu.SidemenuList);const d={MODAL:e.internals.ns.selector("modal"),SCROLL_SHADOW:e.internals.ns.selector("scroll-shadow"),BODY:e.internals.ns.selector("modal__body")};class u extends e.core.DisclosureButton{constructor(){super(e.core.DisclosureType.OPENED)}static get instanceClassName(){return"ModalButton"}}const g={CONCEALING_BACKDROP:e.internals.ns.attr("concealing-backdrop")};class p extends e.core.Disclosure{constructor(){super(e.core.DisclosureType.OPENED,d.MODAL,u,"ModalsGroup"),this.scrolling=this.resize.bind(this,!1),this.resizing=this.resize.bind(this,!0)}static get instanceClassName(){return"Modal"}init(){super.init(),this.listen("click",this.click.bind(this)),this.listenKey(e.core.KeyCodes.ESCAPE,this.conceal.bind(this,!1,!1),!0,!0)}get body(){return this.element.getDescendantInstances("ModalBody","Modal")[0]}click(e){e.target===this.node&&"false"!==this.getAttribute(g.CONCEALING_BACKDROP)&&this.conceal()}disclose(e){return!!super.disclose(e)&&(this.body&&this.body.activate(),this.isScrollLocked=!0,this.setAttribute("aria-modal","true"),this.setAttribute("open","true"),!0)}conceal(e,t){return!!super.conceal(e,t)&&(this.isScrollLocked=!1,this.removeAttribute("aria-modal"),this.removeAttribute("open"),this.body&&this.body.deactivate(),!0)}}const m=['[tabindex="0"]',"a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details","iframe"].join(),b=['[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'].join(),S=(e,t)=>{if(!(e instanceof Element))return!1;const s=window.getComputedStyle(e);if(!s)return!1;if("hidden"===s.visibility)return!1;for(void 0===t&&(t=e);t.contains(e);){if("none"===s.display)return!1;e=e.parentElement}return!0};class f{constructor(e,t){this.element=null,this.activeElement=null,this.onTrap=e,this.onUntrap=t,this.waiting=this.wait.bind(this),this.handling=this.handle.bind(this),this.focusing=this.maintainFocus.bind(this),this.current=null}get trapped(){return null!==this.element}trap(e){this.trapped&&this.untrap(),this.element=e,this.isTrapping=!0,this.wait(),this.onTrap&&this.onTrap()}wait(){S(this.element)?this.trapping():window.requestAnimationFrame(this.waiting)}trapping(){if(!this.isTrapping)return;this.isTrapping=!1;const e=this.focusables;e.length&&e[0].focus(),this.element.setAttribute("aria-modal",!0),window.addEventListener("keydown",this.handling),document.body.addEventListener("focus",this.focusing,!0)}stun(e){for(const t of e.children)t!==this.element&&(t.contains(this.element)?this.stun(t):this.stunneds.push(new T(t)))}maintainFocus(e){if(!this.element.contains(e.target)){const t=this.focusables;if(0===t.length)return;const s=t[0];e.preventDefault(),s.focus()}}handle(e){if(9!==e.keyCode)return;const t=this.focusables;if(0===t.length)return;const s=t[0],i=t[t.length-1],n=t.indexOf(document.activeElement);e.shiftKey?!this.element.contains(document.activeElement)||n<1?(e.preventDefault(),i.focus()):(document.activeElement.tabIndex>0||t[n-1].tabIndex>0)&&(e.preventDefault(),t[n-1].focus()):this.element.contains(document.activeElement)&&n!==t.length-1&&-1!==n?document.activeElement.tabIndex>0&&(e.preventDefault(),t[n+1].focus()):(e.preventDefault(),s.focus())}get focusables(){let t=e.internals.dom.querySelectorAllArray(this.element,m);const s=e.internals.dom.querySelectorAllArray(document.documentElement,'input[type="radio"]');if(s.length){const e={};for(const t of s){const s=t.getAttribute("name");void 0===e[s]&&(e[s]=new A(s)),e[s].push(t)}t=t.filter((t=>{if("input"!==t.tagName.toLowerCase()||"radio"!==t.getAttribute("type").toLowerCase())return!0;const s=t.getAttribute("name");return e[s].keep(t)}))}const i=e.internals.dom.querySelectorAllArray(this.element,b);i.sort(((e,t)=>e.tabIndex-t.tabIndex));const n=t.filter((e=>-1===i.indexOf(e)));return i.concat(n).filter((e=>"-1"!==e.tabIndex&&S(e,this.element)))}untrap(){this.trapped&&(this.isTrapping=!1,this.element.removeAttribute("aria-modal"),window.removeEventListener("keydown",this.handling),document.body.removeEventListener("focus",this.focusing,!0),this.element=null,this.onUntrap&&this.onUntrap())}dispose(){this.untrap()}}class T{constructor(e){this.element=e,this.inert=e.getAttribute("inert"),this.element.setAttribute("inert","")}unstun(){null===this.inert?this.element.removeAttribute("inert"):this.element.setAttribute("inert",this.inert)}}class A{constructor(e){this.name=e,this.buttons=[]}push(e){this.buttons.push(e),(e===document.activeElement||e.checked||void 0===this.selected)&&(this.selected=e)}keep(e){return this.selected===e}}class E extends e.core.DisclosuresGroup{constructor(){super("Modal",!1),this.focusTrap=new f}static get instanceClassName(){return"ModalsGroup"}apply(e,t){super.apply(e,t),null===this.current?this.focusTrap.untrap():this.focusTrap.trap(this.current.node)}}class _ extends e.core.Instance{static get instanceClassName(){return"ModalBody"}init(){this.listen("scroll",this.shade.bind(this))}activate(){this.isResizing=!0,this.resize()}deactivate(){this.isResizing=!1}shade(){this.node.scrollHeight>this.node.clientHeight?this.node.offsetHeight+this.node.scrollTop>=this.node.scrollHeight?this.removeClass(d.SCROLL_SHADOW):this.addClass(d.SCROLL_SHADOW):this.removeClass(d.SCROLL_SHADOW)}resize(){this.adjust(),this.request(this.adjust.bind(this))}adjust(){const t=32*(this.isBreakpoint(e.core.Breakpoints.MD)?2:1);this.isLegacy?this.style.maxHeight=window.innerHeight-t+"px":this.style.setProperty("--modal-max-height",window.innerHeight-t+"px"),this.shade()}}e.modal={Modal:p,ModalButton:u,ModalBody:_,ModalsGroup:E,ModalSelector:d},e.internals.register(e.modal.ModalSelector.MODAL,e.modal.Modal),e.internals.register(e.modal.ModalSelector.BODY,e.modal.ModalBody),e.internals.register(e.core.RootSelector.ROOT,e.modal.ModalsGroup);const L={NAVIGATION:e.internals.ns.selector("nav"),COLLAPSE:`${e.internals.ns.selector("nav__item")} > ${e.internals.ns.selector("collapse")}`,ITEM:e.internals.ns.selector("nav__item"),ITEM_RIGHT:e.internals.ns("nav__item--align-right"),MENU:e.internals.ns.selector("menu")};class C extends e.core.Instance{constructor(){super(),this._isRightAligned=!1}static get instanceClassName(){return"NavigationItem"}init(){this.addAscent(e.core.DisclosureEmission.ADDED,this.calculate.bind(this)),this.addAscent(e.core.DisclosureEmission.REMOVED,this.calculate.bind(this)),this.isResizing=!0,this.calculate()}resize(){this.calculate()}calculate(){const t=this.element.getDescendantInstances(e.core.Collapse.instanceClassName,null,!0)[0];if(t&&this.isBreakpoint(e.core.Breakpoints.LG)&&t.element.node.matches(L.MENU)){const e=this.element.node.parentElement.getBoundingClientRect().right,s=t.element.node.getBoundingClientRect().width,i=this.element.node.getBoundingClientRect().left;this.isRightAligned=i+s>e}else this.isRightAligned=!1}get isRightAligned(){return this._isRightAligned}set isRightAligned(t){this._isRightAligned!==t&&(this._isRightAligned=t,t?e.internals.dom.addClass(this.element.node,L.ITEM_RIGHT):e.internals.dom.removeClass(this.element.node,L.ITEM_RIGHT))}}const D={NONE:-1,INSIDE:0,OUTSIDE:1};class y extends e.core.CollapsesGroup{static get instanceClassName(){return"Navigation"}init(){super.init(),this.clicked=!1,this.out=!1,this.listen("focusout",this.focusOut.bind(this)),this.listen("mousedown",this.down.bind(this))}validate(e){return e.element.node.matches(L.COLLAPSE)}down(t){this.isBreakpoint(e.core.Breakpoints.LG)&&-1!==this.index&&this.current&&(this.position=this.current.element.node.contains(t.target)?D.INSIDE:D.OUTSIDE,this.request(this.getPosition.bind(this)))}focusOut(t){this.isBreakpoint(e.core.Breakpoints.LG)&&(this.out=!0,this.request(this.getPosition.bind(this)))}getPosition(){if(this.out)switch(this.position){case D.OUTSIDE:this.index=-1;break;case D.INSIDE:this.current&&this.current.focus();break;default:this.index>-1&&!this.current.hasFocus&&(this.index=-1)}this.position=D.NONE,this.out=!1}get index(){return super.index}set index(e){-1===e&&null!==this.current&&this.current.hasFocus&&this.current.focus(),super.index=e}}e.navigation={Navigation:y,NavigationItem:C,NavigationMousePosition:D,NavigationSelector:L},e.internals.register(e.navigation.NavigationSelector.NAVIGATION,e.navigation.Navigation),e.internals.register(e.navigation.NavigationSelector.ITEM,e.navigation.NavigationItem);class I extends e.core.DisclosureButton{constructor(){super(e.core.DisclosureType.SELECT)}static get instanceClassName(){return"TabButton"}apply(e){super.apply(e),this.isPrimary&&(this.setAttribute("tabindex",e?"0":"-1"),e&&this.list&&this.list.focalize(this))}get list(){return this.element.getAscendantInstance("TabsList","TabsGroup")}}const O={TAB:e.internals.ns.selector("tabs__tab"),GROUP:e.internals.ns.selector("tabs"),PANEL:e.internals.ns.selector("tabs__panel"),LIST:e.internals.ns.selector("tabs__list"),SHADOW:e.internals.ns.selector("tabs__shadow"),SHADOW_LEFT:e.internals.ns.selector("tabs__shadow--left"),SHADOW_RIGHT:e.internals.ns.selector("tabs__shadow--right"),PANEL_START:e.internals.ns.selector("tabs__panel--direction-start"),PANEL_END:e.internals.ns.selector("tabs__panel--direction-end")},N="direction-start",v="direction-end",H="none";class R extends e.core.Disclosure{constructor(){super(e.core.DisclosureType.SELECT,O.PANEL,I,"TabsGroup"),this._direction=H,this._isPreventingTransition=!1}static get instanceClassName(){return"TabPanel"}get direction(){return this._direction}set direction(e){if(e!==this._direction){switch(this._direction){case N:this.removeClass(O.PANEL_START);break;case v:this.removeClass(O.PANEL_END);break;case H:break;default:return}switch(this._direction=e,this._direction){case N:this.addClass(O.PANEL_START);break;case v:this.addClass(O.PANEL_END)}}}get isPreventingTransition(){return this._isPreventingTransition}set isPreventingTransition(t){this._isPreventingTransition!==t&&(t?this.addClass(e.internals.motion.TransitionSelector.NONE):this.removeClass(e.internals.motion.TransitionSelector.NONE),this._isPreventingTransition=!0===t)}translate(e,t){this.isPreventingTransition=t,this.direction=e}reset(){this.group.index=0}}class x extends e.core.DisclosuresGroup{constructor(){super("TabPanel")}static get instanceClassName(){return"TabsGroup"}init(){super.init(),this.listen("transitionend",this.transitionend.bind(this)),this.listenKey(e.core.KeyCodes.RIGHT,this.pressRight.bind(this),!0,!0),this.listenKey(e.core.KeyCodes.LEFT,this.pressLeft.bind(this),!0,!0),this.listenKey(e.core.KeyCodes.HOME,this.pressHome.bind(this),!0,!0),this.listenKey(e.core.KeyCodes.END,this.pressEnd.bind(this),!0,!0),this.isRendering=!0,this.list&&this.list.apply()}get list(){return this.element.getDescendantInstances("TabsList","TabsGroup",!0)[0]}transitionend(e){this.isPreventingTransition=!0}get buttonHasFocus(){return this.members.some((e=>e.buttonHasFocus))}pressRight(){this.buttonHasFocus&&(this.index<this.length-1?this.index++:this.index=0,this.focus())}pressLeft(){this.buttonHasFocus&&(this.index>0?this.index--:this.index=this.length-1,this.focus())}pressHome(){this.buttonHasFocus&&(this.index=0,this.focus())}pressEnd(){this.buttonHasFocus&&(this.index=this.length-1,this.focus())}focus(){this.current&&this.current.focus()}apply(){for(let e=0;e<this._index;e++)this.members[e].translate(N);this.current.translate(H);for(let e=this._index+1;e<this.length;e++)this.members[e].translate(v);this.isPreventingTransition=!1}get isPreventingTransition(){return this._isPreventingTransition}set isPreventingTransition(t){this._isPreventingTransition!==t&&(t?this.addClass(e.internals.motion.TransitionSelector.NONE):this.removeClass(e.internals.motion.TransitionSelector.NONE),this._isPreventingTransition=!0===t)}render(){if(null===this.current)return;const e=Math.round(this.current.node.offsetHeight);if(this.panelHeight===e)return;this.panelHeight=e;let t=0;this.list&&(t=this.list.node.offsetHeight),this.style.setProperty("--tabs-height",this.panelHeight+t+"px")}}class P extends e.core.Instance{static get instanceClassName(){return"TabsList"}init(){this.listen("scroll",this.scroll.bind(this)),this.isResizing=!0}get group(){return this.element.getAscendantInstance("TabsGroup","TabsList")}focalize(e){const t=e.getRect(),s=this.getRect(),i=this.node.scrollLeft;t.left<s.left?this.node.scrollTo(i-s.left+t.left-16,0):t.right>s.right&&this.node.scrollTo(i-s.right+t.right+16,0)}get isScrolling(){return this._isScrolling}set isScrolling(e){this._isScrolling!==e&&(this._isScrolling=e,this.apply())}apply(){this.group&&(this._isScrolling?(this.group.addClass(O.SHADOW),this.scroll()):(this.group.removeClass(O.SHADOW_RIGHT),this.group.removeClass(O.SHADOW_LEFT),this.group.removeClass(O.SHADOW)))}scroll(){if(!this.group)return;const e=this.node.scrollLeft,t=e<=16,s=this.node.scrollWidth-this.node.clientWidth-16,i=Math.abs(e)>=s,n="rtl"===document.documentElement.getAttribute("dir"),r=n?O.SHADOW_RIGHT:O.SHADOW_LEFT,o=n?O.SHADOW_LEFT:O.SHADOW_RIGHT;t?this.group.removeClass(r):this.group.addClass(r),i?this.group.removeClass(o):this.group.addClass(o)}resize(){this.isScrolling=this.node.scrollWidth>this.node.clientWidth+16}dispose(){this.isScrolling=!1}}e.tab={TabPanel:R,TabButton:I,TabsGroup:x,TabsList:P,TabSelector:O},e.internals.register(e.tab.TabSelector.PANEL,e.tab.TabPanel),e.internals.register(e.tab.TabSelector.GROUP,e.tab.TabsGroup),e.internals.register(e.tab.TabSelector.LIST,e.tab.TabsList);const M={SCROLLABLE:e.internals.ns.emission("table","scrollable"),CHANGE:e.internals.ns.emission("table","change"),CAPTION_HEIGHT:e.internals.ns.emission("table","captionheight")};class k extends e.core.Instance{static get instanceClassName(){return"Table"}init(){this.addAscent(M.CAPTION_HEIGHT,this.setCaptionHeight.bind(this))}setCaptionHeight(e){this.setProperty("--table-offset",`calc(${e}px + 1rem)`)}}const w={TABLE:e.internals.ns.selector("table"),SHADOW:e.internals.ns.selector("table__shadow"),SHADOW_LEFT:e.internals.ns.selector("table__shadow--left"),SHADOW_RIGHT:e.internals.ns.selector("table__shadow--right"),ELEMENT:`${e.internals.ns.selector("table")}:not(${e.internals.ns.selector("table--no-scroll")}) table`,CAPTION:`${e.internals.ns.selector("table")} table caption`};class B extends e.core.Instance{static get instanceClassName(){return"TableElement"}init(){this.listen("scroll",this.scroll.bind(this)),this.content=this.querySelector("tbody"),this.isResizing=!0}get isScrolling(){return this._isScrolling}set isScrolling(e){this._isScrolling!==e&&(this._isScrolling=e,e?(this.addClass(w.SHADOW),this.scroll()):(this.removeClass(w.SHADOW),this.removeClass(w.SHADOW_LEFT),this.removeClass(w.SHADOW_RIGHT)))}scroll(){const e=this.node.scrollLeft<=8,t=this.content.offsetWidth-this.node.offsetWidth-8,s=Math.abs(this.node.scrollLeft)>=t,i="rtl"===document.documentElement.getAttribute("dir"),n=i?w.SHADOW_RIGHT:w.SHADOW_LEFT,r=i?w.SHADOW_LEFT:w.SHADOW_RIGHT;e?this.removeClass(n):this.addClass(n),s?this.removeClass(r):this.addClass(r)}resize(){this.isScrolling=this.content.offsetWidth>this.node.offsetWidth}dispose(){this.isScrolling=!1}}class G extends e.core.Instance{static get instanceClassName(){return"TableCaption"}init(){this.height=0,this.isResizing=!0}resize(){const e=this.getRect().height;this.height!==e&&(this.height=e,this.ascend(M.CAPTION_HEIGHT,e))}}e.table={Table:k,TableElement:B,TableCaption:G,TableSelector:w},e.internals.register(e.table.TableSelector.TABLE,e.table.Table),e.internals.register(e.table.TableSelector.ELEMENT,e.table.TableElement),e.internals.register(e.table.TableSelector.CAPTION,e.table.TableCaption);const W={TAG_PRESSABLE:`${e.internals.ns.selector("tag")}[aria-pressed]`};e.tag={TagSelector:W},e.internals.register(e.tag.TagSelector.TAG_PRESSABLE,e.core.Toggle),console.log(e.internals.ns.attr.selector("assess-file"));const F={DOWNLOAD_ASSESS_FILE:`${e.internals.ns.attr.selector("assess-file")}`,DOWNLOAD_DETAIL:`${e.internals.ns.selector("download__detail")}`};class U extends e.core.Instance{static get instanceClassName(){return"AssessFile"}init(){this.lang=this.getLang(this.node),this.href=this.getAttribute("href"),this.hreflang=this.getAttribute("hreflang"),this.file={},this.detail=this.querySelector(F.DOWNLOAD_DETAIL),this.update()}getFileLength(){void 0!==this.href?fetch(this.href,{method:"HEAD",mode:"cors"}).then((e=>{this.length=e.headers.get("content-length")||-1,-1===this.length&&console.warn("Impossible de détecter le poids du fichier "+this.href+'\nErreur de récupération de l\'en-tête HTTP : "content-length"'),this.update()})):this.length=-1}update(){if(this.legacy&&(this.length=-1),!this.length)return void this.getFileLength();const e=[];if(this.detail){if(this.href){const t=this.parseExtension(this.href);t&&e.push(t.toUpperCase())}if(-1!==this.length&&e.push(this.bytesToSize(this.length)),this.hreflang){const t=new Intl.DisplayNames([this.lang],{type:"language"}).of(this.hreflang),s=t.charAt(0).toUpperCase()+t.slice(1);e.push(s)}this.detail.innerHTML=e.join(" - ")}}getLang(e){return e.lang?e.lang:document.documentElement===e?window.navigator.language:this.getLang(e.parentElement)}parseExtension(e){return e.match(/\.(\w{1,9})(?:$|[?#])/)[0].replace(".","")}bytesToSize(t){if(-1===t)return null;let s=["octets","ko","Mo","Go","To"];"bytes"===this.getAttribute(e.internals.ns.attr("assess-file"))&&(s=["bytes","KB","MB","GB","TB"]);const i=parseInt(Math.floor(Math.log(t)/Math.log(1e3)),10);if(0===i)return`${t} ${s[i]}`;const n=t/1e3**i,r=Math.round(100*(n+Number.EPSILON))/100;return`${String(r).replace(".",",")} ${s[i]}`}}e.download={DownloadSelector:F,AssessFile:U},e.internals.register(e.download.DownloadSelector.DOWNLOAD_ASSESS_FILE,e.download.AssessFile);const $={HEADER:e.internals.ns.selector("header"),TOOLS_LINKS:e.internals.ns.selector("header__tools-links"),MENU_LINKS:e.internals.ns.selector("header__menu-links"),BUTTONS:`${e.internals.ns.selector("header__tools-links")} ${e.internals.ns.selector("btns-group")}, ${e.internals.ns.selector("header__tools-links")} ${e.internals.ns.selector("links-group")}`,MODALS:`${e.internals.ns.selector("header__search")}${e.internals.ns.selector("modal")}, ${e.internals.ns.selector("header__menu")}${e.internals.ns.selector("modal")}`};class z extends e.core.Instance{static get instanceClassName(){return"HeaderLinks"}init(){const t=this.queryParentSelector($.HEADER);this.toolsLinks=t.querySelector($.TOOLS_LINKS),this.menuLinks=t.querySelector($.MENU_LINKS);if(this.toolsLinks.innerHTML.replace(/ +/g," ")!==this.menuLinks.innerHTML.replace(/ +/g," "))switch(e.mode){case e.Modes.ANGULAR:case e.Modes.REACT:case e.Modes.VUE:e.inspector.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation: \n${e.header.doc}`);break;default:this.menuLinks.innerHTML=this.toolsLinks.innerHTML}}}class q extends e.core.Instance{static get instanceClassName(){return"HeaderModal"}init(){this.isResizing=!0}resize(){this.isBreakpoint(e.core.Breakpoints.LG)?this.unqualify():this.qualify()}qualify(){this.setAttribute("role","dialog");const e=this.element.getInstance("Modal");if(!e)return;const t=e.buttons;let s="";for(const e of t)if(s=e.id||s,e.isPrimary&&s)break;this.setAttribute("aria-labelledby",s)}unqualify(){const e=this.element.getInstance("Modal");e&&e.conceal(),this.removeAttribute("role"),this.removeAttribute("aria-labelledby")}}e.header={HeaderLinks:z,HeaderModal:q,HeaderSelector:$,doc:"https://gouvfr.atlassian.net/wiki/spaces/DB/pages/222789846/En-t+te+-+Header"},e.internals.register(e.header.HeaderSelector.BUTTONS,e.header.HeaderLinks),e.internals.register(e.header.HeaderSelector.MODALS,e.header.HeaderModal);const K={DISPLAY:e.internals.ns.selector("display"),RADIO_BUTTONS:`input[name="${e.internals.ns("radios-theme")}"]`,FIELDSET:e.internals.ns.selector("fieldset")};class j extends e.core.Instance{static get instanceClassName(){return"Display"}init(){if(this.radios=this.querySelectorAll(K.RADIO_BUTTONS),e.scheme){this.changing=this.change.bind(this);for(const e of this.radios)e.addEventListener("change",this.changing);this.addDescent(e.scheme.SchemeEmission.SCHEME,this.apply.bind(this)),this.ascend(e.scheme.SchemeEmission.ASK)}else this.querySelector(K.FIELDSET).setAttribute("disabled","")}get scheme(){return this._scheme}set scheme(t){if(this._scheme!==t&&e.scheme)switch(t){case e.scheme.SchemeValue.SYSTEM:case e.scheme.SchemeValue.LIGHT:case e.scheme.SchemeValue.DARK:this._scheme=t;for(const e of this.radios)e.checked=e.value===t;this.ascend(e.scheme.SchemeEmission.SCHEME,t)}}change(){for(const e of this.radios)if(e.checked)return void(this.scheme=e.value)}apply(e){this.scheme=e}dispose(){for(const e of this.radios)e.removeEventListener("change",this.changing)}}e.display={Display:j,DisplaySelector:K},e.internals.register(e.display.DisplaySelector.DISPLAY,e.display.Display);
|
|
1
|
+
/*! DSFR v1.5.1 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */
|
|
2
|
+
const e=window.dsfr,t={GROUP:e.internals.ns.selector("accordions-group"),COLLAPSE:`${e.internals.ns.selector("accordion")} > ${e.internals.ns.selector("collapse")}`};class s extends e.core.CollapsesGroup{static get instanceClassName(){return"AccordionsGroup"}validate(e){return e.node.matches(t.COLLAPSE)}}e.accordion={AccordionSelector:t,AccordionsGroup:s},e.internals.register(e.accordion.AccordionSelector.GROUP,e.accordion.AccordionsGroup);const i={EQUISIZED_BUTTON:`${e.internals.ns.selector("btns-group--equisized")} ${e.internals.ns.selector("btn")}`,EQUISIZED_GROUP:e.internals.ns.selector("btns-group--equisized")};e.button={ButtonSelector:i},e.internals.register(e.button.ButtonSelector.EQUISIZED_BUTTON,e.core.Equisized),e.internals.register(e.button.ButtonSelector.EQUISIZED_GROUP,e.core.EquisizedsGroup);class n extends e.core.Instance{constructor(){super(),this.count=0,this.focusing=this.focus.bind(this)}static get instanceClassName(){return"Breadcrumb"}init(){this.getCollapse(),this.isResizing=!0}get proxy(){const e=this;return Object.assign(super.proxy,{focus:e.focus.bind(e),disclose:e.collapse.disclose.bind(e.collapse)})}getCollapse(){const t=this.collapse;t?t.listen(e.core.DisclosureEvent.DISCLOSE,this.focusing):this.addAscent(e.core.DisclosureEmission.ADDED,this.getCollapse.bind(this))}resize(){const t=this.collapse,s=this.links;t&&s.length&&(this.isBreakpoint(e.core.Breakpoints.MD)?t.buttonHasFocus&&s[0].focus():s.indexOf(document.activeElement)>-1&&t.focus())}get links(){return[...this.querySelectorAll("a[href]")]}get collapse(){return this.element.getDescendantInstances(e.core.Collapse.instanceClassName,null,!0)[0]}focus(){this.count=0,this._focus()}_focus(){const e=this.links[0];e&&(e.focus(),this.request(this.verify.bind(this)))}verify(){if(this.count++,this.count>100)return;const e=this.links[0];e&&document.activeElement!==e&&this._focus()}}const r={BREADCRUMB:e.internals.ns.selector("breadcrumb")};e.breadcrumb={BreadcrumbSelector:r,Breadcrumb:n},e.internals.register(e.breadcrumb.BreadcrumbSelector.BREADCRUMB,e.breadcrumb.Breadcrumb);class o extends e.core.Instance{static get instanceClassName(){return"ToggleInput"}get isChecked(){return this.hasAttribute("checked")}}class a extends e.core.Instance{static get instanceClassName(){return"ToggleStatusLabel"}init(){this.register(`input[id="${this.getAttribute("for")}"]`,o),this.update(),this.isSwappingFont=!0}get proxy(){return Object.assign(super.proxy,{update:this.update.bind(this)})}get input(){return this.getRegisteredInstances("ToggleInput")[0]}update(){this.node.style.removeProperty("--toggle-status-width");const e=this.input.isChecked,t=getComputedStyle(this.node,":before");let s=parseFloat(t.width);this.input.node.checked=!e;const i=getComputedStyle(this.node,":before"),n=parseFloat(i.width);n>s&&(s=n),this.input.node.checked=e,this.node.style.setProperty("--toggle-status-width",s/16+"rem")}swapFont(e){this.update()}}const l={STATUS_LABEL:`${e.internals.ns.selector("toggle__label")}${e.internals.ns.attr.selector("checked-label")}${e.internals.ns.attr.selector("unchecked-label")}`};e.toggle={ToggleStatusLabel:a,ToggleSelector:l},e.internals.register(e.toggle.ToggleSelector.STATUS_LABEL,e.toggle.ToggleStatusLabel);const c={LIST:e.internals.ns.selector("sidemenu__list"),COLLAPSE:`${e.internals.ns.selector("sidemenu__item")} > ${e.internals.ns.selector("collapse")}`};class h extends e.core.CollapsesGroup{static get instanceClassName(){return"SidemenuList"}validate(e){return e.node.matches(c.COLLAPSE)}}e.sidemenu={SidemenuList:h,SidemenuSelector:c},e.internals.register(e.sidemenu.SidemenuSelector.LIST,e.sidemenu.SidemenuList);const d={MODAL:e.internals.ns.selector("modal"),SCROLL_SHADOW:e.internals.ns.selector("scroll-shadow"),BODY:e.internals.ns.selector("modal__body")};class u extends e.core.DisclosureButton{constructor(){super(e.core.DisclosureType.OPENED)}static get instanceClassName(){return"ModalButton"}}const g={CONCEALING_BACKDROP:e.internals.ns.attr("concealing-backdrop")};class p extends e.core.Disclosure{constructor(){super(e.core.DisclosureType.OPENED,d.MODAL,u,"ModalsGroup"),this.scrolling=this.resize.bind(this,!1),this.resizing=this.resize.bind(this,!0)}static get instanceClassName(){return"Modal"}init(){super.init(),this.listen("click",this.click.bind(this)),this.listenKey(e.core.KeyCodes.ESCAPE,this.conceal.bind(this,!1,!1),!0,!0)}get body(){return this.element.getDescendantInstances("ModalBody","Modal")[0]}click(e){e.target===this.node&&"false"!==this.getAttribute(g.CONCEALING_BACKDROP)&&this.conceal()}disclose(e){return!!super.disclose(e)&&(this.body&&this.body.activate(),this.isScrollLocked=!0,this.setAttribute("aria-modal","true"),this.setAttribute("open","true"),!0)}conceal(e,t){return!!super.conceal(e,t)&&(this.isScrollLocked=!1,this.removeAttribute("aria-modal"),this.removeAttribute("open"),this.body&&this.body.deactivate(),!0)}}const m=['[tabindex="0"]',"a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details","iframe"].join(),b=['[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'].join(),S=(e,t)=>{if(!(e instanceof Element))return!1;const s=window.getComputedStyle(e);if(!s)return!1;if("hidden"===s.visibility)return!1;for(void 0===t&&(t=e);t.contains(e);){if("none"===s.display)return!1;e=e.parentElement}return!0};class f{constructor(e,t){this.element=null,this.activeElement=null,this.onTrap=e,this.onUntrap=t,this.waiting=this.wait.bind(this),this.handling=this.handle.bind(this),this.focusing=this.maintainFocus.bind(this),this.current=null}get trapped(){return null!==this.element}trap(e){this.trapped&&this.untrap(),this.element=e,this.isTrapping=!0,this.wait(),this.onTrap&&this.onTrap()}wait(){S(this.element)?this.trapping():window.requestAnimationFrame(this.waiting)}trapping(){if(!this.isTrapping)return;this.isTrapping=!1;const e=this.focusables;e.length&&e[0].focus(),this.element.setAttribute("aria-modal",!0),window.addEventListener("keydown",this.handling),document.body.addEventListener("focus",this.focusing,!0)}stun(e){for(const t of e.children)t!==this.element&&(t.contains(this.element)?this.stun(t):this.stunneds.push(new T(t)))}maintainFocus(e){if(!this.element.contains(e.target)){const t=this.focusables;if(0===t.length)return;const s=t[0];e.preventDefault(),s.focus()}}handle(e){if(9!==e.keyCode)return;const t=this.focusables;if(0===t.length)return;const s=t[0],i=t[t.length-1],n=t.indexOf(document.activeElement);e.shiftKey?!this.element.contains(document.activeElement)||n<1?(e.preventDefault(),i.focus()):(document.activeElement.tabIndex>0||t[n-1].tabIndex>0)&&(e.preventDefault(),t[n-1].focus()):this.element.contains(document.activeElement)&&n!==t.length-1&&-1!==n?document.activeElement.tabIndex>0&&(e.preventDefault(),t[n+1].focus()):(e.preventDefault(),s.focus())}get focusables(){let t=e.internals.dom.querySelectorAllArray(this.element,m);const s=e.internals.dom.querySelectorAllArray(document.documentElement,'input[type="radio"]');if(s.length){const e={};for(const t of s){const s=t.getAttribute("name");void 0===e[s]&&(e[s]=new A(s)),e[s].push(t)}t=t.filter((t=>{if("input"!==t.tagName.toLowerCase()||"radio"!==t.getAttribute("type").toLowerCase())return!0;const s=t.getAttribute("name");return e[s].keep(t)}))}const i=e.internals.dom.querySelectorAllArray(this.element,b);i.sort(((e,t)=>e.tabIndex-t.tabIndex));const n=t.filter((e=>-1===i.indexOf(e)));return i.concat(n).filter((e=>"-1"!==e.tabIndex&&S(e,this.element)))}untrap(){this.trapped&&(this.isTrapping=!1,this.element.removeAttribute("aria-modal"),window.removeEventListener("keydown",this.handling),document.body.removeEventListener("focus",this.focusing,!0),this.element=null,this.onUntrap&&this.onUntrap())}dispose(){this.untrap()}}class T{constructor(e){this.element=e,this.inert=e.getAttribute("inert"),this.element.setAttribute("inert","")}unstun(){null===this.inert?this.element.removeAttribute("inert"):this.element.setAttribute("inert",this.inert)}}class A{constructor(e){this.name=e,this.buttons=[]}push(e){this.buttons.push(e),(e===document.activeElement||e.checked||void 0===this.selected)&&(this.selected=e)}keep(e){return this.selected===e}}class E extends e.core.DisclosuresGroup{constructor(){super("Modal",!1),this.focusTrap=new f}static get instanceClassName(){return"ModalsGroup"}apply(e,t){super.apply(e,t),null===this.current?this.focusTrap.untrap():this.focusTrap.trap(this.current.node)}}class L extends e.core.Instance{static get instanceClassName(){return"ModalBody"}init(){this.listen("scroll",this.shade.bind(this))}activate(){this.isResizing=!0,this.resize()}deactivate(){this.isResizing=!1}shade(){this.node.scrollHeight>this.node.clientHeight?this.node.offsetHeight+this.node.scrollTop>=this.node.scrollHeight?this.removeClass(d.SCROLL_SHADOW):this.addClass(d.SCROLL_SHADOW):this.removeClass(d.SCROLL_SHADOW)}resize(){this.adjust(),this.request(this.adjust.bind(this))}adjust(){const t=32*(this.isBreakpoint(e.core.Breakpoints.MD)?2:1);this.isLegacy?this.style.maxHeight=window.innerHeight-t+"px":this.style.setProperty("--modal-max-height",window.innerHeight-t+"px"),this.shade()}}e.modal={Modal:p,ModalButton:u,ModalBody:L,ModalsGroup:E,ModalSelector:d},e.internals.register(e.modal.ModalSelector.MODAL,e.modal.Modal),e.internals.register(e.modal.ModalSelector.BODY,e.modal.ModalBody),e.internals.register(e.core.RootSelector.ROOT,e.modal.ModalsGroup);const _={NAVIGATION:e.internals.ns.selector("nav"),COLLAPSE:`${e.internals.ns.selector("nav__item")} > ${e.internals.ns.selector("collapse")}`,ITEM:e.internals.ns.selector("nav__item"),ITEM_RIGHT:e.internals.ns("nav__item--align-right"),MENU:e.internals.ns.selector("menu")};class D extends e.core.Instance{constructor(){super(),this._isRightAligned=!1}static get instanceClassName(){return"NavigationItem"}init(){this.addAscent(e.core.DisclosureEmission.ADDED,this.calculate.bind(this)),this.addAscent(e.core.DisclosureEmission.REMOVED,this.calculate.bind(this)),this.isResizing=!0,this.calculate()}resize(){this.calculate()}calculate(){const t=this.element.getDescendantInstances(e.core.Collapse.instanceClassName,null,!0)[0];if(t&&this.isBreakpoint(e.core.Breakpoints.LG)&&t.element.node.matches(_.MENU)){const e=this.element.node.parentElement.getBoundingClientRect().right,s=t.element.node.getBoundingClientRect().width,i=this.element.node.getBoundingClientRect().left;this.isRightAligned=i+s>e}else this.isRightAligned=!1}get isRightAligned(){return this._isRightAligned}set isRightAligned(t){this._isRightAligned!==t&&(this._isRightAligned=t,t?e.internals.dom.addClass(this.element.node,_.ITEM_RIGHT):e.internals.dom.removeClass(this.element.node,_.ITEM_RIGHT))}}const C={NONE:-1,INSIDE:0,OUTSIDE:1};class y extends e.core.CollapsesGroup{static get instanceClassName(){return"Navigation"}init(){super.init(),this.clicked=!1,this.out=!1,this.listen("focusout",this.focusOut.bind(this)),this.listen("mousedown",this.down.bind(this))}validate(e){return e.element.node.matches(_.COLLAPSE)}down(t){this.isBreakpoint(e.core.Breakpoints.LG)&&-1!==this.index&&this.current&&(this.position=this.current.element.node.contains(t.target)?C.INSIDE:C.OUTSIDE,this.request(this.getPosition.bind(this)))}focusOut(t){this.isBreakpoint(e.core.Breakpoints.LG)&&(this.out=!0,this.request(this.getPosition.bind(this)))}getPosition(){if(this.out)switch(this.position){case C.OUTSIDE:this.index=-1;break;case C.INSIDE:this.current&&this.current.focus();break;default:this.index>-1&&!this.current.hasFocus&&(this.index=-1)}this.position=C.NONE,this.out=!1}get index(){return super.index}set index(e){-1===e&&null!==this.current&&this.current.hasFocus&&this.current.focus(),super.index=e}}e.navigation={Navigation:y,NavigationItem:D,NavigationMousePosition:C,NavigationSelector:_},e.internals.register(e.navigation.NavigationSelector.NAVIGATION,e.navigation.Navigation),e.internals.register(e.navigation.NavigationSelector.ITEM,e.navigation.NavigationItem);class I extends e.core.DisclosureButton{constructor(){super(e.core.DisclosureType.SELECT)}static get instanceClassName(){return"TabButton"}apply(e){super.apply(e),this.isPrimary&&(this.setAttribute("tabindex",e?"0":"-1"),e&&this.list&&this.list.focalize(this))}get list(){return this.element.getAscendantInstance("TabsList","TabsGroup")}}const N={TAB:e.internals.ns.selector("tabs__tab"),GROUP:e.internals.ns.selector("tabs"),PANEL:e.internals.ns.selector("tabs__panel"),LIST:e.internals.ns.selector("tabs__list"),SHADOW:e.internals.ns.selector("tabs__shadow"),SHADOW_LEFT:e.internals.ns.selector("tabs__shadow--left"),SHADOW_RIGHT:e.internals.ns.selector("tabs__shadow--right"),PANEL_START:e.internals.ns.selector("tabs__panel--direction-start"),PANEL_END:e.internals.ns.selector("tabs__panel--direction-end")},O="direction-start",v="direction-end",H="none";class R extends e.core.Disclosure{constructor(){super(e.core.DisclosureType.SELECT,N.PANEL,I,"TabsGroup"),this._direction=H,this._isPreventingTransition=!1}static get instanceClassName(){return"TabPanel"}get direction(){return this._direction}set direction(e){if(e!==this._direction){switch(this._direction){case O:this.removeClass(N.PANEL_START);break;case v:this.removeClass(N.PANEL_END);break;case H:break;default:return}switch(this._direction=e,this._direction){case O:this.addClass(N.PANEL_START);break;case v:this.addClass(N.PANEL_END)}}}get isPreventingTransition(){return this._isPreventingTransition}set isPreventingTransition(t){this._isPreventingTransition!==t&&(t?this.addClass(e.internals.motion.TransitionSelector.NONE):this.removeClass(e.internals.motion.TransitionSelector.NONE),this._isPreventingTransition=!0===t)}translate(e,t){this.isPreventingTransition=t,this.direction=e}reset(){this.group.index=0}}class x extends e.core.DisclosuresGroup{constructor(){super("TabPanel")}static get instanceClassName(){return"TabsGroup"}init(){super.init(),this.listen("transitionend",this.transitionend.bind(this)),this.listenKey(e.core.KeyCodes.RIGHT,this.pressRight.bind(this),!0,!0),this.listenKey(e.core.KeyCodes.LEFT,this.pressLeft.bind(this),!0,!0),this.listenKey(e.core.KeyCodes.HOME,this.pressHome.bind(this),!0,!0),this.listenKey(e.core.KeyCodes.END,this.pressEnd.bind(this),!0,!0),this.isRendering=!0,this.list&&this.list.apply()}get list(){return this.element.getDescendantInstances("TabsList","TabsGroup",!0)[0]}transitionend(e){this.isPreventingTransition=!0}get buttonHasFocus(){return this.members.some((e=>e.buttonHasFocus))}pressRight(){this.buttonHasFocus&&(this.index<this.length-1?this.index++:this.index=0,this.focus())}pressLeft(){this.buttonHasFocus&&(this.index>0?this.index--:this.index=this.length-1,this.focus())}pressHome(){this.buttonHasFocus&&(this.index=0,this.focus())}pressEnd(){this.buttonHasFocus&&(this.index=this.length-1,this.focus())}focus(){this.current&&this.current.focus()}apply(){for(let e=0;e<this._index;e++)this.members[e].translate(O);this.current.translate(H);for(let e=this._index+1;e<this.length;e++)this.members[e].translate(v);this.isPreventingTransition=!1}get isPreventingTransition(){return this._isPreventingTransition}set isPreventingTransition(t){this._isPreventingTransition!==t&&(t?this.addClass(e.internals.motion.TransitionSelector.NONE):this.removeClass(e.internals.motion.TransitionSelector.NONE),this._isPreventingTransition=!0===t)}render(){if(null===this.current)return;const e=Math.round(this.current.node.offsetHeight);if(this.panelHeight===e)return;this.panelHeight=e;let t=0;this.list&&(t=this.list.node.offsetHeight),this.style.setProperty("--tabs-height",this.panelHeight+t+"px")}}class P extends e.core.Instance{static get instanceClassName(){return"TabsList"}init(){this.listen("scroll",this.scroll.bind(this)),this.isResizing=!0}get group(){return this.element.getAscendantInstance("TabsGroup","TabsList")}focalize(e){const t=e.getRect(),s=this.getRect(),i=this.node.scrollLeft;t.left<s.left?this.node.scrollTo(i-s.left+t.left-16,0):t.right>s.right&&this.node.scrollTo(i-s.right+t.right+16,0)}get isScrolling(){return this._isScrolling}set isScrolling(e){this._isScrolling!==e&&(this._isScrolling=e,this.apply())}apply(){this.group&&(this._isScrolling?(this.group.addClass(N.SHADOW),this.scroll()):(this.group.removeClass(N.SHADOW_RIGHT),this.group.removeClass(N.SHADOW_LEFT),this.group.removeClass(N.SHADOW)))}scroll(){if(!this.group)return;const e=this.node.scrollLeft,t=e<=16,s=this.node.scrollWidth-this.node.clientWidth-16,i=Math.abs(e)>=s,n="rtl"===document.documentElement.getAttribute("dir"),r=n?N.SHADOW_RIGHT:N.SHADOW_LEFT,o=n?N.SHADOW_LEFT:N.SHADOW_RIGHT;t?this.group.removeClass(r):this.group.addClass(r),i?this.group.removeClass(o):this.group.addClass(o)}resize(){this.isScrolling=this.node.scrollWidth>this.node.clientWidth+16}dispose(){this.isScrolling=!1}}e.tab={TabPanel:R,TabButton:I,TabsGroup:x,TabsList:P,TabSelector:N},e.internals.register(e.tab.TabSelector.PANEL,e.tab.TabPanel),e.internals.register(e.tab.TabSelector.GROUP,e.tab.TabsGroup),e.internals.register(e.tab.TabSelector.LIST,e.tab.TabsList);const M={SCROLLABLE:e.internals.ns.emission("table","scrollable"),CHANGE:e.internals.ns.emission("table","change"),CAPTION_HEIGHT:e.internals.ns.emission("table","captionheight")};class k extends e.core.Instance{static get instanceClassName(){return"Table"}init(){this.addAscent(M.CAPTION_HEIGHT,this.setCaptionHeight.bind(this))}setCaptionHeight(e){this.setProperty("--table-offset",`calc(${e}px + 1rem)`)}}const w={TABLE:e.internals.ns.selector("table"),SHADOW:e.internals.ns.selector("table__shadow"),SHADOW_LEFT:e.internals.ns.selector("table__shadow--left"),SHADOW_RIGHT:e.internals.ns.selector("table__shadow--right"),ELEMENT:`${e.internals.ns.selector("table")}:not(${e.internals.ns.selector("table--no-scroll")}) table`,CAPTION:`${e.internals.ns.selector("table")} table caption`};class B extends e.core.Instance{static get instanceClassName(){return"TableElement"}init(){this.listen("scroll",this.scroll.bind(this)),this.content=this.querySelector("tbody"),this.isResizing=!0}get isScrolling(){return this._isScrolling}set isScrolling(e){this._isScrolling!==e&&(this._isScrolling=e,e?(this.addClass(w.SHADOW),this.scroll()):(this.removeClass(w.SHADOW),this.removeClass(w.SHADOW_LEFT),this.removeClass(w.SHADOW_RIGHT)))}scroll(){const e=this.node.scrollLeft<=8,t=this.content.offsetWidth-this.node.offsetWidth-8,s=Math.abs(this.node.scrollLeft)>=t,i="rtl"===document.documentElement.getAttribute("dir"),n=i?w.SHADOW_RIGHT:w.SHADOW_LEFT,r=i?w.SHADOW_LEFT:w.SHADOW_RIGHT;e?this.removeClass(n):this.addClass(n),s?this.removeClass(r):this.addClass(r)}resize(){this.isScrolling=this.content.offsetWidth>this.node.offsetWidth}dispose(){this.isScrolling=!1}}class G extends e.core.Instance{static get instanceClassName(){return"TableCaption"}init(){this.height=0,this.isResizing=!0}resize(){const e=this.getRect().height;this.height!==e&&(this.height=e,this.ascend(M.CAPTION_HEIGHT,e))}}e.table={Table:k,TableElement:B,TableCaption:G,TableSelector:w},e.internals.register(e.table.TableSelector.TABLE,e.table.Table),e.internals.register(e.table.TableSelector.ELEMENT,e.table.TableElement),e.internals.register(e.table.TableSelector.CAPTION,e.table.TableCaption);const W={TAG_PRESSABLE:`${e.internals.ns.selector("tag")}[aria-pressed]`};e.tag={TagSelector:W},e.internals.register(e.tag.TagSelector.TAG_PRESSABLE,e.core.Toggle);const F={DOWNLOAD_ASSESS_FILE:`${e.internals.ns.attr.selector("assess-file")}`,DOWNLOAD_DETAIL:`${e.internals.ns.selector("download__detail")}`};class U extends e.core.Instance{static get instanceClassName(){return"AssessFile"}init(){this.lang=this.getLang(this.node),this.href=this.getAttribute("href"),this.hreflang=this.getAttribute("hreflang"),this.file={},this.detail=this.querySelector(F.DOWNLOAD_DETAIL),this.update()}getFileLength(){void 0!==this.href?fetch(this.href,{method:"HEAD",mode:"cors"}).then((e=>{this.length=e.headers.get("content-length")||-1,-1===this.length&&console.warn("Impossible de détecter le poids du fichier "+this.href+'\nErreur de récupération de l\'en-tête HTTP : "content-length"'),this.update()})):this.length=-1}update(){if(this.isLegacy&&(this.length=-1),!this.length)return void this.getFileLength();const e=[];if(this.detail){if(this.href){const t=this.parseExtension(this.href);t&&e.push(t.toUpperCase())}-1!==this.length&&e.push(this.bytesToSize(this.length)),this.hreflang&&e.push(this.getLangDisplayName(this.hreflang)),this.detail.innerHTML=e.join(" - ")}}getLang(e){return e.lang?e.lang:document.documentElement===e?window.navigator.language:this.getLang(e.parentElement)}parseExtension(e){return e.match(/\.(\w{1,9})(?:$|[?#])/)[0].replace(".","")}getLangDisplayName(e){if(this.isLegacy)return e;const t=new Intl.DisplayNames([this.lang],{type:"language"}).of(e);return t.charAt(0).toUpperCase()+t.slice(1)}bytesToSize(t){if(-1===t)return null;let s=["octets","ko","Mo","Go","To"];"bytes"===this.getAttribute(e.internals.ns.attr("assess-file"))&&(s=["bytes","KB","MB","GB","TB"]);const i=parseInt(Math.floor(Math.log(t)/Math.log(1e3)),10);if(0===i)return`${t} ${s[i]}`;const n=t/1e3**i,r=Math.round(100*(n+Number.EPSILON))/100;return`${String(r).replace(".",",")} ${s[i]}`}}e.download={DownloadSelector:F,AssessFile:U},e.internals.register(e.download.DownloadSelector.DOWNLOAD_ASSESS_FILE,e.download.AssessFile);const $={HEADER:e.internals.ns.selector("header"),TOOLS_LINKS:e.internals.ns.selector("header__tools-links"),MENU_LINKS:e.internals.ns.selector("header__menu-links"),BUTTONS:`${e.internals.ns.selector("header__tools-links")} ${e.internals.ns.selector("btns-group")}, ${e.internals.ns.selector("header__tools-links")} ${e.internals.ns.selector("links-group")}`,MODALS:`${e.internals.ns.selector("header__search")}${e.internals.ns.selector("modal")}, ${e.internals.ns.selector("header__menu")}${e.internals.ns.selector("modal")}`};class z extends e.core.Instance{static get instanceClassName(){return"HeaderLinks"}init(){const t=this.queryParentSelector($.HEADER);this.toolsLinks=t.querySelector($.TOOLS_LINKS),this.menuLinks=t.querySelector($.MENU_LINKS);if(this.toolsLinks.innerHTML.replace(/ +/g," ")!==this.menuLinks.innerHTML.replace(/ +/g," "))switch(e.mode){case e.Modes.ANGULAR:case e.Modes.REACT:case e.Modes.VUE:e.inspector.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation: \n${e.header.doc}`);break;default:this.menuLinks.innerHTML=this.toolsLinks.innerHTML}}}class q extends e.core.Instance{static get instanceClassName(){return"HeaderModal"}init(){this.isResizing=!0}resize(){this.isBreakpoint(e.core.Breakpoints.LG)?this.unqualify():this.qualify()}qualify(){this.setAttribute("role","dialog");const e=this.element.getInstance("Modal");if(!e)return;const t=e.buttons;let s="";for(const e of t)if(s=e.id||s,e.isPrimary&&s)break;this.setAttribute("aria-labelledby",s)}unqualify(){const e=this.element.getInstance("Modal");e&&e.conceal(),this.removeAttribute("role"),this.removeAttribute("aria-labelledby")}}e.header={HeaderLinks:z,HeaderModal:q,HeaderSelector:$,doc:"https://gouvfr.atlassian.net/wiki/spaces/DB/pages/222789846/En-t+te+-+Header"},e.internals.register(e.header.HeaderSelector.BUTTONS,e.header.HeaderLinks),e.internals.register(e.header.HeaderSelector.MODALS,e.header.HeaderModal);const K={DISPLAY:e.internals.ns.selector("display"),RADIO_BUTTONS:`input[name="${e.internals.ns("radios-theme")}"]`,FIELDSET:e.internals.ns.selector("fieldset")};class j extends e.core.Instance{static get instanceClassName(){return"Display"}init(){if(this.radios=this.querySelectorAll(K.RADIO_BUTTONS),e.scheme){this.changing=this.change.bind(this);for(const e of this.radios)e.addEventListener("change",this.changing);this.addDescent(e.scheme.SchemeEmission.SCHEME,this.apply.bind(this)),this.ascend(e.scheme.SchemeEmission.ASK)}else this.querySelector(K.FIELDSET).setAttribute("disabled","")}get scheme(){return this._scheme}set scheme(t){if(this._scheme!==t&&e.scheme)switch(t){case e.scheme.SchemeValue.SYSTEM:case e.scheme.SchemeValue.LIGHT:case e.scheme.SchemeValue.DARK:this._scheme=t;for(const e of this.radios)e.checked=e.value===t;this.ascend(e.scheme.SchemeEmission.SCHEME,t)}}change(){for(const e of this.radios)if(e.checked)return void(this.scheme=e.value)}apply(e){this.scheme=e}dispose(){for(const e of this.radios)e.removeEventListener("change",this.changing)}}e.display={Display:j,DisplaySelector:K},e.internals.register(e.display.DisplaySelector.DISPLAY,e.display.Display);
|
|
3
3
|
//# sourceMappingURL=component.module.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.module.min.js","sources":["../../.config/config.js","../../src/core/api.js","../../src/component/accordion/script/accordion/accordion-selector.js","../../src/component/accordion/script/accordion/accordions-group.js","../../src/component/accordion/index.js","../../src/component/accordion/main.js","../../src/component/button/script/button/button-selector.js","../../src/component/button/index.js","../../src/component/button/main.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb-selector.js","../../src/component/breadcrumb/index.js","../../src/component/breadcrumb/main.js","../../src/component/toggle/script/toggle/toggle-input.js","../../src/component/toggle/script/toggle/toggle-status-label.js","../../src/component/toggle/script/toggle/toggle-selector.js","../../src/component/toggle/index.js","../../src/component/toggle/main.js","../../src/component/sidemenu/script/sidemenu/sidemenu-selector.js","../../src/component/sidemenu/script/sidemenu/sidemenu-list.js","../../src/component/sidemenu/index.js","../../src/component/sidemenu/main.js","../../src/component/modal/script/modal/modal-selector.js","../../src/component/modal/script/modal/modal-button.js","../../src/component/modal/script/modal/modal-attribute.js","../../src/component/modal/script/modal/modal.js","../../src/component/modal/script/modal/focus-trap.js","../../src/component/modal/script/modal/modals-group.js","../../src/component/modal/script/modal/modal-body.js","../../src/component/modal/index.js","../../src/component/modal/main.js","../../src/component/navigation/script/navigation/navigation-selector.js","../../src/component/navigation/script/navigation/navigation-item.js","../../src/component/navigation/script/navigation/navigation-mouse-position.js","../../src/component/navigation/script/navigation/navigation.js","../../src/component/navigation/index.js","../../src/component/navigation/main.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/tabs-group.js","../../src/component/tab/script/tab/tabs-list.js","../../src/component/tab/index.js","../../src/component/tab/main.js","../../src/component/table/script/table/table-emission.js","../../src/component/table/script/table/table.js","../../src/component/table/script/table/table-selector.js","../../src/component/table/script/table/table-element.js","../../src/component/table/script/table/table-caption.js","../../src/component/table/index.js","../../src/component/table/main.js","../../src/component/tag/script/tag/tag-selector.js","../../src/component/tag/index.js","../../src/component/tag/main.js","../../src/component/download/script/download/download-selector.js","../../src/component/download/script/download/assess-file.js","../../src/component/download/index.js","../../src/component/download/main.js","../../src/component/header/script/header/header-selector.js","../../src/component/header/script/header/header-links.js","../../src/component/header/script/header/header-modal.js","../../src/component/header/index.js","../../src/component/header/main.js","../../src/component/display/script/display/display-selector.js","../../src/component/display/script/display/display.js","../../src/component/display/index.js","../../src/component/display/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.5.0'\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\nexport const AccordionSelector = {\n GROUP: api.internals.ns.selector('accordions-group'),\n COLLAPSE: `${api.internals.ns.selector('accordion')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { AccordionSelector } from './accordion-selector.js';\n\nclass AccordionsGroup extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'AccordionsGroup';\n }\n\n validate (member) {\n return member.node.matches(AccordionSelector.COLLAPSE);\n }\n}\n\nexport { AccordionsGroup };\n","import api from './api.js';\nimport { AccordionsGroup } from './script/accordion/accordions-group.js';\nimport { AccordionSelector } from './script/accordion/accordion-selector.js';\n\napi.accordion = {\n AccordionSelector: AccordionSelector,\n AccordionsGroup: AccordionsGroup\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.accordion.AccordionSelector.GROUP, api.accordion.AccordionsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ButtonSelector = {\n EQUISIZED_BUTTON: `${api.internals.ns.selector('btns-group--equisized')} ${api.internals.ns.selector('btn')}`,\n EQUISIZED_GROUP: api.internals.ns.selector('btns-group--equisized')\n};\n","import api from './api.js';\nimport { ButtonSelector } from './script/button/button-selector';\n\napi.button = {\n ButtonSelector: ButtonSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.button.ButtonSelector.EQUISIZED_BUTTON, api.core.Equisized);\napi.internals.register(api.button.ButtonSelector.EQUISIZED_GROUP, api.core.EquisizedsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nclass Breadcrumb extends api.core.Instance {\n constructor () {\n super();\n this.count = 0;\n this.focusing = this.focus.bind(this);\n }\n\n static get instanceClassName () {\n return 'Breadcrumb';\n }\n\n init () {\n this.getCollapse();\n this.isResizing = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n focus: scope.focus.bind(scope),\n disclose: scope.collapse.disclose.bind(scope.collapse)\n });\n }\n\n getCollapse () {\n const collapse = this.collapse;\n if (collapse) {\n collapse.listen(api.core.DisclosureEvent.DISCLOSE, this.focusing);\n } else {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.getCollapse.bind(this));\n }\n }\n\n resize () {\n const collapse = this.collapse;\n const links = this.links;\n if (!collapse || !links.length) return;\n\n if (this.isBreakpoint(api.core.Breakpoints.MD)) {\n if (collapse.buttonHasFocus) links[0].focus();\n } else {\n if (links.indexOf(document.activeElement) > -1) collapse.focus();\n }\n }\n\n get links () {\n return [...this.querySelectorAll('a[href]')];\n }\n\n get collapse () {\n return this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n }\n\n focus () {\n this.count = 0;\n this._focus();\n }\n\n _focus () {\n const link = this.links[0];\n if (!link) return;\n link.focus();\n this.request(this.verify.bind(this));\n }\n\n verify () {\n this.count++;\n if (this.count > 100) return;\n const link = this.links[0];\n if (!link) return;\n if (document.activeElement !== link) this._focus();\n }\n}\n\nexport { Breadcrumb };\n","import api from '../../api.js';\n\nexport const BreadcrumbSelector = {\n BREADCRUMB: api.internals.ns.selector('breadcrumb')\n};\n","import api from './api.js';\nimport { Breadcrumb } from './script/breadcrumb/breadcrumb.js';\nimport { BreadcrumbSelector } from './script/breadcrumb/breadcrumb-selector.js';\n\napi.breadcrumb = {\n BreadcrumbSelector: BreadcrumbSelector,\n Breadcrumb: Breadcrumb\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.breadcrumb.BreadcrumbSelector.BREADCRUMB, api.breadcrumb.Breadcrumb);\n\nexport default api;\n","import api from '../../api.js';\n\nclass ToggleInput extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleInput';\n }\n\n get isChecked () {\n return this.hasAttribute('checked');\n }\n}\n\nexport { ToggleInput };\n","import api from '../../api.js';\nimport { ToggleInput } from './toggle-input.js';\n\nclass ToggleStatusLabel extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleStatusLabel';\n }\n\n init () {\n this.register(`input[id=\"${this.getAttribute('for')}\"]`, ToggleInput);\n this.update();\n this.isSwappingFont = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n update: scope.update.bind(scope)\n });\n }\n\n get input () {\n return this.getRegisteredInstances('ToggleInput')[0];\n }\n\n update () {\n this.node.style.removeProperty('--toggle-status-width');\n const checked = this.input.isChecked;\n\n const style = getComputedStyle(this.node, ':before');\n let maxWidth = parseFloat(style.width);\n this.input.node.checked = !checked;\n\n const style2 = getComputedStyle(this.node, ':before');\n const width = parseFloat(style2.width);\n if (width > maxWidth) maxWidth = width;\n this.input.node.checked = checked;\n\n this.node.style.setProperty('--toggle-status-width', (maxWidth / 16) + 'rem');\n }\n\n swapFont (families) {\n this.update();\n }\n}\n\nexport { ToggleStatusLabel };\n","import api from '../../api.js';\n\nexport const ToggleSelector = {\n STATUS_LABEL: `${api.internals.ns.selector('toggle__label')}${api.internals.ns.attr.selector('checked-label')}${api.internals.ns.attr.selector('unchecked-label')}`\n};\n","import api from './api.js';\nimport { ToggleStatusLabel } from './script/toggle/toggle-status-label.js';\nimport { ToggleSelector } from './script/toggle/toggle-selector.js';\n// import { ToggleInput } from './script/toggle/toggle-input.js';\n\napi.toggle = {\n ToggleStatusLabel: ToggleStatusLabel,\n ToggleSelector: ToggleSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.toggle.ToggleSelector.STATUS_LABEL, api.toggle.ToggleStatusLabel);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const SidemenuSelector = {\n LIST: api.internals.ns.selector('sidemenu__list'),\n COLLAPSE: `${api.internals.ns.selector('sidemenu__item')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { SidemenuSelector } from './sidemenu-selector.js';\n\nclass SidemenuList extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'SidemenuList';\n }\n\n validate (member) {\n return member.node.matches(SidemenuSelector.COLLAPSE);\n }\n}\n\nexport { SidemenuList };\n","import api from './api.js';\nimport { SidemenuList } from './script/sidemenu/sidemenu-list.js';\nimport { SidemenuSelector } from './script/sidemenu/sidemenu-selector.js';\n\napi.sidemenu = {\n SidemenuList: SidemenuList,\n SidemenuSelector: SidemenuSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.sidemenu.SidemenuSelector.LIST, api.sidemenu.SidemenuList);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ModalSelector = {\n MODAL: api.internals.ns.selector('modal'),\n SCROLL_SHADOW: api.internals.ns.selector('scroll-shadow'),\n BODY: api.internals.ns.selector('modal__body')\n};\n","import api from '../../api.js';\n\nclass ModalButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.OPENED);\n }\n\n static get instanceClassName () {\n return 'ModalButton';\n }\n}\n\nexport { ModalButton };\n","import api from '../../api';\n\nexport const ModalAttribute = {\n CONCEALING_BACKDROP: api.internals.ns.attr('concealing-backdrop')\n};\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\nimport { ModalButton } from './modal-button.js';\nimport { ModalAttribute } from './modal-attribute';\n\nclass Modal extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.OPENED, ModalSelector.MODAL, ModalButton, 'ModalsGroup');\n this.scrolling = this.resize.bind(this, false);\n this.resizing = this.resize.bind(this, true);\n }\n\n static get instanceClassName () {\n return 'Modal';\n }\n\n init () {\n super.init();\n this.listen('click', this.click.bind(this));\n this.listenKey(api.core.KeyCodes.ESCAPE, this.conceal.bind(this, false, false), true, true);\n }\n\n get body () {\n return this.element.getDescendantInstances('ModalBody', 'Modal')[0];\n }\n\n click (e) {\n if (e.target === this.node && this.getAttribute(ModalAttribute.CONCEALING_BACKDROP) !== 'false') this.conceal();\n }\n\n disclose (withhold) {\n if (!super.disclose(withhold)) return false;\n if (this.body) this.body.activate();\n this.isScrollLocked = true;\n this.setAttribute('aria-modal', 'true');\n this.setAttribute('open', 'true');\n return true;\n }\n\n conceal (withhold, preventFocus) {\n if (!super.conceal(withhold, preventFocus)) return false;\n this.isScrollLocked = false;\n this.removeAttribute('aria-modal');\n this.removeAttribute('open');\n if (this.body) this.body.deactivate();\n return true;\n }\n}\n\nexport { Modal };\n","import api from '../../api.js';\n\nconst unordereds = [\n '[tabindex=\"0\"]',\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n 'iframe'\n];\n\nconst UNORDEREDS = unordereds.join();\n\nconst ordereds = [\n '[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])'\n];\n\nconst ORDEREDS = ordereds.join();\n\nconst IS_STUNNING = false;\n\nconst isFocusable = (element, container) => {\n if (!(element instanceof Element)) return false;\n const style = window.getComputedStyle(element);\n if (!style) return false;\n if (style.visibility === 'hidden') return false;\n if (container === undefined) container = element;\n\n while (container.contains(element)) {\n if (style.display === 'none') return false;\n element = element.parentElement;\n }\n\n return true;\n};\n\nclass FocusTrap {\n constructor (onTrap, onUntrap) {\n this.element = null;\n this.activeElement = null;\n this.onTrap = onTrap;\n this.onUntrap = onUntrap;\n this.waiting = this.wait.bind(this);\n this.handling = this.handle.bind(this);\n this.focusing = this.maintainFocus.bind(this);\n this.current = null;\n }\n\n get trapped () { return this.element !== null; }\n\n trap (element) {\n if (this.trapped) this.untrap();\n\n this.element = element;\n this.isTrapping = true;\n this.wait();\n\n if (this.onTrap) this.onTrap();\n }\n\n wait () {\n if (!isFocusable(this.element)) {\n window.requestAnimationFrame(this.waiting);\n return;\n }\n\n this.trapping();\n }\n\n trapping () {\n if (!this.isTrapping) return;\n this.isTrapping = false;\n const focusables = this.focusables;\n if (focusables.length) focusables[0].focus();\n this.element.setAttribute('aria-modal', true);\n window.addEventListener('keydown', this.handling);\n document.body.addEventListener('focus', this.focusing, true);\n\n if (IS_STUNNING) {\n this.stunneds = [];\n this.stun(document.body);\n }\n }\n\n stun (node) {\n for (const child of node.children) {\n if (child === this.element) continue;\n if (child.contains(this.element)) {\n this.stun(child);\n continue;\n }\n this.stunneds.push(new Stunned(child));\n }\n }\n\n maintainFocus (event) {\n if (!this.element.contains(event.target)) {\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n const first = focusables[0];\n event.preventDefault();\n first.focus();\n }\n }\n\n handle (e) {\n if (e.keyCode !== 9) return;\n\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n const index = focusables.indexOf(document.activeElement);\n\n if (e.shiftKey) {\n if (!this.element.contains(document.activeElement) || index < 1) {\n e.preventDefault();\n last.focus();\n } else if (document.activeElement.tabIndex > 0 || focusables[index - 1].tabIndex > 0) {\n e.preventDefault();\n focusables[index - 1].focus();\n }\n } else {\n if (!this.element.contains(document.activeElement) || index === focusables.length - 1 || index === -1) {\n e.preventDefault();\n first.focus();\n } else if (document.activeElement.tabIndex > 0) {\n e.preventDefault();\n focusables[index + 1].focus();\n }\n }\n }\n\n get focusables () {\n let unordereds = api.internals.dom.querySelectorAllArray(this.element, UNORDEREDS);\n\n /**\n * filtrage des radiobutttons de même name (la navigations d'un groupe de radio se fait à la flèche et non pas au tab\n **/\n const radios = api.internals.dom.querySelectorAllArray(document.documentElement, 'input[type=\"radio\"]');\n\n if (radios.length) {\n const groups = {};\n\n for (const radio of radios) {\n const name = radio.getAttribute('name');\n if (groups[name] === undefined) groups[name] = new RadioButtonGroup(name);\n groups[name].push(radio);\n }\n\n unordereds = unordereds.filter((unordered) => {\n if (unordered.tagName.toLowerCase() !== 'input' || unordered.getAttribute('type').toLowerCase() !== 'radio') return true;\n const name = unordered.getAttribute('name');\n return groups[name].keep(unordered);\n });\n }\n\n const ordereds = api.internals.dom.querySelectorAllArray(this.element, ORDEREDS);\n\n ordereds.sort((a, b) => a.tabIndex - b.tabIndex);\n\n const noDuplicates = unordereds.filter((element) => ordereds.indexOf(element) === -1);\n const concateneds = ordereds.concat(noDuplicates);\n return concateneds.filter((element) => element.tabIndex !== '-1' && isFocusable(element, this.element));\n }\n\n untrap () {\n if (!this.trapped) return;\n this.isTrapping = false;\n\n this.element.removeAttribute('aria-modal');\n window.removeEventListener('keydown', this.handling);\n document.body.removeEventListener('focus', this.focusing, true);\n\n this.element = null;\n\n if (IS_STUNNING) {\n for (const stunned of this.stunneds) stunned.unstun();\n this.stunneds = [];\n }\n\n if (this.onUntrap) this.onUntrap();\n }\n\n dispose () {\n this.untrap();\n }\n}\n\nclass Stunned {\n constructor (element) {\n this.element = element;\n // this.hidden = element.getAttribute('aria-hidden');\n this.inert = element.getAttribute('inert');\n\n // this.element.setAttribute('aria-hidden', true);\n this.element.setAttribute('inert', '');\n }\n\n unstun () {\n /*\n if (this.hidden === null) this.element.removeAttribute('aria-hidden');\n else this.element.setAttribute('aria-hidden', this.hidden);\n */\n\n if (this.inert === null) this.element.removeAttribute('inert');\n else this.element.setAttribute('inert', this.inert);\n }\n}\n\nclass RadioButtonGroup {\n constructor (name) {\n this.name = name;\n this.buttons = [];\n }\n\n push (button) {\n this.buttons.push(button);\n if (button === document.activeElement || button.checked || this.selected === undefined) this.selected = button;\n }\n\n keep (button) {\n return this.selected === button;\n }\n}\n\nexport { FocusTrap };\n","import api from '../../api.js';\nimport { FocusTrap } from './focus-trap.js';\n\nclass ModalsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('Modal', false);\n this.focusTrap = new FocusTrap();\n }\n\n static get instanceClassName () {\n return 'ModalsGroup';\n }\n\n apply (value, initial) {\n super.apply(value, initial);\n if (this.current === null) this.focusTrap.untrap();\n else this.focusTrap.trap(this.current.node);\n }\n}\n\nexport { ModalsGroup };\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\n\nconst OFFSET = 32; // 32px => 8v => 2rem\n\nclass ModalBody extends api.core.Instance {\n static get instanceClassName () {\n return 'ModalBody';\n }\n\n init () {\n this.listen('scroll', this.shade.bind(this));\n }\n\n activate () {\n this.isResizing = true;\n this.resize();\n }\n\n deactivate () {\n this.isResizing = false;\n }\n\n shade () {\n if (this.node.scrollHeight > this.node.clientHeight) {\n if (this.node.offsetHeight + this.node.scrollTop >= this.node.scrollHeight) {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n } else {\n this.addClass(ModalSelector.SCROLL_SHADOW);\n }\n } else {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n }\n }\n\n resize () {\n this.adjust();\n this.request(this.adjust.bind(this));\n }\n\n adjust () {\n const offset = OFFSET * (this.isBreakpoint(api.core.Breakpoints.MD) ? 2 : 1);\n if (this.isLegacy) this.style.maxHeight = `${window.innerHeight - offset}px`;\n else this.style.setProperty('--modal-max-height', `${window.innerHeight - offset}px`);\n this.shade();\n }\n}\n\nexport { ModalBody };\n","import api from './api.js';\n\nimport { Modal } from './script/modal/modal.js';\nimport { ModalButton } from './script/modal/modal-button.js';\nimport { ModalsGroup } from './script/modal/modals-group.js';\nimport { ModalBody } from './script/modal/modal-body.js';\nimport { ModalSelector } from './script/modal/modal-selector.js';\n\napi.modal = {\n Modal: Modal,\n ModalButton: ModalButton,\n ModalBody: ModalBody,\n ModalsGroup: ModalsGroup,\n ModalSelector: ModalSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.modal.ModalSelector.MODAL, api.modal.Modal);\napi.internals.register(api.modal.ModalSelector.BODY, api.modal.ModalBody);\napi.internals.register(api.core.RootSelector.ROOT, api.modal.ModalsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const NavigationSelector = {\n NAVIGATION: api.internals.ns.selector('nav'),\n COLLAPSE: `${api.internals.ns.selector('nav__item')} > ${api.internals.ns.selector('collapse')}`,\n ITEM: api.internals.ns.selector('nav__item'),\n ITEM_RIGHT: api.internals.ns('nav__item--align-right'),\n MENU: api.internals.ns.selector('menu')\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\n\nclass NavigationItem extends api.core.Instance {\n constructor () {\n super();\n this._isRightAligned = false;\n }\n\n static get instanceClassName () {\n return 'NavigationItem';\n }\n\n init () {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.calculate.bind(this));\n this.addAscent(api.core.DisclosureEmission.REMOVED, this.calculate.bind(this));\n this.isResizing = true;\n this.calculate();\n }\n\n resize () {\n this.calculate();\n }\n\n calculate () {\n const collapse = this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n if (collapse && this.isBreakpoint(api.core.Breakpoints.LG) && collapse.element.node.matches(NavigationSelector.MENU)) {\n const right = this.element.node.parentElement.getBoundingClientRect().right;\n const width = collapse.element.node.getBoundingClientRect().width;\n const left = this.element.node.getBoundingClientRect().left;\n this.isRightAligned = left + width > right;\n } else this.isRightAligned = false;\n }\n\n get isRightAligned () {\n return this._isRightAligned;\n }\n\n set isRightAligned (value) {\n if (this._isRightAligned === value) return;\n this._isRightAligned = value;\n if (value) api.internals.dom.addClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n else api.internals.dom.removeClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n }\n}\n\nexport { NavigationItem };\n","export const NavigationMousePosition = {\n NONE: -1,\n INSIDE: 0,\n OUTSIDE: 1\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\nimport { NavigationMousePosition } from './navigation-mouse-position.js';\n\nclass Navigation extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'Navigation';\n }\n\n init () {\n super.init();\n this.clicked = false;\n this.out = false;\n this.listen('focusout', this.focusOut.bind(this));\n this.listen('mousedown', this.down.bind(this));\n }\n\n validate (member) {\n return member.element.node.matches(NavigationSelector.COLLAPSE);\n }\n\n down (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG) || this.index === -1 || !this.current) return;\n this.position = this.current.element.node.contains(e.target) ? NavigationMousePosition.INSIDE : NavigationMousePosition.OUTSIDE;\n this.request(this.getPosition.bind(this));\n }\n\n focusOut (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG)) return;\n this.out = true;\n this.request(this.getPosition.bind(this));\n }\n\n getPosition () {\n if (this.out) {\n switch (this.position) {\n case NavigationMousePosition.OUTSIDE:\n this.index = -1;\n break;\n\n case NavigationMousePosition.INSIDE:\n if (this.current) this.current.focus();\n break;\n\n default:\n if (this.index > -1 && !this.current.hasFocus) this.index = -1;\n }\n }\n this.position = NavigationMousePosition.NONE;\n this.out = false;\n }\n\n get index () { return super.index; }\n\n set index (value) {\n if (value === -1 && this.current !== null && this.current.hasFocus) this.current.focus();\n super.index = value;\n }\n}\n\nexport { Navigation };\n","import api from './api.js';\nimport { NavigationItem } from './script/navigation/navigation-item.js';\nimport { Navigation } from './script/navigation/navigation.js';\nimport { NavigationSelector } from './script/navigation/navigation-selector.js';\nimport { NavigationMousePosition } from './script/navigation/navigation-mouse-position.js';\n\napi.navigation = {\n Navigation: Navigation,\n NavigationItem: NavigationItem,\n NavigationMousePosition: NavigationMousePosition,\n NavigationSelector: NavigationSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.navigation.NavigationSelector.NAVIGATION, api.navigation.Navigation);\napi.internals.register(api.navigation.NavigationSelector.ITEM, api.navigation.NavigationItem);\n\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 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 this.group.index = 0;\n }\n}\n\nexport { TabPanel };\n","import api from '../../api.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\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 this.listen('transitionend', this.transitionend.bind(this));\n this.listenKey(api.core.KeyCodes.RIGHT, this.pressRight.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.LEFT, this.pressLeft.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.HOME, this.pressHome.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.END, this.pressEnd.bind(this), true, true);\n this.isRendering = true;\n\n if (this.list) this.list.apply();\n }\n\n get list () {\n return this.element.getDescendantInstances('TabsList', 'TabsGroup', true)[0];\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 /**\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 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 const paneHeight = Math.round(this.current.node.offsetHeight);\n if (this.panelHeight === paneHeight) return;\n this.panelHeight = paneHeight;\n let listHeight = 0;\n if (this.list) listHeight = this.list.node.offsetHeight;\n this.style.setProperty('--tabs-height', (this.panelHeight + listHeight) + 'px');\n }\n}\n\nexport { TabsGroup };\n","import api from '../../api.js';\nimport { TabSelector } from './tab-selector';\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.isResizing = true;\n }\n\n get group () {\n return this.element.getAscendantInstance('TabsGroup', 'TabsList');\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.group) return;\n if (this._isScrolling) {\n this.group.addClass(TabSelector.SHADOW);\n this.scroll();\n } else {\n this.group.removeClass(TabSelector.SHADOW_RIGHT);\n this.group.removeClass(TabSelector.SHADOW_LEFT);\n this.group.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 if (!this.group) return;\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.group.removeClass(minSelector);\n } else {\n this.group.addClass(minSelector);\n }\n\n if (isMax) {\n this.group.removeClass(maxSelector);\n } else {\n this.group.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.node.scrollWidth > this.node.clientWidth + SCROLL_OFFSET;\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';\n\napi.tab = {\n TabPanel: TabPanel,\n TabButton: TabButton,\n TabsGroup: TabsGroup,\n TabsList: TabsList,\n TabSelector: TabSelector\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","import api from '../../api.js';\n\nexport const TableEmission = {\n SCROLLABLE: api.internals.ns.emission('table', 'scrollable'),\n CHANGE: api.internals.ns.emission('table', 'change'),\n CAPTION_HEIGHT: api.internals.ns.emission('table', 'captionheight')\n};\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nconst PADDING = '1rem'; // padding de 4v sur le caption\n\nclass Table extends api.core.Instance {\n static get instanceClassName () {\n return 'Table';\n }\n\n init () {\n this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this));\n }\n\n setCaptionHeight (value) {\n this.setProperty('--table-offset', `calc(${value}px + ${PADDING})`);\n }\n}\n\nexport { Table };\n","import api from '../../api.js';\n\nexport const TableSelector = {\n TABLE: api.internals.ns.selector('table'),\n SHADOW: api.internals.ns.selector('table__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('table__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('table__shadow--right'),\n ELEMENT: `${api.internals.ns.selector('table')}:not(${api.internals.ns.selector('table--no-scroll')}) table`,\n CAPTION: `${api.internals.ns.selector('table')} table caption`\n};\n","import api from '../../api.js';\nimport { TableSelector } from './table-selector.js';\n\nconst SCROLL_OFFSET = 8; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TableElement extends api.core.Instance {\n static get instanceClassName () {\n return 'TableElement';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.content = this.querySelector('tbody');\n this.isResizing = true;\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n\n if (value) {\n this.addClass(TableSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TableSelector.SHADOW);\n this.removeClass(TableSelector.SHADOW_LEFT);\n this.removeClass(TableSelector.SHADOW_RIGHT);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const isMin = this.node.scrollLeft <= SCROLL_OFFSET;\n const max = this.content.offsetWidth - this.node.offsetWidth - SCROLL_OFFSET;\n const isMax = Math.abs(this.node.scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TableSelector.SHADOW_RIGHT : TableSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TableSelector.SHADOW_LEFT : TableSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.content.offsetWidth > this.node.offsetWidth;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TableElement };\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nclass TableCaption extends api.core.Instance {\n static get instanceClassName () {\n return 'TableCaption';\n }\n\n init () {\n this.height = 0;\n this.isResizing = true;\n }\n\n resize () {\n const height = this.getRect().height;\n if (this.height === height) return;\n this.height = height;\n this.ascend(TableEmission.CAPTION_HEIGHT, height);\n }\n}\n\nexport { TableCaption };\n","import api from './api.js';\nimport { Table } from './script/table/table.js';\nimport { TableElement } from './script/table/table-element.js';\nimport { TableSelector } from './script/table/table-selector.js';\nimport { TableCaption } from './script/table/table-caption.js';\n\napi.table = {\n Table: Table,\n TableElement: TableElement,\n TableCaption: TableCaption,\n TableSelector: TableSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.table.TableSelector.TABLE, api.table.Table);\napi.internals.register(api.table.TableSelector.ELEMENT, api.table.TableElement);\napi.internals.register(api.table.TableSelector.CAPTION, api.table.TableCaption);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const TagSelector = {\n TAG_PRESSABLE: `${api.internals.ns.selector('tag')}[aria-pressed]`\n};\n","import api from './api.js';\nimport { TagSelector } from './script/tag/tag-selector';\n\napi.tag = {\n TagSelector: TagSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tag.TagSelector.TAG_PRESSABLE, api.core.Toggle);\n\nexport default api;\n","import api from '../../api.js';\n\nconsole.log(api.internals.ns.attr.selector('assess-file'));\nexport const DownloadSelector = {\n DOWNLOAD_ASSESS_FILE: `${api.internals.ns.attr.selector('assess-file')}`,\n DOWNLOAD_DETAIL: `${api.internals.ns.selector('download__detail')}`\n};\n","import api from '../../api.js';\nimport { DownloadSelector } from './download-selector';\n\nclass AssessFile extends api.core.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\n this.hreflang = this.getAttribute('hreflang');\n this.file = {};\n this.detail = this.querySelector(DownloadSelector.DOWNLOAD_DETAIL);\n this.update();\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 console.warn('Impossible de détecter le poids du fichier ' + this.href + '\\nErreur de récupération de l\\'en-tête HTTP : \"content-length\"');\n }\n this.update();\n });\n }\n\n update () {\n // TODO V2: implémenter async\n if (this.legacy) this.length = -1;\n\n if (!this.length) {\n this.getFileLength();\n return;\n }\n\n const details = [];\n if (this.detail) {\n if (this.href) {\n const extension = this.parseExtension(this.href);\n if (extension) details.push(extension.toUpperCase());\n }\n\n if (this.length !== -1) {\n details.push(this.bytesToSize(this.length));\n }\n\n if (this.hreflang) {\n const displayNameLang = new Intl.DisplayNames([this.lang], { type: 'language' });\n const langName = displayNameLang.of(this.hreflang);\n const capitalizeLangName = langName.charAt(0).toUpperCase() + langName.slice(1);\n details.push(capitalizeLangName);\n }\n\n this.detail.innerHTML = details.join(' - ');\n }\n }\n\n getLang (elem) {\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 bytesToSize (bytes) {\n if (bytes === -1) return null;\n\n let sizeUnits = ['octets', 'ko', 'Mo', 'Go', 'To'];\n if (this.getAttribute(api.internals.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 api from './api.js';\nimport { AssessFile } from './script/download/assess-file.js';\nimport { DownloadSelector } from './script/download/download-selector';\n\napi.download = {\n DownloadSelector: DownloadSelector,\n AssessFile: AssessFile\n\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.download.DownloadSelector.DOWNLOAD_ASSESS_FILE, api.download.AssessFile);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const HeaderSelector = {\n HEADER: api.internals.ns.selector('header'),\n TOOLS_LINKS: api.internals.ns.selector('header__tools-links'),\n MENU_LINKS: api.internals.ns.selector('header__menu-links'),\n BUTTONS: `${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('btns-group')}, ${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('links-group')}`,\n MODALS: `${api.internals.ns.selector('header__search')}${api.internals.ns.selector('modal')}, ${api.internals.ns.selector('header__menu')}${api.internals.ns.selector('modal')}`\n};\n","import api from '../../api.js';\nimport { HeaderSelector } from './header-selector.js';\n\nclass HeaderLinks extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderLinks';\n }\n\n init () {\n const header = this.queryParentSelector(HeaderSelector.HEADER);\n this.toolsLinks = header.querySelector(HeaderSelector.TOOLS_LINKS);\n this.menuLinks = header.querySelector(HeaderSelector.MENU_LINKS);\n\n const toolsHtml = this.toolsLinks.innerHTML.replace(/ +/g, ' ');\n const menuHtml = this.menuLinks.innerHTML.replace(/ +/g, ' ');\n\n if (toolsHtml === menuHtml) return;\n\n switch (api.mode) {\n case api.Modes.ANGULAR:\n case api.Modes.REACT:\n case api.Modes.VUE:\n api.inspector.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation: \n${api.header.doc}`);\n break;\n\n default:\n this.menuLinks.innerHTML = this.toolsLinks.innerHTML;\n }\n }\n}\n\nexport { HeaderLinks };\n","import api from '../../api.js';\n\nclass HeaderModal extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderModal';\n }\n\n init () {\n this.isResizing = true;\n }\n\n resize () {\n if (this.isBreakpoint(api.core.Breakpoints.LG)) this.unqualify();\n else this.qualify();\n }\n\n qualify () {\n this.setAttribute('role', 'dialog');\n const modal = this.element.getInstance('Modal');\n if (!modal) return;\n const buttons = modal.buttons;\n let id = '';\n for (const button of buttons) {\n id = button.id || id;\n if (button.isPrimary && id) break;\n }\n this.setAttribute('aria-labelledby', id);\n }\n\n unqualify () {\n const modal = this.element.getInstance('Modal');\n if (modal) modal.conceal();\n this.removeAttribute('role');\n this.removeAttribute('aria-labelledby');\n }\n}\n\nexport { HeaderModal };\n","import api from './api.js';\nimport { HeaderLinks } from './script/header/header-links.js';\nimport { HeaderModal } from './script/header/header-modal.js';\nimport { HeaderSelector } from './script/header/header-selector.js';\n\napi.header = {\n HeaderLinks: HeaderLinks,\n HeaderModal: HeaderModal,\n HeaderSelector: HeaderSelector,\n doc: 'https://gouvfr.atlassian.net/wiki/spaces/DB/pages/222789846/En-t+te+-+Header'\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.header.HeaderSelector.BUTTONS, api.header.HeaderLinks);\napi.internals.register(api.header.HeaderSelector.MODALS, api.header.HeaderModal);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const DisplaySelector = {\n DISPLAY: api.internals.ns.selector('display'),\n RADIO_BUTTONS: `input[name=\"${api.internals.ns('radios-theme')}\"]`,\n FIELDSET: api.internals.ns.selector('fieldset')\n};\n","import api from '../../api.js';\nimport { DisplaySelector } from './display-selector.js';\n\nclass Display extends api.core.Instance {\n static get instanceClassName () {\n return 'Display';\n }\n\n init () {\n this.radios = this.querySelectorAll(DisplaySelector.RADIO_BUTTONS);\n\n if (api.scheme) {\n this.changing = this.change.bind(this);\n for (const radio of this.radios) radio.addEventListener('change', this.changing);\n this.addDescent(api.scheme.SchemeEmission.SCHEME, this.apply.bind(this));\n this.ascend(api.scheme.SchemeEmission.ASK);\n } else {\n this.querySelector(DisplaySelector.FIELDSET).setAttribute('disabled', '');\n }\n }\n\n get scheme () {\n return this._scheme;\n }\n\n set scheme (value) {\n if (this._scheme === value || !api.scheme) return;\n switch (value) {\n case api.scheme.SchemeValue.SYSTEM:\n case api.scheme.SchemeValue.LIGHT:\n case api.scheme.SchemeValue.DARK:\n this._scheme = value;\n for (const radio of this.radios) {\n radio.checked = radio.value === value;\n }\n this.ascend(api.scheme.SchemeEmission.SCHEME, value);\n break;\n }\n }\n\n change () {\n for (const radio of this.radios) {\n if (radio.checked) {\n this.scheme = radio.value;\n return;\n }\n }\n }\n\n apply (value) {\n this.scheme = value;\n }\n\n dispose () {\n for (const radio of this.radios) radio.removeEventListener('change', this.changing);\n }\n}\n\nexport { Display };\n","import api from './api.js';\nimport { Display } from './script/display/display.js';\nimport { DisplaySelector } from './script/display/display-selector.js';\n\napi.display = {\n Display: Display,\n DisplaySelector: DisplaySelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.display.DisplaySelector.DISPLAY, api.display.Display);\n\nexport default api;\n"],"names":["api","window","AccordionSelector","GROUP","internals","ns","selector","COLLAPSE","AccordionsGroup","core","CollapsesGroup","instanceClassName","validate","member","node","matches","accordion","register","ButtonSelector","EQUISIZED_BUTTON","EQUISIZED_GROUP","button","Equisized","EquisizedsGroup","Breadcrumb","Instance","constructor","super","this","count","focusing","focus","bind","init","getCollapse","isResizing","proxy","scope","Object","assign","disclose","collapse","listen","DisclosureEvent","DISCLOSE","addAscent","DisclosureEmission","ADDED","resize","links","length","isBreakpoint","Breakpoints","MD","buttonHasFocus","indexOf","document","activeElement","querySelectorAll","element","getDescendantInstances","Collapse","_focus","link","request","verify","BreadcrumbSelector","BREADCRUMB","breadcrumb","ToggleInput","isChecked","hasAttribute","ToggleStatusLabel","getAttribute","update","isSwappingFont","input","getRegisteredInstances","style","removeProperty","checked","getComputedStyle","maxWidth","parseFloat","width","style2","setProperty","swapFont","families","ToggleSelector","STATUS_LABEL","attr","toggle","SidemenuSelector","LIST","SidemenuList","sidemenu","ModalSelector","MODAL","SCROLL_SHADOW","BODY","ModalButton","DisclosureButton","DisclosureType","OPENED","ModalAttribute","CONCEALING_BACKDROP","Modal","Disclosure","scrolling","resizing","click","listenKey","KeyCodes","ESCAPE","conceal","body","e","target","withhold","activate","isScrollLocked","setAttribute","preventFocus","removeAttribute","deactivate","UNORDEREDS","join","ORDEREDS","isFocusable","container","Element","visibility","undefined","contains","display","parentElement","FocusTrap","onTrap","onUntrap","waiting","wait","handling","handle","maintainFocus","current","trapped","trap","untrap","isTrapping","trapping","requestAnimationFrame","focusables","addEventListener","stun","child","children","stunneds","push","Stunned","event","first","preventDefault","keyCode","last","index","shiftKey","tabIndex","unordereds","dom","querySelectorAllArray","radios","documentElement","groups","radio","name","RadioButtonGroup","filter","unordered","tagName","toLowerCase","keep","ordereds","sort","a","b","noDuplicates","concat","removeEventListener","dispose","inert","unstun","buttons","selected","ModalsGroup","DisclosuresGroup","focusTrap","apply","value","initial","ModalBody","shade","scrollHeight","clientHeight","offsetHeight","scrollTop","removeClass","addClass","adjust","offset","isLegacy","maxHeight","innerHeight","modal","RootSelector","ROOT","NavigationSelector","NAVIGATION","ITEM","ITEM_RIGHT","MENU","NavigationItem","_isRightAligned","calculate","REMOVED","LG","right","getBoundingClientRect","left","isRightAligned","NavigationMousePosition","NONE","INSIDE","OUTSIDE","Navigation","clicked","out","focusOut","down","position","getPosition","hasFocus","navigation","TabButton","SELECT","isPrimary","list","focalize","getAscendantInstance","TabSelector","TAB","PANEL","SHADOW","SHADOW_LEFT","SHADOW_RIGHT","PANEL_START","PANEL_END","TabPanelDirection","TabPanel","_direction","_isPreventingTransition","direction","isPreventingTransition","motion","TransitionSelector","translate","reset","group","TabsGroup","transitionend","RIGHT","pressRight","LEFT","pressLeft","HOME","pressHome","END","pressEnd","isRendering","members","some","i","_index","render","paneHeight","Math","round","panelHeight","listHeight","TabsList","scroll","btn","btnRect","getRect","listRect","actualScroll","scrollLeft","scrollTo","isScrolling","_isScrolling","isMin","max","scrollWidth","clientWidth","isMax","abs","isRtl","minSelector","maxSelector","tab","TableEmission","SCROLLABLE","emission","CHANGE","CAPTION_HEIGHT","Table","setCaptionHeight","TableSelector","TABLE","ELEMENT","CAPTION","TableElement","content","querySelector","offsetWidth","TableCaption","height","ascend","table","TagSelector","TAG_PRESSABLE","tag","Toggle","console","log","DownloadSelector","DOWNLOAD_ASSESS_FILE","DOWNLOAD_DETAIL","AssessFile","lang","getLang","href","hreflang","file","detail","getFileLength","fetch","method","mode","then","response","headers","get","warn","legacy","details","extension","parseExtension","toUpperCase","bytesToSize","langName","Intl","DisplayNames","type","of","capitalizeLangName","charAt","slice","innerHTML","elem","navigator","language","url","match","replace","bytes","sizeUnits","parseInt","floor","size","roundedSize","Number","EPSILON","String","download","HeaderSelector","HEADER","TOOLS_LINKS","MENU_LINKS","BUTTONS","MODALS","HeaderLinks","header","queryParentSelector","toolsLinks","menuLinks","Modes","ANGULAR","REACT","VUE","inspector","doc","HeaderModal","unqualify","qualify","getInstance","id","DisplaySelector","DISPLAY","RADIO_BUTTONS","FIELDSET","Display","scheme","changing","change","addDescent","SchemeEmission","SCHEME","ASK","_scheme","SchemeValue","SYSTEM","LIGHT","DARK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.module.min.js","sources":["../../.config/config.js","../../src/core/api.js","../../src/component/accordion/script/accordion/accordion-selector.js","../../src/component/accordion/script/accordion/accordions-group.js","../../src/component/accordion/index.js","../../src/component/accordion/main.js","../../src/component/button/script/button/button-selector.js","../../src/component/button/index.js","../../src/component/button/main.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb-selector.js","../../src/component/breadcrumb/index.js","../../src/component/breadcrumb/main.js","../../src/component/toggle/script/toggle/toggle-input.js","../../src/component/toggle/script/toggle/toggle-status-label.js","../../src/component/toggle/script/toggle/toggle-selector.js","../../src/component/toggle/index.js","../../src/component/toggle/main.js","../../src/component/sidemenu/script/sidemenu/sidemenu-selector.js","../../src/component/sidemenu/script/sidemenu/sidemenu-list.js","../../src/component/sidemenu/index.js","../../src/component/sidemenu/main.js","../../src/component/modal/script/modal/modal-selector.js","../../src/component/modal/script/modal/modal-button.js","../../src/component/modal/script/modal/modal-attribute.js","../../src/component/modal/script/modal/modal.js","../../src/component/modal/script/modal/focus-trap.js","../../src/component/modal/script/modal/modals-group.js","../../src/component/modal/script/modal/modal-body.js","../../src/component/modal/index.js","../../src/component/modal/main.js","../../src/component/navigation/script/navigation/navigation-selector.js","../../src/component/navigation/script/navigation/navigation-item.js","../../src/component/navigation/script/navigation/navigation-mouse-position.js","../../src/component/navigation/script/navigation/navigation.js","../../src/component/navigation/index.js","../../src/component/navigation/main.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/tabs-group.js","../../src/component/tab/script/tab/tabs-list.js","../../src/component/tab/index.js","../../src/component/tab/main.js","../../src/component/table/script/table/table-emission.js","../../src/component/table/script/table/table.js","../../src/component/table/script/table/table-selector.js","../../src/component/table/script/table/table-element.js","../../src/component/table/script/table/table-caption.js","../../src/component/table/index.js","../../src/component/table/main.js","../../src/component/tag/script/tag/tag-selector.js","../../src/component/tag/index.js","../../src/component/tag/main.js","../../src/component/download/script/download/download-selector.js","../../src/component/download/script/download/assess-file.js","../../src/component/download/index.js","../../src/component/download/main.js","../../src/component/header/script/header/header-selector.js","../../src/component/header/script/header/header-links.js","../../src/component/header/script/header/header-modal.js","../../src/component/header/index.js","../../src/component/header/main.js","../../src/component/display/script/display/display-selector.js","../../src/component/display/script/display/display.js","../../src/component/display/index.js","../../src/component/display/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.5.1'\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\nexport const AccordionSelector = {\n GROUP: api.internals.ns.selector('accordions-group'),\n COLLAPSE: `${api.internals.ns.selector('accordion')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { AccordionSelector } from './accordion-selector.js';\n\nclass AccordionsGroup extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'AccordionsGroup';\n }\n\n validate (member) {\n return member.node.matches(AccordionSelector.COLLAPSE);\n }\n}\n\nexport { AccordionsGroup };\n","import api from './api.js';\nimport { AccordionsGroup } from './script/accordion/accordions-group.js';\nimport { AccordionSelector } from './script/accordion/accordion-selector.js';\n\napi.accordion = {\n AccordionSelector: AccordionSelector,\n AccordionsGroup: AccordionsGroup\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.accordion.AccordionSelector.GROUP, api.accordion.AccordionsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ButtonSelector = {\n EQUISIZED_BUTTON: `${api.internals.ns.selector('btns-group--equisized')} ${api.internals.ns.selector('btn')}`,\n EQUISIZED_GROUP: api.internals.ns.selector('btns-group--equisized')\n};\n","import api from './api.js';\nimport { ButtonSelector } from './script/button/button-selector';\n\napi.button = {\n ButtonSelector: ButtonSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.button.ButtonSelector.EQUISIZED_BUTTON, api.core.Equisized);\napi.internals.register(api.button.ButtonSelector.EQUISIZED_GROUP, api.core.EquisizedsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nclass Breadcrumb extends api.core.Instance {\n constructor () {\n super();\n this.count = 0;\n this.focusing = this.focus.bind(this);\n }\n\n static get instanceClassName () {\n return 'Breadcrumb';\n }\n\n init () {\n this.getCollapse();\n this.isResizing = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n focus: scope.focus.bind(scope),\n disclose: scope.collapse.disclose.bind(scope.collapse)\n });\n }\n\n getCollapse () {\n const collapse = this.collapse;\n if (collapse) {\n collapse.listen(api.core.DisclosureEvent.DISCLOSE, this.focusing);\n } else {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.getCollapse.bind(this));\n }\n }\n\n resize () {\n const collapse = this.collapse;\n const links = this.links;\n if (!collapse || !links.length) return;\n\n if (this.isBreakpoint(api.core.Breakpoints.MD)) {\n if (collapse.buttonHasFocus) links[0].focus();\n } else {\n if (links.indexOf(document.activeElement) > -1) collapse.focus();\n }\n }\n\n get links () {\n return [...this.querySelectorAll('a[href]')];\n }\n\n get collapse () {\n return this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n }\n\n focus () {\n this.count = 0;\n this._focus();\n }\n\n _focus () {\n const link = this.links[0];\n if (!link) return;\n link.focus();\n this.request(this.verify.bind(this));\n }\n\n verify () {\n this.count++;\n if (this.count > 100) return;\n const link = this.links[0];\n if (!link) return;\n if (document.activeElement !== link) this._focus();\n }\n}\n\nexport { Breadcrumb };\n","import api from '../../api.js';\n\nexport const BreadcrumbSelector = {\n BREADCRUMB: api.internals.ns.selector('breadcrumb')\n};\n","import api from './api.js';\nimport { Breadcrumb } from './script/breadcrumb/breadcrumb.js';\nimport { BreadcrumbSelector } from './script/breadcrumb/breadcrumb-selector.js';\n\napi.breadcrumb = {\n BreadcrumbSelector: BreadcrumbSelector,\n Breadcrumb: Breadcrumb\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.breadcrumb.BreadcrumbSelector.BREADCRUMB, api.breadcrumb.Breadcrumb);\n\nexport default api;\n","import api from '../../api.js';\n\nclass ToggleInput extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleInput';\n }\n\n get isChecked () {\n return this.hasAttribute('checked');\n }\n}\n\nexport { ToggleInput };\n","import api from '../../api.js';\nimport { ToggleInput } from './toggle-input.js';\n\nclass ToggleStatusLabel extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleStatusLabel';\n }\n\n init () {\n this.register(`input[id=\"${this.getAttribute('for')}\"]`, ToggleInput);\n this.update();\n this.isSwappingFont = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n update: scope.update.bind(scope)\n });\n }\n\n get input () {\n return this.getRegisteredInstances('ToggleInput')[0];\n }\n\n update () {\n this.node.style.removeProperty('--toggle-status-width');\n const checked = this.input.isChecked;\n\n const style = getComputedStyle(this.node, ':before');\n let maxWidth = parseFloat(style.width);\n this.input.node.checked = !checked;\n\n const style2 = getComputedStyle(this.node, ':before');\n const width = parseFloat(style2.width);\n if (width > maxWidth) maxWidth = width;\n this.input.node.checked = checked;\n\n this.node.style.setProperty('--toggle-status-width', (maxWidth / 16) + 'rem');\n }\n\n swapFont (families) {\n this.update();\n }\n}\n\nexport { ToggleStatusLabel };\n","import api from '../../api.js';\n\nexport const ToggleSelector = {\n STATUS_LABEL: `${api.internals.ns.selector('toggle__label')}${api.internals.ns.attr.selector('checked-label')}${api.internals.ns.attr.selector('unchecked-label')}`\n};\n","import api from './api.js';\nimport { ToggleStatusLabel } from './script/toggle/toggle-status-label.js';\nimport { ToggleSelector } from './script/toggle/toggle-selector.js';\n// import { ToggleInput } from './script/toggle/toggle-input.js';\n\napi.toggle = {\n ToggleStatusLabel: ToggleStatusLabel,\n ToggleSelector: ToggleSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.toggle.ToggleSelector.STATUS_LABEL, api.toggle.ToggleStatusLabel);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const SidemenuSelector = {\n LIST: api.internals.ns.selector('sidemenu__list'),\n COLLAPSE: `${api.internals.ns.selector('sidemenu__item')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { SidemenuSelector } from './sidemenu-selector.js';\n\nclass SidemenuList extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'SidemenuList';\n }\n\n validate (member) {\n return member.node.matches(SidemenuSelector.COLLAPSE);\n }\n}\n\nexport { SidemenuList };\n","import api from './api.js';\nimport { SidemenuList } from './script/sidemenu/sidemenu-list.js';\nimport { SidemenuSelector } from './script/sidemenu/sidemenu-selector.js';\n\napi.sidemenu = {\n SidemenuList: SidemenuList,\n SidemenuSelector: SidemenuSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.sidemenu.SidemenuSelector.LIST, api.sidemenu.SidemenuList);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ModalSelector = {\n MODAL: api.internals.ns.selector('modal'),\n SCROLL_SHADOW: api.internals.ns.selector('scroll-shadow'),\n BODY: api.internals.ns.selector('modal__body')\n};\n","import api from '../../api.js';\n\nclass ModalButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.OPENED);\n }\n\n static get instanceClassName () {\n return 'ModalButton';\n }\n}\n\nexport { ModalButton };\n","import api from '../../api';\n\nexport const ModalAttribute = {\n CONCEALING_BACKDROP: api.internals.ns.attr('concealing-backdrop')\n};\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\nimport { ModalButton } from './modal-button.js';\nimport { ModalAttribute } from './modal-attribute';\n\nclass Modal extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.OPENED, ModalSelector.MODAL, ModalButton, 'ModalsGroup');\n this.scrolling = this.resize.bind(this, false);\n this.resizing = this.resize.bind(this, true);\n }\n\n static get instanceClassName () {\n return 'Modal';\n }\n\n init () {\n super.init();\n this.listen('click', this.click.bind(this));\n this.listenKey(api.core.KeyCodes.ESCAPE, this.conceal.bind(this, false, false), true, true);\n }\n\n get body () {\n return this.element.getDescendantInstances('ModalBody', 'Modal')[0];\n }\n\n click (e) {\n if (e.target === this.node && this.getAttribute(ModalAttribute.CONCEALING_BACKDROP) !== 'false') this.conceal();\n }\n\n disclose (withhold) {\n if (!super.disclose(withhold)) return false;\n if (this.body) this.body.activate();\n this.isScrollLocked = true;\n this.setAttribute('aria-modal', 'true');\n this.setAttribute('open', 'true');\n return true;\n }\n\n conceal (withhold, preventFocus) {\n if (!super.conceal(withhold, preventFocus)) return false;\n this.isScrollLocked = false;\n this.removeAttribute('aria-modal');\n this.removeAttribute('open');\n if (this.body) this.body.deactivate();\n return true;\n }\n}\n\nexport { Modal };\n","import api from '../../api.js';\n\nconst unordereds = [\n '[tabindex=\"0\"]',\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n 'iframe'\n];\n\nconst UNORDEREDS = unordereds.join();\n\nconst ordereds = [\n '[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])'\n];\n\nconst ORDEREDS = ordereds.join();\n\nconst IS_STUNNING = false;\n\nconst isFocusable = (element, container) => {\n if (!(element instanceof Element)) return false;\n const style = window.getComputedStyle(element);\n if (!style) return false;\n if (style.visibility === 'hidden') return false;\n if (container === undefined) container = element;\n\n while (container.contains(element)) {\n if (style.display === 'none') return false;\n element = element.parentElement;\n }\n\n return true;\n};\n\nclass FocusTrap {\n constructor (onTrap, onUntrap) {\n this.element = null;\n this.activeElement = null;\n this.onTrap = onTrap;\n this.onUntrap = onUntrap;\n this.waiting = this.wait.bind(this);\n this.handling = this.handle.bind(this);\n this.focusing = this.maintainFocus.bind(this);\n this.current = null;\n }\n\n get trapped () { return this.element !== null; }\n\n trap (element) {\n if (this.trapped) this.untrap();\n\n this.element = element;\n this.isTrapping = true;\n this.wait();\n\n if (this.onTrap) this.onTrap();\n }\n\n wait () {\n if (!isFocusable(this.element)) {\n window.requestAnimationFrame(this.waiting);\n return;\n }\n\n this.trapping();\n }\n\n trapping () {\n if (!this.isTrapping) return;\n this.isTrapping = false;\n const focusables = this.focusables;\n if (focusables.length) focusables[0].focus();\n this.element.setAttribute('aria-modal', true);\n window.addEventListener('keydown', this.handling);\n document.body.addEventListener('focus', this.focusing, true);\n\n if (IS_STUNNING) {\n this.stunneds = [];\n this.stun(document.body);\n }\n }\n\n stun (node) {\n for (const child of node.children) {\n if (child === this.element) continue;\n if (child.contains(this.element)) {\n this.stun(child);\n continue;\n }\n this.stunneds.push(new Stunned(child));\n }\n }\n\n maintainFocus (event) {\n if (!this.element.contains(event.target)) {\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n const first = focusables[0];\n event.preventDefault();\n first.focus();\n }\n }\n\n handle (e) {\n if (e.keyCode !== 9) return;\n\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n const index = focusables.indexOf(document.activeElement);\n\n if (e.shiftKey) {\n if (!this.element.contains(document.activeElement) || index < 1) {\n e.preventDefault();\n last.focus();\n } else if (document.activeElement.tabIndex > 0 || focusables[index - 1].tabIndex > 0) {\n e.preventDefault();\n focusables[index - 1].focus();\n }\n } else {\n if (!this.element.contains(document.activeElement) || index === focusables.length - 1 || index === -1) {\n e.preventDefault();\n first.focus();\n } else if (document.activeElement.tabIndex > 0) {\n e.preventDefault();\n focusables[index + 1].focus();\n }\n }\n }\n\n get focusables () {\n let unordereds = api.internals.dom.querySelectorAllArray(this.element, UNORDEREDS);\n\n /**\n * filtrage des radiobutttons de même name (la navigations d'un groupe de radio se fait à la flèche et non pas au tab\n **/\n const radios = api.internals.dom.querySelectorAllArray(document.documentElement, 'input[type=\"radio\"]');\n\n if (radios.length) {\n const groups = {};\n\n for (const radio of radios) {\n const name = radio.getAttribute('name');\n if (groups[name] === undefined) groups[name] = new RadioButtonGroup(name);\n groups[name].push(radio);\n }\n\n unordereds = unordereds.filter((unordered) => {\n if (unordered.tagName.toLowerCase() !== 'input' || unordered.getAttribute('type').toLowerCase() !== 'radio') return true;\n const name = unordered.getAttribute('name');\n return groups[name].keep(unordered);\n });\n }\n\n const ordereds = api.internals.dom.querySelectorAllArray(this.element, ORDEREDS);\n\n ordereds.sort((a, b) => a.tabIndex - b.tabIndex);\n\n const noDuplicates = unordereds.filter((element) => ordereds.indexOf(element) === -1);\n const concateneds = ordereds.concat(noDuplicates);\n return concateneds.filter((element) => element.tabIndex !== '-1' && isFocusable(element, this.element));\n }\n\n untrap () {\n if (!this.trapped) return;\n this.isTrapping = false;\n\n this.element.removeAttribute('aria-modal');\n window.removeEventListener('keydown', this.handling);\n document.body.removeEventListener('focus', this.focusing, true);\n\n this.element = null;\n\n if (IS_STUNNING) {\n for (const stunned of this.stunneds) stunned.unstun();\n this.stunneds = [];\n }\n\n if (this.onUntrap) this.onUntrap();\n }\n\n dispose () {\n this.untrap();\n }\n}\n\nclass Stunned {\n constructor (element) {\n this.element = element;\n // this.hidden = element.getAttribute('aria-hidden');\n this.inert = element.getAttribute('inert');\n\n // this.element.setAttribute('aria-hidden', true);\n this.element.setAttribute('inert', '');\n }\n\n unstun () {\n /*\n if (this.hidden === null) this.element.removeAttribute('aria-hidden');\n else this.element.setAttribute('aria-hidden', this.hidden);\n */\n\n if (this.inert === null) this.element.removeAttribute('inert');\n else this.element.setAttribute('inert', this.inert);\n }\n}\n\nclass RadioButtonGroup {\n constructor (name) {\n this.name = name;\n this.buttons = [];\n }\n\n push (button) {\n this.buttons.push(button);\n if (button === document.activeElement || button.checked || this.selected === undefined) this.selected = button;\n }\n\n keep (button) {\n return this.selected === button;\n }\n}\n\nexport { FocusTrap };\n","import api from '../../api.js';\nimport { FocusTrap } from './focus-trap.js';\n\nclass ModalsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('Modal', false);\n this.focusTrap = new FocusTrap();\n }\n\n static get instanceClassName () {\n return 'ModalsGroup';\n }\n\n apply (value, initial) {\n super.apply(value, initial);\n if (this.current === null) this.focusTrap.untrap();\n else this.focusTrap.trap(this.current.node);\n }\n}\n\nexport { ModalsGroup };\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\n\nconst OFFSET = 32; // 32px => 8v => 2rem\n\nclass ModalBody extends api.core.Instance {\n static get instanceClassName () {\n return 'ModalBody';\n }\n\n init () {\n this.listen('scroll', this.shade.bind(this));\n }\n\n activate () {\n this.isResizing = true;\n this.resize();\n }\n\n deactivate () {\n this.isResizing = false;\n }\n\n shade () {\n if (this.node.scrollHeight > this.node.clientHeight) {\n if (this.node.offsetHeight + this.node.scrollTop >= this.node.scrollHeight) {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n } else {\n this.addClass(ModalSelector.SCROLL_SHADOW);\n }\n } else {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n }\n }\n\n resize () {\n this.adjust();\n this.request(this.adjust.bind(this));\n }\n\n adjust () {\n const offset = OFFSET * (this.isBreakpoint(api.core.Breakpoints.MD) ? 2 : 1);\n if (this.isLegacy) this.style.maxHeight = `${window.innerHeight - offset}px`;\n else this.style.setProperty('--modal-max-height', `${window.innerHeight - offset}px`);\n this.shade();\n }\n}\n\nexport { ModalBody };\n","import api from './api.js';\n\nimport { Modal } from './script/modal/modal.js';\nimport { ModalButton } from './script/modal/modal-button.js';\nimport { ModalsGroup } from './script/modal/modals-group.js';\nimport { ModalBody } from './script/modal/modal-body.js';\nimport { ModalSelector } from './script/modal/modal-selector.js';\n\napi.modal = {\n Modal: Modal,\n ModalButton: ModalButton,\n ModalBody: ModalBody,\n ModalsGroup: ModalsGroup,\n ModalSelector: ModalSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.modal.ModalSelector.MODAL, api.modal.Modal);\napi.internals.register(api.modal.ModalSelector.BODY, api.modal.ModalBody);\napi.internals.register(api.core.RootSelector.ROOT, api.modal.ModalsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const NavigationSelector = {\n NAVIGATION: api.internals.ns.selector('nav'),\n COLLAPSE: `${api.internals.ns.selector('nav__item')} > ${api.internals.ns.selector('collapse')}`,\n ITEM: api.internals.ns.selector('nav__item'),\n ITEM_RIGHT: api.internals.ns('nav__item--align-right'),\n MENU: api.internals.ns.selector('menu')\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\n\nclass NavigationItem extends api.core.Instance {\n constructor () {\n super();\n this._isRightAligned = false;\n }\n\n static get instanceClassName () {\n return 'NavigationItem';\n }\n\n init () {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.calculate.bind(this));\n this.addAscent(api.core.DisclosureEmission.REMOVED, this.calculate.bind(this));\n this.isResizing = true;\n this.calculate();\n }\n\n resize () {\n this.calculate();\n }\n\n calculate () {\n const collapse = this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n if (collapse && this.isBreakpoint(api.core.Breakpoints.LG) && collapse.element.node.matches(NavigationSelector.MENU)) {\n const right = this.element.node.parentElement.getBoundingClientRect().right;\n const width = collapse.element.node.getBoundingClientRect().width;\n const left = this.element.node.getBoundingClientRect().left;\n this.isRightAligned = left + width > right;\n } else this.isRightAligned = false;\n }\n\n get isRightAligned () {\n return this._isRightAligned;\n }\n\n set isRightAligned (value) {\n if (this._isRightAligned === value) return;\n this._isRightAligned = value;\n if (value) api.internals.dom.addClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n else api.internals.dom.removeClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n }\n}\n\nexport { NavigationItem };\n","export const NavigationMousePosition = {\n NONE: -1,\n INSIDE: 0,\n OUTSIDE: 1\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\nimport { NavigationMousePosition } from './navigation-mouse-position.js';\n\nclass Navigation extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'Navigation';\n }\n\n init () {\n super.init();\n this.clicked = false;\n this.out = false;\n this.listen('focusout', this.focusOut.bind(this));\n this.listen('mousedown', this.down.bind(this));\n }\n\n validate (member) {\n return member.element.node.matches(NavigationSelector.COLLAPSE);\n }\n\n down (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG) || this.index === -1 || !this.current) return;\n this.position = this.current.element.node.contains(e.target) ? NavigationMousePosition.INSIDE : NavigationMousePosition.OUTSIDE;\n this.request(this.getPosition.bind(this));\n }\n\n focusOut (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG)) return;\n this.out = true;\n this.request(this.getPosition.bind(this));\n }\n\n getPosition () {\n if (this.out) {\n switch (this.position) {\n case NavigationMousePosition.OUTSIDE:\n this.index = -1;\n break;\n\n case NavigationMousePosition.INSIDE:\n if (this.current) this.current.focus();\n break;\n\n default:\n if (this.index > -1 && !this.current.hasFocus) this.index = -1;\n }\n }\n this.position = NavigationMousePosition.NONE;\n this.out = false;\n }\n\n get index () { return super.index; }\n\n set index (value) {\n if (value === -1 && this.current !== null && this.current.hasFocus) this.current.focus();\n super.index = value;\n }\n}\n\nexport { Navigation };\n","import api from './api.js';\nimport { NavigationItem } from './script/navigation/navigation-item.js';\nimport { Navigation } from './script/navigation/navigation.js';\nimport { NavigationSelector } from './script/navigation/navigation-selector.js';\nimport { NavigationMousePosition } from './script/navigation/navigation-mouse-position.js';\n\napi.navigation = {\n Navigation: Navigation,\n NavigationItem: NavigationItem,\n NavigationMousePosition: NavigationMousePosition,\n NavigationSelector: NavigationSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.navigation.NavigationSelector.NAVIGATION, api.navigation.Navigation);\napi.internals.register(api.navigation.NavigationSelector.ITEM, api.navigation.NavigationItem);\n\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 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 this.group.index = 0;\n }\n}\n\nexport { TabPanel };\n","import api from '../../api.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\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 this.listen('transitionend', this.transitionend.bind(this));\n this.listenKey(api.core.KeyCodes.RIGHT, this.pressRight.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.LEFT, this.pressLeft.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.HOME, this.pressHome.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.END, this.pressEnd.bind(this), true, true);\n this.isRendering = true;\n\n if (this.list) this.list.apply();\n }\n\n get list () {\n return this.element.getDescendantInstances('TabsList', 'TabsGroup', true)[0];\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 /**\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 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 const paneHeight = Math.round(this.current.node.offsetHeight);\n if (this.panelHeight === paneHeight) return;\n this.panelHeight = paneHeight;\n let listHeight = 0;\n if (this.list) listHeight = this.list.node.offsetHeight;\n this.style.setProperty('--tabs-height', (this.panelHeight + listHeight) + 'px');\n }\n}\n\nexport { TabsGroup };\n","import api from '../../api.js';\nimport { TabSelector } from './tab-selector';\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.isResizing = true;\n }\n\n get group () {\n return this.element.getAscendantInstance('TabsGroup', 'TabsList');\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.group) return;\n if (this._isScrolling) {\n this.group.addClass(TabSelector.SHADOW);\n this.scroll();\n } else {\n this.group.removeClass(TabSelector.SHADOW_RIGHT);\n this.group.removeClass(TabSelector.SHADOW_LEFT);\n this.group.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 if (!this.group) return;\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.group.removeClass(minSelector);\n } else {\n this.group.addClass(minSelector);\n }\n\n if (isMax) {\n this.group.removeClass(maxSelector);\n } else {\n this.group.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.node.scrollWidth > this.node.clientWidth + SCROLL_OFFSET;\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';\n\napi.tab = {\n TabPanel: TabPanel,\n TabButton: TabButton,\n TabsGroup: TabsGroup,\n TabsList: TabsList,\n TabSelector: TabSelector\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","import api from '../../api.js';\n\nexport const TableEmission = {\n SCROLLABLE: api.internals.ns.emission('table', 'scrollable'),\n CHANGE: api.internals.ns.emission('table', 'change'),\n CAPTION_HEIGHT: api.internals.ns.emission('table', 'captionheight')\n};\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nconst PADDING = '1rem'; // padding de 4v sur le caption\n\nclass Table extends api.core.Instance {\n static get instanceClassName () {\n return 'Table';\n }\n\n init () {\n this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this));\n }\n\n setCaptionHeight (value) {\n this.setProperty('--table-offset', `calc(${value}px + ${PADDING})`);\n }\n}\n\nexport { Table };\n","import api from '../../api.js';\n\nexport const TableSelector = {\n TABLE: api.internals.ns.selector('table'),\n SHADOW: api.internals.ns.selector('table__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('table__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('table__shadow--right'),\n ELEMENT: `${api.internals.ns.selector('table')}:not(${api.internals.ns.selector('table--no-scroll')}) table`,\n CAPTION: `${api.internals.ns.selector('table')} table caption`\n};\n","import api from '../../api.js';\nimport { TableSelector } from './table-selector.js';\n\nconst SCROLL_OFFSET = 8; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TableElement extends api.core.Instance {\n static get instanceClassName () {\n return 'TableElement';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.content = this.querySelector('tbody');\n this.isResizing = true;\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n\n if (value) {\n this.addClass(TableSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TableSelector.SHADOW);\n this.removeClass(TableSelector.SHADOW_LEFT);\n this.removeClass(TableSelector.SHADOW_RIGHT);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const isMin = this.node.scrollLeft <= SCROLL_OFFSET;\n const max = this.content.offsetWidth - this.node.offsetWidth - SCROLL_OFFSET;\n const isMax = Math.abs(this.node.scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TableSelector.SHADOW_RIGHT : TableSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TableSelector.SHADOW_LEFT : TableSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.content.offsetWidth > this.node.offsetWidth;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TableElement };\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nclass TableCaption extends api.core.Instance {\n static get instanceClassName () {\n return 'TableCaption';\n }\n\n init () {\n this.height = 0;\n this.isResizing = true;\n }\n\n resize () {\n const height = this.getRect().height;\n if (this.height === height) return;\n this.height = height;\n this.ascend(TableEmission.CAPTION_HEIGHT, height);\n }\n}\n\nexport { TableCaption };\n","import api from './api.js';\nimport { Table } from './script/table/table.js';\nimport { TableElement } from './script/table/table-element.js';\nimport { TableSelector } from './script/table/table-selector.js';\nimport { TableCaption } from './script/table/table-caption.js';\n\napi.table = {\n Table: Table,\n TableElement: TableElement,\n TableCaption: TableCaption,\n TableSelector: TableSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.table.TableSelector.TABLE, api.table.Table);\napi.internals.register(api.table.TableSelector.ELEMENT, api.table.TableElement);\napi.internals.register(api.table.TableSelector.CAPTION, api.table.TableCaption);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const TagSelector = {\n TAG_PRESSABLE: `${api.internals.ns.selector('tag')}[aria-pressed]`\n};\n","import api from './api.js';\nimport { TagSelector } from './script/tag/tag-selector';\n\napi.tag = {\n TagSelector: TagSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tag.TagSelector.TAG_PRESSABLE, api.core.Toggle);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const DownloadSelector = {\n DOWNLOAD_ASSESS_FILE: `${api.internals.ns.attr.selector('assess-file')}`,\n DOWNLOAD_DETAIL: `${api.internals.ns.selector('download__detail')}`\n};\n","import api from '../../api.js';\nimport { DownloadSelector } from './download-selector';\n\nclass AssessFile extends api.core.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\n this.hreflang = this.getAttribute('hreflang');\n this.file = {};\n this.detail = this.querySelector(DownloadSelector.DOWNLOAD_DETAIL);\n this.update();\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 console.warn('Impossible de détecter le poids du fichier ' + this.href + '\\nErreur de récupération de l\\'en-tête HTTP : \"content-length\"');\n }\n this.update();\n });\n }\n\n update () {\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 const details = [];\n if (this.detail) {\n if (this.href) {\n const extension = this.parseExtension(this.href);\n if (extension) details.push(extension.toUpperCase());\n }\n\n if (this.length !== -1) {\n details.push(this.bytesToSize(this.length));\n }\n\n if (this.hreflang) {\n details.push(this.getLangDisplayName(this.hreflang));\n }\n\n this.detail.innerHTML = details.join(' - ');\n }\n }\n\n getLang (elem) {\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(api.internals.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 api from './api.js';\nimport { AssessFile } from './script/download/assess-file.js';\nimport { DownloadSelector } from './script/download/download-selector';\n\napi.download = {\n DownloadSelector: DownloadSelector,\n AssessFile: AssessFile\n\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.download.DownloadSelector.DOWNLOAD_ASSESS_FILE, api.download.AssessFile);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const HeaderSelector = {\n HEADER: api.internals.ns.selector('header'),\n TOOLS_LINKS: api.internals.ns.selector('header__tools-links'),\n MENU_LINKS: api.internals.ns.selector('header__menu-links'),\n BUTTONS: `${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('btns-group')}, ${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('links-group')}`,\n MODALS: `${api.internals.ns.selector('header__search')}${api.internals.ns.selector('modal')}, ${api.internals.ns.selector('header__menu')}${api.internals.ns.selector('modal')}`\n};\n","import api from '../../api.js';\nimport { HeaderSelector } from './header-selector.js';\n\nclass HeaderLinks extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderLinks';\n }\n\n init () {\n const header = this.queryParentSelector(HeaderSelector.HEADER);\n this.toolsLinks = header.querySelector(HeaderSelector.TOOLS_LINKS);\n this.menuLinks = header.querySelector(HeaderSelector.MENU_LINKS);\n\n const toolsHtml = this.toolsLinks.innerHTML.replace(/ +/g, ' ');\n const menuHtml = this.menuLinks.innerHTML.replace(/ +/g, ' ');\n\n if (toolsHtml === menuHtml) return;\n\n switch (api.mode) {\n case api.Modes.ANGULAR:\n case api.Modes.REACT:\n case api.Modes.VUE:\n api.inspector.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation: \n${api.header.doc}`);\n break;\n\n default:\n this.menuLinks.innerHTML = this.toolsLinks.innerHTML;\n }\n }\n}\n\nexport { HeaderLinks };\n","import api from '../../api.js';\n\nclass HeaderModal extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderModal';\n }\n\n init () {\n this.isResizing = true;\n }\n\n resize () {\n if (this.isBreakpoint(api.core.Breakpoints.LG)) this.unqualify();\n else this.qualify();\n }\n\n qualify () {\n this.setAttribute('role', 'dialog');\n const modal = this.element.getInstance('Modal');\n if (!modal) return;\n const buttons = modal.buttons;\n let id = '';\n for (const button of buttons) {\n id = button.id || id;\n if (button.isPrimary && id) break;\n }\n this.setAttribute('aria-labelledby', id);\n }\n\n unqualify () {\n const modal = this.element.getInstance('Modal');\n if (modal) modal.conceal();\n this.removeAttribute('role');\n this.removeAttribute('aria-labelledby');\n }\n}\n\nexport { HeaderModal };\n","import api from './api.js';\nimport { HeaderLinks } from './script/header/header-links.js';\nimport { HeaderModal } from './script/header/header-modal.js';\nimport { HeaderSelector } from './script/header/header-selector.js';\n\napi.header = {\n HeaderLinks: HeaderLinks,\n HeaderModal: HeaderModal,\n HeaderSelector: HeaderSelector,\n doc: 'https://gouvfr.atlassian.net/wiki/spaces/DB/pages/222789846/En-t+te+-+Header'\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.header.HeaderSelector.BUTTONS, api.header.HeaderLinks);\napi.internals.register(api.header.HeaderSelector.MODALS, api.header.HeaderModal);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const DisplaySelector = {\n DISPLAY: api.internals.ns.selector('display'),\n RADIO_BUTTONS: `input[name=\"${api.internals.ns('radios-theme')}\"]`,\n FIELDSET: api.internals.ns.selector('fieldset')\n};\n","import api from '../../api.js';\nimport { DisplaySelector } from './display-selector.js';\n\nclass Display extends api.core.Instance {\n static get instanceClassName () {\n return 'Display';\n }\n\n init () {\n this.radios = this.querySelectorAll(DisplaySelector.RADIO_BUTTONS);\n\n if (api.scheme) {\n this.changing = this.change.bind(this);\n for (const radio of this.radios) radio.addEventListener('change', this.changing);\n this.addDescent(api.scheme.SchemeEmission.SCHEME, this.apply.bind(this));\n this.ascend(api.scheme.SchemeEmission.ASK);\n } else {\n this.querySelector(DisplaySelector.FIELDSET).setAttribute('disabled', '');\n }\n }\n\n get scheme () {\n return this._scheme;\n }\n\n set scheme (value) {\n if (this._scheme === value || !api.scheme) return;\n switch (value) {\n case api.scheme.SchemeValue.SYSTEM:\n case api.scheme.SchemeValue.LIGHT:\n case api.scheme.SchemeValue.DARK:\n this._scheme = value;\n for (const radio of this.radios) {\n radio.checked = radio.value === value;\n }\n this.ascend(api.scheme.SchemeEmission.SCHEME, value);\n break;\n }\n }\n\n change () {\n for (const radio of this.radios) {\n if (radio.checked) {\n this.scheme = radio.value;\n return;\n }\n }\n }\n\n apply (value) {\n this.scheme = value;\n }\n\n dispose () {\n for (const radio of this.radios) radio.removeEventListener('change', this.changing);\n }\n}\n\nexport { Display };\n","import api from './api.js';\nimport { Display } from './script/display/display.js';\nimport { DisplaySelector } from './script/display/display-selector.js';\n\napi.display = {\n Display: Display,\n DisplaySelector: DisplaySelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.display.DisplaySelector.DISPLAY, api.display.Display);\n\nexport default api;\n"],"names":["api","window","AccordionSelector","GROUP","internals","ns","selector","COLLAPSE","AccordionsGroup","core","CollapsesGroup","instanceClassName","validate","member","node","matches","accordion","register","ButtonSelector","EQUISIZED_BUTTON","EQUISIZED_GROUP","button","Equisized","EquisizedsGroup","Breadcrumb","Instance","constructor","super","this","count","focusing","focus","bind","init","getCollapse","isResizing","proxy","scope","Object","assign","disclose","collapse","listen","DisclosureEvent","DISCLOSE","addAscent","DisclosureEmission","ADDED","resize","links","length","isBreakpoint","Breakpoints","MD","buttonHasFocus","indexOf","document","activeElement","querySelectorAll","element","getDescendantInstances","Collapse","_focus","link","request","verify","BreadcrumbSelector","BREADCRUMB","breadcrumb","ToggleInput","isChecked","hasAttribute","ToggleStatusLabel","getAttribute","update","isSwappingFont","input","getRegisteredInstances","style","removeProperty","checked","getComputedStyle","maxWidth","parseFloat","width","style2","setProperty","swapFont","families","ToggleSelector","STATUS_LABEL","attr","toggle","SidemenuSelector","LIST","SidemenuList","sidemenu","ModalSelector","MODAL","SCROLL_SHADOW","BODY","ModalButton","DisclosureButton","DisclosureType","OPENED","ModalAttribute","CONCEALING_BACKDROP","Modal","Disclosure","scrolling","resizing","click","listenKey","KeyCodes","ESCAPE","conceal","body","e","target","withhold","activate","isScrollLocked","setAttribute","preventFocus","removeAttribute","deactivate","UNORDEREDS","join","ORDEREDS","isFocusable","container","Element","visibility","undefined","contains","display","parentElement","FocusTrap","onTrap","onUntrap","waiting","wait","handling","handle","maintainFocus","current","trapped","trap","untrap","isTrapping","trapping","requestAnimationFrame","focusables","addEventListener","stun","child","children","stunneds","push","Stunned","event","first","preventDefault","keyCode","last","index","shiftKey","tabIndex","unordereds","dom","querySelectorAllArray","radios","documentElement","groups","radio","name","RadioButtonGroup","filter","unordered","tagName","toLowerCase","keep","ordereds","sort","a","b","noDuplicates","concat","removeEventListener","dispose","inert","unstun","buttons","selected","ModalsGroup","DisclosuresGroup","focusTrap","apply","value","initial","ModalBody","shade","scrollHeight","clientHeight","offsetHeight","scrollTop","removeClass","addClass","adjust","offset","isLegacy","maxHeight","innerHeight","modal","RootSelector","ROOT","NavigationSelector","NAVIGATION","ITEM","ITEM_RIGHT","MENU","NavigationItem","_isRightAligned","calculate","REMOVED","LG","right","getBoundingClientRect","left","isRightAligned","NavigationMousePosition","NONE","INSIDE","OUTSIDE","Navigation","clicked","out","focusOut","down","position","getPosition","hasFocus","navigation","TabButton","SELECT","isPrimary","list","focalize","getAscendantInstance","TabSelector","TAB","PANEL","SHADOW","SHADOW_LEFT","SHADOW_RIGHT","PANEL_START","PANEL_END","TabPanelDirection","TabPanel","_direction","_isPreventingTransition","direction","isPreventingTransition","motion","TransitionSelector","translate","reset","group","TabsGroup","transitionend","RIGHT","pressRight","LEFT","pressLeft","HOME","pressHome","END","pressEnd","isRendering","members","some","i","_index","render","paneHeight","Math","round","panelHeight","listHeight","TabsList","scroll","btn","btnRect","getRect","listRect","actualScroll","scrollLeft","scrollTo","isScrolling","_isScrolling","isMin","max","scrollWidth","clientWidth","isMax","abs","isRtl","minSelector","maxSelector","tab","TableEmission","SCROLLABLE","emission","CHANGE","CAPTION_HEIGHT","Table","setCaptionHeight","TableSelector","TABLE","ELEMENT","CAPTION","TableElement","content","querySelector","offsetWidth","TableCaption","height","ascend","table","TagSelector","TAG_PRESSABLE","tag","Toggle","DownloadSelector","DOWNLOAD_ASSESS_FILE","DOWNLOAD_DETAIL","AssessFile","lang","getLang","href","hreflang","file","detail","getFileLength","fetch","method","mode","then","response","headers","get","console","warn","details","extension","parseExtension","toUpperCase","bytesToSize","getLangDisplayName","innerHTML","elem","navigator","language","url","match","replace","locale","Intl","DisplayNames","type","of","charAt","slice","bytes","sizeUnits","parseInt","floor","log","size","roundedSize","Number","EPSILON","String","download","HeaderSelector","HEADER","TOOLS_LINKS","MENU_LINKS","BUTTONS","MODALS","HeaderLinks","header","queryParentSelector","toolsLinks","menuLinks","Modes","ANGULAR","REACT","VUE","inspector","doc","HeaderModal","unqualify","qualify","getInstance","id","DisplaySelector","DISPLAY","RADIO_BUTTONS","FIELDSET","Display","scheme","changing","change","addDescent","SchemeEmission","SCHEME","ASK","_scheme","SchemeValue","SYSTEM","LIGHT","DARK"],"mappings":";AAAA,MCCMA,EAAMC,OAAuB,KCCtBC,EAAoB,CAC/BC,MAAOH,EAAII,UAAUC,GAAGC,SAAS,oBACjCC,SAAU,GAAGP,EAAII,UAAUC,GAAGC,SAAS,kBAAkBN,EAAII,UAAUC,GAAGC,SAAS,eCDrF,MAAME,UAAwBR,EAAIS,KAAKC,eAC1BC,+BACT,MAAO,kBAGTC,SAAUC,GACR,OAAOA,EAAOC,KAAKC,QAAQb,EAAkBK,WCLjDP,EAAIgB,UAAY,CACdd,kBAAmBA,EACnBM,gBAAiBA,GCJnBR,EAAII,UAAUa,SAASjB,EAAIgB,UAAUd,kBAAkBC,MAAOH,EAAIgB,UAAUR,iBCArE,MAAMU,EAAiB,CAC5BC,iBAAkB,GAAGnB,EAAII,UAAUC,GAAGC,SAAS,4BAA4BN,EAAII,UAAUC,GAAGC,SAAS,SACrGc,gBAAiBpB,EAAII,UAAUC,GAAGC,SAAS,0BCD7CN,EAAIqB,OAAS,CACXH,eAAgBA,GCFlBlB,EAAII,UAAUa,SAASjB,EAAIqB,OAAOH,eAAeC,iBAAkBnB,EAAIS,KAAKa,WAC5EtB,EAAII,UAAUa,SAASjB,EAAIqB,OAAOH,eAAeE,gBAAiBpB,EAAIS,KAAKc,iBCD3E,MAAMC,UAAmBxB,EAAIS,KAAKgB,SAChCC,cACEC,QACAC,KAAKC,MAAQ,EACbD,KAAKE,SAAWF,KAAKG,MAAMC,KAAKJ,MAGvBjB,+BACT,MAAO,aAGTsB,OACEL,KAAKM,cACLN,KAAKO,YAAa,EAGhBC,YACF,MAAMC,EAAQT,KACd,OAAOU,OAAOC,OAAOZ,MAAMS,MAAO,CAChCL,MAAOM,EAAMN,MAAMC,KAAKK,GACxBG,SAAUH,EAAMI,SAASD,SAASR,KAAKK,EAAMI,YAIjDP,cACE,MAAMO,EAAWb,KAAKa,SAClBA,EACFA,EAASC,OAAO1C,EAAIS,KAAKkC,gBAAgBC,SAAUhB,KAAKE,UAExDF,KAAKiB,UAAU7C,EAAIS,KAAKqC,mBAAmBC,MAAOnB,KAAKM,YAAYF,KAAKJ,OAI5EoB,SACE,MAAMP,EAAWb,KAAKa,SAChBQ,EAAQrB,KAAKqB,MACdR,GAAaQ,EAAMC,SAEpBtB,KAAKuB,aAAanD,EAAIS,KAAK2C,YAAYC,IACrCZ,EAASa,gBAAgBL,EAAM,GAAGlB,QAElCkB,EAAMM,QAAQC,SAASC,gBAAkB,GAAGhB,EAASV,SAIzDkB,YACF,MAAO,IAAIrB,KAAK8B,iBAAiB,YAG/BjB,eACF,OAAOb,KAAK+B,QAAQC,uBAAuB5D,EAAIS,KAAKoD,SAASlD,kBAAmB,MAAM,GAAM,GAG9FoB,QACEH,KAAKC,MAAQ,EACbD,KAAKkC,SAGPA,SACE,MAAMC,EAAOnC,KAAKqB,MAAM,GACnBc,IACLA,EAAKhC,QACLH,KAAKoC,QAAQpC,KAAKqC,OAAOjC,KAAKJ,QAGhCqC,SAEE,GADArC,KAAKC,QACDD,KAAKC,MAAQ,IAAK,OACtB,MAAMkC,EAAOnC,KAAKqB,MAAM,GACnBc,GACDP,SAASC,gBAAkBM,GAAMnC,KAAKkC,UCtEvC,MAAMI,EAAqB,CAChCC,WAAYnE,EAAII,UAAUC,GAAGC,SAAS,eCCxCN,EAAIoE,WAAa,CACfF,mBAAoBA,EACpB1C,WAAYA,GCJdxB,EAAII,UAAUa,SAASjB,EAAIoE,WAAWF,mBAAmBC,WAAYnE,EAAIoE,WAAW5C,YCApF,MAAM6C,UAAoBrE,EAAIS,KAAKgB,SACtBd,+BACT,MAAO,cAGL2D,gBACF,OAAO1C,KAAK2C,aAAa,YCL7B,MAAMC,UAA0BxE,EAAIS,KAAKgB,SAC5Bd,+BACT,MAAO,oBAGTsB,OACEL,KAAKX,SAAS,aAAaW,KAAK6C,aAAa,WAAYJ,GACzDzC,KAAK8C,SACL9C,KAAK+C,gBAAiB,EAGpBvC,YAEF,OAAOE,OAAOC,OAAOZ,MAAMS,MAAO,CAChCsC,OAFY9C,KAEE8C,OAAO1C,KAFTJ,QAMZgD,YACF,OAAOhD,KAAKiD,uBAAuB,eAAe,GAGpDH,SACE9C,KAAKd,KAAKgE,MAAMC,eAAe,yBAC/B,MAAMC,EAAUpD,KAAKgD,MAAMN,UAErBQ,EAAQG,iBAAiBrD,KAAKd,KAAM,WAC1C,IAAIoE,EAAWC,WAAWL,EAAMM,OAChCxD,KAAKgD,MAAM9D,KAAKkE,SAAWA,EAE3B,MAAMK,EAASJ,iBAAiBrD,KAAKd,KAAM,WACrCsE,EAAQD,WAAWE,EAAOD,OAC5BA,EAAQF,IAAUA,EAAWE,GACjCxD,KAAKgD,MAAM9D,KAAKkE,QAAUA,EAE1BpD,KAAKd,KAAKgE,MAAMQ,YAAY,wBAA0BJ,EAAW,GAAM,OAGzEK,SAAUC,GACR5D,KAAK8C,UCxCF,MAAMe,EAAiB,CAC5BC,aAAc,GAAG1F,EAAII,UAAUC,GAAGC,SAAS,mBAAmBN,EAAII,UAAUC,GAAGsF,KAAKrF,SAAS,mBAAmBN,EAAII,UAAUC,GAAGsF,KAAKrF,SAAS,sBCEjJN,EAAI4F,OAAS,CACXpB,kBAAmBA,EACnBiB,eAAgBA,GCLlBzF,EAAII,UAAUa,SAASjB,EAAI4F,OAAOH,eAAeC,aAAc1F,EAAI4F,OAAOpB,mBCAnE,MAAMqB,EAAmB,CAC9BC,KAAM9F,EAAII,UAAUC,GAAGC,SAAS,kBAChCC,SAAU,GAAGP,EAAII,UAAUC,GAAGC,SAAS,uBAAuBN,EAAII,UAAUC,GAAGC,SAAS,eCD1F,MAAMyF,UAAqB/F,EAAIS,KAAKC,eACvBC,+BACT,MAAO,eAGTC,SAAUC,GACR,OAAOA,EAAOC,KAAKC,QAAQ8E,EAAiBtF,WCLhDP,EAAIgG,SAAW,CACbD,aAAcA,EACdF,iBAAkBA,GCJpB7F,EAAII,UAAUa,SAASjB,EAAIgG,SAASH,iBAAiBC,KAAM9F,EAAIgG,SAASD,cCAjE,MAAME,EAAgB,CAC3BC,MAAOlG,EAAII,UAAUC,GAAGC,SAAS,SACjC6F,cAAenG,EAAII,UAAUC,GAAGC,SAAS,iBACzC8F,KAAMpG,EAAII,UAAUC,GAAGC,SAAS,gBCHlC,MAAM+F,UAAoBrG,EAAIS,KAAK6F,iBACjC5E,cACEC,MAAM3B,EAAIS,KAAK8F,eAAeC,QAGrB7F,+BACT,MAAO,eCNJ,MAAM8F,EAAiB,CAC5BC,oBAAqB1G,EAAII,UAAUC,GAAGsF,KAAK,wBCE7C,MAAMgB,UAAc3G,EAAIS,KAAKmG,WAC3BlF,cACEC,MAAM3B,EAAIS,KAAK8F,eAAeC,OAAQP,EAAcC,MAAOG,EAAa,eACxEzE,KAAKiF,UAAYjF,KAAKoB,OAAOhB,KAAKJ,MAAM,GACxCA,KAAKkF,SAAWlF,KAAKoB,OAAOhB,KAAKJ,MAAM,GAG9BjB,+BACT,MAAO,QAGTsB,OACEN,MAAMM,OACNL,KAAKc,OAAO,QAASd,KAAKmF,MAAM/E,KAAKJ,OACrCA,KAAKoF,UAAUhH,EAAIS,KAAKwG,SAASC,OAAQtF,KAAKuF,QAAQnF,KAAKJ,MAAM,GAAO,IAAQ,GAAM,GAGpFwF,WACF,OAAOxF,KAAK+B,QAAQC,uBAAuB,YAAa,SAAS,GAGnEmD,MAAOM,GACDA,EAAEC,SAAW1F,KAAKd,MAAkE,UAA1Dc,KAAK6C,aAAagC,EAAeC,sBAAkC9E,KAAKuF,UAGxG3E,SAAU+E,GACR,QAAK5F,MAAMa,SAAS+E,KAChB3F,KAAKwF,MAAMxF,KAAKwF,KAAKI,WACzB5F,KAAK6F,gBAAiB,EACtB7F,KAAK8F,aAAa,aAAc,QAChC9F,KAAK8F,aAAa,OAAQ,SACnB,GAGTP,QAASI,EAAUI,GACjB,QAAKhG,MAAMwF,QAAQI,EAAUI,KAC7B/F,KAAK6F,gBAAiB,EACtB7F,KAAKgG,gBAAgB,cACrBhG,KAAKgG,gBAAgB,QACjBhG,KAAKwF,MAAMxF,KAAKwF,KAAKS,cAClB,IC3CX,MAeMC,EAfa,CACjB,iBACA,UACA,yBACA,wBACA,yBACA,2BACA,kBACA,kBACA,mDACA,gCACA,UACA,UAG4BC,OAMxBC,EAJW,CACf,uDAGwBD,OAIpBE,EAAc,CAACtE,EAASuE,KAC5B,KAAMvE,aAAmBwE,SAAU,OAAO,EAC1C,MAAMrD,EAAQ7E,OAAOgF,iBAAiBtB,GACtC,IAAKmB,EAAO,OAAO,EACnB,GAAyB,WAArBA,EAAMsD,WAAyB,OAAO,EAG1C,SAFkBC,IAAdH,IAAyBA,EAAYvE,GAElCuE,EAAUI,SAAS3E,IAAU,CAClC,GAAsB,SAAlBmB,EAAMyD,QAAoB,OAAO,EACrC5E,EAAUA,EAAQ6E,cAGpB,OAAO,GAGT,MAAMC,EACJ/G,YAAagH,EAAQC,GACnB/G,KAAK+B,QAAU,KACf/B,KAAK6B,cAAgB,KACrB7B,KAAK8G,OAASA,EACd9G,KAAK+G,SAAWA,EAChB/G,KAAKgH,QAAUhH,KAAKiH,KAAK7G,KAAKJ,MAC9BA,KAAKkH,SAAWlH,KAAKmH,OAAO/G,KAAKJ,MACjCA,KAAKE,SAAWF,KAAKoH,cAAchH,KAAKJ,MACxCA,KAAKqH,QAAU,KAGbC,cAAa,OAAwB,OAAjBtH,KAAK+B,QAE7BwF,KAAMxF,GACA/B,KAAKsH,SAAStH,KAAKwH,SAEvBxH,KAAK+B,QAAUA,EACf/B,KAAKyH,YAAa,EAClBzH,KAAKiH,OAEDjH,KAAK8G,QAAQ9G,KAAK8G,SAGxBG,OACOZ,EAAYrG,KAAK+B,SAKtB/B,KAAK0H,WAJHrJ,OAAOsJ,sBAAsB3H,KAAKgH,SAOtCU,WACE,IAAK1H,KAAKyH,WAAY,OACtBzH,KAAKyH,YAAa,EAClB,MAAMG,EAAa5H,KAAK4H,WACpBA,EAAWtG,QAAQsG,EAAW,GAAGzH,QACrCH,KAAK+B,QAAQ+D,aAAa,cAAc,GACxCzH,OAAOwJ,iBAAiB,UAAW7H,KAAKkH,UACxCtF,SAAS4D,KAAKqC,iBAAiB,QAAS7H,KAAKE,UAAU,GAQzD4H,KAAM5I,GACJ,IAAK,MAAM6I,KAAS7I,EAAK8I,SACnBD,IAAU/H,KAAK+B,UACfgG,EAAMrB,SAAS1G,KAAK+B,SACtB/B,KAAK8H,KAAKC,GAGZ/H,KAAKiI,SAASC,KAAK,IAAIC,EAAQJ,KAInCX,cAAegB,GACb,IAAKpI,KAAK+B,QAAQ2E,SAAS0B,EAAM1C,QAAS,CACxC,MAAMkC,EAAa5H,KAAK4H,WACxB,GAA0B,IAAtBA,EAAWtG,OAAc,OAC7B,MAAM+G,EAAQT,EAAW,GACzBQ,EAAME,iBACND,EAAMlI,SAIVgH,OAAQ1B,GACN,GAAkB,IAAdA,EAAE8C,QAAe,OAErB,MAAMX,EAAa5H,KAAK4H,WACxB,GAA0B,IAAtBA,EAAWtG,OAAc,OAE7B,MAAM+G,EAAQT,EAAW,GACnBY,EAAOZ,EAAWA,EAAWtG,OAAS,GAEtCmH,EAAQb,EAAWjG,QAAQC,SAASC,eAEtC4D,EAAEiD,UACC1I,KAAK+B,QAAQ2E,SAAS9E,SAASC,gBAAkB4G,EAAQ,GAC5DhD,EAAE6C,iBACFE,EAAKrI,UACIyB,SAASC,cAAc8G,SAAW,GAAKf,EAAWa,EAAQ,GAAGE,SAAW,KACjFlD,EAAE6C,iBACFV,EAAWa,EAAQ,GAAGtI,SAGnBH,KAAK+B,QAAQ2E,SAAS9E,SAASC,gBAAkB4G,IAAUb,EAAWtG,OAAS,IAAgB,IAAXmH,EAG9E7G,SAASC,cAAc8G,SAAW,IAC3ClD,EAAE6C,iBACFV,EAAWa,EAAQ,GAAGtI,UAJtBsF,EAAE6C,iBACFD,EAAMlI,SAQRyH,iBACF,IAAIgB,EAAaxK,EAAII,UAAUqK,IAAIC,sBAAsB9I,KAAK+B,QAASmE,GAKvE,MAAM6C,EAAS3K,EAAII,UAAUqK,IAAIC,sBAAsBlH,SAASoH,gBAAiB,uBAEjF,GAAID,EAAOzH,OAAQ,CACjB,MAAM2H,EAAS,GAEf,IAAK,MAAMC,KAASH,EAAQ,CAC1B,MAAMI,EAAOD,EAAMrG,aAAa,aACX4D,IAAjBwC,EAAOE,KAAqBF,EAAOE,GAAQ,IAAIC,EAAiBD,IACpEF,EAAOE,GAAMjB,KAAKgB,GAGpBN,EAAaA,EAAWS,QAAQC,IAC9B,GAAwC,UAApCA,EAAUC,QAAQC,eAA8E,UAAjDF,EAAUzG,aAAa,QAAQ2G,cAA2B,OAAO,EACpH,MAAML,EAAOG,EAAUzG,aAAa,QACpC,OAAOoG,EAAOE,GAAMM,KAAKH,MAI7B,MAAMI,EAAWtL,EAAII,UAAUqK,IAAIC,sBAAsB9I,KAAK+B,QAASqE,GAEvEsD,EAASC,MAAK,CAACC,EAAGC,IAAMD,EAAEjB,SAAWkB,EAAElB,WAEvC,MAAMmB,EAAelB,EAAWS,QAAQtH,IAA2C,IAA/B2H,EAAS/H,QAAQI,KAErE,OADoB2H,EAASK,OAAOD,GACjBT,QAAQtH,GAAiC,OAArBA,EAAQ4G,UAAqBtC,EAAYtE,EAAS/B,KAAK+B,WAGhGyF,SACOxH,KAAKsH,UACVtH,KAAKyH,YAAa,EAElBzH,KAAK+B,QAAQiE,gBAAgB,cAC7B3H,OAAO2L,oBAAoB,UAAWhK,KAAKkH,UAC3CtF,SAAS4D,KAAKwE,oBAAoB,QAAShK,KAAKE,UAAU,GAE1DF,KAAK+B,QAAU,KAOX/B,KAAK+G,UAAU/G,KAAK+G,YAG1BkD,UACEjK,KAAKwH,UAIT,MAAMW,EACJrI,YAAaiC,GACX/B,KAAK+B,QAAUA,EAEf/B,KAAKkK,MAAQnI,EAAQc,aAAa,SAGlC7C,KAAK+B,QAAQ+D,aAAa,QAAS,IAGrCqE,SAMqB,OAAfnK,KAAKkK,MAAgBlK,KAAK+B,QAAQiE,gBAAgB,SACjDhG,KAAK+B,QAAQ+D,aAAa,QAAS9F,KAAKkK,QAIjD,MAAMd,EACJtJ,YAAaqJ,GACXnJ,KAAKmJ,KAAOA,EACZnJ,KAAKoK,QAAU,GAGjBlC,KAAMzI,GACJO,KAAKoK,QAAQlC,KAAKzI,IACdA,IAAWmC,SAASC,eAAiBpC,EAAO2D,cAA6BqD,IAAlBzG,KAAKqK,YAAwBrK,KAAKqK,SAAW5K,GAG1GgK,KAAMhK,GACJ,OAAOO,KAAKqK,WAAa5K,GCnO7B,MAAM6K,UAAoBlM,EAAIS,KAAK0L,iBACjCzK,cACEC,MAAM,SAAS,GACfC,KAAKwK,UAAY,IAAI3D,EAGZ9H,+BACT,MAAO,cAGT0L,MAAOC,EAAOC,GACZ5K,MAAM0K,MAAMC,EAAOC,GACE,OAAjB3K,KAAKqH,QAAkBrH,KAAKwK,UAAUhD,SACrCxH,KAAKwK,UAAUjD,KAAKvH,KAAKqH,QAAQnI,OCX1C,MAAM0L,UAAkBxM,EAAIS,KAAKgB,SACpBd,+BACT,MAAO,YAGTsB,OACEL,KAAKc,OAAO,SAAUd,KAAK6K,MAAMzK,KAAKJ,OAGxC4F,WACE5F,KAAKO,YAAa,EAClBP,KAAKoB,SAGP6E,aACEjG,KAAKO,YAAa,EAGpBsK,QACM7K,KAAKd,KAAK4L,aAAe9K,KAAKd,KAAK6L,aACjC/K,KAAKd,KAAK8L,aAAehL,KAAKd,KAAK+L,WAAajL,KAAKd,KAAK4L,aAC5D9K,KAAKkL,YAAY7G,EAAcE,eAE/BvE,KAAKmL,SAAS9G,EAAcE,eAG9BvE,KAAKkL,YAAY7G,EAAcE,eAInCnD,SACEpB,KAAKoL,SACLpL,KAAKoC,QAAQpC,KAAKoL,OAAOhL,KAAKJ,OAGhCoL,SACE,MAAMC,EAtCK,IAsCcrL,KAAKuB,aAAanD,EAAIS,KAAK2C,YAAYC,IAAM,EAAI,GACtEzB,KAAKsL,SAAUtL,KAAKkD,MAAMqI,UAAelN,OAAOmN,YAAcH,EAAxB,KACrCrL,KAAKkD,MAAMQ,YAAY,qBAAyBrF,OAAOmN,YAAcH,EAAxB,MAClDrL,KAAK6K,SCpCTzM,EAAIqN,MAAQ,CACV1G,MAAOA,EACPN,YAAaA,EACbmG,UAAWA,EACXN,YAAaA,EACbjG,cAAeA,GCXjBjG,EAAII,UAAUa,SAASjB,EAAIqN,MAAMpH,cAAcC,MAAOlG,EAAIqN,MAAM1G,OAChE3G,EAAII,UAAUa,SAASjB,EAAIqN,MAAMpH,cAAcG,KAAMpG,EAAIqN,MAAMb,WAC/DxM,EAAII,UAAUa,SAASjB,EAAIS,KAAK6M,aAAaC,KAAMvN,EAAIqN,MAAMnB,aCFtD,MAAMsB,EAAqB,CAChCC,WAAYzN,EAAII,UAAUC,GAAGC,SAAS,OACtCC,SAAU,GAAGP,EAAII,UAAUC,GAAGC,SAAS,kBAAkBN,EAAII,UAAUC,GAAGC,SAAS,cACnFoN,KAAM1N,EAAII,UAAUC,GAAGC,SAAS,aAChCqN,WAAY3N,EAAII,UAAUC,GAAG,0BAC7BuN,KAAM5N,EAAII,UAAUC,GAAGC,SAAS,SCJlC,MAAMuN,UAAuB7N,EAAIS,KAAKgB,SACpCC,cACEC,QACAC,KAAKkM,iBAAkB,EAGdnN,+BACT,MAAO,iBAGTsB,OACEL,KAAKiB,UAAU7C,EAAIS,KAAKqC,mBAAmBC,MAAOnB,KAAKmM,UAAU/L,KAAKJ,OACtEA,KAAKiB,UAAU7C,EAAIS,KAAKqC,mBAAmBkL,QAASpM,KAAKmM,UAAU/L,KAAKJ,OACxEA,KAAKO,YAAa,EAClBP,KAAKmM,YAGP/K,SACEpB,KAAKmM,YAGPA,YACE,MAAMtL,EAAWb,KAAK+B,QAAQC,uBAAuB5D,EAAIS,KAAKoD,SAASlD,kBAAmB,MAAM,GAAM,GACtG,GAAI8B,GAAYb,KAAKuB,aAAanD,EAAIS,KAAK2C,YAAY6K,KAAOxL,EAASkB,QAAQ7C,KAAKC,QAAQyM,EAAmBI,MAAO,CACpH,MAAMM,EAAQtM,KAAK+B,QAAQ7C,KAAK0H,cAAc2F,wBAAwBD,MAChE9I,EAAQ3C,EAASkB,QAAQ7C,KAAKqN,wBAAwB/I,MACtDgJ,EAAOxM,KAAK+B,QAAQ7C,KAAKqN,wBAAwBC,KACvDxM,KAAKyM,eAAiBD,EAAOhJ,EAAQ8I,OAChCtM,KAAKyM,gBAAiB,EAG3BA,qBACF,OAAOzM,KAAKkM,gBAGVO,mBAAgB/B,GACd1K,KAAKkM,kBAAoBxB,IAC7B1K,KAAKkM,gBAAkBxB,EACnBA,EAAOtM,EAAII,UAAUqK,IAAIsC,SAASnL,KAAK+B,QAAQ7C,KAAM0M,EAAmBG,YACvE3N,EAAII,UAAUqK,IAAIqC,YAAYlL,KAAK+B,QAAQ7C,KAAM0M,EAAmBG,cC1CtE,MAAMW,EAA0B,CACrCC,MAAO,EACPC,OAAQ,EACRC,QAAS,GCCX,MAAMC,UAAmB1O,EAAIS,KAAKC,eACrBC,+BACT,MAAO,aAGTsB,OACEN,MAAMM,OACNL,KAAK+M,SAAU,EACf/M,KAAKgN,KAAM,EACXhN,KAAKc,OAAO,WAAYd,KAAKiN,SAAS7M,KAAKJ,OAC3CA,KAAKc,OAAO,YAAad,KAAKkN,KAAK9M,KAAKJ,OAG1ChB,SAAUC,GACR,OAAOA,EAAO8C,QAAQ7C,KAAKC,QAAQyM,EAAmBjN,UAGxDuO,KAAMzH,GACCzF,KAAKuB,aAAanD,EAAIS,KAAK2C,YAAY6K,MAAuB,IAAhBrM,KAAKyI,OAAiBzI,KAAKqH,UAC9ErH,KAAKmN,SAAWnN,KAAKqH,QAAQtF,QAAQ7C,KAAKwH,SAASjB,EAAEC,QAAUgH,EAAwBE,OAASF,EAAwBG,QACxH7M,KAAKoC,QAAQpC,KAAKoN,YAAYhN,KAAKJ,QAGrCiN,SAAUxH,GACHzF,KAAKuB,aAAanD,EAAIS,KAAK2C,YAAY6K,MAC5CrM,KAAKgN,KAAM,EACXhN,KAAKoC,QAAQpC,KAAKoN,YAAYhN,KAAKJ,QAGrCoN,cACE,GAAIpN,KAAKgN,IACP,OAAQhN,KAAKmN,UACX,KAAKT,EAAwBG,QAC3B7M,KAAKyI,OAAS,EACd,MAEF,KAAKiE,EAAwBE,OACvB5M,KAAKqH,SAASrH,KAAKqH,QAAQlH,QAC/B,MAEF,QACMH,KAAKyI,OAAS,IAAMzI,KAAKqH,QAAQgG,WAAUrN,KAAKyI,OAAS,GAGnEzI,KAAKmN,SAAWT,EAAwBC,KACxC3M,KAAKgN,KAAM,EAGTvE,YAAW,OAAO1I,MAAM0I,MAExBA,UAAOiC,IACM,IAAXA,GAAiC,OAAjB1K,KAAKqH,SAAoBrH,KAAKqH,QAAQgG,UAAUrN,KAAKqH,QAAQlH,QACjFJ,MAAM0I,MAAQiC,GClDlBtM,EAAIkP,WAAa,CACfR,WAAYA,EACZb,eAAgBA,EAChBS,wBAAyBA,EACzBd,mBAAoBA,GCRtBxN,EAAII,UAAUa,SAASjB,EAAIkP,WAAW1B,mBAAmBC,WAAYzN,EAAIkP,WAAWR,YACpF1O,EAAII,UAAUa,SAASjB,EAAIkP,WAAW1B,mBAAmBE,KAAM1N,EAAIkP,WAAWrB,gBCI9E,MAAMsB,UAAkBnP,EAAIS,KAAK6F,iBAC/B5E,cACEC,MAAM3B,EAAIS,KAAK8F,eAAe6I,QAGrBzO,+BACT,MAAO,YAGT0L,MAAOC,GACL3K,MAAM0K,MAAMC,GACR1K,KAAKyN,YACPzN,KAAK8F,aAAa,WAAY4E,EAAQ,IAAM,MACxCA,GACE1K,KAAK0N,MAAM1N,KAAK0N,KAAKC,SAAS3N,OAKpC0N,WACF,OAAO1N,KAAK+B,QAAQ6L,qBAAqB,WAAY,cCzBlD,MAAMC,EAAc,CACzBC,IAAK1P,EAAII,UAAUC,GAAGC,SAAS,aAC/BH,MAAOH,EAAII,UAAUC,GAAGC,SAAS,QACjCqP,MAAO3P,EAAII,UAAUC,GAAGC,SAAS,eACjCwF,KAAM9F,EAAII,UAAUC,GAAGC,SAAS,cAChCsP,OAAQ5P,EAAII,UAAUC,GAAGC,SAAS,gBAClCuP,YAAa7P,EAAII,UAAUC,GAAGC,SAAS,sBACvCwP,aAAc9P,EAAII,UAAUC,GAAGC,SAAS,uBACxCyP,YAAa/P,EAAII,UAAUC,GAAGC,SAAS,gCACvC0P,UAAWhQ,EAAII,UAAUC,GAAGC,SAAS,+BCX1B2P,EACJ,kBADIA,EAEN,gBAFMA,EAGL,OCOR,MAAMC,UAAiBlQ,EAAIS,KAAKmG,WAC9BlF,cACEC,MAAM3B,EAAIS,KAAK8F,eAAe6I,OAAQK,EAAYE,MAAOR,EAAW,aACpEvN,KAAKuO,WAAaF,EAClBrO,KAAKwO,yBAA0B,EAGtBzP,+BACT,MAAO,WAGL0P,gBACF,OAAOzO,KAAKuO,WAGVE,cAAW/D,GACb,GAAIA,IAAU1K,KAAKuO,WAAnB,CACA,OAAQvO,KAAKuO,YACX,KAAKF,EACHrO,KAAKkL,YAAY2C,EAAYM,aAC7B,MAEF,KAAKE,EACHrO,KAAKkL,YAAY2C,EAAYO,WAC7B,MAEF,KAAKC,EACH,MAEF,QACE,OAKJ,OAFArO,KAAKuO,WAAa7D,EAEV1K,KAAKuO,YACX,KAAKF,EACHrO,KAAKmL,SAAS0C,EAAYM,aAC1B,MAEF,KAAKE,EACHrO,KAAKmL,SAAS0C,EAAYO,aAK5BM,6BACF,OAAO1O,KAAKwO,wBAGVE,2BAAwBhE,GACtB1K,KAAKwO,0BAA4B9D,IACjCA,EAAO1K,KAAKmL,SAAS/M,EAAII,UAAUmQ,OAAOC,mBAAmBjC,MAC5D3M,KAAKkL,YAAY9M,EAAII,UAAUmQ,OAAOC,mBAAmBjC,MAC9D3M,KAAKwO,yBAAoC,IAAV9D,GAGjCmE,UAAWJ,EAAW9D,GACpB3K,KAAK0O,uBAAyB/D,EAC9B3K,KAAKyO,UAAYA,EAGnBK,QACE9O,KAAK+O,MAAMtG,MAAQ,GClEvB,MAAMuG,UAAkB5Q,EAAIS,KAAK0L,iBAC/BzK,cACEC,MAAM,YAGGhB,+BACT,MAAO,YAGTsB,OACEN,MAAMM,OACNL,KAAKc,OAAO,gBAAiBd,KAAKiP,cAAc7O,KAAKJ,OACrDA,KAAKoF,UAAUhH,EAAIS,KAAKwG,SAAS6J,MAAOlP,KAAKmP,WAAW/O,KAAKJ,OAAO,GAAM,GAC1EA,KAAKoF,UAAUhH,EAAIS,KAAKwG,SAAS+J,KAAMpP,KAAKqP,UAAUjP,KAAKJ,OAAO,GAAM,GACxEA,KAAKoF,UAAUhH,EAAIS,KAAKwG,SAASiK,KAAMtP,KAAKuP,UAAUnP,KAAKJ,OAAO,GAAM,GACxEA,KAAKoF,UAAUhH,EAAIS,KAAKwG,SAASmK,IAAKxP,KAAKyP,SAASrP,KAAKJ,OAAO,GAAM,GACtEA,KAAK0P,aAAc,EAEf1P,KAAK0N,MAAM1N,KAAK0N,KAAKjD,QAGvBiD,WACF,OAAO1N,KAAK+B,QAAQC,uBAAuB,WAAY,aAAa,GAAM,GAG5EiN,cAAexJ,GACbzF,KAAK0O,wBAAyB,EAG5BhN,qBACF,OAAO1B,KAAK2P,QAAQC,MAAK3Q,GAAUA,EAAOyC,iBAO5CyN,aACMnP,KAAK0B,iBACH1B,KAAKyI,MAAQzI,KAAKsB,OAAS,EAC7BtB,KAAKyI,QAELzI,KAAKyI,MAAQ,EAGfzI,KAAKG,SAQTkP,YACMrP,KAAK0B,iBACH1B,KAAKyI,MAAQ,EACfzI,KAAKyI,QAELzI,KAAKyI,MAAQzI,KAAKsB,OAAS,EAG7BtB,KAAKG,SAOToP,YACMvP,KAAK0B,iBACP1B,KAAKyI,MAAQ,EACbzI,KAAKG,SAOTsP,WACMzP,KAAK0B,iBACP1B,KAAKyI,MAAQzI,KAAKsB,OAAS,EAC3BtB,KAAKG,SAITA,QACMH,KAAKqH,SACPrH,KAAKqH,QAAQlH,QAIjBsK,QACE,IAAK,IAAIoF,EAAI,EAAGA,EAAI7P,KAAK8P,OAAQD,IAAK7P,KAAK2P,QAAQE,GAAGhB,UAAUR,GAChErO,KAAKqH,QAAQwH,UAAUR,GACvB,IAAK,IAAIwB,EAAI7P,KAAK8P,OAAS,EAAGD,EAAI7P,KAAKsB,OAAQuO,IAAK7P,KAAK2P,QAAQE,GAAGhB,UAAUR,GAC9ErO,KAAK0O,wBAAyB,EAG5BA,6BACF,OAAO1O,KAAKwO,wBAGVE,2BAAwBhE,GACtB1K,KAAKwO,0BAA4B9D,IACjCA,EAAO1K,KAAKmL,SAAS/M,EAAII,UAAUmQ,OAAOC,mBAAmBjC,MAC5D3M,KAAKkL,YAAY9M,EAAII,UAAUmQ,OAAOC,mBAAmBjC,MAC9D3M,KAAKwO,yBAAoC,IAAV9D,GAGjCqF,SACE,GAAqB,OAAjB/P,KAAKqH,QAAkB,OAC3B,MAAM2I,EAAaC,KAAKC,MAAMlQ,KAAKqH,QAAQnI,KAAK8L,cAChD,GAAIhL,KAAKmQ,cAAgBH,EAAY,OACrChQ,KAAKmQ,YAAcH,EACnB,IAAII,EAAa,EACbpQ,KAAK0N,OAAM0C,EAAapQ,KAAK0N,KAAKxO,KAAK8L,cAC3ChL,KAAKkD,MAAMQ,YAAY,gBAAkB1D,KAAKmQ,YAAcC,EAAc,OCrH9E,MAAMC,UAAiBjS,EAAIS,KAAKgB,SACnBd,+BACT,MAAO,WAGTsB,OACEL,KAAKc,OAAO,SAAUd,KAAKsQ,OAAOlQ,KAAKJ,OACvCA,KAAKO,YAAa,EAGhBwO,YACF,OAAO/O,KAAK+B,QAAQ6L,qBAAqB,YAAa,YAGxDD,SAAU4C,GACR,MAAMC,EAAUD,EAAIE,UACdC,EAAW1Q,KAAKyQ,UAChBE,EAAe3Q,KAAKd,KAAK0R,WAC3BJ,EAAQhE,KAAOkE,EAASlE,KAAMxM,KAAKd,KAAK2R,SAASF,EAAeD,EAASlE,KAAOgE,EAAQhE,KArBxE,GAqBgG,GAC3GgE,EAAQlE,MAAQoE,EAASpE,OAAOtM,KAAKd,KAAK2R,SAASF,EAAeD,EAASpE,MAAQkE,EAAQlE,MAtBhF,GAsByG,GAG3HwE,kBACF,OAAO9Q,KAAK+Q,aAGVD,gBAAapG,GACX1K,KAAK+Q,eAAiBrG,IAC1B1K,KAAK+Q,aAAerG,EACpB1K,KAAKyK,SAGPA,QACOzK,KAAK+O,QACN/O,KAAK+Q,cACP/Q,KAAK+O,MAAM5D,SAAS0C,EAAYG,QAChChO,KAAKsQ,WAELtQ,KAAK+O,MAAM7D,YAAY2C,EAAYK,cACnClO,KAAK+O,MAAM7D,YAAY2C,EAAYI,aACnCjO,KAAK+O,MAAM7D,YAAY2C,EAAYG,UAKvCsC,SACE,IAAKtQ,KAAK+O,MAAO,OACjB,MAAM6B,EAAa5Q,KAAKd,KAAK0R,WACvBI,EAAQJ,GAlDI,GAmDZK,EAAMjR,KAAKd,KAAKgS,YAAclR,KAAKd,KAAKiS,YAnD5B,GAqDZC,EAAQnB,KAAKoB,IAAIT,IAAeK,EAChCK,EAAyD,QAAjD1P,SAASoH,gBAAgBnG,aAAa,OAC9C0O,EAAcD,EAAQzD,EAAYK,aAAeL,EAAYI,YAC7DuD,EAAcF,EAAQzD,EAAYI,YAAcJ,EAAYK,aAE9D8C,EACFhR,KAAK+O,MAAM7D,YAAYqG,GAEvBvR,KAAK+O,MAAM5D,SAASoG,GAGlBH,EACFpR,KAAK+O,MAAM7D,YAAYsG,GAEvBxR,KAAK+O,MAAM5D,SAASqG,GAIxBpQ,SACEpB,KAAK8Q,YAAc9Q,KAAKd,KAAKgS,YAAclR,KAAKd,KAAKiS,YAxEnC,GA2EpBlH,UACEjK,KAAK8Q,aAAc,GCzEvB1S,EAAIqT,IAAM,CACRnD,SAAUA,EACVf,UAAWA,EACXyB,UAAWA,EACXqB,SAAUA,EACVxC,YAAaA,GCVfzP,EAAII,UAAUa,SAASjB,EAAIqT,IAAI5D,YAAYE,MAAO3P,EAAIqT,IAAInD,UAC1DlQ,EAAII,UAAUa,SAASjB,EAAIqT,IAAI5D,YAAYtP,MAAOH,EAAIqT,IAAIzC,WAC1D5Q,EAAII,UAAUa,SAASjB,EAAIqT,IAAI5D,YAAY3J,KAAM9F,EAAIqT,IAAIpB,UCFlD,MAAMqB,EAAgB,CAC3BC,WAAYvT,EAAII,UAAUC,GAAGmT,SAAS,QAAS,cAC/CC,OAAQzT,EAAII,UAAUC,GAAGmT,SAAS,QAAS,UAC3CE,eAAgB1T,EAAII,UAAUC,GAAGmT,SAAS,QAAS,kBCArD,MAAMG,UAAc3T,EAAIS,KAAKgB,SAChBd,+BACT,MAAO,QAGTsB,OACEL,KAAKiB,UAAUyQ,EAAcI,eAAgB9R,KAAKgS,iBAAiB5R,KAAKJ,OAG1EgS,iBAAkBtH,GAChB1K,KAAK0D,YAAY,iBAAkB,QAAQgH,gBCbxC,MAAMuH,EAAgB,CAC3BC,MAAO9T,EAAII,UAAUC,GAAGC,SAAS,SACjCsP,OAAQ5P,EAAII,UAAUC,GAAGC,SAAS,iBAClCuP,YAAa7P,EAAII,UAAUC,GAAGC,SAAS,uBACvCwP,aAAc9P,EAAII,UAAUC,GAAGC,SAAS,wBACxCyT,QAAS,GAAG/T,EAAII,UAAUC,GAAGC,SAAS,gBAAgBN,EAAII,UAAUC,GAAGC,SAAS,6BAChF0T,QAAS,GAAGhU,EAAII,UAAUC,GAAGC,SAAS,0BCHxC,MAAM2T,UAAqBjU,EAAIS,KAAKgB,SACvBd,+BACT,MAAO,eAGTsB,OACEL,KAAKc,OAAO,SAAUd,KAAKsQ,OAAOlQ,KAAKJ,OACvCA,KAAKsS,QAAUtS,KAAKuS,cAAc,SAClCvS,KAAKO,YAAa,EAGhBuQ,kBACF,OAAO9Q,KAAK+Q,aAGVD,gBAAapG,GACX1K,KAAK+Q,eAAiBrG,IAC1B1K,KAAK+Q,aAAerG,EAEhBA,GACF1K,KAAKmL,SAAS8G,EAAcjE,QAC5BhO,KAAKsQ,WAELtQ,KAAKkL,YAAY+G,EAAcjE,QAC/BhO,KAAKkL,YAAY+G,EAAchE,aAC/BjO,KAAKkL,YAAY+G,EAAc/D,gBAKnCoC,SACE,MAAMU,EAAQhR,KAAKd,KAAK0R,YAjCN,EAkCZK,EAAMjR,KAAKsS,QAAQE,YAAcxS,KAAKd,KAAKsT,YAlC/B,EAmCZpB,EAAQnB,KAAKoB,IAAIrR,KAAKd,KAAK0R,aAAeK,EAC1CK,EAAyD,QAAjD1P,SAASoH,gBAAgBnG,aAAa,OAC9C0O,EAAcD,EAAQW,EAAc/D,aAAe+D,EAAchE,YACjEuD,EAAcF,EAAQW,EAAchE,YAAcgE,EAAc/D,aAElE8C,EACFhR,KAAKkL,YAAYqG,GAEjBvR,KAAKmL,SAASoG,GAGZH,EACFpR,KAAKkL,YAAYsG,GAEjBxR,KAAKmL,SAASqG,GAIlBpQ,SACEpB,KAAK8Q,YAAc9Q,KAAKsS,QAAQE,YAAcxS,KAAKd,KAAKsT,YAG1DvI,UACEjK,KAAK8Q,aAAc,GC1DvB,MAAM2B,UAAqBrU,EAAIS,KAAKgB,SACvBd,+BACT,MAAO,eAGTsB,OACEL,KAAK0S,OAAS,EACd1S,KAAKO,YAAa,EAGpBa,SACE,MAAMsR,EAAS1S,KAAKyQ,UAAUiC,OAC1B1S,KAAK0S,SAAWA,IACpB1S,KAAK0S,OAASA,EACd1S,KAAK2S,OAAOjB,EAAcI,eAAgBY,KCX9CtU,EAAIwU,MAAQ,CACVb,MAAOA,EACPM,aAAcA,EACdI,aAAcA,EACdR,cAAeA,GCRjB7T,EAAII,UAAUa,SAASjB,EAAIwU,MAAMX,cAAcC,MAAO9T,EAAIwU,MAAMb,OAChE3T,EAAII,UAAUa,SAASjB,EAAIwU,MAAMX,cAAcE,QAAS/T,EAAIwU,MAAMP,cAClEjU,EAAII,UAAUa,SAASjB,EAAIwU,MAAMX,cAAcG,QAAShU,EAAIwU,MAAMH,cCF3D,MAAMI,EAAc,CACzBC,cAAe,GAAG1U,EAAII,UAAUC,GAAGC,SAAS,wBCA9CN,EAAI2U,IAAM,CACRF,YAAaA,GCFfzU,EAAII,UAAUa,SAASjB,EAAI2U,IAAIF,YAAYC,cAAe1U,EAAIS,KAAKmU,QCA5D,MAAMC,EAAmB,CAC9BC,qBAAsB,GAAG9U,EAAII,UAAUC,GAAGsF,KAAKrF,SAAS,iBACxDyU,gBAAiB,GAAG/U,EAAII,UAAUC,GAAGC,SAAS,uBCDhD,MAAM0U,UAAmBhV,EAAIS,KAAKgB,SACrBd,+BACT,MAAO,aAGTsB,OACEL,KAAKqT,KAAOrT,KAAKsT,QAAQtT,KAAKd,MAC9Bc,KAAKuT,KAAOvT,KAAK6C,aAAa,QAE9B7C,KAAKwT,SAAWxT,KAAK6C,aAAa,YAClC7C,KAAKyT,KAAO,GACZzT,KAAK0T,OAAS1T,KAAKuS,cAAcU,EAAiBE,iBAClDnT,KAAK8C,SAGP6Q,qBACoBlN,IAAdzG,KAAKuT,KAKTK,MAAM5T,KAAKuT,KAAM,CAAEM,OAAQ,OAAQC,KAAM,SAAUC,MAAKC,IACtDhU,KAAKsB,OAAS0S,EAASC,QAAQC,IAAI,oBAAsB,GACpC,IAAjBlU,KAAKsB,QACP6S,QAAQC,KAAK,8CAAgDpU,KAAKuT,KAAO,kEAE3EvT,KAAK8C,YATL9C,KAAKsB,QAAU,EAanBwB,SAIE,GAFI9C,KAAKsL,WAAUtL,KAAKsB,QAAU,IAE7BtB,KAAKsB,OAER,YADAtB,KAAK2T,gBAIP,MAAMU,EAAU,GAChB,GAAIrU,KAAK0T,OAAQ,CACf,GAAI1T,KAAKuT,KAAM,CACb,MAAMe,EAAYtU,KAAKuU,eAAevU,KAAKuT,MACvCe,GAAWD,EAAQnM,KAAKoM,EAAUE,gBAGnB,IAAjBxU,KAAKsB,QACP+S,EAAQnM,KAAKlI,KAAKyU,YAAYzU,KAAKsB,SAGjCtB,KAAKwT,UACPa,EAAQnM,KAAKlI,KAAK0U,mBAAmB1U,KAAKwT,WAG5CxT,KAAK0T,OAAOiB,UAAYN,EAAQlO,KAAK,QAIzCmN,QAASsB,GACP,OAAIA,EAAKvB,KAAauB,EAAKvB,KACvBzR,SAASoH,kBAAoB4L,EAAavW,OAAOwW,UAAUC,SACxD9U,KAAKsT,QAAQsB,EAAKhO,eAG3B2N,eAAgBQ,GAEd,OAAOA,EAAIC,MADY,yBACU,GAAGC,QAAQ,IAAK,IAGnDP,mBAAoBQ,GAClB,GAAIlV,KAAKsL,SAAU,OAAO4J,EAC1B,MACM/L,EADe,IAAIgM,KAAKC,aAAa,CAACpV,KAAKqT,MAAO,CAAEgC,KAAM,aACtCC,GAAGJ,GAC7B,OAAO/L,EAAKoM,OAAO,GAAGf,cAAgBrL,EAAKqM,MAAM,GAGnDf,YAAagB,GACX,IAAe,IAAXA,EAAc,OAAO,KAEzB,IAAIC,EAAY,CAAC,SAAU,KAAM,KAAM,KAAM,MACmB,UAA5D1V,KAAK6C,aAAazE,EAAII,UAAUC,GAAGsF,KAAK,kBAC1C2R,EAAY,CAAC,QAAS,KAAM,KAAM,KAAM,OAG1C,MAAM7F,EAAI8F,SAAS1F,KAAK2F,MAAM3F,KAAK4F,IAAIJ,GAASxF,KAAK4F,IAAI,MAAQ,IACjE,GAAU,IAANhG,EAAS,MAAO,GAAG4F,KAASC,EAAU7F,KAE1C,MAAMiG,EAAOL,EAAS,KAAQ5F,EACxBkG,EAAc9F,KAAKC,MAAgC,KAAzB4F,EAAOE,OAAOC,UAAkB,IAGhE,MAAO,GAFYC,OAAOH,GAAad,QAAQ,IAAK,QAE5BS,EAAU7F,MC1FtCzR,EAAI+X,SAAW,CACblD,iBAAkBA,EAClBG,WAAYA,GCJdhV,EAAII,UAAUa,SAASjB,EAAI+X,SAASlD,iBAAiBC,qBAAsB9U,EAAI+X,SAAS/C,YCAjF,MAAMgD,EAAiB,CAC5BC,OAAQjY,EAAII,UAAUC,GAAGC,SAAS,UAClC4X,YAAalY,EAAII,UAAUC,GAAGC,SAAS,uBACvC6X,WAAYnY,EAAII,UAAUC,GAAGC,SAAS,sBACtC8X,QAAS,GAAGpY,EAAII,UAAUC,GAAGC,SAAS,0BAA0BN,EAAII,UAAUC,GAAGC,SAAS,kBAAkBN,EAAII,UAAUC,GAAGC,SAAS,0BAA0BN,EAAII,UAAUC,GAAGC,SAAS,iBAC1L+X,OAAQ,GAAGrY,EAAII,UAAUC,GAAGC,SAAS,oBAAoBN,EAAII,UAAUC,GAAGC,SAAS,aAAaN,EAAII,UAAUC,GAAGC,SAAS,kBAAkBN,EAAII,UAAUC,GAAGC,SAAS,YCJxK,MAAMgY,UAAoBtY,EAAIS,KAAKgB,SACtBd,+BACT,MAAO,cAGTsB,OACE,MAAMsW,EAAS3W,KAAK4W,oBAAoBR,EAAeC,QACvDrW,KAAK6W,WAAaF,EAAOpE,cAAc6D,EAAeE,aACtDtW,KAAK8W,UAAYH,EAAOpE,cAAc6D,EAAeG,YAKrD,GAHkBvW,KAAK6W,WAAWlC,UAAUM,QAAQ,OAAQ,OAC3CjV,KAAK8W,UAAUnC,UAAUM,QAAQ,OAAQ,KAI1D,OAAQ7W,EAAI0V,MACV,KAAK1V,EAAI2Y,MAAMC,QACf,KAAK5Y,EAAI2Y,MAAME,MACf,KAAK7Y,EAAI2Y,MAAMG,IACb9Y,EAAI+Y,UAAU/C,KAAK,4MAEzBhW,EAAIuY,OAAOS,OACL,MAEF,QACEpX,KAAK8W,UAAUnC,UAAY3U,KAAK6W,WAAWlC,YC1BnD,MAAM0C,UAAoBjZ,EAAIS,KAAKgB,SACtBd,+BACT,MAAO,cAGTsB,OACEL,KAAKO,YAAa,EAGpBa,SACMpB,KAAKuB,aAAanD,EAAIS,KAAK2C,YAAY6K,IAAKrM,KAAKsX,YAChDtX,KAAKuX,UAGZA,UACEvX,KAAK8F,aAAa,OAAQ,UAC1B,MAAM2F,EAAQzL,KAAK+B,QAAQyV,YAAY,SACvC,IAAK/L,EAAO,OACZ,MAAMrB,EAAUqB,EAAMrB,QACtB,IAAIqN,EAAK,GACT,IAAK,MAAMhY,KAAU2K,EAEnB,GADAqN,EAAKhY,EAAOgY,IAAMA,EACdhY,EAAOgO,WAAagK,EAAI,MAE9BzX,KAAK8F,aAAa,kBAAmB2R,GAGvCH,YACE,MAAM7L,EAAQzL,KAAK+B,QAAQyV,YAAY,SACnC/L,GAAOA,EAAMlG,UACjBvF,KAAKgG,gBAAgB,QACrBhG,KAAKgG,gBAAgB,oBC5BzB5H,EAAIuY,OAAS,CACXD,YAAaA,EACbW,YAAaA,EACbjB,eAAgBA,EAChBgB,IAAK,gFCPPhZ,EAAII,UAAUa,SAASjB,EAAIuY,OAAOP,eAAeI,QAASpY,EAAIuY,OAAOD,aACrEtY,EAAII,UAAUa,SAASjB,EAAIuY,OAAOP,eAAeK,OAAQrY,EAAIuY,OAAOU,aCD7D,MAAMK,EAAkB,CAC7BC,QAASvZ,EAAII,UAAUC,GAAGC,SAAS,WACnCkZ,cAAe,eAAexZ,EAAII,UAAUC,GAAG,oBAC/CoZ,SAAUzZ,EAAII,UAAUC,GAAGC,SAAS,aCFtC,MAAMoZ,UAAgB1Z,EAAIS,KAAKgB,SAClBd,+BACT,MAAO,UAGTsB,OAGE,GAFAL,KAAK+I,OAAS/I,KAAK8B,iBAAiB4V,EAAgBE,eAEhDxZ,EAAI2Z,OAAQ,CACd/X,KAAKgY,SAAWhY,KAAKiY,OAAO7X,KAAKJ,MACjC,IAAK,MAAMkJ,KAASlJ,KAAK+I,OAAQG,EAAMrB,iBAAiB,SAAU7H,KAAKgY,UACvEhY,KAAKkY,WAAW9Z,EAAI2Z,OAAOI,eAAeC,OAAQpY,KAAKyK,MAAMrK,KAAKJ,OAClEA,KAAK2S,OAAOvU,EAAI2Z,OAAOI,eAAeE,UAEtCrY,KAAKuS,cAAcmF,EAAgBG,UAAU/R,aAAa,WAAY,IAItEiS,aACF,OAAO/X,KAAKsY,QAGVP,WAAQrN,GACV,GAAI1K,KAAKsY,UAAY5N,GAAUtM,EAAI2Z,OACnC,OAAQrN,GACN,KAAKtM,EAAI2Z,OAAOQ,YAAYC,OAC5B,KAAKpa,EAAI2Z,OAAOQ,YAAYE,MAC5B,KAAKra,EAAI2Z,OAAOQ,YAAYG,KAC1B1Y,KAAKsY,QAAU5N,EACf,IAAK,MAAMxB,KAASlJ,KAAK+I,OACvBG,EAAM9F,QAAU8F,EAAMwB,QAAUA,EAElC1K,KAAK2S,OAAOvU,EAAI2Z,OAAOI,eAAeC,OAAQ1N,IAKpDuN,SACE,IAAK,MAAM/O,KAASlJ,KAAK+I,OACvB,GAAIG,EAAM9F,QAER,YADApD,KAAK+X,OAAS7O,EAAMwB,OAM1BD,MAAOC,GACL1K,KAAK+X,OAASrN,EAGhBT,UACE,IAAK,MAAMf,KAASlJ,KAAK+I,OAAQG,EAAMc,oBAAoB,SAAUhK,KAAKgY,WClD9E5Z,EAAIuI,QAAU,CACZmR,QAASA,EACTJ,gBAAiBA,GCJnBtZ,EAAII,UAAUa,SAASjB,EAAIuI,QAAQ+Q,gBAAgBC,QAASvZ,EAAIuI,QAAQmR"}
|