@cnamts/synapse 1.0.22 → 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 (426) hide show
  1. package/dist/AutocompleteFilter-BWLR3U7W.js +114 -0
  2. package/dist/AutocompleteFilter-D9jzRzAL.cjs +1 -0
  3. package/dist/{DateFilter-B5n-ZkLi.js → DateFilter-BpwFexzi.js} +1 -1
  4. package/dist/DateFilter-DTUl8hb1.cjs +1 -0
  5. package/dist/{NumberFilter-CtiZ9uj8.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-DzqiMb-b.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-BOFRNfcX.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/Accordion/Accordion.d.ts +13 -2
  16. package/dist/components/Accordion/composables/useAccordionState.d.ts +2 -1
  17. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7022 -9616
  18. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +2 -2
  19. package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +1 -1
  20. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +1 -1
  21. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +2 -2
  22. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +40 -40
  23. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +61 -61
  24. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +7168 -9762
  25. package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -2
  26. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +7506 -10100
  27. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +22 -22
  28. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +42 -42
  29. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +2 -2
  30. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +20 -498
  31. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +130 -147
  32. package/dist/components/Customs/Selects/SyAutocomplete/locales.d.ts +5 -0
  33. package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +6 -6
  34. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +13 -17
  35. package/dist/components/Customs/Selects/SySelect/locales.d.ts +1 -0
  36. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +9 -9
  37. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +29 -507
  38. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +29 -507
  39. package/dist/components/Customs/SyTextField/SyTextField.d.ts +64 -81
  40. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +640 -780
  41. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +322 -407
  42. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +114 -156
  43. package/dist/components/DatePicker/composables/index.d.ts +1 -0
  44. package/dist/components/DatePicker/composables/useDatePickerFocusTrap.d.ts +11 -0
  45. package/dist/components/DatePicker/composables/useDateTextField.d.ts +4 -4
  46. package/dist/components/DatePicker/composables/useDateValidation.d.ts +3 -3
  47. package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +2 -2
  48. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +2 -2
  49. package/dist/components/ErrorPage/ErrorPage.d.ts +3 -1
  50. package/dist/components/FileList/UploadItem/UploadItem.d.ts +6 -0
  51. package/dist/components/FileList/UploadItem/locales.d.ts +1 -4
  52. package/dist/components/FileUpload/FileUploadContent.d.ts +2 -0
  53. package/dist/components/FileUpload/validateFiles.d.ts +2 -1
  54. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -1
  55. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +2 -1
  56. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +6 -5
  57. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +20 -28
  58. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +3 -3
  59. package/dist/components/MonthPicker/MonthPicker.d.ts +1903 -0
  60. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +1863 -0
  61. package/dist/components/MonthPicker/MonthPickerText/useTextField.d.ts +21 -0
  62. package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.d.ts +21 -0
  63. package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.d.ts +12 -0
  64. package/dist/components/MonthPicker/MonthPickerVisual/MonthSelector.d.ts +11 -0
  65. package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.d.ts +6 -0
  66. package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.d.ts +14 -0
  67. package/dist/components/MonthPicker/MonthPickerVisual/YearSelector.d.ts +14 -0
  68. package/dist/components/MonthPicker/MonthPickerVisual/useMonthGrid.d.ts +9 -0
  69. package/dist/components/MonthPicker/MonthPickerVisual/useYearGrid.d.ts +8 -0
  70. package/dist/components/MonthPicker/MonthPickerVisual/utils.d.ts +8 -0
  71. package/dist/components/MonthPicker/locales.d.ts +12 -0
  72. package/dist/components/MonthPicker/useMonthPickerValidation.d.ts +25 -0
  73. package/dist/components/NirField/NirField.d.ts +209 -271
  74. package/dist/components/NirField/locales.d.ts +10 -10
  75. package/dist/components/NirField/useNirValidation.d.ts +64 -0
  76. package/dist/components/NotificationBar/Notification/Notification.d.ts +3 -0
  77. package/dist/components/PasswordField/PasswordField.d.ts +9 -10
  78. package/dist/components/PeriodField/PeriodField.d.ts +1379 -1659
  79. package/dist/components/PhoneField/PhoneField.d.ts +90 -125
  80. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +12 -12
  81. package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +1 -1
  82. package/dist/components/SyHeading/SyHeading.a11y.test.d.ts +1 -0
  83. package/dist/components/SyHeading/SyHeading.d.ts +4 -2
  84. package/dist/components/SyHeading/SyHeading.test.d.ts +1 -0
  85. package/dist/components/SyTextArea/SyTextArea.d.ts +35 -15
  86. package/dist/components/SyTextArea/useDefaultValidationRules.d.ts +11 -0
  87. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +11 -8
  88. package/dist/components/Tables/SyTable/SyTable.d.ts +11 -8
  89. package/dist/components/Tables/common/SyTableFilter.d.ts +2 -3
  90. package/dist/components/Tables/common/SyTablePagination.d.ts +21 -23
  91. package/dist/components/Tables/common/filters/AutocompleteFilter.d.ts +120 -0
  92. package/dist/components/Tables/common/filters/locales.d.ts +0 -1
  93. package/dist/components/Tables/common/types.d.ts +19 -3
  94. package/dist/components/Tables/common/useClickableTableRow.d.ts +17 -0
  95. package/dist/components/Tables/common/usePagination.d.ts +3 -1
  96. package/dist/components/Tables/common/usePinnedColumns.d.ts +31 -0
  97. package/dist/components/Tables/common/useTableHeaders.d.ts +2 -0
  98. package/dist/components/Tables/common/useTableRowCheckboxAccessibility.d.ts +5 -0
  99. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +6 -6
  100. package/dist/components/index.d.ts +1 -0
  101. package/dist/composables/date/useDatePickerAccessibility.d.ts +1 -1
  102. package/dist/composables/rules/useFieldValidation.d.ts +4 -4
  103. package/dist/composables/unifyValidation/useCustomValidation.d.ts +8 -0
  104. package/dist/composables/unifyValidation/useValidation.d.ts +102 -0
  105. package/dist/composables/unifyValidation/useVuetifyValidation.d.ts +18 -0
  106. package/dist/composables/useFormFieldErrorHandling.d.ts +2 -2
  107. package/dist/composables/validation/useFormValidation.d.ts +11 -2
  108. package/dist/composables/validation/useValidation.d.ts +15 -9
  109. package/dist/design-system-v3.d.ts +2 -0
  110. package/dist/design-system-v3.js +196 -194
  111. package/dist/design-system-v3.umd.cjs +1 -1066
  112. package/dist/designTokens/tokens/cnam/cnamContextual.d.ts +5 -0
  113. package/dist/{main-CEl4J8_T.js → main-BtTqyn4z.js} +16983 -15576
  114. package/dist/main-C1e3eoxd.cjs +1067 -0
  115. package/dist/synapse.css +1 -0
  116. package/dist/tooth-11-D3sLWv2n.cjs +1 -0
  117. package/dist/tooth-12-CXrLuH03.cjs +1 -0
  118. package/dist/tooth-13-BSfo5fpT.cjs +1 -0
  119. package/dist/tooth-14-DMzulx0h.cjs +1 -0
  120. package/dist/tooth-15-BKRFVi-9.cjs +1 -0
  121. package/dist/tooth-16-CpuxAbuM.cjs +1 -0
  122. package/dist/tooth-17-BPoahUdg.cjs +1 -0
  123. package/dist/tooth-18-DhHJz8sy.cjs +1 -0
  124. package/dist/tooth-21-Dgd5hn_X.cjs +1 -0
  125. package/dist/tooth-22-C2Tn19sB.cjs +1 -0
  126. package/dist/tooth-23-C9uaaSGb.cjs +1 -0
  127. package/dist/tooth-24-BrK9UGpf.cjs +1 -0
  128. package/dist/tooth-25-CE_EfGNp.cjs +1 -0
  129. package/dist/tooth-26-Ctv4i9Fy.cjs +1 -0
  130. package/dist/tooth-27-C5J7JkWM.cjs +1 -0
  131. package/dist/tooth-28-Z9oWqjo0.cjs +1 -0
  132. package/dist/tooth-31-BrYqmkTi.cjs +1 -0
  133. package/dist/tooth-32-BNNR0oCZ.cjs +1 -0
  134. package/dist/tooth-33-DuxvqO2J.cjs +1 -0
  135. package/dist/tooth-34-BCSCXMB6.cjs +1 -0
  136. package/dist/tooth-35-BLUXkX88.cjs +1 -0
  137. package/dist/tooth-36-IrKHYqlA.cjs +1 -0
  138. package/dist/tooth-37-BYqpdMwo.cjs +1 -0
  139. package/dist/tooth-38-B_eNXXdu.cjs +1 -0
  140. package/dist/tooth-41-Ddva4Ot8.cjs +1 -0
  141. package/dist/tooth-42-szcDqlM0.cjs +1 -0
  142. package/dist/tooth-43-B3ka6rQm.cjs +1 -0
  143. package/dist/tooth-44-CazyQucj.cjs +1 -0
  144. package/dist/tooth-45-B4HQtc8n.cjs +1 -0
  145. package/dist/tooth-46-BPM40gbG.cjs +1 -0
  146. package/dist/tooth-47-Dvr20dlh.cjs +1 -0
  147. package/dist/tooth-48-Bd8ljGsF.cjs +1 -0
  148. package/dist/tooth-51-OBpwCOF3.cjs +1 -0
  149. package/dist/tooth-52-aKxyHcmq.cjs +1 -0
  150. package/dist/tooth-53-vCwJjTOc.cjs +1 -0
  151. package/dist/tooth-54-DsWu2iFy.cjs +1 -0
  152. package/dist/tooth-55-BxC1X2Dn.cjs +1 -0
  153. package/dist/tooth-61-BbLvxMQi.cjs +1 -0
  154. package/dist/tooth-62-CmTkWczP.cjs +1 -0
  155. package/dist/tooth-63-DI7l_2qI.cjs +1 -0
  156. package/dist/tooth-64-B21sOsJh.cjs +1 -0
  157. package/dist/tooth-65-D2ZC2VEr.cjs +1 -0
  158. package/dist/tooth-71-D473PPO5.cjs +1 -0
  159. package/dist/tooth-72-Drh1wnNu.cjs +1 -0
  160. package/dist/tooth-73-DzlwYI23.cjs +1 -0
  161. package/dist/tooth-74-8aGvcZPg.cjs +1 -0
  162. package/dist/tooth-75-BFK7At_r.cjs +1 -0
  163. package/dist/tooth-81-BZmR-I0M.cjs +1 -0
  164. package/dist/tooth-82-euVfUUZV.cjs +1 -0
  165. package/dist/tooth-83-KV010j64.cjs +1 -0
  166. package/dist/tooth-84-BBg1RjhZ.cjs +1 -0
  167. package/dist/tooth-85-Cr-kc1wM.cjs +1 -0
  168. package/dist/vuetifyConfig.js +561 -0
  169. package/dist/vuetifyConfig.umd.cjs +1 -0
  170. package/package.json +18 -6
  171. package/src/assets/apTokens.scss +2 -2
  172. package/src/assets/overrides/_btns.scss +2 -0
  173. package/src/assets/overrides/_forms.scss +9 -0
  174. package/src/assets/overrides/_icons.scss +41 -4
  175. package/src/assets/overrides/_tables.scss +19 -0
  176. package/src/assets/overrides/_typography.scss +0 -10
  177. package/src/components/Accordion/Accordion.mdx +23 -9
  178. package/src/components/Accordion/Accordion.stories.ts +153 -3
  179. package/src/components/Accordion/Accordion.vue +7 -6
  180. package/src/components/Accordion/composables/__tests__/useAccordionState.spec.ts +40 -12
  181. package/src/components/Accordion/composables/useAccordionState.ts +3 -4
  182. package/src/components/Accordion/tests/accordion.spec.ts +131 -19
  183. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +2 -2
  184. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +1 -1
  185. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.mdx +3 -1
  186. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.stories.ts +8 -0
  187. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +2 -2
  188. package/src/components/BackBtn/accessibilite/Accessibility.mdx +62 -10
  189. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +9 -3
  190. package/src/components/BackToTopBtn/accessibilite/Accessibility.mdx +86 -6
  191. package/src/components/Captcha/accessibilite/Accessibility.mdx +86 -8
  192. package/src/components/Captcha/tests/Captcha.spec.ts +0 -29
  193. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +14 -122
  194. package/src/components/ChipList/ChipList.stories.ts +0 -15
  195. package/src/components/ChipList/ChipList.vue +5 -1
  196. package/src/components/ChipList/accessibilite/Accessibility.mdx +83 -10
  197. package/src/components/ChipList/tests/ChipList.a11y.spec.ts +41 -0
  198. package/src/components/Customs/Selects/SelectBtnField/accessibilite/Accessibility.mdx +124 -10
  199. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +379 -93
  200. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +162 -84
  201. package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibilite.stories.ts +40 -1
  202. package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibility.mdx +7 -1
  203. package/src/components/Customs/Selects/SyAutocomplete/locales.ts +5 -0
  204. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +96 -0
  205. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +377 -9
  206. package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +27 -13
  207. package/src/components/Customs/Selects/SyAutocomplete/utils/useSelectionLogic.ts +9 -10
  208. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -4
  209. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.vue +8 -9
  210. package/src/components/Customs/Selects/SyInputSelect/tests/SyInputSelect.spec.ts +10 -10
  211. package/src/components/Customs/Selects/SySelect/SySelect.vue +60 -14
  212. package/src/components/Customs/Selects/SySelect/locales.ts +1 -0
  213. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +54 -0
  214. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +6 -9
  215. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +10 -16
  216. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +16 -11
  217. package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +35 -0
  218. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.a11y.spec.ts +134 -2
  219. package/src/components/Customs/SyForm/SyForm.stories.ts +31 -5
  220. package/src/components/Customs/SyIcon/SyIcon.vue +1 -1
  221. package/src/components/Customs/SyIcon/tests/SyIcon.a11y.spec.ts +20 -0
  222. package/src/components/Customs/SyIconButton/SyIconButton.mdx +46 -0
  223. package/src/components/Customs/SyIconButton/SyIconButton.stories.ts +184 -0
  224. package/src/components/Customs/SyIconButton/SyIconButton.vue +38 -0
  225. package/src/components/Customs/SyIconButton/accessibilite/Accessibility.mdx +64 -0
  226. package/src/components/Customs/SyIconButton/tests/SyIconButton.a11y.spec.ts +87 -0
  227. package/src/components/Customs/SyIconButton/tests/SyIconButton.spec.ts +152 -0
  228. package/src/components/Customs/SyIconButton/tests/__snapshots__/SyIconButton.spec.ts.snap +61 -0
  229. package/src/components/Customs/SyPagination/SyPagination.vue +5 -5
  230. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +4 -7
  231. package/src/components/Customs/SyTextField/SyTextField.mdx +1 -1
  232. package/src/components/Customs/SyTextField/SyTextField.stories.ts +29 -27
  233. package/src/components/Customs/SyTextField/SyTextField.vue +174 -159
  234. package/src/components/Customs/SyTextField/accessibilite/Accessibility.mdx +67 -9
  235. package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +47 -0
  236. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +155 -10
  237. package/src/components/DataList/accessibilite/Accessibility.mdx +79 -11
  238. package/src/components/DataListGroup/accessibilite/Accessibility.mdx +80 -11
  239. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +62 -58
  240. package/src/components/DatePicker/CalendarMode/DatePicker.vue +330 -223
  241. package/src/components/DatePicker/CalendarMode/accessibilite/Accessibility.mdx +82 -0
  242. package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +141 -0
  243. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +2 -56
  244. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +195 -159
  245. package/src/components/DatePicker/ComplexDatePicker/accessibilite/Accessibility.mdx +76 -0
  246. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +10 -10
  247. package/src/components/DatePicker/DatePickerValidationExample/CalendarMode.stories.ts +8 -8
  248. package/src/components/DatePicker/DatePickerValidationExample/ComplexDatePicker.stories.ts +106 -8
  249. package/src/components/DatePicker/DatePickerValidationExample/DateTextInput.stories.ts +12 -11
  250. package/src/components/DatePicker/DatePickerValidationExample/MultiMode.stories.ts +12 -12
  251. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +0 -12
  252. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +63 -57
  253. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +3 -0
  254. package/src/components/DatePicker/DateTextInput/accessibilite/Accessibility.mdx +66 -0
  255. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +52 -1
  256. package/src/components/DatePicker/composables/index.ts +1 -0
  257. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +109 -65
  258. package/src/components/DatePicker/composables/tests/useDatePickerFocusTrap.spec.ts +138 -0
  259. package/src/components/DatePicker/composables/tests/useDateValidation.spec.ts +74 -18
  260. package/src/components/DatePicker/composables/tests/useInputBlurHandler.spec.ts +39 -0
  261. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +91 -0
  262. package/src/components/DatePicker/composables/useCalendarKeyboardNavigation.ts +442 -36
  263. package/src/components/DatePicker/composables/useDatePickerFocusTrap.ts +92 -0
  264. package/src/components/DatePicker/composables/useDateTextField.ts +7 -6
  265. package/src/components/DatePicker/composables/useDateValidation.ts +36 -35
  266. package/src/components/DatePicker/composables/useInputBlurHandler.ts +3 -3
  267. package/src/components/DatePicker/composables/useManualDateValidation.ts +6 -2
  268. package/src/components/DiacriticPicker/accessibilite/Accessibility.mdx +76 -8
  269. package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +25 -0
  270. package/src/components/ErrorPage/ErrorPage.stories.ts +113 -19
  271. package/src/components/ErrorPage/ErrorPage.vue +17 -2
  272. package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +17 -0
  273. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +21 -1
  274. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +0 -1
  275. package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +23 -0
  276. package/src/components/FileList/FileList.stories.ts +51 -1
  277. package/src/components/FileList/UploadItem/UploadItem.vue +13 -6
  278. package/src/components/FileList/UploadItem/locales.ts +3 -12
  279. package/src/components/FileList/accessibilite/Accessibility.mdx +3 -0
  280. package/src/components/FileUpload/FileUpload.vue +2 -1
  281. package/src/components/FileUpload/FileUploadContent.vue +2 -1
  282. package/src/components/FileUpload/tests/FileUpload.spec.ts +47 -0
  283. package/src/components/FileUpload/validateFiles.ts +5 -2
  284. package/src/components/FranceConnectBtn/accessibilite/Accessibility.mdx +62 -9
  285. package/src/components/HeaderBar/HeaderBar.stories.ts +14 -2
  286. package/src/components/HeaderBar/HeaderBar.vue +2 -1
  287. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +2 -1
  288. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -1
  289. package/src/components/Logo/accessibilite/Accessibility.mdx +73 -11
  290. package/src/components/LogoBrandSection/accessibilite/Accessibility.mdx +85 -9
  291. package/src/components/LunarCalendar/accessibilite/Accessibility.mdx +74 -8
  292. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +163 -0
  293. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +3 -1
  294. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +4 -5
  295. package/src/components/MaintenancePage/MaintenancePage.vue +1 -1
  296. package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +4 -5
  297. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +0 -1
  298. package/src/components/MonthPicker/MonthPicker.mdx +35 -0
  299. package/src/components/MonthPicker/MonthPicker.stories.ts +527 -0
  300. package/src/components/MonthPicker/MonthPicker.vue +79 -0
  301. package/src/components/MonthPicker/MonthPickerText/MonthPickerInput.vue +89 -0
  302. package/src/components/MonthPicker/MonthPickerText/useTextField.ts +27 -0
  303. package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.vue +154 -0
  304. package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.ts +13 -0
  305. package/src/components/MonthPicker/MonthPickerVisual/MonthSelector.vue +137 -0
  306. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.vue +60 -0
  307. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +149 -0
  308. package/src/components/MonthPicker/MonthPickerVisual/YearSelector.vue +143 -0
  309. package/src/components/MonthPicker/MonthPickerVisual/useMonthGrid.ts +45 -0
  310. package/src/components/MonthPicker/MonthPickerVisual/useYearGrid.ts +45 -0
  311. package/src/components/MonthPicker/MonthPickerVisual/utils.ts +17 -0
  312. package/src/components/MonthPicker/accessibilite/Accessibility.mdx +59 -0
  313. package/src/components/MonthPicker/locales.ts +12 -0
  314. package/src/components/MonthPicker/tests/MonthPicker.a11y.spec.ts +71 -0
  315. package/src/components/MonthPicker/tests/MonthPicker.spec.ts +1249 -0
  316. package/src/components/MonthPicker/tests/__snapshots__/MonthPicker.spec.ts.snap +2545 -0
  317. package/src/components/MonthPicker/useMonthPickerValidation.ts +30 -0
  318. package/src/components/NirField/NirField.mdx +1 -2
  319. package/src/components/NirField/NirField.stories.ts +70 -6
  320. package/src/components/NirField/NirField.vue +64 -260
  321. package/src/components/NirField/accessibilite/Accessibility.mdx +2 -2
  322. package/src/components/NirField/locales.ts +1 -1
  323. package/src/components/NirField/tests/NirField.spec.ts +6 -0
  324. package/src/components/NirField/useNirValidation.ts +271 -0
  325. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +2 -3
  326. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +22 -14
  327. package/src/components/NotificationBar/Notification/Notification.vue +3 -1
  328. package/src/components/NotificationBar/NotificationBar.stories.ts +154 -0
  329. package/src/components/NotificationBar/tests/NotificationBar.a11y.spec.ts +26 -0
  330. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +60 -0
  331. package/src/components/PasswordField/PasswordField.stories.ts +4 -4
  332. package/src/components/PasswordField/PasswordField.vue +18 -24
  333. package/src/components/PasswordField/tests/PasswordField.spec.ts +6 -3
  334. package/src/components/PeriodField/PeriodField.stories.ts +4 -4
  335. package/src/components/PeriodField/PeriodField.vue +57 -57
  336. package/src/components/PeriodField/__tests__/PeriodField.async.spec.ts +32 -0
  337. package/src/components/PeriodField/accessibilite/Accessibility.mdx +68 -8
  338. package/src/components/PeriodField/tests/PeriodField.spec.ts +28 -2
  339. package/src/components/PhoneField/PhoneField.vue +5 -6
  340. package/src/components/PhoneField/tests/PhoneField.spec.ts +1 -0
  341. package/src/components/RangeField/RangeField.vue +6 -0
  342. package/src/components/RangeField/accessibilite/Accessibility.mdx +79 -11
  343. package/src/components/SkipLink/tests/SkipLink.a11y.spec.ts +23 -0
  344. package/src/components/StatusPage/StatusPage.stories.ts +118 -0
  345. package/src/components/StatusPage/StatusPage.vue +5 -3
  346. package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +22 -0
  347. package/src/components/StatusPage/tests/StatusPage.spec.ts +22 -0
  348. package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +22 -14
  349. package/src/components/SubHeader/tests/SubHeader.a11y.spec.ts +20 -0
  350. package/src/components/SyAlert/SyAlert.vue +1 -0
  351. package/src/components/SyAlert/accessibilite/Accessibility.mdx +79 -9
  352. package/src/components/SyAlert/tests/SyAlert.a11y.spec.ts +23 -0
  353. package/src/components/SyHeading/SyHeading.a11y.test.ts +149 -0
  354. package/src/components/SyHeading/SyHeading.test.ts +115 -0
  355. package/src/components/SyHeading/SyHeading.vue +5 -3
  356. package/src/components/SyTextArea/SyTextArea.stories.ts +138 -2
  357. package/src/components/SyTextArea/SyTextArea.vue +53 -23
  358. package/src/components/SyTextArea/accessibilite/Accessibility.mdx +80 -8
  359. package/src/components/SyTextArea/tests/SyTextArea.a11y.spec.ts +151 -0
  360. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +126 -3
  361. package/src/components/SyTextArea/useDefaultValidationRules.ts +74 -0
  362. package/src/components/Tables/SyServerTable/SyServerTable.mdx +25 -0
  363. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +673 -1
  364. package/src/components/Tables/SyServerTable/SyServerTable.vue +148 -91
  365. package/src/components/Tables/SyServerTable/tests/SyServerTable.a11y.spec.ts +58 -0
  366. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +122 -0
  367. package/src/components/Tables/SyTable/SyTable.mdx +25 -0
  368. package/src/components/Tables/SyTable/SyTable.stories.ts +452 -1
  369. package/src/components/Tables/SyTable/SyTable.vue +130 -56
  370. package/src/components/Tables/SyTable/tests/SyTable.a11y.spec.ts +57 -0
  371. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +108 -0
  372. package/src/components/Tables/common/SyTableFilter.vue +22 -2
  373. package/src/components/Tables/common/TableHeader.vue +5 -1
  374. package/src/components/Tables/common/filters/AutocompleteFilter.vue +160 -0
  375. package/src/components/Tables/common/filters/NumberFilter.vue +1 -1
  376. package/src/components/Tables/common/filters/SelectFilter.vue +10 -11
  377. package/src/components/Tables/common/filters/TextFilter.vue +1 -1
  378. package/src/components/Tables/common/filters/getFilterComponent.ts +8 -1
  379. package/src/components/Tables/common/filters/locales.ts +0 -1
  380. package/src/components/Tables/common/filters/tests/AutocompleteFilter.a11y.spec.ts +110 -0
  381. package/src/components/Tables/common/filters/tests/AutocompleteFilter.spec.ts +203 -0
  382. package/src/components/Tables/common/filters/tests/SelectFilter.a11y.spec.ts +104 -0
  383. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +152 -16
  384. package/src/components/Tables/common/tableFilterUtils.ts +3 -0
  385. package/src/components/Tables/common/tableStyles.scss +48 -4
  386. package/src/components/Tables/common/tests/filterByRange.spec.ts +2 -1
  387. package/src/components/Tables/common/types.ts +13 -4
  388. package/src/components/Tables/common/useClickableTableRow.ts +103 -0
  389. package/src/components/Tables/common/usePagination.ts +13 -0
  390. package/src/components/Tables/common/usePinnedColumns.ts +237 -0
  391. package/src/components/Tables/common/useTableHeaders.ts +3 -3
  392. package/src/components/Tables/common/useTableRowCheckboxAccessibility.ts +41 -0
  393. package/src/components/ToolbarContainer/tests/ToolbarContainer.a11y.spec.ts +126 -0
  394. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +2 -2
  395. package/src/components/index.ts +1 -0
  396. package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +2 -6
  397. package/src/composables/date/useDatePickerAccessibility.ts +42 -207
  398. package/src/composables/rules/tests/useFieldValidation.spec.ts +120 -120
  399. package/src/composables/rules/useFieldValidation.ts +34 -17
  400. package/src/composables/unifyValidation/tests/useCustomValidation.spec.ts +601 -0
  401. package/src/composables/unifyValidation/tests/useValidation.spec.ts +2048 -0
  402. package/src/composables/unifyValidation/tests/useVuetifyValidation.spec.ts +184 -0
  403. package/src/composables/unifyValidation/useCustomValidation.ts +95 -0
  404. package/src/composables/unifyValidation/useValidation.ts +190 -0
  405. package/src/composables/unifyValidation/useVuetifyValidation.ts +54 -0
  406. package/src/composables/useFormFieldErrorHandling.ts +15 -9
  407. package/src/composables/validation/tests/useFormValidation.spec.ts +14 -0
  408. package/src/composables/validation/tests/useValidation.spec.ts +116 -21
  409. package/src/composables/validation/useFormValidation.ts +20 -13
  410. package/src/composables/validation/useValidatable.ts +8 -1
  411. package/src/composables/validation/useValidation.ts +135 -99
  412. package/src/composantsVuetify/Introduction.mdx +48 -0
  413. package/src/composantsVuetify/VBtn/VBtn.mdx +72 -0
  414. package/src/composantsVuetify/VBtn/v-btn.stories.ts +121 -0
  415. package/src/composantsVuetify/VTooltip/VTooltip.mdx +32 -0
  416. package/src/composantsVuetify/VTooltip/v-tooltip.stories.ts +95 -0
  417. package/src/designTokens/tokens/cnam/cnamContextual.ts +6 -1
  418. package/src/designTokens/tokens/cnam/cnamSemantic.ts +2 -2
  419. package/src/stories/Components/Components.stories.ts +74 -9
  420. package/src/stories/Demarrer/Accueil.stories.ts +3 -3
  421. package/src/stories/GuideDuDev/Amelipro.mdx +15 -0
  422. package/src/stories/GuideDuDev/Amelipro.stories.ts +209 -0
  423. package/src/stories/GuideDuDev/vuetifyOptions.mdx +3 -3
  424. package/dist/SelectFilter-BOYlF7rX.js +0 -136
  425. package/dist/style.css +0 -1
  426. package/src/components/DatePicker/Accessibilite.mdx +0 -14
@@ -0,0 +1,72 @@
1
+ import { Meta, Canvas } from '@storybook/blocks'
2
+ import * as VBtnStories from './v-btn.stories'
3
+
4
+ <Meta title="Composants/Composants Vuetify/VBtn" />
5
+
6
+ <div className="header">
7
+ <h1>VBtn</h1>
8
+ Ce composant utilise directement le composant natif `v-btn` de Vuetify avec les couleurs du thème actif du design system.
9
+ Pour l'API complète du composant, consulter la [documentation Vuetify](https://vuetifyjs.com/en/api/v-btn/#props).
10
+ </div>
11
+
12
+ ## Primary
13
+
14
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '12px', alignItems: 'center', padding: '24px' }}>
15
+ <Canvas of={VBtnStories.PrimaryElevated} />
16
+ <Canvas of={VBtnStories.PrimaryOutlined} />
17
+ <Canvas of={VBtnStories.PrimaryTonal} />
18
+ <Canvas of={VBtnStories.PrimaryText} />
19
+ </div>
20
+
21
+ ## Primary – Désactivé
22
+
23
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '12px', alignItems: 'center', padding: '24px' }}>
24
+ <Canvas of={VBtnStories.PrimaryElevatedDisabled} />
25
+ <Canvas of={VBtnStories.PrimaryOutlinedDisabled} />
26
+ <Canvas of={VBtnStories.PrimaryTonalDisabled} />
27
+ <Canvas of={VBtnStories.PrimaryTextDisabled} />
28
+ </div>
29
+
30
+ ## Secondary
31
+
32
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '12px', alignItems: 'center', padding: '24px' }}>
33
+ <Canvas of={VBtnStories.SecondaryElevated} />
34
+ <Canvas of={VBtnStories.SecondaryOutlined} />
35
+ <Canvas of={VBtnStories.SecondaryTonal} />
36
+ <Canvas of={VBtnStories.SecondaryText} />
37
+ </div>
38
+
39
+ ## Secondary – Désactivé
40
+
41
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '12px', alignItems: 'center', padding: '24px' }}>
42
+ <Canvas of={VBtnStories.SecondaryElevatedDisabled} />
43
+ <Canvas of={VBtnStories.SecondaryOutlinedDisabled} />
44
+ <Canvas of={VBtnStories.SecondaryTonalDisabled} />
45
+ <Canvas of={VBtnStories.SecondaryTextDisabled} />
46
+ </div>
47
+
48
+ ## Tertiary
49
+
50
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '12px', alignItems: 'center', padding: '24px' }}>
51
+ <Canvas of={VBtnStories.TertiaryElevated} />
52
+ <Canvas of={VBtnStories.TertiaryOutlined} />
53
+ <Canvas of={VBtnStories.TertiaryTonal} />
54
+ <Canvas of={VBtnStories.TertiaryText} />
55
+ </div>
56
+
57
+ ## Tertiary – Désactivé
58
+
59
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '12px', alignItems: 'center', padding: '24px' }}>
60
+ <Canvas of={VBtnStories.TertiaryElevatedDisabled} />
61
+ <Canvas of={VBtnStories.TertiaryOutlinedDisabled} />
62
+ <Canvas of={VBtnStories.TertiaryTonalDisabled} />
63
+ <Canvas of={VBtnStories.TertiaryTextDisabled} />
64
+ </div>
65
+
66
+ ## Variants disponibles
67
+
68
+ - `elevated` – Bouton avec ombre (défaut)
69
+ - `outlined` – Fond transparent avec bordure
70
+ - `tonal` – Fond teinté de la couleur
71
+ - `text` – Sans fond ni bordure
72
+ - `plain` – Sans fond ni bordure, opacité réduite
@@ -0,0 +1,121 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+
3
+ const meta: Meta = {
4
+ title: 'Composants/Composants Vuetify/VBtn',
5
+ tags: ['!dev'],
6
+ render: args => ({
7
+ setup() {
8
+ return { args }
9
+ },
10
+ template: `
11
+ <v-btn :color="args.color" :variant="args.variant" :disabled="args.disabled">
12
+ {{ args.label }}
13
+ </v-btn>
14
+ `,
15
+ }),
16
+ }
17
+
18
+ export default meta
19
+ type Story = StoryObj<typeof meta>
20
+
21
+ // --- Primary ---
22
+ export const PrimaryElevated: Story = {
23
+ args: { label: 'Button primary elevated', color: 'primary', variant: 'elevated', disabled: false },
24
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="elevated">Button</v-btn>` } } },
25
+ }
26
+ export const PrimaryOutlined: Story = {
27
+ args: { label: 'Button primary outlined', color: 'primary', variant: 'outlined', disabled: false },
28
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="outlined">Button</v-btn>` } } },
29
+ }
30
+ export const PrimaryTonal: Story = {
31
+ args: { label: 'Button primary tonal', color: 'primary', variant: 'tonal', disabled: false },
32
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="tonal">Button</v-btn>` } } },
33
+ }
34
+ export const PrimaryText: Story = {
35
+ args: { label: 'Button primary text', color: 'primary', variant: 'text', disabled: false },
36
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="text">Button</v-btn>` } } },
37
+ }
38
+ export const PrimaryElevatedDisabled: Story = {
39
+ args: { label: 'Button primary elevated disabled', color: 'primary', variant: 'elevated', disabled: true },
40
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="elevated" disabled>Button</v-btn>` } } },
41
+ }
42
+ export const PrimaryOutlinedDisabled: Story = {
43
+ args: { label: 'Button primary outlined disabled', color: 'primary', variant: 'outlined', disabled: true },
44
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="outlined" disabled>Button</v-btn>` } } },
45
+ }
46
+ export const PrimaryTonalDisabled: Story = {
47
+ args: { label: 'Button primary tonal disabled', color: 'primary', variant: 'tonal', disabled: true },
48
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="tonal" disabled>Button</v-btn>` } } },
49
+ }
50
+ export const PrimaryTextDisabled: Story = {
51
+ args: { label: 'Button primary text disabled', color: 'primary', variant: 'text', disabled: true },
52
+ parameters: { docs: { source: { code: `<v-btn color="primary" variant="text" disabled>Button</v-btn>` } } },
53
+ }
54
+
55
+ // --- Secondary ---
56
+ export const SecondaryElevated: Story = {
57
+ args: { label: 'Button secondary elevated', color: 'secondary', variant: 'elevated', disabled: false },
58
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="elevated">Button</v-btn>` } } },
59
+ }
60
+ export const SecondaryOutlined: Story = {
61
+ args: { label: 'Button secondary outlined', color: 'secondary', variant: 'outlined', disabled: false },
62
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="outlined">Button</v-btn>` } } },
63
+ }
64
+ export const SecondaryTonal: Story = {
65
+ args: { label: 'Button secondary tonal', color: 'secondary', variant: 'tonal', disabled: false },
66
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="tonal">Button</v-btn>` } } },
67
+ }
68
+ export const SecondaryText: Story = {
69
+ args: { label: 'Button secondary text', color: 'secondary', variant: 'text', disabled: false },
70
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="text">Button</v-btn>` } } },
71
+ }
72
+ export const SecondaryElevatedDisabled: Story = {
73
+ args: { label: 'Button secondary elevated disabled', color: 'secondary', variant: 'elevated', disabled: true },
74
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="elevated" disabled>Button</v-btn>` } } },
75
+ }
76
+ export const SecondaryOutlinedDisabled: Story = {
77
+ args: { label: 'Button secondary outlined disabled', color: 'secondary', variant: 'outlined', disabled: true },
78
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="outlined" disabled>Button</v-btn>` } } },
79
+ }
80
+ export const SecondaryTonalDisabled: Story = {
81
+ args: { label: 'Button secondary tonal disabled', color: 'secondary', variant: 'tonal', disabled: true },
82
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="tonal" disabled>Button</v-btn>` } } },
83
+ }
84
+ export const SecondaryTextDisabled: Story = {
85
+ args: { label: 'Button secondary text disabled', color: 'secondary', variant: 'text', disabled: true },
86
+ parameters: { docs: { source: { code: `<v-btn color="secondary" variant="text" disabled>Button</v-btn>` } } },
87
+ }
88
+
89
+ // --- Tertiary ---
90
+ export const TertiaryElevated: Story = {
91
+ args: { label: 'Button tertiary elevated', color: 'tertiary', variant: 'elevated', disabled: false },
92
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="elevated">Button</v-btn>` } } },
93
+ }
94
+ export const TertiaryOutlined: Story = {
95
+ args: { label: 'Button tertiary outlined', color: 'tertiary', variant: 'outlined', disabled: false },
96
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="outlined">Button</v-btn>` } } },
97
+ }
98
+ export const TertiaryTonal: Story = {
99
+ args: { label: 'Button tertiary tonal', color: 'tertiary', variant: 'tonal', disabled: false },
100
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="tonal">Button</v-btn>` } } },
101
+ }
102
+ export const TertiaryText: Story = {
103
+ args: { label: 'Button tertiary text', color: 'tertiary', variant: 'text', disabled: false },
104
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="text">Button</v-btn>` } } },
105
+ }
106
+ export const TertiaryElevatedDisabled: Story = {
107
+ args: { label: 'Button tertiary elevated disabled', color: 'tertiary', variant: 'elevated', disabled: true },
108
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="elevated" disabled>Button</v-btn>` } } },
109
+ }
110
+ export const TertiaryOutlinedDisabled: Story = {
111
+ args: { label: 'Button tertiary outlined disabled', color: 'tertiary', variant: 'outlined', disabled: true },
112
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="outlined" disabled>Button</v-btn>` } } },
113
+ }
114
+ export const TertiaryTonalDisabled: Story = {
115
+ args: { label: 'Button tertiary tonal disabled', color: 'tertiary', variant: 'tonal', disabled: true },
116
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="tonal" disabled>Button</v-btn>` } } },
117
+ }
118
+ export const TertiaryTextDisabled: Story = {
119
+ args: { label: 'Button tertiary text disabled', color: 'tertiary', variant: 'text', disabled: true },
120
+ parameters: { docs: { source: { code: `<v-btn color="tertiary" variant="text" disabled>Button</v-btn>` } } },
121
+ }
@@ -0,0 +1,32 @@
1
+ import { Meta, Canvas } from '@storybook/blocks'
2
+ import * as VTooltipStories from './v-tooltip.stories'
3
+
4
+ <Meta title="Composants/Composants Vuetify/VTooltip" />
5
+
6
+ <div className="header">
7
+ <h1>VTooltip</h1>
8
+ Ce composant utilise directement le composant natif `v-tooltip` de Vuetify avec les couleurs du thème actif du design system.
9
+ Pour l'API complète du composant, consulter la [documentation Vuetify](https://vuetifyjs.com/en/api/v-tooltip/#props).
10
+ </div>
11
+
12
+ ## Positions
13
+
14
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '50px', alignItems: 'center', padding: '24px' }}>
15
+ <Canvas of={VTooltipStories.Top} />
16
+ <Canvas of={VTooltipStories.Bottom} />
17
+ <Canvas of={VTooltipStories.Left} />
18
+ <Canvas of={VTooltipStories.Right} />
19
+ </div>
20
+
21
+ ## Désactivé
22
+
23
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '24px', alignItems: 'center', padding: '24px' }}>
24
+ <Canvas of={VTooltipStories.Disabled} />
25
+ </div>
26
+
27
+ ## Locations disponibles
28
+
29
+ - `top` – Tooltip au dessus de l'élément (défaut)
30
+ - `bottom` – Tooltip en dessous de l'élément
31
+ - `left` – Tooltip à gauche de l'élément
32
+ - `right` – Tooltip à droite de l'élément
@@ -0,0 +1,95 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+
3
+ const meta: Meta = {
4
+ title: 'Composants/Composants Vuetify/VTooltip',
5
+ tags: ['!dev'],
6
+ render: args => ({
7
+ setup() {
8
+ return { args }
9
+ },
10
+ template: `
11
+ <v-tooltip :text="args.text" :location="args.location" :disabled="args.disabled">
12
+ <template v-slot:activator="{ props }">
13
+ <v-btn v-bind="props" color="primary">{{ args.activator }}</v-btn>
14
+ </template>
15
+ </v-tooltip>
16
+ `,
17
+ }),
18
+ }
19
+
20
+ export default meta
21
+ type Story = StoryObj<typeof meta>
22
+
23
+ // --- Location ---
24
+ export const Top: Story = {
25
+ args: { text: 'Tooltip top', activator: 'Hover me', location: 'top', disabled: false },
26
+ parameters: {
27
+ docs: {
28
+ source: {
29
+ code: `<v-tooltip text="Tooltip top" location="top">
30
+ <template v-slot:activator="{ props }">
31
+ <v-btn v-bind="props" color="primary">Hover me</v-btn>
32
+ </template>
33
+ </v-tooltip>`,
34
+ },
35
+ },
36
+ },
37
+ }
38
+ export const Bottom: Story = {
39
+ args: { text: 'Tooltip bottom', activator: 'Hover me', location: 'bottom', disabled: false },
40
+ parameters: {
41
+ docs: {
42
+ source: {
43
+ code: `<v-tooltip text="Tooltip bottom" location="bottom">
44
+ <template v-slot:activator="{ props }">
45
+ <v-btn v-bind="props" color="primary">Hover me</v-btn>
46
+ </template>
47
+ </v-tooltip>`,
48
+ },
49
+ },
50
+ },
51
+ }
52
+ export const Left: Story = {
53
+ args: { text: 'Tooltip left', activator: 'Hover me', location: 'left', disabled: false },
54
+ parameters: {
55
+ docs: {
56
+ source: {
57
+ code: `<v-tooltip text="Tooltip left" location="left">
58
+ <template v-slot:activator="{ props }">
59
+ <v-btn v-bind="props" color="primary">Hover me</v-btn>
60
+ </template>
61
+ </v-tooltip>`,
62
+ },
63
+ },
64
+ },
65
+ }
66
+ export const Right: Story = {
67
+ args: { text: 'Tooltip right', activator: 'Hover me', location: 'right', disabled: false },
68
+ parameters: {
69
+ docs: {
70
+ source: {
71
+ code: `<v-tooltip text="Tooltip right" location="right">
72
+ <template v-slot:activator="{ props }">
73
+ <v-btn v-bind="props" color="primary">Hover me</v-btn>
74
+ </template>
75
+ </v-tooltip>`,
76
+ },
77
+ },
78
+ },
79
+ }
80
+
81
+ // --- Disabled ---
82
+ export const Disabled: Story = {
83
+ args: { text: 'Tooltip disabled', activator: 'Hover me', location: 'top', disabled: true },
84
+ parameters: {
85
+ docs: {
86
+ source: {
87
+ code: `<v-tooltip text="Tooltip disabled" location="top" disabled>
88
+ <template v-slot:activator="{ props }">
89
+ <v-btn v-bind="props" color="primary">Hover me</v-btn>
90
+ </template>
91
+ </v-tooltip>`,
92
+ },
93
+ },
94
+ },
95
+ }
@@ -5,7 +5,12 @@ export const cnamContextualTokens = {
5
5
  text: '#333333',
6
6
  icon: '#666666',
7
7
  overlay: 'rgba(0, 0, 0, 0.5)',
8
- interactive: '#007bff',
8
+ interactive: '#fff',
9
+ interactiveHover: '#E7ECF5',
10
+ interactivePressed: '#CED9EB',
11
+ interactiveFocus: '#E7ECF5',
12
+ interactiveDisabled: '#fff',
13
+ interactiveHoverOnSelected: '#CED9EB',
9
14
  },
10
15
  gap: {
11
16
  0: '0',
@@ -41,7 +41,7 @@ export const cnamSemanticTokens = {
41
41
  accentSecondaryContrasted: cnamColorsTokens.cyan.darken40,
42
42
  info: cnamColorsTokens.blue.base,
43
43
  success: cnamColorsTokens.green.darken60,
44
- warning: cnamColorsTokens.yellow.darken40,
44
+ warning: cnamColorsTokens.yellow.darken60,
45
45
  error: cnamColorsTokens.orange.darken20,
46
46
  onDark: cnamColorsTokens.white.lighten70,
47
47
  disabled: cnamColorsTokens.grey.lighten80,
@@ -55,7 +55,7 @@ export const cnamSemanticTokens = {
55
55
  subdued: cnamColorsTokens.grey.base,
56
56
  info: cnamColorsTokens.blue.base,
57
57
  success: cnamColorsTokens.green.darken60,
58
- warning: cnamColorsTokens.yellow.darken40,
58
+ warning: cnamColorsTokens.yellow.darken60,
59
59
  error: cnamColorsTokens.orange.darken20,
60
60
  disabled: cnamColorsTokens.grey.lighten40,
61
61
  onDark: cnamColorsTokens.white.base,
@@ -1,5 +1,6 @@
1
1
  import { VCard, VCardText, VCardTitle, VRow, VCol, VIcon } from 'vuetify/components'
2
2
  import type { StoryObj } from '@storybook/vue3'
3
+ import { useTheme } from 'vuetify'
3
4
 
4
5
  export default {
5
6
  title: 'Composants/Vue d\'ensemble',
@@ -24,12 +25,14 @@ export const ComponentsList: StoryObj = {
24
25
  return {
25
26
  components: { VCard, VCardText, VCardTitle, VRow, VCol, VIcon },
26
27
  setup() {
28
+ const theme = useTheme()
29
+ const isAp = theme.global.name.value === 'ap'
27
30
  const components = [
28
31
  {
29
32
  title: 'HeaderBar',
30
33
  description: 'Utilisé pour afficher l’en-tête d’une page ainsi qu’une barre de navigation.',
31
34
  link: '/?path=/docs/composants-structure-headerbar--docs',
32
- img: '/components/header-bar.svg',
35
+ img: `/components/header-bar${isAp ? '-ap' : ''}.svg`,
33
36
  category: 'Structure',
34
37
  },
35
38
  {
@@ -57,7 +60,7 @@ export const ComponentsList: StoryObj = {
57
60
  title: 'FooterBar',
58
61
  description: 'Utilisé pour afficher une barre de pied de page avec des liens et des informations supplémentaires.',
59
62
  link: '/?path=/docs/composants-structure-footerbar--docs',
60
- img: '/components/footer-bar.svg',
63
+ img: `/components/footer-bar${isAp ? '-ap' : ''}.svg`,
61
64
  category: 'Structure',
62
65
  },
63
66
  {
@@ -92,7 +95,14 @@ export const ComponentsList: StoryObj = {
92
95
  title: 'SkipLink',
93
96
  description: 'Utilisé pour permettre à l\'utilisateur utilisant la navigation au clavier de passer directement à une section de contenu.',
94
97
  link: '/?path=/docs/composants-navigation-skiplink--docs',
95
- img: '/components/skip-link.svg',
98
+ img: `/components/skip-link${isAp ? '-ap' : ''}.svg`,
99
+ category: 'Navigation',
100
+ },
101
+ {
102
+ title: 'SyPagination',
103
+ description: 'Utilisé pour permettre la navigation entre plusieurs pages de contenu.',
104
+ link: '/?path=/docs/composants-navigation-sypagination--docs',
105
+ img: `/components/pagination${isAp ? '-ap' : ''}.svg`,
96
106
  category: 'Navigation',
97
107
  },
98
108
  {
@@ -113,7 +123,7 @@ export const ComponentsList: StoryObj = {
113
123
  title: 'CopyBtn',
114
124
  description: 'Utilisé pour afficher un bouton permettant à l’utilisateur de copier du texte.',
115
125
  link: '/?path=/docs/composants-boutons-copybtn--docs',
116
- img: '/components/copy-btn.svg',
126
+ img: `/components/copy-btn${isAp ? '-ap' : ''}.svg`,
117
127
  category: 'Boutons',
118
128
  },
119
129
  {
@@ -127,7 +137,7 @@ export const ComponentsList: StoryObj = {
127
137
  title: 'DownloadBtn',
128
138
  description: 'Utilisé pour permettre à l’utilisateur de télécharger un document provenant d’une API.',
129
139
  link: '/?path=/docs/composants-boutons-downloadbtn--docs',
130
- img: '/components/download-btn.svg',
140
+ img: `/components/download-btn${isAp ? '-ap' : ''}.svg`,
131
141
  category: 'Boutons',
132
142
  },
133
143
  {
@@ -151,11 +161,18 @@ export const ComponentsList: StoryObj = {
151
161
  img: '/components/sy-text-field.svg',
152
162
  category: 'Formulaires',
153
163
  },
164
+ {
165
+ title: 'SyAutocomplete',
166
+ description: 'Utilisé pour permettre à l’utilisateur de rechercher et sélectionner une valeur dans une liste d\'options (alternative au v-autocomplete de Vuetify).',
167
+ link: '/?path=/docs/composants-formulaires-selects-syautocomplete--docs',
168
+ img: `/components/sy-select${isAp ? '-ap' : ''}.svg`,
169
+ category: 'Formulaires',
170
+ },
154
171
  {
155
172
  title: 'SySelect',
156
173
  description: 'Utilisé pour proposer une alternative au v-select de Vuetify qui ne respecte pas les règles d\'accessibilité RGAA. Il est basé sur un v-textfield.',
157
174
  link: '/?path=/docs/composants-formulaires-syselect--docs',
158
- img: '/components/sy-select.svg',
175
+ img: `/components/sy-select${isAp ? '-ap' : ''}.svg`,
159
176
  category: 'Formulaires',
160
177
  },
161
178
  {
@@ -174,7 +191,7 @@ export const ComponentsList: StoryObj = {
174
191
  },
175
192
  {
176
193
  title: 'DatePicker',
177
- description: ' Utilisé pour permettre à l’utilisateur de sélectionner ou de saisir une date.',
194
+ description: 'Utilisé pour permettre à l’utilisateur de sélectionner ou de saisir une date.',
178
195
  link: '/?path=/docs/composants-formulaires-datepicker--docs',
179
196
  img: '/components/date-picker.svg',
180
197
  category: 'Formulaires',
@@ -235,6 +252,27 @@ export const ComponentsList: StoryObj = {
235
252
  img: '/components/select-btn-field.svg',
236
253
  category: 'Formulaires',
237
254
  },
255
+ {
256
+ title: 'SyCheckBox',
257
+ description: 'Utilisé pour permettre à l’utilisateur de selectionner une option.',
258
+ link: '/?path=/docs/composants-formulaires-sycheckbox--docs',
259
+ img: `/components/sy-checkbox${isAp ? '-ap' : ''}.svg`,
260
+ category: 'Formulaires',
261
+ },
262
+ {
263
+ title: 'SyCheckBoxGroup',
264
+ description: 'Utilisé pour permettre à l’utilisateur de selectionner plusieurs options.',
265
+ link: '/?path=/docs/composants-formulaires-sycheckboxgroup--docs',
266
+ img: `/components/sy-checkbox-group${isAp ? '-ap' : ''}.svg`,
267
+ category: 'Formulaires',
268
+ },
269
+ {
270
+ title: 'SyRadioGroup',
271
+ description: 'Utilisé pour permettre à l\'utilisateur de choisir une option parmi plusieurs.',
272
+ link: '/?path=/docs/composants-formulaires-syradiogroup--docs',
273
+ img: `/components/sy-radiogroup${isAp ? '-ap' : ''}.svg`,
274
+ category: 'Formulaires',
275
+ },
238
276
  {
239
277
  title: 'PaginatedTable',
240
278
  description: 'Utilisé pour afficher une VDataTable de Vuetify avec une pagination persistante.',
@@ -353,10 +391,37 @@ export const ComponentsList: StoryObj = {
353
391
  'Feedback',
354
392
  ]
355
393
 
394
+ const apComponents = [
395
+ 'FooterBar',
396
+ 'HeaderBar',
397
+ 'HeaderLoading',
398
+ 'PageContainer',
399
+ 'CopyBtn',
400
+ 'DownloadBtn',
401
+ 'SyPagination',
402
+ 'SkipLink',
403
+ 'SyCheckBox',
404
+ 'SyCheckBoxGroup',
405
+ 'SyAutocomplete',
406
+ 'SySelect',
407
+ 'SyRadioGroup',
408
+ ]
409
+
410
+ const shouldDisplayComponent = (component: { category: string, title: string }, category: string) => {
411
+ if (isAp) {
412
+ return (
413
+ component.category === category
414
+ && apComponents.some(apComponent => component.title.includes(apComponent))
415
+ )
416
+ }
417
+
418
+ return component.category === category
419
+ }
420
+
356
421
  const groupedComponents = categoryOrder.map(category => ({
357
422
  category,
358
- components: components.filter(component => component.category === category),
359
- }))
423
+ components: components.filter(component => shouldDisplayComponent(component, category)),
424
+ })).filter(group => group.components.length > 0)
360
425
 
361
426
  return {
362
427
  groupedComponents,
@@ -43,8 +43,8 @@ export const Header: StoryObj = {
43
43
  <img alt="line" src="/home-line.svg" width="120" height="5" class="mb-5" />
44
44
  <h2 style="font-family: Arial !important; font-size: 1.5rem !important; font-weight: 400 !important; line-height: 1.30 !important; letter-spacing: normal !important;" class="mb-5">Synapse :
45
45
  <span v-if="theme === 'pa'" class="text-h5">thème Portail Agent</span>
46
- <span v-if="theme === 'ap'">thème Amelipro New</span>
47
- <span v-if="theme === 'ap2026'">thème Amelipro</span>
46
+ <span v-if="theme === 'ap'">thème Amelipro</span>
47
+ <span v-if="theme === 'ap2026'">thème Amelipro 2026</span>
48
48
  <span v-if="theme === 'cnam'" class="text-h5">thème CNAM</span></h2>
49
49
  <p style="font-family: Arial !important; font-size: 1rem !important;" class="mb-5">Veuillez sélectionner dans la barre d’outil en haut de l’écran le thème graphique de votre produit avant de consulter la documentation, elle s’actualisera en conséquence avec les tokens et composants disponibles.
50
50
  <br/>Si vous ne connaissez pas le thème auquel votre produit est soumis veuillez consulter le dossier d’architecture du produit.
@@ -153,7 +153,7 @@ export const DesignSystem: StoryObj = {
153
153
  </VCard>
154
154
  </VCol>
155
155
  <VCol cols="12" md="4">
156
- <VCard class="pa-0 h-100 card-hover" elevation="0" href="/?path=/docs/guide-du-dev-migration-depuis-bridge--docs">
156
+ <VCard class="pa-0 h-100 card-hover" elevation="0" href="/?path=/docs/guide-du-dev-installation--docs">
157
157
  <img src="/home-card-dev.svg" alt="Guide du dev" class="w-100" />
158
158
  <VCardTitle><b>Guides du dev</b></VCardTitle>
159
159
  <VCardText>Les Guides du Dev accompagnent les équipes techniques dans l'implémentation du Design System en garantissant une intégration fluide et efficace.</VCardText>
@@ -0,0 +1,15 @@
1
+ import { Meta, Story } from '@storybook/blocks';
2
+ import * as AmeliproStories from './Amelipro.stories';
3
+ import '../styles/shared.css';
4
+
5
+ <Meta of={AmeliproStories}/>
6
+
7
+
8
+
9
+ <div className="header">
10
+ <h1>Equivalence des composants Amelipro avec la stack front VueJs 3</h1>
11
+ </div>
12
+
13
+ Suite au besoin de migration de l'ensemble des applications du parc de Amelipro vers Vue.js 3, les composants graphiques ont été unifiés. Voici les composants Amelipro et leur équivalence dans la stack front Vue.js 3.
14
+
15
+ <Story of={AmeliproStories.ApComponents}/>