@cnamts/synapse 1.0.23 → 1.0.24

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 (292) hide show
  1. package/dist/AutocompleteFilter-BWLR3U7W.js +114 -0
  2. package/dist/AutocompleteFilter-D9jzRzAL.cjs +1 -0
  3. package/dist/{DateFilter-Dc-gSGwk.js → DateFilter-BpwFexzi.js} +1 -1
  4. package/dist/DateFilter-DTUl8hb1.cjs +1 -0
  5. package/dist/{NumberFilter-vP38Wp6j.js → NumberFilter-Bz_NTdX9.js} +3 -3
  6. package/dist/NumberFilter-MAEojdk0.cjs +1 -0
  7. package/dist/PeriodFilter-CC4WgIhl.cjs +1 -0
  8. package/dist/{PeriodFilter-Ba1uYUnT.js → PeriodFilter-DX_wy9g-.js} +1 -1
  9. package/dist/SelectFilter-BR3fvl-a.cjs +1 -0
  10. package/dist/SelectFilter-xqiPtPgX.js +135 -0
  11. package/dist/{TextFilter-B84dpnoq.js → TextFilter-BBl3JFqK.js} +7 -7
  12. package/dist/TextFilter-CCfYFl5F.cjs +1 -0
  13. package/dist/apLightTheme-CFSRrjv2.cjs +1 -0
  14. package/dist/apLightTheme-D1P4jcD0.js +1231 -0
  15. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7022 -9616
  16. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +2 -2
  17. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +2 -2
  18. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +40 -40
  19. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +60 -60
  20. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +7168 -9762
  21. package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -2
  22. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +7501 -10095
  23. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +21 -21
  24. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +41 -41
  25. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +2 -2
  26. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +20 -498
  27. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +108 -146
  28. package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +5 -5
  29. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +12 -16
  30. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +8 -8
  31. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +28 -506
  32. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +28 -506
  33. package/dist/components/Customs/SyTextField/SyTextField.d.ts +65 -85
  34. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +627 -771
  35. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +315 -402
  36. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +112 -155
  37. package/dist/components/DatePicker/composables/index.d.ts +1 -0
  38. package/dist/components/DatePicker/composables/useDatePickerFocusTrap.d.ts +11 -0
  39. package/dist/components/DatePicker/composables/useDateTextField.d.ts +4 -4
  40. package/dist/components/DatePicker/composables/useDateValidation.d.ts +3 -3
  41. package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +2 -2
  42. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +2 -2
  43. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +4 -4
  44. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +20 -28
  45. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +3 -3
  46. package/dist/components/MonthPicker/MonthPicker.d.ts +86 -122
  47. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +85 -121
  48. package/dist/components/NirField/NirField.d.ts +206 -270
  49. package/dist/components/NirField/locales.d.ts +10 -10
  50. package/dist/components/NirField/useNirValidation.d.ts +64 -0
  51. package/dist/components/PasswordField/PasswordField.d.ts +8 -9
  52. package/dist/components/PeriodField/PeriodField.d.ts +1352 -1640
  53. package/dist/components/PhoneField/PhoneField.d.ts +88 -124
  54. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +12 -12
  55. package/dist/components/SyTextArea/SyTextArea.d.ts +34 -14
  56. package/dist/components/SyTextArea/useDefaultValidationRules.d.ts +11 -0
  57. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +9 -6
  58. package/dist/components/Tables/SyTable/SyTable.d.ts +9 -6
  59. package/dist/components/Tables/common/SyTableFilter.d.ts +2 -3
  60. package/dist/components/Tables/common/SyTablePagination.d.ts +17 -19
  61. package/dist/components/Tables/common/filters/AutocompleteFilter.d.ts +120 -0
  62. package/dist/components/Tables/common/filters/locales.d.ts +0 -1
  63. package/dist/components/Tables/common/types.d.ts +19 -3
  64. package/dist/components/Tables/common/useClickableTableRow.d.ts +17 -0
  65. package/dist/components/Tables/common/usePagination.d.ts +3 -1
  66. package/dist/components/Tables/common/usePinnedColumns.d.ts +31 -0
  67. package/dist/components/Tables/common/useTableHeaders.d.ts +2 -0
  68. package/dist/components/Tables/common/useTableRowCheckboxAccessibility.d.ts +5 -0
  69. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +6 -6
  70. package/dist/composables/date/useDatePickerAccessibility.d.ts +1 -1
  71. package/dist/composables/rules/useFieldValidation.d.ts +4 -4
  72. package/dist/composables/unifyValidation/useCustomValidation.d.ts +8 -0
  73. package/dist/composables/unifyValidation/useValidation.d.ts +102 -0
  74. package/dist/composables/unifyValidation/useVuetifyValidation.d.ts +18 -0
  75. package/dist/composables/useFormFieldErrorHandling.d.ts +2 -2
  76. package/dist/composables/validation/useFormValidation.d.ts +11 -2
  77. package/dist/composables/validation/useValidation.d.ts +15 -9
  78. package/dist/design-system-v3.d.ts +2 -0
  79. package/dist/design-system-v3.js +186 -187
  80. package/dist/design-system-v3.umd.cjs +1 -1066
  81. package/dist/{main-aLKwdMi1.js → main-BtTqyn4z.js} +16434 -15672
  82. package/dist/main-C1e3eoxd.cjs +1067 -0
  83. package/dist/main.d.ts +0 -1
  84. package/dist/synapse.css +1 -0
  85. package/dist/tooth-11-D3sLWv2n.cjs +1 -0
  86. package/dist/tooth-12-CXrLuH03.cjs +1 -0
  87. package/dist/tooth-13-BSfo5fpT.cjs +1 -0
  88. package/dist/tooth-14-DMzulx0h.cjs +1 -0
  89. package/dist/tooth-15-BKRFVi-9.cjs +1 -0
  90. package/dist/tooth-16-CpuxAbuM.cjs +1 -0
  91. package/dist/tooth-17-BPoahUdg.cjs +1 -0
  92. package/dist/tooth-18-DhHJz8sy.cjs +1 -0
  93. package/dist/tooth-21-Dgd5hn_X.cjs +1 -0
  94. package/dist/tooth-22-C2Tn19sB.cjs +1 -0
  95. package/dist/tooth-23-C9uaaSGb.cjs +1 -0
  96. package/dist/tooth-24-BrK9UGpf.cjs +1 -0
  97. package/dist/tooth-25-CE_EfGNp.cjs +1 -0
  98. package/dist/tooth-26-Ctv4i9Fy.cjs +1 -0
  99. package/dist/tooth-27-C5J7JkWM.cjs +1 -0
  100. package/dist/tooth-28-Z9oWqjo0.cjs +1 -0
  101. package/dist/tooth-31-BrYqmkTi.cjs +1 -0
  102. package/dist/tooth-32-BNNR0oCZ.cjs +1 -0
  103. package/dist/tooth-33-DuxvqO2J.cjs +1 -0
  104. package/dist/tooth-34-BCSCXMB6.cjs +1 -0
  105. package/dist/tooth-35-BLUXkX88.cjs +1 -0
  106. package/dist/tooth-36-IrKHYqlA.cjs +1 -0
  107. package/dist/tooth-37-BYqpdMwo.cjs +1 -0
  108. package/dist/tooth-38-B_eNXXdu.cjs +1 -0
  109. package/dist/tooth-41-Ddva4Ot8.cjs +1 -0
  110. package/dist/tooth-42-szcDqlM0.cjs +1 -0
  111. package/dist/tooth-43-B3ka6rQm.cjs +1 -0
  112. package/dist/tooth-44-CazyQucj.cjs +1 -0
  113. package/dist/tooth-45-B4HQtc8n.cjs +1 -0
  114. package/dist/tooth-46-BPM40gbG.cjs +1 -0
  115. package/dist/tooth-47-Dvr20dlh.cjs +1 -0
  116. package/dist/tooth-48-Bd8ljGsF.cjs +1 -0
  117. package/dist/tooth-51-OBpwCOF3.cjs +1 -0
  118. package/dist/tooth-52-aKxyHcmq.cjs +1 -0
  119. package/dist/tooth-53-vCwJjTOc.cjs +1 -0
  120. package/dist/tooth-54-DsWu2iFy.cjs +1 -0
  121. package/dist/tooth-55-BxC1X2Dn.cjs +1 -0
  122. package/dist/tooth-61-BbLvxMQi.cjs +1 -0
  123. package/dist/tooth-62-CmTkWczP.cjs +1 -0
  124. package/dist/tooth-63-DI7l_2qI.cjs +1 -0
  125. package/dist/tooth-64-B21sOsJh.cjs +1 -0
  126. package/dist/tooth-65-D2ZC2VEr.cjs +1 -0
  127. package/dist/tooth-71-D473PPO5.cjs +1 -0
  128. package/dist/tooth-72-Drh1wnNu.cjs +1 -0
  129. package/dist/tooth-73-DzlwYI23.cjs +1 -0
  130. package/dist/tooth-74-8aGvcZPg.cjs +1 -0
  131. package/dist/tooth-75-BFK7At_r.cjs +1 -0
  132. package/dist/tooth-81-BZmR-I0M.cjs +1 -0
  133. package/dist/tooth-82-euVfUUZV.cjs +1 -0
  134. package/dist/tooth-83-KV010j64.cjs +1 -0
  135. package/dist/tooth-84-BBg1RjhZ.cjs +1 -0
  136. package/dist/tooth-85-Cr-kc1wM.cjs +1 -0
  137. package/dist/vuetifyConfig.js +561 -0
  138. package/dist/vuetifyConfig.umd.cjs +1 -0
  139. package/package.json +10 -4
  140. package/src/assets/overrides/_btns.scss +0 -6
  141. package/src/assets/overrides/_icons.scss +9 -1
  142. package/src/assets/overrides/_typography.scss +0 -10
  143. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +2 -2
  144. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +1 -1
  145. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +2 -2
  146. package/src/components/Captcha/accessibilite/Accessibility.mdx +86 -8
  147. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +12 -12
  148. package/src/components/ChipList/ChipList.stories.ts +0 -15
  149. package/src/components/ChipList/ChipList.vue +5 -1
  150. package/src/components/ChipList/accessibilite/Accessibility.mdx +83 -10
  151. package/src/components/ChipList/tests/ChipList.a11y.spec.ts +41 -0
  152. package/src/components/Customs/Selects/SelectBtnField/accessibilite/Accessibility.mdx +0 -9
  153. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +22 -5
  154. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +143 -0
  155. package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +14 -10
  156. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -4
  157. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.vue +8 -9
  158. package/src/components/Customs/Selects/SyInputSelect/tests/SyInputSelect.spec.ts +10 -10
  159. package/src/components/Customs/Selects/SySelect/SySelect.vue +14 -11
  160. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +54 -0
  161. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +6 -9
  162. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +10 -16
  163. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +16 -11
  164. package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +35 -0
  165. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.a11y.spec.ts +134 -2
  166. package/src/components/Customs/SyForm/SyForm.stories.ts +31 -5
  167. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +4 -7
  168. package/src/components/Customs/SyTextField/SyTextField.mdx +1 -1
  169. package/src/components/Customs/SyTextField/SyTextField.stories.ts +29 -27
  170. package/src/components/Customs/SyTextField/SyTextField.vue +154 -157
  171. package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +32 -0
  172. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +120 -11
  173. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +62 -58
  174. package/src/components/DatePicker/CalendarMode/DatePicker.vue +330 -223
  175. package/src/components/DatePicker/CalendarMode/accessibilite/Accessibility.mdx +82 -0
  176. package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +141 -0
  177. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +2 -56
  178. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +195 -159
  179. package/src/components/DatePicker/ComplexDatePicker/accessibilite/Accessibility.mdx +76 -0
  180. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +10 -10
  181. package/src/components/DatePicker/DatePickerValidationExample/CalendarMode.stories.ts +8 -8
  182. package/src/components/DatePicker/DatePickerValidationExample/ComplexDatePicker.stories.ts +106 -8
  183. package/src/components/DatePicker/DatePickerValidationExample/DateTextInput.stories.ts +12 -11
  184. package/src/components/DatePicker/DatePickerValidationExample/MultiMode.stories.ts +12 -12
  185. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +0 -12
  186. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +63 -57
  187. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +3 -0
  188. package/src/components/DatePicker/DateTextInput/accessibilite/Accessibility.mdx +66 -0
  189. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +52 -1
  190. package/src/components/DatePicker/composables/index.ts +1 -0
  191. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +109 -65
  192. package/src/components/DatePicker/composables/tests/useDatePickerFocusTrap.spec.ts +138 -0
  193. package/src/components/DatePicker/composables/tests/useDateValidation.spec.ts +74 -18
  194. package/src/components/DatePicker/composables/tests/useInputBlurHandler.spec.ts +39 -0
  195. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +91 -0
  196. package/src/components/DatePicker/composables/useCalendarKeyboardNavigation.ts +442 -36
  197. package/src/components/DatePicker/composables/useDatePickerFocusTrap.ts +92 -0
  198. package/src/components/DatePicker/composables/useDateTextField.ts +7 -6
  199. package/src/components/DatePicker/composables/useDateValidation.ts +36 -35
  200. package/src/components/DatePicker/composables/useInputBlurHandler.ts +3 -3
  201. package/src/components/DatePicker/composables/useManualDateValidation.ts +6 -2
  202. package/src/components/DiacriticPicker/accessibilite/Accessibility.mdx +76 -8
  203. package/src/components/HeaderBar/HeaderBar.stories.ts +14 -2
  204. package/src/components/Logo/accessibilite/Accessibility.mdx +73 -11
  205. package/src/components/LogoBrandSection/accessibilite/Accessibility.mdx +85 -9
  206. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +3 -1
  207. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +4 -5
  208. package/src/components/MonthPicker/tests/MonthPicker.spec.ts +2 -1
  209. package/src/components/MonthPicker/tests/__snapshots__/MonthPicker.spec.ts.snap +7 -7
  210. package/src/components/NirField/NirField.stories.ts +4 -0
  211. package/src/components/NirField/NirField.vue +64 -260
  212. package/src/components/NirField/accessibilite/Accessibility.mdx +2 -2
  213. package/src/components/NirField/locales.ts +1 -1
  214. package/src/components/NirField/tests/NirField.spec.ts +6 -0
  215. package/src/components/NirField/useNirValidation.ts +271 -0
  216. package/src/components/PasswordField/PasswordField.stories.ts +4 -4
  217. package/src/components/PasswordField/PasswordField.vue +18 -24
  218. package/src/components/PasswordField/tests/PasswordField.spec.ts +6 -3
  219. package/src/components/PeriodField/PeriodField.stories.ts +4 -4
  220. package/src/components/PeriodField/PeriodField.vue +57 -57
  221. package/src/components/PeriodField/__tests__/PeriodField.async.spec.ts +32 -0
  222. package/src/components/PeriodField/accessibilite/Accessibility.mdx +68 -8
  223. package/src/components/PeriodField/tests/PeriodField.spec.ts +28 -2
  224. package/src/components/PhoneField/PhoneField.vue +5 -6
  225. package/src/components/PhoneField/tests/PhoneField.spec.ts +1 -0
  226. package/src/components/RangeField/RangeField.vue +6 -0
  227. package/src/components/SyTextArea/SyTextArea.stories.ts +138 -2
  228. package/src/components/SyTextArea/SyTextArea.vue +53 -23
  229. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +126 -3
  230. package/src/components/SyTextArea/useDefaultValidationRules.ts +74 -0
  231. package/src/components/Tables/SyServerTable/SyServerTable.mdx +25 -0
  232. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +673 -1
  233. package/src/components/Tables/SyServerTable/SyServerTable.vue +148 -91
  234. package/src/components/Tables/SyServerTable/tests/SyServerTable.a11y.spec.ts +58 -0
  235. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +122 -0
  236. package/src/components/Tables/SyTable/SyTable.mdx +25 -0
  237. package/src/components/Tables/SyTable/SyTable.stories.ts +452 -1
  238. package/src/components/Tables/SyTable/SyTable.vue +130 -56
  239. package/src/components/Tables/SyTable/tests/SyTable.a11y.spec.ts +57 -0
  240. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +108 -0
  241. package/src/components/Tables/common/SyTableFilter.vue +22 -2
  242. package/src/components/Tables/common/TableHeader.vue +5 -1
  243. package/src/components/Tables/common/filters/AutocompleteFilter.vue +160 -0
  244. package/src/components/Tables/common/filters/NumberFilter.vue +1 -1
  245. package/src/components/Tables/common/filters/SelectFilter.vue +10 -11
  246. package/src/components/Tables/common/filters/TextFilter.vue +1 -1
  247. package/src/components/Tables/common/filters/getFilterComponent.ts +8 -1
  248. package/src/components/Tables/common/filters/locales.ts +0 -1
  249. package/src/components/Tables/common/filters/tests/AutocompleteFilter.a11y.spec.ts +110 -0
  250. package/src/components/Tables/common/filters/tests/AutocompleteFilter.spec.ts +203 -0
  251. package/src/components/Tables/common/filters/tests/SelectFilter.a11y.spec.ts +104 -0
  252. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +152 -16
  253. package/src/components/Tables/common/tableFilterUtils.ts +3 -0
  254. package/src/components/Tables/common/tableStyles.scss +48 -4
  255. package/src/components/Tables/common/tests/filterByRange.spec.ts +2 -1
  256. package/src/components/Tables/common/types.ts +13 -4
  257. package/src/components/Tables/common/useClickableTableRow.ts +103 -0
  258. package/src/components/Tables/common/usePagination.ts +13 -0
  259. package/src/components/Tables/common/usePinnedColumns.ts +237 -0
  260. package/src/components/Tables/common/useTableHeaders.ts +3 -3
  261. package/src/components/Tables/common/useTableRowCheckboxAccessibility.ts +41 -0
  262. package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +2 -6
  263. package/src/composables/date/useDatePickerAccessibility.ts +42 -207
  264. package/src/composables/rules/tests/useFieldValidation.spec.ts +120 -120
  265. package/src/composables/rules/useFieldValidation.ts +34 -17
  266. package/src/composables/unifyValidation/tests/useCustomValidation.spec.ts +601 -0
  267. package/src/composables/unifyValidation/tests/useValidation.spec.ts +2048 -0
  268. package/src/composables/unifyValidation/tests/useVuetifyValidation.spec.ts +184 -0
  269. package/src/composables/unifyValidation/useCustomValidation.ts +95 -0
  270. package/src/composables/unifyValidation/useValidation.ts +190 -0
  271. package/src/composables/unifyValidation/useVuetifyValidation.ts +54 -0
  272. package/src/composables/useFormFieldErrorHandling.ts +4 -7
  273. package/src/composables/validation/tests/useFormValidation.spec.ts +14 -0
  274. package/src/composables/validation/tests/useValidation.spec.ts +116 -21
  275. package/src/composables/validation/useFormValidation.ts +20 -13
  276. package/src/composables/validation/useValidatable.ts +8 -1
  277. package/src/composables/validation/useValidation.ts +135 -99
  278. package/src/composantsVuetify/Introduction.mdx +48 -0
  279. package/src/composantsVuetify/VBtn/VBtn.mdx +72 -0
  280. package/src/composantsVuetify/VBtn/v-btn.stories.ts +121 -0
  281. package/src/composantsVuetify/VTooltip/VTooltip.mdx +32 -0
  282. package/src/composantsVuetify/VTooltip/v-tooltip.stories.ts +95 -0
  283. package/src/designTokens/tokens/cnam/cnamSemantic.ts +2 -2
  284. package/src/main.ts +0 -2
  285. package/src/stories/Components/Components.stories.ts +74 -9
  286. package/src/stories/Demarrer/Accueil.stories.ts +3 -3
  287. package/src/stories/GuideDuDev/Amelipro.mdx +15 -0
  288. package/src/stories/GuideDuDev/Amelipro.stories.ts +209 -0
  289. package/src/stories/GuideDuDev/vuetifyOptions.mdx +3 -3
  290. package/dist/SelectFilter-BioGT6Nn.js +0 -136
  291. package/dist/style.css +0 -1
  292. package/src/components/DatePicker/Accessibilite.mdx +0 -14
@@ -27,7 +27,7 @@ describe('useDateValidation', () => {
27
27
  getRangeValidationError.value = ''
28
28
  })
29
29
 
30
- it('devrait retourner valid=true en mode noCalendar', () => {
30
+ it('devrait retourner valid=true en mode noCalendar', async () => {
31
31
  const { validateDates } = useDateValidation({
32
32
  noCalendar: true,
33
33
  required: true,
@@ -42,12 +42,12 @@ describe('useDateValidation', () => {
42
42
  successes,
43
43
  })
44
44
 
45
- const result = validateDates()
45
+ const result = await validateDates()
46
46
  expect(result.hasError).toBe(false)
47
47
  expect(mockClearValidation).not.toHaveBeenCalled()
48
48
  })
49
49
 
50
- it('devrait appeler clearValidation lors de la validation', () => {
50
+ it('devrait appeler clearValidation lors de la validation', async () => {
51
51
  const { validateDates } = useDateValidation({
52
52
  required: false,
53
53
  selectedDates,
@@ -61,11 +61,11 @@ describe('useDateValidation', () => {
61
61
  successes,
62
62
  })
63
63
 
64
- validateDates()
64
+ await validateDates()
65
65
  expect(mockClearValidation).toHaveBeenCalledTimes(1)
66
66
  })
67
67
 
68
- it('devrait retourner une erreur si le champ est requis et vide', () => {
68
+ it('devrait retourner une erreur si le champ est requis et vide', async () => {
69
69
  const { validateDates } = useDateValidation({
70
70
  required: true,
71
71
  selectedDates,
@@ -79,13 +79,13 @@ describe('useDateValidation', () => {
79
79
  successes,
80
80
  })
81
81
 
82
- const result = validateDates()
82
+ const result = await validateDates()
83
83
  expect(result.hasError).toBe(true)
84
84
  expect(result.state.errors[0]).toBe('La date est requise.')
85
85
  expect(errors.value).toContain('La date est requise.')
86
86
  })
87
87
 
88
- it('ne devrait pas afficher d\'erreur si disableErrorHandling=true', () => {
88
+ it('ne devrait pas afficher d\'erreur si disableErrorHandling=true', async () => {
89
89
  const { validateDates } = useDateValidation({
90
90
  required: true,
91
91
  disableErrorHandling: true,
@@ -100,11 +100,11 @@ describe('useDateValidation', () => {
100
100
  successes,
101
101
  })
102
102
 
103
- validateDates()
103
+ await validateDates()
104
104
  expect(errors.value).toHaveLength(0)
105
105
  })
106
106
 
107
- it('devrait appeler validateField pour chaque date dans un tableau', () => {
107
+ it('devrait appeler validateField pour chaque date dans un tableau', async () => {
108
108
  const today = new Date()
109
109
  const tomorrow = new Date(today)
110
110
  tomorrow.setDate(today.getDate() + 1)
@@ -125,13 +125,13 @@ describe('useDateValidation', () => {
125
125
  successes,
126
126
  })
127
127
 
128
- validateDates()
128
+ await validateDates()
129
129
  expect(mockValidateField).toHaveBeenCalledTimes(2)
130
130
  expect(mockValidateField).toHaveBeenCalledWith(today, [], [])
131
131
  expect(mockValidateField).toHaveBeenCalledWith(tomorrow, [], [])
132
132
  })
133
133
 
134
- it('devrait appeler validateField avec les règles personnalisées', () => {
134
+ it('devrait appeler validateField avec les règles personnalisées', async () => {
135
135
  selectedDates.value = new Date()
136
136
 
137
137
  const customRules = [{ type: 'custom', options: {} }]
@@ -153,7 +153,7 @@ describe('useDateValidation', () => {
153
153
  successes,
154
154
  })
155
155
 
156
- validateDates()
156
+ await validateDates()
157
157
  expect(mockValidateField).toHaveBeenCalledWith(
158
158
  selectedDates.value,
159
159
  customRules,
@@ -161,7 +161,7 @@ describe('useDateValidation', () => {
161
161
  )
162
162
  })
163
163
 
164
- it('devrait ajouter l\'erreur de plage si displayRange=true et la plage est invalide', () => {
164
+ it('devrait ajouter l\'erreur de plage si displayRange=true et la plage est invalide', async () => {
165
165
  selectedDates.value = [new Date(), new Date()]
166
166
  currentRangeIsValid.value = false
167
167
  getRangeValidationError.value = 'La date de fin doit être postérieure ou égale à la date de début'
@@ -181,12 +181,12 @@ describe('useDateValidation', () => {
181
181
  successes,
182
182
  })
183
183
 
184
- const result = validateDates()
184
+ const result = await validateDates()
185
185
  expect(result.hasError).toBe(true)
186
186
  expect(errors.value).toContain('La date de fin doit être postérieure ou égale à la date de début')
187
187
  })
188
188
 
189
- it('devrait dédoublonner les messages d\'erreur', () => {
189
+ it('devrait dédoublonner les messages d\'erreur', async () => {
190
190
  selectedDates.value = [new Date(), new Date()]
191
191
 
192
192
  // Simuler des erreurs dupliquées
@@ -216,12 +216,12 @@ describe('useDateValidation', () => {
216
216
  successes,
217
217
  })
218
218
 
219
- validateDates()
219
+ await validateDates()
220
220
  // Même avec 2 appels qui ajoutent la même erreur, on ne devrait avoir qu'une seule occurrence
221
221
  expect(errors.value).toEqual(['Erreur dupliquée'])
222
222
  })
223
223
 
224
- it('devrait forcer la validation avec validateOnSubmit', () => {
224
+ it('devrait forcer la validation avec validateOnSubmit', async () => {
225
225
  isUpdatingFromInternal.value = true
226
226
  selectedDates.value = null
227
227
 
@@ -238,8 +238,64 @@ describe('useDateValidation', () => {
238
238
  successes,
239
239
  })
240
240
 
241
- const result = validateOnSubmit()
241
+ const result = await validateOnSubmit()
242
242
  expect(result.hasError).toBe(true)
243
243
  expect(errors.value).toContain('La date est requise.')
244
244
  })
245
+
246
+ it('gère validateField asynchrone dans validateDates', async () => {
247
+ selectedDates.value = new Date('2025-01-01')
248
+ mockValidateField.mockResolvedValue({
249
+ hasError: true,
250
+ hasWarning: false,
251
+ hasSuccess: false,
252
+ state: { errors: ['Erreur async'], warnings: [], successes: [] },
253
+ })
254
+
255
+ const { validateDates } = useDateValidation({
256
+ selectedDates,
257
+ isUpdatingFromInternal,
258
+ currentRangeIsValid,
259
+ getRangeValidationError,
260
+ clearValidation: mockClearValidation,
261
+ validateField: mockValidateField,
262
+ errors,
263
+ warnings,
264
+ successes,
265
+ })
266
+
267
+ const result = await validateDates()
268
+ expect(result.hasError).toBe(true)
269
+ expect(mockValidateField).toHaveBeenCalledTimes(1)
270
+ })
271
+
272
+ it('validateOnSubmit attend la validation asynchrone', async () => {
273
+ selectedDates.value = new Date('2025-01-01')
274
+ mockValidateField.mockImplementation(() => new Promise((resolve) => {
275
+ setTimeout(() => {
276
+ resolve({
277
+ hasError: true,
278
+ hasWarning: false,
279
+ hasSuccess: false,
280
+ state: { errors: ['Erreur async submit'], warnings: [], successes: [] },
281
+ })
282
+ }, 0)
283
+ }))
284
+
285
+ const { validateOnSubmit } = useDateValidation({
286
+ selectedDates,
287
+ isUpdatingFromInternal,
288
+ currentRangeIsValid,
289
+ getRangeValidationError,
290
+ clearValidation: mockClearValidation,
291
+ validateField: mockValidateField,
292
+ errors,
293
+ warnings,
294
+ successes,
295
+ })
296
+
297
+ const result = await validateOnSubmit()
298
+ expect(result.hasError).toBe(true)
299
+ expect(mockValidateField).toHaveBeenCalledTimes(1)
300
+ })
245
301
  })
@@ -291,6 +291,45 @@ describe('useInputBlurHandler', () => {
291
291
  // au lieu d'appeler validateManualInput
292
292
  expect(mockUpdateModel).toHaveBeenCalledWith(null)
293
293
  })
294
+
295
+ it('attend validateManualInput quand il est asynchrone', async () => {
296
+ displayFormattedDate.value = '01/01/2023'
297
+
298
+ let resolveValidation: ((value: boolean) => void) | undefined
299
+ mockValidateManualInput.mockImplementation(() => new Promise<boolean>((resolve) => {
300
+ resolveValidation = resolve
301
+ }))
302
+
303
+ const { handleInputBlur } = useInputBlurHandler({
304
+ format: 'DD/MM/YYYY',
305
+ displayFormattedDate,
306
+ hasInteracted,
307
+ isManualInputActive,
308
+ isUpdatingFromInternal,
309
+ selectedDates,
310
+ errors,
311
+ validateDateFormat: mockValidateDateFormat,
312
+ parseDate: mockParseDate,
313
+ formatDate: mockFormatDate,
314
+ updateModel: mockUpdateModel,
315
+ validateManualInput: mockValidateManualInput,
316
+ emitBlur: mockEmitBlur,
317
+ })
318
+
319
+ let resolved = false
320
+ const blurPromise = handleInputBlur().then(() => {
321
+ resolved = true
322
+ })
323
+
324
+ await Promise.resolve()
325
+ expect(resolved).toBe(false)
326
+
327
+ resolveValidation?.(true)
328
+ await blurPromise
329
+
330
+ expect(resolved).toBe(true)
331
+ expect(mockValidateManualInput).toHaveBeenCalledWith('01/01/2023')
332
+ })
294
333
  })
295
334
 
296
335
  // Nouveaux tests pour les plages de dates
@@ -98,6 +98,70 @@ describe('useManualDateValidation', () => {
98
98
 
99
99
  expect(result).toBe(true)
100
100
  expect(errors.value).toHaveLength(0)
101
+ expect(mockValidateDateFormat).not.toHaveBeenCalled()
102
+ })
103
+
104
+ it('devrait retourner true pour un squelette avec format DD/MM/YYYY', () => {
105
+ mockIsDateComplete.mockReturnValue(false)
106
+
107
+ const { validateManualInput } = useManualDateValidation({
108
+ format: 'DD/MM/YYYY',
109
+ hasInteracted,
110
+ errors,
111
+ clearValidation: mockClearValidation,
112
+ validateDateFormat: mockValidateDateFormat,
113
+ isDateComplete: mockIsDateComplete,
114
+ parseDate: mockParseDate,
115
+ validateField: mockValidateField,
116
+ })
117
+
118
+ const result = validateManualInput('__//____')
119
+
120
+ expect(result).toBe(true)
121
+ expect(errors.value).toHaveLength(0)
122
+ expect(mockValidateDateFormat).not.toHaveBeenCalled()
123
+ })
124
+
125
+ it('devrait retourner true pour un squelette avec format YYYY-MM-DD', () => {
126
+ mockIsDateComplete.mockReturnValue(false)
127
+
128
+ const { validateManualInput } = useManualDateValidation({
129
+ format: 'YYYY-MM-DD',
130
+ hasInteracted,
131
+ errors,
132
+ clearValidation: mockClearValidation,
133
+ validateDateFormat: mockValidateDateFormat,
134
+ isDateComplete: mockIsDateComplete,
135
+ parseDate: mockParseDate,
136
+ validateField: mockValidateField,
137
+ })
138
+
139
+ const result = validateManualInput('____-__-__')
140
+
141
+ expect(result).toBe(true)
142
+ expect(errors.value).toHaveLength(0)
143
+ expect(mockValidateDateFormat).not.toHaveBeenCalled()
144
+ })
145
+
146
+ it('devrait retourner true pour un squelette avec format DD.MM.YYYY', () => {
147
+ mockIsDateComplete.mockReturnValue(false)
148
+
149
+ const { validateManualInput } = useManualDateValidation({
150
+ format: 'DD.MM.YYYY',
151
+ hasInteracted,
152
+ errors,
153
+ clearValidation: mockClearValidation,
154
+ validateDateFormat: mockValidateDateFormat,
155
+ isDateComplete: mockIsDateComplete,
156
+ parseDate: mockParseDate,
157
+ validateField: mockValidateField,
158
+ })
159
+
160
+ const result = validateManualInput('__.__.____')
161
+
162
+ expect(result).toBe(true)
163
+ expect(errors.value).toHaveLength(0)
164
+ expect(mockValidateDateFormat).not.toHaveBeenCalled()
101
165
  })
102
166
 
103
167
  it('devrait retourner false et ajouter une erreur si le format est invalide', () => {
@@ -238,4 +302,31 @@ describe('useManualDateValidation', () => {
238
302
  result = validateManualInput('01/01/2023')
239
303
  expect(result).toBe(false)
240
304
  })
305
+
306
+ it('devrait gérer validateField asynchrone', async () => {
307
+ mockIsDateComplete.mockReturnValue(true)
308
+ mockValidateDateFormat.mockReturnValue({ isValid: true, message: '' })
309
+ mockParseDate.mockReturnValue(new Date('2023-01-01'))
310
+ mockValidateField.mockResolvedValue({
311
+ hasError: false,
312
+ hasWarning: false,
313
+ hasSuccess: true,
314
+ state: { errors: [], warnings: [], successes: ['Valide async'] },
315
+ })
316
+
317
+ const { validateManualInput } = useManualDateValidation({
318
+ format: 'DD/MM/YYYY',
319
+ hasInteracted,
320
+ errors,
321
+ clearValidation: mockClearValidation,
322
+ validateDateFormat: mockValidateDateFormat,
323
+ isDateComplete: mockIsDateComplete,
324
+ parseDate: mockParseDate,
325
+ validateField: mockValidateField,
326
+ })
327
+
328
+ const result = await validateManualInput('01/01/2023')
329
+ expect(result).toBe(true)
330
+ expect(mockValidateField).toHaveBeenCalledTimes(1)
331
+ })
241
332
  })