@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.
Files changed (731) hide show
  1. package/dist/{src/components → components}/BackBtn/BackBtn.d.ts +4 -1
  2. package/dist/components/CookiesSelection/CookiesSelection.d.ts +611 -0
  3. package/dist/{src/components → components}/CopyBtn/config.d.ts +1 -0
  4. package/dist/{src/components → components}/Customs/SyInputSelect/SyInputSelect.d.ts +2 -0
  5. package/dist/components/Customs/SySelect/SySelect.d.ts +1534 -0
  6. package/dist/{src/components → components}/Customs/SyTextField/SyTextField.d.ts +6 -4
  7. package/dist/{src/components → components}/DatePicker/DatePicker.d.ts +60 -66
  8. package/dist/{src/components → components}/DatePicker/DateTextInput.d.ts +47 -50
  9. package/dist/components/DialogBox/DialogBox.d.ts +274 -0
  10. package/dist/{src/components → components}/DownloadBtn/DownloadBtn.d.ts +7 -0
  11. package/dist/components/DownloadBtn/locales.d.ts +3 -0
  12. package/dist/components/FilterInline/AccessibiliteItems.d.ts +30 -0
  13. package/dist/{src/components → components}/FilterInline/FilterInline.d.ts +2 -3
  14. package/dist/{src/components → components}/FilterSideBar/FilterSideBar.d.ts +1 -1
  15. package/dist/{src/components → components}/FranceConnectBtn/locales.d.ts +1 -0
  16. package/dist/{src/components → components}/HeaderToolbar/HeaderToolbar.d.ts +5 -1
  17. package/dist/{src/components → components}/NirField/NirField.d.ts +39 -28
  18. package/dist/{src/components → components}/NotificationBar/NotificationBar.d.ts +5 -5
  19. package/dist/{src/components → components}/PasswordField/PasswordField.d.ts +6 -4
  20. package/dist/{src/components → components}/PeriodField/PeriodField.d.ts +223 -211
  21. package/dist/{src/components → components}/PhoneField/PhoneField.d.ts +49 -1
  22. package/dist/components/SyAlert/AccessibiliteItems.d.ts +29 -0
  23. package/dist/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +4 -0
  24. package/dist/components/UploadWorkflow/AccessibiliteItems.d.ts +29 -0
  25. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +783 -0
  26. package/dist/components/UploadWorkflow/constants/ExpertiseLevelEnum.d.ts +4 -0
  27. package/dist/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  28. package/dist/{src/components → components}/index.d.ts +4 -0
  29. package/dist/composables/date/useDateFormat.d.ts +26 -0
  30. package/dist/composables/date/useDateInitialization.d.ts +18 -0
  31. package/dist/composables/date/useDatePickerAccessibility.d.ts +9 -0
  32. package/dist/{src/composables → composables}/useFilterable/useFilterable.d.ts +1 -1
  33. package/dist/{src/composables → composables}/validation/useValidation.d.ts +1 -0
  34. package/dist/design-system-v3.js +4959 -3902
  35. package/dist/design-system-v3.umd.cjs +1 -1
  36. package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamColors.d.ts +5 -10
  37. package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamLightTheme.d.ts +0 -2
  38. package/dist/{src/designTokens → designTokens}/tokens/pa/paColors.d.ts +5 -10
  39. package/dist/{src/designTokens → designTokens}/tokens/pa/paLightTheme.d.ts +4 -5
  40. package/dist/{src/main.d.ts → main.d.ts} +1 -0
  41. package/dist/style.css +1 -1
  42. package/dist/utils/formatDate/index.d.ts +3 -0
  43. package/dist/utils/functions/validation/isDateAfter/index.d.ts +2 -0
  44. package/dist/utils/functions/validation/isDateBefore/index.d.ts +2 -0
  45. package/dist/utils/functions/validation/isDateInRange/index.d.ts +3 -0
  46. package/dist/utils/functions/validation/isDateValid/index.d.ts +9 -0
  47. package/dist/utils/functions/validation/isWeekend/index.d.ts +3 -0
  48. package/dist/utils/parseDate/index.d.ts +3 -0
  49. package/dist/utils/rules/doMatchPattern/index.d.ts +3 -0
  50. package/dist/utils/rules/index.d.ts +11 -0
  51. package/dist/utils/rules/isDateValid/index.d.ts +4 -0
  52. package/dist/utils/rules/isExactLength/index.d.ts +3 -0
  53. package/dist/utils/rules/isExactLength/locales.d.ts +2 -0
  54. package/dist/utils/rules/isMaxLength/index.d.ts +3 -0
  55. package/dist/utils/rules/isMaxLength/locales.d.ts +2 -0
  56. package/dist/utils/rules/isMinLength/index.d.ts +3 -0
  57. package/dist/utils/rules/isMinLength/locales.d.ts +2 -0
  58. package/dist/utils/rules/isNotAfterDate/index.d.ts +3 -0
  59. package/dist/utils/rules/isNotAfterToday/index.d.ts +4 -0
  60. package/dist/utils/rules/isNotAfterToday/locales.d.ts +2 -0
  61. package/dist/utils/rules/isNotBeforeDate/index.d.ts +3 -0
  62. package/dist/utils/rules/isNotBeforeDate/locales.d.ts +2 -0
  63. package/dist/utils/rules/isNotBeforeToday/index.d.ts +4 -0
  64. package/dist/utils/rules/isNotBeforeToday/locales.d.ts +2 -0
  65. package/dist/utils/rules/isRequired/index.d.ts +4 -0
  66. package/dist/utils/rules/isRequired/locales.d.ts +2 -0
  67. package/dist/utils/rules/isValidEmail/index.d.ts +4 -0
  68. package/dist/utils/rules/isValidEmail/locales.d.ts +2 -0
  69. package/dist/{src/vuetifyConfig.d.ts → vuetifyConfig.d.ts} +1 -0
  70. package/package.json +10 -7
  71. package/src/assets/_radius.scss +12 -6
  72. package/src/assets/settings.scss +8 -0
  73. package/src/components/BackBtn/BackBtn.stories.ts +34 -6
  74. package/src/components/BackBtn/BackBtn.vue +17 -8
  75. package/src/components/BackBtn/tests/BackBtn.spec.ts +2 -2
  76. package/src/components/BackBtn/tests/__snapshots__/BackBtn.spec.ts.snap +39 -3
  77. package/src/components/BackToTopBtn/tests/__snapshots__/BackToTopBtn.spec.ts.snap +98 -6
  78. package/src/components/ChipList/ChipList.stories.ts +26 -27
  79. package/src/components/ChipList/ChipList.vue +6 -1
  80. package/src/components/ChipList/config.ts +1 -0
  81. package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +31 -5
  82. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +570 -101
  83. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +2 -2
  84. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +28 -2
  85. package/src/components/CookiesSelection/CookiesTable/tests/__snapshots__/CookiesTable.spec.ts.snap +13 -1
  86. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +568 -99
  87. package/src/components/CopyBtn/CopyBtn.stories.ts +2 -2
  88. package/src/components/CopyBtn/CopyBtn.vue +28 -22
  89. package/src/components/CopyBtn/config.ts +2 -1
  90. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +28 -3
  91. package/src/components/Customs/SyBtnSelect/SyBtnSelect.mdx +1 -1
  92. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +6 -5
  93. package/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.ts +2 -2
  94. package/src/components/Customs/SyInputSelect/SyInputSelect.mdx +1 -1
  95. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +3 -0
  96. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +4 -0
  97. package/src/components/Customs/SySelect/SySelect.mdx +1 -1
  98. package/src/components/Customs/SySelect/SySelect.vue +31 -6
  99. package/src/components/Customs/SyTextField/SyTextField.mdx +2 -2
  100. package/src/components/Customs/SyTextField/SyTextField.stories.ts +241 -2
  101. package/src/components/Customs/SyTextField/SyTextField.vue +9 -6
  102. package/src/components/DataList/DataList.vue +2 -2
  103. package/src/components/DataList/DataListLoading/DataListLoading.vue +2 -2
  104. package/src/components/DataList/DataListLoading/tests/DataListLoading.spec.ts +1 -1
  105. package/src/components/DataList/tests/DataList.spec.ts +10 -10
  106. package/src/components/DataListGroup/tests/DataListGroup.spec.ts +1 -1
  107. package/src/components/DataListItem/DataListItem.vue +9 -9
  108. package/src/components/DataListItem/tests/DataListItem.spec.ts +5 -5
  109. package/src/components/DatePicker/DatePicker.mdx +1 -1
  110. package/src/components/DatePicker/DatePicker.stories.ts +187 -15
  111. package/src/components/DatePicker/DatePicker.vue +161 -355
  112. package/src/components/DatePicker/DateTextInput.vue +97 -257
  113. package/src/components/DatePicker/tests/DatePicker.spec.ts +118 -48
  114. package/src/components/DatePicker/tests/DateTextInput.spec.ts +206 -10
  115. package/src/components/DialogBox/DialogBox.vue +4 -4
  116. package/src/components/DialogBox/tests/DialogBox.spec.ts +1 -1
  117. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +158 -19
  118. package/src/components/DownloadBtn/DownloadBtn.stories.ts +18 -4
  119. package/src/components/DownloadBtn/DownloadBtn.vue +37 -3
  120. package/src/components/DownloadBtn/locales.ts +3 -0
  121. package/src/components/DownloadBtn/tests/__snapshots__/DownloadBtn.spec.ts.snap +77 -6
  122. package/src/components/ErrorPage/ErrorPage.vue +2 -2
  123. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +212 -38
  124. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +796 -86
  125. package/src/components/FileList/Accessibilite.stories.ts +1 -1
  126. package/src/components/FileList/AccessibiliteItems.ts +22 -0
  127. package/src/components/FilePreview/tests/FilePreview.spec.ts +1 -1
  128. package/src/components/FilePreview/tests/__snapshots__/FilePreview.spec.ts.snap +27 -5
  129. package/src/components/FileUpload/FileUpload.stories.ts +9 -7
  130. package/src/components/FilterInline/Accessibilite.mdx +14 -0
  131. package/src/components/FilterInline/Accessibilite.stories.ts +216 -0
  132. package/src/components/FilterInline/AccessibiliteItems.ts +132 -0
  133. package/src/components/FilterInline/FilterInline.stories.ts +308 -2
  134. package/src/components/FilterInline/FilterInline.vue +3 -3
  135. package/src/components/FilterInline/constants/ExpertiseLevelEnum.ts +4 -0
  136. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +235 -21
  137. package/src/components/FilterSideBar/Accessibilite.mdx +14 -0
  138. package/src/components/FilterSideBar/Accessibilite.stories.ts +216 -0
  139. package/src/components/FilterSideBar/AccessibiliteItems.ts +153 -0
  140. package/src/components/FilterSideBar/FilterSideBar.vue +1 -1
  141. package/src/components/FilterSideBar/constants/ExpertiseLevelEnum.ts +4 -0
  142. package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +144 -15
  143. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +92 -18
  144. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +18 -21
  145. package/src/components/FranceConnectBtn/locales.ts +2 -0
  146. package/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.ts +1 -1
  147. package/src/components/FranceConnectBtn/tests/__snapshots__/FranceConnectBtn.spec.ts.snap +235 -26
  148. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/__snapshots__/HeaderMenuItem.spec.ts.snap +5 -1
  149. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +20 -6
  150. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +68 -37
  151. package/src/components/HeaderToolbar/HeaderToolbar.mdx +1 -1
  152. package/src/components/HeaderToolbar/HeaderToolbar.vue +346 -117
  153. package/src/components/HeaderToolbar/tests/{HeaderToolbar.spec.ts → HeaderToolBar.spec.ts} +2 -2
  154. package/src/components/LangBtn/LangBtn.vue +1 -0
  155. package/src/components/LangBtn/tests/__snapshots__/LangBtn.spec.ts.snap +41 -3
  156. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +55 -8
  157. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +10 -1
  158. package/src/components/NirField/NirField.stories.ts +172 -7
  159. package/src/components/NirField/NirField.vue +16 -14
  160. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +229 -37
  161. package/src/components/NotificationBar/NotificationBar.mdx +2 -2
  162. package/src/components/NotificationBar/NotificationBar.stories.ts +59 -11
  163. package/src/components/NotificationBar/NotificationBar.vue +42 -114
  164. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +28 -33
  165. package/src/components/NotificationBar/tests/__snapshots__/NotificationBar.spec.ts.snap +30 -3
  166. package/src/components/PageContainer/tests/__snapshots__/PageContainer.spec.ts.snap +16 -3
  167. package/src/components/PaginatedTable/PaginatedTable.vue +6 -10
  168. package/src/components/PaginatedTable/tests/__snapshots__/PaginatedTable.spec.ts.snap +731 -94
  169. package/src/components/PasswordField/PasswordField.stories.ts +204 -17
  170. package/src/components/PasswordField/PasswordField.vue +9 -6
  171. package/src/components/PeriodField/PeriodField.stories.ts +227 -131
  172. package/src/components/PeriodField/PeriodField.vue +203 -152
  173. package/src/components/PeriodField/tests/PeriodField.spec.ts +146 -0
  174. package/src/components/PhoneField/PhoneField.stories.ts +174 -0
  175. package/src/components/PhoneField/PhoneField.vue +81 -17
  176. package/src/components/PhoneField/tests/PhoneField.spec.ts +40 -0
  177. package/src/components/RangeField/RangeSlider/tests/__snapshots__/rangeSlider.spec.ts.snap +80 -17
  178. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +981 -162
  179. package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +634 -25
  180. package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +477 -38
  181. package/src/components/RatingPicker/RatingPicker.stories.ts +7 -7
  182. package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +218 -10
  183. package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +476 -41
  184. package/src/components/SearchListField/SearchListField.stories.ts +2 -2
  185. package/src/components/SelectBtnField/SelectBtnField.stories.ts +1 -1
  186. package/src/components/SelectBtnField/SelectBtnField.vue +11 -15
  187. package/src/components/SelectBtnField/config.ts +1 -1
  188. package/src/components/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +881 -65
  189. package/src/components/SkipLink/tests/__snapshots__/skipLink.spec.ts.snap +15 -1
  190. package/src/components/SocialMediaLinks/tests/__snapshots__/SocialMediaLinks.spec.ts.snap +110 -16
  191. package/src/components/SubHeader/SubHeader.stories.ts +1 -1
  192. package/src/components/SubHeader/tests/SubHeader.spec.ts +1 -1
  193. package/src/components/SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap +78 -6
  194. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +1034 -124
  195. package/src/components/UploadWorkflow/Accessibilite.mdx +14 -0
  196. package/src/components/UploadWorkflow/Accessibilite.stories.ts +216 -0
  197. package/src/components/UploadWorkflow/AccessibiliteItems.ts +192 -0
  198. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +11 -11
  199. package/src/components/UploadWorkflow/UploadWorkflow.vue +2 -2
  200. package/src/components/UploadWorkflow/constants/ExpertiseLevelEnum.ts +4 -0
  201. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +328 -29
  202. package/src/components/Usages/tests/Usages.spec.ts +183 -0
  203. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +8 -8
  204. package/src/components/index.ts +4 -0
  205. package/src/composables/date/tests/useDateFormat.spec.ts +67 -0
  206. package/src/composables/date/tests/useDateInitialization.spec.ts +89 -0
  207. package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +180 -0
  208. package/src/composables/date/useDateFormat.ts +94 -0
  209. package/src/composables/date/useDateInitialization.ts +92 -0
  210. package/src/composables/date/useDatePickerAccessibility.ts +123 -0
  211. package/src/composables/rules/tests/useFieldValidation.spec.ts +385 -4
  212. package/src/composables/useFilterable/useFilterable.ts +5 -4
  213. package/src/composables/validation/useValidation.ts +15 -0
  214. package/src/designTokens/tokens/cnam/cnamColors.ts +5 -10
  215. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +0 -2
  216. package/src/designTokens/tokens/cnam/cnamSemantic.ts +3 -3
  217. package/src/designTokens/tokens/pa/paColors.ts +5 -10
  218. package/src/designTokens/tokens/pa/paLightTheme.ts +4 -5
  219. package/src/designTokens/tokens/pa/paSemantic.ts +3 -3
  220. package/src/main.ts +1 -0
  221. package/src/stories/Accessibilite/Aculturation/AuditDesignSystem.mdx +28 -0
  222. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +2 -2
  223. package/src/stories/Accessibilite/Audit/RGAA.mdx +6 -6
  224. package/src/stories/Accessibilite/Introduction.mdx +2 -1
  225. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +1 -1
  226. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +1 -1
  227. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +8 -11
  228. package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +77 -0
  229. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru.mdx +9 -3
  230. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +2 -2
  231. package/src/stories/Demarrer/Introduction.stories.ts +3 -3
  232. package/src/stories/Demarrer/Releases.mdx +8 -0
  233. package/src/stories/Demarrer/Releases.stories.ts +66 -0
  234. package/src/stories/DesignTokens/ColorDisplay.vue +58 -0
  235. package/src/stories/DesignTokens/Colors.mdx +81 -212
  236. package/src/stories/DesignTokens/Conteneurs.stories.ts +3 -3
  237. package/src/stories/DesignTokens/colors.stories.ts +1078 -0
  238. package/src/stories/GuideDuDev/LesBreackingChanges.mdx +36 -0
  239. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +32 -10
  240. package/src/utils/formatDate/index.ts +6 -0
  241. package/src/utils/formatDate/tests/formatDate.spec.ts +18 -0
  242. package/src/utils/functions/validation/isDateAfter/index.ts +9 -0
  243. package/src/utils/functions/validation/isDateAfter/tests/isDateAfter.spec.ts +18 -0
  244. package/src/utils/functions/validation/isDateBefore/index.ts +9 -0
  245. package/src/utils/functions/validation/isDateBefore/tests/isDateBefore.spec.ts +23 -0
  246. package/src/utils/functions/validation/isDateInRange/index.ts +22 -0
  247. package/src/utils/functions/validation/isDateInRange/tests/isDateInRange.spec.ts +28 -0
  248. package/src/utils/functions/validation/isDateValid/index.ts +67 -0
  249. package/src/utils/functions/validation/isDateValid/tests/isDateValid.spec.ts +46 -0
  250. package/src/utils/functions/validation/isEmailValid/index.ts +9 -0
  251. package/src/utils/functions/validation/isWeekend/index.ts +10 -0
  252. package/src/utils/functions/validation/isWeekend/tests/isWeekend.spec.ts +16 -0
  253. package/src/utils/parseDate/index.ts +29 -0
  254. package/src/utils/parseDate/tests/parseDate.spec.ts +52 -0
  255. package/src/utils/rules/Rules.mdx +16 -0
  256. package/src/utils/rules/doMatchPattern/DoMachPattern.mdx +66 -0
  257. package/src/utils/rules/doMatchPattern/DoMatchPattern.stories.ts +106 -0
  258. package/src/utils/rules/doMatchPattern/index.ts +28 -0
  259. package/src/utils/rules/doMatchPattern/locales.ts +5 -0
  260. package/src/utils/rules/doMatchPattern/tests/matchPattern.spec.ts +38 -0
  261. package/src/utils/rules/index.ts +11 -0
  262. package/src/utils/rules/isDateValid/IsDateValid.mdx +87 -0
  263. package/src/utils/rules/isDateValid/IsDateValid.stories.ts +113 -0
  264. package/src/utils/rules/isDateValid/index.ts +32 -0
  265. package/src/utils/rules/isDateValid/locales.ts +10 -0
  266. package/src/utils/rules/isDateValid/tests/isDateValid.spec.ts +27 -0
  267. package/src/utils/rules/isExactLength/IsExactLenght.mdx +68 -0
  268. package/src/utils/rules/isExactLength/IsExactLength.stories.ts +151 -0
  269. package/src/utils/rules/{exactLength → isExactLength}/index.ts +2 -4
  270. package/src/utils/rules/isExactLength/tests/exactLength.spec.ts +48 -0
  271. package/src/utils/rules/isMaxLength/IsMaxLength.mdx +68 -0
  272. package/src/utils/rules/isMaxLength/IsMaxLength.stories.ts +152 -0
  273. package/src/utils/rules/isMaxLength/index.ts +30 -0
  274. package/src/utils/rules/isMaxLength/locales.ts +6 -0
  275. package/src/utils/rules/isMaxLength/tests/isMaxLength.spec.ts +42 -0
  276. package/src/utils/rules/isMinLength/IsMinLength.mdx +68 -0
  277. package/src/utils/rules/isMinLength/IsMinLength.stories.ts +152 -0
  278. package/src/utils/rules/isMinLength/index.ts +30 -0
  279. package/src/utils/rules/isMinLength/locales.ts +6 -0
  280. package/src/utils/rules/isMinLength/tests/isMinLength.spec.ts +42 -0
  281. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +68 -0
  282. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.stories.ts +109 -0
  283. package/src/utils/rules/isNotAfterDate/index.ts +25 -0
  284. package/src/utils/rules/isNotAfterDate/locales.ts +6 -0
  285. package/src/utils/rules/isNotAfterDate/tests/isNotAfterDate.spec.ts +25 -0
  286. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +83 -0
  287. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.stories.ts +110 -0
  288. package/src/utils/rules/isNotAfterToday/index.ts +28 -0
  289. package/src/utils/rules/isNotAfterToday/locales.ts +5 -0
  290. package/src/utils/rules/isNotAfterToday/tests/isNotAfterToday.spec.ts +30 -0
  291. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +68 -0
  292. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.stories.ts +114 -0
  293. package/src/utils/rules/isNotBeforeDate/index.ts +25 -0
  294. package/src/utils/rules/isNotBeforeDate/locales.ts +6 -0
  295. package/src/utils/rules/isNotBeforeDate/tests/IsNotBeforeDate.spec.ts +25 -0
  296. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +83 -0
  297. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.stories.ts +110 -0
  298. package/src/utils/rules/isNotBeforeToday/index.ts +28 -0
  299. package/src/utils/rules/isNotBeforeToday/locales.ts +5 -0
  300. package/src/utils/rules/isNotBeforeToday/tests/notBeforeToday.spec.ts +36 -0
  301. package/src/utils/rules/isRequired/IsRequired.mdx +81 -0
  302. package/src/utils/rules/isRequired/IsRequired.stories.ts +101 -0
  303. package/src/utils/rules/{required → isRequired}/index.ts +3 -3
  304. package/src/utils/rules/{required/tests/index.spec.ts → isRequired/tests/isRequred.spec.ts} +9 -9
  305. package/src/utils/rules/isValidEmail/IsValidEmail.mdx +81 -0
  306. package/src/utils/rules/isValidEmail/IsValidEmail.stories.ts +101 -0
  307. package/src/utils/rules/{email → isValidEmail}/index.ts +3 -5
  308. package/src/utils/rules/{email/tests/email.spec.ts → isValidEmail/tests/isValidEmail.spec.ts} +5 -5
  309. package/dist/src/components/Amelipro/types/languages.d.ts +0 -6
  310. package/dist/src/components/Amelipro/types/types.d.ts +0 -65
  311. package/dist/src/components/BackBtn/tests/BackBtn.spec.d.ts +0 -1
  312. package/dist/src/components/BackToTopBtn/tests/BackToTopBtn.spec.d.ts +0 -1
  313. package/dist/src/components/ChipList/tests/chipList.spec.d.ts +0 -1
  314. package/dist/src/components/CollapsibleList/tests/CollapsibleList.spec.d.ts +0 -1
  315. package/dist/src/components/ContextualMenu/tests/ContextualMenu.spec.d.ts +0 -1
  316. package/dist/src/components/CookieBanner/tests/CookieBanner.spec.d.ts +0 -1
  317. package/dist/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.d.ts +0 -1
  318. package/dist/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.d.ts +0 -1
  319. package/dist/src/components/CookiesSelection/tests/CookiesSelection.spec.d.ts +0 -1
  320. package/dist/src/components/CopyBtn/tests/CopyBtn.spec.d.ts +0 -1
  321. package/dist/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.d.ts +0 -1
  322. package/dist/src/components/Customs/SyInputSelect/tests/SyInputSelect.spec.d.ts +0 -1
  323. package/dist/src/components/Customs/SySelect/tests/SySelect.spec.d.ts +0 -1
  324. package/dist/src/components/Customs/SyTextField/tests/SyTextField.spec.d.ts +0 -1
  325. package/dist/src/components/DataList/DataListLoading/tests/DataListLoading.spec.d.ts +0 -1
  326. package/dist/src/components/DataList/tests/DataList.spec.d.ts +0 -1
  327. package/dist/src/components/DataListGroup/tests/DataListGroup.spec.d.ts +0 -1
  328. package/dist/src/components/DataListItem/tests/DataListItem.spec.d.ts +0 -1
  329. package/dist/src/components/DatePicker/tests/DatePicker.spec.d.ts +0 -1
  330. package/dist/src/components/DatePicker/tests/DateTextInput.spec.d.ts +0 -1
  331. package/dist/src/components/DialogBox/tests/DialogBox.spec.d.ts +0 -1
  332. package/dist/src/components/DownloadBtn/tests/DownloadBtn.spec.d.ts +0 -1
  333. package/dist/src/components/ErrorPage/tests/ErrorPage.spec.d.ts +0 -1
  334. package/dist/src/components/ExternalLinks/tests/ExternalLinks.spec.d.ts +0 -1
  335. package/dist/src/components/FileList/tests/FileList.spec.d.ts +0 -1
  336. package/dist/src/components/FilePreview/tests/FilePreview.spec.d.ts +0 -1
  337. package/dist/src/components/FileUpload/tests/FileUpload.spec.d.ts +0 -1
  338. package/dist/src/components/FilterInline/tests/FilterInline.spec.d.ts +0 -1
  339. package/dist/src/components/FilterSideBar/tests/FilterSideBar.spec.d.ts +0 -1
  340. package/dist/src/components/FooterBar/tests/FooterBar.spec.d.ts +0 -1
  341. package/dist/src/components/FooterBar/tests/FooterBarConfig.spec.d.ts +0 -1
  342. package/dist/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.d.ts +0 -1
  343. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/HeaderMenuItem.spec.d.ts +0 -1
  344. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.d.ts +0 -1
  345. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.d.ts +0 -1
  346. package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.d.ts +0 -1
  347. package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.d.ts +0 -1
  348. package/dist/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.d.ts +0 -1
  349. package/dist/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.d.ts +0 -1
  350. package/dist/src/components/HeaderBar/tests/HeaderBar.spec.d.ts +0 -1
  351. package/dist/src/components/HeaderBar/tests/useHeaderResponsiveMode.spec.d.ts +0 -1
  352. package/dist/src/components/HeaderBar/tests/useScrollDirection.spec.d.ts +0 -1
  353. package/dist/src/components/HeaderLoading/tests/HeaderLoading.spec.d.ts +0 -1
  354. package/dist/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.d.ts +0 -1
  355. package/dist/src/components/HeaderToolbar/tests/HeaderToolbar.spec.d.ts +0 -1
  356. package/dist/src/components/LangBtn/tests/Config.spec.d.ts +0 -1
  357. package/dist/src/components/LangBtn/tests/LangBtn.spec.d.ts +0 -1
  358. package/dist/src/components/Logo/tests/Logo.spec.d.ts +0 -1
  359. package/dist/src/components/LogoBrandSection/tests/LogoBrandSection.spec.d.ts +0 -1
  360. package/dist/src/components/MaintenancePage/tests/MaintenancePage.spec.d.ts +0 -1
  361. package/dist/src/components/NirField/config.d.ts +0 -15
  362. package/dist/src/components/NirField/tests/NirField.spec.d.ts +0 -1
  363. package/dist/src/components/NotFoundPage/tests/NotFoundPage.spec.d.ts +0 -1
  364. package/dist/src/components/NotificationBar/tests/NotificationBar.spec.d.ts +0 -1
  365. package/dist/src/components/PageContainer/tests/PageContainer.spec.d.ts +0 -1
  366. package/dist/src/components/PaginatedTable/tests/PaginatedTable.spec.d.ts +0 -1
  367. package/dist/src/components/PasswordField/tests/PasswordField.spec.d.ts +0 -1
  368. package/dist/src/components/PeriodField/tests/PeriodField.spec.d.ts +0 -1
  369. package/dist/src/components/PhoneField/tests/PhoneField.spec.d.ts +0 -1
  370. package/dist/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.d.ts +0 -1
  371. package/dist/src/components/RangeField/RangeSlider/tests/useDoubleSlider.spec.d.ts +0 -1
  372. package/dist/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.d.ts +0 -1
  373. package/dist/src/components/RangeField/RangeSlider/tests/useThumb.spec.d.ts +0 -1
  374. package/dist/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.d.ts +0 -1
  375. package/dist/src/components/RangeField/RangeSlider/tests/useTooltipsNudge.spec.d.ts +0 -1
  376. package/dist/src/components/RangeField/RangeSlider/tests/useTrack.spec.d.ts +0 -1
  377. package/dist/src/components/RangeField/RangeSlider/tests/vAnimateClick.spec.d.ts +0 -1
  378. package/dist/src/components/RangeField/tests/RangeField.spec.d.ts +0 -1
  379. package/dist/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.d.ts +0 -1
  380. package/dist/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.d.ts +0 -1
  381. package/dist/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.d.ts +0 -1
  382. package/dist/src/components/RatingPicker/tests/Rating.spec.d.ts +0 -1
  383. package/dist/src/components/RatingPicker/tests/RatingPicker.spec.d.ts +0 -1
  384. package/dist/src/components/SearchListField/tests/SearchListField.spec.d.ts +0 -1
  385. package/dist/src/components/SelectBtnField/tests/SelectBtnField.spec.d.ts +0 -1
  386. package/dist/src/components/SkipLink/tests/skipLink.spec.d.ts +0 -1
  387. package/dist/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.d.ts +0 -1
  388. package/dist/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.d.ts +0 -1
  389. package/dist/src/components/SubHeader/tests/SubHeader.spec.d.ts +0 -1
  390. package/dist/src/components/SyAlert/tests/SyAlert.spec.d.ts +0 -1
  391. package/dist/src/components/TableToolbar/tests/TableToolbar.spec.d.ts +0 -1
  392. package/dist/src/components/UploadWorkflow/tests/UploadWorkflow.spec.d.ts +0 -1
  393. package/dist/src/components/UserMenuBtn/tests/UserMenuBtn.spec.d.ts +0 -1
  394. package/dist/src/composables/rules/tests/useFieldValidation.spec.d.ts +0 -1
  395. package/dist/src/composables/useFilterable/useFilterable.spec.d.ts +0 -1
  396. package/dist/src/composables/validation/tests/useValidation.spec.d.ts +0 -1
  397. package/dist/src/composables/widthable/tests/widthable.spec.d.ts +0 -1
  398. package/dist/src/utils/calcHumanFileSize/tests/calcHumanFileSize.spec.d.ts +0 -1
  399. package/dist/src/utils/convertToUnit/test/convertToUnit.spec.d.ts +0 -1
  400. package/dist/src/utils/functions/copyToClipboard/tests/copyToClipboard.spec.d.ts +0 -1
  401. package/dist/src/utils/functions/deepCopy/tests/deepCopy.spec.d.ts +0 -1
  402. package/dist/src/utils/functions/downloadFile/tests/downloadFile.spec.d.ts +0 -1
  403. package/dist/src/utils/functions/isEmailValid/tests/isEmailValid.spec.d.ts +0 -1
  404. package/dist/src/utils/functions/throttleDisplayFn/tests/throttleDisplayFn.spec.d.ts +0 -1
  405. package/dist/src/utils/localStorageUtility/tests/localStorageUtility.spec.d.ts +0 -1
  406. package/dist/src/utils/propValidator/tests/propValidator.spec.d.ts +0 -1
  407. package/dist/src/utils/ruleMessage/tests/ruleMessages.spec.d.ts +0 -1
  408. package/dist/src/utils/rules/email/index.d.ts +0 -4
  409. package/dist/src/utils/rules/email/tests/email.spec.d.ts +0 -1
  410. package/dist/src/utils/rules/exactLength/index.d.ts +0 -4
  411. package/dist/src/utils/rules/required/index.d.ts +0 -4
  412. package/dist/src/utils/rules/required/ruleMessageHelper.d.ts +0 -3
  413. package/dist/src/utils/rules/required/tests/index.spec.d.ts +0 -1
  414. package/dist/src/utils/rules/required/tests/rulesMessageHelper.spec.d.ts +0 -1
  415. package/src/components/Amelipro/types/languages.d.ts +0 -6
  416. package/src/components/Amelipro/types/types.d.ts +0 -65
  417. package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +0 -58
  418. package/src/components/NirField/config.ts +0 -16
  419. package/src/utils/functions/isEmailValid/index.ts +0 -8
  420. package/src/utils/rules/required/ruleMessageHelper.ts +0 -14
  421. package/src/utils/rules/required/tests/rulesMessageHelper.spec.ts +0 -22
  422. /package/dist/{src/components → components}/BackBtn/AccessibiliteItems.d.ts +0 -0
  423. /package/dist/{src/components → components}/BackBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
  424. /package/dist/{src/components → components}/BackBtn/locales.d.ts +0 -0
  425. /package/dist/{src/components → components}/BackToTopBtn/AccessibiliteItems.d.ts +0 -0
  426. /package/dist/{src/components → components}/BackToTopBtn/BackToTopBtn.d.ts +0 -0
  427. /package/dist/{src/components → components}/BackToTopBtn/config.d.ts +0 -0
  428. /package/dist/{src/components → components}/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
  429. /package/dist/{src/components → components}/BackToTopBtn/locales.d.ts +0 -0
  430. /package/dist/{src/components → components}/ChipList/AccessibiliteItems.d.ts +0 -0
  431. /package/dist/{src/components → components}/ChipList/ChipList.d.ts +0 -0
  432. /package/dist/{src/components → components}/ChipList/config.d.ts +0 -0
  433. /package/dist/{src/components → components}/ChipList/constants/ExpertiseLevelEnum.d.ts +0 -0
  434. /package/dist/{src/components → components}/ChipList/locales.d.ts +0 -0
  435. /package/dist/{src/components → components}/ChipList/types.d.ts +0 -0
  436. /package/dist/{src/components → components}/CollapsibleList/AccessibiliteItems.d.ts +0 -0
  437. /package/dist/{src/components → components}/CollapsibleList/CollapsibleList.d.ts +0 -0
  438. /package/dist/{src/components → components}/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +0 -0
  439. /package/dist/{src/components → components}/CollapsibleList/types.d.ts +0 -0
  440. /package/dist/{src/components → components}/ContextualMenu/AccessibiliteItems.d.ts +0 -0
  441. /package/dist/{src/components → components}/ContextualMenu/ContextualMenu.d.ts +0 -0
  442. /package/dist/{src/components → components}/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +0 -0
  443. /package/dist/{src/components → components}/ContextualMenu/types.d.ts +0 -0
  444. /package/dist/{src/components → components}/CookieBanner/AccessibiliteItems.d.ts +0 -0
  445. /package/dist/{src/components → components}/CookieBanner/CookieBanner.d.ts +0 -0
  446. /package/dist/{src/components → components}/CookieBanner/config.d.ts +0 -0
  447. /package/dist/{src/components → components}/CookieBanner/constants/ExpertiseLevelEnum.d.ts +0 -0
  448. /package/dist/{src/components → components}/CookieBanner/locales.d.ts +0 -0
  449. /package/dist/{src/components → components}/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +0 -0
  450. /package/dist/{src/components → components}/CookiesSelection/CookiesInformation/locales.d.ts +0 -0
  451. /package/dist/{src/components → components}/CookiesSelection/CookiesTable/CookiesTable.d.ts +0 -0
  452. /package/dist/{src/components → components}/CookiesSelection/CookiesTable/headers.d.ts +0 -0
  453. /package/dist/{src/components → components}/CookiesSelection/locales.d.ts +0 -0
  454. /package/dist/{src/components → components}/CookiesSelection/types.d.ts +0 -0
  455. /package/dist/{src/components → components}/CopyBtn/AccessibiliteItems.d.ts +0 -0
  456. /package/dist/{src/components → components}/CopyBtn/CopyBtn.d.ts +0 -0
  457. /package/dist/{src/components → components}/CopyBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
  458. /package/dist/{src/components → components}/CopyBtn/locales.d.ts +0 -0
  459. /package/dist/{src/components → components}/Customs/SyBtnSelect/AccessibiliteItems.d.ts +0 -0
  460. /package/dist/{src/components → components}/Customs/SyBtnSelect/SyBtnSelect.d.ts +0 -0
  461. /package/dist/{src/components → components}/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +0 -0
  462. /package/dist/{src/components → components}/Customs/SyInputSelect/AccessibiliteItems.d.ts +0 -0
  463. /package/dist/{src/components → components}/Customs/SyInputSelect/config.d.ts +0 -0
  464. /package/dist/{src/components → components}/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +0 -0
  465. /package/dist/{src/components → components}/Customs/SySelect/AccessibiliteItems.d.ts +0 -0
  466. /package/dist/{src/components → components}/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +0 -0
  467. /package/dist/{src/components → components}/Customs/SyTextField/AccessibiliteItems.d.ts +0 -0
  468. /package/dist/{src/components → components}/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +0 -0
  469. /package/dist/{src/components → components}/Customs/SyTextField/types.d.ts +0 -0
  470. /package/dist/{src/components → components}/DataList/AccessibiliteItems.d.ts +0 -0
  471. /package/dist/{src/components → components}/DataList/DataList.d.ts +0 -0
  472. /package/dist/{src/components → components}/DataList/DataListLoading/DataListLoading.d.ts +0 -0
  473. /package/dist/{src/components → components}/DataList/constants/ExpertiseLevelEnum.d.ts +0 -0
  474. /package/dist/{src/components → components}/DataList/locales.d.ts +0 -0
  475. /package/dist/{src/components → components}/DataList/types.d.ts +0 -0
  476. /package/dist/{src/components → components}/DataListGroup/AccessibiliteItems.d.ts +0 -0
  477. /package/dist/{src/components → components}/DataListGroup/DataListGroup.d.ts +0 -0
  478. /package/dist/{src/components → components}/DataListGroup/constants/ExpertiseLevelEnum.d.ts +0 -0
  479. /package/dist/{src/components → components}/DataListGroup/tests/data/dataListGroupItems.d.ts +0 -0
  480. /package/dist/{src/components → components}/DataListGroup/types.d.ts +0 -0
  481. /package/dist/{src/components → components}/DataListItem/DataListItem.d.ts +0 -0
  482. /package/dist/{src/components → components}/DataListItem/config.d.ts +0 -0
  483. /package/dist/{src/components → components}/DataListItem/locales.d.ts +0 -0
  484. /package/dist/{src/components → components}/DataListItem/types.d.ts +0 -0
  485. /package/dist/{src/components → components}/DatePicker/AccessibiliteItems.d.ts +0 -0
  486. /package/dist/{src/components → components}/DatePicker/constants/ExpertiseLevelEnum.d.ts +0 -0
  487. /package/dist/{src/components → components}/DialogBox/AccessibiliteItems.d.ts +0 -0
  488. /package/dist/{src/components → components}/DialogBox/config.d.ts +0 -0
  489. /package/dist/{src/components → components}/DialogBox/constants/ExpertiseLevelEnum.d.ts +0 -0
  490. /package/dist/{src/components → components}/DialogBox/locales.d.ts +0 -0
  491. /package/dist/{src/components → components}/DownloadBtn/AccessibiliteItems.d.ts +0 -0
  492. /package/dist/{src/components → components}/DownloadBtn/config.d.ts +0 -0
  493. /package/dist/{src/components → components}/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +0 -0
  494. /package/dist/{src/components → components}/DownloadBtn/tests/data/filePromise.d.ts +0 -0
  495. /package/dist/{src/components → components}/ErrorPage/AccessibiliteItems.d.ts +0 -0
  496. /package/dist/{src/components → components}/ErrorPage/ErrorPage.d.ts +0 -0
  497. /package/dist/{src/components → components}/ErrorPage/constants/ExpertiseLevelEnum.d.ts +0 -0
  498. /package/dist/{src/components → components}/ErrorPage/locales.d.ts +0 -0
  499. /package/dist/{src/components → components}/ExternalLinks/AccessibiliteItems.d.ts +0 -0
  500. /package/dist/{src/components → components}/ExternalLinks/ExternalLinks.d.ts +0 -0
  501. /package/dist/{src/components → components}/ExternalLinks/config.d.ts +0 -0
  502. /package/dist/{src/components → components}/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +0 -0
  503. /package/dist/{src/components → components}/ExternalLinks/locales.d.ts +0 -0
  504. /package/dist/{src/components → components}/FileList/AccessibiliteItems.d.ts +0 -0
  505. /package/dist/{src/components → components}/FileList/FileList.d.ts +0 -0
  506. /package/dist/{src/components → components}/FileList/UploadItem/UploadItem.d.ts +0 -0
  507. /package/dist/{src/components → components}/FileList/UploadItem/locales.d.ts +0 -0
  508. /package/dist/{src/components → components}/FileList/constants/ExpertiseLevelEnum.d.ts +0 -0
  509. /package/dist/{src/components → components}/FilePreview/AccessibiliteItems.d.ts +0 -0
  510. /package/dist/{src/components → components}/FilePreview/FilePreview.d.ts +0 -0
  511. /package/dist/{src/components → components}/FilePreview/config.d.ts +0 -0
  512. /package/dist/{src/components → components}/FilePreview/constants/ExpertiseLevelEnum.d.ts +0 -0
  513. /package/dist/{src/components → components}/FilePreview/locales.d.ts +0 -0
  514. /package/dist/{src/components → components}/FileUpload/AccessibiliteItems.d.ts +0 -0
  515. /package/dist/{src/components → components}/FileUpload/FileUpload.d.ts +0 -0
  516. /package/dist/{src/components → components}/FileUpload/FileUploadContent.d.ts +0 -0
  517. /package/dist/{src/components → components}/FileUpload/constants/ExpertiseLevelEnum.d.ts +0 -0
  518. /package/dist/{src/components → components}/FileUpload/locales.d.ts +0 -0
  519. /package/dist/{src/components → components}/FileUpload/useFileDrop.d.ts +0 -0
  520. /package/dist/{src/components → components}/FileUpload/validateFiles.d.ts +0 -0
  521. /package/dist/{src/components/FooterBar → components/FilterInline}/constants/ExpertiseLevelEnum.d.ts +0 -0
  522. /package/dist/{src/components → components}/FilterInline/locales.d.ts +0 -0
  523. /package/dist/{src/components/NotificationBar → components/FilterSideBar}/AccessibiliteItems.d.ts +0 -0
  524. /package/dist/{src/components/FranceConnectBtn → components/FilterSideBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
  525. /package/dist/{src/components → components}/FilterSideBar/locales.d.ts +0 -0
  526. /package/dist/{src/components → components}/FooterBar/A11yCompliance.d.ts +0 -0
  527. /package/dist/{src/components → components}/FooterBar/AccessibiliteItems.d.ts +0 -0
  528. /package/dist/{src/components → components}/FooterBar/FooterBar.d.ts +0 -0
  529. /package/dist/{src/components → components}/FooterBar/config.d.ts +0 -0
  530. /package/dist/{src/components/HeaderBar/HeaderBurgerMenu → components/FooterBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
  531. /package/dist/{src/components → components}/FooterBar/defaultSocialMediaLinks.d.ts +0 -0
  532. /package/dist/{src/components → components}/FooterBar/locales.d.ts +0 -0
  533. /package/dist/{src/components → components}/FooterBar/types.d.ts +0 -0
  534. /package/dist/{src/components → components}/FranceConnectBtn/AccessibiliteItems.d.ts +0 -0
  535. /package/dist/{src/components → components}/FranceConnectBtn/FranceConnectBtn.d.ts +0 -0
  536. /package/dist/{src/components/HeaderBar → components/FranceConnectBtn}/constants/ExpertiseLevelEnum.d.ts +0 -0
  537. /package/dist/{src/components → components}/HeaderBar/AccessibiliteItems.d.ts +0 -0
  538. /package/dist/{src/components → components}/HeaderBar/HeaderBar.d.ts +0 -0
  539. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +0 -0
  540. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +0 -0
  541. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +0 -0
  542. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +0 -0
  543. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +0 -0
  544. /package/dist/{src/components/HeaderLoading → components/HeaderBar/HeaderBurgerMenu}/constants/ExpertiseLevelEnum.d.ts +0 -0
  545. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/conts.d.ts +0 -0
  546. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/locals.d.ts +0 -0
  547. /package/dist/{src/components → components}/HeaderBar/HeaderBurgerMenu/useHandleSubMenus.d.ts +0 -0
  548. /package/dist/{src/components → components}/HeaderBar/HeaderLogo/HeaderLogo.d.ts +0 -0
  549. /package/dist/{src/components → components}/HeaderBar/HeaderLogo/locales.d.ts +0 -0
  550. /package/dist/{src/components → components}/HeaderBar/HeaderLogo/logos/Logo-mobile.d.ts +0 -0
  551. /package/dist/{src/components → components}/HeaderBar/HeaderLogo/logos/Logo.d.ts +0 -0
  552. /package/dist/{src/components → components}/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.d.ts +0 -0
  553. /package/dist/{src/components → components}/HeaderBar/HeaderMenuBtn/locals.d.ts +0 -0
  554. /package/dist/{src/components/HeaderToolbar → components/HeaderBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
  555. /package/dist/{src/components → components}/HeaderBar/consts.d.ts +0 -0
  556. /package/dist/{src/components → components}/HeaderBar/locales.d.ts +0 -0
  557. /package/dist/{src/components → components}/HeaderBar/useHeaderResponsiveMode.d.ts +0 -0
  558. /package/dist/{src/components → components}/HeaderBar/useScrollDirection.d.ts +0 -0
  559. /package/dist/{src/components → components}/HeaderLoading/AccessibiliteItems.d.ts +0 -0
  560. /package/dist/{src/components → components}/HeaderLoading/HeaderLoading.d.ts +0 -0
  561. /package/dist/{src/components/LangBtn → components/HeaderLoading}/constants/ExpertiseLevelEnum.d.ts +0 -0
  562. /package/dist/{src/components → components}/HeaderNavigationBar/HeaderNavigationBar.d.ts +0 -0
  563. /package/dist/{src/components → components}/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +0 -0
  564. /package/dist/{src/components → components}/HeaderNavigationBar/HorizontalNavbar/config.d.ts +0 -0
  565. /package/dist/{src/components → components}/HeaderNavigationBar/types.d.ts +0 -0
  566. /package/dist/{src/components → components}/HeaderToolbar/AccessibiliteItems.d.ts +0 -0
  567. /package/dist/{src/components/Logo → components/HeaderToolbar}/constants/ExpertiseLevelEnum.d.ts +0 -0
  568. /package/dist/{src/components → components}/HeaderToolbar/types.d.ts +0 -0
  569. /package/dist/{src/components → components}/LangBtn/AccessibiliteItems.d.ts +0 -0
  570. /package/dist/{src/components → components}/LangBtn/LangBtn.d.ts +0 -0
  571. /package/dist/{src/components → components}/LangBtn/config.d.ts +0 -0
  572. /package/dist/{src/components/LogoBrandSection → components/LangBtn}/constants/ExpertiseLevelEnum.d.ts +0 -0
  573. /package/dist/{src/components → components}/LangBtn/locales.d.ts +0 -0
  574. /package/dist/{src/components → components}/LangBtn/types.d.ts +0 -0
  575. /package/dist/{src/components → components}/Logo/AccessibiliteItems.d.ts +0 -0
  576. /package/dist/{src/components → components}/Logo/Logo.d.ts +0 -0
  577. /package/dist/{src/components → components}/Logo/LogoSize.d.ts +0 -0
  578. /package/dist/{src/components/MaintenancePage → components/Logo}/constants/ExpertiseLevelEnum.d.ts +0 -0
  579. /package/dist/{src/components → components}/Logo/locales.d.ts +0 -0
  580. /package/dist/{src/components → components}/Logo/logoDimensionsMapping.d.ts +0 -0
  581. /package/dist/{src/components → components}/Logo/types.d.ts +0 -0
  582. /package/dist/{src/components → components}/LogoBrandSection/AccessibiliteItems.d.ts +0 -0
  583. /package/dist/{src/components → components}/LogoBrandSection/LogoBrandSection.d.ts +0 -0
  584. /package/dist/{src/components/NirField → components/LogoBrandSection}/constants/ExpertiseLevelEnum.d.ts +0 -0
  585. /package/dist/{src/components → components}/LogoBrandSection/dividerDimensionsMapping.d.ts +0 -0
  586. /package/dist/{src/components → components}/LogoBrandSection/locales.d.ts +0 -0
  587. /package/dist/{src/components → components}/LogoBrandSection/secondaryLogoMapping.d.ts +0 -0
  588. /package/dist/{src/components → components}/LogoBrandSection/types.d.ts +0 -0
  589. /package/dist/{src/components → components}/MaintenancePage/AccessibiliteItems.d.ts +0 -0
  590. /package/dist/{src/components → components}/MaintenancePage/MaintenancePage.d.ts +0 -0
  591. /package/dist/{src/components/NotFoundPage → components/MaintenancePage}/constants/ExpertiseLevelEnum.d.ts +0 -0
  592. /package/dist/{src/components → components}/MaintenancePage/index.d.ts +0 -0
  593. /package/dist/{src/components → components}/MaintenancePage/locales.d.ts +0 -0
  594. /package/dist/{src/components → components}/NirField/AccessibiliteItems.d.ts +0 -0
  595. /package/dist/{src/components/NotificationBar → components/NirField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  596. /package/dist/{src/components → components}/NirField/locales.d.ts +0 -0
  597. /package/dist/{src/components → components}/NirField/nirValidation.d.ts +0 -0
  598. /package/dist/{src/components → components}/NotFoundPage/AccessibiliteItems.d.ts +0 -0
  599. /package/dist/{src/components → components}/NotFoundPage/NotFoundPage.d.ts +0 -0
  600. /package/dist/{src/components/PageContainer → components/NotFoundPage}/constants/ExpertiseLevelEnum.d.ts +0 -0
  601. /package/dist/{src/components → components}/NotFoundPage/locales.d.ts +0 -0
  602. /package/dist/{src/components/PageContainer → components/NotificationBar}/AccessibiliteItems.d.ts +0 -0
  603. /package/dist/{src/components/PaginatedTable → components/NotificationBar}/constants/ExpertiseLevelEnum.d.ts +0 -0
  604. /package/dist/{src/components → components}/NotificationBar/options.d.ts +0 -0
  605. /package/dist/{src/components → components}/NotificationBar/types.d.ts +0 -0
  606. /package/dist/{src/components/SubHeader → components/PageContainer}/AccessibiliteItems.d.ts +0 -0
  607. /package/dist/{src/components → components}/PageContainer/PageContainer.d.ts +0 -0
  608. /package/dist/{src/components/PasswordField → components/PageContainer}/constants/ExpertiseLevelEnum.d.ts +0 -0
  609. /package/dist/{src/components → components}/PaginatedTable/AccessibiliteItems.d.ts +0 -0
  610. /package/dist/{src/components → components}/PaginatedTable/PaginatedTable.d.ts +0 -0
  611. /package/dist/{src/components/PeriodField → components/PaginatedTable}/constants/ExpertiseLevelEnum.d.ts +0 -0
  612. /package/dist/{src/components → components}/PaginatedTable/constants/StateEnum.d.ts +0 -0
  613. /package/dist/{src/components → components}/PaginatedTable/types.d.ts +0 -0
  614. /package/dist/{src/components → components}/PasswordField/AccessibiliteItems.d.ts +0 -0
  615. /package/dist/{src/components → components}/PasswordField/config.d.ts +0 -0
  616. /package/dist/{src/components/PhoneField → components/PasswordField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  617. /package/dist/{src/components → components}/PasswordField/locales.d.ts +0 -0
  618. /package/dist/{src/components → components}/PeriodField/AccessibiliteItems.d.ts +0 -0
  619. /package/dist/{src/components/RangeField → components/PeriodField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  620. /package/dist/{src/components → components}/PhoneField/AccessibiliteItems.d.ts +0 -0
  621. /package/dist/{src/components/RatingPicker → components/PhoneField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  622. /package/dist/{src/components → components}/PhoneField/indicatifs.d.ts +0 -0
  623. /package/dist/{src/components → components}/PhoneField/locales.d.ts +0 -0
  624. /package/dist/{src/components → components}/RangeField/AccessibiliteItems.d.ts +0 -0
  625. /package/dist/{src/components → components}/RangeField/RangeField.d.ts +0 -0
  626. /package/dist/{src/components → components}/RangeField/RangeSlider/RangeSlider.d.ts +0 -0
  627. /package/dist/{src/components → components}/RangeField/RangeSlider/Tooltip/Tooltip.d.ts +0 -0
  628. /package/dist/{src/components → components}/RangeField/RangeSlider/types.d.ts +0 -0
  629. /package/dist/{src/components → components}/RangeField/RangeSlider/useMouseSlide.d.ts +0 -0
  630. /package/dist/{src/components → components}/RangeField/RangeSlider/useRangeSlider.d.ts +0 -0
  631. /package/dist/{src/components → components}/RangeField/RangeSlider/useThumb.d.ts +0 -0
  632. /package/dist/{src/components → components}/RangeField/RangeSlider/useThumbKeyboard.d.ts +0 -0
  633. /package/dist/{src/components → components}/RangeField/RangeSlider/useTooltipsNudge.d.ts +0 -0
  634. /package/dist/{src/components → components}/RangeField/RangeSlider/useTrack.d.ts +0 -0
  635. /package/dist/{src/components → components}/RangeField/RangeSlider/vAnimateClick.d.ts +0 -0
  636. /package/dist/{src/components → components}/RangeField/config.d.ts +0 -0
  637. /package/dist/{src/components/SearchListField → components/RangeField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  638. /package/dist/{src/components → components}/RangeField/locales.d.ts +0 -0
  639. /package/dist/{src/components → components}/RatingPicker/AccessibiliteItems.d.ts +0 -0
  640. /package/dist/{src/components → components}/RatingPicker/EmotionPicker/EmotionPicker.d.ts +0 -0
  641. /package/dist/{src/components → components}/RatingPicker/EmotionPicker/locales.d.ts +0 -0
  642. /package/dist/{src/components → components}/RatingPicker/NumberPicker/NumberPicker.d.ts +0 -0
  643. /package/dist/{src/components → components}/RatingPicker/NumberPicker/locales.d.ts +0 -0
  644. /package/dist/{src/components → components}/RatingPicker/Rating.d.ts +0 -0
  645. /package/dist/{src/components → components}/RatingPicker/RatingPicker.d.ts +0 -0
  646. /package/dist/{src/components → components}/RatingPicker/StarsPicker/StarsPicker.d.ts +0 -0
  647. /package/dist/{src/components/SelectBtnField → components/RatingPicker}/constants/ExpertiseLevelEnum.d.ts +0 -0
  648. /package/dist/{src/components → components}/RatingPicker/locales.d.ts +0 -0
  649. /package/dist/{src/components → components}/SearchListField/AccessibiliteItems.d.ts +0 -0
  650. /package/dist/{src/components → components}/SearchListField/SearchListField.d.ts +0 -0
  651. /package/dist/{src/components/SkipLink → components/SearchListField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  652. /package/dist/{src/components → components}/SearchListField/locales.d.ts +0 -0
  653. /package/dist/{src/components → components}/SearchListField/types.d.ts +0 -0
  654. /package/dist/{src/components → components}/SelectBtnField/AccessibiliteItems.d.ts +0 -0
  655. /package/dist/{src/components → components}/SelectBtnField/SelectBtnField.d.ts +0 -0
  656. /package/dist/{src/components → components}/SelectBtnField/config.d.ts +0 -0
  657. /package/dist/{src/components/SocialMediaLinks → components/SelectBtnField}/constants/ExpertiseLevelEnum.d.ts +0 -0
  658. /package/dist/{src/components → components}/SelectBtnField/types.d.ts +0 -0
  659. /package/dist/{src/components → components}/SkipLink/AccessibiliteItems.d.ts +0 -0
  660. /package/dist/{src/components → components}/SkipLink/SkipLink.d.ts +0 -0
  661. /package/dist/{src/components/SubHeader → components/SkipLink}/constants/ExpertiseLevelEnum.d.ts +0 -0
  662. /package/dist/{src/components → components}/SkipLink/locales.d.ts +0 -0
  663. /package/dist/{src/components → components}/SocialMediaLinks/AccessibiliteItems.d.ts +0 -0
  664. /package/dist/{src/components → components}/SocialMediaLinks/DefaultSocialMediaLinks.d.ts +0 -0
  665. /package/dist/{src/components → components}/SocialMediaLinks/SocialMediaLinks.d.ts +0 -0
  666. /package/dist/{src/components/SyAlert → components/SocialMediaLinks}/constants/ExpertiseLevelEnum.d.ts +0 -0
  667. /package/dist/{src/components → components}/SocialMediaLinks/locales.d.ts +0 -0
  668. /package/dist/{src/components → components}/SocialMediaLinks/types.d.ts +0 -0
  669. /package/dist/{src/components/SyAlert → components/SubHeader}/AccessibiliteItems.d.ts +0 -0
  670. /package/dist/{src/components → components}/SubHeader/SubHeader.d.ts +0 -0
  671. /package/dist/{src/components → components}/SubHeader/config.d.ts +0 -0
  672. /package/dist/{src/components/TableToolbar → components/SubHeader}/constants/ExpertiseLevelEnum.d.ts +0 -0
  673. /package/dist/{src/components → components}/SubHeader/locales.d.ts +0 -0
  674. /package/dist/{src/components → components}/SyAlert/SyAlert.d.ts +0 -0
  675. /package/dist/{src/components/UserMenuBtn → components/SyAlert}/constants/ExpertiseLevelEnum.d.ts +0 -0
  676. /package/dist/{src/components → components}/SyAlert/locales.d.ts +0 -0
  677. /package/dist/{src/components → components}/TableToolbar/AccessibiliteItems.d.ts +0 -0
  678. /package/dist/{src/components → components}/TableToolbar/TableToolbar.d.ts +0 -0
  679. /package/dist/{src/components → components}/TableToolbar/config.d.ts +0 -0
  680. /package/dist/{src/components → components}/TableToolbar/locales.d.ts +0 -0
  681. /package/dist/{src/components → components}/UploadWorkflow/config.d.ts +0 -0
  682. /package/dist/{src/components → components}/UploadWorkflow/locales.d.ts +0 -0
  683. /package/dist/{src/components → components}/UploadWorkflow/types.d.ts +0 -0
  684. /package/dist/{src/components → components}/UploadWorkflow/useFileList.d.ts +0 -0
  685. /package/dist/{src/components → components}/UploadWorkflow/useFileUploadJourney.d.ts +0 -0
  686. /package/dist/{src/components → components}/UserMenuBtn/AccessibiliteItems.d.ts +0 -0
  687. /package/dist/{src/components → components}/UserMenuBtn/UserMenuBtn.d.ts +0 -0
  688. /package/dist/{src/components → components}/UserMenuBtn/config.d.ts +0 -0
  689. /package/dist/{src/composables → composables}/index.d.ts +0 -0
  690. /package/dist/{src/composables → composables}/rules/useFieldValidation.d.ts +0 -0
  691. /package/dist/{src/composables → composables}/useCustomizableOptions.d.ts +0 -0
  692. /package/dist/{src/composables → composables}/widthable/index.d.ts +0 -0
  693. /package/dist/{src/constants → constants}/icons.d.ts +0 -0
  694. /package/dist/{src/designTokens → designTokens}/index.d.ts +0 -0
  695. /package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamContextual.d.ts +0 -0
  696. /package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamDarkTheme.d.ts +0 -0
  697. /package/dist/{src/designTokens → designTokens}/tokens/cnam/cnamSemantic.d.ts +0 -0
  698. /package/dist/{src/designTokens → designTokens}/tokens/pa/paContextual.d.ts +0 -0
  699. /package/dist/{src/designTokens → designTokens}/tokens/pa/paDarkTheme.d.ts +0 -0
  700. /package/dist/{src/designTokens → designTokens}/tokens/pa/paSemantic.d.ts +0 -0
  701. /package/dist/{src/designTokens → designTokens}/utils/convertGaps.d.ts +0 -0
  702. /package/dist/{src/designTokens → designTokens}/utils/convertSemanticsToken.d.ts +0 -0
  703. /package/dist/{src/designTokens → designTokens}/utils/createFlattenTheme.d.ts +0 -0
  704. /package/dist/{src/designTokens → designTokens}/utils/index.d.ts +0 -0
  705. /package/dist/{src/directives → directives}/clickOutside.d.ts +0 -0
  706. /package/dist/{src/modules.d.ts → modules.d.ts} +0 -0
  707. /package/dist/{src/services → services}/NotificationService.d.ts +0 -0
  708. /package/dist/{src/services → services}/index.d.ts +0 -0
  709. /package/dist/{src/stories → stories}/Accessibilite/Vuetify/VuetifyItems.d.ts +0 -0
  710. /package/dist/{src/stories → stories}/EcoConception/ecoDesignItems.d.ts +0 -0
  711. /package/dist/{src/types → types}/vuetifyTypes.d.ts +0 -0
  712. /package/dist/{src/utils → utils}/calcHumanFileSize/index.d.ts +0 -0
  713. /package/dist/{src/utils → utils}/convertToUnit/index.d.ts +0 -0
  714. /package/dist/{src/utils → utils}/functions/copyToClipboard/index.d.ts +0 -0
  715. /package/dist/{src/utils → utils}/functions/deepCopy/index.d.ts +0 -0
  716. /package/dist/{src/utils → utils}/functions/downloadFile/index.d.ts +0 -0
  717. /package/dist/{src/utils → utils}/functions/downloadFile/types.d.ts +0 -0
  718. /package/dist/{src/utils → utils}/functions/throttleDisplayFn/throttleDisplayFn.d.ts +0 -0
  719. /package/dist/{src/utils/functions → utils/functions/validation}/isEmailValid/index.d.ts +0 -0
  720. /package/dist/{src/utils → utils}/localStorageUtility/index.d.ts +0 -0
  721. /package/dist/{src/utils → utils}/propValidator/index.d.ts +0 -0
  722. /package/dist/{src/utils → utils}/ruleMessage/index.d.ts +0 -0
  723. /package/dist/{src/utils/rules/exactLength → utils/rules/doMatchPattern}/locales.d.ts +0 -0
  724. /package/dist/{src/utils/rules/email → utils/rules/isDateValid}/locales.d.ts +0 -0
  725. /package/dist/{src/utils/rules/required → utils/rules/isNotAfterDate}/locales.d.ts +0 -0
  726. /package/dist/{src/utils → utils}/rules/types.d.ts +0 -0
  727. /package/src/components/NirField/{tests → examples}//342/200/257dataset/342/200/257.md" +0 -0
  728. /package/src/utils/functions/{isEmailValid → validation/isEmailValid}/tests/isEmailValid.spec.ts +0 -0
  729. /package/src/utils/rules/{exactLength → isExactLength}/locales.ts +0 -0
  730. /package/src/utils/rules/{required → isRequired}/locales.ts +0 -0
  731. /package/src/utils/rules/{email → isValidEmail}/locales.ts +0 -0
@@ -0,0 +1,67 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { formatDate, parseDate } from '../useDateFormat'
3
+
4
+ describe('useDateFormat', () => {
5
+ describe('formatDate', () => {
6
+ it('formats a Date object to string according to the specified format', () => {
7
+ const date = new Date(2023, 0, 15) // 15 janvier 2023
8
+ expect(formatDate(date, 'DD/MM/YYYY')).toBe('15/01/2023')
9
+ expect(formatDate(date, 'YYYY-MM-DD')).toBe('2023-01-15')
10
+ expect(formatDate(date, 'MM.DD.YYYY')).toBe('01.15.2023')
11
+ })
12
+
13
+ it('returns empty string when date is null or undefined', () => {
14
+ expect(formatDate(null as unknown as Date, 'DD/MM/YYYY')).toBe('')
15
+ expect(formatDate(undefined as unknown as Date, 'DD/MM/YYYY')).toBe('')
16
+ })
17
+
18
+ it('handles different date formats correctly', () => {
19
+ const date = new Date(2023, 11, 31) // 31 décembre 2023
20
+ expect(formatDate(date, 'DD/MM/YYYY')).toBe('31/12/2023')
21
+ expect(formatDate(date, 'D/M/YYYY')).toBe('31/12/2023')
22
+ expect(formatDate(date, 'YYYY-MM-DD')).toBe('2023-12-31')
23
+ expect(formatDate(date, 'MM/DD/YYYY')).toBe('12/31/2023')
24
+ })
25
+
26
+ it('handles custom separators correctly', () => {
27
+ const date = new Date(2023, 0, 15) // 15 janvier 2023
28
+ expect(formatDate(date, 'DD.MM.YYYY')).toBe('15.01.2023')
29
+ expect(formatDate(date, 'DD-MM-YYYY')).toBe('15-01-2023')
30
+ expect(formatDate(date, 'YYYY/MM/DD')).toBe('2023/01/15')
31
+ })
32
+ })
33
+
34
+ describe('parseDate', () => {
35
+ it('parses a date string to a Date object according to the specified format', () => {
36
+ const dateStr = '15/01/2023'
37
+ const date = parseDate(dateStr, 'DD/MM/YYYY')
38
+ expect(date).toBeInstanceOf(Date)
39
+ expect(date?.getFullYear()).toBe(2023)
40
+ expect(date?.getMonth()).toBe(0) // Janvier = 0
41
+ expect(date?.getDate()).toBe(15)
42
+ })
43
+
44
+ it('returns null for invalid date strings', () => {
45
+ expect(parseDate('invalid', 'DD/MM/YYYY')).toBeNull()
46
+ expect(parseDate('31/02/2023', 'DD/MM/YYYY')).toBeNull() // 31 février n'existe pas
47
+ })
48
+
49
+ it('handles different date formats correctly', () => {
50
+ expect(parseDate('2023-01-15', 'YYYY-MM-DD')?.getDate()).toBe(15)
51
+ expect(parseDate('01/15/2023', 'MM/DD/YYYY')?.getDate()).toBe(15)
52
+ expect(parseDate('15.01.2023', 'DD.MM.YYYY')?.getDate()).toBe(15)
53
+ })
54
+
55
+ it('returns null when input is null or empty', () => {
56
+ expect(parseDate(null as unknown as string, 'DD/MM/YYYY')).toBeNull()
57
+ expect(parseDate('', 'DD/MM/YYYY')).toBeNull()
58
+ })
59
+
60
+ it('handles leap years correctly', () => {
61
+ // 2020 était une année bissextile
62
+ expect(parseDate('29/02/2020', 'DD/MM/YYYY')).not.toBeNull()
63
+ // 2023 n'est pas une année bissextile
64
+ expect(parseDate('29/02/2023', 'DD/MM/YYYY')).toBeNull()
65
+ })
66
+ })
67
+ })
@@ -0,0 +1,89 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { initializeSelectedDates, type DateInput } from '../useDateInitialization'
3
+
4
+ describe('useDateInitialization', () => {
5
+ describe('initializeSelectedDates', () => {
6
+ it('returns null when modelValue is null or undefined', () => {
7
+ expect(initializeSelectedDates(null, 'DD/MM/YYYY')).toBeNull()
8
+ expect(initializeSelectedDates(null as unknown as DateInput, 'DD/MM/YYYY')).toBeNull()
9
+ })
10
+
11
+ it('parses a single date string correctly', () => {
12
+ const result = initializeSelectedDates('15/01/2023', 'DD/MM/YYYY')
13
+ expect(result).toBeInstanceOf(Date)
14
+
15
+ const date = result as Date
16
+ expect(date.getFullYear()).toBe(2023)
17
+ expect(date.getMonth()).toBe(0) // Janvier = 0
18
+ expect(date.getDate()).toBe(15)
19
+ })
20
+
21
+ it('parses an array of date strings correctly', () => {
22
+ const result = initializeSelectedDates(['15/01/2023', '20/01/2023'], 'DD/MM/YYYY')
23
+ expect(Array.isArray(result)).toBe(true)
24
+
25
+ const dates = result as Date[]
26
+ expect(dates.length).toBe(2)
27
+
28
+ expect(dates[0].getFullYear()).toBe(2023)
29
+ expect(dates[0].getMonth()).toBe(0)
30
+ expect(dates[0].getDate()).toBe(15)
31
+
32
+ expect(dates[1].getFullYear()).toBe(2023)
33
+ expect(dates[1].getMonth()).toBe(0)
34
+ expect(dates[1].getDate()).toBe(20)
35
+ })
36
+
37
+ it('returns empty array when dates are invalid', () => {
38
+ const result = initializeSelectedDates(['invalid', '20/01/2023'], 'DD/MM/YYYY')
39
+ expect(Array.isArray(result)).toBe(true)
40
+ expect(result).toHaveLength(0)
41
+ })
42
+
43
+ it('returns empty array when first date is after second date', () => {
44
+ const result = initializeSelectedDates(['25/01/2023', '20/01/2023'], 'DD/MM/YYYY')
45
+ expect(Array.isArray(result)).toBe(true)
46
+ expect(result).toHaveLength(0)
47
+ })
48
+
49
+ it('handles single element array correctly', () => {
50
+ const result = initializeSelectedDates(['15/01/2023'], 'DD/MM/YYYY')
51
+ expect(Array.isArray(result)).toBe(true)
52
+
53
+ const dates = result as Date[]
54
+ expect(dates.length).toBe(1)
55
+
56
+ expect(dates[0].getFullYear()).toBe(2023)
57
+ expect(dates[0].getMonth()).toBe(0)
58
+ expect(dates[0].getDate()).toBe(15)
59
+ })
60
+
61
+ it('returns empty array for empty array input', () => {
62
+ const result = initializeSelectedDates([], 'DD/MM/YYYY')
63
+ expect(Array.isArray(result)).toBe(true)
64
+ expect(result).toHaveLength(0)
65
+ })
66
+
67
+ it('handles different display and return formats correctly', () => {
68
+ // Date au format de retour
69
+ const result1 = initializeSelectedDates('2023-01-15', 'DD/MM/YYYY', 'YYYY-MM-DD')
70
+ expect(result1).toBeInstanceOf(Date)
71
+ expect((result1 as Date).getDate()).toBe(15)
72
+
73
+ // Date au format d'affichage quand le format de retour est différen
74
+ const result2 = initializeSelectedDates('15/01/2023', 'DD/MM/YYYY', 'YYYY-MM-DD')
75
+ expect(result2).toBeInstanceOf(Date)
76
+ expect((result2 as Date).getDate()).toBe(15)
77
+ })
78
+
79
+ it('returns null for object input', () => {
80
+ const result = initializeSelectedDates({}, 'DD/MM/YYYY')
81
+ expect(result).toBeNull()
82
+ })
83
+
84
+ it('handles invalid date strings correctly', () => {
85
+ const result = initializeSelectedDates('invalid', 'DD/MM/YYYY')
86
+ expect(result).toBeNull()
87
+ })
88
+ })
89
+ })
@@ -0,0 +1,180 @@
1
+ import { describe, it, expect, beforeEach, vi } from 'vitest'
2
+ import { useDatePickerAccessibility } from '../useDatePickerAccessibility'
3
+
4
+ describe('useDatePickerAccessibility', () => {
5
+ let { updateAccessibility, handleKeyDown } = useDatePickerAccessibility()
6
+
7
+ beforeEach(() => {
8
+ // Réinitialiser la fonction pour chaque test
9
+ const { updateAccessibility: newUpdateAccessibility, handleKeyDown: newHandleKeyDown } = useDatePickerAccessibility()
10
+ updateAccessibility = newUpdateAccessibility
11
+ handleKeyDown = newHandleKeyDown
12
+
13
+ // Créer une structure DOM simulée pour les tests
14
+ document.body.innerHTML = `
15
+ <div class="v-date-picker">
16
+ <div class="v-date-picker-header">
17
+ <button class="v-btn v-btn--icon">
18
+ <span class="v-btn__content">
19
+ <i class="v-icon mdi mdi-chevron-left"></i>
20
+ </span>
21
+ </button>
22
+ <button class="v-btn v-btn--icon">
23
+ <span class="v-btn__content">
24
+ <div>Janvier 2023</div>
25
+ </span>
26
+ </button>
27
+ <button class="v-btn v-btn--icon">
28
+ <span class="v-btn__content">
29
+ <i class="v-icon mdi mdi-chevron-right"></i>
30
+ </span>
31
+ </button>
32
+ </div>
33
+ </div>
34
+ `
35
+ })
36
+
37
+ it('sets correct aria-label attributes on navigation buttons', async () => {
38
+ // Appeler la fonction updateAccessibility
39
+ await updateAccessibility()
40
+
41
+ // Récupérer les boutons
42
+ const buttons = document.querySelectorAll('.v-date-picker-header button')
43
+
44
+ // Vérifier que les attributs aria-label sont correctement définis
45
+ expect(buttons[0].getAttribute('aria-label')).toBe('Mois précédent')
46
+ expect(buttons[1].getAttribute('aria-label')).toBe(null) // Pas d'icône, donc pas d'attribu
47
+ expect(buttons[2].getAttribute('aria-label')).toBe('Mois suivant')
48
+ })
49
+
50
+ it('handles missing elements gracefully', async () => {
51
+ // Supprimer les éléments du DOM
52
+ document.body.innerHTML = ''
53
+
54
+ // La fonction ne devrait pas générer d'erreur même si les éléments n'existent pas
55
+ await expect(updateAccessibility()).resolves.not.toThrow()
56
+ })
57
+
58
+ it('handles different icons correctly', async () => {
59
+ // Modifier les icônes
60
+ document.body.innerHTML = `
61
+ <div class="v-date-picker">
62
+ <div class="v-date-picker-header">
63
+ <button class="v-btn v-btn--icon">
64
+ <span class="v-btn__content">
65
+ <i class="v-icon mdi mdi-arrow-left"></i>
66
+ </span>
67
+ </button>
68
+ <button class="v-btn v-btn--icon">
69
+ <span class="v-btn__content">
70
+ <div>Janvier 2023</div>
71
+ </span>
72
+ </button>
73
+ <button class="v-btn v-btn--icon">
74
+ <span class="v-btn__content">
75
+ <i class="v-icon mdi mdi-arrow-right"></i>
76
+ </span>
77
+ </button>
78
+ </div>
79
+ </div>
80
+ `
81
+
82
+ // Appeler la fonction updateAccessibility
83
+ await updateAccessibility()
84
+
85
+ // Récupérer les boutons
86
+ const buttons = document.querySelectorAll('.v-date-picker-header button')
87
+
88
+ // Vérifier que les attributs aria-label sont correctement définis
89
+ expect(buttons[0].getAttribute('aria-label')).toBe(null) // Pas de chevron-lef
90
+ expect(buttons[1].getAttribute('aria-label')).toBe(null) // Pas d'icône
91
+ expect(buttons[2].getAttribute('aria-label')).toBe(null) // Pas de chevron-righ
92
+ })
93
+
94
+ it('adds sr-only instructions to the DatePicker', async () => {
95
+ // Appeler updateAccessibility
96
+ await updateAccessibility()
97
+
98
+ // Vérifier que les instructions pour les lecteurs d'écran ont été ajoutées
99
+ const srOnlyEl = document.querySelector('.sr-only-instructions')
100
+ expect(srOnlyEl).not.toBeNull()
101
+ expect(srOnlyEl?.textContent).toBe('Utilisez tab pour naviguer entre les dates et Entrée ou Espace pour sélectionner une date')
102
+ })
103
+
104
+ describe('handleKeyDown', () => {
105
+ it('simulates a click event when Enter key is pressed', () => {
106
+ // Créer une fonction d'espionnage autonome plutôt que d'espionner une méthode existante
107
+ const clickHandlerSpy = vi.fn()
108
+
109
+ // Créer un élément bouton avec un gestionnaire de clic espion
110
+ const button = document.createElement('button')
111
+ button.addEventListener('click', clickHandlerSpy)
112
+ document.body.appendChild(button)
113
+ button.focus()
114
+
115
+ // Créer un événement clavier pour la touche Entrée
116
+ const enterEvent = new KeyboardEvent('keydown', {
117
+ key: 'Enter',
118
+ bubbles: true,
119
+ cancelable: true,
120
+ })
121
+
122
+ // Espionner la méthode preventDefault de l'événement
123
+ const preventDefaultSpy = vi.spyOn(enterEvent, 'preventDefault')
124
+
125
+ // Appeler la fonction handleKeyDown avec l'événement
126
+ handleKeyDown(enterEvent)
127
+
128
+ // Vérifier que preventDefault a été appelé
129
+ expect(preventDefaultSpy).toHaveBeenCalled()
130
+
131
+ // Vérifier que le gestionnaire de clic a été déclenché suite à l'événement simulé
132
+ expect(clickHandlerSpy).toHaveBeenCalled()
133
+ })
134
+
135
+ it('does nothing when a key other than Enter is pressed', () => {
136
+ // Créer une fonction d'espionnage autonome
137
+ const clickHandlerSpy = vi.fn()
138
+
139
+ // Créer un élément bouton avec un gestionnaire de clic espion
140
+ const button = document.createElement('button')
141
+ button.addEventListener('click', clickHandlerSpy)
142
+ document.body.appendChild(button)
143
+ button.focus()
144
+
145
+ // Créer un événement clavier pour une touche autre qu'Entrée (par ex: Espace)
146
+ const spaceEvent = new KeyboardEvent('keydown', {
147
+ key: 'Space',
148
+ bubbles: true,
149
+ cancelable: true,
150
+ })
151
+
152
+ // Espionner la méthode preventDefault de l'événement
153
+ const preventDefaultSpy = vi.spyOn(spaceEvent, 'preventDefault')
154
+
155
+ // Appeler la fonction handleKeyDown avec l'événement
156
+ handleKeyDown(spaceEvent)
157
+
158
+ // Vérifier que preventDefault n'a pas été appelé
159
+ expect(preventDefaultSpy).not.toHaveBeenCalled()
160
+
161
+ // Vérifier qu'aucun événement de clic n'a été déclenché
162
+ expect(clickHandlerSpy).not.toHaveBeenCalled()
163
+ })
164
+
165
+ it('handles the case when no element is focused', () => {
166
+ // S'assurer qu'aucun élément n'est focalisé
167
+ document.body.focus()
168
+
169
+ // Créer un événement clavier pour la touche Entrée
170
+ const enterEvent = new KeyboardEvent('keydown', {
171
+ key: 'Enter',
172
+ bubbles: true,
173
+ cancelable: true,
174
+ })
175
+
176
+ // Vérifier que la fonction ne génère pas d'erreur
177
+ expect(() => handleKeyDown(enterEvent)).not.toThrow()
178
+ })
179
+ })
180
+ })
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Composable pour le formatage et le parsing des dates
3
+ */
4
+
5
+ /**
6
+ * Parse une chaîne de caractères en objet Date selon un format spécifié
7
+ * @param dateString - La chaîne de caractères à parser
8
+ * @param format - Le format de la date (ex: 'DD/MM/YYYY')
9
+ * @returns Un objet Date ou null si la chaîne n'est pas valide
10
+ */
11
+ export const parseDate = (dateString: string, format: string): Date | null => {
12
+ if (!dateString) return null
13
+
14
+ // Créer un mapping des positions des éléments de date selon le format
15
+ const separator = format.includes('/') ? '/' : format.includes('-') ? '-' : '.'
16
+ const parts = format.split(separator)
17
+ const dateParts = dateString.split(separator)
18
+
19
+ if (parts.length !== dateParts.length) return null
20
+
21
+ let day = 0, month = 0, year = 0
22
+
23
+ // Extraire les valeurs selon leur position dans le format
24
+ parts.forEach((part, index) => {
25
+ const value = parseInt(dateParts[index], 10)
26
+ if (isNaN(value)) return
27
+
28
+ if (part.includes('DD') || part.includes('D')) day = value
29
+ else if (part.includes('MM') || part.includes('M')) month = value - 1 // Les mois en JS sont 0-indexés
30
+ else if (part.includes('YYYY')) year = value
31
+ else if (part.includes('YY')) {
32
+ // Gestion intelligente des années à 2 chiffres
33
+ // Si l'année est < 50, on considère qu'elle est dans le 21ème siècle
34
+ // Sinon, elle est dans le 20ème siècle
35
+ year = value < 50 ? 2000 + value : 1900 + value
36
+ }
37
+ })
38
+
39
+ // Vérifier que nous avons toutes les parties nécessaires et qu'elles sont dans des plages valides
40
+ if (day < 1 || day > 31 || month < 0 || month > 11 || year < 1000 || year > 9999) return null
41
+
42
+ // Créer la date à midi (12:00) pour éviter les problèmes de décalage de fuseau horaire
43
+ // Cela garantit que la date reste la même lors de la conversion en UTC
44
+ const date = new Date(year, month, day, 12, 0, 0)
45
+
46
+ // Vérifier que la date est valide (par exemple, 31 février n'existe pas)
47
+ if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) return null
48
+
49
+ return date
50
+ }
51
+
52
+ /**
53
+ * Formate une date selon un format spécifié
54
+ * @param date - La date à formater
55
+ * @param format - Le format de sortie (ex: 'DD/MM/YYYY')
56
+ * @returns La date formatée en chaîne de caractères
57
+ */
58
+ export const formatDate = (date: Date, format: string): string => {
59
+ if (!date) return ''
60
+
61
+ // Formats de base
62
+ const day = date.getDate().toString().padStart(2, '0')
63
+ const month = (date.getMonth() + 1).toString().padStart(2, '0')
64
+ const year = date.getFullYear().toString()
65
+ const shortYear = year.slice(-2)
66
+
67
+ // Formats sans padding
68
+ const dayNoPad = date.getDate().toString()
69
+ const monthNoPad = (date.getMonth() + 1).toString()
70
+
71
+ // Remplacer les tokens dans l'ordre correct (du plus spécifique au moins spécifique)
72
+ const result = format
73
+ .replace(/YYYY/g, year)
74
+ .replace(/YY/g, shortYear)
75
+ .replace(/MM/g, month)
76
+ .replace(/M/g, monthNoPad)
77
+ .replace(/DD/g, day)
78
+ .replace(/D/g, dayNoPad)
79
+
80
+ return result
81
+ }
82
+
83
+ /**
84
+ * Hook composable pour le formatage et le parsing des dates
85
+ * @returns Fonctions de formatage et parsing de dates
86
+ */
87
+ export function useDateFormat() {
88
+ return {
89
+ parseDate,
90
+ formatDate,
91
+ }
92
+ }
93
+
94
+ export default useDateFormat
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Composable pour l'initialisation des dates dans le DatePicker
3
+ */
4
+ import { parseDate } from './useDateFormat'
5
+
6
+ // Types
7
+ export type DateValue = string | [string, string] | null
8
+ export type DateInput = string | string[] | null | object
9
+
10
+ /**
11
+ * Initialise les dates sélectionnées à partir d'une valeur d'entrée
12
+ * @param modelValue - La valeur d'entrée (peut être une chaîne, un tableau, null ou un objet)
13
+ * @param displayFormat - Le format d'affichage des dates
14
+ * @param returnFormat - Le format de retour des dates (optionnel)
15
+ * @returns Une date, un tableau de dates ou null
16
+ */
17
+ export const initializeSelectedDates = (
18
+ modelValue: DateInput | null,
19
+ displayFormat: string,
20
+ returnFormat: string = '',
21
+ ): Date | Date[] | null => {
22
+ if (!modelValue) return null
23
+
24
+ // Déterminer le format à utiliser pour l'analyse
25
+ const parseFormat = returnFormat || displayFormat
26
+
27
+ if (Array.isArray(modelValue)) {
28
+ if (modelValue.length >= 2) {
29
+ // Essayer d'abord avec le format de retour, puis avec le format d'affichage
30
+ let dates = [parseDate(modelValue[0], parseFormat), parseDate(modelValue[1], parseFormat)]
31
+
32
+ // Si l'une des dates est invalide avec le format de retour, essayer avec le format d'affichage
33
+ if (dates.some(date => date === null) && returnFormat) {
34
+ dates = [parseDate(modelValue[0], displayFormat), parseDate(modelValue[1], displayFormat)]
35
+ }
36
+
37
+ // Vérifie si l'une des dates est toujours invalide
38
+ if (dates.some(date => date === null)) {
39
+ return []
40
+ }
41
+
42
+ // Vérifie si la première date est après la seconde
43
+ if (dates[0] && dates[1] && dates[0] > dates[1]) {
44
+ return []
45
+ }
46
+
47
+ // Filtrer les dates nulles et convertir en tableau de Date
48
+ return dates.filter((date): date is Date => date !== null)
49
+ }
50
+
51
+ if (modelValue.length === 1) {
52
+ // Essayer d'abord avec le format de retour, puis avec le format d'affichage
53
+ let date = parseDate(modelValue[0], parseFormat)
54
+
55
+ // Si la date est invalide avec le format de retour, essayer avec le format d'affichage
56
+ if (date === null && returnFormat) {
57
+ date = parseDate(modelValue[0], displayFormat)
58
+ }
59
+
60
+ return date === null ? [] : [date]
61
+ }
62
+
63
+ return []
64
+ }
65
+
66
+ // Si modelValue est un objet, on le convertit en chaîne
67
+ if (typeof modelValue === 'object') {
68
+ return null
69
+ }
70
+
71
+ // Essayer d'abord avec le format de retour, puis avec le format d'affichage
72
+ let date = parseDate(modelValue, parseFormat)
73
+
74
+ // Si la date est invalide avec le format de retour, essayer avec le format d'affichage
75
+ if (date === null && returnFormat) {
76
+ date = parseDate(modelValue, displayFormat)
77
+ }
78
+
79
+ return date === null ? null : date
80
+ }
81
+
82
+ /**
83
+ * Hook composable pour l'initialisation des dates
84
+ * @returns Fonction d'initialisation des dates
85
+ */
86
+ export function useDateInitialization() {
87
+ return {
88
+ initializeSelectedDates,
89
+ }
90
+ }
91
+
92
+ export default useDateInitialization
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Composable pour améliorer l'accessibilité du DatePicker
3
+ */
4
+ import { nextTick } from 'vue'
5
+
6
+ /**
7
+ * Améliore l'accessibilité du DatePicker en ajoutant des attributs ARIA et des instructions pour les lecteurs d'écran
8
+ * @returns Des fonctions pour mettre à jour l'accessibilité du DatePicker et gérer les événements clavier
9
+ */
10
+ export function useDatePickerAccessibility() {
11
+ // Référence pour suivre si l'événement a déjà été traité
12
+ let isProcessingEnterKey = false
13
+
14
+ /**
15
+ * Gestionnaire d'événements clavier pour simuler le comportement de la touche espace avec la touche entrée
16
+ * @param event L'événement clavier
17
+ */
18
+ const handleKeyDown = (event: Event): void => {
19
+ const keyboardEvent = event as KeyboardEvent
20
+ // Si la touche entrée est pressée et que nous ne sommes pas déjà en train de traiter un événement
21
+ if (keyboardEvent.key === 'Enter' && !isProcessingEnterKey) {
22
+ // Marquer que nous sommes en train de traiter l'événement pour éviter les doublons
23
+ isProcessingEnterKey = true
24
+
25
+ // Empêcher le comportement par défaut de la touche entrée
26
+ keyboardEvent.preventDefault()
27
+
28
+ // Récupérer l'élément actuellement focalisé
29
+ const focusedElement = document.activeElement
30
+
31
+ // Simuler un événement de touche espace
32
+ if (focusedElement && focusedElement instanceof HTMLElement) {
33
+ // Créer et déclencher un événement de clic qui simule le comportement de l'espace
34
+ const clickEvent = new MouseEvent('click', {
35
+ bubbles: true,
36
+ cancelable: true,
37
+ view: window,
38
+ })
39
+
40
+ // Déclencher un seul événement de clic
41
+ focusedElement.dispatchEvent(clickEvent)
42
+ }
43
+
44
+ // Réinitialiser l'état après un délai pour permettre le traitement des autres événements
45
+ setTimeout(() => {
46
+ isProcessingEnterKey = false
47
+ }, 100)
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Met à jour les attributs d'accessibilité du DatePicker
53
+ * Ajoute des attributs ARIA et des instructions pour les lecteurs d'écran
54
+ */
55
+ const updateAccessibility = async (): Promise<void> => {
56
+ await nextTick()
57
+
58
+ // Utiliser des attributs data pour sélectionner les éléments, ce qui est plus stable que les classes CSS
59
+ const datePickerEl = document.querySelector('.v-date-picker')
60
+ if (!datePickerEl) return
61
+
62
+ // Ajouter un attribut role="application" au conteneur principal
63
+ datePickerEl.setAttribute('role', 'application')
64
+ datePickerEl.setAttribute('aria-label', 'Sélecteur de date')
65
+
66
+ // Sélectionner tous les boutons de navigation
67
+ const navigationButtons = datePickerEl.querySelectorAll('button')
68
+
69
+ // Attribuer des labels significatifs basés sur la position ou l'icône
70
+ navigationButtons.forEach((button) => {
71
+ const iconEl = button.querySelector('.v-icon')
72
+ if (!iconEl) return
73
+
74
+ // Utiliser le contenu de l'icône pour déterminer sa fonction
75
+ const iconContent = iconEl.textContent || ''
76
+ const iconClasses = iconEl.className || ''
77
+
78
+ if (iconClasses.includes('mdi-chevron-left') || iconContent.includes('chevron-left')) {
79
+ button.setAttribute('aria-label', 'Mois précédent')
80
+ }
81
+ else if (iconClasses.includes('mdi-chevron-right') || iconContent.includes('chevron-right')) {
82
+ button.setAttribute('aria-label', 'Mois suivant')
83
+ }
84
+ else if (iconClasses.includes('mdi-chevron-down') || iconContent.includes('chevron-down')
85
+ || iconClasses.includes('mdi-menu-down') || iconContent.includes('menu-down')) {
86
+ button.setAttribute('aria-label', 'Changer de vue')
87
+ }
88
+ })
89
+
90
+ // Ajouter des instructions pour les lecteurs d'écran
91
+ let srOnlyEl = datePickerEl.querySelector('.sr-only-instructions')
92
+ if (!srOnlyEl) {
93
+ srOnlyEl = document.createElement('span')
94
+ srOnlyEl.className = 'sr-only-instructions'
95
+ srOnlyEl.setAttribute('aria-live', 'polite')
96
+ // Utiliser HTMLElement pour accéder aux propriétés de style
97
+ const srOnlyHtmlEl = srOnlyEl as HTMLElement
98
+ srOnlyHtmlEl.style.position = 'absolute'
99
+ srOnlyHtmlEl.style.width = '1px'
100
+ srOnlyHtmlEl.style.height = '1px'
101
+ srOnlyHtmlEl.style.padding = '0'
102
+ srOnlyHtmlEl.style.margin = '-1px'
103
+ srOnlyHtmlEl.style.overflow = 'hidden'
104
+ srOnlyHtmlEl.style.clip = 'rect(0, 0, 0, 0)'
105
+ srOnlyHtmlEl.style.whiteSpace = 'nowrap'
106
+ srOnlyHtmlEl.style.border = '0'
107
+ srOnlyEl.textContent = 'Utilisez tab pour naviguer entre les dates et Entrée ou Espace pour sélectionner une date'
108
+ datePickerEl.prepend(srOnlyEl)
109
+ }
110
+
111
+ // Ajouter un gestionnaire d'événements clavier pour la touche entrée
112
+ // Utiliser des casts explicites pour rassurer TypeScript sur les types
113
+ datePickerEl.removeEventListener('keydown', handleKeyDown as EventListener) // Supprimer d'abord pour éviter les doublons
114
+ datePickerEl.addEventListener('keydown', handleKeyDown as EventListener)
115
+ }
116
+
117
+ return {
118
+ updateAccessibility,
119
+ handleKeyDown,
120
+ }
121
+ }
122
+
123
+ export default useDatePickerAccessibility