@cnamts/synapse 0.0.10-alpha → 0.0.12-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 (653) hide show
  1. package/dist/design-system-v3.js +5081 -3916
  2. package/dist/design-system-v3.umd.cjs +1 -1
  3. package/dist/src/components/Amelipro/types/languages.d.ts +6 -0
  4. package/dist/src/components/Amelipro/types/types.d.ts +65 -0
  5. package/dist/src/components/BackBtn/AccessibiliteItems.d.ts +29 -0
  6. package/dist/src/components/BackBtn/BackBtn.d.ts +14 -0
  7. package/dist/src/components/BackBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  8. package/dist/src/components/BackBtn/locales.d.ts +3 -0
  9. package/dist/src/components/BackBtn/tests/BackBtn.spec.d.ts +1 -0
  10. package/dist/src/components/BackToTopBtn/AccessibiliteItems.d.ts +29 -0
  11. package/dist/src/components/BackToTopBtn/BackToTopBtn.d.ts +23 -0
  12. package/dist/src/components/BackToTopBtn/config.d.ts +12 -0
  13. package/dist/src/components/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  14. package/dist/src/components/BackToTopBtn/locales.d.ts +3 -0
  15. package/dist/src/components/BackToTopBtn/tests/BackToTopBtn.spec.d.ts +1 -0
  16. package/dist/src/components/ChipList/AccessibiliteItems.d.ts +29 -0
  17. package/dist/src/components/ChipList/ChipList.d.ts +47 -0
  18. package/dist/src/components/ChipList/config.d.ts +8 -0
  19. package/dist/src/components/ChipList/constants/ExpertiseLevelEnum.d.ts +4 -0
  20. package/dist/src/components/ChipList/locales.d.ts +6 -0
  21. package/dist/src/components/ChipList/tests/chipList.spec.d.ts +1 -0
  22. package/dist/src/components/ChipList/types.d.ts +6 -0
  23. package/dist/src/components/CollapsibleList/AccessibiliteItems.d.ts +46 -0
  24. package/dist/src/components/CollapsibleList/CollapsibleList.d.ts +7 -0
  25. package/dist/src/components/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +4 -0
  26. package/dist/src/components/CollapsibleList/tests/CollapsibleList.spec.d.ts +1 -0
  27. package/dist/src/components/CollapsibleList/types.d.ts +5 -0
  28. package/dist/src/components/ContextualMenu/AccessibiliteItems.d.ts +46 -0
  29. package/dist/src/components/ContextualMenu/ContextualMenu.d.ts +13 -0
  30. package/dist/src/components/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +4 -0
  31. package/dist/src/components/ContextualMenu/tests/ContextualMenu.spec.d.ts +1 -0
  32. package/dist/src/components/ContextualMenu/types.d.ts +5 -0
  33. package/dist/src/components/CookieBanner/AccessibiliteItems.d.ts +79 -0
  34. package/dist/src/components/CookieBanner/CookieBanner.d.ts +28 -0
  35. package/dist/src/components/CookieBanner/config.d.ts +40 -0
  36. package/dist/src/components/CookieBanner/constants/ExpertiseLevelEnum.d.ts +4 -0
  37. package/dist/src/components/CookieBanner/locales.d.ts +11 -0
  38. package/dist/src/components/CookieBanner/tests/CookieBanner.spec.d.ts +1 -0
  39. package/dist/src/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +19 -0
  40. package/dist/src/components/CookiesSelection/CookiesInformation/locales.d.ts +19 -0
  41. package/dist/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.d.ts +1 -0
  42. package/dist/src/components/CookiesSelection/CookiesTable/CookiesTable.d.ts +13 -0
  43. package/dist/src/components/CookiesSelection/CookiesTable/headers.d.ts +10 -0
  44. package/dist/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.d.ts +1 -0
  45. package/dist/src/components/CookiesSelection/locales.d.ts +8 -0
  46. package/dist/src/components/CookiesSelection/tests/CookiesSelection.spec.d.ts +1 -0
  47. package/dist/src/components/CookiesSelection/types.d.ts +12 -0
  48. package/dist/src/components/CopyBtn/AccessibiliteItems.d.ts +29 -0
  49. package/dist/src/components/CopyBtn/CopyBtn.d.ts +28 -0
  50. package/dist/src/components/CopyBtn/config.d.ts +17 -0
  51. package/dist/src/components/CopyBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  52. package/dist/src/components/CopyBtn/locales.d.ts +3 -0
  53. package/dist/src/components/CopyBtn/tests/CopyBtn.spec.d.ts +1 -0
  54. package/dist/src/components/Customs/SyBtnSelect/AccessibiliteItems.d.ts +29 -0
  55. package/dist/src/components/Customs/SyBtnSelect/SyBtnSelect.d.ts +164 -0
  56. package/dist/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +4 -0
  57. package/dist/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.d.ts +1 -0
  58. package/dist/src/components/Customs/SyInputSelect/AccessibiliteItems.d.ts +29 -0
  59. package/dist/src/components/Customs/SyInputSelect/SyInputSelect.d.ts +38 -0
  60. package/dist/src/components/Customs/SyInputSelect/config.d.ts +9 -0
  61. package/dist/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +4 -0
  62. package/dist/src/components/Customs/SyInputSelect/tests/SyInputSelect.spec.d.ts +1 -0
  63. package/dist/src/components/Customs/SySelect/AccessibiliteItems.d.ts +54 -0
  64. package/dist/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +4 -0
  65. package/dist/src/components/Customs/SySelect/tests/SySelect.spec.d.ts +1 -0
  66. package/dist/src/components/Customs/SyTextField/AccessibiliteItems.d.ts +70 -0
  67. package/dist/src/components/Customs/SyTextField/SyTextField.d.ts +166 -0
  68. package/dist/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +4 -0
  69. package/dist/src/components/Customs/SyTextField/tests/SyTextField.spec.d.ts +1 -0
  70. package/dist/src/components/Customs/SyTextField/types.d.ts +4 -0
  71. package/dist/src/components/DataList/AccessibiliteItems.d.ts +29 -0
  72. package/dist/src/components/DataList/DataList.d.ts +134 -0
  73. package/dist/src/components/DataList/DataListLoading/DataListLoading.d.ts +32 -0
  74. package/dist/src/components/DataList/DataListLoading/tests/DataListLoading.spec.d.ts +1 -0
  75. package/dist/src/components/DataList/constants/ExpertiseLevelEnum.d.ts +4 -0
  76. package/dist/src/components/DataList/locales.d.ts +3 -0
  77. package/dist/src/components/DataList/tests/DataList.spec.d.ts +1 -0
  78. package/dist/src/components/DataList/types.d.ts +22 -0
  79. package/dist/src/components/DataListGroup/AccessibiliteItems.d.ts +29 -0
  80. package/dist/src/components/DataListGroup/DataListGroup.d.ts +56 -0
  81. package/dist/src/components/DataListGroup/constants/ExpertiseLevelEnum.d.ts +4 -0
  82. package/dist/src/components/DataListGroup/tests/DataListGroup.spec.d.ts +1 -0
  83. package/dist/src/components/DataListGroup/tests/data/dataListGroupItems.d.ts +5 -0
  84. package/dist/src/components/DataListGroup/types.d.ts +14 -0
  85. package/dist/src/components/DataListItem/DataListItem.d.ts +37 -0
  86. package/dist/src/components/DataListItem/config.d.ts +16 -0
  87. package/dist/src/components/DataListItem/locales.d.ts +3 -0
  88. package/dist/src/components/DataListItem/tests/DataListItem.spec.d.ts +1 -0
  89. package/dist/src/components/DataListItem/types.d.ts +22 -0
  90. package/dist/src/components/DatePicker/AccessibiliteItems.d.ts +54 -0
  91. package/dist/src/components/DatePicker/DatePicker.d.ts +605 -0
  92. package/dist/src/components/DatePicker/DateTextInput.d.ts +473 -0
  93. package/dist/src/components/DatePicker/constants/ExpertiseLevelEnum.d.ts +4 -0
  94. package/dist/src/components/DatePicker/tests/DatePicker.spec.d.ts +1 -0
  95. package/dist/src/components/DatePicker/tests/DateTextInput.spec.d.ts +1 -0
  96. package/dist/src/components/DialogBox/AccessibiliteItems.d.ts +54 -0
  97. package/dist/src/components/DialogBox/config.d.ts +25 -0
  98. package/dist/src/components/DialogBox/constants/ExpertiseLevelEnum.d.ts +4 -0
  99. package/dist/src/components/DialogBox/locales.d.ts +5 -0
  100. package/dist/src/components/DialogBox/tests/DialogBox.spec.d.ts +1 -0
  101. package/dist/src/components/DownloadBtn/AccessibiliteItems.d.ts +29 -0
  102. package/dist/src/components/DownloadBtn/DownloadBtn.d.ts +39 -0
  103. package/dist/src/components/DownloadBtn/config.d.ts +13 -0
  104. package/dist/src/components/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  105. package/dist/src/components/DownloadBtn/tests/DownloadBtn.spec.d.ts +1 -0
  106. package/dist/src/components/DownloadBtn/tests/data/filePromise.d.ts +5 -0
  107. package/dist/src/components/ErrorPage/AccessibiliteItems.d.ts +65 -0
  108. package/dist/src/components/ErrorPage/ErrorPage.d.ts +31 -0
  109. package/dist/src/components/ErrorPage/constants/ExpertiseLevelEnum.d.ts +4 -0
  110. package/dist/src/components/ErrorPage/locales.d.ts +5 -0
  111. package/dist/src/components/ErrorPage/tests/ErrorPage.spec.d.ts +1 -0
  112. package/dist/src/components/ExternalLinks/AccessibiliteItems.d.ts +55 -0
  113. package/dist/src/components/ExternalLinks/ExternalLinks.d.ts +31 -0
  114. package/dist/src/components/ExternalLinks/config.d.ts +32 -0
  115. package/dist/src/components/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +4 -0
  116. package/dist/src/components/ExternalLinks/locales.d.ts +4 -0
  117. package/dist/src/components/ExternalLinks/tests/ExternalLinks.spec.d.ts +1 -0
  118. package/dist/src/components/FileList/AccessibiliteItems.d.ts +29 -0
  119. package/dist/src/components/FileList/FileList.d.ts +45 -0
  120. package/dist/src/components/FileList/UploadItem/UploadItem.d.ts +58 -0
  121. package/dist/src/components/FileList/UploadItem/locales.d.ts +9 -0
  122. package/dist/src/components/FileList/constants/ExpertiseLevelEnum.d.ts +4 -0
  123. package/dist/src/components/FileList/tests/FileList.spec.d.ts +1 -0
  124. package/dist/src/components/FilePreview/AccessibiliteItems.d.ts +16 -0
  125. package/dist/src/components/FilePreview/FilePreview.d.ts +28 -0
  126. package/dist/src/components/FilePreview/config.d.ts +9 -0
  127. package/dist/src/components/FilePreview/constants/ExpertiseLevelEnum.d.ts +4 -0
  128. package/dist/src/components/FilePreview/locales.d.ts +4 -0
  129. package/dist/src/components/FilePreview/tests/FilePreview.spec.d.ts +1 -0
  130. package/dist/src/components/FileUpload/AccessibiliteItems.d.ts +16 -0
  131. package/dist/src/components/FileUpload/FileUpload.d.ts +49 -0
  132. package/dist/src/components/FileUpload/FileUploadContent.d.ts +20 -0
  133. package/dist/src/components/FileUpload/constants/ExpertiseLevelEnum.d.ts +4 -0
  134. package/dist/src/components/FileUpload/locales.d.ts +9 -0
  135. package/dist/src/components/FileUpload/tests/FileUpload.spec.d.ts +1 -0
  136. package/dist/src/components/FileUpload/useFileDrop.d.ts +2 -0
  137. package/dist/src/components/FileUpload/validateFiles.d.ts +4 -0
  138. package/dist/src/components/FilterInline/FilterInline.d.ts +28 -0
  139. package/dist/src/components/FilterInline/locales.d.ts +3 -0
  140. package/dist/src/components/FilterInline/tests/FilterInline.spec.d.ts +1 -0
  141. package/dist/src/components/FilterSideBar/FilterSideBar.d.ts +31 -0
  142. package/dist/src/components/FilterSideBar/locales.d.ts +7 -0
  143. package/dist/src/components/FilterSideBar/tests/FilterSideBar.spec.d.ts +1 -0
  144. package/dist/src/components/FooterBar/A11yCompliance.d.ts +3 -0
  145. package/dist/src/components/FooterBar/AccessibiliteItems.d.ts +110 -0
  146. package/dist/src/components/FooterBar/FooterBar.d.ts +57 -0
  147. package/dist/src/components/FooterBar/config.d.ts +18 -0
  148. package/dist/src/components/FooterBar/constants/ExpertiseLevelEnum.d.ts +4 -0
  149. package/dist/src/components/FooterBar/defaultSocialMediaLinks.d.ts +2 -0
  150. package/dist/src/components/FooterBar/locales.d.ts +11 -0
  151. package/dist/src/components/FooterBar/tests/FooterBar.spec.d.ts +1 -0
  152. package/dist/src/components/FooterBar/tests/FooterBarConfig.spec.d.ts +1 -0
  153. package/dist/src/components/FooterBar/types.d.ts +9 -0
  154. package/dist/src/components/FranceConnectBtn/AccessibiliteItems.d.ts +45 -0
  155. package/dist/src/components/FranceConnectBtn/FranceConnectBtn.d.ts +10 -0
  156. package/dist/src/components/FranceConnectBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  157. package/dist/src/components/FranceConnectBtn/locales.d.ts +4 -0
  158. package/dist/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.d.ts +1 -0
  159. package/dist/src/components/HeaderBar/AccessibiliteItems.d.ts +91 -0
  160. package/dist/src/components/HeaderBar/HeaderBar.d.ts +67 -0
  161. package/dist/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +77 -0
  162. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +67 -0
  163. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +9 -0
  164. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/HeaderMenuItem.spec.d.ts +1 -0
  165. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +13 -0
  166. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.d.ts +1 -0
  167. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +10 -0
  168. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.d.ts +1 -0
  169. package/dist/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.d.ts +4 -0
  170. package/dist/src/components/HeaderBar/HeaderBurgerMenu/conts.d.ts +1 -0
  171. package/dist/src/components/HeaderBar/HeaderBurgerMenu/locals.d.ts +5 -0
  172. package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.d.ts +1 -0
  173. package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.d.ts +1 -0
  174. package/dist/src/components/HeaderBar/HeaderBurgerMenu/useHandleSubMenus.d.ts +4 -0
  175. package/dist/src/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +31 -0
  176. package/dist/src/components/HeaderBar/HeaderLogo/locales.d.ts +3 -0
  177. package/dist/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.d.ts +2 -0
  178. package/dist/src/components/HeaderBar/HeaderLogo/logos/Logo.d.ts +2 -0
  179. package/dist/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.d.ts +1 -0
  180. package/dist/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.d.ts +14 -0
  181. package/dist/src/components/HeaderBar/HeaderMenuBtn/locals.d.ts +5 -0
  182. package/dist/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.d.ts +1 -0
  183. package/dist/src/components/HeaderBar/constants/ExpertiseLevelEnum.d.ts +4 -0
  184. package/dist/src/components/HeaderBar/consts.d.ts +2 -0
  185. package/dist/src/components/HeaderBar/locales.d.ts +3 -0
  186. package/dist/src/components/HeaderBar/tests/HeaderBar.spec.d.ts +1 -0
  187. package/dist/src/components/HeaderBar/tests/useHeaderResponsiveMode.spec.d.ts +1 -0
  188. package/dist/src/components/HeaderBar/tests/useScrollDirection.spec.d.ts +1 -0
  189. package/dist/src/components/HeaderBar/useHeaderResponsiveMode.d.ts +3 -0
  190. package/dist/src/components/HeaderBar/useScrollDirection.d.ts +3 -0
  191. package/dist/src/components/HeaderLoading/AccessibiliteItems.d.ts +16 -0
  192. package/dist/src/components/HeaderLoading/HeaderLoading.d.ts +23 -0
  193. package/dist/src/components/HeaderLoading/constants/ExpertiseLevelEnum.d.ts +4 -0
  194. package/dist/src/components/HeaderLoading/tests/HeaderLoading.spec.d.ts +1 -0
  195. package/dist/src/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +84 -0
  196. package/dist/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +20 -0
  197. package/dist/src/components/HeaderNavigationBar/HorizontalNavbar/config.d.ts +16 -0
  198. package/dist/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.d.ts +1 -0
  199. package/dist/src/components/HeaderNavigationBar/types.d.ts +6 -0
  200. package/dist/src/components/HeaderToolbar/AccessibiliteItems.d.ts +46 -0
  201. package/dist/src/components/HeaderToolbar/HeaderToolbar.d.ts +103 -0
  202. package/dist/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.d.ts +4 -0
  203. package/dist/src/components/HeaderToolbar/tests/HeaderToolbar.spec.d.ts +1 -0
  204. package/dist/src/components/HeaderToolbar/types.d.ts +19 -0
  205. package/dist/src/components/LangBtn/AccessibiliteItems.d.ts +16 -0
  206. package/dist/src/components/LangBtn/LangBtn.d.ts +31 -0
  207. package/dist/src/components/LangBtn/config.d.ts +15 -0
  208. package/dist/src/components/LangBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  209. package/dist/src/components/LangBtn/locales.d.ts +3 -0
  210. package/dist/src/components/LangBtn/tests/Config.spec.d.ts +1 -0
  211. package/dist/src/components/LangBtn/tests/LangBtn.spec.d.ts +1 -0
  212. package/dist/src/components/LangBtn/types.d.ts +7 -0
  213. package/dist/src/components/Logo/AccessibiliteItems.d.ts +65 -0
  214. package/dist/src/components/Logo/Logo.d.ts +71 -0
  215. package/dist/src/components/Logo/LogoSize.d.ts +6 -0
  216. package/dist/src/components/Logo/constants/ExpertiseLevelEnum.d.ts +4 -0
  217. package/dist/src/components/Logo/locales.d.ts +6 -0
  218. package/dist/src/components/Logo/logoDimensionsMapping.d.ts +3 -0
  219. package/dist/src/components/Logo/tests/Logo.spec.d.ts +1 -0
  220. package/dist/src/components/Logo/types.d.ts +7 -0
  221. package/dist/src/components/LogoBrandSection/AccessibiliteItems.d.ts +91 -0
  222. package/dist/src/components/LogoBrandSection/LogoBrandSection.d.ts +38 -0
  223. package/dist/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.d.ts +4 -0
  224. package/dist/src/components/LogoBrandSection/dividerDimensionsMapping.d.ts +14 -0
  225. package/dist/src/components/LogoBrandSection/locales.d.ts +14 -0
  226. package/dist/src/components/LogoBrandSection/secondaryLogoMapping.d.ts +18 -0
  227. package/dist/src/components/LogoBrandSection/tests/LogoBrandSection.spec.d.ts +1 -0
  228. package/dist/src/components/LogoBrandSection/types.d.ts +1 -0
  229. package/dist/src/components/MaintenancePage/AccessibiliteItems.d.ts +65 -0
  230. package/dist/src/components/MaintenancePage/MaintenancePage.d.ts +2 -0
  231. package/dist/src/components/MaintenancePage/constants/ExpertiseLevelEnum.d.ts +4 -0
  232. package/dist/src/components/MaintenancePage/index.d.ts +2 -0
  233. package/dist/src/components/MaintenancePage/locales.d.ts +4 -0
  234. package/dist/src/components/MaintenancePage/tests/MaintenancePage.spec.d.ts +1 -0
  235. package/dist/src/components/NirField/AccessibiliteItems.d.ts +79 -0
  236. package/dist/src/components/NirField/NirField.d.ts +940 -0
  237. package/dist/src/components/NirField/config.d.ts +15 -0
  238. package/dist/src/components/NirField/constants/ExpertiseLevelEnum.d.ts +4 -0
  239. package/dist/src/components/NirField/locales.d.ts +12 -0
  240. package/dist/src/components/NirField/nirValidation.d.ts +5 -0
  241. package/dist/src/components/NirField/tests/NirField.spec.d.ts +1 -0
  242. package/dist/src/components/NotFoundPage/AccessibiliteItems.d.ts +65 -0
  243. package/dist/src/components/NotFoundPage/NotFoundPage.d.ts +14 -0
  244. package/dist/src/components/NotFoundPage/constants/ExpertiseLevelEnum.d.ts +4 -0
  245. package/dist/src/components/NotFoundPage/locales.d.ts +6 -0
  246. package/dist/src/components/NotFoundPage/tests/NotFoundPage.spec.d.ts +1 -0
  247. package/dist/src/components/NotificationBar/AccessibiliteItems.d.ts +29 -0
  248. package/dist/src/components/NotificationBar/NotificationBar.d.ts +37 -0
  249. package/dist/src/components/NotificationBar/constants/ExpertiseLevelEnum.d.ts +4 -0
  250. package/dist/src/components/NotificationBar/options.d.ts +13 -0
  251. package/dist/src/components/NotificationBar/tests/NotificationBar.spec.d.ts +1 -0
  252. package/dist/src/components/NotificationBar/types.d.ts +7 -0
  253. package/dist/src/components/PageContainer/AccessibiliteItems.d.ts +29 -0
  254. package/dist/src/components/PageContainer/PageContainer.d.ts +21 -0
  255. package/dist/src/components/PageContainer/constants/ExpertiseLevelEnum.d.ts +4 -0
  256. package/dist/src/components/PageContainer/tests/PageContainer.spec.d.ts +1 -0
  257. package/dist/src/components/PaginatedTable/AccessibiliteItems.d.ts +97 -0
  258. package/dist/src/components/PaginatedTable/PaginatedTable.d.ts +57 -0
  259. package/dist/src/components/PaginatedTable/constants/ExpertiseLevelEnum.d.ts +4 -0
  260. package/dist/src/components/PaginatedTable/constants/StateEnum.d.ts +6 -0
  261. package/dist/src/components/PaginatedTable/tests/PaginatedTable.spec.d.ts +1 -0
  262. package/dist/src/components/PaginatedTable/types.d.ts +26 -0
  263. package/dist/src/components/PasswordField/AccessibiliteItems.d.ts +54 -0
  264. package/dist/src/components/PasswordField/PasswordField.d.ts +57 -0
  265. package/dist/src/components/PasswordField/config.d.ts +9 -0
  266. package/dist/src/components/PasswordField/constants/ExpertiseLevelEnum.d.ts +4 -0
  267. package/dist/src/components/PasswordField/locales.d.ts +4 -0
  268. package/dist/src/components/PasswordField/tests/PasswordField.spec.d.ts +1 -0
  269. package/dist/src/components/PeriodField/AccessibiliteItems.d.ts +54 -0
  270. package/dist/src/components/PeriodField/PeriodField.d.ts +1403 -0
  271. package/dist/src/components/PeriodField/constants/ExpertiseLevelEnum.d.ts +4 -0
  272. package/dist/src/components/PeriodField/tests/PeriodField.spec.d.ts +1 -0
  273. package/dist/src/components/PhoneField/AccessibiliteItems.d.ts +94 -0
  274. package/dist/src/components/PhoneField/PhoneField.d.ts +138 -0
  275. package/dist/src/components/PhoneField/constants/ExpertiseLevelEnum.d.ts +4 -0
  276. package/dist/src/components/PhoneField/indicatifs.d.ts +7 -0
  277. package/dist/src/components/PhoneField/locales.d.ts +4 -0
  278. package/dist/src/components/PhoneField/tests/PhoneField.spec.d.ts +1 -0
  279. package/dist/src/components/RangeField/AccessibiliteItems.d.ts +54 -0
  280. package/dist/src/components/RangeField/RangeField.d.ts +19 -0
  281. package/dist/src/components/RangeField/RangeSlider/RangeSlider.d.ts +286 -0
  282. package/dist/src/components/RangeField/RangeSlider/Tooltip/Tooltip.d.ts +20 -0
  283. package/dist/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.d.ts +1 -0
  284. package/dist/src/components/RangeField/RangeSlider/tests/useDoubleSlider.spec.d.ts +1 -0
  285. package/dist/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.d.ts +1 -0
  286. package/dist/src/components/RangeField/RangeSlider/tests/useThumb.spec.d.ts +1 -0
  287. package/dist/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.d.ts +1 -0
  288. package/dist/src/components/RangeField/RangeSlider/tests/useTooltipsNudge.spec.d.ts +1 -0
  289. package/dist/src/components/RangeField/RangeSlider/tests/useTrack.spec.d.ts +1 -0
  290. package/dist/src/components/RangeField/RangeSlider/tests/vAnimateClick.spec.d.ts +1 -0
  291. package/dist/src/components/RangeField/RangeSlider/types.d.ts +13 -0
  292. package/dist/src/components/RangeField/RangeSlider/useMouseSlide.d.ts +18 -0
  293. package/dist/src/components/RangeField/RangeSlider/useRangeSlider.d.ts +17 -0
  294. package/dist/src/components/RangeField/RangeSlider/useThumb.d.ts +6 -0
  295. package/dist/src/components/RangeField/RangeSlider/useThumbKeyboard.d.ts +12 -0
  296. package/dist/src/components/RangeField/RangeSlider/useTooltipsNudge.d.ts +16 -0
  297. package/dist/src/components/RangeField/RangeSlider/useTrack.d.ts +13 -0
  298. package/dist/src/components/RangeField/RangeSlider/vAnimateClick.d.ts +3 -0
  299. package/dist/src/components/RangeField/config.d.ts +6 -0
  300. package/dist/src/components/RangeField/constants/ExpertiseLevelEnum.d.ts +4 -0
  301. package/dist/src/components/RangeField/locales.d.ts +4 -0
  302. package/dist/src/components/RangeField/tests/RangeField.spec.d.ts +1 -0
  303. package/dist/src/components/RatingPicker/AccessibiliteItems.d.ts +80 -0
  304. package/dist/src/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +65 -0
  305. package/dist/src/components/RatingPicker/EmotionPicker/locales.d.ts +3 -0
  306. package/dist/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.d.ts +1 -0
  307. package/dist/src/components/RatingPicker/NumberPicker/NumberPicker.d.ts +64 -0
  308. package/dist/src/components/RatingPicker/NumberPicker/locales.d.ts +3 -0
  309. package/dist/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.d.ts +1 -0
  310. package/dist/src/components/RatingPicker/Rating.d.ts +25 -0
  311. package/dist/src/components/RatingPicker/RatingPicker.d.ts +82 -0
  312. package/dist/src/components/RatingPicker/StarsPicker/StarsPicker.d.ts +54 -0
  313. package/dist/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.d.ts +1 -0
  314. package/dist/src/components/RatingPicker/constants/ExpertiseLevelEnum.d.ts +4 -0
  315. package/dist/src/components/RatingPicker/locales.d.ts +3 -0
  316. package/dist/src/components/RatingPicker/tests/Rating.spec.d.ts +1 -0
  317. package/dist/src/components/RatingPicker/tests/RatingPicker.spec.d.ts +1 -0
  318. package/dist/src/components/SearchListField/AccessibiliteItems.d.ts +90 -0
  319. package/dist/src/components/SearchListField/SearchListField.d.ts +42 -0
  320. package/dist/src/components/SearchListField/constants/ExpertiseLevelEnum.d.ts +4 -0
  321. package/dist/src/components/SearchListField/locales.d.ts +5 -0
  322. package/dist/src/components/SearchListField/tests/SearchListField.spec.d.ts +1 -0
  323. package/dist/src/components/SearchListField/types.d.ts +4 -0
  324. package/dist/src/components/SelectBtnField/AccessibiliteItems.d.ts +79 -0
  325. package/dist/src/components/SelectBtnField/SelectBtnField.d.ts +33 -0
  326. package/dist/src/components/SelectBtnField/config.d.ts +11 -0
  327. package/dist/src/components/SelectBtnField/constants/ExpertiseLevelEnum.d.ts +4 -0
  328. package/dist/src/components/SelectBtnField/tests/SelectBtnField.spec.d.ts +1 -0
  329. package/dist/src/components/SelectBtnField/types.d.ts +11 -0
  330. package/dist/src/components/SkipLink/AccessibiliteItems.d.ts +16 -0
  331. package/dist/src/components/SkipLink/SkipLink.d.ts +18 -0
  332. package/dist/src/components/SkipLink/constants/ExpertiseLevelEnum.d.ts +4 -0
  333. package/dist/src/components/SkipLink/locales.d.ts +3 -0
  334. package/dist/src/components/SkipLink/tests/skipLink.spec.d.ts +1 -0
  335. package/dist/src/components/SocialMediaLinks/AccessibiliteItems.d.ts +46 -0
  336. package/dist/src/components/SocialMediaLinks/DefaultSocialMediaLinks.d.ts +2 -0
  337. package/dist/src/components/SocialMediaLinks/SocialMediaLinks.d.ts +16 -0
  338. package/dist/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.d.ts +4 -0
  339. package/dist/src/components/SocialMediaLinks/locales.d.ts +3 -0
  340. package/dist/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.d.ts +1 -0
  341. package/dist/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.d.ts +1 -0
  342. package/dist/src/components/SocialMediaLinks/types.d.ts +5 -0
  343. package/dist/src/components/SubHeader/AccessibiliteItems.d.ts +29 -0
  344. package/dist/src/components/SubHeader/SubHeader.d.ts +40 -0
  345. package/dist/src/components/SubHeader/config.d.ts +11 -0
  346. package/dist/src/components/SubHeader/constants/ExpertiseLevelEnum.d.ts +4 -0
  347. package/dist/src/components/SubHeader/locales.d.ts +3 -0
  348. package/dist/src/components/SubHeader/tests/SubHeader.spec.d.ts +1 -0
  349. package/dist/src/components/SyAlert/AccessibiliteItems.d.ts +29 -0
  350. package/dist/src/components/SyAlert/SyAlert.d.ts +32 -0
  351. package/dist/src/components/SyAlert/constants/ExpertiseLevelEnum.d.ts +4 -0
  352. package/dist/src/components/SyAlert/locales.d.ts +3 -0
  353. package/dist/src/components/SyAlert/tests/SyAlert.spec.d.ts +1 -0
  354. package/dist/src/components/TableToolbar/AccessibiliteItems.d.ts +71 -0
  355. package/dist/src/components/TableToolbar/TableToolbar.d.ts +40 -0
  356. package/dist/src/components/TableToolbar/config.d.ts +24 -0
  357. package/dist/src/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +4 -0
  358. package/dist/src/components/TableToolbar/locales.d.ts +5 -0
  359. package/dist/src/components/TableToolbar/tests/TableToolbar.spec.d.ts +1 -0
  360. package/dist/src/components/UploadWorkflow/config.d.ts +29 -0
  361. package/dist/src/components/UploadWorkflow/locales.d.ts +7 -0
  362. package/dist/src/components/UploadWorkflow/tests/UploadWorkflow.spec.d.ts +1 -0
  363. package/dist/src/components/UploadWorkflow/types.d.ts +19 -0
  364. package/dist/src/components/UploadWorkflow/useFileList.d.ts +10 -0
  365. package/dist/src/components/UploadWorkflow/useFileUploadJourney.d.ts +9 -0
  366. package/dist/src/components/UserMenuBtn/AccessibiliteItems.d.ts +54 -0
  367. package/dist/src/components/UserMenuBtn/UserMenuBtn.d.ts +32 -0
  368. package/dist/src/components/UserMenuBtn/config.d.ts +24 -0
  369. package/dist/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  370. package/dist/src/components/UserMenuBtn/tests/UserMenuBtn.spec.d.ts +1 -0
  371. package/dist/src/components/index.d.ts +65 -0
  372. package/dist/src/composables/index.d.ts +3 -0
  373. package/dist/src/composables/rules/tests/useFieldValidation.spec.d.ts +1 -0
  374. package/dist/src/composables/rules/useFieldValidation.d.ts +28 -0
  375. package/dist/src/composables/useCustomizableOptions.d.ts +13 -0
  376. package/dist/src/composables/useFilterable/useFilterable.d.ts +32 -0
  377. package/dist/src/composables/useFilterable/useFilterable.spec.d.ts +1 -0
  378. package/dist/src/composables/validation/tests/useValidation.spec.d.ts +1 -0
  379. package/dist/src/composables/validation/useValidation.d.ts +39 -0
  380. package/dist/src/composables/widthable/index.d.ts +13 -0
  381. package/dist/src/composables/widthable/tests/widthable.spec.d.ts +1 -0
  382. package/dist/src/constants/icons.d.ts +3 -0
  383. package/dist/src/designTokens/index.d.ts +11 -0
  384. package/dist/src/designTokens/tokens/cnam/cnamColors.d.ts +171 -0
  385. package/dist/src/designTokens/tokens/cnam/cnamContextual.d.ts +58 -0
  386. package/dist/src/designTokens/tokens/cnam/cnamDarkTheme.d.ts +3 -0
  387. package/dist/src/designTokens/tokens/cnam/cnamLightTheme.d.ts +90 -0
  388. package/dist/src/designTokens/tokens/cnam/cnamSemantic.d.ts +87 -0
  389. package/dist/src/designTokens/tokens/pa/paColors.d.ts +171 -0
  390. package/dist/src/designTokens/tokens/pa/paContextual.d.ts +58 -0
  391. package/dist/src/designTokens/tokens/pa/paDarkTheme.d.ts +3 -0
  392. package/dist/src/designTokens/tokens/pa/paLightTheme.d.ts +120 -0
  393. package/dist/src/designTokens/tokens/pa/paSemantic.d.ts +87 -0
  394. package/dist/src/designTokens/utils/convertGaps.d.ts +5 -0
  395. package/dist/src/designTokens/utils/convertSemanticsToken.d.ts +12 -0
  396. package/dist/src/designTokens/utils/createFlattenTheme.d.ts +7 -0
  397. package/dist/src/designTokens/utils/index.d.ts +3 -0
  398. package/dist/src/directives/clickOutside.d.ts +1 -0
  399. package/dist/src/main.d.ts +3 -0
  400. package/dist/src/modules.d.ts +4 -0
  401. package/dist/src/services/NotificationService.d.ts +19 -0
  402. package/dist/src/services/index.d.ts +1 -0
  403. package/dist/src/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +58 -0
  404. package/dist/src/stories/EcoConception/ecoDesignItems.d.ts +4 -0
  405. package/dist/src/types/vuetifyTypes.d.ts +3 -0
  406. package/dist/src/utils/calcHumanFileSize/index.d.ts +2 -0
  407. package/dist/src/utils/calcHumanFileSize/tests/calcHumanFileSize.spec.d.ts +1 -0
  408. package/dist/src/utils/convertToUnit/index.d.ts +2 -0
  409. package/dist/src/utils/convertToUnit/test/convertToUnit.spec.d.ts +1 -0
  410. package/dist/src/utils/functions/copyToClipboard/index.d.ts +2 -0
  411. package/dist/src/utils/functions/copyToClipboard/tests/copyToClipboard.spec.d.ts +1 -0
  412. package/dist/src/utils/functions/deepCopy/index.d.ts +4 -0
  413. package/dist/src/utils/functions/deepCopy/tests/deepCopy.spec.d.ts +1 -0
  414. package/dist/src/utils/functions/downloadFile/index.d.ts +3 -0
  415. package/dist/src/utils/functions/downloadFile/tests/downloadFile.spec.d.ts +1 -0
  416. package/dist/src/utils/functions/downloadFile/types.d.ts +1 -0
  417. package/dist/src/utils/functions/isEmailValid/index.d.ts +4 -0
  418. package/dist/src/utils/functions/isEmailValid/tests/isEmailValid.spec.d.ts +1 -0
  419. package/dist/src/utils/functions/throttleDisplayFn/tests/throttleDisplayFn.spec.d.ts +1 -0
  420. package/dist/src/utils/functions/throttleDisplayFn/throttleDisplayFn.d.ts +4 -0
  421. package/dist/src/utils/localStorageUtility/index.d.ts +28 -0
  422. package/dist/src/utils/localStorageUtility/tests/localStorageUtility.spec.d.ts +1 -0
  423. package/dist/src/utils/propValidator/index.d.ts +2 -0
  424. package/dist/src/utils/propValidator/tests/propValidator.spec.d.ts +1 -0
  425. package/dist/src/utils/ruleMessage/index.d.ts +3 -0
  426. package/dist/src/utils/ruleMessage/tests/ruleMessages.spec.d.ts +1 -0
  427. package/dist/src/utils/rules/email/index.d.ts +4 -0
  428. package/dist/src/utils/rules/email/locales.d.ts +2 -0
  429. package/dist/src/utils/rules/email/tests/email.spec.d.ts +1 -0
  430. package/dist/src/utils/rules/exactLength/index.d.ts +4 -0
  431. package/dist/src/utils/rules/exactLength/locales.d.ts +2 -0
  432. package/dist/src/utils/rules/required/index.d.ts +4 -0
  433. package/dist/src/utils/rules/required/locales.d.ts +2 -0
  434. package/dist/src/utils/rules/required/ruleMessageHelper.d.ts +3 -0
  435. package/dist/src/utils/rules/required/tests/index.spec.d.ts +1 -0
  436. package/dist/src/utils/rules/required/tests/rulesMessageHelper.spec.d.ts +1 -0
  437. package/dist/src/utils/rules/types.d.ts +15 -0
  438. package/dist/src/vuetifyConfig.d.ts +81 -0
  439. package/dist/style.css +1 -1
  440. package/package.json +23 -21
  441. package/src/assets/_elevations.scss +89 -0
  442. package/src/assets/_fonts.scss +6 -0
  443. package/src/assets/_radius.scss +86 -0
  444. package/src/assets/_spacers.scss +149 -0
  445. package/src/assets/settings.scss +18 -3
  446. package/src/assets/tokens.scss +32 -29
  447. package/src/components/Amelipro/types/languages.d.ts +6 -0
  448. package/src/components/Amelipro/types/types.d.ts +65 -0
  449. package/src/components/BackBtn/Usages.mdx +9 -0
  450. package/src/components/BackBtn/Usages.stories.ts +37 -0
  451. package/src/components/BackToTopBtn/Usages.mdx +9 -0
  452. package/src/components/BackToTopBtn/Usages.stories.ts +41 -0
  453. package/src/components/ChipList/Accessibilite.mdx +14 -0
  454. package/src/components/ChipList/Accessibilite.stories.ts +216 -0
  455. package/src/components/ChipList/AccessibiliteItems.ts +119 -0
  456. package/src/components/ChipList/ChipList.mdx +59 -0
  457. package/src/components/ChipList/ChipList.stories.ts +1257 -0
  458. package/src/components/ChipList/ChipList.vue +246 -0
  459. package/src/components/ChipList/config.ts +27 -0
  460. package/src/{stories/Guidelines/Accessibilite → components/ChipList}/constants/ExpertiseLevelEnum.ts +0 -1
  461. package/src/components/ChipList/locales.ts +6 -0
  462. package/src/components/ChipList/tests/chipList.spec.ts +300 -0
  463. package/src/components/ChipList/types.ts +7 -0
  464. package/src/components/ContextualMenu/Usages.mdx +9 -0
  465. package/src/components/ContextualMenu/Usages.stories.ts +38 -0
  466. package/src/components/CopyBtn/Usages.mdx +9 -0
  467. package/src/components/CopyBtn/Usages.stories.ts +41 -0
  468. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +65 -0
  469. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +13 -3
  470. package/src/components/Customs/SySelect/SySelect.stories.ts +88 -5
  471. package/src/components/Customs/SySelect/SySelect.vue +40 -11
  472. package/src/components/Customs/SySelect/Usages.mdx +9 -0
  473. package/src/components/Customs/SySelect/Usages.stories.ts +41 -0
  474. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +135 -2
  475. package/src/components/Customs/SyTextField/SyTextField.mdx +21 -0
  476. package/src/components/Customs/SyTextField/SyTextField.stories.ts +906 -244
  477. package/src/components/Customs/SyTextField/SyTextField.vue +259 -33
  478. package/src/components/Customs/SyTextField/Usages.mdx +9 -0
  479. package/src/components/Customs/SyTextField/Usages.stories.ts +41 -0
  480. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +193 -40
  481. package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +23 -25
  482. package/src/components/Customs/SyTextField/types.d.ts +1 -0
  483. package/src/components/DatePicker/DatePicker.mdx +37 -1
  484. package/src/components/DatePicker/DatePicker.stories.ts +374 -5
  485. package/src/components/DatePicker/DatePicker.vue +506 -166
  486. package/src/components/DatePicker/DateTextInput.vue +581 -289
  487. package/src/components/DatePicker/Usages.mdx +9 -0
  488. package/src/components/DatePicker/Usages.stories.ts +43 -0
  489. package/src/components/DatePicker/tests/DatePicker.spec.ts +13 -20
  490. package/src/components/DatePicker/tests/DateTextInput.spec.ts +282 -0
  491. package/src/components/DialogBox/DialogBox.mdx +1 -1
  492. package/src/components/DialogBox/Usages.mdx +9 -0
  493. package/src/components/DialogBox/Usages.stories.ts +45 -0
  494. package/src/components/ErrorPage/ErrorPage.mdx +1 -1
  495. package/src/components/ExternalLinks/Usages.mdx +9 -0
  496. package/src/components/ExternalLinks/Usages.stories.ts +40 -0
  497. package/src/components/FileList/Accessibilite.mdx +14 -0
  498. package/src/components/FileList/Accessibilite.stories.ts +216 -0
  499. package/src/components/FileList/AccessibiliteItems.ts +110 -0
  500. package/src/components/FileList/FileList.vue +2 -1
  501. package/src/components/FileList/UploadItem/UploadItem.vue +10 -0
  502. package/src/components/FileList/constants/ExpertiseLevelEnum.ts +4 -0
  503. package/src/components/FilePreview/Accessibilite.mdx +14 -0
  504. package/src/components/FilePreview/Accessibilite.stories.ts +216 -0
  505. package/src/components/FilePreview/AccessibiliteItems.ts +27 -0
  506. package/src/components/FilePreview/constants/ExpertiseLevelEnum.ts +4 -0
  507. package/src/components/FileUpload/Accessibilite.mdx +14 -0
  508. package/src/components/FileUpload/Accessibilite.stories.ts +216 -0
  509. package/src/components/FileUpload/AccessibiliteItems.ts +27 -0
  510. package/src/components/FileUpload/FileUpload.stories.ts +84 -0
  511. package/src/components/FileUpload/FileUpload.vue +1 -0
  512. package/src/components/FileUpload/constants/ExpertiseLevelEnum.ts +4 -0
  513. package/src/components/FileUpload/tests/FileUpload.spec.ts +4 -4
  514. package/src/components/FilterInline/FilterInline.mdx +237 -0
  515. package/src/components/FilterInline/FilterInline.stories.ts +763 -0
  516. package/src/components/FilterInline/FilterInline.vue +108 -0
  517. package/src/components/FilterInline/locales.ts +4 -0
  518. package/src/components/FilterInline/tests/FilterInline.spec.ts +68 -0
  519. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +38 -0
  520. package/src/components/FilterSideBar/FilterSideBar.mdx +237 -0
  521. package/src/components/FilterSideBar/FilterSideBar.stories.ts +798 -0
  522. package/src/components/FilterSideBar/FilterSideBar.vue +193 -0
  523. package/src/components/FilterSideBar/locales.ts +8 -0
  524. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +305 -0
  525. package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +39 -0
  526. package/src/components/HeaderBar/Usages.mdx +7 -2
  527. package/src/components/HeaderBar/Usages.stories.ts +39 -0
  528. package/src/components/NirField/NirField.stories.ts +574 -30
  529. package/src/components/NirField/NirField.vue +400 -356
  530. package/src/components/NirField/Usages.mdx +9 -0
  531. package/src/components/NirField/Usages.stories.ts +42 -0
  532. package/src/components/NirField/tests/NirField.spec.ts +88 -52
  533. package/src/components/NirField/tests//342/200/257dataset/342/200/257.md +12 -0
  534. package/src/components/NotificationBar/Accessibilite.stories.ts +4 -0
  535. package/src/components/NotificationBar/NotificationBar.stories.ts +18 -13
  536. package/src/components/NotificationBar/Usages.mdx +9 -0
  537. package/src/components/NotificationBar/Usages.stories.ts +41 -0
  538. package/src/components/PaginatedTable/Accessibilite.mdx +14 -0
  539. package/src/components/PaginatedTable/Accessibilite.stories.ts +216 -0
  540. package/src/components/PaginatedTable/AccessibiliteItems.ts +352 -0
  541. package/src/components/PaginatedTable/PaginatedTable.mdx +54 -0
  542. package/src/components/PaginatedTable/PaginatedTable.stories.ts +591 -0
  543. package/src/components/PaginatedTable/PaginatedTable.vue +243 -0
  544. package/src/components/PaginatedTable/constants/ExpertiseLevelEnum.ts +4 -0
  545. package/src/components/PaginatedTable/constants/StateEnum.ts +6 -0
  546. package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +257 -0
  547. package/src/components/PaginatedTable/tests/__snapshots__/PaginatedTable.spec.ts.snap +249 -0
  548. package/src/components/PaginatedTable/types.ts +30 -0
  549. package/src/components/PasswordField/PasswordField.mdx +129 -47
  550. package/src/components/PasswordField/PasswordField.stories.ts +924 -120
  551. package/src/components/PasswordField/PasswordField.vue +209 -99
  552. package/src/components/PasswordField/tests/PasswordField.spec.ts +138 -9
  553. package/src/components/PeriodField/Accessibilite.mdx +14 -0
  554. package/src/components/PeriodField/Accessibilite.stories.ts +216 -0
  555. package/src/components/PeriodField/AccessibiliteItems.ts +269 -0
  556. package/src/components/PeriodField/PeriodField.vue +64 -78
  557. package/src/components/PeriodField/constants/ExpertiseLevelEnum.ts +4 -0
  558. package/src/components/PeriodField/tests/PeriodField.spec.ts +11 -19
  559. package/src/components/PhoneField/PhoneField.mdx +1 -1
  560. package/src/components/PhoneField/PhoneField.stories.ts +69 -0
  561. package/src/components/PhoneField/PhoneField.vue +3 -0
  562. package/src/components/PhoneField/Usages.mdx +9 -0
  563. package/src/components/PhoneField/Usages.stories.ts +38 -0
  564. package/src/components/PhoneField/indicatifs.ts +1 -1
  565. package/src/components/RangeField/RangeField.vue +0 -4
  566. package/src/components/SearchListField/SearchListField.mdx +1 -2
  567. package/src/components/SelectBtnField/Usages.mdx +9 -0
  568. package/src/components/SelectBtnField/Usages.stories.ts +40 -0
  569. package/src/components/SkipLink/Usages.mdx +9 -0
  570. package/src/components/SkipLink/Usages.stories.ts +41 -0
  571. package/src/components/SyAlert/Usages.mdx +9 -0
  572. package/src/components/SyAlert/Usages.stories.ts +40 -0
  573. package/src/components/TableToolbar/Accessibilite.mdx +14 -0
  574. package/src/components/TableToolbar/Accessibilite.stories.ts +216 -0
  575. package/src/components/TableToolbar/AccessibiliteItems.ts +283 -0
  576. package/src/components/TableToolbar/constants/ExpertiseLevelEnum.ts +4 -0
  577. package/src/components/UploadWorkflow/UploadWorkflow.mdx +75 -0
  578. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +943 -0
  579. package/src/components/UploadWorkflow/UploadWorkflow.vue +230 -0
  580. package/src/components/UploadWorkflow/config.ts +29 -0
  581. package/src/components/UploadWorkflow/locales.ts +8 -0
  582. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +257 -0
  583. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +54 -0
  584. package/src/components/UploadWorkflow/types.ts +21 -0
  585. package/src/components/UploadWorkflow/useFileList.ts +84 -0
  586. package/src/components/UploadWorkflow/useFileUploadJourney.ts +18 -0
  587. package/src/components/Usages/Usages.vue +95 -0
  588. package/src/components/index.ts +5 -0
  589. package/src/composables/rules/useFieldValidation.ts +89 -14
  590. package/src/composables/useFilterable/useFilterable.spec.ts +635 -0
  591. package/src/composables/useFilterable/useFilterable.ts +196 -0
  592. package/src/composables/validation/tests/useValidation.spec.ts +154 -0
  593. package/src/composables/validation/useValidation.ts +165 -0
  594. package/src/constants/icons.ts +5 -0
  595. package/src/designTokens/index.ts +4 -0
  596. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +3 -3
  597. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +63 -0
  598. package/src/stories/Accessibilite/Audit/RGAA.mdx +29 -0
  599. package/src/stories/Accessibilite/Introduction.mdx +27 -0
  600. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +40 -0
  601. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +32 -0
  602. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +33 -0
  603. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru.mdx +33 -0
  604. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +100 -0
  605. package/src/stories/{Guidelines → Accessibilite}/Vuetify/Vuetify.mdx +1 -1
  606. package/src/stories/{Guidelines → Accessibilite}/Vuetify/Vuetify.stories.ts +1 -1
  607. package/src/stories/Components/Components.mdx +8 -0
  608. package/src/stories/Components/Components.stories.ts +398 -0
  609. package/src/stories/Demarrer/Accueil.mdx +8 -3
  610. package/src/stories/Demarrer/Accueil.stories.ts +126 -16
  611. package/src/stories/Demarrer/Introduction.mdx +12 -0
  612. package/src/stories/Demarrer/Introduction.stories.ts +151 -0
  613. package/src/stories/{GuideDuDev → Demarrer}/components.stories.ts +2 -2
  614. package/src/stories/{Fondamentaux → DesignTokens}/Arrondis.mdx +1 -1
  615. package/src/stories/{Fondamentaux → DesignTokens}/Colors.mdx +4 -4
  616. package/src/stories/DesignTokens/Conteneurs.mdx +18 -0
  617. package/src/stories/DesignTokens/Conteneurs.stories.ts +103 -0
  618. package/src/stories/{Fondamentaux → DesignTokens}/Elevations.mdx +1 -1
  619. package/src/stories/{Fondamentaux → DesignTokens}/Espacements.mdx +1 -1
  620. package/src/stories/{Fondamentaux → DesignTokens}/Introduction.mdx +1 -1
  621. package/src/stories/{Fondamentaux → DesignTokens}/StylesTypographiques.mdx +1 -1
  622. package/src/stories/DesignTokens/ThemePA.mdx +35 -0
  623. package/src/stories/{Fondamentaux → DesignTokens}/Typographie.mdx +14 -1
  624. package/src/stories/{Guidelines/EcoConception/EcoConception.mdx → EcoConception/Introduction.mdx} +2 -2
  625. package/src/stories/{Guidelines/EcoConception/Econception.stories.ts → EcoConception/econception.stories.ts} +2 -2
  626. package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +432 -0
  627. package/src/stories/GuideDuDev/MigrationDepuisVue2.mdx +415 -0
  628. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +314 -83
  629. package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
  630. package/src/stories/Templates/Templates.mdx +8 -0
  631. package/src/stories/Templates/Templates.stories.ts +85 -0
  632. package/src/utils/functions/deepCopy/index.ts +20 -0
  633. package/src/utils/functions/deepCopy/tests/deepCopy.spec.ts +58 -0
  634. package/src/utils/functions/isEmailValid/index.ts +8 -0
  635. package/src/utils/functions/isEmailValid/tests/isEmailValid.spec.ts +22 -0
  636. package/src/utils/localStorageUtility/index.ts +201 -0
  637. package/src/utils/localStorageUtility/tests/localStorageUtility.spec.ts +180 -0
  638. package/src/utils/ruleMessage/index.ts +14 -0
  639. package/src/utils/ruleMessage/tests/ruleMessages.spec.ts +28 -0
  640. package/src/utils/rules/email/index.ts +26 -0
  641. package/src/utils/rules/email/locales.ts +5 -0
  642. package/src/utils/rules/email/tests/email.spec.ts +24 -0
  643. package/src/vuetifyConfig.ts +61 -0
  644. package/dist/design-system-v3.d.ts +0 -2925
  645. package/src/stories/Fondamentaux/Conteneurs.mdx +0 -7
  646. package/src/stories/Fondamentaux/CustomisationEtThemes.mdx +0 -57
  647. package/src/stories/Guidelines/Accessibilite/Accessibilite.mdx +0 -51
  648. package/src/stories/Guidelines/Accessibilite/Accessibilite.stories.ts +0 -36
  649. package/src/stories/Guidelines/Accessibilite/AccessibiliteItems.ts +0 -706
  650. package/src/stories/Guidelines/Accessibilite/constants/RGAALevelEnum.ts +0 -4
  651. /package/src/stories/{Guidelines → Accessibilite}/Vuetify/VuetifyItems.ts +0 -0
  652. /package/src/stories/{GuideDuDev → Demarrer}/CreerUneIssue.mdx +0 -0
  653. /package/src/stories/{Guidelines/EcoConception → EcoConception}/ecoDesignItems.ts +0 -0
@@ -6,7 +6,7 @@
6
6
  import { useFieldValidation } from '@/composables/rules/useFieldValidation'
7
7
  import type { RuleOptions } from '@/composables/rules/useFieldValidation'
8
8
 
9
- type DateValue = string | [string, string]
9
+ type DateValue = string | [string, string] | null
10
10
  type DateInput = string | string[] | null | object
11
11
 
12
12
  const props = withDefaults(defineProps<{
@@ -20,12 +20,15 @@
20
20
  displayRange?: boolean
21
21
  displayIcon?: boolean
22
22
  displayAppendIcon?: boolean
23
+ displayPrependIcon?: boolean
23
24
  customRules?: { type: string, options: RuleOptions }[]
24
25
  customWarningRules?: { type: string, options: RuleOptions }[]
25
26
  isDisabled?: boolean
26
27
  noIcon?: boolean
27
28
  noCalendar?: boolean
28
29
  isOutlined?: boolean
30
+ isReadOnly?: boolean
31
+ width?: string
29
32
  }>(), {
30
33
  modelValue: undefined,
31
34
  placeholder: 'Sélectionner une date',
@@ -37,47 +40,64 @@
37
40
  displayRange: false,
38
41
  displayIcon: true,
39
42
  displayAppendIcon: false,
43
+ displayPrependIcon: true,
40
44
  customRules: () => [],
41
45
  customWarningRules: () => [],
42
46
  isDisabled: false,
43
47
  noIcon: false,
44
48
  noCalendar: false,
45
49
  isOutlined: true,
50
+ isReadOnly: false,
51
+ width: '100%',
46
52
  })
47
53
 
48
54
  const emit = defineEmits<{
49
- (e: 'update:model-value', value: DateValue): void
55
+ (e: 'update:modelValue', value: DateValue): void
50
56
  (e: 'closed'): void
57
+ (e: 'focus'): void
58
+ (e: 'blur'): void
51
59
  }>()
52
60
 
53
61
  // Fonction pour parser les dates selon le format spécifié
54
- const parseDate = (dateString: string): Date | null => {
62
+ const parseDate = (dateString: string, format: string = props.format): Date | null => {
55
63
  if (!dateString) return null
56
64
 
57
65
  // Créer un mapping des positions des éléments de date selon le format
58
- const format = props.format || 'DD/MM/YYYY'
59
66
  const separator = format.includes('/') ? '/' : format.includes('-') ? '-' : '.'
60
67
  const parts = format.split(separator)
61
68
  const dateParts = dateString.split(separator)
62
69
 
63
70
  if (parts.length !== dateParts.length) return null
64
71
 
65
- let day = '', month = '', year = ''
72
+ let day = 0, month = 0, year = 0
66
73
 
67
74
  // Extraire les valeurs selon leur position dans le format
68
75
  parts.forEach((part, index) => {
69
- const value = dateParts[index]
70
- if (part.includes('DD')) day = value
71
- else if (part.includes('MM')) month = value
76
+ const value = parseInt(dateParts[index], 10)
77
+ if (isNaN(value)) return
78
+
79
+ if (part.includes('DD') || part.includes('D')) day = value
80
+ else if (part.includes('MM') || part.includes('M')) month = value - 1 // Les mois en JS sont 0-indexés
72
81
  else if (part.includes('YYYY')) year = value
73
- else if (part.includes('YY')) year = '20' + value // Assumons que nous sommes au 21ème siècle
82
+ else if (part.includes('YY')) {
83
+ // Gestion intelligente des années à 2 chiffres
84
+ // Si l'année est < 50, on considère qu'elle est dans le 21ème siècle
85
+ // Sinon, elle est dans le 20ème siècle
86
+ year = value < 50 ? 2000 + value : 1900 + value
87
+ }
74
88
  })
75
89
 
76
- // Vérifier que nous avons toutes les parties nécessaires
77
- if (!day || !month || !year) return null
90
+ // Vérifier que nous avons toutes les parties nécessaires et qu'elles sont dans des plages valides
91
+ if (day < 1 || day > 31 || month < 0 || month > 11 || year < 1000 || year > 9999) return null
92
+
93
+ // Créer la date à midi (12:00) pour éviter les problèmes de décalage de fuseau horaire
94
+ // Cela garantit que la date reste la même lors de la conversion en UTC
95
+ const date = new Date(year, month, day, 12, 0, 0)
96
+
97
+ // Vérifier que la date est valide (par exemple, 31 février n'existe pas)
98
+ if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) return null
78
99
 
79
- const date = new Date(`${year}-${month}-${day}`)
80
- return isNaN(date.getTime()) ? null : date
100
+ return date
81
101
  }
82
102
 
83
103
  function initializeSelectedDates(
@@ -85,24 +105,45 @@
85
105
  ): Date | Date[] | null {
86
106
  if (!modelValue) return null
87
107
 
108
+ // Déterminer le format à utiliser pour l'analyse
109
+ const parseFormat = props.dateFormatReturn || props.format
110
+
88
111
  if (Array.isArray(modelValue)) {
89
112
  if (modelValue.length >= 2) {
90
- const dates = [parseDate(modelValue[0]), parseDate(modelValue[1])]
91
- // Vérifie si l'une des dates est invalide
113
+ // Essayer d'abord avec le format de retour, puis avec le format d'affichage
114
+ let dates = [parseDate(modelValue[0], parseFormat), parseDate(modelValue[1], parseFormat)]
115
+
116
+ // Si l'une des dates est invalide avec le format de retour, essayer avec le format d'affichage
117
+ if (dates.some(date => date === null) && props.dateFormatReturn) {
118
+ dates = [parseDate(modelValue[0], props.format), parseDate(modelValue[1], props.format)]
119
+ }
120
+
121
+ // Vérifie si l'une des dates est toujours invalide
92
122
  if (dates.some(date => date === null)) {
93
123
  return []
94
124
  }
125
+
95
126
  // Vérifie si la première date est après la seconde
96
127
  if (dates[0] && dates[1] && dates[0] > dates[1]) {
97
128
  return []
98
129
  }
130
+
99
131
  // Filtrer les dates nulles et convertir en tableau de Date
100
132
  return dates.filter((date): date is Date => date !== null)
101
133
  }
134
+
102
135
  if (modelValue.length === 1) {
103
- const date = parseDate(modelValue[0])
136
+ // Essayer d'abord avec le format de retour, puis avec le format d'affichage
137
+ let date = parseDate(modelValue[0], parseFormat)
138
+
139
+ // Si la date est invalide avec le format de retour, essayer avec le format d'affichage
140
+ if (date === null && props.dateFormatReturn) {
141
+ date = parseDate(modelValue[0], props.format)
142
+ }
143
+
104
144
  return date === null ? [] : [date]
105
145
  }
146
+
106
147
  return []
107
148
  }
108
149
 
@@ -111,7 +152,14 @@
111
152
  return null
112
153
  }
113
154
 
114
- const date = parseDate(modelValue)
155
+ // Essayer d'abord avec le format de retour, puis avec le format d'affichage
156
+ let date = parseDate(modelValue, parseFormat)
157
+
158
+ // Si la date est invalide avec le format de retour, essayer avec le format d'affichage
159
+ if (date === null && props.dateFormatReturn) {
160
+ date = parseDate(modelValue, props.format)
161
+ }
162
+
115
163
  return date === null ? null : date
116
164
  }
117
165
 
@@ -126,6 +174,139 @@
126
174
  const warningMessages = ref<string[]>([])
127
175
  const displayFormattedDate = ref('')
128
176
 
177
+ const textInputValue = ref<string>('')
178
+
179
+ // Variable pour éviter les mises à jour récursives
180
+ const isUpdatingFromInternal = ref(false)
181
+
182
+ // Déclaration des règles de validation
183
+ type Rule = { type: string, options: RuleOptions }
184
+ const customRules = ref<Rule[]>(props.customRules || [])
185
+ const customWarningRules = ref<Rule[]>(props.customWarningRules || [])
186
+
187
+ const { generateRules } = useFieldValidation()
188
+ const validationRules = generateRules(customRules.value)
189
+ const warningValidationRules = generateRules(customWarningRules.value)
190
+
191
+ // Déclaration de la fonction validateDates avant son utilisation
192
+ const validateDates = (forceValidation = false) => {
193
+ // Réinitialiser tous les messages
194
+ errorMessages.value = []
195
+ successMessages.value = []
196
+ warningMessages.value = []
197
+
198
+ if (props.noCalendar) {
199
+ // En mode no-calendar, on délègue la validation au DateTextInput
200
+ return
201
+ }
202
+
203
+ // Vérifier si le champ est requis et vide
204
+ // Si forceValidation est true, on ignore les conditions de validation interactive
205
+ if ((forceValidation || !isUpdatingFromInternal.value) && props.required && (!selectedDates.value || (Array.isArray(selectedDates.value) && selectedDates.value.length === 0))) {
206
+ errorMessages.value.push('La date est requise.')
207
+ return
208
+ }
209
+
210
+ if (!selectedDates.value) return
211
+
212
+ // Préparer les dates à valider
213
+ const datesToValidate = Array.isArray(selectedDates.value)
214
+ ? selectedDates.value
215
+ : [selectedDates.value]
216
+
217
+ // Collecter tous les messages
218
+ const allErrors: string[] = []
219
+ const allWarnings: string[] = []
220
+ const allSuccess: string[] = []
221
+
222
+ // Appliquer les règles de validation
223
+ datesToValidate.forEach((date) => {
224
+ // Appliquer d'abord les règles de validation standard
225
+ validationRules.forEach((rule) => {
226
+ const result = rule(date)
227
+ if (result?.error) allErrors.push(result.error)
228
+ else if (result?.success) allSuccess.push(result.success)
229
+ })
230
+
231
+ // Ensuite appliquer les règles d'avertissement
232
+ warningValidationRules.forEach((rule) => {
233
+ const result = rule(date)
234
+ if (result?.warning) allWarnings.push(result.warning)
235
+ else if (result?.success && !allErrors.length) allSuccess.push(result.success)
236
+ })
237
+ })
238
+
239
+ // Dédoublonner et assigner les messages
240
+ errorMessages.value = [...new Set(allErrors)]
241
+ warningMessages.value = [...new Set(allWarnings)]
242
+ successMessages.value = [...new Set(allSuccess)]
243
+ }
244
+
245
+ // Fonction centralisée pour mettre à jour le modèle
246
+ const updateModel = (value: DateValue) => {
247
+ // Éviter les mises à jour inutiles
248
+ if (JSON.stringify(value) === JSON.stringify(props.modelValue)) return
249
+
250
+ try {
251
+ isUpdatingFromInternal.value = true
252
+ emit('update:modelValue', value)
253
+ }
254
+ finally {
255
+ // S'assurer que le flag est toujours réinitialisé
256
+ setTimeout(() => {
257
+ isUpdatingFromInternal.value = false
258
+ }, 0)
259
+ }
260
+ }
261
+
262
+ // Watcher pour mettre à jour le modèle lorsque les dates sélectionnées changent
263
+ watch(selectedDates, (newValue) => {
264
+ // Valider les dates
265
+ validateDates()
266
+
267
+ // Mettre à jour le modèle si nécessaire
268
+ if (newValue !== null) {
269
+ updateModel(formattedDate.value)
270
+
271
+ // Mettre à jour textInputValue pour le DateTextInput
272
+ try {
273
+ isUpdatingFromInternal.value = true
274
+ if (Array.isArray(newValue)) {
275
+ // Pour les plages de dates, utiliser la première date
276
+ if (newValue.length > 0) {
277
+ textInputValue.value = formatDate(newValue[0], props.format)
278
+ }
279
+ }
280
+ else {
281
+ // Pour une date unique
282
+ textInputValue.value = formatDate(newValue, props.format)
283
+ }
284
+ }
285
+ finally {
286
+ setTimeout(() => {
287
+ isUpdatingFromInternal.value = false
288
+ }, 0)
289
+ }
290
+ }
291
+ else {
292
+ updateModel(null)
293
+ // Réinitialiser textInputValue
294
+ textInputValue.value = ''
295
+ }
296
+
297
+ // Gérer la visibilité du date picker
298
+ if (props.displayRange) {
299
+ if (Array.isArray(newValue) && newValue.length >= 2) {
300
+ isDatePickerVisible.value = false
301
+ emit('closed')
302
+ }
303
+ }
304
+ else {
305
+ isDatePickerVisible.value = false
306
+ emit('closed')
307
+ }
308
+ })
309
+
129
310
  const getMessageClasses = () => ({
130
311
  'dp-width': true,
131
312
  'v-messages__message--success': successMessages.value.length > 0,
@@ -133,14 +314,34 @@
133
314
  'v-messages__message--warning': warningMessages.value.length > 0 && errorMessages.value.length < 1,
134
315
  })
135
316
 
317
+ const inputStyle = computed(() => ({
318
+ 'min-width': '100%',
319
+ }))
320
+
136
321
  // Formate une date unique au format spécifié
137
322
  const formatDate = (date: Date, format: string): string => {
138
323
  if (!date) return ''
324
+
325
+ // Formats de base
139
326
  const day = date.getDate().toString().padStart(2, '0')
140
327
  const month = (date.getMonth() + 1).toString().padStart(2, '0')
141
328
  const year = date.getFullYear().toString()
142
329
  const shortYear = year.slice(-2)
143
- return format.replace('YYYY', year).replace('YY', shortYear).replace('MM', month).replace('DD', day)
330
+
331
+ // Formats sans padding
332
+ const dayNoPad = date.getDate().toString()
333
+ const monthNoPad = (date.getMonth() + 1).toString()
334
+
335
+ // Remplacer les tokens dans l'ordre correct (du plus spécifique au moins spécifique)
336
+ let result = format
337
+ .replace(/YYYY/g, year)
338
+ .replace(/YY/g, shortYear)
339
+ .replace(/MM/g, month)
340
+ .replace(/M/g, monthNoPad)
341
+ .replace(/DD/g, day)
342
+ .replace(/D/g, dayNoPad)
343
+
344
+ return result
144
345
  }
145
346
 
146
347
  // Date(s) formatée(s) en chaîne de caractères pour la valeur de retour
@@ -162,6 +363,81 @@
162
363
  return formatDate(selectedDates.value, returnFormat)
163
364
  })
164
365
 
366
+ watch(formattedDate, (newValue) => {
367
+ if (!newValue || newValue === '') {
368
+ textInputValue.value = ''
369
+ }
370
+ else if (typeof newValue === 'string') {
371
+ // Si on a un format de retour différent, on doit convertir la date
372
+ if (props.dateFormatReturn) {
373
+ const date = parseDate(newValue, props.dateFormatReturn)
374
+ if (date) {
375
+ textInputValue.value = formatDate(date, props.format)
376
+ }
377
+ }
378
+ else {
379
+ textInputValue.value = newValue
380
+ }
381
+ }
382
+ }, { immediate: true })
383
+
384
+ watch(textInputValue, (newValue) => {
385
+ // Éviter les mises à jour récursives
386
+ if (isUpdatingFromInternal.value) return
387
+
388
+ // Parse la date avec le format d'affichage
389
+ const date = parseDate(newValue, props.format)
390
+ if (date) {
391
+ // Si on a un format de retour, formater la date dans ce format
392
+ const formattedValue = props.dateFormatReturn
393
+ ? formatDate(date, props.dateFormatReturn)
394
+ : formatDate(date, props.format)
395
+ updateModel(formattedValue)
396
+
397
+ // Mettre à jour selectedDates sans déclencher de watchers supplémentaires
398
+ try {
399
+ isUpdatingFromInternal.value = true
400
+ selectedDates.value = date
401
+ // Mettre à jour l'affichage formaté
402
+ displayFormattedDate.value = formatDate(date, props.format)
403
+ }
404
+ finally {
405
+ setTimeout(() => {
406
+ isUpdatingFromInternal.value = false
407
+ }, 0)
408
+ }
409
+ }
410
+ else if (newValue) {
411
+ // Même si la date n'est pas valide, conserver la valeur saisie
412
+ // pour éviter que la date ne disparaisse
413
+ updateModel(newValue)
414
+ // Mettre à jour l'affichage formaté pour qu'il corresponde à ce qui est saisi
415
+ try {
416
+ isUpdatingFromInternal.value = true
417
+ displayFormattedDate.value = newValue
418
+ }
419
+ finally {
420
+ setTimeout(() => {
421
+ isUpdatingFromInternal.value = false
422
+ }, 0)
423
+ }
424
+ }
425
+ else {
426
+ updateModel(null)
427
+ // Réinitialiser l'affichage formaté
428
+ try {
429
+ isUpdatingFromInternal.value = true
430
+ displayFormattedDate.value = ''
431
+ selectedDates.value = null
432
+ }
433
+ finally {
434
+ setTimeout(() => {
435
+ isUpdatingFromInternal.value = false
436
+ }, 0)
437
+ }
438
+ }
439
+ })
440
+
165
441
  // Date(s) formatée(s) en chaîne de caractères pour l'affichage
166
442
  const displayFormattedDateComputed = computed(() => {
167
443
  if (!selectedDates.value) return null
@@ -179,20 +455,15 @@
179
455
  return formatDate(selectedDates.value, props.format)
180
456
  })
181
457
 
182
- const validateDateValue = (value: string | string[]): DateValue => {
183
- if (Array.isArray(value)) {
184
- if (value.length >= 2) {
185
- return [value[0], value[1]] as [string, string]
186
- }
187
- return value[0] || ''
188
- }
189
- return value
190
- }
191
-
192
- watch(formattedDate, (newValue) => {
193
- const validValue = validateDateValue(newValue)
194
- emit('update:model-value', validValue)
195
- })
458
+ // const validateDateValue = (value: DateValue): DateValue => {
459
+ // if (Array.isArray(value)) {
460
+ // if (value.length >= 2) {
461
+ // return [value[0], value[1]] as [string, string]
462
+ // }
463
+ // return value[0] || ''
464
+ // }
465
+ // return value
466
+ // }
196
467
 
197
468
  watch(displayFormattedDateComputed, (newValue) => {
198
469
  if (!props.noCalendar && newValue) {
@@ -219,20 +490,6 @@
219
490
  selectedDates.value = date === null ? null : date
220
491
  }
221
492
 
222
- watch(selectedDates, (newValue) => {
223
- validateDates()
224
- if (props.displayRange) {
225
- if (Array.isArray(newValue) && newValue.length >= 2) {
226
- isDatePickerVisible.value = false
227
- emit('closed')
228
- }
229
- }
230
- else {
231
- isDatePickerVisible.value = false
232
- emit('closed')
233
- }
234
- })
235
-
236
493
  // Gestionnaire de clic en dehors
237
494
  const handleClickOutside = (event: MouseEvent) => {
238
495
  if (!isDatePickerVisible.value) return
@@ -242,9 +499,9 @@
242
499
 
243
500
  // Si on clique dans le conteneur du DatePicker, on ne fait rien
244
501
  if (container) return
245
-
246
- isDatePickerVisible.value = false
247
502
  emit('closed')
503
+ // Déclencher la validation à la fermeture
504
+ validateDates()
248
505
  }
249
506
 
250
507
  const todayInString = computed(() => {
@@ -255,16 +512,50 @@
255
512
  })).replace(/\b\w/g, l => l.toUpperCase())
256
513
  })
257
514
 
258
- onMounted(() => {
259
- document.addEventListener('click', handleClickOutside)
260
- if (selectedDates.value !== null) {
515
+ // Watcher pour le modelValue pour synchroniser les dates sélectionnées
516
+ watch(() => props.modelValue, (newValue) => {
517
+ // Éviter les mises à jour récursives
518
+ if (isUpdatingFromInternal.value) return
519
+
520
+ try {
521
+ isUpdatingFromInternal.value = true
522
+
523
+ if (!newValue || newValue === '') {
524
+ // Réinitialiser les valeurs
525
+ selectedDates.value = null
526
+ textInputValue.value = ''
527
+ displayFormattedDate.value = ''
528
+ }
529
+ else {
530
+ // Initialiser les dates sélectionnées
531
+ selectedDates.value = initializeSelectedDates(newValue)
532
+
533
+ // Mettre à jour l'affichage
534
+ if (selectedDates.value) {
535
+ displayFormattedDate.value = displayFormattedDateComputed.value || ''
536
+ }
537
+ }
538
+
539
+ // Valider les dates
261
540
  validateDates()
262
- // Force format application on mount
263
- emit('update:model-value', formattedDate.value)
264
541
  }
542
+ finally {
543
+ setTimeout(() => {
544
+ isUpdatingFromInternal.value = false
545
+ }, 0)
546
+ }
547
+ }, { immediate: true })
548
+
549
+ onMounted(() => {
550
+ document.addEventListener('click', handleClickOutside)
551
+
552
+ // Initialiser l'affichage formaté
265
553
  if (displayFormattedDateComputed.value) {
266
554
  displayFormattedDate.value = displayFormattedDateComputed.value
267
555
  }
556
+
557
+ // Valider les dates au montage
558
+ validateDates()
268
559
  })
269
560
 
270
561
  onBeforeUnmount(() => {
@@ -277,7 +568,8 @@
277
568
  if (props.noCalendar) {
278
569
  return dateTextInputRef.value?.validateOnSubmit()
279
570
  }
280
- validateDates()
571
+ // Forcer la validation pour ignorer les conditions de validation interactive
572
+ validateDates(true)
281
573
  return errorMessages.value.length === 0
282
574
  }
283
575
 
@@ -290,25 +582,69 @@
290
582
  initializeSelectedDates,
291
583
  })
292
584
 
293
- // les btns du date picker ne sont pas accessibles, on les rend accessibles
294
- watch(isDatePickerVisible, async (newValue) => {
295
- if (newValue) {
296
- await nextTick()
297
- const arrowDown = document.querySelector('.v-btn.v-btn--icon.v-theme--light.v-btn--density-comfortable.v-btn--size-default.v-btn--variant-text.v-date-picker-controls__mode-btn')
298
- const arrowLeftButtons = document.querySelectorAll('.v-btn.v-btn--icon.v-theme--light.v-btn--density-default.v-btn--size-default.v-btn--variant-text')
585
+ // Fonction pour améliorer l'accessibilité du DatePicker
586
+ const updateAccessibility = async () => {
587
+ await nextTick()
588
+
589
+ // Utiliser des attributs data pour sélectionner les éléments, ce qui est plus stable que les classes CSS
590
+ const datePickerEl = document.querySelector('.v-date-picker')
591
+ if (!datePickerEl) return
592
+
593
+ // Ajouter un attribut role="application" au conteneur principal
594
+ datePickerEl.setAttribute('role', 'application')
595
+ datePickerEl.setAttribute('aria-label', 'Sélecteur de date')
596
+
597
+ // Sélectionner tous les boutons de navigation
598
+ const navigationButtons = datePickerEl.querySelectorAll('button')
299
599
 
300
- if (arrowDown) {
301
- arrowDown.setAttribute('aria-label', 'Fleche vers le bas')
600
+ // Attribuer des labels significatifs basés sur la position ou l'icône
601
+ navigationButtons.forEach((button) => {
602
+ const iconEl = button.querySelector('.v-icon')
603
+ if (!iconEl) return
604
+
605
+ // Utiliser le contenu de l'icône pour déterminer sa fonction
606
+ const iconContent = iconEl.textContent || ''
607
+ const iconClasses = iconEl.className || ''
608
+
609
+ if (iconClasses.includes('mdi-chevron-left') || iconContent.includes('chevron-left')) {
610
+ button.setAttribute('aria-label', 'Mois précédent')
611
+ }
612
+ else if (iconClasses.includes('mdi-chevron-right') || iconContent.includes('chevron-right')) {
613
+ button.setAttribute('aria-label', 'Mois suivant')
302
614
  }
615
+ else if (iconClasses.includes('mdi-chevron-down') || iconContent.includes('chevron-down')
616
+ || iconClasses.includes('mdi-menu-down') || iconContent.includes('menu-down')) {
617
+ button.setAttribute('aria-label', 'Changer de vue')
618
+ }
619
+ })
303
620
 
304
- arrowLeftButtons.forEach((button, index) => {
305
- if (index === 0) {
306
- button.setAttribute('aria-label', 'Fleche vers la gauche')
307
- }
308
- else if (index === 1) {
309
- button.setAttribute('aria-label', 'Fleche vers la droite')
310
- }
311
- })
621
+ // Ajouter des instructions pour les lecteurs d'écran
622
+ let srOnlyEl = datePickerEl.querySelector('.sr-only-instructions')
623
+ if (!srOnlyEl) {
624
+ srOnlyEl = document.createElement('span')
625
+ srOnlyEl.className = 'sr-only-instructions'
626
+ srOnlyEl.setAttribute('aria-live', 'polite')
627
+ // Utiliser HTMLElement pour accéder aux propriétés de style
628
+ const srOnlyHtmlEl = srOnlyEl as HTMLElement
629
+ srOnlyHtmlEl.style.position = 'absolute'
630
+ srOnlyHtmlEl.style.width = '1px'
631
+ srOnlyHtmlEl.style.height = '1px'
632
+ srOnlyHtmlEl.style.padding = '0'
633
+ srOnlyHtmlEl.style.margin = '-1px'
634
+ srOnlyHtmlEl.style.overflow = 'hidden'
635
+ srOnlyHtmlEl.style.clip = 'rect(0, 0, 0, 0)'
636
+ srOnlyHtmlEl.style.whiteSpace = 'nowrap'
637
+ srOnlyHtmlEl.style.border = '0'
638
+ srOnlyEl.textContent = 'Utilisez les flèches pour naviguer entre les dates et Entrée pour sélectionner une date'
639
+
640
+ datePickerEl.prepend(srOnlyEl)
641
+ }
642
+ }
643
+
644
+ // Appliquer les améliorations d'accessibilité quand le DatePicker devient visible
645
+ watch(isDatePickerVisible, async (newValue) => {
646
+ if (newValue) {
647
+ await updateAccessibility()
312
648
  }
313
649
  })
314
650
 
@@ -320,69 +656,7 @@
320
656
  isDatePickerVisible.value = true
321
657
  }
322
658
 
323
- type Rule = { type: string, options: RuleOptions }
324
-
325
- const customRules = ref<Rule[]>(props.customRules || [])
326
- const customWarningRules = ref<Rule[]>(props.customWarningRules || [])
327
-
328
- const { generateRules } = useFieldValidation()
329
- const validationRules = generateRules(customRules.value)
330
- const warningValidationRules = generateRules(customWarningRules.value)
331
-
332
- const validateDates = () => {
333
- errorMessages.value = []
334
- successMessages.value = []
335
- warningMessages.value = []
336
-
337
- const addMessages = (dates, rules) => {
338
- dates.forEach((date) => {
339
- rules.forEach((rule) => {
340
- const result = rule(date)
341
- if (result?.error) {
342
- errorMessages.value.push(result.error)
343
- errorMessages.value = [...new Set(errorMessages.value)]
344
- }
345
- else if (result?.warning) {
346
- warningMessages.value.push(result.warning)
347
- warningMessages.value = [...new Set(warningMessages.value)]
348
- }
349
- else if (result?.success) {
350
- successMessages.value.push(result.success)
351
- successMessages.value = [...new Set(successMessages.value)]
352
- }
353
- })
354
- })
355
- }
356
-
357
- const handleValidation = (dates) => {
358
- if (Array.isArray(dates) && dates.length > 1) {
359
- // Pour une plage, on ne vérifie que le premier et le dernier jour
360
- const [firstDate, ...rest] = dates
361
- const lastDate = rest[rest.length - 1]
362
- const datesToValidate = [firstDate, lastDate]
363
-
364
- // Validation des règles
365
- addMessages(datesToValidate, validationRules)
366
- addMessages(datesToValidate, warningValidationRules)
367
- }
368
- else {
369
- // Pour une date unique, on valide normalement
370
- const datesToValidate = Array.isArray(dates) ? dates : [dates]
371
- addMessages(datesToValidate, validationRules)
372
- addMessages(datesToValidate, warningValidationRules)
373
- }
374
- }
375
-
376
- if (
377
- props.required
378
- && (!selectedDates.value || (Array.isArray(selectedDates.value) && selectedDates.value.length === 0))
379
- ) {
380
- errorMessages.value.push('La date est requise.')
381
- }
382
- else if (selectedDates.value) {
383
- handleValidation(Array.isArray(selectedDates.value) ? selectedDates.value : [selectedDates.value])
384
- }
385
- }
659
+ // Fonctions et constantes déjà déclarées plus haut dans le code
386
660
 
387
661
  const getIcon = () => {
388
662
  if (props.noCalendar) {
@@ -399,25 +673,77 @@
399
673
  return
400
674
  }
401
675
  }
676
+
677
+ // Watch sur modelValue pour gérer les changements externes
678
+ watch(() => props.modelValue, (newValue) => {
679
+ // Éviter les mises à jour récursives
680
+ if (isUpdatingFromInternal.value) return
681
+
682
+ try {
683
+ isUpdatingFromInternal.value = true
684
+
685
+ if (!newValue || newValue === '') {
686
+ selectedDates.value = null
687
+ textInputValue.value = ''
688
+ displayFormattedDate.value = ''
689
+ }
690
+ else {
691
+ // Initialiser les dates sélectionnées
692
+ selectedDates.value = initializeSelectedDates(newValue)
693
+
694
+ // Mettre à jour l'affichage et le textInputValue
695
+ if (selectedDates.value) {
696
+ if (Array.isArray(selectedDates.value)) {
697
+ if (selectedDates.value.length > 0) {
698
+ textInputValue.value = formatDate(selectedDates.value[0], props.format)
699
+ displayFormattedDate.value = displayFormattedDateComputed.value || ''
700
+ }
701
+ }
702
+ else {
703
+ textInputValue.value = formatDate(selectedDates.value, props.format)
704
+ displayFormattedDate.value = displayFormattedDateComputed.value || ''
705
+ }
706
+ }
707
+ }
708
+
709
+ // Valider les dates
710
+ validateDates()
711
+ }
712
+ finally {
713
+ setTimeout(() => {
714
+ isUpdatingFromInternal.value = false
715
+ }, 0)
716
+ }
717
+ }, { immediate: true })
402
718
  </script>
403
719
 
404
720
  <template>
405
- <div class="date-picker-container">
721
+ <div
722
+ class="date-picker-container"
723
+ :style="inputStyle"
724
+ >
406
725
  <template v-if="props.noCalendar">
407
726
  <DateTextInput
408
727
  ref="dateTextInputRef"
409
- v-model="displayFormattedDate"
728
+ v-model="textInputValue"
410
729
  :class="[getMessageClasses(), 'label-hidden-on-focus']"
411
730
  :date-format-return="props.dateFormatReturn"
412
731
  :format="props.format"
413
732
  :label="props.placeholder"
414
733
  :placeholder="props.placeholder"
415
- :range="props.displayRange"
416
734
  :required="props.required"
417
- :rules="props.customRules"
418
- :warning-rules="props.customWarningRules"
735
+ :custom-rules="props.customRules"
736
+ :custom-warning-rules="props.customWarningRules"
737
+ :is-disabled="props.isDisabled"
738
+ :is-read-only="props.isReadOnly"
739
+ :is-outlined="props.isOutlined"
740
+ :display-icon="props.displayIcon"
741
+ :display-append-icon="props.displayAppendIcon"
742
+ :display-prepend-icon="props.displayPrependIcon"
743
+ :no-icon="props.noIcon"
419
744
  title="Date text input"
420
- @update:model-value="updateSelectedDates"
745
+ @focus="emit('focus')"
746
+ @blur="emit('blur')"
421
747
  />
422
748
  </template>
423
749
  <template v-else>
@@ -427,10 +753,11 @@
427
753
  :append-inner-icon="getIcon()"
428
754
  :class="[getMessageClasses(), 'label-hidden-on-focus']"
429
755
  :error-messages="errorMessages"
756
+ :warning-messages="warningMessages"
757
+ :success-messages="successMessages"
430
758
  :is-disabled="props.isDisabled"
431
759
  :is-read-only="true"
432
760
  :label="props.placeholder"
433
- :messages="warningMessages.length > 0 ? [...warningMessages] : [ ...successMessages]"
434
761
  :no-icon="props.noIcon"
435
762
  :prepend-icon="displayIcon && !displayAppendIcon ? 'calendar' : undefined"
436
763
  :variant-style="props.isOutlined ? 'outlined' : 'underlined'"
@@ -443,29 +770,42 @@
443
770
  @append-icon-click="handleAppendIconClick"
444
771
  />
445
772
  </template>
446
- <transition name="fade">
447
- <v-locale-provider locale="fr">
448
- <VDatePicker
449
- v-if="isDatePickerVisible && !props.noCalendar"
450
- v-model="selectedDates"
451
- :first-day-of-week="1"
452
- :multiple="props.displayRange ? 'range' : false"
453
- :show-adjacent-months="true"
454
- :show-week="props.showWeekNumber"
455
- :view-mode="props.isBirthDate ? 'year' : 'month'"
456
- color="primary"
457
- >
458
- <template #title>
459
- Sélectionnez une date
460
- </template>
461
- <template #header>
462
- <h3 class="mx-auto my-auto ml-5 mb-4">
463
- {{ todayInString }}
464
- </h3>
465
- </template>
466
- </VDatePicker>
467
- </v-locale-provider>
468
- </transition>
773
+ <div>
774
+ <VMenu
775
+ v-if="!props.noCalendar"
776
+ v-model="isDatePickerVisible"
777
+ activator="parent"
778
+ :min-width="0"
779
+ location="bottom"
780
+ :close-on-content-click="false"
781
+ :open-on-click="false"
782
+ transition="fade-transition"
783
+ attach="body"
784
+ :offset="[-20, 5]"
785
+ >
786
+ <transition name="fade">
787
+ <VDatePicker
788
+ v-if="isDatePickerVisible && !props.noCalendar"
789
+ v-model="selectedDates"
790
+ :first-day-of-week="1"
791
+ :multiple="props.displayRange ? 'range' : false"
792
+ :show-adjacent-months="true"
793
+ :show-week="props.showWeekNumber"
794
+ :view-mode="props.isBirthDate ? 'year' : 'month'"
795
+ color="primary"
796
+ >
797
+ <template #title>
798
+ Sélectionnez une date
799
+ </template>
800
+ <template #header>
801
+ <h3 class="mx-auto my-auto ml-5 mb-4">
802
+ {{ todayInString }}
803
+ </h3>
804
+ </template>
805
+ </VDatePicker>
806
+ </transition>
807
+ </VMenu>
808
+ </div>
469
809
  </div>
470
810
  </template>
471
811
 
@@ -477,7 +817,7 @@
477
817
  }
478
818
 
479
819
  .dp-width {
480
- min-width: 345px;
820
+ width: v-bind('props.width');
481
821
  }
482
822
 
483
823
  .v-messages__message--success {
@@ -542,11 +882,11 @@
542
882
  }
543
883
 
544
884
  .date-picker-container {
545
- max-width: 345px;
885
+ max-width: 100%;
546
886
  position: relative;
547
887
 
548
888
  :deep(.v-date-picker) {
549
- width: 345px;
889
+ max-width: 445px;
550
890
  position: absolute;
551
891
  top: 56px;
552
892
  left: 0;