@cnamts/synapse 1.1.0 → 1.1.1

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 (202) hide show
  1. package/dist/{AutocompleteFilter-DXd4szWO.js → AutocompleteFilter-CGF33skz.js} +1 -1
  2. package/dist/{DateFilter-BD59Kgwf.js → DateFilter-D7-MsKtx.js} +1 -1
  3. package/dist/{NumberFilter-BSMZE7uw.js → NumberFilter-bjQPPfsj.js} +1 -1
  4. package/dist/{PeriodFilter-keUdSSk0.js → PeriodFilter-B3wJpK8-.js} +1 -1
  5. package/dist/{SelectFilter-Dhvvwazl.js → SelectFilter-BN6DbKAV.js} +1 -1
  6. package/dist/{TextFilter-CU8FpXz0.js → TextFilter-BffP0J2f.js} +1 -1
  7. package/dist/{apLightTheme2026-DbS7BPUf.js → apLightTheme2026-C4ygwMHC.js} +11 -11
  8. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +6 -6
  9. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +6 -6
  10. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +6 -6
  11. package/dist/components/Captcha/Captcha.d.ts +27 -16
  12. package/dist/components/Captcha/CaptchaForm.d.ts +29 -3
  13. package/dist/components/Captcha/types.d.ts +14 -0
  14. package/dist/components/Captcha/useCaptchaValidation.d.ts +37 -0
  15. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +33 -13
  16. package/dist/components/Customs/Selects/SelectBtnField/composables/useSelectBtnFieldValidation.d.ts +23 -0
  17. package/dist/components/Customs/Selects/SyAutocomplete/composables/useSyAutocompleteValidation.d.ts +2 -2
  18. package/dist/components/Customs/Selects/SySelect/composables/useSySelectValidation.d.ts +2 -2
  19. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +17 -48
  20. package/dist/components/Customs/SyCheckBoxGroup/composables/useSyCheckBoxGroupValidation.d.ts +29 -0
  21. package/dist/components/Customs/SyCheckBoxGroup/types.d.ts +46 -0
  22. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +16 -51
  23. package/dist/components/Customs/SyCheckbox/composables/useSyCheckboxValidation.d.ts +27 -0
  24. package/dist/components/Customs/SyCheckbox/types.d.ts +49 -0
  25. package/dist/components/Customs/SyTextField/FieldState.d.ts +5 -0
  26. package/dist/components/Customs/SyTextField/useSyTextFieldValidation.d.ts +3 -3
  27. package/dist/components/DialogBox/DialogBox.d.ts +2 -0
  28. package/dist/components/DialogBox/locales.d.ts +1 -0
  29. package/dist/components/FilterSideBar/FilterSideBar.d.ts +4 -0
  30. package/dist/components/LunarCalendar/LunarCalendar.d.ts +43 -14
  31. package/dist/components/LunarCalendar/types.d.ts +35 -0
  32. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +11 -12
  33. package/dist/components/MonthPicker/MonthPicker.d.ts +72 -1747
  34. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +21 -1733
  35. package/dist/components/MonthPicker/MonthPickerText/useTextField.d.ts +5 -0
  36. package/dist/components/MonthPicker/locales.d.ts +1 -0
  37. package/dist/components/MonthPicker/types.d.ts +11 -0
  38. package/dist/components/MonthPicker/useMonthPickerValidation.d.ts +37 -24
  39. package/dist/components/NirField/NirField.d.ts +6 -4
  40. package/dist/components/NirField/useNirValidation.d.ts +7 -5
  41. package/dist/components/PageContainer/PageContainer.d.ts +8 -0
  42. package/dist/components/PasswordField/PasswordField.d.ts +2 -2
  43. package/dist/components/PasswordField/usePasswordFieldValidation.d.ts +2 -2
  44. package/dist/components/PhoneField/PhoneField.d.ts +960 -1938
  45. package/dist/components/PhoneField/indicatifs.d.ts +715 -8
  46. package/dist/components/PhoneField/locales.d.ts +7 -0
  47. package/dist/components/PhoneField/types.d.ts +29 -0
  48. package/dist/components/PhoneField/usePhoneFieldValidation.d.ts +45 -0
  49. package/dist/components/PhoneField/usePhoneIndicatifs.d.ts +947 -0
  50. package/dist/components/SyTextArea/composables/useSyTextAreaValidation.d.ts +2 -2
  51. package/dist/composables/unifyValidation/documentationValidationProps.d.ts +1 -1
  52. package/dist/composables/unifyValidation/useValidation.d.ts +4 -5
  53. package/dist/design-system-v3.js +2 -2
  54. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +10 -10
  55. package/dist/designTokens/tokens/baseTokens.d.ts +18 -18
  56. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +10 -10
  57. package/dist/designTokens/tokens/pa/paLightTheme.d.ts +10 -10
  58. package/dist/designTokens/tokens/semanticTokens.d.ts +14 -14
  59. package/dist/{main-D8ryUoS5.js → main-C4wAktOs.js} +13718 -12991
  60. package/dist/synapse.css +1 -1
  61. package/dist/vuetifyConfig.js +1 -1
  62. package/package.json +7 -7
  63. package/src/assets/compat/_legacy-tokens.scss +91 -0
  64. package/src/assets/overrides/_utilities.scss +23 -0
  65. package/src/components/Accordion/Accordion.stories.ts +121 -1
  66. package/src/components/BackBtn/BackBtn.mdx +1 -1
  67. package/src/components/BackToTopBtn/BackToTopBtn.mdx +0 -1
  68. package/src/components/Captcha/Captcha.stories.ts +134 -31
  69. package/src/components/Captcha/Captcha.vue +95 -28
  70. package/src/components/Captcha/CaptchaForm.vue +51 -22
  71. package/src/components/Captcha/tests/Captcha.focus.spec.ts +214 -0
  72. package/src/components/Captcha/tests/Captcha.spec.ts +233 -24
  73. package/src/components/Captcha/tests/CaptchaForm.spec.ts +82 -0
  74. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +16 -42
  75. package/src/components/Captcha/types.ts +15 -0
  76. package/src/components/Captcha/useCaptchaValidation.ts +87 -0
  77. package/src/components/Captcha/validation/validation.stories.ts +1194 -0
  78. package/src/components/ChipList/ChipList.mdx +0 -1
  79. package/src/components/CollapsibleList/CollapsibleList.mdx +0 -1
  80. package/src/components/CookieBanner/CookieBanner.mdx +0 -1
  81. package/src/components/CopyBtn/CopyBtn.mdx +0 -1
  82. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.stories.ts +123 -439
  83. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +147 -41
  84. package/src/components/Customs/Selects/SelectBtnField/Validation/Validation.stories.ts +600 -0
  85. package/src/components/Customs/Selects/SelectBtnField/composables/useSelectBtnFieldValidation.ts +87 -0
  86. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +402 -33
  87. package/src/components/Customs/Selects/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +52 -38
  88. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.stories.ts +342 -162
  89. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +77 -129
  90. package/src/components/Customs/SyCheckBoxGroup/Validation/Validation.stories.ts +1008 -0
  91. package/src/components/Customs/SyCheckBoxGroup/composables/useSyCheckBoxGroupValidation.ts +107 -0
  92. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.spec.ts +180 -7
  93. package/src/components/Customs/SyCheckBoxGroup/types.ts +49 -0
  94. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +41 -161
  95. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +71 -148
  96. package/src/components/Customs/SyCheckbox/Validation/Validation.stories.ts +654 -0
  97. package/src/components/Customs/SyCheckbox/composables/useSyCheckboxValidation.ts +105 -0
  98. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +106 -0
  99. package/src/components/Customs/SyCheckbox/tests/useSyCheckboxValidation.spec.ts +98 -0
  100. package/src/components/Customs/SyCheckbox/types.ts +51 -0
  101. package/src/components/Customs/SyTextField/FieldState.vue +50 -0
  102. package/src/components/Customs/SyTextField/SyTextField.vue +12 -9
  103. package/src/components/Customs/SyTextField/useSyTextFieldValidation.ts +2 -11
  104. package/src/components/DataList/DataList.mdx +0 -1
  105. package/src/components/DataListGroup/DataListGroup.mdx +0 -1
  106. package/src/components/DiacriticPicker/DiacriticPicker.mdx +0 -1
  107. package/src/components/DialogBox/DialogBox.mdx +0 -1
  108. package/src/components/DialogBox/DialogBox.stories.ts +399 -4
  109. package/src/components/DialogBox/DialogBox.vue +20 -0
  110. package/src/components/DialogBox/locales.ts +1 -0
  111. package/src/components/DialogBox/tests/DialogBox.spec.ts +73 -0
  112. package/src/components/DialogBox/tests/DialogBox.visual.cy.ts +24 -0
  113. package/src/components/ErrorPage/ErrorPage.mdx +1 -1
  114. package/src/components/ExternalLinks/ExternalLinks.mdx +0 -1
  115. package/src/components/FileList/FileList.mdx +0 -1
  116. package/src/components/FilterInline/FilterInline.mdx +0 -1
  117. package/src/components/FilterSideBar/FilterSideBar.mdx +8 -1
  118. package/src/components/FilterSideBar/FilterSideBar.stories.ts +133 -1
  119. package/src/components/FilterSideBar/FilterSideBar.vue +19 -2
  120. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +55 -0
  121. package/src/components/FooterBar/FooterBar.mdx +0 -1
  122. package/src/components/FranceConnectBtn/FranceConnectBtn.mdx +0 -1
  123. package/src/components/HeaderBar/HeaderBar.mdx +0 -1
  124. package/src/components/HeaderLoading/HeaderLoading.mdx +0 -1
  125. package/src/components/LangBtn/LangBtn.mdx +0 -1
  126. package/src/components/Logo/Logo.mdx +1 -1
  127. package/src/components/LunarCalendar/LunarCalendar.mdx +6 -9
  128. package/src/components/LunarCalendar/LunarCalendar.stories.ts +243 -46
  129. package/src/components/LunarCalendar/LunarCalendar.vue +61 -26
  130. package/src/components/LunarCalendar/Validation/Validation.stories.ts +717 -0
  131. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +1 -1
  132. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +197 -6
  133. package/src/components/LunarCalendar/tests/useLunarCalendarValidation.spec.ts +287 -0
  134. package/src/components/LunarCalendar/types.ts +39 -0
  135. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +115 -39
  136. package/src/components/MonthPicker/MonthPicker.stories.ts +38 -281
  137. package/src/components/MonthPicker/MonthPicker.vue +66 -17
  138. package/src/components/MonthPicker/MonthPickerText/MonthPickerInput.vue +44 -20
  139. package/src/components/MonthPicker/MonthPickerText/useTextField.ts +5 -0
  140. package/src/components/MonthPicker/Validation/Validation.stories.ts +1117 -0
  141. package/src/components/MonthPicker/locales.ts +1 -0
  142. package/src/components/MonthPicker/tests/MonthPicker.spec.ts +353 -2
  143. package/src/components/MonthPicker/tests/__snapshots__/MonthPicker.spec.ts.snap +12 -8
  144. package/src/components/MonthPicker/types.ts +16 -0
  145. package/src/components/MonthPicker/useMonthPickerValidation.ts +64 -27
  146. package/src/components/NirField/NirField.mdx +120 -66
  147. package/src/components/NirField/NirField.stories.ts +216 -0
  148. package/src/components/NirField/useNirValidation.ts +16 -17
  149. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +263 -245
  150. package/src/components/NotificationBar/NotificationBar.mdx +0 -1
  151. package/src/components/PageContainer/PageContainer.mdx +0 -1
  152. package/src/components/PageContainer/PageContainer.stories.ts +170 -2
  153. package/src/components/PageContainer/PageContainer.vue +63 -8
  154. package/src/components/PageContainer/tests/__snapshots__/PageContainer.spec.ts.snap +19 -11
  155. package/src/components/PaginatedTable/PaginatedTable.mdx +0 -1
  156. package/src/components/PeriodField/PeriodField.mdx +0 -1
  157. package/src/components/PhoneField/PhoneField.mdx +2 -3
  158. package/src/components/PhoneField/PhoneField.stories.ts +227 -410
  159. package/src/components/PhoneField/PhoneField.vue +204 -438
  160. package/src/components/PhoneField/indicatifs.ts +1 -1
  161. package/src/components/PhoneField/locales.ts +7 -0
  162. package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +0 -1
  163. package/src/components/PhoneField/tests/PhoneField.spec.ts +517 -220
  164. package/src/components/PhoneField/types.ts +30 -0
  165. package/src/components/PhoneField/usePhoneFieldValidation.ts +119 -0
  166. package/src/components/PhoneField/usePhoneIndicatifs.ts +89 -0
  167. package/src/components/PhoneField/validation/validation.stories.ts +717 -0
  168. package/src/components/RangeField/RangeField.mdx +0 -1
  169. package/src/components/RatingPicker/RatingPicker.mdx +0 -1
  170. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +0 -1
  171. package/src/components/StatusPage/StatusPage.vue +1 -0
  172. package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +248 -230
  173. package/src/components/SubHeader/SubHeader.mdx +5 -6
  174. package/src/components/Tables/common/tests/SyTableFilter.spec.ts +11 -12
  175. package/src/components/UploadWorkflow/UploadWorkflow.mdx +0 -1
  176. package/src/components/UserMenuBtn/UserMenuBtn.mdx +0 -1
  177. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +177 -0
  178. package/src/composables/unifyValidation/documentationValidationProps.ts +1 -1
  179. package/src/composables/unifyValidation/tests/useValidation.spec.ts +13 -1
  180. package/src/composables/unifyValidation/useValidation.ts +37 -33
  181. package/src/composantsVuetify/VCard/VCard.mdx +4 -0
  182. package/src/composantsVuetify/VCard/v-card.stories.ts +93 -1
  183. package/src/composantsVuetify/VCarousel/VCarousel.mdx +74 -0
  184. package/src/composantsVuetify/VCarousel/v-carousel.stories.ts +531 -0
  185. package/src/composantsVuetify/VNavigationDrawer/VNavgationDrawer.mdx +53 -0
  186. package/src/composantsVuetify/VNavigationDrawer/v-navigation-drawer.stories.ts +310 -0
  187. package/src/composantsVuetify/VSlideGroup/VSlideGroup.mdx +105 -0
  188. package/src/composantsVuetify/VSlideGroup/v-slide-group.stories.ts +463 -0
  189. package/src/designTokens/tokens/baseColors.ts +1 -1
  190. package/src/designTokens/tokens/baseTokens.ts +18 -18
  191. package/src/stories/Components/Components.stories.ts +34 -1
  192. package/src/stories/Demarrer/Releases.stories.ts +16 -2
  193. package/src/stories/DesignTokens/Arrondis.mdx +1 -1
  194. package/src/stories/DesignTokens/Correspondances.mdx +219 -0
  195. package/src/stories/DesignTokens/UtiliserLesTokens.mdx +235 -0
  196. package/src/stories/DesignTokens/colors.stories.ts +569 -569
  197. package/src/stories/GuideDuDev/Amelipro.stories.ts +335 -267
  198. package/dist/components/LunarCalendar/useLunarCalendarRules.d.ts +0 -5
  199. package/dist/components/PhoneField/tests/types.d.ts +0 -18
  200. package/src/components/LunarCalendar/tests/useLunarCalendarRules.spec.ts +0 -184
  201. package/src/components/LunarCalendar/useLunarCalendarRules.ts +0 -96
  202. package/src/components/PhoneField/tests/types.d.ts +0 -19
@@ -0,0 +1,219 @@
1
+ import { Meta } from '@storybook/blocks';
2
+ import '../styles/shared.css';
3
+
4
+ <Meta title="Design Tokens/Couleurs/Correspondances couleurs" />
5
+
6
+ <div className="header">
7
+ <h1>Correspondances couleurs</h1>
8
+ <p>Aide à la migration&nbsp;: correspondance entre les anciens tokens sémantiques et les nouveaux tokens unifiés.</p>
9
+ </div>
10
+
11
+ Ces correspondances sont **vérifiées contre le code dans les trois thèmes** (cnam, pa, amelipro)&nbsp;: seules sont listées celles dont la **valeur est préservée à l'identique** dans chaque thème (ancien `*Semantic.ts` → nouveau `*LightTheme.ts`). Les nouveaux tokens sont exposés comme couleurs de thème (`var(--v-theme-<token>)`, classes `text-<token>`, `bg-<token>`…).
12
+
13
+ ## Background
14
+
15
+ <table>
16
+ <thead>
17
+ <tr>
18
+ <th>Ancien token</th>
19
+ <th>Nouveau token</th>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+ <tr>
24
+ <td><code>colors.background.main</code></td>
25
+ <td><code>background</code></td>
26
+ </tr>
27
+ <tr>
28
+ <td><code>colors.background.surface</code></td>
29
+ <td><code>surface</code></td>
30
+ </tr>
31
+ <tr>
32
+ <td><code>colors.background.mainAlt</code></td>
33
+ <td><code>backgroundVariant</code></td>
34
+ </tr>
35
+ <tr>
36
+ <td><code>colors.background.surfaceAlt</code></td>
37
+ <td><code>surfaceDim</code></td>
38
+ </tr>
39
+ <tr>
40
+ <td><code>colors.background.raised</code></td>
41
+ <td><code>surfaceBright</code></td>
42
+ </tr>
43
+ <tr>
44
+ <td><code>colors.background.accent</code></td>
45
+ <td><code>primary</code></td>
46
+ </tr>
47
+ <tr>
48
+ <td><code>colors.background.info</code></td>
49
+ <td><code>infoVariant</code></td>
50
+ </tr>
51
+ <tr>
52
+ <td><code>colors.background.infoContrasted</code></td>
53
+ <td><code>info</code></td>
54
+ </tr>
55
+ <tr>
56
+ <td><code>colors.background.successContrasted</code></td>
57
+ <td><code>success</code></td>
58
+ </tr>
59
+ <tr>
60
+ <td><code>colors.background.warning</code></td>
61
+ <td><code>warningVariant</code></td>
62
+ </tr>
63
+ <tr>
64
+ <td><code>colors.background.warningContrasted</code></td>
65
+ <td><code>warning</code></td>
66
+ </tr>
67
+ <tr>
68
+ <td><code>colors.background.errorContrasted</code></td>
69
+ <td><code>error</code></td>
70
+ </tr>
71
+ <tr>
72
+ <td><code>colors.background.disabled</code></td>
73
+ <td><code>disabled</code></td>
74
+ </tr>
75
+ </tbody>
76
+ </table>
77
+
78
+ ## Border
79
+
80
+ <table>
81
+ <thead>
82
+ <tr>
83
+ <th>Ancien token</th>
84
+ <th>Nouveau token</th>
85
+ </tr>
86
+ </thead>
87
+ <tbody>
88
+ <tr>
89
+ <td><code>colors.border.base</code></td>
90
+ <td><code>borderVariant</code></td>
91
+ </tr>
92
+ <tr>
93
+ <td><code>colors.border.subdued</code></td>
94
+ <td><code>disabled</code></td>
95
+ </tr>
96
+ <tr>
97
+ <td><code>colors.border.accentPrimary</code></td>
98
+ <td><code>primary</code></td>
99
+ </tr>
100
+ <tr>
101
+ <td><code>colors.border.accentPrimaryContrasted</code></td>
102
+ <td><code>primaryVariant</code></td>
103
+ </tr>
104
+ <tr>
105
+ <td><code>colors.border.accentPrimaryOnDark</code></td>
106
+ <td><code>borderBright</code></td>
107
+ </tr>
108
+ <tr>
109
+ <td><code>colors.border.info</code></td>
110
+ <td><code>info</code></td>
111
+ </tr>
112
+ <tr>
113
+ <td><code>colors.border.warning</code></td>
114
+ <td><code>onWarningVariant</code></td>
115
+ </tr>
116
+ <tr>
117
+ <td><code>colors.border.error</code></td>
118
+ <td><code>error</code></td>
119
+ </tr>
120
+ <tr>
121
+ <td><code>colors.border.disabled</code></td>
122
+ <td><code>disabled</code></td>
123
+ </tr>
124
+ </tbody>
125
+ </table>
126
+
127
+ ## Text
128
+
129
+ <table>
130
+ <thead>
131
+ <tr>
132
+ <th>Ancien token</th>
133
+ <th>Nouveau token</th>
134
+ </tr>
135
+ </thead>
136
+ <tbody>
137
+ <tr>
138
+ <td><code>colors.text.base</code></td>
139
+ <td><code>onSurface</code></td>
140
+ </tr>
141
+ <tr>
142
+ <td><code>colors.text.accentPrimary</code></td>
143
+ <td><code>primary</code></td>
144
+ </tr>
145
+ <tr>
146
+ <td><code>colors.text.accentPrimaryContrasted</code></td>
147
+ <td><code>primaryVariant</code></td>
148
+ </tr>
149
+ <tr>
150
+ <td><code>colors.text.subdued</code></td>
151
+ <td><code>onSurfaceVariant</code></td>
152
+ </tr>
153
+ <tr>
154
+ <td><code>colors.text.info</code></td>
155
+ <td><code>info</code></td>
156
+ </tr>
157
+ <tr>
158
+ <td><code>colors.text.warning</code></td>
159
+ <td><code>onWarningVariant</code></td>
160
+ </tr>
161
+ <tr>
162
+ <td><code>colors.text.error</code></td>
163
+ <td><code>error</code></td>
164
+ </tr>
165
+ <tr>
166
+ <td><code>colors.text.disabled</code></td>
167
+ <td><code>onDisabled</code></td>
168
+ </tr>
169
+ <tr>
170
+ <td><code>colors.text.onDark</code></td>
171
+ <td><code>onPrimary</code></td>
172
+ </tr>
173
+ </tbody>
174
+ </table>
175
+
176
+ ## Icon
177
+
178
+ <table>
179
+ <thead>
180
+ <tr>
181
+ <th>Ancien token</th>
182
+ <th>Nouveau token</th>
183
+ </tr>
184
+ </thead>
185
+ <tbody>
186
+ <tr>
187
+ <td><code>colors.icon.base</code></td>
188
+ <td><code>onSurface</code></td>
189
+ </tr>
190
+ <tr>
191
+ <td><code>colors.icon.subdued</code></td>
192
+ <td><code>onSurfaceVariant</code></td>
193
+ </tr>
194
+ <tr>
195
+ <td><code>colors.icon.accentPrimary</code></td>
196
+ <td><code>primary</code></td>
197
+ </tr>
198
+ <tr>
199
+ <td><code>colors.icon.accentPrimaryContrasted</code></td>
200
+ <td><code>primaryVariant</code></td>
201
+ </tr>
202
+ <tr>
203
+ <td><code>colors.icon.info</code></td>
204
+ <td><code>info</code></td>
205
+ </tr>
206
+ <tr>
207
+ <td><code>colors.icon.error</code></td>
208
+ <td><code>error</code></td>
209
+ </tr>
210
+ <tr>
211
+ <td><code>colors.icon.onDark</code></td>
212
+ <td><code>onPrimary</code></td>
213
+ </tr>
214
+ <tr>
215
+ <td><code>colors.icon.disabled</code></td>
216
+ <td><code>onDisabled</code></td>
217
+ </tr>
218
+ </tbody>
219
+ </table>
@@ -0,0 +1,235 @@
1
+ import { Meta, Source } from '@storybook/blocks';
2
+ import '../styles/shared.css';
3
+
4
+ <Meta title="Design Tokens/Utilisation" />
5
+
6
+ <div className="header">
7
+ <h1>Utilisation</h1>
8
+ <p>Comment consommer les design tokens (espacements, couleurs, arrondis, typographie) dans vos styles.</p>
9
+ </div>
10
+
11
+ Depuis la version **1.0.25**, les design tokens sont exposés sous forme de **variables CSS** (custom properties) `--v-…`, générées à partir du thème Vuetify de Synapse. Elles **s'adaptent automatiquement au thème actif** (cnam / pa / amelipro, clair / sombre).
12
+
13
+ > Cette page remplace l'ancien **export SCSS** de tokens (`$gap-2`, variables de couleur…) disponible jusqu'à la **1.0.24**. Voir la section [Migration](#migration-depuis-lexport-scss) en bas de page.
14
+
15
+ ## Espacements (`gap`)
16
+
17
+ Échelle `--v-gap-N`, où `N` est un multiple de 4&nbsp;px.
18
+
19
+ <table>
20
+ <thead>
21
+ <tr>
22
+ <th>Variable CSS</th>
23
+ <th>Valeur</th>
24
+ </tr>
25
+ </thead>
26
+ <tbody>
27
+ <tr>
28
+ <td><code>--v-gap-0</code></td>
29
+ <td>0</td>
30
+ </tr>
31
+ <tr>
32
+ <td><code>--v-gap-1</code></td>
33
+ <td>4px</td>
34
+ </tr>
35
+ <tr>
36
+ <td><code>--v-gap-2</code></td>
37
+ <td>8px</td>
38
+ </tr>
39
+ <tr>
40
+ <td><code>--v-gap-3</code></td>
41
+ <td>12px</td>
42
+ </tr>
43
+ <tr>
44
+ <td><code>--v-gap-4</code></td>
45
+ <td>16px</td>
46
+ </tr>
47
+ <tr>
48
+ <td><code>--v-gap-6</code></td>
49
+ <td>24px</td>
50
+ </tr>
51
+ <tr>
52
+ <td><code>--v-gap-8</code></td>
53
+ <td>32px</td>
54
+ </tr>
55
+ <tr>
56
+ <td>…</td>
57
+ <td>… (par pas de 4&nbsp;px)</td>
58
+ </tr>
59
+ </tbody>
60
+ </table>
61
+
62
+ <Source dark language="scss" code={`
63
+ .mon-bloc {
64
+ display: flex;
65
+ gap: var(--v-gap-2); /* 8px */
66
+ padding: var(--v-gap-4); /* 16px */
67
+ }
68
+ `} />
69
+
70
+ Catalogue complet&nbsp;: [Design Tokens → Espacements](/docs/design-tokens-espacements--docs).
71
+
72
+ ## Couleurs
73
+
74
+ Variables de thème `--v-theme-<nom>`. ⚠️ Si elles contiennent un **triplet RVB**, à envelopper dans `rgb()` / `rgba()`&nbsp;:
75
+
76
+ <Source dark language="scss" code={`
77
+ .element {
78
+ color: rgb(var(--v-theme-primary));
79
+ background-color: rgba(var(--v-theme-primary), 0.08); /* avec opacité */
80
+ border: 1px solid rgb(var(--v-theme-onSurface));
81
+ }
82
+ `} />
83
+
84
+ Catalogue complet&nbsp;: [Design Tokens → Couleurs](/docs/design-tokens-couleurs--docs).
85
+
86
+ ### Nommage des variables CSS — deux familles de `on-*`
87
+
88
+ Pour les couleurs de thème, deux familles de variables coexistent. **Une seule est l'API du Design System.**
89
+
90
+ <table>
91
+ <thead>
92
+ <tr>
93
+ <th>Famille</th>
94
+ <th>Forme</th>
95
+ <th>Origine</th>
96
+ <th>À utiliser&nbsp;?</th>
97
+ </tr>
98
+ </thead>
99
+ <tbody>
100
+ <tr>
101
+ <td>Tokens sémantiques du DS</td>
102
+ <td><code>--v-theme-onSurface</code>, <code>--v-theme-onSurfaceVariant</code>, <code>--v-theme-onPrimary</code>… (<strong>camelCase</strong>)</td>
103
+ <td>Définis par le Design System</td>
104
+ <td>✅ Oui</td>
105
+ </tr>
106
+ <tr>
107
+ <td>Contrastes auto-générés par Vuetify</td>
108
+ <td><code>--v-theme-on-surface</code>, <code>--v-theme-on-surfaceBright</code>… (<strong>kebab <code>on-</code></strong>)</td>
109
+ <td>Générés automatiquement par Vuetify (un <code>on-&lt;couleur&gt;</code> par couleur de thème)</td>
110
+ <td>❌ Non (couleurs techniques, hors API)</td>
111
+ </tr>
112
+ </tbody>
113
+ </table>
114
+
115
+ > **Règle simple&nbsp;:** si la variable a un **`on-` avec un tiret**, c'est une couleur technique générée par Vuetify&nbsp;: prenez plutôt la version **camelCase `onXxx`** du Design System.
116
+
117
+ Comme il n'y a plus de variables SCSS, une faute de nom ne génère **pas d'erreur de compilation** (la `var()` reste juste non résolue). En cas de doute sur le nom d'un token issu de Figma, reportez-vous à [Correspondances couleurs](/docs/design-tokens-couleurs-correspondances-couleurs--docs).
118
+
119
+ ## Arrondis (`radius`)
120
+
121
+ <table>
122
+ <thead>
123
+ <tr>
124
+ <th>Variable CSS</th>
125
+ <th>Nom</th>
126
+ <th>Valeur (thème cnam)</th>
127
+ </tr>
128
+ </thead>
129
+ <tbody>
130
+ <tr>
131
+ <td><code>--v-radius-rounded0</code></td>
132
+ <td>rounded-0</td>
133
+ <td>0</td>
134
+ </tr>
135
+ <tr>
136
+ <td><code>--v-radius-rounded</code></td>
137
+ <td>rounded</td>
138
+ <td>4px</td>
139
+ </tr>
140
+ <tr>
141
+ <td><code>--v-radius-roundedLg</code></td>
142
+ <td>rounded-lg</td>
143
+ <td>8px</td>
144
+ </tr>
145
+ <tr>
146
+ <td><code>--v-radius-roundedPill</code></td>
147
+ <td>rounded-pill</td>
148
+ <td>64px</td>
149
+ </tr>
150
+ </tbody>
151
+ </table>
152
+
153
+ Les valeurs varient selon le thème (par ex. AmeliPro&nbsp;: `rounded` = 12px, `roundedLg` = 24px).
154
+
155
+ <Source dark language="scss" code={`
156
+ .card {
157
+ border-radius: var(--v-radius-roundedLg); /* 8px en thème cnam */
158
+ }
159
+ `} />
160
+
161
+ Catalogue complet&nbsp;: [Design Tokens → Arrondis](/docs/design-tokens-arrondis--docs).
162
+
163
+ ## Typographie
164
+
165
+ `font-family: var(--v-font-family)` et les tailles `--v-fontSize-…` (`titres`, `titresAlternatifs`, `corpsDeTexte`, `liensEtLibelles`…)&nbsp;:
166
+
167
+ <Source dark language="scss" code={`
168
+ .titre {
169
+ font-family: var(--v-font-family);
170
+ font-size: var(--v-fontSize-titres);
171
+ }
172
+ `} />
173
+
174
+ Catalogue complet&nbsp;: [Design Tokens → Styles typographiques](/docs/design-tokens-styles-typographiques--docs).
175
+
176
+ ## Classes utilitaires (templates)
177
+
178
+ Pour la plupart des cas, les **classes utilitaires** Vuetify suffisent et suivent les mêmes échelles&nbsp;:
179
+
180
+ - Espacements&nbsp;: `ga-2` (gap), `pa-4` (padding), `ma-2` (margin)…
181
+ - Couleurs&nbsp;: `text-primary`, `bg-primary`, `border-primary`…
182
+ - Arrondis&nbsp;: `rounded-0`, `rounded`, `rounded-lg`, `rounded-pill`.
183
+
184
+ ## Migration depuis l'export SCSS
185
+
186
+ Jusqu'à la **1.0.24**, les tokens étaient disponibles via un **export SCSS** (`$gap-2`, …). Depuis la **1.0.25**, cet export est remplacé par les **variables CSS** ci-dessus&nbsp;:
187
+
188
+ <table>
189
+ <thead>
190
+ <tr>
191
+ <th>Avant (SCSS, ≤ 1.0.24)</th>
192
+ <th>Maintenant (CSS, ≥ 1.0.25)</th>
193
+ </tr>
194
+ </thead>
195
+ <tbody>
196
+ <tr>
197
+ <td><code>$gap-2</code></td>
198
+ <td><code>var(--v-gap-2)</code></td>
199
+ </tr>
200
+ <tr>
201
+ <td>couleur primaire</td>
202
+ <td><code>rgb(var(--v-theme-primary))</code></td>
203
+ </tr>
204
+ <tr>
205
+ <td><code>$rounded-lg</code></td>
206
+ <td><code>var(--v-radius-roundedLg)</code></td>
207
+ </tr>
208
+ <tr>
209
+ <td>taille de texte</td>
210
+ <td><code>var(--v-fontSize-…)</code></td>
211
+ </tr>
212
+ </tbody>
213
+ </table>
214
+
215
+ **Pourquoi ce changement&nbsp;?** Les variables CSS sont résolues au **runtime** et s'adaptent au thème actif, là où l'export SCSS produisait des valeurs **figées à la compilation**.
216
+
217
+ ### Shim de compatibilité (optionnel)
218
+
219
+ Pour faciliter la migration d'un projet qui consommait encore l'ancien export SCSS, un **partial SCSS optionnel** ré-expose les anciennes variables (sous leurs anciens noms) vers les variables CSS. Sont couverts&nbsp;: **espacements** (`$gap-N`, `$padding-N`, `$spacing-*`), **arrondis** (`$radius-rounded-*`) et **typographie** (`$font-size-*`).
220
+
221
+ <Source dark language="scss" code={`
222
+ // Dans votre projet
223
+ @use '@cnamts/synapse/assets/compat/legacy-tokens' as *;
224
+
225
+ .box {
226
+ gap: $gap-2; // -> var(--v-gap-2)
227
+ padding: $padding-4; // -> var(--v-padding-4)
228
+ border-radius: $radius-rounded-lg; // -> var(--v-radius-roundedLg)
229
+ font-size: $font-size-title; // -> var(--v-fontSize-titres)
230
+ }
231
+ `} />
232
+
233
+ > ⚠️ Ces variables contiennent une `var(--…)` résolue au **runtime**&nbsp;: elles conviennent pour des affectations directes (`gap`, `padding`, `margin`, `border-radius`, `font-size`…) mais **pas** pour des opérations SCSS *compile-time* (`calc` Sass, fonctions de couleur…). C'est une aide à la transition&nbsp;: à terme, utilisez directement les variables CSS.
234
+
235
+ Les **couleurs** ne sont pas ré-exposées (palette > 100 valeurs, et triplet RVB)&nbsp;: utilisez directement `rgb(var(--v-theme-<nom>))` (voir la section [Couleurs](#couleurs)).