@cnamts/synapse 1.0.10 → 1.0.12
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-C0wDuzgn.js → DateFilter-DoCcOfDW.js} +1 -1
- package/dist/{NumberFilter-CBj7zdOi.js → NumberFilter-9uR8uo6p.js} +1 -1
- package/dist/{PeriodFilter-DB4wWyKy.js → PeriodFilter-CxN5ini7.js} +1 -1
- package/dist/{SelectFilter-Dces8572.js → SelectFilter-bfxipgvt.js} +1 -1
- package/dist/{TextFilter-BU9nlkuS.js → TextFilter-yCnWcmW2.js} +1 -1
- package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +6 -2
- package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +11 -0
- package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +6 -2
- package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +9 -0
- package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +12 -30
- package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +18 -0
- package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +9 -0
- package/dist/components/Amelipro/AmeliproFooter/locales.d.ts +0 -1
- package/dist/components/Amelipro/AmeliproFooter/types.d.ts +1 -0
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +2 -0
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +6 -2
- package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +8 -4
- package/dist/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.d.ts +2 -0
- package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +9 -0
- package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +11 -11
- package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +13 -0
- package/dist/components/Amelipro/AmeliproTable/types.d.ts +11 -0
- package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +12 -12
- package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +2 -2
- package/dist/components/Amelipro/AmeliproUpload/types.d.ts +10 -0
- package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +16 -16
- package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
- package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +6 -6
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +2 -2
- package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +52 -16
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +52 -10
- package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +8 -13
- package/dist/components/DatePicker/composables/useDatePickerViewMode.d.ts +2 -1
- package/dist/components/DatePicker/tests/setup.d.ts +464 -104
- package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +6 -6
- package/dist/components/LangBtn/LangBtn.d.ts +2 -2
- package/dist/components/NirField/NirField.d.ts +10 -8
- package/dist/components/PeriodField/PeriodField.d.ts +104 -24
- package/dist/components/PhoneField/PhoneField.d.ts +3 -3
- package/dist/components/SearchListField/SearchListField.d.ts +13 -4
- package/dist/components/SyTextArea/SyTextArea.d.ts +2 -2
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -8
- package/dist/components/Tables/SyTable/SyTable.d.ts +5 -8
- package/dist/components/Tables/common/SyTablePagination.d.ts +7 -7
- package/dist/components/Tables/common/TableHeader.d.ts +6 -0
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +2 -2
- package/dist/components/Tables/common/types.d.ts +11 -0
- package/dist/components/Tables/common/usePagination.d.ts +3 -4
- package/dist/components/Tables/common/useTableCheckbox.d.ts +10 -6
- package/dist/components/Tables/common/useTableHeaders.d.ts +10 -20
- package/dist/design-system-v3.js +1 -1
- package/dist/design-system-v3.umd.cjs +160 -160
- package/dist/main-DMXtXK3y.js +33458 -0
- package/dist/style.css +1 -1
- package/dist/utils/amelipro/rules/uploadFile/index.d.ts +6 -0
- package/dist/utils/amelipro/toKebabCase/toKebabCase.d.ts +1 -0
- package/dist/utils/rules/isRequired/index.d.ts +5 -2
- package/dist/utils/rules/types.d.ts +12 -3
- package/package.json +12 -3
- package/src/assets/amelipro/img/bg-pieces-jointe.svg +28 -0
- package/src/assets/overrides/_btns.scss +1 -0
- package/src/assets/overrides/_forms.scss +7 -0
- package/src/components/Accordion/tests/accordion.spec.ts +0 -55
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +7 -4
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +2 -0
- package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +1 -0
- package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/AmeliproAccordionFrieze.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +574 -112
- package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +11 -2
- package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +7 -2
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/AmeliproAccordionList.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +13 -2
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +6 -3
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.vue +2 -0
- package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/AmeliproAccordionResultTemplate.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionResult/__tests__/AmeliproAccordionResult.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +11 -2
- package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +7 -2
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/AmeliproAccordionResultList.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +13 -2
- package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +1 -1
- package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +277 -55
- package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +113 -233
- package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproBtn/__tests__/AmeliproBtn.spec.ts +478 -0
- package/src/components/Amelipro/AmeliproBtn/__tests__/__snapshots__/AmeliproBtn.spec.ts.snap +74 -0
- package/src/components/Amelipro/AmeliproCallback/__tests__/AmeliproCallback.spec.ts +100 -0
- package/src/components/Amelipro/AmeliproCallback/__tests__/__snapshots__/AmeliproCallback.spec.ts.snap +50 -0
- package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +10 -2
- package/src/components/Amelipro/AmeliproCard/__tests__/AmeliproCard.spec.ts +402 -0
- package/src/components/Amelipro/AmeliproCard/__tests__/__snapshots__/AmeliproCard.spec.ts.snap +106 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.stories.ts +2 -0
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +11 -1
- package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/AmeliproCarouselItem.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproCarousel/__tests__/AmeliproCarousel.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
- package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +175 -0
- package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +88 -0
- package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +423 -0
- package/src/components/Amelipro/AmeliproCheckboxGroup/{tests → __tests__}/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +112 -78
- package/src/components/Amelipro/AmeliproChips/__tests__/AmeliproChips.spec.ts +92 -0
- package/src/components/Amelipro/AmeliproChips/__tests__/__snapshots__/AmeliproChips.spec.ts.snap +81 -0
- package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproCopyBtn/__tests__/AmeliproCopyBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/AmeliproTooth.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproDentalChart/tests/AmeliproDentalChart.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproDialog/__tests__/AmeliproDialog.spec.ts +257 -0
- package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +61 -0
- package/src/components/Amelipro/AmeliproDisclosure/__tests__/AmeliproDisclosure.spec.ts +79 -0
- package/src/components/Amelipro/AmeliproDisclosure/__tests__/__snapshots__/AmeliproDisclosure.spec.ts.snap +89 -0
- package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproFirstLogin/__tests__/AmeliproFirstLogin.spec.ts +0 -2
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +1 -0
- package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +5 -1
- package/src/components/Amelipro/AmeliproFooter/locales.ts +0 -1
- package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproFooter/types.d.ts +1 -0
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.stories.ts +18 -8
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +3 -1
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.vue +3 -0
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue +10 -2
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +2 -3
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/tests/AmeliproLogoAm.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +2 -3
- package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +2 -3
- package/src/components/Amelipro/AmeliproIcon/tests/AmeliproIcon.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproIconBtn/tests/AmeliproIconBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/AmeliproIllustratedDataTile.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/AmeliproIllustratedRadioGroup.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMailTile/tests/AmeliproMailTile.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -2
- package/src/components/Amelipro/AmeliproMessage/tests/AmeliproMessage.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMessagingLayout/tests/AmeliproMessagingLayout.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproNumberedCard/tests/AmeliproNumberedCard.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproOnboarding/tests/AmeliproOnboarding.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.stories.ts +9 -2
- package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.vue +4 -1
- package/src/components/Amelipro/AmeliproPageLayout/tests/AmeliproPageLayout.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +2 -3
- package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/AmeliproPaginationBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPagination/tests/AmeliproPagination.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPatientBanner/tests/AmeliproPatientBanner.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/AmeliproPatientLogged.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +13 -2
- package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/__tests__/AmeliproPatientLoginForm.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPatientLogin/__tests__/AmeliproPatientLogin.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +24 -4
- package/src/components/Amelipro/AmeliproPostalAddressField/tests/AmeliproPostalAddressField.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproPostalAddressField/tests/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +40 -8
- package/src/components/Amelipro/AmeliproRadioGroup/tests/AmeliproRadioGroup.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +6 -0
- package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +5 -1
- package/src/components/Amelipro/AmeliproResultList/__tests__/AmeliproResultList.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +13 -2
- package/src/components/Amelipro/AmeliproSelect/tests/AmeliproSelect.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproSelect/tests/__snapshots__/AmeliproSelect.spec.ts.snap +13 -2
- package/src/components/Amelipro/AmeliproStateTile/tests/AmeliproStateTile.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproStatus/tests/AmeliproStatus.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/AmeliproStepBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproStepper/tests/AmeliproStepper.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +87 -9
- package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +144 -62
- package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +10 -4
- package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +374 -189
- package/src/components/Amelipro/AmeliproTable/types.d.ts +11 -0
- package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/AmeliproTabBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTabs/tests/AmeliproTabs.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +1 -1
- package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +10 -2
- package/src/components/Amelipro/AmeliproTextField/tests/AmeliproTextField.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +10 -2
- package/src/components/Amelipro/AmeliproTileBtn/tests/AmeliproTileBtn.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTooltips/tests/AmeliproTooltips.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproTransmission/tests/AmeliproTransmission.spec.ts +0 -4
- package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.mdx +38 -0
- package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +99 -0
- package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +714 -0
- package/src/components/Amelipro/AmeliproUpload/README.md +66 -0
- package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +74 -0
- package/src/components/Amelipro/AmeliproUpload/types.d.ts +10 -0
- package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -4
- package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -4
- package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -4
- package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -4
- package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -4
- package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -4
- package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -4
- package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -4
- package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -2
- package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -4
- package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -4
- package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -4
- package/src/components/BackBtn/BackBtn.vue +2 -1
- package/src/components/BackBtn/tests/BackBtn.spec.ts +1 -23
- package/src/components/BackToTopBtn/tests/BackToTopBtn.spec.ts +3 -34
- package/src/components/ChipList/tests/chipList.spec.ts +0 -38
- package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +0 -8
- package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +0 -28
- package/src/components/CookieBanner/tests/CookieBanner.spec.ts +1 -11
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +0 -16
- package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.ts +0 -4
- package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +0 -16
- package/src/components/CopyBtn/tests/CopyBtn.spec.ts +0 -31
- package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +1 -0
- package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +3 -37
- package/src/components/Customs/Selects/SyBtnSelect/tests/SyBtnSelect.spec.ts +0 -28
- package/src/components/Customs/Selects/SyInputSelect/tests/SyInputSelect.spec.ts +8 -104
- package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
- package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +0 -135
- package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +1 -1
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
- package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +0 -20
- package/src/components/Customs/SyForm/SyForm.mdx +1 -3
- package/src/components/Customs/SyForm/SyForm.stories.ts +131 -143
- package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +0 -2
- package/src/components/Customs/SyTextField/SyTextField.vue +27 -5
- package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +1 -27
- package/src/components/DataList/DataListLoading/tests/DataListLoading.spec.ts +0 -4
- package/src/components/DataList/tests/DataList.spec.ts +0 -26
- package/src/components/DataListGroup/tests/DataListGroup.spec.ts +0 -10
- package/src/components/DataListItem/tests/DataListItem.spec.ts +0 -28
- package/src/components/DatePicker/CalendarMode/DatePicker.vue +31 -8
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +0 -16
- package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +4 -34
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +44 -12
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -10
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +2 -2
- package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -13
- package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -10
- package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -52
- package/src/components/DatePicker/DateTextInput/DateTextInput.vue +7 -1
- package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +107 -72
- package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +6 -6
- package/src/components/DatePicker/composables/useDatePickerViewMode.ts +57 -7
- package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +14 -14
- package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +0 -543
- package/src/components/DatePicker/tests/navigation.regression.spec.ts +74 -0
- package/src/components/DatePicker/tests/navigation.simple.spec.ts +137 -0
- package/src/components/DiacriticPicker/tests/DiatriticPicker.spec.ts +0 -6
- package/src/components/DialogBox/tests/DialogBox.spec.ts +0 -63
- package/src/components/DownloadBtn/tests/DownloadBtn.spec.ts +0 -7
- package/src/components/ErrorPage/tests/ErrorPage.spec.ts +0 -7
- package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +0 -16
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +1 -0
- package/src/components/FileList/tests/FileList.spec.ts +0 -13
- package/src/components/FilePreview/tests/FilePreview.spec.ts +1 -6
- package/src/components/FileUpload/tests/FileUpload.spec.ts +1 -48
- package/src/components/FilterInline/tests/FilterInline.spec.ts +0 -10
- package/src/components/FilterSideBar/FilterSideBar.stories.ts +2 -0
- package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +0 -10
- package/src/components/FooterBar/tests/FooterBar.spec.ts +7 -19
- package/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.ts +0 -11
- package/src/components/HeaderBar/HeaderBar.stories.ts +37 -38
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.ts +0 -6
- package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +0 -6
- package/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.ts +0 -13
- package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +1 -22
- package/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.ts +0 -10
- package/src/components/HeaderBar/tests/HeaderBar.spec.ts +0 -16
- package/src/components/HeaderLoading/tests/HeaderLoading.spec.ts +0 -4
- package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +22 -15
- package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +0 -4
- package/src/components/HeaderToolbar/tests/HeaderToolBar.spec.ts +7 -51
- package/src/components/LangBtn/tests/LangBtn.spec.ts +0 -56
- package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +22 -67
- package/src/components/NirField/NirField.stories.ts +13 -2
- package/src/components/NirField/NirField.vue +69 -34
- package/src/components/NirField/tests/NirField.cursor.spec.ts +315 -0
- package/src/components/NirField/tests/NirField.spec.ts +215 -17
- package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +2 -12
- package/src/components/NotificationBar/NotificationBar.mdx +1 -1
- package/src/components/NotificationBar/NotificationBar.stories.ts +1 -0
- package/src/components/NotificationBar/tests/NotificationBar.spec.ts +5 -44
- package/src/components/PageContainer/tests/PageContainer.spec.ts +1 -15
- package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +0 -23
- package/src/components/PasswordField/tests/PasswordField.spec.ts +4 -38
- package/src/components/PeriodField/tests/PeriodField.spec.ts +4 -74
- package/src/components/PhoneField/tests/PhoneField.spec.ts +3 -154
- package/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.ts +0 -13
- package/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.ts +0 -34
- package/src/components/RangeField/RangeSlider/tests/useTrack.spec.ts +4 -24
- package/src/components/RangeField/tests/RangeField.spec.ts +0 -34
- package/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.ts +2 -23
- package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +2 -17
- package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +3 -22
- package/src/components/RatingPicker/tests/Rating.spec.ts +0 -10
- package/src/components/RatingPicker/tests/RatingPicker.spec.ts +0 -23
- package/src/components/SearchListField/SearchListField.mdx +3 -4
- package/src/components/SearchListField/SearchListField.stories.ts +103 -3
- package/src/components/SearchListField/SearchListField.vue +34 -9
- package/src/components/SearchListField/tests/SearchListField.spec.ts +98 -44
- package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +0 -32
- package/src/components/SubHeader/tests/SubHeader.spec.ts +0 -18
- package/src/components/SyAlert/tests/SyAlert.spec.ts +0 -14
- package/src/components/SyTextArea/tests/SyTextArea.spec.ts +0 -31
- package/src/components/TableToolbar/tests/TableToolbar.spec.ts +0 -31
- package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +72 -24
- package/src/components/Tables/SyServerTable/SyServerTable.mdx +15 -0
- package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +309 -0
- package/src/components/Tables/SyServerTable/SyServerTable.vue +33 -6
- package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -58
- package/src/components/Tables/SyTable/SyTable.mdx +15 -0
- package/src/components/Tables/SyTable/SyTable.stories.ts +228 -0
- package/src/components/Tables/SyTable/SyTable.vue +48 -10
- package/src/components/Tables/SyTable/tests/SyTable.spec.ts +63 -55
- package/src/components/Tables/common/SyTablePagination.vue +11 -9
- package/src/components/Tables/common/TableHeader.vue +57 -2
- package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +0 -11
- package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +0 -11
- package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +0 -11
- package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +0 -11
- package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +0 -11
- package/src/components/Tables/common/tests/SyTableFilter.spec.ts +0 -31
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +0 -49
- package/src/components/Tables/common/tests/TableHeader.spec.ts +0 -19
- package/src/components/Tables/common/tests/filterByRange.spec.ts +0 -13
- package/src/components/Tables/common/tests/resize.spec.ts +0 -13
- package/src/components/Tables/common/types.ts +11 -0
- package/src/components/Tables/common/usePagination.ts +11 -20
- package/src/components/Tables/common/useStoredOptions.ts +1 -1
- package/src/components/Tables/common/useTableCheckbox.ts +23 -11
- package/src/components/Tables/common/useTableHeaders.ts +73 -6
- package/src/components/ToolbarContainer/tests/ToolbarContainer.spec.ts +0 -19
- package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +0 -15
- package/src/components/Usages/tests/Usages.spec.ts +3 -31
- package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +0 -31
- package/src/composables/useFilterable/useFilterable.ts +33 -24
- package/src/composables/validation/{AvecVosComposants.mdx → AvecVosComposants.mdx.old} +1 -1
- package/src/composables/validation/{FormValidation.stories.ts → FormValidation.stories.ts.old} +5 -5
- package/src/stories/Accessibilite/Introduction.mdx +1 -1
- package/src/stories/Demarrer/EnrichirLeDesignSystem.mdx +43 -0
- package/src/stories/Demarrer/EnrichirLeDesignSystem.stories.ts +239 -0
- package/src/stories/Demarrer/SignalerUneAnomalie.mdx +39 -0
- package/src/stories/Demarrer/SignalerUneAnomalie.stories.ts +261 -0
- package/src/stories/GuideDuDev/FormValidationGuide.mdx +746 -114
- package/src/stories/GuideDuDev/UtiliserLesRules.mdx +138 -136
- package/src/utils/amelipro/rules/uploadFile/index.ts +119 -0
- package/src/utils/amelipro/rules/uploadFile/tests/uploadFile.spec.ts +55 -0
- package/src/utils/amelipro/toKebabCase/toKebabCase.ts +11 -0
- package/src/utils/rules/doMatchPattern/index.ts +1 -1
- package/src/utils/rules/isDateValid/index.ts +1 -1
- package/src/utils/rules/isExactLength/index.ts +4 -0
- package/src/utils/rules/isHolidayDay/index.ts +1 -1
- package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +24 -14
- package/src/utils/rules/isMaxLength/index.ts +4 -0
- package/src/utils/rules/isMinLength/index.ts +4 -0
- package/src/utils/rules/isNotAfterDate/index.ts +4 -0
- package/src/utils/rules/isNotAfterToday/index.ts +1 -1
- package/src/utils/rules/isNotBeforeDate/index.ts +4 -0
- package/src/utils/rules/isNotBeforeToday/index.ts +1 -1
- package/src/utils/rules/isRequired/index.ts +11 -5
- package/src/utils/rules/isRequired/tests/{isRequred.spec.ts → isRequired.spec.ts} +24 -0
- package/src/utils/rules/isValidEmail/index.ts +1 -1
- package/src/utils/rules/types.d.ts +12 -3
- package/dist/main-Dt4iNotT.js +0 -33147
- package/src/components/Amelipro/AmeliproBtn/tests/AmeliproBtn.spec.ts +0 -22
- package/src/components/Amelipro/AmeliproBtn/tests/__snapshots__/AmeliproBtn.spec.ts.snap +0 -46
- package/src/components/Amelipro/AmeliproCallback/tests/AmeliproCallback.spec.ts +0 -21
- package/src/components/Amelipro/AmeliproCallback/tests/__snapshots__/AmeliproCallback.spec.ts.snap +0 -165
- package/src/components/Amelipro/AmeliproCard/tests/AmeliproCard.spec.ts +0 -23
- package/src/components/Amelipro/AmeliproCard/tests/__snapshots__/AmeliproCard.spec.ts.snap +0 -78
- package/src/components/Amelipro/AmeliproCheckbox/tests/AmeliproCheckbox.spec.ts +0 -23
- package/src/components/Amelipro/AmeliproCheckbox/tests/__snapshots__/AmeliproCheckbox.spec.ts.snap +0 -40
- package/src/components/Amelipro/AmeliproCheckboxGroup/tests/AmeliproCheckboxGroup.spec.ts +0 -50
- package/src/components/Amelipro/AmeliproChips/tests/AmeliproChips.spec.ts +0 -20
- package/src/components/Amelipro/AmeliproChips/tests/__snapshots__/AmeliproChips.spec.ts.snap +0 -97
- package/src/components/Amelipro/AmeliproDialog/tests/AmeliproDialog.spec.ts +0 -26
- package/src/components/Amelipro/AmeliproDialog/tests/__snapshots__/AmeliproDialog.spec.ts.snap +0 -134
- package/src/components/Amelipro/AmeliproDisclosure/tests/AmeliproDisclosure.spec.ts +0 -23
- package/src/components/Amelipro/AmeliproDisclosure/tests/__snapshots__/AmeliproDisclosure.spec.ts.snap +0 -104
- package/src/components/BackBtn/tests/__snapshots__/BackBtn.spec.ts.snap +0 -45
- package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +0 -204
- package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +0 -1222
- package/src/stories/Demarrer/CreerUneIssue.mdx +0 -67
- package/src/stories/Demarrer/components.stories.ts +0 -25
- /package/src/composables/validation/{FormValidation.mdx → FormValidation.mdx.old} +0 -0
|
@@ -20,14 +20,61 @@ export function useTableHeaders({
|
|
|
20
20
|
}) {
|
|
21
21
|
// Process headers to ensure they have title property
|
|
22
22
|
const normalizedHeaders = computed(() => {
|
|
23
|
-
const
|
|
24
|
-
|
|
23
|
+
const incoming = headersProp?.value
|
|
24
|
+
const stored = Array.isArray(storedHeaders) ? storedHeaders : undefined
|
|
25
|
+
|
|
26
|
+
// Si aucun header, rien à faire
|
|
27
|
+
if (!Array.isArray(incoming) && !Array.isArray(stored)) {
|
|
25
28
|
return undefined
|
|
26
29
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
|
|
31
|
+
// Fusion logique entre storedHeaders et incoming
|
|
32
|
+
let headers: DataTableHeaders[] = []
|
|
33
|
+
|
|
34
|
+
if (stored && incoming) {
|
|
35
|
+
// Fusionne les headers existants avec les nouveaux
|
|
36
|
+
const merged = stored.map((storedHeader) => {
|
|
37
|
+
const match = incoming.find(
|
|
38
|
+
h =>
|
|
39
|
+
(h.key && h.key === storedHeader.key)
|
|
40
|
+
|| (h.value && h.value === storedHeader.value),
|
|
41
|
+
)
|
|
42
|
+
return {
|
|
43
|
+
...storedHeader,
|
|
44
|
+
...(match || {}), // les nouveaux props écrasent les anciens
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
// Ajoute les headers qui n'existent pas encore dans le stockage
|
|
49
|
+
const extras = incoming.filter(
|
|
50
|
+
h =>
|
|
51
|
+
!merged.some(
|
|
52
|
+
x =>
|
|
53
|
+
(x.key && x.key === h.key)
|
|
54
|
+
|| (x.value && x.value === h.value),
|
|
55
|
+
),
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
headers = [...merged, ...extras]
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
headers = (stored ?? incoming) as DataTableHeaders[]
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Normalisation finale
|
|
65
|
+
return headers.map((header) => {
|
|
66
|
+
const mapped = {
|
|
67
|
+
...header,
|
|
68
|
+
title: header.title ?? header.text,
|
|
69
|
+
} as TableColumnHeader
|
|
70
|
+
|
|
71
|
+
// Si maxWidth est défini sans width → applique-le à width
|
|
72
|
+
if (mapped.maxWidth != null && mapped.width == null) {
|
|
73
|
+
mapped.width = mapped.maxWidth
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return mapped as unknown as DataTableHeaders
|
|
77
|
+
})
|
|
31
78
|
})
|
|
32
79
|
|
|
33
80
|
// Get filterable headers
|
|
@@ -72,6 +119,25 @@ export function useTableHeaders({
|
|
|
72
119
|
return normalizedHeaders.value?.find(header => header.key === key)
|
|
73
120
|
}
|
|
74
121
|
|
|
122
|
+
/**
|
|
123
|
+
* Get original header from a rendered column (match by key or value)
|
|
124
|
+
*/
|
|
125
|
+
function getHeaderForColumn(column: TableColumnHeader): TableColumnHeader | undefined {
|
|
126
|
+
if (!normalizedHeaders.value) return undefined
|
|
127
|
+
const key = column.key as string | undefined
|
|
128
|
+
if (key) {
|
|
129
|
+
const byKey = normalizedHeaders.value.find(h => h.key === key)
|
|
130
|
+
if (byKey) return byKey
|
|
131
|
+
}
|
|
132
|
+
// Fallback: try matching by value when key is not present or didn’t match
|
|
133
|
+
const val = column.value as string | undefined
|
|
134
|
+
if (val) {
|
|
135
|
+
const byValue = normalizedHeaders.value.find(h => h.value === val)
|
|
136
|
+
if (byValue) return byValue
|
|
137
|
+
}
|
|
138
|
+
return undefined
|
|
139
|
+
}
|
|
140
|
+
|
|
75
141
|
/**
|
|
76
142
|
* The headers filtered by visibility and sorted by order
|
|
77
143
|
*/
|
|
@@ -87,5 +153,6 @@ export function useTableHeaders({
|
|
|
87
153
|
filterableHeaders,
|
|
88
154
|
getEnhancedHeader,
|
|
89
155
|
getHeaderByKey,
|
|
156
|
+
getHeaderForColumn,
|
|
90
157
|
}
|
|
91
158
|
}
|
|
@@ -2,15 +2,11 @@ import { describe, it, expect } from 'vitest'
|
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
3
|
import Toolbar from '../ToolbarContainer.vue'
|
|
4
4
|
import { VBtn } from 'vuetify/components'
|
|
5
|
-
import { vuetify } from '@tests/unit/setup'
|
|
6
5
|
import { defineComponent } from 'vue'
|
|
7
6
|
|
|
8
7
|
describe('ToolbarContainer.vue', () => {
|
|
9
8
|
it('renders default slot content', () => {
|
|
10
9
|
const wrapper = mount(Toolbar, {
|
|
11
|
-
global: {
|
|
12
|
-
plugins: [vuetify],
|
|
13
|
-
},
|
|
14
10
|
slots: {
|
|
15
11
|
default: '<div class="toolbar-content">Toolbar Content</div>',
|
|
16
12
|
},
|
|
@@ -21,9 +17,6 @@ describe('ToolbarContainer.vue', () => {
|
|
|
21
17
|
|
|
22
18
|
it('applies custom classes', () => {
|
|
23
19
|
const wrapper = mount(Toolbar, {
|
|
24
|
-
global: {
|
|
25
|
-
plugins: [vuetify],
|
|
26
|
-
},
|
|
27
20
|
props: {
|
|
28
21
|
class: 'custom-toolbar',
|
|
29
22
|
},
|
|
@@ -35,9 +28,6 @@ describe('ToolbarContainer.vue', () => {
|
|
|
35
28
|
it('set the focus to the first button', async () => {
|
|
36
29
|
const wrapper = mount(Toolbar, {
|
|
37
30
|
attachTo: document.body,
|
|
38
|
-
global: {
|
|
39
|
-
plugins: [vuetify],
|
|
40
|
-
},
|
|
41
31
|
slots: {
|
|
42
32
|
default: `
|
|
43
33
|
<div>
|
|
@@ -58,9 +48,6 @@ describe('ToolbarContainer.vue', () => {
|
|
|
58
48
|
it('focuses the button when the navigation key are pressed', async () => {
|
|
59
49
|
const wrapper = mount(Toolbar, {
|
|
60
50
|
attachTo: document.body,
|
|
61
|
-
global: {
|
|
62
|
-
plugins: [vuetify],
|
|
63
|
-
},
|
|
64
51
|
slots: {
|
|
65
52
|
default: `
|
|
66
53
|
<div>
|
|
@@ -89,9 +76,6 @@ describe('ToolbarContainer.vue', () => {
|
|
|
89
76
|
it('focuses the first and last buttons when Home and End keys are pressed', async () => {
|
|
90
77
|
const wrapper = mount(Toolbar, {
|
|
91
78
|
attachTo: document.body,
|
|
92
|
-
global: {
|
|
93
|
-
plugins: [vuetify],
|
|
94
|
-
},
|
|
95
79
|
slots: {
|
|
96
80
|
default: `
|
|
97
81
|
<div>
|
|
@@ -134,9 +118,6 @@ describe('ToolbarContainer.vue', () => {
|
|
|
134
118
|
})
|
|
135
119
|
const wrapper = mount(TestComponent, {
|
|
136
120
|
attachTo: document.body,
|
|
137
|
-
global: {
|
|
138
|
-
plugins: [vuetify],
|
|
139
|
-
},
|
|
140
121
|
})
|
|
141
122
|
|
|
142
123
|
const toolbar = wrapper.find('.sy-toolbar')
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, vi } from 'vitest'
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
|
-
import { vuetify } from '@tests/unit/setup'
|
|
4
3
|
|
|
5
4
|
import UploadWorkflow from '../UploadWorkflow.vue'
|
|
6
5
|
import { locales as fileListLocales } from '@/components/FileList/UploadItem/locales'
|
|
@@ -28,9 +27,6 @@ describe('UploadWorkflow', () => {
|
|
|
28
27
|
},
|
|
29
28
|
],
|
|
30
29
|
},
|
|
31
|
-
global: {
|
|
32
|
-
plugins: [vuetify],
|
|
33
|
-
},
|
|
34
30
|
})
|
|
35
31
|
|
|
36
32
|
expect(wrapper.html()).toMatchSnapshot()
|
|
@@ -52,9 +48,6 @@ describe('UploadWorkflow', () => {
|
|
|
52
48
|
},
|
|
53
49
|
],
|
|
54
50
|
},
|
|
55
|
-
global: {
|
|
56
|
-
plugins: [vuetify],
|
|
57
|
-
},
|
|
58
51
|
})
|
|
59
52
|
|
|
60
53
|
await wrapper.find('.file-item button').trigger('click')
|
|
@@ -87,9 +80,6 @@ describe('UploadWorkflow', () => {
|
|
|
87
80
|
},
|
|
88
81
|
],
|
|
89
82
|
},
|
|
90
|
-
global: {
|
|
91
|
-
plugins: [vuetify],
|
|
92
|
-
},
|
|
93
83
|
})
|
|
94
84
|
|
|
95
85
|
await wrapper.findAll('.file-item button')[1].trigger('click')
|
|
@@ -134,7 +124,6 @@ describe('UploadWorkflow', () => {
|
|
|
134
124
|
],
|
|
135
125
|
},
|
|
136
126
|
global: {
|
|
137
|
-
plugins: [vuetify],
|
|
138
127
|
stubs: {
|
|
139
128
|
VDialog: {
|
|
140
129
|
template: '<div><slot /></div>',
|
|
@@ -188,9 +177,6 @@ describe('UploadWorkflow', () => {
|
|
|
188
177
|
},
|
|
189
178
|
],
|
|
190
179
|
},
|
|
191
|
-
global: {
|
|
192
|
-
plugins: [vuetify],
|
|
193
|
-
},
|
|
194
180
|
})
|
|
195
181
|
|
|
196
182
|
await wrapper.find('.file-item button').trigger('click')
|
|
@@ -227,7 +213,6 @@ describe('UploadWorkflow', () => {
|
|
|
227
213
|
showFilePreview: false,
|
|
228
214
|
},
|
|
229
215
|
global: {
|
|
230
|
-
plugins: [vuetify],
|
|
231
216
|
stubs: {
|
|
232
217
|
VDialog: {
|
|
233
218
|
template: '<div><slot /></div>',
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { mount } from '@vue/test-utils'
|
|
2
2
|
import { describe, it, expect } from 'vitest'
|
|
3
|
-
import { vuetify } from '@tests/unit/setup'
|
|
4
3
|
import Usages from '../Usages.vue'
|
|
5
4
|
|
|
6
5
|
describe('Usages.vue', () => {
|
|
7
6
|
it('renders the component with default props', () => {
|
|
8
|
-
const wrapper = mount(Usages
|
|
9
|
-
global: {
|
|
10
|
-
plugins: [vuetify],
|
|
11
|
-
},
|
|
12
|
-
})
|
|
7
|
+
const wrapper = mount(Usages)
|
|
13
8
|
|
|
14
9
|
// Vérifier que le composant est rendu
|
|
15
10
|
expect(wrapper.exists()).toBe(true)
|
|
@@ -33,9 +28,6 @@ describe('Usages.vue', () => {
|
|
|
33
28
|
const items2 = ['Item A', 'Item B']
|
|
34
29
|
|
|
35
30
|
const wrapper = mount(Usages, {
|
|
36
|
-
global: {
|
|
37
|
-
plugins: [vuetify],
|
|
38
|
-
},
|
|
39
31
|
props: {
|
|
40
32
|
items1,
|
|
41
33
|
items2,
|
|
@@ -61,9 +53,6 @@ describe('Usages.vue', () => {
|
|
|
61
53
|
const items1 = ['Item 1', 'Item 2']
|
|
62
54
|
|
|
63
55
|
const wrapper = mount(Usages, {
|
|
64
|
-
global: {
|
|
65
|
-
plugins: [vuetify],
|
|
66
|
-
},
|
|
67
56
|
props: {
|
|
68
57
|
items1,
|
|
69
58
|
},
|
|
@@ -82,9 +71,6 @@ describe('Usages.vue', () => {
|
|
|
82
71
|
const items2 = ['Item A', 'Item B', 'Item C']
|
|
83
72
|
|
|
84
73
|
const wrapper = mount(Usages, {
|
|
85
|
-
global: {
|
|
86
|
-
plugins: [vuetify],
|
|
87
|
-
},
|
|
88
74
|
props: {
|
|
89
75
|
items2,
|
|
90
76
|
},
|
|
@@ -100,11 +86,7 @@ describe('Usages.vue', () => {
|
|
|
100
86
|
})
|
|
101
87
|
|
|
102
88
|
it('uses the correct icons', () => {
|
|
103
|
-
const wrapper = mount(Usages
|
|
104
|
-
global: {
|
|
105
|
-
plugins: [vuetify],
|
|
106
|
-
},
|
|
107
|
-
})
|
|
89
|
+
const wrapper = mount(Usages)
|
|
108
90
|
|
|
109
91
|
const icons = wrapper.findAll('.v-icon')
|
|
110
92
|
|
|
@@ -119,11 +101,7 @@ describe('Usages.vue', () => {
|
|
|
119
101
|
})
|
|
120
102
|
|
|
121
103
|
it('applies the correct styling to columns', () => {
|
|
122
|
-
const wrapper = mount(Usages
|
|
123
|
-
global: {
|
|
124
|
-
plugins: [vuetify],
|
|
125
|
-
},
|
|
126
|
-
})
|
|
104
|
+
const wrapper = mount(Usages)
|
|
127
105
|
|
|
128
106
|
// Vérifier les classes CSS pour la première colonne
|
|
129
107
|
const checkColumn = wrapper.find('.check')
|
|
@@ -140,9 +118,6 @@ describe('Usages.vue', () => {
|
|
|
140
118
|
|
|
141
119
|
it('handles empty arrays for both item lists', () => {
|
|
142
120
|
const wrapper = mount(Usages, {
|
|
143
|
-
global: {
|
|
144
|
-
plugins: [vuetify],
|
|
145
|
-
},
|
|
146
121
|
props: {
|
|
147
122
|
items1: [],
|
|
148
123
|
items2: [],
|
|
@@ -160,9 +135,6 @@ describe('Usages.vue', () => {
|
|
|
160
135
|
|
|
161
136
|
it('renders with custom props from CustomizableOptions', () => {
|
|
162
137
|
const wrapper = mount(Usages, {
|
|
163
|
-
global: {
|
|
164
|
-
plugins: [vuetify],
|
|
165
|
-
},
|
|
166
138
|
props: {
|
|
167
139
|
color: 'primary',
|
|
168
140
|
disabled: true,
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest'
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
3
|
import UserMenuBtn from '../UserMenuBtn.vue'
|
|
4
|
-
import { vuetify } from '@tests/unit/setup'
|
|
5
4
|
import { nextTick } from 'vue'
|
|
6
5
|
|
|
7
6
|
describe('UserMenuBtn', () => {
|
|
8
7
|
it('renders the component', () => {
|
|
9
8
|
const wrapper = mount(UserMenuBtn, {
|
|
10
|
-
global: {
|
|
11
|
-
plugins: [vuetify],
|
|
12
|
-
},
|
|
13
9
|
props: {
|
|
14
10
|
modelValue: null,
|
|
15
11
|
menuItems: [{ text: 'Item 1', value: 'item1' }],
|
|
@@ -25,9 +21,6 @@ describe('UserMenuBtn', () => {
|
|
|
25
21
|
|
|
26
22
|
it('displays the full name', () => {
|
|
27
23
|
const wrapper = mount(UserMenuBtn, {
|
|
28
|
-
global: {
|
|
29
|
-
plugins: [vuetify],
|
|
30
|
-
},
|
|
31
24
|
props: {
|
|
32
25
|
modelValue: null,
|
|
33
26
|
fullName: 'John Doe',
|
|
@@ -38,9 +31,6 @@ describe('UserMenuBtn', () => {
|
|
|
38
31
|
|
|
39
32
|
it('does not render logout button when hidden', () => {
|
|
40
33
|
const wrapper = mount(UserMenuBtn, {
|
|
41
|
-
global: {
|
|
42
|
-
plugins: [vuetify],
|
|
43
|
-
},
|
|
44
34
|
props: {
|
|
45
35
|
modelValue: null,
|
|
46
36
|
hideLogoutBtn: true,
|
|
@@ -51,9 +41,6 @@ describe('UserMenuBtn', () => {
|
|
|
51
41
|
|
|
52
42
|
it('renders user icon when not hidden', () => {
|
|
53
43
|
const wrapper = mount(UserMenuBtn, {
|
|
54
|
-
global: {
|
|
55
|
-
plugins: [vuetify],
|
|
56
|
-
},
|
|
57
44
|
props: {
|
|
58
45
|
modelValue: null,
|
|
59
46
|
hideUserIcon: false,
|
|
@@ -64,9 +51,6 @@ describe('UserMenuBtn', () => {
|
|
|
64
51
|
|
|
65
52
|
it('does not render user icon when hidden', () => {
|
|
66
53
|
const wrapper = mount(UserMenuBtn, {
|
|
67
|
-
global: {
|
|
68
|
-
plugins: [vuetify],
|
|
69
|
-
},
|
|
70
54
|
props: {
|
|
71
55
|
modelValue: null,
|
|
72
56
|
hideUserIcon: true,
|
|
@@ -77,9 +61,6 @@ describe('UserMenuBtn', () => {
|
|
|
77
61
|
|
|
78
62
|
it('emits "update:modelValue" when selected changes', async () => {
|
|
79
63
|
const wrapper = mount(UserMenuBtn, {
|
|
80
|
-
global: {
|
|
81
|
-
plugins: [vuetify],
|
|
82
|
-
},
|
|
83
64
|
props: {
|
|
84
65
|
modelValue: null,
|
|
85
66
|
},
|
|
@@ -95,9 +76,6 @@ describe('UserMenuBtn', () => {
|
|
|
95
76
|
|
|
96
77
|
it('computes mobile view correctly based on props and display', () => {
|
|
97
78
|
const wrapper = mount(UserMenuBtn, {
|
|
98
|
-
global: {
|
|
99
|
-
plugins: [vuetify],
|
|
100
|
-
},
|
|
101
79
|
props: {
|
|
102
80
|
modelValue: null,
|
|
103
81
|
isMobileView: true,
|
|
@@ -107,9 +85,6 @@ describe('UserMenuBtn', () => {
|
|
|
107
85
|
})
|
|
108
86
|
it('emits "update:modelValue" when updateModelValue is called via event', async () => {
|
|
109
87
|
const wrapper = mount(UserMenuBtn, {
|
|
110
|
-
global: {
|
|
111
|
-
plugins: [vuetify],
|
|
112
|
-
},
|
|
113
88
|
props: {
|
|
114
89
|
modelValue: null,
|
|
115
90
|
menuItems: [{ text: 'Item 1', value: 'item1' }],
|
|
@@ -127,9 +102,6 @@ describe('UserMenuBtn', () => {
|
|
|
127
102
|
it('possède la prop logoutText custom', async () => {
|
|
128
103
|
const customLogoutText = 'Déconnexion'
|
|
129
104
|
const wrapper = mount(UserMenuBtn, {
|
|
130
|
-
global: {
|
|
131
|
-
plugins: [vuetify],
|
|
132
|
-
},
|
|
133
105
|
props: {
|
|
134
106
|
modelValue: null,
|
|
135
107
|
logoutText: customLogoutText,
|
|
@@ -148,9 +120,6 @@ describe('UserMenuBtn', () => {
|
|
|
148
120
|
it('possède la prop logoutText par défaut', async () => {
|
|
149
121
|
const defaultLogoutText = 'Logout'
|
|
150
122
|
const wrapper = mount(UserMenuBtn, {
|
|
151
|
-
global: {
|
|
152
|
-
plugins: [vuetify],
|
|
153
|
-
},
|
|
154
123
|
props: {
|
|
155
124
|
modelValue: null,
|
|
156
125
|
hideLogoutBtn: false,
|
|
@@ -28,6 +28,31 @@ export default function useFilterable(model: Ref<FilterProp>, emits) {
|
|
|
28
28
|
return slugify(name, { lower: true })
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Handle various types of items to extract a displayable text
|
|
33
|
+
*/
|
|
34
|
+
function getDisplayText(item: unknown): string {
|
|
35
|
+
if (item === null || item === undefined) {
|
|
36
|
+
return ''
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (typeof item !== 'object') {
|
|
40
|
+
return item.toString()
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const obj = item as Record<string, unknown>
|
|
44
|
+
|
|
45
|
+
const possibleKeys = ['title', 'text', 'label', 'name', 'value']
|
|
46
|
+
for (const key of possibleKeys) {
|
|
47
|
+
if (typeof obj[key] === 'string' || typeof obj[key] === 'number') {
|
|
48
|
+
const existingDisplayableValue = obj[key] as string | number
|
|
49
|
+
return existingDisplayableValue.toString()
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return JSON.stringify(item)
|
|
54
|
+
}
|
|
55
|
+
|
|
31
56
|
function getChips(filter: FilterItem): ChipItem[] {
|
|
32
57
|
const { value, formatChip } = filter
|
|
33
58
|
|
|
@@ -54,19 +79,10 @@ export default function useFilterable(model: Ref<FilterProp>, emits) {
|
|
|
54
79
|
}
|
|
55
80
|
|
|
56
81
|
if (isArray) {
|
|
57
|
-
return value.map(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
value: item,
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
text: item.title || item.text || item.value.toString(),
|
|
67
|
-
value: item,
|
|
68
|
-
}
|
|
69
|
-
})
|
|
82
|
+
return value.map(item => ({
|
|
83
|
+
text: getDisplayText(item),
|
|
84
|
+
value: item,
|
|
85
|
+
}))
|
|
70
86
|
}
|
|
71
87
|
|
|
72
88
|
if (isObject) {
|
|
@@ -90,11 +106,11 @@ export default function useFilterable(model: Ref<FilterProp>, emits) {
|
|
|
90
106
|
|
|
91
107
|
// Handle single select objects (VSelect with return-object but without multiple)
|
|
92
108
|
// Check if this looks like a select option object with title/text and value properties
|
|
93
|
-
const hasSelectStructure = (typedValue.title !== undefined || typedValue.text !== undefined) && typedValue.value !== undefined
|
|
109
|
+
const hasSelectStructure = (typedValue.title !== undefined || typedValue.text !== undefined || typedValue.label !== undefined) && typedValue.value !== undefined
|
|
94
110
|
if (hasSelectStructure) {
|
|
95
111
|
return [
|
|
96
112
|
{
|
|
97
|
-
text: typedValue
|
|
113
|
+
text: getDisplayText(typedValue),
|
|
98
114
|
value: typedValue,
|
|
99
115
|
},
|
|
100
116
|
]
|
|
@@ -102,15 +118,8 @@ export default function useFilterable(model: Ref<FilterProp>, emits) {
|
|
|
102
118
|
|
|
103
119
|
// Any other object - iterate over keys
|
|
104
120
|
return Object.keys(typedValue).map((key) => {
|
|
105
|
-
// Use text property if it exists, else use value property or default to key value
|
|
106
|
-
const text
|
|
107
|
-
= typedValue[key].title
|
|
108
|
-
|| typedValue[key].text
|
|
109
|
-
|| typedValue[key].value?.toString()
|
|
110
|
-
|| typedValue[key].toString()
|
|
111
|
-
|
|
112
121
|
return {
|
|
113
|
-
text,
|
|
122
|
+
text: getDisplayText(typedValue[key]),
|
|
114
123
|
value: typedValue[key],
|
|
115
124
|
}
|
|
116
125
|
})
|
|
@@ -174,7 +183,7 @@ export default function useFilterable(model: Ref<FilterProp>, emits) {
|
|
|
174
183
|
}
|
|
175
184
|
|
|
176
185
|
// Handle single select objects (VSelect with return-object but without multiple)
|
|
177
|
-
const hasSelectStructure = (typedValue.title !== undefined || typedValue.text !== undefined) && typedValue.value !== undefined
|
|
186
|
+
const hasSelectStructure = (typedValue.title !== undefined || typedValue.text !== undefined || typedValue.label !== undefined) && typedValue.value !== undefined
|
|
178
187
|
if (hasSelectStructure) {
|
|
179
188
|
// For single select objects, clear the entire value
|
|
180
189
|
filter.value = undefined
|
package/src/composables/validation/{FormValidation.stories.ts → FormValidation.stories.ts.old}
RENAMED
|
@@ -11,7 +11,7 @@ import { VBtn, VTextField } from 'vuetify/components'
|
|
|
11
11
|
* La documentation sur le système de validation en cascade de Synapse Design System.
|
|
12
12
|
*/
|
|
13
13
|
export default {
|
|
14
|
-
title: '
|
|
14
|
+
title: 'Guide Du Dev/SyForm',
|
|
15
15
|
component: SyForm,
|
|
16
16
|
argTypes: {
|
|
17
17
|
validateOnSubmit: {
|
|
@@ -32,7 +32,7 @@ export default {
|
|
|
32
32
|
type Story = StoryObj<typeof SyForm>
|
|
33
33
|
|
|
34
34
|
// Exemple de base
|
|
35
|
-
export const
|
|
35
|
+
export const FormulaireSimple: Story = {
|
|
36
36
|
render: args => ({
|
|
37
37
|
components: { SyForm, SyTextField, VBtn },
|
|
38
38
|
setup() {
|
|
@@ -100,7 +100,7 @@ const onSubmit = (event: { isValid: boolean }) => {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
// Exemple de formulaire avec composants mixtes
|
|
103
|
-
export const
|
|
103
|
+
export const FormulaireMixte: Story = {
|
|
104
104
|
render: args => ({
|
|
105
105
|
components: { SyForm, SyTextField, SySelect, SyCheckbox, DatePicker, VBtn, VTextField },
|
|
106
106
|
setup() {
|
|
@@ -216,7 +216,7 @@ const onSubmit = (event: { isValid: boolean }) => {
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
// Exemple de formulaire imbriqué
|
|
219
|
-
export const
|
|
219
|
+
export const FormulaireImbrique: Story = {
|
|
220
220
|
render: args => ({
|
|
221
221
|
components: { SyForm, SyTextField, VBtn },
|
|
222
222
|
setup() {
|
|
@@ -313,7 +313,7 @@ const onSubmit = (event: { isValid: boolean }) => {
|
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
// Exemple d'implémentation personnalisée
|
|
316
|
-
export const
|
|
316
|
+
export const ImplementationPersonnalisee: Story = {
|
|
317
317
|
render: args => ({
|
|
318
318
|
components: { SyForm, SyTextField, VBtn },
|
|
319
319
|
setup() {
|
|
@@ -220,7 +220,7 @@ Pour répondre aux objectifs de mise en conformité des interfaces utilisateurs
|
|
|
220
220
|
<div>
|
|
221
221
|
<h3>Besoin d'accompagnement ?</h3>
|
|
222
222
|
<p>Si vous avez besoin d'un accompagnement sur le sujet, merci de prendre contact avec <a href="mailto:valentin.becquet@assurance-maladie.fr">valentin.becquet@assurance-maladie.fr</a>.</p>
|
|
223
|
-
<p>Pour toute remontée de problème liée à l'accessibilité, veuillez <a href="
|
|
223
|
+
<p>Pour toute remontée de problème liée à l'accessibilité, veuillez <a href="/?path=/docs/démarrer-signaler-une-anomalie--docs">signaler un problème d'accessibilité</a>.</p>
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {Meta, Story} from '@storybook/addon-docs/blocks';
|
|
2
|
+
import * as ComponentStories from './EnrichirLeDesignSystem.stories.ts';
|
|
3
|
+
import '../styles/shared.css';
|
|
4
|
+
|
|
5
|
+
<Meta title="Démarrer/Enrichir le Design System"/>
|
|
6
|
+
|
|
7
|
+
<div className="header">
|
|
8
|
+
<h1>Enrichir le Design System</h1>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
## Introduction
|
|
12
|
+
|
|
13
|
+
Le Design System de l'Assurance Maladie est un projet vivant qui évolue constamment pour répondre aux besoins des utilisateurs et aux avancées technologiques.<br/>
|
|
14
|
+
Votre contribution est essentielle pour garantir que le Design System reste pertinent, accessible et efficace.<br/>
|
|
15
|
+
Toute demande ne sera pas nécessairement intégrée, mais chaque suggestion est examinée avec attention par l'équipe du Studio Design.
|
|
16
|
+
|
|
17
|
+
<Story of={ComponentStories.InfoIntro}/>
|
|
18
|
+
|
|
19
|
+
<a id="exigences" />
|
|
20
|
+
## Exigences requises pour acceptation d'un nouveau composant ou d'une nouvelle fonctionnalité
|
|
21
|
+
|
|
22
|
+
1. Être **conforme aux exigences de la charte graphique** de la CNAM (tokens associés).
|
|
23
|
+
2. Avoir un **intérêt d'usage pour plusieurs produits** de l'Assurance Maladie (une justification métier peut être demandée).
|
|
24
|
+
3. Avoir un **intérêt d'usage ou de pertinence** par rapport aux **composants de la bibliothèque Vuetify**.
|
|
25
|
+
4. Avoir un **intérêt d'usage ou de pertinence** par rapport aux **composants existant du Design System**.
|
|
26
|
+
5. Doit permettre la **responsivité**.
|
|
27
|
+
6. Doit permettre le **respect du Référentiel général d'amélioration de l'accessibilité** (RGAA).
|
|
28
|
+
7. Doit permettre aux produits utilisateurs du composant de respecter des **bonnes pratiques d’éco-conception**.
|
|
29
|
+
8. Doit permettre la **maintenabilité du composant**.
|
|
30
|
+
9. Ne doit pas engendrer de **conflit** ou **régression** avec l'existant.
|
|
31
|
+
10. Doit se conformer aux **exigences techniques** du Design System et à son bon fonctionnement sur le Starter Kit (VueJS 3, version des plugins...).
|
|
32
|
+
|
|
33
|
+
## Créer une nouvelle demande
|
|
34
|
+
|
|
35
|
+
<Story of={ComponentStories.Optimisation}/>
|
|
36
|
+
|
|
37
|
+
<Story of={ComponentStories.AjoutFonctionnalite}/>
|
|
38
|
+
|
|
39
|
+
<Story of={ComponentStories.DeclinaisonFonctionnalite}/>
|
|
40
|
+
|
|
41
|
+
<Story of={ComponentStories.CreationComposant}/>
|
|
42
|
+
|
|
43
|
+
<Story of={ComponentStories.IntegrationComposant}/>
|