@cnamts/synapse 0.0.10-alpha → 0.0.11-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 (589) hide show
  1. package/dist/design-system-v3.js +4291 -3815
  2. package/dist/design-system-v3.umd.cjs +1 -1
  3. package/dist/src/components/BackBtn/AccessibiliteItems.d.ts +29 -0
  4. package/dist/src/components/BackBtn/BackBtn.d.ts +14 -0
  5. package/dist/src/components/BackBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  6. package/dist/src/components/BackBtn/locales.d.ts +3 -0
  7. package/dist/src/components/BackBtn/tests/BackBtn.spec.d.ts +1 -0
  8. package/dist/src/components/BackToTopBtn/AccessibiliteItems.d.ts +29 -0
  9. package/dist/src/components/BackToTopBtn/BackToTopBtn.d.ts +23 -0
  10. package/dist/src/components/BackToTopBtn/config.d.ts +12 -0
  11. package/dist/src/components/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  12. package/dist/src/components/BackToTopBtn/locales.d.ts +3 -0
  13. package/dist/src/components/BackToTopBtn/tests/BackToTopBtn.spec.d.ts +1 -0
  14. package/dist/src/components/ChipList/AccessibiliteItems.d.ts +29 -0
  15. package/dist/src/components/ChipList/ChipList.d.ts +47 -0
  16. package/dist/src/components/ChipList/config.d.ts +8 -0
  17. package/dist/src/components/ChipList/constants/ExpertiseLevelEnum.d.ts +4 -0
  18. package/dist/src/components/ChipList/locales.d.ts +6 -0
  19. package/dist/src/components/ChipList/tests/chipList.spec.d.ts +1 -0
  20. package/dist/src/components/ChipList/types.d.ts +6 -0
  21. package/dist/src/components/CollapsibleList/AccessibiliteItems.d.ts +46 -0
  22. package/dist/src/components/CollapsibleList/CollapsibleList.d.ts +7 -0
  23. package/dist/src/components/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +4 -0
  24. package/dist/src/components/CollapsibleList/tests/CollapsibleList.spec.d.ts +1 -0
  25. package/dist/src/components/CollapsibleList/types.d.ts +5 -0
  26. package/dist/src/components/ContextualMenu/AccessibiliteItems.d.ts +46 -0
  27. package/dist/src/components/ContextualMenu/ContextualMenu.d.ts +13 -0
  28. package/dist/src/components/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +4 -0
  29. package/dist/src/components/ContextualMenu/tests/ContextualMenu.spec.d.ts +1 -0
  30. package/dist/src/components/ContextualMenu/types.d.ts +5 -0
  31. package/dist/src/components/CookieBanner/AccessibiliteItems.d.ts +79 -0
  32. package/dist/src/components/CookieBanner/CookieBanner.d.ts +28 -0
  33. package/dist/src/components/CookieBanner/config.d.ts +40 -0
  34. package/dist/src/components/CookieBanner/constants/ExpertiseLevelEnum.d.ts +4 -0
  35. package/dist/src/components/CookieBanner/locales.d.ts +11 -0
  36. package/dist/src/components/CookieBanner/tests/CookieBanner.spec.d.ts +1 -0
  37. package/dist/src/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +19 -0
  38. package/dist/src/components/CookiesSelection/CookiesInformation/locales.d.ts +19 -0
  39. package/dist/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.d.ts +1 -0
  40. package/dist/src/components/CookiesSelection/CookiesTable/CookiesTable.d.ts +13 -0
  41. package/dist/src/components/CookiesSelection/CookiesTable/headers.d.ts +10 -0
  42. package/dist/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.d.ts +1 -0
  43. package/dist/src/components/CookiesSelection/locales.d.ts +8 -0
  44. package/dist/src/components/CookiesSelection/tests/CookiesSelection.spec.d.ts +1 -0
  45. package/dist/src/components/CookiesSelection/types.d.ts +12 -0
  46. package/dist/src/components/CopyBtn/AccessibiliteItems.d.ts +29 -0
  47. package/dist/src/components/CopyBtn/CopyBtn.d.ts +28 -0
  48. package/dist/src/components/CopyBtn/config.d.ts +17 -0
  49. package/dist/src/components/CopyBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  50. package/dist/src/components/CopyBtn/locales.d.ts +3 -0
  51. package/dist/src/components/CopyBtn/tests/CopyBtn.spec.d.ts +1 -0
  52. package/dist/src/components/Customs/SyBtnSelect/AccessibiliteItems.d.ts +29 -0
  53. package/dist/src/components/Customs/SyBtnSelect/SyBtnSelect.d.ts +164 -0
  54. package/dist/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +4 -0
  55. package/dist/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.d.ts +1 -0
  56. package/dist/src/components/Customs/SyInputSelect/AccessibiliteItems.d.ts +29 -0
  57. package/dist/src/components/Customs/SyInputSelect/SyInputSelect.d.ts +36 -0
  58. package/dist/src/components/Customs/SyInputSelect/config.d.ts +9 -0
  59. package/dist/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +4 -0
  60. package/dist/src/components/Customs/SyInputSelect/tests/SyInputSelect.spec.d.ts +1 -0
  61. package/dist/src/components/Customs/SySelect/AccessibiliteItems.d.ts +54 -0
  62. package/dist/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +4 -0
  63. package/dist/src/components/Customs/SySelect/tests/SySelect.spec.d.ts +1 -0
  64. package/dist/src/components/Customs/SyTextField/AccessibiliteItems.d.ts +70 -0
  65. package/dist/src/components/Customs/SyTextField/SyTextField.d.ts +160 -0
  66. package/dist/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +4 -0
  67. package/dist/src/components/Customs/SyTextField/tests/SyTextField.spec.d.ts +1 -0
  68. package/dist/src/components/Customs/SyTextField/types.d.ts +3 -0
  69. package/dist/src/components/DataList/AccessibiliteItems.d.ts +29 -0
  70. package/dist/src/components/DataList/DataList.d.ts +134 -0
  71. package/dist/src/components/DataList/DataListLoading/DataListLoading.d.ts +32 -0
  72. package/dist/src/components/DataList/DataListLoading/tests/DataListLoading.spec.d.ts +1 -0
  73. package/dist/src/components/DataList/constants/ExpertiseLevelEnum.d.ts +4 -0
  74. package/dist/src/components/DataList/locales.d.ts +3 -0
  75. package/dist/src/components/DataList/tests/DataList.spec.d.ts +1 -0
  76. package/dist/src/components/DataList/types.d.ts +22 -0
  77. package/dist/src/components/DataListGroup/AccessibiliteItems.d.ts +29 -0
  78. package/dist/src/components/DataListGroup/DataListGroup.d.ts +56 -0
  79. package/dist/src/components/DataListGroup/constants/ExpertiseLevelEnum.d.ts +4 -0
  80. package/dist/src/components/DataListGroup/tests/DataListGroup.spec.d.ts +1 -0
  81. package/dist/src/components/DataListGroup/tests/data/dataListGroupItems.d.ts +5 -0
  82. package/dist/src/components/DataListGroup/types.d.ts +14 -0
  83. package/dist/src/components/DataListItem/DataListItem.d.ts +37 -0
  84. package/dist/src/components/DataListItem/config.d.ts +16 -0
  85. package/dist/src/components/DataListItem/locales.d.ts +3 -0
  86. package/dist/src/components/DataListItem/tests/DataListItem.spec.d.ts +1 -0
  87. package/dist/src/components/DataListItem/types.d.ts +22 -0
  88. package/dist/src/components/DatePicker/AccessibiliteItems.d.ts +54 -0
  89. package/dist/src/components/DatePicker/DatePicker.d.ts +594 -0
  90. package/dist/src/components/DatePicker/DateTextInput.d.ts +462 -0
  91. package/dist/src/components/DatePicker/constants/ExpertiseLevelEnum.d.ts +4 -0
  92. package/dist/src/components/DatePicker/tests/DatePicker.spec.d.ts +1 -0
  93. package/dist/src/components/DatePicker/tests/DateTextInput.spec.d.ts +1 -0
  94. package/dist/src/components/DialogBox/AccessibiliteItems.d.ts +54 -0
  95. package/dist/src/components/DialogBox/config.d.ts +25 -0
  96. package/dist/src/components/DialogBox/constants/ExpertiseLevelEnum.d.ts +4 -0
  97. package/dist/src/components/DialogBox/locales.d.ts +5 -0
  98. package/dist/src/components/DialogBox/tests/DialogBox.spec.d.ts +1 -0
  99. package/dist/src/components/DownloadBtn/AccessibiliteItems.d.ts +29 -0
  100. package/dist/src/components/DownloadBtn/DownloadBtn.d.ts +39 -0
  101. package/dist/src/components/DownloadBtn/config.d.ts +13 -0
  102. package/dist/src/components/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  103. package/dist/src/components/DownloadBtn/tests/DownloadBtn.spec.d.ts +1 -0
  104. package/dist/src/components/DownloadBtn/tests/data/filePromise.d.ts +5 -0
  105. package/dist/src/components/ErrorPage/AccessibiliteItems.d.ts +65 -0
  106. package/dist/src/components/ErrorPage/ErrorPage.d.ts +31 -0
  107. package/dist/src/components/ErrorPage/constants/ExpertiseLevelEnum.d.ts +4 -0
  108. package/dist/src/components/ErrorPage/locales.d.ts +5 -0
  109. package/dist/src/components/ErrorPage/tests/ErrorPage.spec.d.ts +1 -0
  110. package/dist/src/components/ExternalLinks/AccessibiliteItems.d.ts +55 -0
  111. package/dist/src/components/ExternalLinks/ExternalLinks.d.ts +31 -0
  112. package/dist/src/components/ExternalLinks/config.d.ts +32 -0
  113. package/dist/src/components/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +4 -0
  114. package/dist/src/components/ExternalLinks/locales.d.ts +4 -0
  115. package/dist/src/components/ExternalLinks/tests/ExternalLinks.spec.d.ts +1 -0
  116. package/dist/src/components/FileList/AccessibiliteItems.d.ts +29 -0
  117. package/dist/src/components/FileList/FileList.d.ts +44 -0
  118. package/dist/src/components/FileList/UploadItem/UploadItem.d.ts +58 -0
  119. package/dist/src/components/FileList/UploadItem/locales.d.ts +9 -0
  120. package/dist/src/components/FileList/constants/ExpertiseLevelEnum.d.ts +4 -0
  121. package/dist/src/components/FileList/tests/FileList.spec.d.ts +1 -0
  122. package/dist/src/components/FilePreview/AccessibiliteItems.d.ts +16 -0
  123. package/dist/src/components/FilePreview/FilePreview.d.ts +28 -0
  124. package/dist/src/components/FilePreview/config.d.ts +9 -0
  125. package/dist/src/components/FilePreview/constants/ExpertiseLevelEnum.d.ts +4 -0
  126. package/dist/src/components/FilePreview/locales.d.ts +4 -0
  127. package/dist/src/components/FilePreview/tests/FilePreview.spec.d.ts +1 -0
  128. package/dist/src/components/FileUpload/AccessibiliteItems.d.ts +16 -0
  129. package/dist/src/components/FileUpload/FileUpload.d.ts +49 -0
  130. package/dist/src/components/FileUpload/FileUploadContent.d.ts +20 -0
  131. package/dist/src/components/FileUpload/constants/ExpertiseLevelEnum.d.ts +4 -0
  132. package/dist/src/components/FileUpload/locales.d.ts +9 -0
  133. package/dist/src/components/FileUpload/tests/FileUpload.spec.d.ts +1 -0
  134. package/dist/src/components/FileUpload/useFileDrop.d.ts +2 -0
  135. package/dist/src/components/FileUpload/validateFiles.d.ts +4 -0
  136. package/dist/src/components/FilterInline/FilterInline.d.ts +28 -0
  137. package/dist/src/components/FilterInline/locales.d.ts +3 -0
  138. package/dist/src/components/FilterInline/tests/FilterInline.spec.d.ts +1 -0
  139. package/dist/src/components/FooterBar/A11yCompliance.d.ts +3 -0
  140. package/dist/src/components/FooterBar/AccessibiliteItems.d.ts +110 -0
  141. package/dist/src/components/FooterBar/FooterBar.d.ts +57 -0
  142. package/dist/src/components/FooterBar/config.d.ts +18 -0
  143. package/dist/src/components/FooterBar/constants/ExpertiseLevelEnum.d.ts +4 -0
  144. package/dist/src/components/FooterBar/defaultSocialMediaLinks.d.ts +2 -0
  145. package/dist/src/components/FooterBar/locales.d.ts +11 -0
  146. package/dist/src/components/FooterBar/tests/FooterBar.spec.d.ts +1 -0
  147. package/dist/src/components/FooterBar/tests/FooterBarConfig.spec.d.ts +1 -0
  148. package/dist/src/components/FooterBar/types.d.ts +9 -0
  149. package/dist/src/components/FranceConnectBtn/AccessibiliteItems.d.ts +45 -0
  150. package/dist/src/components/FranceConnectBtn/FranceConnectBtn.d.ts +10 -0
  151. package/dist/src/components/FranceConnectBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  152. package/dist/src/components/FranceConnectBtn/locales.d.ts +4 -0
  153. package/dist/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.d.ts +1 -0
  154. package/dist/src/components/HeaderBar/AccessibiliteItems.d.ts +91 -0
  155. package/dist/src/components/HeaderBar/HeaderBar.d.ts +67 -0
  156. package/dist/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +77 -0
  157. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +67 -0
  158. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +9 -0
  159. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/HeaderMenuItem.spec.d.ts +1 -0
  160. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +13 -0
  161. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.d.ts +1 -0
  162. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +10 -0
  163. package/dist/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.d.ts +1 -0
  164. package/dist/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.d.ts +4 -0
  165. package/dist/src/components/HeaderBar/HeaderBurgerMenu/conts.d.ts +1 -0
  166. package/dist/src/components/HeaderBar/HeaderBurgerMenu/locals.d.ts +5 -0
  167. package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.d.ts +1 -0
  168. package/dist/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.d.ts +1 -0
  169. package/dist/src/components/HeaderBar/HeaderBurgerMenu/useHandleSubMenus.d.ts +4 -0
  170. package/dist/src/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +31 -0
  171. package/dist/src/components/HeaderBar/HeaderLogo/locales.d.ts +3 -0
  172. package/dist/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.d.ts +2 -0
  173. package/dist/src/components/HeaderBar/HeaderLogo/logos/Logo.d.ts +2 -0
  174. package/dist/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.d.ts +1 -0
  175. package/dist/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.d.ts +14 -0
  176. package/dist/src/components/HeaderBar/HeaderMenuBtn/locals.d.ts +5 -0
  177. package/dist/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.d.ts +1 -0
  178. package/dist/src/components/HeaderBar/constants/ExpertiseLevelEnum.d.ts +4 -0
  179. package/dist/src/components/HeaderBar/consts.d.ts +2 -0
  180. package/dist/src/components/HeaderBar/locales.d.ts +3 -0
  181. package/dist/src/components/HeaderBar/tests/HeaderBar.spec.d.ts +1 -0
  182. package/dist/src/components/HeaderBar/tests/useHeaderResponsiveMode.spec.d.ts +1 -0
  183. package/dist/src/components/HeaderBar/tests/useScrollDirection.spec.d.ts +1 -0
  184. package/dist/src/components/HeaderBar/useHeaderResponsiveMode.d.ts +3 -0
  185. package/dist/src/components/HeaderBar/useScrollDirection.d.ts +3 -0
  186. package/dist/src/components/HeaderLoading/AccessibiliteItems.d.ts +16 -0
  187. package/dist/src/components/HeaderLoading/HeaderLoading.d.ts +23 -0
  188. package/dist/src/components/HeaderLoading/constants/ExpertiseLevelEnum.d.ts +4 -0
  189. package/dist/src/components/HeaderLoading/tests/HeaderLoading.spec.d.ts +1 -0
  190. package/dist/src/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +84 -0
  191. package/dist/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +20 -0
  192. package/dist/src/components/HeaderNavigationBar/HorizontalNavbar/config.d.ts +16 -0
  193. package/dist/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.d.ts +1 -0
  194. package/dist/src/components/HeaderNavigationBar/types.d.ts +6 -0
  195. package/dist/src/components/HeaderToolbar/AccessibiliteItems.d.ts +46 -0
  196. package/dist/src/components/HeaderToolbar/HeaderToolbar.d.ts +103 -0
  197. package/dist/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.d.ts +4 -0
  198. package/dist/src/components/HeaderToolbar/tests/HeaderToolbar.spec.d.ts +1 -0
  199. package/dist/src/components/HeaderToolbar/types.d.ts +19 -0
  200. package/dist/src/components/LangBtn/AccessibiliteItems.d.ts +16 -0
  201. package/dist/src/components/LangBtn/LangBtn.d.ts +31 -0
  202. package/dist/src/components/LangBtn/config.d.ts +15 -0
  203. package/dist/src/components/LangBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  204. package/dist/src/components/LangBtn/locales.d.ts +3 -0
  205. package/dist/src/components/LangBtn/tests/Config.spec.d.ts +1 -0
  206. package/dist/src/components/LangBtn/tests/LangBtn.spec.d.ts +1 -0
  207. package/dist/src/components/LangBtn/types.d.ts +7 -0
  208. package/dist/src/components/Logo/AccessibiliteItems.d.ts +65 -0
  209. package/dist/src/components/Logo/Logo.d.ts +71 -0
  210. package/dist/src/components/Logo/LogoSize.d.ts +6 -0
  211. package/dist/src/components/Logo/constants/ExpertiseLevelEnum.d.ts +4 -0
  212. package/dist/src/components/Logo/locales.d.ts +6 -0
  213. package/dist/src/components/Logo/logoDimensionsMapping.d.ts +3 -0
  214. package/dist/src/components/Logo/tests/Logo.spec.d.ts +1 -0
  215. package/dist/src/components/Logo/types.d.ts +7 -0
  216. package/dist/src/components/LogoBrandSection/AccessibiliteItems.d.ts +91 -0
  217. package/dist/src/components/LogoBrandSection/LogoBrandSection.d.ts +38 -0
  218. package/dist/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.d.ts +4 -0
  219. package/dist/src/components/LogoBrandSection/dividerDimensionsMapping.d.ts +14 -0
  220. package/dist/src/components/LogoBrandSection/locales.d.ts +14 -0
  221. package/dist/src/components/LogoBrandSection/secondaryLogoMapping.d.ts +18 -0
  222. package/dist/src/components/LogoBrandSection/tests/LogoBrandSection.spec.d.ts +1 -0
  223. package/dist/src/components/LogoBrandSection/types.d.ts +1 -0
  224. package/dist/src/components/MaintenancePage/AccessibiliteItems.d.ts +65 -0
  225. package/dist/src/components/MaintenancePage/MaintenancePage.d.ts +2 -0
  226. package/dist/src/components/MaintenancePage/constants/ExpertiseLevelEnum.d.ts +4 -0
  227. package/dist/src/components/MaintenancePage/index.d.ts +2 -0
  228. package/dist/src/components/MaintenancePage/locales.d.ts +4 -0
  229. package/dist/src/components/MaintenancePage/tests/MaintenancePage.spec.d.ts +1 -0
  230. package/dist/src/components/NirField/AccessibiliteItems.d.ts +79 -0
  231. package/dist/src/components/NirField/config.d.ts +15 -0
  232. package/dist/src/components/NirField/constants/ExpertiseLevelEnum.d.ts +4 -0
  233. package/dist/src/components/NirField/locales.d.ts +12 -0
  234. package/dist/src/components/NirField/nirValidation.d.ts +5 -0
  235. package/dist/src/components/NirField/tests/NirField.spec.d.ts +1 -0
  236. package/dist/src/components/NotFoundPage/AccessibiliteItems.d.ts +65 -0
  237. package/dist/src/components/NotFoundPage/NotFoundPage.d.ts +14 -0
  238. package/dist/src/components/NotFoundPage/constants/ExpertiseLevelEnum.d.ts +4 -0
  239. package/dist/src/components/NotFoundPage/locales.d.ts +6 -0
  240. package/dist/src/components/NotFoundPage/tests/NotFoundPage.spec.d.ts +1 -0
  241. package/dist/src/components/NotificationBar/AccessibiliteItems.d.ts +29 -0
  242. package/dist/src/components/NotificationBar/NotificationBar.d.ts +37 -0
  243. package/dist/src/components/NotificationBar/constants/ExpertiseLevelEnum.d.ts +4 -0
  244. package/dist/src/components/NotificationBar/options.d.ts +13 -0
  245. package/dist/src/components/NotificationBar/tests/NotificationBar.spec.d.ts +1 -0
  246. package/dist/src/components/NotificationBar/types.d.ts +7 -0
  247. package/dist/src/components/PageContainer/AccessibiliteItems.d.ts +29 -0
  248. package/dist/src/components/PageContainer/PageContainer.d.ts +21 -0
  249. package/dist/src/components/PageContainer/constants/ExpertiseLevelEnum.d.ts +4 -0
  250. package/dist/src/components/PageContainer/tests/PageContainer.spec.d.ts +1 -0
  251. package/dist/src/components/PaginatedTable/AccessibiliteItems.d.ts +97 -0
  252. package/dist/src/components/PaginatedTable/PaginatedTable.d.ts +57 -0
  253. package/dist/src/components/PaginatedTable/constants/ExpertiseLevelEnum.d.ts +4 -0
  254. package/dist/src/components/PaginatedTable/constants/StateEnum.d.ts +6 -0
  255. package/dist/src/components/PaginatedTable/tests/PaginatedTable.spec.d.ts +1 -0
  256. package/dist/src/components/PaginatedTable/types.d.ts +26 -0
  257. package/dist/src/components/PasswordField/AccessibiliteItems.d.ts +54 -0
  258. package/dist/src/components/PasswordField/PasswordField.d.ts +25 -0
  259. package/dist/src/components/PasswordField/config.d.ts +9 -0
  260. package/dist/src/components/PasswordField/constants/ExpertiseLevelEnum.d.ts +4 -0
  261. package/dist/src/components/PasswordField/locales.d.ts +4 -0
  262. package/dist/src/components/PasswordField/tests/PasswordField.spec.d.ts +1 -0
  263. package/dist/src/components/PeriodField/AccessibiliteItems.d.ts +54 -0
  264. package/dist/src/components/PeriodField/PeriodField.d.ts +1381 -0
  265. package/dist/src/components/PeriodField/constants/ExpertiseLevelEnum.d.ts +4 -0
  266. package/dist/src/components/PeriodField/tests/PeriodField.spec.d.ts +1 -0
  267. package/dist/src/components/PhoneField/AccessibiliteItems.d.ts +94 -0
  268. package/dist/src/components/PhoneField/PhoneField.d.ts +129 -0
  269. package/dist/src/components/PhoneField/constants/ExpertiseLevelEnum.d.ts +4 -0
  270. package/dist/src/components/PhoneField/indicatifs.d.ts +7 -0
  271. package/dist/src/components/PhoneField/locales.d.ts +4 -0
  272. package/dist/src/components/PhoneField/tests/PhoneField.spec.d.ts +1 -0
  273. package/dist/src/components/RangeField/AccessibiliteItems.d.ts +54 -0
  274. package/dist/src/components/RangeField/RangeField.d.ts +19 -0
  275. package/dist/src/components/RangeField/RangeSlider/RangeSlider.d.ts +286 -0
  276. package/dist/src/components/RangeField/RangeSlider/Tooltip/Tooltip.d.ts +20 -0
  277. package/dist/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.d.ts +1 -0
  278. package/dist/src/components/RangeField/RangeSlider/tests/useDoubleSlider.spec.d.ts +1 -0
  279. package/dist/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.d.ts +1 -0
  280. package/dist/src/components/RangeField/RangeSlider/tests/useThumb.spec.d.ts +1 -0
  281. package/dist/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.d.ts +1 -0
  282. package/dist/src/components/RangeField/RangeSlider/tests/useTooltipsNudge.spec.d.ts +1 -0
  283. package/dist/src/components/RangeField/RangeSlider/tests/useTrack.spec.d.ts +1 -0
  284. package/dist/src/components/RangeField/RangeSlider/tests/vAnimateClick.spec.d.ts +1 -0
  285. package/dist/src/components/RangeField/RangeSlider/types.d.ts +13 -0
  286. package/dist/src/components/RangeField/RangeSlider/useMouseSlide.d.ts +18 -0
  287. package/dist/src/components/RangeField/RangeSlider/useRangeSlider.d.ts +17 -0
  288. package/dist/src/components/RangeField/RangeSlider/useThumb.d.ts +6 -0
  289. package/dist/src/components/RangeField/RangeSlider/useThumbKeyboard.d.ts +12 -0
  290. package/dist/src/components/RangeField/RangeSlider/useTooltipsNudge.d.ts +16 -0
  291. package/dist/src/components/RangeField/RangeSlider/useTrack.d.ts +13 -0
  292. package/dist/src/components/RangeField/RangeSlider/vAnimateClick.d.ts +3 -0
  293. package/dist/src/components/RangeField/config.d.ts +6 -0
  294. package/dist/src/components/RangeField/constants/ExpertiseLevelEnum.d.ts +4 -0
  295. package/dist/src/components/RangeField/locales.d.ts +4 -0
  296. package/dist/src/components/RangeField/tests/RangeField.spec.d.ts +1 -0
  297. package/dist/src/components/RatingPicker/AccessibiliteItems.d.ts +80 -0
  298. package/dist/src/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +65 -0
  299. package/dist/src/components/RatingPicker/EmotionPicker/locales.d.ts +3 -0
  300. package/dist/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.d.ts +1 -0
  301. package/dist/src/components/RatingPicker/NumberPicker/NumberPicker.d.ts +64 -0
  302. package/dist/src/components/RatingPicker/NumberPicker/locales.d.ts +3 -0
  303. package/dist/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.d.ts +1 -0
  304. package/dist/src/components/RatingPicker/Rating.d.ts +25 -0
  305. package/dist/src/components/RatingPicker/RatingPicker.d.ts +82 -0
  306. package/dist/src/components/RatingPicker/StarsPicker/StarsPicker.d.ts +54 -0
  307. package/dist/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.d.ts +1 -0
  308. package/dist/src/components/RatingPicker/constants/ExpertiseLevelEnum.d.ts +4 -0
  309. package/dist/src/components/RatingPicker/locales.d.ts +3 -0
  310. package/dist/src/components/RatingPicker/tests/Rating.spec.d.ts +1 -0
  311. package/dist/src/components/RatingPicker/tests/RatingPicker.spec.d.ts +1 -0
  312. package/dist/src/components/SearchListField/AccessibiliteItems.d.ts +90 -0
  313. package/dist/src/components/SearchListField/SearchListField.d.ts +42 -0
  314. package/dist/src/components/SearchListField/constants/ExpertiseLevelEnum.d.ts +4 -0
  315. package/dist/src/components/SearchListField/locales.d.ts +5 -0
  316. package/dist/src/components/SearchListField/tests/SearchListField.spec.d.ts +1 -0
  317. package/dist/src/components/SearchListField/types.d.ts +4 -0
  318. package/dist/src/components/SelectBtnField/AccessibiliteItems.d.ts +79 -0
  319. package/dist/src/components/SelectBtnField/SelectBtnField.d.ts +33 -0
  320. package/dist/src/components/SelectBtnField/config.d.ts +11 -0
  321. package/dist/src/components/SelectBtnField/constants/ExpertiseLevelEnum.d.ts +4 -0
  322. package/dist/src/components/SelectBtnField/tests/SelectBtnField.spec.d.ts +1 -0
  323. package/dist/src/components/SelectBtnField/types.d.ts +11 -0
  324. package/dist/src/components/SkipLink/AccessibiliteItems.d.ts +16 -0
  325. package/dist/src/components/SkipLink/SkipLink.d.ts +18 -0
  326. package/dist/src/components/SkipLink/constants/ExpertiseLevelEnum.d.ts +4 -0
  327. package/dist/src/components/SkipLink/locales.d.ts +3 -0
  328. package/dist/src/components/SkipLink/tests/skipLink.spec.d.ts +1 -0
  329. package/dist/src/components/SocialMediaLinks/AccessibiliteItems.d.ts +46 -0
  330. package/dist/src/components/SocialMediaLinks/DefaultSocialMediaLinks.d.ts +2 -0
  331. package/dist/src/components/SocialMediaLinks/SocialMediaLinks.d.ts +16 -0
  332. package/dist/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.d.ts +4 -0
  333. package/dist/src/components/SocialMediaLinks/locales.d.ts +3 -0
  334. package/dist/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.d.ts +1 -0
  335. package/dist/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.d.ts +1 -0
  336. package/dist/src/components/SocialMediaLinks/types.d.ts +5 -0
  337. package/dist/src/components/SubHeader/AccessibiliteItems.d.ts +29 -0
  338. package/dist/src/components/SubHeader/SubHeader.d.ts +40 -0
  339. package/dist/src/components/SubHeader/config.d.ts +11 -0
  340. package/dist/src/components/SubHeader/constants/ExpertiseLevelEnum.d.ts +4 -0
  341. package/dist/src/components/SubHeader/locales.d.ts +3 -0
  342. package/dist/src/components/SubHeader/tests/SubHeader.spec.d.ts +1 -0
  343. package/dist/src/components/SyAlert/AccessibiliteItems.d.ts +29 -0
  344. package/dist/src/components/SyAlert/SyAlert.d.ts +32 -0
  345. package/dist/src/components/SyAlert/constants/ExpertiseLevelEnum.d.ts +4 -0
  346. package/dist/src/components/SyAlert/locales.d.ts +3 -0
  347. package/dist/src/components/SyAlert/tests/SyAlert.spec.d.ts +1 -0
  348. package/dist/src/components/TableToolbar/AccessibiliteItems.d.ts +71 -0
  349. package/dist/src/components/TableToolbar/TableToolbar.d.ts +40 -0
  350. package/dist/src/components/TableToolbar/config.d.ts +24 -0
  351. package/dist/src/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +4 -0
  352. package/dist/src/components/TableToolbar/locales.d.ts +5 -0
  353. package/dist/src/components/TableToolbar/tests/TableToolbar.spec.d.ts +1 -0
  354. package/dist/src/components/UserMenuBtn/AccessibiliteItems.d.ts +54 -0
  355. package/dist/src/components/UserMenuBtn/UserMenuBtn.d.ts +32 -0
  356. package/dist/src/components/UserMenuBtn/config.d.ts +24 -0
  357. package/dist/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +4 -0
  358. package/dist/src/components/UserMenuBtn/tests/UserMenuBtn.spec.d.ts +1 -0
  359. package/dist/src/components/index.d.ts +63 -0
  360. package/dist/src/composables/index.d.ts +3 -0
  361. package/dist/src/composables/rules/tests/useFieldValidation.spec.d.ts +1 -0
  362. package/dist/src/composables/rules/useFieldValidation.d.ts +27 -0
  363. package/dist/src/composables/useCustomizableOptions.d.ts +13 -0
  364. package/dist/src/composables/useFilterable/useFilterable.d.ts +32 -0
  365. package/dist/src/composables/useFilterable/useFilterable.spec.d.ts +1 -0
  366. package/dist/src/composables/widthable/index.d.ts +13 -0
  367. package/dist/src/composables/widthable/tests/widthable.spec.d.ts +1 -0
  368. package/dist/src/constants/icons.d.ts +3 -0
  369. package/dist/src/designTokens/index.d.ts +9 -0
  370. package/dist/src/designTokens/tokens/cnam/cnamColors.d.ts +171 -0
  371. package/dist/src/designTokens/tokens/cnam/cnamContextual.d.ts +58 -0
  372. package/dist/src/designTokens/tokens/cnam/cnamDarkTheme.d.ts +3 -0
  373. package/dist/src/designTokens/tokens/cnam/cnamLightTheme.d.ts +90 -0
  374. package/dist/src/designTokens/tokens/cnam/cnamSemantic.d.ts +87 -0
  375. package/dist/src/designTokens/tokens/pa/paColors.d.ts +171 -0
  376. package/dist/src/designTokens/tokens/pa/paContextual.d.ts +58 -0
  377. package/dist/src/designTokens/tokens/pa/paDarkTheme.d.ts +3 -0
  378. package/dist/src/designTokens/tokens/pa/paLightTheme.d.ts +120 -0
  379. package/dist/src/designTokens/tokens/pa/paSemantic.d.ts +87 -0
  380. package/dist/src/designTokens/utils/convertGaps.d.ts +5 -0
  381. package/dist/src/designTokens/utils/convertSemanticsToken.d.ts +12 -0
  382. package/dist/src/designTokens/utils/createFlattenTheme.d.ts +7 -0
  383. package/dist/src/designTokens/utils/index.d.ts +3 -0
  384. package/dist/src/directives/clickOutside.d.ts +1 -0
  385. package/dist/src/main.d.ts +3 -0
  386. package/dist/src/modules.d.ts +4 -0
  387. package/dist/src/services/NotificationService.d.ts +19 -0
  388. package/dist/src/services/index.d.ts +1 -0
  389. package/dist/src/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +58 -0
  390. package/dist/src/stories/EcoConception/ecoDesignItems.d.ts +4 -0
  391. package/dist/src/types/vuetifyTypes.d.ts +3 -0
  392. package/dist/src/utils/calcHumanFileSize/index.d.ts +2 -0
  393. package/dist/src/utils/calcHumanFileSize/tests/calcHumanFileSize.spec.d.ts +1 -0
  394. package/dist/src/utils/convertToUnit/index.d.ts +2 -0
  395. package/dist/src/utils/convertToUnit/test/convertToUnit.spec.d.ts +1 -0
  396. package/dist/src/utils/functions/copyToClipboard/index.d.ts +2 -0
  397. package/dist/src/utils/functions/copyToClipboard/tests/copyToClipboard.spec.d.ts +1 -0
  398. package/dist/src/utils/functions/deepCopy/index.d.ts +4 -0
  399. package/dist/src/utils/functions/deepCopy/tests/deepCopy.spec.d.ts +1 -0
  400. package/dist/src/utils/functions/downloadFile/index.d.ts +3 -0
  401. package/dist/src/utils/functions/downloadFile/tests/downloadFile.spec.d.ts +1 -0
  402. package/dist/src/utils/functions/downloadFile/types.d.ts +1 -0
  403. package/dist/src/utils/functions/isEmailValid/index.d.ts +4 -0
  404. package/dist/src/utils/functions/isEmailValid/tests/isEmailValid.spec.d.ts +1 -0
  405. package/dist/src/utils/functions/throttleDisplayFn/tests/throttleDisplayFn.spec.d.ts +1 -0
  406. package/dist/src/utils/functions/throttleDisplayFn/throttleDisplayFn.d.ts +4 -0
  407. package/dist/src/utils/localStorageUtility/index.d.ts +28 -0
  408. package/dist/src/utils/localStorageUtility/tests/localStorageUtility.spec.d.ts +1 -0
  409. package/dist/src/utils/propValidator/index.d.ts +2 -0
  410. package/dist/src/utils/propValidator/tests/propValidator.spec.d.ts +1 -0
  411. package/dist/src/utils/ruleMessage/index.d.ts +3 -0
  412. package/dist/src/utils/ruleMessage/tests/ruleMessages.spec.d.ts +1 -0
  413. package/dist/src/utils/rules/email/index.d.ts +4 -0
  414. package/dist/src/utils/rules/email/locales.d.ts +2 -0
  415. package/dist/src/utils/rules/email/tests/email.spec.d.ts +1 -0
  416. package/dist/src/utils/rules/exactLength/index.d.ts +4 -0
  417. package/dist/src/utils/rules/exactLength/locales.d.ts +2 -0
  418. package/dist/src/utils/rules/required/index.d.ts +4 -0
  419. package/dist/src/utils/rules/required/locales.d.ts +2 -0
  420. package/dist/src/utils/rules/required/ruleMessageHelper.d.ts +3 -0
  421. package/dist/src/utils/rules/required/tests/index.spec.d.ts +1 -0
  422. package/dist/src/utils/rules/required/tests/rulesMessageHelper.spec.d.ts +1 -0
  423. package/dist/src/utils/rules/types.d.ts +15 -0
  424. package/dist/style.css +1 -1
  425. package/package.json +23 -21
  426. package/src/assets/settings.scss +11 -0
  427. package/src/components/BackBtn/Usages.mdx +9 -0
  428. package/src/components/BackBtn/Usages.stories.ts +37 -0
  429. package/src/components/BackToTopBtn/Usages.mdx +9 -0
  430. package/src/components/BackToTopBtn/Usages.stories.ts +41 -0
  431. package/src/components/ChipList/Accessibilite.mdx +14 -0
  432. package/src/components/ChipList/Accessibilite.stories.ts +216 -0
  433. package/src/components/ChipList/AccessibiliteItems.ts +119 -0
  434. package/src/components/ChipList/ChipList.mdx +59 -0
  435. package/src/components/ChipList/ChipList.stories.ts +1257 -0
  436. package/src/components/ChipList/ChipList.vue +246 -0
  437. package/src/components/ChipList/config.ts +27 -0
  438. package/src/{stories/Guidelines/Accessibilite → components/ChipList}/constants/ExpertiseLevelEnum.ts +0 -1
  439. package/src/components/ChipList/locales.ts +6 -0
  440. package/src/components/ChipList/tests/chipList.spec.ts +300 -0
  441. package/src/components/ChipList/types.ts +7 -0
  442. package/src/components/ContextualMenu/Usages.mdx +9 -0
  443. package/src/components/ContextualMenu/Usages.stories.ts +38 -0
  444. package/src/components/CopyBtn/Usages.mdx +9 -0
  445. package/src/components/CopyBtn/Usages.stories.ts +41 -0
  446. package/src/components/Customs/SySelect/SySelect.vue +4 -1
  447. package/src/components/Customs/SySelect/Usages.mdx +9 -0
  448. package/src/components/Customs/SySelect/Usages.stories.ts +41 -0
  449. package/src/components/Customs/SyTextField/SyTextField.mdx +21 -0
  450. package/src/components/Customs/SyTextField/SyTextField.stories.ts +402 -231
  451. package/src/components/Customs/SyTextField/SyTextField.vue +217 -19
  452. package/src/components/Customs/SyTextField/Usages.mdx +9 -0
  453. package/src/components/Customs/SyTextField/Usages.stories.ts +41 -0
  454. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +9 -8
  455. package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +23 -25
  456. package/src/components/DatePicker/DatePicker.mdx +37 -1
  457. package/src/components/DatePicker/DatePicker.stories.ts +374 -5
  458. package/src/components/DatePicker/DatePicker.vue +119 -47
  459. package/src/components/DatePicker/DateTextInput.vue +567 -290
  460. package/src/components/DatePicker/Usages.mdx +9 -0
  461. package/src/components/DatePicker/Usages.stories.ts +43 -0
  462. package/src/components/DatePicker/tests/DatePicker.spec.ts +5 -5
  463. package/src/components/DatePicker/tests/DateTextInput.spec.ts +282 -0
  464. package/src/components/DialogBox/DialogBox.mdx +1 -1
  465. package/src/components/DialogBox/Usages.mdx +9 -0
  466. package/src/components/DialogBox/Usages.stories.ts +45 -0
  467. package/src/components/ErrorPage/ErrorPage.mdx +1 -1
  468. package/src/components/ExternalLinks/Usages.mdx +9 -0
  469. package/src/components/ExternalLinks/Usages.stories.ts +40 -0
  470. package/src/components/FileList/Accessibilite.mdx +14 -0
  471. package/src/components/FileList/Accessibilite.stories.ts +216 -0
  472. package/src/components/FileList/AccessibiliteItems.ts +110 -0
  473. package/src/components/FileList/constants/ExpertiseLevelEnum.ts +4 -0
  474. package/src/components/FilePreview/Accessibilite.mdx +14 -0
  475. package/src/components/FilePreview/Accessibilite.stories.ts +216 -0
  476. package/src/components/FilePreview/AccessibiliteItems.ts +27 -0
  477. package/src/components/FilePreview/constants/ExpertiseLevelEnum.ts +4 -0
  478. package/src/components/FileUpload/Accessibilite.mdx +14 -0
  479. package/src/components/FileUpload/Accessibilite.stories.ts +216 -0
  480. package/src/components/FileUpload/AccessibiliteItems.ts +27 -0
  481. package/src/components/FileUpload/constants/ExpertiseLevelEnum.ts +4 -0
  482. package/src/components/FilterInline/FilterInline.mdx +91 -0
  483. package/src/components/FilterInline/FilterInline.stories.ts +406 -0
  484. package/src/components/FilterInline/FilterInline.vue +108 -0
  485. package/src/components/FilterInline/locales.ts +4 -0
  486. package/src/components/FilterInline/tests/FilterInline.spec.ts +68 -0
  487. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +38 -0
  488. package/src/components/HeaderBar/Usages.mdx +7 -2
  489. package/src/components/HeaderBar/Usages.stories.ts +39 -0
  490. package/src/components/NirField/NirField.stories.ts +1 -1
  491. package/src/components/NirField/NirField.vue +10 -4
  492. package/src/components/NirField/Usages.mdx +9 -0
  493. package/src/components/NirField/Usages.stories.ts +42 -0
  494. package/src/components/NotificationBar/Usages.mdx +9 -0
  495. package/src/components/NotificationBar/Usages.stories.ts +41 -0
  496. package/src/components/PaginatedTable/Accessibilite.mdx +14 -0
  497. package/src/components/PaginatedTable/Accessibilite.stories.ts +216 -0
  498. package/src/components/PaginatedTable/AccessibiliteItems.ts +352 -0
  499. package/src/components/PaginatedTable/PaginatedTable.mdx +54 -0
  500. package/src/components/PaginatedTable/PaginatedTable.stories.ts +591 -0
  501. package/src/components/PaginatedTable/PaginatedTable.vue +243 -0
  502. package/src/components/PaginatedTable/constants/ExpertiseLevelEnum.ts +4 -0
  503. package/src/components/PaginatedTable/constants/StateEnum.ts +6 -0
  504. package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +257 -0
  505. package/src/components/PaginatedTable/tests/__snapshots__/PaginatedTable.spec.ts.snap +249 -0
  506. package/src/components/PaginatedTable/types.ts +30 -0
  507. package/src/components/PeriodField/Accessibilite.mdx +14 -0
  508. package/src/components/PeriodField/Accessibilite.stories.ts +216 -0
  509. package/src/components/PeriodField/AccessibiliteItems.ts +269 -0
  510. package/src/components/PeriodField/PeriodField.vue +62 -77
  511. package/src/components/PeriodField/constants/ExpertiseLevelEnum.ts +4 -0
  512. package/src/components/PeriodField/tests/PeriodField.spec.ts +11 -19
  513. package/src/components/PhoneField/PhoneField.mdx +1 -1
  514. package/src/components/PhoneField/Usages.mdx +9 -0
  515. package/src/components/PhoneField/Usages.stories.ts +38 -0
  516. package/src/components/RangeField/RangeField.vue +0 -4
  517. package/src/components/SearchListField/SearchListField.mdx +1 -2
  518. package/src/components/SelectBtnField/Usages.mdx +9 -0
  519. package/src/components/SelectBtnField/Usages.stories.ts +40 -0
  520. package/src/components/SkipLink/Usages.mdx +9 -0
  521. package/src/components/SkipLink/Usages.stories.ts +41 -0
  522. package/src/components/SyAlert/Usages.mdx +9 -0
  523. package/src/components/SyAlert/Usages.stories.ts +40 -0
  524. package/src/components/TableToolbar/Accessibilite.mdx +14 -0
  525. package/src/components/TableToolbar/Accessibilite.stories.ts +216 -0
  526. package/src/components/TableToolbar/AccessibiliteItems.ts +283 -0
  527. package/src/components/TableToolbar/constants/ExpertiseLevelEnum.ts +4 -0
  528. package/src/components/Usages/Usages.vue +95 -0
  529. package/src/components/index.ts +3 -0
  530. package/src/composables/rules/useFieldValidation.ts +84 -12
  531. package/src/composables/useFilterable/__snapshots__/useFilterable.spec.ts.snap +3 -0
  532. package/src/composables/useFilterable/useFilterable.spec.ts +635 -0
  533. package/src/composables/useFilterable/useFilterable.ts +196 -0
  534. package/src/constants/icons.ts +5 -0
  535. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +3 -3
  536. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +63 -0
  537. package/src/stories/Accessibilite/Audit/RGAA.mdx +29 -0
  538. package/src/stories/Accessibilite/Introduction.mdx +27 -0
  539. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +40 -0
  540. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +32 -0
  541. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +33 -0
  542. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru.mdx +33 -0
  543. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +100 -0
  544. package/src/stories/{Guidelines → Accessibilite}/Vuetify/Vuetify.mdx +1 -1
  545. package/src/stories/{Guidelines → Accessibilite}/Vuetify/Vuetify.stories.ts +1 -1
  546. package/src/stories/Components/Components.mdx +8 -0
  547. package/src/stories/Components/Components.stories.ts +398 -0
  548. package/src/stories/Demarrer/Accueil.mdx +8 -3
  549. package/src/stories/Demarrer/Accueil.stories.ts +126 -16
  550. package/src/stories/Demarrer/Introduction.mdx +12 -0
  551. package/src/stories/Demarrer/Introduction.stories.ts +151 -0
  552. package/src/stories/{GuideDuDev → Demarrer}/components.stories.ts +2 -2
  553. package/src/stories/{Fondamentaux → DesignTokens}/Arrondis.mdx +1 -1
  554. package/src/stories/{Fondamentaux → DesignTokens}/Colors.mdx +4 -4
  555. package/src/stories/DesignTokens/Conteneurs.mdx +18 -0
  556. package/src/stories/DesignTokens/Conteneurs.stories.ts +103 -0
  557. package/src/stories/{Fondamentaux → DesignTokens}/Elevations.mdx +1 -1
  558. package/src/stories/{Fondamentaux → DesignTokens}/Espacements.mdx +1 -1
  559. package/src/stories/{Fondamentaux → DesignTokens}/Introduction.mdx +1 -1
  560. package/src/stories/{Fondamentaux → DesignTokens}/StylesTypographiques.mdx +1 -1
  561. package/src/stories/{Fondamentaux/CustomisationEtThemes.mdx → DesignTokens/ThemePA.mdx} +6 -2
  562. package/src/stories/{Fondamentaux → DesignTokens}/Typographie.mdx +14 -1
  563. package/src/stories/{Guidelines/EcoConception/EcoConception.mdx → EcoConception/Introduction.mdx} +2 -2
  564. package/src/stories/{Guidelines/EcoConception/Econception.stories.ts → EcoConception/econception.stories.ts} +2 -2
  565. package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +432 -0
  566. package/src/stories/GuideDuDev/MigrationDepuisVue2.mdx +415 -0
  567. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +1 -13
  568. package/src/stories/Templates/Templates.mdx +8 -0
  569. package/src/stories/Templates/Templates.stories.ts +85 -0
  570. package/src/utils/functions/deepCopy/index.ts +20 -0
  571. package/src/utils/functions/deepCopy/tests/deepCopy.spec.ts +58 -0
  572. package/src/utils/functions/isEmailValid/index.ts +8 -0
  573. package/src/utils/functions/isEmailValid/tests/isEmailValid.spec.ts +22 -0
  574. package/src/utils/localStorageUtility/index.ts +201 -0
  575. package/src/utils/localStorageUtility/tests/localStorageUtility.spec.ts +180 -0
  576. package/src/utils/ruleMessage/index.ts +14 -0
  577. package/src/utils/ruleMessage/tests/ruleMessages.spec.ts +28 -0
  578. package/src/utils/rules/email/index.ts +26 -0
  579. package/src/utils/rules/email/locales.ts +5 -0
  580. package/src/utils/rules/email/tests/email.spec.ts +24 -0
  581. package/dist/design-system-v3.d.ts +0 -2925
  582. package/src/stories/Fondamentaux/Conteneurs.mdx +0 -7
  583. package/src/stories/Guidelines/Accessibilite/Accessibilite.mdx +0 -51
  584. package/src/stories/Guidelines/Accessibilite/Accessibilite.stories.ts +0 -36
  585. package/src/stories/Guidelines/Accessibilite/AccessibiliteItems.ts +0 -706
  586. package/src/stories/Guidelines/Accessibilite/constants/RGAALevelEnum.ts +0 -4
  587. /package/src/stories/{Guidelines → Accessibilite}/Vuetify/VuetifyItems.ts +0 -0
  588. /package/src/stories/{GuideDuDev → Demarrer}/CreerUneIssue.mdx +0 -0
  589. /package/src/stories/{Guidelines/EcoConception → EcoConception}/ecoDesignItems.ts +0 -0
@@ -0,0 +1,415 @@
1
+ import {Meta, Source} from '@storybook/addon-docs/blocks';
2
+
3
+ <Meta title="Guide Du Dev/Migration depuis Vue2"/>
4
+
5
+ # Migrer de Vue-dot (Vue2) vers Synapse
6
+
7
+ ## 1 - Commencer la migration
8
+
9
+ Pour réaliser la migration d'un produit VueJS 2 vers VueJS 3, vous pouvez suivre les étapes suivantes :
10
+
11
+ - Téléchargez la stack de migration [Starter Kit Synapse](https://gitlab.cnqd.cnamts.fr/human/developpement/SKV3_X).
12
+
13
+ - Copier les pages de votre projet VueJS 2 dans le dossier pages du projet Starter Kit, les composants peuvent être placés dans le dossier components.
14
+
15
+ - Identifier les dépendances à conserver dans la nouvelle version, il faut choisir la version vue3 de la librairie et la version Nuxt si elle existe. Ajouter ces dépendances dans le nouveau projet.
16
+ Le package `@cnamts/vue-dot` a été remplacé par `@cnamts/synapse`, le package `vue-i18n` a été remplacé par `@nuxtjs/i18n`.
17
+
18
+ - Dans le fichier nuxt.config.ts, ajouter le lien vers votre fichier de style global.
19
+
20
+ <Source dark code={`
21
+ // nuxt.config.ts
22
+ export default defineNuxtConfig({
23
+ ...
24
+ css: [
25
+ ...
26
+ '@/theme/styles.scss' // chemin vers votre fichier de style global
27
+ ],
28
+ ...
29
+ })
30
+ `}
31
+ />
32
+
33
+ - Dans le fichier nuxt.config.ts, ajouter les variables de configurations.
34
+
35
+ <Source dark code={`
36
+ // nuxt.config.ts
37
+ export default defineNuxtConfig({
38
+ runtimeConfig: {
39
+ public: {
40
+ // ajouter les variables de configuration public ici
41
+ version: process.env.VUE_APP_VERSION,
42
+ },
43
+ ...
44
+ },
45
+ ...
46
+ })
47
+ `}
48
+ />
49
+
50
+ Pour modifier ces variables sans regénérer le projet, il faut les écraser dans le fichier `.output/public/json/config.env.json`.
51
+
52
+ Pour utiliser ces variables dans un composant, il faut les importer et les utiliser comme suit :
53
+
54
+ <Source dark code={`
55
+ <script lang="ts">
56
+ export default defineNuxtComponent({
57
+ mounted() {
58
+ console.log(this.$config.public.version)
59
+ }
60
+ })
61
+ </script>
62
+
63
+ <template>
64
+ <div>
65
+ {{ $config.public.version }}
66
+ </div>
67
+ </template>
68
+ `}
69
+ />
70
+
71
+ ## 2 - Migration du routeur
72
+
73
+ Dans Nuxt 3, il n’est pas nécessaire de créer un fichier `router/index.ts` comme dans Vue classique. Nuxt 3 utilise un système de routing automatique basé sur les fichiers présents dans le dossier `pages/`.
74
+ Cependant, pour ajouter un router personnalisé, voici comment faire :
75
+
76
+ Ouvrir `router.options.ts` dans le dossier `app/` et ajoutez vos routes :
77
+
78
+ <Source dark code={`
79
+ // app/router.ts
80
+ import { createRouter, createWebHistory } from 'vue-router'
81
+
82
+ const router = createRouter({
83
+ history: createWebHistory(),
84
+ routes: [
85
+ { path: '/', component: () => import('@/pages/index.vue') },
86
+ { path: '/about', component: () => import('@/pages/about.vue') },
87
+ { path: '/contact', component: () => import('@/pages/contact.vue') },
88
+ ],
89
+ })
90
+
91
+ export default router
92
+ `}
93
+ />
94
+
95
+ Voir le [guide de migration de vue-router](https://router.vuejs.org/guide/migration/) pour plus d'informations.
96
+
97
+ ## 3 - Migration des stores VueX vers Pinia
98
+
99
+ Prenons un exemple de store Vuex :
100
+
101
+ <Source dark code={`
102
+ // Ancien store Vuex (store/index.js)
103
+ import { createStore } from 'vuex'
104
+
105
+ export default createStore({
106
+ state: {
107
+ count: 0,
108
+ user: null,
109
+ },
110
+ mutations: {
111
+ increment(state) {
112
+ state.count++
113
+ },
114
+ setUser(state, user) {
115
+ state.user = user
116
+ }
117
+ },
118
+ actions: {
119
+ async fetchUser({ commit }) {
120
+ const user = await fetch('/api/user').then(res => res.json())
121
+ commit('setUser', user)
122
+ }
123
+ },
124
+ getters: {
125
+ isAuthenticated: state => !!state.user,
126
+ }
127
+ })
128
+ `}
129
+ />
130
+
131
+ Nouvelle version avec Pinia :
132
+
133
+ <Source dark code={`
134
+ // stores/counter.ts
135
+ import { defineStore } from 'pinia'
136
+
137
+ export const useCounterStore = defineStore('counter', {
138
+ state: () => ({
139
+ count: 0,
140
+ user: null as null | { name: string; email: string }
141
+ }),
142
+ actions: {
143
+ increment() {
144
+ this.count++
145
+ },
146
+ async fetchUser() {
147
+ const user = await fetch('/api/user').then(res => res.json())
148
+ this.user = user
149
+ }
150
+ },
151
+ getters: {
152
+ isAuthenticated: (state) => !!state.user,
153
+ }
154
+ })
155
+ `}
156
+ />
157
+
158
+ Différences majeures entre Vuex et Pinia :
159
+ - Plus besoin de mutations → On modifie l’état directement !
160
+ - Les getters et actions sont dans le même objet
161
+ - Plus léger et plus performant
162
+
163
+ Utilisation du store dans les composants Vue :
164
+
165
+ <Source dark code={`
166
+ // Avec Vuex
167
+ <script setup>
168
+ import { useStore } from 'vuex'
169
+ const store = useStore()
170
+
171
+ store.commit('increment')
172
+ console.log(store.state.count)
173
+ </script>
174
+ `}
175
+ />
176
+
177
+ <Source dark code={`
178
+ // Avec Pinia
179
+ <script setup>
180
+ import { useCounterStore } from '@/stores/counter'
181
+ const counterStore = useCounterStore()
182
+
183
+ counterStore.increment()
184
+ console.log(counterStore.count)
185
+ </script>
186
+ `}
187
+ />
188
+
189
+ Nb : pour la persistance des données vous pouvez utiliser le plugin [pinia-plugin-persistedstate](https://prazdevs.github.io/pinia-plugin-persistedstate/).
190
+
191
+ ## 4 - Animations des pages
192
+
193
+ Si le projet utilise des transitions de page,
194
+
195
+ - Retirer le composant `<transition>` dans le fichier `app.vue`
196
+
197
+ - Configurer une transition de page dans le fichier `nuxt.config.ts`
198
+
199
+ <Source dark code={`
200
+ // nuxt.config.ts
201
+ export default defineNuxtConfig({
202
+ ...
203
+ app: {
204
+ ...
205
+ pageTransition: {
206
+ name: 'page',
207
+ mode: 'out-in'
208
+ }
209
+ }
210
+ `}
211
+ />
212
+
213
+ - Définir le style de la transition dans un fichier de style global.
214
+
215
+ <Source dark code={`
216
+ .page-enter-active,
217
+ .page-leave-active {
218
+ transition-duration: .15s;
219
+ transition-property: opacity;
220
+ transition-timing-function: ease;
221
+ }
222
+
223
+ .page-enter,
224
+ .page-leave-active {
225
+ opacity: 0;
226
+ }
227
+ `}
228
+ />
229
+
230
+ ## 5 - Migration de la syntaxe des composants
231
+
232
+ Voir le [guide migration officiel](https://v3-migration.vuejs.org/).
233
+
234
+ Utilisation du script [vue-class-migrator](https://github.com/getyourguide/vue-class-migrator)
235
+
236
+ `vue-class-migrator` est un script permettant de migrer automatiquement les composants vueJs écrient avec `vue-class-component` à la syntaxe native VueJs Option API
237
+
238
+ - Supprimer tous les décorateurs personnalisés, ils ne seront pas reconnus par `vue-class-migrator` et causeront l'échec de la migration du composant.
239
+
240
+ - Exécuter la commande `npx vue-class-migrator -d` à la racine de votre projet.
241
+
242
+ - Consulter les logs dans le terminal pour repérer les éventuels composants causant des erreurs et n'ayant pas pu être migré automatiquement.
243
+
244
+ - Si vous avez déclaré vos props en tant que mixins dans vos composants en utilisant le helper 'mixin' de `vue-class-componant`, vous devrez les migrer manuellement, les mixins ne sont pas supportés dans la syntaxe native VueJs.
245
+
246
+ <Source dark code={`
247
+ const Props = Vue.extend({
248
+ props: {
249
+ foo: {
250
+ type: Boolean,
251
+ default: false
252
+ }
253
+ }
254
+ });
255
+
256
+ const MixinsDeclaration = mixins(Props);
257
+
258
+ export default defineComponent({
259
+ extends: MixinsDeclaration,
260
+ `}
261
+ />
262
+
263
+ devient :
264
+
265
+ <Source dark code={`
266
+ const Props = defineComponent({
267
+ props: {
268
+ displayInfo: {
269
+ type: Boolean,
270
+ default: false
271
+ }
272
+ }
273
+ });
274
+
275
+ export default defineComponent({
276
+ extends: Props,
277
+ ...
278
+ `}
279
+ />
280
+
281
+ - Implémenter les fonctionnalités qui utilisaient des décorateurs retiré à l'étape 1 en utilisant l'option API, des mixins ou des composables.
282
+
283
+ Par example : la gestion des [tag metas](https://nuxt.com/docs/migration/meta#options-api)
284
+
285
+ <Source dark code={`
286
+ @Meta
287
+ metaInfo(): MetaInfo {
288
+ return {
289
+ title: 'Page title',
290
+ meta: [
291
+ {
292
+ name: 'description',
293
+ vmid: 'description',
294
+ content: 'This is my page description.'
295
+ }
296
+ ]
297
+ };
298
+ }
299
+ `}
300
+ />
301
+
302
+ ## 6 - Migration des composants Vuetify
303
+
304
+ Pour faciliter la migration des composants Vuetify, ce starter kit intègre le plugin [eslint-plugin-vuetify](https://github.com/vuetifyjs/eslint-plugin-vuetify).
305
+ Il permet de faire remonter certains problèmes tels que des props qui n'existent plus ou dont le nom a changé.
306
+ Certains changements peuvent être effectués automatiquement.
307
+
308
+ <Source dark code={`
309
+ pnpm lint:migrate:fix
310
+ `}
311
+ />
312
+
313
+ Voici un aperçu des changements qui seront effectués par le script :
314
+
315
+ <Source dark code={`
316
+ // passage de la syntaxe vue2 a vue3 pour la réactivité :
317
+ - value
318
+ + modelValue
319
+
320
+ - xxx.sync
321
+ + v-model:xxx
322
+
323
+ // Changement de nom de certaines props :
324
+ - outlined
325
+ + variant="outlined"
326
+ - accordion
327
+ + variant="accordion"
328
+ - text
329
+ + variant="text"
330
+ - background-color="xxx"
331
+ + bg-color="xxx"
332
+ - top
333
+ + location="top"
334
+ - large
335
+ + size="large"
336
+ ...
337
+
338
+ // Autres changements concernants les props :
339
+ - validate-on-blur
340
+ + :validate-on="blur"
341
+
342
+ // Changement concernants les events :
343
+ - @change
344
+ + @update:model-value
345
+
346
+ // Changement de nom de certains composants :
347
+ - VExpansionPanelHeader
348
+ + VExpansionPanelTitle
349
+ - VExpansionPanelContent
350
+ + VExpansionPanelText
351
+ - VSimpleCheckbox
352
+ + VCheckboxBtn
353
+ ...
354
+ `}
355
+ />
356
+
357
+ Ces changements seront uniquement effectués sur les composants Vuetify.
358
+
359
+ ## 7 - Migration de la localisation
360
+
361
+ Le plugin `vue-i18n` a été remplacé par [`@nuxtjs/i18n`]( https://v8.i18n.nuxtjs.org/getting-started/basic-usage ).
362
+
363
+ - Mettre à jour le fichier `nuxt.config.ts` pour configurer le plugin `@nuxtjs/i18n`.
364
+
365
+ <Source dark code={`
366
+ modules: [
367
+ '@nuxtjs/i18n',
368
+ ...
369
+ ],
370
+ i18n: {
371
+ vueI18n: './nuxt-i18n.ts'
372
+ },
373
+ `}
374
+ />
375
+
376
+ - Créer un fichier `nuxt-i18n.ts` à la racine du projet, importer les traductions et les configurer.
377
+
378
+ <Source dark code={`
379
+ import translationFR from "@/translations/fr";
380
+
381
+ export default {
382
+ legacy: false,
383
+ locale: 'fr',
384
+ messages : {
385
+ fr: translationFR
386
+ }
387
+ }
388
+ `}
389
+ />
390
+
391
+ - Dans les composants, quand un object est importé avec la fonction `$t`, il faut le remplacer par `$tm`.
392
+
393
+ - Remplacer l'usage du composant `<i18n>` par`<i18n-t>`.
394
+
395
+ <Source dark code={`
396
+ <i18n path="my.path" tag="p">My default text</i18n>
397
+ `}
398
+ />
399
+
400
+ Devient :
401
+
402
+ <Source dark code={`
403
+ <i18n-t keypath="my.path" tag="p">My default text</i18n-t>
404
+ `}
405
+ />
406
+
407
+ plus de détails sur la page de [migration vue-i18n](https://vue-i18n.intlify.dev/guide/migration/breaking.html).
408
+
409
+ ## 8 - Migration des tests unitaires et de composants
410
+
411
+ Les tests unitaires et de composants doivent être mis à jour pour être compatibles avec VueJS 3. Ils utilisent désormais vitest et `@nuxt/test-utils` pour les tests de composants.
412
+
413
+ L'API de Vitest est similaire à celle de Jest, pour faire des mocks il faut désormais utiliser `vi` au lieu de `jest`.
414
+
415
+ Pour l'utilisation de `@nuxt/test-utils`, voir la [documentation](https://nuxt.com/docs/getting-started/testing).
@@ -6,16 +6,12 @@ import {Meta, Source} from '@storybook/addon-docs/blocks';
6
6
 
7
7
  Ce guide décrit comment utiliser le composable `useFieldValidation` pour créer des règles de validation flexibles et personnalisées dans votre projet Vue.js.
8
8
 
9
- ---
10
-
11
9
  ## Introduction
12
10
 
13
11
  Le composable `useFieldValidation` vous permet de définir des règles de validation dynamiques pour différents champs dans vos formulaires. Ce composable est conçu pour être flexible, réutilisable et facilement intégrable avec des bibliothèques comme Vuetify.
14
12
 
15
- ---
16
-
17
13
  ## Structure du composable
18
-
14
+ #
19
15
  ### Type `RuleOptions`
20
16
 
21
17
  <Source dark code={`
@@ -42,8 +38,6 @@ type ValidationResult = {
42
38
  `}
43
39
  />
44
40
 
45
- ---
46
-
47
41
  ## Exemple d'intégration
48
42
 
49
43
  ### Script Vue.js
@@ -92,8 +86,6 @@ const handleSubmit = () => {
92
86
 
93
87
  Vous pouvez retrouver un exemple complet sur le [NirField](/docs/composants-formulaires-nirfield--docs).
94
88
 
95
- ---
96
-
97
89
  ## Fonctionnalités supportées
98
90
 
99
91
  - **Validation requise** (`required`) : Assurez-vous qu'un champ est rempli.
@@ -105,15 +97,11 @@ Vous pouvez retrouver un exemple complet sur le [NirField](/docs/composants-form
105
97
  - **Validation d'email** (`email`) : Assurez-vous que la valeur est une adresse email valide.
106
98
  - **Validation personnalisée** (`custom`) : Implémentez des règles spécifiques via une fonction.
107
99
 
108
- ---
109
-
110
100
  ## Bonnes pratiques
111
101
 
112
102
  - **Centralisation** : Centralisez la logique de validation pour garantir une maintenance facile.
113
103
  - **Accessibilité** : Vérifiez que les messages d'erreur sont clairs et concis pour tous les utilisateurs.
114
104
 
115
- ---
116
-
117
105
  ## Conclusion
118
106
 
119
107
  Avec `useFieldValidation`, vous disposez d'un outil pour gérer les validations de vos formulaires dans Vue.js. Ce composable est idéal pour créer des validations personnalisées et intégrer des champs avec des bibliothèques comme Vuetify.
@@ -0,0 +1,8 @@
1
+ import { Story, Meta } from '@storybook/blocks';
2
+ import * as TemplatesStories from './Templates.stories';
3
+
4
+ <Meta of={TemplatesStories} />
5
+
6
+ <Story of={TemplatesStories.Header} />
7
+
8
+ <Story of={TemplatesStories.TemplatesList} />
@@ -0,0 +1,85 @@
1
+ import { VCard, VCardText, VCardTitle, VRow, VCol, VIcon } from 'vuetify/components'
2
+ import type { StoryObj } from '@storybook/vue3'
3
+
4
+ export default {
5
+ title: 'Templates/Vue d\'ensemble',
6
+ }
7
+
8
+ export const Header: StoryObj = {
9
+ render: () => {
10
+ return {
11
+ template: `
12
+ <div class="mb-8">
13
+ <h1 class="text-h4 font-weight-bold mb-4">Templates</h1>
14
+ <p class="text-body-1">Découvrez notre collection de templates conçus pour accélérer le développement de vos IHM.</p>
15
+ </div>
16
+ `,
17
+ }
18
+ },
19
+ tags: ['!dev'],
20
+ }
21
+
22
+ export const TemplatesList: StoryObj = {
23
+ render: () => {
24
+ return {
25
+ components: { VCard, VCardText, VCardTitle, VRow, VCol, VIcon },
26
+ setup() {
27
+ const templates = [
28
+ {
29
+ title: 'ErrorPage',
30
+ description: 'Utilisé pour afficher une page d\'erreur.',
31
+ link: '/?path=/docs/templates-errorpage--docs',
32
+ img: '/templates/error-page.svg',
33
+ category: 'Page',
34
+ },
35
+ {
36
+ title: 'MaintenancePage',
37
+ description: 'Utilisé pour afficher une page de maintenance.',
38
+ link: '/?path=/docs/templates-maintenancepage--docs',
39
+ img: '/templates/maintenance-page.svg',
40
+ category: 'Page',
41
+ },
42
+ {
43
+ title: 'NotFoundPage',
44
+ description: 'Utilisé pour afficher une page 404.',
45
+ link: '/?path=/docs/templates-notfoundpage--docs',
46
+ img: '/templates/not-found-page.svg',
47
+ category: 'Page',
48
+ },
49
+ ]
50
+
51
+ return {
52
+ templates,
53
+ }
54
+ },
55
+ template: `
56
+ <div>
57
+ <VRow>
58
+ <VCol v-for="template in templates" :key="template.title" cols="12" sm="6" md="4" lg="3">
59
+ <VCard
60
+ :href="template.link"
61
+ color="primary"
62
+ class="h-100 card-hover"
63
+ variant="outlined"
64
+ :ripple="true"
65
+ >
66
+ <img
67
+ :src="template.img"
68
+ :alt="template.title"
69
+ class="w-100"
70
+ />
71
+ <VCardTitle class="d-flex align-center text-h6 font-weight-bold">
72
+ {{ template.title }}
73
+ </VCardTitle>
74
+ <VCardText class="text-black">
75
+ {{ template.description }}
76
+ </VCardText>
77
+ </VCard>
78
+ </VCol>
79
+ </VRow>
80
+ </div>
81
+ `,
82
+ }
83
+ },
84
+ tags: ['!dev'],
85
+ }
@@ -0,0 +1,20 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ type UnknownValue = any
3
+
4
+ /** Deep copy an object or an array without reference */
5
+ export function deepCopy<T = any>(o: UnknownValue): T {
6
+ let copy = o
7
+ let k
8
+
9
+ if (o && typeof o === 'object') {
10
+ copy = Object.prototype.toString.call(o) === '[object Array]' ? [] : {}
11
+
12
+ for (k in o) {
13
+ if (o[k] !== undefined) {
14
+ copy[k] = deepCopy(o[k])
15
+ }
16
+ }
17
+ }
18
+
19
+ return copy
20
+ }
@@ -0,0 +1,58 @@
1
+ import { deepCopy } from '../'
2
+ import { describe, it, expect } from 'vitest'
3
+
4
+ describe('deepCopy', () => {
5
+ it('should copy an object without reference', () => {
6
+ const objToCopy = {
7
+ a: {
8
+ b: 'b',
9
+ },
10
+ }
11
+
12
+ const copiedObj = deepCopy(objToCopy)
13
+
14
+ copiedObj.a.b = 'test'
15
+
16
+ expect(objToCopy.a.b).toBe('b')
17
+ })
18
+
19
+ it('should copy an array without reference', () => {
20
+ const arrayToCopy = [['a']]
21
+
22
+ const copiedArray = deepCopy(arrayToCopy)
23
+
24
+ copiedArray[0][0] = 'test'
25
+
26
+ expect(arrayToCopy[0][0]).toBe('a')
27
+ })
28
+
29
+ it('should copy an array containing falsy values', () => {
30
+ const arrayToCopy = [[false, null, 0]]
31
+
32
+ const copiedArray = deepCopy(arrayToCopy)
33
+
34
+ expect(copiedArray[0][0]).toBe(false)
35
+ expect(copiedArray[0][1]).toBeNull()
36
+ expect(copiedArray[0][2]).toBe(0)
37
+
38
+ copiedArray[0][0] = 'test'
39
+ copiedArray[0][1] = 'test'
40
+ copiedArray[0][2] = 'test'
41
+
42
+ expect(arrayToCopy[0][0]).toBe(false)
43
+ expect(arrayToCopy[0][1]).toBeNull()
44
+ expect(arrayToCopy[0][2]).toBe(0)
45
+ })
46
+
47
+ it('should copy an array containing undefined', () => {
48
+ const arrayToCopy = [[undefined]]
49
+
50
+ const copiedArray = deepCopy(arrayToCopy)
51
+
52
+ expect(copiedArray[0][0]).toBeUndefined()
53
+
54
+ copiedArray[0][0] = 'test'
55
+
56
+ expect(arrayToCopy[0][0]).toBeUndefined()
57
+ })
58
+ })
@@ -0,0 +1,8 @@
1
+ /** From https://emailregex.com/ */
2
+ // eslint-disable-next-line no-control-regex
3
+ export const EMAIL_REGEXP = /^(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/
4
+
5
+ /** Check if an email is valid */
6
+ export function isEmailValid(email: string): boolean {
7
+ return Boolean(EMAIL_REGEXP.exec(email))
8
+ }
@@ -0,0 +1,22 @@
1
+ import { isEmailValid } from '../'
2
+ import { describe, it, expect } from 'vitest'
3
+
4
+ describe('isEmailValid', () => {
5
+ it('returns true if the email is valid', () => {
6
+ const email = 'test@example.com'
7
+
8
+ expect(isEmailValid(email)).toBe(true)
9
+ })
10
+
11
+ it('returns false if the email is not valid', () => {
12
+ const email = 'not-valid@.fr'
13
+
14
+ expect(isEmailValid(email)).toBe(false)
15
+ })
16
+
17
+ it('returns false if the email has £ µ § characters', () => {
18
+ const email = 'not-valid-£µ§@.fr'
19
+
20
+ expect(isEmailValid(email)).toBe(false)
21
+ })
22
+ })