@cnamts/synapse 1.0.5 → 1.0.7
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-BQpRKTju.js → DateFilter-CHDLz2EO.js} +1 -1
- package/dist/{NumberFilter-BykSKt2D.js → NumberFilter-DXNQ4Uls.js} +1 -1
- package/dist/{PeriodFilter-Cks6NygV.js → PeriodFilter-C8Qf3Jcn.js} +1 -1
- package/dist/{SelectFilter-DEL5dHd_.js → SelectFilter-B2Ejs4Cb.js} +1 -1
- package/dist/{TextFilter-0RAFj7Oe.js → TextFilter-CfR5_A1S.js} +1 -1
- package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +103 -0
- package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +105 -0
- package/dist/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.d.ts +116 -0
- package/dist/components/Amelipro/AmeliproAccordionGroup/types.d.ts +4 -0
- package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +220 -0
- package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +68 -0
- package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +70 -0
- package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +204 -0
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +26 -26
- package/dist/components/Amelipro/AmeliproBadge/AmeliproBadge.d.ts +59 -0
- package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +3 -3
- package/dist/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.d.ts +132 -0
- package/dist/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
- package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +3 -3
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +214 -0
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +70 -0
- package/dist/components/Amelipro/AmeliproCarousel/types.d.ts +7 -0
- package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +125 -0
- package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +126 -0
- package/dist/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
- package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.d.ts +3 -3
- package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +164 -0
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +27 -27
- package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
- package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +190 -0
- package/dist/components/Amelipro/AmeliproTable/types.d.ts +34 -0
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +32 -32
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +6 -6
- package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +7 -7
- package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +2 -2
- package/dist/components/Amelipro/AmeliproTooltips/AmeliproTooltips.d.ts +2 -2
- package/dist/components/Amelipro/types.d.ts +6 -0
- package/dist/components/ChipList/ChipList.d.ts +4 -0
- package/dist/components/ChipList/locales.d.ts +4 -2
- package/dist/components/CookieBanner/CookieBanner.d.ts +1 -1
- package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +8 -8
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +454 -8
- package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +6 -1
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +2 -0
- package/dist/components/Customs/SyTabs/SyTabs.d.ts +71 -0
- package/dist/components/Customs/SyTabs/config.d.ts +17 -0
- package/dist/components/Customs/SyTabs/types.d.ts +11 -0
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +12 -10
- package/dist/components/DataList/DataList.d.ts +10 -1
- package/dist/components/DataListGroup/DataListGroup.d.ts +10 -1
- package/dist/components/DataListItem/DataListItem.d.ts +1 -1
- package/dist/components/DataListItem/config.d.ts +1 -1
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +4825 -244
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +58 -29
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +28 -10
- package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +18 -8
- package/dist/components/DatePicker/composables/useKeyboardEvents.d.ts +41 -0
- package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +4 -9
- package/dist/components/DatePicker/composables/useTodayButton.d.ts +1 -0
- package/dist/components/DatePicker/utils/dateFormattingUtils.d.ts +72 -0
- package/dist/components/DatePicker/utils/validationUtils.d.ts +38 -0
- package/dist/components/DialogBox/DialogBox.d.ts +219 -0
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +9 -3
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +6 -1
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +11 -1
- package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +11 -1
- package/dist/components/HeaderBar/HeaderBurgerMenu/locals.d.ts +2 -0
- package/dist/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.d.ts +4 -0
- package/dist/components/HeaderLoading/HeaderLoading.d.ts +27 -0
- package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +110 -3
- package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +19 -1
- package/dist/components/LangBtn/LangBtn.d.ts +2 -2
- package/dist/components/NirField/NirField.d.ts +30 -20
- package/dist/components/PeriodField/PeriodField.d.ts +10949 -1783
- package/dist/components/PhoneField/PhoneField.d.ts +1866 -2
- package/dist/components/PhoneField/indicatifs.d.ts +1 -0
- package/dist/components/PhoneField/locales.d.ts +1 -0
- package/dist/components/RangeField/RangeField.d.ts +1 -1
- package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +1 -1
- package/dist/components/SubHeader/SubHeader.d.ts +8 -0
- package/dist/components/SubHeader/locales.d.ts +1 -0
- package/dist/components/SyTextArea/SyTextArea.d.ts +6 -6
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -4
- package/dist/components/Tables/SyTable/SyTable.d.ts +5 -4
- package/dist/components/Tables/common/SyTablePagination.d.ts +458 -7
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +2 -2
- package/dist/components/Tables/common/types.d.ts +2 -0
- package/dist/components/index.d.ts +13 -0
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/usePagination.d.ts +16 -0
- package/dist/design-system-v3.js +174 -160
- package/dist/design-system-v3.umd.cjs +290 -281
- package/dist/directives/lockFocus.d.ts +17 -0
- package/dist/{main-Co2P_lBt.js → main-C66C1BkG.js} +14406 -11554
- package/dist/style.css +1 -1
- package/package.json +4 -1
- package/src/assets/amelipro/apTheme.scss +149 -0
- package/src/assets/amelipro/apTokens.scss +0 -148
- package/src/assets/amelipro/icons.ts +38 -11
- package/src/assets/overrides/_btns.scss +15 -0
- package/src/assets/overrides/_container.scss +36 -0
- package/src/assets/overrides/_forms.scss +7 -0
- package/src/assets/{_spacers.scss → overrides/_spacers.scss} +0 -7
- package/src/assets/overrides/_tables.scss +18 -0
- package/src/assets/overrides/_tooltips.scss +10 -0
- package/src/assets/overrides/_typography.scss +196 -0
- package/src/assets/settings.scss +11 -51
- package/src/assets/themes.scss +10 -0
- package/src/assets/tokens.scss +9 -156
- package/src/components/Accordion/composables/__tests__/useAccordionGroupCommunication.spec.ts +80 -40
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.mdx +15 -0
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +83 -0
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +86 -0
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +242 -0
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +20 -0
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +124 -0
- package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +20 -0
- package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +124 -0
- package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.mdx +20 -0
- package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.stories.ts +135 -0
- package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.vue +107 -0
- package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +37 -0
- package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/__snapshots__/AmeliproAccordionGroup.spec.ts.snap +513 -0
- package/src/components/Amelipro/AmeliproAccordionGroup/types.d.ts +4 -0
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.mdx +16 -0
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +300 -0
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +288 -0
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/AmeliproAccordionList.spec.ts +38 -0
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +1712 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.mdx +19 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +68 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.vue +66 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.vue +145 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/AmeliproAccordionResultTemplate.spec.ts +24 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +127 -0
- package/src/components/Amelipro/AmeliproAccordionResult/__tests__/AmeliproAccordionResult.spec.ts +24 -0
- package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +123 -0
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.mdx +20 -0
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +273 -0
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +275 -0
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/AmeliproAccordionResultList.spec.ts +38 -0
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +1593 -0
- package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.mdx +15 -0
- package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.stories.ts +54 -0
- package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.vue +76 -0
- package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +20 -0
- package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +19 -0
- package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.mdx +15 -0
- package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.stories.ts +87 -0
- package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +233 -0
- package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +24 -0
- package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +384 -0
- package/src/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.mdx +15 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.stories.ts +191 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +263 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.vue +93 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/AmeliproCarouselItem.spec.ts +24 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/__snapshots__/AmeliproCarouselItem.spec.ts.snap +43 -0
- package/src/components/Amelipro/AmeliproCarousel/__tests__/AmeliproCarousel.spec.ts +40 -0
- package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +342 -0
- package/src/components/Amelipro/AmeliproCarousel/types.d.ts +8 -0
- package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.mdx +18 -0
- package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +67 -0
- package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +233 -0
- package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +21 -0
- package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +140 -0
- package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.mdx +15 -0
- package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +143 -0
- package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +351 -0
- package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +50 -0
- package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +186 -0
- package/src/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +7 -1
- package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +5 -711
- package/src/components/Amelipro/AmeliproIcon/iconList.ts +6 -0
- package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +5 -711
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.mdx +15 -0
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +264 -0
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +231 -0
- package/src/components/Amelipro/AmeliproResultList/__tests__/AmeliproResultList.spec.ts +37 -0
- package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +434 -0
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.mdx +22 -0
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +550 -0
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +422 -0
- package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +72 -0
- package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +424 -0
- package/src/components/Amelipro/AmeliproTable/types.d.ts +34 -0
- package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +2 -2
- package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +12 -1
- package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -820
- package/src/components/Amelipro/types.ts +8 -0
- package/src/components/ChipList/Accessibilite.stories.ts +4 -0
- package/src/components/ChipList/ChipList.vue +185 -42
- package/src/components/ChipList/locales.ts +4 -2
- package/src/components/ChipList/tests/chipList.spec.ts +7 -4
- package/src/components/CollapsibleList/CollapsibleList.vue +0 -2
- package/src/components/CookieBanner/CookieBanner.vue +1 -3
- package/src/components/CopyBtn/CopyBtn.vue +9 -2
- package/src/components/CopyBtn/tests/CopyBtn.spec.ts +3 -1
- package/src/components/Customs/Selects/SelectOverview.mdx +18 -15
- package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.stories.ts +10 -10
- package/src/components/Customs/Selects/SySelect/Accessibilite.mdx +7 -0
- package/src/components/Customs/Selects/SySelect/Accessibilite.stories.ts +4 -1
- package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +92 -4
- package/src/components/Customs/Selects/SySelect/SySelect.vue +373 -56
- package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +14 -5
- package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +129 -12
- package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +3 -1
- package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +165 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +28 -9
- package/src/components/Customs/SyIcon/SyIcon.spec.ts +3 -0
- package/src/components/Customs/SyTabs/Accessibilite.mdx +309 -0
- package/src/components/Customs/SyTabs/SyTabs.mdx +117 -0
- package/src/components/Customs/SyTabs/SyTabs.stories.ts +354 -0
- package/src/components/Customs/SyTabs/SyTabs.vue +350 -0
- package/src/components/Customs/SyTabs/config.ts +17 -0
- package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +425 -0
- package/src/components/Customs/SyTabs/types.ts +12 -0
- package/src/components/Customs/SyTextField/Accessibilite.stories.ts +3 -1
- package/src/components/Customs/SyTextField/SyTextField.mdx +3 -0
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +221 -7
- package/src/components/Customs/SyTextField/SyTextField.vue +226 -29
- package/src/components/DataList/Accessibilite.stories.ts +4 -0
- package/src/components/DataList/DataList.vue +52 -47
- package/src/components/DataListGroup/Accessibilite.stories.ts +4 -0
- package/src/components/DataListGroup/DataListGroup.vue +32 -15
- package/src/components/DataListItem/DataListItem.vue +72 -65
- package/src/components/DataListItem/config.ts +1 -1
- package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +3 -3
- package/src/components/DatePicker/CalendarMode/DatePicker.vue +59 -18
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +174 -0
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +421 -636
- package/src/components/DatePicker/DatePickerValidationExample/CalendarMode.stories.ts +215 -0
- package/src/components/DatePicker/DatePickerValidationExample/ComplexDatePicker.stories.ts +218 -0
- package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +2 -0
- package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +287 -1
- package/src/components/DatePicker/DatePickerValidationExample/DateTextInput.stories.ts +218 -0
- package/src/components/DatePicker/DatePickerValidationExample/MultiMode.stories.ts +281 -0
- package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +1 -1
- package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +17 -4
- package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +111 -18
- package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +238 -6
- package/src/components/DatePicker/DateTextInput/DateTextInput.vue +716 -759
- package/src/components/DatePicker/composables/tests/useDateInputEditing.spec.ts +4 -4
- package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +17 -10
- package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +11 -3
- package/src/components/DatePicker/composables/useDateInputEditing.ts +119 -225
- package/src/components/DatePicker/composables/useDisplayedDateString.ts +18 -4
- package/src/components/DatePicker/composables/useKeyboardEvents.ts +149 -0
- package/src/components/DatePicker/composables/useManualDateValidation.ts +27 -68
- package/src/components/DatePicker/composables/useTodayButton.ts +13 -1
- package/src/components/DatePicker/utils/dateFormattingUtils.ts +293 -0
- package/src/components/DatePicker/utils/validationUtils.ts +90 -0
- package/src/components/DialogBox/Accessibilite.stories.ts +4 -0
- package/src/components/DialogBox/DialogBox.stories.ts +22 -10
- package/src/components/DialogBox/DialogBox.vue +89 -22
- package/src/components/DialogBox/tests/DialogBox.spec.ts +22 -0
- package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +12 -6
- package/src/components/FileUpload/tests/FileUpload.spec.ts +3 -0
- package/src/components/FooterBar/FooterBar.vue +1 -0
- package/src/components/HeaderBar/Accessibilite.stories.ts +4 -0
- package/src/components/HeaderBar/HeaderBar.mdx +47 -22
- package/src/components/HeaderBar/HeaderBar.stories.ts +54 -13
- package/src/components/HeaderBar/HeaderBar.vue +2 -1
- package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +4 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +160 -82
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +41 -56
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +10 -3
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +41 -18
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.ts +7 -2
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +36 -9
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +41 -9
- package/src/components/HeaderBar/HeaderBurgerMenu/locals.ts +2 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +1 -1
- package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +8 -3
- package/src/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.ts +50 -0
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +5 -5
- package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +7 -4
- package/src/components/HeaderBar/locales.ts +1 -1
- package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +2 -1
- package/src/components/HeaderLoading/Accessibilite.mdx +429 -8
- package/src/components/HeaderLoading/Accessibilite.stories.ts +4 -0
- package/src/components/HeaderLoading/HeaderLoading.vue +59 -1
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.mdx +17 -2
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +91 -2
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +37 -1
- package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +276 -21
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +4 -2
- package/src/components/LangBtn/LangBtn.vue +0 -3
- package/src/components/LogoBrandSection/Accessibilite.stories.ts +4 -1
- package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
- package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -8
- package/src/components/LogoBrandSection/locales.ts +1 -1
- package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +1 -1
- package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +6 -4
- package/src/components/NirField/NirField.mdx +3 -0
- package/src/components/NirField/NirField.vue +15 -6
- package/src/components/NirField/tests/NirField.spec.ts +159 -12
- package/src/components/PasswordField/PasswordField.mdx +3 -0
- package/src/components/PeriodField/PeriodField.mdx +2 -0
- package/src/components/PeriodField/PeriodField.stories.ts +195 -0
- package/src/components/PhoneField/Accessibilite.stories.ts +4 -0
- package/src/components/PhoneField/PhoneField.mdx +3 -1
- package/src/components/PhoneField/PhoneField.stories.ts +285 -1
- package/src/components/PhoneField/PhoneField.vue +228 -95
- package/src/components/PhoneField/indicatifs.ts +102 -102
- package/src/components/PhoneField/locales.ts +1 -0
- package/src/components/PhoneField/tests/PhoneField.spec.ts +429 -2
- package/src/components/SkipLink/SkipLink.vue +3 -31
- package/src/components/SkipLink/tests/skipLink.spec.ts +0 -21
- package/src/components/SubHeader/Accessibilite.stories.ts +8 -0
- package/src/components/SubHeader/SubHeader.mdx +1 -0
- package/src/components/SubHeader/SubHeader.stories.ts +179 -60
- package/src/components/SubHeader/SubHeader.vue +45 -15
- package/src/components/SubHeader/locales.ts +1 -0
- package/src/components/SyAlert/SyAlert.vue +6 -0
- package/src/components/Tables/SyServerTable/SyServerTable.mdx +3 -10
- package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +242 -0
- package/src/components/Tables/SyServerTable/SyServerTable.vue +29 -10
- package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +104 -6
- package/src/components/Tables/SyTable/SyTable.mdx +3 -10
- package/src/components/Tables/SyTable/SyTable.stories.ts +242 -0
- package/src/components/Tables/SyTable/SyTable.vue +2 -0
- package/src/components/Tables/common/SyTablePagination.vue +13 -6
- package/src/components/Tables/common/TableHeader.vue +10 -7
- package/src/components/Tables/common/tableAccessibilityUtils.ts +13 -2
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +157 -0
- package/src/components/Tables/common/types.ts +2 -0
- package/src/components/Tables/common/useTableAria.ts +17 -1
- package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +2 -1
- package/src/components/index.ts +13 -0
- package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +34 -5
- package/src/composables/index.ts +3 -0
- package/src/composables/useFilterable/useFilterable.ts +23 -1
- package/src/composables/usePagination.ts +103 -0
- package/src/designTokens/tokens/amelipro/apColors.ts +1 -1
- package/src/designTokens/tokens/cnam/cnamSemantic.ts +3 -3
- package/src/directives/lockFocus.ts +48 -0
- package/src/main.ts +1 -2
- package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +1 -8
- package/src/stories/Accessibilite/{Aculturation/AuditDesignSystem.mdx → AuditDesignSystem.mdx} +1 -1
- package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.mdx +102 -0
- package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.stories.ts +219 -0
- package/src/stories/Accessibilite/KitDePreAudit/Outils/{Tanaguru.mdx → Tanaguru/Utilisation.mdx} +1 -1
- package/src/stories/Components/Components.stories.ts +1 -1
- package/src/stories/DesignTokens/ColorIntegrationExample.vue +43 -0
- package/src/stories/DesignTokens/Colors.mdx +2 -0
- package/src/stories/DesignTokens/colors.stories.ts +9 -0
- package/src/stories/GuideDuDev/FormValidationGuide.mdx +342 -0
- package/src/stories/Templates/Templates.stories.ts +1 -1
- package/src/utils/functions/ameliproColors/ameliproColors.ts +1 -1
- package/src/vuetifyConfig.ts +3 -3
- package/dist/components/DataList/locales.d.ts +0 -3
- package/dist/directives/letterSpacing.d.ts +0 -27
- package/src/assets/_fonts.scss +0 -6
- package/src/assets/_typography.scss +0 -157
- package/src/components/DataList/locales.ts +0 -3
- package/src/components/PhoneField/tests/PhoneField.additional.spec.ts +0 -266
- package/src/directives/letterSpacing.ts +0 -233
- /package/src/assets/{_elevations.scss → overrides/_elevations.scss} +0 -0
- /package/src/assets/{_radius.scss → overrides/_radius.scss} +0 -0
|
@@ -182,6 +182,10 @@ export const Legende: StoryObj = {
|
|
|
182
182
|
</div>
|
|
183
183
|
</div>
|
|
184
184
|
</div>
|
|
185
|
+
<div class="mt-4">
|
|
186
|
+
<p>Rapport d’audit manuel : <a href="/audits/DialogBox.xlsx" style="color:#0C41BD;">Voir le rapport</a></p>
|
|
187
|
+
<p style="color: grey; font-size: 14px">Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/798" target="_blank" style="color:#0C41BD;">issue #798</a>)</p>
|
|
188
|
+
</div>
|
|
185
189
|
`,
|
|
186
190
|
}
|
|
187
191
|
},
|
|
@@ -2,6 +2,7 @@ import { type Meta, type StoryObj } from '@storybook/vue3'
|
|
|
2
2
|
import { VBtn } from 'vuetify/components'
|
|
3
3
|
import DialogBox from './DialogBox.vue'
|
|
4
4
|
import { fn } from '@storybook/test'
|
|
5
|
+
import { computed } from 'vue'
|
|
5
6
|
|
|
6
7
|
const meta: Meta<typeof DialogBox> = {
|
|
7
8
|
title: 'Composants/Feedback/DialogBox',
|
|
@@ -100,6 +101,18 @@ const meta: Meta<typeof DialogBox> = {
|
|
|
100
101
|
},
|
|
101
102
|
},
|
|
102
103
|
},
|
|
104
|
+
'autofocusValidateBtn': {
|
|
105
|
+
control: 'boolean',
|
|
106
|
+
description: 'Focus automatique sur le bouton de validation à l\'ouverture',
|
|
107
|
+
table: {
|
|
108
|
+
type: {
|
|
109
|
+
summary: 'boolean',
|
|
110
|
+
},
|
|
111
|
+
defaultValue: {
|
|
112
|
+
summary: 'false',
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
},
|
|
103
116
|
'vuetifyOptions': {
|
|
104
117
|
control: 'object',
|
|
105
118
|
description: 'Personnalisation des composants Vuetify internes',
|
|
@@ -189,7 +202,12 @@ export const Default: Story = {
|
|
|
189
202
|
return {
|
|
190
203
|
components: { DialogBox, VBtn },
|
|
191
204
|
setup() {
|
|
192
|
-
|
|
205
|
+
const rest = computed(() => {
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
207
|
+
const { default: _, ...rest } = args
|
|
208
|
+
return rest
|
|
209
|
+
})
|
|
210
|
+
return { args, rest }
|
|
193
211
|
},
|
|
194
212
|
template: `
|
|
195
213
|
<div class="pa-4">
|
|
@@ -198,7 +216,7 @@ export const Default: Story = {
|
|
|
198
216
|
color="primary"
|
|
199
217
|
>Toggle DialogBox</VBtn>
|
|
200
218
|
<DialogBox
|
|
201
|
-
v-bind="
|
|
219
|
+
v-bind="rest"
|
|
202
220
|
@confirm="args.modelValue = false"
|
|
203
221
|
@cancel="args.modelValue = false"
|
|
204
222
|
@update:modelValue="args.modelValue = $event"
|
|
@@ -560,10 +578,7 @@ export const TitleSlot: Story = {
|
|
|
560
578
|
@cancel="args.modelValue = false"
|
|
561
579
|
>
|
|
562
580
|
<template #title>
|
|
563
|
-
|
|
564
|
-
color="primary"
|
|
565
|
-
@click="args.modelValue = false"
|
|
566
|
-
>Title slot</VBtn>
|
|
581
|
+
Title slot
|
|
567
582
|
</template>
|
|
568
583
|
{{ args.default }}
|
|
569
584
|
</DialogBox>
|
|
@@ -585,10 +600,7 @@ export const TitleSlot: Story = {
|
|
|
585
600
|
v-model="dialogOpen"
|
|
586
601
|
>
|
|
587
602
|
<template #title>
|
|
588
|
-
|
|
589
|
-
color="primary"
|
|
590
|
-
@click="dialogOpen = false"
|
|
591
|
-
>Title slot</VBtn>
|
|
603
|
+
Title slot
|
|
592
604
|
</template>
|
|
593
605
|
DialogBox content
|
|
594
606
|
</DialogBox>
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import useCustomizableOptions, { type CustomizableOptions } from '@/composables/useCustomizableOptions'
|
|
3
3
|
import { mdiClose } from '@mdi/js'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
import type { VDialog } from 'vuetify/components'
|
|
4
|
+
import { ref, useId, watch, nextTick } from 'vue'
|
|
5
|
+
import type { VBtn, VDialog } from 'vuetify/components'
|
|
6
6
|
import { config } from './config'
|
|
7
7
|
import { locales } from './locales'
|
|
8
|
+
import { useDisplay } from 'vuetify/lib/framework.mjs'
|
|
9
|
+
import SyIcon from '../Customs/SyIcon/SyIcon.vue'
|
|
8
10
|
|
|
9
11
|
const props = withDefaults(defineProps<{
|
|
10
12
|
title?: string
|
|
@@ -13,6 +15,7 @@
|
|
|
13
15
|
confirmBtnText?: string
|
|
14
16
|
hideActions?: boolean
|
|
15
17
|
persistent?: boolean
|
|
18
|
+
autofocusValidateBtn?: boolean
|
|
16
19
|
} & CustomizableOptions>(), {
|
|
17
20
|
title: undefined,
|
|
18
21
|
width: '800px',
|
|
@@ -20,6 +23,7 @@
|
|
|
20
23
|
confirmBtnText: locales.confirmBtn,
|
|
21
24
|
hideActions: false,
|
|
22
25
|
persistent: false,
|
|
26
|
+
autofocusValidateBtn: false,
|
|
23
27
|
})
|
|
24
28
|
|
|
25
29
|
defineEmits(['cancel', 'confirm', 'update:modelValue'])
|
|
@@ -33,6 +37,24 @@
|
|
|
33
37
|
default: false,
|
|
34
38
|
})
|
|
35
39
|
|
|
40
|
+
const confirmBtn = ref<VBtn | null>(null)
|
|
41
|
+
// Restor the focus to the last active element when the dialog is closed
|
|
42
|
+
let activeElement: HTMLElement | null = null
|
|
43
|
+
watch(dialog, (newValue) => {
|
|
44
|
+
if (newValue) {
|
|
45
|
+
activeElement = document.activeElement as HTMLElement
|
|
46
|
+
if (props.autofocusValidateBtn) {
|
|
47
|
+
nextTick(() => {
|
|
48
|
+
confirmBtn.value?.$el.focus()
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else if (activeElement) {
|
|
53
|
+
activeElement.focus()
|
|
54
|
+
}
|
|
55
|
+
}, { immediate: true })
|
|
56
|
+
|
|
57
|
+
const id = `dialog-${useId()}`
|
|
36
58
|
const dialogContent = ref<VDialog | undefined>(undefined)
|
|
37
59
|
|
|
38
60
|
const options = useCustomizableOptions(config, props)
|
|
@@ -75,6 +97,9 @@
|
|
|
75
97
|
selectableElements[lastElement].focus()
|
|
76
98
|
}
|
|
77
99
|
}
|
|
100
|
+
|
|
101
|
+
const display = useDisplay()
|
|
102
|
+
|
|
78
103
|
</script>
|
|
79
104
|
|
|
80
105
|
<template>
|
|
@@ -86,18 +111,19 @@
|
|
|
86
111
|
:retain-focus="false"
|
|
87
112
|
aria-modal="true"
|
|
88
113
|
class="sy-dialog-box"
|
|
114
|
+
:aria-labelledby="id"
|
|
89
115
|
@keydown.tab="handleFocus"
|
|
90
116
|
>
|
|
91
117
|
<VCard
|
|
92
118
|
v-bind="options.card"
|
|
93
|
-
id="
|
|
119
|
+
id="dialog-content"
|
|
94
120
|
ref="dialogContent"
|
|
95
|
-
:aria-labelledby="props.title ? props.title : 'dialogContent'"
|
|
96
121
|
>
|
|
97
122
|
<VCardTitle v-bind="options.cardTitle">
|
|
98
123
|
<slot name="title">
|
|
99
124
|
<h2
|
|
100
125
|
v-if="title"
|
|
126
|
+
:id="id"
|
|
101
127
|
class="text-h6 font-weight-bold"
|
|
102
128
|
>
|
|
103
129
|
{{ props.title }}
|
|
@@ -108,13 +134,16 @@
|
|
|
108
134
|
|
|
109
135
|
<VBtn
|
|
110
136
|
v-if="!props.persistent"
|
|
137
|
+
class="sy-dialog-box-close-btn"
|
|
111
138
|
v-bind="options.closeBtn"
|
|
112
139
|
:aria-label="locales.closeBtn"
|
|
113
140
|
@click="dialog = false"
|
|
114
141
|
>
|
|
115
|
-
<
|
|
116
|
-
|
|
117
|
-
|
|
142
|
+
<SyIcon
|
|
143
|
+
:icon="closeIcon"
|
|
144
|
+
:decorative="true"
|
|
145
|
+
v-bind="options.icon"
|
|
146
|
+
/>
|
|
118
147
|
</VBtn>
|
|
119
148
|
</VCardTitle>
|
|
120
149
|
<slot />
|
|
@@ -127,20 +156,42 @@
|
|
|
127
156
|
<VSpacer v-bind="options.actionsSpacer" />
|
|
128
157
|
|
|
129
158
|
<slot name="actions">
|
|
130
|
-
<
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
159
|
+
<template v-if="display.xs.value">
|
|
160
|
+
<VBtn
|
|
161
|
+
v-bind="options.confirmBtn"
|
|
162
|
+
data-test-id="confirm-btn"
|
|
163
|
+
@click="$emit('confirm')"
|
|
164
|
+
>
|
|
165
|
+
{{ props.confirmBtnText }}
|
|
166
|
+
</VBtn>
|
|
167
|
+
|
|
168
|
+
<VBtn
|
|
169
|
+
v-bind="options.cancelBtn"
|
|
170
|
+
@click="$emit('cancel')"
|
|
171
|
+
>
|
|
172
|
+
{{ props.cancelBtnText }}
|
|
173
|
+
</VBtn>
|
|
174
|
+
</template>
|
|
175
|
+
<template v-else>
|
|
176
|
+
<VBtn
|
|
177
|
+
class="sy-dialog-box-cancel-btn"
|
|
178
|
+
v-bind="options.cancelBtn"
|
|
179
|
+
@click="$emit('cancel')"
|
|
180
|
+
>
|
|
181
|
+
{{ props.cancelBtnText }}
|
|
182
|
+
</VBtn>
|
|
183
|
+
|
|
184
|
+
<VBtn
|
|
185
|
+
v-bind="options.confirmBtn"
|
|
186
|
+
ref="confirmBtn"
|
|
187
|
+
class="sy-dialog-box-confirm-btn"
|
|
188
|
+
:class="props.autofocusValidateBtn ? 'sy-dialog-box-confirm-btn--autofocus' : ''"
|
|
189
|
+
data-test-id="confirm-btn"
|
|
190
|
+
@click="$emit('confirm')"
|
|
191
|
+
>
|
|
192
|
+
{{ props.confirmBtnText }}
|
|
193
|
+
</VBtn>
|
|
194
|
+
</template>
|
|
144
195
|
</slot>
|
|
145
196
|
</div>
|
|
146
197
|
</VCard>
|
|
@@ -165,9 +216,25 @@ h2 {
|
|
|
165
216
|
text-wrap: balance;
|
|
166
217
|
}
|
|
167
218
|
|
|
219
|
+
.sy-dialog-box-close-btn:focus-visible,
|
|
220
|
+
.sy-dialog-box-cancel-btn:focus-visible,
|
|
221
|
+
.sy-dialog-box-confirm-btn:focus-visible,
|
|
222
|
+
.sy-dialog-box-confirm-btn--autofocus:focus {
|
|
223
|
+
:deep(.v-btn__overlay) {
|
|
224
|
+
display: none;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
&::after {
|
|
228
|
+
opacity: 1;
|
|
229
|
+
border: transparent;
|
|
230
|
+
outline: 2px solid rgb(var(--v-theme-primary));
|
|
231
|
+
outline-offset: 2px;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
168
235
|
.sy-dialog-box-actions-ctn {
|
|
169
236
|
display: flex;
|
|
170
|
-
flex-direction: column
|
|
237
|
+
flex-direction: column;
|
|
171
238
|
justify-content: stretch;
|
|
172
239
|
gap: $spacing-small;
|
|
173
240
|
}
|
|
@@ -348,4 +348,26 @@ describe('DialogBox', () => {
|
|
|
348
348
|
expect(result).toEqual([])
|
|
349
349
|
})
|
|
350
350
|
})
|
|
351
|
+
|
|
352
|
+
it('focus the confirm button on open if autofocusValidateBtn is true', async () => {
|
|
353
|
+
const wrapper = mount(DialogBox, {
|
|
354
|
+
props: {
|
|
355
|
+
...defaultProps,
|
|
356
|
+
autofocusValidateBtn: true,
|
|
357
|
+
},
|
|
358
|
+
global: {
|
|
359
|
+
plugins: [vuetify],
|
|
360
|
+
},
|
|
361
|
+
attachTo: document.body,
|
|
362
|
+
})
|
|
363
|
+
|
|
364
|
+
const modal = wrapper.getComponent(VCard)
|
|
365
|
+
|
|
366
|
+
const confirmBtn = modal.find('[data-test-id="confirm-btn"]')
|
|
367
|
+
|
|
368
|
+
await wrapper.vm.$nextTick()
|
|
369
|
+
|
|
370
|
+
expect(confirmBtn.element).toEqual(document.activeElement)
|
|
371
|
+
wrapper.unmount()
|
|
372
|
+
})
|
|
351
373
|
})
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
4
4
|
<div
|
|
5
|
+
aria-labelledby="dialog-v-0"
|
|
5
6
|
aria-modal="true"
|
|
6
7
|
class="sy-dialog-box"
|
|
7
8
|
modelvalue="true"
|
|
@@ -10,7 +11,6 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
|
10
11
|
width="600px"
|
|
11
12
|
>
|
|
12
13
|
<div
|
|
13
|
-
aria-labelledby="Test title"
|
|
14
14
|
class="
|
|
15
15
|
pa-6
|
|
16
16
|
v-card
|
|
@@ -18,7 +18,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
|
18
18
|
v-card--variant-elevated
|
|
19
19
|
v-theme--light
|
|
20
20
|
"
|
|
21
|
-
id="
|
|
21
|
+
id="dialog-content"
|
|
22
22
|
>
|
|
23
23
|
<!---->
|
|
24
24
|
<div class="v-card__loader">
|
|
@@ -81,10 +81,13 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
|
81
81
|
pa-0
|
|
82
82
|
v-card-title
|
|
83
83
|
">
|
|
84
|
-
<h2
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
<h2
|
|
85
|
+
class="
|
|
86
|
+
font-weight-bold
|
|
87
|
+
text-h6
|
|
88
|
+
"
|
|
89
|
+
id="dialog-v-0"
|
|
90
|
+
>
|
|
88
91
|
Test title
|
|
89
92
|
</h2>
|
|
90
93
|
<div class="v-spacer"></div>
|
|
@@ -95,6 +98,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
|
95
98
|
ml-4
|
|
96
99
|
mr-n2
|
|
97
100
|
mt-n2
|
|
101
|
+
sy-dialog-box-close-btn
|
|
98
102
|
v-btn
|
|
99
103
|
v-btn--density-default
|
|
100
104
|
v-btn--elevated
|
|
@@ -141,6 +145,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
|
141
145
|
<div class="v-spacer"></div>
|
|
142
146
|
<button
|
|
143
147
|
class="
|
|
148
|
+
sy-dialog-box-cancel-btn
|
|
144
149
|
text-primary
|
|
145
150
|
v-btn
|
|
146
151
|
v-btn--density-default
|
|
@@ -165,6 +170,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
|
|
|
165
170
|
<button
|
|
166
171
|
class="
|
|
167
172
|
bg-primary
|
|
173
|
+
sy-dialog-box-confirm-btn
|
|
168
174
|
v-btn
|
|
169
175
|
v-btn--density-default
|
|
170
176
|
v-btn--elevated
|
|
@@ -216,6 +216,10 @@ export const Legende: StoryObj = {
|
|
|
216
216
|
</div>
|
|
217
217
|
</div>
|
|
218
218
|
</div>
|
|
219
|
+
<div class="mt-4">
|
|
220
|
+
<p>Rapport d’audit manuel : <a href="/audits/HeaderBar.xlsx" style="color:#0C41BD;">Voir le rapport</a></p>
|
|
221
|
+
<p style="color: grey; font-size: 14px">Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/643" target="_blank" style="color:#0C41BD;">issue #643</a>)</p>
|
|
222
|
+
</div>
|
|
219
223
|
`,
|
|
220
224
|
}
|
|
221
225
|
},
|
|
@@ -18,24 +18,39 @@ Pour voir l'utilisation du menu, veuillez consulter le composant `HeaderBurgerMe
|
|
|
18
18
|
### Prepend
|
|
19
19
|
|
|
20
20
|
Le slot `prepend` permet d'ajouter du contenu en haut du header, il suivra le comportement du header au scroll.
|
|
21
|
-
Il est possible de récupérer le status du Menu de header en utilisant la prop `
|
|
21
|
+
Il est possible de récupérer le status du Menu de header en utilisant la prop `menuOpen` du slot `prepend`. (Fonctionne uniquement pour les menus s'enregistrant via la fonction injectée `registerHeaderMenu`, ce qui est le cas pour le composant `HeaderBurgerMenu`).
|
|
22
|
+
Le contenu du slot prend tout l'espace disponible en largeur. Pour que le contenu soit de même dimension que le header, il faut lui appliquer une largeur maximale de `1712px`.
|
|
22
23
|
|
|
23
24
|
<Source
|
|
24
25
|
dark
|
|
25
26
|
code={`
|
|
26
27
|
<template>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
<HeaderBar>
|
|
29
|
+
<template #menu>
|
|
30
|
+
<HeaderBurgerMenu>
|
|
31
|
+
...
|
|
32
|
+
</HeaderBurgerMenu>
|
|
33
|
+
</template>
|
|
34
|
+
<template #prepend="{ menuOpen }">
|
|
35
|
+
<div class="header-prepend-content">
|
|
36
|
+
<div v-if="menuOpen">
|
|
37
|
+
Menu ouvert
|
|
38
|
+
</div>
|
|
39
|
+
<div v-else>
|
|
40
|
+
Menu fermé
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</template>
|
|
44
|
+
</HeaderBar>
|
|
38
45
|
</template>
|
|
46
|
+
|
|
47
|
+
<style lang="scss" scoped>
|
|
48
|
+
.header-prepend-content {
|
|
49
|
+
width: 100%;
|
|
50
|
+
max-width: 1712px;
|
|
51
|
+
margin: 0 auto;
|
|
52
|
+
}
|
|
53
|
+
</style>
|
|
39
54
|
`}
|
|
40
55
|
/>
|
|
41
56
|
|
|
@@ -47,7 +62,11 @@ code:`
|
|
|
47
62
|
<template>
|
|
48
63
|
<HeaderBar>
|
|
49
64
|
<template #prepend>
|
|
50
|
-
<div style="height: 26px; background-color:
|
|
65
|
+
<div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
|
|
66
|
+
<div>
|
|
67
|
+
Contenu
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
51
70
|
</template>
|
|
52
71
|
</HeaderBar>
|
|
53
72
|
</template>
|
|
@@ -57,24 +76,28 @@ code:`
|
|
|
57
76
|
### Append
|
|
58
77
|
|
|
59
78
|
Le slot `append` permet d'ajouter du contenu en bas du header, il suivra le comportement du header au scroll.
|
|
60
|
-
Il est également possible de récupérer le status du Menu de header en utilisant la prop `
|
|
79
|
+
Il est également possible de récupérer le status du Menu de header en utilisant la prop `menuOpen` du slot `append`.
|
|
80
|
+
Le contenu du slot prend tout l'espace disponible en largeur. Pour que le contenu soit de même dimension que le header, il faut lui appliquer une largeur maximale de `1712px`.
|
|
61
81
|
|
|
62
82
|
<Source
|
|
63
83
|
dark
|
|
64
84
|
code={`
|
|
65
85
|
<template>
|
|
66
86
|
<HeaderBar>
|
|
67
|
-
<template #
|
|
68
|
-
<
|
|
69
|
-
...
|
|
70
|
-
</HeaderBurgerMenu>
|
|
71
|
-
</template>
|
|
72
|
-
<template #append="{ isMenuOpen }">
|
|
73
|
-
<div v-if="isMenuOpen">Menu ouvert</div>
|
|
87
|
+
<template #append="{ menuOpen }">
|
|
88
|
+
<div v-if="menuOpen">Menu ouvert</div>
|
|
74
89
|
<div v-else>Menu fermé</div>
|
|
75
90
|
</template>
|
|
76
91
|
</HeaderBar>
|
|
77
92
|
</template>
|
|
93
|
+
|
|
94
|
+
<style lang="scss" scoped>
|
|
95
|
+
.header-append-content {
|
|
96
|
+
width: 100%;
|
|
97
|
+
max-width: 1712px;
|
|
98
|
+
margin: 0 auto;
|
|
99
|
+
}
|
|
100
|
+
</style>
|
|
78
101
|
`}
|
|
79
102
|
/>
|
|
80
103
|
|
|
@@ -86,7 +109,9 @@ Il est également possible de récupérer le status du Menu de header en utilisa
|
|
|
86
109
|
<template>
|
|
87
110
|
<HeaderBar>
|
|
88
111
|
<template #append>
|
|
89
|
-
<div style="height: 26px; background-color:
|
|
112
|
+
<div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
|
|
113
|
+
<div>contenu</div>
|
|
114
|
+
</div>
|
|
90
115
|
</template>
|
|
91
116
|
</HeaderBar>
|
|
92
117
|
</template>
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
2
|
|
|
3
|
-
import { mdiAccountCircleOutline, mdiMagnify } from '@mdi/js'
|
|
3
|
+
import { mdiAccountCircleOutline, mdiMagnify, mdiMenu } from '@mdi/js'
|
|
4
4
|
import { VBtn, VListItem, VListItemTitle } from 'vuetify/components'
|
|
5
5
|
import HeaderToolbar from '../HeaderToolbar/HeaderToolbar.vue'
|
|
6
6
|
import LogoBrandSection from '../LogoBrandSection/LogoBrandSection.vue'
|
|
7
7
|
import SubHeader from '../SubHeader/SubHeader.vue'
|
|
8
8
|
import UserMenuBtn from '../UserMenuBtn/UserMenuBtn.vue'
|
|
9
9
|
import HeaderBar from './HeaderBar.vue'
|
|
10
|
+
import SyIcon from '../Customs/SyIcon/SyIcon.vue'
|
|
10
11
|
|
|
11
12
|
const meta = {
|
|
12
13
|
title: 'Composants/Structure/HeaderBar',
|
|
@@ -194,20 +195,23 @@ export const WithRightMenu: Story = {
|
|
|
194
195
|
},
|
|
195
196
|
render: (args) => {
|
|
196
197
|
return {
|
|
197
|
-
components: { HeaderBar, VBtn },
|
|
198
|
+
components: { HeaderBar, VBtn, SyIcon },
|
|
198
199
|
setup() {
|
|
199
200
|
const searchIcon = mdiMagnify
|
|
200
201
|
const accountIcon = mdiAccountCircleOutline
|
|
201
|
-
|
|
202
|
+
const menuIcon = mdiMenu
|
|
203
|
+
|
|
204
|
+
return { args, searchIcon, accountIcon, menuIcon }
|
|
202
205
|
},
|
|
203
206
|
template: `<div class="position: relative">
|
|
204
207
|
<HeaderBar v-bind="args">
|
|
205
208
|
<template #header-side="{ menuOpen }">
|
|
206
|
-
<
|
|
209
|
+
<nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
|
|
207
210
|
<VBtn
|
|
208
211
|
variant="text"
|
|
209
212
|
:prepend-icon="searchIcon"
|
|
210
213
|
color="primary"
|
|
214
|
+
role="search"
|
|
211
215
|
>
|
|
212
216
|
Rechercher
|
|
213
217
|
</VBtn>
|
|
@@ -217,7 +221,17 @@ export const WithRightMenu: Story = {
|
|
|
217
221
|
>
|
|
218
222
|
Login
|
|
219
223
|
</VBtn>
|
|
220
|
-
</
|
|
224
|
+
</nav>
|
|
225
|
+
<VBtn
|
|
226
|
+
class="d-md-none"
|
|
227
|
+
variant="text"
|
|
228
|
+
>
|
|
229
|
+
<SyIcon
|
|
230
|
+
size="x-large"
|
|
231
|
+
:icon="menuIcon"
|
|
232
|
+
aria-label="Ouvrir le menu"
|
|
233
|
+
/>
|
|
234
|
+
</VBtn>
|
|
221
235
|
</template>
|
|
222
236
|
</HeaderBar>
|
|
223
237
|
</div>`,
|
|
@@ -234,11 +248,12 @@ export const WithRightMenu: Story = {
|
|
|
234
248
|
service-subtitle="Design System"
|
|
235
249
|
>
|
|
236
250
|
<template #header-side="{ menuOpen }">
|
|
237
|
-
<
|
|
251
|
+
<nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
|
|
238
252
|
<VBtn
|
|
239
253
|
variant="text"
|
|
240
254
|
:prepend-icon="mdiMagnify"
|
|
241
255
|
color="primary"
|
|
256
|
+
role="search"
|
|
242
257
|
>
|
|
243
258
|
Rechercher
|
|
244
259
|
</VBtn>
|
|
@@ -248,7 +263,17 @@ export const WithRightMenu: Story = {
|
|
|
248
263
|
>
|
|
249
264
|
Login
|
|
250
265
|
</VBtn>
|
|
251
|
-
</
|
|
266
|
+
</nav>
|
|
267
|
+
<VBtn
|
|
268
|
+
class="d-md-none"
|
|
269
|
+
variant="text"
|
|
270
|
+
>
|
|
271
|
+
<SyIcon
|
|
272
|
+
size="x-large"
|
|
273
|
+
:icon="mdiMenu"
|
|
274
|
+
aria-label="Ouvrir le menu"
|
|
275
|
+
/>
|
|
276
|
+
</VBtn>
|
|
252
277
|
</template>
|
|
253
278
|
</HeaderBar>
|
|
254
279
|
</template>
|
|
@@ -258,9 +283,9 @@ export const WithRightMenu: Story = {
|
|
|
258
283
|
name: 'Script',
|
|
259
284
|
code: `
|
|
260
285
|
<script setup lang="ts">
|
|
261
|
-
import { HeaderBar } from '@cnamts/synapse'
|
|
286
|
+
import { HeaderBar, SyIcon } from '@cnamts/synapse'
|
|
262
287
|
import { VBtn } from 'vuetify/components'
|
|
263
|
-
import { mdiMagnify, mdiAccountCircleOutline } from '@mdi/js'
|
|
288
|
+
import { mdiMagnify, mdiAccountCircleOutline, mdiMenu } from '@mdi/js'
|
|
264
289
|
</script>
|
|
265
290
|
`,
|
|
266
291
|
},
|
|
@@ -689,7 +714,11 @@ export const PrependSlot: Story = {
|
|
|
689
714
|
template: `
|
|
690
715
|
<HeaderBar v-bind="args">
|
|
691
716
|
<template #prepend>
|
|
692
|
-
<div style="height: 26px; background-color: #0c419a;"
|
|
717
|
+
<div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
|
|
718
|
+
<div>
|
|
719
|
+
contenu
|
|
720
|
+
</div>
|
|
721
|
+
</div>
|
|
693
722
|
</template>
|
|
694
723
|
</HeaderBar>
|
|
695
724
|
`,
|
|
@@ -703,7 +732,11 @@ export const PrependSlot: Story = {
|
|
|
703
732
|
<template>
|
|
704
733
|
<HeaderBar>
|
|
705
734
|
<template #prepend>
|
|
706
|
-
<div style="height: 26px; background-color: #0c419a;"
|
|
735
|
+
<div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
|
|
736
|
+
<div>
|
|
737
|
+
contenu
|
|
738
|
+
</div>
|
|
739
|
+
</div>
|
|
707
740
|
</template>
|
|
708
741
|
</HeaderBar>
|
|
709
742
|
</template>
|
|
@@ -735,7 +768,11 @@ export const AppendSlot: Story = {
|
|
|
735
768
|
template: `
|
|
736
769
|
<HeaderBar v-bind="args">
|
|
737
770
|
<template #append>
|
|
738
|
-
<div style="height: 26px; background-color: #0c419a;"
|
|
771
|
+
<div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
|
|
772
|
+
<div>
|
|
773
|
+
contenu
|
|
774
|
+
</div>
|
|
775
|
+
</div>
|
|
739
776
|
</template>
|
|
740
777
|
</HeaderBar>
|
|
741
778
|
`,
|
|
@@ -749,7 +786,11 @@ export const AppendSlot: Story = {
|
|
|
749
786
|
<template>
|
|
750
787
|
<HeaderBar>
|
|
751
788
|
<template #append>
|
|
752
|
-
<div style="height: 26px; background-color: #0c419a;"
|
|
789
|
+
<div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
|
|
790
|
+
<div>
|
|
791
|
+
contenu
|
|
792
|
+
</div>
|
|
793
|
+
</div>
|
|
753
794
|
</template>
|
|
754
795
|
</HeaderBar>
|
|
755
796
|
</template>
|