@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
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
import { mdiCalendarMonthOutline } from '@mdi/js'
|
|
17
17
|
import type { DateObjectValue } from '../types'
|
|
18
18
|
import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
|
|
19
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
19
20
|
|
|
20
21
|
// Initialiser les plugins dayjs
|
|
21
22
|
dayjs.extend(customParseFormat)
|
|
@@ -74,6 +75,8 @@
|
|
|
74
75
|
isValidateOnBlur?: boolean
|
|
75
76
|
hint?: string
|
|
76
77
|
persistentHint?: boolean
|
|
78
|
+
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
|
|
79
|
+
|
|
77
80
|
}>(), {
|
|
78
81
|
modelValue: undefined,
|
|
79
82
|
placeholder: undefined,
|
|
@@ -112,6 +115,7 @@
|
|
|
112
115
|
isValidateOnBlur: true,
|
|
113
116
|
hint: undefined,
|
|
114
117
|
persistentHint: false,
|
|
118
|
+
headingLevel: 3,
|
|
115
119
|
})
|
|
116
120
|
|
|
117
121
|
// La compatibilité entre isBirthDate et birthDate est gérée directement dans l'appel au composable
|
|
@@ -780,8 +784,8 @@
|
|
|
780
784
|
textInputValue.value = ''
|
|
781
785
|
}
|
|
782
786
|
else if (Array.isArray(newValue) && props.displayRange) {
|
|
783
|
-
|
|
784
|
-
|
|
787
|
+
// Pour les plages de dates, on ne modifie pas directement textInputValue
|
|
788
|
+
// car le DateTextInput gère son propre formatage
|
|
785
789
|
}
|
|
786
790
|
else if (typeof newValue === 'string') {
|
|
787
791
|
// Pour une date unique
|
|
@@ -880,9 +884,7 @@
|
|
|
880
884
|
</script>
|
|
881
885
|
|
|
882
886
|
<template>
|
|
883
|
-
<div
|
|
884
|
-
class="date-picker-container"
|
|
885
|
-
>
|
|
887
|
+
<div class="date-picker-container">
|
|
886
888
|
<template v-if="props.noCalendar">
|
|
887
889
|
<DateTextInput
|
|
888
890
|
ref="dateTextInputRef"
|
|
@@ -925,6 +927,7 @@
|
|
|
925
927
|
<template v-else-if="props.useCombinedMode">
|
|
926
928
|
<ComplexDatePicker
|
|
927
929
|
ref="complexDatePickerRef"
|
|
930
|
+
:heading-level="headingLevel"
|
|
928
931
|
:model-value="props.modelValue"
|
|
929
932
|
:format="props.format"
|
|
930
933
|
:date-format-return="props.dateFormatReturn"
|
|
@@ -1022,6 +1025,7 @@
|
|
|
1022
1025
|
ref="datePickerRef"
|
|
1023
1026
|
v-model="selectedDates"
|
|
1024
1027
|
color="primary"
|
|
1028
|
+
control-variant="modal"
|
|
1025
1029
|
:first-day-of-week="1"
|
|
1026
1030
|
:multiple="props.displayRange ? 'range' : false"
|
|
1027
1031
|
:show-adjacent-months="true"
|
|
@@ -1043,9 +1047,12 @@
|
|
|
1043
1047
|
Sélectionnez une date
|
|
1044
1048
|
</template>
|
|
1045
1049
|
<template #header>
|
|
1046
|
-
<
|
|
1050
|
+
<SyHeading
|
|
1051
|
+
class="mx-auto my-auto ml-5 mb-4"
|
|
1052
|
+
:level="headingLevel"
|
|
1053
|
+
>
|
|
1047
1054
|
{{ selectedDates ? displayedDateString : headerDate }}
|
|
1048
|
-
</
|
|
1055
|
+
</SyHeading>
|
|
1049
1056
|
</template>
|
|
1050
1057
|
<template
|
|
1051
1058
|
v-if="props.displayTodayButton"
|
|
@@ -1210,7 +1217,7 @@
|
|
|
1210
1217
|
}
|
|
1211
1218
|
|
|
1212
1219
|
:deep(.v-date-picker-month__day--selected .v-btn:hover) {
|
|
1213
|
-
background-color: tokens.$colors-background-accent-contrasted !important;
|
|
1220
|
+
background-color: tokens.$colors-background-accent-primary-contrasted !important;
|
|
1214
1221
|
}
|
|
1215
1222
|
|
|
1216
1223
|
.fade-enter-active,
|
|
@@ -1275,6 +1282,10 @@
|
|
|
1275
1282
|
}
|
|
1276
1283
|
}
|
|
1277
1284
|
|
|
1285
|
+
:deep(.v-date-picker-months) {
|
|
1286
|
+
flex: 1;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1278
1289
|
:deep(.v-date-picker-months .v-btn__content) {
|
|
1279
1290
|
font-size: 1rem;
|
|
1280
1291
|
}
|
|
@@ -1303,4 +1314,5 @@
|
|
|
1303
1314
|
:deep(.v-picker__body .v-btn--active .v-btn__overlay) {
|
|
1304
1315
|
opacity: 0;
|
|
1305
1316
|
}
|
|
1317
|
+
|
|
1306
1318
|
</style>
|
|
@@ -77,8 +77,12 @@ describe('DatePicker', () => {
|
|
|
77
77
|
expect(result.length).toBe(2)
|
|
78
78
|
expect(result[0]).toBeInstanceOf(Date)
|
|
79
79
|
expect(result[1]).toBeInstanceOf(Date)
|
|
80
|
-
expect(result[0]?.
|
|
81
|
-
expect(result[
|
|
80
|
+
expect(result[0]?.getFullYear()).toBe(2023)
|
|
81
|
+
expect(result[0]?.getMonth()).toBe(0)
|
|
82
|
+
expect(result[0]?.getDate()).toBe(1)
|
|
83
|
+
expect(result[1]?.getFullYear()).toBe(2023)
|
|
84
|
+
expect(result[1]?.getMonth()).toBe(0)
|
|
85
|
+
expect(result[1]?.getDate()).toBe(5)
|
|
82
86
|
})
|
|
83
87
|
|
|
84
88
|
it('initializeSelectedDates returns an empty array for invalid range inputs', () => {
|
|
@@ -106,7 +110,9 @@ describe('DatePicker', () => {
|
|
|
106
110
|
if (!(result instanceof Date)) {
|
|
107
111
|
throw new Error('Expected initializeSelectedDates to return a Date for a single valid date')
|
|
108
112
|
}
|
|
109
|
-
expect(result.
|
|
113
|
+
expect(result.getFullYear()).toBe(2023)
|
|
114
|
+
expect(result.getMonth()).toBe(0)
|
|
115
|
+
expect(result.getDate()).toBe(1)
|
|
110
116
|
})
|
|
111
117
|
|
|
112
118
|
it('initializeSelectedDates returns an empty array when start date is after end date', () => {
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
import { getDateDescription as getDateDescriptionUtil } from '../utils/dateFormattingUtils'
|
|
47
47
|
import customParseFormat from 'dayjs/plugin/customParseFormat'
|
|
48
48
|
import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
|
|
49
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
49
50
|
|
|
50
51
|
dayjs.extend(customParseFormat)
|
|
51
52
|
|
|
@@ -170,6 +171,8 @@
|
|
|
170
171
|
density?: 'default' | 'comfortable' | 'compact'
|
|
171
172
|
hint?: string
|
|
172
173
|
persistentHint?: boolean
|
|
174
|
+
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
|
|
175
|
+
|
|
173
176
|
}>(),
|
|
174
177
|
{
|
|
175
178
|
modelValue: undefined,
|
|
@@ -207,6 +210,7 @@
|
|
|
207
210
|
density: 'default',
|
|
208
211
|
hint: undefined,
|
|
209
212
|
persistentHint: false,
|
|
213
|
+
headingLevel: 3,
|
|
210
214
|
},
|
|
211
215
|
)
|
|
212
216
|
|
|
@@ -591,7 +595,9 @@
|
|
|
591
595
|
*/
|
|
592
596
|
const dateTextInputRef = ref<null | ComponentPublicInstance<typeof DateTextInput>>()
|
|
593
597
|
const dateCalendarTextInputRef = ref<null | ComponentPublicInstance<typeof SyTextField>>()
|
|
598
|
+
const menuActivatorRef = ref<HTMLElement | undefined>(undefined)
|
|
594
599
|
const datePickerRef = ref<null | ComponentPublicInstance<typeof VDatePicker>>()
|
|
600
|
+
const datePickerContentId = `date-picker-${Math.random().toString(36).slice(2)}`
|
|
595
601
|
|
|
596
602
|
/**
|
|
597
603
|
* Holiday marking (partagé via useHolidayHighlighting)
|
|
@@ -1050,7 +1056,7 @@
|
|
|
1050
1056
|
<template v-else>
|
|
1051
1057
|
<VMenu
|
|
1052
1058
|
v-model="isDatePickerVisible"
|
|
1053
|
-
activator="
|
|
1059
|
+
:activator="menuActivatorRef"
|
|
1054
1060
|
:min-width="0"
|
|
1055
1061
|
location="bottom"
|
|
1056
1062
|
:close-on-content-click="false"
|
|
@@ -1059,55 +1065,65 @@
|
|
|
1059
1065
|
transition="fade-transition"
|
|
1060
1066
|
:offset="[0, 10]"
|
|
1061
1067
|
>
|
|
1062
|
-
<template #activator
|
|
1063
|
-
<
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
:
|
|
1069
|
-
:
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1068
|
+
<template #activator>
|
|
1069
|
+
<div
|
|
1070
|
+
ref="menuActivatorRef"
|
|
1071
|
+
class="date-text-input-activator"
|
|
1072
|
+
role="combobox"
|
|
1073
|
+
aria-haspopup="dialog"
|
|
1074
|
+
:aria-expanded="isDatePickerVisible"
|
|
1075
|
+
:aria-controls="datePickerContentId"
|
|
1076
|
+
>
|
|
1077
|
+
<DateTextInput
|
|
1078
|
+
ref="dateCalendarTextInputRef"
|
|
1079
|
+
:key="fieldKey"
|
|
1080
|
+
:model-value="textInputValue"
|
|
1081
|
+
:label="labelWithAsterisk"
|
|
1082
|
+
:placeholder="props.placeholder"
|
|
1083
|
+
:format="props.format"
|
|
1084
|
+
:date-format-return="props.dateFormatReturn"
|
|
1085
|
+
:required="props.required"
|
|
1086
|
+
:disabled="props.disabled"
|
|
1087
|
+
:readonly="props.readonly"
|
|
1088
|
+
:title="props.title"
|
|
1089
|
+
:is-outlined="props.isOutlined"
|
|
1090
|
+
:display-icon="props.displayIcon"
|
|
1091
|
+
:display-append-icon="props.displayAppendIcon"
|
|
1092
|
+
:display-prepend-icon="props.displayPrependIcon"
|
|
1093
|
+
:no-icon="props.noIcon"
|
|
1094
|
+
:custom-rules="props.customRules"
|
|
1095
|
+
:custom-warning-rules="props.customWarningRules"
|
|
1096
|
+
:display-asterisk="props.displayAsterisk"
|
|
1097
|
+
:disable-error-handling="props.disableErrorHandling"
|
|
1098
|
+
:show-success-messages="props.showSuccessMessages"
|
|
1099
|
+
:bg-color="props.bgColor"
|
|
1100
|
+
:display-range="props.displayRange"
|
|
1101
|
+
:is-validate-on-blur="props.isValidateOnBlur"
|
|
1102
|
+
:external-error-messages="errorMessages"
|
|
1103
|
+
:class="[getMessageClasses(), 'label-hidden-on-focus']"
|
|
1104
|
+
:auto-clamp="props.autoClamp"
|
|
1105
|
+
:density="props.density"
|
|
1106
|
+
:hint="props.hint"
|
|
1107
|
+
:persistent-hint="props.persistentHint"
|
|
1108
|
+
@update:model-value="handleDateTextInputUpdate"
|
|
1109
|
+
@click="openDatePickerOnClick"
|
|
1110
|
+
@focus="openDatePickerOnFocus"
|
|
1111
|
+
@blur="handleInputBlur"
|
|
1112
|
+
@input="handleInput"
|
|
1113
|
+
@keydown="handleKeydown"
|
|
1114
|
+
@date-selected="handleDateSelected"
|
|
1115
|
+
@prepend-icon-click="openDatePickerOnIconClick"
|
|
1116
|
+
@append-icon-click="openDatePickerOnIconClick"
|
|
1117
|
+
/>
|
|
1118
|
+
</div>
|
|
1105
1119
|
</template>
|
|
1106
1120
|
|
|
1107
1121
|
<VDatePicker
|
|
1108
1122
|
v-if="isDatePickerVisible"
|
|
1123
|
+
:id="datePickerContentId"
|
|
1109
1124
|
ref="datePickerRef"
|
|
1110
1125
|
v-model="selectedDates"
|
|
1126
|
+
control-variant="modal"
|
|
1111
1127
|
color="primary"
|
|
1112
1128
|
:class="props.displayWeekendDays ? 'weekend' : ''"
|
|
1113
1129
|
:first-day-of-week="1"
|
|
@@ -1142,9 +1158,12 @@
|
|
|
1142
1158
|
</span>
|
|
1143
1159
|
</template>
|
|
1144
1160
|
<template #header>
|
|
1145
|
-
<
|
|
1161
|
+
<SyHeading
|
|
1162
|
+
class="mx-auto my-auto ml-5 mb-4"
|
|
1163
|
+
:level="headingLevel"
|
|
1164
|
+
>
|
|
1146
1165
|
{{ selectedDates ? displayedDateString : headerDate }}
|
|
1147
|
-
</
|
|
1166
|
+
</SyHeading>
|
|
1148
1167
|
</template>
|
|
1149
1168
|
<template
|
|
1150
1169
|
v-if="props.displayTodayButton"
|
|
@@ -1299,7 +1318,7 @@
|
|
|
1299
1318
|
}
|
|
1300
1319
|
|
|
1301
1320
|
:deep(.v-date-picker-month__day--selected .v-btn:hover) {
|
|
1302
|
-
background-color: tokens.$colors-background-accent-contrasted !important;
|
|
1321
|
+
background-color: tokens.$colors-background-accent-primary-contrasted !important;
|
|
1303
1322
|
}
|
|
1304
1323
|
|
|
1305
1324
|
:deep(.weekend .v-date-picker-month__day--week-end .v-btn) {
|
|
@@ -1355,6 +1374,10 @@
|
|
|
1355
1374
|
}
|
|
1356
1375
|
}
|
|
1357
1376
|
|
|
1377
|
+
:deep(.v-date-picker-months) {
|
|
1378
|
+
flex: 1;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1358
1381
|
:deep(.v-date-picker-months .v-btn__content) {
|
|
1359
1382
|
font-size: 1rem;
|
|
1360
1383
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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 ComplexDatePicker from '../ComplexDatePicker.vue'
|
|
8
|
+
|
|
9
|
+
// Scénario d’accessibilité : sélecteur de date combiné (champ + calendrier),
|
|
10
|
+
// en mode simple, avec label et format jour/mois/année.
|
|
11
|
+
|
|
12
|
+
describe('ComplexDatePicker – accessibility (axe)', () => {
|
|
13
|
+
it('has no obvious axe violations in default calendar mode', async () => {
|
|
14
|
+
const wrapper = mount(ComplexDatePicker, {
|
|
15
|
+
props: {
|
|
16
|
+
label: 'Date',
|
|
17
|
+
format: 'DD/MM/YYYY',
|
|
18
|
+
},
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
const ignoredRules = ['region'] // Ignoring 'region' rule as per test configuration
|
|
22
|
+
|
|
23
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
24
|
+
// Debug aid: log violations details when present
|
|
25
|
+
if (results.violations.filter(
|
|
26
|
+
v => !ignoredRules.includes(v.id), // Ignoring specified rules as per test configuration
|
|
27
|
+
).length > 0) {
|
|
28
|
+
console.log(JSON.stringify(results.violations, null, 2))
|
|
29
|
+
}
|
|
30
|
+
assertNoA11yViolations(results, 'ComplexDatePicker – default calendar mode', {
|
|
31
|
+
ignoreRules: ignoredRules,
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
})
|
|
@@ -0,0 +1,27 @@
|
|
|
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 DateTextInput from '../DateTextInput.vue'
|
|
8
|
+
|
|
9
|
+
// Scénario d’accessibilité : champ texte de date seul, requis,
|
|
10
|
+
// avec format jour/mois/année.
|
|
11
|
+
|
|
12
|
+
describe('DateTextInput – accessibility (axe)', () => {
|
|
13
|
+
it('has no obvious axe violations for a required single date field', async () => {
|
|
14
|
+
const wrapper = mount(DateTextInput, {
|
|
15
|
+
props: {
|
|
16
|
+
label: 'Date',
|
|
17
|
+
format: 'DD/MM/YYYY',
|
|
18
|
+
required: true,
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
23
|
+
assertNoA11yViolations(results, 'DateTextInput – required single date', {
|
|
24
|
+
ignoreRules: ['region'],
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
})
|
|
@@ -142,10 +142,12 @@
|
|
|
142
142
|
|
|
143
143
|
<template>
|
|
144
144
|
<div class="date-picker-bidirectional-validation">
|
|
145
|
-
<
|
|
145
|
+
<SyHeading
|
|
146
|
+
class="text-h5 mb-6"
|
|
147
|
+
:level="1"
|
|
148
|
+
>
|
|
146
149
|
Validation bidirectionnelle entre deux DatePickers
|
|
147
|
-
</
|
|
148
|
-
|
|
150
|
+
</SyHeading>
|
|
149
151
|
<div class="text-body-2 mb-4">
|
|
150
152
|
Ce composant démontre la validation bidirectionnelle entre deux DatePickers. Les règles de validation sont appliquées dans les deux sens :
|
|
151
153
|
<ul class="ml-4">
|
|
@@ -158,12 +160,16 @@
|
|
|
158
160
|
|
|
159
161
|
<div class="date-range-container mb-6">
|
|
160
162
|
<div class="date-picker-wrapper">
|
|
161
|
-
<
|
|
163
|
+
<SyHeading
|
|
164
|
+
class="text-subtitle-1 mb-2"
|
|
165
|
+
:level="2"
|
|
166
|
+
>
|
|
162
167
|
Date de début
|
|
163
|
-
</
|
|
168
|
+
</SyHeading>
|
|
164
169
|
<DatePicker
|
|
165
170
|
ref="startDatePickerRef"
|
|
166
171
|
v-model="startDate"
|
|
172
|
+
:heading-level="2"
|
|
167
173
|
label="Date de début"
|
|
168
174
|
:custom-rules="startDateRules"
|
|
169
175
|
use-combined-mode
|
|
@@ -172,12 +178,17 @@
|
|
|
172
178
|
/>
|
|
173
179
|
</div>
|
|
174
180
|
<div class="date-picker-wrapper">
|
|
175
|
-
<
|
|
181
|
+
<SyHeading
|
|
182
|
+
class="text-subtitle-1 mb-2"
|
|
183
|
+
:level="2"
|
|
184
|
+
>
|
|
176
185
|
Date de fin
|
|
177
|
-
</
|
|
186
|
+
</SyHeading>
|
|
178
187
|
<DatePicker
|
|
179
188
|
ref="endDatePickerRef"
|
|
180
189
|
v-model="endDate"
|
|
190
|
+
:heading-level="2"
|
|
191
|
+
:heading-level-complex-date-picker="2"
|
|
181
192
|
label="Date de fin"
|
|
182
193
|
:custom-rules="endDateRules"
|
|
183
194
|
use-combined-mode
|
|
@@ -221,9 +232,12 @@
|
|
|
221
232
|
</div>
|
|
222
233
|
|
|
223
234
|
<div class="mt-6 pa-4 bg-grey-lighten-4 rounded">
|
|
224
|
-
<
|
|
235
|
+
<SyHeading
|
|
236
|
+
class="text-subtitle-1 mb-2"
|
|
237
|
+
:level="3"
|
|
238
|
+
>
|
|
225
239
|
Comment fonctionne la validation bidirectionnelle
|
|
226
|
-
</
|
|
240
|
+
</SyHeading>
|
|
227
241
|
<p class="text-body-2">
|
|
228
242
|
La validation bidirectionnelle entre les DatePickers est implémentée grâce à des règles de validation personnalisées
|
|
229
243
|
qui vérifient la relation entre les deux dates. Chaque DatePicker a sa propre règle qui vérifie sa valeur par rapport à l'autre.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { ref, computed, watch } from 'vue'
|
|
3
3
|
import DatePicker from '@/components/DatePicker/CalendarMode/DatePicker.vue'
|
|
4
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
4
5
|
// useDateFormat n'est plus nécessaire avec les règles prédéfinies
|
|
5
6
|
|
|
6
7
|
// État des dates
|
|
@@ -142,9 +143,9 @@
|
|
|
142
143
|
|
|
143
144
|
<template>
|
|
144
145
|
<div class="date-picker-bidirectional-validation">
|
|
145
|
-
<
|
|
146
|
+
<SyHeading :level="1">
|
|
146
147
|
Validation bidirectionnelle entre deux DatePickers
|
|
147
|
-
</
|
|
148
|
+
</SyHeading>
|
|
148
149
|
|
|
149
150
|
<div class="text-body-2 mb-4">
|
|
150
151
|
Ce composant démontre la validation bidirectionnelle entre deux DatePickers. Les règles de validation sont appliquées dans les deux sens :
|
|
@@ -158,12 +159,16 @@
|
|
|
158
159
|
|
|
159
160
|
<div class="date-range-container mb-6">
|
|
160
161
|
<div class="date-picker-wrapper">
|
|
161
|
-
<
|
|
162
|
+
<SyHeading
|
|
163
|
+
class="text-subtitle-1 mb-2"
|
|
164
|
+
:level="2"
|
|
165
|
+
>
|
|
162
166
|
Date de début
|
|
163
|
-
</
|
|
167
|
+
</SyHeading>
|
|
164
168
|
<DatePicker
|
|
165
169
|
ref="startDatePickerRef"
|
|
166
170
|
v-model="startDate"
|
|
171
|
+
:heading-level="2"
|
|
167
172
|
label="Date de début"
|
|
168
173
|
:custom-rules="startDateRules"
|
|
169
174
|
required
|
|
@@ -171,13 +176,18 @@
|
|
|
171
176
|
/>
|
|
172
177
|
</div>
|
|
173
178
|
<div class="date-picker-wrapper">
|
|
174
|
-
<
|
|
179
|
+
<SyHeading
|
|
180
|
+
class="text-subtitle-1 mb-2"
|
|
181
|
+
:level="2"
|
|
182
|
+
>
|
|
175
183
|
Date de fin
|
|
176
|
-
</
|
|
184
|
+
</SyHeading>
|
|
177
185
|
<DatePicker
|
|
178
186
|
ref="endDatePickerRef"
|
|
179
187
|
v-model="endDate"
|
|
180
188
|
label="Date de fin"
|
|
189
|
+
:heading-level="2"
|
|
190
|
+
:heading-level-complex-date-picker="2"
|
|
181
191
|
:custom-rules="endDateRules"
|
|
182
192
|
required
|
|
183
193
|
@update:model-value="validateStartDate"
|
|
@@ -219,9 +229,12 @@
|
|
|
219
229
|
</div>
|
|
220
230
|
|
|
221
231
|
<div class="mt-6 pa-4 bg-grey-lighten-4 rounded">
|
|
222
|
-
<
|
|
232
|
+
<SyHeading
|
|
233
|
+
class="text-subtitle-1 mb-2"
|
|
234
|
+
:level="3"
|
|
235
|
+
>
|
|
223
236
|
Comment fonctionne la validation bidirectionnelle
|
|
224
|
-
</
|
|
237
|
+
</SyHeading>
|
|
225
238
|
<p class="text-body-2">
|
|
226
239
|
La validation bidirectionnelle entre les DatePickers est implémentée grâce à des règles de validation personnalisées
|
|
227
240
|
qui vérifient la relation entre les deux dates. Chaque DatePicker a sa propre règle qui vérifie sa valeur par rapport à l'autre.
|