@cnamts/synapse 1.0.21 → 1.0.22
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-B5n-ZkLi.js} +29 -24
- package/dist/{NumberFilter-sm1dQNQi.js → NumberFilter-CtiZ9uj8.js} +1 -1
- package/dist/{PeriodFilter-Cklsxnh9.js → PeriodFilter-DzqiMb-b.js} +1 -1
- package/dist/{SelectFilter-CWefj27Z.js → SelectFilter-BOYlF7rX.js} +1 -1
- package/dist/{TextFilter-Ddyj885L.js → TextFilter-BOFRNfcX.js} +1 -1
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7399 -5967
- 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/AmeliproCheckbox/AmeliproCheckbox.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.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 +2411 -2027
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8889 -7327
- 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 +8888 -7334
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +951 -839
- package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1613 -1357
- 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 +1088 -847
- package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +1 -1
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +515 -321
- package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +41 -39
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +921 -801
- 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 +907 -795
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +1629 -1365
- package/dist/components/DataList/DataList.d.ts +1 -1
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3868 -3123
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1946 -1562
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +833 -687
- 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 +4 -0
- package/dist/components/FileList/UploadItem/locales.d.ts +4 -0
- package/dist/components/FileUpload/FileUpload.d.ts +4 -4
- package/dist/components/FileUpload/locales.d.ts +1 -0
- 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 +1 -0
- package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -0
- package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +3 -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/NirField/NirField.d.ts +1659 -1371
- package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
- package/dist/components/PageContainer/PageContainer.d.ts +3 -1
- package/dist/components/PasswordField/PasswordField.d.ts +1 -1
- package/dist/components/PeriodField/PeriodField.d.ts +7712 -6216
- package/dist/components/PhoneField/PhoneField.d.ts +831 -687
- 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 +10 -1
- package/dist/components/SyHeading/SyHeading.d.ts +20 -0
- package/dist/components/SyTextArea/SyTextArea.d.ts +476 -420
- 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 +269 -170
- 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 +1 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/design-system-v3.js +70 -69
- package/dist/design-system-v3.umd.cjs +265 -265
- 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/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-CEl4J8_T.js +37241 -0
- package/dist/style.css +1 -1
- package/dist/vuetifyConfig.d.ts +14 -14
- package/package.json +13 -7
- package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
- package/src/assets/apTokens.scss +53 -17
- package/src/assets/overrides/_icons.scss +12 -2
- 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/accessibilite/Accessibility.mdx +5 -4
- 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/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/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +36 -18
- 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/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 +17 -0
- package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
- 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/SyPagination/SyPagination.stories.ts +14 -2
- package/src/components/Customs/SyPagination/SyPagination.vue +20 -5
- 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 +39 -5
- 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/ErrorPage/ErrorPage.stories.ts +82 -47
- package/src/components/ErrorPage/ErrorPage.vue +6 -0
- package/src/components/ErrorPage/accessibilite/Accessibility.mdx +15 -0
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +2 -0
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
- package/src/components/FileList/FileList.stories.ts +4 -0
- package/src/components/FileList/UploadItem/UploadItem.vue +8 -3
- package/src/components/FileList/UploadItem/locales.ts +10 -0
- package/src/components/FileList/accessibilite/Accessibility.mdx +55 -7
- package/src/components/FileUpload/FileUpload.vue +60 -37
- package/src/components/FileUpload/FileUploadContent.vue +1 -1
- 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 +14 -14
- 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/HeaderBar/HeaderBar.stories.ts +23 -1
- package/src/components/HeaderBar/HeaderBar.vue +4 -0
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +7 -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 +2 -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/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 -0
- package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +2 -0
- 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 +25 -2
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +2 -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/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/SocialMediaLinks/SocialMediaLinks.vue +1 -1
- package/src/components/StatusPage/StatusPage.mdx +10 -1
- package/src/components/StatusPage/StatusPage.stories.ts +43 -0
- package/src/components/StatusPage/StatusPage.vue +26 -4
- package/src/components/StatusPage/accessibilite/Accessibility.mdx +24 -5
- package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +1 -0
- package/src/components/StatusPage/tests/StatusPage.spec.ts +3 -0
- package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +2 -0
- 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/SyAlert/SyAlert.vue +21 -20
- 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.vue +18 -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/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 +144 -121
- 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 +1 -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/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
- package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
- 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/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>
|
|
@@ -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<{
|
|
@@ -188,11 +189,13 @@
|
|
|
188
189
|
:home-aria-label
|
|
189
190
|
:service-title
|
|
190
191
|
:service-subtitle
|
|
192
|
+
:heading-level-title="headingLevelTitle"
|
|
191
193
|
>
|
|
192
194
|
<HeaderLogo
|
|
193
195
|
:aria-label="homeAriaLabel"
|
|
194
196
|
:service-title="serviceTitle"
|
|
195
197
|
:service-subtitle="serviceSubtitle"
|
|
198
|
+
:heading-level-title="headingLevelTitle"
|
|
196
199
|
:home-link
|
|
197
200
|
>
|
|
198
201
|
<template
|
|
@@ -205,6 +208,7 @@
|
|
|
205
208
|
:service-title
|
|
206
209
|
:service-subtitle
|
|
207
210
|
:home-link
|
|
211
|
+
:heading-level-title="headingLevelTitle"
|
|
208
212
|
/>
|
|
209
213
|
</template>
|
|
210
214
|
</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,
|
|
@@ -87,9 +89,12 @@
|
|
|
87
89
|
</svg>
|
|
88
90
|
|
|
89
91
|
<div v-if="serviceTitle">
|
|
90
|
-
<
|
|
92
|
+
<SyHeading
|
|
93
|
+
class="service-title"
|
|
94
|
+
:level="headingLevelTitle"
|
|
95
|
+
>
|
|
91
96
|
{{ serviceTitle }}
|
|
92
|
-
</
|
|
97
|
+
</SyHeading>
|
|
93
98
|
<div
|
|
94
99
|
v-if="serviceSubtitle"
|
|
95
100
|
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',
|
|
@@ -17,6 +17,7 @@ describe('HeaderBar', () => {
|
|
|
17
17
|
it('should render the component', async () => {
|
|
18
18
|
const wrapper = mount(HeaderBar, {
|
|
19
19
|
props: {
|
|
20
|
+
headingLevelTitle: 1,
|
|
20
21
|
sticky: false,
|
|
21
22
|
},
|
|
22
23
|
attachTo: document.body,
|
|
@@ -121,6 +122,7 @@ describe('HeaderBar', () => {
|
|
|
121
122
|
it('should render in sticky mode', async () => {
|
|
122
123
|
const wrapper = mount(HeaderBar, {
|
|
123
124
|
props: {
|
|
125
|
+
headingLevelTitle: 1,
|
|
124
126
|
sticky: true,
|
|
125
127
|
},
|
|
126
128
|
attachTo: document.body,
|
|
@@ -150,6 +152,7 @@ describe('HeaderBar', () => {
|
|
|
150
152
|
window.happyDOM.setInnerWidth(600)
|
|
151
153
|
const wrapper = mount(HeaderBar, {
|
|
152
154
|
props: {
|
|
155
|
+
headingLevelTitle: 1,
|
|
153
156
|
hideWhenDown: true,
|
|
154
157
|
},
|
|
155
158
|
attachTo: document.body,
|
|
@@ -278,6 +278,7 @@ type Story = StoryObj<typeof meta>
|
|
|
278
278
|
|
|
279
279
|
export const Default: Story = {
|
|
280
280
|
args: {
|
|
281
|
+
headingLevelTitle: 1,
|
|
281
282
|
items: [
|
|
282
283
|
{
|
|
283
284
|
label: 'Home',
|
|
@@ -319,6 +320,7 @@ export const Default: Story = {
|
|
|
319
320
|
|
|
320
321
|
export const WithScroll: Story = {
|
|
321
322
|
args: {
|
|
323
|
+
headingLevelTitle: 1,
|
|
322
324
|
items: [
|
|
323
325
|
{
|
|
324
326
|
label: 'Home',
|
|
@@ -375,6 +377,7 @@ export const WithScroll: Story = {
|
|
|
375
377
|
|
|
376
378
|
export const WithManyItems: Story = {
|
|
377
379
|
args: {
|
|
380
|
+
headingLevelTitle: 1,
|
|
378
381
|
items: [
|
|
379
382
|
{
|
|
380
383
|
label: 'Home',
|
|
@@ -906,6 +909,7 @@ export const WithVuetifyOptions: Story = {
|
|
|
906
909
|
|
|
907
910
|
export const WithTabConfirmation: Story = {
|
|
908
911
|
args: {
|
|
912
|
+
headingLevelTitle: 1,
|
|
909
913
|
items: [
|
|
910
914
|
{ label: 'Home', href: '/home' },
|
|
911
915
|
{ label: 'Test avec href', href: '/test-avec-href' },
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
confirmationMessage?: boolean
|
|
42
42
|
/** Largeur interne */
|
|
43
43
|
width?: string
|
|
44
|
+
headingLevelTitle: 1 | 2 | 3 | 4 | 5 | 6
|
|
44
45
|
}>(),
|
|
45
46
|
{
|
|
46
47
|
// Confirmation related defaults
|
|
@@ -125,6 +126,7 @@
|
|
|
125
126
|
<template>
|
|
126
127
|
<HeaderBar
|
|
127
128
|
:sticky="sticky"
|
|
129
|
+
:heading-level-title="headingLevelTitle"
|
|
128
130
|
:hide-when-down="hideWhenDown"
|
|
129
131
|
:home-aria-label="homeAriaLabel"
|
|
130
132
|
:service-title="serviceTitle"
|
|
@@ -26,6 +26,7 @@ describe('HeaderNavigationBar', () => {
|
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
props: {
|
|
29
|
+
headingLevelTitle: 1,
|
|
29
30
|
items: [
|
|
30
31
|
{
|
|
31
32
|
label: 'Home',
|
|
@@ -68,6 +69,7 @@ describe('HeaderNavigationBar', () => {
|
|
|
68
69
|
},
|
|
69
70
|
},
|
|
70
71
|
props: {
|
|
72
|
+
headingLevelTitle: 1,
|
|
71
73
|
items: [
|
|
72
74
|
{
|
|
73
75
|
label: 'Home',
|
|
@@ -102,6 +104,7 @@ describe('HeaderNavigationBar', () => {
|
|
|
102
104
|
},
|
|
103
105
|
},
|
|
104
106
|
props: {
|
|
107
|
+
headingLevelTitle: 1,
|
|
105
108
|
items: [
|
|
106
109
|
{
|
|
107
110
|
label: 'Home',
|