@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
@@ -0,0 +1,166 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import { VSwitch } from 'vuetify/components'
3
+
4
+ const meta: Meta<typeof VSwitch> = {
5
+ title: 'Composants/Composants Vuetify/VSwitch',
6
+ tags: ['!dev'],
7
+ component: VSwitch,
8
+ parameters: {
9
+ docs: {
10
+ source: {
11
+ transform: (src: string) =>
12
+ src.replace(/VSwitch/g, 'v-switch'),
13
+ },
14
+ },
15
+ },
16
+ argTypes: {
17
+ color: {
18
+ control: { type: 'text' },
19
+ description: 'Couleur du switch',
20
+ },
21
+ disabled: {
22
+ control: { type: 'boolean' },
23
+ description: 'Désactive le switch',
24
+ },
25
+ label: {
26
+ control: { type: 'text' },
27
+ description: 'Label du switch',
28
+ },
29
+ inset: {
30
+ control: { type: 'boolean' },
31
+ description: 'Style inset du switch',
32
+ },
33
+ hideDetails: {
34
+ control: { type: 'boolean' },
35
+ description: 'Masque les détails (messages d\'erreur, etc.)',
36
+ },
37
+ },
38
+ }
39
+
40
+ export default meta
41
+
42
+ type Story = StoryObj<typeof VSwitch>
43
+
44
+ // Primary
45
+
46
+ export const PrimaryOn: Story = {
47
+ args: {
48
+ modelValue: true,
49
+ label: 'ON',
50
+ color: 'primary',
51
+ hideDetails: true,
52
+ },
53
+ }
54
+
55
+ export const PrimaryOff: Story = {
56
+ args: {
57
+ modelValue: false,
58
+ label: 'OFF',
59
+ color: 'primary',
60
+ hideDetails: true,
61
+ },
62
+ }
63
+
64
+ export const PrimaryInsetOn: Story = {
65
+ args: {
66
+ modelValue: true,
67
+ label: 'ON (inset)',
68
+ color: 'primary',
69
+ inset: true,
70
+ hideDetails: true,
71
+ },
72
+ }
73
+
74
+ export const PrimaryInsetOff: Story = {
75
+ args: {
76
+ modelValue: false,
77
+ label: 'OFF (inset)',
78
+ color: 'primary',
79
+ inset: true,
80
+ hideDetails: true,
81
+ },
82
+ }
83
+
84
+ // Primary – Désactivé
85
+
86
+ export const PrimaryOnDisabled: Story = {
87
+ args: {
88
+ modelValue: true,
89
+ label: 'ON – désactivé',
90
+ color: 'primary',
91
+ disabled: true,
92
+ hideDetails: true,
93
+ },
94
+ }
95
+
96
+ export const PrimaryOffDisabled: Story = {
97
+ args: {
98
+ modelValue: false,
99
+ label: 'OFF – désactivé',
100
+ color: 'primary',
101
+ disabled: true,
102
+ hideDetails: true,
103
+ },
104
+ }
105
+
106
+ // Secondary
107
+
108
+ export const SecondaryOn: Story = {
109
+ args: {
110
+ modelValue: true,
111
+ label: 'ON',
112
+ color: 'secondary',
113
+ hideDetails: true,
114
+ },
115
+ }
116
+
117
+ export const SecondaryOff: Story = {
118
+ args: {
119
+ modelValue: false,
120
+ label: 'OFF',
121
+ color: 'secondary',
122
+ hideDetails: true,
123
+ },
124
+ }
125
+
126
+ export const SecondaryInsetOn: Story = {
127
+ args: {
128
+ modelValue: true,
129
+ label: 'ON (inset)',
130
+ color: 'secondary',
131
+ inset: true,
132
+ hideDetails: true,
133
+ },
134
+ }
135
+
136
+ export const SecondaryInsetOff: Story = {
137
+ args: {
138
+ modelValue: false,
139
+ label: 'OFF (inset)',
140
+ color: 'secondary',
141
+ inset: true,
142
+ hideDetails: true,
143
+ },
144
+ }
145
+
146
+ // Secondary – Désactivé
147
+
148
+ export const SecondaryOnDisabled: Story = {
149
+ args: {
150
+ modelValue: true,
151
+ label: 'ON – désactivé',
152
+ color: 'secondary',
153
+ disabled: true,
154
+ hideDetails: true,
155
+ },
156
+ }
157
+
158
+ export const SecondaryOffDisabled: Story = {
159
+ args: {
160
+ modelValue: false,
161
+ label: 'OFF – désactivé',
162
+ color: 'secondary',
163
+ disabled: true,
164
+ hideDetails: true,
165
+ },
166
+ }
@@ -0,0 +1,31 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { buildColorClassMap } from '../utils/buildColorClassMap'
3
+ import { apColorClasses, apColorsTokens2026 } from '../tokens/amelipro/apColors2026'
4
+
5
+ describe('buildColorClassMap', () => {
6
+ it('maps base color to kebab-case class without -base suffix', () => {
7
+ const tokens = { apBlue: { base: '#0c419a' } }
8
+ const map = buildColorClassMap(tokens)
9
+ expect(map['ap-blue']).toBe('#0c419a')
10
+ expect(map['ap-blue-base']).toBeUndefined()
11
+ })
12
+
13
+ it('maps color with numeric variant to dash-separated class', () => {
14
+ const tokens = { apBlue: { darken1: '#00749c', lighten2: '#ccedf9' } }
15
+ const map = buildColorClassMap(tokens)
16
+ expect(map['ap-blue-darken-1']).toBe('#00749c')
17
+ expect(map['ap-blue-lighten-2']).toBe('#ccedf9')
18
+ })
19
+
20
+ it('apColorClasses matches buildColorClassMap output for apColorsTokens2026', () => {
21
+ const generated = buildColorClassMap(apColorsTokens2026)
22
+ expect(apColorClasses).toEqual(generated)
23
+ })
24
+
25
+ it('includes all colors from apColorsTokens2026', () => {
26
+ expect(apColorClasses['ap-blue']).toBe('#0c419a')
27
+ expect(apColorClasses['ap-blue-darken-1']).toBe('#00749c')
28
+ expect(apColorClasses['ap-grey-lighten-6']).toBe('#f4f8f9')
29
+ expect(apColorClasses['ap-turquoise-darken-3']).toBe('#005647')
30
+ })
31
+ })
@@ -0,0 +1,12 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { cnamContextualTokens } from '../tokens/cnam/cnamContextual'
3
+ import { paContextualTokens } from '../tokens/pa/paContextual'
4
+ import { apContextualTokens } from '../tokens/amelipro/apContextual'
5
+
6
+ describe('contextual tokens alignment', () => {
7
+ it('keeps canonical contextual gap values aligned across themes', () => {
8
+ expect(cnamContextualTokens.gap[3]).toBe('12px')
9
+ expect(paContextualTokens.gap[3]).toBe('12px')
10
+ expect(apContextualTokens.gap[3]).toBe('12px')
11
+ })
12
+ })
@@ -0,0 +1,53 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { generateThemeVariables } from '../utils/convertSemanticsToken'
3
+ import { createFlattenTheme } from '@/designTokens/utils'
4
+
5
+ describe('design token utils', () => {
6
+ it('flattens nested theme objects without non-null assertions', () => {
7
+ expect(createFlattenTheme({
8
+ primary: {
9
+ base: '#0c419a',
10
+ },
11
+ spacing: {
12
+ md: 16,
13
+ },
14
+ })).toEqual({
15
+ 'primary-base': '#0c419a',
16
+ 'spacing-md': 16,
17
+ })
18
+ })
19
+
20
+ it('throws when a flattened theme value is undefined', () => {
21
+ expect(() => createFlattenTheme({
22
+ primary: {
23
+ base: undefined,
24
+ },
25
+ } as unknown as Parameters<typeof createFlattenTheme>[0])).toThrowError('Missing theme value for key "primary-base"')
26
+ })
27
+
28
+ it('generates semantic theme variables from token categories', () => {
29
+ expect(generateThemeVariables({
30
+ colors: {
31
+ background: {
32
+ main: '#ffffff',
33
+ },
34
+ text: {
35
+ base: '#222324',
36
+ },
37
+ },
38
+ })).toEqual({
39
+ onBackgroundMain: '#ffffff',
40
+ onTextBase: '#222324',
41
+ })
42
+ })
43
+
44
+ it('throws when a semantic token value is undefined', () => {
45
+ expect(() => generateThemeVariables({
46
+ colors: {
47
+ background: {
48
+ main: undefined,
49
+ },
50
+ },
51
+ } as unknown as Parameters<typeof generateThemeVariables>[0])).toThrowError('Missing semantic token "main" in category "background"')
52
+ })
53
+ })
@@ -1,4 +1,7 @@
1
+ import { baseColors } from '../baseColors'
2
+
1
3
  export const apColorsTokens = {
4
+ ...baseColors,
2
5
  amber: {
3
6
  darken80: '#502C01',
4
7
  darken60: '#784201',
@@ -10,72 +13,7 @@ export const apColorsTokens = {
10
13
  lighten60: '#f7c281',
11
14
  lighten80: '#fad6ab',
12
15
  lighten90: '#fce6cc',
13
- lighten97: '#FFFAF5',
14
- },
15
- yellow: {
16
- darken80: '#302407',
17
- darken60: '#60480e',
18
- darken40: '#906b15',
19
- darken20: '#c08f1c',
20
- base: '#f0b323',
21
- lighten20: '#f3c24f',
22
- lighten40: '#f6d17b',
23
- lighten60: '#f9e1a7',
24
- lighten80: '#fcf0d3',
25
- lighten90: '#fdf7e9',
26
- lighten97: '#fffdf8',
27
- },
28
- green: {
29
- darken80: '#112717',
30
- darken60: '#224e2d',
31
- darken40: '#347444',
32
- darken20: '#459b5a',
33
- base: '#56c271',
34
- lighten20: '#78ce8d',
35
- lighten40: '#9adaaa',
36
- lighten60: '#bbe7c6',
37
- lighten80: '#ddf3e3',
38
- lighten90: '#eef9f1',
39
- lighten97: '#fafdfb',
40
- },
41
- turquoise: {
42
- darken80: '#00221c',
43
- darken60: '#004439',
44
- darken40: '#006755',
45
- darken20: '#008972',
46
- base: '#00ab8e',
47
- lighten20: '#33bca5',
48
- lighten40: '#66cdbb',
49
- lighten60: '#99ddd2',
50
- lighten80: '#cceee8',
51
- lighten90: '#e5f7f4',
52
- lighten97: '#f7fcfc',
53
- },
54
- blue: {
55
- darken80: '#020d1f',
56
- darken60: '#051a3e',
57
- darken40: '#07275c',
58
- darken20: '#0a347b',
59
- base: '#0c419a',
60
- lighten20: '#3d67ae',
61
- lighten40: '#6d8dc2',
62
- lighten60: '#9eb3d7',
63
- lighten80: '#ced9eb',
64
- lighten90: '#e7ecf5',
65
- lighten97: '#f8f9fc',
66
- },
67
- cyan: {
68
- darken80: '#00212d',
69
- darken60: '#004259',
70
- darken40: '#006386',
71
- darken20: '#0084b2',
72
- base: '#00a5df',
73
- lighten20: '#33b7e5',
74
- lighten40: '#66c9ec',
75
- lighten60: '#99dbf2',
76
- lighten80: '#ccedf9',
77
- lighten90: '#e5f6fc',
78
- lighten97: '#f7fcfe',
16
+ lighten97: '#fffaf5',
79
17
  },
80
18
  forestGreen: {
81
19
  darken80: '#002821',
@@ -88,79 +26,19 @@ export const apColorsTokens = {
88
26
  lighten60: '#80bcb1',
89
27
  lighten80: '#aad2cb',
90
28
  lighten90: '#cce4e0',
91
- lighten97: '#EEFFFC',
92
- },
93
- parma: {
94
- darken80: '#171c26',
95
- darken60: '#2f384d',
96
- darken40: '#465473',
97
- darken20: '#5e709a',
98
- base: '#758cc0',
99
- lighten20: '#91a3cd',
100
- lighten40: '#acbad9',
101
- lighten60: '#c8d1e6',
102
- lighten80: '#e3e8f2',
103
- lighten90: '#f1f3f9',
104
- lighten97: '#fbfcfd',
105
- },
106
- mauve: {
107
- darken80: '#201224',
108
- darken60: '#402449',
109
- darken40: '#60376d',
110
- darken20: '#804992',
111
- base: '#a05bb6',
112
- lighten20: '#b37cc5',
113
- lighten40: '#c69dd3',
114
- lighten60: '#d9bde2',
115
- lighten80: '#ecdef0',
116
- lighten90: '#f5eff8',
117
- lighten97: '#fcfafd',
118
- },
119
- pink: {
120
- darken80: '#2D051A',
121
- darken60: '#5a0a34',
122
- darken40: '#87104d',
123
- darken20: '#b41567',
124
- base: '#e11a81',
125
- lighten20: '#e7489a',
126
- lighten40: '#ed76b3',
127
- lighten60: '#f3a3cd',
128
- lighten80: '#f9d1e6',
129
- lighten90: '#fce8f2',
130
- lighten97: '#fef8fb',
29
+ lighten97: '#eefffc',
131
30
  },
132
31
  red: {
133
32
  darken80: '#4d0000',
134
33
  darken60: '#740000',
135
34
  darken40: '#9b0000',
136
- darken20: '#B30E0E',
35
+ darken20: '#b30e0e',
137
36
  base: '#e80000',
138
37
  lighten20: '#ec2a2a',
139
- lighten40: '#FF5E5E',
38
+ lighten40: '#ff5e5e',
140
39
  lighten60: '#f48080',
141
40
  lighten80: '#f7aaaa',
142
41
  lighten90: '#facccc',
143
- lighten97: '#FFF4F4',
144
- },
145
- grey: {
146
- darken80: '#111212',
147
- darken60: '#222324',
148
- darken40: '#323535',
149
- darken20: '#434647',
150
- base: '#545859',
151
- lighten20: '#76797a',
152
- lighten40: '#989b9b',
153
- lighten60: '#bbbcbd',
154
- lighten80: '#dddede',
155
- lighten90: '#eeeeee',
156
- lighten97: '#fafafa',
157
- },
158
- white: {
159
- lighten20: 'rgba(255, 255, 255, 0.20)',
160
- lighten38: 'rgba(255, 255, 255, 0.38)',
161
- lighten40: 'rgba(255, 255, 255, 0.40)',
162
- lighten70: 'rgba(255, 255, 255, 0.70)',
163
- lighten8: 'rgba(255, 255, 255, 0.080)',
164
- base: '#ffffff',
42
+ lighten97: '#fff4f4',
165
43
  },
166
44
  }
@@ -1,4 +1,5 @@
1
- import type { IndexedObject } from '../../../components/Amelipro/types'
1
+ import type { IndexedObject } from '@/components/Amelipro/types.ts'
2
+ import { buildColorClassMap } from '../../utils/buildColorClassMap'
2
3
 
3
4
  export const apColorsTokens2026 = {
4
5
  apBlack: { base: '#000000' },
@@ -65,17 +66,4 @@ export const apColorsTokens2026 = {
65
66
  },
66
67
  }
67
68
 
68
- export const apColorClasses: IndexedObject = {}
69
-
70
- export function toKebabCase(value: string): string {
71
- return value.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase()
72
- }
73
-
74
- Object.entries(apColorsTokens2026).forEach(([colorName, colorValues]) => {
75
- Object.entries(colorValues).forEach(([variationName, colorValue]) => {
76
- const colorClass = toKebabCase(`${colorName}-${variationName}`
77
- .replace(/\d+/, '-$&')
78
- .replace('-base', ''))
79
- apColorClasses[colorClass] = colorValue as string
80
- })
81
- })
69
+ export const apColorClasses: IndexedObject = buildColorClassMap(apColorsTokens2026)
@@ -1,4 +1,7 @@
1
+ import { baseContextualTokens } from '../baseContextualTokens'
2
+
1
3
  export const apContextualTokens = {
4
+ ...baseContextualTokens,
2
5
  colors: {
3
6
  background: '#ffffff',
4
7
  border: '#dddddd',
@@ -7,52 +10,57 @@ export const apContextualTokens = {
7
10
  overlay: 'rgba(0, 0, 0, 0.5)',
8
11
  interactive: '#007bff',
9
12
  },
10
- gap: {
11
- 0: '0',
12
- 1: '4px',
13
- 2: '8px',
14
- 3: '122px',
15
- 4: '16px',
16
- 5: '20px',
17
- 6: '24px',
18
- 7: '28px',
19
- 8: '32px',
20
- 9: '36px',
21
- 10: '40px',
22
- 11: '44px',
23
- 12: '48px',
24
- 13: '52px',
25
- 14: '56px',
26
- 15: '60px',
27
- 16: '64px',
28
- },
29
- iconSize: {
30
- xsmall: '8px',
31
- small: '16px',
32
- default: '24px',
33
- large: '32px',
34
- },
35
- radius: {
36
- rounded0: '0',
37
- rounded: '4px',
38
- roundedLg: '8px',
39
- roundedPill: '64px',
40
- },
41
- padding: {
42
- 0: '0',
43
- 2: '8px',
44
- 3: '12px',
45
- 4: '16px',
46
- 6: '24px',
47
- 8: '32px',
48
- 10: '40px',
49
- 14: '56px',
50
- 16: '64px',
51
- },
52
- fontSize: {
53
- titres: '24px',
54
- titresAlternatifs: '20px',
55
- corpsDeTexte: '16px',
56
- liensEtLibelles: '14px',
13
+ ap: {
14
+ // Typography
15
+ fontWeightRegular: '400',
16
+ fontWeightBold: '700',
17
+ fontSizeXxs: '0.75rem',
18
+ fontSizeXs: '0.875rem',
19
+ fontSizeSm: '1rem',
20
+ fontSizeMd: '1.125rem',
21
+ fontSizeLg: '1.25rem',
22
+ fontSizeXl: '1.375rem',
23
+ fontSizeXxl: '1.5rem',
24
+ // Button
25
+ btnRadius: '0.75rem',
26
+ btnPaddingX: '1rem',
27
+ btnPaddingY: '0.5rem',
28
+ btnMinHeight: '2.5rem',
29
+ // Card
30
+ cardRadius: '0.75rem',
31
+ cardPaddingDesktop: '1rem',
32
+ cardPaddingTablet: '1rem',
33
+ cardPaddingMobile: '0.75rem',
34
+ // Dialog
35
+ dialogPadding: '1.5rem',
36
+ // Input / Form
37
+ inputRadius: '0.5rem',
38
+ inputMinHeight: '2.625rem',
39
+ labelFontWeight: '700',
40
+ // Filter pills
41
+ filterRadius: '0.75rem',
42
+ filterPaddingX: '2rem',
43
+ filterPaddingY: '0.75rem',
44
+ filterFontWeight: '700',
45
+ // Tabs pills
46
+ tabsPillRadius: '0.75rem',
47
+ tabsPillPaddingX: '2rem',
48
+ tabsPillPaddingY: '0.5rem',
49
+ tabsPillFontWeight: '700',
50
+ // Multiple folding card button
51
+ multiFoldingBtnRadius: '0.75rem',
52
+ multiFoldingBtnPaddingX: '2rem',
53
+ multiFoldingBtnPaddingY: '0.5rem',
54
+ multiFoldingBtnFontWeight: '700',
55
+ // Switch
56
+ switchTrackHeight: '2rem',
57
+ switchTrackWidth: '3.5rem',
58
+ switchTrackTop: '0',
59
+ switchThumbHeight: '1.5rem',
60
+ switchThumbWidth: '1.5rem',
61
+ switchThumbTop: '0.25rem',
62
+ switchThumbElevation: '0',
63
+ switchWidth: '3.5rem',
64
+ switchTrackOpacity: '1',
57
65
  },
58
66
  }
@@ -31,7 +31,7 @@ export const apLightTheme = {
31
31
  interactiveSelectionPressed: apSemanticTokens.colors.interactive.selectionPressed,
32
32
  interactiveSelectionSelected: apSemanticTokens.colors.interactive.selectionSelected,
33
33
  interactiveSelectionHoverOnSelected: apSemanticTokens.colors.interactive.selectionHoverOnSelected,
34
- interactiveSelectionSelectedAccent: apSemanticTokens.colors.interactive.selectionselectedAccent,
34
+ interactiveSelectionSelectedAccent: apSemanticTokens.colors.interactive.selectionSelectedAccent,
35
35
  interactiveSelectionHoverOnSelectedAccent: apSemanticTokens.colors.interactive.selectionHoverOnSelectedAccent,
36
36
  interactiveSelectionDisabled: apSemanticTokens.colors.interactive.selectionDisabled,
37
37
  backgroundMain: apSemanticTokens.colors.background.main,
@@ -87,7 +87,7 @@ export const apSemanticTokens = {
87
87
  selectionPressed: apColorsTokens.blue.lighten60,
88
88
  selectionSelected: apColorsTokens.blue.lighten80,
89
89
  selectionHoverOnSelected: apColorsTokens.blue.lighten60,
90
- selectionselectedAccent: apColorsTokens.cyan.darken20,
90
+ selectionSelectedAccent: apColorsTokens.cyan.darken20,
91
91
  selectionHoverOnSelectedAccent: apColorsTokens.cyan.lighten20,
92
92
  selectionDisabled: apColorsTokens.white.base,
93
93
  },