@cnamts/synapse 1.0.20 → 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-XURUmpMl.js → DateFilter-B5n-ZkLi.js} +29 -24
- package/dist/{NumberFilter-BZc0O8wV.js → NumberFilter-CtiZ9uj8.js} +1 -1
- package/dist/{PeriodFilter-ZNdXcl3p.js → PeriodFilter-DzqiMb-b.js} +1 -1
- package/dist/{SelectFilter-DshYU5OK.js → SelectFilter-BOYlF7rX.js} +1 -1
- package/dist/{TextFilter-D_c5dRPl.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 +162 -0
- package/dist/components/Customs/SyCheckBoxGroup/locales.d.ts +3 -0
- package/dist/components/Customs/SyCheckBoxGroup/types.d.ts +10 -0
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1668 -5
- 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 +1609 -4
- 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/DeclarationAccessibilityPage/DeclarationAccessibilityPage.d.ts +60 -0
- 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 +5 -12
- package/dist/components/ErrorPage/locales.d.ts +18 -3
- package/dist/components/FileList/UploadItem/locales.d.ts +4 -0
- package/dist/components/FileUpload/FileUpload.d.ts +6 -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/MaintenancePage/locales.d.ts +18 -2
- package/dist/components/NirField/NirField.d.ts +1659 -1371
- package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
- package/dist/components/NotFoundPage/locales.d.ts +20 -4
- 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 +50 -0
- 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 +35 -1212
- package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/design-system-v3.js +131 -127
- package/dist/design-system-v3.umd.cjs +274 -274
- 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/utils/theme/index.d.ts +6 -0
- package/dist/vuetifyConfig.d.ts +14 -14
- package/package.json +16 -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/ContextualMenu/ContextualMenu.stories.ts +0 -3
- package/src/components/ContextualMenu/accessibilite/Accessibility.mdx +67 -11
- package/src/components/CookieBanner/CookieBanner.stories.ts +21 -20
- package/src/components/CookieBanner/CookieBanner.vue +35 -10
- package/src/components/CookieBanner/accessibilite/Accessibility.mdx +76 -11
- package/src/components/CookieBanner/tests/CookieBanner.spec.ts +56 -4
- 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/SyCheckBoxGroup/SyCheckBoxGroup.mdx +32 -0
- package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.stories.ts +856 -0
- package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +334 -0
- package/src/components/Customs/SyCheckBoxGroup/accessibilite/Accessibility.mdx +243 -0
- package/src/components/Customs/SyCheckBoxGroup/locales.ts +3 -0
- package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.a11y.spec.ts +30 -0
- package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.spec.ts +152 -0
- package/src/components/Customs/SyCheckBoxGroup/types.ts +10 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +17 -28
- package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +1 -1
- package/src/components/Customs/SyForm/SyForm.a11y.spec.ts +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 +38 -12
- package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
- package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +16 -43
- 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 +55 -19
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +44 -3
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +9 -1
- package/src/components/DatePicker/DateTextInput/DateTextInput.vue +48 -21
- package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +98 -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/DeclarationAccessibilityPage/DeclarationAccessibilityPage.mdx +83 -0
- package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.stories.ts +502 -0
- package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.vue +428 -0
- package/src/components/DeclarationAccessibilityPage/accessibilite/Accessibility.mdx +75 -0
- package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.a11y.spec.ts +53 -0
- package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.spec.ts +59 -0
- package/src/components/DiacriticPicker/DiacriticPicker.vue +20 -1
- 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.mdx +6 -16
- package/src/components/ErrorPage/ErrorPage.stories.ts +90 -126
- package/src/components/ErrorPage/ErrorPage.vue +44 -125
- package/src/components/ErrorPage/accessibilite/Accessibility.mdx +83 -6
- package/src/components/ErrorPage/assets/error-ap.svg +1774 -0
- package/src/components/ErrorPage/locales.ts +21 -3
- package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +5 -13
- package/src/components/ErrorPage/tests/ErrorPage.spec.ts +2 -41
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +10 -266
- 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 +65 -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 +316 -48
- package/src/components/FooterBar/FooterBar.vue +67 -9
- package/src/components/FooterBar/config.ts +2 -2
- package/src/components/FooterBar/defaultSocialMediaLinks.ts +6 -4
- 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.mdx +1 -1
- package/src/components/MaintenancePage/MaintenancePage.vue +42 -7
- package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +63 -6
- package/src/components/MaintenancePage/assets/maintenance-ap.svg +1718 -0
- package/src/components/MaintenancePage/locales.ts +24 -3
- package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +76 -3
- package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +60 -2
- package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +5 -2
- package/src/components/NotFoundPage/NotFoundPage.mdx +1 -1
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +4 -4
- package/src/components/NotFoundPage/NotFoundPage.vue +30 -14
- package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +80 -6
- package/src/components/NotFoundPage/assets/not-found-ap.svg +2061 -0
- package/src/components/NotFoundPage/locales.ts +24 -4
- package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +217 -4
- package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +123 -12
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +4 -2
- package/src/components/NotificationBar/NotificationBar.mdx +2 -2
- package/src/components/NotificationBar/accessibilite/Accessibility.mdx +68 -8
- package/src/components/PageContainer/PageContainer.stories.ts +47 -0
- package/src/components/PageContainer/PageContainer.vue +4 -2
- package/src/components/PageContainer/accessibilite/Accessibility.mdx +67 -0
- package/src/components/PageContainer/tests/PageContainer.a11y.spec.ts +14 -7
- 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 +115 -69
- 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 +22 -9
- 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/DefaultSocialMediaLinks.ts +6 -4
- package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +7 -5
- package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +17 -13
- package/src/components/SocialMediaLinks/SocialMediaLinks.vue +10 -2
- package/src/components/SocialMediaLinks/accessibilite/Accessibility.mdx +63 -11
- package/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.ts +5 -5
- package/src/components/SocialMediaLinks/tests/SocialMediaLinks.a11y.spec.ts +59 -0
- package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +9 -7
- package/src/components/StatusPage/StatusPage.mdx +31 -0
- package/src/components/StatusPage/StatusPage.stories.ts +236 -0
- package/src/components/StatusPage/StatusPage.vue +167 -0
- package/src/components/StatusPage/accessibilite/Accessibility.mdx +100 -0
- package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +30 -0
- package/src/components/StatusPage/tests/StatusPage.spec.ts +53 -0
- package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +272 -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/TableToolbar.stories.ts +6 -6
- package/src/components/TableToolbar/TableToolbar.vue +1 -1
- package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -35
- 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.mdx +11 -1
- package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +118 -14
- package/src/components/UploadWorkflow/UploadWorkflow.vue +59 -31
- 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 +37 -7
- package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +139 -112
- package/src/components/UploadWorkflow/useFileList.ts +7 -0
- 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 +4 -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/rules/tests/useFieldValidation.spec.ts +39 -3
- package/src/composables/rules/useFieldValidation.ts +24 -9
- 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/Accessibilite/KitDePreAudit/Preaudit.mdx +7 -0
- 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/src/utils/theme/index.ts +19 -0
- package/src/utils/theme/tests/useThemeLocales.spec.ts +245 -0
- package/dist/components/MaintenancePage/index.d.ts +0 -2
- package/dist/main-CuI6xaPq.js +0 -36396
- package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +0 -51
- package/src/components/DataListItem/tests/DataListItem.a11y.spec.ts +0 -31
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +0 -27
- package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +0 -26
- package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +0 -39
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.a11y.spec.ts +0 -45
- package/src/components/HeaderToolbar/tests/HeaderToolbar.a11y.spec.ts +0 -25
- package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +0 -31
- package/src/components/MaintenancePage/index.ts +0 -3
- package/src/components/PageContainer/Accessibilite/Accessibility.mdx +0 -53
- package/src/components/PageContainer/Accessibilite/AccessibilityGuide.mdx +0 -0
- package/src/components/PaginatedTable/tests/PaginatedTable.a11y.spec.ts +0 -43
- /package/src/components/NotFoundPage/assets/{not-found.svg → not-found-cnam.svg} +0 -0
|
@@ -1,15 +1,86 @@
|
|
|
1
|
-
import { Meta,
|
|
2
|
-
import * as
|
|
3
|
-
import '@/
|
|
1
|
+
import { Meta, Primary } from '@storybook/blocks';
|
|
2
|
+
import * as CopyBtnStories from '../CopyBtn.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
|
+
AuditSection
|
|
12
|
+
} from '@/stories/accessibility/AccessibilityGuideLayout.mdx';
|
|
4
13
|
|
|
5
|
-
<Meta of={
|
|
14
|
+
<Meta of={CopyBtnStories}/>
|
|
6
15
|
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
16
|
+
<AccessibilityGuideLayout
|
|
17
|
+
componentName="CopyBtn"
|
|
18
|
+
iconSrc={AccessibilityIcon}
|
|
19
|
+
>
|
|
20
|
+
<CriteriaSection>
|
|
21
|
+
<CriteriaCard icon="🔍" title="Structure sémantique">
|
|
22
|
+
<ul>
|
|
23
|
+
<li><strong>Bouton natif</strong> : utilisation du composant<code>VBtn</code> qui génère un élément <code><button></code>, garantissant un comportement accessible par défaut.</li>
|
|
24
|
+
<li><strong>Nom accessible</strong> : l’attribut <code>aria-label</code>permet de fournir une description explicite de l’action (ex. « Copier le numéro de compte »).</li>
|
|
25
|
+
<li><strong>Association ARIA</strong> : les attributs<code>aria-owns</code> et <code>aria-controls</code> peuvent être utilisés pour relier le bouton à un élément spécifique de l’interface.</li>
|
|
26
|
+
<li><strong>Identifiants uniques</strong> : l’utilisation de<code>useId()</code> garantit des identifiants uniques pour chaque instance du composant.</li>
|
|
27
|
+
</ul>
|
|
28
|
+
</CriteriaCard>
|
|
10
29
|
|
|
30
|
+
<CriteriaCard icon="⌨️" title="Navigation clavier">
|
|
31
|
+
<ul>
|
|
32
|
+
<li><strong>Tabulation</strong> : le bouton est accessible dans l’ordre de tabulation standard de la page.</li>
|
|
33
|
+
<li><strong>Activation</strong> : l’action de copie peut être déclenchée avec la touche <kbd>Entrée</kbd> ou <kbd>Espace</kbd>.</li>
|
|
34
|
+
<li><strong>Focus visible</strong> : un style de focus est appliqué via<code>:focus-visible</code> pour assurer un repère visuel lors de la navigation clavier.</li>
|
|
35
|
+
</ul>
|
|
36
|
+
</CriteriaCard>
|
|
11
37
|
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
</
|
|
38
|
+
<CriteriaCard icon="📢" title="Retour d’information">
|
|
39
|
+
<ul>
|
|
40
|
+
<li><strong>Tooltip informatif</strong> : un message visuel indique que l’action de copie a été effectuée.</li>
|
|
41
|
+
<li><strong>Annonce aux technologies d’assistance</strong> : le message est contenu dans un élément avec <code>role="status"</code>, permettant aux lecteurs d’écran d’annoncer l’information.</li>
|
|
42
|
+
<li><strong>Durée configurable</strong> : l’affichage du tooltip peut être contrôlé via la prop <code>tooltipDuration</code>.</li>
|
|
43
|
+
<li><strong>Désactivation possible</strong> : la prop<code>hideTooltip</code> permet de désactiver l’affichage du retour visuel si nécessaire.</li>
|
|
44
|
+
</ul>
|
|
45
|
+
</CriteriaCard>
|
|
46
|
+
|
|
47
|
+
<CriteriaCard icon="🧩" title="Personnalisation accessible">
|
|
48
|
+
<ul>
|
|
49
|
+
<li><strong>Slots personnalisables</strong> : possibilité de remplacer l’icône ou le contenu du tooltip via les slots<code>icon</code> et <code>tooltip</code>.</li>
|
|
50
|
+
<li><strong>Libellés adaptables</strong> : les propriétés<code>ariaLabel</code> et <code>ariaOwns</code> permettent d’adapter les descriptions selon le contexte.</li>
|
|
51
|
+
<li><strong>Nettoyage du contenu copié</strong> : la prop<code>separatorsToRemove</code> permet de retirer des caractères visuels (ex. espaces ou tirets) avant la copie.</li>
|
|
52
|
+
</ul>
|
|
53
|
+
</CriteriaCard>
|
|
54
|
+
</CriteriaSection>
|
|
55
|
+
|
|
56
|
+
<DemoSection componentName="CopyBtn">
|
|
57
|
+
<Primary/>
|
|
58
|
+
</DemoSection>
|
|
59
|
+
|
|
60
|
+
<BestPracticesSection>
|
|
61
|
+
<ul>
|
|
62
|
+
<li>Fournir un <strong>aria-label explicite</strong> décrivant clairement l’action (ex. « Copier l’adresse email »).</li>
|
|
63
|
+
<li>Conserver un <strong>retour d’information visible ou vocal</strong>après l’action de copie pour informer l’utilisateur.</li>
|
|
64
|
+
<li>Si une icône seule est utilisée, toujours garantir la présence d’un<strong>nom accessible</strong>.</li>
|
|
65
|
+
<li>Veiller à une <strong>taille de cible suffisante</strong>(au moins 44px) pour les interactions tactiles.</li>
|
|
66
|
+
<li>S’assurer que le contenu copié correspond bien à ce que l’utilisateur attend (ex. numéro sans espaces).</li>
|
|
67
|
+
</ul>
|
|
68
|
+
</BestPracticesSection>
|
|
69
|
+
|
|
70
|
+
<ResourcesSection>
|
|
71
|
+
<ul>
|
|
72
|
+
<li><a href="https://www.w3.org/WAI/WCAG22/quickref/#name-role-value" target="_blank" rel="noopener noreferrer">Guide des pratiques d'auteur WAI-ARIA pour les Name, role, value</a></li>
|
|
73
|
+
<li><a href="https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA22" target="_blank" rel="noopener noreferrer">WAI-ARIA – rôle « status »</a></li>
|
|
74
|
+
<li><a href="https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html" target="_blank" rel="noopener noreferrer">WCAG 2.2 - Focus Visible</a></li>
|
|
75
|
+
</ul>
|
|
76
|
+
</ResourcesSection>
|
|
77
|
+
|
|
78
|
+
<AuditSection>
|
|
79
|
+
|
|
80
|
+
<div class="mt-2">
|
|
81
|
+
<p>Rapport d’audit manuel : <a href="/audits/CopyBtn.xlsx" style={{color: '#0C41BD'}}>Voir le rapport</a></p>
|
|
82
|
+
<p style={{color: 'grey', fontSize: '14px', marginTop: '0px'}}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/4008" target="_blank" style={{color: '#0C41BD'}}>issue #4008</a>)</p>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
</AuditSection>
|
|
86
|
+
</AccessibilityGuideLayout>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports[`CopyBtn > renders correctly 1`] = `
|
|
4
4
|
<div
|
|
5
5
|
class="sy-copy-btn"
|
|
6
|
-
id="copy-btn"
|
|
6
|
+
id="copy-btn-v-0"
|
|
7
7
|
label="test"
|
|
8
8
|
>
|
|
9
9
|
<v-tooltip-stub
|
|
@@ -12,6 +12,7 @@ exports[`CopyBtn > renders correctly 1`] = `
|
|
|
12
12
|
closeonback="false"
|
|
13
13
|
closeoncontentclick="false"
|
|
14
14
|
contained="false"
|
|
15
|
+
contentclass="tooltip"
|
|
15
16
|
disabled="false"
|
|
16
17
|
eager="true"
|
|
17
18
|
interactive="false"
|
|
@@ -24,8 +25,11 @@ exports[`CopyBtn > renders correctly 1`] = `
|
|
|
24
25
|
openonclick="true"
|
|
25
26
|
openonhover="false"
|
|
26
27
|
origin="auto"
|
|
28
|
+
persistent="false"
|
|
27
29
|
scrim="false"
|
|
28
30
|
scrollstrategy="reposition"
|
|
31
|
+
sticktotarget="false"
|
|
32
|
+
viewportmargin="12"
|
|
29
33
|
zindex="2000"
|
|
30
34
|
></v-tooltip-stub>
|
|
31
35
|
</div>
|
|
@@ -3,6 +3,7 @@ import SyInputSelect from './SyInputSelect.vue'
|
|
|
3
3
|
import { VBtn, VMenu, VList, VListItem, VListItemTitle, VForm } from 'vuetify/components'
|
|
4
4
|
import { ref } from 'vue'
|
|
5
5
|
import SyAlert from '../../../SyAlert/SyAlert.vue'
|
|
6
|
+
import { createDeprecationNotice } from '@/stories/DeprecationNotice/DeprecationNotice'
|
|
6
7
|
|
|
7
8
|
const meta = {
|
|
8
9
|
title: 'Composants/Formulaires/Selects/SyInputSelect',
|
|
@@ -601,16 +602,9 @@ const validateForm = () => {
|
|
|
601
602
|
},
|
|
602
603
|
}
|
|
603
604
|
|
|
604
|
-
// depreciation notice
|
|
605
605
|
export const DeprecationNotice = {
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
<SyAlert type="warning" variant="tonal" :closable="false">
|
|
610
|
-
<b>Ce composant est déprécié</b>, il ne sera plus maintenu ou mis à jour.<br/>
|
|
611
|
-
Nous vous recommandons d'utiliser à la place le composant <a class="text-primary" href="/?path=/docs/composants-formulaires-selects-syselect--docs"><code>SySelect</code></a>.
|
|
612
|
-
</SyAlert>
|
|
613
|
-
`,
|
|
614
|
-
}),
|
|
606
|
+
...createDeprecationNotice([
|
|
607
|
+
{ label: 'SySelect', url: '/?path=/docs/composants-formulaires-selects-syselect--docs' },
|
|
608
|
+
]),
|
|
615
609
|
tags: ['!dev'],
|
|
616
610
|
}
|
|
@@ -116,7 +116,7 @@ type Story = StoryObj<typeof meta>
|
|
|
116
116
|
export const Default: Story = {
|
|
117
117
|
parameters: {
|
|
118
118
|
a11y: {
|
|
119
|
-
disable:
|
|
119
|
+
disable: false,
|
|
120
120
|
},
|
|
121
121
|
sourceCode: [
|
|
122
122
|
{
|
|
@@ -189,7 +189,7 @@ export const Default: Story = {
|
|
|
189
189
|
export const HelpText: Story = {
|
|
190
190
|
parameters: {
|
|
191
191
|
a11y: {
|
|
192
|
-
disable:
|
|
192
|
+
disable: false,
|
|
193
193
|
},
|
|
194
194
|
sourceCode: [
|
|
195
195
|
{
|
|
@@ -266,7 +266,7 @@ export const HelpText: Story = {
|
|
|
266
266
|
export const Required: Story = {
|
|
267
267
|
parameters: {
|
|
268
268
|
a11y: {
|
|
269
|
-
disable:
|
|
269
|
+
disable: false,
|
|
270
270
|
},
|
|
271
271
|
sourceCode: [
|
|
272
272
|
{
|
|
@@ -327,7 +327,7 @@ export const Required: Story = {
|
|
|
327
327
|
export const RequiredWithAsterisk: Story = {
|
|
328
328
|
parameters: {
|
|
329
329
|
a11y: {
|
|
330
|
-
disable:
|
|
330
|
+
disable: false,
|
|
331
331
|
},
|
|
332
332
|
docs: {
|
|
333
333
|
description: {
|
|
@@ -395,7 +395,7 @@ const items = [
|
|
|
395
395
|
export const SlotPrepend: Story = {
|
|
396
396
|
parameters: {
|
|
397
397
|
a11y: {
|
|
398
|
-
disable:
|
|
398
|
+
disable: false,
|
|
399
399
|
},
|
|
400
400
|
sourceCode: [
|
|
401
401
|
{
|
|
@@ -462,7 +462,7 @@ export const SlotPrepend: Story = {
|
|
|
462
462
|
export const SlotAppend: Story = {
|
|
463
463
|
parameters: {
|
|
464
464
|
a11y: {
|
|
465
|
-
disable:
|
|
465
|
+
disable: false,
|
|
466
466
|
},
|
|
467
467
|
sourceCode: [
|
|
468
468
|
{
|
|
@@ -562,7 +562,7 @@ export const WithTooltips: Story = {
|
|
|
562
562
|
},
|
|
563
563
|
parameters: {
|
|
564
564
|
a11y: {
|
|
565
|
-
disable:
|
|
565
|
+
disable: false,
|
|
566
566
|
},
|
|
567
567
|
docs: {
|
|
568
568
|
description: {
|
|
@@ -777,7 +777,7 @@ const options = [
|
|
|
777
777
|
export const withCustomError: Story = {
|
|
778
778
|
parameters: {
|
|
779
779
|
a11y: {
|
|
780
|
-
disable:
|
|
780
|
+
disable: false,
|
|
781
781
|
},
|
|
782
782
|
sourceCode: [
|
|
783
783
|
{
|
|
@@ -855,7 +855,7 @@ export const withCustomError: Story = {
|
|
|
855
855
|
export const withCustomKey: Story = {
|
|
856
856
|
parameters: {
|
|
857
857
|
a11y: {
|
|
858
|
-
disable:
|
|
858
|
+
disable: false,
|
|
859
859
|
},
|
|
860
860
|
sourceCode: [
|
|
861
861
|
{
|
|
@@ -936,7 +936,7 @@ export const Info: Story = {
|
|
|
936
936
|
export const FormValidation: Story = {
|
|
937
937
|
parameters: {
|
|
938
938
|
a11y: {
|
|
939
|
-
disable:
|
|
939
|
+
disable: false,
|
|
940
940
|
},
|
|
941
941
|
docs: {
|
|
942
942
|
description: {
|
|
@@ -1048,8 +1048,21 @@
|
|
|
1048
1048
|
<VList
|
|
1049
1049
|
:id="uniqueMenuId"
|
|
1050
1050
|
ref="list"
|
|
1051
|
+
class="v-list"
|
|
1052
|
+
role="listbox"
|
|
1051
1053
|
:aria-label="$attrs['aria-label'] || labelWithAsterisk"
|
|
1052
1054
|
:title="$attrs['aria-label'] || labelWithAsterisk"
|
|
1055
|
+
:style="{
|
|
1056
|
+
minWidth: `${textInput?.$el.offsetWidth}px`
|
|
1057
|
+
}"
|
|
1058
|
+
bg-color="white"
|
|
1059
|
+
tabindex="0"
|
|
1060
|
+
@keydown.esc.prevent="closeList"
|
|
1061
|
+
@keydown.tab="handleTabKey"
|
|
1062
|
+
@keydown.enter.prevent="handleEnterKey"
|
|
1063
|
+
@keydown.down.prevent="handleDownKey"
|
|
1064
|
+
@keydown.up.prevent="handleUpKey"
|
|
1065
|
+
@keydown.home.prevent="handleHomeKey"
|
|
1053
1066
|
@keydown.end.prevent="handleEndKey"
|
|
1054
1067
|
@keydown.page-up.prevent="handlePageUpKey"
|
|
1055
1068
|
@keydown.page-down.prevent="handlePageDownKey"
|
|
@@ -1184,6 +1197,10 @@
|
|
|
1184
1197
|
background-color: rgb(0 0 0 / 8%);
|
|
1185
1198
|
}
|
|
1186
1199
|
|
|
1200
|
+
.v-list-item :deep(.v-list-item__overlay) {
|
|
1201
|
+
background-color: transparent;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1187
1204
|
/* Permettre le passage à la ligne pour les textes longs dans la liste déroulante */
|
|
1188
1205
|
.v-list-item-title {
|
|
1189
1206
|
white-space: normal;
|
|
@@ -61,10 +61,10 @@ export function useSySelectKeyboard(options: UseSySelectKeyboardOptions) {
|
|
|
61
61
|
allItems.forEach((item) => {
|
|
62
62
|
if (item !== element) {
|
|
63
63
|
item.classList.remove('keyboard-focused')
|
|
64
|
+
item.setAttribute('tabindex', '-1')
|
|
64
65
|
}
|
|
65
66
|
})
|
|
66
67
|
|
|
67
|
-
element.setAttribute('tabindex', '0')
|
|
68
68
|
element.setAttribute('tabindex', focusListItem ? '0' : '-1')
|
|
69
69
|
if (focusListItem) {
|
|
70
70
|
element.focus()
|
|
@@ -26,9 +26,7 @@ describe('SySelect – accessibility (axe)', () => {
|
|
|
26
26
|
|
|
27
27
|
// Ouvrir le menu pour inclure la liste déroulante dans l’analyse axe
|
|
28
28
|
const activator = wrapper.find('.sy-select')
|
|
29
|
-
|
|
30
|
-
await activator.trigger('click')
|
|
31
|
-
}
|
|
29
|
+
await activator.trigger('click')
|
|
32
30
|
|
|
33
31
|
const results = await axe(document.body)
|
|
34
32
|
assertNoA11yViolations(results, 'SySelect – required select with menu open', {
|
|
@@ -965,4 +965,76 @@ describe('SySelect.vue', () => {
|
|
|
965
965
|
wrapper.unmount()
|
|
966
966
|
})
|
|
967
967
|
})
|
|
968
|
+
|
|
969
|
+
describe('keyboard navigation', () => {
|
|
970
|
+
it('navigates options with arrow keys', async () => {
|
|
971
|
+
const items = [
|
|
972
|
+
{ text: 'Option 1', value: '1' },
|
|
973
|
+
{ text: 'Option 2', value: '2' },
|
|
974
|
+
{ text: 'Option 3', value: '3' },
|
|
975
|
+
]
|
|
976
|
+
const wrapper = mount(SySelect, {
|
|
977
|
+
props: {
|
|
978
|
+
items,
|
|
979
|
+
modelValue: null,
|
|
980
|
+
textKey: 'text',
|
|
981
|
+
valueKey: 'value',
|
|
982
|
+
},
|
|
983
|
+
attachTo: document.body,
|
|
984
|
+
})
|
|
985
|
+
|
|
986
|
+
await wrapper.find('.v-field').trigger('click')
|
|
987
|
+
await wrapper.vm.$nextTick()
|
|
988
|
+
|
|
989
|
+
const list = wrapper.findComponent(VList).find('.v-list')!
|
|
990
|
+
|
|
991
|
+
// expect the first item to be highlighted
|
|
992
|
+
const firstItem = wrapper.findComponent(VList).findAll('.v-list-item').at(0)
|
|
993
|
+
|
|
994
|
+
await wrapper.vm.$nextTick()
|
|
995
|
+
expect(firstItem?.classes()).toContain('active')
|
|
996
|
+
expect(firstItem?.attributes('tabindex')).toBe('0')
|
|
997
|
+
|
|
998
|
+
await list.trigger('keydown.down')
|
|
999
|
+
await wrapper.vm.$nextTick()
|
|
1000
|
+
|
|
1001
|
+
const secondItem = wrapper.findComponent(VList).findAll('.v-list-item').at(1)
|
|
1002
|
+
expect(firstItem?.classes()).not.toContain('keyboard-focused')
|
|
1003
|
+
expect(firstItem?.attributes('tabindex')).toBe('-1')
|
|
1004
|
+
expect(secondItem?.classes()).toContain('keyboard-focused')
|
|
1005
|
+
expect(secondItem?.attributes('tabindex')).toBe('0')
|
|
1006
|
+
|
|
1007
|
+
wrapper.unmount()
|
|
1008
|
+
})
|
|
1009
|
+
|
|
1010
|
+
it('selects an option with enter key', async () => {
|
|
1011
|
+
const items = [
|
|
1012
|
+
{ text: 'Option 1', value: '1' },
|
|
1013
|
+
{ text: 'Option 2', value: '2' },
|
|
1014
|
+
{ text: 'Option 3', value: '3' },
|
|
1015
|
+
]
|
|
1016
|
+
const wrapper = mount(SySelect, {
|
|
1017
|
+
props: {
|
|
1018
|
+
items,
|
|
1019
|
+
modelValue: null,
|
|
1020
|
+
textKey: 'text',
|
|
1021
|
+
valueKey: 'value',
|
|
1022
|
+
},
|
|
1023
|
+
attachTo: document.body,
|
|
1024
|
+
})
|
|
1025
|
+
|
|
1026
|
+
await wrapper.find('.v-field').trigger('click')
|
|
1027
|
+
await wrapper.vm.$nextTick()
|
|
1028
|
+
|
|
1029
|
+
const list = wrapper.findComponent(VList).find('.v-list')!
|
|
1030
|
+
await list.trigger('keydown.down')
|
|
1031
|
+
await wrapper.vm.$nextTick()
|
|
1032
|
+
await list.trigger('keydown.enter')
|
|
1033
|
+
await wrapper.vm.$nextTick()
|
|
1034
|
+
|
|
1035
|
+
expect(wrapper.emitted()['update:modelValue']).toEqual([['2']])
|
|
1036
|
+
|
|
1037
|
+
wrapper.unmount()
|
|
1038
|
+
})
|
|
1039
|
+
})
|
|
968
1040
|
})
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Meta, Canvas, Controls } from '@storybook/blocks';
|
|
2
|
+
import '../../../stories/styles/shared.css';
|
|
3
|
+
import * as SyCheckBoxGroupStories from './SyCheckBoxGroup.stories';
|
|
4
|
+
|
|
5
|
+
<Meta of={SyCheckBoxGroupStories} />
|
|
6
|
+
|
|
7
|
+
<div className="header">
|
|
8
|
+
<h1>SyCheckBoxGroup</h1>
|
|
9
|
+
<p>Le composant `SyCheckBoxGroup` est un groupe de cases à cocher basé sur `SyCheckbox`, conforme au style du Design System et qui respecte les règles d'accessibilité <abbr title="Référentiel Général d'Amélioration de l'Accessibilité">RGAA</abbr>.</p>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
Il étend les fonctionnalités de base avec :
|
|
13
|
+
|
|
14
|
+
- La gestion d’un groupe d’options via la prop `options`
|
|
15
|
+
- Un mode **sélection unique** (par défaut) ou **multiple** (`multiple`)
|
|
16
|
+
- Un système de validation avancé (erreur, avertissement, succès)
|
|
17
|
+
|
|
18
|
+
<Canvas of={SyCheckBoxGroupStories.Default} />
|
|
19
|
+
|
|
20
|
+
# API
|
|
21
|
+
|
|
22
|
+
<Controls of={SyCheckBoxGroupStories.Default} />
|
|
23
|
+
|
|
24
|
+
## Validation
|
|
25
|
+
|
|
26
|
+
Le composant supporte trois types de validation :
|
|
27
|
+
|
|
28
|
+
- Règles d'erreur standard (`customRules`)
|
|
29
|
+
- Règles d'avertissement (`customWarningRules`)
|
|
30
|
+
- Règles de succès (`customSuccessRules`)
|
|
31
|
+
|
|
32
|
+
<a href="/?path=/docs/guide-du-dev-guide-de-validation-des-formulaires--docs" className="action-link">Pour plus d'informations sur la validation, consultez le guide de validation des formulaires.</a>
|