@cnamts/synapse 1.0.16 → 1.0.18
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-DSwJUvBu.js → DateFilter-C0qj2Xp4.js} +13 -13
- package/dist/{NumberFilter-CwsbYyz4.js → NumberFilter-DLlqjkwg.js} +4 -4
- package/dist/{PeriodFilter-csnEZU30.js → PeriodFilter-BQCGbydv.js} +4 -4
- package/dist/{SelectFilter-Bd5fndzR.js → SelectFilter-CPnShk0h.js} +4 -4
- package/dist/{TextFilter-B6gxzq2a.js → TextFilter-6N05mkcs.js} +4 -4
- package/dist/components/Accordion/Accordion.d.ts +35 -12
- package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.d.ts +19 -9
- package/dist/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.d.ts +19 -11
- package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +31 -23
- package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +31 -23
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +6980 -1807
- package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +15 -7
- package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +18 -9
- package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +16 -8
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +163 -29
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +15 -6
- package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.d.ts +27 -19
- package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +15 -6
- package/dist/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.d.ts +12 -4
- package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +12 -4
- package/dist/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.d.ts +12 -4
- package/dist/components/Amelipro/AmeliproDialog/AmeliproDialog.d.ts +15 -7
- package/dist/components/Amelipro/AmeliproDisclosure/AmeliproDisclosure.d.ts +12 -4
- package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +22 -12
- package/dist/components/Amelipro/AmeliproErrorTemplate/errorTemplateTypes.d.ts +72 -2
- package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +3 -2
- package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +13 -12
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +29 -20
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +16 -7
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +15 -6
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/dividerDimensionsMapping.d.ts +14 -2
- package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +15 -5
- package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +259 -33
- package/dist/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +3 -2
- package/dist/components/Amelipro/AmeliproMessage/AmeliproMessage.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +18 -10
- package/dist/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.d.ts +16 -8
- package/dist/components/Amelipro/AmeliproOnboarding/AmeliproOnboarding.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.d.ts +19 -11
- package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +16 -7
- package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +3 -2
- package/dist/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.d.ts +51 -20
- package/dist/components/Amelipro/AmeliproPatientLogged/types.d.ts +2 -1
- package/dist/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.d.ts +17 -9
- package/dist/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.d.ts +14 -6
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +508 -728
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +762 -1092
- package/dist/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.d.ts +26 -18
- package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +22 -14
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +6932 -1807
- package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +6 -4
- package/dist/components/Amelipro/AmeliproStatus/AmeliproStatus.d.ts +3 -2
- package/dist/components/Amelipro/AmeliproStepper/AmeliproStepBtn/AmeliproStepBtn.d.ts +12 -4
- package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +127 -26
- package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +20 -12
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabBtn/AmeliproTabBtn.d.ts +13 -5
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +7439 -1853
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +988 -221
- package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1575 -373
- package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +249 -36
- package/dist/components/Amelipro/AmeliproTooltips/AmeliproTooltips.d.ts +33 -21
- package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +20 -11
- package/dist/components/Amelipro/ServiceMenu/ServiceMenu.d.ts +13 -5
- package/dist/components/Amelipro/ServiceMenu/ServiceMenuContent/ServiceMenuContent.d.ts +12 -4
- package/dist/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.d.ts +21 -4
- package/dist/components/Amelipro/StructureMenu/StructureItem/types.d.ts +1 -0
- package/dist/components/Amelipro/StructureMenu/StructureMenu.d.ts +23 -6
- package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +161 -24
- package/dist/components/Amelipro/UserMenu/UserMenu.d.ts +14 -6
- package/dist/components/BackBtn/BackBtn.d.ts +13 -5
- package/dist/components/BackToTopBtn/BackToTopBtn.d.ts +13 -5
- package/dist/components/Captcha/Captcha.d.ts +1 -35
- package/dist/components/Captcha/CaptchaAlert.d.ts +11 -3
- package/dist/components/Captcha/CaptchaBase.d.ts +36 -28
- package/dist/components/Captcha/CaptchaBtn.d.ts +11 -3
- package/dist/components/Captcha/CaptchaInformation.d.ts +14 -6
- package/dist/components/ChipList/ChipList.d.ts +6 -6
- package/dist/components/ChipList/locales.d.ts +1 -0
- package/dist/components/Common/IconSlot/IconSlot.d.ts +33 -0
- package/dist/components/CookieBanner/CookieBanner.d.ts +327 -38
- package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +1379 -337
- package/dist/components/CookiesSelection/CookiesSelection.d.ts +907 -102
- package/dist/components/CookiesSelection/CookiesTable/CookiesTable.d.ts +11 -3
- package/dist/components/CopyBtn/CopyBtn.d.ts +14 -6
- package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
- package/dist/components/Customs/Selects/SyBtnSelect/SyBtnSelect.d.ts +18 -8
- package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +2 -2
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +531 -152
- package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +2 -2
- package/dist/components/Customs/Selects/SySelect/types.d.ts +4 -0
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +13 -5
- package/dist/components/Customs/SyForm/SyForm.d.ts +833 -233
- package/dist/components/Customs/SyPagination/SyPagination.d.ts +26 -18
- package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +15 -7
- package/dist/components/Customs/SyTabs/SyTabs.d.ts +53 -43
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +1573 -380
- package/dist/components/DataList/DataList.d.ts +17 -9
- package/dist/components/DataListGroup/DataListGroup.d.ts +17 -9
- package/dist/components/DataListItem/DataListItem.d.ts +16 -8
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +2160 -2664
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1066 -1326
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +439 -557
- package/dist/components/DatePicker/composables/index.d.ts +0 -1
- package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +2 -2
- package/dist/components/DatePicker/composables/useDateRangeInput.d.ts +2 -2
- package/dist/components/DatePicker/composables/useDateRangeValidation.d.ts +1 -1
- package/dist/components/DatePicker/composables/useDateValidation.d.ts +10 -16
- package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +3 -3
- package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +4 -4
- package/dist/components/DiacriticPicker/DiacriticPicker.d.ts +14 -4
- package/dist/components/DialogBox/DialogBox.d.ts +489 -80
- package/dist/components/DialogBox/config.d.ts +4 -0
- package/dist/components/DownloadBtn/DownloadBtn.d.ts +17 -11
- package/dist/components/ErrorPage/ErrorPage.d.ts +15 -7
- package/dist/components/ExternalLinks/ExternalLinks.d.ts +17 -7
- package/dist/components/FileList/FileList.d.ts +13 -13
- package/dist/components/FileList/UploadItem/UploadItem.d.ts +19 -19
- package/dist/components/FilePreview/FilePreview.d.ts +15 -10
- package/dist/components/FileUpload/FileUpload.d.ts +20 -17
- package/dist/components/FileUpload/FileUploadContent.d.ts +9 -1
- package/dist/components/FilterInline/FilterInline.d.ts +16 -10
- package/dist/components/FilterSideBar/FilterSideBar.d.ts +441 -63
- package/dist/components/FilterSideBar/locales.d.ts +5 -0
- package/dist/components/FooterBar/FooterBar.d.ts +20 -12
- package/dist/components/HeaderBar/HeaderBar.d.ts +35 -22
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +68 -8
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +12 -4
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +13 -5
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +16 -5
- package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +17 -9
- package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +170 -51
- package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +23 -11
- package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +857 -297
- package/dist/components/LangBtn/LangBtn.d.ts +72 -90
- package/dist/components/Logo/Logo.d.ts +3 -2
- package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +19 -11
- package/dist/components/MaintenancePage/MaintenancePage.d.ts +16 -1
- package/dist/components/NirField/NirField.d.ts +875 -1095
- package/dist/components/NotFoundPage/NotFoundPage.d.ts +17 -2
- package/dist/components/NotificationBar/Notification/Notification.d.ts +38 -0
- package/dist/components/NotificationBar/NotificationBar.d.ts +43 -23
- package/dist/components/PageContainer/PageContainer.d.ts +18 -5
- package/dist/components/PaginatedTable/PaginatedTable.d.ts +10 -2
- package/dist/components/PeriodField/PeriodField.d.ts +4438 -5446
- package/dist/components/PhoneField/PhoneField.d.ts +436 -546
- package/dist/components/RangeField/RangeField.d.ts +3 -3
- package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +94 -94
- package/dist/components/RangeField/RangeSlider/Tooltip/Tooltip.d.ts +14 -4
- package/dist/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +14 -4
- package/dist/components/RatingPicker/NumberPicker/NumberPicker.d.ts +15 -5
- package/dist/components/RatingPicker/RatingPicker.d.ts +13 -5
- package/dist/components/RatingPicker/StarsPicker/StarsPicker.d.ts +14 -4
- package/dist/components/SearchListField/SearchListField.d.ts +3 -8
- package/dist/components/SkipLink/SkipLink.d.ts +15 -4
- package/dist/components/SubHeader/SubHeader.d.ts +27 -16
- package/dist/components/SyAlert/SyAlert.d.ts +94 -15
- package/dist/components/SyTextArea/SyTextArea.d.ts +160 -218
- package/dist/components/SyTextArea/locales.d.ts +1 -0
- package/dist/components/TableToolbar/TableToolbar.d.ts +19 -15
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +640 -233
- package/dist/components/Tables/SyTable/SyTable.d.ts +663 -234
- package/dist/components/Tables/common/SyTableFilter.d.ts +35 -27
- package/dist/components/Tables/common/SyTablePagination.d.ts +650 -513
- package/dist/components/Tables/common/TableHeader.d.ts +57 -47
- package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -10
- package/dist/components/Tables/common/filters/NumberFilter.d.ts +11 -11
- package/dist/components/Tables/common/filters/PeriodFilter.d.ts +10 -10
- package/dist/components/Tables/common/filters/SelectFilter.d.ts +10 -10
- package/dist/components/Tables/common/filters/TextFilter.d.ts +11 -11
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +53 -63
- package/dist/components/Tables/common/useTableAria.d.ts +1 -1
- package/dist/components/Tables/common/useTableFilter.d.ts +2 -2
- package/dist/components/ToolbarContainer/ToolbarContainer.d.ts +14 -4
- package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +830 -168
- package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +14 -4
- package/dist/composables/date/useDateFormatDayjs.d.ts +2 -2
- package/dist/composables/date/useDateInitialization.d.ts +1 -1
- package/dist/composables/date/useDateInitializationDayjs.d.ts +1 -1
- package/dist/composables/validation/useFormValidation.d.ts +2 -2
- package/dist/design-system-v3.js +1 -1
- package/dist/design-system-v3.umd.cjs +158 -158
- package/dist/designTokens/index.d.ts +3 -1
- package/dist/designTokens/tokens/amelipro/apColors.d.ts +144 -51
- package/dist/designTokens/tokens/amelipro/apColors2026.d.ts +73 -0
- package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +82 -2
- package/dist/designTokens/tokens/amelipro/apLightTheme2026.d.ts +8 -0
- package/dist/directives/lockFocus.d.ts +1 -1
- package/dist/{main-DkZZpa3S.js → main-CY1bof-3.js} +12308 -11861
- package/dist/services/NotificationService.d.ts +2 -2
- package/dist/style.css +1 -1
- package/dist/types/vuetifyTypes.d.ts +4 -0
- package/dist/utils/amelipro/dateHelper/dateHelper.d.ts +2 -2
- package/dist/utils/functions/classToHex.d.ts +1 -1
- package/dist/utils/functions/downloadFile/index.d.ts +1 -1
- package/dist/utils/localStorageUtility/index.d.ts +1 -1
- package/dist/vuetifyConfig.d.ts +14 -14
- package/package.json +13 -6
- package/src/assets/apTokens.scss +307 -0
- package/src/assets/overrides/_btns.scss +0 -1
- package/src/assets/overrides/_elevations.scss +2 -1
- package/src/assets/overrides/_icons.scss +10 -0
- package/src/assets/overrides/_radius.scss +7 -2
- package/src/assets/overrides/_spacers.scss +2 -1
- package/src/assets/overrides/_tooltips.scss +10 -3
- package/src/assets/overrides/_typography.scss +150 -0
- package/src/assets/overrides/_utilities.scss +8 -0
- package/src/assets/settings.scss +9 -0
- package/src/assets/themes.scss +2 -1
- package/src/components/Accordion/Accessibilite/AccessibilityGuide.mdx +71 -242
- package/src/components/Accordion/Accordion.mdx +6 -1
- package/src/components/Accordion/Accordion.stories.ts +88 -9
- package/src/components/Accordion/Accordion.vue +56 -24
- package/src/components/Accordion/composables/useAccordionKeyboardNavigation.ts +5 -5
- package/src/components/Accordion/tests/Accordion.a11y.spec.ts +46 -0
- package/src/components/Accordion/tests/__snapshots__/accordion.spec.ts.snap +26 -30
- package/src/components/Accordion/tests/accordion.spec.ts +27 -26
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +3 -3
- package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +8 -8
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +21 -21
- package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.vue +1 -1
- package/src/components/Amelipro/AmeliproBreadcrumb/AmeliproBreadcrumb.vue +6 -3
- package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +5 -5
- package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.vue +1 -1
- package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.vue +1 -1
- package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +12 -12
- package/src/components/Amelipro/AmeliproCard/AmeliproCard.vue +1 -1
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +1 -1
- package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +1 -1
- package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +1 -1
- package/src/components/Amelipro/AmeliproChips/AmeliproChips.vue +1 -1
- package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +1 -1
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +3 -1
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +18 -0
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.vue +16 -16
- package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +2 -2
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +23 -23
- package/src/components/Amelipro/AmeliproDialog/AmeliproDialog.vue +1 -1
- package/src/components/Amelipro/AmeliproDisclosure/AmeliproDisclosure.vue +1 -1
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +1 -1
- package/src/components/Amelipro/AmeliproErrorTemplate/errorTemplateTypes.ts +2 -2
- package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +1 -1
- package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +1 -1
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +1 -1
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +1 -1
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.vue +1 -1
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue +2 -3
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/dividerDimensionsMapping.ts +2 -4
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/AmeliproLogoAm.vue +1 -2
- package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.vue +1 -1
- package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.vue +1 -1
- package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +2 -2
- package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +9 -9
- package/src/components/Amelipro/AmeliproMailTile/AmeliproMailTile.vue +1 -1
- package/src/components/Amelipro/AmeliproMenu/AmeliproMenu.vue +1 -1
- package/src/components/Amelipro/AmeliproMessage/AmeliproMessage.vue +8 -9
- package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenu.vue +1 -1
- package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingLayout.vue +1 -1
- package/src/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.vue +6 -6
- package/src/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.vue +1 -1
- package/src/components/Amelipro/AmeliproOnboarding/AmeliproOnboarding.vue +2 -2
- package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.vue +1 -1
- package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.vue +20 -20
- package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.vue +1 -1
- package/src/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.vue +1 -1
- package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.stories.ts +62 -34
- package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +49 -16
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/AmeliproPatientLogged.spec.ts +4 -2
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +54 -4
- package/src/components/Amelipro/AmeliproPatientLogged/types.d.ts +2 -1
- package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.stories.ts +11 -5
- package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.vue +1 -1
- package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +9 -1
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +1 -1
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +1 -1
- package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +2 -2
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +38 -2
- package/src/components/Amelipro/AmeliproSelect/__tests__/__snapshots__/AmeliproSelect.spec.ts.snap +2 -2
- package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.vue +8 -8
- package/src/components/Amelipro/AmeliproStatus/AmeliproStatus.vue +3 -3
- package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +77 -77
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +5 -5
- package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/AmeliproTabBtn.vue +1 -1
- package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.stories.ts +94 -0
- package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +42 -21
- package/src/components/Amelipro/AmeliproTabs/__tests__/AmeliproTabs.spec.ts +4 -0
- package/src/components/Amelipro/AmeliproTabs/__tests__/__snapshots__/AmeliproTabs.spec.ts.snap +4 -2
- package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +21 -21
- package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +68 -0
- package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +129 -21
- package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +14 -2
- package/src/components/Amelipro/AmeliproTextField/__tests__/__snapshots__/AmeliproTextField.spec.ts.snap +2 -0
- package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +1 -1
- package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.stories.ts +45 -0
- package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.vue +7 -1
- package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +2 -2
- package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +13 -13
- package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +14 -1
- package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/StructureBtn.spec.ts +6 -0
- package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/__snapshots__/StructureBtn.spec.ts.snap +1 -1
- package/src/components/Amelipro/StructureMenu/StructureItem/StructureItem.vue +15 -3
- package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/__snapshots__/StructureItem.spec.ts.snap +22 -6
- package/src/components/Amelipro/StructureMenu/StructureItem/types.d.ts +1 -0
- package/src/components/Amelipro/StructureMenu/StructureMenu.stories.ts +93 -63
- package/src/components/Amelipro/StructureMenu/StructureMenu.vue +6 -1
- package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +24 -3
- package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/StructureTabs.spec.ts +6 -2
- package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/__snapshots__/StructureTabs.spec.ts.snap +2 -0
- package/src/components/Amelipro/StructureMenu/__tests__/StructureMenu.spec.ts +12 -6
- package/src/components/Amelipro/UserMenu/UserMenu.vue +37 -37
- package/src/components/BackBtn/Accessibilite.mdx +0 -4
- package/src/components/BackBtn/Accessibilite.stories.ts +3 -143
- package/src/components/BackBtn/Usages.stories.ts +2 -2
- package/src/components/BackBtn/tests/BackBtn.a11y.spec.ts +20 -0
- package/src/components/BackToTopBtn/Accessibilite.mdx +0 -4
- package/src/components/BackToTopBtn/Accessibilite.stories.ts +5 -144
- package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +9 -0
- package/src/components/BackToTopBtn/Usages.stories.ts +2 -2
- package/src/components/BackToTopBtn/tests/BackToTopBtn.a11y.spec.ts +37 -0
- package/src/components/Captcha/tests/Captcha.a11y.spec.ts +49 -0
- package/src/components/ChipList/Accessibilite.mdx +0 -4
- package/src/components/ChipList/Accessibilite.stories.ts +4 -193
- package/src/components/ChipList/ChipList.stories.ts +15 -0
- package/src/components/ChipList/ChipList.vue +20 -17
- package/src/components/ChipList/locales.ts +1 -0
- package/src/components/ChipList/tests/ChipList.a11y.spec.ts +40 -0
- package/src/components/ChipList/tests/chipList.spec.ts +10 -10
- package/src/components/CollapsibleList/Accessibilite.mdx +67 -11
- package/src/components/CollapsibleList/Accessibilite.stories.ts +3 -148
- package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +38 -0
- package/src/components/Common/IconSlot/IconSlot.vue +87 -0
- package/src/components/ContextualMenu/Accessibilite.mdx +0 -5
- package/src/components/ContextualMenu/Accessibilite.stories.ts +3 -169
- package/src/components/ContextualMenu/ContextualMenu.stories.ts +3 -0
- package/src/components/ContextualMenu/Usages.stories.ts +2 -2
- package/src/components/ContextualMenu/tests/ContextualMenu.a11y.spec.ts +30 -0
- package/src/components/CookieBanner/Accessibilite.mdx +0 -5
- package/src/components/CookieBanner/Accessibilite.stories.ts +3 -196
- package/src/components/CookieBanner/CookieBanner.stories.ts +15 -0
- package/src/components/CookieBanner/CookieBanner.vue +2 -3
- package/src/components/CookieBanner/tests/CookieBanner.a11y.spec.ts +29 -0
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +46 -0
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +12 -12
- package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.a11y.spec.ts +37 -0
- package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +58 -0
- package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +18 -19
- package/src/components/CopyBtn/Accessibilite.mdx +0 -5
- package/src/components/CopyBtn/Accessibilite.stories.ts +3 -144
- package/src/components/CopyBtn/CopyBtn.stories.ts +21 -0
- package/src/components/CopyBtn/Usages.stories.ts +2 -2
- package/src/components/CopyBtn/tests/CopyBtn.a11y.spec.ts +40 -0
- package/src/components/Customs/Selects/SelectBtnField/Accessibilite.mdx +0 -4
- package/src/components/Customs/Selects/SelectBtnField/Accessibilite.stories.ts +3 -169
- package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +9 -9
- package/src/components/Customs/Selects/SelectBtnField/Usages.stories.ts +2 -2
- package/src/components/Customs/Selects/SyBtnSelect/Accessibilite.mdx +1 -6
- package/src/components/Customs/Selects/SyBtnSelect/Accessibilite.stories.ts +3 -171
- package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.stories.ts +30 -0
- package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.vue +4 -3
- package/src/components/Customs/Selects/SyInputSelect/Accessibilite.mdx +1 -6
- package/src/components/Customs/Selects/SyInputSelect/Accessibilite.stories.ts +3 -144
- package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.mdx +2 -4
- package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +1 -1
- package/src/components/Customs/Selects/SyInputSelect/tests/SyInputSelect.spec.ts +1 -1
- package/src/components/Customs/Selects/SySelect/Accessibilite.mdx +0 -3
- package/src/components/Customs/Selects/SySelect/Accessibilite.stories.ts +5 -194
- package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +278 -0
- package/src/components/Customs/Selects/SySelect/SySelect.vue +260 -121
- package/src/components/Customs/Selects/SySelect/Usages.stories.ts +2 -2
- package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +3 -3
- package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +25 -22
- package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +40 -0
- package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +133 -58
- package/src/components/Customs/Selects/SySelect/types.d.ts +4 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +7 -3
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +35 -1
- package/src/components/Customs/SyCheckbox/tests/SyCheckbox.a11y.spec.ts +26 -0
- package/src/components/Customs/SyForm/SyForm.a11y.spec.ts +33 -0
- package/src/components/Customs/SyIcon/Accessibilite.stories.ts +1 -1
- package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +37 -0
- package/src/components/Customs/SyIcon/SyIcon.stories.ts +5 -0
- package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +27 -0
- package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +3 -3
- package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +16 -0
- package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.a11y.spec.ts +30 -0
- package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.spec.ts +1 -1
- package/src/components/Customs/SyTabs/SyTabs.stories.ts +33 -0
- package/src/components/Customs/SyTabs/SyTabs.vue +8 -8
- package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +51 -0
- package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +20 -20
- package/src/components/Customs/SyTextField/Accessibilite.mdx +0 -4
- package/src/components/Customs/SyTextField/Accessibilite.stories.ts +3 -202
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +3 -0
- package/src/components/Customs/SyTextField/SyTextField.vue +21 -12
- package/src/components/Customs/SyTextField/Usages.stories.ts +2 -2
- package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +27 -0
- package/src/components/DataList/Accessibilite.mdx +0 -5
- package/src/components/DataList/Accessibilite.stories.ts +3 -144
- package/src/components/DataList/DataList.stories.ts +1 -1
- package/src/components/DataList/tests/DataList.a11y.spec.ts +35 -0
- package/src/components/DataList/tests/DataList.spec.ts +7 -7
- package/src/components/DataListGroup/Accessibilite.mdx +0 -5
- package/src/components/DataListGroup/Accessibilite.stories.ts +3 -203
- package/src/components/DataListGroup/DataListGroup.stories.ts +1 -1
- package/src/components/DataListGroup/tests/DataListGroup.a11y.spec.ts +24 -0
- package/src/components/DataListItem/tests/DataListItem.a11y.spec.ts +31 -0
- package/src/components/DatePicker/Accessibilite.mdx +1 -5
- package/src/components/DatePicker/Accessibilite.stories.ts +3 -169
- package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +200 -0
- package/src/components/DatePicker/CalendarMode/DatePicker.vue +76 -30
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +27 -0
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +2 -2
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +3 -3
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +54 -0
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +85 -29
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +26 -0
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +19 -10
- package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +12 -0
- package/src/components/DatePicker/DateTextInput/DateTextInput.vue +1 -9
- package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +27 -0
- package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +4 -4
- package/src/components/DatePicker/Usages.stories.ts +2 -2
- package/src/components/DatePicker/composables/index.ts +0 -1
- package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +1 -1
- package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +6 -6
- package/src/components/DatePicker/composables/tests/useDateSelection.spec.ts +6 -6
- package/src/components/DatePicker/composables/tests/useInputHandler.spec.ts +2 -2
- package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +5 -5
- package/src/components/DatePicker/composables/useDateAutoClamp.ts +4 -4
- package/src/components/DatePicker/composables/useDateInputEditing.ts +5 -5
- package/src/components/DatePicker/composables/useDatePickerState.ts +5 -5
- package/src/components/DatePicker/composables/useDateRangeValidation.ts +1 -1
- package/src/components/DatePicker/composables/useDateSelection.ts +4 -4
- package/src/components/DatePicker/composables/useHolidayHighlighting.ts +1 -1
- package/src/components/DatePicker/composables/useInputHandler.ts +7 -7
- package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +3 -4
- package/src/components/DatePicker/utils/dateFormattingUtils.ts +10 -7
- package/src/components/DiacriticPicker/tests/DiacriticPicker.a11y.spec.ts +46 -0
- package/src/components/DiacriticPicker/tests/DiatriticPicker.spec.ts +2 -2
- package/src/components/DialogBox/Accessibilite.mdx +0 -4
- package/src/components/DialogBox/Accessibilite.stories.ts +3 -167
- package/src/components/DialogBox/DialogBox.stories.ts +5 -2
- package/src/components/DialogBox/DialogBox.vue +7 -2
- package/src/components/DialogBox/Usages.stories.ts +2 -2
- package/src/components/DialogBox/config.ts +5 -0
- package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +43 -0
- package/src/components/DownloadBtn/Accessibilite.mdx +0 -4
- package/src/components/DownloadBtn/Accessibilite.stories.ts +3 -144
- package/src/components/DownloadBtn/DownloadBtn.vue +1 -1
- package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +26 -0
- package/src/components/ErrorPage/Accessibilite.mdx +0 -5
- package/src/components/ErrorPage/Accessibilite.stories.ts +5 -166
- package/src/components/ErrorPage/ErrorPage.stories.ts +60 -0
- package/src/components/ErrorPage/ErrorPage.vue +1 -1
- package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +29 -0
- package/src/components/ExternalLinks/Accessibilite.mdx +2 -5
- package/src/components/ExternalLinks/Accessibilite.stories.ts +5 -168
- package/src/components/ExternalLinks/ExternalLinks.stories.ts +21 -0
- package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +39 -0
- package/src/components/FileList/Accessibilite.mdx +1 -6
- package/src/components/FileList/Accessibilite.stories.ts +3 -193
- package/src/components/FileList/FileList.stories.ts +3 -0
- package/src/components/FileList/tests/FileList.a11y.spec.ts +41 -0
- package/src/components/FileList/tests/FileList.spec.ts +3 -3
- package/src/components/FilePreview/Accessibilite.mdx +1 -5
- package/src/components/FilePreview/Accessibilite.stories.ts +3 -193
- package/src/components/FilePreview/FilePreview.stories.ts +3 -0
- package/src/components/FilePreview/tests/FilePreview.a11y.spec.ts +47 -0
- package/src/components/FileUpload/Accessibilite.mdx +1 -6
- package/src/components/FileUpload/Accessibilite.stories.ts +3 -193
- package/src/components/FileUpload/tests/FileUpload.a11y.spec.ts +25 -0
- package/src/components/FilterInline/Accessibilite.mdx +2 -5
- package/src/components/FilterInline/Accessibilite.stories.ts +3 -193
- package/src/components/FilterInline/FilterInline.stories.ts +15 -0
- package/src/components/FilterInline/FilterInline.vue +8 -4
- package/src/components/FilterInline/tests/FilterInline.a11y.spec.ts +36 -0
- package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +0 -3
- package/src/components/FilterSideBar/Accessibilite.mdx +0 -5
- package/src/components/FilterSideBar/Accessibilite.stories.ts +6 -192
- package/src/components/FilterSideBar/FilterSideBar.stories.ts +33 -11
- package/src/components/FilterSideBar/FilterSideBar.vue +146 -83
- package/src/components/FilterSideBar/locales.ts +6 -0
- package/src/components/FilterSideBar/tests/FilterSideBar.a11y.spec.ts +59 -0
- package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +5 -5
- package/src/components/FooterBar/Accessibilite.mdx +67 -11
- package/src/components/FooterBar/Accessibilite.stories.ts +3 -204
- package/src/components/FooterBar/FooterBar.vue +1 -1
- package/src/components/FooterBar/config.ts +2 -2
- package/src/components/FooterBar/tests/FooterBar.a11y.spec.ts +31 -0
- package/src/components/FooterBar/tests/FooterBar.spec.ts +2 -2
- package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
- package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +1 -1
- package/src/components/FranceConnectBtn/Accessibilite.mdx +0 -5
- package/src/components/FranceConnectBtn/Accessibilite.stories.ts +3 -171
- package/src/components/FranceConnectBtn/tests/FranceConnectBtn.a11y.spec.ts +25 -0
- package/src/components/HeaderBar/Accessibilite.mdx +0 -5
- package/src/components/HeaderBar/Accessibilite.stories.ts +3 -199
- package/src/components/HeaderBar/HeaderBar.stories.ts +21 -0
- package/src/components/HeaderBar/HeaderBar.vue +58 -44
- package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.mdx +0 -5
- package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +3 -200
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +12 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +3 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +4 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.ts +3 -3
- package/src/components/HeaderBar/HeaderBurgerMenu/menu.scss +17 -7
- package/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.ts +5 -5
- package/src/components/HeaderBar/HeaderLogo/logos/Logo.vue +2 -2
- package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +2 -2
- package/src/components/HeaderBar/Usages.stories.ts +2 -2
- package/src/components/HeaderBar/consts.scss +0 -1
- package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +33 -0
- package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +54 -57
- package/src/components/HeaderLoading/Accessibilite.mdx +0 -4
- package/src/components/HeaderLoading/Accessibilite.stories.ts +3 -143
- package/src/components/HeaderLoading/tests/HeaderLoading.a11y.spec.ts +25 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +42 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +4 -0
- package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +10 -6
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.a11y.spec.ts +45 -0
- package/src/components/HeaderToolbar/Accessibilite.mdx +0 -5
- package/src/components/HeaderToolbar/Accessibilite.stories.ts +4 -179
- package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +6 -0
- package/src/components/HeaderToolbar/HeaderToolbar.vue +2 -5
- package/src/components/HeaderToolbar/tests/HeaderToolbar.a11y.spec.ts +25 -0
- package/src/components/HeaderToolbar/useMobileRightMenu.ts +2 -2
- package/src/components/LangBtn/Accessibilite.mdx +0 -5
- package/src/components/LangBtn/Accessibilite.stories.ts +5 -145
- package/src/components/LangBtn/LangBtn.stories.ts +12 -0
- package/src/components/LangBtn/tests/LangBtn.a11y.spec.ts +25 -0
- package/src/components/LangBtn/tests/LangBtn.spec.ts +1 -1
- package/src/components/Logo/Accessibilite.mdx +0 -5
- package/src/components/Logo/Accessibilite.stories.ts +3 -200
- package/src/components/Logo/Logo.vue +2 -2
- package/src/components/Logo/tests/Logo.a11y.spec.ts +20 -0
- package/src/components/Logo/tests/Logo.spec.ts +2 -2
- package/src/components/LogoBrandSection/Accessibilite.mdx +1 -6
- package/src/components/LogoBrandSection/Accessibilite.stories.ts +3 -203
- package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +38 -0
- package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +1 -1
- package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +31 -0
- package/src/components/LunarCalendar/useLunarCalendarRules.ts +1 -1
- package/src/components/MaintenancePage/Accessibilite.mdx +0 -5
- package/src/components/MaintenancePage/Accessibilite.stories.ts +5 -166
- package/src/components/MaintenancePage/MaintenancePage.stories.ts +46 -0
- package/src/components/MaintenancePage/MaintenancePage.vue +7 -5
- package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +21 -0
- package/src/components/NirField/Accessibilite.mdx +0 -5
- package/src/components/NirField/Accessibilite.stories.ts +4 -191
- package/src/components/NirField/NirField.stories.ts +6 -0
- package/src/components/NirField/Usages.stories.ts +2 -2
- package/src/components/NirField/tests/NirField.a11y.spec.ts +32 -0
- package/src/components/NotFoundPage/Accessibilite.mdx +0 -5
- package/src/components/NotFoundPage/Accessibilite.stories.ts +5 -167
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +56 -0
- package/src/components/NotFoundPage/NotFoundPage.vue +7 -5
- package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +31 -0
- package/src/components/NotificationBar/Accessibilite.mdx +0 -5
- package/src/components/NotificationBar/Accessibilite.stories.ts +3 -143
- package/src/components/NotificationBar/Notification/Notification.vue +203 -0
- package/src/components/NotificationBar/NotificationBar.stories.ts +151 -140
- package/src/components/NotificationBar/NotificationBar.vue +148 -202
- package/src/components/NotificationBar/Usages.stories.ts +2 -2
- package/src/components/NotificationBar/config.ts +1 -1
- package/src/components/NotificationBar/tests/NotificationBar.a11y.spec.ts +66 -0
- package/src/components/NotificationBar/tests/NotificationBar.spec.ts +173 -177
- package/src/components/NotificationBar/tests/__snapshots__/NotificationBar.spec.ts.snap +67 -29
- package/src/components/PageContainer/Accessibilite.mdx +0 -5
- package/src/components/PageContainer/Accessibilite.stories.ts +3 -152
- package/src/components/PageContainer/AccessibilityGuide.mdx +50 -0
- package/src/components/PageContainer/PageContainer.stories.ts +10 -1
- package/src/components/PageContainer/PageContainer.vue +12 -1
- package/src/components/PageContainer/tests/PageContainer.a11y.spec.ts +506 -0
- package/src/components/PageContainer/tests/PageContainer.spec.ts +52 -0
- package/src/components/PaginatedTable/Accessibilite.mdx +1 -6
- package/src/components/PaginatedTable/Accessibilite.stories.ts +3 -193
- package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -3
- package/src/components/PaginatedTable/PaginatedTable.vue +52 -5
- package/src/components/PaginatedTable/tests/PaginatedTable.a11y.spec.ts +43 -0
- package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +4 -4
- package/src/components/PasswordField/Accessibilite.mdx +0 -5
- package/src/components/PasswordField/Accessibilite.stories.ts +3 -169
- package/src/components/PasswordField/PasswordField.stories.ts +39 -0
- package/src/components/PasswordField/tests/PasswordField.a11y.spec.ts +26 -0
- package/src/components/PasswordField/tests/PasswordField.spec.ts +5 -5
- package/src/components/PeriodField/Accessibilite.mdx +1 -6
- package/src/components/PeriodField/Accessibilite.stories.ts +3 -192
- package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +31 -0
- package/src/components/PeriodField/tests/PeriodField.spec.ts +29 -25
- package/src/components/PhoneField/Accessibilite.mdx +0 -5
- package/src/components/PhoneField/Accessibilite.stories.ts +4 -192
- package/src/components/PhoneField/PhoneField.stories.ts +51 -0
- package/src/components/PhoneField/Usages.stories.ts +2 -2
- package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +34 -0
- package/src/components/PhoneField/tests/PhoneField.spec.ts +2 -2
- package/src/components/RangeField/Accessibilite.mdx +0 -5
- package/src/components/RangeField/Accessibilite.stories.ts +5 -168
- package/src/components/RangeField/RangeField.vue +2 -2
- package/src/components/RangeField/RangeSlider/RangeSlider.vue +2 -2
- package/src/components/RangeField/RangeSlider/useMouseSlide.ts +1 -1
- package/src/components/RangeField/RangeSlider/useRangeSlider.ts +1 -1
- package/src/components/RangeField/tests/RangeField.a11y.spec.ts +32 -0
- package/src/components/RatingPicker/Accessibilite.mdx +0 -5
- package/src/components/RatingPicker/Accessibilite.stories.ts +3 -168
- package/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.ts +2 -2
- package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +2 -2
- package/src/components/RatingPicker/RatingPicker.stories.ts +21 -0
- package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +7 -7
- package/src/components/SearchListField/Accessibilite.mdx +0 -5
- package/src/components/SearchListField/Accessibilite.stories.ts +3 -168
- package/src/components/SearchListField/tests/SearchListField.spec.ts +1 -1
- package/src/components/SkipLink/Accessibilite.mdx +59 -13
- package/src/components/SkipLink/Accessibilite.stories.ts +5 -144
- package/src/components/SkipLink/SkipLink.stories.ts +41 -8
- package/src/components/SkipLink/Usages.stories.ts +2 -2
- package/src/components/SocialMediaLinks/Accessibilite.mdx +0 -5
- package/src/components/SocialMediaLinks/Accessibilite.stories.ts +4 -146
- package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +6 -6
- package/src/components/SubHeader/Accessibilite.mdx +0 -5
- package/src/components/SubHeader/Accessibilite.stories.ts +4 -142
- package/src/components/SubHeader/SubHeader.stories.ts +179 -93
- package/src/components/SubHeader/SubHeader.vue +88 -70
- package/src/components/SubHeader/config.ts +1 -1
- package/src/components/SyAlert/Accessibilite.mdx +0 -5
- package/src/components/SyAlert/Accessibilite.stories.ts +3 -143
- package/src/components/SyAlert/SyAlert.vue +1 -1
- package/src/components/SyAlert/Usages.stories.ts +2 -2
- package/src/components/SyTextArea/SyTextArea.stories.ts +40 -0
- package/src/components/SyTextArea/SyTextArea.vue +13 -0
- package/src/components/SyTextArea/locales.ts +1 -0
- package/src/components/SyTextArea/tests/SyTextArea.spec.ts +42 -0
- package/src/components/SyTextArea/wrapText.ts +2 -2
- package/src/components/TableToolbar/Accessibilite.mdx +1 -6
- package/src/components/TableToolbar/Accessibilite.stories.ts +3 -193
- package/src/components/TableToolbar/TableToolbar.stories.ts +3 -0
- package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +112 -43
- package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +19 -19
- package/src/components/Tables/SyTable/FilterRules.stories.ts +12 -0
- package/src/components/Tables/SyTable/SyTable.stories.ts +69 -0
- package/src/components/Tables/SyTable/tests/SyTable.spec.ts +25 -25
- package/src/components/Tables/common/filters/DateFilter.vue +1 -1
- package/src/components/Tables/common/filters/NumberFilter.vue +1 -1
- package/src/components/Tables/common/filters/PeriodFilter.vue +1 -1
- package/src/components/Tables/common/filters/SelectFilter.vue +2 -2
- package/src/components/Tables/common/filters/TextFilter.vue +1 -1
- package/src/components/Tables/common/filters/logics/number.ts +1 -1
- package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +13 -13
- package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +19 -19
- package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +19 -19
- package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +20 -21
- package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +21 -22
- package/src/components/Tables/common/tableAccessibilityUtils.ts +2 -2
- package/src/components/Tables/common/tableFilterUtils.ts +1 -1
- package/src/components/Tables/common/tests/SyTableFilter.spec.ts +1 -1
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +1 -1
- package/src/components/Tables/common/tests/tableFilterUtils.spec.ts +5 -5
- package/src/components/ToolbarContainer/tests/ToolbarContainer.spec.ts +10 -10
- package/src/components/UploadWorkflow/Accessibilite.mdx +1 -6
- package/src/components/UploadWorkflow/Accessibilite.stories.ts +3 -193
- package/src/components/UploadWorkflow/UploadWorkflow.vue +3 -3
- package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +4 -4
- package/src/components/UploadWorkflow/useFileList.ts +4 -0
- package/src/components/UserMenuBtn/Accessibilite.mdx +1 -6
- package/src/components/UserMenuBtn/Accessibilite.stories.ts +3 -167
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +31 -1
- package/src/components/UserMenuBtn/UserMenuBtn.vue +2 -1
- package/src/components/UserMenuBtn/tests/UserMenuBtn.a11y.spec.ts +31 -0
- package/src/composables/date/tests/useDateInitialization.spec.ts +9 -9
- package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +8 -8
- package/src/composables/date/useDateFormat.ts +1 -1
- package/src/composables/date/useDateFormatDayjs.ts +1 -1
- package/src/composables/rules/tests/useFieldValidation.spec.ts +31 -31
- package/src/composables/rules/useFieldValidation.ts +2 -2
- package/src/composables/useFilterable/useFilterable.spec.ts +2 -2
- package/src/composables/validation/tests/useValidatable.spec.ts +3 -3
- package/src/designTokens/index.ts +4 -0
- package/src/designTokens/tokens/amelipro/apColors.ts +157 -72
- package/src/designTokens/tokens/amelipro/apColors2026.ts +81 -0
- package/src/designTokens/tokens/amelipro/apLightTheme.ts +87 -9
- package/src/designTokens/tokens/amelipro/apLightTheme2026.ts +12 -0
- package/src/designTokens/tokens/amelipro/apSemantic.ts +73 -71
- package/src/designTokens/tokens/cnam/cnamSemantic.ts +73 -71
- package/src/designTokens/tokens/pa/paSemantic.ts +73 -71
- package/src/designTokens/utils/convertSemanticsToken.ts +1 -1
- package/src/designTokens/utils/createFlattenTheme.ts +2 -2
- package/src/directives/lockFocus.ts +12 -2
- package/src/directives/rgaaSvgFix.ts +1 -1
- package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +1 -2
- package/src/stories/Demarrer/Accueil.stories.ts +17 -7
- package/src/stories/DesignTokens/ColorDisplay.vue +5 -1
- package/src/stories/DesignTokens/Colors.mdx +3 -0
- package/src/stories/DesignTokens/colors.stories.ts +561 -169
- package/src/stories/GuideDuDev/ClassesUtilitaires/DataUtilities.mdx +6 -6
- package/src/stories/GuideDuDev/ClassesUtilitaires/DomBrowserUtilities.mdx +52 -59
- package/src/stories/GuideDuDev/ClassesUtilitaires/FormattingUtilities.mdx +9 -9
- package/src/stories/GuideDuDev/ClassesUtilitaires/StorageUtilities.mdx +2 -2
- package/src/stories/GuideDuDev/ClassesUtilitaires/ValidationRules.mdx +3 -3
- package/src/stories/GuideDuDev/ClassesUtilitaires/ValidationUtilities.mdx +11 -11
- package/src/stories/GuideDuDev/ClassesUtilitaires/index.mdx +15 -15
- package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +1 -1
- package/src/stories/GuideDuDev/Theme.mdx +1 -1
- package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
- package/src/stories/accessibility/AccessibilityGuideLayout.mdx +87 -0
- package/src/stories/styles/accessibility-guide.css +153 -0
- package/src/types/vuetifyTypes.ts +4 -0
- package/src/utils/amelipro/dateHelper/dateHelper.ts +11 -2
- package/src/utils/functions/classToHex.ts +13 -13
- package/src/utils/functions/copyToClipboard/tests/copyToClipboard.spec.ts +1 -1
- package/src/utils/functions/deepCopy/tests/deepCopy.spec.ts +5 -5
- package/src/utils/functions/downloadFile/index.ts +3 -3
- package/src/utils/functions/validation/isDateValid/index.ts +2 -2
- package/src/utils/localStorageUtility/index.ts +2 -2
- package/src/vuetifyConfig.ts +15 -2
- package/dist/components/BackBtn/AccessibiliteItems.d.ts +0 -29
- package/dist/components/BackToTopBtn/AccessibiliteItems.d.ts +0 -29
- package/dist/components/ChipList/AccessibiliteItems.d.ts +0 -29
- package/dist/components/CollapsibleList/AccessibiliteItems.d.ts +0 -46
- package/dist/components/ContextualMenu/AccessibiliteItems.d.ts +0 -46
- package/dist/components/CookieBanner/AccessibiliteItems.d.ts +0 -79
- package/dist/components/CopyBtn/AccessibiliteItems.d.ts +0 -29
- package/dist/components/Customs/Selects/SelectBtnField/AccessibiliteItems.d.ts +0 -79
- package/dist/components/Customs/Selects/SyBtnSelect/AccessibiliteItems.d.ts +0 -29
- package/dist/components/Customs/Selects/SyInputSelect/AccessibiliteItems.d.ts +0 -29
- package/dist/components/Customs/Selects/SySelect/AccessibiliteItems.d.ts +0 -54
- package/dist/components/Customs/SyTextField/AccessibiliteItems.d.ts +0 -70
- package/dist/components/DataList/AccessibiliteItems.d.ts +0 -29
- package/dist/components/DataListGroup/AccessibiliteItems.d.ts +0 -29
- package/dist/components/DatePicker/AccessibiliteItems.d.ts +0 -54
- package/dist/components/DatePicker/composables/useIconState.d.ts +0 -17
- package/dist/components/DialogBox/AccessibiliteItems.d.ts +0 -54
- package/dist/components/DownloadBtn/AccessibiliteItems.d.ts +0 -29
- package/dist/components/ErrorPage/AccessibiliteItems.d.ts +0 -65
- package/dist/components/ExternalLinks/AccessibiliteItems.d.ts +0 -55
- package/dist/components/FileList/AccessibiliteItems.d.ts +0 -29
- package/dist/components/FilePreview/AccessibiliteItems.d.ts +0 -16
- package/dist/components/FileUpload/AccessibiliteItems.d.ts +0 -16
- package/dist/components/FilterInline/AccessibiliteItems.d.ts +0 -30
- package/dist/components/FilterSideBar/AccessibiliteItems.d.ts +0 -29
- package/dist/components/FooterBar/AccessibiliteItems.d.ts +0 -110
- package/dist/components/FranceConnectBtn/AccessibiliteItems.d.ts +0 -45
- package/dist/components/HeaderBar/AccessibiliteItems.d.ts +0 -91
- package/dist/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +0 -77
- package/dist/components/HeaderLoading/AccessibiliteItems.d.ts +0 -16
- package/dist/components/HeaderToolbar/AccessibiliteItems.d.ts +0 -46
- package/dist/components/LangBtn/AccessibiliteItems.d.ts +0 -16
- package/dist/components/Logo/AccessibiliteItems.d.ts +0 -65
- package/dist/components/LogoBrandSection/AccessibiliteItems.d.ts +0 -91
- package/dist/components/MaintenancePage/AccessibiliteItems.d.ts +0 -65
- package/dist/components/NirField/AccessibiliteItems.d.ts +0 -79
- package/dist/components/NotFoundPage/AccessibiliteItems.d.ts +0 -65
- package/dist/components/NotificationBar/AccessibiliteItems.d.ts +0 -29
- package/dist/components/PageContainer/AccessibiliteItems.d.ts +0 -29
- package/dist/components/PaginatedTable/AccessibiliteItems.d.ts +0 -97
- package/dist/components/PasswordField/AccessibiliteItems.d.ts +0 -54
- package/dist/components/PeriodField/AccessibiliteItems.d.ts +0 -54
- package/dist/components/PhoneField/AccessibiliteItems.d.ts +0 -94
- package/dist/components/RangeField/AccessibiliteItems.d.ts +0 -54
- package/dist/components/RatingPicker/AccessibiliteItems.d.ts +0 -80
- package/dist/components/SearchListField/AccessibiliteItems.d.ts +0 -90
- package/dist/components/SkipLink/AccessibiliteItems.d.ts +0 -16
- package/dist/components/SocialMediaLinks/AccessibiliteItems.d.ts +0 -46
- package/dist/components/SubHeader/AccessibiliteItems.d.ts +0 -29
- package/dist/components/SyAlert/AccessibiliteItems.d.ts +0 -29
- package/dist/components/TableToolbar/AccessibiliteItems.d.ts +0 -71
- package/dist/components/UploadWorkflow/AccessibiliteItems.d.ts +0 -29
- package/dist/components/UserMenuBtn/AccessibiliteItems.d.ts +0 -54
- package/src/assets/amelipro/apTheme.scss +0 -149
- package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +0 -162
- package/src/components/BackBtn/AccessibiliteItems.ts +0 -102
- package/src/components/BackToTopBtn/AccessibiliteItems.ts +0 -52
- package/src/components/ChipList/AccessibiliteItems.ts +0 -119
- package/src/components/CollapsibleList/AccessibiliteItems.ts +0 -122
- package/src/components/ContextualMenu/AccessibiliteItems.ts +0 -89
- package/src/components/CookieBanner/AccessibiliteItems.ts +0 -356
- package/src/components/CopyBtn/AccessibiliteItems.ts +0 -105
- package/src/components/Customs/Selects/SelectBtnField/AccessibiliteItems.ts +0 -191
- package/src/components/Customs/Selects/SyBtnSelect/AccessibiliteItems.ts +0 -139
- package/src/components/Customs/Selects/SyInputSelect/AccessibiliteItems.ts +0 -96
- package/src/components/Customs/Selects/SySelect/AccessibiliteItems.ts +0 -173
- package/src/components/Customs/SyTextField/AccessibiliteItems.ts +0 -198
- package/src/components/DataList/AccessibiliteItems.ts +0 -47
- package/src/components/DataListGroup/AccessibiliteItems.ts +0 -79
- package/src/components/DatePicker/AccessibiliteItems.ts +0 -233
- package/src/components/DatePicker/composables/tests/useIconState.spec.ts +0 -130
- package/src/components/DatePicker/composables/useIconState.ts +0 -53
- package/src/components/DialogBox/AccessibiliteItems.ts +0 -167
- package/src/components/DownloadBtn/AccessibiliteItems.ts +0 -99
- package/src/components/ErrorPage/AccessibiliteItems.ts +0 -205
- package/src/components/ExternalLinks/AccessibiliteItems.ts +0 -197
- package/src/components/FileList/AccessibiliteItems.ts +0 -132
- package/src/components/FilePreview/AccessibiliteItems.ts +0 -27
- package/src/components/FileUpload/AccessibiliteItems.ts +0 -27
- package/src/components/FilterInline/AccessibiliteItems.ts +0 -132
- package/src/components/FilterSideBar/AccessibiliteItems.ts +0 -153
- package/src/components/FooterBar/AccessibiliteItems.ts +0 -257
- package/src/components/FranceConnectBtn/AccessibiliteItems.ts +0 -169
- package/src/components/HeaderBar/AccessibiliteItems.ts +0 -194
- package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +0 -174
- package/src/components/HeaderLoading/AccessibiliteItems.ts +0 -29
- package/src/components/HeaderToolbar/AccessibiliteItems.ts +0 -200
- package/src/components/LangBtn/AccessibiliteItems.ts +0 -101
- package/src/components/Logo/AccessibiliteItems.ts +0 -155
- package/src/components/LogoBrandSection/AccessibiliteItems.ts +0 -194
- package/src/components/MaintenancePage/AccessibiliteItems.ts +0 -173
- package/src/components/NirField/AccessibiliteItems.ts +0 -243
- package/src/components/NotFoundPage/AccessibiliteItems.ts +0 -205
- package/src/components/NotificationBar/AccessibiliteItems.ts +0 -144
- package/src/components/PageContainer/AccessibiliteItems.ts +0 -52
- package/src/components/PaginatedTable/AccessibiliteItems.ts +0 -352
- package/src/components/PasswordField/AccessibiliteItems.ts +0 -184
- package/src/components/PeriodField/AccessibiliteItems.ts +0 -269
- package/src/components/PhoneField/AccessibiliteItems.ts +0 -238
- package/src/components/RangeField/AccessibiliteItems.ts +0 -179
- package/src/components/RatingPicker/AccessibiliteItems.ts +0 -208
- package/src/components/SearchListField/AccessibiliteItems.ts +0 -310
- package/src/components/SkipLink/AccessibiliteItems.ts +0 -77
- package/src/components/SocialMediaLinks/AccessibiliteItems.ts +0 -160
- package/src/components/SubHeader/AccessibiliteItems.ts +0 -146
- package/src/components/SyAlert/AccessibiliteItems.ts +0 -122
- package/src/components/TableToolbar/AccessibiliteItems.ts +0 -283
- package/src/components/UploadWorkflow/AccessibiliteItems.ts +0 -192
- package/src/components/Usages/tests/Usages.spec.ts +0 -155
- package/src/components/UserMenuBtn/AccessibiliteItems.ts +0 -155
- package/src/temp/TestA11y.vue +0 -14
- package/src/temp/TestComponent.vue +0 -37
- package/src/temp/TestDTComponent.vue +0 -88
- package/src/temp/customizableOptions.vue +0 -18
- package/src/temp/gridsTests.vue +0 -50
- package/src/temp/options.json +0 -5
- /package/src/assets/amelipro/{apTokens.scss → apTokens2026.scss} +0 -0
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
defineOptions({
|
|
4
4
|
inheritAttrs: false,
|
|
5
5
|
})
|
|
6
|
-
import { mdiAlertCircle, mdiChevronDown, mdiCloseCircle } from '@mdi/js'
|
|
7
|
-
import { ref, watch, watchEffect, onMounted, computed, nextTick, type PropType } from 'vue'
|
|
6
|
+
import { mdiAlertCircle, mdiAlertOutline, mdiCheck, mdiChevronDown, mdiClose, mdiCloseCircle, mdiInformationOutline } from '@mdi/js'
|
|
7
|
+
import { ref, watch, watchEffect, onMounted, onBeforeUnmount, computed, nextTick, type PropType } from 'vue'
|
|
8
8
|
import { useSySelectKeyboard } from './composables/useSySelectKeyboard'
|
|
9
|
-
import { vRgaaSvgFix } from '../../../../directives/rgaaSvgFix'
|
|
10
9
|
import { useValidatable } from '@/composables/validation/useValidatable'
|
|
10
|
+
import type { ColorType, IconType, VariantStyle } from '@/types/vuetifyTypes'
|
|
11
11
|
import type { VList, VTextField } from 'vuetify/components'
|
|
12
12
|
import { VChip } from 'vuetify/components'
|
|
13
13
|
import SyCheckbox from '@/components/Customs/SyCheckbox/SyCheckbox.vue'
|
|
14
|
+
import IconSlot from '@/components/Common/IconSlot/IconSlot.vue'
|
|
14
15
|
import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
|
|
15
16
|
import { locales } from './locales'
|
|
16
17
|
|
|
@@ -57,6 +58,14 @@
|
|
|
57
58
|
type: Boolean,
|
|
58
59
|
default: true,
|
|
59
60
|
},
|
|
61
|
+
variantStyle: {
|
|
62
|
+
type: String as PropType<VariantStyle | undefined>,
|
|
63
|
+
default: undefined,
|
|
64
|
+
},
|
|
65
|
+
color: {
|
|
66
|
+
type: String as PropType<ColorType>,
|
|
67
|
+
default: 'primary',
|
|
68
|
+
},
|
|
60
69
|
textKey: {
|
|
61
70
|
type: String,
|
|
62
71
|
default: 'text',
|
|
@@ -125,20 +134,85 @@
|
|
|
125
134
|
type: String as PropType<'on' | 'off' | undefined | string>,
|
|
126
135
|
default: 'on',
|
|
127
136
|
},
|
|
137
|
+
prependIcon: {
|
|
138
|
+
type: String as PropType<IconType>,
|
|
139
|
+
default: undefined,
|
|
140
|
+
},
|
|
141
|
+
appendIcon: {
|
|
142
|
+
type: String as PropType<IconType>,
|
|
143
|
+
default: undefined,
|
|
144
|
+
},
|
|
145
|
+
prependTooltip: {
|
|
146
|
+
type: String,
|
|
147
|
+
default: undefined,
|
|
148
|
+
},
|
|
149
|
+
appendTooltip: {
|
|
150
|
+
type: String,
|
|
151
|
+
default: undefined,
|
|
152
|
+
},
|
|
153
|
+
tooltipLocation: {
|
|
154
|
+
type: String as PropType<'top' | 'bottom' | 'start' | 'end'>,
|
|
155
|
+
default: 'top',
|
|
156
|
+
},
|
|
157
|
+
noIcon: {
|
|
158
|
+
type: Boolean,
|
|
159
|
+
default: false,
|
|
160
|
+
},
|
|
161
|
+
disableClickButton: {
|
|
162
|
+
type: Boolean,
|
|
163
|
+
default: true,
|
|
164
|
+
},
|
|
128
165
|
})
|
|
129
166
|
|
|
130
|
-
const
|
|
167
|
+
const ICONS: Record<NonNullable<IconType>, string> = {
|
|
168
|
+
info: mdiInformationOutline,
|
|
169
|
+
success: mdiCheck,
|
|
170
|
+
warning: mdiAlertOutline,
|
|
171
|
+
error: mdiAlertCircle,
|
|
172
|
+
close: mdiClose,
|
|
173
|
+
calendar: mdiChevronDown,
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const emit = defineEmits([
|
|
177
|
+
'update:modelValue',
|
|
178
|
+
'prepend-icon-click',
|
|
179
|
+
'append-icon-click',
|
|
180
|
+
])
|
|
181
|
+
|
|
182
|
+
const handlePrependIconClick = () => {
|
|
183
|
+
if (props.disableClickButton) return
|
|
184
|
+
emit('prepend-icon-click')
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const handleAppendIconClick = () => {
|
|
188
|
+
if (props.disableClickButton) return
|
|
189
|
+
emit('append-icon-click')
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const disableClickButton = computed(() => props.disableClickButton)
|
|
193
|
+
|
|
194
|
+
const iconColor = computed(() => {
|
|
195
|
+
if (hasError.value || Boolean(isRequired.value) || props.errorMessages.length > 0) return 'error'
|
|
196
|
+
return 'rgb(0 0 0 / 70%)'
|
|
197
|
+
})
|
|
198
|
+
|
|
199
|
+
const variant = computed(() => {
|
|
200
|
+
if (props.variantStyle) return props.variantStyle
|
|
201
|
+
return props.outlined ? 'outlined' : 'underlined'
|
|
202
|
+
})
|
|
131
203
|
|
|
132
204
|
const isOpen = ref(false)
|
|
133
205
|
// Initialize selectedItem with props.modelValue or empty array for multiple mode
|
|
134
206
|
const selectedItem = ref<SelectItemValueType | SelectItemArrayType>(props.modelValue)
|
|
135
207
|
const hasError = ref(false)
|
|
208
|
+
const menuMinWidth = ref<number | null>(null)
|
|
136
209
|
|
|
137
210
|
const labelWidth = ref(0)
|
|
138
211
|
const labelRef = ref<HTMLElement | null>(null)
|
|
139
212
|
const list = ref<VList | null>(null)
|
|
140
213
|
const textInput = ref<InstanceType<typeof VTextField> | null>(null)
|
|
141
214
|
const htmlItemRefs = ref<HTMLElement[]>([])
|
|
215
|
+
let resizeObserver: ResizeObserver | null = null
|
|
142
216
|
|
|
143
217
|
const toggleMenu = (skipInitialFocus = false) => {
|
|
144
218
|
if (props.readonly) return
|
|
@@ -172,11 +246,20 @@
|
|
|
172
246
|
|
|
173
247
|
isOpen.value = false
|
|
174
248
|
}
|
|
249
|
+
|
|
250
|
+
// si slot prepend/append, le menu peut devenir plus large que le champ de saisie, car il mesure la largeur du champ plus celle des emplacements (slots)
|
|
251
|
+
const updateMenuMinWidth = () => {
|
|
252
|
+
const el = textInput.value?.$el as HTMLElement | undefined
|
|
253
|
+
if (!el) return
|
|
254
|
+
|
|
255
|
+
const controlEl = el.querySelector('.v-input__control') as HTMLElement | null
|
|
256
|
+
menuMinWidth.value = (controlEl ?? el).offsetWidth
|
|
257
|
+
}
|
|
175
258
|
const inputId = ref(`sy-select-${Math.random().toString(36).substring(7)}`)
|
|
176
259
|
// Generate unique menu ID for each component instance to avoid conflicts and validation issues
|
|
177
260
|
const uniqueMenuId = ref(props.menuId === 'sy-select-menu' ? `sy-select-menu-${Math.random().toString(36).substring(7)}` : props.menuId)
|
|
178
261
|
|
|
179
|
-
const selectItem = (item: ItemType | null, event?: Event) => {
|
|
262
|
+
const selectItem = (item: ItemType | null | undefined, event?: Event) => {
|
|
180
263
|
// Prevent default action if event is provided
|
|
181
264
|
event?.preventDefault()
|
|
182
265
|
|
|
@@ -184,7 +267,7 @@
|
|
|
184
267
|
event?.stopPropagation()
|
|
185
268
|
|
|
186
269
|
// Si c'est un clic, appliquer le focus visuel en utilisant le système existant
|
|
187
|
-
if (event?.type === 'click' && item !== null) {
|
|
270
|
+
if (event?.type === 'click' && item !== null && item !== undefined) {
|
|
188
271
|
// Trouver l'index de l'élément cliqué
|
|
189
272
|
const clickedIndex = formattedItems.value.findIndex((formattedItem) => {
|
|
190
273
|
if (props.returnObject) {
|
|
@@ -198,8 +281,7 @@
|
|
|
198
281
|
setActiveDescendant(clickedIndex)
|
|
199
282
|
}
|
|
200
283
|
}
|
|
201
|
-
|
|
202
|
-
if (item === null) {
|
|
284
|
+
if (item === null || item === undefined) {
|
|
203
285
|
selectedItem.value = props.multiple ? [] : null
|
|
204
286
|
emit('update:modelValue', props.multiple ? [] : null)
|
|
205
287
|
|
|
@@ -681,17 +763,23 @@
|
|
|
681
763
|
|
|
682
764
|
setTimeout(setupAriaAttributes, 100)
|
|
683
765
|
setTimeout(setupAriaAttributes, 300)
|
|
766
|
+
|
|
767
|
+
updateMenuMinWidth()
|
|
768
|
+
|
|
769
|
+
const el = textInput.value?.$el as HTMLElement | undefined
|
|
770
|
+
if (!el || typeof ResizeObserver === 'undefined') return
|
|
771
|
+
|
|
772
|
+
resizeObserver = new ResizeObserver(() => {
|
|
773
|
+
updateMenuMinWidth()
|
|
774
|
+
})
|
|
775
|
+
resizeObserver.observe(el)
|
|
684
776
|
})
|
|
685
777
|
})
|
|
686
778
|
|
|
687
|
-
watch(isOpen, (
|
|
779
|
+
watch(isOpen, () => {
|
|
688
780
|
nextTick(() => {
|
|
689
781
|
if (!textInput.value || !textInput.value.$el) return
|
|
690
|
-
|
|
691
|
-
const inputElement = textInput.value.$el.querySelector('input') as HTMLElement
|
|
692
|
-
if (inputElement) {
|
|
693
|
-
ariaManager.updateInputState(inputElement, newValue, uniqueMenuId.value, activeDescendantId.value)
|
|
694
|
-
}
|
|
782
|
+
setupAriaAttributes()
|
|
695
783
|
})
|
|
696
784
|
})
|
|
697
785
|
|
|
@@ -753,6 +841,17 @@
|
|
|
753
841
|
// Intégration avec le système de validation du formulaire
|
|
754
842
|
useValidatable(validateOnSubmit)
|
|
755
843
|
|
|
844
|
+
watch(isOpen, () => {
|
|
845
|
+
nextTick(() => {
|
|
846
|
+
updateMenuMinWidth()
|
|
847
|
+
})
|
|
848
|
+
})
|
|
849
|
+
|
|
850
|
+
onBeforeUnmount(() => {
|
|
851
|
+
resizeObserver?.disconnect()
|
|
852
|
+
resizeObserver = null
|
|
853
|
+
})
|
|
854
|
+
|
|
756
855
|
defineExpose({
|
|
757
856
|
isOpen,
|
|
758
857
|
closeList,
|
|
@@ -783,105 +882,148 @@
|
|
|
783
882
|
location="bottom"
|
|
784
883
|
offset="4"
|
|
785
884
|
origin="top"
|
|
885
|
+
:close-on-content-click="!props.multiple"
|
|
786
886
|
:target="menuTarget"
|
|
787
887
|
>
|
|
788
888
|
<template #activator="{ props: activatorProps }">
|
|
789
|
-
<
|
|
790
|
-
:id="inputId"
|
|
791
|
-
v-model="selectedItemText"
|
|
792
|
-
v-click-outside="closeList"
|
|
793
|
-
v-rgaa-svg-fix="true"
|
|
794
|
-
:title="$attrs['aria-label'] || labelWithAsterisk"
|
|
795
|
-
color="primary"
|
|
796
|
-
:disabled="disabled"
|
|
797
|
-
:label="labelWithAsterisk"
|
|
798
|
-
:aria-label="$attrs['aria-label'] || labelWithAsterisk"
|
|
799
|
-
:error-messages="props.disableErrorHandling ? [] : errorMessages"
|
|
800
|
-
:variant="outlined ? 'outlined' : 'underlined'"
|
|
801
|
-
:rules="isRequired && !props.disableErrorHandling ? ['Le champ est requis.'] : []"
|
|
802
|
-
:bg-color="props.bgColor"
|
|
803
|
-
:density="props.density"
|
|
804
|
-
:active="hasChips || isOpen"
|
|
805
|
-
readonly
|
|
806
|
-
:hide-details="props.hideMessages && !showHelpTextAsMessage"
|
|
807
|
-
:hint="showHelpTextAsMessage ? props.helpText : ''"
|
|
808
|
-
:persistent-hint="!!showHelpTextAsMessage"
|
|
809
|
-
:autocomplete="props.autocomplete"
|
|
889
|
+
<div
|
|
810
890
|
class="sy-select"
|
|
811
891
|
:class="{ 'sy-select--clearable': props.clearable }"
|
|
812
|
-
:width="calculatedWidth"
|
|
813
|
-
:style="hasError ? { minWidth: `${labelWidth + 18}px`} : {minWidth: `${labelWidth}px`}"
|
|
814
|
-
v-bind="{
|
|
815
|
-
...Object.fromEntries(Object.entries($attrs).filter(([key]) => key !== 'display-asterisk')),
|
|
816
|
-
...initializeActivatorProps(activatorProps),
|
|
817
|
-
}"
|
|
818
|
-
@click="toggleMenu"
|
|
819
|
-
@keydown.enter.prevent="handleEnterKey"
|
|
820
|
-
@keydown.space.prevent="handleSpaceKey"
|
|
821
|
-
@keydown.down.prevent="handleDownKey"
|
|
822
|
-
@keydown.up.prevent="handleUpKey"
|
|
823
|
-
@keydown.esc.prevent="handleEscapeKey"
|
|
824
|
-
@keydown.home.prevent="handleHomeKey"
|
|
825
|
-
@keydown.end.prevent="handleEndKey"
|
|
826
|
-
@keydown.page-up.prevent="handlePageUpKey"
|
|
827
|
-
@keydown.page-down.prevent="handlePageDownKey"
|
|
828
|
-
@keydown.tab="handleTabKey"
|
|
829
|
-
@keydown="(e) => {
|
|
830
|
-
// Handle printable characters for keyboard navigation
|
|
831
|
-
if (!e.ctrlKey && !e.altKey && !e.metaKey) {
|
|
832
|
-
handleCharacterKey(e.key)
|
|
833
|
-
}
|
|
834
|
-
}"
|
|
835
892
|
>
|
|
836
|
-
<
|
|
837
|
-
|
|
838
|
-
|
|
893
|
+
<VTextField
|
|
894
|
+
:id="inputId"
|
|
895
|
+
v-model="selectedItemText"
|
|
896
|
+
v-click-outside="closeList"
|
|
897
|
+
:title="$attrs['aria-label'] || labelWithAsterisk"
|
|
898
|
+
:color="props.color"
|
|
899
|
+
:disabled="disabled"
|
|
900
|
+
:label="labelWithAsterisk"
|
|
901
|
+
:aria-label="$attrs['aria-label'] || labelWithAsterisk"
|
|
902
|
+
:error-messages="props.disableErrorHandling ? [] : errorMessages"
|
|
903
|
+
:variant="variant"
|
|
904
|
+
:rules="isRequired && !props.disableErrorHandling ? ['Le champ est requis.'] : []"
|
|
905
|
+
:bg-color="props.bgColor"
|
|
906
|
+
:density="props.density"
|
|
907
|
+
:active="hasChips || isOpen"
|
|
908
|
+
readonly
|
|
909
|
+
:hide-details="props.hideMessages && !showHelpTextAsMessage"
|
|
910
|
+
:hint="showHelpTextAsMessage ? props.helpText : ''"
|
|
911
|
+
:persistent-hint="!!showHelpTextAsMessage"
|
|
912
|
+
:autocomplete="props.autocomplete"
|
|
913
|
+
:width="calculatedWidth"
|
|
914
|
+
:style="hasError ? { minWidth: `${labelWidth + 18}px`} : {minWidth: `${labelWidth}px`}"
|
|
915
|
+
v-bind="{
|
|
916
|
+
...Object.fromEntries(Object.entries($attrs).filter(([key]) => key !== 'display-asterisk')),
|
|
917
|
+
...initializeActivatorProps(activatorProps),
|
|
918
|
+
}"
|
|
919
|
+
@click="toggleMenu"
|
|
920
|
+
@keydown.enter.prevent="handleEnterKey"
|
|
921
|
+
@keydown.space.prevent="handleSpaceKey"
|
|
922
|
+
@keydown.down.prevent="handleDownKey"
|
|
923
|
+
@keydown.up.prevent="handleUpKey"
|
|
924
|
+
@keydown.esc.prevent="handleEscapeKey"
|
|
925
|
+
@keydown.home.prevent="handleHomeKey"
|
|
926
|
+
@keydown.end.prevent="handleEndKey"
|
|
927
|
+
@keydown.page-up.prevent="handlePageUpKey"
|
|
928
|
+
@keydown.page-down.prevent="handlePageDownKey"
|
|
929
|
+
@keydown.tab="handleTabKey"
|
|
930
|
+
@keydown="handleCharacterKey"
|
|
839
931
|
>
|
|
840
|
-
<
|
|
841
|
-
v-
|
|
842
|
-
|
|
843
|
-
size="small"
|
|
844
|
-
class="ma-1"
|
|
845
|
-
closable
|
|
846
|
-
:close-label="`Supprimer ${getChipText(item)}`"
|
|
847
|
-
@click:close="removeChip(item)"
|
|
932
|
+
<div
|
|
933
|
+
v-if="hasChips"
|
|
934
|
+
class="d-flex flex-wrap gap-1"
|
|
848
935
|
>
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
<
|
|
863
|
-
v-if="props.
|
|
864
|
-
|
|
865
|
-
class="sy-select__clear-button"
|
|
866
|
-
:style="{ right: hasError ? '62px' : '42px' }"
|
|
867
|
-
:aria-label="locales.clear"
|
|
868
|
-
@keydown.enter.prevent="$event => selectItem(null, $event)"
|
|
869
|
-
@keydown.space.prevent="$event => selectItem(null, $event)"
|
|
870
|
-
@click.stop.prevent="$event => selectItem(null, $event)"
|
|
936
|
+
<VChip
|
|
937
|
+
v-for="item in selectedItem"
|
|
938
|
+
:key="props.returnObject && item ? item[props.valueKey] : item"
|
|
939
|
+
size="small"
|
|
940
|
+
class="ma-1"
|
|
941
|
+
closable
|
|
942
|
+
:close-label="`Supprimer ${getChipText(item)}`"
|
|
943
|
+
@click:close="removeChip(item)"
|
|
944
|
+
>
|
|
945
|
+
{{ getChipText(item) }}
|
|
946
|
+
</VChip>
|
|
947
|
+
</div>
|
|
948
|
+
<!-- Prepend -->
|
|
949
|
+
<template
|
|
950
|
+
v-if="$slots.prepend || props.prependIcon || props.prependTooltip"
|
|
951
|
+
#prepend
|
|
871
952
|
>
|
|
953
|
+
<IconSlot
|
|
954
|
+
:icon="props.prependIcon"
|
|
955
|
+
:tooltip="props.prependTooltip"
|
|
956
|
+
:label="props.label"
|
|
957
|
+
:icon-color="iconColor"
|
|
958
|
+
:icons="ICONS"
|
|
959
|
+
:no-icon="props.noIcon"
|
|
960
|
+
:disable-click-button="disableClickButton"
|
|
961
|
+
:tooltip-location="props.tooltipLocation"
|
|
962
|
+
@click="handlePrependIconClick"
|
|
963
|
+
>
|
|
964
|
+
<slot
|
|
965
|
+
v-if="$slots.prepend"
|
|
966
|
+
name="prepend"
|
|
967
|
+
/>
|
|
968
|
+
</IconSlot>
|
|
969
|
+
</template>
|
|
970
|
+
|
|
971
|
+
<!-- Append -->
|
|
972
|
+
<template
|
|
973
|
+
v-if="$slots.append || props.appendIcon || props.appendTooltip"
|
|
974
|
+
#append
|
|
975
|
+
>
|
|
976
|
+
<IconSlot
|
|
977
|
+
:icon="props.appendIcon"
|
|
978
|
+
:tooltip="props.appendTooltip"
|
|
979
|
+
:label="props.label"
|
|
980
|
+
:icon-color="iconColor"
|
|
981
|
+
:icons="ICONS"
|
|
982
|
+
:no-icon="props.noIcon"
|
|
983
|
+
:disable-click-button="disableClickButton"
|
|
984
|
+
:tooltip-location="props.tooltipLocation"
|
|
985
|
+
@click="handleAppendIconClick"
|
|
986
|
+
>
|
|
987
|
+
<slot
|
|
988
|
+
v-if="$slots.append"
|
|
989
|
+
name="append"
|
|
990
|
+
/>
|
|
991
|
+
</IconSlot>
|
|
992
|
+
</template>
|
|
993
|
+
<template #append-inner>
|
|
872
994
|
<SyIcon
|
|
873
|
-
|
|
874
|
-
|
|
995
|
+
v-if="hasError"
|
|
996
|
+
class="mr-6"
|
|
997
|
+
color="error"
|
|
998
|
+
:icon="mdiAlertCircle"
|
|
999
|
+
:decorative="false"
|
|
1000
|
+
label="Information"
|
|
1001
|
+
role="img"
|
|
1002
|
+
/>
|
|
1003
|
+
<button
|
|
1004
|
+
v-if="props.clearable && hasSelectionToClear"
|
|
1005
|
+
type="button"
|
|
1006
|
+
class="sy-select__clear-button"
|
|
1007
|
+
:style="{ right: hasError ? '62px' : '42px' }"
|
|
1008
|
+
:aria-label="locales.clear"
|
|
1009
|
+
@keydown.enter.prevent="$event => selectItem(null, $event)"
|
|
1010
|
+
@keydown.space.prevent="$event => selectItem(null, $event)"
|
|
1011
|
+
@click.stop.prevent="$event => selectItem(null, $event)"
|
|
1012
|
+
>
|
|
1013
|
+
<SyIcon
|
|
1014
|
+
class="sy-select__clear-icon"
|
|
1015
|
+
:icon="mdiCloseCircle"
|
|
1016
|
+
:decorative="true"
|
|
1017
|
+
/>
|
|
1018
|
+
</button>
|
|
1019
|
+
<SyIcon
|
|
1020
|
+
class="arrow"
|
|
1021
|
+
:icon="mdiChevronDown"
|
|
875
1022
|
:decorative="true"
|
|
876
1023
|
/>
|
|
877
|
-
</
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
:icon="mdiChevronDown"
|
|
881
|
-
:decorative="true"
|
|
882
|
-
/>
|
|
883
|
-
</template>
|
|
884
|
-
</VTextField>
|
|
1024
|
+
</template>
|
|
1025
|
+
</VTextField>
|
|
1026
|
+
</div>
|
|
885
1027
|
<span
|
|
886
1028
|
ref="labelRef"
|
|
887
1029
|
class="hidden-label"
|
|
@@ -890,22 +1032,8 @@
|
|
|
890
1032
|
<VList
|
|
891
1033
|
:id="uniqueMenuId"
|
|
892
1034
|
ref="list"
|
|
893
|
-
class="v-list"
|
|
894
|
-
role="listbox"
|
|
895
|
-
:aria-multiselectable="props.multiple ? 'true' : undefined"
|
|
896
1035
|
:aria-label="$attrs['aria-label'] || labelWithAsterisk"
|
|
897
|
-
:
|
|
898
|
-
minWidth: `${textInput?.$el.offsetWidth}px`
|
|
899
|
-
}"
|
|
900
|
-
bg-color="white"
|
|
901
|
-
tabindex="0"
|
|
902
|
-
:title="props.multiple ? 'Sélection multiple' : 'Sélection'"
|
|
903
|
-
@keydown.esc.prevent="closeList"
|
|
904
|
-
@keydown.tab="handleTabKey"
|
|
905
|
-
@keydown.enter.prevent="handleEnterKey"
|
|
906
|
-
@keydown.down.prevent="handleDownKey"
|
|
907
|
-
@keydown.up.prevent="handleUpKey"
|
|
908
|
-
@keydown.home.prevent="handleHomeKey"
|
|
1036
|
+
:title="$attrs['aria-label'] || labelWithAsterisk"
|
|
909
1037
|
@keydown.end.prevent="handleEndKey"
|
|
910
1038
|
@keydown.page-up.prevent="handlePageUpKey"
|
|
911
1039
|
@keydown.page-down.prevent="handlePageDownKey"
|
|
@@ -975,8 +1103,19 @@
|
|
|
975
1103
|
}
|
|
976
1104
|
|
|
977
1105
|
.sy-select {
|
|
978
|
-
display:
|
|
979
|
-
|
|
1106
|
+
display: block;
|
|
1107
|
+
|
|
1108
|
+
:deep(.v-input__prepend > .v-icon__svg),
|
|
1109
|
+
:deep(.v-input__append > .v-icon__svg) {
|
|
1110
|
+
fill: rgb(0 0 0 / 70%);
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
:deep(.v-input__prepend .v-icon:focus-visible),
|
|
1114
|
+
:deep(.v-input__append .v-icon:focus-visible) {
|
|
1115
|
+
outline: 2px solid tokens.$primary-base;
|
|
1116
|
+
outline-offset: 2px;
|
|
1117
|
+
opacity: 1;
|
|
1118
|
+
}
|
|
980
1119
|
}
|
|
981
1120
|
|
|
982
1121
|
.v-field {
|
|
@@ -1044,7 +1183,7 @@
|
|
|
1044
1183
|
padding: 2px 0;
|
|
1045
1184
|
}
|
|
1046
1185
|
|
|
1047
|
-
.v-icon {
|
|
1186
|
+
.v-icon.arrow {
|
|
1048
1187
|
position: absolute;
|
|
1049
1188
|
right: 10px;
|
|
1050
1189
|
color: tokens.$grey-darken-20;
|
|
@@ -1077,7 +1216,7 @@
|
|
|
1077
1216
|
margin: 2px;
|
|
1078
1217
|
}
|
|
1079
1218
|
|
|
1080
|
-
:deep(.v-field__input) {
|
|
1219
|
+
.sy-select :deep(.v-field__input) {
|
|
1081
1220
|
opacity: 1;
|
|
1082
1221
|
color: tokens.$grey-darken-20 !important;
|
|
1083
1222
|
cursor: pointer;
|
|
@@ -1090,7 +1229,7 @@
|
|
|
1090
1229
|
padding-right: 55px;
|
|
1091
1230
|
}
|
|
1092
1231
|
|
|
1093
|
-
:deep(.v-field__input input) {
|
|
1232
|
+
.sy-select :deep(.v-field__input input) {
|
|
1094
1233
|
position: absolute;
|
|
1095
1234
|
z-index: -1;
|
|
1096
1235
|
text-overflow: ellipsis;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VIcon } from 'vuetify/components'
|
|
2
2
|
import type { StoryObj } from '@storybook/vue3'
|
|
3
3
|
import { checkIcon, linkICon, croixIcon } from '@/constants/icons'
|
|
4
4
|
import Usages from '@/components/Usages/Usages.vue'
|
|
@@ -22,7 +22,7 @@ export const UsagePage: StoryObj = {
|
|
|
22
22
|
|
|
23
23
|
render: () => {
|
|
24
24
|
return {
|
|
25
|
-
components: {
|
|
25
|
+
components: { VIcon, Usages },
|
|
26
26
|
|
|
27
27
|
setup() {
|
|
28
28
|
const icon = checkIcon
|
package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts
CHANGED
|
@@ -223,13 +223,13 @@ describe('useSySelectKeyboard', () => {
|
|
|
223
223
|
it('trouve et sélectionne un élément commençant par le caractère donné', () => {
|
|
224
224
|
// Menu déjà ouvert, pas besoin d'attendre nextTick
|
|
225
225
|
isOpen.value = true
|
|
226
|
-
keyboard.handleCharacterKey('b')
|
|
226
|
+
keyboard.handleCharacterKey({ key: 'b', ctrlKey: false, altKey: false, metaKey: false } as KeyboardEvent)
|
|
227
227
|
expect(keyboard.activeDescendantId.value).toBe('option-1') // Banana
|
|
228
228
|
})
|
|
229
229
|
|
|
230
230
|
it('ouvre le menu si fermé et trouve un élément correspondant', async () => {
|
|
231
231
|
isOpen.value = false
|
|
232
|
-
keyboard.handleCharacterKey('c')
|
|
232
|
+
keyboard.handleCharacterKey({ key: 'c', ctrlKey: false, altKey: false, metaKey: false } as KeyboardEvent)
|
|
233
233
|
expect(toggleMenu).toHaveBeenCalled()
|
|
234
234
|
|
|
235
235
|
// Simuler l'ouverture du menu et attendre nextTick
|
|
@@ -240,7 +240,7 @@ describe('useSySelectKeyboard', () => {
|
|
|
240
240
|
})
|
|
241
241
|
|
|
242
242
|
it('ne fait rien si aucun élément ne correspond', () => {
|
|
243
|
-
keyboard.handleCharacterKey('z')
|
|
243
|
+
keyboard.handleCharacterKey({ key: 'z', ctrlKey: false, altKey: false, metaKey: false } as KeyboardEvent)
|
|
244
244
|
expect(keyboard.activeDescendantId.value).toBe('')
|
|
245
245
|
expect(toggleMenu).not.toHaveBeenCalled()
|
|
246
246
|
})
|
|
@@ -8,7 +8,7 @@ export interface UseSySelectKeyboardOptions {
|
|
|
8
8
|
isOpen: Ref<boolean>
|
|
9
9
|
formattedItems: Ref<ItemType[]>
|
|
10
10
|
toggleMenu: (skipInitialFocus?: boolean) => void
|
|
11
|
-
selectItem: (item: ItemType | null, event?: Event) => void
|
|
11
|
+
selectItem: (item: ItemType | null | undefined, event?: Event) => void
|
|
12
12
|
getItemText: (item: unknown) => unknown
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -52,7 +52,6 @@ export function useSySelectKeyboard(options: UseSySelectKeyboardOptions) {
|
|
|
52
52
|
})
|
|
53
53
|
|
|
54
54
|
element.setAttribute('tabindex', '0')
|
|
55
|
-
element.focus()
|
|
56
55
|
element.classList.add('keyboard-focused')
|
|
57
56
|
element.scrollIntoView({ block: 'nearest' })
|
|
58
57
|
}
|
|
@@ -109,7 +108,8 @@ export function useSySelectKeyboard(options: UseSySelectKeyboardOptions) {
|
|
|
109
108
|
|
|
110
109
|
// Sinon, essayer de récupérer l'index à partir de l'ID ARIA
|
|
111
110
|
if (activeDescendantId.value) {
|
|
112
|
-
const
|
|
111
|
+
const activeIndexString = activeDescendantId.value.split('-')?.[1]
|
|
112
|
+
const activeIndex = activeIndexString ? parseInt(activeIndexString) : NaN
|
|
113
113
|
if (!isNaN(activeIndex) && activeIndex >= 0 && activeIndex < formattedItems.value.length) {
|
|
114
114
|
// Synchroniser lastFocusedIndex avec l'index trouvé
|
|
115
115
|
lastFocusedIndex.value = activeIndex
|
|
@@ -218,23 +218,24 @@ export function useSySelectKeyboard(options: UseSySelectKeyboardOptions) {
|
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
const handleCharacterKey = (
|
|
222
|
-
|
|
223
|
-
if (key.length
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
221
|
+
const handleCharacterKey = (event: KeyboardEvent) => {
|
|
222
|
+
if (event.ctrlKey || event.altKey || event.metaKey) return
|
|
223
|
+
if (event.key.length !== 1) return
|
|
224
|
+
if (!event.key.match(/\S/)) return
|
|
225
|
+
|
|
226
|
+
const index = findItemStartingWith(event.key)
|
|
227
|
+
if (index < 0) return
|
|
228
|
+
|
|
229
|
+
if (!isOpen.value) {
|
|
230
|
+
toggleMenu()
|
|
231
|
+
// Attendre que le menu soit ouvert avant de définir le focus
|
|
232
|
+
nextTick(() => {
|
|
233
|
+
setActiveDescendant(index)
|
|
234
|
+
})
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
// Menu déjà ouvert, définir le focus immédiatement
|
|
238
|
+
setActiveDescendant(index)
|
|
238
239
|
}
|
|
239
240
|
}
|
|
240
241
|
|
|
@@ -301,7 +302,8 @@ export function useSySelectKeyboard(options: UseSySelectKeyboardOptions) {
|
|
|
301
302
|
const handleTabKey = () => {
|
|
302
303
|
if (isOpen.value && activeDescendantId.value) {
|
|
303
304
|
// Trouver l'item actuellement focusé
|
|
304
|
-
const
|
|
305
|
+
const currentIndexString = activeDescendantId.value.split('-')?.[1]
|
|
306
|
+
const currentIndex = currentIndexString ? parseInt(currentIndexString) : NaN
|
|
305
307
|
if (!isNaN(currentIndex) && currentIndex >= 0 && currentIndex < formattedItems.value.length) {
|
|
306
308
|
const currentItem = formattedItems.value[currentIndex]
|
|
307
309
|
// Sélectionner l'item qui a le focus
|
|
@@ -320,7 +322,8 @@ export function useSySelectKeyboard(options: UseSySelectKeyboardOptions) {
|
|
|
320
322
|
// Watch activeDescendantId pour synchroniser lastFocusedIndex
|
|
321
323
|
watch(activeDescendantId, (newId) => {
|
|
322
324
|
if (newId) {
|
|
323
|
-
const
|
|
325
|
+
const indexString = newId.split('-')?.[1]
|
|
326
|
+
const index = indexString ? parseInt(indexString) : NaN
|
|
324
327
|
if (!isNaN(index) && index >= 0 && index < formattedItems.value.length) {
|
|
325
328
|
// Synchroniser lastFocusedIndex avec l'ID ARIA
|
|
326
329
|
lastFocusedIndex.value = index
|
|
@@ -0,0 +1,40 @@
|
|
|
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 SySelect from '../SySelect.vue'
|
|
8
|
+
|
|
9
|
+
// Scénario d’accessibilité : select simple requis avec ouverture du menu.
|
|
10
|
+
|
|
11
|
+
describe('SySelect – accessibility (axe)', () => {
|
|
12
|
+
it('has no obvious axe violations for required select with opened menu', async () => {
|
|
13
|
+
const items = [
|
|
14
|
+
{ text: 'Option 1', value: '1' },
|
|
15
|
+
{ text: 'Option 2', value: '2' },
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
const wrapper = mount(SySelect, {
|
|
19
|
+
props: {
|
|
20
|
+
items,
|
|
21
|
+
label: 'Choisissez une option',
|
|
22
|
+
required: true,
|
|
23
|
+
},
|
|
24
|
+
attachTo: document.body,
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
// Ouvrir le menu pour inclure la liste déroulante dans l’analyse axe
|
|
28
|
+
const activator = wrapper.find('.sy-select')
|
|
29
|
+
if (activator.exists()) {
|
|
30
|
+
await activator.trigger('click')
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const results = await axe(document.body)
|
|
34
|
+
assertNoA11yViolations(results, 'SySelect – required select with menu open', {
|
|
35
|
+
ignoreRules: ['region'],
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
wrapper.unmount()
|
|
39
|
+
})
|
|
40
|
+
})
|