@cnamts/synapse 0.0.4-alpha → 0.0.6-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/dist/design-system-v3.d.ts +1277 -499
  2. package/dist/design-system-v3.js +4193 -1573
  3. package/dist/design-system-v3.umd.cjs +8 -8
  4. package/dist/style.css +1 -1
  5. package/package.json +18 -17
  6. package/src/assets/settings.scss +3 -0
  7. package/src/assets/tokens.scss +16 -17
  8. package/src/components/BackBtn/Accessibilite.mdx +14 -0
  9. package/src/components/BackBtn/Accessibilite.stories.ts +166 -0
  10. package/src/components/BackBtn/AccessibiliteItems.ts +102 -0
  11. package/src/components/BackBtn/BackBtn.mdx +1 -1
  12. package/src/components/BackBtn/BackBtn.stories.ts +8 -8
  13. package/src/components/BackBtn/BackBtn.vue +0 -1
  14. package/src/components/BackBtn/constants/ExpertiseLevelEnum.ts +4 -0
  15. package/src/components/BackToTopBtn/Accessibilite.mdx +14 -0
  16. package/src/components/BackToTopBtn/Accessibilite.stories.ts +166 -0
  17. package/src/components/BackToTopBtn/AccessibiliteItems.ts +52 -0
  18. package/src/components/BackToTopBtn/BackToTopBtn.mdx +1 -1
  19. package/src/components/BackToTopBtn/constants/ExpertiseLevelEnum.ts +4 -0
  20. package/src/components/CollapsibleList/Accessibilite.mdx +14 -0
  21. package/src/components/CollapsibleList/Accessibilite.stories.ts +170 -0
  22. package/src/components/CollapsibleList/AccessibiliteItems.ts +122 -0
  23. package/src/components/CollapsibleList/CollapsibleList.stories.ts +1 -1
  24. package/src/components/CollapsibleList/constants/ExpertiseLevelEnum.ts +4 -0
  25. package/src/components/CookieBanner/Accessibilite.mdx +14 -0
  26. package/src/components/CookieBanner/Accessibilite.stories.ts +219 -0
  27. package/src/components/CookieBanner/AccessibiliteItems.ts +356 -0
  28. package/src/components/CookieBanner/CookieBanner.mdx +219 -0
  29. package/src/components/CookieBanner/CookieBanner.stories.ts +678 -0
  30. package/src/components/CookieBanner/CookieBanner.vue +225 -0
  31. package/src/components/CookieBanner/config.ts +38 -0
  32. package/src/components/CookieBanner/constants/ExpertiseLevelEnum.ts +4 -0
  33. package/src/components/CookieBanner/locales.ts +12 -0
  34. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +129 -0
  35. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +197 -0
  36. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +123 -0
  37. package/src/components/CookiesSelection/CookiesInformation/locales.ts +21 -0
  38. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +121 -0
  39. package/src/components/CookiesSelection/CookiesSelection.vue +127 -0
  40. package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +47 -0
  41. package/src/components/CookiesSelection/CookiesTable/headers.ts +14 -0
  42. package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.ts +30 -0
  43. package/src/components/CookiesSelection/CookiesTable/tests/__snapshots__/CookiesTable.spec.ts.snap +3 -0
  44. package/src/components/CookiesSelection/locales.ts +10 -0
  45. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +184 -0
  46. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +192 -0
  47. package/src/components/CookiesSelection/types.ts +15 -0
  48. package/src/components/CopyBtn/Accessibilite.mdx +14 -0
  49. package/src/components/CopyBtn/Accessibilite.stories.ts +166 -0
  50. package/src/components/CopyBtn/AccessibiliteItems.ts +105 -0
  51. package/src/components/CopyBtn/CopyBtn.mdx +1 -1
  52. package/src/components/CopyBtn/CopyBtn.stories.ts +4 -4
  53. package/src/components/CopyBtn/CopyBtn.vue +0 -1
  54. package/src/components/CopyBtn/config.ts +2 -0
  55. package/src/components/CopyBtn/constants/ExpertiseLevelEnum.ts +4 -0
  56. package/src/components/Customs/SyBtnSelect/Accessibilite.mdx +14 -0
  57. package/src/components/Customs/SyBtnSelect/Accessibilite.stories.ts +193 -0
  58. package/src/components/Customs/SyBtnSelect/AccessibiliteItems.ts +139 -0
  59. package/src/components/Customs/SyBtnSelect/SyBtnSelect.mdx +45 -0
  60. package/src/components/Customs/SyBtnSelect/SyBtnSelect.stories.ts +662 -0
  61. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +254 -0
  62. package/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.ts +4 -0
  63. package/src/components/Customs/SyBtnSelect/tests/SyBtnSelect.spec.ts +168 -0
  64. package/src/components/Customs/SyInputSelect/Accessibilite.mdx +14 -0
  65. package/src/components/Customs/SyInputSelect/Accessibilite.stories.ts +166 -0
  66. package/src/components/Customs/SyInputSelect/AccessibiliteItems.ts +96 -0
  67. package/src/components/Customs/SyInputSelect/SyInputSelect.mdx +41 -0
  68. package/src/components/Customs/{CustomInputSelect/CustomInputSelect.stories.ts → SyInputSelect/SyInputSelect.stories.ts} +30 -83
  69. package/src/components/Customs/{CustomInputSelect/CustomInputSelect.vue → SyInputSelect/SyInputSelect.vue} +46 -6
  70. package/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.ts +4 -0
  71. package/src/components/Customs/SyInputSelect/tests/SyInputSelect.spec.ts +140 -0
  72. package/src/components/Customs/SySelect/Accessibilite.mdx +14 -0
  73. package/src/components/Customs/SySelect/Accessibilite.stories.ts +217 -0
  74. package/src/components/Customs/SySelect/AccessibiliteItems.ts +173 -0
  75. package/src/components/Customs/{CustomSelect/CustomSelect.mdx → SySelect/SySelect.mdx} +9 -8
  76. package/src/components/Customs/{CustomSelect/CustomSelect.stories.ts → SySelect/SySelect.stories.ts} +25 -79
  77. package/src/components/Customs/{CustomSelect/CustomSelect.vue → SySelect/SySelect.vue} +44 -13
  78. package/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.ts +4 -0
  79. package/src/components/Customs/{CustomInputSelect/tests/CustomInputSelect.spec.ts → SySelect/tests/SySelect.spec.ts} +48 -71
  80. package/src/components/Customs/SyTextField/Accessibilite.mdx +14 -0
  81. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +224 -0
  82. package/src/components/Customs/SyTextField/AccessibiliteItems.ts +198 -0
  83. package/src/components/Customs/SyTextField/SyTextField.mdx +44 -0
  84. package/src/components/Customs/{CustomTextField/CustomTextField.stories.ts → SyTextField/SyTextField.stories.ts} +145 -34
  85. package/src/components/Customs/{CustomTextField/CustomTextField.vue → SyTextField/SyTextField.vue} +27 -7
  86. package/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.ts +4 -0
  87. package/src/components/Customs/{CustomTextField/tests/CustomTextField.spec.ts → SyTextField/tests/SyTextField.spec.ts} +3 -3
  88. package/src/components/Customs/{CustomTextField/tests/__snapshots__/CustomTextField.spec.ts.snap → SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap} +5 -6
  89. package/src/components/DataList/Accessibilite.mdx +14 -0
  90. package/src/components/DataList/Accessibilite.stories.ts +166 -0
  91. package/src/components/DataList/AccessibiliteItems.ts +47 -0
  92. package/src/components/DataList/DataList.mdx +1 -1
  93. package/src/components/DataList/DataList.stories.ts +10 -10
  94. package/src/components/DataList/constants/ExpertiseLevelEnum.ts +4 -0
  95. package/src/components/DataListGroup/Accessibilite.mdx +14 -0
  96. package/src/components/DataListGroup/Accessibilite.stories.ts +225 -0
  97. package/src/components/DataListGroup/AccessibiliteItems.ts +79 -0
  98. package/src/components/DataListGroup/DataListGroup.mdx +1 -1
  99. package/src/components/DataListGroup/DataListGroup.stories.ts +7 -7
  100. package/src/components/DataListGroup/constants/ExpertiseLevelEnum.ts +4 -0
  101. package/src/components/DialogBox/Accessibilite.mdx +14 -0
  102. package/src/components/DialogBox/Accessibilite.stories.ts +189 -0
  103. package/src/components/DialogBox/AccessibiliteItems.ts +167 -0
  104. package/src/components/DialogBox/DialogBox.mdx +14 -0
  105. package/src/components/DialogBox/DialogBox.stories.ts +798 -0
  106. package/src/components/DialogBox/DialogBox.vue +181 -0
  107. package/src/components/DialogBox/config.ts +25 -0
  108. package/src/components/DialogBox/constants/ExpertiseLevelEnum.ts +4 -0
  109. package/src/components/DialogBox/locales.ts +5 -0
  110. package/src/components/DialogBox/tests/DialogBox.spec.ts +329 -0
  111. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +46 -0
  112. package/src/components/DownloadBtn/AccessibiliteItems.ts +1 -31
  113. package/src/components/DownloadBtn/DownloadBtn.mdx +3 -3
  114. package/src/components/DownloadBtn/DownloadBtn.stories.ts +6 -6
  115. package/src/components/ErrorPage/Accessibilite.mdx +14 -0
  116. package/src/components/ErrorPage/Accessibilite.stories.ts +189 -0
  117. package/src/components/ErrorPage/AccessibiliteItems.ts +205 -0
  118. package/src/components/ErrorPage/ErrorPage.mdx +21 -0
  119. package/src/components/ErrorPage/ErrorPage.stories.ts +133 -0
  120. package/src/components/ErrorPage/ErrorPage.vue +93 -0
  121. package/src/components/ErrorPage/constants/ExpertiseLevelEnum.ts +4 -0
  122. package/src/components/ErrorPage/locales.ts +5 -0
  123. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +40 -0
  124. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +78 -0
  125. package/src/components/FooterBar/Accessibilite.mdx +14 -0
  126. package/src/components/FooterBar/Accessibilite.stories.ts +223 -0
  127. package/src/components/FooterBar/AccessibiliteItems.ts +257 -0
  128. package/src/components/FooterBar/FooterBar.mdx +2 -2
  129. package/src/components/FooterBar/FooterBar.stories.ts +556 -8
  130. package/src/components/FooterBar/FooterBar.vue +80 -73
  131. package/src/components/FooterBar/config.ts +2 -3
  132. package/src/components/FooterBar/constants/ExpertiseLevelEnum.ts +4 -0
  133. package/src/components/FooterBar/tests/FooterBar.spec.ts +1 -1
  134. package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
  135. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +24 -22
  136. package/src/components/FranceConnectBtn/Accessibilite.mdx +14 -0
  137. package/src/components/FranceConnectBtn/Accessibilite.stories.ts +194 -0
  138. package/src/components/FranceConnectBtn/AccessibiliteItems.ts +169 -0
  139. package/src/components/FranceConnectBtn/FranceConnectBtn.mdx +1 -1
  140. package/src/components/FranceConnectBtn/FranceConnectBtn.stories.ts +3 -3
  141. package/src/components/FranceConnectBtn/constants/ExpertiseLevelEnum.ts +4 -0
  142. package/src/components/HeaderBar/Accessibilite.mdx +14 -0
  143. package/src/components/HeaderBar/Accessibilite.stories.ts +223 -0
  144. package/src/components/HeaderBar/AccessibiliteItems.ts +194 -0
  145. package/src/components/HeaderBar/HeaderBar.stories.ts +60 -2
  146. package/src/components/HeaderBar/HeaderBar.vue +1 -9
  147. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.mdx +14 -0
  148. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +223 -0
  149. package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +174 -0
  150. package/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.ts +4 -0
  151. package/src/components/HeaderBar/constants/ExpertiseLevelEnum.ts +4 -0
  152. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +1 -1
  153. package/src/components/HeaderLoading/Accessibilite.mdx +14 -0
  154. package/src/components/HeaderLoading/Accessibilite.stories.ts +167 -0
  155. package/src/components/HeaderLoading/AccessibiliteItems.ts +29 -0
  156. package/src/components/HeaderLoading/HeaderLoading.mdx +1 -1
  157. package/src/components/HeaderLoading/HeaderLoading.stories.ts +1 -1
  158. package/src/components/HeaderLoading/constants/ExpertiseLevelEnum.ts +4 -0
  159. package/src/components/HeaderNavigationBar/HeaderNavigationBar.mdx +6 -6
  160. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +35 -33
  161. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +1 -1
  162. package/src/components/HeaderToolbar/Accessibilite.mdx +14 -0
  163. package/src/components/HeaderToolbar/Accessibilite.stories.ts +203 -0
  164. package/src/components/HeaderToolbar/AccessibiliteItems.ts +200 -0
  165. package/src/components/HeaderToolbar/HeaderToolbar.mdx +1 -1
  166. package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +2 -2
  167. package/src/components/HeaderToolbar/HeaderToolbar.vue +3 -2
  168. package/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.ts +4 -0
  169. package/src/components/HeaderToolbar/tests/HeaderToolbar.spec.ts +36 -2
  170. package/src/components/LangBtn/Accessibilite.mdx +14 -0
  171. package/src/components/LangBtn/Accessibilite.stories.ts +168 -0
  172. package/src/components/LangBtn/AccessibiliteItems.ts +101 -0
  173. package/src/components/LangBtn/LangBtn.mdx +1 -1
  174. package/src/components/LangBtn/LangBtn.stories.ts +4 -4
  175. package/src/components/LangBtn/LangBtn.vue +3 -2
  176. package/src/components/LangBtn/constants/ExpertiseLevelEnum.ts +4 -0
  177. package/src/components/LangBtn/tests/LangBtn.spec.ts +1 -1
  178. package/src/components/LangBtn/tests/__snapshots__/LangBtn.spec.ts.snap +1 -1
  179. package/src/components/Logo/Accessibilite.mdx +14 -0
  180. package/src/components/Logo/Accessibilite.stories.ts +223 -0
  181. package/src/components/Logo/AccessibiliteItems.ts +155 -0
  182. package/src/components/Logo/Logo.mdx +1 -1
  183. package/src/components/Logo/Logo.stories.ts +8 -8
  184. package/src/components/Logo/constants/ExpertiseLevelEnum.ts +4 -0
  185. package/src/components/LogoBrandSection/Accessibilite.mdx +14 -0
  186. package/src/components/LogoBrandSection/Accessibilite.stories.ts +223 -0
  187. package/src/components/LogoBrandSection/AccessibiliteItems.ts +194 -0
  188. package/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.ts +4 -0
  189. package/src/components/MaintenancePage/Accessibilite.mdx +14 -0
  190. package/src/components/MaintenancePage/Accessibilite.stories.ts +189 -0
  191. package/src/components/MaintenancePage/AccessibiliteItems.ts +173 -0
  192. package/src/components/MaintenancePage/MaintenancePage.mdx +11 -0
  193. package/src/components/MaintenancePage/MaintenancePage.stories.ts +41 -0
  194. package/src/components/MaintenancePage/MaintenancePage.vue +25 -0
  195. package/src/components/MaintenancePage/assets/maintenance.svg +1 -0
  196. package/src/components/MaintenancePage/constants/ExpertiseLevelEnum.ts +4 -0
  197. package/src/components/MaintenancePage/index.ts +3 -0
  198. package/src/components/MaintenancePage/locales.ts +5 -0
  199. package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +12 -0
  200. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +3 -0
  201. package/src/components/NirField/Accessibilite.mdx +14 -0
  202. package/src/components/NirField/Accessibilite.stories.ts +214 -0
  203. package/src/components/NirField/AccessibiliteItems.ts +243 -0
  204. package/src/components/NirField/NirField.mdx +216 -0
  205. package/src/components/NirField/NirField.stories.ts +359 -0
  206. package/src/components/NirField/NirField.vue +450 -0
  207. package/src/components/NirField/config.ts +16 -0
  208. package/src/components/NirField/constants/ExpertiseLevelEnum.ts +4 -0
  209. package/src/components/NirField/locales.ts +12 -0
  210. package/src/components/NirField/nirValidation.ts +42 -0
  211. package/src/components/NirField/tests/NirField.spec.ts +119 -0
  212. package/src/components/NotFoundPage/Accessibilite.mdx +14 -0
  213. package/src/components/NotFoundPage/Accessibilite.stories.ts +190 -0
  214. package/src/components/NotFoundPage/AccessibiliteItems.ts +205 -0
  215. package/src/components/NotFoundPage/NotFoundPage.mdx +19 -0
  216. package/src/components/NotFoundPage/NotFoundPage.stories.ts +76 -0
  217. package/src/components/NotFoundPage/NotFoundPage.vue +52 -0
  218. package/src/components/NotFoundPage/assets/not-found.svg +1 -0
  219. package/src/components/NotFoundPage/constants/ExpertiseLevelEnum.ts +4 -0
  220. package/src/components/NotFoundPage/locales.ts +6 -0
  221. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +38 -0
  222. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +76 -0
  223. package/src/components/NotificationBar/Accessibilite.mdx +14 -0
  224. package/src/components/NotificationBar/Accessibilite.stories.ts +166 -0
  225. package/src/components/NotificationBar/AccessibiliteItems.ts +144 -0
  226. package/src/components/NotificationBar/NotificationBar.mdx +1 -1
  227. package/src/components/NotificationBar/constants/ExpertiseLevelEnum.ts +4 -0
  228. package/src/components/NotificationBar/options.ts +1 -0
  229. package/src/components/PageContainer/Accessibilite.mdx +14 -0
  230. package/src/components/PageContainer/Accessibilite.stories.ts +166 -0
  231. package/src/components/PageContainer/AccessibiliteItems.ts +52 -0
  232. package/src/components/PageContainer/PageContainer.mdx +1 -1
  233. package/src/components/PageContainer/PageContainer.stories.ts +4 -4
  234. package/src/components/PageContainer/PageContainer.vue +16 -15
  235. package/src/components/PageContainer/constants/ExpertiseLevelEnum.ts +4 -0
  236. package/src/components/PageContainer/tests/PageContainer.spec.ts +1 -1
  237. package/src/components/PageContainer/tests/__snapshots__/PageContainer.spec.ts.snap +2 -2
  238. package/src/components/PhoneField/Accessibilite.mdx +14 -0
  239. package/src/components/PhoneField/Accessibilite.stories.ts +216 -0
  240. package/src/components/PhoneField/AccessibiliteItems.ts +238 -0
  241. package/src/components/PhoneField/PhoneField.mdx +1 -1
  242. package/src/components/PhoneField/PhoneField.stories.ts +2 -2
  243. package/src/components/PhoneField/PhoneField.vue +5 -6
  244. package/src/components/PhoneField/constants/ExpertiseLevelEnum.ts +4 -0
  245. package/src/components/PhoneField/tests/PhoneField.spec.ts +3 -3
  246. package/src/components/SkipLink/Accessibilite.mdx +14 -0
  247. package/src/components/SkipLink/Accessibilite.stories.ts +167 -0
  248. package/src/components/SkipLink/AccessibiliteItems.ts +77 -0
  249. package/src/components/SkipLink/SkipLink.stories.ts +2 -2
  250. package/src/components/SkipLink/constants/ExpertiseLevelEnum.ts +4 -0
  251. package/src/components/SocialMediaLinks/Accessibilite.mdx +14 -0
  252. package/src/components/SocialMediaLinks/Accessibilite.stories.ts +170 -0
  253. package/src/components/SocialMediaLinks/AccessibiliteItems.ts +160 -0
  254. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +18 -14
  255. package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +3 -2
  256. package/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.ts +4 -0
  257. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +1 -1
  258. package/src/components/SocialMediaLinks/tests/__snapshots__/SocialMediaLinks.spec.ts.snap +2 -2
  259. package/src/components/SubHeader/Accessibilite.mdx +14 -0
  260. package/src/components/SubHeader/Accessibilite.stories.ts +166 -0
  261. package/src/components/SubHeader/AccessibiliteItems.ts +146 -0
  262. package/src/components/SubHeader/SubHeader.mdx +1 -1
  263. package/src/components/SubHeader/SubHeader.stories.ts +11 -11
  264. package/src/components/SubHeader/SubHeader.vue +1 -1
  265. package/src/components/SubHeader/constants/ExpertiseLevelEnum.ts +4 -0
  266. package/src/components/SyAlert/Accessibilite.mdx +14 -0
  267. package/src/components/SyAlert/Accessibilite.stories.ts +166 -0
  268. package/src/components/SyAlert/AccessibiliteItems.ts +122 -0
  269. package/src/components/{Alert/Alert.mdx → SyAlert/SyAlert.mdx} +9 -9
  270. package/src/components/{Alert/Alert.stories.ts → SyAlert/SyAlert.stories.ts} +22 -22
  271. package/src/components/SyAlert/constants/ExpertiseLevelEnum.ts +4 -0
  272. package/src/components/{Alert/tests/Alert.spec.ts → SyAlert/tests/SyAlert.spec.ts} +5 -5
  273. package/src/components/{Alert/tests/__snapshots__/Alert.spec.ts.snap → SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap} +2 -2
  274. package/src/components/UserMenuBtn/Accessibilite.mdx +14 -0
  275. package/src/components/UserMenuBtn/Accessibilite.stories.ts +189 -0
  276. package/src/components/UserMenuBtn/AccessibiliteItems.ts +155 -0
  277. package/src/components/UserMenuBtn/UserMenuBtn.mdx +35 -0
  278. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +540 -0
  279. package/src/components/UserMenuBtn/UserMenuBtn.vue +101 -0
  280. package/src/components/UserMenuBtn/config.ts +24 -0
  281. package/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.ts +4 -0
  282. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +125 -0
  283. package/src/components/index.ts +19 -4
  284. package/src/composables/index.ts +8 -0
  285. package/src/composables/rules/tests/useFieldValidation.spec.ts +84 -0
  286. package/src/composables/rules/useFieldValidation.ts +90 -0
  287. package/src/designTokens/index.ts +2 -0
  288. package/src/designTokens/tokens/cnam/cnamDarkTheme.ts +5 -0
  289. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +1 -0
  290. package/src/main.ts +3 -0
  291. package/src/stories/Fondamentaux/Arrondis.mdx +24 -0
  292. package/src/stories/{Guidelines → Fondamentaux}/Colors.mdx +1 -1
  293. package/src/stories/Fondamentaux/Conteneurs.mdx +7 -0
  294. package/src/stories/Fondamentaux/CustomisationEtThemes.mdx +7 -0
  295. package/src/stories/Fondamentaux/Elevations.mdx +14 -0
  296. package/src/stories/Fondamentaux/Espacements.mdx +29 -0
  297. package/src/stories/{Guidelines → Fondamentaux}/Introduction.mdx +1 -1
  298. package/src/stories/Fondamentaux/StylesTypographiques.mdx +33 -0
  299. package/src/stories/Fondamentaux/Typographie.mdx +58 -0
  300. package/src/stories/GuideDuDev/CommentUtiliserLesRules.mdx +120 -0
  301. package/src/stories/GuideDuDev/components.stories.ts +5 -5
  302. package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
  303. package/src/stories/{Fondamentaux → Guidelines}/Accessibilite/Accessibilite.stories.ts +1 -1
  304. package/src/stories/{Fondamentaux → Guidelines}/EcoConception/Econception.stories.ts +2 -2
  305. package/src/stories/Guidelines/Vuetify/Vuetify.mdx +11 -0
  306. package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +138 -0
  307. package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +350 -0
  308. package/src/components/Customs/CustomInputSelect/CustomInputSelect.mdx +0 -40
  309. package/src/components/Customs/CustomSelect/tests/CustomSelect.spec.ts +0 -236
  310. package/src/components/Customs/CustomTextField/CustomTextField.mdx +0 -44
  311. package/src/stories/Guidelines/CustomisationEtThemes.mdx +0 -3
  312. package/src/stories/Guidelines/Typo.mdx +0 -53
  313. /package/src/components/Customs/{CustomInputSelect → SyInputSelect}/config.ts +0 -0
  314. /package/src/components/Customs/{CustomTextField → SyTextField}/types.d.ts +0 -0
  315. /package/src/components/{Alert/Alert.vue → SyAlert/SyAlert.vue} +0 -0
  316. /package/src/components/{Alert → SyAlert}/locales.ts +0 -0
  317. /package/src/stories/{Fondamentaux → Guidelines}/Accessibilite/Accessibilite.mdx +0 -0
  318. /package/src/stories/{Fondamentaux → Guidelines}/Accessibilite/AccessibiliteItems.ts +0 -0
  319. /package/src/stories/{Fondamentaux → Guidelines}/Accessibilite/constants/ExpertiseLevelEnum.ts +0 -0
  320. /package/src/stories/{Fondamentaux → Guidelines}/Accessibilite/constants/RGAALevelEnum.ts +0 -0
  321. /package/src/stories/{Fondamentaux → Guidelines}/EcoConception/EcoConception.mdx +0 -0
  322. /package/src/stories/{Fondamentaux → Guidelines}/EcoConception/ecoDesignItems.ts +0 -0
@@ -0,0 +1,254 @@
1
+ <script lang="ts" setup>
2
+ import { ref, watch, computed, onMounted, useSlots, type PropType } from 'vue'
3
+ import { useDisplay } from 'vuetify'
4
+
5
+ type Item = string | Record<string, unknown>
6
+
7
+ const props = defineProps({
8
+ modelValue: {
9
+ type: [Object, String, null],
10
+ default: null,
11
+ },
12
+ menuItems: {
13
+ type: Array as PropType<Item[]>,
14
+ default: () => [],
15
+ },
16
+ label: {
17
+ type: String,
18
+ default: 'Sélectionnez une option',
19
+ },
20
+ required: {
21
+ type: Boolean,
22
+ default: false,
23
+ },
24
+ menuId: {
25
+ type: String,
26
+ default: 'custom-btn-select-menu',
27
+ },
28
+ textKey: {
29
+ type: String,
30
+ default: 'text',
31
+ },
32
+ valueKey: {
33
+ type: String,
34
+ default: 'value',
35
+ },
36
+ primaryInfo: {
37
+ type: String,
38
+ default: 'Information principale',
39
+ },
40
+ secondaryInfo: {
41
+ type: String,
42
+ default: undefined,
43
+ },
44
+ hideIcon: {
45
+ type: Boolean,
46
+ default: false,
47
+ },
48
+ hideLogoutBtn: {
49
+ type: Boolean,
50
+ default: false,
51
+ },
52
+ isMobileView: {
53
+ type: Boolean,
54
+ default: false,
55
+ },
56
+ iconOnly: {
57
+ type: Boolean,
58
+ default: false,
59
+ },
60
+ options: {
61
+ type: Object,
62
+ default: () => ({ menu: {}, btn: {}, list: {} }),
63
+ },
64
+ })
65
+
66
+ const emit = defineEmits(['update:modelValue', 'logout'])
67
+ const slots = useSlots()
68
+ const { smAndDown } = useDisplay()
69
+
70
+ const isOpen = ref(false)
71
+ const selectedItem = ref<Record<string, unknown> | string | null>(props.modelValue as Record<string, unknown> | string | null)
72
+ const toggleMenu = () => {
73
+ isOpen.value = !isOpen.value
74
+ }
75
+
76
+ const buttonRef = ref<HTMLElement | null>(null)
77
+ const buttonWidth = ref('')
78
+
79
+ onMounted(() => {
80
+ if (buttonRef.value && !isMobileVersion.value) {
81
+ buttonWidth.value = `${buttonRef.value.getBoundingClientRect().width}px`
82
+ }
83
+ })
84
+
85
+ const selectItem = (item: Item | null) => {
86
+ selectedItem.value = item
87
+ emit('update:modelValue', item)
88
+ isOpen.value = false
89
+ }
90
+
91
+ const formattedItems = computed(() => {
92
+ return props.menuItems.map((item) => {
93
+ if (typeof item === 'string') {
94
+ return { [props.textKey]: item, [props.valueKey]: item }
95
+ }
96
+ return item
97
+ })
98
+ })
99
+
100
+ const btnPadding = computed(() => {
101
+ if (props.hideIcon) {
102
+ return 'pa-1 pa-sm-2'
103
+ }
104
+ return isMobileVersion.value ? 'pa-0' : 'pa-1 pa-sm-3'
105
+ })
106
+
107
+ const hasListContent = computed(() => {
108
+ return Boolean(slots.default || !props.hideLogoutBtn)
109
+ })
110
+
111
+ const isMobileVersion = computed(() => {
112
+ return props.isMobileView || smAndDown.value || props.iconOnly
113
+ })
114
+
115
+ watch(() => props.modelValue, (newValue) => {
116
+ selectedItem.value = newValue
117
+ })
118
+
119
+ const generatedId = ref(`custom-btn-select-${Math.random().toString(36).substring(7)}`)
120
+
121
+ defineExpose({
122
+ isOpen,
123
+ formattedItems,
124
+ selectedItem,
125
+ })
126
+ </script>
127
+
128
+ <template>
129
+ <div
130
+ ref="buttonRef"
131
+ class="vd-user-menu-btn-ctn d-inline-block"
132
+ >
133
+ <VMenu
134
+ :id="generatedId"
135
+ :disabled="!hasListContent"
136
+ location="bottom end"
137
+ transition="fade-transition"
138
+ v-bind="props.options['menu']"
139
+ z-index="9999"
140
+ >
141
+ <template #activator="{ props: menuProps }">
142
+ <VBtn
143
+ :id="generatedId"
144
+ :class="btnPadding"
145
+ :height="iconOnly ? 'auto' : undefined"
146
+ :icon="iconOnly"
147
+ :size="iconOnly ? 'x-large' : 'default'"
148
+ :width="iconOnly ? 'auto' : undefined"
149
+ class="vd-user-menu-btn"
150
+ v-bind="{
151
+ ...menuProps,
152
+ ...props.options['btn'],
153
+ }"
154
+ @click="toggleMenu"
155
+ >
156
+ <div
157
+ :class="['text-'+props?.options['btn']?.color]"
158
+ class="d-flex align-center"
159
+ >
160
+ <slot name="prepend-icon" />
161
+ <span class="d-sr-only">{{ props.label }}</span>
162
+ <span
163
+ v-if="!isMobileVersion && !iconOnly"
164
+ class="d-flex flex-column align-end py-1 mr-1"
165
+ >
166
+ <span
167
+ :class="`text-${props?.options['btn']?.textColor}`"
168
+ class="font-weight-bold"
169
+ >
170
+ {{ props.primaryInfo }}
171
+ </span>
172
+ <span
173
+ :class="`text-${props?.options['btn']?.textColor}`"
174
+ class="text-grey text-darken-2 font-weight-medium"
175
+ >
176
+ {{ props.secondaryInfo }}
177
+ </span>
178
+ </span>
179
+ <span
180
+ v-if="isMobileVersion && !iconOnly"
181
+ :class="`text-${props?.options['btn']?.textColor}`"
182
+ class="font-weight-bold text-caption"
183
+ >
184
+ {{ props.primaryInfo }}
185
+ </span>
186
+ <slot name="append-icon" />
187
+ </div>
188
+ </VBtn>
189
+ </template>
190
+ <slot name="content">
191
+ <VList
192
+ v-if="hasListContent"
193
+ v-bind="props.options['list']"
194
+ >
195
+ <VListItem
196
+ v-for="(item, index) in formattedItems"
197
+ :key="index"
198
+ :class="`text-${props?.options['list']?.textColor}`"
199
+ v-bind="props.options['list']"
200
+ :href="item.link"
201
+ @click="selectItem(item)"
202
+ >
203
+ <VListItemTitle v-bind="props.options['list']">
204
+ {{ item[props.textKey] }}
205
+ </VListItemTitle>
206
+ </VListItem>
207
+ <slot />
208
+ <slot name="footer-list-item" />
209
+ </VList>
210
+ </slot>
211
+ </VMenu>
212
+ </div>
213
+ </template>
214
+
215
+ <style lang="scss" scoped>
216
+ @use '@/assets/tokens.scss';
217
+ @use '@/assets/tokens' as *;
218
+
219
+ .vd-user-menu-btn-ctn {
220
+ position: relative;
221
+ z-index: 1;
222
+
223
+ .v-btn.v-btn--density-default {
224
+ height: auto !important;
225
+ }
226
+
227
+ .v-btn {
228
+ text-transform: none !important;
229
+ }
230
+ }
231
+
232
+ .vd-user-menu-btn {
233
+ outline: none;
234
+ padding: 12px !important;
235
+
236
+ &:hover:before {
237
+ background: #000;
238
+ opacity: 0.05;
239
+ }
240
+
241
+ &:focus:before {
242
+ background: tokens.$blue-base;
243
+ opacity: 0.08;
244
+ }
245
+
246
+ &:focus {
247
+ background: rgba(tokens.$blue-base, 0.08) !important;
248
+ }
249
+ }
250
+
251
+ :deep(.vd-user-menu-btn:focus > .v-btn__overlay) {
252
+ opacity: 0 !important;
253
+ }
254
+ </style>
@@ -0,0 +1,4 @@
1
+ export enum ExpertiseLevelEnum {
2
+ DEV = 'dev',
3
+ DESIGN = 'design',
4
+ }
@@ -0,0 +1,168 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { mount } from '@vue/test-utils'
3
+ import SyBtnSelect from '../SyBtnSelect.vue'
4
+ import { vuetify } from '@tests/unit/setup'
5
+
6
+ describe('SyBtnSelect', () => {
7
+ it('renders the component with default props', () => {
8
+ const wrapper = mount(SyBtnSelect, {
9
+ global: {
10
+ plugins: [vuetify],
11
+ },
12
+ props: {
13
+ primaryInfo: 'John Doe',
14
+ },
15
+ })
16
+
17
+ expect(wrapper.exists()).toBe(true)
18
+ expect(wrapper.text()).toContain('John Doe')
19
+ })
20
+
21
+ it('shows secondaryInfo if provided', () => {
22
+ const wrapper = mount(SyBtnSelect, {
23
+ global: {
24
+ plugins: [vuetify],
25
+ },
26
+ props: {
27
+ primaryInfo: 'John Doe',
28
+ secondaryInfo: 'Additional Info',
29
+ },
30
+ })
31
+
32
+ expect(wrapper.text()).toContain('Additional Info')
33
+ })
34
+
35
+ it('emits "update:modelValue" when an item is selected', async () => {
36
+ const wrapper = mount(SyBtnSelect, {
37
+ global: {
38
+ plugins: [vuetify],
39
+ },
40
+ props: {
41
+ modelValue: null,
42
+ menuItems: [
43
+ { text: 'Option 1', value: 'option1' },
44
+ { text: 'Option 2', value: 'option2' },
45
+ ],
46
+ primaryInfo: 'John Doe',
47
+ },
48
+ })
49
+
50
+ const button = wrapper.find('.vd-user-menu-btn')
51
+ await button.trigger('click')
52
+
53
+ expect(wrapper.vm.isOpen).toBe(true)
54
+
55
+ const listItem = wrapper.findAllComponents({ name: 'VListItem' }).at(0)
56
+ expect(listItem).toBeTruthy()
57
+ await listItem?.trigger('click')
58
+
59
+ expect(wrapper.emitted('update:modelValue')).toBeTruthy()
60
+ expect(wrapper.emitted('update:modelValue')![0]).toEqual([
61
+ { text: 'Option 1', value: 'option1' },
62
+ ])
63
+ })
64
+
65
+ it('toggles the menu open and closed', async () => {
66
+ const wrapper = mount(SyBtnSelect, {
67
+ global: {
68
+ plugins: [vuetify],
69
+ },
70
+ props: {
71
+ primaryInfo: 'John Doe',
72
+ },
73
+ })
74
+
75
+ const button = wrapper.find('.vd-user-menu-btn')
76
+ expect(wrapper.vm.isOpen).toBe(false)
77
+
78
+ await button.trigger('click')
79
+ expect(wrapper.vm.isOpen).toBe(true)
80
+
81
+ await button.trigger('click')
82
+ expect(wrapper.vm.isOpen).toBe(false)
83
+ })
84
+
85
+ it('formats menu items correctly', () => {
86
+ const wrapper = mount(SyBtnSelect, {
87
+ global: {
88
+ plugins: [vuetify],
89
+ },
90
+ props: {
91
+ primaryInfo: 'John Doe',
92
+ menuItems: ['Option 1', 'Option 2'],
93
+ },
94
+ })
95
+
96
+ const formattedItems = wrapper.vm.formattedItems
97
+ expect(formattedItems).toEqual([
98
+ { text: 'Option 1', value: 'Option 1' },
99
+ { text: 'Option 2', value: 'Option 2' },
100
+ ])
101
+ })
102
+
103
+ it('updates selectedItem when modelValue changes', async () => {
104
+ const wrapper = mount(SyBtnSelect, {
105
+ global: {
106
+ plugins: [vuetify],
107
+ },
108
+ props: {
109
+ modelValue: 'initial-value',
110
+ primaryInfo: 'John Doe',
111
+ },
112
+ })
113
+
114
+ expect(wrapper.vm.selectedItem).toBe('initial-value')
115
+
116
+ await wrapper.setProps({ modelValue: 'new-value' })
117
+ expect(wrapper.vm.selectedItem).toBe('new-value')
118
+ })
119
+
120
+ it('renders the primaryInfo in a span when isMobileVersion and hideIcon are true', async () => {
121
+ const wrapper = mount(SyBtnSelect, {
122
+ global: {
123
+ plugins: [vuetify],
124
+ },
125
+ props: {
126
+ primaryInfo: 'John Doe',
127
+ isMobileView: true,
128
+ hideIcon: true,
129
+ },
130
+ })
131
+
132
+ const span = wrapper.find('span.font-weight-bold.text-caption')
133
+
134
+ expect(span.text()).toBe('John Doe')
135
+ })
136
+
137
+ it('does not render the span if isMobileVersion is false', () => {
138
+ const wrapper = mount(SyBtnSelect, {
139
+ global: {
140
+ plugins: [vuetify],
141
+ },
142
+ props: {
143
+ primaryInfo: 'John Doe',
144
+ isMobileView: false,
145
+ hideIcon: true,
146
+ },
147
+ })
148
+
149
+ const span = wrapper.find('span.font-weight-bold.text-sm-caption')
150
+ expect(span.exists()).toBe(false)
151
+ })
152
+
153
+ it('does not render the span if hideIcon is false', () => {
154
+ const wrapper = mount(SyBtnSelect, {
155
+ global: {
156
+ plugins: [vuetify],
157
+ },
158
+ props: {
159
+ primaryInfo: 'John Doe',
160
+ isMobileView: true,
161
+ hideIcon: false,
162
+ },
163
+ })
164
+
165
+ const span = wrapper.find('span.font-weight-bold.text-sm-caption')
166
+ expect(span.exists()).toBe(false)
167
+ })
168
+ })
@@ -0,0 +1,14 @@
1
+ import { Meta, Story } from '@storybook/addon-docs';
2
+ import * as AccessStories from './Accessibilite.stories.ts';
3
+
4
+ <Meta of={AccessStories} />
5
+
6
+ Accessibilité
7
+ =============
8
+ <Story of={AccessStories.Legende} />
9
+ <br />
10
+
11
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
12
+
13
+ <Story of={AccessStories.AccessibilitePanel} />
14
+ <br />
@@ -0,0 +1,166 @@
1
+ import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VDataTable, VIcon } from 'vuetify/components'
2
+ import type { StoryObj } from '@storybook/vue3'
3
+ import { AccessibiliteItemsIndeterminate, AccessibiliteItemsValidated } from './AccessibiliteItems'
4
+ import { mdiCheckboxMarkedCircle, mdiLink, mdiEye } from '@mdi/js'
5
+
6
+ const checkIcon = mdiCheckboxMarkedCircle
7
+ const iconEye = mdiEye
8
+ const linkICon = mdiLink
9
+
10
+ export default {
11
+ title: 'Composants/Formulaires/SyInputSelect/Accessibilité',
12
+ }
13
+
14
+ export const AccessibilitePanel: StoryObj = {
15
+
16
+ render: () => {
17
+ return {
18
+ components: { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VDataTable, VIcon },
19
+
20
+ setup() {
21
+ const icon = checkIcon
22
+
23
+ return { AccessibiliteItemsIndeterminate, AccessibiliteItemsValidated, icon, linkICon, iconEye }
24
+ },
25
+ template: `
26
+ <div class="accessibiliteItems" style="display:flex; max-width: none !important;">
27
+ <v-col cols="6">
28
+ <div style="display:flex; margin-bottom: 10px; justify-content: space-between; align-items: center;">
29
+ <h5>{{ AccessibiliteItemsIndeterminate.length }} critères à prendre en charge par le projet</h5>
30
+ <div style="display: flex; align-items: center;">
31
+ <v-btn variant="tonal" color="red" size="x-small" style="margin: 4px;font-size: 8px;"
32
+ rounded>Tanaguru
33
+ </v-btn>
34
+ </div>
35
+ </div>
36
+
37
+ <v-expansion-panels value="opened" multiple>
38
+ <v-expansion-panel v-for="(item, index) in AccessibiliteItemsIndeterminate" :key="index" style="background-color: rgba(42, 96, 158, 0.1); margin-bottom: 10px;">
39
+ <v-expansion-panel-title>
40
+ <VIcon :icon="iconEye" style="margin-right: 5px; color:#5778b7;"/>
41
+ {{ item.title }}
42
+ </v-expansion-panel-title>
43
+ <v-expansion-panel-text>
44
+ <v-expansion-panels>
45
+ <v-expansion-panel>
46
+ <v-expansion-panel-title
47
+ style="font-weight: bold; font-size: 13px; line-height: 16px;">
48
+ {{ item.subtitle }}
49
+ </v-expansion-panel-title>
50
+ <v-expansion-panel-text>
51
+ <div v-for="(value, i) in item.items" :key="i">
52
+ <p style="font-size: 13px;line-height: 16px;">
53
+ {{ value.precision }}
54
+ </p>
55
+ <div v-for="element in value.solution"
56
+ style="margin-top:15px; font-size: 13px;line-height: 16px;">
57
+ <p style="font-weight: bold;">Méthodologie du test : <a
58
+ href="value.link" target="blank">
59
+ <VIcon :icon="linkICon"/>
60
+ </a></p>
61
+
62
+ <p>{{ element.info1 }}</p>
63
+ <p>{{ element.info2 }}</p>
64
+ <p>{{ element.info3 }}</p>
65
+
66
+ </div>
67
+ <span style="display:flex; justify-content:center; margin-bottom:5px;">______</span>
68
+ </div>
69
+ </v-expansion-panel-text>
70
+ </v-expansion-panel>
71
+ </v-expansion-panels>
72
+ </v-expansion-panel-text>
73
+ </v-expansion-panel>
74
+ </v-expansion-panels>
75
+ </v-col>
76
+ <v-col cols="6">
77
+ <div style="display:flex; margin-bottom: 10px; justify-content: space-between; align-items: center;">
78
+ <h5>{{ AccessibiliteItemsValidated.length }} critères pris en charge par l'équipe Design System</h5>
79
+ <div style="display: flex; align-items: center;">
80
+ <v-btn variant="tonal" color="red" size="x-small" style="margin: 4px;font-size: 8px;"
81
+ rounded>Tanaguru
82
+ </v-btn>
83
+ </div>
84
+ </div>
85
+ <v-expansion-panels value="opened" multiple>
86
+ <v-expansion-panel
87
+ v-for="(item, index) in AccessibiliteItemsValidated"
88
+ :key="index" style="background-color: rgba(53,135,0,0.1); margin-bottom: 10px;">
89
+ <v-expansion-panel-title>
90
+ <VIcon color="green" :icon="icon" style="margin-right: 5px;"/>
91
+ {{ item.title }}
92
+ </v-expansion-panel-title>
93
+ <v-expansion-panel-text>
94
+ <v-expansion-panels>
95
+ <v-expansion-panel>
96
+ <v-expansion-panel-title style="font-weight: bold;font-size: 13px; line-height: 16px;">
97
+ {{ item.subtitle }}
98
+ </v-expansion-panel-title>
99
+ <v-expansion-panel-text>
100
+ <div v-for="(value, i) in item.items" :key="i">
101
+ <p style="font-size: 13px;line-height: 16px;">
102
+ {{ value.precision }}
103
+ </p>
104
+ <div v-for="element in value.solution"
105
+ style="margin-top:15px; font-size: 13px;line-height: 16px;">
106
+ <p style="font-weight: bold;">Méthodologie du test : <a
107
+ href="value.link" target="blank">
108
+ <VIcon :icon="linkICon"/>
109
+ </a></p>
110
+ <p>{{ element.info1 }}</p>
111
+ <p>{{ element.info2 }}</p>
112
+ <p>{{ element.info3 }}</p>
113
+ </div>
114
+ <span style="display:flex; justify-content:center; margin-bottom:5px;">______</span>
115
+ </div>
116
+ </v-expansion-panel-text>
117
+ </v-expansion-panel>
118
+ </v-expansion-panels>
119
+ </v-expansion-panel-text>
120
+ </v-expansion-panel>
121
+ </v-expansion-panels>
122
+ </v-col>
123
+ </div>
124
+ `,
125
+ }
126
+ },
127
+ tags: ['!dev'],
128
+ }
129
+
130
+ export const Legende: StoryObj = {
131
+ args: {
132
+ icon: checkIcon,
133
+ },
134
+ render: (args) => {
135
+ return {
136
+ components: { VIcon },
137
+ setup() {
138
+ return { args }
139
+ },
140
+ template: `
141
+ <p style="color: grey;font-size: 11px; margin-bottom: 12px;">Date de conception: 20/11/2024</p>
142
+ <div>
143
+ <p>Le tableau ci-dessous liste nos recommandations suivant les <a target="blank" style="color:#0C41BD;" href="https://www.numerique.gouv.fr/publications/rgaa-accessibilite/#contenu">catégories du RGAA</a>.</p>
144
+ <p style="margin-bottom: 12px;font-weight:bold;">Pour rappel le composant seul ne garantie pas
145
+ l'accessibilité du site.</p>
146
+ <div style="font-size: 14px">
147
+ <p>Nous avons deux façons de relever les problèmes d'accessibilité des composants :</p>
148
+ <div>
149
+ <v-btn variant="tonal" color="grey" size="x-small" style="margin: 2px;font-size: 8px;" rounded>
150
+ Audit
151
+ </v-btn>
152
+ Problèmes relevés par le projet
153
+ </div>
154
+ <div>
155
+ <v-btn variant="tonal" color="red" size="x-small" style="margin: 2px;font-size: 8px;" rounded>
156
+ Tanaguru
157
+ </v-btn>
158
+ Problèmes relevés par Tanaguru
159
+ </div>
160
+ </div>
161
+ </div>
162
+ `,
163
+ }
164
+ },
165
+ tags: ['!dev'],
166
+ }