@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
|
@@ -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
|
|
@@ -56,6 +57,7 @@
|
|
|
56
57
|
maxHorizontalMenuItems: 6,
|
|
57
58
|
items: undefined,
|
|
58
59
|
width: '1712px',
|
|
60
|
+
headingLevelTitle: 1,
|
|
59
61
|
})
|
|
60
62
|
|
|
61
63
|
// Définition des événements émis
|
|
@@ -125,6 +127,7 @@
|
|
|
125
127
|
<template>
|
|
126
128
|
<HeaderBar
|
|
127
129
|
:sticky="sticky"
|
|
130
|
+
:heading-level-title="headingLevelTitle"
|
|
128
131
|
:hide-when-down="hideWhenDown"
|
|
129
132
|
:home-aria-label="homeAriaLabel"
|
|
130
133
|
: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',
|
|
@@ -5,6 +5,20 @@ const meta = {
|
|
|
5
5
|
title: 'Composants/Données/LogoBrandSection',
|
|
6
6
|
component: LogoBrandSection,
|
|
7
7
|
argTypes: {
|
|
8
|
+
'headingLevelTitle': {
|
|
9
|
+
control: {
|
|
10
|
+
type: 'select',
|
|
11
|
+
},
|
|
12
|
+
options: [1, 2, 3, 4, 5, 6],
|
|
13
|
+
description: 'Le niveau de titre pour le serviceTitle.',
|
|
14
|
+
},
|
|
15
|
+
'headingLevelSubtitle': {
|
|
16
|
+
control: {
|
|
17
|
+
type: 'select',
|
|
18
|
+
},
|
|
19
|
+
options: [1, 2, 3, 4, 5, 6],
|
|
20
|
+
description: 'Le niveau de titre pour le serviceSubTitle.',
|
|
21
|
+
},
|
|
8
22
|
'theme': {
|
|
9
23
|
description: 'Applique un preset de style à la section.',
|
|
10
24
|
control: {
|
|
@@ -72,6 +86,8 @@ const meta = {
|
|
|
72
86
|
},
|
|
73
87
|
args: {
|
|
74
88
|
theme: 'default',
|
|
89
|
+
headingLevelSubtitle: 2,
|
|
90
|
+
headingLevelTitle: 1,
|
|
75
91
|
},
|
|
76
92
|
} satisfies Meta<typeof LogoBrandSection>
|
|
77
93
|
|
|
@@ -81,6 +97,8 @@ type Story = StoryObj<typeof LogoBrandSection>
|
|
|
81
97
|
|
|
82
98
|
export const Default: Story = {
|
|
83
99
|
args: {
|
|
100
|
+
headingLevelSubtitle: 2,
|
|
101
|
+
headingLevelTitle: 1,
|
|
84
102
|
serviceTitle: 'Synapse',
|
|
85
103
|
serviceSubTitle: 'Documentation du Design System',
|
|
86
104
|
},
|
|
@@ -91,6 +109,8 @@ export const Default: Story = {
|
|
|
91
109
|
code: `
|
|
92
110
|
<template>
|
|
93
111
|
<LogoBrandSection
|
|
112
|
+
:heading-level-title="headingLevelTitle"
|
|
113
|
+
:heading-level-subtitle="headingLevelSubtitle"
|
|
94
114
|
service-title="Synapse"
|
|
95
115
|
service-sub-title="Documentation du Design System"
|
|
96
116
|
/>
|
|
@@ -113,6 +133,8 @@ export const WithBrand: Story = {
|
|
|
113
133
|
args: {
|
|
114
134
|
serviceTitle: 'Synapse',
|
|
115
135
|
serviceSubTitle: ' Documentation du Design System',
|
|
136
|
+
headingLevelTitle: 1,
|
|
137
|
+
headingLevelSubtitle: 2,
|
|
116
138
|
},
|
|
117
139
|
render: (args) => {
|
|
118
140
|
return {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { locales } from './locales'
|
|
9
9
|
import { secondaryLogoMapping } from './secondaryLogoMapping'
|
|
10
10
|
import type { Theme } from './types'
|
|
11
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
11
12
|
|
|
12
13
|
const props = withDefaults(
|
|
13
14
|
defineProps<{
|
|
@@ -21,12 +22,16 @@
|
|
|
21
22
|
to?: RouteLocationRaw
|
|
22
23
|
href?: string
|
|
23
24
|
}
|
|
25
|
+
headingLevelTitle?: 1 | 2 | 3 | 4 | 5 | 6
|
|
26
|
+
headingLevelSubtitle?: 1 | 2 | 3 | 4
|
|
24
27
|
}>(), {
|
|
25
28
|
theme: 'default',
|
|
26
29
|
serviceTitle: undefined,
|
|
27
30
|
serviceSubTitle: undefined,
|
|
28
31
|
mobileVersion: false,
|
|
29
32
|
reduceLogo: false,
|
|
33
|
+
headingLevelTitle: 1,
|
|
34
|
+
headingLevelSubtitle: 2,
|
|
30
35
|
homeLink: () => ({
|
|
31
36
|
href: '/',
|
|
32
37
|
}),
|
|
@@ -246,12 +251,14 @@
|
|
|
246
251
|
class="vd-title-container d-flex justify-center flex-column text-primary"
|
|
247
252
|
>
|
|
248
253
|
<slot name="brand-content">
|
|
249
|
-
<
|
|
254
|
+
<SyHeading
|
|
250
255
|
v-if="service.title"
|
|
251
256
|
:class="{
|
|
252
257
|
'vd-compte-entreprise-title': isCompteEntreprise,
|
|
258
|
+
'vd-title text-caption text-md-subtitle-1 font-weight-medium': headingLevelTitle === 1,
|
|
259
|
+
'vd-title text-caption font-weight-medium': headingLevelTitle !== 1,
|
|
253
260
|
}"
|
|
254
|
-
|
|
261
|
+
:level="headingLevelTitle"
|
|
255
262
|
>
|
|
256
263
|
<template v-if="typeof service.title === 'string'">
|
|
257
264
|
<span>
|
|
@@ -267,14 +274,15 @@
|
|
|
267
274
|
{{ service.title.highlight }}
|
|
268
275
|
</span>
|
|
269
276
|
</template>
|
|
270
|
-
</
|
|
277
|
+
</SyHeading>
|
|
271
278
|
|
|
272
|
-
<
|
|
279
|
+
<SyHeading
|
|
273
280
|
v-if="showServiceSubTitle"
|
|
274
281
|
class="vd-title text-caption"
|
|
282
|
+
:level="headingLevelSubtitle"
|
|
275
283
|
>
|
|
276
284
|
{{ service.subTitle }}
|
|
277
|
-
</
|
|
285
|
+
</SyHeading>
|
|
278
286
|
</slot>
|
|
279
287
|
</div>
|
|
280
288
|
</slot>
|
|
@@ -9,6 +9,8 @@ describe('LogoBrandSection', () => {
|
|
|
9
9
|
global: {
|
|
10
10
|
stubs: ['RouterLink', 'Logo'] },
|
|
11
11
|
props: {
|
|
12
|
+
headingLevelTitle: 1,
|
|
13
|
+
headingLevelSubtitle: 2,
|
|
12
14
|
theme: 'default',
|
|
13
15
|
serviceTitle: 'Service Title',
|
|
14
16
|
serviceSubTitle: 'Service Sub Title',
|
|
@@ -28,6 +30,8 @@ describe('LogoBrandSection', () => {
|
|
|
28
30
|
global: {
|
|
29
31
|
stubs: ['RouterLink', 'Logo'] },
|
|
30
32
|
props: {
|
|
33
|
+
headingLevelTitle: 1,
|
|
34
|
+
headingLevelSubtitle: 2,
|
|
31
35
|
theme: 'default',
|
|
32
36
|
serviceTitle: 'Service Title',
|
|
33
37
|
serviceSubTitle: 'Service Sub Title',
|
|
@@ -42,6 +46,8 @@ describe('LogoBrandSection', () => {
|
|
|
42
46
|
global: {
|
|
43
47
|
stubs: ['RouterLink', 'Logo'] },
|
|
44
48
|
props: {
|
|
49
|
+
headingLevelTitle: 1,
|
|
50
|
+
headingLevelSubtitle: 2,
|
|
45
51
|
theme: 'compte-entreprise',
|
|
46
52
|
},
|
|
47
53
|
})
|
|
@@ -54,6 +60,8 @@ describe('LogoBrandSection', () => {
|
|
|
54
60
|
global: {
|
|
55
61
|
stubs: ['RouterLink', 'Logo'] },
|
|
56
62
|
props: {
|
|
63
|
+
headingLevelTitle: 1,
|
|
64
|
+
headingLevelSubtitle: 2,
|
|
57
65
|
theme: 'default',
|
|
58
66
|
serviceTitle: 'Service Title',
|
|
59
67
|
serviceSubTitle: 'Service Sub Title',
|
|
@@ -74,6 +82,8 @@ describe('LogoBrandSection', () => {
|
|
|
74
82
|
global: {
|
|
75
83
|
stubs: ['RouterLink', 'Logo'] },
|
|
76
84
|
props: {
|
|
85
|
+
headingLevelTitle: 1,
|
|
86
|
+
headingLevelSubtitle: 2,
|
|
77
87
|
theme: 'default',
|
|
78
88
|
serviceTitle: 'Service Title',
|
|
79
89
|
serviceSubTitle: 'Service Sub Title',
|
|
@@ -88,6 +98,8 @@ describe('LogoBrandSection', () => {
|
|
|
88
98
|
global: {
|
|
89
99
|
stubs: ['RouterLink', 'Logo'] },
|
|
90
100
|
props: {
|
|
101
|
+
headingLevelTitle: 1,
|
|
102
|
+
headingLevelSubtitle: 2,
|
|
91
103
|
theme: 'default',
|
|
92
104
|
serviceTitle: 'Service Title',
|
|
93
105
|
serviceSubTitle: '',
|
|
@@ -102,6 +114,8 @@ describe('LogoBrandSection', () => {
|
|
|
102
114
|
global: {
|
|
103
115
|
stubs: ['RouterLink', 'Logo'] },
|
|
104
116
|
props: {
|
|
117
|
+
headingLevelTitle: 1,
|
|
118
|
+
headingLevelSubtitle: 2,
|
|
105
119
|
serviceTitle: 'Service Title',
|
|
106
120
|
serviceSubTitle: 'Service Sub Title',
|
|
107
121
|
},
|
|
@@ -116,6 +130,8 @@ describe('LogoBrandSection', () => {
|
|
|
116
130
|
global: {
|
|
117
131
|
stubs: ['RouterLink', 'Logo'] },
|
|
118
132
|
props: {
|
|
133
|
+
headingLevelTitle: 1,
|
|
134
|
+
headingLevelSubtitle: 2,
|
|
119
135
|
theme: 'cnam',
|
|
120
136
|
serviceTitle: 'Service Title',
|
|
121
137
|
serviceSubTitle: 'Service Sub Title',
|
|
@@ -131,6 +147,8 @@ describe('LogoBrandSection', () => {
|
|
|
131
147
|
global: {
|
|
132
148
|
stubs: ['RouterLink', 'Logo'] },
|
|
133
149
|
props: {
|
|
150
|
+
headingLevelTitle: 1,
|
|
151
|
+
headingLevelSubtitle: 2,
|
|
134
152
|
theme: 'compte-entreprise',
|
|
135
153
|
serviceTitle: 'Service Title',
|
|
136
154
|
serviceSubTitle: 'Service Sub Title',
|
|
@@ -146,6 +164,8 @@ describe('LogoBrandSection', () => {
|
|
|
146
164
|
global: {
|
|
147
165
|
stubs: ['RouterLink', 'Logo'] },
|
|
148
166
|
props: {
|
|
167
|
+
headingLevelTitle: 1,
|
|
168
|
+
headingLevelSubtitle: 2,
|
|
149
169
|
theme: 'risque-pro',
|
|
150
170
|
reduceLogo: false,
|
|
151
171
|
},
|
|
@@ -160,6 +180,8 @@ describe('LogoBrandSection', () => {
|
|
|
160
180
|
global: {
|
|
161
181
|
stubs: ['RouterLink', 'Logo'] },
|
|
162
182
|
props: {
|
|
183
|
+
headingLevelTitle: 1,
|
|
184
|
+
headingLevelSubtitle: 2,
|
|
163
185
|
theme: 'risque-pro',
|
|
164
186
|
reduceLogo: true,
|
|
165
187
|
},
|
|
@@ -173,6 +195,8 @@ describe('LogoBrandSection', () => {
|
|
|
173
195
|
global: {
|
|
174
196
|
stubs: ['RouterLink', 'Logo'] },
|
|
175
197
|
props: {
|
|
198
|
+
headingLevelTitle: 1,
|
|
199
|
+
headingLevelSubtitle: 2,
|
|
176
200
|
theme: 'compte-entreprise',
|
|
177
201
|
},
|
|
178
202
|
})
|
|
@@ -185,6 +209,8 @@ describe('LogoBrandSection', () => {
|
|
|
185
209
|
global: {
|
|
186
210
|
stubs: ['RouterLink', 'Logo'] },
|
|
187
211
|
props: {
|
|
212
|
+
headingLevelTitle: 1,
|
|
213
|
+
headingLevelSubtitle: 2,
|
|
188
214
|
theme: 'compte-ameli',
|
|
189
215
|
mobileVersion: true,
|
|
190
216
|
},
|
|
@@ -199,6 +225,8 @@ describe('LogoBrandSection', () => {
|
|
|
199
225
|
global: {
|
|
200
226
|
stubs: ['RouterLink', 'Logo'] },
|
|
201
227
|
props: {
|
|
228
|
+
headingLevelTitle: 1,
|
|
229
|
+
headingLevelSubtitle: 2,
|
|
202
230
|
theme: 'default',
|
|
203
231
|
reduceLogo: true,
|
|
204
232
|
},
|
|
@@ -212,6 +240,8 @@ describe('LogoBrandSection', () => {
|
|
|
212
240
|
global: {
|
|
213
241
|
stubs: ['RouterLink', 'Logo'] },
|
|
214
242
|
props: {
|
|
243
|
+
headingLevelTitle: 1,
|
|
244
|
+
headingLevelSubtitle: 2,
|
|
215
245
|
theme: 'default',
|
|
216
246
|
reduceLogo: false,
|
|
217
247
|
},
|
|
@@ -225,6 +255,8 @@ describe('LogoBrandSection', () => {
|
|
|
225
255
|
global: {
|
|
226
256
|
stubs: ['RouterLink', 'Logo'] },
|
|
227
257
|
props: {
|
|
258
|
+
headingLevelTitle: 1,
|
|
259
|
+
headingLevelSubtitle: 2,
|
|
228
260
|
theme: 'compte-ameli',
|
|
229
261
|
},
|
|
230
262
|
})
|
|
@@ -237,6 +269,8 @@ describe('LogoBrandSection', () => {
|
|
|
237
269
|
global: {
|
|
238
270
|
stubs: ['RouterLink', 'Logo'] },
|
|
239
271
|
props: {
|
|
272
|
+
headingLevelTitle: 1,
|
|
273
|
+
headingLevelSubtitle: 2,
|
|
240
274
|
theme: 'default',
|
|
241
275
|
homeLink: {
|
|
242
276
|
href: '#',
|
|
@@ -252,6 +286,8 @@ describe('LogoBrandSection', () => {
|
|
|
252
286
|
global: {
|
|
253
287
|
stubs: ['RouterLink', 'Logo'] },
|
|
254
288
|
props: {
|
|
289
|
+
headingLevelTitle: 1,
|
|
290
|
+
headingLevelSubtitle: 2,
|
|
255
291
|
theme: 'default',
|
|
256
292
|
homeLink: {
|
|
257
293
|
to: '/',
|
|
@@ -267,6 +303,8 @@ describe('LogoBrandSection', () => {
|
|
|
267
303
|
global: {
|
|
268
304
|
stubs: ['RouterLink', 'Logo'] },
|
|
269
305
|
props: {
|
|
306
|
+
headingLevelTitle: 1,
|
|
307
|
+
headingLevelSubtitle: 2,
|
|
270
308
|
theme: 'default',
|
|
271
309
|
homeLink: {
|
|
272
310
|
href: undefined,
|
|
@@ -283,6 +321,8 @@ describe('LogoBrandSection', () => {
|
|
|
283
321
|
global: {
|
|
284
322
|
stubs: ['RouterLink', 'Logo'] },
|
|
285
323
|
props: {
|
|
324
|
+
headingLevelTitle: 1,
|
|
325
|
+
headingLevelSubtitle: 2,
|
|
286
326
|
theme: 'default',
|
|
287
327
|
},
|
|
288
328
|
})
|
|
@@ -295,6 +335,8 @@ describe('LogoBrandSection', () => {
|
|
|
295
335
|
global: {
|
|
296
336
|
stubs: ['RouterLink', 'Logo'] },
|
|
297
337
|
props: {
|
|
338
|
+
headingLevelTitle: 1,
|
|
339
|
+
headingLevelSubtitle: 2,
|
|
298
340
|
theme: 'ameli-pro',
|
|
299
341
|
},
|
|
300
342
|
})
|
|
@@ -307,6 +349,8 @@ describe('LogoBrandSection', () => {
|
|
|
307
349
|
global: {
|
|
308
350
|
stubs: ['RouterLink', 'Logo'] },
|
|
309
351
|
props: {
|
|
352
|
+
headingLevelTitle: 1,
|
|
353
|
+
headingLevelSubtitle: 2,
|
|
310
354
|
theme: 'ameli',
|
|
311
355
|
homeLink: {
|
|
312
356
|
href: undefined,
|
|
@@ -44,6 +44,7 @@ exports[`LogoBrandSection > renders correctly 1`] = `
|
|
|
44
44
|
">
|
|
45
45
|
<h1 class="
|
|
46
46
|
font-weight-medium
|
|
47
|
+
sy-heading
|
|
47
48
|
text-caption
|
|
48
49
|
text-md-subtitle-1
|
|
49
50
|
vd-title
|
|
@@ -53,6 +54,7 @@ exports[`LogoBrandSection > renders correctly 1`] = `
|
|
|
53
54
|
</span>
|
|
54
55
|
</h1>
|
|
55
56
|
<h2 class="
|
|
57
|
+
sy-heading
|
|
56
58
|
text-caption
|
|
57
59
|
vd-title
|
|
58
60
|
">
|
|
@@ -1,10 +1,76 @@
|
|
|
1
|
-
import { Meta,
|
|
2
|
-
import * as
|
|
3
|
-
import '@/
|
|
1
|
+
import { Meta, Primary } from '@storybook/blocks';
|
|
2
|
+
import * as Stories from '../LunarCalendar.stories';
|
|
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
|
-
<Meta of={
|
|
13
|
+
<Meta of={Stories}/>
|
|
6
14
|
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
<AccessibilityGuideLayout
|
|
16
|
+
componentName="LunarCalendar"
|
|
17
|
+
iconSrc={AccessibilityIcon}
|
|
18
|
+
apgHref="https://www.w3.org/WAI/ARIA/apg/patterns/textfield/"
|
|
19
|
+
>
|
|
20
|
+
|
|
21
|
+
<CriteriaSection>
|
|
22
|
+
|
|
23
|
+
<CriteriaCard title="Structure sémantique">
|
|
24
|
+
- **Champ de saisie natif** : Utilise un élément `input` de type texte avec masque de formatage
|
|
25
|
+
- **Label associé** : Le label est correctement associé au champ via le composant SyTextField
|
|
26
|
+
- **Masque de saisie** : Le format `JJ/MM/AAAA` est appliqué via la directive `v-maska`
|
|
27
|
+
- **Icônes décoratives** : Les icônes calendrier sont marquées comme décoratives
|
|
28
|
+
</CriteriaCard>
|
|
29
|
+
|
|
30
|
+
<CriteriaCard title="États et feedback">
|
|
31
|
+
- **Messages d'erreur** : Les erreurs de validation sont annoncées via `aria-describedby`
|
|
32
|
+
- **Messages de succès** : Les confirmations sont également annoncées aux lecteurs d'écran
|
|
33
|
+
- **Champ requis** : L'attribut `required` est correctement appliqué quand nécessaire
|
|
34
|
+
- **Contraintes de dates** : Validation des années min/max avec feedback approprié
|
|
35
|
+
</CriteriaCard>
|
|
36
|
+
|
|
37
|
+
<CriteriaCard title="Navigation au clavier">
|
|
38
|
+
- **Tabulation** : Navigation au clavier standard via le composant SyTextField
|
|
39
|
+
- **Saisie guidée** : Le masque facilite la saisie en indiquant le format attendu
|
|
40
|
+
- **Effacement** : Support du bouton d'effacement quand `isClearable` est activé
|
|
41
|
+
- **Focus visible** : Indication claire du focus pour les utilisateurs clavier
|
|
42
|
+
</CriteriaCard>
|
|
43
|
+
|
|
44
|
+
</CriteriaSection>
|
|
45
|
+
|
|
46
|
+
<DemoSection componentName="LunarCalendar">
|
|
47
|
+
<Primary />
|
|
48
|
+
</DemoSection>
|
|
49
|
+
|
|
50
|
+
## Bonnes pratiques
|
|
51
|
+
|
|
52
|
+
<BestPracticesSection>
|
|
53
|
+
<ul>
|
|
54
|
+
<li><strong>Label descriptif</strong> : Utiliser un label qui explique clairement qu'il s'agit d'une date lunaire et indiquer le format attendu JJ/MM/AAAA.</li>
|
|
55
|
+
<li><strong>Messages clairs</strong> : Fournir des messages d'erreur qui expliquent le format attendu et les contraintes de validité.</li>
|
|
56
|
+
<li><strong>Contraintes pertinentes</strong> : Définir des plages d'années logiques pour le contexte d'utilisation.</li>
|
|
57
|
+
<li><strong>Feedback immédiat</strong> : Valider dès la perte du focus pour guider l'utilisateur dans sa saisie.</li>
|
|
58
|
+
<li><strong>Placeholder utile</strong> : Utiliser JJ/MM/AAAA comme placeholder pour renforcer le format attendu.</li>
|
|
59
|
+
<li><strong>Icônes appropriées</strong> : Les icônes calendrier aident à identifier visuellement le type de saisie attendue.</li>
|
|
60
|
+
<li><strong>Effacement facilité</strong> : Activer isClearable pour permettre aux utilisateurs de corriger facilement leur saisie.</li>
|
|
61
|
+
</ul>
|
|
62
|
+
</BestPracticesSection>
|
|
63
|
+
|
|
64
|
+
## Ressources
|
|
65
|
+
|
|
66
|
+
<ResourcesSection>
|
|
67
|
+
<ul>
|
|
68
|
+
<li><a href="https://www.w3.org/WAI/ARIA/apg/patterns/textfield/" target="_blank" rel="noopener noreferrer">WAI-ARIA Authoring Practices - Text Input</a></li>
|
|
69
|
+
<li><a href="https://developer.mozilla.org/fr/docs/Web/HTML/Element/input" target="_blank" rel="noopener noreferrer">MDN Web Docs - input element</a></li>
|
|
70
|
+
<li><a href="https://developer.mozilla.org/fr/docs/Web/Accessibility/ARIA/Roles/textbox_role" target="_blank" rel="noopener noreferrer">MDN Web Docs - ARIA: textbox role</a></li>
|
|
71
|
+
<li><a href="https://www.numerique.gouv.fr/publications/rgaa-accessibilite/#critere-118-champs-de-saisie" target="_blank" rel="noopener noreferrer">RGAA - Critère 11.8 - Champs de saisie</a></li>
|
|
72
|
+
<li><a href="/docs/components-customs-sytextfield--docs" target="_blank" rel="noopener noreferrer">Documentation SyTextField</a></li>
|
|
73
|
+
</ul>
|
|
74
|
+
</ResourcesSection>
|
|
75
|
+
|
|
76
|
+
</AccessibilityGuideLayout>
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// @vitest-environment jsdom
|
|
2
|
+
|
|
3
|
+
import { describe, it } from 'vitest'
|
|
4
|
+
import { mount } from '@vue/test-utils'
|
|
5
|
+
import { axe } from 'vitest-axe'
|
|
6
|
+
import { assertNoA11yViolations } from '@tests/unit/accessibility/axeUtils'
|
|
7
|
+
import LunarCalendar from '../LunarCalendar.vue'
|
|
8
|
+
|
|
9
|
+
describe('LunarCalendar – accessibility (axe)', () => {
|
|
10
|
+
it('has no obvious axe violations with default props', async () => {
|
|
11
|
+
const wrapper = mount(LunarCalendar, {
|
|
12
|
+
props: {
|
|
13
|
+
label: 'Date de naissance lunaire',
|
|
14
|
+
},
|
|
15
|
+
modelValue: '',
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
19
|
+
assertNoA11yViolations(results, 'LunarCalendar - default props', {
|
|
20
|
+
ignoreRules: ['region'],
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it('has no obvious axe violations with value', async () => {
|
|
25
|
+
const wrapper = mount(LunarCalendar, {
|
|
26
|
+
props: {
|
|
27
|
+
label: 'Date de naissance lunaire',
|
|
28
|
+
},
|
|
29
|
+
modelValue: '15/08/2023',
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
33
|
+
assertNoA11yViolations(results, 'LunarCalendar - with value', {
|
|
34
|
+
ignoreRules: ['region'],
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
it('has no obvious axe violations with required field', async () => {
|
|
39
|
+
const wrapper = mount(LunarCalendar, {
|
|
40
|
+
props: {
|
|
41
|
+
label: 'Date de naissance lunaire',
|
|
42
|
+
required: true,
|
|
43
|
+
},
|
|
44
|
+
modelValue: '',
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
48
|
+
assertNoA11yViolations(results, 'LunarCalendar - required field', {
|
|
49
|
+
ignoreRules: ['region'],
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
it('has no obvious axe violations with error messages', async () => {
|
|
54
|
+
const wrapper = mount(LunarCalendar, {
|
|
55
|
+
props: {
|
|
56
|
+
label: 'Date de naissance lunaire',
|
|
57
|
+
required: true,
|
|
58
|
+
},
|
|
59
|
+
modelValue: 'invalid',
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
// Trigger validation
|
|
63
|
+
await wrapper.find('input').trigger('blur')
|
|
64
|
+
|
|
65
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
66
|
+
assertNoA11yViolations(results, 'LunarCalendar - with errors', {
|
|
67
|
+
ignoreRules: ['region'],
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
it('has no obvious axe violations with success messages', async () => {
|
|
72
|
+
const wrapper = mount(LunarCalendar, {
|
|
73
|
+
props: {
|
|
74
|
+
label: 'Date de naissance lunaire',
|
|
75
|
+
successMessages: 'Date valide',
|
|
76
|
+
},
|
|
77
|
+
modelValue: '15/08/2023',
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
81
|
+
assertNoA11yViolations(results, 'LunarCalendar - with success messages', {
|
|
82
|
+
ignoreRules: ['region'],
|
|
83
|
+
})
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
it('has no obvious axe violations with clearable field', async () => {
|
|
87
|
+
const wrapper = mount(LunarCalendar, {
|
|
88
|
+
props: {
|
|
89
|
+
label: 'Date de naissance lunaire',
|
|
90
|
+
isClearable: true,
|
|
91
|
+
},
|
|
92
|
+
modelValue: '15/08/2023',
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
96
|
+
assertNoA11yViolations(results, 'LunarCalendar - clearable field', {
|
|
97
|
+
ignoreRules: ['region'],
|
|
98
|
+
})
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
it('has no obvious axe violations with prepend icon', async () => {
|
|
102
|
+
const wrapper = mount(LunarCalendar, {
|
|
103
|
+
props: {
|
|
104
|
+
label: 'Date de naissance lunaire',
|
|
105
|
+
displayPrependIcon: true,
|
|
106
|
+
displayAppendIcon: false,
|
|
107
|
+
},
|
|
108
|
+
modelValue: '',
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
112
|
+
assertNoA11yViolations(results, 'LunarCalendar - with prepend icon', {
|
|
113
|
+
ignoreRules: ['region'],
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
it('has no obvious axe violations with append icon', async () => {
|
|
118
|
+
const wrapper = mount(LunarCalendar, {
|
|
119
|
+
props: {
|
|
120
|
+
label: 'Date de naissance lunaire',
|
|
121
|
+
displayPrependIcon: false,
|
|
122
|
+
displayAppendIcon: true,
|
|
123
|
+
},
|
|
124
|
+
modelValue: '',
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
128
|
+
assertNoA11yViolations(results, 'LunarCalendar - with append icon', {
|
|
129
|
+
ignoreRules: ['region'],
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
it('has no obvious axe violations with year constraints', async () => {
|
|
134
|
+
const wrapper = mount(LunarCalendar, {
|
|
135
|
+
props: {
|
|
136
|
+
label: 'Date de naissance lunaire',
|
|
137
|
+
minYear: 1900,
|
|
138
|
+
maxYear: 2023,
|
|
139
|
+
},
|
|
140
|
+
modelValue: '15/08/2023',
|
|
141
|
+
})
|
|
142
|
+
|
|
143
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
144
|
+
assertNoA11yViolations(results, 'LunarCalendar - with year constraints', {
|
|
145
|
+
ignoreRules: ['region'],
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
|
|
149
|
+
it('has no obvious axe violations with placeholder', async () => {
|
|
150
|
+
const wrapper = mount(LunarCalendar, {
|
|
151
|
+
props: {
|
|
152
|
+
label: 'Date de naissance lunaire',
|
|
153
|
+
placeholder: 'JJ/MM/AAAA',
|
|
154
|
+
},
|
|
155
|
+
modelValue: '',
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
159
|
+
assertNoA11yViolations(results, 'LunarCalendar - with placeholder', {
|
|
160
|
+
ignoreRules: ['region'],
|
|
161
|
+
})
|
|
162
|
+
})
|
|
163
|
+
})
|