UNPKG

@edugouvfr/ngx-dsfr

Version:

NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).

1 lines 1.14 MB
{"version":3,"file":"edugouvfr-ngx-dsfr.mjs","sources":["../../../projects/ngx-dsfr-components/src/lib/shared/models/button.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/models/heading-level.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/models/link-target.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/models/position.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/models/severity.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/models/size.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/models/text-size.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/date-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/dom-utils.ts","../../../projects/ngx-dsfr-components/src/lib/components/download/dsfr-mime.type.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/file-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/json-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/ssr-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/local-storage.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/storage-enum.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/string-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/to-array-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/uuid-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/default-value-accessor.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/default-control.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/base-panel/base-panel.model.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/base-panel/base-panel.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/checkbox-light/checkbox-light.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/checkbox-light/checkbox-light.component.html","../../../projects/ngx-dsfr-components/src/lib/shared/components/heading/heading.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/heading/heading.component.html","../../../projects/ngx-dsfr-components/src/lib/shared/components/heading/heading.module.ts","../../../projects/ngx-dsfr-components/src/lib/shared/directives/message-severity.directive.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/input-group/input-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/input-group/input-group.component.html","../../../projects/ngx-dsfr-components/src/lib/shared/components/link-download/link-download.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/link-download/link-download.component.html","../../../projects/ngx-dsfr-components/src/lib/shared/components/pictogram/pictogram.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/pictogram/pictogram.component.html","../../../projects/ngx-dsfr-components/src/lib/shared/components/pictogram/pictogram.module.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/svg-icon/svg-icon.component.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/svg-icon/svg-icon.module.ts","../../../projects/ngx-dsfr-components/src/lib/shared/config/config-token.ts","../../../projects/ngx-dsfr-components/src/lib/shared/config/config.module.ts","../../../projects/ngx-dsfr-components/src/lib/shared/directives/disable-router-link.directive.ts","../../../projects/ngx-dsfr-components/src/lib/shared/i18n/i18n-labels-bundle-en.ts","../../../projects/ngx-dsfr-components/src/lib/shared/i18n/i18n-labels-bundle-fr.ts","../../../projects/ngx-dsfr-components/src/lib/shared/i18n/i18n-utils.ts","../../../projects/ngx-dsfr-components/src/lib/shared/services/config.service.ts","../../../projects/ngx-dsfr-components/src/lib/shared/services/logger.service.ts","../../../projects/ngx-dsfr-components/src/lib/shared/services/lang.service.ts","../../../projects/ngx-dsfr-components/src/lib/shared/services/language.enum.ts","../../../projects/ngx-dsfr-components/src/lib/shared/i18n/i18n.service.ts","../../../projects/ngx-dsfr-components/src/lib/shared/i18n/i18n.pipe.ts","../../../projects/ngx-dsfr-components/src/lib/components/accordion/accordion.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/accordion/accordion.component.html","../../../projects/ngx-dsfr-components/src/lib/components/accordion/accordion.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/accordions-group/accordions-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/accordions-group/accordions-group.component.html","../../../projects/ngx-dsfr-components/src/lib/components/accordions-group/accordions-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/alert/alert.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/alert/alert.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/alert/alert.component.html","../../../projects/ngx-dsfr-components/src/lib/components/alert/alert.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/button/button.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/button/button.component.html","../../../projects/ngx-dsfr-components/src/lib/components/button/button.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/link/link.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/link/link.component.html","../../../projects/ngx-dsfr-components/src/lib/components/link/link.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/backtotop/backtotop.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/backtotop/backtotop.component.html","../../../projects/ngx-dsfr-components/src/lib/components/backtotop/backtotop.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/badge/badge.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/badge/badge.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/badge/badge.component.html","../../../projects/ngx-dsfr-components/src/lib/components/badge/badge.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/badges-group/badges-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/badges-group/badges-group.component.html","../../../projects/ngx-dsfr-components/src/lib/components/badges-group/badges-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/link/item-link.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/breadcrumb/breadcrumb.component.html","../../../projects/ngx-dsfr-components/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/buttons-group/buttons-group.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/buttons-group/buttons-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/buttons-group/buttons-group.component.html","../../../projects/ngx-dsfr-components/src/lib/components/buttons-group/buttons-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/callout/callout.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/callout/callout.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/callout/callout.component.html","../../../projects/ngx-dsfr-components/src/lib/components/callout/callout.module.ts","../../../projects/ngx-dsfr-components/src/lib/shared/utils/ratio-utils.ts","../../../projects/ngx-dsfr-components/src/lib/components/tag/tag.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/tag/tag.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tag/tag.component.html","../../../projects/ngx-dsfr-components/src/lib/components/tag/tag.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/tags-group/tags-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tags-group/tags-group.component.html","../../../projects/ngx-dsfr-components/src/lib/components/tags-group/tags-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/card/card.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/card/card.component.html","../../../projects/ngx-dsfr-components/src/lib/components/card/card.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/card/card.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-manager/consent-service/consent-service.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-manager/consent-service/consent-service.component.html","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-manager/consent-manager.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-manager/consent-manager.component.html","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-banner.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-banner.component.html","../../../projects/ngx-dsfr-components/src/lib/components/consent-banner/consent-banner.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/transcription/transcription.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/transcription/transcription.component.html","../../../projects/ngx-dsfr-components/src/lib/components/content/content.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/content/content.component.html","../../../projects/ngx-dsfr-components/src/lib/components/content/content.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/content/content.model.ts","../../../projects/ngx-dsfr-components/src/lib/forms/fieldset/form-fieldset-element.directive.ts","../../../projects/ngx-dsfr-components/src/lib/shared/components/input-group/hint.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/fieldset/base-fieldset.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/fieldset/form-fieldset.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/fieldset/form-fieldset.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/fieldset/form-fieldset.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/default-radio.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-radio-rich/form-radio-rich.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-radio-rich/form-radio-rich.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-radio-rich/form-radio-rich.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/display/display.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/display/display.component.html","../../../projects/ngx-dsfr-components/src/lib/components/display/display.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/download/download.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/download/download.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/download/download.component.html","../../../projects/ngx-dsfr-components/src/lib/components/download/download.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/downloads-group/downloads-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/downloads-group/downloads-group.component.html","../../../projects/ngx-dsfr-components/src/lib/components/downloads-group/downloads-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/footer/footer.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/footer/footer.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/footer/footer.component.html","../../../projects/ngx-dsfr-components/src/lib/components/footer/footer.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/franceconnect/franceconnect.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/franceconnect/franceconnect.component.html","../../../projects/ngx-dsfr-components/src/lib/components/header/component/mega-menu.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/header/component/mega-menu.component.html","../../../projects/ngx-dsfr-components/src/lib/components/header/component/tool-link.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/search-bar/search-bar.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/search-bar/search-bar.component.html","../../../projects/ngx-dsfr-components/src/lib/components/search-bar/search-bar.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/translate/translate.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/translate/translate.component.html","../../../projects/ngx-dsfr-components/src/lib/components/translate/translate.module.ts","../../../projects/ngx-dsfr-components/src/lib/shared/directives/wrap-li.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/header/component/tools-links.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/header/component/tools-links.component.html","../../../projects/ngx-dsfr-components/src/lib/components/header/header.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/header/header.component.html","../../../projects/ngx-dsfr-components/src/lib/components/header/header.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/highlight/highlight.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/highlight/highlight.component.html","../../../projects/ngx-dsfr-components/src/lib/components/highlight/highlight.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/links-group/links-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/links-group/links-group.component.html","../../../projects/ngx-dsfr-components/src/lib/components/links-group/links-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/logo/logo.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/logo/logo.component.html","../../../projects/ngx-dsfr-components/src/lib/components/logo/logo.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/modal/modal.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/modal/modal.component.html","../../../projects/ngx-dsfr-components/src/lib/components/modal/modal.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/notice/notice.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/notice/notice.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/notice/notice.component.html","../../../projects/ngx-dsfr-components/src/lib/components/notice/notice.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/pagination/page-link.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/pagination/page-link.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-select/form-select.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-select/form-select.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-select/form-select.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/pagination/pagination-calc.ts","../../../projects/ngx-dsfr-components/src/lib/components/pagination/pagination.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/pagination/pagination.component.html","../../../projects/ngx-dsfr-components/src/lib/components/pagination/previous-page/previous-page.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/pagination/previous-page/previous-page.component.html","../../../projects/ngx-dsfr-components/src/lib/components/pagination/pagination.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/quote/quote.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/quote/quote.component.html","../../../projects/ngx-dsfr-components/src/lib/components/quote/quote.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/segmented-control/segmented-control.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/segmented-control/segmented-control.component.html","../../../projects/ngx-dsfr-components/src/lib/components/segmented-control/segmented-control.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/share/share.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/share/share-link/share-link.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/share/share-link/share-link.component.html","../../../projects/ngx-dsfr-components/src/lib/components/share/share.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/share/share.component.html","../../../projects/ngx-dsfr-components/src/lib/components/share/share.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/sidemenu/sidemenu.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/sidemenu/sidemenu.component.html","../../../projects/ngx-dsfr-components/src/lib/components/sidemenu/sidemenu.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/skiplinks/skiplinks.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/skiplinks/skiplinks.component.html","../../../projects/ngx-dsfr-components/src/lib/components/skiplinks/skiplinks.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/stepper/stepper.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/stepper/stepper.component.html","../../../projects/ngx-dsfr-components/src/lib/components/stepper/stepper.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/summary/summary.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/summary/summary.component.html","../../../projects/ngx-dsfr-components/src/lib/components/summary/summary.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/table-footer.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/table-footer.component.html","../../../projects/ngx-dsfr-components/src/lib/components/table/utils/table.utils.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/service/datatable.service.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/paginated-table.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/table-header.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/table-header.component.html","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/cell.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/table.context.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/column.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/header-select.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/row-group.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/expand-button.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/row-header-group.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/row-select.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/component/sort-button.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/sort-column.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/utils/navigation-table.utils.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/directive/treegrid-navigation.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/table.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/table.component.html","../../../projects/ngx-dsfr-components/src/lib/components/table/table.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/table/datatable.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/usermenu/component/tool-link-menu.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/usermenu/component/tool-link-menu.component.html","../../../projects/ngx-dsfr-components/src/lib/components/usermenu/usermenu.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/usermenu/usermenu.component.html","../../../projects/ngx-dsfr-components/src/lib/components/table-legacy/table-legacy.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/table-legacy/table-legacy.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/table-legacy/table-legacy.component.html","../../../projects/ngx-dsfr-components/src/lib/components/table-legacy/table.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/tabnav/tabnav.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tabnav/tabnav.component.html","../../../projects/ngx-dsfr-components/src/lib/components/tabs/tabs.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/tabs/tab.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tabs/tab.component.html","../../../projects/ngx-dsfr-components/src/lib/components/tabs/tabs.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tabs/tabs.component.html","../../../projects/ngx-dsfr-components/src/lib/components/tabs/tabs.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/tile/tile.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tile/tile.component.html","../../../projects/ngx-dsfr-components/src/lib/components/tile/tile.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/tooltip/tooltip.directive.ts","../../../projects/ngx-dsfr-components/src/lib/components/tooltip/tooltip-button.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/tooltip/tooltip-button.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-input/form-input.model.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-input/base-input.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-input/base-input-combo.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-input/form-input.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-input/form-input.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-input/form-input.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-email/email-utils.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-email/form-email.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-email/form-email.module.ts","../../../projects/ngx-dsfr-components/src/lib/components/follow/follow.model.ts","../../../projects/ngx-dsfr-components/src/lib/components/follow/follow-link/follow-link.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/follow/follow-link/follow-link.component.html","../../../projects/ngx-dsfr-components/src/lib/components/follow/follow.component.ts","../../../projects/ngx-dsfr-components/src/lib/components/follow/follow.component.html","../../../projects/ngx-dsfr-components/src/lib/components/follow/follow.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-checkbox/form-checkbox.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-checkbox/form-checkbox.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-checkbox/form-checkbox.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-radio/form-radio.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-radio/form-radio.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-radio/form-radio.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-range/form-range.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-range/form-range.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-tel/phone-number-utils.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-tel/form-tel.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-toggle/form-toggle.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-toggle/form-toggle.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-toggle/form-toggle.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-toggles-group/form-toggles-group.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-toggles-group/form-toggles-group.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-toggles-group/form-toggles-group.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-upload/upload.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-upload/upload.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-upload/upload.module.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-password/form-password.component.ts","../../../projects/ngx-dsfr-components/src/lib/forms/form-password/form-password.component.html","../../../projects/ngx-dsfr-components/src/lib/forms/form-password/form-password.module.ts","../../../projects/ngx-dsfr-components/src/lib/pages/login/login.component.ts","../../../projects/ngx-dsfr-components/src/lib/pages/login/login.component.html","../../../projects/ngx-dsfr-components/src/lib/pages/response/response.component.ts","../../../projects/ngx-dsfr-components/src/lib/pages/response/response.component.html","../../../projects/ngx-dsfr-components/src/lib/pages/response/response.module.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/address/address.component.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/address/address.component.html","../../../projects/ngx-dsfr-components/src/lib/patterns/address/address.module.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/date/date.model.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/date/date.component.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/date/date.component.html","../../../projects/ngx-dsfr-components/src/lib/patterns/date/date.module.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/name/name.component.ts","../../../projects/ngx-dsfr-components/src/lib/patterns/name/name.component.html","../../../projects/ngx-dsfr-components/src/lib/patterns/name/name.module.ts","../../../projects/ngx-dsfr-components/src/public-api.ts","../../../projects/ngx-dsfr-components/src/edugouvfr-ngx-dsfr.ts"],"sourcesContent":["import { DsfrPosition } from './position.model';\nimport { DsfrSize } from './size.model';\n\n/**\n * Décrit le modèle d'un bouton.\n */\nexport interface DsfrButton {\n /** Libellé du bouton. */\n label?: string;\n\n /** Type du button, 'button' par défaut. */\n type?: DsfrButtonType;\n\n /** Message du tooltip (attribut title) du bouton. */\n tooltipMessage?: string;\n\n /** Style du bouton, 'primary' par défaut. */\n variant?: DsfrButtonVariant;\n\n /** Taille du bouton, 'MD' par défaut */\n size?: DsfrSize;\n\n /** Nom de l'icône. */\n icon?: string;\n\n /** Position de l'icône définie, 'left' par défaut. */\n iconPosition?: DsfrPosition;\n\n /** Permet de désactiver le bouton d'action, 'false' par défaut. */\n disabled?: boolean;\n\n /** Permet de passer le libellé du bouton en majuscules, 'false' par défaut. */\n uppercase?: boolean;\n\n /** Permet d'activer un visuel dénotant un \"chargement\" (busy), 'false' par défaut. */\n loader?: boolean;\n\n /** Permet d'inverser le contraste du marqueur de focus, 'false' par défaut. */\n invertedOutlineContrast?: boolean;\n\n /**Permet d'identifier le button. */\n id?: string;\n\n /** [accessibilité] Spécifie le libellé qui sera retranscrit par les narrateurs d'écran. */\n ariaLabel?: string;\n\n /** [accessibilité] attribut aria-controls utilisé pour la manipulation d'une modale par exemple. */\n ariaControls?: string;\n\n /** [accessibilité] attribut aria-pressed indiquant l'état du bouton (cas d'un toggle) */\n ariaPressed?: string;\n}\n\n/**\n * Définit les types de bouton supportés par le composant `dsfr-button`.\n */\nexport enum DsfrButtonTypeConst {\n /**\n * A utiliser pour un bouton de soumission de formulaire.\n */\n SUBMIT = 'submit',\n\n /**\n * A utiliser pour un bouton de réinitialisation de formulaire.\n */\n RESET = 'reset',\n\n /**\n * A utiliser pour un bouton d'action sur la page courante.\n */\n BUTTON = 'button',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrButtonTypeConst}.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button\n */\nexport type DsfrButtonType = `${DsfrButtonTypeConst}`;\n\n/**\n * Définit les variantes supportées par le composant `dsfr-button`.\n */\nexport enum DsfrButtonVariantConst {\n /**\n * A utiliser pour un bouton primaire.\n */\n PRIMARY = 'primary',\n /**\n * A utiliser pour un bouton secondaire.\n */\n SECONDARY = 'secondary',\n /**\n * A utiliser pour un bouton tertiaire.\n */\n TERTIARY = 'tertiary',\n /**\n * A utiliser pour un bouton tertiaire sans bordure.\n */\n TERTIARY_NO_OUTLINE = 'tertiary-no-outline',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrButtonVariantConst}.\n */\nexport type DsfrButtonVariant = `${DsfrButtonVariantConst}`;\n","/**\n * Définit les niveaux de titre supportés par le DSFR du H2 à H6.\n */\nexport enum DsfrHeadingLevelConst {\n /**\n * @deprecated (since 1.8) use `undefined` instead\n */\n NONE = 'none',\n /**\n * Niveau de titre H1.\n */\n H1 = 'H1',\n /**\n * Niveau de titre H2.\n */\n H2 = 'H2',\n /**\n * Niveau de titre H3.\n */\n H3 = 'H3',\n /**\n * Niveau de titre H4.\n */\n H4 = 'H4',\n /**\n * Niveau de titre H5.\n */\n H5 = 'H5',\n /**\n * Niveau de titre H6.\n */\n H6 = 'H6',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrHeadingLevelConst}.\n */\nexport type DsfrHeadingLevel = `${DsfrHeadingLevelConst}`;\n","/**\n * Définit les valeurs possibles pour l'attribut `target` d'un lien html.\n */\nexport enum DsfrLinkTargetConst {\n BLANK = '_blank',\n SELF = '_self',\n PARENT = '_parent',\n TOP = '_top',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrLinkTargetConst}.\n */\nexport type DsfrLinkTarget = `${DsfrLinkTargetConst}`;\n\n/** @deprecated (since 1.4) use {@link DsfrLinkTargetConst} instead */\nexport enum DsfrTargetLinkConst {\n BLANK = '_blank',\n SELF = '_self',\n PARENT = '_parent',\n TOP = '_top',\n}\n\n/** @deprecated (since 1.4) use {@link DsfrLinkTarget} instead */\nexport type DsfrTargetLink = DsfrLinkTarget;\n","/**\n * Définit les différentes positions supportées par le DSFR.\n */\nexport enum DsfrPositionConst {\n /**\n * Positionne à gauche.\n */\n LEFT = 'left',\n /**\n * Positione à droite.\n */\n RIGHT = 'right',\n}\n\n/**\n * Type union pour les valeurs de {@link DsfrPositionConst}.\n */\nexport type DsfrPosition = `${DsfrPositionConst}`;\n","/**\n * Définit les différents niveaux de sévérité supportés par le DSFR.\n */\nexport enum DsfrSeverityConst {\n /**\n * Spécifie un niveau \"information\".\n */\n INFO = 'info',\n\n /**\n * Spécifie un niveau \"erreur\".\n */\n ERROR = 'error',\n\n /**\n * Spécifie un niveau \"information\" et/ou un état \"valide\".\n */\n VALID = 'valid',\n\n /**\n * Spécifie un niveau \"avertissement\".\n */\n WARNING = 'warning',\n\n /**\n * Spécifie un niveau \"succès\".\n *\n * @deprecated (since 1.13.0) Utiliser {@link VALID} à la place.\n */\n SUCCESS = 'success',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrSeverityConst}.\n */\nexport type DsfrSeverity = `${DsfrSeverityConst}`;\n","/**\n * Définit les différentes tailles supportées par le DSFR.\n */\nexport enum DsfrSizeConst {\n /**\n * Spécifie une taille \"réduite\".\n */\n SM = 'SM',\n /**\n * Spécifie une taille \"moyenne\".\n */\n MD = 'MD',\n /**\n * Spécifie une taille \"large\".\n */\n LG = 'LG',\n}\n\n/**\n * Type union pour les valeurs de {@link DsfrSizeConst}.\n */\nexport type DsfrSize = `${DsfrSizeConst}`;\n","/**\n * Définit les tailles de texte supportées par le DSFR.\n */\nexport enum DsfrTextSizeConst {\n /**\n * Texte très petit.\n */\n XS = 'XS',\n /**\n * Texte petit.\n */\n SM = 'SM',\n /**\n * Texte moyen.\n */\n MD = 'MD',\n /**\n * Texte large.\n */\n LG = 'LG',\n /**\n * Texte très grand.\n */\n XL = 'XL',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrTextSizeConst}.\n *\n * @see https://www.systeme-de-design.gouv.fr/version-courante/fr/fondamentaux/typographie > Corps de texte - Body\n */\nexport type DsfrTextSize = `${DsfrTextSizeConst}`;\n","/**\n * @since 0.7\n */\nexport class DateUtils {\n private constructor() {}\n\n /**\n * Transforme un string représentant une date au format `'dd/mm/yyyy'` en objet `Date`.\n * Le siècle peut-être sur 2 digits, dans ce cas, cela correspond à `'19yy'`.\n * @returns Date ou undefined\n */\n static parseDateFr(dateStr: string): Date | undefined {\n const regexp = /^(?<day>3[01]|0?[1-9]|[12][0-9])\\/(?<month>1[0-2]|0?[1-9])\\/(?<year>[0-9]{4})$/;\n return DateUtils.parseDate(dateStr, regexp);\n }\n\n /**\n * Transforme un string représentant une date au format ISO 8601 en objet `Date`.\n * @returns Date ou undefined\n */\n static parseDateIso(dateStr: string, withHours = false): Date | undefined {\n // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch04s07.html\n const regexp =\n /^(?<year>-?(?:[1-9][0-9]*)?[0-9]{4})-(?<month>1[0-2]|0[1-9])-(?<day>3[01]|0[1-9]|[12][0-9])(T(?<hour>2[0-4]|[01][0-9]):(?<minute>[0-5][0-9]):(?<second>[0-5][0-9])(?<ms>\\.[0-9]+)?(?<timezone>Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])?)?$/;\n\n return DateUtils.parseDate(dateStr, regexp, withHours);\n }\n\n /**\n * Retourne une Date UTC, sans heure, minute seconde, à partir d'une date\n * @param date\n */\n static date2Utc(date: Date, withHours = false): Date {\n if (withHours) {\n return this.createDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours());\n } else {\n return this.createDate(date.getFullYear(), date.getMonth(), date.getDate());\n }\n }\n\n /**\n * Retourne une Date UTC, sans heure, minute seconde, selon plusieurs formats en entrée\n * @param value\n */\n static dateUtcOf(value: Date | string | number | undefined | null): Date | undefined {\n let date: Date | undefined = undefined;\n\n if (typeof value === 'string') date = DateUtils.parseDateIso(value);\n else if (typeof value === 'number') date = DateUtils.numberToDateUtc(value);\n else if (value) date = DateUtils.date2Utc(value);\n\n return date;\n }\n\n /**\n * Retourne une Date UTC, sans minute et seconde, selon plusieurs formats en entrée\n * @param value\n */\n static dateUtcOfWithHours(value: Date | string | number | undefined | null): Date | undefined {\n let date: Date | undefined = undefined;\n\n if (typeof value === 'string') date = DateUtils.parseDateIso(value, true);\n else if (typeof value === 'number') date = DateUtils.numberToDateUtc(value, true);\n else if (value) date = DateUtils.date2Utc(value, true);\n\n return date;\n }\n\n static isTwoDigitsYear(year: number): boolean {\n return year >= 0 && year < 100;\n }\n\n /**\n * Permet de créer une date avec un année contenant seulement un ou deux digits (i.e: année 27)\n *\n * @param year Année, possiblement négative.\n * @param month Mois\n * @param day Jour\n * @param hour Heure\n * @param needsOffsetting Défini si la date créée à besoin d'être basculée à minuit, heure locale\n * @returns La date correspondant aux paramètres d'entrée\n */\n static createDate(year: number, month: number, day: number, hour: number = 0, needsOffsetting = true): Date {\n const date = needsOffsetting ? new Date(Date.UTC(year, month, day, hour)) : new Date(year, month, day, hour);\n\n if (this.isTwoDigitsYear(year)) {\n date.setFullYear(year);\n }\n\n return date;\n }\n\n private static parseDate(dateStr: string, regexp: RegExp, withHours = false): Date | undefined {\n if (!dateStr) return undefined;\n\n const execArr = regexp.exec(dateStr);\n const groups = execArr?.groups;\n const valid = !!groups && !!groups['year'] && !!groups['month'] && !!groups['day'];\n\n if (!valid) {\n return undefined;\n } else if (withHours) {\n const offset = groups['timezone'] === 'Z' ? 0 : Number(groups['timezone'].split(':')[0]);\n\n return this.createDate(\n Number(groups['year']),\n Number(groups['month']) - 1,\n Number(groups['day']),\n Number(groups['hour']) + offset,\n );\n } else {\n return this.createDate(Number(groups['year']), Number(groups['month']) - 1, Number(groups['day']));\n }\n }\n\n private static numberToDateUtc(n: number, withHours = false): Date {\n const d = new Date(n);\n\n if (withHours) {\n return this.createDate(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours());\n } else {\n return this.createDate(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate());\n }\n }\n}\n","import { ElementRef } from '@angular/core';\n\nexport class DomUtils {\n private constructor() {}\n\n static surroundElementsWithLi(container: ElementRef<any>, elements: readonly ElementRef<any>[]): void {\n DomUtils.removeEmptyLi(container);\n\n for (const elem of elements) {\n if (elem.nativeElement?.parentElement?.tagName !== 'LI') {\n DomUtils.insertNodeInLi(elem.nativeElement);\n }\n }\n }\n\n static surroundNativeElementsWithLi(container: ElementRef<any>, elements: readonly Element[]): void {\n DomUtils.removeEmptyLi(container);\n\n for (const elem of elements) {\n if (elem?.parentElement?.tagName !== 'LI' && elem?.tagName !== 'LI') {\n DomUtils.insertNodeInLi(elem);\n }\n }\n }\n\n private static removeEmptyLi({ nativeElement }: ElementRef<HTMLElement>): void {\n const nonProgrammaticLiElements = nativeElement.querySelectorAll('li[data-ngx-dsfr-li]');\n\n nonProgrammaticLiElements.forEach((li) => {\n if (li.childElementCount === 0) {\n li.remove();\n }\n });\n }\n\n private static insertNodeInLi(child: Element): void {\n if (!document) return; // mode SSR\n\n const li = document.createElement('li');\n li.setAttribute('data-ngx-dsfr-li', 'true');\n child.replaceWith(li); // Ne remplace pas l'élément en lui même mais modifie la Node parent de l'élément: https://developer.mozilla.org/fr/docs/Web/API/Element/replaceWith\n li.appendChild(child);\n }\n}\n","/**\n * Les types MIME de fichiers supportés par le composant.\n *\n * @see https://developer.mozilla.org/fr/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n */\nexport enum DsfrMimeTypeConst {\n // TEXT\n TEXT_CSS = 'text/css',\n TEXT_CSV = 'text/csv',\n TEXT_HTML = 'text/html',\n TEXT_CALENDAR = 'text/calendar',\n TEXT_PLAIN = 'text/plain',\n TEXT_XML = 'text/xml',\n\n // FONT\n FONT_OTF = 'font/otf',\n FONT_TTF = 'font/ttf',\n FONT_WOFF = 'font/woff',\n FONT_WOFF2 = 'font/woff2',\n\n // IMAGE\n IMAGE_BMP = 'image/bmp',\n IMAGE_GIF = 'image/gif',\n IMAGE_ICON = 'image/x-icon',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_PNG = 'image/png',\n IMAGE_SVG = 'image/svg+xml',\n IMAGE_TIFF = 'image/tiff',\n IMAGE_WEBP = 'image/webp',\n\n // AUDIO\n AUDIO_3GPP = 'audio/3gpp',\n AUDIO_3GPP2 = 'audio/3gpp2',\n AUDIO_ACC = 'audio/aac',\n AUDIO_OGG = 'audio/ogg',\n AUDIO_MIDI = 'audio/midi',\n AUDIO_WAV = 'audio/x-wav',\n AUDIO_WEBM = 'audio/webm',\n\n // VIDEO\n VIDEO_3GPP = 'video/3gpp',\n VIDEO_3GPP2 = 'video/3gpp2',\n VIDEO_MPEG = 'video/mpeg',\n VIDEO_OGG = 'video/ogg',\n VIDEO_WEBM = 'video/webm',\n\n // APPLICATION\n APPLICATION_ABIWORD = 'application/x-abiword',\n APPLICATION_CSH = 'application/x-csh',\n APPLICATION_EPUB = 'application/epub+zip',\n APPLICATION_FLASH = 'application/x-shockwave-flash',\n APPLICATION_FORM_URLENCODED = 'application/x-www-form-urlencoded',\n APPLICATION_JAVASCRIPT = 'application/javascript',\n APPLICATION_JSON = 'application/json',\n APPLICATION_OCTET_STREAM = 'application/octet-stream',\n APPLICATION_OGG = 'application/ogg',\n APPLICATION_PDF = 'application/pdf',\n APPLICATION_RTF = 'application/rtf',\n APPLICATION_TYPESCRIPT = 'application/typescript',\n APPLICATION_XML = 'application/xml',\n APPLICATION_XML_ATOM = 'application/atom+xml',\n APPLICATION_XML_SVG = 'application/svg+xml',\n APPLICATION_XML_XHTML = 'application/xhtml+xml',\n APPLICATION_XML_XUL = 'application/vnd.mozilla.xul+xml',\n\n // ARCHIVE\n ARCHIVE_7Z_COMPRESSED = 'application/x-7z-compressed',\n ARCHIVE_BZIP = 'application/x-bzip',\n ARCHIVE_BZIP2 = 'application/x-bzip2',\n ARCHIVE_JAVA = 'application/java-archive',\n ARCHIVE_GZIP = 'application/gzip',\n ARCHIVE_RAR_COMPRESSED = 'application/x-rar-compressed',\n ARCHIVE_TAR = 'application/x-tar',\n ARCHIVE_RAR = 'application/vnd.rar',\n ARCHIVE_ZIP = 'application/zip',\n ARCHIVE_ZIP_COMPRESSED = 'application/x-zip-compressed',\n\n // MICROSOFT\n MS_FONT_OBJECT = 'application/vnd.ms-fontobject',\n MS_EXCEL = 'application/vnd.ms-excel',\n MS_EXCEL_XML = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n MS_POWERPOINT = 'application/vnd.ms-powerpoint',\n MS_POWERPOINT_XML = 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n MS_VIDEO = 'video/x-msvideo',\n MS_VISIO = 'application/vnd.visio',\n MS_WORD = 'application/msword',\n MS_WORD_XML = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\n // Autres\n MULTIPART_FORM_DATA = 'multipart/form-data',\n SCRIPT_SHELL = 'application/x-sh',\n OPEN_PRESENTATION = 'application/vnd.oasis.opendocument.presentation',\n OPEN_SPREADSHEET = 'application/vnd.oasis.opendocument.spreadsheet',\n OPEN_TEXT = 'application/vnd.oasis.opendocument.text',\n}\n\n/**\n * Type union correspondant aux valeurs de l'enum {@link DsfrMimeTypeConst}.\n */\n//TODO: (RPA) Ce type n'est pas utilisé pour typer `DsfrDownloadComponent#mimeType` ni `BasePanelComponent#downloadMimeType`\nexport type DsfrMimeType = `${DsfrMimeTypeConst}`;\n\n/**\n * Fonction utilitaire\n *\n * @ignore\n */\nexport function convertMimeType2FileFormat(mineType: string | undefined): FileFormat | undefined {\n const element = mimeType2FileFormat.find((e) => e[0] === mineType);\n return element ? element[1] : undefined;\n}\n\n/**\n * @ignore\n */\nenum FileFormat {\n XLS = 'XLS',\n XLSX = 'XLSX',\n PPT = 'PPT',\n PPTX = 'PPTX',\n DOC = 'DOC',\n DOCX = 'DOCX',\n ODS = 'ODS',\n ODP = 'ODP',\n ODT = 'ODT',\n XML = 'XML',\n JPG = 'JPG',\n PNG = 'PNG',\n PDF = 'PDF',\n CSV = 'CSV',\n HTML = 'HTML',\n SVG = 'SVG',\n TXT = 'TXT',\n ZIP = 'ZIP',\n SEVEN_ZIP = '7Z',\n RAR = 'RAR',\n XHTML = 'XHTML',\n BMP = 'BMP',\n GIF = 'GIF',\n TIF = 'TIF',\n RTF = 'RTF',\n GZIP = 'GZIP',\n TAR = 'TAR',\n}\n\n/**\n * @ignore\n */\nconst mimeType2FileFormat: [DsfrMimeType | string, FileFormat][] = [\n [DsfrMimeTypeConst.APPLICATION_PDF, FileFormat.PDF],\n [DsfrMimeTypeConst.APPLICATION_RTF, FileFormat.RTF],\n [DsfrMimeTypeConst.APPLICATION_XML, FileFormat.XML],\n [DsfrMimeTypeConst.APPLICATION_XML_ATOM, FileFormat.XML],\n [DsfrMimeTypeConst.APPLICATION_XML_XHTML, FileFormat.XHTML],\n\n [DsfrMimeTypeConst.ARCHIVE_7Z_COMPRESSED, FileFormat.SEVEN_ZIP],\n [DsfrMimeTypeConst.ARCHIVE_GZIP, FileFormat.GZIP],\n [DsfrMimeTypeConst.ARCHIVE_RAR, FileFormat.RAR],\n [DsfrMimeTypeConst.ARCHIVE_TAR, FileFormat.TAR],\n [DsfrMimeTypeConst.ARCHIVE_ZIP, FileFormat.ZIP],\n [DsfrMimeTypeConst.ARCHIVE_ZIP_COMPRESSED, FileFormat.ZIP],\n\n [DsfrMimeTypeConst.IMAGE_BMP, FileFormat.BMP],\n [DsfrMimeTypeConst.IMAGE_GIF, FileFormat.GIF],\n [DsfrMimeTypeConst.IMAGE_JPEG, FileFormat.JPG],\n [DsfrMimeTypeConst.IMAGE_PNG, FileFormat.PNG],\n [DsfrMimeTypeConst.IMAGE_SVG, FileFormat.SVG],\n [DsfrMimeTypeConst.IMAGE_TIFF, FileFormat.TIF],\n\n [DsfrMimeTypeConst.MS_EXCEL, FileFormat.XLS],\n [DsfrMimeTypeConst.MS_EXCEL_XML, FileFormat.XLSX],\n [DsfrMimeTypeConst.MS_POWERPOINT, FileFormat.PPT],\n [DsfrMimeTypeConst.MS_POWERPOINT_XML, FileFormat.PPTX],\n [DsfrMimeTypeConst.MS_WORD, FileFormat.DOC],\n [DsfrMimeTypeConst.MS_WORD_XML, FileFormat.DOCX],\n\n [DsfrMimeTypeConst.OPEN_PRESENTATION, FileFormat.ODP],\n [DsfrMimeTypeConst.OPEN_SPREADSHEET, FileFormat.ODS],\n [DsfrMimeTypeConst.OPEN_TEXT, FileFormat.ODT],\n\n [DsfrMimeTypeConst.TEXT_CSV, FileFormat.CSV],\n [DsfrMimeTypeConst.TEXT_HTML, FileFormat.HTML],\n [DsfrMimeTypeConst.TEXT_PLAIN, FileFormat.TXT],\n [DsfrMimeTypeConst.TEXT_XML, FileFormat.XML],\n];\n","import { convertMimeType2FileFormat } from '../../components/download/dsfr-mime.type';\n\nconst KILO_OCTETS = 1024;\nconst MEGA_OCTETS = KILO_OCTETS * 1024;\nconst GIGA_OCTETS = MEGA_OCTETS * 1024;\n\n/**\n * Construit le libellé de détail dans un composant de téléchargement lorsque ce libellé n'est pas fourni par le Dsfr\n * @param mimeType Type mime du fichier\n * @param sizeBytes Nombre d'octets\n * @param sizeUnit Unité utilisée dans la restitution\n * @return par exemple 'PDF - 10 octets'\n */\nexport function downloadDetail(\n mimeType: string | undefined,\n sizeBytes: number | undefined,\n sizeUnit: DsfrFileSizeUnit,\n): string {\n return !sizeBytes\n ? convertMimeType2FileFormat(mimeType) || ''\n : convertMimeType2FileFormat(mimeType) + ' - ' + fileSizeToString(sizeBytes, sizeUnit);\n}\n\n/**\n * Retourne la taille sous forme de string sous forme de 'nombre unité'\n * @param bytes Taille à transformer exprimée en octets\n * @param sizeUnit Si true, l'unité sera en bytes (KB, MB, ... ) sinon en octets (ko, mo, ...)\n */\nexport function fileSizeToString(bytes: number, sizeUnit?: DsfrFileSizeUnit): string {\n if (!bytes) return '';\n\n const bytesUnit = sizeUnit === 'bytes';\n\n let fileSize: number;\n let fileSizeUnit: string;\n\n if (bytes < KILO_OCTETS) {\n fileSize = bytes;\n fileSizeUnit = bytesUnit ? FileSizeUnit.BYTES : FileSizeUnit.OCTETS;\n } else if (bytes < MEGA_OCTETS) {\n fileSize = bytes / 1024;\n fileSizeUnit = bytesUnit ? FileSizeUnit.KB : FileSizeUnit.KO;\n } else if (bytes < GIGA_OCTETS) {\n fileSize = bytes / 1048576;\n fileSizeUnit = bytesUnit ? FileSizeUnit.MB : FileSizeUnit.MO;\n } else {\n fileSize = bytes / 1073741824;\n fileSizeUnit = bytesUnit ? FileSizeUnit.GB : FileSizeUnit.GO;\n }\n\n fileSize = Math.round(fileSize * 100) / 100;\n\n // since 1.8, les options régionales sont prise en compte pour les décimales\n //FIXME: ne devrait-ton pas transmettre la locale depuis l'extérieur de manière à pouvoir la transmettre depuis i18nService ?\n const localSize = fileSize.toLocaleString();\n return localSize + ' ' + fileSizeUnit;\n}\n\n// -- Constantes d'unités de taille de fichier -------------------------------------------------------------------------\n\nenum FileSizeUnit {\n OCTETS = 'octets',\n KO = 'ko',\n MO = 'Mo',\n GO = 'Go',\n BYTES = 'bytes',\n KB = 'KB',\n MB = 'MB',\n GB = 'GB',\n}\n\nexport enum DsfrFileSizeUnitConst {\n BYTES = 'bytes',\n OCTETS = 'octets',\n}\n\nexport type DsfrFileSizeUnit = `${DsfrFileSizeUnitConst}`;\n","/**\n * https://www.w3resource.com/JSON/JSONPath-with-JavaScript.php\n * @param obj : object|array This parameter represents the Object representing the JSON structure.\n * @param path : string This parameter represents JSONPath expression string.\n * @return une valeur extrait de l'objet Json ou undefined si le path est erroné\n */\nexport function jsonPath2Value(obj: any, path: string): any {\n const keys = path.split('.');\n // value est soit un objet JSON, soit une valeur terminale\n let value = obj;\n const breakException = {};\n try {\n keys.forEach((key) => {\n if (!value) throw breakException;\n // key, ex: 'labels[20]'\n const matchArr = key.match(/([^\\[]*)\\[(\\d*)\\]/);\n const k = matchArr ? matchArr[1] : undefined; // clé sans l'indice, ex : 'labels'\n const i = matchArr ? matchArr[2] : undefined; // indice, ex : 20\n value = k && i ? value[k][i] : value[key];\n });\n } catch (e) {\n // console.error(`Le chemin '${path}' ne correspond pas à une valeur`);\n }\n return value;\n}\n","/**\n * La fonction permet de savoir si le code en cours s'exécute côté serveur ou côté browser.\n */\nexport function isOnBrowser() {\n return typeof window !== 'undefined';\n}\n","import { isOnBrowser } from './ssr-utils';\n\n/**\n * Les méthodes statiques de cette classe permettent de gérer le local storage uniquement si le code s'exécute côté browser.\n */\nexport abstract class LocalStorage {\n /**\n * The setItem() method of the St