@cnamts/synapse 0.0.12-alpha → 0.0.14-alpha
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/{src/components → components}/BackBtn/BackBtn.d.ts +4 -1
- package/dist/components/CookiesSelection/CookiesSelection.d.ts +611 -0
- package/dist/{src/components → components}/CopyBtn/config.d.ts +1 -0
- package/dist/{src/components → components}/Customs/SyInputSelect/SyInputSelect.d.ts +2 -0
- package/dist/components/Customs/SySelect/SySelect.d.ts +1534 -0
- package/dist/{src/components → components}/Customs/SyTextField/SyTextField.d.ts +6 -4
- package/dist/{src/components → components}/DatePicker/DatePicker.d.ts +60 -66
- package/dist/{src/components → components}/DatePicker/DateTextInput.d.ts +47 -50
- package/dist/components/DialogBox/DialogBox.d.ts +274 -0
- package/dist/{src/components → components}/DownloadBtn/DownloadBtn.d.ts +7 -0
- package/dist/components/DownloadBtn/locales.d.ts +3 -0
- package/dist/components/FilterInline/AccessibiliteItems.d.ts +30 -0
- package/dist/{src/components → components}/FilterInline/FilterInline.d.ts +2 -3
- package/dist/{src/components → components}/FilterSideBar/FilterSideBar.d.ts +1 -1
- package/dist/{src/components → components}/FranceConnectBtn/locales.d.ts +1 -0
- package/dist/{src/components → components}/HeaderToolbar/HeaderToolbar.d.ts +5 -1
- package/dist/{src/components → components}/NirField/NirField.d.ts +39 -28
- package/dist/{src/components → components}/NotificationBar/NotificationBar.d.ts +5 -5
- package/dist/{src/components → components}/PasswordField/PasswordField.d.ts +6 -4
- package/dist/{src/components → components}/PeriodField/PeriodField.d.ts +223 -211
- package/dist/{src/components → components}/PhoneField/PhoneField.d.ts +49 -1
- package/dist/components/SyAlert/AccessibiliteItems.d.ts +29 -0
- package/dist/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +4 -0
- package/dist/components/UploadWorkflow/AccessibiliteItems.d.ts +29 -0
- package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +783 -0
- package/dist/components/UploadWorkflow/constants/ExpertiseLevelEnum.d.ts +4 -0
- package/dist/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
- package/dist/{src/components → components}/index.d.ts +4 -0
- package/dist/composables/date/useDateFormat.d.ts +26 -0
- package/dist/composables/date/useDateInitialization.d.ts +18 -0
- package/dist/composables/date/useDatePickerAccessibility.d.ts +9 -0
- package/dist/{src/composables → composables}/useFilterable/useFilterable.d.ts +1 -1
- package/dist/{src/composables → composables}/validation/useValidation.d.ts +1 -0
- package/dist/design-system-v3.js +4959 -3902
- package/dist/design-system-v3.umd.cjs +1 -1
- package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamColors.d.ts +5 -10
- package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamLightTheme.d.ts +0 -2
- package/dist/{src/designTokens → designTokens}/tokens/pa/paColors.d.ts +5 -10
- package/dist/{src/designTokens → designTokens}/tokens/pa/paLightTheme.d.ts +4 -5
- package/dist/{src/main.d.ts → main.d.ts} +1 -0
- package/dist/style.css +1 -1
- package/dist/utils/formatDate/index.d.ts +3 -0
- package/dist/utils/functions/validation/isDateAfter/index.d.ts +2 -0
- package/dist/utils/functions/validation/isDateBefore/index.d.ts +2 -0
- package/dist/utils/functions/validation/isDateInRange/index.d.ts +3 -0
- package/dist/utils/functions/validation/isDateValid/index.d.ts +9 -0
- package/dist/utils/functions/validation/isWeekend/index.d.ts +3 -0
- package/dist/utils/parseDate/index.d.ts +3 -0
- package/dist/utils/rules/doMatchPattern/index.d.ts +3 -0
- package/dist/utils/rules/index.d.ts +11 -0
- package/dist/utils/rules/isDateValid/index.d.ts +4 -0
- package/dist/utils/rules/isExactLength/index.d.ts +3 -0
- package/dist/utils/rules/isExactLength/locales.d.ts +2 -0
- package/dist/utils/rules/isMaxLength/index.d.ts +3 -0
- package/dist/utils/rules/isMaxLength/locales.d.ts +2 -0
- package/dist/utils/rules/isMinLength/index.d.ts +3 -0
- package/dist/utils/rules/isMinLength/locales.d.ts +2 -0
- package/dist/utils/rules/isNotAfterDate/index.d.ts +3 -0
- package/dist/utils/rules/isNotAfterToday/index.d.ts +4 -0
- package/dist/utils/rules/isNotAfterToday/locales.d.ts +2 -0
- package/dist/utils/rules/isNotBeforeDate/index.d.ts +3 -0
- package/dist/utils/rules/isNotBeforeDate/locales.d.ts +2 -0
- package/dist/utils/rules/isNotBeforeToday/index.d.ts +4 -0
- package/dist/utils/rules/isNotBeforeToday/locales.d.ts +2 -0
- package/dist/utils/rules/isRequired/index.d.ts +4 -0
- package/dist/utils/rules/isRequired/locales.d.ts +2 -0
- package/dist/utils/rules/isValidEmail/index.d.ts +4 -0
- package/dist/utils/rules/isValidEmail/locales.d.ts +2 -0
- package/dist/{src/vuetifyConfig.d.ts → vuetifyConfig.d.ts} +1 -0
- package/package.json +10 -7
- package/src/assets/_radius.scss +12 -6
- package/src/assets/settings.scss +8 -0
- package/src/components/BackBtn/BackBtn.stories.ts +34 -6
- package/src/components/BackBtn/BackBtn.vue +17 -8
- package/src/components/BackBtn/tests/BackBtn.spec.ts +2 -2
- package/src/components/BackBtn/tests/__snapshots__/BackBtn.spec.ts.snap +39 -3
- package/src/components/BackToTopBtn/tests/__snapshots__/BackToTopBtn.spec.ts.snap +98 -6
- package/src/components/ChipList/ChipList.stories.ts +26 -27
- package/src/components/ChipList/ChipList.vue +6 -1
- package/src/components/ChipList/config.ts +1 -0
- package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +31 -5
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +570 -101
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +2 -2
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +28 -2
- package/src/components/CookiesSelection/CookiesTable/tests/__snapshots__/CookiesTable.spec.ts.snap +13 -1
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +568 -99
- package/src/components/CopyBtn/CopyBtn.stories.ts +2 -2
- package/src/components/CopyBtn/CopyBtn.vue +28 -22
- package/src/components/CopyBtn/config.ts +2 -1
- package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +28 -3
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.mdx +1 -1
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +6 -5
- package/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.ts +2 -2
- package/src/components/Customs/SyInputSelect/SyInputSelect.mdx +1 -1
- package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +3 -0
- package/src/components/Customs/SyInputSelect/SyInputSelect.vue +4 -0
- package/src/components/Customs/SySelect/SySelect.mdx +1 -1
- package/src/components/Customs/SySelect/SySelect.vue +31 -6
- package/src/components/Customs/SyTextField/SyTextField.mdx +2 -2
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +241 -2
- package/src/components/Customs/SyTextField/SyTextField.vue +9 -6
- package/src/components/DataList/DataList.vue +2 -2
- package/src/components/DataList/DataListLoading/DataListLoading.vue +2 -2
- package/src/components/DataList/DataListLoading/tests/DataListLoading.spec.ts +1 -1
- package/src/components/DataList/tests/DataList.spec.ts +10 -10
- package/src/components/DataListGroup/tests/DataListGroup.spec.ts +1 -1
- package/src/components/DataListItem/DataListItem.vue +9 -9
- package/src/components/DataListItem/tests/DataListItem.spec.ts +5 -5
- package/src/components/DatePicker/DatePicker.mdx +1 -1
- package/src/components/DatePicker/DatePicker.stories.ts +187 -15
- package/src/components/DatePicker/DatePicker.vue +161 -355
- package/src/components/DatePicker/DateTextInput.vue +97 -257
- package/src/components/DatePicker/tests/DatePicker.spec.ts +118 -48
- package/src/components/DatePicker/tests/DateTextInput.spec.ts +206 -10
- package/src/components/DialogBox/DialogBox.vue +4 -4
- package/src/components/DialogBox/tests/DialogBox.spec.ts +1 -1
- package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +158 -19
- package/src/components/DownloadBtn/DownloadBtn.stories.ts +18 -4
- package/src/components/DownloadBtn/DownloadBtn.vue +37 -3
- package/src/components/DownloadBtn/locales.ts +3 -0
- package/src/components/DownloadBtn/tests/__snapshots__/DownloadBtn.spec.ts.snap +77 -6
- package/src/components/ErrorPage/ErrorPage.vue +2 -2
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +212 -38
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +796 -86
- package/src/components/FileList/Accessibilite.stories.ts +1 -1
- package/src/components/FileList/AccessibiliteItems.ts +22 -0
- package/src/components/FilePreview/tests/FilePreview.spec.ts +1 -1
- package/src/components/FilePreview/tests/__snapshots__/FilePreview.spec.ts.snap +27 -5
- package/src/components/FileUpload/FileUpload.stories.ts +9 -7
- package/src/components/FilterInline/Accessibilite.mdx +14 -0
- package/src/components/FilterInline/Accessibilite.stories.ts +216 -0
- package/src/components/FilterInline/AccessibiliteItems.ts +132 -0
- package/src/components/FilterInline/FilterInline.stories.ts +308 -2
- package/src/components/FilterInline/FilterInline.vue +3 -3
- package/src/components/FilterInline/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +235 -21
- package/src/components/FilterSideBar/Accessibilite.mdx +14 -0
- package/src/components/FilterSideBar/Accessibilite.stories.ts +216 -0
- package/src/components/FilterSideBar/AccessibiliteItems.ts +153 -0
- package/src/components/FilterSideBar/FilterSideBar.vue +1 -1
- package/src/components/FilterSideBar/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +144 -15
- package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +92 -18
- package/src/components/FranceConnectBtn/FranceConnectBtn.vue +18 -21
- package/src/components/FranceConnectBtn/locales.ts +2 -0
- package/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.ts +1 -1
- package/src/components/FranceConnectBtn/tests/__snapshots__/FranceConnectBtn.spec.ts.snap +235 -26
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/__snapshots__/HeaderMenuItem.spec.ts.snap +5 -1
- package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +20 -6
- package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +68 -37
- package/src/components/HeaderToolbar/HeaderToolbar.mdx +1 -1
- package/src/components/HeaderToolbar/HeaderToolbar.vue +346 -117
- package/src/components/HeaderToolbar/tests/{HeaderToolbar.spec.ts → HeaderToolBar.spec.ts} +2 -2
- package/src/components/LangBtn/LangBtn.vue +1 -0
- package/src/components/LangBtn/tests/__snapshots__/LangBtn.spec.ts.snap +41 -3
- package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +55 -8
- package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +10 -1
- package/src/components/NirField/NirField.stories.ts +172 -7
- package/src/components/NirField/NirField.vue +16 -14
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +229 -37
- package/src/components/NotificationBar/NotificationBar.mdx +2 -2
- package/src/components/NotificationBar/NotificationBar.stories.ts +59 -11
- package/src/components/NotificationBar/NotificationBar.vue +42 -114
- package/src/components/NotificationBar/tests/NotificationBar.spec.ts +28 -33
- package/src/components/NotificationBar/tests/__snapshots__/NotificationBar.spec.ts.snap +30 -3
- package/src/components/PageContainer/tests/__snapshots__/PageContainer.spec.ts.snap +16 -3
- package/src/components/PaginatedTable/PaginatedTable.vue +6 -10
- package/src/components/PaginatedTable/tests/__snapshots__/PaginatedTable.spec.ts.snap +731 -94
- package/src/components/PasswordField/PasswordField.stories.ts +204 -17
- package/src/components/PasswordField/PasswordField.vue +9 -6
- package/src/components/PeriodField/PeriodField.stories.ts +227 -131
- package/src/components/PeriodField/PeriodField.vue +203 -152
- package/src/components/PeriodField/tests/PeriodField.spec.ts +146 -0
- package/src/components/PhoneField/PhoneField.stories.ts +174 -0
- package/src/components/PhoneField/PhoneField.vue +81 -17
- package/src/components/PhoneField/tests/PhoneField.spec.ts +40 -0
- package/src/components/RangeField/RangeSlider/tests/__snapshots__/rangeSlider.spec.ts.snap +80 -17
- package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +981 -162
- package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +634 -25
- package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +477 -38
- package/src/components/RatingPicker/RatingPicker.stories.ts +7 -7
- package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +218 -10
- package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +476 -41
- package/src/components/SearchListField/SearchListField.stories.ts +2 -2
- package/src/components/SelectBtnField/SelectBtnField.stories.ts +1 -1
- package/src/components/SelectBtnField/SelectBtnField.vue +11 -15
- package/src/components/SelectBtnField/config.ts +1 -1
- package/src/components/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +881 -65
- package/src/components/SkipLink/tests/__snapshots__/skipLink.spec.ts.snap +15 -1
- package/src/components/SocialMediaLinks/tests/__snapshots__/SocialMediaLinks.spec.ts.snap +110 -16
- package/src/components/SubHeader/SubHeader.stories.ts +1 -1
- package/src/components/SubHeader/tests/SubHeader.spec.ts +1 -1
- package/src/components/SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap +78 -6
- package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +1034 -124
- package/src/components/UploadWorkflow/Accessibilite.mdx +14 -0
- package/src/components/UploadWorkflow/Accessibilite.stories.ts +216 -0
- package/src/components/UploadWorkflow/AccessibiliteItems.ts +192 -0
- package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +11 -11
- package/src/components/UploadWorkflow/UploadWorkflow.vue +2 -2
- package/src/components/UploadWorkflow/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +328 -29
- package/src/components/Usages/tests/Usages.spec.ts +183 -0
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +8 -8
- package/src/components/index.ts +4 -0
- package/src/composables/date/tests/useDateFormat.spec.ts +67 -0
- package/src/composables/date/tests/useDateInitialization.spec.ts +89 -0
- package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +180 -0
- package/src/composables/date/useDateFormat.ts +94 -0
- package/src/composables/date/useDateInitialization.ts +92 -0
- package/src/composables/date/useDatePickerAccessibility.ts +123 -0
- package/src/composables/rules/tests/useFieldValidation.spec.ts +385 -4
- package/src/composables/useFilterable/useFilterable.ts +5 -4
- package/src/composables/validation/useValidation.ts +15 -0
- package/src/designTokens/tokens/cnam/cnamColors.ts +5 -10
- package/src/designTokens/tokens/cnam/cnamLightTheme.ts +0 -2
- package/src/designTokens/tokens/cnam/cnamSemantic.ts +3 -3
- package/src/designTokens/tokens/pa/paColors.ts +5 -10
- package/src/designTokens/tokens/pa/paLightTheme.ts +4 -5
- package/src/designTokens/tokens/pa/paSemantic.ts +3 -3
- package/src/main.ts +1 -0
- package/src/stories/Accessibilite/Aculturation/AuditDesignSystem.mdx +28 -0
- package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +2 -2
- package/src/stories/Accessibilite/Audit/RGAA.mdx +6 -6
- package/src/stories/Accessibilite/Introduction.mdx +2 -1
- package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +1 -1
- package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +1 -1
- package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +8 -11
- package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +77 -0
- package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru.mdx +9 -3
- package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +2 -2
- package/src/stories/Demarrer/Introduction.stories.ts +3 -3
- package/src/stories/Demarrer/Releases.mdx +8 -0
- package/src/stories/Demarrer/Releases.stories.ts +66 -0
- package/src/stories/DesignTokens/ColorDisplay.vue +58 -0
- package/src/stories/DesignTokens/Colors.mdx +81 -212
- package/src/stories/DesignTokens/Conteneurs.stories.ts +3 -3
- package/src/stories/DesignTokens/colors.stories.ts +1078 -0
- package/src/stories/GuideDuDev/LesBreackingChanges.mdx +36 -0
- package/src/stories/GuideDuDev/UtiliserLesRules.mdx +32 -10
- package/src/utils/formatDate/index.ts +6 -0
- package/src/utils/formatDate/tests/formatDate.spec.ts +18 -0
- package/src/utils/functions/validation/isDateAfter/index.ts +9 -0
- package/src/utils/functions/validation/isDateAfter/tests/isDateAfter.spec.ts +18 -0
- package/src/utils/functions/validation/isDateBefore/index.ts +9 -0
- package/src/utils/functions/validation/isDateBefore/tests/isDateBefore.spec.ts +23 -0
- package/src/utils/functions/validation/isDateInRange/index.ts +22 -0
- package/src/utils/functions/validation/isDateInRange/tests/isDateInRange.spec.ts +28 -0
- package/src/utils/functions/validation/isDateValid/index.ts +67 -0
- package/src/utils/functions/validation/isDateValid/tests/isDateValid.spec.ts +46 -0
- package/src/utils/functions/validation/isEmailValid/index.ts +9 -0
- package/src/utils/functions/validation/isWeekend/index.ts +10 -0
- package/src/utils/functions/validation/isWeekend/tests/isWeekend.spec.ts +16 -0
- package/src/utils/parseDate/index.ts +29 -0
- package/src/utils/parseDate/tests/parseDate.spec.ts +52 -0
- package/src/utils/rules/Rules.mdx +16 -0
- package/src/utils/rules/doMatchPattern/DoMachPattern.mdx +66 -0
- package/src/utils/rules/doMatchPattern/DoMatchPattern.stories.ts +106 -0
- package/src/utils/rules/doMatchPattern/index.ts +28 -0
- package/src/utils/rules/doMatchPattern/locales.ts +5 -0
- package/src/utils/rules/doMatchPattern/tests/matchPattern.spec.ts +38 -0
- package/src/utils/rules/index.ts +11 -0
- package/src/utils/rules/isDateValid/IsDateValid.mdx +87 -0
- package/src/utils/rules/isDateValid/IsDateValid.stories.ts +113 -0
- package/src/utils/rules/isDateValid/index.ts +32 -0
- package/src/utils/rules/isDateValid/locales.ts +10 -0
- package/src/utils/rules/isDateValid/tests/isDateValid.spec.ts +27 -0
- package/src/utils/rules/isExactLength/IsExactLenght.mdx +68 -0
- package/src/utils/rules/isExactLength/IsExactLength.stories.ts +151 -0
- package/src/utils/rules/{exactLength → isExactLength}/index.ts +2 -4
- package/src/utils/rules/isExactLength/tests/exactLength.spec.ts +48 -0
- package/src/utils/rules/isMaxLength/IsMaxLength.mdx +68 -0
- package/src/utils/rules/isMaxLength/IsMaxLength.stories.ts +152 -0
- package/src/utils/rules/isMaxLength/index.ts +30 -0
- package/src/utils/rules/isMaxLength/locales.ts +6 -0
- package/src/utils/rules/isMaxLength/tests/isMaxLength.spec.ts +42 -0
- package/src/utils/rules/isMinLength/IsMinLength.mdx +68 -0
- package/src/utils/rules/isMinLength/IsMinLength.stories.ts +152 -0
- package/src/utils/rules/isMinLength/index.ts +30 -0
- package/src/utils/rules/isMinLength/locales.ts +6 -0
- package/src/utils/rules/isMinLength/tests/isMinLength.spec.ts +42 -0
- package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +68 -0
- package/src/utils/rules/isNotAfterDate/IsNotAfterDate.stories.ts +109 -0
- package/src/utils/rules/isNotAfterDate/index.ts +25 -0
- package/src/utils/rules/isNotAfterDate/locales.ts +6 -0
- package/src/utils/rules/isNotAfterDate/tests/isNotAfterDate.spec.ts +25 -0
- package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +83 -0
- package/src/utils/rules/isNotAfterToday/IsNotAfterToday.stories.ts +110 -0
- package/src/utils/rules/isNotAfterToday/index.ts +28 -0
- package/src/utils/rules/isNotAfterToday/locales.ts +5 -0
- package/src/utils/rules/isNotAfterToday/tests/isNotAfterToday.spec.ts +30 -0
- package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +68 -0
- package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.stories.ts +114 -0
- package/src/utils/rules/isNotBeforeDate/index.ts +25 -0
- package/src/utils/rules/isNotBeforeDate/locales.ts +6 -0
- package/src/utils/rules/isNotBeforeDate/tests/IsNotBeforeDate.spec.ts +25 -0
- package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +83 -0
- package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.stories.ts +110 -0
- package/src/utils/rules/isNotBeforeToday/index.ts +28 -0
- package/src/utils/rules/isNotBeforeToday/locales.ts +5 -0
- package/src/utils/rules/isNotBeforeToday/tests/notBeforeToday.spec.ts +36 -0
- package/src/utils/rules/isRequired/IsRequired.mdx +81 -0
- package/src/utils/rules/isRequired/IsRequired.stories.ts +101 -0
- package/src/utils/rules/{required → isRequired}/index.ts +3 -3
- package/src/utils/rules/{required/tests/index.spec.ts → isRequired/tests/isRequred.spec.ts} +9 -9
- package/src/utils/rules/isValidEmail/IsValidEmail.mdx +81 -0
- package/src/utils/rules/isValidEmail/IsValidEmail.stories.ts +101 -0
- package/src/utils/rules/{email → isValidEmail}/index.ts +3 -5
- package/src/utils/rules/{email/tests/email.spec.ts → isValidEmail/tests/isValidEmail.spec.ts} +5 -5
- package/dist/src/components/Amelipro/types/languages.d.ts +0 -6
- package/dist/src/components/Amelipro/types/types.d.ts +0 -65
- package/dist/src/components/BackBtn/tests/BackBtn.spec.d.ts +0 -1
- package/dist/src/components/BackToTopBtn/tests/BackToTopBtn.spec.d.ts +0 -1
- package/dist/src/components/ChipList/tests/chipList.spec.d.ts +0 -1
- package/dist/src/components/CollapsibleList/tests/CollapsibleList.spec.d.ts +0 -1
- package/dist/src/components/ContextualMenu/tests/ContextualMenu.spec.d.ts +0 -1
- package/dist/src/components/CookieBanner/tests/CookieBanner.spec.d.ts +0 -1
- package/dist/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.d.ts +0 -1
- package/dist/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.d.ts +0 -1
- package/dist/src/components/CookiesSelection/tests/CookiesSelection.spec.d.ts +0 -1
- package/dist/src/components/CopyBtn/tests/CopyBtn.spec.d.ts +0 -1
- package/dist/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.d.ts +0 -1
- package/dist/src/components/Customs/SyInputSelect/tests/SyInputSelect.spec.d.ts +0 -1
- package/dist/src/components/Customs/SySelect/tests/SySelect.spec.d.ts +0 -1
- package/dist/src/components/Customs/SyTextField/tests/SyTextField.spec.d.ts +0 -1
- package/dist/src/components/DataList/DataListLoading/tests/DataListLoading.spec.d.ts +0 -1
- package/dist/src/components/DataList/tests/DataList.spec.d.ts +0 -1
- package/dist/src/components/DataListGroup/tests/DataListGroup.spec.d.ts +0 -1
- package/dist/src/components/DataListItem/tests/DataListItem.spec.d.ts +0 -1
- package/dist/src/components/DatePicker/tests/DatePicker.spec.d.ts +0 -1
- package/dist/src/components/DatePicker/tests/DateTextInput.spec.d.ts +0 -1
- package/dist/src/components/DialogBox/tests/DialogBox.spec.d.ts +0 -1
- package/dist/src/components/DownloadBtn/tests/DownloadBtn.spec.d.ts +0 -1
- package/dist/src/components/ErrorPage/tests/ErrorPage.spec.d.ts +0 -1
- package/dist/src/components/ExternalLinks/tests/ExternalLinks.spec.d.ts +0 -1
- package/dist/src/components/FileList/tests/FileList.spec.d.ts +0 -1
- package/dist/src/components/FilePreview/tests/FilePreview.spec.d.ts +0 -1
- package/dist/src/components/FileUpload/tests/FileUpload.spec.d.ts +0 -1
- package/dist/src/components/FilterInline/tests/FilterInline.spec.d.ts +0 -1
- package/dist/src/components/FilterSideBar/tests/FilterSideBar.spec.d.ts +0 -1
- package/dist/src/components/FooterBar/tests/FooterBar.spec.d.ts +0 -1
- package/dist/src/components/FooterBar/tests/FooterBarConfig.spec.d.ts +0 -1
- package/dist/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/HeaderMenuItem.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/tests/HeaderBar.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/tests/useHeaderResponsiveMode.spec.d.ts +0 -1
- package/dist/src/components/HeaderBar/tests/useScrollDirection.spec.d.ts +0 -1
- package/dist/src/components/HeaderLoading/tests/HeaderLoading.spec.d.ts +0 -1
- package/dist/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.d.ts +0 -1
- package/dist/src/components/HeaderToolbar/tests/HeaderToolbar.spec.d.ts +0 -1
- package/dist/src/components/LangBtn/tests/Config.spec.d.ts +0 -1
- package/dist/src/components/LangBtn/tests/LangBtn.spec.d.ts +0 -1
- package/dist/src/components/Logo/tests/Logo.spec.d.ts +0 -1
- package/dist/src/components/LogoBrandSection/tests/LogoBrandSection.spec.d.ts +0 -1
- package/dist/src/components/MaintenancePage/tests/MaintenancePage.spec.d.ts +0 -1
- package/dist/src/components/NirField/config.d.ts +0 -15
- package/dist/src/components/NirField/tests/NirField.spec.d.ts +0 -1
- package/dist/src/components/NotFoundPage/tests/NotFoundPage.spec.d.ts +0 -1
- package/dist/src/components/NotificationBar/tests/NotificationBar.spec.d.ts +0 -1
- package/dist/src/components/PageContainer/tests/PageContainer.spec.d.ts +0 -1
- package/dist/src/components/PaginatedTable/tests/PaginatedTable.spec.d.ts +0 -1
- package/dist/src/components/PasswordField/tests/PasswordField.spec.d.ts +0 -1
- package/dist/src/components/PeriodField/tests/PeriodField.spec.d.ts +0 -1
- package/dist/src/components/PhoneField/tests/PhoneField.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/useDoubleSlider.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/useThumb.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/useTooltipsNudge.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/useTrack.spec.d.ts +0 -1
- package/dist/src/components/RangeField/RangeSlider/tests/vAnimateClick.spec.d.ts +0 -1
- package/dist/src/components/RangeField/tests/RangeField.spec.d.ts +0 -1
- package/dist/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.d.ts +0 -1
- package/dist/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.d.ts +0 -1
- package/dist/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.d.ts +0 -1
- package/dist/src/components/RatingPicker/tests/Rating.spec.d.ts +0 -1
- package/dist/src/components/RatingPicker/tests/RatingPicker.spec.d.ts +0 -1
- package/dist/src/components/SearchListField/tests/SearchListField.spec.d.ts +0 -1
- package/dist/src/components/SelectBtnField/tests/SelectBtnField.spec.d.ts +0 -1
- package/dist/src/components/SkipLink/tests/skipLink.spec.d.ts +0 -1
- package/dist/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.d.ts +0 -1
- package/dist/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.d.ts +0 -1
- package/dist/src/components/SubHeader/tests/SubHeader.spec.d.ts +0 -1
- package/dist/src/components/SyAlert/tests/SyAlert.spec.d.ts +0 -1
- package/dist/src/components/TableToolbar/tests/TableToolbar.spec.d.ts +0 -1
- package/dist/src/components/UploadWorkflow/tests/UploadWorkflow.spec.d.ts +0 -1
- package/dist/src/components/UserMenuBtn/tests/UserMenuBtn.spec.d.ts +0 -1
- package/dist/src/composables/rules/tests/useFieldValidation.spec.d.ts +0 -1
- package/dist/src/composables/useFilterable/useFilterable.spec.d.ts +0 -1
- package/dist/src/composables/validation/tests/useValidation.spec.d.ts +0 -1
- package/dist/src/composables/widthable/tests/widthable.spec.d.ts +0 -1
- package/dist/src/utils/calcHumanFileSize/tests/calcHumanFileSize.spec.d.ts +0 -1
- package/dist/src/utils/convertToUnit/test/convertToUnit.spec.d.ts +0 -1
- package/dist/src/utils/functions/copyToClipboard/tests/copyToClipboard.spec.d.ts +0 -1
- package/dist/src/utils/functions/deepCopy/tests/deepCopy.spec.d.ts +0 -1
- package/dist/src/utils/functions/downloadFile/tests/downloadFile.spec.d.ts +0 -1
- package/dist/src/utils/functions/isEmailValid/tests/isEmailValid.spec.d.ts +0 -1
- package/dist/src/utils/functions/throttleDisplayFn/tests/throttleDisplayFn.spec.d.ts +0 -1
- package/dist/src/utils/localStorageUtility/tests/localStorageUtility.spec.d.ts +0 -1
- package/dist/src/utils/propValidator/tests/propValidator.spec.d.ts +0 -1
- package/dist/src/utils/ruleMessage/tests/ruleMessages.spec.d.ts +0 -1
- package/dist/src/utils/rules/email/index.d.ts +0 -4
- package/dist/src/utils/rules/email/tests/email.spec.d.ts +0 -1
- package/dist/src/utils/rules/exactLength/index.d.ts +0 -4
- package/dist/src/utils/rules/required/index.d.ts +0 -4
- package/dist/src/utils/rules/required/ruleMessageHelper.d.ts +0 -3
- package/dist/src/utils/rules/required/tests/index.spec.d.ts +0 -1
- package/dist/src/utils/rules/required/tests/rulesMessageHelper.spec.d.ts +0 -1
- package/src/components/Amelipro/types/languages.d.ts +0 -6
- package/src/components/Amelipro/types/types.d.ts +0 -65
- package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +0 -58
- package/src/components/NirField/config.ts +0 -16
- package/src/utils/functions/isEmailValid/index.ts +0 -8
- package/src/utils/rules/required/ruleMessageHelper.ts +0 -14
- package/src/utils/rules/required/tests/rulesMessageHelper.spec.ts +0 -22
- /package/dist/{src/components → components}/BackBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/BackBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/BackBtn/locales.d.ts +0 -0
- /package/dist/{src/components → components}/BackToTopBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/BackToTopBtn/BackToTopBtn.d.ts +0 -0
- /package/dist/{src/components → components}/BackToTopBtn/config.d.ts +0 -0
- /package/dist/{src/components → components}/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/BackToTopBtn/locales.d.ts +0 -0
- /package/dist/{src/components → components}/ChipList/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/ChipList/ChipList.d.ts +0 -0
- /package/dist/{src/components → components}/ChipList/config.d.ts +0 -0
- /package/dist/{src/components → components}/ChipList/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/ChipList/locales.d.ts +0 -0
- /package/dist/{src/components → components}/ChipList/types.d.ts +0 -0
- /package/dist/{src/components → components}/CollapsibleList/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/CollapsibleList/CollapsibleList.d.ts +0 -0
- /package/dist/{src/components → components}/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/CollapsibleList/types.d.ts +0 -0
- /package/dist/{src/components → components}/ContextualMenu/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/ContextualMenu/ContextualMenu.d.ts +0 -0
- /package/dist/{src/components → components}/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/ContextualMenu/types.d.ts +0 -0
- /package/dist/{src/components → components}/CookieBanner/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/CookieBanner/CookieBanner.d.ts +0 -0
- /package/dist/{src/components → components}/CookieBanner/config.d.ts +0 -0
- /package/dist/{src/components → components}/CookieBanner/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/CookieBanner/locales.d.ts +0 -0
- /package/dist/{src/components → components}/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +0 -0
- /package/dist/{src/components → components}/CookiesSelection/CookiesInformation/locales.d.ts +0 -0
- /package/dist/{src/components → components}/CookiesSelection/CookiesTable/CookiesTable.d.ts +0 -0
- /package/dist/{src/components → components}/CookiesSelection/CookiesTable/headers.d.ts +0 -0
- /package/dist/{src/components → components}/CookiesSelection/locales.d.ts +0 -0
- /package/dist/{src/components → components}/CookiesSelection/types.d.ts +0 -0
- /package/dist/{src/components → components}/CopyBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/CopyBtn/CopyBtn.d.ts +0 -0
- /package/dist/{src/components → components}/CopyBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/CopyBtn/locales.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyBtnSelect/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyBtnSelect/SyBtnSelect.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyInputSelect/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyInputSelect/config.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SySelect/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyTextField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/Customs/SyTextField/types.d.ts +0 -0
- /package/dist/{src/components → components}/DataList/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/DataList/DataList.d.ts +0 -0
- /package/dist/{src/components → components}/DataList/DataListLoading/DataListLoading.d.ts +0 -0
- /package/dist/{src/components → components}/DataList/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/DataList/locales.d.ts +0 -0
- /package/dist/{src/components → components}/DataList/types.d.ts +0 -0
- /package/dist/{src/components → components}/DataListGroup/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/DataListGroup/DataListGroup.d.ts +0 -0
- /package/dist/{src/components → components}/DataListGroup/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/DataListGroup/tests/data/dataListGroupItems.d.ts +0 -0
- /package/dist/{src/components → components}/DataListGroup/types.d.ts +0 -0
- /package/dist/{src/components → components}/DataListItem/DataListItem.d.ts +0 -0
- /package/dist/{src/components → components}/DataListItem/config.d.ts +0 -0
- /package/dist/{src/components → components}/DataListItem/locales.d.ts +0 -0
- /package/dist/{src/components → components}/DataListItem/types.d.ts +0 -0
- /package/dist/{src/components → components}/DatePicker/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/DatePicker/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/DialogBox/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/DialogBox/config.d.ts +0 -0
- /package/dist/{src/components → components}/DialogBox/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/DialogBox/locales.d.ts +0 -0
- /package/dist/{src/components → components}/DownloadBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/DownloadBtn/config.d.ts +0 -0
- /package/dist/{src/components → components}/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/DownloadBtn/tests/data/filePromise.d.ts +0 -0
- /package/dist/{src/components → components}/ErrorPage/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/ErrorPage/ErrorPage.d.ts +0 -0
- /package/dist/{src/components → components}/ErrorPage/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/ErrorPage/locales.d.ts +0 -0
- /package/dist/{src/components → components}/ExternalLinks/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/ExternalLinks/ExternalLinks.d.ts +0 -0
- /package/dist/{src/components → components}/ExternalLinks/config.d.ts +0 -0
- /package/dist/{src/components → components}/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/ExternalLinks/locales.d.ts +0 -0
- /package/dist/{src/components → components}/FileList/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/FileList/FileList.d.ts +0 -0
- /package/dist/{src/components → components}/FileList/UploadItem/UploadItem.d.ts +0 -0
- /package/dist/{src/components → components}/FileList/UploadItem/locales.d.ts +0 -0
- /package/dist/{src/components → components}/FileList/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/FilePreview/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/FilePreview/FilePreview.d.ts +0 -0
- /package/dist/{src/components → components}/FilePreview/config.d.ts +0 -0
- /package/dist/{src/components → components}/FilePreview/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/FilePreview/locales.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/FileUpload.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/FileUploadContent.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/locales.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/useFileDrop.d.ts +0 -0
- /package/dist/{src/components → components}/FileUpload/validateFiles.d.ts +0 -0
- /package/dist/{src/components/FooterBar → components/FilterInline}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/FilterInline/locales.d.ts +0 -0
- /package/dist/{src/components/NotificationBar → components/FilterSideBar}/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components/FranceConnectBtn → components/FilterSideBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/FilterSideBar/locales.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/A11yCompliance.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/FooterBar.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/config.d.ts +0 -0
- /package/dist/{src/components/HeaderBar/HeaderBurgerMenu → components/FooterBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/defaultSocialMediaLinks.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/locales.d.ts +0 -0
- /package/dist/{src/components → components}/FooterBar/types.d.ts +0 -0
- /package/dist/{src/components → components}/FranceConnectBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/FranceConnectBtn/FranceConnectBtn.d.ts +0 -0
- /package/dist/{src/components/HeaderBar → components/FranceConnectBtn}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBar.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +0 -0
- /package/dist/{src/components/HeaderLoading → components/HeaderBar/HeaderBurgerMenu}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/conts.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/locals.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/useHandleSubMenus.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderLogo/HeaderLogo.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderLogo/locales.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderLogo/logos/Logo-mobile.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderLogo/logos/Logo.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/HeaderMenuBtn/locals.d.ts +0 -0
- /package/dist/{src/components/HeaderToolbar → components/HeaderBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/consts.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/locales.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/useHeaderResponsiveMode.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderBar/useScrollDirection.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderLoading/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderLoading/HeaderLoading.d.ts +0 -0
- /package/dist/{src/components/LangBtn → components/HeaderLoading}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderNavigationBar/HeaderNavigationBar.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderNavigationBar/HorizontalNavbar/config.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderNavigationBar/types.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderToolbar/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components/Logo → components/HeaderToolbar}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/HeaderToolbar/types.d.ts +0 -0
- /package/dist/{src/components → components}/LangBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/LangBtn/LangBtn.d.ts +0 -0
- /package/dist/{src/components → components}/LangBtn/config.d.ts +0 -0
- /package/dist/{src/components/LogoBrandSection → components/LangBtn}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/LangBtn/locales.d.ts +0 -0
- /package/dist/{src/components → components}/LangBtn/types.d.ts +0 -0
- /package/dist/{src/components → components}/Logo/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/Logo/Logo.d.ts +0 -0
- /package/dist/{src/components → components}/Logo/LogoSize.d.ts +0 -0
- /package/dist/{src/components/MaintenancePage → components/Logo}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/Logo/locales.d.ts +0 -0
- /package/dist/{src/components → components}/Logo/logoDimensionsMapping.d.ts +0 -0
- /package/dist/{src/components → components}/Logo/types.d.ts +0 -0
- /package/dist/{src/components → components}/LogoBrandSection/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/LogoBrandSection/LogoBrandSection.d.ts +0 -0
- /package/dist/{src/components/NirField → components/LogoBrandSection}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/LogoBrandSection/dividerDimensionsMapping.d.ts +0 -0
- /package/dist/{src/components → components}/LogoBrandSection/locales.d.ts +0 -0
- /package/dist/{src/components → components}/LogoBrandSection/secondaryLogoMapping.d.ts +0 -0
- /package/dist/{src/components → components}/LogoBrandSection/types.d.ts +0 -0
- /package/dist/{src/components → components}/MaintenancePage/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/MaintenancePage/MaintenancePage.d.ts +0 -0
- /package/dist/{src/components/NotFoundPage → components/MaintenancePage}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/MaintenancePage/index.d.ts +0 -0
- /package/dist/{src/components → components}/MaintenancePage/locales.d.ts +0 -0
- /package/dist/{src/components → components}/NirField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components/NotificationBar → components/NirField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/NirField/locales.d.ts +0 -0
- /package/dist/{src/components → components}/NirField/nirValidation.d.ts +0 -0
- /package/dist/{src/components → components}/NotFoundPage/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/NotFoundPage/NotFoundPage.d.ts +0 -0
- /package/dist/{src/components/PageContainer → components/NotFoundPage}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/NotFoundPage/locales.d.ts +0 -0
- /package/dist/{src/components/PageContainer → components/NotificationBar}/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components/PaginatedTable → components/NotificationBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/NotificationBar/options.d.ts +0 -0
- /package/dist/{src/components → components}/NotificationBar/types.d.ts +0 -0
- /package/dist/{src/components/SubHeader → components/PageContainer}/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/PageContainer/PageContainer.d.ts +0 -0
- /package/dist/{src/components/PasswordField → components/PageContainer}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/PaginatedTable/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/PaginatedTable/PaginatedTable.d.ts +0 -0
- /package/dist/{src/components/PeriodField → components/PaginatedTable}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/PaginatedTable/constants/StateEnum.d.ts +0 -0
- /package/dist/{src/components → components}/PaginatedTable/types.d.ts +0 -0
- /package/dist/{src/components → components}/PasswordField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/PasswordField/config.d.ts +0 -0
- /package/dist/{src/components/PhoneField → components/PasswordField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/PasswordField/locales.d.ts +0 -0
- /package/dist/{src/components → components}/PeriodField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components/RangeField → components/PeriodField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/PhoneField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components/RatingPicker → components/PhoneField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/PhoneField/indicatifs.d.ts +0 -0
- /package/dist/{src/components → components}/PhoneField/locales.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeField.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/RangeSlider.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/Tooltip/Tooltip.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/types.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/useMouseSlide.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/useRangeSlider.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/useThumb.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/useThumbKeyboard.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/useTooltipsNudge.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/useTrack.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/RangeSlider/vAnimateClick.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/config.d.ts +0 -0
- /package/dist/{src/components/SearchListField → components/RangeField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/RangeField/locales.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/EmotionPicker/EmotionPicker.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/EmotionPicker/locales.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/NumberPicker/NumberPicker.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/NumberPicker/locales.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/Rating.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/RatingPicker.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/StarsPicker/StarsPicker.d.ts +0 -0
- /package/dist/{src/components/SelectBtnField → components/RatingPicker}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/RatingPicker/locales.d.ts +0 -0
- /package/dist/{src/components → components}/SearchListField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/SearchListField/SearchListField.d.ts +0 -0
- /package/dist/{src/components/SkipLink → components/SearchListField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/SearchListField/locales.d.ts +0 -0
- /package/dist/{src/components → components}/SearchListField/types.d.ts +0 -0
- /package/dist/{src/components → components}/SelectBtnField/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/SelectBtnField/SelectBtnField.d.ts +0 -0
- /package/dist/{src/components → components}/SelectBtnField/config.d.ts +0 -0
- /package/dist/{src/components/SocialMediaLinks → components/SelectBtnField}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/SelectBtnField/types.d.ts +0 -0
- /package/dist/{src/components → components}/SkipLink/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/SkipLink/SkipLink.d.ts +0 -0
- /package/dist/{src/components/SubHeader → components/SkipLink}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/SkipLink/locales.d.ts +0 -0
- /package/dist/{src/components → components}/SocialMediaLinks/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/SocialMediaLinks/DefaultSocialMediaLinks.d.ts +0 -0
- /package/dist/{src/components → components}/SocialMediaLinks/SocialMediaLinks.d.ts +0 -0
- /package/dist/{src/components/SyAlert → components/SocialMediaLinks}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/SocialMediaLinks/locales.d.ts +0 -0
- /package/dist/{src/components → components}/SocialMediaLinks/types.d.ts +0 -0
- /package/dist/{src/components/SyAlert → components/SubHeader}/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/SubHeader/SubHeader.d.ts +0 -0
- /package/dist/{src/components → components}/SubHeader/config.d.ts +0 -0
- /package/dist/{src/components/TableToolbar → components/SubHeader}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/SubHeader/locales.d.ts +0 -0
- /package/dist/{src/components → components}/SyAlert/SyAlert.d.ts +0 -0
- /package/dist/{src/components/UserMenuBtn → components/SyAlert}/constants/ExpertiseLevelEnum.d.ts +0 -0
- /package/dist/{src/components → components}/SyAlert/locales.d.ts +0 -0
- /package/dist/{src/components → components}/TableToolbar/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/TableToolbar/TableToolbar.d.ts +0 -0
- /package/dist/{src/components → components}/TableToolbar/config.d.ts +0 -0
- /package/dist/{src/components → components}/TableToolbar/locales.d.ts +0 -0
- /package/dist/{src/components → components}/UploadWorkflow/config.d.ts +0 -0
- /package/dist/{src/components → components}/UploadWorkflow/locales.d.ts +0 -0
- /package/dist/{src/components → components}/UploadWorkflow/types.d.ts +0 -0
- /package/dist/{src/components → components}/UploadWorkflow/useFileList.d.ts +0 -0
- /package/dist/{src/components → components}/UploadWorkflow/useFileUploadJourney.d.ts +0 -0
- /package/dist/{src/components → components}/UserMenuBtn/AccessibiliteItems.d.ts +0 -0
- /package/dist/{src/components → components}/UserMenuBtn/UserMenuBtn.d.ts +0 -0
- /package/dist/{src/components → components}/UserMenuBtn/config.d.ts +0 -0
- /package/dist/{src/composables → composables}/index.d.ts +0 -0
- /package/dist/{src/composables → composables}/rules/useFieldValidation.d.ts +0 -0
- /package/dist/{src/composables → composables}/useCustomizableOptions.d.ts +0 -0
- /package/dist/{src/composables → composables}/widthable/index.d.ts +0 -0
- /package/dist/{src/constants → constants}/icons.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/index.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamContextual.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamDarkTheme.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamSemantic.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/tokens/pa/paContextual.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/tokens/pa/paDarkTheme.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/tokens/pa/paSemantic.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/utils/convertGaps.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/utils/convertSemanticsToken.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/utils/createFlattenTheme.d.ts +0 -0
- /package/dist/{src/designTokens → designTokens}/utils/index.d.ts +0 -0
- /package/dist/{src/directives → directives}/clickOutside.d.ts +0 -0
- /package/dist/{src/modules.d.ts → modules.d.ts} +0 -0
- /package/dist/{src/services → services}/NotificationService.d.ts +0 -0
- /package/dist/{src/services → services}/index.d.ts +0 -0
- /package/dist/{src/stories → stories}/Accessibilite/Vuetify/VuetifyItems.d.ts +0 -0
- /package/dist/{src/stories → stories}/EcoConception/ecoDesignItems.d.ts +0 -0
- /package/dist/{src/types → types}/vuetifyTypes.d.ts +0 -0
- /package/dist/{src/utils → utils}/calcHumanFileSize/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/convertToUnit/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/functions/copyToClipboard/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/functions/deepCopy/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/functions/downloadFile/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/functions/downloadFile/types.d.ts +0 -0
- /package/dist/{src/utils → utils}/functions/throttleDisplayFn/throttleDisplayFn.d.ts +0 -0
- /package/dist/{src/utils/functions → utils/functions/validation}/isEmailValid/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/localStorageUtility/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/propValidator/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/ruleMessage/index.d.ts +0 -0
- /package/dist/{src/utils/rules/exactLength → utils/rules/doMatchPattern}/locales.d.ts +0 -0
- /package/dist/{src/utils/rules/email → utils/rules/isDateValid}/locales.d.ts +0 -0
- /package/dist/{src/utils/rules/required → utils/rules/isNotAfterDate}/locales.d.ts +0 -0
- /package/dist/{src/utils → utils}/rules/types.d.ts +0 -0
- /package/src/components/NirField/{tests → examples}//342/200/257dataset/342/200/257.md" +0 -0
- /package/src/utils/functions/{isEmailValid → validation/isEmailValid}/tests/isEmailValid.spec.ts +0 -0
- /package/src/utils/rules/{exactLength → isExactLength}/locales.ts +0 -0
- /package/src/utils/rules/{required → isRequired}/locales.ts +0 -0
- /package/src/utils/rules/{email → isValidEmail}/locales.ts +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Guide Du Dev/Breaking changes"/>
|
|
4
|
+
|
|
5
|
+
# Les breaking changes
|
|
6
|
+
|
|
7
|
+
## Stores
|
|
8
|
+
|
|
9
|
+
Les librairies `vue-dot` et `synapse-bridge` utilisaient en interne la librairie `vuex`. Cette dépendance a été supprimée dans `synapse`. Plus aucune librairie de gestion d'état n'est donc imposée par le design system.
|
|
10
|
+
|
|
11
|
+
## Form builder
|
|
12
|
+
|
|
13
|
+
Le form builder n'est plus maintenu par le design system dans sa version synapse. Vous pouvez trouvez le code source dans sa version vue2 [ici](https://github.com/assurance-maladie-digital/design-system/tree/v2/packages/form-builder) et sa version vue3 [ici](https://github.com/assurance-maladie-digital/design-system/tree/v2/packages/form-builder).
|
|
14
|
+
|
|
15
|
+
## Les composants
|
|
16
|
+
|
|
17
|
+
### CustomIcon
|
|
18
|
+
|
|
19
|
+
Le composant `CustomIcon` a été retiré du design system.
|
|
20
|
+
|
|
21
|
+
Vous devez désormais utiliser le composant [VIcon](https://vuetifyjs.com/en/components/icons/) de Vuetify avec les icônes material du package[ @mdi/js](https://www.npmjs.com/package/@mdi/js). Pour des icônes personnalisés, importez les sous forme de composant.
|
|
22
|
+
|
|
23
|
+
<Source dark code={`
|
|
24
|
+
<script setup>
|
|
25
|
+
import { VIcon } from 'vuetify/components'
|
|
26
|
+
import { mdiAccount } from '@mdi/js'
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<template>
|
|
30
|
+
<VIcon> {{ mdiAccount }} </VIcon>
|
|
31
|
+
</template>
|
|
32
|
+
`} />
|
|
33
|
+
|
|
34
|
+
### FilterModule
|
|
35
|
+
|
|
36
|
+
Le composant `FilterModule` n'était pas optimisé du point de vue expérience utilisateur, le nombre de clics pour accéder à un filtre était trop important. Il a été remplacé par le composant [FilterInline](/docs/composants-filtres-filterssidebar--docs) et [FilterSideBar](/docs/composants-filtres-filterinline--docs).
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Meta, Source } from '@storybook/addon-docs/blocks';
|
|
2
2
|
|
|
3
|
-
<Meta title="Guide Du Dev/Utiliser
|
|
3
|
+
<Meta title="Guide Du Dev/Utiliser le système de validation"/>
|
|
4
4
|
|
|
5
|
-
# Utiliser
|
|
5
|
+
# Utiliser le système de validation
|
|
6
6
|
|
|
7
7
|
Ce guide décrit comment utiliser le système de validation de formulaires du Design System pour créer des validations flexibles et intuitives.
|
|
8
8
|
|
|
@@ -40,6 +40,7 @@ interface ValidationOptions {
|
|
|
40
40
|
customRules?: ValidationRule[]; // Règles personnalisées
|
|
41
41
|
warningRules?: ValidationRule[]; // Règles d'avertissement
|
|
42
42
|
successRules?: ValidationRule[]; // Règles de succès
|
|
43
|
+
disableErrorHandling?: boolean; // Désactiver complètement la gestion des erreurs
|
|
43
44
|
}
|
|
44
45
|
`}/>
|
|
45
46
|
|
|
@@ -71,6 +72,7 @@ interface RuleOptions {
|
|
|
71
72
|
ignoreSpace?: boolean; // Ignorer les espaces
|
|
72
73
|
isWarning?: boolean; // Traiter comme un avertissement
|
|
73
74
|
validate?: (value: any) => boolean | string; // Validation personnalisée
|
|
75
|
+
date?: string | Date; // Date de référence pour les règles de dates
|
|
74
76
|
}
|
|
75
77
|
`}/>
|
|
76
78
|
|
|
@@ -305,14 +307,34 @@ Dans cet exemple :
|
|
|
305
307
|
|
|
306
308
|
## Règles de validation disponibles
|
|
307
309
|
|
|
308
|
-
|
|
309
|
-
-
|
|
310
|
-
-
|
|
311
|
-
-
|
|
312
|
-
-
|
|
313
|
-
-
|
|
314
|
-
-
|
|
315
|
-
-
|
|
310
|
+
### Règles basiques
|
|
311
|
+
- `required` : Vérifie qu'une valeur est présente
|
|
312
|
+
- `min` : Vérifie qu'une valeur numérique est supérieure ou égale à un minimum
|
|
313
|
+
- `max` : Vérifie qu'une valeur numérique est inférieure ou égale à un maximum
|
|
314
|
+
- `minLength` : Vérifie qu'une chaîne a une longueur minimale
|
|
315
|
+
- `maxLength` : Vérifie qu'une chaîne a une longueur maximale
|
|
316
|
+
- `exactLength` : Vérifie qu'une chaîne a une longueur exacte
|
|
317
|
+
- `email` : Vérifie qu'une chaîne est un email valide
|
|
318
|
+
- `matchPattern` : Vérifie qu'une chaîne correspond à une expression régulière
|
|
319
|
+
|
|
320
|
+
### Règles de validation de dates
|
|
321
|
+
- `notWeekend` : Vérifie qu'une date n'est pas un jour de week-end
|
|
322
|
+
- `notBeforeToday` : Vérifie qu'une date n'est pas antérieure à aujourd'hui
|
|
323
|
+
- `notAfterToday` : Vérifie qu'une date n'est pas postérieure à aujourd'hui
|
|
324
|
+
- `notBeforeDate` : Vérifie qu'une date n'est pas antérieure à une date de référence
|
|
325
|
+
- `notAfterDate` : Vérifie qu'une date n'est pas postérieure à une date de référence
|
|
326
|
+
- `dateExact` : Vérifie qu'une date est exactement égale à une date de référence
|
|
327
|
+
|
|
328
|
+
### Règle personnalisée
|
|
329
|
+
- `custom` : Permet de définir une validation personnalisée via la fonction `validate`
|
|
330
|
+
|
|
331
|
+
## Méthodes disponibles
|
|
332
|
+
|
|
333
|
+
Le composable `useValidation` retourne plusieurs méthodes utiles :
|
|
334
|
+
|
|
335
|
+
- `validateField` : Valide une valeur selon les règles définies
|
|
336
|
+
- `validateOnSubmit` : Vérifie si le formulaire peut être soumis (retourne `true` si aucune erreur)
|
|
337
|
+
- `clearValidation` : Réinitialise l'état de validation (efface erreurs, avertissements et succès)
|
|
316
338
|
|
|
317
339
|
## Bonnes pratiques
|
|
318
340
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import dayjs from 'dayjs'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
import { formatDate } from '../'
|
|
5
|
+
|
|
6
|
+
describe('formatDate', () => {
|
|
7
|
+
it('formats a valid date', () => {
|
|
8
|
+
const date = dayjs('2022-01-01')
|
|
9
|
+
|
|
10
|
+
expect(formatDate(date)).toEqual('01/01/2022')
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
it('does not format an invalid date', () => {
|
|
14
|
+
const date = dayjs(null)
|
|
15
|
+
|
|
16
|
+
expect(formatDate(date)).toEqual('Invalid Date')
|
|
17
|
+
})
|
|
18
|
+
})
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { parseDate } from '@/utils/parseDate'
|
|
2
|
+
|
|
3
|
+
/** Check if a date is after another date (DD/MM/YYYY format) */
|
|
4
|
+
export function isDateAfter(maxDate: string, value: string): boolean {
|
|
5
|
+
const parsedValue = parseDate(value)
|
|
6
|
+
const parsedMaxDate = parseDate(maxDate)
|
|
7
|
+
|
|
8
|
+
return parsedValue.isAfter(parsedMaxDate)
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import dayjs from 'dayjs'
|
|
3
|
+
import { formatDate } from '@/utils/formatDate'
|
|
4
|
+
import { isDateAfter } from '..'
|
|
5
|
+
|
|
6
|
+
describe('isDateAfter', () => {
|
|
7
|
+
const today = formatDate(dayjs())
|
|
8
|
+
const pasteDate = formatDate(dayjs().subtract(1, 'year'))
|
|
9
|
+
const futureDate = formatDate(dayjs().add(1, 'year'))
|
|
10
|
+
|
|
11
|
+
it('returns true with a future date', () => {
|
|
12
|
+
expect(isDateAfter(today, futureDate)).toBeTruthy()
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
it('returns false with a past date', () => {
|
|
16
|
+
expect(isDateAfter(today, pasteDate)).toBeFalsy()
|
|
17
|
+
})
|
|
18
|
+
})
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { parseDate } from '@/utils/parseDate'
|
|
2
|
+
|
|
3
|
+
/** Check if a date is before another date (DD/MM/YYYY format) */
|
|
4
|
+
export function isDateBefore(minDate: string, value: string): boolean {
|
|
5
|
+
const parsedValue = parseDate(value)
|
|
6
|
+
const parsedMinDate = parseDate(minDate)
|
|
7
|
+
|
|
8
|
+
return parsedValue.isBefore(parsedMinDate)
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { isDateBefore } from '../'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
import dayjs from 'dayjs'
|
|
5
|
+
import { formatDate } from '@/utils/formatDate'
|
|
6
|
+
|
|
7
|
+
describe('isDateBefore', () => {
|
|
8
|
+
const today = formatDate(dayjs())
|
|
9
|
+
const pasteDate = formatDate(dayjs().subtract(1, 'year'))
|
|
10
|
+
const futureDate = formatDate(dayjs().add(1, 'year'))
|
|
11
|
+
|
|
12
|
+
it('returns true with a past date', () => {
|
|
13
|
+
expect(isDateBefore(today, pasteDate)).toBeTruthy()
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
it('returns false with a future date', () => {
|
|
17
|
+
expect(isDateBefore(today, futureDate)).toBeFalsy()
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
it('returns false with the current date', () => {
|
|
21
|
+
expect(isDateBefore(today, today)).toBeFalsy()
|
|
22
|
+
})
|
|
23
|
+
})
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import dayjs from 'dayjs'
|
|
2
|
+
|
|
3
|
+
import isBetween from 'dayjs/plugin/isBetween'
|
|
4
|
+
dayjs.extend(isBetween)
|
|
5
|
+
|
|
6
|
+
export type Interval = '()' | '[]' | '[)' | '(]'
|
|
7
|
+
|
|
8
|
+
/** Check if a date is in a range */
|
|
9
|
+
export function isDateInRange(
|
|
10
|
+
date: string,
|
|
11
|
+
startDate: string,
|
|
12
|
+
endDate: string,
|
|
13
|
+
interval: Interval = '[)', // '[' indicates inclusion, '(' indicates exclusion
|
|
14
|
+
): boolean {
|
|
15
|
+
const rangePositive = dayjs(startDate).isBefore(dayjs(endDate))
|
|
16
|
+
|
|
17
|
+
if (rangePositive) {
|
|
18
|
+
return dayjs(date).isBetween(startDate, endDate, null, interval)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { isDateInRange } from '../'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
const start = '2019-10-21'
|
|
5
|
+
const end = '2019-10-27'
|
|
6
|
+
|
|
7
|
+
const date = '2019-10-23'
|
|
8
|
+
|
|
9
|
+
describe('isDateInRange', () => {
|
|
10
|
+
it('returns true if the date is in the range', () => {
|
|
11
|
+
expect(isDateInRange(date, start, end)).toBe(true)
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
it('returns false if the range is negative', () => {
|
|
15
|
+
// Invert start & end date to create a negative range
|
|
16
|
+
expect(isDateInRange(date, end, start)).toBe(false)
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
it('works with a custom interval', () => {
|
|
20
|
+
const start = '2019-10-21'
|
|
21
|
+
const end = '2019-10-27'
|
|
22
|
+
|
|
23
|
+
const date = '2019-10-27'
|
|
24
|
+
|
|
25
|
+
// We change the interval to allow the last day in the range
|
|
26
|
+
expect(isDateInRange(date, start, end, '[]')).toBe(true)
|
|
27
|
+
})
|
|
28
|
+
})
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { parseDate } from '@/utils/parseDate'
|
|
2
|
+
import dayjs from 'dayjs'
|
|
3
|
+
|
|
4
|
+
import isLeapYear from 'dayjs/plugin/isLeapYear'
|
|
5
|
+
|
|
6
|
+
dayjs.extend(isLeapYear)
|
|
7
|
+
|
|
8
|
+
const DATE_SEPARATORS = /[- /.]/
|
|
9
|
+
/** Matches DD/MM/YYYY with one of the DATE_SEPARATORS */
|
|
10
|
+
export const DATE_FORMAT_REGEX
|
|
11
|
+
= /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]\d{4}/
|
|
12
|
+
|
|
13
|
+
export enum DateErrorCodes {
|
|
14
|
+
WRONG_FORMAT = 'wrongFormat',
|
|
15
|
+
MONTH_NOT_MATCH = 'monthNotMatch',
|
|
16
|
+
NOT_LEAP_YEAR = 'notALeapYear',
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Check if a date is valid */
|
|
20
|
+
export function isDateValid(date: string): string | true {
|
|
21
|
+
if (!date.match(DATE_FORMAT_REGEX)) {
|
|
22
|
+
return DateErrorCodes.WRONG_FORMAT
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const DAYS_IN_MONTH = [
|
|
26
|
+
31,
|
|
27
|
+
28, // Check leap year later
|
|
28
|
+
31,
|
|
29
|
+
30,
|
|
30
|
+
31,
|
|
31
|
+
30,
|
|
32
|
+
31,
|
|
33
|
+
31,
|
|
34
|
+
30,
|
|
35
|
+
31,
|
|
36
|
+
30,
|
|
37
|
+
31,
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
const parsedDate = date.split(DATE_SEPARATORS)
|
|
41
|
+
|
|
42
|
+
const day = parseInt(parsedDate[0], 10)
|
|
43
|
+
const month = parseInt(parsedDate[1], 10)
|
|
44
|
+
|
|
45
|
+
if (month !== 2) {
|
|
46
|
+
if (day > DAYS_IN_MONTH[month - 1]) {
|
|
47
|
+
return DateErrorCodes.MONTH_NOT_MATCH
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const parsed = parseDate(date)
|
|
55
|
+
const isLeap = parsed.isLeapYear()
|
|
56
|
+
|
|
57
|
+
if (isLeap && day > 29) {
|
|
58
|
+
return DateErrorCodes.MONTH_NOT_MATCH
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!isLeap && day >= 29) {
|
|
62
|
+
return DateErrorCodes.NOT_LEAP_YEAR
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { isDateValid } from '../index'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
describe('isDateValid', () => {
|
|
5
|
+
it('returns an error when the date is not valid', () => {
|
|
6
|
+
const date = '99/99/9999'
|
|
7
|
+
|
|
8
|
+
expect(typeof isDateValid(date)).toBe('string')
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('returns an error when the format is invalid', () => {
|
|
12
|
+
const date = '2020-04-16'
|
|
13
|
+
|
|
14
|
+
expect(typeof isDateValid(date)).toBe('string')
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('returns an error when the day does not match the month', () => {
|
|
18
|
+
const date = '31/11/2019' // Only 30 days in November
|
|
19
|
+
|
|
20
|
+
expect(typeof isDateValid(date)).toBe('string')
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it('returns an error when it is february (not leap year) and the day does not match the month', () => {
|
|
24
|
+
const date = '29/02/2019' // Not a leap year, only 28 days
|
|
25
|
+
|
|
26
|
+
expect(typeof isDateValid(date)).toBe('string')
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('returns an error when it is february (leap year) and the day does not match the month', () => {
|
|
30
|
+
const date = '30/02/2020' // Leap year, 29 days
|
|
31
|
+
|
|
32
|
+
expect(typeof isDateValid(date)).toBe('string')
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
it('returns true when it is february and the date is valid', () => {
|
|
36
|
+
const date = '15/02/2019'
|
|
37
|
+
|
|
38
|
+
expect(isDateValid(date)).toBe(true)
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it('returns true when the date is valid', () => {
|
|
42
|
+
const date = '14/09/2019'
|
|
43
|
+
|
|
44
|
+
expect(isDateValid(date)).toBe(true)
|
|
45
|
+
})
|
|
46
|
+
})
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** From https://emailregex.com/ */
|
|
2
|
+
export const EMAIL_REGEXP
|
|
3
|
+
// eslint-disable-next-line no-control-regex
|
|
4
|
+
= /^(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/
|
|
5
|
+
|
|
6
|
+
/** Check if an email is valid */
|
|
7
|
+
export function isEmailValid(email: string): boolean {
|
|
8
|
+
return Boolean(EMAIL_REGEXP.exec(email))
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import dayjs from 'dayjs'
|
|
2
|
+
|
|
3
|
+
export const WEEKEND_DAYS = ['Saturday', 'Sunday']
|
|
4
|
+
|
|
5
|
+
/** Check if a date is Saturday or Sunday */
|
|
6
|
+
export function isWeekend(date: string): boolean {
|
|
7
|
+
const day = dayjs(date).format('dddd')
|
|
8
|
+
|
|
9
|
+
return WEEKEND_DAYS.includes(day)
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isWeekend } from '../'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
describe('isWeekend', () => {
|
|
5
|
+
it('returns true if the day is in a weekend', () => {
|
|
6
|
+
const date = '2019-10-26' // Saturday
|
|
7
|
+
|
|
8
|
+
expect(isWeekend(date)).toBe(true)
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('returns false if the day is not in a weekend', () => {
|
|
12
|
+
const date = '2019-10-21' // Monday
|
|
13
|
+
|
|
14
|
+
expect(isWeekend(date)).toBe(false)
|
|
15
|
+
})
|
|
16
|
+
})
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import dayjs from 'dayjs'
|
|
2
|
+
|
|
3
|
+
import customParseFormat from 'dayjs/plugin/customParseFormat'
|
|
4
|
+
|
|
5
|
+
dayjs.extend(customParseFormat)
|
|
6
|
+
|
|
7
|
+
/** Parse a date with dayjs */
|
|
8
|
+
export function parseDate(value: string, format = 'DD/MM/YYYY'): dayjs.Dayjs {
|
|
9
|
+
// Currently dayjs doesn't work well with timezone offsets and parsing
|
|
10
|
+
// To fix this, we set the hour based on timezone offset
|
|
11
|
+
// so we don't go back or forward multiple hours
|
|
12
|
+
|
|
13
|
+
/** Timezone offset in minutes */
|
|
14
|
+
const timezoneOffset = (new Date()).getTimezoneOffset()
|
|
15
|
+
|
|
16
|
+
let offset = '00'
|
|
17
|
+
|
|
18
|
+
if (timezoneOffset > 0) {
|
|
19
|
+
offset = '14'
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
offset = '04'
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const dateWithTime = `${value} ${offset}:00:00`
|
|
26
|
+
const formatWithTime = `${format} HH:mm:ss`
|
|
27
|
+
|
|
28
|
+
return dayjs(dateWithTime, formatWithTime, true)
|
|
29
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import dayjs from 'dayjs'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
import { parseDate } from '../index'
|
|
5
|
+
|
|
6
|
+
const RESULT_DATE_FORMAT = 'YYYY-MM-DD'
|
|
7
|
+
|
|
8
|
+
describe('parseDate', () => {
|
|
9
|
+
it('returns a working dayjs instance', () => {
|
|
10
|
+
const date = dayjs().format('DD/MM/YYYY')
|
|
11
|
+
const parsedDate = dayjs().format(RESULT_DATE_FORMAT)
|
|
12
|
+
|
|
13
|
+
expect(parseDate(date).format(RESULT_DATE_FORMAT)).toBe(parsedDate)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
it('returns a working dayjs instance with custom date format', () => {
|
|
17
|
+
const DATE_FORMAT = 'DD MM YYYY'
|
|
18
|
+
|
|
19
|
+
const date = dayjs().format(DATE_FORMAT)
|
|
20
|
+
const parsedDate = dayjs().format(RESULT_DATE_FORMAT)
|
|
21
|
+
|
|
22
|
+
expect(parseDate(date, DATE_FORMAT).format(RESULT_DATE_FORMAT)).toBe(
|
|
23
|
+
parsedDate,
|
|
24
|
+
)
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
it('returns a working dayjs instance with a positive timezone offset', () => {
|
|
28
|
+
const date = dayjs().format('DD/MM/YYYY')
|
|
29
|
+
const parsedDate = dayjs().format(RESULT_DATE_FORMAT)
|
|
30
|
+
|
|
31
|
+
// Mock getTimezoneOffset
|
|
32
|
+
const originalGetTimezoneOffset = Date.prototype.getTimezoneOffset
|
|
33
|
+
Date.prototype.getTimezoneOffset = () => 160
|
|
34
|
+
|
|
35
|
+
expect(parseDate(date).format(RESULT_DATE_FORMAT)).toBe(parsedDate)
|
|
36
|
+
|
|
37
|
+
Date.prototype.getTimezoneOffset = originalGetTimezoneOffset
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
it('returns a working dayjs instance with a neutral timezone offset', () => {
|
|
41
|
+
const date = dayjs().format('DD/MM/YYYY')
|
|
42
|
+
const parsedDate = dayjs().format(RESULT_DATE_FORMAT)
|
|
43
|
+
|
|
44
|
+
// Mock getTimezoneOffset
|
|
45
|
+
const originalGetTimezoneOffset = Date.prototype.getTimezoneOffset
|
|
46
|
+
Date.prototype.getTimezoneOffset = () => 0
|
|
47
|
+
|
|
48
|
+
expect(parseDate(date).format(RESULT_DATE_FORMAT)).toBe(parsedDate)
|
|
49
|
+
|
|
50
|
+
Date.prototype.getTimezoneOffset = originalGetTimezoneOffset
|
|
51
|
+
})
|
|
52
|
+
})
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {Meta} from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Guide Du Dev/Règles De Validation/Les règles de validation" />
|
|
4
|
+
|
|
5
|
+
# Les règles de validation
|
|
6
|
+
|
|
7
|
+
Les règles de validation permettent de vérifier la validité des données saisies dans un formulaire. Elles peuvent être utilisées en combinaison d'autres règles de `synapse` ou de personnalisées.
|
|
8
|
+
|
|
9
|
+
Pour plus d'informations sur les règles de validation, consultez la [documentation de `Vuetify`](https://vuetifyjs.com/en/components/forms/#rules).
|
|
10
|
+
|
|
11
|
+
## Détails d'utilisation
|
|
12
|
+
|
|
13
|
+
Les règles de validation sont des fonctions qui prennent en paramètre la valeur du champ de formulaire à valider. Elles retournent un `boolean` ou une `string` en fonction de la validité de la valeur.
|
|
14
|
+
|
|
15
|
+
Ce package fournie des fonctions d'ordre supérieur pour faciliter la création de règles de validation personnalisées. le nom de ces fonctions se termine par `Fn`.
|
|
16
|
+
Elles prennent en paramètre des données de configuration et retournent une fonction de validation. Cette fonction de validation peut être utilisée comme règle d'un champ de formulaire.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Meta, Canvas, Source } from '@storybook/blocks';
|
|
2
|
+
import * as DoMatchPatternStories from './DoMatchPattern.stories';
|
|
3
|
+
|
|
4
|
+
<Meta of={DoMatchPatternStories} />
|
|
5
|
+
|
|
6
|
+
# Règle de validation `doMatchPattern`
|
|
7
|
+
|
|
8
|
+
La règle de validation `doMatchPattern` permet de vérifier qu'une chaîne de caractères correspond à un motif donné.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
Pour utiliser cette règle de validation, vous devez importer la fonction d'ordre supérieur `doMatchPatternFn` depuis le package `@cnamts/synapse`.
|
|
13
|
+
|
|
14
|
+
<Source dark code={`
|
|
15
|
+
import { doMatchPatternFn } from '@cnamts/synapse';
|
|
16
|
+
`} />
|
|
17
|
+
|
|
18
|
+
Vous devez ensuite faire appel à cette fonction en lui passant en paramètre le motif que vous souhaitez vérifier.
|
|
19
|
+
|
|
20
|
+
<Source dark code={`
|
|
21
|
+
const isEmail = doMatchPatternFn(/^[\w-]+@([\w-]+\.)+[\w-]+$/);
|
|
22
|
+
`} />
|
|
23
|
+
|
|
24
|
+
Vous pouvez ensuite utiliser la fonction retournée comme règle d'un champs de formulaire.
|
|
25
|
+
|
|
26
|
+
<Source dark code={`
|
|
27
|
+
<script setup lang="ts">
|
|
28
|
+
import { doMatchPatternFn } from '@cnamts/synapse';
|
|
29
|
+
import { VTextField } from 'vuetify/components';
|
|
30
|
+
|
|
31
|
+
const isEmail = doMatchPatternFn(/^[\w-]+@([\w-]+\.)+[\w-]+$/);
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<template>
|
|
35
|
+
<VTextField
|
|
36
|
+
:rules="[isEmail]"
|
|
37
|
+
label="Email"
|
|
38
|
+
/>
|
|
39
|
+
</template>
|
|
40
|
+
`} />
|
|
41
|
+
|
|
42
|
+
## API
|
|
43
|
+
|
|
44
|
+
<Source dark code={`
|
|
45
|
+
doMatchPatternFn(
|
|
46
|
+
pattern: RegExp,
|
|
47
|
+
errorMessages?: {
|
|
48
|
+
default: string;
|
|
49
|
+
}
|
|
50
|
+
): (value: string) => true | string;
|
|
51
|
+
`} />
|
|
52
|
+
|
|
53
|
+
### Arguments
|
|
54
|
+
|
|
55
|
+
- `pattern` : expression régulière à utiliser pour vérifier la chaîne de caractères.
|
|
56
|
+
- `errorMessages` : objet optionnel permettant de personnaliser les messages d'erreur. Les clés disponibles sont :
|
|
57
|
+
- `default` : message d'erreur par défaut.
|
|
58
|
+
|
|
59
|
+
### Valeurs de retour
|
|
60
|
+
|
|
61
|
+
Retourne une fonction pouvant être utilisée comme règle de validation pour un champs de formulaire Vuetify.
|
|
62
|
+
|
|
63
|
+
## Exemples
|
|
64
|
+
|
|
65
|
+
<Canvas of={DoMatchPatternStories.Default} />
|
|
66
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/vue3'
|
|
2
|
+
import { VTextField } from 'vuetify/components'
|
|
3
|
+
import { doMatchPatternFn } from './index'
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Guide du dev/Règles De Validation/doMatchPattern',
|
|
7
|
+
component: doMatchPatternFn,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const Default: StoryObj<unknown> = {
|
|
11
|
+
render: () => {
|
|
12
|
+
return {
|
|
13
|
+
components: { VTextField },
|
|
14
|
+
setup() {
|
|
15
|
+
const matchTwoDigits = doMatchPatternFn(/^[0-9]{2}$/)
|
|
16
|
+
return { matchTwoDigits }
|
|
17
|
+
},
|
|
18
|
+
template: `
|
|
19
|
+
<VTextField
|
|
20
|
+
:rules="[matchTwoDigits]"
|
|
21
|
+
label="Deux chiffres"
|
|
22
|
+
variant="outlined"
|
|
23
|
+
/>
|
|
24
|
+
`,
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
parameters: {
|
|
28
|
+
sourceCode: [
|
|
29
|
+
{
|
|
30
|
+
name: 'Script',
|
|
31
|
+
code: `
|
|
32
|
+
<script setup lang="ts">
|
|
33
|
+
import { VTextField } from 'vuetify/components'
|
|
34
|
+
import { doMatchPatternFn } from '@cnamts/synapse'
|
|
35
|
+
|
|
36
|
+
const matchTwoDigits = doMatchPatternFn(/^[0-9]{2}$/)
|
|
37
|
+
</script>
|
|
38
|
+
`,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Template',
|
|
42
|
+
code: `
|
|
43
|
+
<template>
|
|
44
|
+
<VTextField
|
|
45
|
+
:rules="[matchTwoDigits]"
|
|
46
|
+
label="Deux chiffres"
|
|
47
|
+
variant="outlined"
|
|
48
|
+
/>
|
|
49
|
+
</template>
|
|
50
|
+
`,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const CustomMessage: StoryObj<unknown> = {
|
|
57
|
+
render: () => {
|
|
58
|
+
return {
|
|
59
|
+
components: { VTextField },
|
|
60
|
+
setup() {
|
|
61
|
+
const twoDigits = doMatchPatternFn(
|
|
62
|
+
/^[0-9]{2}$/,
|
|
63
|
+
{ default: 'Veuillez saisir deux chiffres.' },
|
|
64
|
+
)
|
|
65
|
+
return { twoDigits }
|
|
66
|
+
},
|
|
67
|
+
template: `
|
|
68
|
+
<VTextField
|
|
69
|
+
:rules="[twoDigits]"
|
|
70
|
+
label="Deux chiffres"
|
|
71
|
+
variant="outlined"
|
|
72
|
+
/>
|
|
73
|
+
`,
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
parameters: {
|
|
77
|
+
sourceCode: [
|
|
78
|
+
{
|
|
79
|
+
name: 'Script',
|
|
80
|
+
code: `
|
|
81
|
+
<script setup lang="ts">
|
|
82
|
+
import { VTextField } from 'vuetify/components'
|
|
83
|
+
import { doMatchPatternFn } from '@cnamts/synapse'
|
|
84
|
+
|
|
85
|
+
const twoDigits = doMatchPatternFn(
|
|
86
|
+
/^[0-9]{2}$/,
|
|
87
|
+
{ default: 'Veuillez saisir deux chiffres.' },
|
|
88
|
+
)
|
|
89
|
+
</script>
|
|
90
|
+
`,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Template',
|
|
94
|
+
code: `
|
|
95
|
+
<template>
|
|
96
|
+
<VTextField
|
|
97
|
+
:rules="[twoDigits]"
|
|
98
|
+
label="Deux chiffres"
|
|
99
|
+
variant="outlined"
|
|
100
|
+
/>
|
|
101
|
+
</template>
|
|
102
|
+
`,
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
}
|