@cnamts/synapse 1.0.21 → 1.0.23

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 (449) hide show
  1. package/dist/{DateFilter-uN8OURoP.js → DateFilter-Dc-gSGwk.js} +29 -24
  2. package/dist/{NumberFilter-sm1dQNQi.js → NumberFilter-vP38Wp6j.js} +1 -1
  3. package/dist/{PeriodFilter-Cklsxnh9.js → PeriodFilter-Ba1uYUnT.js} +1 -1
  4. package/dist/{SelectFilter-CWefj27Z.js → SelectFilter-BioGT6Nn.js} +1 -1
  5. package/dist/{TextFilter-Ddyj885L.js → TextFilter-B84dpnoq.js} +1 -1
  6. package/dist/components/Accordion/Accordion.d.ts +13 -2
  7. package/dist/components/Accordion/composables/useAccordionState.d.ts +2 -1
  8. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7405 -5973
  9. package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +1 -1
  10. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +1 -1
  11. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +10 -14
  12. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
  14. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +1 -1
  15. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +1 -1
  16. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +8 -8
  17. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +3 -3
  18. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +1 -1
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +1 -1
  20. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
  21. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +16 -20
  22. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +1 -1
  23. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +1 -1
  24. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +1 -1
  25. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1610 -1354
  26. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +2413 -2029
  27. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8885 -7323
  28. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
  29. package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -6
  30. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +8884 -7330
  31. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +950 -838
  32. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1614 -1358
  33. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +223 -203
  34. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +3 -3
  35. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +3 -7
  36. package/dist/components/CollapsibleList/CollapsibleList.d.ts +4 -1
  37. package/dist/components/CookieBanner/CookieBanner.d.ts +303 -273
  38. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +1297 -1156
  39. package/dist/components/CookiesSelection/CookiesSelection.d.ts +404 -377
  40. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
  41. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +1108 -846
  42. package/dist/components/Customs/Selects/SyAutocomplete/locales.d.ts +5 -0
  43. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +514 -320
  44. package/dist/components/Customs/Selects/SySelect/locales.d.ts +1 -0
  45. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +40 -38
  46. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +920 -800
  47. package/dist/components/Customs/SyForm/SyForm.d.ts +356 -348
  48. package/dist/components/Customs/SyPagination/SyPagination.d.ts +11 -1
  49. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +906 -794
  50. package/dist/components/Customs/SyTextField/SyTextField.d.ts +1634 -1367
  51. package/dist/components/DataList/DataList.d.ts +1 -1
  52. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3869 -3120
  53. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1947 -1561
  54. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +831 -684
  55. package/dist/components/DialogBox/DialogBox.d.ts +482 -416
  56. package/dist/components/DownloadBtn/config.d.ts +1 -1
  57. package/dist/components/ErrorPage/ErrorPage.d.ts +6 -0
  58. package/dist/components/FileList/UploadItem/UploadItem.d.ts +6 -0
  59. package/dist/components/FileList/UploadItem/locales.d.ts +1 -0
  60. package/dist/components/FileUpload/FileUpload.d.ts +4 -4
  61. package/dist/components/FileUpload/FileUploadContent.d.ts +2 -0
  62. package/dist/components/FileUpload/locales.d.ts +1 -0
  63. package/dist/components/FileUpload/validateFiles.d.ts +2 -1
  64. package/dist/components/FilterSideBar/FilterSideBar.d.ts +418 -366
  65. package/dist/components/FooterBar/FooterBar.d.ts +13 -1
  66. package/dist/components/FooterBar/locales.d.ts +1 -0
  67. package/dist/components/FooterBar/types.d.ts +1 -0
  68. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -0
  69. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +2 -0
  70. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +4 -6
  71. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +1031 -643
  72. package/dist/components/LangBtn/LangBtn.d.ts +277 -239
  73. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +4 -0
  74. package/dist/components/MaintenancePage/MaintenancePage.d.ts +16 -1
  75. package/dist/components/MonthPicker/MonthPicker.d.ts +1939 -0
  76. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +1899 -0
  77. package/dist/components/MonthPicker/MonthPickerText/useTextField.d.ts +21 -0
  78. package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.d.ts +21 -0
  79. package/dist/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.d.ts +12 -0
  80. package/dist/components/MonthPicker/MonthPickerVisual/MonthSelector.d.ts +11 -0
  81. package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.d.ts +6 -0
  82. package/dist/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.d.ts +14 -0
  83. package/dist/components/MonthPicker/MonthPickerVisual/YearSelector.d.ts +14 -0
  84. package/dist/components/MonthPicker/MonthPickerVisual/useMonthGrid.d.ts +9 -0
  85. package/dist/components/MonthPicker/MonthPickerVisual/useYearGrid.d.ts +8 -0
  86. package/dist/components/MonthPicker/MonthPickerVisual/utils.d.ts +8 -0
  87. package/dist/components/MonthPicker/locales.d.ts +12 -0
  88. package/dist/components/MonthPicker/useMonthPickerValidation.d.ts +25 -0
  89. package/dist/components/NirField/NirField.d.ts +1669 -1379
  90. package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
  91. package/dist/components/NotificationBar/Notification/Notification.d.ts +3 -0
  92. package/dist/components/PageContainer/PageContainer.d.ts +3 -1
  93. package/dist/components/PeriodField/PeriodField.d.ts +7696 -6192
  94. package/dist/components/PhoneField/PhoneField.d.ts +829 -684
  95. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +4 -12
  96. package/dist/components/StatusPage/StatusPage.d.ts +12 -1
  97. package/dist/components/SubHeader/SubHeader.d.ts +2 -0
  98. package/dist/components/SyAlert/SyAlert.d.ts +74 -70
  99. package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +9 -0
  100. package/dist/components/SyHeading/SyHeading.a11y.test.d.ts +1 -0
  101. package/dist/components/SyHeading/SyHeading.d.ts +22 -0
  102. package/dist/components/SyHeading/SyHeading.test.d.ts +1 -0
  103. package/dist/components/SyTextArea/SyTextArea.d.ts +475 -419
  104. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +759 -468
  105. package/dist/components/Tables/SyTable/SyTable.d.ts +761 -470
  106. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  107. package/dist/components/Tables/common/SyTablePagination.d.ts +263 -164
  108. package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -1
  109. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  110. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  111. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  112. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  113. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +166 -138
  114. package/dist/components/Tables/common/types.d.ts +2 -0
  115. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +24 -1211
  116. package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
  117. package/dist/components/index.d.ts +2 -0
  118. package/dist/components/types.d.ts +2 -0
  119. package/dist/design-system-v3.js +111 -107
  120. package/dist/design-system-v3.umd.cjs +158 -158
  121. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +26 -14
  122. package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +19 -13
  123. package/dist/designTokens/tokens/cnam/cnamContextual.d.ts +5 -0
  124. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +28 -15
  125. package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +20 -13
  126. package/dist/designTokens/tokens/pa/paLightTheme.d.ts +26 -15
  127. package/dist/designTokens/tokens/pa/paSemantic.d.ts +19 -13
  128. package/dist/main-aLKwdMi1.js +37886 -0
  129. package/dist/main.d.ts +1 -0
  130. package/dist/style.css +1 -1
  131. package/dist/vuetifyConfig.d.ts +14 -14
  132. package/package.json +21 -9
  133. package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
  134. package/src/assets/apTokens.scss +53 -17
  135. package/src/assets/overrides/_btns.scss +8 -0
  136. package/src/assets/overrides/_forms.scss +9 -0
  137. package/src/assets/overrides/_icons.scss +43 -4
  138. package/src/assets/overrides/_tables.scss +19 -0
  139. package/src/assets/overrides/_tooltips.scss +5 -6
  140. package/src/assets/overrides/_typography.scss +17 -2
  141. package/src/assets/overrides/_utilities.scss +49 -3
  142. package/src/assets/tokens.scss +53 -17
  143. package/src/components/Accordion/Accordion.mdx +23 -9
  144. package/src/components/Accordion/Accordion.stories.ts +153 -3
  145. package/src/components/Accordion/Accordion.vue +7 -6
  146. package/src/components/Accordion/accessibilite/Accessibility.mdx +5 -4
  147. package/src/components/Accordion/composables/__tests__/useAccordionState.spec.ts +40 -12
  148. package/src/components/Accordion/composables/useAccordionState.ts +3 -4
  149. package/src/components/Accordion/tests/accordion.spec.ts +131 -19
  150. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +2 -2
  151. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +0 -2
  152. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +2 -2
  153. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +14 -56
  154. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
  155. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +15 -23
  156. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
  157. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +15 -3
  158. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
  159. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +0 -98
  160. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +1 -1
  161. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +5 -16
  162. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +3 -1
  163. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +7 -0
  164. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +0 -1
  165. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +0 -1
  166. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +0 -52
  167. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +6 -0
  168. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +3 -1
  169. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +19 -0
  170. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
  171. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -4
  172. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +2 -13
  173. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.mdx +3 -1
  174. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +7 -0
  175. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +8 -0
  176. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.mdx +3 -1
  177. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.stories.ts +8 -0
  178. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -2
  179. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +28 -10
  180. package/src/components/Amelipro/AmeliproPostalAddressField/__tests__/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +44 -8
  181. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
  182. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +15 -3
  183. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +1 -1
  184. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +0 -1
  185. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +6 -0
  186. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +2 -4
  187. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +0 -2
  188. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +8 -0
  189. package/src/components/BackBtn/BackBtn.vue +1 -1
  190. package/src/components/BackBtn/accessibilite/Accessibility.mdx +62 -10
  191. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +9 -3
  192. package/src/components/BackToTopBtn/accessibilite/Accessibility.mdx +86 -6
  193. package/src/components/Captcha/tests/Captcha.spec.ts +0 -29
  194. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +18 -108
  195. package/src/components/ChipList/ChipList.vue +4 -2
  196. package/src/components/CollapsibleList/CollapsibleList.stories.ts +8 -3
  197. package/src/components/CollapsibleList/CollapsibleList.vue +14 -6
  198. package/src/components/CollapsibleList/accessibilite/Accessibility.mdx +19 -6
  199. package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +1 -0
  200. package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +2 -0
  201. package/src/components/CookieBanner/CookieBanner.stories.ts +10 -0
  202. package/src/components/CookieBanner/CookieBanner.vue +15 -5
  203. package/src/components/CookieBanner/accessibilite/Accessibility.mdx +9 -0
  204. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +10 -2
  205. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +21 -15
  206. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +17 -8
  207. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +1 -0
  208. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +5 -0
  209. package/src/components/CookiesSelection/CookiesSelection.vue +7 -2
  210. package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +1 -0
  211. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +5 -0
  212. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +21 -15
  213. package/src/components/CopyBtn/CopyBtn.vue +6 -4
  214. package/src/components/CopyBtn/accessibilite/Accessibility.mdx +82 -11
  215. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +5 -1
  216. package/src/components/Customs/Selects/SelectBtnField/accessibilite/Accessibility.mdx +133 -10
  217. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +379 -93
  218. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +144 -83
  219. package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibilite.stories.ts +40 -1
  220. package/src/components/Customs/Selects/SyAutocomplete/accessibilite/Accessibility.mdx +7 -1
  221. package/src/components/Customs/Selects/SyAutocomplete/locales.ts +5 -0
  222. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +96 -0
  223. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +234 -9
  224. package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +13 -3
  225. package/src/components/Customs/Selects/SyAutocomplete/utils/useSelectionLogic.ts +9 -10
  226. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -10
  227. package/src/components/Customs/Selects/SySelect/SySelect.mdx +0 -1
  228. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +10 -10
  229. package/src/components/Customs/Selects/SySelect/SySelect.vue +63 -3
  230. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
  231. package/src/components/Customs/Selects/SySelect/locales.ts +1 -0
  232. package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +1 -3
  233. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +72 -0
  234. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
  235. package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +31 -2
  236. package/src/components/Customs/SyIcon/SyIcon.vue +9 -5
  237. package/src/components/Customs/SyIcon/tests/SyIcon.a11y.spec.ts +20 -0
  238. package/src/components/Customs/SyIconButton/SyIconButton.mdx +46 -0
  239. package/src/components/Customs/SyIconButton/SyIconButton.stories.ts +184 -0
  240. package/src/components/Customs/SyIconButton/SyIconButton.vue +38 -0
  241. package/src/components/Customs/SyIconButton/accessibilite/Accessibility.mdx +64 -0
  242. package/src/components/Customs/SyIconButton/tests/SyIconButton.a11y.spec.ts +87 -0
  243. package/src/components/Customs/SyIconButton/tests/SyIconButton.spec.ts +152 -0
  244. package/src/components/Customs/SyIconButton/tests/__snapshots__/SyIconButton.spec.ts.snap +61 -0
  245. package/src/components/Customs/SyPagination/SyPagination.stories.ts +14 -2
  246. package/src/components/Customs/SyPagination/SyPagination.vue +25 -10
  247. package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +79 -8
  248. package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +53 -0
  249. package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
  250. package/src/components/Customs/SyTextField/SyTextField.stories.ts +4 -0
  251. package/src/components/Customs/SyTextField/SyTextField.vue +59 -7
  252. package/src/components/Customs/SyTextField/accessibilite/Accessibility.mdx +67 -9
  253. package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +15 -0
  254. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +36 -0
  255. package/src/components/DataList/accessibilite/Accessibility.mdx +79 -11
  256. package/src/components/DataListGroup/accessibilite/Accessibility.mdx +80 -11
  257. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +28 -3
  258. package/src/components/DatePicker/CalendarMode/DatePicker.vue +20 -8
  259. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
  260. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1 -1
  261. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
  262. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +34 -0
  263. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +27 -0
  264. package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +23 -9
  265. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +21 -8
  266. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +50 -22
  267. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +48 -10
  268. package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +16 -3
  269. package/src/components/DialogBox/DialogBox.stories.ts +13 -0
  270. package/src/components/DialogBox/DialogBox.vue +12 -5
  271. package/src/components/DialogBox/accessibilite/Accessibility.mdx +27 -7
  272. package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +1 -0
  273. package/src/components/DialogBox/tests/DialogBox.spec.ts +40 -6
  274. package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +73 -11
  275. package/src/components/DownloadBtn/config.ts +1 -1
  276. package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +25 -0
  277. package/src/components/ErrorPage/ErrorPage.stories.ts +176 -47
  278. package/src/components/ErrorPage/ErrorPage.vue +21 -0
  279. package/src/components/ErrorPage/accessibilite/Accessibility.mdx +15 -0
  280. package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +17 -0
  281. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +21 -1
  282. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +1 -0
  283. package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +23 -0
  284. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
  285. package/src/components/FileList/FileList.stories.ts +55 -1
  286. package/src/components/FileList/UploadItem/UploadItem.vue +17 -5
  287. package/src/components/FileList/UploadItem/locales.ts +3 -2
  288. package/src/components/FileList/accessibilite/Accessibility.mdx +58 -7
  289. package/src/components/FileUpload/FileUpload.vue +62 -38
  290. package/src/components/FileUpload/FileUploadContent.vue +3 -2
  291. package/src/components/FileUpload/accessibilite/Accessibility.mdx +48 -5
  292. package/src/components/FileUpload/locales.ts +1 -0
  293. package/src/components/FileUpload/tests/FileUpload.spec.ts +61 -14
  294. package/src/components/FileUpload/validateFiles.ts +5 -2
  295. package/src/components/FilterInline/FilterInline.stories.ts +0 -15
  296. package/src/components/FilterInline/FilterInline.vue +1 -0
  297. package/src/components/FilterInline/accessibilite/Accessibility.mdx +70 -7
  298. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +3 -3
  299. package/src/components/FilterSideBar/FilterSideBar.stories.ts +0 -3
  300. package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
  301. package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +70 -9
  302. package/src/components/FooterBar/FooterBar.stories.ts +298 -34
  303. package/src/components/FooterBar/FooterBar.vue +67 -9
  304. package/src/components/FooterBar/config.ts +2 -2
  305. package/src/components/FooterBar/locales.ts +1 -0
  306. package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
  307. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +6 -25
  308. package/src/components/FooterBar/types.d.ts +1 -0
  309. package/src/components/FranceConnectBtn/accessibilite/Accessibility.mdx +62 -9
  310. package/src/components/HeaderBar/HeaderBar.stories.ts +23 -1
  311. package/src/components/HeaderBar/HeaderBar.vue +5 -0
  312. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +8 -2
  313. package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +5 -0
  314. package/src/components/HeaderBar/accessibilite/Accessibility.mdx +24 -5
  315. package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +1 -0
  316. package/src/components/HeaderBar/tests/HeaderBar.spec.ts +3 -0
  317. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +4 -0
  318. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +3 -0
  319. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +3 -0
  320. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +22 -0
  321. package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -5
  322. package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +2 -0
  323. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +44 -0
  324. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +2 -0
  325. package/src/components/LunarCalendar/accessibilite/Accessibility.mdx +74 -8
  326. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +163 -0
  327. package/src/components/MaintenancePage/MaintenancePage.vue +33 -6
  328. package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +3 -1
  329. package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +3 -2
  330. package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +18 -1
  331. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +1 -0
  332. package/src/components/MonthPicker/MonthPicker.mdx +35 -0
  333. package/src/components/MonthPicker/MonthPicker.stories.ts +527 -0
  334. package/src/components/MonthPicker/MonthPicker.vue +79 -0
  335. package/src/components/MonthPicker/MonthPickerText/MonthPickerInput.vue +89 -0
  336. package/src/components/MonthPicker/MonthPickerText/useTextField.ts +27 -0
  337. package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisual.vue +154 -0
  338. package/src/components/MonthPicker/MonthPickerVisual/MonthPickerVisualProps.ts +13 -0
  339. package/src/components/MonthPicker/MonthPickerVisual/MonthSelector.vue +137 -0
  340. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.vue +60 -0
  341. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +149 -0
  342. package/src/components/MonthPicker/MonthPickerVisual/YearSelector.vue +143 -0
  343. package/src/components/MonthPicker/MonthPickerVisual/useMonthGrid.ts +45 -0
  344. package/src/components/MonthPicker/MonthPickerVisual/useYearGrid.ts +45 -0
  345. package/src/components/MonthPicker/MonthPickerVisual/utils.ts +17 -0
  346. package/src/components/MonthPicker/accessibilite/Accessibility.mdx +59 -0
  347. package/src/components/MonthPicker/locales.ts +12 -0
  348. package/src/components/MonthPicker/tests/MonthPicker.a11y.spec.ts +71 -0
  349. package/src/components/MonthPicker/tests/MonthPicker.spec.ts +1248 -0
  350. package/src/components/MonthPicker/tests/__snapshots__/MonthPicker.spec.ts.snap +2545 -0
  351. package/src/components/MonthPicker/useMonthPickerValidation.ts +30 -0
  352. package/src/components/NirField/NirField.mdx +1 -2
  353. package/src/components/NirField/NirField.stories.ts +66 -6
  354. package/src/components/NotFoundPage/NotFoundPage.stories.ts +1 -1
  355. package/src/components/NotFoundPage/NotFoundPage.vue +16 -5
  356. package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +2 -0
  357. package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +49 -0
  358. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +24 -2
  359. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +24 -14
  360. package/src/components/NotificationBar/Notification/Notification.vue +3 -1
  361. package/src/components/NotificationBar/NotificationBar.stories.ts +154 -0
  362. package/src/components/NotificationBar/tests/NotificationBar.a11y.spec.ts +26 -0
  363. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +60 -0
  364. package/src/components/PageContainer/PageContainer.stories.ts +47 -0
  365. package/src/components/PageContainer/PageContainer.vue +4 -2
  366. package/src/components/PageContainer/accessibilite/Accessibility.mdx +31 -17
  367. package/src/components/PaginatedTable/PaginatedTable.mdx +3 -3
  368. package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -1
  369. package/src/components/PeriodField/PeriodField.vue +4 -0
  370. package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +10 -1
  371. package/src/components/PhoneField/PhoneField.stories.ts +73 -35
  372. package/src/components/PhoneField/PhoneField.vue +152 -83
  373. package/src/components/PhoneField/accessibilite/Accessibility.mdx +306 -9
  374. package/src/components/PhoneField/indicatifs.ts +2 -2
  375. package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +47 -0
  376. package/src/components/PhoneField/tests/PhoneField.spec.ts +82 -5
  377. package/src/components/RangeField/accessibilite/Accessibility.mdx +79 -11
  378. package/src/components/SearchListField/SearchListField.vue +1 -1
  379. package/src/components/SearchListField/accessibilite/Accessibility.mdx +69 -9
  380. package/src/components/SearchListField/tests/SearchListField.a11y.spec.ts +37 -0
  381. package/src/components/SkipLink/tests/SkipLink.a11y.spec.ts +23 -0
  382. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +1 -1
  383. package/src/components/StatusPage/StatusPage.mdx +10 -1
  384. package/src/components/StatusPage/StatusPage.stories.ts +161 -0
  385. package/src/components/StatusPage/StatusPage.vue +29 -5
  386. package/src/components/StatusPage/accessibilite/Accessibility.mdx +24 -5
  387. package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +23 -0
  388. package/src/components/StatusPage/tests/StatusPage.spec.ts +25 -0
  389. package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +24 -14
  390. package/src/components/SubHeader/SubHeader.stories.ts +16 -0
  391. package/src/components/SubHeader/SubHeader.vue +6 -3
  392. package/src/components/SubHeader/accessibilite/Accessibility.mdx +27 -6
  393. package/src/components/SubHeader/tests/SubHeader.a11y.spec.ts +20 -0
  394. package/src/components/SyAlert/SyAlert.vue +22 -20
  395. package/src/components/SyAlert/accessibilite/Accessibility.mdx +79 -9
  396. package/src/components/SyAlert/tests/SyAlert.a11y.spec.ts +23 -0
  397. package/src/components/SyBtnMenu/SyBtnMenu.vue +33 -17
  398. package/src/components/SyBtnMenu/tests/SyBtnMenu.a11y.spec.ts +38 -0
  399. package/src/components/SyBtnMenu/tests/SyBtnMenu.spec.ts +41 -0
  400. package/src/components/SyHeading/SyHeading.a11y.test.ts +149 -0
  401. package/src/components/SyHeading/SyHeading.test.ts +115 -0
  402. package/src/components/SyHeading/SyHeading.vue +20 -0
  403. package/src/components/SyTextArea/accessibilite/Accessibility.mdx +80 -8
  404. package/src/components/SyTextArea/tests/SyTextArea.a11y.spec.ts +151 -0
  405. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -30
  406. package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -0
  407. package/src/components/Tables/SyTable/SyTable.vue +2 -0
  408. package/src/components/Tables/common/SyTablePagination.vue +16 -10
  409. package/src/components/Tables/common/filters/DateFilter.vue +5 -0
  410. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +40 -24
  411. package/src/components/Tables/common/types.ts +3 -0
  412. package/src/components/ToolbarContainer/tests/ToolbarContainer.a11y.spec.ts +126 -0
  413. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +11 -11
  414. package/src/components/UploadWorkflow/UploadWorkflow.vue +30 -13
  415. package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +56 -5
  416. package/src/components/UploadWorkflow/accessibilite/UploadWorkflow.a11y.spec.ts +110 -0
  417. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +7 -25
  418. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +146 -123
  419. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +53 -31
  420. package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -1
  421. package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +72 -8
  422. package/src/components/index.ts +2 -0
  423. package/src/components/types.ts +4 -0
  424. package/src/composables/date/tests/useDateInitialization.spec.ts +22 -1
  425. package/src/composables/date/useDateInitializationDayjs.ts +4 -7
  426. package/src/composables/date/useDatePickerAccessibility.ts +2 -3
  427. package/src/composables/useFilterable/useFilterable.spec.ts +52 -2
  428. package/src/composables/useFilterable/useFilterable.ts +7 -1
  429. package/src/composables/useFormFieldErrorHandling.ts +11 -2
  430. package/src/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
  431. package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
  432. package/src/designTokens/tokens/cnam/cnamContextual.ts +6 -1
  433. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +28 -15
  434. package/src/designTokens/tokens/cnam/cnamSemantic.ts +21 -14
  435. package/src/designTokens/tokens/pa/paLightTheme.ts +27 -16
  436. package/src/designTokens/tokens/pa/paSemantic.ts +19 -13
  437. package/src/directives/rgaaSvgFix.ts +2 -7
  438. package/src/main.ts +2 -0
  439. package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/Exemptions-derogations.mdx +1 -1
  440. package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +188 -0
  441. package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/RGAA.mdx +1 -1
  442. package/src/stories/Accessibilite/Introduction.mdx +22 -3
  443. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +21 -22
  444. package/src/stories/DeprecationNotice/DeprecationNotice.ts +41 -0
  445. package/src/stories/DesignTokens/ColorDisplay.vue +12 -5
  446. package/src/stories/DesignTokens/Colors.mdx +8 -59
  447. package/src/stories/DesignTokens/colors.stories.ts +1862 -1071
  448. package/src/stories/EcoConception/EcoGuideComponent.vue +10 -4
  449. package/dist/main-CWniLr0s.js +0 -36919
@@ -1,12 +1,76 @@
1
- import { Meta, Story } from '@storybook/addon-docs';
2
- import * as Stories from '../UserMenuBtn.stories.ts';
1
+ import { Meta, Primary } from '@storybook/blocks';
2
+ import * as UserMenuBtnStories from '../UserMenuBtn.stories.ts';
3
+ import AccessibilityIcon from '@/common/imgs/accessibility-svgrepo-com.svg';
3
4
  import '@/stories/styles/shared.css';
5
+ import {
6
+ AccessibilityGuideLayout,
7
+ CriteriaSection,
8
+ CriteriaCard,
9
+ DemoSection,
10
+ BestPracticesSection,
11
+ ResourcesSection,
12
+ } from '@/stories/accessibility/AccessibilityGuideLayout.mdx';
4
13
 
5
- <Meta of={Stories} />
14
+ <Meta of={UserMenuBtnStories} />
6
15
 
7
- <div className="header">
8
- <h1>Accessibilité</h1>
9
- <p>Cette page sera bientôt disponible</p>
10
- </div>
16
+ <AccessibilityGuideLayout
17
+ componentName="UserMenuBtn"
18
+ iconSrc={AccessibilityIcon}
19
+ apgHref="https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/"
20
+ >
21
+ <CriteriaSection>
22
+ <CriteriaCard icon="🔍" title="Structure sémantique">
23
+ <ul>
24
+ <li><strong>Rôles ARIA</strong> : <code>role="menu"</code> pour la liste et <code>role="menuitem"</code> pour chaque option (y compris le bouton de déconnexion).</li>
25
+ <li><strong>Attributs d'association</strong> : <code>aria-labelledby</code> relie le menu au bouton généré, <code>aria-haspopup</code>/<code>aria-expanded</code>/<code>aria-controls</code> sont gérés par <code>VMenu</code>.</li>
26
+ <li><strong>Étiquette accessible</strong> : un texte masqué (<code>label</code>, par défaut « Menu utilisateur ») assure le nom du bouton, même en mode icône seule.</li>
27
+ <li><strong>Suivi de l'item actif</strong> : <code>aria-activedescendant</code> pointe vers l'option active via un identifiant slugifié.</li>
28
+ </ul>
29
+ </CriteriaCard>
11
30
 
12
- <br />
31
+ <CriteriaCard icon="⌨️" title="Navigation clavier complète">
32
+ <ul>
33
+ <li><strong>Tabulation</strong> : accès au bouton puis parcours des options.</li>
34
+ <li><strong>Entrée/Espace</strong> : ouverture du menu et activation d'une option.</li>
35
+ <li><strong>Flèches</strong> : navigation verticale entre les éléments du menu.</li>
36
+ <li><strong>Échap</strong> : fermeture du menu et restitution du focus sur le bouton.</li>
37
+ </ul>
38
+ </CriteriaCard>
39
+
40
+ <CriteriaCard icon="🎯" title="Gestion du focus & retours">
41
+ <ul>
42
+ <li>Focus placé sur la première option à l'ouverture, puis renvoyé vers le bouton à la fermeture.</li>
43
+ <li><code>aria-expanded</code> reflète l'état d'ouverture ; <code>aria-current="page"</code> sur l'élément sélectionné.</li>
44
+ <li>Styles <code>:focus-visible</code> renforcés sur le bouton et les éléments du menu pour une indication claire.</li>
45
+ </ul>
46
+ </CriteriaCard>
47
+
48
+ <CriteriaCard icon="📱" title="Compatibilité mobile & personnalisation">
49
+ <ul>
50
+ <li>Modes <code>isMobileView</code> et <code>iconOnly</code> compactent l'affichage tout en conservant un libellé pour les lecteurs d'écran.</li>
51
+ <li>Options <code>menu</code> / <code>btn</code> / <code>list</code> personnalisables sans dégrader les attributs ARIA.</li>
52
+ <li>Le bouton de déconnexion optionnel (<code>hideLogoutBtn</code>) reste exposé comme élément de menu clavier/navigateur.</li>
53
+ </ul>
54
+ </CriteriaCard>
55
+ </CriteriaSection>
56
+
57
+ <DemoSection componentName="UserMenuBtn">
58
+ <Primary />
59
+ </DemoSection>
60
+
61
+ <BestPracticesSection>
62
+ <ul>
63
+ <li>Fournir un libellé clair pour <code>label</code> (ex. « Menu utilisateur », « Compte de Marie »), surtout en mode icône seule.</li>
64
+ <li>Limiter le nombre d'options et placer les actions destructives ou sensibles (ex. déconnexion) en fin de liste.</li>
65
+ <li>Utiliser des intitulés explicites pour les éléments du menu ; éviter les abréviations ou les seules icônes.</li>
66
+ <li>Vérifier le focus visible et le contraste des états actifs/sélectionnés, notamment sur fond personnalisé.</li>
67
+ </ul>
68
+ </BestPracticesSection>
69
+
70
+ <ResourcesSection>
71
+ <ul>
72
+ <li><a href="https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/" target="_blank" rel="noopener noreferrer">WAI-ARIA Authoring Practices : Menu button</a></li>
73
+ <li><a href="https://inclusive-components.design/menus-menu-buttons/" target="_blank" rel="noopener noreferrer">Inclusive Components : Menus &amp; Menu Buttons</a></li>
74
+ </ul>
75
+ </ResourcesSection>
76
+ </AccessibilityGuideLayout>
@@ -12,6 +12,7 @@ export { default as HeaderMenuBtn } from './HeaderBar/HeaderMenuBtn/HeaderMenuBt
12
12
  export { default as HeaderLoading } from './HeaderLoading/HeaderLoading.vue'
13
13
  export { default as HeaderToolbar } from './HeaderToolbar/HeaderToolbar.vue'
14
14
  export { default as SubHeader } from './SubHeader/SubHeader.vue'
15
+ export { default as SyHeading } from './SyHeading/SyHeading.vue'
15
16
 
16
17
  // ===========================
17
18
  // Layout
@@ -60,6 +61,7 @@ export { default as SyTextField } from './Customs/SyTextField/SyTextField.vue'
60
61
  export { default as DiacriticPicker } from './DiacriticPicker/DiacriticPicker.vue'
61
62
  export { default as FileUpload } from './FileUpload/FileUpload.vue'
62
63
  export { default as LunarCalendar } from './LunarCalendar/LunarCalendar.vue'
64
+ export { default as MonthPicker } from './MonthPicker/MonthPicker.vue'
63
65
  export { default as NirField } from './NirField/NirField.vue'
64
66
  export * from './NirField/nirValidation'
65
67
  export { default as PasswordField } from './PasswordField/PasswordField.vue'
@@ -8,3 +8,7 @@ export type NavigationProps =
8
8
  | { href: string, to?: never }
9
9
  | { to: RouteLocationRaw, href?: never }
10
10
  | { href?: never, to?: never }
11
+
12
+ // Type pour les rôles ARIA utilisés dans les composants
13
+ export type AriaRole = 'main' | 'region' | 'navigation' | 'contentinfo' | 'banner'
14
+ export type PageAriaRole = 'main' | 'region'
@@ -1,4 +1,4 @@
1
- import { describe, it, expect } from 'vitest'
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
2
2
  import { initializeSelectedDates, type DateInput } from '../useDateInitialization'
3
3
 
4
4
  describe('useDateInitialization', () => {
@@ -76,6 +76,27 @@ describe('useDateInitialization', () => {
76
76
  expect((result2 as Date).getDate()).toBe(15)
77
77
  })
78
78
 
79
+ describe('timezone regression', () => {
80
+ let tzOffsetSpy: ReturnType<typeof vi.spyOn> | null = null
81
+
82
+ beforeEach(() => {
83
+ tzOffsetSpy = vi.spyOn(Date.prototype, 'getTimezoneOffset').mockReturnValue(240)
84
+ })
85
+
86
+ afterEach(() => {
87
+ tzOffsetSpy?.mockRestore()
88
+ tzOffsetSpy = null
89
+ })
90
+
91
+ it('does not shift day when parsing YYYY-MM-DD in a negative timezone (regression)', () => {
92
+ const result = initializeSelectedDates('2022-10-18', 'DD/MM/YYYY', 'YYYY-MM-DD')
93
+ expect(result).toBeInstanceOf(Date)
94
+ expect((result as Date).getFullYear()).toBe(2022)
95
+ expect((result as Date).getMonth()).toBe(9)
96
+ expect((result as Date).getDate()).toBe(18)
97
+ })
98
+ })
99
+
79
100
  it('returns null for object input', () => {
80
101
  const result = initializeSelectedDates({}, 'DD/MM/YYYY')
81
102
  expect(result).toBeNull()
@@ -29,16 +29,13 @@ const parseToUTCDate = (dateStr: string, format: string): Date | null => {
29
29
  if (!parsedDate.isValid()) return null
30
30
 
31
31
  // Extraire les composants de la date à partir de la chaîne
32
- // Créer une date UTC avec les composants exacts pour éviter les décalages de fuseau horaire
33
- // Utiliser set pour définir explicitement l'année, le mois et le jour
34
- return dayjs.utc()
32
+ // Créer une date à minuit en timezone locale pour éviter les décalages jour-1/jour+1
33
+ // dans les fuseaux négatifs/positifs lors des conversions en chaîne (ex: YYYY-MM-DD).
34
+ return dayjs()
35
35
  .year(parsedDate.year())
36
36
  .month(parsedDate.month())
37
37
  .date(parsedDate.date())
38
- .hour(0)
39
- .minute(0)
40
- .second(0)
41
- .millisecond(0)
38
+ .startOf('day')
42
39
  .toDate()
43
40
  }
44
41
 
@@ -172,13 +172,12 @@ export function useDatePickerAccessibility() {
172
172
 
173
173
  container.removeAttribute('aria-expanded')
174
174
  container.removeAttribute('aria-haspopup')
175
- container.removeAttribute('aria-controls')
176
175
  // Find all elements with invalid ARIA attributes
177
176
  const elementsWithAriaHaspopup = container.querySelectorAll('[aria-haspopup="menu"]')
178
177
  elementsWithAriaHaspopup.forEach((element) => {
179
178
  if (!element) return
180
179
  element.removeAttribute('aria-haspopup')
181
- element.removeAttribute('aria-controls')
180
+ // Intentionally keep aria-controls intact so valid popup relationships remain
182
181
  })
183
182
 
184
183
  // Find input elements with invalid ARIA attributes
@@ -187,7 +186,7 @@ export function useDatePickerAccessibility() {
187
186
  if (!input) return
188
187
  input.removeAttribute('aria-haspopup')
189
188
  input.removeAttribute('aria-expanded')
190
- input.removeAttribute('aria-controls')
189
+ // Leave aria-controls untouched to avoid stripping required relationships
191
190
  })
192
191
  })
193
192
  }
@@ -5,15 +5,65 @@ import { nextTick, ref } from 'vue'
5
5
 
6
6
  describe('Filterable', () => {
7
7
  describe('formatFilterName', () => {
8
- it('returns the correct slugified name', () => {
8
+ it('preserves existing behavior for names with spaces', () => {
9
9
  const { formatFilterName } = useFilterable(
10
10
  ref([]),
11
11
  () => {},
12
12
  )
13
13
 
14
14
  const name = formatFilterName('Test Name')
15
-
16
15
  expect(name).toBe('test-name')
16
+
17
+ const anotherName = formatFilterName('My Filter Name')
18
+ expect(anotherName).toBe('my-filter-name')
19
+ })
20
+
21
+ it('preserves existing behavior for names with special characters', () => {
22
+ const { formatFilterName } = useFilterable(
23
+ ref([]),
24
+ () => {},
25
+ )
26
+
27
+ const nameWithSpecialChars = formatFilterName('Filter@Name#Test')
28
+ expect(nameWithSpecialChars).toBe('filternametest')
29
+
30
+ const nameWithSpacesAndSpecial = formatFilterName('My Filter-Name')
31
+ expect(nameWithSpacesAndSpecial).toBe('my-filter-name')
32
+ })
33
+
34
+ it('fixes camelCase issue by preserving case for single words', () => {
35
+ const { formatFilterName } = useFilterable(
36
+ ref([]),
37
+ () => {},
38
+ )
39
+
40
+ const camelCaseName = formatFilterName('totoCase')
41
+ expect(camelCaseName).toBe('totoCase')
42
+
43
+ const anotherCamelCase = formatFilterName('myFilterName')
44
+ expect(anotherCamelCase).toBe('myFilterName')
45
+
46
+ const pascalCase = formatFilterName('MyFilter')
47
+ expect(pascalCase).toBe('MyFilter')
48
+ })
49
+
50
+ it('handles edge cases correctly', () => {
51
+ const { formatFilterName } = useFilterable(
52
+ ref([]),
53
+ () => {},
54
+ )
55
+
56
+ // Single lowercase word
57
+ expect(formatFilterName('name')).toBe('name')
58
+
59
+ // Single uppercase word
60
+ expect(formatFilterName('NAME')).toBe('NAME')
61
+
62
+ // Mixed case with numbers
63
+ expect(formatFilterName('filter123Test')).toBe('filter123Test')
64
+
65
+ // Empty string
66
+ expect(formatFilterName('')).toBe('')
17
67
  })
18
68
  })
19
69
 
@@ -25,7 +25,13 @@ export default function useFilterable(model: Ref<FilterProp>, emits) {
25
25
  }
26
26
 
27
27
  function formatFilterName(name: string): string {
28
- return slugify(name, { lower: true })
28
+ // Si le nom contient des espaces ou caractères spéciaux, comportement actuel
29
+ if (/\s|[^\w]/.test(name)) {
30
+ return slugify(name, { lower: true, strict: true })
31
+ }
32
+
33
+ // Si c'est un seul mot (camelCase ou autre), préserver la casse
34
+ return slugify(name, { strict: true })
29
35
  }
30
36
 
31
37
  /**
@@ -73,11 +73,14 @@ export const useFormFieldErrorHandling = (
73
73
 
74
74
  const validateField = (value: unknown) => {
75
75
  if (props.disableErrorHandling) {
76
+ validation.clearValidation()
76
77
  return true
77
78
  }
78
79
 
79
- // Ne pas valider si la valeur est null/undefined et non requise
80
- if (value == null && !props.required) {
80
+ const isEmptyArray = Array.isArray(value) && value.length === 0
81
+
82
+ // Ne pas valider si la valeur est vide et non requise
83
+ if ((value == null || isEmptyArray) && !props.required) {
81
84
  validation.clearValidation()
82
85
  return true
83
86
  }
@@ -108,6 +111,12 @@ export const useFormFieldErrorHandling = (
108
111
  }
109
112
  })
110
113
 
114
+ watch(() => props.disableErrorHandling, (isDisabled) => {
115
+ if (isDisabled) {
116
+ validation.clearValidation()
117
+ }
118
+ })
119
+
111
120
  watch([() => props.required, () => props.label], () => {
112
121
  // Re-valider quand les règles changent
113
122
  if (modelValue.value != null) {
@@ -2,9 +2,15 @@ import { apSemanticTokens } from './apSemantic'
2
2
  import { apColorsTokens } from './apColors'
3
3
 
4
4
  export const apLightTheme = {
5
- primary: apColorsTokens.cyan.darken40,
5
+ primary: apColorsTokens.cyan.darken20,
6
6
  secondary: apColorsTokens.cyan.darken60,
7
- accent: apColorsTokens.cyan.base,
7
+ accentPrimaryLight: apColorsTokens.blue.lighten20,
8
+ accentPrimary: apColorsTokens.cyan.darken20,
9
+ accentPrimaryContrasted: apColorsTokens.cyan.darken40,
10
+ accentSecondaryLight: apColorsTokens.cyan.base,
11
+ accentSecondary: apColorsTokens.cyan.darken60,
12
+ accentSecondaryContrasted: apColorsTokens.cyan.darken80,
13
+ accentAlt: apColorsTokens.grey.base,
8
14
  error: apColorsTokens.red.darken20,
9
15
  info: apColorsTokens.parma.darken40,
10
16
  avatar: apColorsTokens.cyan.darken20,
@@ -20,12 +26,14 @@ export const apLightTheme = {
20
26
  overlayFullpage: apSemanticTokens.colors.overlay.fullpage,
21
27
  overlayOnDark: apSemanticTokens.colors.overlay.onDark,
22
28
  overlayOnLight: apSemanticTokens.colors.overlay.onLight,
23
- interactiveDefault: apSemanticTokens.colors.interactive.default,
24
- interactiveHover: apSemanticTokens.colors.interactive.hover,
25
- interactivePressed: apSemanticTokens.colors.interactive.pressed,
26
- interactiveFocus: apSemanticTokens.colors.interactive.focus,
27
- interactiveDisabled: apSemanticTokens.colors.interactive.disabled,
28
- interactiveHoverOnSelected: apSemanticTokens.colors.interactive.hoverOnSelected,
29
+ interactiveSelectionEnabled: apSemanticTokens.colors.interactive.selectionEnabled,
30
+ interactiveSelectionHover: apSemanticTokens.colors.interactive.selectionHover,
31
+ interactiveSelectionPressed: apSemanticTokens.colors.interactive.selectionPressed,
32
+ interactiveSelectionSelected: apSemanticTokens.colors.interactive.selectionSelected,
33
+ interactiveSelectionHoverOnSelected: apSemanticTokens.colors.interactive.selectionHoverOnSelected,
34
+ interactiveSelectionSelectedAccent: apSemanticTokens.colors.interactive.selectionselectedAccent,
35
+ interactiveSelectionHoverOnSelectedAccent: apSemanticTokens.colors.interactive.selectionHoverOnSelectedAccent,
36
+ interactiveSelectionDisabled: apSemanticTokens.colors.interactive.selectionDisabled,
29
37
  backgroundMain: apSemanticTokens.colors.background.main,
30
38
  backgroundSurface: apSemanticTokens.colors.background.surface,
31
39
  backgroundSurfaceAlt: apSemanticTokens.colors.background.surfaceAlt,
@@ -54,9 +62,11 @@ export const apLightTheme = {
54
62
  borderDarker: apSemanticTokens.colors.border.darker,
55
63
  borderBase: apSemanticTokens.colors.border.base,
56
64
  borderSubdued: apSemanticTokens.colors.border.subdued,
57
- borderAccent: apSemanticTokens.colors.border.accent,
58
- borderAccentContrasted: apSemanticTokens.colors.border.accentContrasted,
59
- borderAccentOnDark: apSemanticTokens.colors.border.accentOnDark,
65
+ borderAccentPrimary: apSemanticTokens.colors.border.accentPrimary,
66
+ borderAccentPrimaryContrasted: apSemanticTokens.colors.border.accentPrimaryContrasted,
67
+ borderAccentPrimaryOnDark: apSemanticTokens.colors.border.accentPrimaryOnDark,
68
+ borderAccentSecondary: apSemanticTokens.colors.border.accentSecondary,
69
+ borderAccentSecondaryContrasted: apSemanticTokens.colors.border.accentSecondaryContrasted,
60
70
  borderInfo: apSemanticTokens.colors.border.info,
61
71
  borderSuccess: apSemanticTokens.colors.border.success,
62
72
  borderWarning: apSemanticTokens.colors.border.warning,
@@ -65,8 +75,9 @@ export const apLightTheme = {
65
75
  borderDisabled: apSemanticTokens.colors.border.disabled,
66
76
  borderDisabledOnDark: apSemanticTokens.colors.border.disabledOnDark,
67
77
  textBase: apSemanticTokens.colors.text.base,
68
- textAccent: apSemanticTokens.colors.text.accent,
69
- textAccentContrasted: apSemanticTokens.colors.text.accentContrasted,
78
+ textAccentPrimary: apSemanticTokens.colors.text.accentPrimary,
79
+ textAccentPrimaryContrasted: apSemanticTokens.colors.text.accentPrimaryContrasted,
80
+ textAccentSecondary: apSemanticTokens.colors.text.accentSecondary,
70
81
  textSubdued: apSemanticTokens.colors.text.subdued,
71
82
  textInfo: apSemanticTokens.colors.text.info,
72
83
  textSuccess: apSemanticTokens.colors.text.success,
@@ -79,8 +90,9 @@ export const apLightTheme = {
79
90
  iconBase: apSemanticTokens.colors.icon.base,
80
91
  iconSubdued: apSemanticTokens.colors.icon.subdued,
81
92
  iconSubduedOnDark: apSemanticTokens.colors.icon.subduedOnDark,
82
- iconAccent: apSemanticTokens.colors.icon.accent,
83
- iconAccentContrasted: apSemanticTokens.colors.icon.accentContrasted,
93
+ iconAccentPrimary: apSemanticTokens.colors.icon.accentPrimary,
94
+ iconAccentPrimaryContrasted: apSemanticTokens.colors.icon.accentPrimaryContrasted,
95
+ iconAccentSecondary: apSemanticTokens.colors.icon.accentSecondary,
84
96
  iconInfo: apSemanticTokens.colors.icon.info,
85
97
  iconSuccess: apSemanticTokens.colors.icon.success,
86
98
  iconWarning: apSemanticTokens.colors.icon.warning,
@@ -6,8 +6,8 @@ export const apSemanticTokens = {
6
6
  main: apColorsTokens.cyan.lighten97,
7
7
  surface: apColorsTokens.white.base,
8
8
  mainAlt: apColorsTokens.white.base,
9
- surfaceAlt: apColorsTokens.blue.lighten90,
10
- raised: apColorsTokens.blue.lighten97,
9
+ surfaceAlt: apColorsTokens.cyan.lighten80,
10
+ raised: apColorsTokens.cyan.lighten97,
11
11
  accent: apColorsTokens.cyan.darken20,
12
12
  accentContrasted: apColorsTokens.cyan.darken60,
13
13
  accentAlt: apColorsTokens.grey.base,
@@ -33,9 +33,11 @@ export const apSemanticTokens = {
33
33
  darker: apColorsTokens.grey.darken60,
34
34
  base: apColorsTokens.grey.lighten40,
35
35
  subdued: apColorsTokens.grey.lighten80,
36
- accent: apColorsTokens.cyan.darken20,
37
- accentContrasted: apColorsTokens.cyan.darken40,
38
- accentOnDark: apColorsTokens.white.base,
36
+ accentPrimary: apColorsTokens.cyan.darken20,
37
+ accentPrimaryContrasted: apColorsTokens.cyan.darken40,
38
+ accentPrimaryOnDark: apColorsTokens.white.base,
39
+ accentSecondary: apColorsTokens.cyan.darken60,
40
+ accentSecondaryContrasted: apColorsTokens.cyan.darken40,
39
41
  info: apColorsTokens.parma.darken40,
40
42
  success: apColorsTokens.forestGreen.base,
41
43
  warning: apColorsTokens.yellow.darken60,
@@ -46,8 +48,9 @@ export const apSemanticTokens = {
46
48
  },
47
49
  text: {
48
50
  base: apColorsTokens.grey.darken60,
49
- accent: apColorsTokens.cyan.darken20,
50
- accentContrasted: apColorsTokens.cyan.darken40,
51
+ accentPrimary: apColorsTokens.cyan.darken20,
52
+ accentPrimaryContrasted: apColorsTokens.cyan.darken40,
53
+ accentSecondary: apColorsTokens.cyan.darken60,
51
54
  subdued: apColorsTokens.grey.base,
52
55
  info: apColorsTokens.parma.darken40,
53
56
  success: apColorsTokens.forestGreen.base,
@@ -62,8 +65,9 @@ export const apSemanticTokens = {
62
65
  base: apColorsTokens.grey.darken60,
63
66
  subdued: apColorsTokens.grey.base,
64
67
  subduedOnDark: apColorsTokens.white.lighten70,
65
- accent: apColorsTokens.cyan.darken20,
66
- accentContrasted: apColorsTokens.cyan.darken40,
68
+ accentPrimary: apColorsTokens.cyan.darken20,
69
+ accentPrimaryContrasted: apColorsTokens.cyan.darken40,
70
+ accentSecondary: apColorsTokens.cyan.darken80,
67
71
  info: apColorsTokens.parma.darken40,
68
72
  success: apColorsTokens.forestGreen.darken60,
69
73
  warning: apColorsTokens.yellow.darken60,
@@ -78,12 +82,14 @@ export const apSemanticTokens = {
78
82
  onLight: apColorsTokens.white.base,
79
83
  },
80
84
  interactive: {
81
- default: apColorsTokens.white.base,
82
- hover: apColorsTokens.cyan.lighten90,
83
- pressed: apColorsTokens.cyan.lighten80,
84
- focus: apColorsTokens.blue.lighten90,
85
- disabled: apColorsTokens.white.base,
86
- hoverOnSelected: apColorsTokens.blue.lighten80,
85
+ selectionEnabled: apColorsTokens.white.base,
86
+ selectionHover: apColorsTokens.blue.lighten80,
87
+ selectionPressed: apColorsTokens.blue.lighten60,
88
+ selectionSelected: apColorsTokens.blue.lighten80,
89
+ selectionHoverOnSelected: apColorsTokens.blue.lighten60,
90
+ selectionselectedAccent: apColorsTokens.cyan.darken20,
91
+ selectionHoverOnSelectedAccent: apColorsTokens.cyan.lighten20,
92
+ selectionDisabled: apColorsTokens.white.base,
87
93
  },
88
94
  },
89
95
  }
@@ -5,7 +5,12 @@ export const cnamContextualTokens = {
5
5
  text: '#333333',
6
6
  icon: '#666666',
7
7
  overlay: 'rgba(0, 0, 0, 0.5)',
8
- interactive: '#007bff',
8
+ interactive: '#fff',
9
+ interactiveHover: '#E7ECF5',
10
+ interactivePressed: '#CED9EB',
11
+ interactiveFocus: '#E7ECF5',
12
+ interactiveDisabled: '#fff',
13
+ interactiveHoverOnSelected: '#CED9EB',
9
14
  },
10
15
  gap: {
11
16
  0: '0',
@@ -4,7 +4,13 @@ import { cnamSemanticTokens } from './cnamSemantic'
4
4
  export const cnamLightTheme = {
5
5
  primary: cnamColorsTokens.blue.base,
6
6
  secondary: cnamColorsTokens.cyan.darken40,
7
- accent: cnamColorsTokens.cyan.base,
7
+ accentPrimaryLight: cnamColorsTokens.blue.lighten20,
8
+ accentPrimary: cnamColorsTokens.blue.base,
9
+ accentPrimaryContrasted: cnamColorsTokens.blue.darken40,
10
+ accentSecondaryLight: cnamColorsTokens.cyan.lighten60,
11
+ accentSecondary: cnamColorsTokens.cyan.base,
12
+ accentSecondaryContrasted: cnamColorsTokens.cyan.darken40,
13
+ accentAlt: cnamColorsTokens.grey.base,
8
14
  error: cnamColorsTokens.orange.darken20,
9
15
  info: cnamColorsTokens.blue.base,
10
16
  avatar: cnamColorsTokens.cyan.darken20,
@@ -20,16 +26,19 @@ export const cnamLightTheme = {
20
26
  overlayFullpage: cnamSemanticTokens.colors.overlay.fullpage,
21
27
  overlayOnDark: cnamSemanticTokens.colors.overlay.onDark,
22
28
  overlayOnLight: cnamSemanticTokens.colors.overlay.onLight,
23
- interactiveDefault: cnamSemanticTokens.colors.interactive.default,
24
- interactiveHover: cnamSemanticTokens.colors.interactive.hover,
25
- interactivePressed: cnamSemanticTokens.colors.interactive.pressed,
26
- interactiveFocus: cnamSemanticTokens.colors.interactive.focus,
27
- interactiveDisabled: cnamSemanticTokens.colors.interactive.disabled,
28
- interactiveHoverOnSelected: cnamSemanticTokens.colors.interactive.hoverOnSelected,
29
+ interactiveSelectionEnabled: cnamSemanticTokens.colors.interactive.selectionEnabled,
30
+ interactiveSelectionHover: cnamSemanticTokens.colors.interactive.selectionHover,
31
+ interactiveSelectionPressed: cnamSemanticTokens.colors.interactive.selectionPressed,
32
+ interactiveSelectionSelected: cnamSemanticTokens.colors.interactive.selectionSelected,
33
+ interactiveSelectionHoverOnSelected: cnamSemanticTokens.colors.interactive.selectionHoverOnSelected,
34
+ interactiveSelectionSelectedAccent: cnamSemanticTokens.colors.interactive.selectionselectedAccent,
35
+ interactiveSelectionHoverOnSelectedAccent: cnamSemanticTokens.colors.interactive.selectionHoverOnSelectedAccent,
36
+ interactiveSelectionDisabled: cnamSemanticTokens.colors.interactive.selectionDisabled,
29
37
  backgroundMain: cnamSemanticTokens.colors.background.main,
38
+ backgroundMainAlt: cnamSemanticTokens.colors.background.mainAlt,
39
+ backgroundMainTer: cnamSemanticTokens.colors.background.mainTer,
30
40
  backgroundSurface: cnamSemanticTokens.colors.background.surface,
31
41
  backgroundSurfaceAlt: cnamSemanticTokens.colors.background.surfaceAlt,
32
- backgroundMainAlt: cnamSemanticTokens.colors.background.mainAlt,
33
42
  backgroundRaised: cnamSemanticTokens.colors.background.raised,
34
43
  backgroundAccent: cnamSemanticTokens.colors.background.accent,
35
44
  backgroundAccentContrasted: cnamSemanticTokens.colors.background.accentContrasted,
@@ -54,9 +63,11 @@ export const cnamLightTheme = {
54
63
  borderDarker: cnamSemanticTokens.colors.border.darker,
55
64
  borderBase: cnamSemanticTokens.colors.border.base,
56
65
  borderSubdued: cnamSemanticTokens.colors.border.subdued,
57
- borderAccent: cnamSemanticTokens.colors.border.accent,
58
- borderAccentContrasted: cnamSemanticTokens.colors.border.accentContrasted,
59
- borderAccentOnDark: cnamSemanticTokens.colors.border.accentOnDark,
66
+ borderAccentPrimary: cnamSemanticTokens.colors.border.accentPrimary,
67
+ borderAccentPrimaryContrasted: cnamSemanticTokens.colors.border.accentPrimaryContrasted,
68
+ borderAccentPrimaryOnDark: cnamSemanticTokens.colors.border.accentPrimaryOnDark,
69
+ borderAccentSecondary: cnamSemanticTokens.colors.border.accentSecondary,
70
+ borderAccentSecondaryContrasted: cnamSemanticTokens.colors.border.accentSecondaryContrasted,
60
71
  borderInfo: cnamSemanticTokens.colors.border.info,
61
72
  borderSuccess: cnamSemanticTokens.colors.border.success,
62
73
  borderWarning: cnamSemanticTokens.colors.border.warning,
@@ -65,8 +76,9 @@ export const cnamLightTheme = {
65
76
  borderDisabled: cnamSemanticTokens.colors.border.disabled,
66
77
  borderDisabledOnDark: cnamSemanticTokens.colors.border.disabledOnDark,
67
78
  textBase: cnamSemanticTokens.colors.text.base,
68
- textAccent: cnamSemanticTokens.colors.text.accent,
69
- textAccentContrasted: cnamSemanticTokens.colors.text.accentContrasted,
79
+ textAccentPrimary: cnamSemanticTokens.colors.text.accentPrimary,
80
+ textAccentPrimaryContrasted: cnamSemanticTokens.colors.text.accentPrimaryContrasted,
81
+ textAccentSecondary: cnamSemanticTokens.colors.text.accentSecondary,
70
82
  textSubdued: cnamSemanticTokens.colors.text.subdued,
71
83
  textInfo: cnamSemanticTokens.colors.text.info,
72
84
  textSuccess: cnamSemanticTokens.colors.text.success,
@@ -79,8 +91,9 @@ export const cnamLightTheme = {
79
91
  iconBase: cnamSemanticTokens.colors.icon.base,
80
92
  iconSubdued: cnamSemanticTokens.colors.icon.subdued,
81
93
  iconSubduedOnDark: cnamSemanticTokens.colors.icon.subduedOnDark,
82
- iconAccent: cnamSemanticTokens.colors.icon.accent,
83
- iconAccentContrasted: cnamSemanticTokens.colors.icon.accentContrasted,
94
+ iconAccentPrimary: cnamSemanticTokens.colors.icon.accentPrimary,
95
+ iconAccentPrimaryContrasted: cnamSemanticTokens.colors.icon.accentPrimaryContrasted,
96
+ iconAccentSecondary: cnamSemanticTokens.colors.icon.accentSecondary,
84
97
  iconInfo: cnamSemanticTokens.colors.icon.info,
85
98
  iconSuccess: cnamSemanticTokens.colors.icon.success,
86
99
  iconWarning: cnamSemanticTokens.colors.icon.warning,
@@ -6,6 +6,7 @@ export const cnamSemanticTokens = {
6
6
  main: cnamColorsTokens.blue.lighten90,
7
7
  surface: cnamColorsTokens.white.base,
8
8
  mainAlt: cnamColorsTokens.white.base,
9
+ mainTer: cnamColorsTokens.grey.lighten97,
9
10
  surfaceAlt: cnamColorsTokens.blue.lighten90,
10
11
  raised: cnamColorsTokens.blue.lighten97,
11
12
  accent: cnamColorsTokens.blue.base,
@@ -14,7 +15,7 @@ export const cnamSemanticTokens = {
14
15
  info: cnamColorsTokens.blue.lighten80,
15
16
  infoSubdued: cnamColorsTokens.blue.lighten90,
16
17
  infoContrasted: cnamColorsTokens.blue.base,
17
- success: cnamColorsTokens.orange.darken40,
18
+ success: cnamColorsTokens.turquoise.lighten80,
18
19
  successSubdued: cnamColorsTokens.turquoise.lighten90,
19
20
  successContrasted: cnamColorsTokens.green.base,
20
21
  warning: cnamColorsTokens.yellow.lighten80,
@@ -33,9 +34,11 @@ export const cnamSemanticTokens = {
33
34
  darker: cnamColorsTokens.grey.darken60,
34
35
  base: cnamColorsTokens.grey.lighten40,
35
36
  subdued: cnamColorsTokens.grey.lighten80,
36
- accent: cnamColorsTokens.blue.base,
37
- accentContrasted: cnamColorsTokens.blue.darken40,
38
- accentOnDark: cnamColorsTokens.white.base,
37
+ accentPrimary: cnamColorsTokens.blue.base,
38
+ accentPrimaryContrasted: cnamColorsTokens.blue.darken40,
39
+ accentPrimaryOnDark: cnamColorsTokens.white.base,
40
+ accentSecondary: cnamColorsTokens.cyan.base,
41
+ accentSecondaryContrasted: cnamColorsTokens.cyan.darken40,
39
42
  info: cnamColorsTokens.blue.base,
40
43
  success: cnamColorsTokens.green.darken60,
41
44
  warning: cnamColorsTokens.yellow.darken40,
@@ -46,8 +49,9 @@ export const cnamSemanticTokens = {
46
49
  },
47
50
  text: {
48
51
  base: cnamColorsTokens.grey.darken60,
49
- accent: cnamColorsTokens.blue.base,
50
- accentContrasted: cnamColorsTokens.blue.darken40,
52
+ accentPrimary: cnamColorsTokens.blue.base,
53
+ accentPrimaryContrasted: cnamColorsTokens.blue.darken40,
54
+ accentSecondary: cnamColorsTokens.cyan.darken60,
51
55
  subdued: cnamColorsTokens.grey.base,
52
56
  info: cnamColorsTokens.blue.base,
53
57
  success: cnamColorsTokens.green.darken60,
@@ -62,8 +66,9 @@ export const cnamSemanticTokens = {
62
66
  base: cnamColorsTokens.grey.darken60,
63
67
  subdued: cnamColorsTokens.grey.base,
64
68
  subduedOnDark: cnamColorsTokens.white.lighten70,
65
- accent: cnamColorsTokens.blue.base,
66
- accentContrasted: cnamColorsTokens.blue.darken40,
69
+ accentPrimary: cnamColorsTokens.blue.base,
70
+ accentPrimaryContrasted: cnamColorsTokens.blue.darken40,
71
+ accentSecondary: cnamColorsTokens.cyan.darken40,
67
72
  info: cnamColorsTokens.blue.base,
68
73
  success: cnamColorsTokens.green.darken60,
69
74
  warning: cnamColorsTokens.yellow.darken40,
@@ -78,12 +83,14 @@ export const cnamSemanticTokens = {
78
83
  onLight: cnamColorsTokens.blue.base,
79
84
  },
80
85
  interactive: {
81
- default: cnamColorsTokens.white.base,
82
- hover: cnamColorsTokens.blue.lighten90,
83
- pressed: cnamColorsTokens.blue.lighten80,
84
- focus: cnamColorsTokens.blue.lighten90,
85
- disabled: cnamColorsTokens.white.base,
86
- hoverOnSelected: cnamColorsTokens.blue.lighten80,
86
+ selectionEnabled: cnamColorsTokens.white.base,
87
+ selectionHover: cnamColorsTokens.blue.lighten90,
88
+ selectionPressed: cnamColorsTokens.blue.lighten80,
89
+ selectionSelected: cnamColorsTokens.blue.lighten90,
90
+ selectionHoverOnSelected: cnamColorsTokens.blue.lighten80,
91
+ selectionselectedAccent: cnamColorsTokens.blue.base,
92
+ selectionHoverOnSelectedAccent: cnamColorsTokens.blue.lighten20,
93
+ selectionDisabled: cnamColorsTokens.white.base,
87
94
  },
88
95
  },
89
96
  }