@cnamts/synapse 0.0.16-alpha → 1.0.1

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 (482) hide show
  1. package/dist/DateFilter-BmRuzQ9Z.js +98 -0
  2. package/dist/NumberFilter-CnIPDHqx.js +121 -0
  3. package/dist/PeriodFilter-CZwZ8CnQ.js +112 -0
  4. package/dist/SelectFilter-Cj-GW2Cc.js +97 -0
  5. package/dist/TextFilter-DTxZHJwX.js +114 -0
  6. package/dist/{components/BackBtn → common}/constants/ExpertiseLevelEnum.d.ts +3 -0
  7. package/dist/components/Accordion/Accordion.d.ts +39 -0
  8. package/dist/components/Accordion/config.d.ts +9 -0
  9. package/dist/components/BackBtn/AccessibiliteItems.d.ts +1 -1
  10. package/dist/components/BackToTopBtn/AccessibiliteItems.d.ts +1 -1
  11. package/dist/components/ChipList/AccessibiliteItems.d.ts +1 -1
  12. package/dist/components/ChipList/ChipList.d.ts +1 -1
  13. package/dist/components/CollapsibleList/AccessibiliteItems.d.ts +1 -1
  14. package/dist/components/ContextualMenu/AccessibiliteItems.d.ts +1 -1
  15. package/dist/components/CookieBanner/AccessibiliteItems.d.ts +1 -1
  16. package/dist/components/CopyBtn/AccessibiliteItems.d.ts +1 -1
  17. package/dist/components/CopyBtn/CopyBtn.d.ts +2 -0
  18. package/dist/components/Customs/SyBtnSelect/AccessibiliteItems.d.ts +1 -1
  19. package/dist/components/Customs/SyInputSelect/AccessibiliteItems.d.ts +1 -1
  20. package/dist/components/Customs/SyInputSelect/SyInputSelect.d.ts +12 -0
  21. package/dist/components/Customs/SySelect/AccessibiliteItems.d.ts +1 -1
  22. package/dist/components/Customs/SySelect/SySelect.d.ts +43 -16
  23. package/dist/components/Customs/SyTextField/AccessibiliteItems.d.ts +1 -1
  24. package/dist/components/Customs/SyTextField/SyTextField.d.ts +17 -17
  25. package/dist/components/DataList/AccessibiliteItems.d.ts +1 -1
  26. package/dist/components/DataListGroup/AccessibiliteItems.d.ts +1 -1
  27. package/dist/components/DatePicker/AccessibiliteItems.d.ts +1 -1
  28. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +4162 -0
  29. package/dist/components/DatePicker/{DatePicker.d.ts → DatePicker/DatePicker.d.ts} +176 -136
  30. package/dist/components/DatePicker/{DateTextInput.d.ts → DateTextInput/DateTextInput.d.ts} +48 -42
  31. package/dist/components/DatePicker/composables/index.d.ts +15 -0
  32. package/dist/components/DatePicker/composables/useDateFormatValidation.d.ts +25 -0
  33. package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +33 -0
  34. package/dist/components/DatePicker/composables/useDatePickerViewMode.d.ts +16 -0
  35. package/dist/components/DatePicker/composables/useDatePickerVisibility.d.ts +27 -0
  36. package/dist/components/DatePicker/composables/useDateRangeInput.d.ts +29 -0
  37. package/dist/components/DatePicker/composables/useDateRangeValidation.d.ts +11 -0
  38. package/dist/components/DatePicker/composables/useDateSelection.d.ts +10 -0
  39. package/dist/components/DatePicker/composables/useDateValidation.d.ts +35 -0
  40. package/dist/components/DatePicker/composables/useDisplayedDateString.d.ts +16 -0
  41. package/dist/components/DatePicker/composables/useIconState.d.ts +17 -0
  42. package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +30 -0
  43. package/dist/components/DatePicker/composables/useInputHandler.d.ts +32 -0
  44. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +33 -0
  45. package/dist/components/DatePicker/composables/useMonthButtonCustomization.d.ts +9 -0
  46. package/dist/components/DatePicker/composables/useTodayButton.d.ts +16 -0
  47. package/dist/components/DatePicker/composables/useWeekendDays.d.ts +11 -0
  48. package/dist/components/DatePicker/constants/messages.d.ts +29 -0
  49. package/dist/components/DatePicker/types.d.ts +13 -0
  50. package/dist/components/DiacriticPicker/DiacriticPicker.d.ts +27 -0
  51. package/dist/components/DiacriticPicker/config.d.ts +14 -0
  52. package/dist/components/DiacriticPicker/locales.d.ts +6 -0
  53. package/dist/components/DialogBox/AccessibiliteItems.d.ts +1 -1
  54. package/dist/components/DownloadBtn/AccessibiliteItems.d.ts +1 -1
  55. package/dist/components/DownloadBtn/DownloadBtn.d.ts +1 -1
  56. package/dist/components/ErrorPage/AccessibiliteItems.d.ts +1 -1
  57. package/dist/components/ExternalLinks/AccessibiliteItems.d.ts +1 -1
  58. package/dist/components/FileList/AccessibiliteItems.d.ts +1 -1
  59. package/dist/components/FilePreview/AccessibiliteItems.d.ts +1 -1
  60. package/dist/components/FileUpload/AccessibiliteItems.d.ts +1 -1
  61. package/dist/components/FilterInline/AccessibiliteItems.d.ts +1 -1
  62. package/dist/components/FilterSideBar/AccessibiliteItems.d.ts +1 -1
  63. package/dist/components/FilterSideBar/FilterSideBar.d.ts +395 -1
  64. package/dist/components/FooterBar/AccessibiliteItems.d.ts +1 -1
  65. package/dist/components/FooterBar/FooterBar.d.ts +1 -1
  66. package/dist/components/FranceConnectBtn/AccessibiliteItems.d.ts +1 -1
  67. package/dist/components/HeaderBar/AccessibiliteItems.d.ts +1 -1
  68. package/dist/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +1 -1
  69. package/dist/components/HeaderLoading/AccessibiliteItems.d.ts +1 -1
  70. package/dist/components/HeaderToolbar/AccessibiliteItems.d.ts +1 -1
  71. package/dist/components/LangBtn/AccessibiliteItems.d.ts +1 -1
  72. package/dist/components/Logo/AccessibiliteItems.d.ts +1 -1
  73. package/dist/components/LogoBrandSection/AccessibiliteItems.d.ts +1 -1
  74. package/dist/components/MaintenancePage/AccessibiliteItems.d.ts +1 -1
  75. package/dist/components/NirField/AccessibiliteItems.d.ts +1 -1
  76. package/dist/components/NirField/NirField.d.ts +34 -32
  77. package/dist/components/NotFoundPage/AccessibiliteItems.d.ts +1 -1
  78. package/dist/components/NotificationBar/AccessibiliteItems.d.ts +1 -1
  79. package/dist/components/NotificationBar/NotificationBar.d.ts +1 -1
  80. package/dist/components/PageContainer/AccessibiliteItems.d.ts +1 -1
  81. package/dist/components/PaginatedTable/AccessibiliteItems.d.ts +1 -1
  82. package/dist/components/PasswordField/AccessibiliteItems.d.ts +1 -1
  83. package/dist/components/PasswordField/PasswordField.d.ts +1 -1
  84. package/dist/components/PeriodField/AccessibiliteItems.d.ts +1 -1
  85. package/dist/components/PeriodField/PeriodField.d.ts +235 -101
  86. package/dist/components/PhoneField/AccessibiliteItems.d.ts +1 -1
  87. package/dist/components/PhoneField/PhoneField.d.ts +1 -0
  88. package/dist/components/PhoneField/tests/types.d.ts +18 -0
  89. package/dist/components/RangeField/AccessibiliteItems.d.ts +1 -1
  90. package/dist/components/RatingPicker/AccessibiliteItems.d.ts +1 -1
  91. package/dist/components/SearchListField/AccessibiliteItems.d.ts +1 -1
  92. package/dist/components/SelectBtnField/AccessibiliteItems.d.ts +1 -1
  93. package/dist/components/SkipLink/AccessibiliteItems.d.ts +1 -1
  94. package/dist/components/SocialMediaLinks/AccessibiliteItems.d.ts +1 -1
  95. package/dist/components/SubHeader/AccessibiliteItems.d.ts +1 -1
  96. package/dist/components/SyAlert/AccessibiliteItems.d.ts +1 -1
  97. package/dist/components/SyTextArea/SyTextArea.d.ts +900 -0
  98. package/dist/components/SyTextArea/locales.d.ts +3 -0
  99. package/dist/components/SyTextArea/trimStartOnUpdate.d.ts +1 -0
  100. package/dist/components/SyTextArea/useTextActions.d.ts +13 -0
  101. package/dist/components/SyTextArea/wrapText.d.ts +1 -0
  102. package/dist/components/TableToolbar/AccessibiliteItems.d.ts +1 -1
  103. package/dist/components/TableToolbar/TableToolbar.d.ts +10 -4
  104. package/dist/components/TableToolbar/config.d.ts +3 -2
  105. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +647 -0
  106. package/dist/components/Tables/SyTable/SyTable.d.ts +666 -0
  107. package/dist/components/Tables/common/SyTableFilter.d.ts +126 -0
  108. package/dist/components/Tables/common/TableHeader.d.ts +33 -0
  109. package/dist/components/Tables/common/constants/StateEnum.d.ts +6 -0
  110. package/dist/components/Tables/common/filters/DateFilter.d.ts +121 -0
  111. package/dist/components/Tables/common/filters/NumberFilter.d.ts +132 -0
  112. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +135 -0
  113. package/dist/components/Tables/common/filters/SelectFilter.d.ts +120 -0
  114. package/dist/components/Tables/common/filters/TextFilter.d.ts +132 -0
  115. package/dist/components/Tables/common/formatters.d.ts +17 -0
  116. package/dist/components/Tables/common/locales.d.ts +7 -0
  117. package/dist/components/Tables/common/tableAccessibilityUtils.d.ts +8 -0
  118. package/dist/components/Tables/common/tableFilterUtils.d.ts +2 -0
  119. package/dist/components/Tables/common/tableStorageUtils.d.ts +29 -0
  120. package/dist/components/Tables/common/tableUtils.d.ts +42 -0
  121. package/dist/components/Tables/common/types.d.ts +80 -0
  122. package/dist/components/Tables/common/useTableFilter.d.ts +9 -0
  123. package/dist/components/Tables/index.d.ts +2 -0
  124. package/dist/components/UploadWorkflow/AccessibiliteItems.d.ts +1 -1
  125. package/dist/components/UserMenuBtn/AccessibiliteItems.d.ts +1 -1
  126. package/dist/components/index.d.ts +6 -1
  127. package/dist/composables/date/useHolidayDay.d.ts +36 -0
  128. package/dist/design-system-v3.js +100 -11271
  129. package/dist/design-system-v3.umd.cjs +22 -1
  130. package/dist/designTokens/index.d.ts +3 -1
  131. package/dist/designTokens/tokens/cnam/cnamFonts.d.ts +140 -0
  132. package/dist/designTokens/tokens/pa/paFonts.d.ts +140 -0
  133. package/dist/designTokens/tokens/pa/paLightTheme.d.ts +1 -32
  134. package/dist/designTokens/utils/createFontVariables.d.ts +39 -0
  135. package/dist/designTokens/utils/index.d.ts +2 -1
  136. package/dist/main-WDqeoGM-.js +14788 -0
  137. package/dist/style.css +1 -1
  138. package/dist/utils/rules/index.d.ts +1 -0
  139. package/dist/utils/rules/isHolidayDay/index.d.ts +11 -0
  140. package/dist/utils/rules/isHolidayDay/locales.d.ts +2 -0
  141. package/dist/utils/rules/isRequired/index.d.ts +1 -1
  142. package/dist/vite-env.d.ts +12 -0
  143. package/package.json +2 -1
  144. package/src/assets/_spacers.scss +37 -1
  145. package/src/assets/_typography.scss +158 -0
  146. package/src/assets/settings.scss +19 -0
  147. package/src/common/constants/ExpertiseLevelEnum.ts +7 -0
  148. package/src/components/Accordion/Accordion.mdx +69 -0
  149. package/src/components/Accordion/Accordion.stories.ts +262 -0
  150. package/src/components/Accordion/Accordion.vue +319 -0
  151. package/src/components/Accordion/config.ts +9 -0
  152. package/src/components/Accordion/tests/__snapshots__/accordion.spec.ts.snap +155 -0
  153. package/src/components/Accordion/tests/accordion.spec.ts +492 -0
  154. package/src/components/BackBtn/AccessibiliteItems.ts +1 -1
  155. package/src/components/BackToTopBtn/AccessibiliteItems.ts +1 -1
  156. package/src/components/ChipList/AccessibiliteItems.ts +1 -1
  157. package/src/components/CollapsibleList/AccessibiliteItems.ts +1 -1
  158. package/src/components/ContextualMenu/AccessibiliteItems.ts +1 -1
  159. package/src/components/CookieBanner/AccessibiliteItems.ts +1 -1
  160. package/src/components/CopyBtn/AccessibiliteItems.ts +1 -1
  161. package/src/components/CopyBtn/CopyBtn.stories.ts +189 -0
  162. package/src/components/CopyBtn/CopyBtn.vue +29 -1
  163. package/src/components/CopyBtn/tests/CopyBtn.spec.ts +102 -0
  164. package/src/components/Customs/SyBtnSelect/AccessibiliteItems.ts +1 -1
  165. package/src/components/Customs/SyInputSelect/AccessibiliteItems.ts +1 -1
  166. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +155 -1
  167. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +97 -14
  168. package/src/components/Customs/SyInputSelect/tests/SyInputSelect.spec.ts +386 -106
  169. package/src/components/Customs/SySelect/AccessibiliteItems.ts +1 -1
  170. package/src/components/Customs/SySelect/SySelect.stories.ts +121 -2
  171. package/src/components/Customs/SySelect/SySelect.vue +25 -6
  172. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +294 -3
  173. package/src/components/Customs/SyTextField/AccessibiliteItems.ts +1 -1
  174. package/src/components/Customs/SyTextField/SyTextField.vue +5 -3
  175. package/src/components/DataList/AccessibiliteItems.ts +1 -1
  176. package/src/components/DataListGroup/AccessibiliteItems.ts +1 -1
  177. package/src/components/DatePicker/AccessibiliteItems.ts +1 -1
  178. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.mdx +212 -0
  179. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1097 -0
  180. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +497 -180
  181. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +941 -0
  182. package/src/components/DatePicker/DatePicker/DatePicker.mdx +176 -0
  183. package/src/components/DatePicker/{tests → DatePicker}/DatePicker.spec.ts +1 -1
  184. package/src/components/DatePicker/{DatePicker.stories.ts → DatePicker/DatePicker.stories.ts} +115 -400
  185. package/src/components/DatePicker/{DatePicker.vue → DatePicker/DatePicker.vue} +314 -83
  186. package/src/components/DatePicker/DatePickerOverview.mdx +227 -0
  187. package/src/components/DatePicker/{DatePickerValidation.mdx → DatePickerValidationExample/DatePickerValidation.mdx} +3 -3
  188. package/src/components/DatePicker/{DatePickerValidation.stories.ts → DatePickerValidationExample/DatePickerValidation.stories.ts} +2 -2
  189. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +310 -0
  190. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +278 -0
  191. package/src/components/DatePicker/{tests → DateTextInput}/DateTextInput.spec.ts +8 -7
  192. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +916 -0
  193. package/src/components/DatePicker/DateTextInput/NoCalendar.mdx +64 -0
  194. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +572 -0
  195. package/src/components/DatePicker/composables/index.ts +22 -0
  196. package/src/components/DatePicker/composables/tests/useDateFormatValidation.spec.ts +165 -0
  197. package/src/components/DatePicker/composables/tests/useDateInputEditing.spec.ts +359 -0
  198. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +160 -0
  199. package/src/components/DatePicker/composables/tests/useDatePickerVisibility.spec.ts +339 -0
  200. package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +277 -0
  201. package/src/components/DatePicker/composables/tests/useDateRangeValidation.spec.ts +107 -0
  202. package/src/components/DatePicker/composables/tests/useDateSelection.spec.ts +171 -0
  203. package/src/components/DatePicker/composables/tests/useDateValidation.spec.ts +245 -0
  204. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +98 -0
  205. package/src/components/DatePicker/composables/tests/useIconState.spec.ts +130 -0
  206. package/src/components/DatePicker/composables/tests/useInputBlurHandler.spec.ts +278 -0
  207. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +233 -0
  208. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +100 -0
  209. package/src/components/DatePicker/composables/tests/useTodayButton.spec.ts +97 -0
  210. package/src/components/DatePicker/composables/tests/useWeekendDays.spec.ts +28 -0
  211. package/src/components/DatePicker/composables/useDateFormatValidation.ts +95 -0
  212. package/src/components/DatePicker/composables/useDateInputEditing.ts +326 -0
  213. package/src/components/DatePicker/composables/useDatePickerViewMode.ts +61 -0
  214. package/src/components/DatePicker/composables/useDatePickerVisibility.ts +146 -0
  215. package/src/components/DatePicker/composables/useDateRangeInput.ts +375 -0
  216. package/src/components/DatePicker/composables/useDateRangeValidation.ts +48 -0
  217. package/src/components/DatePicker/composables/useDateSelection.ts +121 -0
  218. package/src/components/DatePicker/composables/useDateValidation.ts +225 -0
  219. package/src/components/DatePicker/composables/useDisplayedDateString.ts +58 -0
  220. package/src/components/DatePicker/composables/useIconState.ts +53 -0
  221. package/src/components/DatePicker/composables/useInputBlurHandler.ts +101 -0
  222. package/src/components/DatePicker/composables/useInputHandler.ts +436 -0
  223. package/src/components/DatePicker/composables/useManualDateValidation.ts +161 -0
  224. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +89 -0
  225. package/src/components/DatePicker/composables/useTodayButton.ts +43 -0
  226. package/src/components/DatePicker/composables/useWeekendDays.ts +21 -0
  227. package/src/components/DatePicker/constants/messages.ts +50 -0
  228. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +4 -4
  229. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +1 -1
  230. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +172 -0
  231. package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +130 -0
  232. package/src/components/DatePicker/types.ts +15 -0
  233. package/src/components/DiacriticPicker/DiacriticPicker.mdx +104 -0
  234. package/src/components/DiacriticPicker/DiacriticPicker.stories.ts +447 -0
  235. package/src/components/DiacriticPicker/DiacriticPicker.vue +262 -0
  236. package/src/components/DiacriticPicker/config.ts +15 -0
  237. package/src/components/DiacriticPicker/locales.ts +6 -0
  238. package/src/components/DiacriticPicker/tests/DiatriticPicker.spec.ts +132 -0
  239. package/src/components/DialogBox/AccessibiliteItems.ts +1 -1
  240. package/src/components/DialogBox/DialogBox.vue +1 -3
  241. package/src/components/DownloadBtn/AccessibiliteItems.ts +1 -1
  242. package/src/components/ErrorPage/AccessibiliteItems.ts +1 -1
  243. package/src/components/ExternalLinks/AccessibiliteItems.ts +1 -1
  244. package/src/components/FileList/AccessibiliteItems.ts +1 -1
  245. package/src/components/FilePreview/AccessibiliteItems.ts +1 -1
  246. package/src/components/FileUpload/AccessibiliteItems.ts +1 -1
  247. package/src/components/FilterInline/AccessibiliteItems.ts +1 -1
  248. package/src/components/FilterSideBar/AccessibiliteItems.ts +1 -1
  249. package/src/components/FilterSideBar/FilterSideBar.vue +108 -90
  250. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +27 -0
  251. package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +114 -109
  252. package/src/components/FooterBar/AccessibiliteItems.ts +1 -1
  253. package/src/components/FooterBar/FooterBar.vue +2 -1
  254. package/src/components/FranceConnectBtn/AccessibiliteItems.ts +1 -1
  255. package/src/components/HeaderBar/AccessibiliteItems.ts +1 -1
  256. package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +1 -1
  257. package/src/components/HeaderLoading/AccessibiliteItems.ts +1 -1
  258. package/src/components/HeaderToolbar/AccessibiliteItems.ts +1 -1
  259. package/src/components/LangBtn/AccessibiliteItems.ts +1 -1
  260. package/src/components/Logo/Accessibilite.stories.ts +4 -0
  261. package/src/components/Logo/AccessibiliteItems.ts +1 -1
  262. package/src/components/LogoBrandSection/AccessibiliteItems.ts +1 -1
  263. package/src/components/MaintenancePage/AccessibiliteItems.ts +1 -1
  264. package/src/components/NirField/AccessibiliteItems.ts +1 -1
  265. package/src/components/NirField/NirField.stories.ts +172 -0
  266. package/src/components/NirField/NirField.vue +15 -7
  267. package/src/components/NotFoundPage/AccessibiliteItems.ts +1 -1
  268. package/src/components/NotificationBar/Accessibilite.stories.ts +1 -1
  269. package/src/components/NotificationBar/AccessibiliteItems.ts +1 -1
  270. package/src/components/NotificationBar/NotificationBar.stories.ts +14 -0
  271. package/src/components/NotificationBar/NotificationBar.vue +26 -3
  272. package/src/components/NotificationBar/{options.ts → config.ts} +0 -1
  273. package/src/components/PageContainer/AccessibiliteItems.ts +1 -1
  274. package/src/components/PaginatedTable/AccessibiliteItems.ts +1 -1
  275. package/src/components/PaginatedTable/PaginatedTable.stories.ts +19 -0
  276. package/src/components/PaginatedTable/PaginatedTable.vue +51 -24
  277. package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +0 -2
  278. package/src/components/PasswordField/AccessibiliteItems.ts +1 -1
  279. package/src/components/PasswordField/PasswordField.stories.ts +4 -3
  280. package/src/components/PasswordField/PasswordField.vue +26 -18
  281. package/src/components/PasswordField/tests/PasswordField.spec.ts +1 -10
  282. package/src/components/PeriodField/AccessibiliteItems.ts +1 -1
  283. package/src/components/PeriodField/PeriodField.vue +13 -1
  284. package/src/components/PhoneField/AccessibiliteItems.ts +1 -1
  285. package/src/components/PhoneField/PhoneField.stories.ts +143 -0
  286. package/src/components/PhoneField/PhoneField.vue +88 -30
  287. package/src/components/PhoneField/tests/PhoneField.additional.spec.ts +266 -0
  288. package/src/components/PhoneField/tests/PhoneField.spec.ts +248 -28
  289. package/src/components/PhoneField/tests/types.d.ts +19 -0
  290. package/src/components/RangeField/AccessibiliteItems.ts +1 -1
  291. package/src/components/RatingPicker/AccessibiliteItems.ts +1 -1
  292. package/src/components/SearchListField/AccessibiliteItems.ts +1 -1
  293. package/src/components/SelectBtnField/AccessibiliteItems.ts +1 -1
  294. package/src/components/SkipLink/AccessibiliteItems.ts +1 -1
  295. package/src/components/SocialMediaLinks/AccessibiliteItems.ts +1 -1
  296. package/src/components/SubHeader/AccessibiliteItems.ts +1 -1
  297. package/src/components/SyAlert/AccessibiliteItems.ts +1 -1
  298. package/src/components/SyTextArea/SyTextArea.mdx +17 -0
  299. package/src/components/SyTextArea/SyTextArea.stories.ts +322 -0
  300. package/src/components/SyTextArea/SyTextArea.vue +113 -0
  301. package/src/components/SyTextArea/locales.ts +3 -0
  302. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +194 -0
  303. package/src/components/SyTextArea/trimStartOnUpdate.ts +12 -0
  304. package/src/components/SyTextArea/useTextActions.ts +52 -0
  305. package/src/components/SyTextArea/wrapText.ts +42 -0
  306. package/src/components/TableToolbar/AccessibiliteItems.ts +1 -1
  307. package/src/components/TableToolbar/TableToolbar.mdx +86 -1
  308. package/src/components/TableToolbar/TableToolbar.stories.ts +509 -107
  309. package/src/components/TableToolbar/TableToolbar.vue +25 -8
  310. package/src/components/TableToolbar/config.ts +3 -2
  311. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +35 -12
  312. package/src/components/Tables/SyServerTable/FilterRules.stories.ts +83 -0
  313. package/src/components/Tables/SyServerTable/SyServerTable.mdx +160 -0
  314. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +2887 -0
  315. package/src/components/Tables/SyServerTable/SyServerTable.vue +302 -0
  316. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +450 -0
  317. package/src/components/Tables/SyServerTable/tests/__snapshots__/SyServerTable.spec.ts.snap +521 -0
  318. package/src/components/Tables/SyTable/FilterRules.stories.ts +235 -0
  319. package/src/components/Tables/SyTable/SyTable.mdx +129 -0
  320. package/src/components/Tables/SyTable/SyTable.stories.ts +1966 -0
  321. package/src/components/Tables/SyTable/SyTable.vue +317 -0
  322. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +345 -0
  323. package/src/components/Tables/SyTable/tests/__snapshots__/SyTable.spec.ts.snap +521 -0
  324. package/src/components/Tables/common/SyTableFilter.vue +342 -0
  325. package/src/components/Tables/common/TableHeader.vue +221 -0
  326. package/src/components/Tables/common/constants/StateEnum.ts +6 -0
  327. package/src/components/Tables/common/filters/DateFilter.vue +140 -0
  328. package/src/components/Tables/common/filters/NumberFilter.vue +234 -0
  329. package/src/components/Tables/common/filters/PeriodFilter.vue +147 -0
  330. package/src/components/Tables/common/filters/SelectFilter.vue +126 -0
  331. package/src/components/Tables/common/filters/TextFilter.vue +191 -0
  332. package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +187 -0
  333. package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +280 -0
  334. package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +192 -0
  335. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +219 -0
  336. package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +260 -0
  337. package/src/components/Tables/common/formatters.ts +72 -0
  338. package/src/components/Tables/common/locales.ts +7 -0
  339. package/src/components/Tables/common/tableAccessibilityUtils.ts +61 -0
  340. package/src/components/Tables/common/tableFilterUtils.ts +327 -0
  341. package/src/components/Tables/common/tableStorageUtils.ts +102 -0
  342. package/src/components/Tables/common/tableStyles.scss +54 -0
  343. package/src/components/Tables/common/tableUtils.ts +115 -0
  344. package/src/components/Tables/common/tests/SyTableFilter.spec.ts +312 -0
  345. package/src/components/Tables/common/tests/resize.spec.ts +161 -0
  346. package/src/components/Tables/common/tests/tableFilterUtils.spec.ts +106 -0
  347. package/src/components/Tables/common/tests/tableUtils.spec.ts +272 -0
  348. package/src/components/Tables/common/types.ts +81 -0
  349. package/src/components/Tables/common/useTableFilter.ts +19 -0
  350. package/src/components/Tables/index.ts +3 -0
  351. package/src/components/UploadWorkflow/AccessibiliteItems.ts +1 -1
  352. package/src/components/UserMenuBtn/AccessibiliteItems.ts +1 -1
  353. package/src/components/index.ts +6 -1
  354. package/src/composables/date/useDateFormatDayjs.ts +8 -3
  355. package/src/composables/date/useDateInitializationDayjs.ts +28 -36
  356. package/src/composables/date/useHolidayDay.ts +98 -0
  357. package/src/composables/rules/useFieldValidation.ts +16 -4
  358. package/src/composables/validation/useValidation.ts +2 -1
  359. package/src/designTokens/index.ts +4 -0
  360. package/src/designTokens/tokens/cnam/cnamFonts.ts +140 -0
  361. package/src/designTokens/tokens/pa/paFonts.ts +140 -0
  362. package/src/designTokens/tokens/pa/paLightTheme.ts +10 -41
  363. package/src/designTokens/utils/createFontVariables.ts +143 -0
  364. package/src/designTokens/utils/index.ts +2 -1
  365. package/src/stories/Accessibilite/Introduction.mdx +5 -2
  366. package/src/stories/Demarrer/Accueil.stories.ts +12 -3
  367. package/src/stories/DesignTokens/colors.stories.ts +100 -41
  368. package/src/utils/rules/index.ts +1 -0
  369. package/src/utils/rules/isHolidayDay/IsHolidayDay.mdx +52 -0
  370. package/src/utils/rules/isHolidayDay/IsHolidayDay.stories.ts +129 -0
  371. package/src/utils/rules/isHolidayDay/index.ts +36 -0
  372. package/src/utils/rules/isHolidayDay/locales.ts +5 -0
  373. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +35 -0
  374. package/src/utils/rules/isRequired/index.ts +2 -1
  375. package/src/vite-env.d.ts +12 -0
  376. package/src/vuetifyConfig.ts +10 -3
  377. package/dist/components/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  378. package/dist/components/ChipList/constants/ExpertiseLevelEnum.d.ts +0 -4
  379. package/dist/components/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +0 -4
  380. package/dist/components/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +0 -4
  381. package/dist/components/CookieBanner/constants/ExpertiseLevelEnum.d.ts +0 -4
  382. package/dist/components/CopyBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  383. package/dist/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +0 -4
  384. package/dist/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +0 -4
  385. package/dist/components/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +0 -4
  386. package/dist/components/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +0 -4
  387. package/dist/components/DataList/constants/ExpertiseLevelEnum.d.ts +0 -4
  388. package/dist/components/DataListGroup/constants/ExpertiseLevelEnum.d.ts +0 -4
  389. package/dist/components/DatePicker/constants/ExpertiseLevelEnum.d.ts +0 -4
  390. package/dist/components/DialogBox/constants/ExpertiseLevelEnum.d.ts +0 -4
  391. package/dist/components/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  392. package/dist/components/ErrorPage/constants/ExpertiseLevelEnum.d.ts +0 -4
  393. package/dist/components/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +0 -4
  394. package/dist/components/FileList/constants/ExpertiseLevelEnum.d.ts +0 -4
  395. package/dist/components/FilePreview/constants/ExpertiseLevelEnum.d.ts +0 -4
  396. package/dist/components/FileUpload/constants/ExpertiseLevelEnum.d.ts +0 -4
  397. package/dist/components/FilterInline/constants/ExpertiseLevelEnum.d.ts +0 -4
  398. package/dist/components/FilterSideBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  399. package/dist/components/FooterBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  400. package/dist/components/FranceConnectBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  401. package/dist/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.d.ts +0 -4
  402. package/dist/components/HeaderBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  403. package/dist/components/HeaderLoading/constants/ExpertiseLevelEnum.d.ts +0 -4
  404. package/dist/components/HeaderToolbar/constants/ExpertiseLevelEnum.d.ts +0 -4
  405. package/dist/components/LangBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  406. package/dist/components/Logo/constants/ExpertiseLevelEnum.d.ts +0 -4
  407. package/dist/components/LogoBrandSection/constants/ExpertiseLevelEnum.d.ts +0 -4
  408. package/dist/components/MaintenancePage/constants/ExpertiseLevelEnum.d.ts +0 -4
  409. package/dist/components/NirField/constants/ExpertiseLevelEnum.d.ts +0 -4
  410. package/dist/components/NotFoundPage/constants/ExpertiseLevelEnum.d.ts +0 -4
  411. package/dist/components/NotificationBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  412. package/dist/components/PageContainer/constants/ExpertiseLevelEnum.d.ts +0 -4
  413. package/dist/components/PaginatedTable/constants/ExpertiseLevelEnum.d.ts +0 -4
  414. package/dist/components/PasswordField/constants/ExpertiseLevelEnum.d.ts +0 -4
  415. package/dist/components/PeriodField/constants/ExpertiseLevelEnum.d.ts +0 -4
  416. package/dist/components/PhoneField/constants/ExpertiseLevelEnum.d.ts +0 -4
  417. package/dist/components/RangeField/constants/ExpertiseLevelEnum.d.ts +0 -4
  418. package/dist/components/RatingPicker/constants/ExpertiseLevelEnum.d.ts +0 -4
  419. package/dist/components/SearchListField/constants/ExpertiseLevelEnum.d.ts +0 -4
  420. package/dist/components/SelectBtnField/constants/ExpertiseLevelEnum.d.ts +0 -4
  421. package/dist/components/SkipLink/constants/ExpertiseLevelEnum.d.ts +0 -4
  422. package/dist/components/SocialMediaLinks/constants/ExpertiseLevelEnum.d.ts +0 -4
  423. package/dist/components/SubHeader/constants/ExpertiseLevelEnum.d.ts +0 -4
  424. package/dist/components/SyAlert/constants/ExpertiseLevelEnum.d.ts +0 -4
  425. package/dist/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +0 -4
  426. package/dist/components/UploadWorkflow/constants/ExpertiseLevelEnum.d.ts +0 -4
  427. package/dist/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  428. package/src/components/BackBtn/constants/ExpertiseLevelEnum.ts +0 -4
  429. package/src/components/BackToTopBtn/constants/ExpertiseLevelEnum.ts +0 -4
  430. package/src/components/ChipList/constants/ExpertiseLevelEnum.ts +0 -4
  431. package/src/components/CollapsibleList/constants/ExpertiseLevelEnum.ts +0 -4
  432. package/src/components/ContextualMenu/constants/ExpertiseLevelEnum.ts +0 -4
  433. package/src/components/CookieBanner/constants/ExpertiseLevelEnum.ts +0 -4
  434. package/src/components/CopyBtn/constants/ExpertiseLevelEnum.ts +0 -4
  435. package/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.ts +0 -4
  436. package/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.ts +0 -4
  437. package/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.ts +0 -4
  438. package/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.ts +0 -4
  439. package/src/components/DataList/constants/ExpertiseLevelEnum.ts +0 -4
  440. package/src/components/DataListGroup/constants/ExpertiseLevelEnum.ts +0 -4
  441. package/src/components/DatePicker/DatePicker.mdx +0 -222
  442. package/src/components/DatePicker/DateTextInput.vue +0 -493
  443. package/src/components/DatePicker/constants/ExpertiseLevelEnum.ts +0 -4
  444. package/src/components/DialogBox/constants/ExpertiseLevelEnum.ts +0 -4
  445. package/src/components/DownloadBtn/constants/ExpertiseLevelEnum.ts +0 -4
  446. package/src/components/ErrorPage/constants/ExpertiseLevelEnum.ts +0 -4
  447. package/src/components/ExternalLinks/constants/ExpertiseLevelEnum.ts +0 -4
  448. package/src/components/FileList/constants/ExpertiseLevelEnum.ts +0 -4
  449. package/src/components/FilePreview/constants/ExpertiseLevelEnum.ts +0 -4
  450. package/src/components/FileUpload/constants/ExpertiseLevelEnum.ts +0 -4
  451. package/src/components/FilterInline/constants/ExpertiseLevelEnum.ts +0 -4
  452. package/src/components/FilterSideBar/constants/ExpertiseLevelEnum.ts +0 -4
  453. package/src/components/FooterBar/constants/ExpertiseLevelEnum.ts +0 -4
  454. package/src/components/FranceConnectBtn/constants/ExpertiseLevelEnum.ts +0 -4
  455. package/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.ts +0 -4
  456. package/src/components/HeaderBar/constants/ExpertiseLevelEnum.ts +0 -4
  457. package/src/components/HeaderLoading/constants/ExpertiseLevelEnum.ts +0 -4
  458. package/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.ts +0 -4
  459. package/src/components/LangBtn/constants/ExpertiseLevelEnum.ts +0 -4
  460. package/src/components/Logo/constants/ExpertiseLevelEnum.ts +0 -4
  461. package/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.ts +0 -4
  462. package/src/components/MaintenancePage/constants/ExpertiseLevelEnum.ts +0 -4
  463. package/src/components/NirField/constants/ExpertiseLevelEnum.ts +0 -4
  464. package/src/components/NotFoundPage/constants/ExpertiseLevelEnum.ts +0 -4
  465. package/src/components/NotificationBar/constants/ExpertiseLevelEnum.ts +0 -4
  466. package/src/components/PageContainer/constants/ExpertiseLevelEnum.ts +0 -4
  467. package/src/components/PaginatedTable/constants/ExpertiseLevelEnum.ts +0 -4
  468. package/src/components/PasswordField/constants/ExpertiseLevelEnum.ts +0 -4
  469. package/src/components/PeriodField/constants/ExpertiseLevelEnum.ts +0 -4
  470. package/src/components/PhoneField/constants/ExpertiseLevelEnum.ts +0 -4
  471. package/src/components/RangeField/constants/ExpertiseLevelEnum.ts +0 -4
  472. package/src/components/RatingPicker/constants/ExpertiseLevelEnum.ts +0 -4
  473. package/src/components/SearchListField/constants/ExpertiseLevelEnum.ts +0 -4
  474. package/src/components/SelectBtnField/constants/ExpertiseLevelEnum.ts +0 -4
  475. package/src/components/SkipLink/constants/ExpertiseLevelEnum.ts +0 -4
  476. package/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.ts +0 -4
  477. package/src/components/SubHeader/constants/ExpertiseLevelEnum.ts +0 -4
  478. package/src/components/SyAlert/constants/ExpertiseLevelEnum.ts +0 -4
  479. package/src/components/TableToolbar/constants/ExpertiseLevelEnum.ts +0 -4
  480. package/src/components/UploadWorkflow/constants/ExpertiseLevelEnum.ts +0 -4
  481. package/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.ts +0 -4
  482. /package/dist/components/NotificationBar/{options.d.ts → config.d.ts} +0 -0
@@ -48,120 +48,125 @@ exports[`FilterSideBar > renders correctly 1`] = `
48
48
  <!---->
49
49
  <!---->
50
50
  </button>
51
- <nav
52
- class="
53
- elevation-6
54
- rounded-0
55
- v-navigation-drawer
56
- v-navigation-drawer--mobile
57
- v-navigation-drawer--rail
58
- v-navigation-drawer--right
59
- v-navigation-drawer--temporary
60
- v-theme--light
61
- "
62
- style="right: 0px; z-index: 1004; transform: translateX(395px); position: fixed; transition: none !important;"
63
- >
64
- <!---->
65
- <!---->
66
- <div class="v-navigation-drawer__content">
67
- <div class="
68
- v-expansion-panels
69
- v-expansion-panels--variant-accordion
51
+ <teleport-stub to="body">
52
+ <nav
53
+ class="
54
+ bg-white
55
+ elevation-6
56
+ rounded-0
57
+ sy-filters-side-bar__content
58
+ v-navigation-drawer
59
+ v-navigation-drawer--mobile
60
+ v-navigation-drawer--rail
61
+ v-navigation-drawer--right
62
+ v-navigation-drawer--temporary
70
63
  v-theme--light
71
- "></div>
72
- <div class="v-spacer"></div>
73
- <div class="
74
- pb-4
75
- pt-10
76
- px-4
77
- ">
78
- <button
79
- class="
80
- mb-4
81
- text-primary
82
- v-btn
83
- v-btn--block
84
- v-btn--density-default
85
- v-btn--size-large
86
- v-btn--variant-outlined
87
- v-theme--light
88
- "
89
- type="button"
90
- >
91
- <span class="v-btn__overlay"></span>
92
- <span class="v-btn__underlay"></span>
93
- <!---->
94
- <span
95
- class="v-btn__content"
96
- data-no-activator=""
64
+ "
65
+ style="right: 0px; z-index: 1004; transform: translateX(395px); position: fixed; transition: none !important;"
66
+ tabindex="0"
67
+ >
68
+ <!---->
69
+ <!---->
70
+ <div class="v-navigation-drawer__content">
71
+ <div class="
72
+ v-expansion-panels
73
+ v-expansion-panels--variant-accordion
74
+ v-theme--light
75
+ "></div>
76
+ <div class="v-spacer"></div>
77
+ <div class="
78
+ pb-4
79
+ pt-10
80
+ px-4
81
+ ">
82
+ <button
83
+ class="
84
+ mb-4
85
+ text-primary
86
+ v-btn
87
+ v-btn--block
88
+ v-btn--density-default
89
+ v-btn--size-large
90
+ v-btn--variant-outlined
91
+ v-theme--light
92
+ "
93
+ type="button"
97
94
  >
98
- Fermer
99
- </span>
100
- <!---->
101
- <!---->
102
- </button>
103
- <button
104
- class="
105
- mb-4
106
- text-primary
107
- v-btn
108
- v-btn--block
109
- v-btn--density-default
110
- v-btn--size-large
111
- v-btn--variant-outlined
112
- v-theme--light
113
- "
114
- type="button"
115
- >
116
- <span class="v-btn__overlay"></span>
117
- <span class="v-btn__underlay"></span>
118
- <!---->
119
- <span
120
- class="v-btn__content"
121
- data-no-activator=""
95
+ <span class="v-btn__overlay"></span>
96
+ <span class="v-btn__underlay"></span>
97
+ <!---->
98
+ <span
99
+ class="v-btn__content"
100
+ data-no-activator=""
101
+ >
102
+ Fermer
103
+ </span>
104
+ <!---->
105
+ <!---->
106
+ </button>
107
+ <button
108
+ class="
109
+ mb-4
110
+ text-primary
111
+ v-btn
112
+ v-btn--block
113
+ v-btn--density-default
114
+ v-btn--size-large
115
+ v-btn--variant-outlined
116
+ v-theme--light
117
+ "
118
+ type="button"
122
119
  >
123
- Réinitialiser
124
- </span>
125
- <!---->
126
- <!---->
127
- </button>
128
- <button
129
- class="
130
- bg-primary
131
- v-btn
132
- v-btn--block
133
- v-btn--density-default
134
- v-btn--elevated
135
- v-btn--size-large
136
- v-btn--variant-elevated
137
- v-theme--light
138
- "
139
- type="button"
140
- >
141
- <span class="v-btn__overlay"></span>
142
- <span class="v-btn__underlay"></span>
143
- <!---->
144
- <span
145
- class="v-btn__content"
146
- data-no-activator=""
120
+ <span class="v-btn__overlay"></span>
121
+ <span class="v-btn__underlay"></span>
122
+ <!---->
123
+ <span
124
+ class="v-btn__content"
125
+ data-no-activator=""
126
+ >
127
+ Réinitialiser
128
+ </span>
129
+ <!---->
130
+ <!---->
131
+ </button>
132
+ <button
133
+ class="
134
+ bg-primary
135
+ v-btn
136
+ v-btn--block
137
+ v-btn--density-default
138
+ v-btn--elevated
139
+ v-btn--size-large
140
+ v-btn--variant-elevated
141
+ v-theme--light
142
+ "
143
+ type="button"
147
144
  >
148
- Appliquer
149
- </span>
150
- <!---->
151
- <!---->
152
- </button>
145
+ <span class="v-btn__overlay"></span>
146
+ <span class="v-btn__underlay"></span>
147
+ <!---->
148
+ <span
149
+ class="v-btn__content"
150
+ data-no-activator=""
151
+ >
152
+ Appliquer
153
+ </span>
154
+ <!---->
155
+ <!---->
156
+ </button>
157
+ </div>
153
158
  </div>
154
- </div>
155
- <!---->
156
- </nav>
157
- <transition-stub
158
- appear="false"
159
- css="true"
160
- name="fade-transition"
161
- persisted="false"
162
- >
163
- <!---->
164
- </transition-stub>
159
+ <!---->
160
+ </nav>
161
+ <transition-stub
162
+ appear="false"
163
+ css="true"
164
+ name="fade-transition"
165
+ persisted="false"
166
+ >
167
+ <!---->
168
+ </transition-stub>
169
+ </teleport-stub>
165
170
  </div>
166
171
  </div>
167
172
  </div>
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
  {
@@ -228,7 +228,7 @@
228
228
 
229
229
  <li
230
230
  v-if="props.version"
231
- class="text-primary my-3 mx-4"
231
+ class="my-3 mx-4"
232
232
  >
233
233
  {{ locales.versionLabel }} {{ props.version }}
234
234
  </li>
@@ -311,6 +311,7 @@ a {
311
311
 
312
312
  // Use deep selector to style user content as well
313
313
  .vd-footer-bar.v-theme--dark :deep() {
314
+ .vd-footer-bar-links li,
314
315
  .vd-footer-bar-links a {
315
316
  color: $white;
316
317
  }
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -216,6 +216,10 @@ export const Legende: StoryObj = {
216
216
  </div>
217
217
  </div>
218
218
  </div>
219
+ <div class="mt-4">
220
+ <p>Rapport d’audit manuel : <a href="/audits/Logo.xlsx" style="color:#0C41BD;">Voir le rapport</a></p>
221
+ <p style="color: grey; font-size: 14px">Aucune correction nécessaire.</p>
222
+ </div>
219
223
  `,
220
224
  }
221
225
  },
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -608,6 +608,178 @@ ne sont pas nécessaires dans certains contextes.
608
608
  }),
609
609
  }
610
610
 
611
+ export const CustomPatternRules: Story = {
612
+ args: {
613
+ ...Default.args,
614
+ customRulesPrecedence: true,
615
+ customNumberRules: [
616
+ {
617
+ type: 'custom',
618
+ options: {
619
+ validate: (value: string) => {
620
+ if (!value) return true
621
+
622
+ // Supprimer les espaces pour la validation
623
+ const valueWithoutSpaces = value.replace(/\s/g, '')
624
+
625
+ // Vérifier la longueur
626
+ if (valueWithoutSpaces.length !== 13) {
627
+ return 'Le numéro de sécurité sociale doit contenir 13 caractères.'
628
+ }
629
+
630
+ // Vérifier le pattern selon les règles spécifiques du NIR français
631
+ // Rang 1: sexe (1 pour homme, 2 pour femme)
632
+ if (!/^[12]/.test(valueWithoutSpaces)) {
633
+ return 'Le premier chiffre doit être 1 (homme) ou 2 (femme).'
634
+ }
635
+
636
+ // Rangs 2-3: deux derniers chiffres de l'année de naissance
637
+ const anneeNaissance = valueWithoutSpaces.substring(1, 3)
638
+ if (!/^[0-9]{2}$/.test(anneeNaissance)) {
639
+ return 'Les chiffres 2 et 3 doivent représenter l\'année de naissance.'
640
+ }
641
+
642
+ // Rangs 4-5: mois de naissance (01-12)
643
+ const moisNaissance = valueWithoutSpaces.substring(3, 5)
644
+ if (!/^(0[1-9]|1[0-2])$/.test(moisNaissance)) {
645
+ return 'Les chiffres 4 et 5 doivent représenter un mois valide (01-12).'
646
+ }
647
+
648
+ // Rangs 6-7: département de naissance
649
+ const departement = valueWithoutSpaces.substring(5, 7)
650
+ if (!((/^[0-9]{2}$/.test(departement) && departement !== '00')
651
+ || departement === '2A' || departement === '2B' || departement === '99')) {
652
+ return 'Les chiffres 6 et 7 doivent représenter un département valide.'
653
+ }
654
+
655
+ // Rangs 8-10: code commune ou pays
656
+ const codeCommune = valueWithoutSpaces.substring(7, 10)
657
+ if (!/^[0-9]{3}$/.test(codeCommune)) {
658
+ return 'Les chiffres 8 à 10 doivent représenter un code commune ou pays valide.'
659
+ }
660
+
661
+ // Rangs 11-13: numéro d'ordre
662
+ const numeroOrdre = valueWithoutSpaces.substring(10, 13)
663
+ if (!/^[0-9]{3}$/.test(numeroOrdre)) {
664
+ return 'Les chiffres 11 à 13 doivent représenter un numéro d\'ordre valide.'
665
+ }
666
+
667
+ return true
668
+ },
669
+ message: 'Le numéro de sécurité sociale est invalide.',
670
+ successMessage: 'Le numéro de sécurité sociale est valide.',
671
+ fieldIdentifier: 'Numéro de sécurité sociale',
672
+ },
673
+ },
674
+ ],
675
+ },
676
+ parameters: {
677
+ ...Default.parameters,
678
+ docs: {
679
+ description: {
680
+ story: 'Exemple d\'utilisation avec une règle personnalisée qui prend la prévalence sur la validation standard. Cette règle valide le format du NIR selon les règles officielles françaises : 1er chiffre pour le sexe, 2 chiffres pour l\'année de naissance, 2 chiffres pour le mois, 5 chiffres pour le lieu de naissance et 3 chiffres pour le numéro d\'ordre.',
681
+ },
682
+ },
683
+ sourceCode: [
684
+ {
685
+ name: 'Template',
686
+ code: `
687
+ <template>
688
+ <NirField
689
+ v-model="value"
690
+ :required="false"
691
+ numberLabel="Numéro de sécurité sociale"
692
+ keyLabel="Clé"
693
+ :displayKey="true"
694
+ :customRulesPrecedence="true"
695
+ :customNumberRules="[
696
+ {
697
+ type: 'custom',
698
+ options: {
699
+ validate: (value) => {
700
+ if (!value) return true;
701
+
702
+ // Supprimer les espaces pour la validation
703
+ const valueWithoutSpaces = value.replace(/\\s/g, '');
704
+
705
+ // Vérifier la longueur
706
+ if (valueWithoutSpaces.length !== 13) {
707
+ return 'Le numéro de sécurité sociale doit contenir 13 caractères.';
708
+ }
709
+
710
+ // Vérification selon les règles spécifiques du NIR français
711
+ // Rang 1: sexe (1 pour homme, 2 pour femme)
712
+ if (!/^[12]/.test(valueWithoutSpaces)) {
713
+ return 'Le premier chiffre doit être 1 (homme) ou 2 (femme).';
714
+ }
715
+
716
+ // Rangs 2-3: deux derniers chiffres de l'année de naissance
717
+ if (!/^[12][0-9]{2}/.test(valueWithoutSpaces)) {
718
+ return 'Les chiffres 2 et 3 doivent représenter l'année de naissance.';
719
+ }
720
+
721
+ // Rangs 4-5: mois de naissance (01-12)
722
+ const moisNaissance = valueWithoutSpaces.substring(3, 5);
723
+ if (!/^(0[1-9]|1[0-2])$/.test(moisNaissance)) {
724
+ return 'Les chiffres 4 et 5 doivent représenter un mois valide (01-12).';
725
+ }
726
+
727
+ // Vérification complète du format
728
+ const formatComplet = /^[12][0-9]{2}(0[1-9]|1[0-2])[0-9]{8}$/;
729
+ if (!formatComplet.test(valueWithoutSpaces)) {
730
+ return 'Le format du numéro de sécurité sociale est invalide.';
731
+ }
732
+
733
+ return true;
734
+ },
735
+ message: 'Le numéro de sécurité sociale est invalide.',
736
+ successMessage: 'Le numéro de sécurité sociale est valide.',
737
+ fieldIdentifier: 'Numéro de sécurité sociale',
738
+ }
739
+ }
740
+ ]"
741
+ />
742
+ </template>
743
+ `,
744
+ },
745
+ ],
746
+ },
747
+ render: args => ({
748
+ components: { NirField },
749
+ setup() {
750
+ const value = ref('')
751
+ return { args, value }
752
+ },
753
+ template: `
754
+ <div>
755
+ <h3>Validation avec pattern personnalisé et prévalence</h3>
756
+ <p>Cette démonstration utilise une règle personnalisée qui valide le format du NIR selon le pattern suivant :</p>
757
+ <pre>X XX XX XXX XXX XXX</pre>
758
+ <p>Où :</p>
759
+ <ul>
760
+ <li><strong>X</strong> (rang 1) : sexe (1 pour les hommes, 2 pour les femmes)</li>
761
+ <li><strong>XX</strong> (rangs 2-3) : deux derniers chiffres de l'année de naissance</li>
762
+ <li><strong>XX</strong> (rangs 4-5) : mois de naissance (01-12)</li>
763
+ <li><strong>XXX</strong> (rangs 6-10) : lieu de naissance
764
+ <ul>
765
+ <li>Rangs 6-7 : département (99 si étranger, 2A/2B pour la Corse)</li>
766
+ <li>Rangs 8-10 : code commune ou pays</li>
767
+ </ul>
768
+ </li>
769
+ <li><strong>XXX</strong> (rangs 11-13) : numéro d’ordre</li>
770
+ </ul>
771
+ <p>La propriété <code>customRulesPrecedence</code> est définie à <code>true</code> pour que cette règle soit appliquée avant la validation standard.</p>
772
+ <NirField
773
+ v-model="value"
774
+ v-bind="args"
775
+ class="mt-4"
776
+ />
777
+ <div class="mt-4">Valeur actuelle : {{ value }}</div>
778
+ </div>
779
+ `,
780
+ }),
781
+ }
782
+
611
783
  export const CustomRules: Story = {
612
784
  args: {
613
785
  ...Default.args,
@@ -23,6 +23,7 @@
23
23
  customKeyRules?: ValidationRule[]
24
24
  customNumberWarningRules?: ValidationRule[]
25
25
  customKeyWarningRules?: ValidationRule[]
26
+ customRulesPrecedence?: boolean
26
27
  showSuccessMessages?: boolean
27
28
  width?: string
28
29
  bgColor?: string
@@ -56,6 +57,7 @@
56
57
  customKeyRules: () => [],
57
58
  customNumberWarningRules: () => [],
58
59
  customKeyWarningRules: () => [],
60
+ customRulesPrecedence: false,
59
61
  showSuccessMessages: true,
60
62
  width: '100%',
61
63
  bgColor: undefined,
@@ -165,7 +167,7 @@
165
167
  // Règles de validation
166
168
  const defaultNumberRules = computed(() => {
167
169
  const rules: ValidationRule[] = []
168
-
170
+ if (props.readonly) return
169
171
  if (props.required) {
170
172
  rules.push({
171
173
  type: 'required',
@@ -176,6 +178,15 @@
176
178
  })
177
179
  }
178
180
 
181
+ // Ajout des règles personnalisées avec prévalence si demandé
182
+ if (props.customRulesPrecedence && props.customNumberRules && props.customNumberRules.length > 0) {
183
+ rules.push(...props.customNumberRules.map(rule => ({
184
+ ...rule,
185
+ options: rule.options || {},
186
+ })))
187
+ }
188
+
189
+ // Règle de validation standard du NIR
179
190
  rules.push({
180
191
  type: 'custom',
181
192
  options: {
@@ -194,8 +205,8 @@
194
205
  },
195
206
  })
196
207
 
197
- // Ajout des règles personnalisées
198
- if (props.customNumberRules) {
208
+ // Ajout des règles personnalisées sans prévalence (comportement par défaut)
209
+ if (!props.customRulesPrecedence && props.customNumberRules && props.customNumberRules.length > 0) {
199
210
  rules.push(...props.customNumberRules.map(rule => ({
200
211
  ...rule,
201
212
  options: rule.options || {},
@@ -207,7 +218,7 @@
207
218
 
208
219
  const defaultKeyRules = computed(() => {
209
220
  const rules: ValidationRule[] = []
210
-
221
+ if (props.readonly) return
211
222
  if (props.required) {
212
223
  rules.push({
213
224
  type: 'required',
@@ -324,7 +335,6 @@
324
335
  return validateFields(true)
325
336
  }
326
337
 
327
- // Computed pour statut des champs
328
338
  const hasNumberErrors = computed(() => numberValidation.hasError.value)
329
339
  const hasNumberWarning = computed(() => !hasNumberErrors.value && numberValidation.hasWarning.value)
330
340
  const hasNumberSuccess = computed(() => !hasNumberErrors.value && !hasNumberWarning.value && numberValidation.hasSuccess.value)
@@ -333,7 +343,6 @@
333
343
  const hasKeyWarning = computed(() => !hasKeyErrors.value && keyValidation.hasWarning.value)
334
344
  const hasKeySuccess = computed(() => !hasKeyErrors.value && !hasKeyWarning.value && keyValidation.hasSuccess.value)
335
345
 
336
- // Labels avec astérisque si nécessaire
337
346
  const numberLabelWithAsterisk = computed(() => {
338
347
  return props.required && props.displayAsterisk ? `${props.numberLabel} *` : props.numberLabel
339
348
  })
@@ -342,7 +351,6 @@
342
351
  return props.required && props.displayAsterisk ? `${props.keyLabel} *` : props.keyLabel
343
352
  })
344
353
 
345
- // Gestion des événements
346
354
  const handleNumberInput = () => {
347
355
  emitValue()
348
356
  validateFields()
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -161,7 +161,7 @@ export const Legende: StoryObj = {
161
161
  </div>
162
162
  <div class="mt-4">
163
163
  <p>Rapport d’audit manuel : <a href="/audits/NotificationBar.xlsx" style="color:#0C41BD;">Voir le rapport</a></p>
164
- <p style="color: grey; font-size: 14px">Correctifs en cours (<a href="https://github.com/assurance-maladie-digital/design-system/issues/3967" target="_blank" style="color:#0C41BD;">issue #3967</a>)</p>
164
+ <p style="color: grey; font-size: 14px">Correctifs en cours (<a href="https://github.com/assurance-maladie-digital/design-system/issues/4029" target="_blank" style="color:#0C41BD;">issue #4029</a>)</p>
165
165
  </div>
166
166
  `,
167
167
  }
@@ -1,4 +1,4 @@
1
- import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
1
+ import { ExpertiseLevelEnum } from '@/common/constants/ExpertiseLevelEnum'
2
2
 
3
3
  export const AccessibiliteItemsIndeterminate = [
4
4
 
@@ -53,6 +53,20 @@ const meta: Meta<typeof NotificationBar> = {
53
53
  },
54
54
  },
55
55
  },
56
+ // @ts-expect-error the prop is passed down
57
+ type: {
58
+ control: 'select',
59
+ options: ['info', 'success', 'warning', 'error'],
60
+ table: {
61
+ type: {
62
+ summary: 'info | success | warning | error',
63
+ },
64
+ defaultValue: {
65
+ summary: 'info',
66
+ },
67
+ category: 'props',
68
+ },
69
+ },
56
70
  },
57
71
  }
58
72