@cnamts/synapse 1.0.24 → 1.0.25

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 (367) hide show
  1. package/README.md +27 -5
  2. package/dist/{AutocompleteFilter-BWLR3U7W.js → AutocompleteFilter-D7qBuCAP.js} +1 -1
  3. package/dist/{AutocompleteFilter-D9jzRzAL.cjs → AutocompleteFilter-Df9i5mAl.cjs} +1 -1
  4. package/dist/{DateFilter-DTUl8hb1.cjs → DateFilter-BJD6FMev.cjs} +1 -1
  5. package/dist/{DateFilter-BpwFexzi.js → DateFilter-BitMWrMU.js} +1 -1
  6. package/dist/{NumberFilter-Bz_NTdX9.js → NumberFilter-BTLUxw0a.js} +1 -1
  7. package/dist/{NumberFilter-MAEojdk0.cjs → NumberFilter-DGCzCXzI.cjs} +1 -1
  8. package/dist/{PeriodFilter-DX_wy9g-.js → PeriodFilter-B5rUIPAC.js} +1 -1
  9. package/dist/{PeriodFilter-CC4WgIhl.cjs → PeriodFilter-DO_ecTZW.cjs} +1 -1
  10. package/dist/{SelectFilter-BR3fvl-a.cjs → SelectFilter-CGwcKWLm.cjs} +1 -1
  11. package/dist/{SelectFilter-xqiPtPgX.js → SelectFilter-l4QnRcuk.js} +2 -2
  12. package/dist/{TextFilter-CCfYFl5F.cjs → TextFilter-B8nf7xoK.cjs} +1 -1
  13. package/dist/{TextFilter-BBl3JFqK.js → TextFilter-C9hj6Qrp.js} +1 -1
  14. package/dist/apLightTheme-CEK4iY3f.cjs +1 -0
  15. package/dist/{apLightTheme-D1P4jcD0.js → apLightTheme-DnIM24Lv.js} +441 -722
  16. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +10 -6
  17. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +3 -0
  18. package/dist/components/Customs/SyTabs/SyTabs.d.ts +13 -11
  19. package/dist/components/Customs/SyTextField/SyTextField.d.ts +4 -4
  20. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +4 -24
  21. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +2 -12
  22. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +1 -6
  23. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +1 -0
  24. package/dist/components/FileList/FileList.d.ts +6 -0
  25. package/dist/components/FilterSideBar/FilterSideBar.d.ts +2 -0
  26. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +13 -13
  27. package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +3 -3
  28. package/dist/components/MonthPicker/MonthPicker.d.ts +1 -6
  29. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +1 -6
  30. package/dist/components/NirField/NirField.d.ts +4 -16
  31. package/dist/components/PeriodField/PeriodField.d.ts +8 -48
  32. package/dist/components/PhoneField/PhoneField.d.ts +1 -6
  33. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +1 -0
  34. package/dist/components/Tables/SyTable/SyTable.d.ts +1 -0
  35. package/dist/components/Tables/common/SyTablePagination.d.ts +2 -0
  36. package/dist/components/Tables/common/TableHeader.d.ts +5 -0
  37. package/dist/components/Tables/common/locales.d.ts +3 -0
  38. package/dist/components/Tables/common/types.d.ts +2 -0
  39. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +1 -0
  40. package/dist/composables/unifyValidation/documentationValidationProps.d.ts +230 -0
  41. package/dist/composables/validation/useValidation.d.ts +5 -1
  42. package/dist/design-system-v3.js +2 -2
  43. package/dist/design-system-v3.umd.cjs +1 -1
  44. package/dist/designTokens/tokens/amelipro/apColors.d.ts +10 -10
  45. package/dist/designTokens/tokens/amelipro/apColors2026.d.ts +1 -2
  46. package/dist/designTokens/tokens/amelipro/apContextual.d.ts +44 -0
  47. package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +1 -1
  48. package/dist/designTokens/tokens/baseColors.d.ts +127 -0
  49. package/dist/designTokens/tokens/baseContextualTokens.d.ts +50 -0
  50. package/dist/designTokens/tokens/cnam/cnamColors.d.ts +10 -10
  51. package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +1 -1
  52. package/dist/designTokens/tokens/pa/paColors.d.ts +1 -166
  53. package/dist/designTokens/tokens/pa/paSemantic.d.ts +1 -1
  54. package/dist/designTokens/utils/buildColorClassMap.d.ts +12 -0
  55. package/dist/designTokens/utils/createFlattenTheme.d.ts +1 -3
  56. package/dist/designTokens/utils/index.d.ts +2 -2
  57. package/dist/main-ByDPHpae.cjs +1067 -0
  58. package/dist/main-Cpx8Co6H.js +38869 -0
  59. package/dist/synapse.css +1 -1
  60. package/dist/utils/functions/classToHex.d.ts +1 -1
  61. package/dist/utils/functions/createHexResolver.d.ts +16 -0
  62. package/dist/vuetifyConfig.js +113 -152
  63. package/dist/vuetifyConfig.umd.cjs +1 -1
  64. package/package.json +29 -18
  65. package/src/assets/amelipro/apTokens2026.scss +5 -5
  66. package/src/assets/overrides/_breakpoints.scss +25 -0
  67. package/src/assets/overrides/_btns.scss +0 -2
  68. package/src/assets/overrides/_forms.scss +1 -3
  69. package/src/assets/overrides/_icons.scss +7 -11
  70. package/src/assets/overrides/_otp.scss +41 -0
  71. package/src/assets/overrides/_tables.scss +11 -20
  72. package/src/assets/overrides/_tooltips.scss +17 -7
  73. package/src/assets/overrides/_typography.scss +35 -37
  74. package/src/assets/overrides/_utilities.scss +43 -47
  75. package/src/assets/themes.scss +1 -0
  76. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +20 -20
  77. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +12 -14
  78. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +4 -6
  79. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.vue +5 -5
  80. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +4 -6
  81. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +4 -6
  82. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.vue +4 -6
  83. package/src/components/Amelipro/AmeliproBreadcrumb/AmeliproBreadcrumb.vue +1 -3
  84. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.vue +4 -6
  85. package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.vue +2 -2
  86. package/src/components/Amelipro/AmeliproCard/AmeliproCard.vue +31 -31
  87. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +5 -7
  88. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +13 -15
  89. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +23 -23
  90. package/src/components/Amelipro/AmeliproChips/AmeliproChips.vue +1 -3
  91. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +17 -12
  92. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +2 -2
  93. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.vue +4 -6
  94. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +13 -13
  95. package/src/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.vue +4 -2
  96. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +4 -4
  97. package/src/components/Amelipro/AmeliproDialog/AmeliproDialog.vue +5 -7
  98. package/src/components/Amelipro/AmeliproDisclosure/AmeliproDisclosure.vue +1 -3
  99. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -4
  100. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +4 -6
  101. package/src/components/Amelipro/AmeliproFilters/AmeliproFilters.vue +13 -13
  102. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -5
  103. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +1 -3
  104. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +2 -4
  105. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.vue +1 -3
  106. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue +20 -16
  107. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +1 -1
  108. package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.vue +2 -4
  109. package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.vue +5 -7
  110. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +6 -8
  111. package/src/components/Amelipro/AmeliproMailTile/AmeliproMailTile.vue +14 -14
  112. package/src/components/Amelipro/AmeliproMenu/AmeliproMenu.vue +11 -13
  113. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenu.vue +2 -4
  114. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingLayout.vue +8 -8
  115. package/src/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.vue +40 -40
  116. package/src/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.vue +27 -27
  117. package/src/components/Amelipro/AmeliproOnboarding/AmeliproOnboarding.vue +3 -5
  118. package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.vue +2 -4
  119. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.vue +2 -4
  120. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.vue +3 -5
  121. package/src/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.vue +1 -3
  122. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +2 -4
  123. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.vue +4 -4
  124. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +1 -3
  125. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +3 -5
  126. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +3 -5
  127. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +23 -23
  128. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +4 -6
  129. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +12 -22
  130. package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.vue +10 -12
  131. package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +17 -17
  132. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +8 -10
  133. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/AmeliproTabBtn.vue +6 -8
  134. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +4 -4
  135. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +4 -6
  136. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +7 -9
  137. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +3 -5
  138. package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.vue +0 -2
  139. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +6 -6
  140. package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +2 -2
  141. package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +4 -4
  142. package/src/components/Amelipro/StructureMenu/StructureItem/StructureItem.vue +4 -6
  143. package/src/components/Amelipro/StructureMenu/StructureMenu.vue +2 -2
  144. package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +2 -2
  145. package/src/components/Amelipro/UserMenu/UserMenu.vue +1 -3
  146. package/src/components/BackBtn/tests/BackBtn.visual.cy.ts +43 -0
  147. package/src/components/BackBtn/tests/__snapshots__/back-btn-custom-bg.snap.png +0 -0
  148. package/src/components/BackBtn/tests/__snapshots__/back-btn-dark-mode.snap.png +0 -0
  149. package/src/components/BackBtn/tests/__snapshots__/back-btn-default.snap.png +0 -0
  150. package/src/components/BackBtn/tests/__snapshots__/back-btn-no-icon.snap.png +0 -0
  151. package/src/components/Captcha/Captcha.vue +1 -3
  152. package/src/components/ChipList/ChipList.vue +14 -16
  153. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +0 -2
  154. package/src/components/CopyBtn/CopyBtn.vue +1 -3
  155. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +17 -17
  156. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +31 -0
  157. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +66 -0
  158. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +7 -3
  159. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +18 -0
  160. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +66 -0
  161. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.vue +4 -6
  162. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +1 -39
  163. package/src/components/Customs/Selects/SySelect/SySelect.vue +263 -63
  164. package/src/components/Customs/Selects/SySelect/accessibilite/Accessibility.mdx +199 -269
  165. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +35 -0
  166. package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +5 -0
  167. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +29 -0
  168. package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +18 -3
  169. package/src/components/Customs/SyPagination/SyPagination.vue +0 -2
  170. package/src/components/Customs/SyTabs/SyTabs.mdx +0 -58
  171. package/src/components/Customs/SyTabs/SyTabs.stories.ts +32 -33
  172. package/src/components/Customs/SyTabs/SyTabs.vue +87 -67
  173. package/src/components/Customs/SyTabs/accessibilite/Accessibility.mdx +83 -23
  174. package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +88 -0
  175. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +46 -1
  176. package/src/components/Customs/SyTextField/SyTextField.stories.ts +21 -41
  177. package/src/components/Customs/SyTextField/SyTextField.vue +4 -6
  178. package/src/components/DatePicker/CalendarMode/DatePicker.vue +12 -14
  179. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +20 -16
  180. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +23 -0
  181. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +8 -10
  182. package/src/components/DatePicker/composables/tests/useDatePickerState.spec.ts +53 -0
  183. package/src/components/DatePicker/composables/useDatePickerState.ts +24 -0
  184. package/src/components/DatePicker/composables/useDateTextField.ts +0 -1
  185. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +9 -8
  186. package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +1 -1
  187. package/src/components/DialogBox/DialogBox.vue +3 -5
  188. package/src/components/DialogBox/tests/DialogBox.visual.cy.ts +76 -0
  189. package/src/components/DialogBox/tests/__snapshots__/dialog-box-custom-texts.snap.png +0 -0
  190. package/src/components/DialogBox/tests/__snapshots__/dialog-box-default.snap.png +0 -0
  191. package/src/components/DialogBox/tests/__snapshots__/dialog-box-no-actions.snap.png +0 -0
  192. package/src/components/FileList/FileList.vue +9 -2
  193. package/src/components/FileList/UploadItem/UploadItem.vue +11 -13
  194. package/src/components/FileList/tests/FileList.spec.ts +47 -0
  195. package/src/components/FileUpload/FileUpload.vue +3 -5
  196. package/src/components/FileUpload/FileUploadContent.vue +3 -5
  197. package/src/components/FilterInline/FilterInline.vue +1 -3
  198. package/src/components/FilterSideBar/FilterSideBar.mdx +44 -1
  199. package/src/components/FilterSideBar/FilterSideBar.stories.ts +105 -1
  200. package/src/components/FilterSideBar/FilterSideBar.vue +7 -0
  201. package/src/components/FilterSideBar/tests/FilterSideBar.a11y.spec.ts +54 -1
  202. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +42 -0
  203. package/src/components/FooterBar/FooterBar.vue +9 -13
  204. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +1 -1
  205. package/src/components/HeaderBar/HeaderBar.vue +2 -3
  206. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +2 -3
  207. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +2 -3
  208. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +0 -1
  209. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +8 -9
  210. package/src/components/HeaderBar/HeaderBurgerMenu/menu.scss +0 -8
  211. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.visual.cy.ts +196 -0
  212. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/header-burger-menu-generated-submenu-open.snap.png +0 -0
  213. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/header-burger-menu-generated.snap.png +0 -0
  214. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +0 -1
  215. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +6 -7
  216. package/src/components/HeaderBar/tests/HeaderBar.visual.cy.ts +81 -0
  217. package/src/components/HeaderBar/tests/__snapshots__/header-bar-custom-width.snap.png +0 -0
  218. package/src/components/HeaderBar/tests/__snapshots__/header-bar-default.snap.png +0 -0
  219. package/src/components/HeaderBar/tests/__snapshots__/header-bar-no-sticky.snap.png +0 -0
  220. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-prepend.snap.png +0 -0
  221. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-side.snap.png +0 -0
  222. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-subtitle.snap.png +0 -0
  223. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +12 -3
  224. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +15 -8
  225. package/src/components/HeaderToolbar/HeaderToolbar.vue +6 -7
  226. package/src/components/LangBtn/LangBtn.vue +2 -4
  227. package/src/components/Logo/tests/Logo.visual.cy.ts +57 -0
  228. package/src/components/Logo/tests/__snapshots__/logo-avatar.snap.png +0 -0
  229. package/src/components/Logo/tests/__snapshots__/logo-dark.snap.png +0 -0
  230. package/src/components/Logo/tests/__snapshots__/logo-default.snap.png +0 -0
  231. package/src/components/Logo/tests/__snapshots__/logo-no-organism.snap.png +0 -0
  232. package/src/components/Logo/tests/__snapshots__/logo-no-signature.snap.png +0 -0
  233. package/src/components/Logo/tests/__snapshots__/logo-risque-pro.snap.png +0 -0
  234. package/src/components/LogoBrandSection/LogoBrandSection.vue +2 -2
  235. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +1 -1
  236. package/src/components/NirField/NirField.stories.ts +2 -2
  237. package/src/components/NirField/NirField.vue +3 -5
  238. package/src/components/NirField/accessibilite/Accessibility.mdx +100 -5
  239. package/src/components/NirField/tests/NirField.spec.ts +118 -0
  240. package/src/components/NirField/tests/useNirValidation.spec.ts +449 -0
  241. package/src/components/NirField/useNirValidation.ts +38 -32
  242. package/src/components/NotificationBar/Notification/Notification.vue +5 -7
  243. package/src/components/NotificationBar/NotificationBar.vue +1 -3
  244. package/src/components/PaginatedTable/PaginatedTable.vue +2 -3
  245. package/src/components/PaginatedTable/Pagination.vue +3 -5
  246. package/src/components/PasswordField/PasswordField.vue +8 -10
  247. package/src/components/PhoneField/PhoneField.vue +3 -3
  248. package/src/components/RangeField/RangeSlider/RangeSlider.vue +0 -2
  249. package/src/components/RangeField/RangeSlider/Tooltip/Tooltip.vue +1 -1
  250. package/src/components/RangeField/tests/RangeField.visual.cy.ts +65 -0
  251. package/src/components/RangeField/tests/__snapshots__/range-field-custom-bg.snap.png +0 -0
  252. package/src/components/RangeField/tests/__snapshots__/range-field-custom-range.snap.png +0 -0
  253. package/src/components/RangeField/tests/__snapshots__/range-field-default.snap.png +0 -0
  254. package/src/components/RangeField/tests/__snapshots__/range-field-step.snap.png +0 -0
  255. package/src/components/RangeField/tests/__snapshots__/range-field-with-label.snap.png +0 -0
  256. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +6 -8
  257. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +3 -5
  258. package/src/components/SearchListField/SearchListField.vue +0 -2
  259. package/src/components/SkipLink/SkipLink.vue +2 -4
  260. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +6 -6
  261. package/src/components/SubHeader/SubHeader.vue +1 -1
  262. package/src/components/SyAlert/SyAlert.vue +7 -9
  263. package/src/components/SyAlert/tests/SyAlert.visual.cy.ts +46 -0
  264. package/src/components/SyAlert/tests/__snapshots__/sy-alert-closable.snap.png +0 -0
  265. package/src/components/SyAlert/tests/__snapshots__/sy-alert-error.snap.png +0 -0
  266. package/src/components/SyAlert/tests/__snapshots__/sy-alert-info.snap.png +0 -0
  267. package/src/components/SyAlert/tests/__snapshots__/sy-alert-success.snap.png +0 -0
  268. package/src/components/SyAlert/tests/__snapshots__/sy-alert-variant-outlined.snap.png +0 -0
  269. package/src/components/SyAlert/tests/__snapshots__/sy-alert-variant-tonal.snap.png +0 -0
  270. package/src/components/SyAlert/tests/__snapshots__/sy-alert-warning.snap.png +0 -0
  271. package/src/components/SyBtnMenu/SyBtnMenu.vue +2 -4
  272. package/src/components/TableToolbar/TableToolbar.vue +6 -8
  273. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +166 -0
  274. package/src/components/Tables/SyServerTable/SyServerTable.vue +9 -7
  275. package/src/components/Tables/SyServerTable/tests/SyServerTable.a11y.spec.ts +23 -0
  276. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +268 -0
  277. package/src/components/Tables/SyTable/SyTable.stories.ts +104 -0
  278. package/src/components/Tables/SyTable/SyTable.vue +9 -7
  279. package/src/components/Tables/SyTable/tests/SyTable.a11y.spec.ts +22 -0
  280. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +274 -0
  281. package/src/components/Tables/common/SyTableFilter.vue +27 -2
  282. package/src/components/Tables/common/SyTablePagination.vue +142 -19
  283. package/src/components/Tables/common/TableHeader.vue +40 -3
  284. package/src/components/Tables/common/filters/SelectFilter.vue +1 -1
  285. package/src/components/Tables/common/locales.ts +3 -0
  286. package/src/components/Tables/common/tableStyles.scss +16 -19
  287. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +18 -0
  288. package/src/components/Tables/common/tests/TableHeader.spec.ts +39 -0
  289. package/src/components/Tables/common/types.ts +2 -0
  290. package/src/components/Tables/common/useTableHeaders.ts +49 -27
  291. package/src/components/UploadWorkflow/UploadWorkflow.vue +1 -0
  292. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +23 -0
  293. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +66 -0
  294. package/src/components/UploadWorkflow/useFileList.ts +3 -0
  295. package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -3
  296. package/src/composables/unifyValidation/documentationValidationProps.ts +235 -0
  297. package/src/composables/validation/useValidation.ts +17 -1
  298. package/src/composantsVuetify/VBreadcrumbs/VBreadcrumbs.mdx +28 -0
  299. package/src/composantsVuetify/VBreadcrumbs/v-breadcrumbs.stories.ts +108 -0
  300. package/src/composantsVuetify/VOtpInput/VOtpInput.mdx +39 -0
  301. package/src/composantsVuetify/VOtpInput/v-otp-input.stories.ts +56 -0
  302. package/src/composantsVuetify/VSkeletonLoader/VSkeletonLoader.mdx +42 -0
  303. package/src/composantsVuetify/VSkeletonLoader/v-skeleton-loader.stories.ts +77 -0
  304. package/src/composantsVuetify/VSwitch/VSwitch.mdx +47 -0
  305. package/src/composantsVuetify/VSwitch/v-switch.stories.ts +166 -0
  306. package/src/designTokens/tests/buildColorClassMap.spec.ts +31 -0
  307. package/src/designTokens/tests/generateScssTokens.spec.ts +12 -0
  308. package/src/designTokens/tests/themeUtils.spec.ts +53 -0
  309. package/src/designTokens/tokens/amelipro/apColors.ts +8 -130
  310. package/src/designTokens/tokens/amelipro/apColors2026.ts +3 -15
  311. package/src/designTokens/tokens/amelipro/apContextual.ts +55 -47
  312. package/src/designTokens/tokens/amelipro/apLightTheme.ts +1 -1
  313. package/src/designTokens/tokens/amelipro/apSemantic.ts +1 -1
  314. package/src/designTokens/tokens/baseColors.ts +129 -0
  315. package/src/designTokens/tokens/baseContextualTokens.ts +52 -0
  316. package/src/designTokens/tokens/cnam/cnamColors.ts +3 -125
  317. package/src/designTokens/tokens/cnam/cnamContextual.ts +4 -48
  318. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +1 -1
  319. package/src/designTokens/tokens/cnam/cnamSemantic.ts +1 -1
  320. package/src/designTokens/tokens/pa/paColors.ts +2 -166
  321. package/src/designTokens/tokens/pa/paContextual.ts +3 -48
  322. package/src/designTokens/tokens/pa/paLightTheme.ts +1 -1
  323. package/src/designTokens/tokens/pa/paSemantic.ts +2 -2
  324. package/src/designTokens/utils/buildColorClassMap.ts +34 -0
  325. package/src/designTokens/utils/convertSemanticsToken.ts +8 -11
  326. package/src/designTokens/utils/createFlattenTheme.ts +15 -7
  327. package/src/designTokens/utils/index.ts +2 -2
  328. package/src/stories/Accessibilite/AuditDesignSystem.mdx +0 -11
  329. package/src/stories/Accessibilite/DesignSystem/Avancement.mdx +433 -0
  330. package/src/stories/Accessibilite/DesignSystem/a11y-status.json +692 -0
  331. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +8 -1
  332. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +51 -10
  333. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +16 -9
  334. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +48 -58
  335. package/src/stories/Components/Components.stories.ts +40 -1
  336. package/src/stories/Demarrer/EnrichirLeDesignSystem.mdx +4 -9
  337. package/src/stories/Demarrer/EnrichirLeDesignSystem.stories.ts +28 -0
  338. package/src/stories/Demarrer/Releases.stories.ts +48 -5
  339. package/src/stories/DesignTokens/ColorDisplay.vue +6 -5
  340. package/src/stories/DesignTokens/ColorIntegrationExample.vue +2 -4
  341. package/src/stories/DesignTokens/colors.stories.ts +5 -6
  342. package/src/stories/GuideDuDev/CreateVuetifyInstance.mdx +95 -0
  343. package/src/stories/GuideDuDev/Theme.mdx +36 -26
  344. package/src/stories/GuideDuDev/moduleDeNotification.mdx +3 -2
  345. package/src/stories/styles/accessibility-guide.css +3 -3
  346. package/src/utils/functions/classToHex.ts +6 -34
  347. package/src/utils/functions/createHexResolver.ts +45 -0
  348. package/src/utils/functions/tests/classToHex.spec.ts +36 -0
  349. package/src/utils/functions/tests/convertToHex.spec.ts +31 -0
  350. package/src/utils/functions/tests/createHexResolver.spec.ts +66 -0
  351. package/src/utils/functions/tests/isCssColor.spec.ts +48 -0
  352. package/dist/apLightTheme-CFSRrjv2.cjs +0 -1
  353. package/dist/designTokens/utils/convertGaps.d.ts +0 -5
  354. package/dist/main-BtTqyn4z.js +0 -38648
  355. package/dist/main-C1e3eoxd.cjs +0 -1067
  356. package/src/assets/apTokens.scss +0 -343
  357. package/src/assets/overrides/_container.scss +0 -36
  358. package/src/assets/tokens.scss +0 -388
  359. package/src/designTokens/apColors.md +0 -66
  360. package/src/designTokens/cnamColors.md +0 -193
  361. package/src/designTokens/paColors.md +0 -66
  362. package/src/designTokens/tokens/json/contextual-tokens.json +0 -156
  363. package/src/designTokens/tokens/json/primitives.json +0 -209
  364. package/src/designTokens/tokens/json/semantic.json +0 -120
  365. package/src/designTokens/utils/convertGaps.ts +0 -11
  366. package/src/stories/Accessibilite/Avancement/Avancement.mdx +0 -533
  367. package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +0 -306
@@ -167,8 +167,6 @@
167
167
  </template>
168
168
 
169
169
  <style lang="scss" scoped>
170
- @use '@/assets/tokens';
171
-
172
170
  .sy-file-upload-wrapper {
173
171
  display: contents;
174
172
  }
@@ -176,14 +174,14 @@
176
174
  .sy-file-upload {
177
175
  cursor: pointer;
178
176
  position: relative;
179
- border: 1px dashed tokens.$colors-border-accent-primary;
180
- border-radius: tokens.$radius-rounded-lg;
177
+ border: 1px dashed rgb(var(--v-theme-borderAccentPrimary));
178
+ border-radius: var(--v-radius-roundedLg);
181
179
  transition: background 0.25s;
182
180
 
183
181
  &:hover,
184
182
  &:focus-within,
185
183
  &.dragover {
186
- background: tokens.$colors-background-surface-alt;
184
+ background: rgb(var(--v-theme-backgroundSurfaceAlt));
187
185
  }
188
186
 
189
187
  &.dark-mode {
@@ -88,8 +88,6 @@
88
88
  </template>
89
89
 
90
90
  <style lang="scss" scoped>
91
- @use '@/assets/tokens';
92
-
93
91
  .sy-file-upload-placeholder {
94
92
  display: flex;
95
93
  align-items: center;
@@ -98,14 +96,14 @@
98
96
 
99
97
  .sy-file-upload-caption {
100
98
  font-size: 0.875rem;
101
- color: tokens.$colors-text-subdued;
99
+ color: rgb(var(--v-theme-textSubdued));
102
100
  }
103
101
 
104
102
  .sy-file-upload-btn {
105
- border-radius: tokens.$radius-rounded;
103
+ border-radius: var(--v-radius-rounded);
106
104
  transition: background 0.25s;
107
105
  font-weight: 700 !important;
108
- font-size: tokens.$heading-3-font-size;
106
+ font-size: var(--v-fontSize-corpsDeTexte);
109
107
  padding: 10px 16px;
110
108
  }
111
109
  </style>
@@ -100,10 +100,8 @@
100
100
  </template>
101
101
 
102
102
  <style lang="scss" scoped>
103
- @use '@/assets/tokens';
104
-
105
103
  .v-badge :deep(.v-badge__badge) {
106
- color: tokens.$cyan-darken-40 !important;
104
+ color: rgb(var(--v-theme-cyan-darken40)) !important;
107
105
  background-color: white;
108
106
  }
109
107
 
@@ -1,4 +1,4 @@
1
- import { Controls, Canvas, Meta, Source } from '@storybook/blocks';
1
+ import { Controls, Canvas, Meta, Source, Description } from '@storybook/blocks';
2
2
  import * as FilterSideBarStories from './FilterSideBar.stories.ts';
3
3
 
4
4
  <Meta of={FilterSideBarStories} />
@@ -236,3 +236,46 @@ const professionList = [
236
236
  `
237
237
  }}
238
238
  />
239
+
240
+ ## Gestion du z-index
241
+
242
+ Le `FilterSideBar` utilise un `VNavigationDrawer` de Vuetify dont le z-index par défaut est **1000**.
243
+
244
+ Dans la plupart des cas cette valeur convient. Deux situations particulières nécessitent de la surcharger via la prop `zIndex` :
245
+
246
+ <table>
247
+ <thead>
248
+ <tr>
249
+ <th>Situation</th>
250
+ <th>Valeur recommandée</th>
251
+ <th>Exemple</th>
252
+ </tr>
253
+ </thead>
254
+ <tbody>
255
+ <tr>
256
+ <td>Le FilterSideBar s'affiche <strong>dans</strong> une modale ou une bottom sheet et doit rester visible</td>
257
+ <td>z-index de la modale + 1 (ex. <code>2401</code>)</td>
258
+ <td>Filtres dans un <code>VDialog</code> (z-index 2400)</td>
259
+ </tr>
260
+ <tr>
261
+ <td>Une modale de confirmation doit s'afficher <strong>par-dessus</strong> un FilterSideBar ouvert</td>
262
+ <td>Laisser le FilterSideBar à <code>1000</code> (défaut) et laisser la modale à <code>2400</code></td>
263
+ <td>Dialog de confirmation sur une page avec FilterSideBar</td>
264
+ </tr>
265
+ </tbody>
266
+ </table>
267
+
268
+ > **Préconisation** : ne surchargez `zIndex` que lorsque c'est strictement nécessaire. Une valeur arbitraire élevée (ex. `9999`) peut masquer des composants systèmes (tooltips, snackbars) et crée des effets de bord difficiles à diagnostiquer.
269
+
270
+ <Description of={FilterSideBarStories.ZIndex} />
271
+
272
+ <Canvas of={FilterSideBarStories.ZIndex} />
273
+
274
+ <Source dark code={`
275
+ <FilterSideBar
276
+ v-model="filters"
277
+ :z-index="2401"
278
+ >
279
+ <!-- filtres -->
280
+ </FilterSideBar>
281
+ `} />
@@ -1,7 +1,7 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import FilterSideBar from './FilterSideBar.vue'
3
3
  import { fn } from '@storybook/test'
4
- import { VDivider, VSelect } from 'vuetify/components'
4
+ import { VBtn, VDialog, VCard, VCardText, VCardActions, VDivider, VSelect } from 'vuetify/components'
5
5
  import PeriodField from '../PeriodField/PeriodField.vue'
6
6
  import SearchListField from '../SearchListField/SearchListField.vue'
7
7
  import { ref } from 'vue'
@@ -74,6 +74,21 @@ const meta = {
74
74
  },
75
75
  },
76
76
  },
77
+ 'zIndex': {
78
+ description: 'Surcharge le z-index du panneau. À utiliser uniquement lorsque le FilterSideBar doit s\'afficher par-dessus ou en-dessous d\'un composant en surimpression (modale, bottom sheet…). Voir la section <em>Gestion du z-index</em> ci-dessous pour les préconisations.',
79
+ control: {
80
+ type: 'number',
81
+ },
82
+ table: {
83
+ category: 'props',
84
+ type: {
85
+ summary: 'number',
86
+ },
87
+ defaultValue: {
88
+ summary: 'undefined',
89
+ },
90
+ },
91
+ },
77
92
  'onUpdate:modelValue': {
78
93
  description: 'Événement déclenché lors de la mise à jour des filtres',
79
94
  control: {
@@ -817,3 +832,92 @@ const professionList = [
817
832
  ],
818
833
  },
819
834
  }
835
+
836
+ export const ZIndex: Story = {
837
+ args: {
838
+ 'onUpdate:modelValue': fn(),
839
+ },
840
+ decorators: [
841
+ () => ({
842
+ template: `
843
+ <VApp style="height: 600px; overflow-y: hidden;">
844
+ <div class="pa-4">
845
+ <story />
846
+ </div>
847
+ </VApp>
848
+ `,
849
+ }),
850
+ ],
851
+ render: args => ({
852
+ components: { FilterSideBar, VBtn, VDialog, VCard, VCardText, VCardActions, VSelect, VDivider },
853
+ setup() {
854
+ const filters1 = ref([{ name: 'folder', title: 'Type de dossier' }])
855
+ const filters2 = ref([{ name: 'folder', title: 'Type de dossier' }])
856
+
857
+ const folderTypes = [
858
+ { title: 'AT', value: 'at' },
859
+ { title: 'MP', value: 'mp' },
860
+ { title: 'Autre', value: 'other' },
861
+ ]
862
+
863
+ const dialog1 = ref(false)
864
+ const dialog2 = ref(false)
865
+
866
+ return { args, filters1, filters2, folderTypes, dialog1, dialog2 }
867
+ },
868
+ template: `
869
+ <div>
870
+ <p class="text-subtitle-2 mb-2">Sans zIndex — la modale s'affiche par-dessus le panneau (comportement par défaut)</p>
871
+ <div class="d-flex align-center ga-4 mb-6">
872
+ <FilterSideBar v-bind="args" v-model="filters1">
873
+ <template #folder="{ props }">
874
+ <VSelect v-bind="props" :items="folderTypes" label="Type de dossier" multiple variant="outlined" return-object hide-details color="primary" />
875
+ </template>
876
+ </FilterSideBar>
877
+ <VBtn color="primary" variant="outlined" @click="dialog1 = true">
878
+ Ouvrir une modale de confirmation
879
+ </VBtn>
880
+ </div>
881
+ <VDialog v-model="dialog1" max-width="400">
882
+ <VCard>
883
+ <VCardText>Confirmez-vous la réinitialisation des filtres ?</VCardText>
884
+ <VCardActions class="justify-end">
885
+ <VBtn variant="text" @click="dialog1 = false">Annuler</VBtn>
886
+ <VBtn color="primary" variant="elevated" @click="dialog1 = false">Confirmer</VBtn>
887
+ </VCardActions>
888
+ </VCard>
889
+ </VDialog>
890
+
891
+ <VDivider class="mb-6" />
892
+
893
+ <p class="text-subtitle-2 mb-2">Avec zIndex="2401" — le panneau s'affiche par-dessus la modale</p>
894
+ <div class="d-flex align-center ga-4">
895
+ <FilterSideBar v-bind="args" v-model="filters2" :z-index="2401">
896
+ <template #folder="{ props }">
897
+ <VSelect v-bind="props" :items="folderTypes" label="Type de dossier" multiple variant="outlined" return-object hide-details color="primary" />
898
+ </template>
899
+ </FilterSideBar>
900
+ <VBtn color="primary" variant="outlined" @click="dialog2 = true">
901
+ Ouvrir une modale de confirmation
902
+ </VBtn>
903
+ </div>
904
+ <VDialog v-model="dialog2" max-width="400">
905
+ <VCard>
906
+ <VCardText>Confirmez-vous la réinitialisation des filtres ?</VCardText>
907
+ <VCardActions class="justify-end">
908
+ <VBtn variant="text" @click="dialog2 = false">Annuler</VBtn>
909
+ <VBtn color="primary" variant="elevated" @click="dialog2 = false">Confirmer</VBtn>
910
+ </VCardActions>
911
+ </VCard>
912
+ </VDialog>
913
+ </div>
914
+ `,
915
+ }),
916
+ parameters: {
917
+ docs: {
918
+ description: {
919
+ story: 'Deux exemples côte à côte : sans <code>zIndex</code>, la modale s\'affiche par-dessus le panneau (comportement par défaut) ; avec <code>zIndex: 2401</code>, le panneau passe au premier plan.',
920
+ },
921
+ },
922
+ },
923
+ }
@@ -13,10 +13,12 @@
13
13
  modelValue?: FilterProp
14
14
  modale?: boolean
15
15
  locales?: typeof defaultLocales
16
+ zIndex?: number
16
17
  }>(), {
17
18
  modelValue: () => [],
18
19
  modale: false,
19
20
  locales: () => defaultLocales,
21
+ zIndex: undefined,
20
22
  })
21
23
 
22
24
  const emits = defineEmits<{
@@ -42,6 +44,10 @@
42
44
  }, 0)
43
45
  })
44
46
 
47
+ const zIndexStyle = computed(() =>
48
+ props.zIndex != null ? { zIndex: props.zIndex } : undefined,
49
+ )
50
+
45
51
  const drawerRef = ref<VNavigationDrawer | null>(null)
46
52
  const drawerBtnRef = ref<VBtn | null>(null)
47
53
 
@@ -122,6 +128,7 @@
122
128
  :inert="drawer ? undefined : 'true'"
123
129
  :aria-modal="props.modale"
124
130
  :aria-label="locales.modaleLabel"
131
+ :style="zIndexStyle"
125
132
  @keydown.escape.prevent="drawer = false"
126
133
  >
127
134
  <form
@@ -1,4 +1,5 @@
1
1
  // @vitest-environment jsdom
2
+ /* eslint-disable vue/one-component-per-file */
2
3
 
3
4
  import { describe, it } from 'vitest'
4
5
  import { mount } from '@vue/test-utils'
@@ -42,7 +43,6 @@ describe('FilterSideBar – accessibility (axe)', () => {
42
43
  attachTo: document.body,
43
44
  })
44
45
 
45
- // Ouvrir le tiroir de filtres
46
46
  const toggleButton = wrapper.find('.sy-filters-side-bar .v-btn__content')
47
47
  if (toggleButton.exists()) {
48
48
  await toggleButton.trigger('click')
@@ -56,4 +56,57 @@ describe('FilterSideBar – accessibility (axe)', () => {
56
56
 
57
57
  wrapper.unmount()
58
58
  })
59
+
60
+ it('has no obvious axe violations in modal mode with drawer open', async () => {
61
+ const wrapper = mount(
62
+ defineComponent({
63
+ components: { VApp, FiltersSideBar: FilterSideBar },
64
+ data() {
65
+ return {
66
+ localModelValue: [{ name: 'name', title: 'Nom' }],
67
+ }
68
+ },
69
+ template: `
70
+ <VApp>
71
+ <FiltersSideBar v-model="localModelValue" :modale="true" />
72
+ </VApp>
73
+ `,
74
+ }),
75
+ {
76
+ global: {
77
+ stubs: { Teleport: true },
78
+ },
79
+ attachTo: document.body,
80
+ },
81
+ )
82
+
83
+ const toggleButton = wrapper.find('.sy-filters-side-bar .v-btn__content')
84
+ if (toggleButton.exists()) {
85
+ await toggleButton.trigger('click')
86
+ await wrapper.vm.$nextTick()
87
+ }
88
+
89
+ const results = await axe(wrapper.element as HTMLElement)
90
+ assertNoA11yViolations(results, 'FilterSideBar – modal mode, drawer open', {
91
+ ignoreRules: ['region'],
92
+ })
93
+
94
+ wrapper.unmount()
95
+ })
96
+
97
+ it('has no obvious axe violations with drawer closed', async () => {
98
+ const wrapper = mount(TestA11yComponent, {
99
+ global: {
100
+ stubs: { Teleport: true },
101
+ },
102
+ attachTo: document.body,
103
+ })
104
+
105
+ const results = await axe(wrapper.element as HTMLElement)
106
+ assertNoA11yViolations(results, 'FilterSideBar – drawer closed', {
107
+ ignoreRules: ['region'],
108
+ })
109
+
110
+ wrapper.unmount()
111
+ })
59
112
  })
@@ -328,4 +328,46 @@ describe('FilterSideBar', () => {
328
328
 
329
329
  expect(wrapper.emitted('update:modelValue')).toBeUndefined()
330
330
  })
331
+
332
+ it('applies zIndex as inline style on the navigation drawer when provided', () => {
333
+ const wrapper = mount(
334
+ defineComponent({
335
+ components: { VApp, FiltersSideBar: FilterSideBar },
336
+ template: `
337
+ <VApp>
338
+ <FiltersSideBar :model-value="[]" :z-index="2401" />
339
+ </VApp>
340
+ `,
341
+ }),
342
+ {
343
+ global: {
344
+ stubs: { Teleport: true },
345
+ },
346
+ },
347
+ )
348
+
349
+ const drawer = wrapper.find('.v-navigation-drawer')
350
+ expect(drawer.attributes('style')).toContain('z-index: 2401')
351
+ })
352
+
353
+ it('does not apply zIndex style on the navigation drawer when not provided', () => {
354
+ const wrapper = mount(
355
+ defineComponent({
356
+ components: { VApp, FiltersSideBar: FilterSideBar },
357
+ template: `
358
+ <VApp>
359
+ <FiltersSideBar :model-value="[]" />
360
+ </VApp>
361
+ `,
362
+ }),
363
+ {
364
+ global: {
365
+ stubs: { Teleport: true },
366
+ },
367
+ },
368
+ )
369
+
370
+ const drawer = wrapper.find('.v-navigation-drawer')
371
+ expect(drawer.attributes('style') ?? '').not.toContain('z-index: 2401')
372
+ })
331
373
  })
@@ -290,10 +290,6 @@
290
290
  </template>
291
291
 
292
292
  <style lang="scss" scoped>
293
- @use '@/assets/tokens';
294
-
295
- $white: #fff;
296
-
297
293
  a {
298
294
  cursor: pointer;
299
295
  }
@@ -334,7 +330,7 @@ a {
334
330
  }
335
331
 
336
332
  a.v-btn {
337
- border-radius: var(tokens.$radius-rounded) !important;
333
+ border-radius: var(--v-radius-rounded) !important;
338
334
  }
339
335
 
340
336
  a.v-btn:hover {
@@ -343,7 +339,7 @@ a {
343
339
  }
344
340
 
345
341
  .back-to-top {
346
- border-radius: var(tokens.$radius-rounded) !important;
342
+ border-radius: var(--v-radius-rounded) !important;
347
343
  }
348
344
 
349
345
  button.v-btn:hover {
@@ -367,32 +363,32 @@ a {
367
363
  .vd-footer-bar.v-theme--dark :deep() {
368
364
  .vd-footer-bar-links li,
369
365
  .vd-footer-bar-links a {
370
- color: $white;
366
+ color: rgb(var(--v-theme-textOnDark));
371
367
 
372
368
  &.version {
373
- color: tokens.$neutral-white-alpha;
369
+ color: rgb(var(--v-theme-textSubduedOnDark));
374
370
  }
375
371
  }
376
372
 
377
373
  p,
378
374
  .text--primary {
379
- color: rgba($white, 0.87);
375
+ color: rgba(var(--v-theme-textOnDark), 0.87);
380
376
  }
381
377
 
382
378
  .text--secondary {
383
- color: rgba($white, 0.6);
379
+ color: rgba(var(--v-theme-textOnDark), 0.6);
384
380
  }
385
381
 
386
382
  a.text--primary {
387
- color: $white;
383
+ color: rgb(var(--v-theme-textOnDark));
388
384
  }
389
385
 
390
386
  .v-divider {
391
- border-color: rgba(tokens.$colors-border-subdued, 1);
387
+ border-color: rgba(var(--v-theme-borderSubdued), 1);
392
388
  }
393
389
 
394
390
  svg {
395
- fill: $white;
391
+ fill: rgb(var(--v-theme-textOnDark));
396
392
  }
397
393
  }
398
394
 
@@ -123,7 +123,7 @@
123
123
 
124
124
  .sy-france-connect-btn--dark {
125
125
  .sy-france-connect-link {
126
- color: #fff;
126
+ color: rgb(var(--v-theme-textOnDark));
127
127
  background-color: #8585f6;
128
128
 
129
129
  &:hover {
@@ -240,11 +240,10 @@
240
240
  </template>
241
241
 
242
242
  <style lang="scss" scoped>
243
- @use '@/assets/tokens.scss' as *;
244
243
  @use './consts' as *;
245
244
 
246
245
  .global-container {
247
- background-color: $neutral-white;
246
+ background-color: rgb(var(--v-theme-surface));
248
247
  }
249
248
 
250
249
  .header {
@@ -263,7 +262,7 @@
263
262
  height: $header-height;
264
263
  max-width: v-bind(width);
265
264
  margin: 0 auto;
266
- border-bottom: solid 1px $blue-lighten-80;
265
+ border-bottom: solid 1px rgb(var(--v-theme-blue-lighten80));
267
266
  }
268
267
 
269
268
  .header-side {
@@ -131,7 +131,6 @@
131
131
  </template>
132
132
 
133
133
  <style lang="scss" scoped>
134
- @use '@/assets/tokens.scss' as *;
135
134
  @use '../consts' as *;
136
135
 
137
136
  .overlay {
@@ -144,7 +143,7 @@
144
143
 
145
144
  .menu-wrapper {
146
145
  height: 100dvh;
147
- background-color: $neutral-white;
146
+ background-color: rgb(var(--v-theme-surface));
148
147
  display: flex;
149
148
  flex-direction: column;
150
149
  }
@@ -172,7 +171,7 @@
172
171
  }
173
172
 
174
173
  .header-menu {
175
- background-color: $neutral-white;
174
+ background-color: rgb(var(--v-theme-surface));
176
175
  overflow: hidden auto;
177
176
  height: 100%;
178
177
  }
@@ -20,7 +20,6 @@
20
20
  </template>
21
21
 
22
22
  <style lang="scss" scoped>
23
- @use '@/assets/tokens.scss' as *;
24
23
  @use '../menu';
25
24
 
26
25
  .header-menu-item {
@@ -56,10 +55,10 @@
56
55
 
57
56
  .header-menu-item:hover {
58
57
  background-color: rgb(var(--v-theme-primary));
59
- color: $neutral-white;
58
+ color: rgb(var(--v-theme-textOnDark));
60
59
 
61
60
  > :deep(a > *) {
62
- color: $neutral-white !important;
61
+ color: rgb(var(--v-theme-textOnDark)) !important;
63
62
  }
64
63
  }
65
64
  </style>
@@ -53,7 +53,6 @@
53
53
  </template>
54
54
 
55
55
  <style lang="scss" scoped>
56
- @use '@/assets/tokens.scss' as *;
57
56
  @use '../../consts.scss' as menu;
58
57
 
59
58
  .header-menu-section {
@@ -93,7 +93,6 @@
93
93
  </template>
94
94
 
95
95
  <style lang="scss" scoped>
96
- @use '@/assets/tokens.scss' as *;
97
96
  @use '../../consts' as *;
98
97
  @use '../menu';
99
98
 
@@ -112,11 +111,11 @@
112
111
 
113
112
  &:hover {
114
113
  background-color: rgb(var(--v-theme-primary));
115
- color: $neutral-white;
114
+ color: rgb(var(--v-theme-textOnDark));
116
115
  text-decoration: underline;
117
116
 
118
117
  > :deep(*) {
119
- color: $neutral-white !important;
118
+ color: rgb(var(--v-theme-textOnDark)) !important;
120
119
  }
121
120
  }
122
121
 
@@ -140,7 +139,7 @@
140
139
  width: 100%;
141
140
  height: 100%;
142
141
  overflow-y: auto;
143
- background-color: $neutral-white;
142
+ background-color: rgb(var(--v-theme-surface));
144
143
  padding-top: 40px;
145
144
  z-index: 10;
146
145
  }
@@ -153,14 +152,14 @@
153
152
  .sub-menu--open > .sub-menu-btn {
154
153
  padding: 0 16px 8px 40px;
155
154
  border-bottom: 1px solid $menu-border-color;
156
- color: #000;
155
+ color: rgb(var(--v-theme-textBase));
157
156
  background-color: transparent;
158
157
 
159
158
  &:hover {
160
- color: #000;
159
+ color: rgb(var(--v-theme-textBase));
161
160
 
162
161
  > :deep(*) {
163
- color: #000 !important;
162
+ color: rgb(var(--v-theme-textBase)) !important;
164
163
  }
165
164
  }
166
165
  }
@@ -178,11 +177,11 @@
178
177
 
179
178
  .sub-menu--open > .sub-menu-btn {
180
179
  background-color: rgb(var(--v-theme-primary));
181
- color: $neutral-white;
180
+ color: rgb(var(--v-theme-textOnDark));
182
181
  transition: color 0.15s linear, background-color 0.15s linear;
183
182
 
184
183
  > :deep(*) {
185
- color: $neutral-white !important;
184
+ color: rgb(var(--v-theme-textOnDark)) !important;
186
185
  }
187
186
  }
188
187
 
@@ -1,11 +1,3 @@
1
- @use 'sass:color';
2
- @use '@/assets/tokens';
3
-
4
- $red: color.channel(tokens.$primary-base, 'red');
5
- $green: color.channel(tokens.$primary-base, 'green');
6
- $blue: color.channel(tokens.$primary-base, 'blue');
7
- $primary: $red, $green, $blue;
8
-
9
1
  @mixin item-focused() {
10
2
  position: relative;
11
3