@cnamts/synapse 1.0.21 → 1.0.23
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/dist/{DateFilter-uN8OURoP.js → DateFilter-Dc-gSGwk.js} +29 -24
- package/dist/{NumberFilter-sm1dQNQi.js → NumberFilter-vP38Wp6j.js} +1 -1
- package/dist/{PeriodFilter-Cklsxnh9.js → PeriodFilter-Ba1uYUnT.js} +1 -1
- package/dist/{SelectFilter-CWefj27Z.js → SelectFilter-BioGT6Nn.js} +1 -1
- package/dist/{TextFilter-Ddyj885L.js → TextFilter-B84dpnoq.js} +1 -1
- package/dist/components/Accordion/Accordion.d.ts +13 -2
- package/dist/components/Accordion/composables/useAccordionState.d.ts +2 -1
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7405 -5973
- package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +10 -14
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +8 -8
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +3 -3
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +16 -20
- package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1610 -1354
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +2413 -2029
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8885 -7323
- package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -6
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +8884 -7330
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +950 -838
- package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1614 -1358
- package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +223 -203
- package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +3 -3
- package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +3 -7
- package/dist/components/CollapsibleList/CollapsibleList.d.ts +4 -1
- package/dist/components/CookieBanner/CookieBanner.d.ts +303 -273
- package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +1297 -1156
- package/dist/components/CookiesSelection/CookiesSelection.d.ts +404 -377
- package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
- package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +1108 -846
- package/dist/components/Customs/Selects/SyAutocomplete/locales.d.ts +5 -0
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +514 -320
- package/dist/components/Customs/Selects/SySelect/locales.d.ts +1 -0
- package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +40 -38
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +920 -800
- package/dist/components/Customs/SyForm/SyForm.d.ts +356 -348
- package/dist/components/Customs/SyPagination/SyPagination.d.ts +11 -1
- package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +906 -794
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +1634 -1367
- package/dist/components/DataList/DataList.d.ts +1 -1
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3869 -3120
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1947 -1561
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +831 -684
- package/dist/components/DialogBox/DialogBox.d.ts +482 -416
- package/dist/components/DownloadBtn/config.d.ts +1 -1
- package/dist/components/ErrorPage/ErrorPage.d.ts +6 -0
- package/dist/components/FileList/UploadItem/UploadItem.d.ts +6 -0
- package/dist/components/FileList/UploadItem/locales.d.ts +1 -0
- package/dist/components/FileUpload/FileUpload.d.ts +4 -4
- package/dist/components/FileUpload/FileUploadContent.d.ts +2 -0
- package/dist/components/FileUpload/locales.d.ts +1 -0
- package/dist/components/FileUpload/validateFiles.d.ts +2 -1
- package/dist/components/FilterSideBar/FilterSideBar.d.ts +418 -366
- package/dist/components/FooterBar/FooterBar.d.ts +13 -1
- package/dist/components/FooterBar/locales.d.ts +1 -0
- package/dist/components/FooterBar/types.d.ts +1 -0
- package/dist/components/HeaderBar/HeaderBar.d.ts +2 -0
- package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +2 -0
- package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +4 -6
- package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +1031 -643
- package/dist/components/LangBtn/LangBtn.d.ts +277 -239
- package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +4 -0
- package/dist/components/MaintenancePage/MaintenancePage.d.ts +16 -1
- package/dist/components/MonthPicker/MonthPicker.d.ts +1939 -0
- package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +1899 -0
- package/dist/components/MonthPicker/MonthPickerText/useTextField.d.ts +21 -0
- package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.d.ts +21 -0
- package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.d.ts +12 -0
- package/dist/components/MonthPicker/MonthPickerVisual/MonthSelector.d.ts +11 -0
- package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.d.ts +6 -0
- package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.d.ts +14 -0
- package/dist/components/MonthPicker/MonthPickerVisual/YearSelector.d.ts +14 -0
- package/dist/components/MonthPicker/MonthPickerVisual/useMonthGrid.d.ts +9 -0
- package/dist/components/MonthPicker/MonthPickerVisual/useYearGrid.d.ts +8 -0
- package/dist/components/MonthPicker/MonthPickerVisual/utils.d.ts +8 -0
- package/dist/components/MonthPicker/locales.d.ts +12 -0
- package/dist/components/MonthPicker/useMonthPickerValidation.d.ts +25 -0
- package/dist/components/NirField/NirField.d.ts +1669 -1379
- package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
- package/dist/components/NotificationBar/Notification/Notification.d.ts +3 -0
- package/dist/components/PageContainer/PageContainer.d.ts +3 -1
- package/dist/components/PeriodField/PeriodField.d.ts +7696 -6192
- package/dist/components/PhoneField/PhoneField.d.ts +829 -684
- package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +4 -12
- package/dist/components/StatusPage/StatusPage.d.ts +12 -1
- package/dist/components/SubHeader/SubHeader.d.ts +2 -0
- package/dist/components/SyAlert/SyAlert.d.ts +74 -70
- package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +9 -0
- package/dist/components/SyHeading/SyHeading.a11y.test.d.ts +1 -0
- package/dist/components/SyHeading/SyHeading.d.ts +22 -0
- package/dist/components/SyHeading/SyHeading.test.d.ts +1 -0
- package/dist/components/SyTextArea/SyTextArea.d.ts +475 -419
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +759 -468
- package/dist/components/Tables/SyTable/SyTable.d.ts +761 -470
- package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
- package/dist/components/Tables/common/SyTablePagination.d.ts +263 -164
- package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -1
- package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +166 -138
- package/dist/components/Tables/common/types.d.ts +2 -0
- package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +24 -1211
- package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/design-system-v3.js +111 -107
- package/dist/design-system-v3.umd.cjs +158 -158
- package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +26 -14
- package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +19 -13
- package/dist/designTokens/tokens/cnam/cnamContextual.d.ts +5 -0
- package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +28 -15
- package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +20 -13
- package/dist/designTokens/tokens/pa/paLightTheme.d.ts +26 -15
- package/dist/designTokens/tokens/pa/paSemantic.d.ts +19 -13
- package/dist/main-aLKwdMi1.js +37886 -0
- package/dist/main.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/vuetifyConfig.d.ts +14 -14
- package/package.json +21 -9
- package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
- package/src/assets/apTokens.scss +53 -17
- package/src/assets/overrides/_btns.scss +8 -0
- package/src/assets/overrides/_forms.scss +9 -0
- package/src/assets/overrides/_icons.scss +43 -4
- package/src/assets/overrides/_tables.scss +19 -0
- package/src/assets/overrides/_tooltips.scss +5 -6
- package/src/assets/overrides/_typography.scss +17 -2
- package/src/assets/overrides/_utilities.scss +49 -3
- package/src/assets/tokens.scss +53 -17
- package/src/components/Accordion/Accordion.mdx +23 -9
- package/src/components/Accordion/Accordion.stories.ts +153 -3
- package/src/components/Accordion/Accordion.vue +7 -6
- package/src/components/Accordion/accessibilite/Accessibility.mdx +5 -4
- package/src/components/Accordion/composables/__tests__/useAccordionState.spec.ts +40 -12
- package/src/components/Accordion/composables/useAccordionState.ts +3 -4
- package/src/components/Accordion/tests/accordion.spec.ts +131 -19
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +14 -56
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +15 -23
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +15 -3
- package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +0 -98
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +1 -1
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +5 -16
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +3 -1
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +7 -0
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +0 -1
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +0 -1
- package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +0 -52
- package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +6 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +3 -1
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +19 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -4
- package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +2 -13
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.mdx +3 -1
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +7 -0
- package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +8 -0
- package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.mdx +3 -1
- package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.stories.ts +8 -0
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -2
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +28 -10
- package/src/components/Amelipro/AmeliproPostalAddressField/__tests__/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +44 -8
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +15 -3
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +1 -1
- package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +0 -1
- package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +6 -0
- package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +2 -4
- package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +0 -2
- package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +8 -0
- package/src/components/BackBtn/BackBtn.vue +1 -1
- package/src/components/BackBtn/accessibilite/Accessibility.mdx +62 -10
- package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +9 -3
- package/src/components/BackToTopBtn/accessibilite/Accessibility.mdx +86 -6
- package/src/components/Captcha/tests/Captcha.spec.ts +0 -29
- package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +18 -108
- package/src/components/ChipList/ChipList.vue +4 -2
- package/src/components/CollapsibleList/CollapsibleList.stories.ts +8 -3
- package/src/components/CollapsibleList/CollapsibleList.vue +14 -6
- package/src/components/CollapsibleList/accessibilite/Accessibility.mdx +19 -6
- package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +1 -0
- package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +2 -0
- package/src/components/CookieBanner/CookieBanner.stories.ts +10 -0
- package/src/components/CookieBanner/CookieBanner.vue +15 -5
- package/src/components/CookieBanner/accessibilite/Accessibility.mdx +9 -0
- package/src/components/CookieBanner/tests/CookieBanner.spec.ts +10 -2
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +21 -15
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +17 -8
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +1 -0
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +5 -0
- package/src/components/CookiesSelection/CookiesSelection.vue +7 -2
- package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +1 -0
- package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +5 -0
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +21 -15
- package/src/components/CopyBtn/CopyBtn.vue +6 -4
- package/src/components/CopyBtn/accessibilite/Accessibility.mdx +82 -11
- package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +5 -1
- package/src/components/Customs/Selects/SelectBtnField/accessibilite/Accessibility.mdx +133 -10
- package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +379 -93
- package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +144 -83
- package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibilite.stories.ts +40 -1
- package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibility.mdx +7 -1
- package/src/components/Customs/Selects/SyAutocomplete/locales.ts +5 -0
- package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +96 -0
- package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +234 -9
- package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +13 -3
- package/src/components/Customs/Selects/SyAutocomplete/utils/useSelectionLogic.ts +9 -10
- package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -10
- package/src/components/Customs/Selects/SySelect/SySelect.mdx +0 -1
- package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +10 -10
- package/src/components/Customs/Selects/SySelect/SySelect.vue +63 -3
- package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
- package/src/components/Customs/Selects/SySelect/locales.ts +1 -0
- package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +1 -3
- package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +72 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
- package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +31 -2
- package/src/components/Customs/SyIcon/SyIcon.vue +9 -5
- package/src/components/Customs/SyIcon/tests/SyIcon.a11y.spec.ts +20 -0
- package/src/components/Customs/SyIconButton/SyIconButton.mdx +46 -0
- package/src/components/Customs/SyIconButton/SyIconButton.stories.ts +184 -0
- package/src/components/Customs/SyIconButton/SyIconButton.vue +38 -0
- package/src/components/Customs/SyIconButton/accessibilite/Accessibility.mdx +64 -0
- package/src/components/Customs/SyIconButton/tests/SyIconButton.a11y.spec.ts +87 -0
- package/src/components/Customs/SyIconButton/tests/SyIconButton.spec.ts +152 -0
- package/src/components/Customs/SyIconButton/tests/__snapshots__/SyIconButton.spec.ts.snap +61 -0
- package/src/components/Customs/SyPagination/SyPagination.stories.ts +14 -2
- package/src/components/Customs/SyPagination/SyPagination.vue +25 -10
- package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +79 -8
- package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +53 -0
- package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +4 -0
- package/src/components/Customs/SyTextField/SyTextField.vue +59 -7
- package/src/components/Customs/SyTextField/accessibilite/Accessibility.mdx +67 -9
- package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +15 -0
- package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +36 -0
- package/src/components/DataList/accessibilite/Accessibility.mdx +79 -11
- package/src/components/DataListGroup/accessibilite/Accessibility.mdx +80 -11
- package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +28 -3
- package/src/components/DatePicker/CalendarMode/DatePicker.vue +20 -8
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1 -1
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +34 -0
- package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +27 -0
- package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +23 -9
- package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +21 -8
- package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +50 -22
- package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +48 -10
- package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +16 -3
- package/src/components/DialogBox/DialogBox.stories.ts +13 -0
- package/src/components/DialogBox/DialogBox.vue +12 -5
- package/src/components/DialogBox/accessibilite/Accessibility.mdx +27 -7
- package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +1 -0
- package/src/components/DialogBox/tests/DialogBox.spec.ts +40 -6
- package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +73 -11
- package/src/components/DownloadBtn/config.ts +1 -1
- package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +25 -0
- package/src/components/ErrorPage/ErrorPage.stories.ts +176 -47
- package/src/components/ErrorPage/ErrorPage.vue +21 -0
- package/src/components/ErrorPage/accessibilite/Accessibility.mdx +15 -0
- package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +17 -0
- package/src/components/ErrorPage/tests/ErrorPage.spec.ts +21 -1
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +1 -0
- package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +23 -0
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
- package/src/components/FileList/FileList.stories.ts +55 -1
- package/src/components/FileList/UploadItem/UploadItem.vue +17 -5
- package/src/components/FileList/UploadItem/locales.ts +3 -2
- package/src/components/FileList/accessibilite/Accessibility.mdx +58 -7
- package/src/components/FileUpload/FileUpload.vue +62 -38
- package/src/components/FileUpload/FileUploadContent.vue +3 -2
- package/src/components/FileUpload/accessibilite/Accessibility.mdx +48 -5
- package/src/components/FileUpload/locales.ts +1 -0
- package/src/components/FileUpload/tests/FileUpload.spec.ts +61 -14
- package/src/components/FileUpload/validateFiles.ts +5 -2
- package/src/components/FilterInline/FilterInline.stories.ts +0 -15
- package/src/components/FilterInline/FilterInline.vue +1 -0
- package/src/components/FilterInline/accessibilite/Accessibility.mdx +70 -7
- package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +3 -3
- package/src/components/FilterSideBar/FilterSideBar.stories.ts +0 -3
- package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
- package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +70 -9
- package/src/components/FooterBar/FooterBar.stories.ts +298 -34
- package/src/components/FooterBar/FooterBar.vue +67 -9
- package/src/components/FooterBar/config.ts +2 -2
- package/src/components/FooterBar/locales.ts +1 -0
- package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
- package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +6 -25
- package/src/components/FooterBar/types.d.ts +1 -0
- package/src/components/FranceConnectBtn/accessibilite/Accessibility.mdx +62 -9
- package/src/components/HeaderBar/HeaderBar.stories.ts +23 -1
- package/src/components/HeaderBar/HeaderBar.vue +5 -0
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +8 -2
- package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +5 -0
- package/src/components/HeaderBar/accessibilite/Accessibility.mdx +24 -5
- package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +1 -0
- package/src/components/HeaderBar/tests/HeaderBar.spec.ts +3 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +4 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +3 -0
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +3 -0
- package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +22 -0
- package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -5
- package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +2 -0
- package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +44 -0
- package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +2 -0
- package/src/components/LunarCalendar/accessibilite/Accessibility.mdx +74 -8
- package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +163 -0
- package/src/components/MaintenancePage/MaintenancePage.vue +33 -6
- package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +3 -1
- package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +3 -2
- package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +18 -1
- package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +1 -0
- package/src/components/MonthPicker/MonthPicker.mdx +35 -0
- package/src/components/MonthPicker/MonthPicker.stories.ts +527 -0
- package/src/components/MonthPicker/MonthPicker.vue +79 -0
- package/src/components/MonthPicker/MonthPickerText/MonthPickerInput.vue +89 -0
- package/src/components/MonthPicker/MonthPickerText/useTextField.ts +27 -0
- package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.vue +154 -0
- package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.ts +13 -0
- package/src/components/MonthPicker/MonthPickerVisual/MonthSelector.vue +137 -0
- package/src/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.vue +60 -0
- package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +149 -0
- package/src/components/MonthPicker/MonthPickerVisual/YearSelector.vue +143 -0
- package/src/components/MonthPicker/MonthPickerVisual/useMonthGrid.ts +45 -0
- package/src/components/MonthPicker/MonthPickerVisual/useYearGrid.ts +45 -0
- package/src/components/MonthPicker/MonthPickerVisual/utils.ts +17 -0
- package/src/components/MonthPicker/accessibilite/Accessibility.mdx +59 -0
- package/src/components/MonthPicker/locales.ts +12 -0
- package/src/components/MonthPicker/tests/MonthPicker.a11y.spec.ts +71 -0
- package/src/components/MonthPicker/tests/MonthPicker.spec.ts +1248 -0
- package/src/components/MonthPicker/tests/__snapshots__/MonthPicker.spec.ts.snap +2545 -0
- package/src/components/MonthPicker/useMonthPickerValidation.ts +30 -0
- package/src/components/NirField/NirField.mdx +1 -2
- package/src/components/NirField/NirField.stories.ts +66 -6
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +1 -1
- package/src/components/NotFoundPage/NotFoundPage.vue +16 -5
- package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +2 -0
- package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +49 -0
- package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +24 -2
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +24 -14
- package/src/components/NotificationBar/Notification/Notification.vue +3 -1
- package/src/components/NotificationBar/NotificationBar.stories.ts +154 -0
- package/src/components/NotificationBar/tests/NotificationBar.a11y.spec.ts +26 -0
- package/src/components/NotificationBar/tests/NotificationBar.spec.ts +60 -0
- package/src/components/PageContainer/PageContainer.stories.ts +47 -0
- package/src/components/PageContainer/PageContainer.vue +4 -2
- package/src/components/PageContainer/accessibilite/Accessibility.mdx +31 -17
- package/src/components/PaginatedTable/PaginatedTable.mdx +3 -3
- package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -1
- package/src/components/PeriodField/PeriodField.vue +4 -0
- package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +10 -1
- package/src/components/PhoneField/PhoneField.stories.ts +73 -35
- package/src/components/PhoneField/PhoneField.vue +152 -83
- package/src/components/PhoneField/accessibilite/Accessibility.mdx +306 -9
- package/src/components/PhoneField/indicatifs.ts +2 -2
- package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +47 -0
- package/src/components/PhoneField/tests/PhoneField.spec.ts +82 -5
- package/src/components/RangeField/accessibilite/Accessibility.mdx +79 -11
- package/src/components/SearchListField/SearchListField.vue +1 -1
- package/src/components/SearchListField/accessibilite/Accessibility.mdx +69 -9
- package/src/components/SearchListField/tests/SearchListField.a11y.spec.ts +37 -0
- package/src/components/SkipLink/tests/SkipLink.a11y.spec.ts +23 -0
- package/src/components/SocialMediaLinks/SocialMediaLinks.vue +1 -1
- package/src/components/StatusPage/StatusPage.mdx +10 -1
- package/src/components/StatusPage/StatusPage.stories.ts +161 -0
- package/src/components/StatusPage/StatusPage.vue +29 -5
- package/src/components/StatusPage/accessibilite/Accessibility.mdx +24 -5
- package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +23 -0
- package/src/components/StatusPage/tests/StatusPage.spec.ts +25 -0
- package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +24 -14
- package/src/components/SubHeader/SubHeader.stories.ts +16 -0
- package/src/components/SubHeader/SubHeader.vue +6 -3
- package/src/components/SubHeader/accessibilite/Accessibility.mdx +27 -6
- package/src/components/SubHeader/tests/SubHeader.a11y.spec.ts +20 -0
- package/src/components/SyAlert/SyAlert.vue +22 -20
- package/src/components/SyAlert/accessibilite/Accessibility.mdx +79 -9
- package/src/components/SyAlert/tests/SyAlert.a11y.spec.ts +23 -0
- package/src/components/SyBtnMenu/SyBtnMenu.vue +33 -17
- package/src/components/SyBtnMenu/tests/SyBtnMenu.a11y.spec.ts +38 -0
- package/src/components/SyBtnMenu/tests/SyBtnMenu.spec.ts +41 -0
- package/src/components/SyHeading/SyHeading.a11y.test.ts +149 -0
- package/src/components/SyHeading/SyHeading.test.ts +115 -0
- package/src/components/SyHeading/SyHeading.vue +20 -0
- package/src/components/SyTextArea/accessibilite/Accessibility.mdx +80 -8
- package/src/components/SyTextArea/tests/SyTextArea.a11y.spec.ts +151 -0
- package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -30
- package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -0
- package/src/components/Tables/SyTable/SyTable.vue +2 -0
- package/src/components/Tables/common/SyTablePagination.vue +16 -10
- package/src/components/Tables/common/filters/DateFilter.vue +5 -0
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +40 -24
- package/src/components/Tables/common/types.ts +3 -0
- package/src/components/ToolbarContainer/tests/ToolbarContainer.a11y.spec.ts +126 -0
- package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +11 -11
- package/src/components/UploadWorkflow/UploadWorkflow.vue +30 -13
- package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +56 -5
- package/src/components/UploadWorkflow/accessibilite/UploadWorkflow.a11y.spec.ts +110 -0
- package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +7 -25
- package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +146 -123
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +53 -31
- package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -1
- package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +72 -8
- package/src/components/index.ts +2 -0
- package/src/components/types.ts +4 -0
- package/src/composables/date/tests/useDateInitialization.spec.ts +22 -1
- package/src/composables/date/useDateInitializationDayjs.ts +4 -7
- package/src/composables/date/useDatePickerAccessibility.ts +2 -3
- package/src/composables/useFilterable/useFilterable.spec.ts +52 -2
- package/src/composables/useFilterable/useFilterable.ts +7 -1
- package/src/composables/useFormFieldErrorHandling.ts +11 -2
- package/src/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
- package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
- package/src/designTokens/tokens/cnam/cnamContextual.ts +6 -1
- package/src/designTokens/tokens/cnam/cnamLightTheme.ts +28 -15
- package/src/designTokens/tokens/cnam/cnamSemantic.ts +21 -14
- package/src/designTokens/tokens/pa/paLightTheme.ts +27 -16
- package/src/designTokens/tokens/pa/paSemantic.ts +19 -13
- package/src/directives/rgaaSvgFix.ts +2 -7
- package/src/main.ts +2 -0
- package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/Exemptions-derogations.mdx +1 -1
- package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +188 -0
- package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/RGAA.mdx +1 -1
- package/src/stories/Accessibilite/Introduction.mdx +22 -3
- package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +21 -22
- package/src/stories/DeprecationNotice/DeprecationNotice.ts +41 -0
- package/src/stories/DesignTokens/ColorDisplay.vue +12 -5
- package/src/stories/DesignTokens/Colors.mdx +8 -59
- package/src/stories/DesignTokens/colors.stories.ts +1862 -1071
- package/src/stories/EcoConception/EcoGuideComponent.vue +10 -4
- package/dist/main-CWniLr0s.js +0 -36919
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, useSlots } from 'vue'
|
|
3
3
|
import { type RouteLocationRaw } from 'vue-router'
|
|
4
|
+
import { useTheme } from 'vuetify'
|
|
4
5
|
|
|
5
6
|
import Logo from '@/components/Logo/Logo.vue'
|
|
6
7
|
import { LogoSize } from '@/components/Logo/LogoSize'
|
|
@@ -23,11 +24,13 @@
|
|
|
23
24
|
linkItems?: LinkItem[] | null
|
|
24
25
|
items?: LinkItem[] | null
|
|
25
26
|
sitemapRoute?: RouteLocationRaw
|
|
27
|
+
helpRoute?: RouteLocationRaw
|
|
26
28
|
cguRoute?: RouteLocationRaw
|
|
27
29
|
cookiesRoute?: RouteLocationRaw
|
|
28
30
|
legalNoticeRoute?: RouteLocationRaw
|
|
29
31
|
a11yStatementRoute?: RouteLocationRaw
|
|
30
32
|
hideSitemapLink?: boolean
|
|
33
|
+
hideHelpLink?: boolean
|
|
31
34
|
hideCguLink?: boolean
|
|
32
35
|
hideCookiesLink?: boolean
|
|
33
36
|
hideLegalNoticeLink?: boolean
|
|
@@ -37,16 +40,20 @@
|
|
|
37
40
|
hideSocialMediaLinks?: boolean
|
|
38
41
|
socialMediaLinks?: SocialMediaLink[]
|
|
39
42
|
light?: boolean
|
|
43
|
+
backOffice?: boolean
|
|
44
|
+
backOfficeText?: string
|
|
40
45
|
}>(), {
|
|
41
46
|
a11yCompliance: 'non-compliant',
|
|
42
47
|
linkItems: null,
|
|
43
48
|
items: null,
|
|
44
49
|
sitemapRoute: () => ({ name: 'sitemap' }),
|
|
50
|
+
helpRoute: () => ({ name: 'help' }),
|
|
45
51
|
cguRoute: () => ({ name: 'cgu' }),
|
|
46
52
|
cookiesRoute: () => ({ name: 'cookies' }),
|
|
47
53
|
legalNoticeRoute: () => ({ name: 'legalNotice' }),
|
|
48
54
|
a11yStatementRoute: () => ({ name: 'a11yStatement' }),
|
|
49
55
|
hideSitemapLink: false,
|
|
56
|
+
hideHelpLink: false,
|
|
50
57
|
hideCguLink: false,
|
|
51
58
|
hideCookiesLink: false,
|
|
52
59
|
hideLegalNoticeLink: false,
|
|
@@ -56,6 +63,8 @@
|
|
|
56
63
|
hideSocialMediaLinks: false,
|
|
57
64
|
socialMediaLinks: () => defaultSocialMediaLinks as SocialMediaLink[],
|
|
58
65
|
light: false,
|
|
66
|
+
backOffice: false,
|
|
67
|
+
backOfficeText: undefined,
|
|
59
68
|
})
|
|
60
69
|
|
|
61
70
|
const arrowTopIcon = mdiArrowUp
|
|
@@ -63,6 +72,11 @@
|
|
|
63
72
|
const slots = useSlots()
|
|
64
73
|
const display = useDisplay()
|
|
65
74
|
const options = useCustomizableOptions(config, props)
|
|
75
|
+
const vuetifyTheme = useTheme()
|
|
76
|
+
|
|
77
|
+
const emit = defineEmits<{
|
|
78
|
+
(e: 'event', item: string): void
|
|
79
|
+
}>()
|
|
66
80
|
|
|
67
81
|
const getLinkComponent = (item: LinkItem): string => {
|
|
68
82
|
return item.href ? 'a' : 'RouterLink'
|
|
@@ -96,7 +110,7 @@
|
|
|
96
110
|
|
|
97
111
|
const footerLinksMapping = computed(() => {
|
|
98
112
|
if (props.linkItems) {
|
|
99
|
-
return props.linkItems as LinkItem[]
|
|
113
|
+
return filterByTheme(props.linkItems as LinkItem[])
|
|
100
114
|
}
|
|
101
115
|
|
|
102
116
|
const linksMapping: LinkItem[] = [
|
|
@@ -104,6 +118,13 @@
|
|
|
104
118
|
text: locales.sitemapLabel,
|
|
105
119
|
to: props.sitemapRoute,
|
|
106
120
|
hidden: props.hideSitemapLink,
|
|
121
|
+
theme: 'cnam',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
text: locales.HelpLabel,
|
|
125
|
+
to: props.helpRoute,
|
|
126
|
+
hidden: props.hideHelpLink,
|
|
127
|
+
theme: 'ap',
|
|
107
128
|
},
|
|
108
129
|
{
|
|
109
130
|
text: locales.cguLabel,
|
|
@@ -114,6 +135,7 @@
|
|
|
114
135
|
text: locales.cookiesLabel,
|
|
115
136
|
to: props.cookiesRoute,
|
|
116
137
|
hidden: props.hideCookiesLink,
|
|
138
|
+
theme: 'cnam',
|
|
117
139
|
},
|
|
118
140
|
{
|
|
119
141
|
text: locales.legalNoticeLabel,
|
|
@@ -127,9 +149,25 @@
|
|
|
127
149
|
},
|
|
128
150
|
] as LinkItem[]
|
|
129
151
|
|
|
130
|
-
return linksMapping
|
|
152
|
+
return filterByTheme(linksMapping)
|
|
131
153
|
})
|
|
132
154
|
|
|
155
|
+
function filterByTheme(items: LinkItem[]): LinkItem[] {
|
|
156
|
+
return items
|
|
157
|
+
.filter(item => !item.hidden)
|
|
158
|
+
.filter(item =>
|
|
159
|
+
!vuetifyTheme.name.value || !item.theme || item.theme === vuetifyTheme.name.value,
|
|
160
|
+
)
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
const fontStyle = computed(() => ({
|
|
164
|
+
fontSize: vuetifyTheme.name.value === 'ap' ? '14px' : '',
|
|
165
|
+
}))
|
|
166
|
+
|
|
167
|
+
function emitEvent(item: LinkItem) {
|
|
168
|
+
emit('event', item.text)
|
|
169
|
+
}
|
|
170
|
+
|
|
133
171
|
defineExpose({
|
|
134
172
|
logoSize,
|
|
135
173
|
})
|
|
@@ -176,6 +214,7 @@
|
|
|
176
214
|
|
|
177
215
|
<VBtn
|
|
178
216
|
id="scroll-btn"
|
|
217
|
+
class="back-to-top"
|
|
179
218
|
v-bind="options.goTopBtn"
|
|
180
219
|
:aria-label="locales.goTopBtnLabel"
|
|
181
220
|
@click="scrollToTop"
|
|
@@ -205,7 +244,7 @@
|
|
|
205
244
|
|
|
206
245
|
<ul
|
|
207
246
|
:class="{ 'py-2 py-sm-0': !extendedMode }"
|
|
208
|
-
class="vd-footer-bar-links text-sm-center d-flex flex-column flex-sm-row flex-wrap align-
|
|
247
|
+
class="vd-footer-bar-links text-sm-center d-flex flex-column flex-sm-row flex-wrap align-center justify-center max-width-none mx-n3 my-n3"
|
|
209
248
|
>
|
|
210
249
|
<slot name="prepend" />
|
|
211
250
|
|
|
@@ -215,20 +254,31 @@
|
|
|
215
254
|
>
|
|
216
255
|
<component
|
|
217
256
|
:is="getLinkComponent(item)"
|
|
257
|
+
v-if="!backOffice"
|
|
218
258
|
:href="item.href"
|
|
219
259
|
:to="item.to"
|
|
220
260
|
:aria-label="item.ariaLabel"
|
|
221
261
|
:target="item.openInNewTab ? '_blank' : undefined"
|
|
222
262
|
:rel="item.openInNewTab ? 'noopener noreferrer' : undefined"
|
|
223
263
|
class="my-3 mx-4"
|
|
264
|
+
:style="fontStyle"
|
|
265
|
+
@click="emitEvent(item)"
|
|
224
266
|
>
|
|
225
267
|
{{ item.text }}
|
|
226
268
|
</component>
|
|
227
269
|
</li>
|
|
270
|
+
<li
|
|
271
|
+
v-if="props.backOffice"
|
|
272
|
+
class="my-3 mx-4"
|
|
273
|
+
:style="fontStyle"
|
|
274
|
+
>
|
|
275
|
+
CNAM - {{ props.backOfficeText }}
|
|
276
|
+
</li>
|
|
228
277
|
|
|
229
278
|
<li
|
|
230
279
|
v-if="props.version"
|
|
231
|
-
class="my-3 mx-4"
|
|
280
|
+
class="my-3 mx-4 version"
|
|
281
|
+
:style="fontStyle"
|
|
232
282
|
>
|
|
233
283
|
{{ locales.versionLabel }} {{ props.version }}
|
|
234
284
|
</li>
|
|
@@ -283,11 +333,19 @@ a {
|
|
|
283
333
|
color: rgb(var(--v-theme-primary));
|
|
284
334
|
}
|
|
285
335
|
|
|
336
|
+
a.v-btn {
|
|
337
|
+
border-radius: var(tokens.$radius-rounded) !important;
|
|
338
|
+
}
|
|
339
|
+
|
|
286
340
|
a.v-btn:hover {
|
|
287
341
|
background: rgb(0 0 0 / 5%);
|
|
288
342
|
}
|
|
289
343
|
}
|
|
290
344
|
|
|
345
|
+
.back-to-top {
|
|
346
|
+
border-radius: var(tokens.$radius-rounded) !important;
|
|
347
|
+
}
|
|
348
|
+
|
|
291
349
|
button.v-btn:hover {
|
|
292
350
|
background: rgb(0 0 0 / 5%);
|
|
293
351
|
}
|
|
@@ -297,11 +355,7 @@ a {
|
|
|
297
355
|
}
|
|
298
356
|
|
|
299
357
|
.v-divider {
|
|
300
|
-
border-color:
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
svg.logo {
|
|
304
|
-
fill: rgb(var(--v-theme-primary));
|
|
358
|
+
border-color: var(--footer-background);
|
|
305
359
|
}
|
|
306
360
|
|
|
307
361
|
.scroll {
|
|
@@ -314,6 +368,10 @@ a {
|
|
|
314
368
|
.vd-footer-bar-links li,
|
|
315
369
|
.vd-footer-bar-links a {
|
|
316
370
|
color: $white;
|
|
371
|
+
|
|
372
|
+
&.version {
|
|
373
|
+
color: tokens.$neutral-white-alpha;
|
|
374
|
+
}
|
|
317
375
|
}
|
|
318
376
|
|
|
319
377
|
p,
|
|
@@ -3,7 +3,7 @@ import type { VariantType, DensityType } from '@/types/vuetifyTypes'
|
|
|
3
3
|
export const config = {
|
|
4
4
|
footer: {
|
|
5
5
|
elevation: 3,
|
|
6
|
-
color: '
|
|
6
|
+
color: 'var(--footer-background)',
|
|
7
7
|
height: 'auto',
|
|
8
8
|
},
|
|
9
9
|
goTopBtn: {
|
|
@@ -11,7 +11,7 @@ export const config = {
|
|
|
11
11
|
density: 'compact' as DensityType,
|
|
12
12
|
icon: 'true',
|
|
13
13
|
variant: 'text' as VariantType,
|
|
14
|
-
color: '
|
|
14
|
+
color: 'var(--footer-background)',
|
|
15
15
|
},
|
|
16
16
|
goTopBtnIcon: {
|
|
17
17
|
color: 'white',
|
|
@@ -3,6 +3,7 @@ import { A11yComplianceEnum } from './A11yCompliance'
|
|
|
3
3
|
export const locales = {
|
|
4
4
|
goTopBtnLabel: 'Retour en haut de la page',
|
|
5
5
|
sitemapLabel: 'Plan du site',
|
|
6
|
+
HelpLabel: 'Aide et configuration',
|
|
6
7
|
cguLabel: 'Conditions générales d’utilisation',
|
|
7
8
|
cookiesLabel: 'Gestion des cookies',
|
|
8
9
|
legalNoticeLabel: 'Mentions légales',
|
|
@@ -7,7 +7,7 @@ describe('FooterBar config', () => {
|
|
|
7
7
|
})
|
|
8
8
|
|
|
9
9
|
it('should have correct footer color', () => {
|
|
10
|
-
expect(config.footer.color).toBe('
|
|
10
|
+
expect(config.footer.color).toBe('var(--footer-background)')
|
|
11
11
|
})
|
|
12
12
|
|
|
13
13
|
it('should have correct footer minHeight', () => {
|
|
@@ -4,7 +4,6 @@ exports[`FooterBar > renders correctly 1`] = `
|
|
|
4
4
|
<footer
|
|
5
5
|
class="
|
|
6
6
|
align-stretch
|
|
7
|
-
bg-parma-darken60
|
|
8
7
|
elevation-3
|
|
9
8
|
flex-column
|
|
10
9
|
pa-3
|
|
@@ -15,14 +14,17 @@ exports[`FooterBar > renders correctly 1`] = `
|
|
|
15
14
|
w-100
|
|
16
15
|
"
|
|
17
16
|
role="contentinfo"
|
|
18
|
-
style="
|
|
17
|
+
style="
|
|
18
|
+
background-color: var(--footer-background);
|
|
19
|
+
height: auto;
|
|
20
|
+
"
|
|
19
21
|
>
|
|
20
22
|
<div class="container">
|
|
21
23
|
<!-- v-if -->
|
|
22
24
|
<!-- v-if -->
|
|
23
25
|
<!-- v-if -->
|
|
24
26
|
<ul class="
|
|
25
|
-
align-
|
|
27
|
+
align-center
|
|
26
28
|
d-flex
|
|
27
29
|
flex-column
|
|
28
30
|
flex-sm-row
|
|
@@ -36,17 +38,6 @@ exports[`FooterBar > renders correctly 1`] = `
|
|
|
36
38
|
text-sm-center
|
|
37
39
|
vd-footer-bar-links
|
|
38
40
|
">
|
|
39
|
-
<li>
|
|
40
|
-
<routerlink
|
|
41
|
-
class="
|
|
42
|
-
mx-4
|
|
43
|
-
my-3
|
|
44
|
-
"
|
|
45
|
-
to="[object Object]"
|
|
46
|
-
>
|
|
47
|
-
Plan du site
|
|
48
|
-
</routerlink>
|
|
49
|
-
</li>
|
|
50
41
|
<li>
|
|
51
42
|
<routerlink
|
|
52
43
|
class="
|
|
@@ -58,17 +49,6 @@ exports[`FooterBar > renders correctly 1`] = `
|
|
|
58
49
|
Conditions générales d’utilisation
|
|
59
50
|
</routerlink>
|
|
60
51
|
</li>
|
|
61
|
-
<li>
|
|
62
|
-
<routerlink
|
|
63
|
-
class="
|
|
64
|
-
mx-4
|
|
65
|
-
my-3
|
|
66
|
-
"
|
|
67
|
-
to="[object Object]"
|
|
68
|
-
>
|
|
69
|
-
Gestion des cookies
|
|
70
|
-
</routerlink>
|
|
71
|
-
</li>
|
|
72
52
|
<li>
|
|
73
53
|
<routerlink
|
|
74
54
|
class="
|
|
@@ -92,6 +72,7 @@ exports[`FooterBar > renders correctly 1`] = `
|
|
|
92
72
|
</routerlink>
|
|
93
73
|
</li>
|
|
94
74
|
<!-- v-if -->
|
|
75
|
+
<!-- v-if -->
|
|
95
76
|
</ul>
|
|
96
77
|
</div>
|
|
97
78
|
</footer>
|
|
@@ -1,15 +1,68 @@
|
|
|
1
|
-
import { Meta,
|
|
1
|
+
import { Meta, Primary } from '@storybook/blocks';
|
|
2
2
|
import * as Stories from '../FranceConnectBtn.stories.ts';
|
|
3
|
-
import '@/
|
|
3
|
+
import AccessibilityIcon from '@/common/imgs/accessibility-svgrepo-com.svg';
|
|
4
|
+
import {
|
|
5
|
+
AccessibilityGuideLayout,
|
|
6
|
+
CriteriaSection,
|
|
7
|
+
CriteriaCard,
|
|
8
|
+
DemoSection,
|
|
9
|
+
BestPracticesSection,
|
|
10
|
+
ResourcesSection,
|
|
11
|
+
} from '@/stories/accessibility/AccessibilityGuideLayout.mdx';
|
|
4
12
|
|
|
5
13
|
<Meta of={Stories} />
|
|
6
14
|
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<div class="mt-
|
|
13
|
-
<p>Rapport d’audit manuel : <a href="/audits/FranceConnectBtn.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
|
|
15
|
+
<AccessibilityGuideLayout
|
|
16
|
+
componentName="FranceConnectBtn"
|
|
17
|
+
iconSrc={AccessibilityIcon}
|
|
18
|
+
apgHref="https://www.w3.org/WAI/ARIA/apg/patterns/button/"
|
|
19
|
+
>
|
|
20
|
+
<div class="mt-8">
|
|
21
|
+
<p>Rapport d’audit manuel : <a href="/audits/FranceConnectBtn.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
|
|
14
22
|
<p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/4005" target="_blank" style={{color:'#0C41BD'}}>issue #4005</a>)</p>
|
|
15
23
|
</div>
|
|
24
|
+
|
|
25
|
+
<CriteriaSection>
|
|
26
|
+
<CriteriaCard icon="🔍" title="Structure sémantique et attributs">
|
|
27
|
+
<ul>
|
|
28
|
+
<li><strong>Liens natifs</strong> : Utilisation de balises <code><a></code> pour le bouton principal et le lien d'information, garantissant une sémantique correcte.</li>
|
|
29
|
+
<li><strong>Labels explicites</strong> : Utilisation de l'attribut <code>aria-label</code> sur les liens pour fournir une description claire aux lecteurs d'écran (ex: "S'identifier avec FranceConnect" ou "S'identifier avec FranceConnect+").</li>
|
|
30
|
+
<li><strong>SVG masqué</strong> : Le logo SVG complexe est masqué aux technologies d'assistance avec <code>aria-hidden="true"</code> et <code>role="presentation"</code> car l'information est déjà portée par l'attribut <code>aria-label</code> du lien parent.</li>
|
|
31
|
+
<li><strong>Ouverture de fenêtre</strong> : Le lien externe informe l'utilisateur de l'ouverture d'un nouvel onglet, avec une icône explicitement masquée (<code>decorative=true</code>).</li>
|
|
32
|
+
</ul>
|
|
33
|
+
</CriteriaCard>
|
|
34
|
+
|
|
35
|
+
<CriteriaCard icon="⌨️" title="Navigation et interaction clavier">
|
|
36
|
+
<ul>
|
|
37
|
+
<li><strong>Focus natif</strong> : Les liens sont naturellement accessibles via la touche <kbd>Tab</kbd>.</li>
|
|
38
|
+
<li><strong>Indicateur de focus</strong> : Un style de focus clair, visible et avec un décalage (<code>outline-offset</code>) est implémenté pour garantir une bonne visibilité lors de la navigation au clavier.</li>
|
|
39
|
+
</ul>
|
|
40
|
+
</CriteriaCard>
|
|
41
|
+
|
|
42
|
+
<CriteriaCard icon="🎨" title="Styles et contrastes">
|
|
43
|
+
<ul>
|
|
44
|
+
<li><strong>Couleurs institutionnelles</strong> : Respect strict des couleurs et contrastes de la charte FranceConnect (Bleu France), garantissant un ratio de contraste suffisant.</li>
|
|
45
|
+
<li><strong>Adaptation au thème sombre</strong> : Ajustement des couleurs de fond (ex: <code>#8585f6</code>) et de texte en mode sombre pour maintenir la lisibilité et l'accessibilité visuelle.</li>
|
|
46
|
+
</ul>
|
|
47
|
+
</CriteriaCard>
|
|
48
|
+
</CriteriaSection>
|
|
49
|
+
|
|
50
|
+
<DemoSection componentName="FranceConnectBtn">
|
|
51
|
+
<Primary />
|
|
52
|
+
</DemoSection>
|
|
53
|
+
|
|
54
|
+
<BestPracticesSection>
|
|
55
|
+
<ul>
|
|
56
|
+
<li><strong>Positionnement</strong> : Placez toujours ce bouton dans un contexte de connexion ou d'authentification.</li>
|
|
57
|
+
<li><strong>Respect de la charte</strong> : Ne modifiez pas les proportions, les couleurs (en dehors du mode sombre) ou les libellés de ce bouton, car ils sont soumis aux règles strictes de la direction interministérielle du numérique (DINUM).</li>
|
|
58
|
+
<li>Assurez-vous que le lien <code>href</code> fourni pointe vers la véritable interface de redirection d'authentification.</li>
|
|
59
|
+
</ul>
|
|
60
|
+
</BestPracticesSection>
|
|
61
|
+
|
|
62
|
+
<ResourcesSection>
|
|
63
|
+
<ul>
|
|
64
|
+
<li><a href="https://franceconnect.gouv.fr/partenaires" target="_blank" rel="noopener noreferrer">Documentation et charte FranceConnect</a></li>
|
|
65
|
+
<li><a href="https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#6.1" target="_blank" rel="noopener noreferrer">RGAA : Liens et navigation</a></li>
|
|
66
|
+
</ul>
|
|
67
|
+
</ResourcesSection>
|
|
68
|
+
</AccessibilityGuideLayout>
|
|
@@ -158,6 +158,18 @@ const meta = {
|
|
|
158
158
|
},
|
|
159
159
|
},
|
|
160
160
|
},
|
|
161
|
+
'headingLevelTitle': {
|
|
162
|
+
control: { type: 'select', options: [1, 2, 3, 4, 5, 6] },
|
|
163
|
+
description: 'Le niveau de titre pour le titre du service.',
|
|
164
|
+
table: {
|
|
165
|
+
type: {
|
|
166
|
+
summary: '1 | 2 | 3 | 4 | 5 | 6',
|
|
167
|
+
},
|
|
168
|
+
defaultValue: {
|
|
169
|
+
summary: '1',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
},
|
|
161
173
|
},
|
|
162
174
|
} satisfies Meta<typeof HeaderBar>
|
|
163
175
|
|
|
@@ -167,6 +179,7 @@ type Story = StoryObj<typeof meta>
|
|
|
167
179
|
|
|
168
180
|
export const Default: Story = {
|
|
169
181
|
args: {
|
|
182
|
+
headingLevelTitle: 1,
|
|
170
183
|
serviceTitle: 'Synapse',
|
|
171
184
|
serviceSubtitle: 'Design System',
|
|
172
185
|
},
|
|
@@ -184,6 +197,7 @@ export const Default: Story = {
|
|
|
184
197
|
<HeaderBar
|
|
185
198
|
service-title="Synapse"
|
|
186
199
|
service-subtitle="Design System"
|
|
200
|
+
:heading-level-title="1"
|
|
187
201
|
/>
|
|
188
202
|
</template>
|
|
189
203
|
`,
|
|
@@ -202,6 +216,7 @@ export const Default: Story = {
|
|
|
202
216
|
|
|
203
217
|
export const WithRightMenu: Story = {
|
|
204
218
|
args: {
|
|
219
|
+
headingLevelTitle: 1,
|
|
205
220
|
serviceTitle: 'Synapse',
|
|
206
221
|
serviceSubtitle: 'Design System',
|
|
207
222
|
},
|
|
@@ -309,6 +324,7 @@ export const WithRightMenu: Story = {
|
|
|
309
324
|
|
|
310
325
|
export const CustomLogo: Story = {
|
|
311
326
|
args: {
|
|
327
|
+
headingLevelTitle: 1,
|
|
312
328
|
serviceTitle: 'Synapse',
|
|
313
329
|
serviceSubtitle: 'Design System',
|
|
314
330
|
sticky: false,
|
|
@@ -446,7 +462,7 @@ export const CustomLogo: Story = {
|
|
|
446
462
|
}
|
|
447
463
|
|
|
448
464
|
export const CustomBrand: Story = {
|
|
449
|
-
args: {},
|
|
465
|
+
args: { headingLevelTitle: 1 },
|
|
450
466
|
render: (args) => {
|
|
451
467
|
return {
|
|
452
468
|
components: { HeaderBar },
|
|
@@ -500,6 +516,7 @@ export const CustomBrand: Story = {
|
|
|
500
516
|
|
|
501
517
|
export const Sticky: Story = {
|
|
502
518
|
args: {
|
|
519
|
+
headingLevelTitle: 1,
|
|
503
520
|
serviceTitle: 'Synapse',
|
|
504
521
|
serviceSubtitle: 'Design System',
|
|
505
522
|
},
|
|
@@ -543,6 +560,7 @@ export const Sticky: Story = {
|
|
|
543
560
|
|
|
544
561
|
export const WithHeaderToolbar: Story = {
|
|
545
562
|
args: {
|
|
563
|
+
headingLevelTitle: 1,
|
|
546
564
|
serviceTitle: 'Synapse',
|
|
547
565
|
serviceSubtitle: 'Design System',
|
|
548
566
|
},
|
|
@@ -598,6 +616,7 @@ export const WithHeaderToolbar: Story = {
|
|
|
598
616
|
|
|
599
617
|
export const WithSubHeader: Story = {
|
|
600
618
|
args: {
|
|
619
|
+
headingLevelTitle: 1,
|
|
601
620
|
serviceTitle: 'Synapse',
|
|
602
621
|
serviceSubtitle: 'Design System',
|
|
603
622
|
},
|
|
@@ -657,6 +676,7 @@ export const WithSubHeader: Story = {
|
|
|
657
676
|
|
|
658
677
|
export const DefaultSlot: Story = {
|
|
659
678
|
args: {
|
|
679
|
+
headingLevelTitle: 1,
|
|
660
680
|
serviceTitle: 'Synapse',
|
|
661
681
|
serviceSubtitle: 'Design System',
|
|
662
682
|
},
|
|
@@ -722,6 +742,7 @@ export const DefaultSlot: Story = {
|
|
|
722
742
|
|
|
723
743
|
export const PrependSlot: Story = {
|
|
724
744
|
args: {
|
|
745
|
+
headingLevelTitle: 1,
|
|
725
746
|
serviceTitle: 'Synapse',
|
|
726
747
|
serviceSubtitle: 'Design System',
|
|
727
748
|
},
|
|
@@ -776,6 +797,7 @@ export const PrependSlot: Story = {
|
|
|
776
797
|
|
|
777
798
|
export const AppendSlot: Story = {
|
|
778
799
|
args: {
|
|
800
|
+
headingLevelTitle: 1,
|
|
779
801
|
serviceTitle: 'Synapse',
|
|
780
802
|
serviceSubtitle: 'Design System',
|
|
781
803
|
},
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
to?: RouteLocationRaw
|
|
24
24
|
href?: string
|
|
25
25
|
}
|
|
26
|
+
headingLevelTitle?: 1 | 2 | 3 | 4 | 5 | 6
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
defineSlots<{
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
serviceSubtitle: undefined,
|
|
58
59
|
homeLink: undefined,
|
|
59
60
|
width: '1712px',
|
|
61
|
+
headingLevelTitle: 1,
|
|
60
62
|
})
|
|
61
63
|
|
|
62
64
|
function registerHeaderMenu(childMenuStatus: DeepReadonly<Ref<boolean>>) {
|
|
@@ -188,11 +190,13 @@
|
|
|
188
190
|
:home-aria-label
|
|
189
191
|
:service-title
|
|
190
192
|
:service-subtitle
|
|
193
|
+
:heading-level-title="headingLevelTitle"
|
|
191
194
|
>
|
|
192
195
|
<HeaderLogo
|
|
193
196
|
:aria-label="homeAriaLabel"
|
|
194
197
|
:service-title="serviceTitle"
|
|
195
198
|
:service-subtitle="serviceSubtitle"
|
|
199
|
+
:heading-level-title="headingLevelTitle"
|
|
196
200
|
:home-link
|
|
197
201
|
>
|
|
198
202
|
<template
|
|
@@ -205,6 +209,7 @@
|
|
|
205
209
|
:service-title
|
|
206
210
|
:service-subtitle
|
|
207
211
|
:home-link
|
|
212
|
+
:heading-level-title="headingLevelTitle"
|
|
208
213
|
/>
|
|
209
214
|
</template>
|
|
210
215
|
</HeaderLogo>
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { locales } from './locales'
|
|
7
7
|
import LogoMobile from './logos/Logo-mobile.vue'
|
|
8
8
|
import Logo from './logos/Logo.vue'
|
|
9
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
9
10
|
|
|
10
11
|
const props = withDefaults(defineProps<{
|
|
11
12
|
ariaLabel?: string
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
to?: RouteLocationRaw
|
|
17
18
|
href?: string
|
|
18
19
|
}
|
|
20
|
+
headingLevelTitle?: 1 | 2 | 3 | 4 | 5 | 6
|
|
19
21
|
}>(), {
|
|
20
22
|
ariaLabel: locales.ariaLabel,
|
|
21
23
|
serviceTitle: undefined,
|
|
@@ -23,6 +25,7 @@
|
|
|
23
25
|
homeLink: () => ({
|
|
24
26
|
href: '/',
|
|
25
27
|
}),
|
|
28
|
+
headingLevelTitle: 1,
|
|
26
29
|
})
|
|
27
30
|
|
|
28
31
|
defineSlots<{
|
|
@@ -87,9 +90,12 @@
|
|
|
87
90
|
</svg>
|
|
88
91
|
|
|
89
92
|
<div v-if="serviceTitle">
|
|
90
|
-
<
|
|
93
|
+
<SyHeading
|
|
94
|
+
class="service-title"
|
|
95
|
+
:level="headingLevelTitle"
|
|
96
|
+
>
|
|
91
97
|
{{ serviceTitle }}
|
|
92
|
-
</
|
|
98
|
+
</SyHeading>
|
|
93
99
|
<div
|
|
94
100
|
v-if="serviceSubtitle"
|
|
95
101
|
class="service-subtitle"
|
|
@@ -52,6 +52,7 @@ describe('HeaderLogo', () => {
|
|
|
52
52
|
it('sould display the service and the logo aria-label', async () => {
|
|
53
53
|
const wrapper = mount(HeaderLogo, {
|
|
54
54
|
props: {
|
|
55
|
+
headingLevelTitle: 2,
|
|
55
56
|
ariaLabel: 'Test aria label',
|
|
56
57
|
serviceTitle: 'Test service title',
|
|
57
58
|
serviceSubtitle: 'Test service subtitle',
|
|
@@ -68,6 +69,7 @@ describe('HeaderLogo', () => {
|
|
|
68
69
|
it('should render only the serviceTitle slot when set', async () => {
|
|
69
70
|
const wrapper = mount(HeaderLogo, {
|
|
70
71
|
props: {
|
|
72
|
+
headingLevelTitle: 2,
|
|
71
73
|
serviceTitle: 'Test service title',
|
|
72
74
|
},
|
|
73
75
|
slots: {
|
|
@@ -86,6 +88,7 @@ describe('HeaderLogo', () => {
|
|
|
86
88
|
global: {
|
|
87
89
|
stubs: ['RouterLink'] },
|
|
88
90
|
props: {
|
|
91
|
+
headingLevelTitle: 2,
|
|
89
92
|
homeLink: {
|
|
90
93
|
to: '/',
|
|
91
94
|
},
|
|
@@ -99,6 +102,7 @@ describe('HeaderLogo', () => {
|
|
|
99
102
|
it('render a div when there there is no `RouterLink` component registered', async () => {
|
|
100
103
|
const wrapper = mount(HeaderLogo, {
|
|
101
104
|
props: {
|
|
105
|
+
headingLevelTitle: 2,
|
|
102
106
|
homeLink: {
|
|
103
107
|
to: '/',
|
|
104
108
|
},
|
|
@@ -111,6 +115,7 @@ describe('HeaderLogo', () => {
|
|
|
111
115
|
it('render a div when the homeLink properties `to` and `href` are both set to `undefined`', async () => {
|
|
112
116
|
const wrapper = mount(HeaderLogo, {
|
|
113
117
|
props: {
|
|
118
|
+
headingLevelTitle: 2,
|
|
114
119
|
homeLink: {
|
|
115
120
|
to: undefined,
|
|
116
121
|
href: undefined,
|
|
@@ -1,15 +1,34 @@
|
|
|
1
1
|
import { Meta, Story } from '@storybook/blocks'
|
|
2
2
|
import * as HeaderBarStories from '../HeaderBar.stories';
|
|
3
3
|
import '@/stories/styles/shared.css';
|
|
4
|
+
import AccessibilityIcon from '@/common/imgs/accessibility-svgrepo-com.svg';
|
|
5
|
+
import {
|
|
6
|
+
AccessibilityGuideLayout,
|
|
7
|
+
CriteriaSection,
|
|
8
|
+
CriteriaCard,
|
|
9
|
+
DemoSection,
|
|
10
|
+
BestPracticesSection,
|
|
11
|
+
ResourcesSection,
|
|
12
|
+
} from '@/stories/accessibility/AccessibilityGuideLayout.mdx';
|
|
4
13
|
|
|
5
14
|
<Meta of={HeaderBarStories}/>
|
|
6
15
|
|
|
7
|
-
<div className="header">
|
|
8
|
-
<h1>Accessibilité</h1>
|
|
9
|
-
</div>
|
|
10
|
-
|
|
11
16
|
|
|
12
|
-
<
|
|
17
|
+
<AccessibilityGuideLayout
|
|
18
|
+
componentName="HeaderBar"
|
|
19
|
+
iconSrc={AccessibilityIcon}
|
|
20
|
+
>
|
|
21
|
+
<div class="mt-6">
|
|
13
22
|
<p>Rapport d’audit manuel : <a href="/audits/HeaderBar.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
|
|
14
23
|
<p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/643" target="_blank" style={{color:'#0C41BD'}}>issue #643</a>)</p>
|
|
15
24
|
</div>
|
|
25
|
+
<CriteriaCard icon="🧩" title="Niveau de titre configurable via la prop headingLevel">
|
|
26
|
+
<ul>
|
|
27
|
+
<li>Le niveau du titre (h1 à h6) est défini grâce à la propriété <strong>headingLevel</strong> déclarée dans le composant. Si aucune valeur n’est fournie, le composant applique par défaut un titre de niveau h2, défini dans l’implémentation du composant.</li>
|
|
28
|
+
<code><HeaderBar
|
|
29
|
+
:heading-level="2" /> </code>
|
|
30
|
+
|
|
31
|
+
<li><strong>Accessibilité</strong> : Permet que la hiérarchie entre les titres soit pertinente (critère 9.1.1 RGAA) </li>
|
|
32
|
+
</ul>
|
|
33
|
+
</CriteriaCard>
|
|
34
|
+
</AccessibilityGuideLayout>
|
|
@@ -16,6 +16,7 @@ describe('HeaderBar – accessibility (axe)', () => {
|
|
|
16
16
|
it('has no obvious axe violations with sticky header and logo', async () => {
|
|
17
17
|
const wrapper = mount(HeaderBar, {
|
|
18
18
|
props: {
|
|
19
|
+
headingLevelTitle: 1,
|
|
19
20
|
sticky: true,
|
|
20
21
|
serviceTitle: 'Synapse',
|
|
21
22
|
serviceSubtitle: 'Design System',
|