@cnamts/synapse 1.0.21 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DateFilter-uN8OURoP.js → DateFilter-B5n-ZkLi.js} +29 -24
- package/dist/{NumberFilter-sm1dQNQi.js → NumberFilter-CtiZ9uj8.js} +1 -1
- package/dist/{PeriodFilter-Cklsxnh9.js → PeriodFilter-DzqiMb-b.js} +1 -1
- package/dist/{SelectFilter-CWefj27Z.js → SelectFilter-BOYlF7rX.js} +1 -1
- package/dist/{TextFilter-Ddyj885L.js → TextFilter-BOFRNfcX.js} +1 -1
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7399 -5967
- package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +10 -14
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +8 -8
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +3 -3
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +16 -20
- package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1610 -1354
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +2411 -2027
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8889 -7327
- package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -6
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +8888 -7334
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +951 -839
- package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1613 -1357
- package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +223 -203
- package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +3 -3
- package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +3 -7
- package/dist/components/CollapsibleList/CollapsibleList.d.ts +4 -1
- package/dist/components/CookieBanner/CookieBanner.d.ts +303 -273
- package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +1297 -1156
- package/dist/components/CookiesSelection/CookiesSelection.d.ts +404 -377
- package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
- package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +1088 -847
- package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +1 -1
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +515 -321
- package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +41 -39
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +921 -801
- package/dist/components/Customs/SyForm/SyForm.d.ts +356 -348
- package/dist/components/Customs/SyPagination/SyPagination.d.ts +11 -1
- package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +907 -795
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +1629 -1365
- package/dist/components/DataList/DataList.d.ts +1 -1
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3868 -3123
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1946 -1562
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +833 -687
- package/dist/components/DialogBox/DialogBox.d.ts +482 -416
- package/dist/components/DownloadBtn/config.d.ts +1 -1
- package/dist/components/ErrorPage/ErrorPage.d.ts +4 -0
- package/dist/components/FileList/UploadItem/locales.d.ts +4 -0
- package/dist/components/FileUpload/FileUpload.d.ts +4 -4
- package/dist/components/FileUpload/locales.d.ts +1 -0
- package/dist/components/FilterSideBar/FilterSideBar.d.ts +418 -366
- package/dist/components/FooterBar/FooterBar.d.ts +13 -1
- package/dist/components/FooterBar/locales.d.ts +1 -0
- package/dist/components/FooterBar/types.d.ts +1 -0
- package/dist/components/HeaderBar/HeaderBar.d.ts +1 -0
- package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -0
- package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +3 -6
- package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +1031 -643
- package/dist/components/LangBtn/LangBtn.d.ts +277 -239
- package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +4 -0
- package/dist/components/MaintenancePage/MaintenancePage.d.ts +16 -1
- package/dist/components/NirField/NirField.d.ts +1659 -1371
- package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
- package/dist/components/PageContainer/PageContainer.d.ts +3 -1
- package/dist/components/PasswordField/PasswordField.d.ts +1 -1
- package/dist/components/PeriodField/PeriodField.d.ts +7712 -6216
- package/dist/components/PhoneField/PhoneField.d.ts +831 -687
- package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +4 -12
- package/dist/components/StatusPage/StatusPage.d.ts +12 -1
- package/dist/components/SubHeader/SubHeader.d.ts +2 -0
- package/dist/components/SyAlert/SyAlert.d.ts +74 -70
- package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +10 -1
- package/dist/components/SyHeading/SyHeading.d.ts +20 -0
- package/dist/components/SyTextArea/SyTextArea.d.ts +476 -420
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +759 -468
- package/dist/components/Tables/SyTable/SyTable.d.ts +761 -470
- package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
- package/dist/components/Tables/common/SyTablePagination.d.ts +269 -170
- package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -1
- package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +166 -138
- package/dist/components/Tables/common/types.d.ts +2 -0
- package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +24 -1211
- package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/design-system-v3.js +70 -69
- package/dist/design-system-v3.umd.cjs +265 -265
- package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +26 -14
- package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +19 -13
- package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +28 -15
- package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +20 -13
- package/dist/designTokens/tokens/pa/paLightTheme.d.ts +26 -15
- package/dist/designTokens/tokens/pa/paSemantic.d.ts +19 -13
- package/dist/main-CEl4J8_T.js +37241 -0
- package/dist/style.css +1 -1
- package/dist/vuetifyConfig.d.ts +14 -14
- package/package.json +13 -7
- package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
- package/src/assets/apTokens.scss +53 -17
- package/src/assets/overrides/_icons.scss +12 -2
- package/src/assets/overrides/_tooltips.scss +5 -6
- package/src/assets/overrides/_typography.scss +17 -2
- package/src/assets/overrides/_utilities.scss +49 -3
- package/src/assets/tokens.scss +53 -17
- package/src/components/Accordion/accessibilite/Accessibility.mdx +5 -4
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +14 -56
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +15 -23
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +15 -3
- package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +0 -98
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +1 -1
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +5 -16
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +3 -1
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +7 -0
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +0 -1
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +0 -1
- package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +0 -52
- package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +6 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +3 -1
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +19 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -4
- package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +2 -13
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.mdx +3 -1
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +7 -0
- package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +8 -0
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -2
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +28 -10
- package/src/components/Amelipro/AmeliproPostalAddressField/__tests__/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +44 -8
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +15 -3
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +1 -1
- package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +0 -1
- package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +6 -0
- package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +2 -4
- package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +0 -2
- package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +8 -0
- package/src/components/BackBtn/BackBtn.vue +1 -1
- package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +36 -18
- package/src/components/ChipList/ChipList.vue +4 -2
- package/src/components/CollapsibleList/CollapsibleList.stories.ts +8 -3
- package/src/components/CollapsibleList/CollapsibleList.vue +14 -6
- package/src/components/CollapsibleList/accessibilite/Accessibility.mdx +19 -6
- package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +1 -0
- package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +2 -0
- package/src/components/CookieBanner/CookieBanner.stories.ts +10 -0
- package/src/components/CookieBanner/CookieBanner.vue +15 -5
- package/src/components/CookieBanner/accessibilite/Accessibility.mdx +9 -0
- package/src/components/CookieBanner/tests/CookieBanner.spec.ts +10 -2
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +21 -15
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +17 -8
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +1 -0
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +5 -0
- package/src/components/CookiesSelection/CookiesSelection.vue +7 -2
- package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +1 -0
- package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +5 -0
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +21 -15
- package/src/components/CopyBtn/CopyBtn.vue +6 -4
- package/src/components/CopyBtn/accessibilite/Accessibility.mdx +82 -11
- package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +5 -1
- package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -10
- package/src/components/Customs/Selects/SySelect/SySelect.mdx +0 -1
- package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +10 -10
- package/src/components/Customs/Selects/SySelect/SySelect.vue +17 -0
- package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
- package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +1 -3
- package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +72 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
- package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +31 -2
- package/src/components/Customs/SyIcon/SyIcon.vue +9 -5
- package/src/components/Customs/SyPagination/SyPagination.stories.ts +14 -2
- package/src/components/Customs/SyPagination/SyPagination.vue +20 -5
- package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +79 -8
- package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +53 -0
- package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +4 -0
- package/src/components/Customs/SyTextField/SyTextField.vue +39 -5
- package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +28 -3
- package/src/components/DatePicker/CalendarMode/DatePicker.vue +20 -8
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1 -1
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +34 -0
- package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +27 -0
- package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +23 -9
- package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +21 -8
- package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +50 -22
- package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +48 -10
- package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +16 -3
- package/src/components/DialogBox/DialogBox.stories.ts +13 -0
- package/src/components/DialogBox/DialogBox.vue +12 -5
- package/src/components/DialogBox/accessibilite/Accessibility.mdx +27 -7
- package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +1 -0
- package/src/components/DialogBox/tests/DialogBox.spec.ts +40 -6
- package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +73 -11
- package/src/components/DownloadBtn/config.ts +1 -1
- package/src/components/ErrorPage/ErrorPage.stories.ts +82 -47
- package/src/components/ErrorPage/ErrorPage.vue +6 -0
- package/src/components/ErrorPage/accessibilite/Accessibility.mdx +15 -0
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +2 -0
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
- package/src/components/FileList/FileList.stories.ts +4 -0
- package/src/components/FileList/UploadItem/UploadItem.vue +8 -3
- package/src/components/FileList/UploadItem/locales.ts +10 -0
- package/src/components/FileList/accessibilite/Accessibility.mdx +55 -7
- package/src/components/FileUpload/FileUpload.vue +60 -37
- package/src/components/FileUpload/FileUploadContent.vue +1 -1
- package/src/components/FileUpload/accessibilite/Accessibility.mdx +48 -5
- package/src/components/FileUpload/locales.ts +1 -0
- package/src/components/FileUpload/tests/FileUpload.spec.ts +14 -14
- package/src/components/FilterInline/FilterInline.stories.ts +0 -15
- package/src/components/FilterInline/FilterInline.vue +1 -0
- package/src/components/FilterInline/accessibilite/Accessibility.mdx +70 -7
- package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +3 -3
- package/src/components/FilterSideBar/FilterSideBar.stories.ts +0 -3
- package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
- package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +70 -9
- package/src/components/FooterBar/FooterBar.stories.ts +298 -34
- package/src/components/FooterBar/FooterBar.vue +67 -9
- package/src/components/FooterBar/config.ts +2 -2
- package/src/components/FooterBar/locales.ts +1 -0
- package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
- package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +6 -25
- package/src/components/FooterBar/types.d.ts +1 -0
- package/src/components/HeaderBar/HeaderBar.stories.ts +23 -1
- package/src/components/HeaderBar/HeaderBar.vue +4 -0
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +7 -2
- package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +5 -0
- package/src/components/HeaderBar/accessibilite/Accessibility.mdx +24 -5
- package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +1 -0
- package/src/components/HeaderBar/tests/HeaderBar.spec.ts +3 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +4 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -0
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +3 -0
- package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +22 -0
- package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -5
- package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +2 -0
- package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +44 -0
- package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +2 -0
- package/src/components/MaintenancePage/MaintenancePage.vue +33 -6
- package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +3 -1
- package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +3 -2
- package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +18 -0
- package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +2 -0
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +1 -1
- package/src/components/NotFoundPage/NotFoundPage.vue +16 -5
- package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +2 -0
- package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +49 -0
- package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +25 -2
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +2 -0
- package/src/components/PageContainer/PageContainer.stories.ts +47 -0
- package/src/components/PageContainer/PageContainer.vue +4 -2
- package/src/components/PageContainer/accessibilite/Accessibility.mdx +31 -17
- package/src/components/PaginatedTable/PaginatedTable.mdx +3 -3
- package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -1
- package/src/components/PeriodField/PeriodField.vue +4 -0
- package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +10 -1
- package/src/components/PhoneField/PhoneField.stories.ts +73 -35
- package/src/components/PhoneField/PhoneField.vue +152 -83
- package/src/components/PhoneField/accessibilite/Accessibility.mdx +306 -9
- package/src/components/PhoneField/indicatifs.ts +2 -2
- package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +47 -0
- package/src/components/PhoneField/tests/PhoneField.spec.ts +82 -5
- package/src/components/SearchListField/SearchListField.vue +1 -1
- package/src/components/SearchListField/accessibilite/Accessibility.mdx +69 -9
- package/src/components/SearchListField/tests/SearchListField.a11y.spec.ts +37 -0
- package/src/components/SocialMediaLinks/SocialMediaLinks.vue +1 -1
- package/src/components/StatusPage/StatusPage.mdx +10 -1
- package/src/components/StatusPage/StatusPage.stories.ts +43 -0
- package/src/components/StatusPage/StatusPage.vue +26 -4
- package/src/components/StatusPage/accessibilite/Accessibility.mdx +24 -5
- package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +1 -0
- package/src/components/StatusPage/tests/StatusPage.spec.ts +3 -0
- package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +2 -0
- package/src/components/SubHeader/SubHeader.stories.ts +16 -0
- package/src/components/SubHeader/SubHeader.vue +6 -3
- package/src/components/SubHeader/accessibilite/Accessibility.mdx +27 -6
- package/src/components/SyAlert/SyAlert.vue +21 -20
- package/src/components/SyBtnMenu/SyBtnMenu.vue +33 -17
- package/src/components/SyBtnMenu/tests/SyBtnMenu.a11y.spec.ts +38 -0
- package/src/components/SyBtnMenu/tests/SyBtnMenu.spec.ts +41 -0
- package/src/components/SyHeading/SyHeading.vue +18 -0
- package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -30
- package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -0
- package/src/components/Tables/SyTable/SyTable.vue +2 -0
- package/src/components/Tables/common/SyTablePagination.vue +16 -10
- package/src/components/Tables/common/filters/DateFilter.vue +5 -0
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +40 -24
- package/src/components/Tables/common/types.ts +3 -0
- package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +11 -11
- package/src/components/UploadWorkflow/UploadWorkflow.vue +30 -13
- package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +56 -5
- package/src/components/UploadWorkflow/accessibilite/UploadWorkflow.a11y.spec.ts +110 -0
- package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +7 -25
- package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +144 -121
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +53 -31
- package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -1
- package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +72 -8
- package/src/components/index.ts +1 -0
- package/src/components/types.ts +4 -0
- package/src/composables/date/tests/useDateInitialization.spec.ts +22 -1
- package/src/composables/date/useDateInitializationDayjs.ts +4 -7
- package/src/composables/date/useDatePickerAccessibility.ts +2 -3
- package/src/composables/useFilterable/useFilterable.spec.ts +52 -2
- package/src/composables/useFilterable/useFilterable.ts +7 -1
- package/src/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
- package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
- package/src/designTokens/tokens/cnam/cnamLightTheme.ts +28 -15
- package/src/designTokens/tokens/cnam/cnamSemantic.ts +21 -14
- package/src/designTokens/tokens/pa/paLightTheme.ts +27 -16
- package/src/designTokens/tokens/pa/paSemantic.ts +19 -13
- package/src/directives/rgaaSvgFix.ts +2 -7
- package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/Exemptions-derogations.mdx +1 -1
- package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +188 -0
- package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/RGAA.mdx +1 -1
- package/src/stories/Accessibilite/Introduction.mdx +22 -3
- package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +21 -22
- package/src/stories/DeprecationNotice/DeprecationNotice.ts +41 -0
- package/src/stories/DesignTokens/ColorDisplay.vue +12 -5
- package/src/stories/DesignTokens/Colors.mdx +8 -59
- package/src/stories/DesignTokens/colors.stories.ts +1862 -1071
- package/src/stories/EcoConception/EcoGuideComponent.vue +10 -4
- package/dist/main-CWniLr0s.js +0 -36919
|
@@ -118,11 +118,17 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
118
118
|
>
|
|
119
119
|
<!---->
|
|
120
120
|
<div
|
|
121
|
-
class="
|
|
121
|
+
class="
|
|
122
|
+
bg-primary
|
|
123
|
+
v-progress-linear__background
|
|
124
|
+
"
|
|
122
125
|
style="opacity: NaN;"
|
|
123
126
|
></div>
|
|
124
127
|
<div
|
|
125
|
-
class="
|
|
128
|
+
class="
|
|
129
|
+
bg-primary
|
|
130
|
+
v-progress-linear__buffer
|
|
131
|
+
"
|
|
126
132
|
style="
|
|
127
133
|
opacity: NaN;
|
|
128
134
|
width: 0%;
|
|
@@ -136,10 +142,12 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
136
142
|
>
|
|
137
143
|
<div class="v-progress-linear__indeterminate">
|
|
138
144
|
<div class="
|
|
145
|
+
bg-primary
|
|
139
146
|
long
|
|
140
147
|
v-progress-linear__indeterminate
|
|
141
148
|
"></div>
|
|
142
149
|
<div class="
|
|
150
|
+
bg-primary
|
|
143
151
|
short
|
|
144
152
|
v-progress-linear__indeterminate
|
|
145
153
|
"></div>
|
|
@@ -149,7 +157,6 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
149
157
|
</div>
|
|
150
158
|
</div>
|
|
151
159
|
<div class="v-field__prepend-inner">
|
|
152
|
-
<!---->
|
|
153
160
|
<!-- v-if -->
|
|
154
161
|
<!-- v-if -->
|
|
155
162
|
</div>
|
|
@@ -159,22 +166,26 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
159
166
|
>
|
|
160
167
|
<!---->
|
|
161
168
|
<label
|
|
169
|
+
aria-hidden="false"
|
|
162
170
|
class="
|
|
163
171
|
v-field-label
|
|
164
172
|
v-label
|
|
165
173
|
"
|
|
166
|
-
for="input-v-
|
|
174
|
+
for="input-v-2"
|
|
175
|
+
id="input-v-2-label"
|
|
167
176
|
>
|
|
168
177
|
<!---->
|
|
169
178
|
Caractères de l’audio
|
|
170
179
|
</label>
|
|
171
180
|
<!---->
|
|
172
181
|
<input
|
|
173
|
-
aria-describedby="input-v-
|
|
182
|
+
aria-describedby="input-v-2-messages"
|
|
174
183
|
aria-label="Caractères de l’audio"
|
|
184
|
+
aria-labelledby="input-v-2-label"
|
|
175
185
|
autocomplete="off"
|
|
176
186
|
class="v-field__input"
|
|
177
|
-
|
|
187
|
+
direction="horizontal"
|
|
188
|
+
id="input-v-2"
|
|
178
189
|
title="Caractères de l’audio"
|
|
179
190
|
type="text"
|
|
180
191
|
/>
|
|
@@ -186,7 +197,6 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
186
197
|
<!-- v-if -->
|
|
187
198
|
<!-- v-if -->
|
|
188
199
|
<!-- v-if -->
|
|
189
|
-
<!---->
|
|
190
200
|
</div>
|
|
191
201
|
<div class="v-field__outline">
|
|
192
202
|
<div class="v-field__outline__start"></div>
|
|
@@ -198,7 +208,6 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
198
208
|
v-field-label--floating
|
|
199
209
|
v-label
|
|
200
210
|
"
|
|
201
|
-
for="input-v-1"
|
|
202
211
|
>
|
|
203
212
|
<!---->
|
|
204
213
|
Caractères de l’audio
|
|
@@ -215,7 +224,7 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
|
|
|
215
224
|
appear="false"
|
|
216
225
|
class="v-messages"
|
|
217
226
|
css="true"
|
|
218
|
-
id="input-v-
|
|
227
|
+
id="input-v-2-messages"
|
|
219
228
|
name="slide-y-transition"
|
|
220
229
|
persisted="false"
|
|
221
230
|
tag="div"
|
|
@@ -505,11 +514,17 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
505
514
|
>
|
|
506
515
|
<!---->
|
|
507
516
|
<div
|
|
508
|
-
class="
|
|
517
|
+
class="
|
|
518
|
+
bg-primary
|
|
519
|
+
v-progress-linear__background
|
|
520
|
+
"
|
|
509
521
|
style="opacity: NaN;"
|
|
510
522
|
></div>
|
|
511
523
|
<div
|
|
512
|
-
class="
|
|
524
|
+
class="
|
|
525
|
+
bg-primary
|
|
526
|
+
v-progress-linear__buffer
|
|
527
|
+
"
|
|
513
528
|
style="
|
|
514
529
|
opacity: NaN;
|
|
515
530
|
width: 0%;
|
|
@@ -523,10 +538,12 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
523
538
|
>
|
|
524
539
|
<div class="v-progress-linear__indeterminate">
|
|
525
540
|
<div class="
|
|
541
|
+
bg-primary
|
|
526
542
|
long
|
|
527
543
|
v-progress-linear__indeterminate
|
|
528
544
|
"></div>
|
|
529
545
|
<div class="
|
|
546
|
+
bg-primary
|
|
530
547
|
short
|
|
531
548
|
v-progress-linear__indeterminate
|
|
532
549
|
"></div>
|
|
@@ -536,7 +553,6 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
536
553
|
</div>
|
|
537
554
|
</div>
|
|
538
555
|
<div class="v-field__prepend-inner">
|
|
539
|
-
<!---->
|
|
540
556
|
<!-- v-if -->
|
|
541
557
|
<!-- v-if -->
|
|
542
558
|
</div>
|
|
@@ -546,22 +562,26 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
546
562
|
>
|
|
547
563
|
<!---->
|
|
548
564
|
<label
|
|
565
|
+
aria-hidden="false"
|
|
549
566
|
class="
|
|
550
567
|
v-field-label
|
|
551
568
|
v-label
|
|
552
569
|
"
|
|
553
|
-
for="input-v-
|
|
570
|
+
for="input-v-1"
|
|
571
|
+
id="input-v-1-label"
|
|
554
572
|
>
|
|
555
573
|
<!---->
|
|
556
574
|
Caractères de l’image
|
|
557
575
|
</label>
|
|
558
576
|
<!---->
|
|
559
577
|
<input
|
|
560
|
-
aria-describedby="input-v-
|
|
578
|
+
aria-describedby="input-v-1-messages"
|
|
561
579
|
aria-label="Caractères de l’image"
|
|
580
|
+
aria-labelledby="input-v-1-label"
|
|
562
581
|
autocomplete="off"
|
|
563
582
|
class="v-field__input"
|
|
564
|
-
|
|
583
|
+
direction="horizontal"
|
|
584
|
+
id="input-v-1"
|
|
565
585
|
title="Caractères de l’image"
|
|
566
586
|
type="text"
|
|
567
587
|
/>
|
|
@@ -573,7 +593,6 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
573
593
|
<!-- v-if -->
|
|
574
594
|
<!-- v-if -->
|
|
575
595
|
<!-- v-if -->
|
|
576
|
-
<!---->
|
|
577
596
|
</div>
|
|
578
597
|
<div class="v-field__outline">
|
|
579
598
|
<div class="v-field__outline__start"></div>
|
|
@@ -585,7 +604,6 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
585
604
|
v-field-label--floating
|
|
586
605
|
v-label
|
|
587
606
|
"
|
|
588
|
-
for="input-v-0"
|
|
589
607
|
>
|
|
590
608
|
<!---->
|
|
591
609
|
Caractères de l’image
|
|
@@ -602,7 +620,7 @@ exports[`Captcha > renders correctly in image mode 1`] = `
|
|
|
602
620
|
appear="false"
|
|
603
621
|
class="v-messages"
|
|
604
622
|
css="true"
|
|
605
|
-
id="input-v-
|
|
623
|
+
id="input-v-1-messages"
|
|
606
624
|
name="slide-y-transition"
|
|
607
625
|
persisted="false"
|
|
608
626
|
tag="div"
|
|
@@ -312,14 +312,16 @@
|
|
|
312
312
|
padding: 0;
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
|
|
316
|
-
.remove-chip {
|
|
315
|
+
.sy-chip-list .remove-chip {
|
|
317
316
|
padding: 0 !important;
|
|
318
317
|
min-width: auto !important;
|
|
319
318
|
width: auto !important;
|
|
320
319
|
height: auto !important;
|
|
321
320
|
flex-shrink: 0 !important;
|
|
321
|
+
}
|
|
322
322
|
|
|
323
|
+
// Styles pour le bouton de suppression
|
|
324
|
+
.remove-chip {
|
|
323
325
|
// Assurer que l'icône reste visible en zoom texte 200%
|
|
324
326
|
:deep(.v-icon) {
|
|
325
327
|
font-size: 1rem !important;
|
|
@@ -15,6 +15,10 @@ const meta = {
|
|
|
15
15
|
items: {
|
|
16
16
|
control: 'object',
|
|
17
17
|
},
|
|
18
|
+
headingLevel: {
|
|
19
|
+
control: { type: 'select' },
|
|
20
|
+
options: [1, 2, 3, 4, 5, 6],
|
|
21
|
+
},
|
|
18
22
|
},
|
|
19
23
|
} as Meta<typeof CollapsibleList>
|
|
20
24
|
|
|
@@ -32,7 +36,7 @@ export const Default: Story = {
|
|
|
32
36
|
<CollapsibleList
|
|
33
37
|
:list-title="listTitle"
|
|
34
38
|
:items="items"
|
|
35
|
-
/>
|
|
39
|
+
:heading-level="headingLevel" />
|
|
36
40
|
</div>
|
|
37
41
|
</template>
|
|
38
42
|
`,
|
|
@@ -43,7 +47,7 @@ export const Default: Story = {
|
|
|
43
47
|
import { CollapsibleList } from '@cnamts/synapse'
|
|
44
48
|
|
|
45
49
|
const listTitle = 'Santé'
|
|
46
|
-
|
|
50
|
+
const headingLevel = 4
|
|
47
51
|
const items = [
|
|
48
52
|
{
|
|
49
53
|
text: 'Mon espace santé',
|
|
@@ -61,6 +65,7 @@ export const Default: Story = {
|
|
|
61
65
|
},
|
|
62
66
|
args: {
|
|
63
67
|
listTitle: 'Santé',
|
|
68
|
+
headingLevel: 4,
|
|
64
69
|
items: [
|
|
65
70
|
{
|
|
66
71
|
text: 'Mon espace santé',
|
|
@@ -80,7 +85,7 @@ export const Default: Story = {
|
|
|
80
85
|
},
|
|
81
86
|
template: `
|
|
82
87
|
<div class="d-flex flex-wrap align-center pa-4">
|
|
83
|
-
<CollapsibleList v-bind="args"
|
|
88
|
+
<CollapsibleList v-bind="args"/>
|
|
84
89
|
</div>
|
|
85
90
|
`,
|
|
86
91
|
}
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
import { computed } from 'vue'
|
|
3
3
|
import { useDisplay } from 'vuetify'
|
|
4
4
|
import type { ListItem } from './types'
|
|
5
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
5
6
|
|
|
6
|
-
const props = defineProps<{
|
|
7
|
+
const props = withDefaults(defineProps<{
|
|
7
8
|
listTitle: string | null
|
|
8
9
|
items: ListItem[]
|
|
9
|
-
|
|
10
|
+
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
|
|
11
|
+
}>(), {
|
|
12
|
+
headingLevel: 4,
|
|
13
|
+
})
|
|
10
14
|
|
|
11
15
|
const { smAndDown } = useDisplay()
|
|
12
16
|
|
|
@@ -55,13 +59,17 @@
|
|
|
55
59
|
v-else
|
|
56
60
|
class="vd-collapse-list"
|
|
57
61
|
>
|
|
58
|
-
<
|
|
59
|
-
class="text-subtitle-1 font-weight-bold mb-3"
|
|
62
|
+
<SyHeading
|
|
63
|
+
:class="headingLevel === 4 ? 'text-subtitle-1 font-weight-bold mb-3' : 'font-weight-bold mb-3'"
|
|
64
|
+
:level="headingLevel"
|
|
60
65
|
>
|
|
61
66
|
{{ listTitle }}
|
|
62
|
-
</
|
|
67
|
+
</SyHeading>
|
|
63
68
|
|
|
64
|
-
<ul
|
|
69
|
+
<ul
|
|
70
|
+
class="
|
|
71
|
+
pl-0"
|
|
72
|
+
>
|
|
65
73
|
<li
|
|
66
74
|
v-for="(item, index) in items"
|
|
67
75
|
:key="index"
|
|
@@ -18,7 +18,26 @@ import {
|
|
|
18
18
|
iconSrc={AccessibilityIcon}
|
|
19
19
|
apgHref="https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/"
|
|
20
20
|
>
|
|
21
|
+
<AuditSection>
|
|
22
|
+
<div class="mt-2">
|
|
23
|
+
<p>Rapport d’audit manuel : <a href="/audits/CollapsibleList.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
|
|
24
|
+
<p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/792" target="_blank" style={{color:'#0C41BD'}}>issue #792</a>)</p>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
</AuditSection>
|
|
21
28
|
<CriteriaSection>
|
|
29
|
+
<CriteriaCard icon="🧩" title="Niveau de titre configurable via la prop headingLevel">
|
|
30
|
+
<ul>
|
|
31
|
+
<li>Le niveau du titre (h1 à h6) est défini grâce à la propriété <strong>headingLevel</strong> déclarée dans le composant. Si aucune valeur n’est fournie, le composant applique par défaut un titre de niveau h4, défini dans l’implémentation du composant.</li>
|
|
32
|
+
<code><CollapsibleList
|
|
33
|
+
:list-title="listTitle"
|
|
34
|
+
:items="items"
|
|
35
|
+
:heading-level="4" /> </code>
|
|
36
|
+
|
|
37
|
+
<li><strong>Accessibilité</strong> : Permet que la hiérarchie entre les titres soit pertinente (critère 9.1.1 RGAA) </li>
|
|
38
|
+
</ul>
|
|
39
|
+
</CriteriaCard>
|
|
40
|
+
|
|
22
41
|
<CriteriaCard icon="🔍" title="Structure sémantique">
|
|
23
42
|
<ul>
|
|
24
43
|
<li><strong>Comportement adaptatif</strong> : Section pliable sur mobile, liste statique sur desktop</li>
|
|
@@ -66,11 +85,5 @@ import {
|
|
|
66
85
|
</ul>
|
|
67
86
|
</ResourcesSection>
|
|
68
87
|
|
|
69
|
-
<AuditSection>
|
|
70
|
-
<div class="mt-2">
|
|
71
|
-
<p>Rapport d’audit manuel : <a href="/audits/CollapsibleList.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
|
|
72
|
-
<p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/792" target="_blank" style={{color:'#0C41BD'}}>issue #792</a>)</p>
|
|
73
|
-
</div>
|
|
74
88
|
|
|
75
|
-
</AuditSection>
|
|
76
89
|
</AccessibilityGuideLayout>
|
|
@@ -7,6 +7,7 @@ describe('CollapsibleList', () => {
|
|
|
7
7
|
it('renders correctly', async () => {
|
|
8
8
|
const wrapper = mount(CollapsibleList, {
|
|
9
9
|
propsData: {
|
|
10
|
+
headingLevel: 4,
|
|
10
11
|
listTitle: 'Santé',
|
|
11
12
|
items: [
|
|
12
13
|
{
|
|
@@ -30,6 +31,7 @@ describe('CollapsibleList', () => {
|
|
|
30
31
|
it('renders correctly with in mobile mode', () => {
|
|
31
32
|
const wrapper = mount(CollapsibleList, {
|
|
32
33
|
propsData: {
|
|
34
|
+
headingLevel: 4,
|
|
33
35
|
listTitle: 'Santé',
|
|
34
36
|
items: [
|
|
35
37
|
{
|
|
@@ -8,6 +8,14 @@ const meta = {
|
|
|
8
8
|
title: 'Composants/Feedback/CookieBanner',
|
|
9
9
|
component: CookieBanner,
|
|
10
10
|
argTypes: {
|
|
11
|
+
'headingLevel': {
|
|
12
|
+
control: { type: 'select' },
|
|
13
|
+
options: [1, 2, 3, 4, 5, 6],
|
|
14
|
+
},
|
|
15
|
+
'headingLevelInformation': {
|
|
16
|
+
control: { type: 'select' },
|
|
17
|
+
options: [1, 2, 3, 4, 5, 6],
|
|
18
|
+
},
|
|
11
19
|
'modelValue': {
|
|
12
20
|
description: 'V-model, control la visibilité de la bannière',
|
|
13
21
|
control: { type: 'boolean' },
|
|
@@ -193,6 +201,8 @@ const meta = {
|
|
|
193
201
|
},
|
|
194
202
|
args: {
|
|
195
203
|
modelValue: false,
|
|
204
|
+
headingLevel: 2,
|
|
205
|
+
headingLevelInformation: 2,
|
|
196
206
|
},
|
|
197
207
|
} satisfies Meta<typeof CookieBanner>
|
|
198
208
|
|
|
@@ -9,10 +9,18 @@
|
|
|
9
9
|
import { config } from './config'
|
|
10
10
|
import { locales } from './locales'
|
|
11
11
|
import CookiesSelection from '../CookiesSelection/CookiesSelection.vue'
|
|
12
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
12
13
|
|
|
13
|
-
const props = defineProps<CustomizableOptions & {
|
|
14
|
+
const props = withDefaults(defineProps<CustomizableOptions & {
|
|
14
15
|
items?: CookiesItems
|
|
15
|
-
|
|
16
|
+
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
|
|
17
|
+
headingLevelInformation?: 1 | 2 | 3 | 4 | 5 | 6
|
|
18
|
+
|
|
19
|
+
}>(), {
|
|
20
|
+
items: undefined,
|
|
21
|
+
headingLevel: 2,
|
|
22
|
+
headingLevelInformation: 3,
|
|
23
|
+
})
|
|
16
24
|
|
|
17
25
|
const options = useCustomizableOptions(config, props)
|
|
18
26
|
|
|
@@ -191,11 +199,12 @@
|
|
|
191
199
|
:aria-label="locales.label"
|
|
192
200
|
>
|
|
193
201
|
<div class="d-flex align-start flex-nowrap pa-0 mb-6">
|
|
194
|
-
<
|
|
195
|
-
class="text-h5 font-weight-bold"
|
|
202
|
+
<SyHeading
|
|
203
|
+
:class="headingLevel === 2 ? 'text-h5 font-weight-bold' : 'font-weight-bold'"
|
|
204
|
+
:level="headingLevel"
|
|
196
205
|
>
|
|
197
206
|
{{ locales.title }}
|
|
198
|
-
</
|
|
207
|
+
</SyHeading>
|
|
199
208
|
|
|
200
209
|
<VSpacer v-bind="options.spacer" />
|
|
201
210
|
|
|
@@ -230,6 +239,7 @@
|
|
|
230
239
|
<div v-if="showCookiesSelection && items">
|
|
231
240
|
<CookiesSelection
|
|
232
241
|
:items="items"
|
|
242
|
+
:heading-level="headingLevelInformation"
|
|
233
243
|
@submit="personalizeCookies"
|
|
234
244
|
>
|
|
235
245
|
<template
|
|
@@ -22,6 +22,15 @@ import {
|
|
|
22
22
|
<p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/806" target="_blank" style={{color:'#0C41BD'}}>issue #806</a>)</p>
|
|
23
23
|
</div>
|
|
24
24
|
<CriteriaSection>
|
|
25
|
+
<CriteriaCard icon="🧩" title="Niveau de titre configurable via la prop headingLevel">
|
|
26
|
+
<ul>
|
|
27
|
+
<li>Le niveau du titre (h1 à h6) est défini grâce à la propriété <strong>headingLevel</strong> déclarée dans le composant. Si aucune valeur n’est fournie, le composant applique par défaut un titre de niveau h2, défini dans l’implémentation du composant.</li>
|
|
28
|
+
<code><CookieBanner
|
|
29
|
+
:heading-level="2" /> </code>
|
|
30
|
+
|
|
31
|
+
<li><strong>Accessibilité</strong> : Permet que la hiérarchie entre les titres soit pertinente (critère 9.1.1 RGAA) </li>
|
|
32
|
+
</ul>
|
|
33
|
+
</CriteriaCard>
|
|
25
34
|
<CriteriaCard icon="🧭" title="Structure et nom accessible">
|
|
26
35
|
<ul>
|
|
27
36
|
<li><strong>Rôle</strong> : <code>role="dialog"</code> sur le conteneur principal de la bannière.</li>
|
|
@@ -27,8 +27,10 @@ describe('CookieBanner', () => {
|
|
|
27
27
|
it('emit a reject event with payload built from provided items', async () => {
|
|
28
28
|
const wrapper = mount(CookieBanner, {
|
|
29
29
|
props: {
|
|
30
|
+
headingLevel: 2,
|
|
31
|
+
headingLevelInformation: 2,
|
|
30
32
|
items: {
|
|
31
|
-
|
|
33
|
+
essentials: [],
|
|
32
34
|
functional: [],
|
|
33
35
|
},
|
|
34
36
|
},
|
|
@@ -42,7 +44,7 @@ describe('CookieBanner', () => {
|
|
|
42
44
|
await wrapper.find('[data-test-id="reject"]').trigger('click')
|
|
43
45
|
|
|
44
46
|
expect(wrapper.emitted('reject')?.[0]?.[0]).toEqual({
|
|
45
|
-
|
|
47
|
+
essentials: false,
|
|
46
48
|
functional: false,
|
|
47
49
|
})
|
|
48
50
|
})
|
|
@@ -50,6 +52,8 @@ describe('CookieBanner', () => {
|
|
|
50
52
|
it('emit an accept event with payload built from provided items', async () => {
|
|
51
53
|
const wrapper = mount(CookieBanner, {
|
|
52
54
|
props: {
|
|
55
|
+
headingLevel: 2,
|
|
56
|
+
headingLevelInformation: 2,
|
|
53
57
|
items: {
|
|
54
58
|
functional: [],
|
|
55
59
|
analytics: [],
|
|
@@ -90,6 +94,8 @@ describe('CookieBanner', () => {
|
|
|
90
94
|
it('does not close the dialog when the customize button is clicked and show the cookie form', async () => {
|
|
91
95
|
const wrapper = mount(CookieBanner, {
|
|
92
96
|
props: {
|
|
97
|
+
headingLevel: 2,
|
|
98
|
+
headingLevelInformation: 2,
|
|
93
99
|
items: {
|
|
94
100
|
essentials: [
|
|
95
101
|
{
|
|
@@ -138,6 +144,8 @@ describe('CookieBanner', () => {
|
|
|
138
144
|
it('emits submit payload coming from CookiesSelection without altering categories', async () => {
|
|
139
145
|
const wrapper = mount(CookieBanner, {
|
|
140
146
|
props: {
|
|
147
|
+
headingLevel: 2,
|
|
148
|
+
headingLevelInformation: 2,
|
|
141
149
|
items: {
|
|
142
150
|
functional: [],
|
|
143
151
|
analytics: [],
|
|
@@ -136,6 +136,7 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
136
136
|
<h2 class="
|
|
137
137
|
font-weight-bold
|
|
138
138
|
mb-2
|
|
139
|
+
sy-heading
|
|
139
140
|
text-subtitle-1
|
|
140
141
|
">
|
|
141
142
|
Cookies requis
|
|
@@ -224,14 +225,15 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
224
225
|
<!---->
|
|
225
226
|
</div>
|
|
226
227
|
</details>
|
|
227
|
-
<
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
<h3
|
|
229
|
+
class="
|
|
230
|
+
sy-heading
|
|
231
|
+
vd-cookies-information__heading
|
|
232
|
+
"
|
|
230
233
|
id="radio-group-essentials"
|
|
231
|
-
role="heading"
|
|
232
234
|
>
|
|
233
235
|
Accepter les cookies de type Cookies requis, ce champ est requis.
|
|
234
|
-
</
|
|
236
|
+
</h3>
|
|
235
237
|
<!-- v-if -->
|
|
236
238
|
</div>
|
|
237
239
|
<div class="
|
|
@@ -241,6 +243,7 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
241
243
|
<h2 class="
|
|
242
244
|
font-weight-bold
|
|
243
245
|
mb-2
|
|
246
|
+
sy-heading
|
|
244
247
|
text-subtitle-1
|
|
245
248
|
">
|
|
246
249
|
Cookies fonctionnels
|
|
@@ -318,14 +321,15 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
318
321
|
<!---->
|
|
319
322
|
</div>
|
|
320
323
|
</details>
|
|
321
|
-
<
|
|
322
|
-
|
|
323
|
-
|
|
324
|
+
<h3
|
|
325
|
+
class="
|
|
326
|
+
sy-heading
|
|
327
|
+
vd-cookies-information__heading
|
|
328
|
+
"
|
|
324
329
|
id="radio-group-functional"
|
|
325
|
-
role="heading"
|
|
326
330
|
>
|
|
327
331
|
Accepter les cookies de type Cookies fonctionnels, ce champ est requis.
|
|
328
|
-
</
|
|
332
|
+
</h3>
|
|
329
333
|
<div class="
|
|
330
334
|
v-input
|
|
331
335
|
v-input--center-affix
|
|
@@ -442,6 +446,7 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
442
446
|
<h2 class="
|
|
443
447
|
font-weight-bold
|
|
444
448
|
mb-2
|
|
449
|
+
sy-heading
|
|
445
450
|
text-subtitle-1
|
|
446
451
|
">
|
|
447
452
|
Cookies d’analyse
|
|
@@ -519,14 +524,15 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
519
524
|
<!---->
|
|
520
525
|
</div>
|
|
521
526
|
</details>
|
|
522
|
-
<
|
|
523
|
-
|
|
524
|
-
|
|
527
|
+
<h3
|
|
528
|
+
class="
|
|
529
|
+
sy-heading
|
|
530
|
+
vd-cookies-information__heading
|
|
531
|
+
"
|
|
525
532
|
id="radio-group-analytics"
|
|
526
|
-
role="heading"
|
|
527
533
|
>
|
|
528
534
|
Accepter les cookies de type Cookies d’analyse, ce champ est requis.
|
|
529
|
-
</
|
|
535
|
+
</h3>
|
|
530
536
|
<div class="
|
|
531
537
|
v-input
|
|
532
538
|
v-input--center-affix
|
|
@@ -7,11 +7,18 @@
|
|
|
7
7
|
import type { CookieTypes, Cookie } from '../types'
|
|
8
8
|
import { locales } from './locales'
|
|
9
9
|
import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
|
|
10
|
+
import SyHeading from '@/components/SyHeading/SyHeading.vue'
|
|
10
11
|
|
|
11
|
-
defineProps<{
|
|
12
|
+
withDefaults(defineProps<{
|
|
12
13
|
type: CookieTypes
|
|
13
14
|
tableItems: Cookie[]
|
|
14
|
-
|
|
15
|
+
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
|
|
16
|
+
headingLevelRadioGroup?: 1 | 2 | 3 | 4 | 5 | 6
|
|
17
|
+
|
|
18
|
+
}>(), {
|
|
19
|
+
headingLevel: 2,
|
|
20
|
+
headingLevelRadioGroup: 3,
|
|
21
|
+
})
|
|
15
22
|
|
|
16
23
|
const status = defineModel<boolean | undefined>()
|
|
17
24
|
|
|
@@ -93,9 +100,12 @@
|
|
|
93
100
|
|
|
94
101
|
<template>
|
|
95
102
|
<div class="vd-cookies-information">
|
|
96
|
-
<
|
|
103
|
+
<SyHeading
|
|
104
|
+
:class="headingLevel === 2 ? 'text-subtitle-1 font-weight-bold mb-2' : 'font-weight-bold mb-2'"
|
|
105
|
+
:level="headingLevel"
|
|
106
|
+
>
|
|
97
107
|
{{ locales[type].title }}
|
|
98
|
-
</
|
|
108
|
+
</SyHeading>
|
|
99
109
|
|
|
100
110
|
<p class="mb-4">
|
|
101
111
|
{{ locales[type].description }}
|
|
@@ -129,14 +139,13 @@
|
|
|
129
139
|
</CookiesTable>
|
|
130
140
|
</details>
|
|
131
141
|
|
|
132
|
-
<
|
|
142
|
+
<SyHeading
|
|
133
143
|
:id="`radio-group-${type}`"
|
|
134
|
-
|
|
135
|
-
aria-level="3"
|
|
144
|
+
:level="headingLevelRadioGroup"
|
|
136
145
|
class="vd-cookies-information__heading"
|
|
137
146
|
>
|
|
138
147
|
{{ locales.fieldLabel(locales[type].title) }}
|
|
139
|
-
</
|
|
148
|
+
</SyHeading>
|
|
140
149
|
|
|
141
150
|
<VRadioGroup
|
|
142
151
|
v-if="type !== 'essentials'"
|
package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts
CHANGED
|
@@ -27,6 +27,7 @@ describe('CookiesInformation – accessibility (axe)', () => {
|
|
|
27
27
|
it('has no obvious axe violations for functional cookies section', async () => {
|
|
28
28
|
const wrapper = mount(CookiesInformation, {
|
|
29
29
|
props: {
|
|
30
|
+
headingLevel: 2,
|
|
30
31
|
tableItems: cookies,
|
|
31
32
|
type: 'functional',
|
|
32
33
|
},
|
|
@@ -20,6 +20,7 @@ describe('CookiesInformation', () => {
|
|
|
20
20
|
it('renders correctly', () => {
|
|
21
21
|
const wrapper = mount(CookiesInformation, {
|
|
22
22
|
props: {
|
|
23
|
+
headingLevel: 2,
|
|
23
24
|
tableItems: cookies,
|
|
24
25
|
type: 'functional',
|
|
25
26
|
},
|
|
@@ -38,6 +39,7 @@ describe('CookiesInformation', () => {
|
|
|
38
39
|
it('renders correctly without items', () => {
|
|
39
40
|
const wrapper = mount(CookiesInformation, {
|
|
40
41
|
props: {
|
|
42
|
+
headingLevel: 2,
|
|
41
43
|
type: 'functional',
|
|
42
44
|
tableItems: [],
|
|
43
45
|
},
|
|
@@ -49,6 +51,7 @@ describe('CookiesInformation', () => {
|
|
|
49
51
|
it('renders correctly when details is toggled', async () => {
|
|
50
52
|
const wrapper = mount(CookiesInformation, {
|
|
51
53
|
propsData: {
|
|
54
|
+
headingLevel: 2,
|
|
52
55
|
tableItems: cookies,
|
|
53
56
|
type: 'functional',
|
|
54
57
|
},
|
|
@@ -97,6 +100,7 @@ describe('CookiesInformation', () => {
|
|
|
97
100
|
it('update the radio when the modelValue change', async () => {
|
|
98
101
|
const wrapper = mount(CookiesInformation, {
|
|
99
102
|
props: {
|
|
103
|
+
headingLevel: 2,
|
|
100
104
|
tableItems: cookies,
|
|
101
105
|
type: 'functional',
|
|
102
106
|
modelValue: true,
|
|
@@ -117,6 +121,7 @@ describe('CookiesInformation', () => {
|
|
|
117
121
|
it('do not set the radio when the modelValue is undefined', async () => {
|
|
118
122
|
const wrapper = mount(CookiesInformation, {
|
|
119
123
|
props: {
|
|
124
|
+
headingLevel: 2,
|
|
120
125
|
tableItems: cookies,
|
|
121
126
|
type: 'functional',
|
|
122
127
|
modelValue: undefined,
|