@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
|
-
import { ref } from 'vue'
|
|
2
|
+
import { ref, computed } from 'vue'
|
|
3
3
|
import SyForm from './SyForm.vue'
|
|
4
4
|
import SyTextField from '@/components/Customs/SyTextField/SyTextField.vue'
|
|
5
5
|
import SyCheckbox from '@/components/Customs/SyCheckbox/SyCheckbox.vue'
|
|
@@ -33,9 +33,17 @@ export const Basic: Story = {
|
|
|
33
33
|
setup() {
|
|
34
34
|
const name = ref('')
|
|
35
35
|
const email = ref('')
|
|
36
|
+
const form = ref<{ validate: () => Promise<boolean> } | null>(null)
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
// Règles de validation selon le design system
|
|
39
|
+
const emailRules = [
|
|
40
|
+
{ type: 'email', options: { message: 'Format d\'email invalide' } },
|
|
41
|
+
{ type: 'required', options: { message: 'L\'email est obligatoire' } },
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
const submitForm = async () => {
|
|
45
|
+
const isValid = await form.value?.validate()
|
|
46
|
+
if (isValid) {
|
|
39
47
|
alert('Formulaire valide !')
|
|
40
48
|
}
|
|
41
49
|
else {
|
|
@@ -43,13 +51,13 @@ export const Basic: Story = {
|
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
53
|
|
|
46
|
-
return { name, email,
|
|
54
|
+
return { name, email, emailRules, form, submitForm, args }
|
|
47
55
|
},
|
|
48
56
|
template: `
|
|
49
|
-
<SyForm v-bind="args" @submit="
|
|
57
|
+
<SyForm ref="form" v-bind="args" @submit="submitForm">
|
|
50
58
|
<div class="d-flex flex-column gap-4">
|
|
51
59
|
<SyTextField v-model="name" label="Nom" required />
|
|
52
|
-
<SyTextField v-model="email" label="Email"
|
|
60
|
+
<SyTextField v-model="email" label="Email" :custom-rules="emailRules" />
|
|
53
61
|
<v-btn type="submit" color="primary">Soumettre</v-btn>
|
|
54
62
|
</div>
|
|
55
63
|
</SyForm>
|
|
@@ -64,13 +72,13 @@ export const Basic: Story = {
|
|
|
64
72
|
name: 'Template',
|
|
65
73
|
code: `
|
|
66
74
|
<template>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
75
|
+
<SyForm ref="form" v-bind="args" @submit="submitForm">
|
|
76
|
+
<div class="d-flex flex-column gap-4">
|
|
77
|
+
<SyTextField v-model="name" label="Nom" required />
|
|
78
|
+
<SyTextField v-model="email" label="Email" :custom-rules="emailRules" />
|
|
79
|
+
<v-btn type="submit" color="primary">Soumettre</v-btn>
|
|
80
|
+
</div>
|
|
81
|
+
</SyForm>
|
|
74
82
|
</template>
|
|
75
83
|
`,
|
|
76
84
|
},
|
|
@@ -78,13 +86,16 @@ export const Basic: Story = {
|
|
|
78
86
|
name: 'Script',
|
|
79
87
|
code: `
|
|
80
88
|
<script setup lang="ts">
|
|
81
|
-
import { ref } from 'vue'
|
|
82
|
-
import SyForm from '@cnamts/synapse'
|
|
83
|
-
import SyTextField from '@cnamts/synapse'
|
|
84
89
|
|
|
85
90
|
const name = ref('')
|
|
86
91
|
const email = ref('')
|
|
87
92
|
|
|
93
|
+
// Règles de validation selon le design system
|
|
94
|
+
const emailRules = [
|
|
95
|
+
{ type: 'email', options: { message: "Format d'email invalide" } },
|
|
96
|
+
{ type: 'required', options: { message: "L'email est obligatoire" } },
|
|
97
|
+
]
|
|
98
|
+
|
|
88
99
|
const onSubmit = (event: { isValid: boolean }) => {
|
|
89
100
|
if (event.isValid) {
|
|
90
101
|
alert('Formulaire valide !')
|
|
@@ -107,45 +118,56 @@ export const CustomValidation: Story = {
|
|
|
107
118
|
const username = ref('')
|
|
108
119
|
const password = ref('')
|
|
109
120
|
const confirmPassword = ref('')
|
|
121
|
+
const form = ref<{ validate: () => Promise<boolean> } | null>(null)
|
|
110
122
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
123
|
+
// Règles de validation
|
|
124
|
+
const passwordRules = computed(() => [
|
|
125
|
+
{ type: 'minLength', options: { length: 8, message: 'Minimum 8 caractères' } },
|
|
126
|
+
{ type: 'required', options: { message: 'Le mot de passe est obligatoire' } },
|
|
127
|
+
])
|
|
114
128
|
|
|
115
|
-
const
|
|
116
|
-
|
|
129
|
+
const confirmPasswordRules = computed(() => [
|
|
130
|
+
{ type: 'custom', options: {
|
|
131
|
+
validate: value => value === password.value || 'Les mots de passe ne correspondent pas',
|
|
132
|
+
message: 'Les mots de passe ne correspondent pas',
|
|
133
|
+
} },
|
|
134
|
+
{ type: 'required', options: { message: 'Veuillez confirmer le mot de passe' } },
|
|
135
|
+
])
|
|
136
|
+
|
|
137
|
+
const submitForm = async () => {
|
|
138
|
+
const isValid = await form.value?.validate()
|
|
139
|
+
if (isValid) {
|
|
117
140
|
alert('Inscription réussie !')
|
|
118
141
|
}
|
|
142
|
+
else {
|
|
143
|
+
alert('Formulaire invalide, veuillez corriger les erreurs.')
|
|
144
|
+
}
|
|
119
145
|
}
|
|
120
146
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (form.value && form.value.validate) {
|
|
129
|
-
form.value.validate().then((isValid: boolean) => {
|
|
130
|
-
alert(isValid ? 'Formulaire valide !' : 'Formulaire invalide !')
|
|
131
|
-
})
|
|
147
|
+
const validateManually = async () => {
|
|
148
|
+
const isValid = await form.value?.validate()
|
|
149
|
+
if (isValid) {
|
|
150
|
+
alert('Formulaire valide !')
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
alert('Formulaire invalide !')
|
|
132
154
|
}
|
|
133
155
|
}
|
|
134
156
|
|
|
135
|
-
return { username, password, confirmPassword,
|
|
157
|
+
return { username, password, confirmPassword, passwordRules, confirmPasswordRules, form, submitForm, validateManually, args }
|
|
136
158
|
},
|
|
137
159
|
template: `
|
|
138
160
|
<div>
|
|
139
|
-
<SyForm ref="form" v-bind="args" @submit="
|
|
161
|
+
<SyForm ref="form" v-bind="args" @submit="submitForm">
|
|
140
162
|
<div class="d-flex flex-column gap-4">
|
|
141
163
|
<SyTextField v-model="username" label="Nom d'utilisateur" required />
|
|
142
|
-
<SyTextField v-model="password" label="Mot de passe" type="password"
|
|
164
|
+
<SyTextField v-model="password" label="Mot de passe" type="password" :custom-rules="passwordRules" />
|
|
143
165
|
<SyTextField
|
|
144
166
|
v-model="confirmPassword"
|
|
145
167
|
label="Confirmer le mot de passe"
|
|
146
168
|
type="password"
|
|
147
169
|
required
|
|
148
|
-
:rules="
|
|
170
|
+
:custom-rules="confirmPasswordRules"
|
|
149
171
|
/>
|
|
150
172
|
<div class="d-flex gap-3">
|
|
151
173
|
<v-btn type="submit" color="primary">S'inscrire</v-btn>
|
|
@@ -166,13 +188,12 @@ export const CustomValidation: Story = {
|
|
|
166
188
|
<SyForm ref="form" @submit="onSubmit">
|
|
167
189
|
<div class="d-flex flex-column gap-4">
|
|
168
190
|
<SyTextField v-model="username" label="Nom d'utilisateur" required />
|
|
169
|
-
<SyTextField v-model="password" label="Mot de passe" type="password"
|
|
191
|
+
<SyTextField v-model="password" label="Mot de passe" type="password" :custom-rules="passwordRules" />
|
|
170
192
|
<SyTextField
|
|
171
193
|
v-model="confirmPassword"
|
|
172
194
|
label="Confirmer le mot de passe"
|
|
173
195
|
type="password"
|
|
174
|
-
|
|
175
|
-
:rules="[validatePasswordMatch]"
|
|
196
|
+
:custom-rules="confirmPasswordRules"
|
|
176
197
|
/>
|
|
177
198
|
<div class="d-flex gap-3">
|
|
178
199
|
<v-btn type="submit" color="primary">S'inscrire</v-btn>
|
|
@@ -188,15 +209,26 @@ export const CustomValidation: Story = {
|
|
|
188
209
|
name: 'Script',
|
|
189
210
|
code: `
|
|
190
211
|
<script setup lang="ts">
|
|
191
|
-
import { ref } from 'vue'
|
|
192
|
-
import SyForm from '@cnamts/synapse'
|
|
193
|
-
import SyTextField from '@cnamts/synapse'
|
|
212
|
+
import { ref, computed } from 'vue'
|
|
194
213
|
|
|
195
214
|
const username = ref('')
|
|
196
215
|
const password = ref('')
|
|
197
216
|
const confirmPassword = ref('')
|
|
198
217
|
const form = ref(null)
|
|
199
218
|
|
|
219
|
+
const passwordRules = computed(() => [
|
|
220
|
+
{ type: 'minLength', options: { length: 8, message: 'Minimum 8 caractères' } },
|
|
221
|
+
{ type: 'required', options: { message: 'Le mot de passe est obligatoire' } },
|
|
222
|
+
])
|
|
223
|
+
|
|
224
|
+
const confirmPasswordRules = computed(() => [
|
|
225
|
+
{ type: 'custom', options: {
|
|
226
|
+
validate: value => value === password.value || 'Les mots de passe ne correspondent pas',
|
|
227
|
+
message: 'Les mots de passe ne correspondent pas',
|
|
228
|
+
} },
|
|
229
|
+
{ type: 'required', options: { message: 'Veuillez confirmer le mot de passe' } },
|
|
230
|
+
])
|
|
231
|
+
|
|
200
232
|
const validatePasswordMatch = () => {
|
|
201
233
|
return password.value === confirmPassword.value || 'Les mots de passe ne correspondent pas'
|
|
202
234
|
}
|
|
@@ -227,8 +259,20 @@ export const MixedFields: Story = {
|
|
|
227
259
|
name: '',
|
|
228
260
|
email: '',
|
|
229
261
|
country: '',
|
|
230
|
-
subscribe: false,
|
|
231
262
|
})
|
|
263
|
+
const form = ref<{ validate: () => Promise<boolean> } | null>(null)
|
|
264
|
+
|
|
265
|
+
// Règles de validation
|
|
266
|
+
const emailCustomRules = [
|
|
267
|
+
{
|
|
268
|
+
type: 'email',
|
|
269
|
+
options: {
|
|
270
|
+
message: 'L\'email n\'est pas valide',
|
|
271
|
+
successMessage: 'L\'email est valide',
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
{ type: 'required', options: { message: 'L\'email est obligatoire' } },
|
|
275
|
+
]
|
|
232
276
|
|
|
233
277
|
const countries = [
|
|
234
278
|
{ text: 'France', value: 'fr' },
|
|
@@ -237,21 +281,24 @@ export const MixedFields: Story = {
|
|
|
237
281
|
{ text: 'Italie', value: 'it' },
|
|
238
282
|
]
|
|
239
283
|
|
|
240
|
-
const
|
|
241
|
-
|
|
284
|
+
const submitForm = async () => {
|
|
285
|
+
const isValid = await form.value?.validate()
|
|
286
|
+
if (isValid) {
|
|
242
287
|
alert(`Formulaire valide ! Données: ${JSON.stringify(formData.value)}`)
|
|
243
288
|
}
|
|
289
|
+
else {
|
|
290
|
+
alert('Formulaire invalide, veuillez corriger les erreurs.')
|
|
291
|
+
}
|
|
244
292
|
}
|
|
245
293
|
|
|
246
|
-
return { formData, countries,
|
|
294
|
+
return { formData, countries, form, submitForm, emailCustomRules, args }
|
|
247
295
|
},
|
|
248
296
|
template: `
|
|
249
|
-
<SyForm v-bind="args" @submit="
|
|
297
|
+
<SyForm ref="form" v-bind="args" @submit="submitForm">
|
|
250
298
|
<div class="d-flex flex-column gap-4">
|
|
251
299
|
<SyTextField v-model="formData.name" label="Nom complet" required />
|
|
252
|
-
<SyTextField v-model="formData.email" label="Email"
|
|
300
|
+
<SyTextField v-model="formData.email" label="Email" :custom-rules="emailCustomRules" />
|
|
253
301
|
<SySelect v-model="formData.country" :items="countries" label="Pays" required />
|
|
254
|
-
<SyCheckbox v-model="formData.subscribe" label="S'abonner à la newsletter" />
|
|
255
302
|
<v-btn type="submit" color="primary">Enregistrer</v-btn>
|
|
256
303
|
</div>
|
|
257
304
|
</SyForm>
|
|
@@ -263,111 +310,52 @@ export const MixedFields: Story = {
|
|
|
263
310
|
name: 'Template',
|
|
264
311
|
code: `
|
|
265
312
|
<template>
|
|
266
|
-
|
|
267
|
-
<div class="d-flex flex-column gap-4">
|
|
268
|
-
<SyTextField v-model="formData.name" label="Nom complet" required />
|
|
269
|
-
<SyTextField v-model="formData.email" label="Email" required :rules="[v => /.+@.+/.test(v) || 'E-mail invalide']" />
|
|
270
|
-
<SySelect v-model="formData.country" :items="countries" label="Pays" required />
|
|
271
|
-
<SyCheckbox v-model="formData.subscribe" label="S'abonner à la newsletter" />
|
|
272
|
-
<v-btn type="submit" color="primary">Enregistrer</v-btn>
|
|
273
|
-
</div>
|
|
274
|
-
</SyForm>
|
|
275
|
-
</template>
|
|
276
|
-
`,
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
name: 'Script',
|
|
280
|
-
code: `
|
|
281
|
-
<script setup lang="ts">
|
|
282
|
-
import { ref } from 'vue'
|
|
283
|
-
import SyForm from '@cnamts/synapse'
|
|
284
|
-
import SyTextField from '@cnamts/synapse'
|
|
285
|
-
import SySelect from '@/components/Customs/Selects/SySelect/SySelect.vue'
|
|
286
|
-
import SyCheckbox from '@/components/Customs/SyCheckbox/SyCheckbox.vue'
|
|
287
|
-
|
|
288
|
-
const formData = ref({
|
|
289
|
-
name: '',
|
|
290
|
-
email: '',
|
|
291
|
-
country: '',
|
|
292
|
-
subscribe: false,
|
|
293
|
-
})
|
|
294
|
-
|
|
295
|
-
const countries = [
|
|
296
|
-
{ text: 'France', value: 'fr' },
|
|
297
|
-
{ text: 'Allemagne', value: 'de' },
|
|
298
|
-
{ text: 'Espagne', value: 'es' },
|
|
299
|
-
{ text: 'Italie', value: 'it' },
|
|
300
|
-
]
|
|
301
|
-
|
|
302
|
-
const onSubmit = (event: { isValid: boolean }) => {
|
|
303
|
-
if (event.isValid) {
|
|
304
|
-
alert('Formulaire valide ! Données: ' + JSON.stringify(formData.value))
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
</script>
|
|
308
|
-
`,
|
|
309
|
-
},
|
|
310
|
-
],
|
|
311
|
-
},
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
export const WithoutAutoValidation: Story = {
|
|
315
|
-
render: args => ({
|
|
316
|
-
components: { SyForm, SyTextField, VBtn },
|
|
317
|
-
setup() {
|
|
318
|
-
const name = ref('')
|
|
319
|
-
const email = ref('')
|
|
320
|
-
|
|
321
|
-
const onSubmit = () => {
|
|
322
|
-
alert(`Soumission du formulaire sans validation automatique. Vous devez gérer la validation manuellement.`)
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
return { name, email, onSubmit, args }
|
|
326
|
-
},
|
|
327
|
-
template: `
|
|
328
|
-
<SyForm v-bind="args" @submit="onSubmit">
|
|
313
|
+
<SyForm ref="form" v-bind="args" @submit="submitForm">
|
|
329
314
|
<div class="d-flex flex-column gap-4">
|
|
330
|
-
<SyTextField v-model="name" label="Nom" required />
|
|
331
|
-
<SyTextField v-model="email" label="Email"
|
|
332
|
-
<v-
|
|
315
|
+
<SyTextField v-model="formData.name" label="Nom complet" required />
|
|
316
|
+
<SyTextField v-model="formData.email" label="Email" :customRules="emailCustomRules" />
|
|
317
|
+
<SySelect v-model="formData.country" :items="countries" label="Pays" required />
|
|
318
|
+
<v-btn type="submit" color="primary">Enregistrer</v-btn>
|
|
333
319
|
</div>
|
|
334
320
|
</SyForm>
|
|
335
|
-
`,
|
|
336
|
-
}),
|
|
337
|
-
args: {
|
|
338
|
-
validateOnSubmit: false,
|
|
339
|
-
},
|
|
340
|
-
parameters: {
|
|
341
|
-
sourceCode: [
|
|
342
|
-
{
|
|
343
|
-
name: 'Template',
|
|
344
|
-
code: `
|
|
345
|
-
<template>
|
|
346
|
-
<SyForm :validate-on-submit="false" @submit="onSubmit">
|
|
347
|
-
<div class="d-flex flex-column gap-4">
|
|
348
|
-
<SyTextField v-model="name" label="Nom" required />
|
|
349
|
-
<SyTextField v-model="email" label="Email" required :rules="[v => /.+@.+/.test(v) || 'E-mail invalide']" />
|
|
350
|
-
<v-btn type="submit" color="primary">Soumettre</v-btn>
|
|
351
|
-
</div>
|
|
352
|
-
</SyForm>
|
|
353
321
|
</template>
|
|
354
322
|
`,
|
|
355
323
|
},
|
|
356
324
|
{
|
|
357
325
|
name: 'Script',
|
|
358
326
|
code: `
|
|
359
|
-
<script setup lang="ts">
|
|
360
|
-
import { ref } from 'vue'
|
|
361
|
-
import SyForm from '@cnamts/synapse'
|
|
362
|
-
import SyTextField from '@cnamts/synapse'
|
|
327
|
+
<script setup lang="ts">
|
|
363
328
|
|
|
364
|
-
const
|
|
365
|
-
|
|
329
|
+
const formData = ref({
|
|
330
|
+
name: '',
|
|
331
|
+
email: '',
|
|
332
|
+
country: '',
|
|
333
|
+
})
|
|
366
334
|
|
|
367
|
-
const
|
|
368
|
-
|
|
369
|
-
}
|
|
370
|
-
|
|
335
|
+
const countries = [
|
|
336
|
+
{ text: 'France', value: 'fr' },
|
|
337
|
+
{ text: 'Allemagne', value: 'de' },
|
|
338
|
+
{ text: 'Espagne', value: 'es' },
|
|
339
|
+
{ text: 'Italie', value: 'it' },
|
|
340
|
+
]
|
|
341
|
+
|
|
342
|
+
const emailCustomRules = [
|
|
343
|
+
{
|
|
344
|
+
type: 'email',
|
|
345
|
+
options: {
|
|
346
|
+
message: "L'email n'est pas valide:",
|
|
347
|
+
successMessage: "L'email est valide:",
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
{ type: 'required', options: { message: "L'email est obligatoire" } },
|
|
351
|
+
]
|
|
352
|
+
|
|
353
|
+
const onSubmit = (event: { isValid: boolean }) => {
|
|
354
|
+
if (event.isValid) {
|
|
355
|
+
alert('Formulaire valide ! Données: ' + JSON.stringify(formData.value))
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
</script>
|
|
371
359
|
`,
|
|
372
360
|
},
|
|
373
361
|
],
|
|
@@ -2,7 +2,6 @@ import { describe, it, expect, vi } from 'vitest'
|
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
3
|
import { nextTick } from 'vue'
|
|
4
4
|
import SyTabs from '@/components/Customs/SyTabs/SyTabs.vue'
|
|
5
|
-
import { vuetify } from '@tests/unit/setup'
|
|
6
5
|
|
|
7
6
|
// Mock RouterLink component
|
|
8
7
|
const RouterLink = {
|
|
@@ -25,7 +24,6 @@ describe('SyTabs', () => {
|
|
|
25
24
|
items: testItems,
|
|
26
25
|
},
|
|
27
26
|
global: {
|
|
28
|
-
plugins: [vuetify],
|
|
29
27
|
// Mock vue-router and provide RouterLink component
|
|
30
28
|
components: {
|
|
31
29
|
RouterLink,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
|
|
2
|
+
// Prevent display-asterisk from being passed to the DOM
|
|
3
3
|
defineOptions({
|
|
4
4
|
inheritAttrs: false,
|
|
5
5
|
})
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
mdiCheck,
|
|
9
9
|
mdiInformationOutline,
|
|
10
10
|
mdiClose,
|
|
11
|
-
|
|
11
|
+
mdiAlertCircle,
|
|
12
12
|
mdiCalendar,
|
|
13
13
|
} from '@mdi/js'
|
|
14
14
|
import { computed, onMounted, ref, watch, nextTick, type ComponentPublicInstance } from 'vue'
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
info: mdiInformationOutline,
|
|
167
167
|
success: mdiCheck,
|
|
168
168
|
warning: mdiAlertOutline,
|
|
169
|
-
error:
|
|
169
|
+
error: mdiAlertCircle,
|
|
170
170
|
close: mdiClose,
|
|
171
171
|
calendar: mdiCalendar,
|
|
172
172
|
}
|
|
@@ -189,6 +189,16 @@
|
|
|
189
189
|
|
|
190
190
|
const isBlurred = ref(false)
|
|
191
191
|
|
|
192
|
+
const showClear = computed(() => {
|
|
193
|
+
if (!props.isClearable) return false
|
|
194
|
+
if (props.readonly || props.disabled) return false
|
|
195
|
+
return model.value !== undefined && model.value !== null && String(model.value) !== '' && String(model.value) !== '__/__/____'
|
|
196
|
+
})
|
|
197
|
+
|
|
198
|
+
const clearField = () => {
|
|
199
|
+
model.value = ''
|
|
200
|
+
}
|
|
201
|
+
|
|
192
202
|
// Initialisation du composable de validation
|
|
193
203
|
const validation = useValidation({
|
|
194
204
|
customRules: props.customRules,
|
|
@@ -549,8 +559,6 @@
|
|
|
549
559
|
:base-color="props.baseColor"
|
|
550
560
|
:bg-color="props.bgColor"
|
|
551
561
|
:center-affix="props.centerAffix"
|
|
552
|
-
:clear-icon="ICONS.close"
|
|
553
|
-
:clearable="props.isClearable"
|
|
554
562
|
:color="props.color"
|
|
555
563
|
:counter-value="props.counterValue"
|
|
556
564
|
:density="props.density"
|
|
@@ -695,6 +703,16 @@
|
|
|
695
703
|
<!-- Append inner -->
|
|
696
704
|
<template #append-inner>
|
|
697
705
|
<slot name="append-inner">
|
|
706
|
+
<!-- Keyboard-focusable clear button -->
|
|
707
|
+
<VBtn
|
|
708
|
+
v-if="showClear"
|
|
709
|
+
class="v-btn v-btn--density-compact mr-1"
|
|
710
|
+
:aria-label="props.label ? `Vider ${props.label}` : 'Vider'"
|
|
711
|
+
:title="props.label ? `Vider ${props.label}` : 'Vider'"
|
|
712
|
+
:icon="mdiClose"
|
|
713
|
+
variant="text"
|
|
714
|
+
@click="clearField"
|
|
715
|
+
/>
|
|
698
716
|
<SyIcon
|
|
699
717
|
v-if="validationIcon && !props.appendInnerIcon"
|
|
700
718
|
:icon="validationIcon"
|
|
@@ -788,6 +806,10 @@
|
|
|
788
806
|
opacity: 1 !important;
|
|
789
807
|
}
|
|
790
808
|
|
|
809
|
+
:deep(.v-icon__svg) {
|
|
810
|
+
fill: tokens.$colors-text-success !important;
|
|
811
|
+
}
|
|
812
|
+
|
|
791
813
|
:deep(.v-field) {
|
|
792
814
|
color: tokens.$colors-border-success !important;
|
|
793
815
|
|
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach } from 'vitest'
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
|
-
import { createVuetify } from 'vuetify'
|
|
4
|
-
import * as components from 'vuetify/components'
|
|
5
|
-
import * as directives from 'vuetify/directives'
|
|
6
3
|
import { VIcon } from 'vuetify/components'
|
|
7
4
|
|
|
8
5
|
import SyTextField from '../SyTextField.vue'
|
|
9
6
|
import type { IconType } from '../types'
|
|
10
7
|
|
|
11
|
-
const vuetify = createVuetify({
|
|
12
|
-
components,
|
|
13
|
-
directives,
|
|
14
|
-
})
|
|
15
|
-
|
|
16
8
|
describe('SyTextField.vue', () => {
|
|
17
9
|
let wrapper: ReturnType<typeof mount<typeof SyTextField>>
|
|
18
10
|
|
|
19
11
|
beforeEach(() => {
|
|
20
12
|
wrapper = mount(SyTextField, {
|
|
21
|
-
global: {
|
|
22
|
-
plugins: [vuetify],
|
|
23
|
-
},
|
|
24
13
|
props: {
|
|
25
14
|
modelValue: undefined,
|
|
26
15
|
required: true,
|
|
@@ -37,7 +26,6 @@ describe('SyTextField.vue', () => {
|
|
|
37
26
|
|
|
38
27
|
it('applies the correct variant style', () => {
|
|
39
28
|
wrapper = mount(SyTextField, {
|
|
40
|
-
global: { plugins: [vuetify] },
|
|
41
29
|
props: { variantStyle: 'filled' },
|
|
42
30
|
})
|
|
43
31
|
const textField = wrapper.findComponent({ name: 'VTextField' })
|
|
@@ -46,7 +34,6 @@ describe('SyTextField.vue', () => {
|
|
|
46
34
|
|
|
47
35
|
it('renders default slots correctly', () => {
|
|
48
36
|
wrapper = mount(SyTextField, {
|
|
49
|
-
global: { plugins: [vuetify] },
|
|
50
37
|
slots: {
|
|
51
38
|
prepend: '<div data-testid="prepend-slot">Prepend Slot Content</div>',
|
|
52
39
|
append: '<div data-testid="append-slot">Append Slot Content</div>',
|
|
@@ -62,7 +49,6 @@ describe('SyTextField.vue', () => {
|
|
|
62
49
|
|
|
63
50
|
it('renders inner slots correctly', () => {
|
|
64
51
|
wrapper = mount(SyTextField, {
|
|
65
|
-
global: { plugins: [vuetify] },
|
|
66
52
|
slots: {
|
|
67
53
|
'prepend-inner': '<div data-testid="prepend-inner-slot">Prepend Inner Slot Content</div>',
|
|
68
54
|
'append-inner': '<div data-testid="append-inner-slot">Append Inner Slot Content</div>',
|
|
@@ -80,7 +66,6 @@ describe('SyTextField.vue', () => {
|
|
|
80
66
|
|
|
81
67
|
it('should update icon when validation state changes', async () => {
|
|
82
68
|
wrapper = mount(SyTextField, {
|
|
83
|
-
global: { plugins: [vuetify] },
|
|
84
69
|
props: { appendInnerIcon: 'success' as IconType },
|
|
85
70
|
})
|
|
86
71
|
expect(wrapper.props('appendInnerIcon')).toBe('success')
|
|
@@ -88,7 +73,6 @@ describe('SyTextField.vue', () => {
|
|
|
88
73
|
|
|
89
74
|
it('should update icon when validation state changes with warning', async () => {
|
|
90
75
|
wrapper = mount(SyTextField, {
|
|
91
|
-
global: { plugins: [vuetify] },
|
|
92
76
|
props: { appendInnerIcon: 'warning' as IconType },
|
|
93
77
|
})
|
|
94
78
|
expect(wrapper.props('appendInnerIcon')).toBe('warning')
|
|
@@ -96,7 +80,6 @@ describe('SyTextField.vue', () => {
|
|
|
96
80
|
|
|
97
81
|
it('should update icon when validation state changes with error', async () => {
|
|
98
82
|
wrapper = mount(SyTextField, {
|
|
99
|
-
global: { plugins: [vuetify] },
|
|
100
83
|
props: { appendInnerIcon: 'error' as IconType },
|
|
101
84
|
})
|
|
102
85
|
expect(wrapper.props('appendInnerIcon')).toBe('error')
|
|
@@ -104,7 +87,6 @@ describe('SyTextField.vue', () => {
|
|
|
104
87
|
|
|
105
88
|
it('should update icon when validation state changes with success', async () => {
|
|
106
89
|
wrapper = mount(SyTextField, {
|
|
107
|
-
global: { plugins: [vuetify] },
|
|
108
90
|
props: { appendInnerIcon: 'success' as IconType },
|
|
109
91
|
})
|
|
110
92
|
expect(wrapper.props('appendInnerIcon')).toBe('success')
|
|
@@ -112,7 +94,6 @@ describe('SyTextField.vue', () => {
|
|
|
112
94
|
|
|
113
95
|
it('emits prepend-icon-click event when prepend icon is clicked', async () => {
|
|
114
96
|
const wrapper = mount(SyTextField, {
|
|
115
|
-
global: { plugins: [vuetify] },
|
|
116
97
|
props: { prependIcon: 'info' as IconType },
|
|
117
98
|
})
|
|
118
99
|
|
|
@@ -126,7 +107,6 @@ describe('SyTextField.vue', () => {
|
|
|
126
107
|
|
|
127
108
|
it('emits append-icon-click event when append icon is clicked', async () => {
|
|
128
109
|
const wrapper = mount(SyTextField, {
|
|
129
|
-
global: { plugins: [vuetify] },
|
|
130
110
|
props: { appendIcon: 'info' as IconType },
|
|
131
111
|
})
|
|
132
112
|
|
|
@@ -140,7 +120,6 @@ describe('SyTextField.vue', () => {
|
|
|
140
120
|
|
|
141
121
|
it('shows validation error message', async () => {
|
|
142
122
|
const wrapper = mount(SyTextField, {
|
|
143
|
-
global: { plugins: [vuetify] },
|
|
144
123
|
props: {
|
|
145
124
|
required: true,
|
|
146
125
|
label: 'Test Field',
|
|
@@ -161,7 +140,6 @@ describe('SyTextField.vue', () => {
|
|
|
161
140
|
}
|
|
162
141
|
|
|
163
142
|
wrapper = mount(SyTextField, {
|
|
164
|
-
global: { plugins: [vuetify] },
|
|
165
143
|
props: { customRules: [customRule] },
|
|
166
144
|
})
|
|
167
145
|
|
|
@@ -184,7 +162,6 @@ describe('SyTextField.vue', () => {
|
|
|
184
162
|
}
|
|
185
163
|
|
|
186
164
|
const wrapper = mount(SyTextField, {
|
|
187
|
-
global: { plugins: [vuetify] },
|
|
188
165
|
props: {
|
|
189
166
|
modelValue: 'test',
|
|
190
167
|
customWarningRules: [warningRule],
|
|
@@ -203,9 +180,7 @@ describe('SyTextField.vue', () => {
|
|
|
203
180
|
})
|
|
204
181
|
|
|
205
182
|
it('maintains input value without validation rules', async () => {
|
|
206
|
-
wrapper = mount(SyTextField
|
|
207
|
-
global: { plugins: [vuetify] },
|
|
208
|
-
})
|
|
183
|
+
wrapper = mount(SyTextField)
|
|
209
184
|
const input = wrapper.find('input')
|
|
210
185
|
|
|
211
186
|
await input.setValue('test value')
|
|
@@ -222,7 +197,6 @@ describe('SyTextField.vue', () => {
|
|
|
222
197
|
}
|
|
223
198
|
|
|
224
199
|
wrapper = mount(SyTextField, {
|
|
225
|
-
global: { plugins: [vuetify] },
|
|
226
200
|
props: {
|
|
227
201
|
customRules: [customRule],
|
|
228
202
|
isValidateOnBlur: false,
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest'
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
|
-
import { vuetify } from '@tests/unit/setup'
|
|
4
3
|
|
|
5
4
|
import DataListLoading from '../DataListLoading.vue'
|
|
6
5
|
|
|
7
6
|
describe('DataListLoading', () => {
|
|
8
7
|
it('renders correctly', () => {
|
|
9
8
|
const wrapper = mount(DataListLoading, {
|
|
10
|
-
global: {
|
|
11
|
-
plugins: [vuetify],
|
|
12
|
-
},
|
|
13
9
|
props: {
|
|
14
10
|
heading: true,
|
|
15
11
|
itemsNumber: 3,
|