@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,217 +1,313 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import SyTextField from '@/components/Customs/SyTextField/SyTextField.vue'
3
3
  import { VIcon } from 'vuetify/components'
4
- import { ref } from 'vue'
4
+ import { ref, watch } from 'vue'
5
5
  import { mdiAccountBox } from '@mdi/js'
6
+ import { VBtn } from 'vuetify/components'
6
7
 
7
8
  const meta = {
8
9
  title: 'Composants/Formulaires/SyTextField',
9
10
  component: SyTextField,
11
+ decorators: [
12
+ () => ({
13
+ template: '<div style="padding: 20px;"><story/></div>',
14
+ }),
15
+ ],
10
16
  parameters: {
11
17
  layout: 'fullscreen',
12
- controls: { exclude: ['modelValue', 'appendInnerIconColor'] },
18
+ controls: { exclude: ['modelValue', 'appendInnerIconColor', 'errorMessages', 'warningMessages', 'successMessages'] },
19
+ docs: {
20
+ description: {
21
+ component: `SyTextField`,
22
+ },
23
+ },
13
24
  },
14
25
  argTypes: {
15
- modelValue: { control: 'text' },
16
- label: { control: 'text' },
17
- prependIcon: {
26
+ 'modelValue': { control: 'text' },
27
+ 'label': {
28
+ description: 'Texte affiché comme label du champ',
29
+ control: 'text',
30
+ },
31
+ 'prependIcon': {
18
32
  control: 'select',
19
33
  options: ['info', 'success', 'warning', 'error', 'close'],
20
34
  },
21
- appendIcon: {
35
+ 'appendIcon': {
22
36
  control: 'select',
23
37
  options: ['info', 'success', 'warning', 'error', 'close'],
24
38
  },
25
- prependInnerIcon: {
39
+ 'prependInnerIcon': {
26
40
  control: 'select',
27
41
  options: ['info', 'success', 'warning', 'error', 'close'],
28
42
  },
29
- appendInnerIcon: {
43
+ 'appendInnerIcon': {
30
44
  control: 'select',
31
45
  options: ['info', 'success', 'warning', 'error', 'close'],
32
46
  },
33
- variantStyle: {
47
+ 'variantStyle': {
34
48
  control: 'select',
35
49
  options: ['outlined', 'plain', 'underlined', 'filled', 'solo', 'solo-inverted', 'solo-filled'],
36
50
  },
37
- color: {
51
+ 'color': {
38
52
  control: 'select',
39
53
  options: ['primary', 'secondary', 'success', 'error', 'warning'],
40
54
  description: 'Couleur du champ',
41
55
  },
42
- density: {
56
+ 'density': {
43
57
  control: 'select',
44
58
  options: ['default', 'comfortable', 'compact'],
45
59
  description: 'Densité du champ',
46
60
  },
47
- direction: {
48
- control: 'select',
49
- options: ['horizontal', 'vertical'],
50
- description: 'Direction d\'affichage',
61
+ 'customRules': {
62
+ description: 'Règles de validation personnalisées',
63
+ control: 'object',
51
64
  },
52
- type: {
53
- control: 'select',
54
- options: ['text', 'number', 'password', 'email', 'tel', 'url', 'search', 'date', 'time', 'datetime-local'],
55
- description: 'Type d\'input HTML',
65
+ 'customWarningRules': {
66
+ description: 'Règles d\'avertissement personnalisées',
67
+ control: 'object',
56
68
  },
57
- baseColor: {
58
- control: 'color',
59
- description: 'Couleur de base personnalisée',
69
+ 'showSuccessMessages': {
70
+ description: 'Afficher les messages de succès',
71
+ control: 'boolean',
60
72
  },
61
- bgColor: {
62
- control: 'color',
63
- description: 'Couleur de fond personnalisée',
73
+ 'isValidateOnBlur': {
74
+ description: 'Vérifie la validité lors de la perte de focus',
75
+ control: 'boolean',
76
+ default: true,
64
77
  },
65
- width: {
66
- control: 'text',
67
- description: 'Largeur du champ (px, %, vh, etc.)',
78
+ 'isActive': {
79
+ description: 'Force l\'état actif du champ (label flottant et styles visuels)',
80
+ control: 'boolean',
81
+ default: false,
68
82
  },
69
- maxWidth: {
83
+ 'isClearable': {
84
+ description: 'Affiche un bouton pour effacer le contenu du champ',
85
+ control: 'boolean',
86
+ default: false,
87
+ },
88
+ 'prependTooltip': {
89
+ description: 'Si le texte du prepend tooltip est renseigné alors l\'icône du tooltip s\'affiche',
70
90
  control: 'text',
71
- description: 'Largeur maximale (px, %, vh, etc.)',
72
91
  },
73
- minWidth: {
92
+ 'appendTooltip': {
93
+ description: 'Si le texte du append tooltip est renseigné alors l\'icône du tooltip s\'affiche',
74
94
  control: 'text',
75
- description: 'Largeur minimale (px, %, vh, etc.)',
76
95
  },
77
- rounded: {
96
+ 'tooltipLocation': {
97
+ description: 'Position des tooltips',
78
98
  control: 'select',
79
- options: [true, false, 0, 'sm', 'lg', 'xl', 'pill'],
80
- description: 'Style des coins arrondis',
99
+ options: ['top', 'bottom', 'start', 'end'],
100
+ default: 'top',
81
101
  },
82
- required: {
102
+ 'required': {
103
+ description: 'Indique si le champ est obligatoire',
83
104
  control: 'boolean',
84
- description: 'Champ obligatoire',
105
+ default: false,
85
106
  },
86
- isReadOnly: {
107
+ 'displayAsterisk': {
108
+ description: 'Affiche un astérisque à côté du label',
87
109
  control: 'boolean',
88
- description: 'Mode lecture seule',
110
+ default: false,
89
111
  },
90
- isDisabled: {
91
- control: 'boolean',
112
+ 'isDisabled': {
92
113
  description: 'Désactive le champ',
93
- },
94
- isClearable: {
95
114
  control: 'boolean',
96
- description: 'Affiche un bouton pour effacer',
115
+ default: false,
97
116
  },
98
- isTiled: {
117
+ 'isReadOnly': {
118
+ description: 'Rend le champ en lecture seule',
99
119
  control: 'boolean',
100
- description: 'Style tuile',
120
+ default: false,
101
121
  },
102
- isFlat: {
103
- control: 'boolean',
104
- description: 'Sans élévation',
122
+ 'baseColor': {
123
+ description: 'Couleur de base du champ (par défaut hérite de color)',
124
+ control: 'text',
105
125
  },
106
- isActive: {
107
- control: 'boolean',
108
- description: 'Force l\'état actif',
126
+ 'bgColor': {
127
+ description: 'Couleur de fond du champ',
128
+ control: 'text',
109
129
  },
110
- isFocused: {
130
+ 'centerAffix': {
131
+ description: 'Centre verticalement les éléments ajoutés avant/après le champ',
111
132
  control: 'boolean',
112
- description: 'Force l\'état focus',
113
133
  },
114
- isDirty: {
134
+ 'counter': {
135
+ description: 'Affiche un compteur de caractères',
115
136
  control: 'boolean',
116
- description: 'Indique si modifié',
117
137
  },
118
- isOnError: {
119
- control: 'boolean',
120
- description: 'Force l\'état erreur',
138
+ 'counterValue': {
139
+ description: 'Fonction personnalisée pour calculer la valeur du compteur',
140
+ control: 'object',
121
141
  },
122
- displayAsterisk: {
142
+ 'direction': {
143
+ description: 'Direction du champ (horizontal ou vertical)',
144
+ control: 'select',
145
+ options: ['horizontal', 'vertical'],
146
+ },
147
+ 'isDirty': {
148
+ description: 'Indique si le champ a été modifié',
123
149
  control: 'boolean',
124
- description: 'Affiche l\'astérisque requis',
125
150
  },
126
- displayPersistentClear: {
151
+ 'isFlat': {
152
+ description: 'Supprime l\'élévation du champ',
127
153
  control: 'boolean',
128
- description: 'Bouton effacer toujours visible',
129
154
  },
130
- displayPersistentCounter: {
155
+ 'isFocused': {
156
+ description: 'Force l\'état focus du champ',
131
157
  control: 'boolean',
132
- description: 'Compteur toujours visible',
133
158
  },
134
- displayPersistentHint: {
159
+ 'areDetailsHidden': {
160
+ description: 'Masque la section des détails (messages d\'erreur, compteur)',
135
161
  control: 'boolean',
136
- description: 'Aide toujours visible',
137
162
  },
138
- displayPersistentPlaceholder: {
163
+ 'areSpinButtonsHidden': {
164
+ description: 'Masque les boutons d\'incrémentation pour les champs numériques',
139
165
  control: 'boolean',
140
- description: 'Placeholder toujours visible',
141
166
  },
142
- areDetailsHidden: {
143
- control: 'select',
144
- options: [true, false, 'auto'],
145
- description: 'Masque les détails',
167
+ 'hint': {
168
+ description: 'Texte d\'aide affiché sous le champ',
169
+ control: 'text',
146
170
  },
147
- areSpinButtonsHidden: {
171
+ 'loading': {
172
+ description: 'Affiche un indicateur de chargement',
148
173
  control: 'boolean',
149
- description: 'Masque les boutons number',
150
174
  },
151
- noIcon: {
152
- control: 'boolean',
153
- description: 'Masque toutes les icônes',
175
+ 'maxErrors': {
176
+ description: 'Nombre maximum de messages d\'erreur à afficher',
177
+ control: { type: 'text' },
154
178
  },
155
- centerAffix: {
156
- control: 'boolean',
157
- description: 'Centre les affixes',
179
+ 'maxWidth': {
180
+ description: 'Largeur maximale du champ',
181
+ control: { type: 'text' },
158
182
  },
159
- counter: {
160
- control: 'select',
161
- options: [true, false, 'words', 'characters'],
162
- description: 'Type de compteur',
183
+ 'minWidth': {
184
+ description: 'Largeur minimale du champ',
185
+ control: { type: 'text' },
163
186
  },
164
- counterValue: {
165
- control: 'number',
166
- description: 'Valeur du compteur',
187
+ 'name': {
188
+ description: 'Nom du champ pour les formulaires',
189
+ control: 'text',
167
190
  },
168
- maxErrors: {
169
- control: 'number',
170
- description: 'Nombre max d\'erreurs',
191
+ 'displayPersistentClear': {
192
+ description: 'Affiche toujours le bouton de réinitialisation',
193
+ control: 'boolean',
194
+ default: false,
171
195
  },
172
- errorMessages: {
173
- control: 'object',
174
- description: 'Messages d\'erreur',
196
+ 'displayPersistentCounter': {
197
+ description: 'Affiche toujours le compteur',
198
+ control: 'boolean',
199
+ default: false,
175
200
  },
176
- messages: {
177
- control: 'object',
178
- description: 'Messages additionnels',
201
+ 'displayPersistentHint': {
202
+ description: 'Affiche toujours le texte d\'aide',
203
+ control: 'boolean',
204
+ default: false,
179
205
  },
180
- hint: {
181
- control: 'text',
182
- description: 'Message d\'aide',
206
+ 'displayPersistentPlaceholder': {
207
+ description: 'Garde le placeholder visible même avec une valeur',
208
+ control: 'boolean',
209
+ default: false,
183
210
  },
184
- placeholder: {
211
+ 'placeholder': {
212
+ description: 'Texte affiché quand le champ est vide',
185
213
  control: 'text',
186
- description: 'Texte indicatif',
187
214
  },
188
- prefix: {
215
+ 'prefix': {
216
+ description: 'Texte affiché avant la valeur: prefix="€" : affichera "€" avant la valeur saisie',
189
217
  control: 'text',
190
- description: 'Texte avant la valeur',
191
218
  },
192
- suffix: {
193
- control: 'text',
194
- description: 'Texte après la valeur',
219
+ 'isReversed': {
220
+ description: 'Inverse l\'ordre des éléments',
221
+ control: 'boolean',
222
+ default: false,
195
223
  },
196
- id: {
224
+ 'role': {
225
+ description: 'Rôle ARIA du champ',
197
226
  control: 'text',
198
- description: 'ID HTML',
199
227
  },
200
- name: {
201
- control: 'text',
202
- description: 'Nom du champ',
228
+ 'rounded': {
229
+ description: 'Arrondit les coins du champ',
230
+ control: { type: 'text' },
203
231
  },
204
- role: {
232
+ 'isOnSingleLine': {
233
+ description: 'Force l\'affichage sur une seule ligne',
234
+ control: 'boolean',
235
+ default: false,
236
+ },
237
+ 'suffix': {
238
+ description: 'Texte affiché après la valeur',
205
239
  control: 'text',
206
- description: 'Rôle ARIA',
207
240
  },
208
- theme: {
241
+ 'theme': {
242
+ description: 'Thème à appliquer au champ',
209
243
  control: 'text',
210
- description: 'Thème personnalisé',
211
244
  },
212
- loading: {
245
+ 'isTiled': {
246
+ description: 'Applique un style tuile',
213
247
  control: 'boolean',
214
- description: 'État de chargement',
248
+ default: false,
249
+ },
250
+ 'type': {
251
+ description: 'Type du champ de saisie',
252
+ control: 'select',
253
+ options: ['text', 'number', 'password', 'email', 'tel', 'url', 'search'],
254
+ default: 'text',
255
+ },
256
+ 'width': {
257
+ description: 'Largeur du champ',
258
+ control: { type: 'text' },
259
+ },
260
+ 'validation': {
261
+ description: 'Valide le champ avec la valeur donnée',
262
+ type: '(value: string | number | null) => void',
263
+ },
264
+ 'validateOnSubmit': {
265
+ description: 'Valide le champ lors de la soumission du formulaire',
266
+ type: '() => void',
267
+ },
268
+ 'checkErrorOnBlur': {
269
+ description: 'Vérifie les erreurs lors de la perte de focus',
270
+ type: '() => void',
271
+ },
272
+ 'append': {
273
+ description: 'Slot pour ajouter du contenu à droite du champ',
274
+ control: false,
275
+ table: {
276
+ type: { summary: 'VNode' },
277
+ category: 'slots',
278
+ },
279
+ },
280
+ 'prepend': {
281
+ description: 'Slot pour ajouter du contenu à gauche du champ',
282
+ control: false,
283
+ table: {
284
+ type: { summary: 'VNode' },
285
+ category: 'slots',
286
+ },
287
+ },
288
+ 'append-inner': {
289
+ description: 'Slot pour ajouter du contenu à droite dans le champ',
290
+ control: false,
291
+ table: {
292
+ type: { summary: 'VNode' },
293
+ category: 'slots',
294
+ },
295
+ },
296
+ 'prepend-inner': {
297
+ description: 'Slot pour ajouter du contenu à gauche dans le champ',
298
+ control: false,
299
+ table: {
300
+ type: { summary: 'VNode' },
301
+ category: 'slots',
302
+ },
303
+ },
304
+ 'details': {
305
+ description: 'Slot pour personnaliser la section des détails (messages d\'erreur, compteur)',
306
+ control: false,
307
+ table: {
308
+ type: { summary: 'VNode' },
309
+ category: 'slots',
310
+ },
215
311
  },
216
312
  },
217
313
  } as Meta<typeof SyTextField>
@@ -252,11 +348,14 @@ export const Default: Story = {
252
348
  return {
253
349
  components: { SyTextField, VIcon },
254
350
  setup() {
255
- const value = ref('')
351
+ const value = ref(args.modelValue)
352
+ watch(() => args.modelValue, (newValue) => {
353
+ value.value = newValue
354
+ })
256
355
  return { args, value }
257
356
  },
258
357
  template: `
259
- <div class="d-flex flex-wrap align-center pa-4">
358
+ <div class="d-flex flex-wrap align-center">
260
359
  <SyTextField v-bind="args" v-model="value" />
261
360
  </div>
262
361
  `,
@@ -265,116 +364,83 @@ export const Default: Story = {
265
364
  }
266
365
 
267
366
  export const Required: Story = {
367
+ args: {
368
+ ...Default.args,
369
+ required: true,
370
+ },
268
371
  parameters: {
372
+ docs: {
373
+ description: {
374
+ story: `
375
+ ### Champ requis sans astérisque
376
+
377
+ Cette story montre un champ requis sans astérisque.
378
+ Pour afficher l'astérisque sur un champ requis, il faut activer la prop \`displayAsterisk\`.`,
379
+ },
380
+ },
269
381
  sourceCode: [
270
382
  {
271
383
  name: 'Template',
272
- code: `
273
- <template>
274
- <SyTextField
275
- v-model="value"
276
- required
277
- />
278
- </template>
279
- `,
384
+ code: `<template>
385
+ <SyTextField
386
+ v-model="value"
387
+ required
388
+ label="Champ requis sans astérisque"
389
+ />
390
+ </template>`,
280
391
  },
281
392
  {
282
393
  name: 'Script',
283
- code: `
284
- <script setup lang="ts">
285
- import { SyTextField } from '@cnamts/synapse'
286
- </script>
287
- `,
394
+ code: `<script setup lang="ts">
395
+ import { SyTextField } from '@cnamts/synapse'
396
+ import { ref } from 'vue'
397
+
398
+ const value = ref('')
399
+ </script>`,
288
400
  },
289
401
  ],
290
402
  },
403
+ }
404
+
405
+ export const RequiredWithAsterisk: Story = {
291
406
  args: {
292
- showDivider: false,
293
- variantStyle: 'outlined',
294
- color: 'primary',
295
- isClearable: true,
296
- label: 'Label',
407
+ ...Default.args,
297
408
  required: true,
298
- modelValue: '',
299
- },
300
- render: (args) => {
301
- return {
302
- components: { SyTextField, VIcon },
303
- setup() {
304
- return { args }
305
- },
306
- template: `
307
- <div class="d-flex flex-wrap align-center pa-4">
308
- <SyTextField v-bind="args" />
309
- </div>
310
- `,
311
- }
409
+ displayAsterisk: true,
312
410
  },
313
- }
314
-
315
- export const WithCustomError: Story = {
316
411
  parameters: {
412
+ docs: {
413
+ description: {
414
+ story: `
415
+ ### Champ requis avec astérisque
416
+
417
+ Cette story montre un champ requis avec astérisque.
418
+ L'astérisque ne peut être affiché que sur un champ requis, en activant la prop \`displayAsterisk\`.`,
419
+ },
420
+ },
317
421
  sourceCode: [
318
422
  {
319
423
  name: 'Template',
320
- code: `
321
- <template>
322
- <SyTextField
323
- v-model="value"
324
- :error-messages="errorMessages"
325
- />
326
- <VBtn @click="triggerError">
327
- Trigger Error
328
- </VBtn>
329
- </template>
330
- `,
424
+ code: `<template>
425
+ <SyTextField
426
+ v-model="value"
427
+ required
428
+ display-asterisk
429
+ label="Champ requis avec astérisque"
430
+ />
431
+ </template>`,
331
432
  },
332
433
  {
333
434
  name: 'Script',
334
- code: `
335
- <script setup lang="ts">
336
- import { SyTextField } from '@cnamts/synapse'
337
-
338
- const errorMessages = ref([])
339
-
340
- const triggerError = () => {
341
- errorMessages.value = ['This is a test error message']
342
- }
343
- </script>
344
- `,
435
+ code: `<script setup lang="ts">
436
+ import { SyTextField } from '@cnamts/synapse'
437
+ import { ref } from 'vue'
438
+
439
+ const value = ref('')
440
+ </script>`,
345
441
  },
346
442
  ],
347
443
  },
348
- args: {
349
- showDivider: false,
350
- variantStyle: 'outlined',
351
- color: 'primary',
352
- isClearable: true,
353
- label: 'Label',
354
- required: false,
355
- modelValue: '',
356
- },
357
- render: (args) => {
358
- return {
359
- components: { SyTextField, VIcon },
360
- setup() {
361
- const errorMessages = ref([])
362
- const triggerError = () => {
363
- // @ts-expect-error test error message
364
- errorMessages.value = ['This is a test error message']
365
- }
366
- return { args, errorMessages, triggerError }
367
- },
368
- template: `
369
- <div class="d-flex flex-wrap align-center pa-4">
370
- <SyTextField v-bind="args" :error-messages="errorMessages" />
371
- </div>
372
- <VBtn class="ml-8" @click="triggerError">
373
- Trigger Error
374
- </VBtn>
375
- `,
376
- }
377
- },
378
444
  }
379
445
 
380
446
  export const SlotPrepend: Story = {
@@ -414,15 +480,15 @@ export const SlotPrepend: Story = {
414
480
  return {
415
481
  components: { SyTextField, VIcon },
416
482
  setup() {
417
- return { args }
483
+ const value = ref(args.modelValue)
484
+ watch(() => args.modelValue, (newValue) => {
485
+ value.value = newValue
486
+ })
487
+ return { args, value }
418
488
  },
419
489
  template: `
420
- <div class="d-flex flex-wrap align-center pa-4">
421
- <SyTextField
422
- v-bind="args"
423
- :label="args.label"
424
- :prepend-icon="args.prependIcon"
425
- />
490
+ <div class="d-flex flex-wrap align-center">
491
+ <SyTextField v-bind="args" v-model="value" />
426
492
  </div>
427
493
  `,
428
494
  }
@@ -466,14 +532,15 @@ export const SlotAppend: Story = {
466
532
  return {
467
533
  components: { SyTextField, VIcon },
468
534
  setup() {
469
- return { args }
535
+ const value = ref(args.modelValue)
536
+ watch(() => args.modelValue, (newValue) => {
537
+ value.value = newValue
538
+ })
539
+ return { args, value }
470
540
  },
471
541
  template: `
472
- <div class="d-flex flex-wrap align-center pa-4">
473
- <SyTextField
474
- v-bind="args"
475
- :append-icon="args.appendIcon"
476
- />
542
+ <div class="d-flex flex-wrap align-center">
543
+ <SyTextField v-bind="args" v-model="value" />
477
544
  </div>
478
545
  `,
479
546
  }
@@ -517,14 +584,15 @@ export const SlotPrependInner: Story = {
517
584
  return {
518
585
  components: { SyTextField, VIcon },
519
586
  setup() {
520
- return { args }
587
+ const value = ref(args.modelValue)
588
+ watch(() => args.modelValue, (newValue) => {
589
+ value.value = newValue
590
+ })
591
+ return { args, value }
521
592
  },
522
593
  template: `
523
- <div class="d-flex flex-wrap align-center pa-4">
524
- <SyTextField
525
- v-bind="args"
526
- :prepend-inner-icon="args.prependInnerIcon"
527
- />
594
+ <div class="d-flex flex-wrap align-center">
595
+ <SyTextField v-bind="args" v-model="value" />
528
596
  </div>
529
597
  `,
530
598
  }
@@ -569,15 +637,15 @@ export const SlotPrependInnerDivider: Story = {
569
637
  return {
570
638
  components: { SyTextField, VIcon },
571
639
  setup() {
572
- return { args }
640
+ const value = ref(args.modelValue)
641
+ watch(() => args.modelValue, (newValue) => {
642
+ value.value = newValue
643
+ })
644
+ return { args, value }
573
645
  },
574
646
  template: `
575
- <div class="d-flex flex-wrap align-center pa-4">
576
- <SyTextField
577
- v-bind="args"
578
- :prepend-inner-icon="args.prependInnerIcon"
579
- :show-divider="args.showDivider"
580
- />
647
+ <div class="d-flex flex-wrap align-center">
648
+ <SyTextField v-bind="args" v-model="value" />
581
649
  </div>
582
650
  `,
583
651
  }
@@ -621,14 +689,15 @@ export const SlotAppendInner: Story = {
621
689
  return {
622
690
  components: { SyTextField, VIcon },
623
691
  setup() {
624
- return { args }
692
+ const value = ref(args.modelValue)
693
+ watch(() => args.modelValue, (newValue) => {
694
+ value.value = newValue
695
+ })
696
+ return { args, value }
625
697
  },
626
698
  template: `
627
- <div class="d-flex flex-wrap align-center pa-4">
628
- <SyTextField
629
- v-bind="args"
630
- :append-inner-icon="args.appendInnerIcon"
631
- />
699
+ <div class="d-flex flex-wrap align-center">
700
+ <SyTextField v-bind="args" v-model="value" />
632
701
  </div>
633
702
  `,
634
703
  }
@@ -677,15 +746,17 @@ export const SlotCustomIcon: Story = {
677
746
  return {
678
747
  components: { SyTextField, VIcon },
679
748
  setup() {
749
+ const value = ref(args.modelValue)
750
+ watch(() => args.modelValue, (newValue) => {
751
+ value.value = newValue
752
+ })
680
753
  const iconName = ref(mdiAccountBox)
681
754
 
682
- return { args, iconName }
755
+ return { args, value, iconName }
683
756
  },
684
757
  template: `
685
- <div class="d-flex flex-wrap align-center pa-4">
686
- <SyTextField
687
- v-bind="args"
688
- >
758
+ <div class="d-flex flex-wrap align-center">
759
+ <SyTextField v-bind="args" v-model="value">
689
760
  <template #append-inner>
690
761
  <VIcon>
691
762
  {{ iconName }}
@@ -697,3 +768,594 @@ export const SlotCustomIcon: Story = {
697
768
  }
698
769
  },
699
770
  }
771
+
772
+ export const ValidationRules: Story = {
773
+ parameters: {
774
+ docs: {
775
+ description: {
776
+ story: `
777
+ ### Validation avec règles standard
778
+
779
+ Cette story montre l'utilisation des règles de validation standard. Le champ :
780
+ - Est requis
781
+ - Doit contenir au moins 3 caractères
782
+ - Affiche un message de succès quand valide
783
+ `,
784
+ },
785
+ },
786
+ sourceCode: [
787
+ {
788
+ name: 'Template',
789
+ code: `<SyTextField
790
+ v-model="value"
791
+ label="Champ avec validation"
792
+ :customRules="[
793
+ {
794
+ type: 'minLength',
795
+ options: {
796
+ length: 3,
797
+ message: 'Le champ doit contenir au moins 3 caractères'
798
+ }
799
+ }
800
+ ]"
801
+ showSuccessMessages
802
+ />`,
803
+ },
804
+ ],
805
+ },
806
+ render: args => ({
807
+ components: { SyTextField },
808
+ setup() {
809
+ const value = ref('')
810
+ return { args, value }
811
+ },
812
+ template: `
813
+ <SyTextField
814
+ v-model="value"
815
+ v-bind="args"
816
+ label="Champ avec validation"
817
+ :customRules="[
818
+ {
819
+ type: 'minLength',
820
+ options: {
821
+ length: 3,
822
+ message: 'Le champ doit contenir au moins 3 caractères'
823
+ }
824
+ }
825
+ ]"
826
+ showSuccessMessages
827
+ />
828
+ `,
829
+ }),
830
+ }
831
+
832
+ export const ValidationWithWarnings: Story = {
833
+ parameters: {
834
+ docs: {
835
+ description: {
836
+ story: `
837
+ ### Validation avec avertissements
838
+
839
+ Cette story montre l'utilisation combinée des règles standard et d'avertissement. Le champ :
840
+ - Est requis (règle standard)
841
+ - Affiche un avertissement si le texte dépasse 10 caractères
842
+ - Les avertissements sont affichés en orange et n'empêchent pas la validation
843
+ `,
844
+ },
845
+ },
846
+ sourceCode: [
847
+ {
848
+ name: 'Template',
849
+ code: `<SyTextField
850
+ v-model="value"
851
+ label="Champ avec avertissements"
852
+ required
853
+ :customWarningRules="[
854
+ {
855
+ type: 'minLength',
856
+ options: {
857
+ length: 10,
858
+ message: 'Le texte doit comporter plus de 10 caracteres'
859
+ }
860
+ }
861
+ ]"
862
+ showSuccessMessages
863
+ />`,
864
+ },
865
+ ],
866
+ },
867
+ render: args => ({
868
+ components: { SyTextField },
869
+ setup() {
870
+ const value = ref('')
871
+ return { args, value }
872
+ },
873
+ template: `
874
+ <SyTextField
875
+ v-model="value"
876
+ v-bind="args"
877
+ label="avec avertissements"
878
+ required
879
+ :customWarningRules="[
880
+ {
881
+ type: 'minLength',
882
+ options: {
883
+ length: 10,
884
+ message: 'Le texte doit comporter plus de 10 caracteres'
885
+ }
886
+ }
887
+ ]"
888
+ showSuccessMessages
889
+ />
890
+ `,
891
+ }),
892
+ }
893
+
894
+ export const EmailValidation: Story = {
895
+ parameters: {
896
+ docs: {
897
+ description: {
898
+ story: `
899
+ ### Validation d'email
900
+
901
+ Cette story montre un cas d'usage courant : la validation d'une adresse email. Le champ :
902
+ - Est requis
903
+ - Vérifie le format de l'email
904
+ - Affiche un message de succès quand l'email est valide
905
+ `,
906
+ },
907
+ },
908
+ sourceCode: [
909
+ {
910
+ name: 'Template',
911
+ code: `<SyTextField
912
+ v-model="value"
913
+ label="Email"
914
+ required
915
+ :customRules="[
916
+ {
917
+ type: 'email',
918
+ options: {
919
+ message: 'L'email n'est pas valide',
920
+ successMessage: 'L'email est valide'
921
+ }
922
+ }
923
+ ]"
924
+ showSuccessMessages
925
+ />`,
926
+ },
927
+ ],
928
+ },
929
+ render: args => ({
930
+ components: { SyTextField },
931
+ setup() {
932
+ const value = ref('')
933
+ return { args, value }
934
+ },
935
+ template: `
936
+ <SyTextField
937
+ v-model="value"
938
+ v-bind="args"
939
+ label="Email"
940
+ required
941
+ :customRules="[
942
+ {
943
+ type: 'email',
944
+ options: {
945
+ message: 'L\\'email n\\'est pas valide',
946
+ successMessage: 'L\\'email est valide'
947
+ }
948
+ }
949
+ ]"
950
+ showSuccessMessages
951
+ />
952
+ `,
953
+ }),
954
+ }
955
+
956
+ export const PatternValidation: Story = {
957
+ parameters: {
958
+ docs: {
959
+ description: {
960
+ story: `
961
+ ### Validation par expression régulière
962
+
963
+ Cette story montre l'utilisation de la règle \`matchPattern\` pour valider un format spécifique. Ici, un code postal français :
964
+ - Doit contenir exactement 5 chiffres
965
+ - Utilise une expression régulière pour la validation
966
+ - Affiche des messages personnalisés
967
+ `,
968
+ },
969
+ },
970
+ sourceCode: [
971
+ {
972
+ name: 'Template',
973
+ code: `<SyTextField
974
+ v-model="value"
975
+ label="Code postal"
976
+ required
977
+ :customRules="[
978
+ {
979
+ type: 'matchPattern',
980
+ options: {
981
+ pattern: /^\\d{5}$/,
982
+ message: 'Le code postal doit contenir exactement 5 chiffres',
983
+ successMessage: 'Le format du code postal est valide'
984
+ }
985
+ }
986
+ ]"
987
+ showSuccessMessages
988
+ />`,
989
+ },
990
+ ],
991
+ },
992
+ render: args => ({
993
+ components: { SyTextField },
994
+ setup() {
995
+ const value = ref('')
996
+ return { args, value }
997
+ },
998
+ template: `
999
+ <SyTextField
1000
+ v-model="value"
1001
+ v-bind="args"
1002
+ label="Code postal"
1003
+ required
1004
+ :customRules="[
1005
+ {
1006
+ type: 'matchPattern',
1007
+ options: {
1008
+ pattern: /^\\d{5}$/,
1009
+ message: 'Le code postal doit contenir exactement 5 chiffres',
1010
+ successMessage: 'Le format du code postal est valide'
1011
+ }
1012
+ }
1013
+ ]"
1014
+ showSuccessMessages
1015
+ />
1016
+ `,
1017
+ }),
1018
+ }
1019
+
1020
+ export const WithTooltips: Story = {
1021
+ args: {
1022
+ modelValue: '',
1023
+ label: 'Champ avec tooltips',
1024
+ prependTooltip: 'Information à gauche du champ',
1025
+ appendTooltip: 'Information à droite du champ',
1026
+ tooltipLocation: 'top',
1027
+ },
1028
+ render: args => ({
1029
+ components: { SyTextField },
1030
+ setup() {
1031
+ const value = ref(args.modelValue)
1032
+ return { args, value }
1033
+ },
1034
+ template: `
1035
+ <div>
1036
+ <p class="mb-4">
1037
+ Des icônes d'information avec tooltips sont affichées de chaque côté du champ.
1038
+ Survolez-les pour voir les messages d'aide qui apparaissent en haut grâce à la prop tooltipLocation="top".
1039
+ </p>
1040
+ <SyTextField
1041
+ v-model="value"
1042
+ v-bind="args"
1043
+ />
1044
+ </div>
1045
+ `,
1046
+ }),
1047
+ parameters: {
1048
+ docs: {
1049
+ description: {
1050
+ story: 'Exemple de champ avec des tooltips d\'information. Les icônes d\'information apparaissent automatiquement lorsque les props prependTooltip et/ou appendTooltip sont renseignées. La position des tooltips peut être contrôlée avec la prop tooltipLocation.',
1051
+ },
1052
+ },
1053
+ sourceCode: [
1054
+ {
1055
+ name: 'Template',
1056
+ code: `
1057
+ <template>
1058
+ <SyTextField
1059
+ v-model="value"
1060
+ label="Champ avec tooltips"
1061
+ prependTooltip="Information à gauche du champ"
1062
+ appendTooltip="Information à droite du champ"
1063
+ tooltipLocation="top"
1064
+ />
1065
+ </template>
1066
+ `,
1067
+ },
1068
+ ],
1069
+ },
1070
+ }
1071
+
1072
+ /**
1073
+ * Story avec validation désactivée au blur
1074
+ */
1075
+ export const ValidateOnBlur: Story = {
1076
+ args: {
1077
+ modelValue: '',
1078
+ label: 'Champ texte',
1079
+ required: true,
1080
+ isValidateOnBlur: true,
1081
+ customRules: [
1082
+ {
1083
+ type: 'custom',
1084
+ options: {
1085
+ message: 'Le champ doit contenir au moins 3 caractères',
1086
+ validate: (value: string) => value.length >= 3,
1087
+ },
1088
+ },
1089
+ ],
1090
+ },
1091
+ render: args => ({
1092
+ components: { SyTextField, VBtn },
1093
+ setup() {
1094
+ const value = ref(args.modelValue)
1095
+ const fieldRef = ref()
1096
+
1097
+ function handleSubmit() {
1098
+ const isValid = fieldRef.value?.validateOnSubmit()
1099
+ alert(isValid ? 'Formulaire valide !' : 'Formulaire invalide, veuillez corriger les erreurs.')
1100
+ }
1101
+
1102
+ return { args, value, fieldRef, handleSubmit }
1103
+ },
1104
+ template: `
1105
+ <form @submit.prevent="handleSubmit">
1106
+ <p class="mb-4">
1107
+ La validation ne se déclenche qu'à la perte de focus ou à la soumission du formulaire.
1108
+ </p>
1109
+ <SyTextField
1110
+ ref="fieldRef"
1111
+ v-model="value"
1112
+ v-bind="args"
1113
+ @update:model-value="args.modelValue = $event"
1114
+ />
1115
+ <div class="mt-4">
1116
+ <VBtn type="submit" color="primary">
1117
+ Valider
1118
+ </VBtn>
1119
+ </div>
1120
+ </form>
1121
+ `,
1122
+ }),
1123
+ parameters: {
1124
+ docs: {
1125
+ description: {
1126
+ story: 'Exemple de champ avec validation désactivée au blur. La validation ne se déclenche que lors de la soumission du formulaire.',
1127
+ },
1128
+ },
1129
+ sourceCode: [
1130
+ {
1131
+ name: 'Template',
1132
+ code: `
1133
+ <template>
1134
+ <form @submit.prevent="handleSubmit">
1135
+ <SyTextField
1136
+ ref="fieldRef"
1137
+ v-model="value"
1138
+ label="Champ texte"
1139
+ required
1140
+ :is-validate-on-blur="true"
1141
+ :custom-rules="[
1142
+ {
1143
+ type: 'custom',
1144
+ options: {
1145
+ message: 'Le champ doit contenir au moins 3 caractères',
1146
+ validate: value => value.length >= 3
1147
+ }
1148
+ }
1149
+ ]"
1150
+ />
1151
+ <button type="submit">
1152
+ Valider
1153
+ </button>
1154
+ </form>
1155
+ </template>
1156
+ `,
1157
+ },
1158
+ {
1159
+ name: 'Script',
1160
+ code: `
1161
+ <script setup lang="ts">
1162
+ import { ref } from 'vue'
1163
+ import { SyTextField } from '@cnamts/synapse'
1164
+
1165
+ const value = ref('')
1166
+ const fieldRef = ref()
1167
+
1168
+ function handleSubmit() {
1169
+ const isValid = fieldRef.value?.validateOnSubmit()
1170
+ if (!isValid) {
1171
+ // Gérer l'erreur
1172
+ return
1173
+ }
1174
+ // Continuer avec la soumission
1175
+ }
1176
+ </script>
1177
+ `,
1178
+ },
1179
+ ],
1180
+ },
1181
+ }
1182
+
1183
+ export const FormValidation: Story = {
1184
+ render: args => ({
1185
+ components: { SyTextField },
1186
+ setup() {
1187
+ const nomField = ref()
1188
+ const prenomField = ref()
1189
+ const ageField = ref()
1190
+ const nomValue = ref('')
1191
+ const prenomValue = ref('')
1192
+ const ageValue = ref('')
1193
+
1194
+ // Règle minLength pour le prénom
1195
+ const prenomRules = [{
1196
+ type: 'minLength',
1197
+ options: {
1198
+ length: 3,
1199
+ message: 'Le prénom doit contenir au moins 3 caractères',
1200
+ successMessage: 'Le prénom est valide',
1201
+ fieldIdentifier: 'prénom',
1202
+ },
1203
+ }]
1204
+
1205
+ // Règle pattern pour l'âge (uniquement des chiffres)
1206
+ const ageRules = [{
1207
+ type: 'matchPattern',
1208
+ options: {
1209
+ pattern: /^\d+$/,
1210
+ message: 'L\'âge doit contenir uniquement des chiffres',
1211
+ successMessage: 'L\'âge est valide',
1212
+ fieldIdentifier: 'âge',
1213
+ },
1214
+ }]
1215
+
1216
+ const handleSubmit = () => {
1217
+ const fields = [
1218
+ { ref: nomField, name: 'Nom' },
1219
+ { ref: prenomField, name: 'Prénom' },
1220
+ { ref: ageField, name: 'Âge' },
1221
+ ]
1222
+
1223
+ const invalidFields = fields
1224
+ .filter(({ ref }) => !ref.value?.validateOnSubmit())
1225
+ .map(({ name }) => name)
1226
+
1227
+ if (invalidFields.length > 0) {
1228
+ alert(`Les champs suivants sont invalides :\n${invalidFields.join('\n')}`)
1229
+ }
1230
+ else {
1231
+ alert('Formulaire soumis avec succès !')
1232
+ }
1233
+ }
1234
+
1235
+ return {
1236
+ args,
1237
+ nomField,
1238
+ prenomField,
1239
+ ageField,
1240
+ nomValue,
1241
+ prenomValue,
1242
+ ageValue,
1243
+ prenomRules,
1244
+ ageRules,
1245
+ handleSubmit,
1246
+ }
1247
+ },
1248
+ template: `
1249
+ <div style="max-width: 500px;">
1250
+ <h3>Validation de formulaire</h3>
1251
+ <form @submit.prevent="handleSubmit">
1252
+ <div class="mb-4">
1253
+ <SyTextField
1254
+ ref="nomField"
1255
+ v-model="nomValue"
1256
+ label="Nom"
1257
+ placeholder="Votre nom"
1258
+ required
1259
+ show-success-messages
1260
+ class="mb-4"
1261
+ />
1262
+
1263
+ <SyTextField
1264
+ ref="prenomField"
1265
+ v-model="prenomValue"
1266
+ label="Prénom"
1267
+ placeholder="Votre prénom"
1268
+ :custom-rules="prenomRules"
1269
+ show-success-messages
1270
+ class="mb-4"
1271
+ />
1272
+
1273
+ <SyTextField
1274
+ ref="ageField"
1275
+ v-model="ageValue"
1276
+ label="Âge"
1277
+ placeholder="Votre âge"
1278
+ :custom-rules="ageRules"
1279
+ show-success-messages
1280
+ class="mb-4"
1281
+ />
1282
+ </div>
1283
+
1284
+ <div class="text-caption mb-4">
1285
+ <strong>Règles de validation :</strong>
1286
+ <ul>
1287
+ <li>Nom : Champ requis</li>
1288
+ <li>Prénom : Minimum 3 caractères</li>
1289
+ <li>Âge : Uniquement des chiffres</li>
1290
+ </ul>
1291
+ </div>
1292
+
1293
+ <button
1294
+ type="submit"
1295
+ style="
1296
+ background-color: #1976d2;
1297
+ color: white;
1298
+ padding: 8px 16px;
1299
+ border: none;
1300
+ border-radius: 4px;
1301
+ cursor: pointer;
1302
+ font-size: 1rem;
1303
+ "
1304
+ >
1305
+ Soumettre
1306
+ </button>
1307
+ </form>
1308
+ </div>
1309
+ `,
1310
+ }),
1311
+ }
1312
+
1313
+ export const WithPrefixAndSuffix: Story = {
1314
+ args: {
1315
+ modelValue: '42',
1316
+ label: 'Montant',
1317
+ prefix: '€',
1318
+ suffix: 'TTC',
1319
+ },
1320
+ render: args => ({
1321
+ components: { SyTextField },
1322
+ setup() {
1323
+ const value = ref(args.modelValue)
1324
+ return { args, value }
1325
+ },
1326
+ template: `
1327
+ <div>
1328
+ <p class="mb-4">
1329
+ Utilisation des props prefix et suffix pour ajouter des unités ou des informations complémentaires
1330
+ directement dans le champ.
1331
+ </p>
1332
+ <SyTextField
1333
+ v-model="value"
1334
+ v-bind="args"
1335
+ />
1336
+ </div>
1337
+ `,
1338
+ }),
1339
+ parameters: {
1340
+ docs: {
1341
+ description: {
1342
+ story: 'Exemple d\'utilisation des props prefix et suffix pour ajouter des informations complémentaires directement dans le champ de saisie.',
1343
+ },
1344
+ },
1345
+ sourceCode: [
1346
+ {
1347
+ name: 'Template',
1348
+ code: `
1349
+ <template>
1350
+ <SyTextField
1351
+ v-model="value"
1352
+ label="Montant"
1353
+ prefix="€"
1354
+ suffix="TTC"
1355
+ />
1356
+ </template>
1357
+ `,
1358
+ },
1359
+ ],
1360
+ },
1361
+ }