@cnamts/synapse 1.0.19 → 1.0.21

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 (378) hide show
  1. package/dist/{DateFilter-CeVuSfJ9.js → DateFilter-uN8OURoP.js} +1 -1
  2. package/dist/{NumberFilter-C8PAu_sw.js → NumberFilter-sm1dQNQi.js} +1 -1
  3. package/dist/{PeriodFilter-UMUaxx3d.js → PeriodFilter-Cklsxnh9.js} +1 -1
  4. package/dist/{SelectFilter-CqZl8CYt.js → SelectFilter-CWefj27Z.js} +1 -1
  5. package/dist/{TextFilter-D_RhhNOh.js → TextFilter-Ddyj885L.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +4 -4
  7. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +17 -7
  8. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +4 -4
  9. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +4 -4
  10. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +2416 -0
  11. package/dist/components/Customs/Selects/SyAutocomplete/types.d.ts +5 -0
  12. package/dist/components/Customs/Selects/SyAutocomplete/utils/ariaManager.d.ts +14 -0
  13. package/dist/components/Customs/Selects/SyAutocomplete/utils/useItemUtils.d.ts +16 -0
  14. package/dist/components/Customs/Selects/SyAutocomplete/utils/useKeyboardHandler.d.ts +28 -0
  15. package/dist/components/Customs/Selects/SyAutocomplete/utils/useSelectionLogic.d.ts +12 -0
  16. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +2 -0
  17. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +160 -0
  18. package/dist/components/Customs/SyCheckBoxGroup/locales.d.ts +3 -0
  19. package/dist/components/Customs/SyCheckBoxGroup/types.d.ts +10 -0
  20. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1545 -2
  21. package/dist/components/Customs/SyIcon/SyIcon.d.ts +2 -1
  22. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +1495 -2
  23. package/dist/components/DatePicker/composables/useDateSelection.d.ts +1 -0
  24. package/dist/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.d.ts +60 -0
  25. package/dist/components/ErrorPage/ErrorPage.d.ts +1 -12
  26. package/dist/components/ErrorPage/locales.d.ts +18 -3
  27. package/dist/components/FileUpload/FileUpload.d.ts +2 -0
  28. package/dist/components/MaintenancePage/locales.d.ts +18 -2
  29. package/dist/components/NotFoundPage/locales.d.ts +20 -4
  30. package/dist/components/PaginatedTable/PaginatedTable.d.ts +1 -1
  31. package/dist/components/PaginatedTable/Pagination.d.ts +17 -0
  32. package/dist/components/StatusPage/StatusPage.d.ts +39 -0
  33. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -5
  34. package/dist/components/Tables/SyTable/SyTable.d.ts +5 -5
  35. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +13 -3
  36. package/dist/components/index.d.ts +4 -0
  37. package/dist/components/types.d.ts +15 -0
  38. package/dist/composables/useFormFieldErrorHandling.d.ts +31 -0
  39. package/dist/design-system-v3.js +126 -122
  40. package/dist/design-system-v3.umd.cjs +325 -314
  41. package/dist/{main-B39UVv5p.js → main-CWniLr0s.js} +15837 -14587
  42. package/dist/modules.d.ts +6 -0
  43. package/dist/style.css +1 -1
  44. package/dist/utils/theme/index.d.ts +6 -0
  45. package/package.json +12 -10
  46. package/src/assets/amelipro/icons.ts +166 -153
  47. package/src/components/Accordion/Accordion.mdx +4 -1
  48. package/src/components/Accordion/{Accessibilite/AccessibilityGuide.mdx → accessibilite/Accessibility.mdx} +2 -2
  49. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +73 -14
  50. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +119 -27
  51. package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.a11y.spec.ts +304 -0
  52. package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +435 -9
  53. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +60 -0
  54. package/src/components/Amelipro/AmeliproIcon/__tests__/AmeliproIcon.spec.ts +1 -1
  55. package/src/components/Amelipro/AmeliproIcon/iconList.ts +2 -0
  56. package/src/components/BackBtn/BackBtn.vue +5 -4
  57. package/src/components/BackBtn/accessibilite/Accessibility.mdx +15 -0
  58. package/src/components/BackToTopBtn/BackToTopBtn.vue +6 -3
  59. package/src/components/BackToTopBtn/accessibilite/Accessibility.mdx +15 -0
  60. package/src/components/Captcha/Captcha.vue +5 -1
  61. package/src/components/Captcha/CaptchaAlert.vue +9 -7
  62. package/src/components/Captcha/accessibilite/Accessibility.mdx +10 -0
  63. package/src/components/ChipList/accessibilite/Accessibility.mdx +15 -0
  64. package/src/components/CollapsibleList/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +8 -6
  65. package/src/components/Common/IconSlot/IconSlot.vue +1 -1
  66. package/src/components/ContextualMenu/ContextualMenu.stories.ts +0 -3
  67. package/src/components/ContextualMenu/accessibilite/Accessibility.mdx +71 -0
  68. package/src/components/CookieBanner/CookieBanner.stories.ts +11 -20
  69. package/src/components/CookieBanner/CookieBanner.vue +20 -5
  70. package/src/components/CookieBanner/accessibilite/Accessibility.mdx +71 -0
  71. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +48 -4
  72. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +5 -4
  73. package/src/components/CopyBtn/CopyBtn.vue +6 -3
  74. package/src/components/CopyBtn/accessibilite/Accessibility.mdx +15 -0
  75. package/src/components/Customs/Selects/SelectBtnField/accessibilite/Accessibility.mdx +15 -0
  76. package/src/components/Customs/Selects/SelectOverview.mdx +112 -1
  77. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.mdx +52 -0
  78. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +979 -0
  79. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +653 -0
  80. package/src/components/Customs/Selects/{SySelect → SyAutocomplete/accessibilite}/Accessibilite.stories.ts +7 -38
  81. package/src/components/Customs/Selects/{SySelect/Accessibilite.mdx → SyAutocomplete/accessibilite/Accessibility.mdx} +15 -20
  82. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +72 -0
  83. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +345 -0
  84. package/src/components/Customs/Selects/SyAutocomplete/types.ts +7 -0
  85. package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +180 -0
  86. package/src/components/Customs/Selects/SyAutocomplete/utils/useItemUtils.ts +46 -0
  87. package/src/components/Customs/Selects/SyAutocomplete/utils/useKeyboardHandler.ts +107 -0
  88. package/src/components/Customs/Selects/SyAutocomplete/utils/useSelectionLogic.ts +74 -0
  89. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.vue +13 -9
  90. package/src/components/Customs/Selects/SyInputSelect/accessibilite/Accessibility.mdx +12 -0
  91. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +43 -34
  92. package/src/components/Customs/Selects/SySelect/SySelect.vue +19 -2
  93. package/src/components/Customs/Selects/SySelect/accessibilite/Accessibility.mdx +274 -0
  94. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +21 -16
  95. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.mdx +32 -0
  96. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.stories.ts +856 -0
  97. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +334 -0
  98. package/src/components/Customs/SyCheckBoxGroup/accessibilite/Accessibility.mdx +243 -0
  99. package/src/components/Customs/SyCheckBoxGroup/locales.ts +3 -0
  100. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.a11y.spec.ts +30 -0
  101. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.spec.ts +152 -0
  102. package/src/components/Customs/SyCheckBoxGroup/types.ts +10 -0
  103. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +16 -27
  104. package/src/components/Customs/SyCheckbox/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +3 -3
  105. package/src/components/Customs/SyForm/SyForm.a11y.spec.ts +1 -1
  106. package/src/components/Customs/SyForm/accessibilite/Accessibility.mdx +10 -0
  107. package/src/components/Customs/SyIcon/SyIcon.mdx +4 -1
  108. package/src/components/Customs/SyIcon/SyIcon.vue +4 -3
  109. package/src/components/Customs/SyIcon/{Accessibilite.stories.ts → accessibilite/Accessibilite.stories.ts} +3 -3
  110. package/src/components/Customs/SyIcon/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +2 -2
  111. package/src/components/Customs/SyPagination/SyPagination.mdx +4 -2
  112. package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +10 -0
  113. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +16 -43
  114. package/src/components/Customs/SyRadioGroup/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +2 -2
  115. package/src/components/Customs/SyTabs/SyTabs.mdx +4 -2
  116. package/src/components/Customs/SyTabs/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +2 -2
  117. package/src/components/Customs/SyTextField/SyTextField.mdx +1 -2
  118. package/src/components/Customs/SyTextField/SyTextField.vue +13 -0
  119. package/src/components/Customs/SyTextField/accessibilite/Accessibility.mdx +15 -0
  120. package/src/components/DataList/accessibilite/Accessibility.mdx +15 -0
  121. package/src/components/DataListGroup/accessibilite/Accessibility.mdx +14 -0
  122. package/src/components/DatePicker/Accessibilite.mdx +1 -1
  123. package/src/components/DatePicker/Accessibilite.stories.ts +1 -1
  124. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +7 -4
  125. package/src/components/DatePicker/CalendarMode/DatePicker.vue +49 -13
  126. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +43 -2
  127. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +297 -0
  128. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +48 -21
  129. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +98 -0
  130. package/src/components/DatePicker/composables/useDateSelection.ts +5 -0
  131. package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +273 -0
  132. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +4 -4
  133. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +10 -0
  134. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.mdx +83 -0
  135. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.stories.ts +502 -0
  136. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.vue +428 -0
  137. package/src/components/DeclarationAccessibilityPage/accessibilite/Accessibility.mdx +75 -0
  138. package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.a11y.spec.ts +53 -0
  139. package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.spec.ts +59 -0
  140. package/src/components/DiacriticPicker/DiacriticPicker.vue +20 -1
  141. package/src/components/DiacriticPicker/accessibilite/Accessibility.mdx +10 -0
  142. package/src/components/DialogBox/accessibilite/Accessibility.mdx +15 -0
  143. package/src/components/DownloadBtn/DownloadBtn.vue +5 -4
  144. package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +15 -0
  145. package/src/components/ErrorPage/ErrorPage.mdx +6 -16
  146. package/src/components/ErrorPage/ErrorPage.stories.ts +16 -87
  147. package/src/components/ErrorPage/ErrorPage.vue +38 -125
  148. package/src/components/ErrorPage/accessibilite/Accessibility.mdx +77 -0
  149. package/src/components/ErrorPage/assets/error-ap.svg +1774 -0
  150. package/src/components/ErrorPage/locales.ts +21 -3
  151. package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +5 -13
  152. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +2 -41
  153. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +8 -266
  154. package/src/components/ExternalLinks/accessibilite/Accessibility.mdx +15 -0
  155. package/src/components/FileList/UploadItem/UploadItem.vue +25 -20
  156. package/src/components/FileList/accessibilite/Accessibility.mdx +12 -0
  157. package/src/components/FilePreview/accessibilite/Accessibility.mdx +12 -0
  158. package/src/components/FileUpload/FileUpload.vue +5 -0
  159. package/src/components/FileUpload/FileUploadContent.vue +5 -4
  160. package/src/components/FileUpload/accessibilite/Accessibility.mdx +12 -0
  161. package/src/components/FilterInline/FilterInline.vue +5 -4
  162. package/src/components/FilterInline/accessibilite/Accessibility.mdx +12 -0
  163. package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +15 -0
  164. package/src/components/FooterBar/FooterBar.stories.ts +18 -14
  165. package/src/components/FooterBar/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +3 -4
  166. package/src/components/FooterBar/defaultSocialMediaLinks.ts +6 -4
  167. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +6 -5
  168. package/src/components/FranceConnectBtn/accessibilite/Accessibility.mdx +15 -0
  169. package/src/components/FranceConnectBtn/tests/__snapshots__/FranceConnectBtn.spec.ts.snap +3 -0
  170. package/src/components/HeaderBar/HeaderBurgerMenu/accessibilite/Accessibility.mdx +15 -0
  171. package/src/components/HeaderBar/accessibilite/Accessibility.mdx +15 -0
  172. package/src/components/HeaderBar/{Usages.mdx → usages/Usages.mdx} +2 -2
  173. package/src/components/HeaderLoading/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +9 -5
  174. package/src/components/HeaderToolbar/accessibilite/Accessibility.mdx +15 -0
  175. package/src/components/LangBtn/LangBtn.vue +5 -4
  176. package/src/components/LangBtn/accessibilite/Accessibility.mdx +15 -0
  177. package/src/components/Logo/accessibilite/Accessibility.mdx +17 -0
  178. package/src/components/LogoBrandSection/accessibilite/Accessibility.mdx +12 -0
  179. package/src/components/LunarCalendar/accessibilite/Accessibility.mdx +10 -0
  180. package/src/components/MaintenancePage/MaintenancePage.mdx +1 -1
  181. package/src/components/MaintenancePage/MaintenancePage.vue +15 -7
  182. package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +70 -0
  183. package/src/components/MaintenancePage/assets/maintenance-ap.svg +1718 -0
  184. package/src/components/MaintenancePage/locales.ts +24 -3
  185. package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +75 -3
  186. package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +42 -2
  187. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +3 -2
  188. package/src/components/NirField/accessibilite/Accessibility.mdx +15 -0
  189. package/src/components/NotFoundPage/NotFoundPage.mdx +1 -1
  190. package/src/components/NotFoundPage/NotFoundPage.stories.ts +3 -3
  191. package/src/components/NotFoundPage/NotFoundPage.vue +16 -11
  192. package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +87 -0
  193. package/src/components/NotFoundPage/assets/not-found-ap.svg +2061 -0
  194. package/src/components/NotFoundPage/locales.ts +24 -4
  195. package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +168 -4
  196. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +100 -12
  197. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +2 -2
  198. package/src/components/NotificationBar/Notification/Notification.vue +1 -1
  199. package/src/components/NotificationBar/NotificationBar.mdx +2 -2
  200. package/src/components/NotificationBar/accessibilite/Accessibility.mdx +75 -0
  201. package/src/components/PageContainer/{AccessibilityGuide.mdx → accessibilite/Accessibility.mdx} +7 -4
  202. package/src/components/PageContainer/tests/PageContainer.a11y.spec.ts +14 -7
  203. package/src/components/PaginatedTable/PaginatedTable.vue +27 -47
  204. package/src/components/PaginatedTable/Pagination.vue +93 -0
  205. package/src/components/PaginatedTable/accessibilite/Accessibility.mdx +12 -0
  206. package/src/components/PasswordField/PasswordField.vue +2 -1
  207. package/src/components/PasswordField/accessibilite/Accessibility.mdx +108 -0
  208. package/src/components/PeriodField/accessibilite/Accessibility.mdx +12 -0
  209. package/src/components/PhoneField/PhoneField.stories.ts +46 -38
  210. package/src/components/PhoneField/accessibilite/Accessibility.mdx +15 -0
  211. package/src/components/RangeField/accessibilite/Accessibility.mdx +15 -0
  212. package/src/components/RatingPicker/accessibilite/Accessibility.mdx +15 -0
  213. package/src/components/SearchListField/SearchListField.vue +6 -3
  214. package/src/components/SearchListField/accessibilite/Accessibility.mdx +15 -0
  215. package/src/components/SkipLink/{Accessibilite.mdx → accessibilite/Accessibility.mdx} +7 -4
  216. package/src/components/SocialMediaLinks/DefaultSocialMediaLinks.ts +6 -4
  217. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +7 -5
  218. package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +17 -13
  219. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +9 -1
  220. package/src/components/SocialMediaLinks/accessibilite/Accessibility.mdx +67 -0
  221. package/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.ts +5 -5
  222. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.a11y.spec.ts +59 -0
  223. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +9 -7
  224. package/src/components/StatusPage/StatusPage.mdx +22 -0
  225. package/src/components/StatusPage/StatusPage.stories.ts +193 -0
  226. package/src/components/StatusPage/StatusPage.vue +145 -0
  227. package/src/components/StatusPage/accessibilite/Accessibility.mdx +81 -0
  228. package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +29 -0
  229. package/src/components/StatusPage/tests/StatusPage.spec.ts +50 -0
  230. package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +270 -0
  231. package/src/components/SubHeader/accessibilite/Accessibility.mdx +15 -0
  232. package/src/components/SyAlert/SyAlert.vue +6 -6
  233. package/src/components/SyAlert/accessibilite/Accessibility.mdx +12 -0
  234. package/src/components/SyTextArea/accessibilite/Accessibility.mdx +10 -0
  235. package/src/components/TableToolbar/TableToolbar.stories.ts +6 -6
  236. package/src/components/TableToolbar/TableToolbar.vue +7 -4
  237. package/src/components/TableToolbar/accessibilite/Accessibility.mdx +12 -0
  238. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +0 -5
  239. package/src/components/Tables/SyServerTable/SyServerTable.mdx +4 -1
  240. package/src/components/Tables/SyServerTable/accessibilite/Accessibility.mdx +10 -0
  241. package/src/components/Tables/SyTable/SyTable.mdx +4 -1
  242. package/src/components/Tables/SyTable/accessibilite/Accessibility.mdx +10 -0
  243. package/src/components/Tables/common/TableHeader.vue +3 -1
  244. package/src/components/Tables/common/organizeColumns/OrganizeColumns.vue +18 -14
  245. package/src/components/ToolbarContainer/ToolbarContainer.mdx +2 -1
  246. package/src/components/ToolbarContainer/ToolbarContainer.stories.ts +563 -420
  247. package/src/components/ToolbarContainer/accessibilite/Accessibility.mdx +69 -0
  248. package/src/components/UploadWorkflow/UploadWorkflow.mdx +11 -1
  249. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +107 -3
  250. package/src/components/UploadWorkflow/UploadWorkflow.vue +35 -24
  251. package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +12 -0
  252. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +48 -0
  253. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +9 -5
  254. package/src/components/UploadWorkflow/useFileList.ts +7 -0
  255. package/src/components/Usages/Usages.vue +3 -2
  256. package/src/components/UserMenuBtn/UserMenuBtn.vue +7 -5
  257. package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +12 -0
  258. package/src/components/index.ts +5 -0
  259. package/src/components/types.ts +10 -0
  260. package/src/composables/rules/tests/useFieldValidation.spec.ts +39 -3
  261. package/src/composables/rules/useFieldValidation.ts +31 -9
  262. package/src/composables/useFormFieldErrorHandling.ts +141 -0
  263. package/src/modules.d.ts +6 -0
  264. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +7 -0
  265. package/src/utils/theme/index.ts +19 -0
  266. package/src/utils/theme/tests/useThemeLocales.spec.ts +245 -0
  267. package/dist/components/MaintenancePage/index.d.ts +0 -2
  268. package/src/components/BackBtn/Accessibilite.mdx +0 -14
  269. package/src/components/BackBtn/Accessibilite.stories.ts +0 -30
  270. package/src/components/BackToTopBtn/Accessibilite.mdx +0 -14
  271. package/src/components/BackToTopBtn/Accessibilite.stories.ts +0 -31
  272. package/src/components/ChipList/Accessibilite.mdx +0 -14
  273. package/src/components/ChipList/Accessibilite.stories.ts +0 -31
  274. package/src/components/CollapsibleList/Accessibilite.stories.ts +0 -29
  275. package/src/components/ContextualMenu/Accessibilite.mdx +0 -13
  276. package/src/components/ContextualMenu/Accessibilite.stories.ts +0 -29
  277. package/src/components/CookieBanner/Accessibilite.mdx +0 -13
  278. package/src/components/CookieBanner/Accessibilite.stories.ts +0 -30
  279. package/src/components/CopyBtn/Accessibilite.mdx +0 -13
  280. package/src/components/CopyBtn/Accessibilite.stories.ts +0 -29
  281. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.mdx +0 -14
  282. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.stories.ts +0 -29
  283. package/src/components/Customs/Selects/SyInputSelect/Accessibilite.mdx +0 -13
  284. package/src/components/Customs/Selects/SyInputSelect/Accessibilite.stories.ts +0 -25
  285. package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +0 -27
  286. package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +0 -51
  287. package/src/components/Customs/SyTextField/Accessibilite.mdx +0 -14
  288. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +0 -34
  289. package/src/components/DataList/Accessibilite.mdx +0 -13
  290. package/src/components/DataList/Accessibilite.stories.ts +0 -29
  291. package/src/components/DataListGroup/Accessibilite.mdx +0 -13
  292. package/src/components/DataListGroup/Accessibilite.stories.ts +0 -29
  293. package/src/components/DataListItem/tests/DataListItem.a11y.spec.ts +0 -31
  294. package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +0 -27
  295. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +0 -26
  296. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +0 -27
  297. package/src/components/DialogBox/Accessibilite.mdx +0 -14
  298. package/src/components/DialogBox/Accessibilite.stories.ts +0 -29
  299. package/src/components/DownloadBtn/Accessibilite.mdx +0 -14
  300. package/src/components/DownloadBtn/Accessibilite.stories.ts +0 -29
  301. package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +0 -26
  302. package/src/components/ErrorPage/Accessibilite.mdx +0 -13
  303. package/src/components/ErrorPage/Accessibilite.stories.ts +0 -36
  304. package/src/components/ExternalLinks/Accessibilite.mdx +0 -18
  305. package/src/components/ExternalLinks/Accessibilite.stories.ts +0 -62
  306. package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +0 -39
  307. package/src/components/FileList/Accessibilite.mdx +0 -13
  308. package/src/components/FileList/Accessibilite.stories.ts +0 -26
  309. package/src/components/FilePreview/Accessibilite.mdx +0 -14
  310. package/src/components/FilePreview/Accessibilite.stories.ts +0 -26
  311. package/src/components/FileUpload/Accessibilite.mdx +0 -13
  312. package/src/components/FileUpload/Accessibilite.stories.ts +0 -26
  313. package/src/components/FilterInline/Accessibilite.mdx +0 -15
  314. package/src/components/FilterInline/Accessibilite.stories.ts +0 -26
  315. package/src/components/FilterSideBar/Accessibilite.mdx +0 -13
  316. package/src/components/FilterSideBar/Accessibilite.stories.ts +0 -30
  317. package/src/components/FooterBar/Accessibilite.stories.ts +0 -26
  318. package/src/components/FranceConnectBtn/Accessibilite.mdx +0 -13
  319. package/src/components/FranceConnectBtn/Accessibilite.stories.ts +0 -30
  320. package/src/components/HeaderBar/Accessibilite.mdx +0 -13
  321. package/src/components/HeaderBar/Accessibilite.stories.ts +0 -31
  322. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.mdx +0 -13
  323. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +0 -30
  324. package/src/components/HeaderLoading/Accessibilite.stories.ts +0 -31
  325. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.a11y.spec.ts +0 -45
  326. package/src/components/HeaderToolbar/Accessibilite.mdx +0 -13
  327. package/src/components/HeaderToolbar/Accessibilite.stories.ts +0 -36
  328. package/src/components/HeaderToolbar/tests/HeaderToolbar.a11y.spec.ts +0 -25
  329. package/src/components/LangBtn/Accessibilite.mdx +0 -13
  330. package/src/components/LangBtn/Accessibilite.stories.ts +0 -32
  331. package/src/components/Logo/Accessibilite.mdx +0 -13
  332. package/src/components/Logo/Accessibilite.stories.ts +0 -30
  333. package/src/components/LogoBrandSection/Accessibilite.mdx +0 -13
  334. package/src/components/LogoBrandSection/Accessibilite.stories.ts +0 -26
  335. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +0 -31
  336. package/src/components/MaintenancePage/Accessibilite.mdx +0 -13
  337. package/src/components/MaintenancePage/Accessibilite.stories.ts +0 -36
  338. package/src/components/MaintenancePage/index.ts +0 -3
  339. package/src/components/NirField/Accessibilite.mdx +0 -13
  340. package/src/components/NirField/Accessibilite.stories.ts +0 -31
  341. package/src/components/NotFoundPage/Accessibilite.mdx +0 -13
  342. package/src/components/NotFoundPage/Accessibilite.stories.ts +0 -36
  343. package/src/components/NotificationBar/Accessibilite.mdx +0 -13
  344. package/src/components/NotificationBar/Accessibilite.stories.ts +0 -30
  345. package/src/components/PageContainer/Accessibilite.mdx +0 -13
  346. package/src/components/PageContainer/Accessibilite.stories.ts +0 -30
  347. package/src/components/PaginatedTable/Accessibilite.mdx +0 -13
  348. package/src/components/PaginatedTable/Accessibilite.stories.ts +0 -26
  349. package/src/components/PaginatedTable/tests/PaginatedTable.a11y.spec.ts +0 -43
  350. package/src/components/PasswordField/Accessibilite.mdx +0 -13
  351. package/src/components/PasswordField/Accessibilite.stories.ts +0 -121
  352. package/src/components/PeriodField/Accessibilite.mdx +0 -13
  353. package/src/components/PeriodField/Accessibilite.stories.ts +0 -27
  354. package/src/components/PhoneField/Accessibilite.mdx +0 -13
  355. package/src/components/PhoneField/Accessibilite.stories.ts +0 -32
  356. package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +0 -34
  357. package/src/components/RangeField/Accessibilite.mdx +0 -13
  358. package/src/components/RangeField/Accessibilite.stories.ts +0 -32
  359. package/src/components/RatingPicker/Accessibilite.mdx +0 -13
  360. package/src/components/RatingPicker/Accessibilite.stories.ts +0 -30
  361. package/src/components/SearchListField/Accessibilite.mdx +0 -13
  362. package/src/components/SearchListField/Accessibilite.stories.ts +0 -30
  363. package/src/components/SkipLink/Accessibilite.stories.ts +0 -36
  364. package/src/components/SocialMediaLinks/Accessibilite.mdx +0 -13
  365. package/src/components/SocialMediaLinks/Accessibilite.stories.ts +0 -36
  366. package/src/components/SubHeader/Accessibilite.mdx +0 -13
  367. package/src/components/SubHeader/Accessibilite.stories.ts +0 -36
  368. package/src/components/SyAlert/Accessibilite.mdx +0 -13
  369. package/src/components/SyAlert/Accessibilite.stories.ts +0 -30
  370. package/src/components/TableToolbar/Accessibilite.mdx +0 -13
  371. package/src/components/TableToolbar/Accessibilite.stories.ts +0 -26
  372. package/src/components/UploadWorkflow/Accessibilite.mdx +0 -13
  373. package/src/components/UploadWorkflow/Accessibilite.stories.ts +0 -26
  374. package/src/components/UserMenuBtn/Accessibilite.mdx +0 -13
  375. package/src/components/UserMenuBtn/Accessibilite.stories.ts +0 -25
  376. /package/src/components/HeaderBar/{Usages.stories.ts → usages/Usages.stories.ts} +0 -0
  377. /package/src/components/NotFoundPage/assets/{not-found.svg → not-found-cnam.svg} +0 -0
  378. /package/src/components/SyBtnMenu/accessibilite/{AccessibilityGuide.mdx → Accessibility.mdx} +0 -0
@@ -1,18 +1,20 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
- import Toolbar from './ToolbarContainer.vue'
3
- import { VBtn, VCheckbox, VDivider } from 'vuetify/components'
2
+ import ToolbarContainer from './ToolbarContainer.vue'
3
+ import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
4
+ import { VBtn, VBtnToggle, VCheckbox, VDivider } from 'vuetify/components'
4
5
  import { mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill } from '@mdi/js'
6
+ import { ref } from 'vue'
5
7
 
6
8
  const meta = {
7
9
  title: 'Composants/Layout/ToolbarContainer',
8
- component: Toolbar,
10
+ component: ToolbarContainer,
9
11
  argTypes: {
10
12
  default: {
11
13
  control: false,
12
14
  description: 'Contenu de la barre d\'outils',
13
15
  },
14
16
  },
15
- } satisfies Meta<typeof Toolbar>
17
+ } satisfies Meta<typeof ToolbarContainer>
16
18
 
17
19
  export default meta
18
20
 
@@ -21,41 +23,60 @@ type Story = StoryObj<typeof meta>
21
23
  export const Default: Story = {
22
24
  render: (args) => {
23
25
  return {
24
- components: { VBtn, Toolbar },
26
+ components: { VBtn, VBtnToggle, ToolbarContainer, SyIcon },
25
27
  setup() {
26
- return { args, mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter }
28
+ const justification = ref<string>()
29
+ return { args, justification, mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter }
27
30
  },
28
31
  template: `
29
32
  <div>
30
- <Toolbar
33
+ <ToolbarContainer
31
34
  class="d-flex flex-wrap ga-4"
32
35
  aria-label="Outils de mise en forme"
33
36
  >
34
- <VBtn>
35
- <span class="d-sr-only">aligne a gauche</span>
36
- <VIcon
37
- size="x-large"
38
- >
39
- {{ mdiFormatAlignLeft }}
40
- </VIcon>
41
- </VBtn>
42
- <VBtn>
43
- <span class="d-sr-only">aligne au centre</span>
44
- <VIcon
45
- size="x-large"
46
- >
47
- {{ mdiFormatAlignCenter }}
48
- </VIcon>
49
- </VBtn>
50
- <VBtn>
51
- <span class="d-sr-only">aligne a droite</span>
52
- <VIcon
53
- size="x-large"
54
- >
55
- {{ mdiFormatAlignRight }}
56
- </VIcon>
57
- </VBtn>
58
- </Toolbar>
37
+ <VBtnToggle
38
+ class="d-flex flex-wrap ga-2"
39
+ role="radiogroup"
40
+ aria-label="Alignement du texte"
41
+ v-model="justification"
42
+ color="primary"
43
+ style="overflow: visible;"
44
+ >
45
+ <VBtn
46
+ title="ferrer à gauche"
47
+ aria-label="ferrer à gauche"
48
+ role="radio"
49
+ value="left"
50
+ elevation="2"
51
+ size="small"
52
+ :aria-checked="justification === 'left' ? 'true' : 'false'"
53
+ >
54
+ <SyIcon :icon="mdiFormatAlignLeft" size="x-large" decorative />
55
+ </VBtn>
56
+ <VBtn
57
+ title="centrer"
58
+ aria-label="centrer"
59
+ role="radio"
60
+ value="center"
61
+ elevation="2"
62
+ size="small"
63
+ :aria-checked="justification === 'center' ? 'true' : 'false'"
64
+ >
65
+ <SyIcon :icon="mdiFormatAlignCenter" size="x-large" decorative />
66
+ </VBtn>
67
+ <VBtn
68
+ title="ferrer a droite"
69
+ aria-label="ferrer a droite"
70
+ role="radio"
71
+ value="right"
72
+ elevation="2"
73
+ size="small"
74
+ :aria-checked="justification === 'right' ? 'true' : 'false'"
75
+ >
76
+ <SyIcon :icon="mdiFormatAlignRight" size="x-large" decorative />
77
+ </VBtn>
78
+ </VBtnToggle>
79
+ </ToolbarContainer>
59
80
  </div>
60
81
  `,
61
82
  }
@@ -65,38 +86,66 @@ export const Default: Story = {
65
86
  {
66
87
  name: 'Template',
67
88
  code: `<template>
68
- <div>
69
- <Toolbar
70
- class="d-flex flex-wrap ga-4"
71
- aria-label="Outils de mise en forme"
89
+ <div>
90
+ <ToolbarContainer
91
+ class="d-flex flex-wrap ga-4"
92
+ aria-label="Outils de mise en forme"
93
+ >
94
+ <VBtnToggle
95
+ class="d-flex flex-wrap ga-2"
96
+ role="radiogroup"
97
+ aria-label="Alignement du texte"
98
+ v-model="justification"
99
+ color="primary"
100
+ style="overflow: visible;"
101
+ >
102
+ <VBtn
103
+ title="ferrer à gauche"
104
+ aria-label="ferrer à gauche"
105
+ role="radio"
106
+ value="left"
107
+ elevation="2"
108
+ size="small"
109
+ :aria-checked="justification === 'left' ? 'true' : 'false'"
110
+ >
111
+ <SyIcon :icon="mdiFormatAlignLeft" size="x-large" decorative />
112
+ </VBtn>
113
+ <VBtn
114
+ title="centrer"
115
+ aria-label="centrer"
116
+ role="radio"
117
+ value="center"
118
+ elevation="2"
119
+ size="small"
120
+ :aria-checked="justification === 'center' ? 'true' : 'false'"
121
+ >
122
+ <SyIcon :icon="mdiFormatAlignCenter" size="x-large" decorative />
123
+ </VBtn>
124
+ <VBtn
125
+ title="ferrer a droite"
126
+ aria-label="ferrer a droite"
127
+ role="radio"
128
+ value="right"
129
+ elevation="2"
130
+ size="small"
131
+ :aria-checked="justification === 'right' ? 'true' : 'false'"
72
132
  >
73
- <VBtn>
74
- <span class="d-sr-only">aligne a gauche</span>
75
- <VIcon
76
- size="x-large"
77
- >
78
- {{ mdiFormatAlignLeft }}
79
- </VIcon>
80
- </VBtn>
81
- <VBtn>
82
- <span class="d-sr-only">aligne au centre</span>
83
- <VIcon
84
- size="x-large"
85
- >
86
- {{ mdiFormatAlignCenter }}
87
- </VIcon>
88
- </VBtn>
89
- <VBtn>
90
- <span class="d-sr-only">aligne a droite</span>
91
- <VIcon
92
- size="x-large"
93
- >
94
- {{ mdiFormatAlignRight }}
95
- </VIcon>
96
- </VBtn>
97
- </Toolbar>
98
- </div>
99
- </tempalte>`,
133
+ <SyIcon :icon="mdiFormatAlignRight" size="x-large" decorative />
134
+ </VBtn>
135
+ </VBtnToggle>
136
+ </ToolbarContainer>
137
+ </div>
138
+ </template>
139
+
140
+ <script setup lang="ts">
141
+ import { ref } from 'vue'
142
+ import { VBtn, VBtnToggle } from 'vuetify/components'
143
+ import ToolbarContainer from '@/components/ToolbarContainer/ToolbarContainer.vue'
144
+ import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
145
+ import { mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter } from '@mdi/js'
146
+
147
+ const justification = ref<string>()
148
+ </script>`,
100
149
  },
101
150
  ],
102
151
  },
@@ -105,42 +154,19 @@ export const Default: Story = {
105
154
  export const WithCheckboxes: Story = {
106
155
  render: (args) => {
107
156
  return {
108
- components: { VCheckbox, Toolbar },
157
+ components: { VCheckbox, ToolbarContainer, SyIcon },
109
158
  setup() {
110
159
  return { args }
111
160
  },
112
161
  template: `
113
- <Toolbar
162
+ <ToolbarContainer
114
163
  class="d-flex flex-wrap ga-4"
115
164
  aria-label="Options d'envoi"
116
165
  >
117
- <VCheckbox
118
- label="Envoyer une copie"
119
- color="primary"
120
- hide-details
121
- />
122
- <VCheckbox
123
- label="Envoyer en copie cachée"
124
- color="primary"
125
- hide-details
126
- />
127
- <VCheckbox
128
- label="Confirmer la lecture"
129
- color="primary"
130
- hide-details
131
- />
132
- </Toolbar>
133
- `,
134
- }
135
- },
136
- parameters: {
137
- sourceCode: [
138
- {
139
- name: 'Template',
140
- code: `<template>
141
- <Toolbar
166
+ <div
142
167
  class="d-flex flex-wrap ga-4"
143
- aria-label="Options d'envoi"
168
+ role="group"
169
+ aria-label="Avertissements"
144
170
  >
145
171
  <VCheckbox
146
172
  label="Envoyer une copie"
@@ -152,141 +178,199 @@ export const WithCheckboxes: Story = {
152
178
  color="primary"
153
179
  hide-details
154
180
  />
181
+ </div>
182
+ <div
183
+ class="d-flex flex-wrap ga-4"
184
+ role="group"
185
+ aria-label="Confirmations"
186
+ >
155
187
  <VCheckbox
156
188
  label="Confirmer la lecture"
157
189
  color="primary"
158
190
  hide-details
159
191
  />
160
- </Toolbar>
161
- </tempalte>`,
192
+ </div>
193
+ </ToolbarContainer>
194
+ `,
195
+ }
196
+ },
197
+ parameters: {
198
+ sourceCode: [
199
+ {
200
+ name: 'Template',
201
+ code: `<template>
202
+ <ToolbarContainer
203
+ class="d-flex flex-wrap ga-4"
204
+ aria-label="Options d'envoi"
205
+ >
206
+ <div
207
+ class="d-flex flex-wrap ga-4"
208
+ role="group"
209
+ aria-label="Avertissements"
210
+ >
211
+ <VCheckbox
212
+ label="Envoyer une copie"
213
+ color="primary"
214
+ hide-details
215
+ />
216
+ <VCheckbox
217
+ label="Envoyer en copie cachée"
218
+ color="primary"
219
+ hide-details
220
+ />
221
+ </div>
222
+ <div
223
+ class="d-flex flex-wrap ga-4"
224
+ role="group"
225
+ aria-label="Confirmations"
226
+ >
227
+ <VCheckbox
228
+ label="Confirmer la lecture"
229
+ color="primary"
230
+ hide-details
231
+ />
232
+ </div>
233
+ </ToolbarContainer>
234
+ </template>`,
162
235
  },
163
236
  ],
164
237
  },
165
238
  }
166
239
 
167
- export const ManyTables: Story = {
240
+ export const ManySections: Story = {
168
241
  render: (args) => {
169
242
  return {
170
- components: { VBtn, VDivider, Toolbar },
243
+ components: { VBtn, VDivider, ToolbarContainer, SyIcon, VBtnToggle },
171
244
  setup() {
172
- return { args, mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill }
245
+ const justification = ref()
246
+ const textDecoration = ref([])
247
+ return { args, justification, textDecoration, mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill }
173
248
  },
174
249
  template: `
175
- <div class="d-flex flex-wrap ga-4">
176
- <Toolbar
177
- class="d-flex flex-wrap ga-4"
250
+ <ToolbarContainer
251
+ class="d-flex flex-wrap ga-4 align-center"
252
+ aria-label="Outils d'édition"
253
+ >
254
+ <VBtnToggle
255
+ class="d-flex flex-wrap ga-2"
256
+ role="radiogroup"
178
257
  aria-label="Outils d'alignement"
258
+ v-model="justification"
259
+ color="primary"
260
+ style="overflow: visible;"
179
261
  >
180
262
  <VBtn
181
263
  title="ferrer à gauche"
264
+ aria-label="ferrer à gauche"
265
+ role="radio"
266
+ value="left"
267
+ elevation="2"
268
+ size="small"
269
+ height="48"
270
+ :aria-checked="justification === 'left' ? 'true' : 'false'"
182
271
  >
183
- <span class="d-sr-only">aligne a gauche</span>
184
- <VIcon
185
- size="x-large"
186
- >
187
- {{ mdiFormatAlignLeft }}
188
- </VIcon>
272
+ <SyIcon :icon="mdiFormatAlignLeft" size="x-large" decorative />
189
273
  </VBtn>
190
274
  <VBtn
191
275
  title="justifier"
276
+ aria-label="justifier"
277
+ role="radio"
278
+ value="justify"
279
+ elevation="2"
280
+ size="small"
281
+ height="48"
282
+ :aria-checked="justification === 'justify' ? 'true' : 'false'"
192
283
  >
193
- <span class="d-sr-only">Texte justifié</span>
194
- <VIcon
195
- size="x-large"
196
- >
197
- {{ mdiFormatAlignJustify }}
198
- </VIcon>
284
+ <SyIcon :icon="mdiFormatAlignJustify" size="x-large" decorative />
199
285
  </VBtn>
200
286
  <VBtn
201
287
  title="centrer"
288
+ aria-label="centrer"
289
+ role="radio"
290
+ value="center"
291
+ elevation="2"
292
+ size="small"
293
+ :aria-checked="justification === 'center' ? 'true' : 'false'"
202
294
  >
203
- <span class="d-sr-only">aligne au centre</span>
204
- <VIcon
205
- size="x-large"
206
- >
207
- {{ mdiFormatAlignCenter }}
208
- </VIcon>
295
+ <SyIcon :icon="mdiFormatAlignCenter" size="x-large" decorative />
209
296
  </VBtn>
210
297
  <VBtn
211
298
  title="ferrer a droite"
299
+ aria-label="ferrer a droite"
300
+ role="radio"
301
+ value="right"
302
+ elevation="2"
303
+ size="small"
304
+ :aria-checked="justification === 'right' ? 'true' : 'false'"
212
305
  >
213
- <span class="d-sr-only">aligne à droite</span>
214
- <VIcon
215
- size="x-large"
216
- >
217
- {{ mdiFormatAlignRight }}
218
- </VIcon>
306
+ <SyIcon :icon="mdiFormatAlignRight" size="x-large" decorative />
219
307
  </VBtn>
220
- </Toolbar>
221
- <VDivider
222
- :thickness="2"
223
- vertical
224
- />
225
- <Toolbar
226
- class="d-flex flex-wrap ga-4"
227
- aria-label="Outils de mise en forme du texte"
308
+ </VBtnToggle>
309
+ <span style="height: 48px; width: 2px; background-color: #999"></span>
310
+ <VBtnToggle
311
+ class="d-flex flex-wrap ga-2"
312
+ role="group"
313
+ aria-label="Style du texte"
314
+ v-model="textDecoration"
315
+ color="primary"
316
+ style="overflow: visible;"
317
+ multiple
228
318
  >
229
319
  <VBtn
230
320
  title="gras"
321
+ aria-label="gras"
322
+ elevation="2"
323
+ size="small"
324
+ value="bold"
325
+ :aria-pressed="textDecoration.includes('bold') ? 'true' : 'false'"
231
326
  >
232
- <span class="d-sr-only">Text gras</span>
233
- <VIcon
234
- size="x-large"
235
- >
236
- {{ mdiFormatBold }}
237
- </VIcon>
327
+ <SyIcon :icon="mdiFormatBold" size="x-large" decorative />
238
328
  </VBtn>
239
329
  <VBtn
240
330
  title="italique"
331
+ aria-label="italique"
332
+ elevation="2"
333
+ size="small"
334
+ value="italic"
335
+ :aria-pressed="textDecoration.includes('italic') ? 'true' : 'false'"
241
336
  >
242
- <span class="d-sr-only">Text italique</span>
243
- <VIcon
244
- size="x-large"
245
- >
246
- {{ mdiFormatItalic }}
247
- </VIcon>
337
+ <SyIcon :icon="mdiFormatItalic" size="x-large" decorative />
248
338
  </VBtn>
249
339
  <VBtn
250
340
  title="souligné"
341
+ aria-label="souligné"
342
+ elevation="2"
343
+ size="small"
344
+ value="underline"
345
+ :aria-pressed="textDecoration.includes('underline') ? 'true' : 'false'"
251
346
  >
252
- <span class="d-sr-only">Text souligné</span>
253
- <VIcon
254
- size="x-large"
255
- >
256
- {{ mdiFormatUnderline }}
257
- </VIcon>
347
+ <SyIcon :icon="mdiFormatUnderline" size="x-large" decorative />
258
348
  </VBtn>
259
- </Toolbar>
260
- <VDivider
261
- :thickness="2"
262
- vertical
263
- />
264
- <Toolbar
265
- class="d-flex flex-wrap ga-4"
266
- aria-label="Outils de couleur"
349
+ </VBtnToggle>
350
+ <span style="height: 48px; width: 2px; background-color: #999"></span>
351
+ <div
352
+ class="d-flex flex-wrap ga-2"
353
+ role="group"
354
+ aria-label="Couleurs"
267
355
  >
268
356
  <VBtn
269
- title="couleur"
357
+ title="couleur du texte"
358
+ aria-label="couleur du texte"
359
+ size="small"
360
+ height="48"
270
361
  >
271
- <span class="d-sr-only">couleur du texte</span>
272
- <VIcon
273
- size="x-large"
274
- >
275
- {{ mdiFormatColorText }}
276
- </VIcon>
362
+ <SyIcon :icon="mdiFormatColorText" size="x-large" decorative />
277
363
  </VBtn>
278
364
  <VBtn
279
- title="fond"
365
+ title="couleur de fond"
366
+ aria-label="couleur de fond"
367
+ size="small"
368
+ height="48"
280
369
  >
281
- <span class="d-sr-only">Couleur de fond</span>
282
- <VIcon
283
- size="x-large"
284
- >
285
- {{ mdiFormatColorFill }}
286
- </VIcon>
370
+ <SyIcon :icon="mdiFormatColorFill" size="x-large" decorative />
287
371
  </VBtn>
288
- </Toolbar>
289
- </div>
372
+ </div>
373
+ </ToolbarContainer>
290
374
  `,
291
375
  }
292
376
  },
@@ -295,253 +379,288 @@ export const ManyTables: Story = {
295
379
  {
296
380
  name: 'Template',
297
381
  code: `<template>
298
- <div class="d-flex flex-wrap ga-4">
299
- <Toolbar
300
- class="d-flex flex-wrap ga-4"
382
+ <ToolbarContainer
383
+ class="d-flex flex-wrap ga-4 align-center"
384
+ aria-label="Outils d'édition"
385
+ >
386
+ <VBtnToggle
387
+ class="d-flex flex-wrap ga-2"
388
+ role="radiogroup"
301
389
  aria-label="Outils d'alignement"
390
+ v-model="justification"
391
+ color="primary"
392
+ style="overflow: visible;"
302
393
  >
303
394
  <VBtn
304
395
  title="ferrer à gauche"
305
- >
306
- <span class="d-sr-only">aligne a gauche</span>
307
- <VIcon
308
- size="x-large"
309
- >
310
- {{ mdiFormatAlignLeft }}
311
- </VIcon>
396
+ aria-label="ferrer à gauche"
397
+ role="radio"
398
+ value="left"
399
+ elevation="2"
400
+ size="small"
401
+ :aria-checked="justification === 'left' ? 'true' : 'false'"
402
+ >
403
+ <SyIcon :icon="mdiFormatAlignLeft" size="x-large" decorative />
312
404
  </VBtn>
313
405
  <VBtn
314
406
  title="justifier"
315
- >
316
- <span class="d-sr-only">Texte justifié</span>
317
- <VIcon
318
- size="x-large"
319
- >
320
- {{ mdiFormatAlignJustify }}
321
- </VIcon>
407
+ aria-label="justifier"
408
+ role="radio"
409
+ value="justify"
410
+ elevation="2"
411
+ size="small"
412
+ :aria-checked="justification === 'justify' ? 'true' : 'false'"
413
+ >
414
+ <SyIcon :icon="mdiFormatAlignJustify" size="x-large" decorative />
322
415
  </VBtn>
323
416
  <VBtn
324
417
  title="centrer"
325
- >
326
- <span class="d-sr-only">aligne au centre</span>
327
- <VIcon
328
- size="x-large"
329
- >
330
- {{ mdiFormatAlignCenter }}
331
- </VIcon>
418
+ aria-label="centrer"
419
+ role="radio"
420
+ value="center"
421
+ elevation="2"
422
+ size="small"
423
+ :aria-checked="justification === 'center' ? 'true' : 'false'"
424
+ >
425
+ <SyIcon :icon="mdiFormatAlignCenter" size="x-large" decorative />
332
426
  </VBtn>
333
427
  <VBtn
334
428
  title="ferrer a droite"
335
- >
336
- <span class="d-sr-only">aligne à droite</span>
337
- <VIcon
338
- size="x-large"
339
- >
340
- {{ mdiFormatAlignRight }}
341
- </VIcon>
429
+ aria-label="ferrer a droite"
430
+ role="radio"
431
+ value="right"
432
+ elevation="2"
433
+ size="small"
434
+ :aria-checked="justification === 'right' ? 'true' : 'false'"
435
+ >
436
+ <SyIcon :icon="mdiFormatAlignRight" size="x-large" decorative />
342
437
  </VBtn>
343
- </Toolbar>
344
- <VDivider
345
- :thickness="2"
346
- vertical
347
- />
348
- <Toolbar
349
- class="d-flex flex-wrap ga-4"
350
- aria-label="Outils de mise en forme du texte"
438
+ </VBtnToggle>
439
+ <span style="height: 48px; width: 2px; background-color: #999"></span>
440
+ <VBtnToggle
441
+ class="d-flex flex-wrap ga-2"
442
+ role="group"
443
+ aria-label="Style du texte"
444
+ v-model="textDecoration"
445
+ color="primary"
446
+ style="overflow: visible;"
447
+ multiple
351
448
  >
352
449
  <VBtn
353
450
  title="gras"
451
+ aria-label="gras"
452
+ elevation="2"
453
+ size="small"
454
+ value="bold"
455
+ :aria-pressed="textDecoration.includes('bold') ? 'true' : 'false'"
354
456
  >
355
- <span class="d-sr-only">Text gras</span>
356
- <VIcon
357
- size="x-large"
358
- >
359
- {{ mdiFormatBold }}
360
- </VIcon>
457
+ <SyIcon :icon="mdiFormatBold" size="x-large" decorative />
361
458
  </VBtn>
362
459
  <VBtn
363
460
  title="italique"
461
+ aria-label="italique"
462
+ elevation="2"
463
+ size="small"
464
+ value="italic"
465
+ :aria-pressed="textDecoration.includes('italic') ? 'true' : 'false'"
364
466
  >
365
- <span class="d-sr-only">Text italique</span>
366
- <VIcon
367
- size="x-large"
368
- >
369
- {{ mdiFormatItalic }}
370
- </VIcon>
467
+ <SyIcon :icon="mdiFormatItalic" size="x-large" decorative />
371
468
  </VBtn>
372
469
  <VBtn
373
470
  title="souligné"
471
+ aria-label="souligné"
472
+ elevation="2"
473
+ size="small"
474
+ value="underline"
475
+ :aria-pressed="textDecoration.includes('underline') ? 'true' : 'false'"
374
476
  >
375
- <span class="d-sr-only">Text souligné</span>
376
- <VIcon
377
- size="x-large"
378
- >
379
- {{ mdiFormatUnderline }}
380
- </VIcon>
477
+ <SyIcon :icon="mdiFormatUnderline" size="x-large" decorative />
381
478
  </VBtn>
382
- </Toolbar>
383
- <VDivider
384
- :thickness="2"
385
- vertical
386
- />
387
- <Toolbar
388
- class="d-flex flex-wrap ga-4"
389
- aria-label="Outils de couleur"
479
+ </VBtnToggle>
480
+ <span style="height: 48px; width: 2px; background-color: #999"></span>
481
+ <div
482
+ class="d-flex flex-wrap ga-2"
483
+ role="group"
484
+ aria-label="Couleurs"
390
485
  >
391
486
  <VBtn
392
- title="couleur"
487
+ title="couleur du texte"
488
+ aria-label="couleur du texte"
489
+ size="small"
490
+ height="48"
393
491
  >
394
- <span class="d-sr-only">couleur du texte</span>
395
- <VIcon
396
- size="x-large"
397
- >
398
- {{ mdiFormatColorText }}
399
- </VIcon>
492
+ <SyIcon :icon="mdiFormatColorText" size="x-large" decorative />
400
493
  </VBtn>
401
494
  <VBtn
402
- title="fond"
495
+ title="couleur de fond"
496
+ aria-label="couleur de fond"
497
+ size="small"
498
+ height="48"
403
499
  >
404
- <span class="d-sr-only">Couleur de fond</span>
405
- <VIcon
406
- size="x-large"
407
- >
408
- {{ mdiFormatColorFill }}
409
- </VIcon>
500
+ <SyIcon :icon="mdiFormatColorFill" size="x-large" decorative />
410
501
  </VBtn>
411
- </Toolbar>
412
- </div>
413
- </template>`,
502
+ </div>
503
+ </ToolbarContainer>
504
+ </template>
505
+
506
+ <script setup lang="ts">
507
+ import { ref } from 'vue'
508
+ import { VBtn, VBtnToggle } from 'vuetify/components'
509
+ import ToolbarContainer from '@/components/ToolbarContainer/ToolbarContainer.vue'
510
+ import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
511
+ import { mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill } from '@mdi/js'
512
+
513
+ const justification = ref<string>()
514
+ const textDecoration = ref<string[]>([])
515
+ </script>`,
414
516
  },
415
517
  ],
416
518
  },
417
519
  }
418
520
 
419
- export const Horizontal: Story = {
521
+ export const Vertical: Story = {
420
522
  render: (args) => {
421
523
  return {
422
- components: { VBtn, VDivider, Toolbar },
524
+ components: { VBtn, ToolbarContainer, SyIcon, VBtnToggle },
423
525
  setup() {
424
- return { args, mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill }
526
+ const justification = ref<string>()
527
+ const textDecoration = ref<string[]>([])
528
+ return { args, justification, textDecoration, mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill }
425
529
  },
426
530
  template: `
427
- <div class="d-flex flex-column flex-wrap ga-4" style="width: min-content;">
428
- <Toolbar
531
+ <ToolbarContainer
532
+ class="d-flex flex-column flex-wrap ga-4"
533
+ style="width: min-content;"
534
+ aria-label="Outils d'édition verticaux"
535
+ aria-orientation="vertical"
536
+ >
537
+ <VBtnToggle
429
538
  class="d-flex flex-column flex-wrap ga-4"
539
+ role="radiogroup"
540
+ direction="vertical"
541
+ style="overflow: visible;"
542
+ color="primary"
430
543
  aria-label="Outils d'alignement"
431
- aria-orientation="vertical"
544
+ v-model="justification"
432
545
  >
433
546
  <VBtn
434
547
  title="ferrer à gauche"
548
+ aria-label="ferrer à gauche"
549
+ role="radio"
550
+ value="left"
551
+ elevation="2"
552
+ size="small"
553
+ height="48"
554
+ :aria-checked="justification === 'left' ? 'true' : 'false'"
435
555
  >
436
- <span class="d-sr-only">aligne a gauche</span>
437
- <VIcon
438
- size="x-large"
439
- >
440
- {{ mdiFormatAlignLeft }}
441
- </VIcon>
556
+ <SyIcon :icon="mdiFormatAlignLeft" size="x-large" decorative />
442
557
  </VBtn>
443
558
  <VBtn
444
559
  title="justifier"
560
+ aria-label="justifier"
561
+ role="radio"
562
+ value="justify"
563
+ elevation="2"
564
+ size="small"
565
+ height="48"
566
+ :aria-checked="justification === 'justify' ? 'true' : 'false'"
445
567
  >
446
- <span class="d-sr-only">Texte justifié</span>
447
- <VIcon
448
- size="x-large"
449
- >
450
- {{ mdiFormatAlignJustify }}
451
- </VIcon>
568
+ <SyIcon :icon="mdiFormatAlignJustify" size="x-large" decorative />
452
569
  </VBtn>
453
570
  <VBtn
454
571
  title="centrer"
572
+ aria-label="centrer"
573
+ role="radio"
574
+ value="center"
575
+ elevation="2"
576
+ size="small"
577
+ height="48"
578
+ :aria-checked="justification === 'center' ? 'true' : 'false'"
455
579
  >
456
- <span class="d-sr-only">aligne au centre</span>
457
- <VIcon
458
- size="x-large"
459
- >
460
- {{ mdiFormatAlignCenter }}
461
- </VIcon>
580
+ <SyIcon :icon="mdiFormatAlignCenter" size="x-large" decorative />
462
581
  </VBtn>
463
582
  <VBtn
464
583
  title="ferrer a droite"
584
+ aria-label="ferrer a droite"
585
+ role="radio"
586
+ value="right"
587
+ elevation="2"
588
+ size="small"
589
+ height="48"
590
+ :aria-checked="justification === 'right' ? 'true' : 'false'"
465
591
  >
466
- <span class="d-sr-only">aligne à droite</span>
467
- <VIcon
468
- size="x-large"
469
- >
470
- {{ mdiFormatAlignRight }}
471
- </VIcon>
592
+ <SyIcon :icon="mdiFormatAlignRight" size="x-large" decorative />
472
593
  </VBtn>
473
- </Toolbar>
474
- <VDivider
475
- :thickness="2"
476
- horizontal
477
- />
478
- <Toolbar
594
+ </VBtnToggle>
595
+ <span style="height: 2px; width: 48px; background-color: #999"></span>
596
+ <VBtnToggle
479
597
  class="d-flex flex-column flex-wrap ga-4"
480
- aria-label="Outils de mise en forme du texte"
481
- aria-orientation="vertical"
598
+ role="group"
599
+ direction="vertical"
600
+ aria-label="Style du texte"
601
+ v-model="textDecoration"
602
+ color="primary"
603
+ style="overflow: visible;"
604
+ multiple
482
605
  >
483
606
  <VBtn
484
607
  title="gras"
608
+ aria-label="gras"
609
+ elevation="2"
610
+ size="small"
611
+ height="48"
612
+ value="bold"
613
+ :aria-pressed="textDecoration.includes('bold') ? 'true' : 'false'"
485
614
  >
486
- <span class="d-sr-only">Text gras</span>
487
- <VIcon
488
- size="x-large"
489
- >
490
- {{ mdiFormatBold }}
491
- </VIcon>
615
+ <SyIcon :icon="mdiFormatBold" size="x-large" decorative />
492
616
  </VBtn>
493
617
  <VBtn
494
618
  title="italique"
619
+ aria-label="italique"
620
+ elevation="2"
621
+ size="small"
622
+ height="48"
623
+ value="italic"
624
+ :aria-pressed="textDecoration.includes('italic') ? 'true' : 'false'"
495
625
  >
496
- <span class="d-sr-only">Text italique</span>
497
- <VIcon
498
- size="x-large"
499
- >
500
- {{ mdiFormatItalic }}
501
- </VIcon>
626
+ <SyIcon :icon="mdiFormatItalic" size="x-large" decorative />
502
627
  </VBtn>
503
628
  <VBtn
504
629
  title="souligné"
630
+ aria-label="souligné"
631
+ elevation="2"
632
+ size="small"
633
+ height="48"
634
+ value="underline"
635
+ :aria-pressed="textDecoration.includes('underline') ? 'true' : 'false'"
505
636
  >
506
- <span class="d-sr-only">Text souligné</span>
507
- <VIcon
508
- size="x-large"
509
- >
510
- {{ mdiFormatUnderline }}
511
- </VIcon>
637
+ <SyIcon :icon="mdiFormatUnderline" size="x-large" decorative />
512
638
  </VBtn>
513
- </Toolbar>
514
- <VDivider
515
- :thickness="2"
516
- horizontal
517
- />
518
- <Toolbar
639
+ </VBtnToggle>
640
+ <span style="height: 2px; width: 48px; background-color: #999"></span>
641
+ <div
519
642
  class="d-flex flex-column flex-wrap ga-4"
520
- aria-label="Outils de couleur"
521
- aria-orientation="vertical"
643
+ role="group"
644
+ aria-label="Couleurs"
522
645
  >
523
646
  <VBtn
524
- title="couleur"
647
+ title="couleur du texte"
648
+ aria-label="couleur du texte"
649
+ size="small"
650
+ height="48"
525
651
  >
526
- <span class="d-sr-only">couleur du texte</span>
527
- <VIcon
528
- size="x-large"
529
- >
530
- {{ mdiFormatColorText }}
531
- </VIcon>
652
+ <SyIcon :icon="mdiFormatColorText" size="x-large" decorative />
532
653
  </VBtn>
533
654
  <VBtn
534
- title="fond"
655
+ title="couleur de fond"
656
+ aria-label="couleur de fond"
657
+ size="small"
658
+ height="48"
535
659
  >
536
- <span class="d-sr-only">Couleur de fond</span>
537
- <VIcon
538
- size="x-large"
539
- >
540
- {{ mdiFormatColorFill }}
541
- </VIcon>
660
+ <SyIcon :icon="mdiFormatColorFill" size="x-large" decorative />
542
661
  </VBtn>
543
- </Toolbar>
544
- </div>
662
+ </div>
663
+ </ToolbarContainer>
545
664
  `,
546
665
  }
547
666
  },
@@ -550,125 +669,149 @@ export const Horizontal: Story = {
550
669
  {
551
670
  name: 'Template',
552
671
  code: `<template>
553
- <div class="d-flex flex-column flex-wrap ga-4" style="width: min-content;">
554
- <Toolbar
672
+ <ToolbarContainer
673
+ class="d-flex flex-column flex-wrap ga-4"
674
+ style="width: min-content;"
675
+ aria-label="Outils d'édition verticaux"
676
+ aria-orientation="vertical"
677
+ >
678
+ <VBtnToggle
555
679
  class="d-flex flex-column flex-wrap ga-4"
680
+ role="radiogroup"
681
+ direction="vertical"
682
+ style="overflow: visible;"
683
+ color="primary"
556
684
  aria-label="Outils d'alignement"
557
- aria-orientation="vertical"
685
+ v-model="justification"
558
686
  >
559
687
  <VBtn
560
688
  title="ferrer à gauche"
561
- >
562
- <span class="d-sr-only">aligne a gauche</span>
563
- <VIcon
564
- size="x-large"
565
- >
566
- {{ mdiFormatAlignLeft }}
567
- </VIcon>
689
+ aria-label="ferrer à gauche"
690
+ role="radio"
691
+ value="left"
692
+ elevation="2"
693
+ size="small"
694
+ :aria-checked="justification === 'left' ? 'true' : 'false'"
695
+ >
696
+ <SyIcon :icon="mdiFormatAlignLeft" size="x-large" decorative />
568
697
  </VBtn>
569
698
  <VBtn
570
699
  title="justifier"
571
- >
572
- <span class="d-sr-only">Texte justifié</span>
573
- <VIcon
574
- size="x-large"
575
- >
576
- {{ mdiFormatAlignJustify }}
577
- </VIcon>
700
+ aria-label="justifier"
701
+ role="radio"
702
+ value="justify"
703
+ elevation="2"
704
+ size="small"
705
+ :aria-checked="justification === 'justify' ? 'true' : 'false'"
706
+ >
707
+ <SyIcon :icon="mdiFormatAlignJustify" size="x-large" decorative />
578
708
  </VBtn>
579
709
  <VBtn
580
710
  title="centrer"
581
- >
582
- <span class="d-sr-only">aligne au centre</span>
583
- <VIcon
584
- size="x-large"
585
- >
586
- {{ mdiFormatAlignCenter }}
587
- </VIcon>
711
+ aria-label="centrer"
712
+ role="radio"
713
+ value="center"
714
+ elevation="2"
715
+ size="small"
716
+ height="48"
717
+ :aria-checked="justification === 'center' ? 'true' : 'false'"
718
+ >
719
+ <SyIcon :icon="mdiFormatAlignCenter" size="x-large" decorative />
588
720
  </VBtn>
589
721
  <VBtn
590
722
  title="ferrer a droite"
591
- >
592
- <span class="d-sr-only">aligne à droite</span>
593
- <VIcon
594
- size="x-large"
595
- >
596
- {{ mdiFormatAlignRight }}
597
- </VIcon>
723
+ aria-label="ferrer a droite"
724
+ role="radio"
725
+ value="right"
726
+ elevation="2"
727
+ size="small"
728
+ height="48"
729
+ :aria-checked="justification === 'right' ? 'true' : 'false'"
730
+ >
731
+ <SyIcon :icon="mdiFormatAlignRight" size="x-large" decorative />
598
732
  </VBtn>
599
- </Toolbar>
600
- <VDivider
601
- :thickness="2"
602
- horizontal
603
- />
604
- <Toolbar
733
+ </VBtnToggle>
734
+ <span style="height: 2px; width: 48px; background-color: #999"></span>
735
+ <VBtnToggle
605
736
  class="d-flex flex-column flex-wrap ga-4"
606
- aria-label="Outils de mise en forme du texte"
607
- aria-orientation="vertical"
737
+ role="group"
738
+ direction="vertical"
739
+ aria-label="Style du texte"
740
+ v-model="textDecoration"
741
+ color="primary"
742
+ style="overflow: visible;"
743
+ multiple
608
744
  >
609
745
  <VBtn
610
746
  title="gras"
611
- >
612
- <span class="d-sr-only">Text gras</span>
613
- <VIcon
614
- size="x-large"
615
- >
616
- {{ mdiFormatBold }}
617
- </VIcon>
747
+ aria-label="gras"
748
+ elevation="2"
749
+ size="small"
750
+ height="48"
751
+ value="bold"
752
+ :aria-pressed="textDecoration.includes('bold') ? 'true' : 'false'"
753
+ >
754
+ <SyIcon :icon="mdiFormatBold" size="x-large" decorative />
618
755
  </VBtn>
619
756
  <VBtn
620
757
  title="italique"
621
- >
622
- <span class="d-sr-only">Text italique</span>
623
- <VIcon
624
- size="x-large"
625
- >
626
- {{ mdiFormatItalic }}
627
- </VIcon>
758
+ aria-label="italique"
759
+ elevation="2"
760
+ size="small"
761
+ height="48"
762
+ value="italic"
763
+ :aria-pressed="textDecoration.includes('italic') ? 'true' : 'false'"
764
+ >
765
+ <SyIcon :icon="mdiFormatItalic" size="x-large" decorative />
628
766
  </VBtn>
629
767
  <VBtn
630
768
  title="souligné"
631
- >
632
- <span class="d-sr-only">Text souligné</span>
633
- <VIcon
634
- size="x-large"
635
- >
636
- {{ mdiFormatUnderline }}
637
- </VIcon>
769
+ aria-label="souligné"
770
+ elevation="2"
771
+ size="small"
772
+ height="48"
773
+ value="underline"
774
+ :aria-pressed="textDecoration.includes('underline') ? 'true' : 'false'"
775
+ >
776
+ <SyIcon :icon="mdiFormatUnderline" size="x-large" decorative />
638
777
  </VBtn>
639
- </Toolbar>
640
- <VDivider
641
- :thickness="2"
642
- horizontal
643
- />
644
- <Toolbar
778
+ </VBtnToggle>
779
+ <span style="height: 2px; width: 48px; background-color: #999"></span>
780
+ <div
645
781
  class="d-flex flex-column flex-wrap ga-4"
646
- aria-label="Outils de couleur"
647
- aria-orientation="vertical"
782
+ role="group"
783
+ aria-label="Couleurs"
648
784
  >
649
785
  <VBtn
650
- title="couleur"
786
+ title="couleur du texte"
787
+ aria-label="couleur du texte"
788
+ size="small"
789
+ height="48"
651
790
  >
652
- <span class="d-sr-only">couleur du texte</span>
653
- <VIcon
654
- size="x-large"
655
- >
656
- {{ mdiFormatColorText }}
657
- </VIcon>
791
+ <SyIcon :icon="mdiFormatColorText" size="x-large" decorative />
658
792
  </VBtn>
659
793
  <VBtn
660
- title="fond"
794
+ title="couleur de fond"
795
+ aria-label="couleur de fond"
796
+ size="small"
797
+ height="48"
661
798
  >
662
- <span class="d-sr-only">Couleur de fond</span>
663
- <VIcon
664
- size="x-large"
665
- >
666
- {{ mdiFormatColorFill }}
667
- </VIcon>
799
+ <SyIcon :icon="mdiFormatColorFill" size="x-large" decorative />
668
800
  </VBtn>
669
- </Toolbar>
670
- </div>
671
- </template>`,
801
+ </div>
802
+ </ToolbarContainer>
803
+ </template>
804
+
805
+ <script setup lang="ts">
806
+ import { ref } from 'vue'
807
+ import { VBtn, VBtnToggle } from 'vuetify/components'
808
+ import ToolbarContainer from '@/components/ToolbarContainer/ToolbarContainer.vue'
809
+ import SyIcon from '@/components/Customs/SyIcon/SyIcon.vue'
810
+ import { mdiFormatAlignRight, mdiFormatAlignLeft, mdiFormatAlignCenter, mdiFormatAlignJustify, mdiFormatBold, mdiFormatItalic, mdiFormatUnderline, mdiFormatColorText, mdiFormatColorFill } from '@mdi/js'
811
+
812
+ const justification = ref<string>()
813
+ const textDecoration = ref<string[]>([])
814
+ </script>`,
672
815
  },
673
816
  ],
674
817
  },