@cnamts/synapse 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DateFilter-uN8OURoP.js → DateFilter-Dc-gSGwk.js} +29 -24
- package/dist/{NumberFilter-sm1dQNQi.js → NumberFilter-vP38Wp6j.js} +1 -1
- package/dist/{PeriodFilter-Cklsxnh9.js → PeriodFilter-Ba1uYUnT.js} +1 -1
- package/dist/{SelectFilter-CWefj27Z.js → SelectFilter-BioGT6Nn.js} +1 -1
- package/dist/{TextFilter-Ddyj885L.js → TextFilter-B84dpnoq.js} +1 -1
- package/dist/components/Accordion/Accordion.d.ts +13 -2
- package/dist/components/Accordion/composables/useAccordionState.d.ts +2 -1
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7405 -5973
- package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +10 -14
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +8 -8
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +3 -3
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +16 -20
- package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1610 -1354
- package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +2413 -2029
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8885 -7323
- package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -6
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +8884 -7330
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +950 -838
- package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1614 -1358
- package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +223 -203
- package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +3 -3
- package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +3 -7
- package/dist/components/CollapsibleList/CollapsibleList.d.ts +4 -1
- package/dist/components/CookieBanner/CookieBanner.d.ts +303 -273
- package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +1297 -1156
- package/dist/components/CookiesSelection/CookiesSelection.d.ts +404 -377
- package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
- package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +1108 -846
- package/dist/components/Customs/Selects/SyAutocomplete/locales.d.ts +5 -0
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +514 -320
- package/dist/components/Customs/Selects/SySelect/locales.d.ts +1 -0
- package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +40 -38
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +920 -800
- package/dist/components/Customs/SyForm/SyForm.d.ts +356 -348
- package/dist/components/Customs/SyPagination/SyPagination.d.ts +11 -1
- package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +906 -794
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +1634 -1367
- package/dist/components/DataList/DataList.d.ts +1 -1
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3869 -3120
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1947 -1561
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +831 -684
- package/dist/components/DialogBox/DialogBox.d.ts +482 -416
- package/dist/components/DownloadBtn/config.d.ts +1 -1
- package/dist/components/ErrorPage/ErrorPage.d.ts +6 -0
- package/dist/components/FileList/UploadItem/UploadItem.d.ts +6 -0
- package/dist/components/FileList/UploadItem/locales.d.ts +1 -0
- package/dist/components/FileUpload/FileUpload.d.ts +4 -4
- package/dist/components/FileUpload/FileUploadContent.d.ts +2 -0
- package/dist/components/FileUpload/locales.d.ts +1 -0
- package/dist/components/FileUpload/validateFiles.d.ts +2 -1
- package/dist/components/FilterSideBar/FilterSideBar.d.ts +418 -366
- package/dist/components/FooterBar/FooterBar.d.ts +13 -1
- package/dist/components/FooterBar/locales.d.ts +1 -0
- package/dist/components/FooterBar/types.d.ts +1 -0
- package/dist/components/HeaderBar/HeaderBar.d.ts +2 -0
- package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +2 -0
- package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +4 -6
- package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +1031 -643
- package/dist/components/LangBtn/LangBtn.d.ts +277 -239
- package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +4 -0
- package/dist/components/MaintenancePage/MaintenancePage.d.ts +16 -1
- package/dist/components/MonthPicker/MonthPicker.d.ts +1939 -0
- package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +1899 -0
- package/dist/components/MonthPicker/MonthPickerText/useTextField.d.ts +21 -0
- package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.d.ts +21 -0
- package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.d.ts +12 -0
- package/dist/components/MonthPicker/MonthPickerVisual/MonthSelector.d.ts +11 -0
- package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.d.ts +6 -0
- package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.d.ts +14 -0
- package/dist/components/MonthPicker/MonthPickerVisual/YearSelector.d.ts +14 -0
- package/dist/components/MonthPicker/MonthPickerVisual/useMonthGrid.d.ts +9 -0
- package/dist/components/MonthPicker/MonthPickerVisual/useYearGrid.d.ts +8 -0
- package/dist/components/MonthPicker/MonthPickerVisual/utils.d.ts +8 -0
- package/dist/components/MonthPicker/locales.d.ts +12 -0
- package/dist/components/MonthPicker/useMonthPickerValidation.d.ts +25 -0
- package/dist/components/NirField/NirField.d.ts +1669 -1379
- package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
- package/dist/components/NotificationBar/Notification/Notification.d.ts +3 -0
- package/dist/components/PageContainer/PageContainer.d.ts +3 -1
- package/dist/components/PeriodField/PeriodField.d.ts +7696 -6192
- package/dist/components/PhoneField/PhoneField.d.ts +829 -684
- package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +4 -12
- package/dist/components/StatusPage/StatusPage.d.ts +12 -1
- package/dist/components/SubHeader/SubHeader.d.ts +2 -0
- package/dist/components/SyAlert/SyAlert.d.ts +74 -70
- package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +9 -0
- package/dist/components/SyHeading/SyHeading.a11y.test.d.ts +1 -0
- package/dist/components/SyHeading/SyHeading.d.ts +22 -0
- package/dist/components/SyHeading/SyHeading.test.d.ts +1 -0
- package/dist/components/SyTextArea/SyTextArea.d.ts +475 -419
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +759 -468
- package/dist/components/Tables/SyTable/SyTable.d.ts +761 -470
- package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
- package/dist/components/Tables/common/SyTablePagination.d.ts +263 -164
- package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -1
- package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
- package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +166 -138
- package/dist/components/Tables/common/types.d.ts +2 -0
- package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +24 -1211
- package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/design-system-v3.js +111 -107
- package/dist/design-system-v3.umd.cjs +158 -158
- package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +26 -14
- package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +19 -13
- package/dist/designTokens/tokens/cnam/cnamContextual.d.ts +5 -0
- package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +28 -15
- package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +20 -13
- package/dist/designTokens/tokens/pa/paLightTheme.d.ts +26 -15
- package/dist/designTokens/tokens/pa/paSemantic.d.ts +19 -13
- package/dist/main-aLKwdMi1.js +37886 -0
- package/dist/main.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/vuetifyConfig.d.ts +14 -14
- package/package.json +21 -9
- package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
- package/src/assets/apTokens.scss +53 -17
- package/src/assets/overrides/_btns.scss +8 -0
- package/src/assets/overrides/_forms.scss +9 -0
- package/src/assets/overrides/_icons.scss +43 -4
- package/src/assets/overrides/_tables.scss +19 -0
- package/src/assets/overrides/_tooltips.scss +5 -6
- package/src/assets/overrides/_typography.scss +17 -2
- package/src/assets/overrides/_utilities.scss +49 -3
- package/src/assets/tokens.scss +53 -17
- package/src/components/Accordion/Accordion.mdx +23 -9
- package/src/components/Accordion/Accordion.stories.ts +153 -3
- package/src/components/Accordion/Accordion.vue +7 -6
- package/src/components/Accordion/accessibilite/Accessibility.mdx +5 -4
- package/src/components/Accordion/composables/__tests__/useAccordionState.spec.ts +40 -12
- package/src/components/Accordion/composables/useAccordionState.ts +3 -4
- package/src/components/Accordion/tests/accordion.spec.ts +131 -19
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +2 -2
- package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +14 -56
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +15 -23
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +15 -3
- package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +0 -98
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +1 -1
- package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +5 -16
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +3 -1
- package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +7 -0
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +0 -1
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +0 -1
- package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +0 -52
- package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +6 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +3 -1
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +19 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
- package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -4
- package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +2 -13
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.mdx +3 -1
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +7 -0
- package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +8 -0
- package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.mdx +3 -1
- package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.stories.ts +8 -0
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -2
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +28 -10
- package/src/components/Amelipro/AmeliproPostalAddressField/__tests__/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +44 -8
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
- package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +15 -3
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +1 -1
- package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +0 -1
- package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +6 -0
- package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +2 -4
- package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +0 -2
- package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +8 -0
- package/src/components/BackBtn/BackBtn.vue +1 -1
- package/src/components/BackBtn/accessibilite/Accessibility.mdx +62 -10
- package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +9 -3
- package/src/components/BackToTopBtn/accessibilite/Accessibility.mdx +86 -6
- package/src/components/Captcha/tests/Captcha.spec.ts +0 -29
- package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +18 -108
- package/src/components/ChipList/ChipList.vue +4 -2
- package/src/components/CollapsibleList/CollapsibleList.stories.ts +8 -3
- package/src/components/CollapsibleList/CollapsibleList.vue +14 -6
- package/src/components/CollapsibleList/accessibilite/Accessibility.mdx +19 -6
- package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +1 -0
- package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +2 -0
- package/src/components/CookieBanner/CookieBanner.stories.ts +10 -0
- package/src/components/CookieBanner/CookieBanner.vue +15 -5
- package/src/components/CookieBanner/accessibilite/Accessibility.mdx +9 -0
- package/src/components/CookieBanner/tests/CookieBanner.spec.ts +10 -2
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +21 -15
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +17 -8
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +1 -0
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +5 -0
- package/src/components/CookiesSelection/CookiesSelection.vue +7 -2
- package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +1 -0
- package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +5 -0
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +21 -15
- package/src/components/CopyBtn/CopyBtn.vue +6 -4
- package/src/components/CopyBtn/accessibilite/Accessibility.mdx +82 -11
- package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +5 -1
- package/src/components/Customs/Selects/SelectBtnField/accessibilite/Accessibility.mdx +133 -10
- package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +379 -93
- package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +144 -83
- package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibilite.stories.ts +40 -1
- package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibility.mdx +7 -1
- package/src/components/Customs/Selects/SyAutocomplete/locales.ts +5 -0
- package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +96 -0
- package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +234 -9
- package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +13 -3
- package/src/components/Customs/Selects/SyAutocomplete/utils/useSelectionLogic.ts +9 -10
- package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -10
- package/src/components/Customs/Selects/SySelect/SySelect.mdx +0 -1
- package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +10 -10
- package/src/components/Customs/Selects/SySelect/SySelect.vue +63 -3
- package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
- package/src/components/Customs/Selects/SySelect/locales.ts +1 -0
- package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +1 -3
- package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +72 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
- package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +31 -2
- package/src/components/Customs/SyIcon/SyIcon.vue +9 -5
- package/src/components/Customs/SyIcon/tests/SyIcon.a11y.spec.ts +20 -0
- package/src/components/Customs/SyIconButton/SyIconButton.mdx +46 -0
- package/src/components/Customs/SyIconButton/SyIconButton.stories.ts +184 -0
- package/src/components/Customs/SyIconButton/SyIconButton.vue +38 -0
- package/src/components/Customs/SyIconButton/accessibilite/Accessibility.mdx +64 -0
- package/src/components/Customs/SyIconButton/tests/SyIconButton.a11y.spec.ts +87 -0
- package/src/components/Customs/SyIconButton/tests/SyIconButton.spec.ts +152 -0
- package/src/components/Customs/SyIconButton/tests/__snapshots__/SyIconButton.spec.ts.snap +61 -0
- package/src/components/Customs/SyPagination/SyPagination.stories.ts +14 -2
- package/src/components/Customs/SyPagination/SyPagination.vue +25 -10
- package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +79 -8
- package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +53 -0
- package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +4 -0
- package/src/components/Customs/SyTextField/SyTextField.vue +59 -7
- package/src/components/Customs/SyTextField/accessibilite/Accessibility.mdx +67 -9
- package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +15 -0
- package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +36 -0
- package/src/components/DataList/accessibilite/Accessibility.mdx +79 -11
- package/src/components/DataListGroup/accessibilite/Accessibility.mdx +80 -11
- package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +28 -3
- package/src/components/DatePicker/CalendarMode/DatePicker.vue +20 -8
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1 -1
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +34 -0
- package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +27 -0
- package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +23 -9
- package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +21 -8
- package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +50 -22
- package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +48 -10
- package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +16 -3
- package/src/components/DialogBox/DialogBox.stories.ts +13 -0
- package/src/components/DialogBox/DialogBox.vue +12 -5
- package/src/components/DialogBox/accessibilite/Accessibility.mdx +27 -7
- package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +1 -0
- package/src/components/DialogBox/tests/DialogBox.spec.ts +40 -6
- package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +73 -11
- package/src/components/DownloadBtn/config.ts +1 -1
- package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +25 -0
- package/src/components/ErrorPage/ErrorPage.stories.ts +176 -47
- package/src/components/ErrorPage/ErrorPage.vue +21 -0
- package/src/components/ErrorPage/accessibilite/Accessibility.mdx +15 -0
- package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +17 -0
- package/src/components/ErrorPage/tests/ErrorPage.spec.ts +21 -1
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +1 -0
- package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +23 -0
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
- package/src/components/FileList/FileList.stories.ts +55 -1
- package/src/components/FileList/UploadItem/UploadItem.vue +17 -5
- package/src/components/FileList/UploadItem/locales.ts +3 -2
- package/src/components/FileList/accessibilite/Accessibility.mdx +58 -7
- package/src/components/FileUpload/FileUpload.vue +62 -38
- package/src/components/FileUpload/FileUploadContent.vue +3 -2
- package/src/components/FileUpload/accessibilite/Accessibility.mdx +48 -5
- package/src/components/FileUpload/locales.ts +1 -0
- package/src/components/FileUpload/tests/FileUpload.spec.ts +61 -14
- package/src/components/FileUpload/validateFiles.ts +5 -2
- package/src/components/FilterInline/FilterInline.stories.ts +0 -15
- package/src/components/FilterInline/FilterInline.vue +1 -0
- package/src/components/FilterInline/accessibilite/Accessibility.mdx +70 -7
- package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +3 -3
- package/src/components/FilterSideBar/FilterSideBar.stories.ts +0 -3
- package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
- package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +70 -9
- package/src/components/FooterBar/FooterBar.stories.ts +298 -34
- package/src/components/FooterBar/FooterBar.vue +67 -9
- package/src/components/FooterBar/config.ts +2 -2
- package/src/components/FooterBar/locales.ts +1 -0
- package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
- package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +6 -25
- package/src/components/FooterBar/types.d.ts +1 -0
- package/src/components/FranceConnectBtn/accessibilite/Accessibility.mdx +62 -9
- package/src/components/HeaderBar/HeaderBar.stories.ts +23 -1
- package/src/components/HeaderBar/HeaderBar.vue +5 -0
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +8 -2
- package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +5 -0
- package/src/components/HeaderBar/accessibilite/Accessibility.mdx +24 -5
- package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +1 -0
- package/src/components/HeaderBar/tests/HeaderBar.spec.ts +3 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +4 -0
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +3 -0
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +3 -0
- package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +22 -0
- package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -5
- package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +2 -0
- package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +44 -0
- package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +2 -0
- package/src/components/LunarCalendar/accessibilite/Accessibility.mdx +74 -8
- package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +163 -0
- package/src/components/MaintenancePage/MaintenancePage.vue +33 -6
- package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +3 -1
- package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +3 -2
- package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +18 -1
- package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +1 -0
- package/src/components/MonthPicker/MonthPicker.mdx +35 -0
- package/src/components/MonthPicker/MonthPicker.stories.ts +527 -0
- package/src/components/MonthPicker/MonthPicker.vue +79 -0
- package/src/components/MonthPicker/MonthPickerText/MonthPickerInput.vue +89 -0
- package/src/components/MonthPicker/MonthPickerText/useTextField.ts +27 -0
- package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.vue +154 -0
- package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.ts +13 -0
- package/src/components/MonthPicker/MonthPickerVisual/MonthSelector.vue +137 -0
- package/src/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.vue +60 -0
- package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +149 -0
- package/src/components/MonthPicker/MonthPickerVisual/YearSelector.vue +143 -0
- package/src/components/MonthPicker/MonthPickerVisual/useMonthGrid.ts +45 -0
- package/src/components/MonthPicker/MonthPickerVisual/useYearGrid.ts +45 -0
- package/src/components/MonthPicker/MonthPickerVisual/utils.ts +17 -0
- package/src/components/MonthPicker/accessibilite/Accessibility.mdx +59 -0
- package/src/components/MonthPicker/locales.ts +12 -0
- package/src/components/MonthPicker/tests/MonthPicker.a11y.spec.ts +71 -0
- package/src/components/MonthPicker/tests/MonthPicker.spec.ts +1248 -0
- package/src/components/MonthPicker/tests/__snapshots__/MonthPicker.spec.ts.snap +2545 -0
- package/src/components/MonthPicker/useMonthPickerValidation.ts +30 -0
- package/src/components/NirField/NirField.mdx +1 -2
- package/src/components/NirField/NirField.stories.ts +66 -6
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +1 -1
- package/src/components/NotFoundPage/NotFoundPage.vue +16 -5
- package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +2 -0
- package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +49 -0
- package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +24 -2
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +24 -14
- package/src/components/NotificationBar/Notification/Notification.vue +3 -1
- package/src/components/NotificationBar/NotificationBar.stories.ts +154 -0
- package/src/components/NotificationBar/tests/NotificationBar.a11y.spec.ts +26 -0
- package/src/components/NotificationBar/tests/NotificationBar.spec.ts +60 -0
- package/src/components/PageContainer/PageContainer.stories.ts +47 -0
- package/src/components/PageContainer/PageContainer.vue +4 -2
- package/src/components/PageContainer/accessibilite/Accessibility.mdx +31 -17
- package/src/components/PaginatedTable/PaginatedTable.mdx +3 -3
- package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -1
- package/src/components/PeriodField/PeriodField.vue +4 -0
- package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +10 -1
- package/src/components/PhoneField/PhoneField.stories.ts +73 -35
- package/src/components/PhoneField/PhoneField.vue +152 -83
- package/src/components/PhoneField/accessibilite/Accessibility.mdx +306 -9
- package/src/components/PhoneField/indicatifs.ts +2 -2
- package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +47 -0
- package/src/components/PhoneField/tests/PhoneField.spec.ts +82 -5
- package/src/components/RangeField/accessibilite/Accessibility.mdx +79 -11
- package/src/components/SearchListField/SearchListField.vue +1 -1
- package/src/components/SearchListField/accessibilite/Accessibility.mdx +69 -9
- package/src/components/SearchListField/tests/SearchListField.a11y.spec.ts +37 -0
- package/src/components/SkipLink/tests/SkipLink.a11y.spec.ts +23 -0
- package/src/components/SocialMediaLinks/SocialMediaLinks.vue +1 -1
- package/src/components/StatusPage/StatusPage.mdx +10 -1
- package/src/components/StatusPage/StatusPage.stories.ts +161 -0
- package/src/components/StatusPage/StatusPage.vue +29 -5
- package/src/components/StatusPage/accessibilite/Accessibility.mdx +24 -5
- package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +23 -0
- package/src/components/StatusPage/tests/StatusPage.spec.ts +25 -0
- package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +24 -14
- package/src/components/SubHeader/SubHeader.stories.ts +16 -0
- package/src/components/SubHeader/SubHeader.vue +6 -3
- package/src/components/SubHeader/accessibilite/Accessibility.mdx +27 -6
- package/src/components/SubHeader/tests/SubHeader.a11y.spec.ts +20 -0
- package/src/components/SyAlert/SyAlert.vue +22 -20
- package/src/components/SyAlert/accessibilite/Accessibility.mdx +79 -9
- package/src/components/SyAlert/tests/SyAlert.a11y.spec.ts +23 -0
- package/src/components/SyBtnMenu/SyBtnMenu.vue +33 -17
- package/src/components/SyBtnMenu/tests/SyBtnMenu.a11y.spec.ts +38 -0
- package/src/components/SyBtnMenu/tests/SyBtnMenu.spec.ts +41 -0
- package/src/components/SyHeading/SyHeading.a11y.test.ts +149 -0
- package/src/components/SyHeading/SyHeading.test.ts +115 -0
- package/src/components/SyHeading/SyHeading.vue +20 -0
- package/src/components/SyTextArea/accessibilite/Accessibility.mdx +80 -8
- package/src/components/SyTextArea/tests/SyTextArea.a11y.spec.ts +151 -0
- package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -30
- package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -0
- package/src/components/Tables/SyTable/SyTable.vue +2 -0
- package/src/components/Tables/common/SyTablePagination.vue +16 -10
- package/src/components/Tables/common/filters/DateFilter.vue +5 -0
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +40 -24
- package/src/components/Tables/common/types.ts +3 -0
- package/src/components/ToolbarContainer/tests/ToolbarContainer.a11y.spec.ts +126 -0
- package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +11 -11
- package/src/components/UploadWorkflow/UploadWorkflow.vue +30 -13
- package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +56 -5
- package/src/components/UploadWorkflow/accessibilite/UploadWorkflow.a11y.spec.ts +110 -0
- package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +7 -25
- package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +146 -123
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +53 -31
- package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -1
- package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +72 -8
- package/src/components/index.ts +2 -0
- package/src/components/types.ts +4 -0
- package/src/composables/date/tests/useDateInitialization.spec.ts +22 -1
- package/src/composables/date/useDateInitializationDayjs.ts +4 -7
- package/src/composables/date/useDatePickerAccessibility.ts +2 -3
- package/src/composables/useFilterable/useFilterable.spec.ts +52 -2
- package/src/composables/useFilterable/useFilterable.ts +7 -1
- package/src/composables/useFormFieldErrorHandling.ts +11 -2
- package/src/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
- package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
- package/src/designTokens/tokens/cnam/cnamContextual.ts +6 -1
- package/src/designTokens/tokens/cnam/cnamLightTheme.ts +28 -15
- package/src/designTokens/tokens/cnam/cnamSemantic.ts +21 -14
- package/src/designTokens/tokens/pa/paLightTheme.ts +27 -16
- package/src/designTokens/tokens/pa/paSemantic.ts +19 -13
- package/src/directives/rgaaSvgFix.ts +2 -7
- package/src/main.ts +2 -0
- package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/Exemptions-derogations.mdx +1 -1
- package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +188 -0
- package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/RGAA.mdx +1 -1
- package/src/stories/Accessibilite/Introduction.mdx +22 -3
- package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +21 -22
- package/src/stories/DeprecationNotice/DeprecationNotice.ts +41 -0
- package/src/stories/DesignTokens/ColorDisplay.vue +12 -5
- package/src/stories/DesignTokens/Colors.mdx +8 -59
- package/src/stories/DesignTokens/colors.stories.ts +1862 -1071
- package/src/stories/EcoConception/EcoGuideComponent.vue +10 -4
- package/dist/main-CWniLr0s.js +0 -36919
|
@@ -1,15 +1,75 @@
|
|
|
1
|
-
import { Meta, Story } from '@storybook/
|
|
2
|
-
import * as Stories from '../SearchListField.stories
|
|
1
|
+
import { Meta, Story } from '@storybook/blocks';
|
|
2
|
+
import * as Stories from '../SearchListField.stories';
|
|
3
|
+
import AccessibilityIcon from '@/common/imgs/accessibility-svgrepo-com.svg';
|
|
3
4
|
import '@/stories/styles/shared.css';
|
|
5
|
+
import {
|
|
6
|
+
AccessibilityGuideLayout,
|
|
7
|
+
CriteriaSection,
|
|
8
|
+
CriteriaCard,
|
|
9
|
+
DemoSection,
|
|
10
|
+
BestPracticesSection,
|
|
11
|
+
ResourcesSection,
|
|
12
|
+
AuditSection,
|
|
13
|
+
} from '@/stories/accessibility/AccessibilityGuideLayout.mdx';
|
|
4
14
|
|
|
5
15
|
<Meta of={Stories} />
|
|
6
16
|
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
17
|
+
<AccessibilityGuideLayout
|
|
18
|
+
componentName="SearchListField"
|
|
19
|
+
iconSrc={AccessibilityIcon}
|
|
20
|
+
>
|
|
21
|
+
<AuditSection>
|
|
22
|
+
<div>Rapport d’audit manuel : <a href="/audits/SearchListField.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></div>
|
|
23
|
+
<div style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>
|
|
24
|
+
Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/1499" target="_blank" style={{color:'#0C41BD'}}>issue #1499</a>)
|
|
25
|
+
</div>
|
|
26
|
+
</AuditSection>
|
|
10
27
|
|
|
28
|
+
<CriteriaSection>
|
|
29
|
+
<CriteriaCard icon="🏷️" title="Structure et rôles">
|
|
30
|
+
<ul>
|
|
31
|
+
<li>Le champ de recherche reste un champ texte natif (<code>SyTextField</code> sous-jacent) avec label obligatoire.</li>
|
|
32
|
+
<li>La liste est encapsulée dans un <code>fieldset</code> + <code>legend</code> (listLabel) et les résultats sont des <code>li</code> avec checkbox.</li>
|
|
33
|
+
<li>Les icônes de recherche sont décoratives (pas d’annonce superflue).</li>
|
|
34
|
+
</ul>
|
|
35
|
+
</CriteriaCard>
|
|
11
36
|
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
37
|
+
<CriteriaCard icon="⌨️" title="Navigation clavier">
|
|
38
|
+
<ul>
|
|
39
|
+
<li>Tabulation : focus successif sur le champ puis chaque option ; activation par Espace/Entrée sur la checkbox.</li>
|
|
40
|
+
<li>Focus visible sur le champ et les cases à cocher ; suppression via la case déjà cochée.</li>
|
|
41
|
+
<li>Annonces SR : nombre de résultats via le <code>role="status"</code> conditionnel.</li>
|
|
42
|
+
</ul>
|
|
43
|
+
</CriteriaCard>
|
|
44
|
+
|
|
45
|
+
<CriteriaCard icon="🎨" title="Contraste et lisibilité">
|
|
46
|
+
<ul>
|
|
47
|
+
<li>Label et texte des options utilisent les couleurs du thème avec contrastes conformes.</li>
|
|
48
|
+
<li>État sélectionné signalé par classe <code>suggestion-item--selected</code> (fond/contour) + checkbox cochée.</li>
|
|
49
|
+
<li>Placeholder/texte d’aide : éviter les messages uniquement par couleur.</li>
|
|
50
|
+
</ul>
|
|
51
|
+
</CriteriaCard>
|
|
52
|
+
</CriteriaSection>
|
|
53
|
+
|
|
54
|
+
<DemoSection componentName="SearchListField">
|
|
55
|
+
<Story of={Stories.Default} />
|
|
56
|
+
<Story of={Stories.WithReturnObject} />
|
|
57
|
+
</DemoSection>
|
|
58
|
+
|
|
59
|
+
<BestPracticesSection>
|
|
60
|
+
<ul>
|
|
61
|
+
<li>Fournir un <code>label</code> et un <code>listLabel</code> explicites (champ + legend).</li>
|
|
62
|
+
<li>Utiliser des libellés uniques par option ; éviter les doublons qui compliquent l’annonce.</li>
|
|
63
|
+
<li>Garder le menu ouvert pour la sélection multiple ; ne pas masquer le focus.</li>
|
|
64
|
+
<li>Si l’ensemble d’options est long, guider la saisie avec un libellé contextualisé (“Rechercher une profession…”).</li>
|
|
65
|
+
<li>En retour objet (<code>returnObject</code>), vérifier que chaque item a un <code>label</code> et une <code>value</code> stables.</li>
|
|
66
|
+
</ul>
|
|
67
|
+
</BestPracticesSection>
|
|
68
|
+
|
|
69
|
+
<ResourcesSection>
|
|
70
|
+
<ul>
|
|
71
|
+
<li><a href="https://www.w3.org/WAI/ARIA/apg/patterns/combobox/" target="_blank" rel="noopener noreferrer">WAI-ARIA APG – Combobox</a> (pour les champs de recherche avec liste)</li>
|
|
72
|
+
<li><a href="https://www.numerique.gouv.fr/publications/rgaa-accessibilite/" target="_blank" rel="noopener noreferrer">RGAA – critères 7.1 (ARIA) et 10.8 (éléments masqués)</a></li>
|
|
73
|
+
</ul>
|
|
74
|
+
</ResourcesSection>
|
|
75
|
+
</AccessibilityGuideLayout>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// @vitest-environment jsdom
|
|
2
|
+
|
|
3
|
+
import { describe, it } from 'vitest'
|
|
4
|
+
import { mount } from '@vue/test-utils'
|
|
5
|
+
import { defineComponent } from 'vue'
|
|
6
|
+
import { axe } from 'vitest-axe'
|
|
7
|
+
import { assertNoA11yViolations } from '@tests/unit/accessibility/axeUtils'
|
|
8
|
+
import SearchListField from '../SearchListField.vue'
|
|
9
|
+
|
|
10
|
+
describe('SearchListField – accessibility (axe)', () => {
|
|
11
|
+
it('has no obvious axe violations on default list', async () => {
|
|
12
|
+
const wrapper = mount(defineComponent({
|
|
13
|
+
components: { SearchListField },
|
|
14
|
+
setup() {
|
|
15
|
+
const props = {
|
|
16
|
+
label: 'Rechercher une profession',
|
|
17
|
+
listLabel: 'Résultats',
|
|
18
|
+
items: [
|
|
19
|
+
{ label: 'Infirmier', value: 'infirmier' },
|
|
20
|
+
{ label: 'Pharmacien', value: 'pharmacien' },
|
|
21
|
+
],
|
|
22
|
+
modelValue: [],
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return { props }
|
|
26
|
+
},
|
|
27
|
+
template: `
|
|
28
|
+
<main>
|
|
29
|
+
<SearchListField v-bind="props" />
|
|
30
|
+
</main>
|
|
31
|
+
`,
|
|
32
|
+
}))
|
|
33
|
+
|
|
34
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
35
|
+
assertNoA11yViolations(results, 'SearchListField – default list')
|
|
36
|
+
})
|
|
37
|
+
})
|
|
@@ -0,0 +1,23 @@
|
|
|
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 SkipLink from '../SkipLink.vue'
|
|
8
|
+
|
|
9
|
+
describe('SkipLink – accessibility (axe)', () => {
|
|
10
|
+
it('has no obvious axe violations', async () => {
|
|
11
|
+
const wrapper = mount(SkipLink, {
|
|
12
|
+
props: {
|
|
13
|
+
links: [
|
|
14
|
+
{ label: 'Aller au contenu', href: '#main' },
|
|
15
|
+
{ label: 'Aller à la navigation', href: '#nav' },
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
const results = await axe(wrapper.element as HTMLElement)
|
|
21
|
+
assertNoA11yViolations(results, 'SkipLink – default state')
|
|
22
|
+
})
|
|
23
|
+
})
|
|
@@ -15,8 +15,17 @@ import * as StatusPageStories from './StatusPage.stories'
|
|
|
15
15
|
|
|
16
16
|
<Controls of={StatusPageStories.Default} />
|
|
17
17
|
|
|
18
|
+
## Rôle et identifiant ARIA
|
|
19
|
+
|
|
20
|
+
Les props `role` et `unique-id` permettent de préciser le rôle sémantique du composant et de lier le titre au conteneur via `aria-labelledby`.
|
|
21
|
+
|
|
22
|
+
Lorsque `role` est défini, l'attribut `aria-labelledby` est automatiquement appliqué sur le `PageContainer` en pointant vers le `h1`.
|
|
23
|
+
|
|
24
|
+
<Canvas of={StatusPageStories.WithRole} />
|
|
25
|
+
|
|
18
26
|
## Lien de retour
|
|
19
27
|
|
|
20
|
-
Vous pouvez mettre un lien vers une autre page avec les props `btn-text` et `btn-link` ou `btn-href
|
|
28
|
+
Vous pouvez mettre un lien vers une autre page avec les props `btn-text` et `btn-link` ou `btn-href`.<br/>
|
|
29
|
+
L'événement `btn-click` est émis lorsque l'utilisateur clique sur le bouton.
|
|
21
30
|
|
|
22
31
|
<Canvas of={StatusPageStories.WithLink} />
|
|
@@ -8,6 +8,10 @@ const meta = {
|
|
|
8
8
|
layout: 'fullscreen',
|
|
9
9
|
},
|
|
10
10
|
argTypes: {
|
|
11
|
+
'headingLevel': {
|
|
12
|
+
control: { type: 'select' },
|
|
13
|
+
options: [1, 2, 3, 4, 5, 6],
|
|
14
|
+
},
|
|
11
15
|
'code': {
|
|
12
16
|
description: 'Code d\'erreur affiché en premier plan',
|
|
13
17
|
},
|
|
@@ -58,6 +62,7 @@ type Story = StoryObj<typeof StatusPage>
|
|
|
58
62
|
|
|
59
63
|
export const Default: Story = {
|
|
60
64
|
args: {
|
|
65
|
+
headingLevel: 1,
|
|
61
66
|
pageTitle: 'une erreur est survenue',
|
|
62
67
|
code: '500',
|
|
63
68
|
message: 'Une erreur est survenue de notre côté, veuillez réessayer plus tard. Si le problème persiste veuillez nous contacter par téléphone au 3646',
|
|
@@ -96,6 +101,7 @@ export const Default: Story = {
|
|
|
96
101
|
export const WithLink: Story = {
|
|
97
102
|
args: {
|
|
98
103
|
...Default.args,
|
|
104
|
+
headingLevel: 1,
|
|
99
105
|
btnHref: '/',
|
|
100
106
|
btnText: 'Retour à l\'accueil',
|
|
101
107
|
},
|
|
@@ -137,6 +143,7 @@ export const CustomIllustration: Story = {
|
|
|
137
143
|
...Default.args,
|
|
138
144
|
btnHref: '/',
|
|
139
145
|
btnText: 'Retour à l\'accueil',
|
|
146
|
+
headingLevel: 1,
|
|
140
147
|
},
|
|
141
148
|
parameters: {
|
|
142
149
|
sourceCode: [
|
|
@@ -191,3 +198,157 @@ export const CustomIllustration: Story = {
|
|
|
191
198
|
`,
|
|
192
199
|
}),
|
|
193
200
|
}
|
|
201
|
+
|
|
202
|
+
export const SlotAction: Story = {
|
|
203
|
+
args: {
|
|
204
|
+
...Default.args,
|
|
205
|
+
headingLevel: 1,
|
|
206
|
+
hideBtn: true,
|
|
207
|
+
},
|
|
208
|
+
decorators: [
|
|
209
|
+
() => ({ template: '<div style="padding: 20px; background: rgb(231, 236, 245)"><story /></div>' }),
|
|
210
|
+
],
|
|
211
|
+
parameters: {
|
|
212
|
+
sourceCode: [
|
|
213
|
+
{
|
|
214
|
+
name: 'Template',
|
|
215
|
+
code: `
|
|
216
|
+
<template>
|
|
217
|
+
<div style="padding: 20px; background: rgb(231, 236, 245)">
|
|
218
|
+
<StatusPage
|
|
219
|
+
page-title="une erreur est survenue"
|
|
220
|
+
code="500"
|
|
221
|
+
message="Une erreur est survenue de notre côté, veuillez réessayer plus tard."
|
|
222
|
+
:hide-btn="true"
|
|
223
|
+
>
|
|
224
|
+
<template #action>
|
|
225
|
+
<div style="display: flex; gap: 8px; margin-top: 16px;">
|
|
226
|
+
<VBtn href="/" color="primary">Retour à l'accueil</VBtn>
|
|
227
|
+
<VBtn variant="outlined" color="primary">Déconnexion</VBtn>
|
|
228
|
+
</div>
|
|
229
|
+
</template>
|
|
230
|
+
</StatusPage>
|
|
231
|
+
</div>
|
|
232
|
+
</template>
|
|
233
|
+
`,
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
name: 'Script',
|
|
237
|
+
code: `
|
|
238
|
+
<script setup lang="ts">
|
|
239
|
+
import { StatusPage } from '@cnamts/synapse'
|
|
240
|
+
</script>
|
|
241
|
+
`,
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
},
|
|
245
|
+
render: args => ({
|
|
246
|
+
components: { StatusPage },
|
|
247
|
+
setup() {
|
|
248
|
+
return { args }
|
|
249
|
+
},
|
|
250
|
+
template: `
|
|
251
|
+
<StatusPage v-bind="args">
|
|
252
|
+
<template #action>
|
|
253
|
+
<div style="display: flex; gap: 8px; margin-top: 16px;">
|
|
254
|
+
<VBtn href="/" color="primary">Retour à l'accueil</VBtn>
|
|
255
|
+
<VBtn variant="outlined" color="primary">Déconnexion</VBtn>
|
|
256
|
+
</div>
|
|
257
|
+
</template>
|
|
258
|
+
</StatusPage>
|
|
259
|
+
`,
|
|
260
|
+
}),
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export const SlotAdditionalContent: Story = {
|
|
264
|
+
args: {
|
|
265
|
+
...Default.args,
|
|
266
|
+
headingLevel: 1,
|
|
267
|
+
},
|
|
268
|
+
decorators: [
|
|
269
|
+
() => ({ template: '<div style="padding: 20px; background: rgb(231, 236, 245)"><story /></div>' }),
|
|
270
|
+
],
|
|
271
|
+
parameters: {
|
|
272
|
+
sourceCode: [
|
|
273
|
+
{
|
|
274
|
+
name: 'Template',
|
|
275
|
+
code: `
|
|
276
|
+
<template>
|
|
277
|
+
<div style="padding: 20px; background: rgb(231, 236, 245)">
|
|
278
|
+
<StatusPage
|
|
279
|
+
page-title="une erreur est survenue"
|
|
280
|
+
code="500"
|
|
281
|
+
message="Une erreur est survenue de notre côté, veuillez réessayer plus tard."
|
|
282
|
+
>
|
|
283
|
+
<template #additional-content>
|
|
284
|
+
<p style="text-align: center; color: #555;">
|
|
285
|
+
Si le problème persiste, veuillez contacter le support technique.
|
|
286
|
+
</p>
|
|
287
|
+
</template>
|
|
288
|
+
</StatusPage>
|
|
289
|
+
</div>
|
|
290
|
+
</template>
|
|
291
|
+
`,
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
name: 'Script',
|
|
295
|
+
code: `
|
|
296
|
+
<script setup lang="ts">
|
|
297
|
+
import { StatusPage } from '@cnamts/synapse'
|
|
298
|
+
</script>
|
|
299
|
+
`,
|
|
300
|
+
},
|
|
301
|
+
],
|
|
302
|
+
},
|
|
303
|
+
render: args => ({
|
|
304
|
+
components: { StatusPage },
|
|
305
|
+
setup() {
|
|
306
|
+
return { args }
|
|
307
|
+
},
|
|
308
|
+
template: `
|
|
309
|
+
<StatusPage v-bind="args">
|
|
310
|
+
<template #additional-content>
|
|
311
|
+
<p style="text-align: center; color: #555;">
|
|
312
|
+
Si le problème persiste, veuillez contacter le support technique.
|
|
313
|
+
</p>
|
|
314
|
+
</template>
|
|
315
|
+
</StatusPage>
|
|
316
|
+
`,
|
|
317
|
+
}),
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export const WithRole: Story = {
|
|
321
|
+
args: {
|
|
322
|
+
pageTitle: 'Une erreur est survenue',
|
|
323
|
+
message: 'Veuillez réessayer ultérieurement.',
|
|
324
|
+
code: '500',
|
|
325
|
+
role: 'main',
|
|
326
|
+
uniqueId: 'status-page-main',
|
|
327
|
+
},
|
|
328
|
+
parameters: {
|
|
329
|
+
sourceCode: [
|
|
330
|
+
{
|
|
331
|
+
name: 'Template',
|
|
332
|
+
code: `
|
|
333
|
+
<template>
|
|
334
|
+
<StatusPage
|
|
335
|
+
page-title="Une erreur est survenue"
|
|
336
|
+
message="Veuillez réessayer ultérieurement."
|
|
337
|
+
code="500"
|
|
338
|
+
role="main"
|
|
339
|
+
unique-id="status-page-main"
|
|
340
|
+
/>
|
|
341
|
+
</template>
|
|
342
|
+
`,
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
name: 'Script',
|
|
346
|
+
code: `
|
|
347
|
+
<script setup lang="ts">
|
|
348
|
+
import { StatusPage } from '@cnamts/synapse'
|
|
349
|
+
</script>
|
|
350
|
+
`,
|
|
351
|
+
},
|
|
352
|
+
],
|
|
353
|
+
},
|
|
354
|
+
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { RouteRecordRaw } from 'vue-router'
|
|
3
3
|
import PageContainer from '../PageContainer/PageContainer.vue'
|
|
4
|
+
import { computed, useId } from 'vue'
|
|
5
|
+
import type { PageAriaRole } from '../types'
|
|
6
|
+
import SyHeading from '../SyHeading/SyHeading.vue'
|
|
4
7
|
|
|
5
8
|
type MessagePart =
|
|
6
9
|
| { type: 'text', value: string }
|
|
@@ -43,7 +46,7 @@
|
|
|
43
46
|
return parts
|
|
44
47
|
}
|
|
45
48
|
|
|
46
|
-
withDefaults(defineProps<{
|
|
49
|
+
const props = withDefaults(defineProps<{
|
|
47
50
|
pageTitle?: string
|
|
48
51
|
message?: string
|
|
49
52
|
code?: string
|
|
@@ -52,6 +55,9 @@
|
|
|
52
55
|
btnHref?: string
|
|
53
56
|
btnLink?: RouteRecordRaw | string
|
|
54
57
|
hideBtn?: boolean
|
|
58
|
+
uniqueId?: string
|
|
59
|
+
role?: PageAriaRole
|
|
60
|
+
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
|
|
55
61
|
}>(), {
|
|
56
62
|
pageTitle: undefined,
|
|
57
63
|
message: undefined,
|
|
@@ -61,11 +67,26 @@
|
|
|
61
67
|
btnLink: '/',
|
|
62
68
|
btnHref: undefined,
|
|
63
69
|
hideBtn: false,
|
|
70
|
+
uniqueId: undefined,
|
|
71
|
+
role: undefined,
|
|
72
|
+
headingLevel: 1,
|
|
64
73
|
})
|
|
74
|
+
|
|
75
|
+
const uniqueId = computed(() => props.uniqueId ?? useId())
|
|
76
|
+
|
|
77
|
+
const emit = defineEmits(['btn-click'])
|
|
78
|
+
const emitClickEvent = (): void => {
|
|
79
|
+
emit('btn-click')
|
|
80
|
+
}
|
|
65
81
|
</script>
|
|
66
82
|
|
|
67
83
|
<template>
|
|
68
|
-
<PageContainer
|
|
84
|
+
<PageContainer
|
|
85
|
+
size="md"
|
|
86
|
+
:unique-id="uniqueId"
|
|
87
|
+
:role="role"
|
|
88
|
+
:aria-labelledby="role ? `${uniqueId}-title` : undefined"
|
|
89
|
+
>
|
|
69
90
|
<VCard
|
|
70
91
|
:elevation="0"
|
|
71
92
|
class="pa-6 pa-sm-16"
|
|
@@ -84,12 +105,14 @@
|
|
|
84
105
|
{{ code }}
|
|
85
106
|
</div>
|
|
86
107
|
|
|
87
|
-
<
|
|
108
|
+
<SyHeading
|
|
88
109
|
v-if="pageTitle"
|
|
89
|
-
|
|
110
|
+
:id="role ? `${uniqueId}-title` : undefined"
|
|
111
|
+
:class="headingLevel === 1 ? 'mb-2 font-weight-bold text-h5 mb-4' : 'mb-2 font-weight-bold mb-4'"
|
|
112
|
+
:level="headingLevel"
|
|
90
113
|
>
|
|
91
114
|
{{ pageTitle }}
|
|
92
|
-
</
|
|
115
|
+
</SyHeading>
|
|
93
116
|
|
|
94
117
|
<p v-if="message">
|
|
95
118
|
<template
|
|
@@ -117,6 +140,7 @@
|
|
|
117
140
|
:href="btnHref"
|
|
118
141
|
color="primary"
|
|
119
142
|
class="mt-6"
|
|
143
|
+
@click="emitClickEvent"
|
|
120
144
|
>
|
|
121
145
|
{{ btnText }}
|
|
122
146
|
</VBtn>
|
|
@@ -18,14 +18,19 @@ import {
|
|
|
18
18
|
>
|
|
19
19
|
|
|
20
20
|
<CriteriaSection>
|
|
21
|
+
<CriteriaCard icon="🧩" title="Niveau de titre configurable via la prop headingLevel">
|
|
22
|
+
<ul>
|
|
23
|
+
<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 h1, défini dans l’implémentation du composant.</li>
|
|
24
|
+
<code><StatusPage
|
|
25
|
+
:heading-level="1" /> </code>
|
|
26
|
+
|
|
27
|
+
<li><strong>Accessibilité</strong> : Permet que la hiérarchie entre les titres soit pertinente (critère 9.1.1 RGAA) </li>
|
|
28
|
+
</ul>
|
|
29
|
+
</CriteriaCard>
|
|
21
30
|
<CriteriaCard icon="🔍" title="Structure sémantique">
|
|
22
31
|
<ul>
|
|
23
|
-
<li><strong>Titre de page</strong> : le titre est rendu dans une balise <code>h1</code>, unique et descriptif</li>
|
|
32
|
+
<li><strong>Titre de page</strong> : le titre est rendu dans une balise <code>h1</code>, unique et descriptif — lié au conteneur via <code>aria-labelledby</code> lorsque <code>role</code> est défini</li>
|
|
24
33
|
<li><strong>Code d'erreur</strong> : le code (ex. <code>500</code>, <code>404</code>) est précédé du texte masqué visuellement <code>codeErrorText</code> (par défaut <em>"Code d'erreur : "</em>) pour les lecteurs d'écran</li>
|
|
25
|
-
<li><strong>Rôles ARIA hérités</strong> via <code>PageContainer</code> :</li>
|
|
26
|
-
<ul>
|
|
27
|
-
<li>exemple : <code>role="main"</code> représente le contenu principal de la page</li>
|
|
28
|
-
</ul>
|
|
29
34
|
</ul>
|
|
30
35
|
</CriteriaCard>
|
|
31
36
|
|
|
@@ -52,12 +57,24 @@ import {
|
|
|
52
57
|
<li><strong>Slot <code>action</code></strong> : permet d'ajouter des actions supplémentaires accessibles au clavier</li>
|
|
53
58
|
</ul>
|
|
54
59
|
</CriteriaCard>
|
|
60
|
+
|
|
61
|
+
<CriteriaCard icon="🏷️" title="Rôle et identifiant ARIA">
|
|
62
|
+
<ul>
|
|
63
|
+
<li><strong>Prop <code>role</code></strong> : deux valeurs acceptées: <code>main</code> ou <code>region</code> — propagé au <code>PageContainer</code></li>
|
|
64
|
+
<li><strong>Prop <code>uniqueId</code></strong> : identifiant unique du conteneur, généré automatiquement via <code>useId()</code> si non fourni — utilisé pour lier le <code>h1</code> au conteneur via <code>aria-labelledby</code> lorsque <code>role</code> est défini</li>
|
|
65
|
+
<li><strong>Liaison automatique</strong> : quand <code>role</code> est défini, <code>aria-labelledby</code> est automatiquement appliqué sur le <code>PageContainer</code> et l'<code>id</code> correspondant sur le <code>h1</code></li>
|
|
66
|
+
</ul>
|
|
67
|
+
</CriteriaCard>
|
|
55
68
|
</CriteriaSection>
|
|
56
69
|
|
|
57
70
|
<DemoSection title="Avec illustration personnalisée" componentName="StatusPage">
|
|
58
71
|
<Story of={StatusPageStories.CustomIllustration} />
|
|
59
72
|
</DemoSection>
|
|
60
73
|
|
|
74
|
+
<DemoSection title="Avec rôle défini" componentName="StatusPage">
|
|
75
|
+
<Story of={StatusPageStories.WithRole} />
|
|
76
|
+
</DemoSection>
|
|
77
|
+
|
|
61
78
|
<BestPracticesSection>
|
|
62
79
|
<ul>
|
|
63
80
|
<li>Toujours renseigner <code>page-title</code> avec un titre clair et unique décrivant l'erreur</li>
|
|
@@ -66,6 +83,8 @@ import {
|
|
|
66
83
|
<li>Ne pas masquer le bouton (<code>hide-btn</code>) sans proposer une alternative de navigation claire</li>
|
|
67
84
|
<li>Les illustrations doivent toujours être décoratives (<code>aria-hidden="true"</code>) — ne jamais y placer d'information essentielle</li>
|
|
68
85
|
<li>Le contenu dans <code>additional-content</code> doit être lisible par les lecteurs d'écran : éviter le contenu purement visuel</li>
|
|
86
|
+
<li>Utiliser la prop <code>role</code> pour définir le rôle ARIA approprié au contexte</li>
|
|
87
|
+
<li>Fournir un <code>uniqueId</code> explicite si nécessaire pour garantir une liaison correcte entre le conteneur et le titre</li>
|
|
69
88
|
</ul>
|
|
70
89
|
</BestPracticesSection>
|
|
71
90
|
|
|
@@ -13,6 +13,7 @@ describe('StatusPage – accessibility (axe)', () => {
|
|
|
13
13
|
it('has no obvious axe violations with title, message and action button', async () => {
|
|
14
14
|
const wrapper = mount(StatusPage, {
|
|
15
15
|
props: {
|
|
16
|
+
headingLevel: 1,
|
|
16
17
|
pageTitle: 'Une erreur est survenue',
|
|
17
18
|
message: 'Un problème technique est survenu. Merci de réessayer plus tard.',
|
|
18
19
|
code: '500',
|
|
@@ -26,4 +27,26 @@ describe('StatusPage – accessibility (axe)', () => {
|
|
|
26
27
|
ignoreRules: ['region'],
|
|
27
28
|
})
|
|
28
29
|
})
|
|
30
|
+
|
|
31
|
+
it('has no obvious axe violations with #action slot', async () => {
|
|
32
|
+
const wrapper = mount(StatusPage, {
|
|
33
|
+
attachTo: document.body,
|
|
34
|
+
props: {
|
|
35
|
+
headingLevel: 1,
|
|
36
|
+
pageTitle: 'Une erreur est survenue',
|
|
37
|
+
message: 'Un problème technique est survenu.',
|
|
38
|
+
hideBtn: true,
|
|
39
|
+
},
|
|
40
|
+
slots: {
|
|
41
|
+
action: '<button>Retour à l\'accueil</button>',
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
const results = await axe(document.body)
|
|
46
|
+
assertNoA11yViolations(results, 'StatusPage – action slot', {
|
|
47
|
+
ignoreRules: ['region'],
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
wrapper.unmount()
|
|
51
|
+
})
|
|
29
52
|
})
|
|
@@ -6,6 +6,7 @@ describe('StatusPage', () => {
|
|
|
6
6
|
it('renders correctly', () => {
|
|
7
7
|
const wrapper = mount(StatusPage, {
|
|
8
8
|
props: {
|
|
9
|
+
headingLevel: 1,
|
|
9
10
|
pageTitle: 'Something went wrong',
|
|
10
11
|
message: 'Error message',
|
|
11
12
|
},
|
|
@@ -19,6 +20,7 @@ describe('StatusPage', () => {
|
|
|
19
20
|
it('renders correctly with undefined route', () => {
|
|
20
21
|
const wrapper = mount(StatusPage, {
|
|
21
22
|
props: {
|
|
23
|
+
headingLevel: 1,
|
|
22
24
|
code: '501',
|
|
23
25
|
pageTitle: 'Error',
|
|
24
26
|
message: 'Error message',
|
|
@@ -34,6 +36,7 @@ describe('StatusPage', () => {
|
|
|
34
36
|
it('uses href without router navigation when only btnHref is provided', () => {
|
|
35
37
|
const wrapper = mount(StatusPage, {
|
|
36
38
|
props: {
|
|
39
|
+
headingLevel: 1,
|
|
37
40
|
code: '401',
|
|
38
41
|
pageTitle: 'Auth error',
|
|
39
42
|
message: 'You are not authorized',
|
|
@@ -47,4 +50,26 @@ describe('StatusPage', () => {
|
|
|
47
50
|
expect(link.attributes('href')).toBe('https://google.com')
|
|
48
51
|
expect(link.attributes('to')).toBeUndefined()
|
|
49
52
|
})
|
|
53
|
+
|
|
54
|
+
it('renders #action slot content', () => {
|
|
55
|
+
const wrapper = mount(StatusPage, {
|
|
56
|
+
props: { headingLevel: 1 },
|
|
57
|
+
slots: {
|
|
58
|
+
action: '<button>Retour à l\'accueil</button>',
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
expect(wrapper.html()).toContain('Retour à l\'accueil')
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
it('renders #additional-content slot content', () => {
|
|
66
|
+
const wrapper = mount(StatusPage, {
|
|
67
|
+
props: { headingLevel: 1 },
|
|
68
|
+
slots: {
|
|
69
|
+
'additional-content': '<p>Contenu additionnel</p>',
|
|
70
|
+
},
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
expect(wrapper.html()).toContain('Contenu additionnel')
|
|
74
|
+
})
|
|
50
75
|
})
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
3
|
exports[`StatusPage > renders correctly 1`] = `
|
|
4
|
-
<div
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
<div
|
|
5
|
+
class="
|
|
6
|
+
d-flex
|
|
7
|
+
justify-center
|
|
8
|
+
px-14
|
|
9
|
+
py-10
|
|
10
|
+
vd-page-container
|
|
11
|
+
"
|
|
12
|
+
id="v-0-container"
|
|
13
|
+
>
|
|
11
14
|
<div
|
|
12
15
|
class="
|
|
13
16
|
bg-transparent
|
|
14
17
|
v-sheet
|
|
15
18
|
v-theme--light
|
|
16
19
|
"
|
|
20
|
+
id="v-0-content"
|
|
17
21
|
style="width: 800px;"
|
|
18
22
|
>
|
|
19
23
|
<div class="
|
|
@@ -98,6 +102,7 @@ exports[`StatusPage > renders correctly 1`] = `
|
|
|
98
102
|
font-weight-bold
|
|
99
103
|
mb-2
|
|
100
104
|
mb-4
|
|
105
|
+
sy-heading
|
|
101
106
|
text-h5
|
|
102
107
|
">
|
|
103
108
|
Something went wrong
|
|
@@ -120,19 +125,23 @@ exports[`StatusPage > renders correctly 1`] = `
|
|
|
120
125
|
`;
|
|
121
126
|
|
|
122
127
|
exports[`StatusPage > renders correctly with undefined route 1`] = `
|
|
123
|
-
<div
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
<div
|
|
129
|
+
class="
|
|
130
|
+
d-flex
|
|
131
|
+
justify-center
|
|
132
|
+
px-14
|
|
133
|
+
py-10
|
|
134
|
+
vd-page-container
|
|
135
|
+
"
|
|
136
|
+
id="v-0-container"
|
|
137
|
+
>
|
|
130
138
|
<div
|
|
131
139
|
class="
|
|
132
140
|
bg-transparent
|
|
133
141
|
v-sheet
|
|
134
142
|
v-theme--light
|
|
135
143
|
"
|
|
144
|
+
id="v-0-content"
|
|
136
145
|
style="width: 800px;"
|
|
137
146
|
>
|
|
138
147
|
<div class="
|
|
@@ -226,6 +235,7 @@ exports[`StatusPage > renders correctly with undefined route 1`] = `
|
|
|
226
235
|
font-weight-bold
|
|
227
236
|
mb-2
|
|
228
237
|
mb-4
|
|
238
|
+
sy-heading
|
|
229
239
|
text-h5
|
|
230
240
|
">
|
|
231
241
|
Error
|