@cnamts/synapse 1.0.20 → 1.0.22

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 (414) hide show
  1. package/dist/{DateFilter-XURUmpMl.js → DateFilter-B5n-ZkLi.js} +29 -24
  2. package/dist/{NumberFilter-BZc0O8wV.js → NumberFilter-CtiZ9uj8.js} +1 -1
  3. package/dist/{PeriodFilter-ZNdXcl3p.js → PeriodFilter-DzqiMb-b.js} +1 -1
  4. package/dist/{SelectFilter-DshYU5OK.js → SelectFilter-BOYlF7rX.js} +1 -1
  5. package/dist/{TextFilter-D_c5dRPl.js → TextFilter-BOFRNfcX.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7399 -5967
  7. package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +1 -1
  8. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +1 -1
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +10 -14
  10. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +1 -1
  11. package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +1 -1
  12. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.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 +2411 -2027
  27. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8889 -7327
  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 +8888 -7334
  31. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +951 -839
  32. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1613 -1357
  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 +1088 -847
  42. package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +1 -1
  43. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +515 -321
  44. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +162 -0
  45. package/dist/components/Customs/SyCheckBoxGroup/locales.d.ts +3 -0
  46. package/dist/components/Customs/SyCheckBoxGroup/types.d.ts +10 -0
  47. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1668 -5
  48. package/dist/components/Customs/SyForm/SyForm.d.ts +356 -348
  49. package/dist/components/Customs/SyPagination/SyPagination.d.ts +11 -1
  50. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +1609 -4
  51. package/dist/components/Customs/SyTextField/SyTextField.d.ts +1629 -1365
  52. package/dist/components/DataList/DataList.d.ts +1 -1
  53. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3868 -3123
  54. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1946 -1562
  55. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +833 -687
  56. package/dist/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.d.ts +60 -0
  57. package/dist/components/DialogBox/DialogBox.d.ts +482 -416
  58. package/dist/components/DownloadBtn/config.d.ts +1 -1
  59. package/dist/components/ErrorPage/ErrorPage.d.ts +5 -12
  60. package/dist/components/ErrorPage/locales.d.ts +18 -3
  61. package/dist/components/FileList/UploadItem/locales.d.ts +4 -0
  62. package/dist/components/FileUpload/FileUpload.d.ts +6 -4
  63. package/dist/components/FileUpload/locales.d.ts +1 -0
  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 +1 -0
  69. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -0
  70. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +3 -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/MaintenancePage/locales.d.ts +18 -2
  76. package/dist/components/NirField/NirField.d.ts +1659 -1371
  77. package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
  78. package/dist/components/NotFoundPage/locales.d.ts +20 -4
  79. package/dist/components/PageContainer/PageContainer.d.ts +3 -1
  80. package/dist/components/PasswordField/PasswordField.d.ts +1 -1
  81. package/dist/components/PeriodField/PeriodField.d.ts +7712 -6216
  82. package/dist/components/PhoneField/PhoneField.d.ts +831 -687
  83. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +4 -12
  84. package/dist/components/StatusPage/StatusPage.d.ts +50 -0
  85. package/dist/components/SubHeader/SubHeader.d.ts +2 -0
  86. package/dist/components/SyAlert/SyAlert.d.ts +74 -70
  87. package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +10 -1
  88. package/dist/components/SyHeading/SyHeading.d.ts +20 -0
  89. package/dist/components/SyTextArea/SyTextArea.d.ts +476 -420
  90. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +759 -468
  91. package/dist/components/Tables/SyTable/SyTable.d.ts +761 -470
  92. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  93. package/dist/components/Tables/common/SyTablePagination.d.ts +269 -170
  94. package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -1
  95. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  96. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  97. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  98. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  99. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +166 -138
  100. package/dist/components/Tables/common/types.d.ts +2 -0
  101. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +35 -1212
  102. package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
  103. package/dist/components/index.d.ts +4 -0
  104. package/dist/components/types.d.ts +2 -0
  105. package/dist/design-system-v3.js +131 -127
  106. package/dist/design-system-v3.umd.cjs +274 -274
  107. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +26 -14
  108. package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +19 -13
  109. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +28 -15
  110. package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +20 -13
  111. package/dist/designTokens/tokens/pa/paLightTheme.d.ts +26 -15
  112. package/dist/designTokens/tokens/pa/paSemantic.d.ts +19 -13
  113. package/dist/main-CEl4J8_T.js +37241 -0
  114. package/dist/style.css +1 -1
  115. package/dist/utils/theme/index.d.ts +6 -0
  116. package/dist/vuetifyConfig.d.ts +14 -14
  117. package/package.json +16 -7
  118. package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
  119. package/src/assets/apTokens.scss +53 -17
  120. package/src/assets/overrides/_icons.scss +12 -2
  121. package/src/assets/overrides/_tooltips.scss +5 -6
  122. package/src/assets/overrides/_typography.scss +17 -2
  123. package/src/assets/overrides/_utilities.scss +49 -3
  124. package/src/assets/tokens.scss +53 -17
  125. package/src/components/Accordion/accessibilite/Accessibility.mdx +5 -4
  126. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +2 -2
  127. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +0 -2
  128. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +2 -2
  129. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +14 -56
  130. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
  131. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +15 -23
  132. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
  133. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +15 -3
  134. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
  135. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +0 -98
  136. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +1 -1
  137. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +5 -16
  138. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +3 -1
  139. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +7 -0
  140. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +0 -1
  141. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +0 -1
  142. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +0 -52
  143. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +6 -0
  144. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +3 -1
  145. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +19 -0
  146. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
  147. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -4
  148. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +2 -13
  149. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.mdx +3 -1
  150. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +7 -0
  151. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +8 -0
  152. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -2
  153. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +28 -10
  154. package/src/components/Amelipro/AmeliproPostalAddressField/__tests__/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +44 -8
  155. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
  156. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +15 -3
  157. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +1 -1
  158. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +0 -1
  159. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +6 -0
  160. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +2 -4
  161. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +0 -2
  162. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +8 -0
  163. package/src/components/BackBtn/BackBtn.vue +1 -1
  164. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +36 -18
  165. package/src/components/ChipList/ChipList.vue +4 -2
  166. package/src/components/CollapsibleList/CollapsibleList.stories.ts +8 -3
  167. package/src/components/CollapsibleList/CollapsibleList.vue +14 -6
  168. package/src/components/CollapsibleList/accessibilite/Accessibility.mdx +19 -6
  169. package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +1 -0
  170. package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +2 -0
  171. package/src/components/ContextualMenu/ContextualMenu.stories.ts +0 -3
  172. package/src/components/ContextualMenu/accessibilite/Accessibility.mdx +67 -11
  173. package/src/components/CookieBanner/CookieBanner.stories.ts +21 -20
  174. package/src/components/CookieBanner/CookieBanner.vue +35 -10
  175. package/src/components/CookieBanner/accessibilite/Accessibility.mdx +76 -11
  176. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +56 -4
  177. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +21 -15
  178. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +17 -8
  179. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +1 -0
  180. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +5 -0
  181. package/src/components/CookiesSelection/CookiesSelection.vue +7 -2
  182. package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +1 -0
  183. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +5 -0
  184. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +21 -15
  185. package/src/components/CopyBtn/CopyBtn.vue +6 -4
  186. package/src/components/CopyBtn/accessibilite/Accessibility.mdx +82 -11
  187. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +5 -1
  188. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -10
  189. package/src/components/Customs/Selects/SySelect/SySelect.mdx +0 -1
  190. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +10 -10
  191. package/src/components/Customs/Selects/SySelect/SySelect.vue +17 -0
  192. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
  193. package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +1 -3
  194. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +72 -0
  195. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.mdx +32 -0
  196. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.stories.ts +856 -0
  197. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +334 -0
  198. package/src/components/Customs/SyCheckBoxGroup/accessibilite/Accessibility.mdx +243 -0
  199. package/src/components/Customs/SyCheckBoxGroup/locales.ts +3 -0
  200. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.a11y.spec.ts +30 -0
  201. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.spec.ts +152 -0
  202. package/src/components/Customs/SyCheckBoxGroup/types.ts +10 -0
  203. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +17 -28
  204. package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +1 -1
  205. package/src/components/Customs/SyForm/SyForm.a11y.spec.ts +1 -1
  206. package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +31 -2
  207. package/src/components/Customs/SyIcon/SyIcon.vue +9 -5
  208. package/src/components/Customs/SyPagination/SyPagination.stories.ts +14 -2
  209. package/src/components/Customs/SyPagination/SyPagination.vue +20 -5
  210. package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +79 -8
  211. package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +38 -12
  212. package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
  213. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +16 -43
  214. package/src/components/Customs/SyTextField/SyTextField.stories.ts +4 -0
  215. package/src/components/Customs/SyTextField/SyTextField.vue +39 -5
  216. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +28 -3
  217. package/src/components/DatePicker/CalendarMode/DatePicker.vue +55 -19
  218. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
  219. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +44 -3
  220. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
  221. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +9 -1
  222. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +48 -21
  223. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +98 -0
  224. package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +23 -9
  225. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +21 -8
  226. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +50 -22
  227. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +48 -10
  228. package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +16 -3
  229. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.mdx +83 -0
  230. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.stories.ts +502 -0
  231. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.vue +428 -0
  232. package/src/components/DeclarationAccessibilityPage/accessibilite/Accessibility.mdx +75 -0
  233. package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.a11y.spec.ts +53 -0
  234. package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.spec.ts +59 -0
  235. package/src/components/DiacriticPicker/DiacriticPicker.vue +20 -1
  236. package/src/components/DialogBox/DialogBox.stories.ts +13 -0
  237. package/src/components/DialogBox/DialogBox.vue +12 -5
  238. package/src/components/DialogBox/accessibilite/Accessibility.mdx +27 -7
  239. package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +1 -0
  240. package/src/components/DialogBox/tests/DialogBox.spec.ts +40 -6
  241. package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +73 -11
  242. package/src/components/DownloadBtn/config.ts +1 -1
  243. package/src/components/ErrorPage/ErrorPage.mdx +6 -16
  244. package/src/components/ErrorPage/ErrorPage.stories.ts +90 -126
  245. package/src/components/ErrorPage/ErrorPage.vue +44 -125
  246. package/src/components/ErrorPage/accessibilite/Accessibility.mdx +83 -6
  247. package/src/components/ErrorPage/assets/error-ap.svg +1774 -0
  248. package/src/components/ErrorPage/locales.ts +21 -3
  249. package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +5 -13
  250. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +2 -41
  251. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +10 -266
  252. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
  253. package/src/components/FileList/FileList.stories.ts +4 -0
  254. package/src/components/FileList/UploadItem/UploadItem.vue +8 -3
  255. package/src/components/FileList/UploadItem/locales.ts +10 -0
  256. package/src/components/FileList/accessibilite/Accessibility.mdx +55 -7
  257. package/src/components/FileUpload/FileUpload.vue +65 -37
  258. package/src/components/FileUpload/FileUploadContent.vue +1 -1
  259. package/src/components/FileUpload/accessibilite/Accessibility.mdx +48 -5
  260. package/src/components/FileUpload/locales.ts +1 -0
  261. package/src/components/FileUpload/tests/FileUpload.spec.ts +14 -14
  262. package/src/components/FilterInline/FilterInline.stories.ts +0 -15
  263. package/src/components/FilterInline/FilterInline.vue +1 -0
  264. package/src/components/FilterInline/accessibilite/Accessibility.mdx +70 -7
  265. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +3 -3
  266. package/src/components/FilterSideBar/FilterSideBar.stories.ts +0 -3
  267. package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
  268. package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +70 -9
  269. package/src/components/FooterBar/FooterBar.stories.ts +316 -48
  270. package/src/components/FooterBar/FooterBar.vue +67 -9
  271. package/src/components/FooterBar/config.ts +2 -2
  272. package/src/components/FooterBar/defaultSocialMediaLinks.ts +6 -4
  273. package/src/components/FooterBar/locales.ts +1 -0
  274. package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
  275. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +6 -25
  276. package/src/components/FooterBar/types.d.ts +1 -0
  277. package/src/components/HeaderBar/HeaderBar.stories.ts +23 -1
  278. package/src/components/HeaderBar/HeaderBar.vue +4 -0
  279. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +7 -2
  280. package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +5 -0
  281. package/src/components/HeaderBar/accessibilite/Accessibility.mdx +24 -5
  282. package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +1 -0
  283. package/src/components/HeaderBar/tests/HeaderBar.spec.ts +3 -0
  284. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +4 -0
  285. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -0
  286. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +3 -0
  287. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +22 -0
  288. package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -5
  289. package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +2 -0
  290. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +44 -0
  291. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +2 -0
  292. package/src/components/MaintenancePage/MaintenancePage.mdx +1 -1
  293. package/src/components/MaintenancePage/MaintenancePage.vue +42 -7
  294. package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +63 -6
  295. package/src/components/MaintenancePage/assets/maintenance-ap.svg +1718 -0
  296. package/src/components/MaintenancePage/locales.ts +24 -3
  297. package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +76 -3
  298. package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +60 -2
  299. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +5 -2
  300. package/src/components/NotFoundPage/NotFoundPage.mdx +1 -1
  301. package/src/components/NotFoundPage/NotFoundPage.stories.ts +4 -4
  302. package/src/components/NotFoundPage/NotFoundPage.vue +30 -14
  303. package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +80 -6
  304. package/src/components/NotFoundPage/assets/not-found-ap.svg +2061 -0
  305. package/src/components/NotFoundPage/locales.ts +24 -4
  306. package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +217 -4
  307. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +123 -12
  308. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +4 -2
  309. package/src/components/NotificationBar/NotificationBar.mdx +2 -2
  310. package/src/components/NotificationBar/accessibilite/Accessibility.mdx +68 -8
  311. package/src/components/PageContainer/PageContainer.stories.ts +47 -0
  312. package/src/components/PageContainer/PageContainer.vue +4 -2
  313. package/src/components/PageContainer/accessibilite/Accessibility.mdx +67 -0
  314. package/src/components/PageContainer/tests/PageContainer.a11y.spec.ts +14 -7
  315. package/src/components/PaginatedTable/PaginatedTable.mdx +3 -3
  316. package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -1
  317. package/src/components/PeriodField/PeriodField.vue +4 -0
  318. package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +10 -1
  319. package/src/components/PhoneField/PhoneField.stories.ts +115 -69
  320. package/src/components/PhoneField/PhoneField.vue +152 -83
  321. package/src/components/PhoneField/accessibilite/Accessibility.mdx +306 -9
  322. package/src/components/PhoneField/indicatifs.ts +2 -2
  323. package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +22 -9
  324. package/src/components/PhoneField/tests/PhoneField.spec.ts +82 -5
  325. package/src/components/SearchListField/SearchListField.vue +1 -1
  326. package/src/components/SearchListField/accessibilite/Accessibility.mdx +69 -9
  327. package/src/components/SearchListField/tests/SearchListField.a11y.spec.ts +37 -0
  328. package/src/components/SocialMediaLinks/DefaultSocialMediaLinks.ts +6 -4
  329. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +7 -5
  330. package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +17 -13
  331. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +10 -2
  332. package/src/components/SocialMediaLinks/accessibilite/Accessibility.mdx +63 -11
  333. package/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.ts +5 -5
  334. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.a11y.spec.ts +59 -0
  335. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +9 -7
  336. package/src/components/StatusPage/StatusPage.mdx +31 -0
  337. package/src/components/StatusPage/StatusPage.stories.ts +236 -0
  338. package/src/components/StatusPage/StatusPage.vue +167 -0
  339. package/src/components/StatusPage/accessibilite/Accessibility.mdx +100 -0
  340. package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +30 -0
  341. package/src/components/StatusPage/tests/StatusPage.spec.ts +53 -0
  342. package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +272 -0
  343. package/src/components/SubHeader/SubHeader.stories.ts +16 -0
  344. package/src/components/SubHeader/SubHeader.vue +6 -3
  345. package/src/components/SubHeader/accessibilite/Accessibility.mdx +27 -6
  346. package/src/components/SyAlert/SyAlert.vue +21 -20
  347. package/src/components/SyBtnMenu/SyBtnMenu.vue +33 -17
  348. package/src/components/SyBtnMenu/tests/SyBtnMenu.a11y.spec.ts +38 -0
  349. package/src/components/SyBtnMenu/tests/SyBtnMenu.spec.ts +41 -0
  350. package/src/components/SyHeading/SyHeading.vue +18 -0
  351. package/src/components/TableToolbar/TableToolbar.stories.ts +6 -6
  352. package/src/components/TableToolbar/TableToolbar.vue +1 -1
  353. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -35
  354. package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -0
  355. package/src/components/Tables/SyTable/SyTable.vue +2 -0
  356. package/src/components/Tables/common/SyTablePagination.vue +16 -10
  357. package/src/components/Tables/common/filters/DateFilter.vue +5 -0
  358. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +40 -24
  359. package/src/components/Tables/common/types.ts +3 -0
  360. package/src/components/UploadWorkflow/UploadWorkflow.mdx +11 -1
  361. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +118 -14
  362. package/src/components/UploadWorkflow/UploadWorkflow.vue +59 -31
  363. package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +56 -5
  364. package/src/components/UploadWorkflow/accessibilite/UploadWorkflow.a11y.spec.ts +110 -0
  365. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +37 -7
  366. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +139 -112
  367. package/src/components/UploadWorkflow/useFileList.ts +7 -0
  368. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +53 -31
  369. package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -1
  370. package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +72 -8
  371. package/src/components/index.ts +4 -0
  372. package/src/components/types.ts +4 -0
  373. package/src/composables/date/tests/useDateInitialization.spec.ts +22 -1
  374. package/src/composables/date/useDateInitializationDayjs.ts +4 -7
  375. package/src/composables/date/useDatePickerAccessibility.ts +2 -3
  376. package/src/composables/rules/tests/useFieldValidation.spec.ts +39 -3
  377. package/src/composables/rules/useFieldValidation.ts +24 -9
  378. package/src/composables/useFilterable/useFilterable.spec.ts +52 -2
  379. package/src/composables/useFilterable/useFilterable.ts +7 -1
  380. package/src/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
  381. package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
  382. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +28 -15
  383. package/src/designTokens/tokens/cnam/cnamSemantic.ts +21 -14
  384. package/src/designTokens/tokens/pa/paLightTheme.ts +27 -16
  385. package/src/designTokens/tokens/pa/paSemantic.ts +19 -13
  386. package/src/directives/rgaaSvgFix.ts +2 -7
  387. package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/Exemptions-derogations.mdx +1 -1
  388. package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +188 -0
  389. package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/RGAA.mdx +1 -1
  390. package/src/stories/Accessibilite/Introduction.mdx +22 -3
  391. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +21 -22
  392. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +7 -0
  393. package/src/stories/DeprecationNotice/DeprecationNotice.ts +41 -0
  394. package/src/stories/DesignTokens/ColorDisplay.vue +12 -5
  395. package/src/stories/DesignTokens/Colors.mdx +8 -59
  396. package/src/stories/DesignTokens/colors.stories.ts +1862 -1071
  397. package/src/stories/EcoConception/EcoGuideComponent.vue +10 -4
  398. package/src/utils/theme/index.ts +19 -0
  399. package/src/utils/theme/tests/useThemeLocales.spec.ts +245 -0
  400. package/dist/components/MaintenancePage/index.d.ts +0 -2
  401. package/dist/main-CuI6xaPq.js +0 -36396
  402. package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +0 -51
  403. package/src/components/DataListItem/tests/DataListItem.a11y.spec.ts +0 -31
  404. package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +0 -27
  405. package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +0 -26
  406. package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +0 -39
  407. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.a11y.spec.ts +0 -45
  408. package/src/components/HeaderToolbar/tests/HeaderToolbar.a11y.spec.ts +0 -25
  409. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +0 -31
  410. package/src/components/MaintenancePage/index.ts +0 -3
  411. package/src/components/PageContainer/Accessibilite/Accessibility.mdx +0 -53
  412. package/src/components/PageContainer/Accessibilite/AccessibilityGuide.mdx +0 -0
  413. package/src/components/PaginatedTable/tests/PaginatedTable.a11y.spec.ts +0 -43
  414. /package/src/components/NotFoundPage/assets/{not-found.svg → not-found-cnam.svg} +0 -0
@@ -118,11 +118,17 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
118
118
  >
119
119
  <!---->
120
120
  <div
121
- class="v-progress-linear__background"
121
+ class="
122
+ bg-primary
123
+ v-progress-linear__background
124
+ "
122
125
  style="opacity: NaN;"
123
126
  ></div>
124
127
  <div
125
- class="v-progress-linear__buffer"
128
+ class="
129
+ bg-primary
130
+ v-progress-linear__buffer
131
+ "
126
132
  style="
127
133
  opacity: NaN;
128
134
  width: 0%;
@@ -136,10 +142,12 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
136
142
  >
137
143
  <div class="v-progress-linear__indeterminate">
138
144
  <div class="
145
+ bg-primary
139
146
  long
140
147
  v-progress-linear__indeterminate
141
148
  "></div>
142
149
  <div class="
150
+ bg-primary
143
151
  short
144
152
  v-progress-linear__indeterminate
145
153
  "></div>
@@ -149,7 +157,6 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
149
157
  </div>
150
158
  </div>
151
159
  <div class="v-field__prepend-inner">
152
- <!---->
153
160
  <!-- v-if -->
154
161
  <!-- v-if -->
155
162
  </div>
@@ -159,22 +166,26 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
159
166
  >
160
167
  <!---->
161
168
  <label
169
+ aria-hidden="false"
162
170
  class="
163
171
  v-field-label
164
172
  v-label
165
173
  "
166
- for="input-v-1"
174
+ for="input-v-2"
175
+ id="input-v-2-label"
167
176
  >
168
177
  <!---->
169
178
  Caractères de l’audio
170
179
  </label>
171
180
  <!---->
172
181
  <input
173
- aria-describedby="input-v-1-messages"
182
+ aria-describedby="input-v-2-messages"
174
183
  aria-label="Caractères de l’audio"
184
+ aria-labelledby="input-v-2-label"
175
185
  autocomplete="off"
176
186
  class="v-field__input"
177
- id="input-v-1"
187
+ direction="horizontal"
188
+ id="input-v-2"
178
189
  title="Caractères de l’audio"
179
190
  type="text"
180
191
  />
@@ -186,7 +197,6 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
186
197
  <!-- v-if -->
187
198
  <!-- v-if -->
188
199
  <!-- v-if -->
189
- <!---->
190
200
  </div>
191
201
  <div class="v-field__outline">
192
202
  <div class="v-field__outline__start"></div>
@@ -198,7 +208,6 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
198
208
  v-field-label--floating
199
209
  v-label
200
210
  "
201
- for="input-v-1"
202
211
  >
203
212
  <!---->
204
213
  Caractères de l’audio
@@ -215,7 +224,7 @@ exports[`Captcha > renders correctly in audio mode 1`] = `
215
224
  appear="false"
216
225
  class="v-messages"
217
226
  css="true"
218
- id="input-v-1-messages"
227
+ id="input-v-2-messages"
219
228
  name="slide-y-transition"
220
229
  persisted="false"
221
230
  tag="div"
@@ -505,11 +514,17 @@ exports[`Captcha > renders correctly in image mode 1`] = `
505
514
  >
506
515
  <!---->
507
516
  <div
508
- class="v-progress-linear__background"
517
+ class="
518
+ bg-primary
519
+ v-progress-linear__background
520
+ "
509
521
  style="opacity: NaN;"
510
522
  ></div>
511
523
  <div
512
- class="v-progress-linear__buffer"
524
+ class="
525
+ bg-primary
526
+ v-progress-linear__buffer
527
+ "
513
528
  style="
514
529
  opacity: NaN;
515
530
  width: 0%;
@@ -523,10 +538,12 @@ exports[`Captcha > renders correctly in image mode 1`] = `
523
538
  >
524
539
  <div class="v-progress-linear__indeterminate">
525
540
  <div class="
541
+ bg-primary
526
542
  long
527
543
  v-progress-linear__indeterminate
528
544
  "></div>
529
545
  <div class="
546
+ bg-primary
530
547
  short
531
548
  v-progress-linear__indeterminate
532
549
  "></div>
@@ -536,7 +553,6 @@ exports[`Captcha > renders correctly in image mode 1`] = `
536
553
  </div>
537
554
  </div>
538
555
  <div class="v-field__prepend-inner">
539
- <!---->
540
556
  <!-- v-if -->
541
557
  <!-- v-if -->
542
558
  </div>
@@ -546,22 +562,26 @@ exports[`Captcha > renders correctly in image mode 1`] = `
546
562
  >
547
563
  <!---->
548
564
  <label
565
+ aria-hidden="false"
549
566
  class="
550
567
  v-field-label
551
568
  v-label
552
569
  "
553
- for="input-v-0"
570
+ for="input-v-1"
571
+ id="input-v-1-label"
554
572
  >
555
573
  <!---->
556
574
  Caractères de l’image
557
575
  </label>
558
576
  <!---->
559
577
  <input
560
- aria-describedby="input-v-0-messages"
578
+ aria-describedby="input-v-1-messages"
561
579
  aria-label="Caractères de l’image"
580
+ aria-labelledby="input-v-1-label"
562
581
  autocomplete="off"
563
582
  class="v-field__input"
564
- id="input-v-0"
583
+ direction="horizontal"
584
+ id="input-v-1"
565
585
  title="Caractères de l’image"
566
586
  type="text"
567
587
  />
@@ -573,7 +593,6 @@ exports[`Captcha > renders correctly in image mode 1`] = `
573
593
  <!-- v-if -->
574
594
  <!-- v-if -->
575
595
  <!-- v-if -->
576
- <!---->
577
596
  </div>
578
597
  <div class="v-field__outline">
579
598
  <div class="v-field__outline__start"></div>
@@ -585,7 +604,6 @@ exports[`Captcha > renders correctly in image mode 1`] = `
585
604
  v-field-label--floating
586
605
  v-label
587
606
  "
588
- for="input-v-0"
589
607
  >
590
608
  <!---->
591
609
  Caractères de l’image
@@ -602,7 +620,7 @@ exports[`Captcha > renders correctly in image mode 1`] = `
602
620
  appear="false"
603
621
  class="v-messages"
604
622
  css="true"
605
- id="input-v-0-messages"
623
+ id="input-v-1-messages"
606
624
  name="slide-y-transition"
607
625
  persisted="false"
608
626
  tag="div"
@@ -312,14 +312,16 @@
312
312
  padding: 0;
313
313
  }
314
314
 
315
- // Styles pour le bouton de suppression
316
- .remove-chip {
315
+ .sy-chip-list .remove-chip {
317
316
  padding: 0 !important;
318
317
  min-width: auto !important;
319
318
  width: auto !important;
320
319
  height: auto !important;
321
320
  flex-shrink: 0 !important;
321
+ }
322
322
 
323
+ // Styles pour le bouton de suppression
324
+ .remove-chip {
323
325
  // Assurer que l'icône reste visible en zoom texte 200%
324
326
  :deep(.v-icon) {
325
327
  font-size: 1rem !important;
@@ -15,6 +15,10 @@ const meta = {
15
15
  items: {
16
16
  control: 'object',
17
17
  },
18
+ headingLevel: {
19
+ control: { type: 'select' },
20
+ options: [1, 2, 3, 4, 5, 6],
21
+ },
18
22
  },
19
23
  } as Meta<typeof CollapsibleList>
20
24
 
@@ -32,7 +36,7 @@ export const Default: Story = {
32
36
  <CollapsibleList
33
37
  :list-title="listTitle"
34
38
  :items="items"
35
- />
39
+ :heading-level="headingLevel" />
36
40
  </div>
37
41
  </template>
38
42
  `,
@@ -43,7 +47,7 @@ export const Default: Story = {
43
47
  import { CollapsibleList } from '@cnamts/synapse'
44
48
 
45
49
  const listTitle = 'Santé'
46
-
50
+ const headingLevel = 4
47
51
  const items = [
48
52
  {
49
53
  text: 'Mon espace santé',
@@ -61,6 +65,7 @@ export const Default: Story = {
61
65
  },
62
66
  args: {
63
67
  listTitle: 'Santé',
68
+ headingLevel: 4,
64
69
  items: [
65
70
  {
66
71
  text: 'Mon espace santé',
@@ -80,7 +85,7 @@ export const Default: Story = {
80
85
  },
81
86
  template: `
82
87
  <div class="d-flex flex-wrap align-center pa-4">
83
- <CollapsibleList v-bind="args" />
88
+ <CollapsibleList v-bind="args"/>
84
89
  </div>
85
90
  `,
86
91
  }
@@ -2,11 +2,15 @@
2
2
  import { computed } from 'vue'
3
3
  import { useDisplay } from 'vuetify'
4
4
  import type { ListItem } from './types'
5
+ import SyHeading from '@/components/SyHeading/SyHeading.vue'
5
6
 
6
- const props = defineProps<{
7
+ const props = withDefaults(defineProps<{
7
8
  listTitle: string | null
8
9
  items: ListItem[]
9
- }>()
10
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
11
+ }>(), {
12
+ headingLevel: 4,
13
+ })
10
14
 
11
15
  const { smAndDown } = useDisplay()
12
16
 
@@ -55,13 +59,17 @@
55
59
  v-else
56
60
  class="vd-collapse-list"
57
61
  >
58
- <h4
59
- class="text-subtitle-1 font-weight-bold mb-3"
62
+ <SyHeading
63
+ :class="headingLevel === 4 ? 'text-subtitle-1 font-weight-bold mb-3' : 'font-weight-bold mb-3'"
64
+ :level="headingLevel"
60
65
  >
61
66
  {{ listTitle }}
62
- </h4>
67
+ </SyHeading>
63
68
 
64
- <ul class="pl-0">
69
+ <ul
70
+ class="
71
+ pl-0"
72
+ >
65
73
  <li
66
74
  v-for="(item, index) in items"
67
75
  :key="index"
@@ -18,7 +18,26 @@ import {
18
18
  iconSrc={AccessibilityIcon}
19
19
  apgHref="https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/"
20
20
  >
21
+ <AuditSection>
22
+ <div class="mt-2">
23
+ <p>Rapport d’audit manuel : <a href="/audits/CollapsibleList.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
24
+ <p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/792" target="_blank" style={{color:'#0C41BD'}}>issue #792</a>)</p>
25
+ </div>
26
+
27
+ </AuditSection>
21
28
  <CriteriaSection>
29
+ <CriteriaCard icon="🧩" title="Niveau de titre configurable via la prop headingLevel">
30
+ <ul>
31
+ <li>Le niveau du titre (h1 à h6) est défini grâce à la propriété <strong>headingLevel</strong> déclarée dans le composant. Si aucune valeur n’est fournie, le composant applique par défaut un titre de niveau h4, défini dans l’implémentation du composant.</li>
32
+ <code>&lt;CollapsibleList
33
+ :list-title="listTitle"
34
+ :items="items"
35
+ :heading-level="4" /&gt; </code>
36
+
37
+ <li><strong>Accessibilité</strong> : Permet que la hiérarchie entre les titres soit pertinente (critère 9.1.1 RGAA) </li>
38
+ </ul>
39
+ </CriteriaCard>
40
+
22
41
  <CriteriaCard icon="🔍" title="Structure sémantique">
23
42
  <ul>
24
43
  <li><strong>Comportement adaptatif</strong> : Section pliable sur mobile, liste statique sur desktop</li>
@@ -66,11 +85,5 @@ import {
66
85
  </ul>
67
86
  </ResourcesSection>
68
87
 
69
- <AuditSection>
70
- <div class="mt-2">
71
- <p>Rapport d’audit manuel : <a href="/audits/CollapsibleList.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
72
- <p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/792" target="_blank" style={{color:'#0C41BD'}}>issue #792</a>)</p>
73
- </div>
74
88
 
75
- </AuditSection>
76
89
  </AccessibilityGuideLayout>
@@ -25,6 +25,7 @@ describe('CollapsibleList – accessibility (axe)', () => {
25
25
  it('has no obvious axe violations in desktop mode', async () => {
26
26
  const wrapper = mount(CollapsibleList, {
27
27
  props: {
28
+ headingLevel: 4,
28
29
  listTitle: 'Santé',
29
30
  items,
30
31
  },
@@ -7,6 +7,7 @@ describe('CollapsibleList', () => {
7
7
  it('renders correctly', async () => {
8
8
  const wrapper = mount(CollapsibleList, {
9
9
  propsData: {
10
+ headingLevel: 4,
10
11
  listTitle: 'Santé',
11
12
  items: [
12
13
  {
@@ -30,6 +31,7 @@ describe('CollapsibleList', () => {
30
31
  it('renders correctly with in mobile mode', () => {
31
32
  const wrapper = mount(CollapsibleList, {
32
33
  propsData: {
34
+ headingLevel: 4,
33
35
  listTitle: 'Santé',
34
36
  items: [
35
37
  {
@@ -223,9 +223,6 @@ export const WithAnchors: Story = {
223
223
  }
224
224
  },
225
225
  parameters: {
226
- a11y: {
227
- disable: true,
228
- },
229
226
  sourceCode: [
230
227
  {
231
228
  name: 'Template',
@@ -1,15 +1,71 @@
1
- import { Meta, Story } from '@storybook/addon-docs';
2
- import * as Stories from '../ContextualMenu.stories.ts';
3
- import '@/stories/styles/shared.css';
1
+ import { Meta, Primary } from '@storybook/blocks';
2
+ import * as ContextualMenuStories from '../ContextualMenu.stories.ts';
3
+ import AccessibilityIcon from '@/common/imgs/accessibility-svgrepo-com.svg';
4
+ import {
5
+ AccessibilityGuideLayout,
6
+ CriteriaSection,
7
+ CriteriaCard,
8
+ DemoSection,
9
+ BestPracticesSection,
10
+ ResourcesSection,
11
+ AuditSection,
12
+ } from '@/stories/accessibility/AccessibilityGuideLayout.mdx';
4
13
 
5
- <Meta of={Stories} />
14
+ <Meta of={ContextualMenuStories} />
6
15
 
7
- <div className="header">
8
- <h1>Accessibilité</h1>
9
- </div>
16
+ <AccessibilityGuideLayout
17
+ componentName="ContextualMenu"
18
+ iconSrc={AccessibilityIcon}
19
+ >
20
+ <AuditSection>
21
+ <p>Rapport d’audit manuel : <a href="/audits/ContextualMenu.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
22
+ <p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/658" target="_blank" style={{color:'#0C41BD'}}>issue #658</a>)</p>
23
+ </AuditSection>
24
+
25
+ <CriteriaSection>
26
+ <CriteriaCard icon="🏷️" title="Structure sémantique claire">
27
+ <ul>
28
+ <li>Landmark <code>&lt;nav&gt;</code> avec <code>aria-label</code> obligatoire pour annoncer la zone.</li>
29
+ <li>Hiérarchie native <code>ul &gt; li &gt; a</code> pour les niveaux imbriqués, sans rôles ARIA détournés.</li>
30
+ <li>Utilisation de <code>aria-current</code> sur le lien actif pour signaler la section courante.</li>
31
+ </ul>
32
+ </CriteriaCard>
10
33
 
34
+ <CriteriaCard icon="⌨️" title="Navigation clavier native">
35
+ <ul>
36
+ <li>Parcours par <kbd>Tab</kbd>/<kbd>Maj+Tab</kbd> sur des liens standards, activation par <kbd>Entrée</kbd>.</li>
37
+ <li>Styles de focus visibles fournis par la feuille de style partagée et conservés sur tous les niveaux.</li>
38
+ <li>Activation via clic clavier ou souris met à jour le hash et synchronise l'état actif.</li>
39
+ </ul>
40
+ </CriteriaCard>
11
41
 
12
- <div class="mt-2">
13
- <p>Rapport d’audit manuel : <a href="/audits/ContextualMenu.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
14
- <p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/658" target="_blank" style={{color:'#0C41BD'}}>issue #658</a>)</p>
15
- </div>
42
+ <CriteriaCard icon="🧭" title="Repères et correspondance contenu">
43
+ <ul>
44
+ <li>Chaque élément pointe vers une ancre <code>hash</code>; les sections ciblées doivent avoir des <code>id</code> uniques et, idéalement, <code>tabindex="-1"</code> pour recevoir le focus programmatique.</li>
45
+ <li>Gestion du hash : changement d'URL et état contrôlé via <code>v-model</code> pour refléter l'élément actif.</li>
46
+ <li>Support multi-niveaux via la propriété optionnelle <code>level</code> (1 à 6) générant des listes imbriquées.</li>
47
+ </ul>
48
+ </CriteriaCard>
49
+ </CriteriaSection>
50
+
51
+ <DemoSection componentName="ContextualMenu">
52
+ <Primary />
53
+ </DemoSection>
54
+
55
+ <BestPracticesSection>
56
+ <ul>
57
+ <li>Fournissez systématiquement un <code>ariaLabel</code> descriptif (ex. « Plan de page »).</li>
58
+ <li>Assurez-vous que chaque <code>hash</code> correspond à un <code>id</code> existant dans la page, avec un titre associé via <code>aria-labelledby</code>.</li>
59
+ <li>Respectez l'ordre logique du contenu et les niveaux <code>level</code> pour refléter la structure réelle du document.</li>
60
+ <li>Évitez de placer des éléments interactifs non liens à l'intérieur des entrées du menu.</li>
61
+ </ul>
62
+ </BestPracticesSection>
63
+
64
+ <ResourcesSection>
65
+ <ul>
66
+ <li><a href="https://www.w3.org/TR/WCAG22/#navigation-mechanisms" target="_blank" rel="noopener noreferrer">WCAG – Mécanismes de navigation</a></li>
67
+ <li><a href="https://www.w3.org/TR/WCAG22/#link-purpose-in-context" target="_blank" rel="noopener noreferrer">WCAG – Objet du lien</a></li>
68
+ <li><a href="https://www.w3.org/WAI/tutorials/page-structure/sections/" target="_blank" rel="noopener noreferrer">WAI – Structuration des pages et sections</a></li>
69
+ </ul>
70
+ </ResourcesSection>
71
+ </AccessibilityGuideLayout>
@@ -8,6 +8,14 @@ const meta = {
8
8
  title: 'Composants/Feedback/CookieBanner',
9
9
  component: CookieBanner,
10
10
  argTypes: {
11
+ 'headingLevel': {
12
+ control: { type: 'select' },
13
+ options: [1, 2, 3, 4, 5, 6],
14
+ },
15
+ 'headingLevelInformation': {
16
+ control: { type: 'select' },
17
+ options: [1, 2, 3, 4, 5, 6],
18
+ },
11
19
  'modelValue': {
12
20
  description: 'V-model, control la visibilité de la bannière',
13
21
  control: { type: 'boolean' },
@@ -49,7 +57,7 @@ const meta = {
49
57
  description: 'Événement émis lors de l\'acceptation des cookies',
50
58
  table: {
51
59
  category: 'Events',
52
- type: { summary: '' },
60
+ type: { summary: 'Partial<{ functional: boolean; analytics: boolean }>' },
53
61
  },
54
62
  },
55
63
  'onReject': {
@@ -57,7 +65,7 @@ const meta = {
57
65
  description: 'Événement émis lors du refus des cookies',
58
66
  table: {
59
67
  category: 'Events',
60
- type: { summary: '' },
68
+ type: { summary: 'Partial<{ functional: boolean; analytics: boolean }>' },
61
69
  },
62
70
  },
63
71
  'onCustomize': {
@@ -68,6 +76,14 @@ const meta = {
68
76
  type: { summary: '' },
69
77
  },
70
78
  },
79
+ 'onSubmit': {
80
+ action: 'submit',
81
+ description: 'Événement émis lors de la sauvegarde des préférences personnalisées',
82
+ table: {
83
+ category: 'Events',
84
+ type: { summary: 'Partial<Preferences>' },
85
+ },
86
+ },
71
87
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
72
88
  // @ts-ignore- Object literal may only specify known properties
73
89
  'onUpdate:modelValue': {
@@ -185,6 +201,8 @@ const meta = {
185
201
  },
186
202
  args: {
187
203
  modelValue: false,
204
+ headingLevel: 2,
205
+ headingLevelInformation: 2,
188
206
  },
189
207
  } satisfies Meta<typeof CookieBanner>
190
208
 
@@ -226,12 +244,10 @@ export const Default: Story = {
226
244
  onAccept: { action: 'accept' },
227
245
  onReject: { action: 'reject' },
228
246
  onCustomize: { action: 'customize' },
247
+ onSubmit: { action: 'submit' },
229
248
  },
230
249
  args: {
231
250
  items,
232
- onAccept: fn(),
233
- onReject: fn(),
234
- onCustomize: fn(),
235
251
  },
236
252
 
237
253
  render: (args) => {
@@ -258,9 +274,6 @@ export const Default: Story = {
258
274
  },
259
275
 
260
276
  parameters: {
261
- a11y: {
262
- disable: true,
263
- },
264
277
  sourceCode: [
265
278
  {
266
279
  name: 'Template',
@@ -356,9 +369,6 @@ export const WithoutCookiesItems: Story = {
356
369
  }
357
370
  },
358
371
  parameters: {
359
- a11y: {
360
- disable: true,
361
- },
362
372
  sourceCode: [
363
373
  {
364
374
  name: 'Template',
@@ -411,9 +421,6 @@ export const BannerDescriptionSlot: Story = {
411
421
  }
412
422
  },
413
423
  parameters: {
414
- a11y: {
415
- disable: true,
416
- },
417
424
  sourceCode: [
418
425
  {
419
426
  name: 'Template',
@@ -520,9 +527,6 @@ export const CookiesDescriptionSlots: Story = {
520
527
  }
521
528
  },
522
529
  parameters: {
523
- a11y: {
524
- disable: true,
525
- },
526
530
  sourceCode: [
527
531
  {
528
532
  name: 'Template',
@@ -619,9 +623,6 @@ export const Customization: Story = {
619
623
  }
620
624
  },
621
625
  parameters: {
622
- a11y: {
623
- disable: true,
624
- },
625
626
  sourceCode: [
626
627
  {
627
628
  name: 'Template',
@@ -9,10 +9,18 @@
9
9
  import { config } from './config'
10
10
  import { locales } from './locales'
11
11
  import CookiesSelection from '../CookiesSelection/CookiesSelection.vue'
12
+ import SyHeading from '@/components/SyHeading/SyHeading.vue'
12
13
 
13
- const props = defineProps<CustomizableOptions & {
14
+ const props = withDefaults(defineProps<CustomizableOptions & {
14
15
  items?: CookiesItems
15
- }>()
16
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
17
+ headingLevelInformation?: 1 | 2 | 3 | 4 | 5 | 6
18
+
19
+ }>(), {
20
+ items: undefined,
21
+ headingLevel: 2,
22
+ headingLevelInformation: 3,
23
+ })
16
24
 
17
25
  const options = useCustomizableOptions(config, props)
18
26
 
@@ -34,14 +42,29 @@
34
42
  return display.smAndDown.value ? '100%' : 'auto'
35
43
  })
36
44
 
45
+ const itemKeys = computed(() => Object.keys(props.items ?? {}) as (keyof CookiesItems)[])
46
+
47
+ type ConsentPayload = Partial<Record<keyof CookiesItems, boolean>>
48
+
49
+ function buildConsentPayload(value: boolean): ConsentPayload {
50
+ if (!props.items) {
51
+ return {}
52
+ }
53
+
54
+ return itemKeys.value.reduce<ConsentPayload>((payload, key) => {
55
+ payload[key] = value
56
+ return payload
57
+ }, {})
58
+ }
59
+
37
60
  function reject(): void {
38
61
  active.value = false
39
- emits('reject')
62
+ emits('reject', buildConsentPayload(false))
40
63
  }
41
64
 
42
65
  function accept(): void {
43
66
  active.value = false
44
- emits('accept')
67
+ emits('accept', buildConsentPayload(true))
45
68
  }
46
69
 
47
70
  function customize(): void {
@@ -51,7 +74,7 @@
51
74
  emits('customize')
52
75
  }
53
76
 
54
- function personalizeCookies(e: Record<string, unknown>) {
77
+ function personalizeCookies(e: ConsentPayload) {
55
78
  emits('submit', e)
56
79
  showCookiesSelection.value = false
57
80
  active.value = false
@@ -167,20 +190,21 @@
167
190
  <VSheet
168
191
  ref="vsheetRef"
169
192
  v-bind="options.banner"
170
- :aria-label="locales.label"
171
193
  class="vd-cookie-banner"
172
194
  >
173
195
  <div
174
196
  ref="bannerRef"
175
197
  class="vd-cookie-banner__inner"
176
198
  role="dialog"
199
+ :aria-label="locales.label"
177
200
  >
178
201
  <div class="d-flex align-start flex-nowrap pa-0 mb-6">
179
- <h2
180
- class="text-h5 font-weight-bold"
202
+ <SyHeading
203
+ :class="headingLevel === 2 ? 'text-h5 font-weight-bold' : 'font-weight-bold'"
204
+ :level="headingLevel"
181
205
  >
182
206
  {{ locales.title }}
183
- </h2>
207
+ </SyHeading>
184
208
 
185
209
  <VSpacer v-bind="options.spacer" />
186
210
 
@@ -214,7 +238,8 @@
214
238
  <Transition name="height">
215
239
  <div v-if="showCookiesSelection && items">
216
240
  <CookiesSelection
217
- :items
241
+ :items="items"
242
+ :heading-level="headingLevelInformation"
218
243
  @submit="personalizeCookies"
219
244
  >
220
245
  <template