@cnamts/synapse 0.0.5-alpha → 0.0.7-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 (229) hide show
  1. package/dist/design-system-v3.d.ts +487 -415
  2. package/dist/design-system-v3.js +2954 -2203
  3. package/dist/design-system-v3.umd.cjs +6 -6
  4. package/dist/style.css +1 -1
  5. package/package.json +17 -17
  6. package/src/assets/settings.scss +3 -0
  7. package/src/assets/tokens.scss +16 -16
  8. package/src/components/BackBtn/AccessibiliteItems.ts +0 -30
  9. package/src/components/BackBtn/BackBtn.mdx +1 -1
  10. package/src/components/BackBtn/BackBtn.stories.ts +12 -9
  11. package/src/components/BackBtn/BackBtn.vue +0 -1
  12. package/src/components/BackToTopBtn/AccessibiliteItems.ts +0 -30
  13. package/src/components/BackToTopBtn/BackToTopBtn.mdx +1 -1
  14. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +3 -3
  15. package/src/components/CollapsibleList/Accessibilite.stories.ts +4 -0
  16. package/src/components/CollapsibleList/AccessibiliteItems.ts +55 -62
  17. package/src/components/CollapsibleList/CollapsibleList.stories.ts +1 -1
  18. package/src/components/CookieBanner/Accessibilite.stories.ts +219 -0
  19. package/src/components/CookieBanner/AccessibiliteItems.ts +356 -0
  20. package/src/components/CookieBanner/CookieBanner.mdx +219 -0
  21. package/src/components/CookieBanner/CookieBanner.stories.ts +680 -0
  22. package/src/components/CookieBanner/CookieBanner.vue +225 -0
  23. package/src/components/CookieBanner/config.ts +38 -0
  24. package/src/components/CookieBanner/locales.ts +12 -0
  25. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +129 -0
  26. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +197 -0
  27. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +123 -0
  28. package/src/components/CookiesSelection/CookiesInformation/locales.ts +21 -0
  29. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +121 -0
  30. package/src/components/CookiesSelection/CookiesSelection.vue +127 -0
  31. package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +47 -0
  32. package/src/components/CookiesSelection/CookiesTable/headers.ts +14 -0
  33. package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.ts +30 -0
  34. package/src/components/CookiesSelection/CookiesTable/tests/__snapshots__/CookiesTable.spec.ts.snap +3 -0
  35. package/src/components/CookiesSelection/locales.ts +10 -0
  36. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +184 -0
  37. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +192 -0
  38. package/src/components/CookiesSelection/types.ts +15 -0
  39. package/src/components/CopyBtn/AccessibiliteItems.ts +0 -30
  40. package/src/components/CopyBtn/CopyBtn.mdx +1 -1
  41. package/src/components/CopyBtn/CopyBtn.stories.ts +9 -6
  42. package/src/components/CopyBtn/CopyBtn.vue +0 -1
  43. package/src/components/Customs/SyBtnSelect/Accessibilite.mdx +14 -0
  44. package/src/components/Customs/SyBtnSelect/Accessibilite.stories.ts +193 -0
  45. package/src/components/Customs/SyBtnSelect/AccessibiliteItems.ts +139 -0
  46. package/src/components/Customs/SyBtnSelect/SyBtnSelect.mdx +3 -2
  47. package/src/components/Customs/SyBtnSelect/SyBtnSelect.stories.ts +30 -14
  48. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +21 -13
  49. package/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.ts +4 -0
  50. package/src/components/Customs/SyInputSelect/Accessibilite.mdx +14 -0
  51. package/src/components/Customs/SyInputSelect/Accessibilite.stories.ts +166 -0
  52. package/src/components/Customs/SyInputSelect/AccessibiliteItems.ts +96 -0
  53. package/src/components/Customs/SyInputSelect/SyInputSelect.mdx +7 -3
  54. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +24 -65
  55. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +36 -4
  56. package/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.ts +4 -0
  57. package/src/components/Customs/SySelect/Accessibilite.mdx +14 -0
  58. package/src/components/Customs/SySelect/Accessibilite.stories.ts +217 -0
  59. package/src/components/Customs/SySelect/AccessibiliteItems.ts +173 -0
  60. package/src/components/Customs/SySelect/SySelect.mdx +4 -4
  61. package/src/components/Customs/SySelect/SySelect.stories.ts +4 -60
  62. package/src/components/Customs/SySelect/SySelect.vue +35 -8
  63. package/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.ts +4 -0
  64. package/src/components/Customs/SyTextField/Accessibilite.mdx +14 -0
  65. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +224 -0
  66. package/src/components/Customs/SyTextField/AccessibiliteItems.ts +198 -0
  67. package/src/components/Customs/SyTextField/SyTextField.mdx +1 -1
  68. package/src/components/Customs/SyTextField/SyTextField.stories.ts +118 -7
  69. package/src/components/Customs/SyTextField/SyTextField.vue +27 -7
  70. package/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.ts +4 -0
  71. package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +2 -1
  72. package/src/components/DataList/Accessibilite.mdx +14 -0
  73. package/src/components/DataList/Accessibilite.stories.ts +166 -0
  74. package/src/components/DataList/AccessibiliteItems.ts +47 -0
  75. package/src/components/DataList/DataList.mdx +1 -1
  76. package/src/components/DataList/DataList.stories.ts +10 -10
  77. package/src/components/DataList/constants/ExpertiseLevelEnum.ts +4 -0
  78. package/src/components/DataListGroup/Accessibilite.mdx +14 -0
  79. package/src/components/DataListGroup/Accessibilite.stories.ts +225 -0
  80. package/src/components/DataListGroup/AccessibiliteItems.ts +79 -0
  81. package/src/components/DataListGroup/DataListGroup.mdx +1 -1
  82. package/src/components/DataListGroup/DataListGroup.stories.ts +7 -7
  83. package/src/components/DataListGroup/constants/ExpertiseLevelEnum.ts +4 -0
  84. package/src/components/DialogBox/Accessibilite.mdx +14 -0
  85. package/src/components/DialogBox/Accessibilite.stories.ts +189 -0
  86. package/src/components/DialogBox/AccessibiliteItems.ts +167 -0
  87. package/src/components/DialogBox/constants/ExpertiseLevelEnum.ts +4 -0
  88. package/src/components/DownloadBtn/AccessibiliteItems.ts +1 -31
  89. package/src/components/DownloadBtn/DownloadBtn.mdx +5 -6
  90. package/src/components/DownloadBtn/DownloadBtn.stories.ts +25 -26
  91. package/src/components/ErrorPage/Accessibilite.mdx +14 -0
  92. package/src/components/ErrorPage/Accessibilite.stories.ts +189 -0
  93. package/src/components/ErrorPage/AccessibiliteItems.ts +205 -0
  94. package/src/components/ErrorPage/ErrorPage.vue +1 -1
  95. package/src/components/ErrorPage/constants/ExpertiseLevelEnum.ts +4 -0
  96. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +4 -4
  97. package/src/components/FooterBar/Accessibilite.mdx +14 -0
  98. package/src/components/FooterBar/Accessibilite.stories.ts +223 -0
  99. package/src/components/FooterBar/AccessibiliteItems.ts +257 -0
  100. package/src/components/FooterBar/FooterBar.mdx +2 -2
  101. package/src/components/FooterBar/FooterBar.stories.ts +14 -14
  102. package/src/components/FooterBar/FooterBar.vue +86 -75
  103. package/src/components/FooterBar/constants/ExpertiseLevelEnum.ts +4 -0
  104. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +22 -20
  105. package/src/components/FranceConnectBtn/AccessibiliteItems.ts +0 -30
  106. package/src/components/FranceConnectBtn/FranceConnectBtn.mdx +1 -1
  107. package/src/components/FranceConnectBtn/FranceConnectBtn.stories.ts +5 -4
  108. package/src/components/HeaderBar/Accessibilite.mdx +14 -0
  109. package/src/components/HeaderBar/Accessibilite.stories.ts +223 -0
  110. package/src/components/HeaderBar/AccessibiliteItems.ts +194 -0
  111. package/src/components/HeaderBar/HeaderBar.stories.ts +19 -12
  112. package/src/components/HeaderBar/HeaderBar.vue +9 -12
  113. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.mdx +14 -0
  114. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +223 -0
  115. package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +174 -0
  116. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +1 -0
  117. package/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.ts +4 -0
  118. package/src/components/HeaderBar/constants/ExpertiseLevelEnum.ts +4 -0
  119. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +1 -1
  120. package/src/components/HeaderLoading/Accessibilite.mdx +14 -0
  121. package/src/components/HeaderLoading/Accessibilite.stories.ts +167 -0
  122. package/src/components/HeaderLoading/AccessibiliteItems.ts +29 -0
  123. package/src/components/HeaderLoading/HeaderLoading.mdx +1 -1
  124. package/src/components/HeaderLoading/HeaderLoading.stories.ts +1 -1
  125. package/src/components/HeaderLoading/constants/ExpertiseLevelEnum.ts +4 -0
  126. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +104 -32
  127. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +35 -33
  128. package/src/components/HeaderToolbar/Accessibilite.mdx +14 -0
  129. package/src/components/HeaderToolbar/Accessibilite.stories.ts +203 -0
  130. package/src/components/HeaderToolbar/AccessibiliteItems.ts +200 -0
  131. package/src/components/HeaderToolbar/HeaderToolbar.mdx +1 -1
  132. package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +2 -2
  133. package/src/components/HeaderToolbar/HeaderToolbar.vue +24 -1
  134. package/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.ts +4 -0
  135. package/src/components/LangBtn/Accessibilite.stories.ts +3 -1
  136. package/src/components/LangBtn/AccessibiliteItems.ts +0 -31
  137. package/src/components/LangBtn/LangBtn.mdx +1 -1
  138. package/src/components/LangBtn/LangBtn.stories.ts +4 -4
  139. package/src/components/LangBtn/LangBtn.vue +3 -2
  140. package/src/components/Logo/Accessibilite.mdx +14 -0
  141. package/src/components/Logo/Accessibilite.stories.ts +223 -0
  142. package/src/components/Logo/AccessibiliteItems.ts +155 -0
  143. package/src/components/Logo/Logo.mdx +1 -1
  144. package/src/components/Logo/Logo.stories.ts +8 -8
  145. package/src/components/Logo/constants/ExpertiseLevelEnum.ts +4 -0
  146. package/src/components/LogoBrandSection/Accessibilite.mdx +14 -0
  147. package/src/components/LogoBrandSection/Accessibilite.stories.ts +223 -0
  148. package/src/components/LogoBrandSection/AccessibiliteItems.ts +194 -0
  149. package/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.ts +4 -0
  150. package/src/components/MaintenancePage/Accessibilite.mdx +14 -0
  151. package/src/components/MaintenancePage/Accessibilite.stories.ts +189 -0
  152. package/src/components/MaintenancePage/AccessibiliteItems.ts +173 -0
  153. package/src/components/MaintenancePage/constants/ExpertiseLevelEnum.ts +4 -0
  154. package/src/components/NirField/Accessibilite.mdx +14 -0
  155. package/src/components/NirField/Accessibilite.stories.ts +214 -0
  156. package/src/components/NirField/AccessibiliteItems.ts +243 -0
  157. package/src/components/NirField/NirField.mdx +213 -0
  158. package/src/components/NirField/NirField.stories.ts +412 -0
  159. package/src/components/NirField/NirField.vue +453 -0
  160. package/src/components/NirField/config.ts +16 -0
  161. package/src/components/NirField/constants/ExpertiseLevelEnum.ts +4 -0
  162. package/src/components/NirField/locales.ts +12 -0
  163. package/src/components/NirField/nirValidation.ts +42 -0
  164. package/src/components/NirField/tests/NirField.spec.ts +120 -0
  165. package/src/components/NotFoundPage/Accessibilite.mdx +14 -0
  166. package/src/components/NotFoundPage/Accessibilite.stories.ts +190 -0
  167. package/src/components/NotFoundPage/AccessibiliteItems.ts +205 -0
  168. package/src/components/NotFoundPage/constants/ExpertiseLevelEnum.ts +4 -0
  169. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +4 -4
  170. package/src/components/NotificationBar/AccessibiliteItems.ts +0 -30
  171. package/src/components/NotificationBar/NotificationBar.mdx +1 -1
  172. package/src/components/PageContainer/PageContainer.mdx +1 -1
  173. package/src/components/PageContainer/PageContainer.stories.ts +9 -9
  174. package/src/components/PageContainer/PageContainer.vue +24 -18
  175. package/src/components/PageContainer/tests/PageContainer.spec.ts +2 -2
  176. package/src/components/PageContainer/tests/__snapshots__/PageContainer.spec.ts.snap +2 -2
  177. package/src/components/PhoneField/Accessibilite.mdx +14 -0
  178. package/src/components/PhoneField/Accessibilite.stories.ts +216 -0
  179. package/src/components/PhoneField/AccessibiliteItems.ts +238 -0
  180. package/src/components/PhoneField/PhoneField.mdx +1 -1
  181. package/src/components/PhoneField/PhoneField.stories.ts +2 -2
  182. package/src/components/PhoneField/PhoneField.vue +0 -1
  183. package/src/components/PhoneField/constants/ExpertiseLevelEnum.ts +4 -0
  184. package/src/components/SkipLink/Accessibilite.stories.ts +1 -1
  185. package/src/components/SkipLink/SkipLink.stories.ts +2 -2
  186. package/src/components/SocialMediaLinks/Accessibilite.mdx +14 -0
  187. package/src/components/SocialMediaLinks/Accessibilite.stories.ts +170 -0
  188. package/src/components/SocialMediaLinks/AccessibiliteItems.ts +160 -0
  189. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +1 -1
  190. package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +1 -1
  191. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +7 -1
  192. package/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.ts +4 -0
  193. package/src/components/SocialMediaLinks/tests/__snapshots__/SocialMediaLinks.spec.ts.snap +2 -2
  194. package/src/components/SubHeader/Accessibilite.mdx +14 -0
  195. package/src/components/SubHeader/Accessibilite.stories.ts +166 -0
  196. package/src/components/SubHeader/AccessibiliteItems.ts +146 -0
  197. package/src/components/SubHeader/SubHeader.mdx +1 -1
  198. package/src/components/SubHeader/SubHeader.stories.ts +17 -14
  199. package/src/components/SubHeader/constants/ExpertiseLevelEnum.ts +4 -0
  200. package/src/components/SyAlert/Accessibilite.mdx +14 -0
  201. package/src/components/{Alert → SyAlert}/Accessibilite.stories.ts +1 -1
  202. package/src/components/{Alert → SyAlert}/AccessibiliteItems.ts +2 -32
  203. package/src/components/{Alert/Alert.mdx → SyAlert/SyAlert.mdx} +9 -9
  204. package/src/components/{Alert/Alert.stories.ts → SyAlert/SyAlert.stories.ts} +22 -22
  205. package/src/components/{Alert/Alert.vue → SyAlert/SyAlert.vue} +7 -0
  206. package/src/components/SyAlert/constants/ExpertiseLevelEnum.ts +4 -0
  207. package/src/components/{Alert/tests/Alert.spec.ts → SyAlert/tests/SyAlert.spec.ts} +5 -5
  208. package/src/components/{Alert/tests/__snapshots__/Alert.spec.ts.snap → SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap} +2 -2
  209. package/src/components/UserMenuBtn/Accessibilite.mdx +14 -0
  210. package/src/components/UserMenuBtn/Accessibilite.stories.ts +189 -0
  211. package/src/components/UserMenuBtn/AccessibiliteItems.ts +155 -0
  212. package/src/components/UserMenuBtn/UserMenuBtn.mdx +17 -17
  213. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +121 -19
  214. package/src/components/UserMenuBtn/UserMenuBtn.vue +25 -29
  215. package/src/components/UserMenuBtn/config.ts +1 -1
  216. package/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.ts +4 -0
  217. package/src/components/index.ts +11 -4
  218. package/src/composables/rules/tests/useFieldValidation.spec.ts +60 -58
  219. package/src/composables/rules/useFieldValidation.ts +65 -28
  220. package/src/main.ts +1 -0
  221. package/src/stories/GuideDuDev/CommentUtiliserLesRules.mdx +67 -79
  222. package/src/stories/GuideDuDev/components.stories.ts +5 -5
  223. package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
  224. package/src/stories/Guidelines/Vuetify/Vuetify.mdx +11 -0
  225. package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +138 -0
  226. package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +350 -0
  227. /package/src/components/{Alert → CookieBanner}/Accessibilite.mdx +0 -0
  228. /package/src/components/{Alert → CookieBanner}/constants/ExpertiseLevelEnum.ts +0 -0
  229. /package/src/components/{Alert → SyAlert}/locales.ts +0 -0
@@ -0,0 +1,11 @@
1
+ import { Meta, Story } from '@storybook/addon-docs';
2
+ import * as AccessStories from './Vuetify.stories.ts';
3
+
4
+ <Meta of={AccessStories} />
5
+
6
+ Vuetify & Accessibilité
7
+ =============
8
+
9
+ <Story of={AccessStories.Legende} />
10
+
11
+ <Story of={AccessStories.VuetifyPanel} />
@@ -0,0 +1,138 @@
1
+ import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VDataTable, VIcon, VRow, VCol } from 'vuetify/components'
2
+ import type { StoryObj } from '@storybook/vue3'
3
+ import { VuetifyItems } from './VuetifyItems'
4
+ import { mdiCheckboxMarkedCircleOutline, mdiLinkVariant, mdiAlertCircleOutline } from '@mdi/js'
5
+
6
+ const checkIcon = mdiCheckboxMarkedCircleOutline
7
+ const linkICon = mdiLinkVariant
8
+ const iconAlert = mdiAlertCircleOutline
9
+ export default {
10
+ title: 'Guidelines/Vuetify',
11
+ }
12
+
13
+ export const VuetifyPanel: StoryObj = {
14
+ render: () => {
15
+ return {
16
+ components: { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VDataTable, VIcon },
17
+ setup() {
18
+ return { VuetifyItems, checkIcon, iconAlert, linkICon }
19
+ },
20
+ template: `
21
+ <div v-for="(item, index) in VuetifyItems" :key="index">
22
+ <v-data-table
23
+ :items="item.items"
24
+ :items-per-page="23"
25
+ hide-default-footer>
26
+ <template v-slot:header.name="{ header }">
27
+ Composant Vuetify
28
+ </template>
29
+
30
+ <template v-slot:header.errorImportants="{ header }">
31
+ Erreurs bloquantes (Tanaguru)
32
+ </template>
33
+ <template v-slot:item.name="{ item }">
34
+ <v-chip v-if="item.errorImportants == 0 && item.errorIndeterminated == 0"
35
+ style="font-size: 12px; line-height: 15px;">
36
+ <VIcon style="margin-right: 2px;" :icon="checkIcon"/>
37
+ {{ item.name }}
38
+ </v-chip>
39
+ <v-chip v-else style="font-size: 12px; line-height: 15px;">
40
+ <VIcon style="margin-right: 2px;" :icon="iconAlert"/>
41
+ {{ item.name }}
42
+ </v-chip>
43
+ </template>
44
+
45
+ <template v-slot:item.solution="{ item }">
46
+ <div v-if="item.solution.length > 0">
47
+ <span v-for="(item, index) in item.solution"
48
+ style="display:flex; align-items: center; font-size: 12px; line-height: 15px; font-weight: bold">
49
+ {{ item.name }} <a :href="item.href" v-if="item.href">
50
+ <VBtn color="primary" style="margin-left: 5px;" :icon="linkICon" size="small"
51
+ variant="text"/></a>
52
+ </span>
53
+ </div>
54
+ </template>
55
+
56
+ <template v-slot:item.errorImportants="{ item }">
57
+ <div v-if="item.errorImportants.length === 0">
58
+ <p style="margin-top: 5px; margin-bottom: 5px; font-size: 12px;">Pas d'erreur
59
+ d'accessibilité relevée à ce jour</p>
60
+ </div>
61
+ <div v-else v-for="item in item.errorImportants" :key="index"
62
+ style="width: 100% !important; font-size: 12px; line-height: 15px;">
63
+ <p style="margin-top: 5px; margin-bottom: 5px;">
64
+ <span style="font-weight: bold;">{{ item.match('[0-9.]+')?.join('') || '' }} </span>
65
+ {{ item.replace(/[0-9.]/g, '') }}
66
+ </p>
67
+ </div>
68
+ </template>
69
+
70
+ <template v-slot:item.errorIndeterminated="{ item }">
71
+ <div v-if="item.errorIndeterminated.length === 0">
72
+ <p style="margin-top: 5px; margin-bottom: 5px; font-size: 12px;">Pas d'erreur
73
+ d'accessibilité relevée à ce jour</p>
74
+ </div>
75
+ <div v-else v-for="item in item.errorIndeterminated" :key="index"
76
+ style="width: 100% !important; font-size: 12px; line-height: 15px;">
77
+ <p style="margin-top: 5px; margin-bottom: 5px;">
78
+ <span style="font-weight: bold;">{{ item.match('[0-9.]+')?.join('') || '' }} </span>
79
+ {{ item.replace(/[0-9.]/g, '') }}
80
+ </p>
81
+ </div>
82
+ </template>
83
+
84
+ <template v-slot:header.errorIndeterminated="{ header }">
85
+ Erreurs indéterminées (Tanaguru)
86
+ </template>
87
+ <template v-slot:header.solution="{ header }">
88
+ Solution
89
+ </template>
90
+
91
+ <template v-slot:header.href="{ header }" style="display:none">
92
+ <th v-if="false" style="display:none"></th>
93
+ </template>
94
+
95
+ <template v-slot:item.href="{ item }" style="display:none">
96
+ <td v-if="false">{{ item.someColumn }}</td>
97
+ </template>
98
+ </v-data-table>
99
+ </div>
100
+ `,
101
+ }
102
+ },
103
+ tags: ['!dev'],
104
+ }
105
+
106
+ export const Legende: StoryObj = {
107
+ args: {
108
+ },
109
+ render: (args) => {
110
+ return {
111
+ components: { VIcon, VRow, VCol },
112
+ setup() {
113
+ return { args, checkIcon, iconAlert }
114
+ },
115
+ template: `
116
+ <p style="color: grey;font-size: 11px; margin-bottom: 12px;">Date de conception: 13/12/2024</p>
117
+
118
+ <VRow class="mt-2 mb-5">
119
+ <VCol cols="12" sm="12" class="m-2 p-2 v-col-auto">
120
+ <div style="font-size: 13px;">
121
+ <p>L'étude relève que la majorité des composants garantissent l'accessibilité numérique par défaut tel que défini par le RGAA. <br />Nous identifions néanmoins pour certains composants qu'un travail d'ajustement est nécessaire. Ce travail peut être réalisé directement par les produits.<br />Dans une démarche d'accélération de la fabrication, nous proposons pour chaque composant relevant d'un manque sur le sujet des solutions afin d'en faciliter la mise en conformité. Ces solutions peuvent être de nature : composant ou recommandation.</p>
122
+ <br />
123
+ <p>Pour chaque composant, nous indiquons les erreurs remontées par l'outil Tanaguru : Erreurs bloquantes et indéterminées.<br />Ces erreurs doivent être analysées contextuellement. Pour rappel, l'accessibilité numérique ne se mesure par sur des composants seuls dénués de contexte.<br />Une appréciation de la part du développeur est nécessaire pour en évaluer la pertinence.</p>
124
+ </div>
125
+ </VCol>
126
+
127
+ <VCol cols="12" sm="4" class="m-2 p-2 v-col-auto">
128
+ <p style="font-size: 13px;"><VIcon style="margin-right: 2px;" :icon="iconAlert" /> Composant non conforme par défaut.</p>
129
+ <p style="font-size: 13px;"><VIcon style="margin-right: 2px;" :icon="checkIcon" /> Composant conforme.</p>
130
+ </VCol>
131
+
132
+ </VRow>
133
+
134
+ `,
135
+ }
136
+ },
137
+ tags: ['!dev'],
138
+ }
@@ -0,0 +1,350 @@
1
+ export const VuetifyItems = [
2
+ {
3
+ items: [
4
+ {
5
+ name: 'VTextField',
6
+ errorImportants: ['11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.'],
7
+ errorIndeterminated: [
8
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
9
+ '11.13.1 La finalité d\'un champs de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l\'utilisateur',
10
+ '12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier.',
11
+
12
+ ],
13
+ solution: [
14
+ {
15
+ name: 'SyTextField',
16
+ href: '/?path=/docs/composants-formulaires-sytextfield--docs',
17
+ },
18
+
19
+ ],
20
+ },
21
+ {
22
+ name: 'Select',
23
+ errorImportants: [
24
+
25
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
26
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
27
+ '12.11 Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l’activation d’un composant d’interface sont-ils si nécessaire atteignables au clavier',
28
+
29
+ ],
30
+ errorIndeterminated: [
31
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
32
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
33
+ '11.13 La finalité d’un champ de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l’utilisateur',
34
+ '11.2.2 Chaque attribut title permet-il de connaître la fonction exacte du champ de formulaire auquel il est associé',
35
+ '11.2.3 Chaque étiquette implémentée via l’attribut WAI-ARIA aria-label permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée',
36
+ '12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier.',
37
+
38
+ ],
39
+ solution: [
40
+ {
41
+ name: 'SySelect',
42
+ href: '/?path=/docs/composants-formulaires-syselect--docs',
43
+ },
44
+ {
45
+ name: 'SyInputSelect',
46
+ href: '/?path=/docs/composants-formulaires-syinputselect--docs',
47
+ },
48
+ {
49
+ name: 'SyBtnSelect',
50
+ href: '/?path=/docs/composants-formulaires-sybtnselect--docs',
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ name: 'Divider',
56
+ errorImportants: [
57
+
58
+ ],
59
+ errorIndeterminated: [
60
+
61
+ ],
62
+ solution: [],
63
+ },
64
+ {
65
+ name: 'Buttons',
66
+ errorImportants: [
67
+
68
+ ],
69
+ errorIndeterminated: [
70
+
71
+ ],
72
+ solution: [],
73
+ },
74
+ {
75
+ name: 'Chips',
76
+ errorImportants: [
77
+
78
+ ],
79
+ errorIndeterminated: [
80
+
81
+ ],
82
+ solution: [],
83
+ },
84
+ {
85
+ name: 'Tooltip',
86
+ errorImportants: [
87
+
88
+ ],
89
+ errorIndeterminated: [
90
+
91
+ ],
92
+ solution: [],
93
+ },
94
+ {
95
+ name: 'Cards',
96
+ errorImportants: [
97
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
98
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
99
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
100
+ ],
101
+ errorIndeterminated: [
102
+
103
+ ],
104
+ solution: [{
105
+ name: 'En étude',
106
+ }],
107
+ },
108
+ {
109
+ name: 'Tabs',
110
+ errorImportants: [
111
+ '12.11 Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l’activation d’un composant d’interface sont-ils si nécessaire atteignables au clavier',
112
+ ],
113
+ errorIndeterminated: [
114
+
115
+ ],
116
+ solution: [{
117
+ name: 'En étude',
118
+ }],
119
+ },
120
+
121
+ {
122
+ name: 'Textarea',
123
+ errorImportants: [
124
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
125
+ ],
126
+ errorIndeterminated: [
127
+
128
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
129
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
130
+ '11.13 La finalité d’un champ de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l’utilisateur',
131
+ '12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier.',
132
+
133
+ ],
134
+ solution: [{
135
+ name: 'En étude',
136
+ }],
137
+ },
138
+
139
+ {
140
+ name: 'Sliders',
141
+ errorImportants: [
142
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
143
+ ],
144
+ errorIndeterminated: [
145
+
146
+ ],
147
+ solution: [{
148
+ name: 'En étude',
149
+ }],
150
+ },
151
+ {
152
+ name: 'Table',
153
+ errorImportants: [
154
+ '5.4 Pour chaque tableau de données ayant un titre, le titre est-il correctement associé au tableau de données',
155
+ ],
156
+ errorIndeterminated: [
157
+
158
+ ],
159
+ solution: [{
160
+ name: 'En étude',
161
+ }],
162
+ },
163
+ {
164
+ name: 'Expansion panels',
165
+ errorImportants: [
166
+
167
+ ],
168
+ errorIndeterminated: [
169
+
170
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
171
+
172
+ ],
173
+ solution: [{
174
+ name: 'En étude',
175
+ }],
176
+ },
177
+ {
178
+ name: 'Breadcrumbs',
179
+ errorImportants: [
180
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
181
+ ],
182
+ errorIndeterminated: [
183
+
184
+ ],
185
+ solution: [{
186
+ name: 'En étude',
187
+ }],
188
+ },
189
+
190
+ {
191
+ name: 'Progress Linear',
192
+ errorImportants: [
193
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
194
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
195
+ ],
196
+ errorIndeterminated: [
197
+
198
+ ],
199
+ solution: [{
200
+ name: 'En étude',
201
+ }],
202
+ },
203
+ {
204
+ name: 'Progress circular',
205
+ errorImportants: [
206
+ '1.1.5 Chaque image vectorielle (balise <svg>) porteuse d’information, vérifie-t-elle ces conditions -La balise <svg> possède un attribut WAI-ARIA role="img" ;',
207
+ '1.2 Chaque image de décoration est-elle correctement ignorée par les technologies d’assistance',
208
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
209
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
210
+ ],
211
+ errorIndeterminated: [
212
+
213
+ ],
214
+ solution: [{
215
+ name: 'En étude',
216
+ }],
217
+ },
218
+
219
+ {
220
+ name: 'Lists',
221
+ errorImportants: [
222
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
223
+ '7.4 Pour chaque script qui initie un changement de contexte, l’utilisateur est-il averti ou en a-t-il le contrôle',
224
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
225
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
226
+ ],
227
+ errorIndeterminated: [
228
+
229
+ ],
230
+ solution: [{
231
+ name: 'En étude',
232
+ }],
233
+ },
234
+ {
235
+ name: 'Steppers',
236
+ errorImportants: [
237
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
238
+
239
+ ],
240
+ errorIndeterminated: [
241
+ '3.1.2 Pour chaque indication de couleur donnée par un texte, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ?',
242
+ ],
243
+ solution: [{
244
+ name: 'En étude',
245
+ }],
246
+ },
247
+ {
248
+ name: 'Combobox',
249
+ errorImportants: [
250
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
251
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
252
+ '12.11 Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l’activation d’un composant d’interface sont-ils si nécessaire atteignables au clavier',
253
+ ],
254
+ errorIndeterminated: [
255
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
256
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
257
+ '11.13.1 La finalité d\'un champs de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l\'utilisateur',
258
+
259
+ ],
260
+ solution: [{
261
+ name: 'En étude',
262
+ }],
263
+ },
264
+ {
265
+ name: 'Autocomplete',
266
+ errorImportants: [
267
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
268
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
269
+ '11.1.1 Un bouton adjacent au champ de formulaire lui fournit une étiquette visible et un élément <label> visuellement caché ou un attribut WAI-ARIA aria-label, aria-labelledby ou title lui fournit un nom accessible.',
270
+ '12.11 Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l’activation d’un composant d’interface sont-ils si nécessaire atteignables au clavier',
271
+ ],
272
+ errorIndeterminated: [
273
+ '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions',
274
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
275
+ '11.13.1 La finalité d\'un champs de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l\'utilisateur',
276
+
277
+ ],
278
+ solution: [{
279
+ name: 'En étude',
280
+ }],
281
+ },
282
+ {
283
+ name: 'Switches',
284
+ errorImportants: [
285
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
286
+
287
+ ],
288
+ errorIndeterminated: [
289
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
290
+ '11.2.3 Chaque étiquette implémentée via l’attribut WAI-ARIA aria-label permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée',
291
+ '12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier.',
292
+
293
+ ],
294
+ solution: [{
295
+ name: 'En étude',
296
+ }],
297
+ },
298
+ {
299
+ name: 'Checkboxes',
300
+ errorImportants: [
301
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
302
+
303
+ ],
304
+ errorIndeterminated: [
305
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
306
+ '11.2.3 Chaque étiquette implémentée via l’attribut WAI-ARIA aria-label permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée',
307
+ '12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier.',
308
+
309
+ ],
310
+ solution: [{
311
+ name: 'En étude',
312
+ }],
313
+ },
314
+ {
315
+ name: 'RadioButtons',
316
+ errorImportants: [
317
+ '8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié',
318
+
319
+ ],
320
+ errorIndeterminated: [
321
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
322
+ '11.2.3 Chaque étiquette implémentée via l’attribut WAI-ARIA aria-label permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée',
323
+ '12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier.',
324
+
325
+ ],
326
+ solution: [{
327
+ name: 'En étude',
328
+ }],
329
+ },
330
+ {
331
+ name: 'OTP Input',
332
+ errorImportants: [
333
+ '11.1 Chaque champ de formulaire a-t-il une étiquette',
334
+ '11.4 Dans chaque formulaire, chaque étiquette de champ et son champ associé sont-ils accolés',
335
+
336
+ ],
337
+ errorIndeterminated: [
338
+ '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
339
+ '11.2.3 Chaque étiquette implémentée via l’attribut WAI-ARIA aria-label permet-elle de connaître la fonction exacte du champ de formulaire auquel elle est associée',
340
+ '11.13.1 La finalité d\'un champs de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l\'utilisateur',
341
+
342
+ ],
343
+ solution: [{
344
+ name: 'En étude',
345
+ }],
346
+ },
347
+ ],
348
+ },
349
+
350
+ ]
File without changes