@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,28 @@
|
|
|
1
|
+
import { ruleMessage } from '@/utils/ruleMessage'
|
|
2
|
+
import type {
|
|
3
|
+
ValidationRule,
|
|
4
|
+
ValidationResult,
|
|
5
|
+
ErrorMessages,
|
|
6
|
+
Value,
|
|
7
|
+
} from '../types'
|
|
8
|
+
|
|
9
|
+
import { defaultErrorMessages } from './locales'
|
|
10
|
+
|
|
11
|
+
/** Check that the value match the specified pattern */
|
|
12
|
+
export function doMatchPatternFn(
|
|
13
|
+
pattern: RegExp,
|
|
14
|
+
errorMessages: ErrorMessages<number> = defaultErrorMessages,
|
|
15
|
+
): ValidationRule {
|
|
16
|
+
return (value: Value): ValidationResult => {
|
|
17
|
+
if (!value) {
|
|
18
|
+
return true
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const matches = value.match(pattern)
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
(matches && matches.length > 0)
|
|
25
|
+
|| ruleMessage(errorMessages, 'default')
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { doMatchPatternFn } from '..'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
describe('doMatchPatternFn', () => {
|
|
5
|
+
it('should return true if the value is empty', () => {
|
|
6
|
+
const rule = doMatchPatternFn(/^[A-Z]+$/)
|
|
7
|
+
|
|
8
|
+
expect(rule('')).toBe(true)
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('should return true if the value matches the pattern', () => {
|
|
12
|
+
const rule = doMatchPatternFn(/^[A-Z]+$/)
|
|
13
|
+
|
|
14
|
+
expect(rule('ABC')).toBe(true)
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('should return an error if the value does not match the pattern', () => {
|
|
18
|
+
const rule = doMatchPatternFn(/^[A-Z]+$/)
|
|
19
|
+
|
|
20
|
+
expect(typeof rule('abc')).toBe('string')
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it('should return a custom error message if the validation fails', () => {
|
|
24
|
+
const rule = doMatchPatternFn(/^[A-Z]+$/, {
|
|
25
|
+
default: 'test',
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
expect(rule('abc')).toBe('test')
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
it('should not return a custom error message if the validation fails', () => {
|
|
32
|
+
const rule = doMatchPatternFn(/^[A-Z]+$/, {
|
|
33
|
+
default: 'test',
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
expect(rule('ABC')).toBe(true)
|
|
37
|
+
})
|
|
38
|
+
})
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './doMatchPattern/index'
|
|
2
|
+
export * from './isDateValid/index'
|
|
3
|
+
export * from './isExactLength/index'
|
|
4
|
+
export * from './isMaxLength/index'
|
|
5
|
+
export * from './isMinLength/index'
|
|
6
|
+
export * from './isNotAfterDate/index'
|
|
7
|
+
export * from './isNotBeforeDate/index'
|
|
8
|
+
export * from './isNotBeforeToday/index'
|
|
9
|
+
export * from './isNotAfterToday/index'
|
|
10
|
+
export * from './isRequired/index'
|
|
11
|
+
export * from './isValidEmail/index'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Meta, Canvas, Source } from '@storybook/blocks';
|
|
2
|
+
import * as IsDateValidStories from './IsDateValid.stories';
|
|
3
|
+
|
|
4
|
+
<Meta of={IsDateValidStories} />
|
|
5
|
+
|
|
6
|
+
# Règle de validation `isDateValid`
|
|
7
|
+
|
|
8
|
+
La règle de validation `isDateValid` permet de vérifier si une chaîne de caractères est une date au format *DD/MM/YYYY*.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
Pour utiliser cette règle de validation, vous devez importer la fonction d'ordre supérieur `isDateValidFn` depuis le package `@cnamts/synapse`.
|
|
13
|
+
|
|
14
|
+
<Source dark code={`
|
|
15
|
+
import { isDateValidFn } from '@cnamts/synapse';
|
|
16
|
+
`} />
|
|
17
|
+
|
|
18
|
+
Vous devez ensuite faire appel à cette fonction pour obtenir la règle de validation.
|
|
19
|
+
|
|
20
|
+
<Source dark code={`
|
|
21
|
+
const isDateValid = isDateValidFn(/* options */);
|
|
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 { isDateValidFn } from '@cnamts/synapse';
|
|
29
|
+
import { VTextField } from 'vuetify/components';
|
|
30
|
+
|
|
31
|
+
const dateValid = isDateValidFn(/* options */);
|
|
32
|
+
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<VTextField
|
|
37
|
+
:rules="[dateValid]"
|
|
38
|
+
label="Date"
|
|
39
|
+
/>
|
|
40
|
+
</template>
|
|
41
|
+
`} />
|
|
42
|
+
|
|
43
|
+
Si vous n'utilisez cette règle sans options, vous pouvez faire appel à la fonction `isDateValid`.
|
|
44
|
+
|
|
45
|
+
<Source dark code={`
|
|
46
|
+
<script setup lang="ts">
|
|
47
|
+
import { isDateValid } from '@cnamts/synapse';
|
|
48
|
+
import { VTextField } from 'vuetify/components';
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<template>
|
|
52
|
+
<VTextField
|
|
53
|
+
:rules="[isDateValid]"
|
|
54
|
+
label="Date"
|
|
55
|
+
/>
|
|
56
|
+
</template>
|
|
57
|
+
|
|
58
|
+
`} />
|
|
59
|
+
|
|
60
|
+
## API
|
|
61
|
+
|
|
62
|
+
<Source dark code={`
|
|
63
|
+
isDateValidFn(
|
|
64
|
+
errorMessages?: {
|
|
65
|
+
default: string;
|
|
66
|
+
wrongFormat: string;
|
|
67
|
+
monthNotMatch: string;
|
|
68
|
+
notALeapYear: string;
|
|
69
|
+
}
|
|
70
|
+
): (value: string) => true | string;
|
|
71
|
+
`} />
|
|
72
|
+
|
|
73
|
+
### Arguments
|
|
74
|
+
|
|
75
|
+
- `errorMessages` : objet optionnel permettant de personnaliser les messages d'erreur. Les clés disponibles sont :
|
|
76
|
+
- `default` : message d'erreur par défaut.
|
|
77
|
+
- `wrongFormat` : message d'erreur si le format de la date n'est pas respecté.
|
|
78
|
+
- `monthNotMatch` : message d'erreur si le mois n'est pas valide.
|
|
79
|
+
- `notALeapYear` : message d'erreur si l'année n'est pas bissextile.
|
|
80
|
+
|
|
81
|
+
### Valeurs de retour
|
|
82
|
+
|
|
83
|
+
Retourne une fonction pouvant être utilisée comme règle de validation pour un champs de formulaire Vuetify.
|
|
84
|
+
|
|
85
|
+
## Exemples
|
|
86
|
+
|
|
87
|
+
<Canvas of={IsDateValidStories.Default} />.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/vue3'
|
|
2
|
+
import { VTextField } from 'vuetify/components'
|
|
3
|
+
import { isDateValid, isDateValidFn } from './index'
|
|
4
|
+
import { ref } from 'vue'
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: 'Guide du dev/Règles De Validation/isDateValid',
|
|
8
|
+
component: isDateValid,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const Default: StoryObj<unknown> = {
|
|
12
|
+
render: () => {
|
|
13
|
+
return {
|
|
14
|
+
components: { VTextField },
|
|
15
|
+
setup() {
|
|
16
|
+
const date = ref('31/11/1993')
|
|
17
|
+
return { date, isDateValid }
|
|
18
|
+
},
|
|
19
|
+
template: `
|
|
20
|
+
<VTextField
|
|
21
|
+
v-model="date"
|
|
22
|
+
:rules="[isDateValid]"
|
|
23
|
+
label="Date valide"
|
|
24
|
+
validate-on="eager blur"
|
|
25
|
+
variant="outlined"
|
|
26
|
+
/>
|
|
27
|
+
`,
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
parameters: {
|
|
31
|
+
sourceCode: [
|
|
32
|
+
{
|
|
33
|
+
name: 'Script',
|
|
34
|
+
code: `
|
|
35
|
+
<script setup lang="ts">
|
|
36
|
+
import { VTextField } from 'vuetify/components'
|
|
37
|
+
import { isDateValid } from '@cnamts/synapse'
|
|
38
|
+
</script>
|
|
39
|
+
`,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Template',
|
|
43
|
+
code: `
|
|
44
|
+
<template>
|
|
45
|
+
<VTextField
|
|
46
|
+
:rules="[isDateValid]"
|
|
47
|
+
label="Date valide"
|
|
48
|
+
variant="outlined"
|
|
49
|
+
/>
|
|
50
|
+
</template>
|
|
51
|
+
`,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const CustomMessage: StoryObj<unknown> = {
|
|
58
|
+
render: () => {
|
|
59
|
+
return {
|
|
60
|
+
components: { VTextField },
|
|
61
|
+
setup() {
|
|
62
|
+
const dateValid = isDateValidFn({
|
|
63
|
+
default: 'The date you entered is invalid',
|
|
64
|
+
wrongFormat: 'The format you entered is invalid',
|
|
65
|
+
monthNotMatch: 'The day you entered exceeds the number of days in the corresponding month',
|
|
66
|
+
notALeapYear: 'The day you entered is invalid because the corresponding year is not a leap year',
|
|
67
|
+
})
|
|
68
|
+
return { dateValid }
|
|
69
|
+
},
|
|
70
|
+
template: `
|
|
71
|
+
<VTextField
|
|
72
|
+
:rules="[dateValid]"
|
|
73
|
+
label="Date"
|
|
74
|
+
validate-on="blur"
|
|
75
|
+
variant="outlined"
|
|
76
|
+
/>
|
|
77
|
+
`,
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
parameters: {
|
|
81
|
+
sourceCode: [
|
|
82
|
+
{
|
|
83
|
+
name: 'Script',
|
|
84
|
+
code: `
|
|
85
|
+
<script setup lang="ts">
|
|
86
|
+
import { VTextField } from 'vuetify/components'
|
|
87
|
+
import { isDateValidFn } from '@cnamts/synapse'
|
|
88
|
+
|
|
89
|
+
const isDateValidCustom = isDateValid({
|
|
90
|
+
default: 'The date you entered is invalid',
|
|
91
|
+
wrongFormat: 'The format you entered is invalid',
|
|
92
|
+
monthNotMatch: 'The day you entered exceeds the number of days in the corresponding month',
|
|
93
|
+
notALeapYear: 'The day you entered is invalid because the corresponding year is not a leap year',
|
|
94
|
+
})
|
|
95
|
+
</script>
|
|
96
|
+
`,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'Template',
|
|
100
|
+
code: `
|
|
101
|
+
<template>
|
|
102
|
+
<VTextField
|
|
103
|
+
:rules="[isDateValidCustom]"
|
|
104
|
+
label="Date"
|
|
105
|
+
validate-on="blur"
|
|
106
|
+
variant="outlined"
|
|
107
|
+
/>
|
|
108
|
+
</template>
|
|
109
|
+
`,
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ruleMessage } from '@/utils/ruleMessage'
|
|
2
|
+
import type {
|
|
3
|
+
ValidationRule,
|
|
4
|
+
ValidationResult,
|
|
5
|
+
ErrorMessages,
|
|
6
|
+
Value,
|
|
7
|
+
} from '../types'
|
|
8
|
+
|
|
9
|
+
import { defaultErrorMessages } from './locales'
|
|
10
|
+
|
|
11
|
+
import { isDateValid as checkIfDateValid } from '@/utils/functions/validation/isDateValid'
|
|
12
|
+
|
|
13
|
+
/** Check that the value is a valid date (DD/MM/YYYY format) */
|
|
14
|
+
export function isDateValidFn(
|
|
15
|
+
errorMessages: ErrorMessages = defaultErrorMessages,
|
|
16
|
+
): ValidationRule {
|
|
17
|
+
return (value: Value): ValidationResult => {
|
|
18
|
+
if (!value) {
|
|
19
|
+
return true
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const validationResult = checkIfDateValid(value)
|
|
23
|
+
const errorMessage
|
|
24
|
+
= typeof validationResult === 'string'
|
|
25
|
+
? ruleMessage(errorMessages, validationResult)
|
|
26
|
+
: true
|
|
27
|
+
|
|
28
|
+
return errorMessage || ruleMessage(errorMessages, 'default')
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const isDateValid = isDateValidFn()
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ErrorMessages } from '../types'
|
|
2
|
+
|
|
3
|
+
export const defaultErrorMessages: ErrorMessages = {
|
|
4
|
+
default: 'La date saisie n’est pas valide.',
|
|
5
|
+
wrongFormat: 'Le format de la date n’est pas valide.',
|
|
6
|
+
monthNotMatch:
|
|
7
|
+
'Le jour saisi dépasse le nombre de jours dans le mois correspondant.',
|
|
8
|
+
notALeapYear:
|
|
9
|
+
'Le jour saisi est invalide car l’année correspondante n’est pas une année bissextile.',
|
|
10
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isDateValid, isDateValidFn } from '../'
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
const validDate = '14/09/2019'
|
|
5
|
+
const invalidDate = '99/99/9999'
|
|
6
|
+
|
|
7
|
+
describe('isDateValid', () => {
|
|
8
|
+
it('returns an error when the date is not valid', () => {
|
|
9
|
+
expect(typeof isDateValid(invalidDate)).toBe('string')
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
it('returns true when the date is valid', () => {
|
|
13
|
+
expect(isDateValid(validDate)).toBe(true)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
it('returns true if the value is falsy', () => {
|
|
17
|
+
expect(isDateValid('')).toBe(true)
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
it('works with custom error messages', () => {
|
|
21
|
+
const rule = isDateValidFn({
|
|
22
|
+
default: 'test',
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
expect(rule(invalidDate)).toBe('test')
|
|
26
|
+
})
|
|
27
|
+
})
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Meta, Canvas, Source } from '@storybook/blocks';
|
|
2
|
+
import * as IsExactLengthStories from './IsExactLength.stories';
|
|
3
|
+
|
|
4
|
+
<Meta of={IsExactLengthStories} />
|
|
5
|
+
|
|
6
|
+
# Règle de validation `isExactLength`
|
|
7
|
+
|
|
8
|
+
La règle de validation `isExactLength` permet d'imposer une longueur exacte à une chaîne de caractères dans un champs de formulaire.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
Pour utiliser cette règle de validation, vous devez importer la fonction d'ordre supérieur `isExactLengthFn` depuis le package `@cnamts/synapse`.
|
|
13
|
+
|
|
14
|
+
<Source dark code={`
|
|
15
|
+
import { isExactLengthFn } from '@cnamts/synapse';
|
|
16
|
+
`} />
|
|
17
|
+
|
|
18
|
+
Vous devez ensuite faire appel à cette fonction en lui passant en paramètre la longueur exacte que vous souhaitez imposer.
|
|
19
|
+
|
|
20
|
+
<Source dark code={`
|
|
21
|
+
const length15 = isExactLengthFn(15);
|
|
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 { isExactLengthFn } from '@cnamts/synapse';
|
|
29
|
+
import { VTextField } from 'vuetify/components';
|
|
30
|
+
|
|
31
|
+
const length15 = isExactLengthFn(15);
|
|
32
|
+
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<VTextField
|
|
37
|
+
:rules="[length15]"
|
|
38
|
+
label="Max 15 characters"
|
|
39
|
+
/>
|
|
40
|
+
</template>
|
|
41
|
+
`} />
|
|
42
|
+
|
|
43
|
+
## API
|
|
44
|
+
|
|
45
|
+
`} />typescript
|
|
46
|
+
isExactLengthFn(
|
|
47
|
+
lengthValue: number,
|
|
48
|
+
ignoreSpaces?: boolean
|
|
49
|
+
errorMessages?: {
|
|
50
|
+
default?: (length: number) => string;
|
|
51
|
+
}
|
|
52
|
+
): (value: string) => true | string;
|
|
53
|
+
`} />
|
|
54
|
+
|
|
55
|
+
### Arguments
|
|
56
|
+
|
|
57
|
+
- `lengthValue` : nombre entier positif représentant la longueur exacte à imposer.
|
|
58
|
+
- `ignoreSpaces` : booléen optionnel permettant d'ignorer les espaces dans le calcul de la longueur. Par défaut, la valeur est `false`.
|
|
59
|
+
- `errorMessages` : objet optionnel permettant de personnaliser les messages d'erreur. Les clés disponibles sont :
|
|
60
|
+
- `default` : message d'erreur par défaut. Vous pouvez utiliser la variable `{{ length }}` pour afficher la longueur attendue.
|
|
61
|
+
|
|
62
|
+
### Valeurs de retour
|
|
63
|
+
|
|
64
|
+
Retourne une fonction pouvant être utilisée comme règle de validation pour un champs de formulaire Vuetify.
|
|
65
|
+
|
|
66
|
+
## Exemples
|
|
67
|
+
|
|
68
|
+
<Canvas of={IsExactLengthStories.Default} />
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/vue3'
|
|
2
|
+
import { VTextField } from 'vuetify/components'
|
|
3
|
+
import { isExactLengthFn } from './index'
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Guide du dev/Règles De Validation/isExactLength',
|
|
7
|
+
component: isExactLengthFn,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const Default: StoryObj<unknown> = {
|
|
11
|
+
render: () => {
|
|
12
|
+
return {
|
|
13
|
+
components: { VTextField },
|
|
14
|
+
setup() {
|
|
15
|
+
const length10 = isExactLengthFn(10)
|
|
16
|
+
return { length10 }
|
|
17
|
+
},
|
|
18
|
+
template: `
|
|
19
|
+
<VTextField
|
|
20
|
+
:rules="[length10]"
|
|
21
|
+
label="Max 10 characters"
|
|
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 { isExactLengthFn } from '@cnamts/synapse'
|
|
35
|
+
|
|
36
|
+
const length10 = isExactLengthFn(10)
|
|
37
|
+
</script>
|
|
38
|
+
`,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Template',
|
|
42
|
+
code: `
|
|
43
|
+
<template>
|
|
44
|
+
<VTextField
|
|
45
|
+
:rules="[length10]"
|
|
46
|
+
label="Max 10 characters"
|
|
47
|
+
variant="outlined"
|
|
48
|
+
/>
|
|
49
|
+
</template>
|
|
50
|
+
`,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const DoNotCountSpaces: StoryObj<unknown> = {
|
|
57
|
+
render: () => {
|
|
58
|
+
return {
|
|
59
|
+
components: { VTextField },
|
|
60
|
+
setup() {
|
|
61
|
+
const length10 = isExactLengthFn(10, true)
|
|
62
|
+
return { length10 }
|
|
63
|
+
},
|
|
64
|
+
template: `
|
|
65
|
+
<VTextField
|
|
66
|
+
:rules="[length10]"
|
|
67
|
+
label="Max 10 characters"
|
|
68
|
+
variant="outlined"
|
|
69
|
+
/>
|
|
70
|
+
`,
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
parameters: {
|
|
74
|
+
sourceCode: [
|
|
75
|
+
{
|
|
76
|
+
name: 'Script',
|
|
77
|
+
code: `
|
|
78
|
+
<script setup lang="ts">
|
|
79
|
+
import { VTextField } from 'vuetify/components'
|
|
80
|
+
import { isExactLengthFn } from '@cnamts/synapse'
|
|
81
|
+
|
|
82
|
+
const length10 = isExactLengthFn(10, true)
|
|
83
|
+
</script>
|
|
84
|
+
`,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'Template',
|
|
88
|
+
code: `
|
|
89
|
+
<template>
|
|
90
|
+
<VTextField
|
|
91
|
+
:rules="[length10]"
|
|
92
|
+
label="Max 10 characters"
|
|
93
|
+
variant="outlined"
|
|
94
|
+
/>
|
|
95
|
+
</template>
|
|
96
|
+
`,
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export const CustomMessage: StoryObj<unknown> = {
|
|
103
|
+
render: () => {
|
|
104
|
+
return {
|
|
105
|
+
components: { VTextField },
|
|
106
|
+
setup() {
|
|
107
|
+
const messages = {
|
|
108
|
+
default: (length: number) => `The length of this field must be exactly ${length} characters.`,
|
|
109
|
+
}
|
|
110
|
+
const length10 = isExactLengthFn(10, false, messages)
|
|
111
|
+
return { length10 }
|
|
112
|
+
},
|
|
113
|
+
template: `
|
|
114
|
+
<VTextField
|
|
115
|
+
:rules="[length10]"
|
|
116
|
+
label="This field must be 10 characters long."
|
|
117
|
+
/>
|
|
118
|
+
`,
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
parameters: {
|
|
122
|
+
sourceCode: [
|
|
123
|
+
{
|
|
124
|
+
name: 'Script',
|
|
125
|
+
code: `
|
|
126
|
+
<script setup lang="ts">
|
|
127
|
+
import { VTextField } from 'vuetify/components'
|
|
128
|
+
import { isExactLengthFn } from '@cnamts/synapse'
|
|
129
|
+
|
|
130
|
+
const messages = {
|
|
131
|
+
default: (length: number) => \`The length of this field must be exactly \${length} characters.\`,
|
|
132
|
+
}
|
|
133
|
+
const length10 = isExactLengthFn(10, false, messages)
|
|
134
|
+
</script>
|
|
135
|
+
`,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: 'Template',
|
|
139
|
+
code: `
|
|
140
|
+
<template>
|
|
141
|
+
<VTextField
|
|
142
|
+
:rules="[length10]"
|
|
143
|
+
label="This field must be 10 characters long."
|
|
144
|
+
variant="outlined"
|
|
145
|
+
/>
|
|
146
|
+
</template>
|
|
147
|
+
`,
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
},
|
|
151
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ruleMessage } from '
|
|
1
|
+
import { ruleMessage } from '@/utils/ruleMessage'
|
|
2
2
|
import type {
|
|
3
3
|
ValidationRule,
|
|
4
4
|
ValidationResult,
|
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
import { defaultErrorMessages } from './locales'
|
|
10
10
|
|
|
11
11
|
/** Check that the value does not exceeds the specified length */
|
|
12
|
-
export function
|
|
12
|
+
export function isExactLengthFn(
|
|
13
13
|
lengthValue: number,
|
|
14
14
|
ignoreSpaces = false,
|
|
15
15
|
errorMessages: ErrorMessages<number> = defaultErrorMessages,
|
|
@@ -29,5 +29,3 @@ export function exactLengthFn(
|
|
|
29
29
|
)
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
export const exactLength = exactLengthFn
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { isExactLengthFn } from '../'
|
|
3
|
+
|
|
4
|
+
describe('exactLength', () => {
|
|
5
|
+
it('returns an error when the value is longer than the exact length', () => {
|
|
6
|
+
const rule = isExactLengthFn(2)
|
|
7
|
+
|
|
8
|
+
expect(typeof rule('0 1')).toBe('string')
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('returns an error when the value is smaller than the exact length', () => {
|
|
12
|
+
const rule = isExactLengthFn(2)
|
|
13
|
+
|
|
14
|
+
expect(typeof rule('s')).toBe('string')
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('returns true when the value is the exact length without counting spaces', () => {
|
|
18
|
+
const rule = isExactLengthFn(2, true)
|
|
19
|
+
|
|
20
|
+
expect(rule('x x')).toBe(true)
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it('returns true when the value is equal than the exact length', () => {
|
|
24
|
+
const rule = isExactLengthFn(2)
|
|
25
|
+
|
|
26
|
+
expect(rule('01')).toBe(true)
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('returns true if the value is empty', () => {
|
|
30
|
+
const rule = isExactLengthFn(10)
|
|
31
|
+
|
|
32
|
+
expect(rule('')).toBe(true)
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
it('returns true if the value is null', () => {
|
|
36
|
+
const rule = isExactLengthFn(10)
|
|
37
|
+
|
|
38
|
+
expect(rule(null)).toBe(true)
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it('works with custom error messages', () => {
|
|
42
|
+
const rule = isExactLengthFn(1, false, {
|
|
43
|
+
default: 'test',
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
expect(rule('01')).toBe('test')
|
|
47
|
+
})
|
|
48
|
+
})
|