@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
@@ -1,451 +1,495 @@
1
1
  <script lang="ts" setup>
2
- import { ref, watch, computed, nextTick } from 'vue'
3
- import { useFieldValidation } from '@/composables/rules/useFieldValidation'
2
+ import { ref, watch, computed, nextTick, toRef } from 'vue'
4
3
  import { vMaska } from 'maska/vue'
5
4
  import { checkNIR, isNIRKeyValid } from './nirValidation'
6
- import useCustomizableOptions, { type CustomizableOptions } from '@/composables/useCustomizableOptions'
5
+ // import useCustomizableOptions, { type CustomizableOptions } from '@/composables/useCustomizableOptions'
6
+ import { type CustomizableOptions } from '@/composables/useCustomizableOptions'
7
7
  import SyTextField from '../Customs/SyTextField/SyTextField.vue'
8
- import { mdiInformationOutline } from '@mdi/js'
9
8
  import { locales } from './locales'
10
- import defaultOptions from './config'
11
-
12
- type Rule = (value: string) => { error?: string, success?: string }
13
-
9
+ // import defaultOptions from './config'
10
+ import { useValidation, type ValidationRule } from '@/composables/validation/useValidation'
14
11
  const props = withDefaults(defineProps<CustomizableOptions & {
15
12
  modelValue?: string | undefined
16
- outlined?: boolean
17
- required?: boolean
18
- nirTooltip?: string
19
- keyTooltip?: string
13
+ label?: string
20
14
  numberLabel?: string
21
15
  keyLabel?: string
22
16
  displayKey?: boolean
17
+ outlined?: boolean
18
+ nirTooltip?: string
19
+ keyTooltip?: string
20
+ nirTooltipPosition?: 'prepend' | 'append'
21
+ keyTooltipPosition?: 'prepend' | 'append'
22
+ required?: boolean
23
+ displayAsterisk?: boolean
24
+ customNumberRules?: ValidationRule[]
25
+ customKeyRules?: ValidationRule[]
26
+ customNumberWarningRules?: ValidationRule[]
27
+ customKeyWarningRules?: ValidationRule[]
23
28
  showSuccessMessages?: boolean
24
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
25
- customNumberRules?: any
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
27
- customKeyRules?: any
29
+ width?: string
30
+ bgColor?: string
31
+ isDisabled?: boolean
32
+ density?: 'default' | 'comfortable' | 'compact'
33
+ hideDetails?: boolean | 'auto'
34
+ hideSpinButtons?: boolean
35
+ placeholder?: string
36
+ readonly?: boolean
37
+ variant?: 'filled' | 'outlined' | 'plain' | 'underlined' | 'solo'
38
+ clearable?: boolean
39
+ counter?: boolean | number | string
40
+ hint?: string
41
+ persistentHint?: boolean
42
+ persistentPlaceholder?: boolean
28
43
  }>(), {
29
44
  modelValue: undefined,
30
- outlined: true,
31
- required: false,
32
- nirTooltip: undefined,
33
- keyTooltip: undefined,
45
+ label: undefined,
34
46
  numberLabel: 'Numéro de sécurité sociale',
35
47
  keyLabel: 'Clé',
36
48
  displayKey: true,
37
- showSuccessMessages: false,
38
- customNumberRules: [],
39
- customKeyRules: [],
49
+ outlined: true,
50
+ nirTooltip: undefined,
51
+ keyTooltip: undefined,
52
+ nirTooltipPosition: 'append',
53
+ keyTooltipPosition: 'append',
54
+ required: false,
55
+ displayAsterisk: false,
56
+ customNumberRules: () => [],
57
+ customKeyRules: () => [],
58
+ customNumberWarningRules: () => [],
59
+ customKeyWarningRules: () => [],
60
+ showSuccessMessages: true,
61
+ width: '100%',
62
+ bgColor: undefined,
63
+ isDisabled: false,
64
+ density: 'default',
65
+ hideDetails: false,
66
+ hideSpinButtons: false,
67
+ placeholder: undefined,
68
+ readonly: false,
69
+ variant: 'outlined',
70
+ clearable: false,
71
+ counter: false,
72
+ hint: undefined,
73
+ persistentHint: false,
74
+ persistentPlaceholder: false,
40
75
  })
41
76
 
42
77
  const emit = defineEmits(['update:modelValue'])
43
- const options = useCustomizableOptions(defaultOptions, props)
44
- const infoIcon = mdiInformationOutline
78
+ const modelValueRef = toRef(props, 'modelValue')
79
+ // const options = useCustomizableOptions(defaultOptions, props)
45
80
 
46
81
  // Champs
47
82
  const numberValue = ref('')
48
83
  const keyValue = ref('')
49
- const keyDeleted = ref(false)
50
84
 
51
85
  // Refs pour les champs
52
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
53
- const keyField = ref<any | null>(null)
54
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
55
- const numberField = ref<any | null>(null)
86
+ const keyField = ref<InstanceType<typeof SyTextField> | null>(null)
87
+ const numberField = ref<InstanceType<typeof SyTextField> | null>(null)
56
88
 
89
+ // Valeurs non masquées
57
90
  const unmaskedNumberValue = computed(() => numberValue.value.replace(/\s/g, ''))
58
-
59
- watch(() => props.modelValue, async (value) => {
60
- numberValue.value = value?.slice(0, 13) ?? ''
61
- keyValue.value = value?.slice(13, 15) ?? ''
62
- }, { immediate: true })
63
-
64
- // Etats d’erreur/succès
65
- const errors = ref<string[]>([])
66
- const successes = ref<string[]>([])
67
-
68
- // Flags de validation
69
- const isValidating = ref(false)
91
+ const unmaskedKeyValue = computed(() => keyValue.value.replace(/\s/g, ''))
70
92
 
71
93
  // Masques
72
94
  const numberMask = {
73
95
  mask: '# ## ## #C ### ###',
74
96
  preProcess: (value: string) => value.toUpperCase(),
75
97
  tokens: {
76
- C: {
98
+ '#': {
99
+ pattern: /[0-9]/,
100
+ },
101
+ 'C': {
77
102
  pattern: /[0-9AB]/,
78
103
  transform: (char: string) => char.toUpperCase(),
79
104
  },
80
105
  },
81
106
  }
82
- const keyMask = { mask: '##' }
83
-
84
- // Règles de validation par défaut
85
- const { generateRules } = useFieldValidation()
86
-
87
- const defaultNumberRules = [
88
- {
89
- type: 'exactLength',
90
- options: { length: 13, message: locales.errorLengthNumber(13), ignoreSpace: true, fieldIdentifier: 'numéro' },
91
- },
92
- {
93
- type: 'custom',
94
- options: {
95
- validate: checkNIR,
96
- message: 'Le numéro de sécurité sociale est invalide.',
97
- successMessage: 'Le numéro de sécurité sociale est valide.',
98
- fieldIdentifier: 'numéro',
99
- },
100
- },
101
- ...(props.required
102
- ? [{
103
- type: 'required',
104
- options: { message: 'Le numéro de sécurité sociale est requis.', fieldIdentifier: 'numéro' },
105
- }]
106
- : []),
107
- ]
108
-
109
- const defaultKeyRules = [
110
- {
111
- type: 'exactLength',
112
- options: { length: 2, message: locales.errorLengthKey(2), ignoreSpace: true, fieldIdentifier: 'clé' },
113
- },
114
- {
115
- type: 'custom',
116
- options: {
117
- validate: () => isNIRKeyValid(`${numberValue.value}${keyValue.value}`),
118
- message: 'La clé du numéro de sécurité sociale est invalide.',
119
- successMessage: 'Le champ clé est valide.',
120
- fieldIdentifier: 'clé',
107
+ const keyMask = {
108
+ mask: '##',
109
+ tokens: {
110
+ '#': {
111
+ pattern: /[0-9]/,
121
112
  },
122
113
  },
123
- ...(props.required
124
- ? [{
125
- type: 'required',
126
- options: { message: 'La clé est requise.', fieldIdentifier: 'clé' },
127
- }]
128
- : []),
129
- ]
114
+ }
130
115
 
131
- // Computed pour statut des champs
132
- const fieldIdentifierNumber = defaultNumberRules[0]?.options?.fieldIdentifier
133
- const fieldIdentifierKey = defaultKeyRules[0]?.options?.fieldIdentifier
134
-
135
- const hasNumberErrors = computed(() => errors.value.some(error => error.includes(fieldIdentifierNumber)))
136
- const hasKeyErrors = computed(() => errors.value.some(error => error.includes(fieldIdentifierKey)))
137
- const hasNumberSuccess = computed(() => successes.value.some(success => success.includes(fieldIdentifierNumber)))
138
- const hasKeySuccess = computed(() => successes.value.some(success => success.includes(fieldIdentifierKey)))
139
-
140
- // Génération des règles finales
141
- const numberRules = props.customNumberRules?.length
142
- ? generateRules(props.customNumberRules)
143
- : generateRules(defaultNumberRules)
144
-
145
- const keyRules = props.displayKey
146
- ? (props.customKeyRules?.length
147
- ? generateRules(props.customKeyRules)
148
- : generateRules(defaultKeyRules))
149
- : []
150
-
151
- /**
152
- * Valide une liste de règles sur une valeur et met à jour les tableaux d'erreurs et de succès.
153
- * @param value Valeur du champ à valider
154
- * @param rules Ensemble de règles
155
- */
156
- function validateFieldSet(value: string, rules: Rule[]) {
157
- rules.forEach((rule) => {
158
- const { error, success } = rule(value)
159
- if (error) errors.value.push(error)
160
- if (success && success !== 'Le champ est valide.') successes.value.push(success)
116
+ // Fonction pour gérer le focus des champs
117
+ const focusField = (field: typeof numberField | typeof keyField) => {
118
+ nextTick(() => {
119
+ const input = field.value?.$el.querySelector('input')
120
+ if (input) {
121
+ // Focus and select all text
122
+ input.focus()
123
+ // Adding a slight delay to ensure focus is applied
124
+ setTimeout(() => {
125
+ input.click()
126
+ }, 50)
127
+ }
161
128
  })
162
129
  }
163
130
 
164
- /**
165
- * Valide les champs numéro et clé (si activée).
166
- * @param onBlur Si true, la validation est lancée suite à un blur, sinon validation continue
167
- */
168
- function validateFields(onBlur = false) {
169
- errors.value = []
170
- successes.value = []
171
-
172
- const shouldValidateNumber = onBlur || isValidating.value || numberValue.value.length === 18
173
- const shouldValidateKey = props.displayKey && (onBlur || isValidating.value || keyValue.value.length === 2)
174
-
175
- if (shouldValidateNumber) {
176
- validateFieldSet(numberValue.value, numberRules)
131
+ // Watch sur la valeur non masquée du numéro pour gérer le focus automatique
132
+ watch(unmaskedNumberValue, (newValue) => {
133
+ if (newValue.length === 13 && props.displayKey) {
134
+ focusField(keyField)
177
135
  }
178
-
179
- if (shouldValidateKey) {
180
- validateFieldSet(keyValue.value, keyRules)
181
- }
182
-
183
- // Unicité des succès
184
- successes.value = Array.from(new Set(successes.value))
185
- }
186
-
187
- // Compteurs
188
- const numberCounter = computed(() => {
189
- const length = numberValue.value.replace(/\s/g, '').length
190
- return `${Math.min(length, 13)}/13`
191
136
  })
192
137
 
193
- const keyCounter = computed(() => {
194
- const length = keyValue.value.replace(/\s/g, '').length
195
- return `${Math.min(length, 2)}/2`
138
+ watch(unmaskedKeyValue, (newValue) => {
139
+ if (newValue.length === 0) {
140
+ focusField(numberField)
141
+ }
196
142
  })
197
143
 
198
- watch([unmaskedNumberValue, keyValue], () => {
199
- validateFields()
200
- if (unmaskedNumberValue.value + keyValue.value !== props.modelValue) {
201
- emit('update:modelValue', `${unmaskedNumberValue.value}${keyValue.value}`)
144
+ // Watch pour détecter la suppression des chiffres de la clé
145
+ watch(keyValue, (newValue, oldValue) => {
146
+ // Si l'ancienne valeur avait des chiffres et la nouvelle est vide ou ne contient que des espaces
147
+ if (oldValue.trim() && !newValue.trim()) {
148
+ focusField(numberField)
202
149
  }
203
150
  })
204
151
 
205
- watch(keyValue, (newValue, oldValue) => {
206
- keyDeleted.value = !!(!newValue && oldValue)
152
+ // Initialisation des validations
153
+ const numberValidation = useValidation({
154
+ showSuccessMessages: props.showSuccessMessages,
155
+ fieldIdentifier: props.numberLabel,
207
156
  })
208
157
 
209
- watch(numberValue, () => {
210
- if (unmaskedNumberValue.value.length < 13) {
211
- keyDeleted.value = false
212
- }
158
+ const keyValidation = useValidation({
159
+ showSuccessMessages: props.showSuccessMessages,
160
+ fieldIdentifier: props.keyLabel,
213
161
  })
214
162
 
215
- // Déplacement du focus sur la clé quand le numéro est rempli
216
- const focusElement = computed(() => {
217
- if (props.displayKey && numberValue.value.length === 18) {
218
- if (!keyDeleted.value) {
219
- return keyField.value?.$el?.querySelector('input')
220
- }
221
- else {
222
- return numberField.value?.$el?.querySelector('input')
223
- }
163
+ // Règles de validation
164
+ const defaultNumberRules = computed(() => {
165
+ const rules: ValidationRule[] = []
166
+
167
+ if (props.required) {
168
+ rules.push({
169
+ type: 'required',
170
+ options: {
171
+ message: `Le champ ${props.numberLabel} est requis.`,
172
+ fieldIdentifier: props.numberLabel,
173
+ },
174
+ })
224
175
  }
225
- return null
226
- })
227
176
 
228
- watch(focusElement, (newEl) => {
229
- nextTick(() => {
230
- newEl?.focus()
177
+ rules.push({
178
+ type: 'custom',
179
+ options: {
180
+ validate: (value: string) => {
181
+ if (!value) return true
182
+ // Ne valider que si tous les caractères sont saisis
183
+ if (value.length < 13) {
184
+ return 'Le numéro de sécurité sociale est invalide.'
185
+ }
186
+ const result = checkNIR(value)
187
+ return result === true ? true : 'Le numéro de sécurité sociale est invalide.'
188
+ },
189
+ message: 'Le numéro de sécurité sociale est invalide.',
190
+ successMessage: 'Le numéro de sécurité sociale est valide.',
191
+ fieldIdentifier: props.numberLabel,
192
+ },
231
193
  })
232
- })
233
194
 
234
- function validateOnSubmit() {
235
- isValidating.value = true
236
- validateFields(true)
237
- return errors.value.length === 0
238
- }
195
+ // Ajout des règles personnalisées
196
+ if (props.customNumberRules) {
197
+ rules.push(...props.customNumberRules.map(rule => ({
198
+ ...rule,
199
+ options: rule.options || {},
200
+ })))
201
+ }
239
202
 
240
- defineExpose({
241
- validateOnSubmit,
203
+ return rules
242
204
  })
243
- </script>
244
205
 
245
- <template>
246
- <div class="d-flex align-start">
247
- <v-input
248
- ref="vInput"
249
- :class="{
250
- 'v-messages__message--success': successes.length > 0 && props.showSuccessMessages,
251
- 'v-messages__message--error': errors.length > 0
252
- }"
253
- :error-messages="errors"
254
- :label="numberLabel"
255
- :max-errors="3"
256
- :messages="props.showSuccessMessages ? successes : []"
257
- :model-value="[numberValue, keyValue]"
258
- class="vd-nir-field__fields-wrapper multi-line"
259
- validate-on="blur lazy"
260
- >
261
- <VTooltip v-if="nirTooltip">
262
- <template #activator="{ props: iconProps }">
263
- <VIcon
264
- class="vd-tooltip-icon mt-4 mr-4"
265
- v-bind="{ ...iconProps, ...options.tooltip }"
266
- >
267
- {{ infoIcon }}
268
- </VIcon>
269
- </template>
270
- <slot name="nirTooltip">
271
- {{ nirTooltip }}
272
- </slot>
273
- </VTooltip>
274
- <SyTextField
275
- ref="numberField"
276
- v-model="numberValue"
277
- v-maska="numberMask"
278
- :append-inner-icon="hasNumberErrors ? 'error' : (hasNumberSuccess ? 'success' : undefined)"
279
- :aria-errormessage="hasNumberErrors ? 'number-field-errors' : undefined"
280
- :aria-invalid="hasNumberErrors"
281
- :aria-required="required"
282
- :color="hasNumberErrors ? 'error' : 'primary'"
283
- :error="hasNumberErrors"
284
- :hint="locales.numberHint"
285
- :label="numberLabel"
286
- :variant="outlined ? 'outlined' : 'underlined'"
287
- class="vd-number-field"
288
- title="nirField"
289
- @blur="validateFields(true)"
290
- >
291
- <template #details>
292
- <span class="custom-counter">
293
- {{ numberCounter }}
294
- </span>
295
- </template>
296
- </SyTextField>
297
-
298
- <template v-if="displayKey">
299
- <SyTextField
300
- ref="keyField"
301
- v-model="keyValue"
302
- v-maska="keyMask"
303
- :append-inner-icon="hasKeyErrors ? 'error' : (hasKeySuccess ? 'success' : undefined)"
304
- :aria-errormessage="hasKeyErrors ? 'key-field-errors' : undefined"
305
- :aria-invalid="hasKeyErrors"
306
- :aria-required="required"
307
- :color="hasKeyErrors ? 'error' : 'primary'"
308
- :error="hasKeyErrors"
309
- :hint="locales.keyHint"
310
- :label="keyLabel"
311
- :variant="outlined ? 'outlined' : 'underlined'"
312
- class="vd-key-field"
313
- title="nirKeyField"
314
- @blur="validateFields(true)"
315
- >
316
- <template #details>
317
- <span class="custom-counter">
318
- {{ keyCounter }}
319
- </span>
320
- </template>
321
- </SyTextField>
322
-
323
- <VTooltip v-if="keyTooltip">
324
- <template #activator="{ props: iconProps }">
325
- <VIcon
326
- class="vd-tooltip-icon mt-4 ml-4"
327
- v-bind="{ ...iconProps, ...options.icon }"
328
- >
329
- {{ infoIcon }}
330
- </VIcon>
331
- </template>
332
- <slot name="keyTooltip">
333
- {{ keyTooltip }}
334
- </slot>
335
- </VTooltip>
336
- </template>
337
- </v-input>
338
- </div>
339
- </template>
206
+ const defaultKeyRules = computed(() => {
207
+ const rules: ValidationRule[] = []
340
208
 
341
- <style lang="scss" scoped>
342
- @use '@/assets/tokens';
209
+ if (props.required) {
210
+ rules.push({
211
+ type: 'required',
212
+ options: {
213
+ message: `Le champ ${props.keyLabel} est requis.`,
214
+ fieldIdentifier: props.keyLabel,
215
+ },
216
+ })
217
+ }
343
218
 
344
- .v-messages__message--success {
345
- color: tokens.$colors-border-success !important;
219
+ const validateKey = (value: string) => {
220
+ if (!value) return true
221
+ if (!unmaskedNumberValue.value) return true
222
+ const fullNir = unmaskedNumberValue.value + value
223
+ return isNIRKeyValid(fullNir)
224
+ }
346
225
 
347
- .v-field--active & {
348
- color: tokens.$colors-border-success !important;
349
- }
350
- }
226
+ // Ajout des règles personnalisées
227
+ if (props.customKeyRules) {
228
+ rules.push(...props.customKeyRules)
229
+ }
351
230
 
352
- .v-messages__message--error {
353
- color: tokens.$colors-border-error;
231
+ // Ajout de la règle de validation par défaut si pas de règle personnalisée avec validation de clé
232
+ if (!props.customKeyRules?.some(rule => rule.options.validate)) {
233
+ rules.push({
234
+ type: 'custom',
235
+ options: {
236
+ validate: validateKey,
237
+ message: 'La clé du numéro de sécurité sociale est invalide.',
238
+ successMessage: `Le champ ${props.keyLabel} est valide.`,
239
+ fieldIdentifier: props.keyLabel,
240
+ },
241
+ })
242
+ }
354
243
 
355
- .v-field--active & {
356
- color: tokens.$colors-border-error;
357
- }
358
- }
244
+ return rules
245
+ })
359
246
 
360
- :deep(.v-field.v-field--active .v-label.v-field-label--floating) {
361
- opacity: 1;
362
- }
247
+ // Synchronisation avec modelValue
248
+ watch(modelValueRef, (newValue) => {
249
+ if (newValue === undefined) {
250
+ numberValue.value = ''
251
+ keyValue.value = ''
252
+ return
253
+ }
254
+ if (newValue.length === 15) {
255
+ const number = newValue.slice(0, -2)
256
+ const key = newValue.slice(-2)
257
+ numberValue.value = number
258
+ keyValue.value = key
259
+ }
260
+ if (newValue.length === 14) {
261
+ const number = newValue.slice(0, -1)
262
+ const key = newValue.slice(-1)
263
+ numberValue.value = number
264
+ keyValue.value = key
265
+ }
266
+ if (newValue.length === 13) {
267
+ const number = newValue
268
+ numberValue.value = number
269
+ keyValue.value = ''
270
+ }
271
+ }, { immediate: true })
363
272
 
364
- .multi-line {
365
- white-space: pre-line !important;
366
- }
273
+ // Émission de la valeur
274
+ const emitValue = () => {
275
+ const number = unmaskedNumberValue.value
276
+ const key = unmaskedKeyValue.value
367
277
 
368
- .vd-number-field {
369
- max-width: 296px;
370
- }
278
+ if (!number && !key) {
279
+ emit('update:modelValue', undefined)
280
+ return
281
+ }
371
282
 
372
- .vd-key-field {
373
- width: 104px;
374
- flex: none;
375
- margin-left: 2%;
376
- }
283
+ emit('update:modelValue', `${number}${key}`)
284
+ }
377
285
 
378
- .custom-counter {
379
- color: rgb(0 0 0 / 54%);
380
- }
286
+ // Validation des champs
287
+ const validateFields = async (onBlur = false) => {
288
+ // Valider le numéro
289
+ const numberResult = numberValidation.validateField(
290
+ unmaskedNumberValue.value,
291
+ defaultNumberRules.value,
292
+ // N'appliquer les warnings que si le numéro est complet
293
+ unmaskedNumberValue.value?.length === 13 ? props.customNumberWarningRules : [],
294
+ )
295
+
296
+ // Valider la clé si elle est affichée
297
+ let keyResult = { hasError: false }
298
+ if (props.displayKey) {
299
+ keyResult = keyValidation.validateField(
300
+ keyValue.value,
301
+ defaultKeyRules.value,
302
+ // N'appliquer les warnings que si la clé est complète
303
+ keyValue.value?.length === 2 ? props.customKeyWarningRules : [],
304
+ )
305
+ }
381
306
 
382
- .vd-nir-field :deep(.v-input__append-inner),
383
- .vd-tooltip-icon {
384
- flex: none;
385
- color: rgb(0 0 0 / 54%);
386
- }
307
+ // Si on est en mode blur et qu'il y a des erreurs, focus sur le premier champ en erreur
308
+ if (onBlur) {
309
+ await nextTick()
310
+ if (numberResult.hasError) {
311
+ numberField.value?.$el.querySelector('input')?.focus()
312
+ }
313
+ else if (keyResult.hasError) {
314
+ keyField.value?.$el.querySelector('input')?.focus()
315
+ }
316
+ }
387
317
 
388
- :deep(.v-overlay__content) {
389
- background: rgb(84 88 89 / 95%) !important;
390
- }
318
+ return !numberResult.hasError && !keyResult.hasError
319
+ }
391
320
 
392
- .vd-nir-field--outlined :deep(.v-messages.error--text) {
393
- padding: 6px;
394
- }
321
+ const validateOnSubmit = () => {
322
+ return validateFields(true)
323
+ }
395
324
 
396
- .vd-nir-field {
397
- container-name: nirfieldwrapper;
398
- }
325
+ // Computed pour statut des champs
326
+ const hasNumberErrors = computed(() => numberValidation.hasError.value)
327
+ const hasNumberWarning = computed(() => !hasNumberErrors.value && numberValidation.hasWarning.value)
328
+ const hasNumberSuccess = computed(() => !hasNumberErrors.value && !hasNumberWarning.value && numberValidation.hasSuccess.value)
399
329
 
400
- :deep(.v-input__append) {
401
- margin-inline-start: 0 !important;
402
- }
330
+ const hasKeyErrors = computed(() => keyValidation.hasError.value)
331
+ const hasKeyWarning = computed(() => !hasKeyErrors.value && keyValidation.hasWarning.value)
332
+ const hasKeySuccess = computed(() => !hasKeyErrors.value && !hasKeyWarning.value && keyValidation.hasSuccess.value)
403
333
 
404
- :deep(.vd-number-field > .v-input__prepend) {
405
- margin-right: 0 !important;
406
- }
334
+ // Labels avec astérisque si nécessaire
335
+ const numberLabelWithAsterisk = computed(() => {
336
+ return props.required && props.displayAsterisk ? `${props.numberLabel} *` : props.numberLabel
337
+ })
407
338
 
408
- :deep(.vd-key-field > .v-input__prepend) {
409
- @media screen and (width <= 360px) {
410
- margin-inline-end: 0 !important;
339
+ const keyLabelWithAsterisk = computed(() => {
340
+ return props.required && props.displayAsterisk ? `${props.keyLabel} *` : props.keyLabel
341
+ })
342
+
343
+ // Gestion des événements
344
+ const handleNumberInput = () => {
345
+ emitValue()
346
+ validateFields()
411
347
  }
412
- }
413
348
 
414
- :deep(.v-text-field .v-input__details) {
415
- padding-inline: 0 !important;
416
- flex: none !important;
417
- }
349
+ const handleKeyInput = () => {
350
+ emitValue()
351
+ validateFields()
418
352
 
419
- :deep(.v-text-field .v-input__details .v-messages) {
420
- color: rgb(0 0 0 / 100%) !important;
421
- }
353
+ // Si on supprime le contenu de la clé, on revient au champ NIR
354
+ if (unmaskedKeyValue.value.length === 0) {
355
+ nextTick(() => {
356
+ numberField.value?.$el.querySelector('input')?.focus()
357
+ })
358
+ }
359
+ }
422
360
 
423
- @mixin responsive-nir-wrapper {
424
- .vd-nir-field__fields-wrapper :deep(> .v-input__control) {
425
- justify-content: start;
426
- flex-wrap: wrap;
427
- gap: 4px;
428
- margin-bottom: 4px;
361
+ const handleNumberBlur = () => {
362
+ validateFields(true)
363
+ }
429
364
 
430
- .vd-number-field {
431
- flex: 100% 0 0;
432
- }
365
+ const handleKeyBlur = () => {
366
+ validateFields(true)
433
367
  }
434
- }
435
368
 
436
- @container nirFieldwrapper (max-width: 300px) {
437
- @include responsive-nir-wrapper;
369
+ defineExpose({
370
+ validateOnSubmit,
371
+ numberMask,
372
+ keyMask,
373
+ numberValidation,
374
+ keyValidation,
375
+ } satisfies {
376
+ validateOnSubmit: () => Promise<boolean>
377
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
378
+ numberMask: { mask: string, preProcess: (value: string) => string, tokens: Record<string, any> }
379
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
380
+ keyMask: { mask: string, tokens: Record<string, any> }
381
+ numberValidation: ReturnType<typeof useValidation>
382
+ keyValidation: ReturnType<typeof useValidation>
383
+ })
384
+ </script>
385
+
386
+ <template>
387
+ <div
388
+ class="nir-field"
389
+ >
390
+ <div class="number-field-container">
391
+ <SyTextField
392
+ ref="numberField"
393
+ v-model="numberValue"
394
+ v-maska="numberMask"
395
+ :label="numberLabelWithAsterisk"
396
+ :variant-style="outlined ? 'outlined' : 'underlined'"
397
+ :prepend-icon="nirTooltip && nirTooltipPosition === 'prepend' ? 'info' : undefined"
398
+ :append-icon="nirTooltip && nirTooltipPosition === 'append' ? 'info' : undefined"
399
+ :prepend-tooltip="nirTooltip && nirTooltipPosition === 'prepend' ? nirTooltip : undefined"
400
+ :append-tooltip="nirTooltip && nirTooltipPosition === 'append' ? nirTooltip : undefined"
401
+ :max-errors="2"
402
+ :error-messages="[...numberValidation.errors.value, ...keyValidation.errors.value]"
403
+ :warning-messages="numberValidation.warnings.value"
404
+ :success-messages="numberValidation.successes.value"
405
+ :show-success-messages="showSuccessMessages"
406
+ :has-warning="hasNumberWarning"
407
+ :has-success="hasNumberSuccess"
408
+ :error="hasNumberErrors"
409
+ :messages="hasNumberErrors ? numberValidation.errors.value : (hasNumberWarning ? numberValidation.warnings.value : (hasNumberSuccess ? numberValidation.successes.value : []))"
410
+ :has-error="hasNumberErrors"
411
+ :required="required"
412
+ :is-disabled="isDisabled"
413
+ :bg-color="bgColor"
414
+ :density="props.density"
415
+ :hide-details="props.hideDetails"
416
+ :hide-spin-buttons="props.hideSpinButtons"
417
+ :placeholder="props.placeholder"
418
+ :readonly="props.readonly"
419
+ :variant="props.variant"
420
+ :clearable="props.clearable"
421
+ :counter="props.counter"
422
+ :persistent-hint="props.persistentHint"
423
+ :persistent-placeholder="props.persistentPlaceholder"
424
+ :hint="props.hint || locales.numberHint"
425
+ class="number-field"
426
+ :display-asterisk="false"
427
+ @input="handleNumberInput"
428
+ @blur="handleNumberBlur"
429
+ />
430
+ </div>
431
+ <div
432
+ v-if="displayKey"
433
+ class="key-field-container"
434
+ >
435
+ <SyTextField
436
+ ref="keyField"
437
+ v-model="keyValue"
438
+ v-maska="keyMask"
439
+ :label="keyLabelWithAsterisk"
440
+ :variant-style="outlined ? 'outlined' : 'underlined'"
441
+ :prepend-icon="keyTooltip && keyTooltipPosition === 'prepend' ? 'info' : undefined"
442
+ :append-icon="keyTooltip && keyTooltipPosition === 'append' ? 'info' : undefined"
443
+ :prepend-tooltip="keyTooltip && keyTooltipPosition === 'prepend' ? keyTooltip : undefined"
444
+ :append-tooltip="keyTooltip && keyTooltipPosition === 'append' ? keyTooltip : undefined"
445
+ :error-messages="keyValidation.errors.value.length > 0 ? [''] : []"
446
+ :warning-messages="keyValidation.warnings.value"
447
+ :success-messages="keyValidation.successes.value"
448
+ :show-success-messages="showSuccessMessages"
449
+ :has-warning="hasKeyWarning"
450
+ :has-success="hasKeySuccess"
451
+ :hint="props.hint || locales.keyHint"
452
+ :messages="hasKeyErrors ? keyValidation.errors.value : (hasKeyWarning ? keyValidation.warnings.value : (hasKeySuccess ? keyValidation.successes.value : []))"
453
+ :has-error="hasKeyErrors"
454
+ :is-disabled="isDisabled"
455
+ :bg-color="bgColor"
456
+ :density="props.density"
457
+ :hide-details="props.hideDetails"
458
+ :hide-spin-buttons="props.hideSpinButtons"
459
+ :placeholder="props.placeholder"
460
+ :readonly="props.readonly"
461
+ :variant="props.variant"
462
+ :clearable="props.clearable"
463
+ :counter="props.counter"
464
+ :persistent-hint="props.persistentHint"
465
+ :persistent-placeholder="props.persistentPlaceholder"
466
+ class="key-field"
467
+ :display-asterisk="false"
468
+ @input="handleKeyInput"
469
+ @blur="handleKeyBlur"
470
+ />
471
+ </div>
472
+ </div>
473
+ </template>
474
+
475
+ <style lang="scss" scoped>
476
+ .nir-field {
477
+ display: flex;
478
+ gap: 16px;
479
+ width: v-bind('props.width');
480
+ align-items: flex-start;
438
481
  }
439
482
 
440
- @media screen and (width <= 360px) {
441
- @include responsive-nir-wrapper;
483
+ .number-field-container {
484
+ flex: 0 0 80%;
442
485
  }
443
486
 
444
- .v-text-field .v-input__append-inner {
445
- padding-left: 0 !important;
487
+ .key-field-container {
488
+ flex: 0 0 20%;
446
489
  }
447
490
 
448
- :deep(.v-text-field > .v-input__control > .v-input__slot > .v-text-field__slot) {
449
- width: min-content !important;
491
+ .number-field,
492
+ .key-field {
493
+ width: 100%;
450
494
  }
451
495
  </style>