@cnamts/synapse 1.0.15 → 1.0.17

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 (587) hide show
  1. package/dist/{DateFilter-isr8mXVb.js → DateFilter-RHtdShO1.js} +12 -12
  2. package/dist/{NumberFilter-BOe7DqWX.js → NumberFilter-DXYz_b_w.js} +1 -1
  3. package/dist/{PeriodFilter-WTprpO40.js → PeriodFilter-CzphmrNu.js} +1 -1
  4. package/dist/{SelectFilter-CqlG5dmI.js → SelectFilter-a4fUV5Jp.js} +1 -1
  5. package/dist/{TextFilter-fVW5bsRw.js → TextFilter-CZ4LTKoq.js} +1 -1
  6. package/dist/components/Accordion/Accordion.d.ts +22 -7
  7. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +2836 -2845
  8. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +3 -3
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +7 -7
  10. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +3 -3
  11. package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +3 -3
  12. package/dist/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.d.ts +3 -3
  13. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +3 -3
  14. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +3 -3
  15. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +3 -3
  16. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +3 -3
  17. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +18 -18
  18. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +9 -9
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +3 -3
  21. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +3 -1
  22. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -3
  23. package/dist/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.d.ts +3 -3
  24. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +3 -3
  25. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  26. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +3 -3
  27. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +3 -3
  28. package/dist/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.d.ts +40 -8
  29. package/dist/components/Amelipro/AmeliproPatientLogged/types.d.ts +2 -1
  30. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1288 -1284
  31. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +1936 -1930
  32. package/dist/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.d.ts +3 -3
  33. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +2838 -2865
  34. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +3 -3
  35. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabBtn/AmeliproTabBtn.d.ts +1 -1
  36. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +2849 -2867
  37. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +397 -397
  38. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +653 -642
  39. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +233 -5
  40. package/dist/components/Amelipro/AmeliproTooltips/AmeliproTooltips.d.ts +6 -2
  41. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +9 -9
  42. package/dist/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.d.ts +9 -0
  43. package/dist/components/Amelipro/StructureMenu/StructureItem/types.d.ts +1 -0
  44. package/dist/components/Amelipro/StructureMenu/StructureMenu.d.ts +9 -0
  45. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +23 -2
  46. package/dist/components/Captcha/CaptchaHelpdesk.d.ts +6 -0
  47. package/dist/components/ChipList/locales.d.ts +1 -0
  48. package/dist/components/CookieBanner/CookieBanner.d.ts +117 -119
  49. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +484 -484
  50. package/dist/components/CookiesSelection/CookiesSelection.d.ts +104 -106
  51. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +14 -10
  52. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +118 -129
  53. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +1 -3
  54. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1 -1
  55. package/dist/components/Customs/SyForm/SyForm.d.ts +60 -53
  56. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +88 -0
  57. package/dist/components/Customs/SyRadioGroup/locales.d.ts +3 -0
  58. package/dist/components/Customs/SyTextField/SyTextField.d.ts +644 -642
  59. package/dist/components/DataList/DataList.d.ts +6 -1
  60. package/dist/components/DataListGroup/DataListGroup.d.ts +14 -2
  61. package/dist/components/DataListItem/DataListItem.d.ts +3 -0
  62. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +2986 -3098
  63. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1456 -1558
  64. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +653 -652
  65. package/dist/components/DatePicker/composables/index.d.ts +4 -1
  66. package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +1 -1
  67. package/dist/components/DatePicker/composables/useCalendarKeyboardNavigation.d.ts +11 -0
  68. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +25 -0
  69. package/dist/components/DatePicker/composables/useDateTextField.d.ts +61 -0
  70. package/dist/components/DatePicker/composables/useHolidayHighlighting.d.ts +15 -0
  71. package/dist/components/DatePicker/constants/messages.d.ts +0 -1
  72. package/dist/components/DialogBox/DialogBox.d.ts +177 -179
  73. package/dist/components/DialogBox/config.d.ts +4 -0
  74. package/dist/components/FilterSideBar/FilterSideBar.d.ts +170 -173
  75. package/dist/components/FilterSideBar/locales.d.ts +5 -0
  76. package/dist/components/FooterBar/FooterBar.d.ts +5 -5
  77. package/dist/components/HeaderBar/HeaderBar.d.ts +4 -2
  78. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -1
  79. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +15 -5
  80. package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +5 -1
  81. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +234 -258
  82. package/dist/components/LangBtn/LangBtn.d.ts +173 -179
  83. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +1 -1
  84. package/dist/components/LunarCalendar/LunarCalendar.d.ts +29 -0
  85. package/dist/components/LunarCalendar/useLunarCalendarRules.d.ts +5 -0
  86. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +13 -0
  87. package/dist/components/MaintenancePage/MaintenancePage.d.ts +8 -1
  88. package/dist/components/NirField/NirField.d.ts +1296 -1292
  89. package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -2
  90. package/dist/components/NotificationBar/Notification/Notification.d.ts +30 -0
  91. package/dist/components/NotificationBar/NotificationBar.d.ts +32 -20
  92. package/dist/components/PaginatedTable/PaginatedTable.d.ts +1 -1
  93. package/dist/components/PeriodField/PeriodField.d.ts +5855 -6079
  94. package/dist/components/PhoneField/PhoneField.d.ts +645 -643
  95. package/dist/components/SubHeader/SubHeader.d.ts +11 -8
  96. package/dist/components/SyAlert/SyAlert.d.ts +31 -31
  97. package/dist/components/SyTextArea/SyTextArea.d.ts +397 -395
  98. package/dist/components/SyTextArea/locales.d.ts +1 -0
  99. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +193 -227
  100. package/dist/components/Tables/SyTable/SyTable.d.ts +192 -226
  101. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  102. package/dist/components/Tables/common/SyTablePagination.d.ts +118 -129
  103. package/dist/components/Tables/common/TableHeader.d.ts +52 -2
  104. package/dist/components/Tables/common/filters/DateFilter.d.ts +1 -1
  105. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  106. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  107. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  108. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  109. package/dist/components/Tables/common/locales.d.ts +1 -0
  110. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +86 -90
  111. package/dist/components/Tables/common/tableFilterUtils.d.ts +2 -2
  112. package/dist/components/Tables/common/types.d.ts +3 -2
  113. package/dist/components/Tables/common/useTableCheckbox.d.ts +3 -2
  114. package/dist/components/Tables/common/useTableFilter.d.ts +1 -1
  115. package/dist/components/Tables/common/useTableItems.d.ts +6 -8
  116. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +18 -18
  117. package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +2 -0
  118. package/dist/components/index.d.ts +2 -0
  119. package/dist/design-system-v3.js +101 -98
  120. package/dist/design-system-v3.umd.cjs +25 -33
  121. package/dist/directives/lockFocus.d.ts +1 -1
  122. package/dist/main-BXIMMzFS.js +35408 -0
  123. package/dist/style.css +1 -1
  124. package/dist/utils/formatNir/formatNir.d.ts +2 -0
  125. package/dist/utils/index.d.ts +1 -0
  126. package/dist/utils/insertAt.d.ts +1 -0
  127. package/dist/utils/rules/validateDateValue.d.ts +14 -0
  128. package/dist/vuetifyConfig.d.ts +6 -6
  129. package/package.json +14 -7
  130. package/src/assets/tokens.scss +2 -0
  131. package/src/components/Accordion/Accessibilite/AccessibilityGuide.mdx +70 -241
  132. package/src/components/Accordion/Accordion.mdx +6 -1
  133. package/src/components/Accordion/Accordion.stories.ts +88 -9
  134. package/src/components/Accordion/Accordion.vue +56 -24
  135. package/src/components/Accordion/tests/Accordion.a11y.spec.ts +46 -0
  136. package/src/components/Accordion/tests/__snapshots__/accordion.spec.ts.snap +26 -30
  137. package/src/components/Accordion/tests/accordion.spec.ts +27 -26
  138. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +1 -18
  139. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +178 -9
  140. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +28 -121
  141. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +15 -270
  142. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +12 -194
  143. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +1 -18
  144. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +1 -18
  145. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +12 -194
  146. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +9 -9
  147. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +5 -4
  148. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +6 -6
  149. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +2 -0
  150. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +135 -9
  151. package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +20 -5
  152. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +195 -28
  153. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/__snapshots__/AmeliproBreadcrumb.spec.ts.snap +193 -124
  154. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +1 -1
  155. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +364 -12
  156. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +30 -390
  157. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +4 -36
  158. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.stories.ts +10 -10
  159. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +7 -7
  160. package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +5 -5
  161. package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +1 -1
  162. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.stories.ts +7 -6
  163. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +6 -6
  164. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +6 -6
  165. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +2 -2
  166. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +2 -43
  167. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +80 -9
  168. package/src/components/Amelipro/AmeliproContentLayout/__tests__/__snapshots__/AmeliproContentLayout.spec.ts.snap +25 -4
  169. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +1 -13
  170. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +7 -6
  171. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +5 -5
  172. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +187 -39
  173. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +147 -147
  174. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +1 -1
  175. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +0 -2
  176. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +160 -20
  177. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/__snapshots__/AmeliproErrorTemplate.spec.ts.snap +34 -177
  178. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +1 -0
  179. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +248 -19
  180. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +34 -203
  181. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +6 -144
  182. package/src/components/Amelipro/AmeliproIcon/AmeliproIcon.vue +20 -2
  183. package/src/components/Amelipro/AmeliproIcon/__tests__/__snapshots__/AmeliproIcon.spec.ts.snap +1 -25
  184. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +5 -5
  185. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +6 -6
  186. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +22 -22
  187. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +2 -2
  188. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/AmeliproMultipleFoldingCard.spec.ts +304 -0
  189. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +373 -0
  190. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.stories.ts +64 -34
  191. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +75 -16
  192. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/AmeliproPatientLogged.spec.ts +4 -2
  193. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +63 -177
  194. package/src/components/Amelipro/AmeliproPatientLogged/types.d.ts +2 -1
  195. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.stories.ts +11 -5
  196. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +9 -1
  197. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +162 -72
  198. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +2 -2
  199. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +6 -39
  200. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.stories.ts +3 -3
  201. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +8 -8
  202. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/AmeliproPostalAddressField.spec.ts +2 -2
  203. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +11 -52
  204. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +7 -7
  205. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +8 -8
  206. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +6 -6
  207. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +2 -2
  208. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -14
  209. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.stories.ts +7 -7
  210. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +41 -5
  211. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +12 -12
  212. package/src/components/Amelipro/AmeliproSelect/__tests__/__snapshots__/AmeliproSelect.spec.ts.snap +2 -2
  213. package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +2 -2
  214. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +2 -2
  215. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -2
  216. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +463 -68
  217. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +176 -511
  218. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.stories.ts +94 -0
  219. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +6 -2
  220. package/src/components/Amelipro/AmeliproTabs/__tests__/AmeliproTabs.spec.ts +4 -0
  221. package/src/components/Amelipro/AmeliproTabs/__tests__/__snapshots__/AmeliproTabs.spec.ts.snap +4 -2
  222. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +6 -6
  223. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +4 -4
  224. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +3 -3
  225. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +1 -2
  226. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +78 -10
  227. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +114 -6
  228. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +19 -7
  229. package/src/components/Amelipro/AmeliproTextField/__tests__/__snapshots__/AmeliproTextField.spec.ts.snap +2 -0
  230. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +44 -0
  231. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +79 -1
  232. package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.stories.ts +45 -0
  233. package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.vue +6 -0
  234. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -2
  235. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +2 -2
  236. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +21 -7
  237. package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +252 -44
  238. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +166 -0
  239. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/ServiceBtn.spec.ts +137 -0
  240. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/__snapshots__/ServiceBtn.spec.ts.snap +56 -0
  241. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/ServiceList.spec.ts +116 -0
  242. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/__snapshots__/ServiceList.spec.ts.snap +58 -0
  243. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/ServiceMenuContent.spec.ts +118 -0
  244. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/__snapshots__/ServiceMenuContent.spec.ts.snap +151 -0
  245. package/src/components/Amelipro/ServiceMenu/__tests__/ServiceMenu.spec.ts +259 -0
  246. package/src/components/Amelipro/ServiceMenu/__tests__/__snapshots__/ServiceMenu.spec.ts.snap +102 -0
  247. package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +13 -0
  248. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/StructureBtn.spec.ts +96 -0
  249. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/__snapshots__/StructureBtn.spec.ts.snap +63 -0
  250. package/src/components/Amelipro/StructureMenu/StructureItem/StructureItem.vue +14 -2
  251. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/StructureItem.spec.ts +133 -0
  252. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/__snapshots__/StructureItem.spec.ts.snap +159 -0
  253. package/src/components/Amelipro/StructureMenu/StructureItem/types.d.ts +1 -0
  254. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/StructureList.spec.ts +190 -0
  255. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +109 -0
  256. package/src/components/Amelipro/StructureMenu/StructureMenu.stories.ts +93 -63
  257. package/src/components/Amelipro/StructureMenu/StructureMenu.vue +5 -0
  258. package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +22 -1
  259. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/StructureTabs.spec.ts +163 -0
  260. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/__snapshots__/StructureTabs.spec.ts.snap +105 -0
  261. package/src/components/Amelipro/StructureMenu/__tests__/StructureMenu.spec.ts +171 -0
  262. package/src/components/Amelipro/StructureMenu/__tests__/__snapshots__/StructureMenu.spec.ts.snap +39 -0
  263. package/src/components/Amelipro/UserInformationSummary/__tests__/UserInformationSummary.spec.ts +140 -0
  264. package/src/components/Amelipro/UserInformationSummary/{tests → __tests__}/__snapshots__/UserInformationSummary.spec.ts.snap +17 -24
  265. package/src/components/Amelipro/UserMenu/UserMenu.stories.ts +3 -3
  266. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -2
  267. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/UserMenuDetails.spec.ts +150 -0
  268. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/__snapshots__/UserMenuDetails.spec.ts.snap +117 -0
  269. package/src/components/Amelipro/UserMenu/__tests__/UserMenu.spec.ts +141 -0
  270. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +103 -0
  271. package/src/components/BackBtn/tests/BackBtn.a11y.spec.ts +20 -0
  272. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +9 -0
  273. package/src/components/BackToTopBtn/tests/BackToTopBtn.a11y.spec.ts +37 -0
  274. package/src/components/Captcha/Captcha.vue +9 -24
  275. package/src/components/Captcha/CaptchaHelpdesk.vue +42 -0
  276. package/src/components/Captcha/tests/Captcha.a11y.spec.ts +49 -0
  277. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +256 -268
  278. package/src/components/ChipList/ChipList.stories.ts +15 -0
  279. package/src/components/ChipList/ChipList.vue +20 -17
  280. package/src/components/ChipList/locales.ts +1 -0
  281. package/src/components/ChipList/tests/ChipList.a11y.spec.ts +40 -0
  282. package/src/components/CollapsibleList/Accessibilite.mdx +67 -11
  283. package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +38 -0
  284. package/src/components/ContextualMenu/ContextualMenu.stories.ts +3 -0
  285. package/src/components/ContextualMenu/tests/ContextualMenu.a11y.spec.ts +30 -0
  286. package/src/components/CookieBanner/CookieBanner.stories.ts +15 -0
  287. package/src/components/CookieBanner/CookieBanner.vue +0 -1
  288. package/src/components/CookieBanner/tests/CookieBanner.a11y.spec.ts +29 -0
  289. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +46 -0
  290. package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.a11y.spec.ts +37 -0
  291. package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +58 -0
  292. package/src/components/CopyBtn/CopyBtn.stories.ts +21 -0
  293. package/src/components/CopyBtn/tests/CopyBtn.a11y.spec.ts +40 -0
  294. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +0 -1
  295. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.stories.ts +4 -0
  296. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.stories.ts +154 -82
  297. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +229 -125
  298. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +12 -12
  299. package/src/components/Customs/Selects/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +344 -826
  300. package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.stories.ts +30 -0
  301. package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.vue +1 -0
  302. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +27 -0
  303. package/src/components/Customs/Selects/SySelect/SySelect.vue +215 -169
  304. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +4 -2
  305. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +7 -9
  306. package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +40 -0
  307. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +7 -3
  308. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +20 -2
  309. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.a11y.spec.ts +26 -0
  310. package/src/components/Customs/SyForm/SyForm.a11y.spec.ts +33 -0
  311. package/src/components/Customs/SyForm/SyForm.mdx +47 -7
  312. package/src/components/Customs/SyForm/SyForm.stories.ts +38 -34
  313. package/src/components/Customs/SyForm/SyForm.vue +27 -6
  314. package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +37 -0
  315. package/src/components/Customs/SyIcon/SyIcon.stories.ts +5 -0
  316. package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +27 -0
  317. package/src/components/Customs/SyRadioGroup/Accessibilite.mdx +263 -0
  318. package/src/components/Customs/SyRadioGroup/SyRadioGroup.mdx +37 -0
  319. package/src/components/Customs/SyRadioGroup/SyRadioGroup.stories.ts +665 -0
  320. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +324 -0
  321. package/src/components/Customs/SyRadioGroup/locales.ts +3 -0
  322. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.a11y.spec.ts +30 -0
  323. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.spec.ts +135 -0
  324. package/src/components/Customs/SyTabs/SyTabs.stories.ts +33 -0
  325. package/src/components/Customs/SyTabs/SyTabs.vue +1 -1
  326. package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +51 -0
  327. package/src/components/Customs/SyTextField/SyTextField.stories.ts +3 -0
  328. package/src/components/Customs/SyTextField/SyTextField.vue +232 -199
  329. package/src/components/Customs/SyTextField/tests/SyTextField.a11y.spec.ts +27 -0
  330. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +32 -2
  331. package/src/components/DataList/DataList.mdx +3 -1
  332. package/src/components/DataList/DataList.stories.ts +67 -17
  333. package/src/components/DataList/DataList.vue +13 -1
  334. package/src/components/DataList/tests/DataList.a11y.spec.ts +35 -0
  335. package/src/components/DataListGroup/DataListGroup.stories.ts +42 -12
  336. package/src/components/DataListGroup/DataListGroup.vue +14 -1
  337. package/src/components/DataListGroup/tests/DataListGroup.a11y.spec.ts +24 -0
  338. package/src/components/DataListItem/DataListItem.vue +10 -2
  339. package/src/components/DataListItem/tests/DataListItem.a11y.spec.ts +31 -0
  340. package/src/components/DataListItem/tests/DataListItem.spec.ts +1 -1
  341. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +45 -0
  342. package/src/components/DatePicker/CalendarMode/DatePicker.vue +230 -205
  343. package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +27 -0
  344. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +5 -0
  345. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +179 -179
  346. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +54 -0
  347. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +337 -278
  348. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +26 -0
  349. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +234 -827
  350. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +12 -0
  351. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +46 -81
  352. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.a11y.spec.ts +27 -0
  353. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +350 -0
  354. package/src/components/DatePicker/composables/index.ts +4 -1
  355. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +270 -0
  356. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +61 -3
  357. package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +198 -0
  358. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +36 -2
  359. package/src/components/DatePicker/composables/tests/useInputHandler.spec.ts +755 -0
  360. package/src/components/DatePicker/composables/tests/useKeyboardEvents.spec.ts +168 -0
  361. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +40 -34
  362. package/src/components/DatePicker/composables/useAsteriskDisplay.ts +1 -2
  363. package/src/components/DatePicker/composables/useCalendarKeyboardNavigation.ts +155 -0
  364. package/src/components/DatePicker/composables/useDatePickerState.ts +163 -0
  365. package/src/components/DatePicker/composables/useDateRangeInput.ts +4 -8
  366. package/src/components/DatePicker/composables/useDateTextField.ts +156 -0
  367. package/src/components/DatePicker/composables/useHolidayHighlighting.ts +64 -0
  368. package/src/components/DatePicker/composables/useInputHandler.ts +25 -19
  369. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +51 -26
  370. package/src/components/DatePicker/constants/messages.ts +0 -1
  371. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +2 -2
  372. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +16 -8
  373. package/src/components/DiacriticPicker/tests/DiacriticPicker.a11y.spec.ts +46 -0
  374. package/src/components/DialogBox/DialogBox.stories.ts +5 -2
  375. package/src/components/DialogBox/DialogBox.vue +5 -0
  376. package/src/components/DialogBox/config.ts +5 -0
  377. package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +43 -0
  378. package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +26 -0
  379. package/src/components/ErrorPage/ErrorPage.stories.ts +60 -0
  380. package/src/components/ErrorPage/ErrorPage.vue +1 -1
  381. package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +29 -0
  382. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +17 -0
  383. package/src/components/ExternalLinks/ExternalLinks.stories.ts +21 -0
  384. package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +39 -0
  385. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +0 -1
  386. package/src/components/FileList/FileList.stories.ts +3 -0
  387. package/src/components/FileList/tests/FileList.a11y.spec.ts +41 -0
  388. package/src/components/FilePreview/FilePreview.stories.ts +3 -0
  389. package/src/components/FilePreview/tests/FilePreview.a11y.spec.ts +47 -0
  390. package/src/components/FileUpload/tests/FileUpload.a11y.spec.ts +25 -0
  391. package/src/components/FilterInline/FilterInline.stories.ts +15 -0
  392. package/src/components/FilterInline/FilterInline.vue +8 -4
  393. package/src/components/FilterInline/tests/FilterInline.a11y.spec.ts +36 -0
  394. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +0 -3
  395. package/src/components/FilterSideBar/Accessibilite.stories.ts +4 -0
  396. package/src/components/FilterSideBar/FilterSideBar.stories.ts +33 -11
  397. package/src/components/FilterSideBar/FilterSideBar.vue +146 -83
  398. package/src/components/FilterSideBar/locales.ts +6 -0
  399. package/src/components/FilterSideBar/tests/FilterSideBar.a11y.spec.ts +59 -0
  400. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +2 -2
  401. package/src/components/FooterBar/Accessibilite.mdx +67 -11
  402. package/src/components/FooterBar/FooterBar.vue +1 -1
  403. package/src/components/FooterBar/config.ts +2 -2
  404. package/src/components/FooterBar/tests/FooterBar.a11y.spec.ts +31 -0
  405. package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
  406. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +1 -1
  407. package/src/components/FranceConnectBtn/tests/FranceConnectBtn.a11y.spec.ts +25 -0
  408. package/src/components/HeaderBar/HeaderBar.stories.ts +21 -0
  409. package/src/components/HeaderBar/HeaderBar.vue +47 -40
  410. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +12 -0
  411. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +3 -0
  412. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +4 -0
  413. package/src/components/HeaderBar/HeaderBurgerMenu/menu.scss +17 -7
  414. package/src/components/HeaderBar/consts.scss +0 -1
  415. package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +33 -0
  416. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +58 -57
  417. package/src/components/HeaderLoading/tests/HeaderLoading.a11y.spec.ts +25 -0
  418. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +42 -0
  419. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +4 -0
  420. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +6 -2
  421. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.a11y.spec.ts +45 -0
  422. package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +6 -0
  423. package/src/components/HeaderToolbar/HeaderToolbar.vue +0 -3
  424. package/src/components/HeaderToolbar/tests/HeaderToolbar.a11y.spec.ts +25 -0
  425. package/src/components/LangBtn/LangBtn.stories.ts +12 -0
  426. package/src/components/LangBtn/tests/LangBtn.a11y.spec.ts +25 -0
  427. package/src/components/Logo/tests/Logo.a11y.spec.ts +20 -0
  428. package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +38 -0
  429. package/src/components/LunarCalendar/LunarCalendar.mdx +33 -0
  430. package/src/components/LunarCalendar/LunarCalendar.stories.ts +232 -0
  431. package/src/components/LunarCalendar/LunarCalendar.vue +57 -0
  432. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +31 -0
  433. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +79 -0
  434. package/src/components/LunarCalendar/useLunarCalendarRules.ts +96 -0
  435. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +47 -0
  436. package/src/components/MaintenancePage/MaintenancePage.stories.ts +46 -0
  437. package/src/components/MaintenancePage/MaintenancePage.vue +7 -5
  438. package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +21 -0
  439. package/src/components/NirField/NirField.stories.ts +6 -0
  440. package/src/components/NirField/tests/NirField.a11y.spec.ts +32 -0
  441. package/src/components/NotFoundPage/NotFoundPage.stories.ts +56 -0
  442. package/src/components/NotFoundPage/NotFoundPage.vue +7 -5
  443. package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +31 -0
  444. package/src/components/NotificationBar/Notification/Notification.vue +203 -0
  445. package/src/components/NotificationBar/NotificationBar.stories.ts +151 -140
  446. package/src/components/NotificationBar/NotificationBar.vue +148 -202
  447. package/src/components/NotificationBar/config.ts +1 -1
  448. package/src/components/NotificationBar/tests/NotificationBar.a11y.spec.ts +66 -0
  449. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +173 -177
  450. package/src/components/NotificationBar/tests/__snapshots__/NotificationBar.spec.ts.snap +67 -29
  451. package/src/components/PageContainer/tests/PageContainer.a11y.spec.ts +27 -0
  452. package/src/components/PaginatedTable/PaginatedTable.stories.ts +21 -10
  453. package/src/components/PaginatedTable/PaginatedTable.vue +72 -36
  454. package/src/components/PaginatedTable/tests/PaginatedTable.a11y.spec.ts +43 -0
  455. package/src/components/PasswordField/PasswordField.stories.ts +39 -0
  456. package/src/components/PasswordField/tests/PasswordField.a11y.spec.ts +26 -0
  457. package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +31 -0
  458. package/src/components/PhoneField/PhoneField.stories.ts +51 -0
  459. package/src/components/PhoneField/PhoneField.vue +102 -83
  460. package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +34 -0
  461. package/src/components/RangeField/tests/RangeField.a11y.spec.ts +32 -0
  462. package/src/components/RatingPicker/RatingPicker.stories.ts +21 -0
  463. package/src/components/SearchListField/tests/SearchListField.spec.ts +7 -53
  464. package/src/components/SkipLink/Accessibilite.mdx +59 -13
  465. package/src/components/SkipLink/SkipLink.stories.ts +41 -8
  466. package/src/components/SubHeader/SubHeader.stories.ts +178 -92
  467. package/src/components/SubHeader/SubHeader.vue +84 -71
  468. package/src/components/SubHeader/config.ts +1 -1
  469. package/src/components/SyAlert/SyAlert.vue +6 -3
  470. package/src/components/SyTextArea/SyTextArea.stories.ts +40 -0
  471. package/src/components/SyTextArea/SyTextArea.vue +13 -0
  472. package/src/components/SyTextArea/locales.ts +1 -0
  473. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +42 -0
  474. package/src/components/TableToolbar/TableToolbar.stories.ts +3 -0
  475. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +24 -72
  476. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +591 -24
  477. package/src/components/Tables/SyServerTable/SyServerTable.vue +19 -13
  478. package/src/components/Tables/SyTable/FilterRules.stories.ts +12 -0
  479. package/src/components/Tables/SyTable/SyTable.stories.ts +460 -18
  480. package/src/components/Tables/SyTable/SyTable.vue +16 -11
  481. package/src/components/Tables/common/TableHeader.vue +16 -7
  482. package/src/components/Tables/common/filters/DateFilter.vue +1 -1
  483. package/src/components/Tables/common/locales.ts +1 -0
  484. package/src/components/Tables/common/tableFilterUtils.ts +3 -3
  485. package/src/components/Tables/common/types.ts +4 -2
  486. package/src/components/Tables/common/useTableCheckbox.ts +4 -3
  487. package/src/components/Tables/common/useTableFilter.ts +2 -2
  488. package/src/components/Tables/common/useTableItems.ts +4 -19
  489. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +31 -1
  490. package/src/components/UserMenuBtn/UserMenuBtn.vue +2 -1
  491. package/src/components/UserMenuBtn/tests/UserMenuBtn.a11y.spec.ts +31 -0
  492. package/src/components/index.ts +2 -0
  493. package/src/composables/validation/tests/useFormValidation.spec.ts +251 -0
  494. package/src/composables/validation/tests/useValidatable.spec.ts +90 -0
  495. package/src/directives/lockFocus.ts +12 -2
  496. package/src/stories/Accessibilite/Audit/Exemptions-derogations.mdx +241 -0
  497. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +17 -10
  498. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +16 -0
  499. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +160 -106
  500. package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +2 -1
  501. package/src/stories/GuideDuDev/ClassesUtilitaires/DataUtilities.mdx +6 -6
  502. package/src/stories/GuideDuDev/ClassesUtilitaires/DomBrowserUtilities.mdx +52 -59
  503. package/src/stories/GuideDuDev/ClassesUtilitaires/FormattingUtilities.mdx +28 -8
  504. package/src/stories/GuideDuDev/ClassesUtilitaires/StorageUtilities.mdx +2 -2
  505. package/src/stories/GuideDuDev/ClassesUtilitaires/ValidationRules.mdx +3 -3
  506. package/src/stories/GuideDuDev/ClassesUtilitaires/ValidationUtilities.mdx +11 -11
  507. package/src/stories/GuideDuDev/ClassesUtilitaires/index.mdx +24 -14
  508. package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +1 -1
  509. package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
  510. package/src/stories/accessibility/AccessibilityGuideLayout.mdx +87 -0
  511. package/src/stories/styles/accessibility-guide.css +153 -0
  512. package/src/utils/formatNir/formatNir.ts +15 -0
  513. package/src/utils/index.ts +1 -0
  514. package/src/utils/insertAt.ts +11 -0
  515. package/src/utils/rules/isDateValid/IsDateValid.mdx +2 -2
  516. package/src/utils/rules/isDateValid/IsDateValid.stories.ts +6 -4
  517. package/src/utils/rules/isDateValid/index.ts +23 -8
  518. package/src/utils/rules/isDateValid/tests/isDateValid.spec.ts +9 -0
  519. package/src/utils/rules/isExactLength/IsExactLenght.mdx +1 -1
  520. package/src/utils/rules/isHolidayDay/IsHolidayDay.mdx +19 -7
  521. package/src/utils/rules/isHolidayDay/index.ts +6 -8
  522. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +13 -1
  523. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +2 -2
  524. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.stories.ts +9 -2
  525. package/src/utils/rules/isNotAfterDate/index.ts +5 -12
  526. package/src/utils/rules/isNotAfterDate/tests/isNotAfterDate.spec.ts +20 -0
  527. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +2 -2
  528. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.stories.ts +8 -2
  529. package/src/utils/rules/isNotAfterToday/index.ts +6 -6
  530. package/src/utils/rules/isNotAfterToday/tests/isNotAfterToday.spec.ts +20 -0
  531. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +2 -2
  532. package/src/utils/rules/isNotBeforeDate/index.ts +5 -12
  533. package/src/utils/rules/isNotBeforeDate/tests/IsNotBeforeDate.spec.ts +20 -0
  534. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +2 -2
  535. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.stories.ts +8 -2
  536. package/src/utils/rules/isNotBeforeToday/index.ts +6 -6
  537. package/src/utils/rules/isNotBeforeToday/tests/notBeforeToday.spec.ts +19 -0
  538. package/src/utils/rules/validateDateValue.ts +37 -0
  539. package/src/vuetifyConfig.ts +6 -2
  540. package/dist/components/Customs/Selects/SelectBtnField/config.d.ts +0 -11
  541. package/dist/components/DatePicker/composables/useIconState.d.ts +0 -17
  542. package/dist/components/DatePicker/tests/setup.d.ts +0 -75370
  543. package/dist/components/Tables/common/formatters.d.ts +0 -17
  544. package/dist/main-CbBVJ_le.js +0 -34377
  545. package/dist/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +0 -70
  546. package/dist/stories/DesignTokens/StylesTypographiques.stories.new.d.ts +0 -8
  547. package/dist/stories/DesignTokens/TypographyDisplay.d.ts +0 -28
  548. package/dist/stories/DesignTokens/vue-shims.d.ts +0 -6
  549. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -40
  550. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +0 -369
  551. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -21
  552. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/__snapshots__/ServiceBtn.spec.ts.snap +0 -100
  553. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -25
  554. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/__snapshots__/ServiceList.spec.ts.snap +0 -245
  555. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -45
  556. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/__snapshots__/ServiceMenuContent.spec.ts.snap +0 -787
  557. package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -46
  558. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -111
  559. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -17
  560. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/__snapshots__/StructureBtn.spec.ts.snap +0 -34
  561. package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -21
  562. package/src/components/Amelipro/StructureMenu/StructureItem/tests/__snapshots__/StructureItem.spec.ts.snap +0 -106
  563. package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -33
  564. package/src/components/Amelipro/StructureMenu/StructureList/tests/__snapshots__/StructureList.spec.ts.snap +0 -353
  565. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -60
  566. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +0 -824
  567. package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -69
  568. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +0 -1383
  569. package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -24
  570. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -33
  571. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/__snapshots__/UserMenuDetails.spec.ts.snap +0 -3
  572. package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -34
  573. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +0 -101
  574. package/src/components/Customs/Selects/SelectBtnField/config.ts +0 -11
  575. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -151
  576. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -148
  577. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -361
  578. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -709
  579. package/src/components/DatePicker/composables/tests/useIconState.spec.ts +0 -130
  580. package/src/components/DatePicker/composables/useIconState.ts +0 -53
  581. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +0 -4111
  582. package/src/components/DatePicker/tests/archiTest.md +0 -33
  583. package/src/components/DatePicker/tests/navigation.regression.spec.ts +0 -74
  584. package/src/components/DatePicker/tests/navigation.simple.spec.ts +0 -137
  585. package/src/components/DatePicker/tests/setup.ts +0 -243
  586. package/src/components/Tables/common/formatters.ts +0 -72
  587. package/src/components/Usages/tests/Usages.spec.ts +0 -155
@@ -0,0 +1,2 @@
1
+ /** Format a NIR (with or without key) */
2
+ export declare function formatNir(nir: string): string;
@@ -4,6 +4,7 @@ export { LocalStorageUtility } from './localStorageUtility';
4
4
  export { calcHumanFileSize } from './calcHumanFileSize';
5
5
  export { convertToUnit } from './convertToUnit';
6
6
  export { formatDate } from './formatDate';
7
+ export { formatNir } from './formatNir/formatNir';
7
8
  export { parseDate } from './parseDate';
8
9
  export { propValidator } from './propValidator';
9
10
  export { ruleMessage } from './ruleMessage';
@@ -0,0 +1 @@
1
+ export declare function insertAt(value: string, index: number, insert: string): string;
@@ -0,0 +1,14 @@
1
+ import { ErrorMessages, ValidationResult, Value } from './types';
2
+ interface ValidateDateOptions {
3
+ errorMessages: ErrorMessages;
4
+ messageKey?: string;
5
+ messageArgs?: unknown[];
6
+ }
7
+ /**
8
+ * Utility to validate date-like values (string | Date) in rules.
9
+ * - returns true when the value is falsy
10
+ * - supports string and Date inputs
11
+ * - falls back to a rule message for unsupported types or invalid dates
12
+ */
13
+ export declare function validateDateValue(value: Value, isValid: (formatted: string) => boolean, { errorMessages, messageKey, messageArgs }: ValidateDateOptions): ValidationResult;
14
+ export {};
@@ -12,6 +12,9 @@ export declare const createVuetifyInstance: () => {
12
12
  sets: Record<string, import('vuetify').IconSet>;
13
13
  };
14
14
  locale: {
15
+ isRtl: import('vue').Ref<boolean, boolean>;
16
+ rtl: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
17
+ rtlClasses: import('vue').Ref<string, string>;
15
18
  name: string;
16
19
  decimalSeparator: import('vue').ShallowRef<string>;
17
20
  messages: import('vue').Ref<import('vuetify').LocaleMessages, import('vuetify').LocaleMessages>;
@@ -20,9 +23,6 @@ export declare const createVuetifyInstance: () => {
20
23
  t: (key: string, ...params: unknown[]) => string;
21
24
  n: (value: number) => string;
22
25
  provide: (props: import('vuetify').LocaleOptions) => import('vuetify').LocaleInstance;
23
- isRtl: import('vue').Ref<boolean, boolean>;
24
- rtl: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
25
- rtlClasses: import('vue').Ref<string, string>;
26
26
  };
27
27
  date: {
28
28
  options: {
@@ -34,6 +34,7 @@ export declare const createVuetifyInstance: () => {
34
34
  locale: Record<string, any>;
35
35
  };
36
36
  instance: {
37
+ locale?: any;
37
38
  date: (value?: any) => unknown;
38
39
  format: (date: unknown, formatString: string) => string;
39
40
  toJsDate: (value: unknown) => Date;
@@ -65,8 +66,8 @@ export declare const createVuetifyInstance: () => {
65
66
  setYear: (date: unknown, year: number) => unknown;
66
67
  getDiff: (date: unknown, comparing: unknown, unit?: string | undefined) => number;
67
68
  getWeekArray: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown[][];
68
- getWeekdays: (firstDayOfWeek?: string | number | undefined, weekdayFormat?: "long" | "narrow" | "short" | undefined) => string[];
69
- getWeek: (date: unknown, firstDayOfWeek?: string | number | undefined, firstDayOfYear?: string | number | undefined) => number;
69
+ getWeekdays: (firstDayOfWeek?: string | number | undefined, weekdayFormat?: "long" | "short" | "narrow" | undefined) => string[];
70
+ getWeek: (date: unknown, firstDayOfWeek?: string | number | undefined, firstWeekMinSize?: number | undefined) => number;
70
71
  getMonth: (date: unknown) => number;
71
72
  setMonth: (date: unknown, month: number) => unknown;
72
73
  getDate: (date: unknown) => number;
@@ -77,7 +78,6 @@ export declare const createVuetifyInstance: () => {
77
78
  setHours: (date: unknown, hours: number) => unknown;
78
79
  getMinutes: (date: unknown) => number;
79
80
  setMinutes: (date: unknown, minutes: number) => unknown;
80
- locale?: any;
81
81
  };
82
82
  };
83
83
  goTo: import('vuetify').GoToInstance;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cnamts/synapse",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "private": false,
5
5
  "description": "CNAM DS v3",
6
6
  "type": "module",
@@ -28,7 +28,8 @@
28
28
  "lint": "eslint \"src/**/*.{ts,vue}\"",
29
29
  "lint:style": "stylelint \"src/**/*.{css,scss,vue}\"",
30
30
  "lint:fix": "eslint \"src/**/*.{ts,vue}\" --fix && stylelint \"src/**/*.{css,scss,vue}\" --fix",
31
- "test:unit": "vitest run",
31
+ "test:unit": "vitest run --exclude='**/*.a11y.spec.ts'",
32
+ "test:a11y": "pnpm vitest run a11y.spec.ts",
32
33
  "prepare": "husky",
33
34
  "generate:changelog": "auto-changelog -o CHANGELOG-TEMP.md -p --starting-date 2024-10-10"
34
35
  },
@@ -49,6 +50,7 @@
49
50
  "@chromatic-com/storybook": "^4.0.0",
50
51
  "@jls-digital/storybook-addon-code": "^1.0.4",
51
52
  "@mdi/js": "^7.4.47",
53
+ "@storybook/addon-a11y": "8.6.14",
52
54
  "@storybook/addon-docs": "^8.5.6",
53
55
  "@storybook/addon-essentials": "^8.5.6",
54
56
  "@storybook/addon-interactions": "^8.5.6",
@@ -73,6 +75,7 @@
73
75
  "@vue/test-utils": "^2.4.6",
74
76
  "@vue/tsconfig": "^0.5.1",
75
77
  "auto-changelog": "^2.4.0",
78
+ "axe-core": "^4.11.0",
76
79
  "axios": "^1.7.7",
77
80
  "eslint": "^9.13.0",
78
81
  "eslint-plugin-storybook": "^0.11.3",
@@ -80,6 +83,7 @@
80
83
  "eslint-plugin-vuejs-accessibility": "^2.4.1",
81
84
  "happy-dom": "^20.0.0",
82
85
  "husky": "^9.1.6",
86
+ "jsdom": "^27.3.0",
83
87
  "marked": "^16.0.0",
84
88
  "postcss-html": "^1.7.0",
85
89
  "postcss-scss": "^4.0.9",
@@ -97,6 +101,7 @@
97
101
  "vite-plugin-dts": "^4.0.1",
98
102
  "vite-plugin-vuetify": "^2.1.1",
99
103
  "vitest": "^3.2.4",
104
+ "vitest-axe": "^0.1.0",
100
105
  "vue": "^3.5.18",
101
106
  "vue-component-type-helpers": "2.2.0",
102
107
  "vue-router": "^4.4.5",
@@ -105,7 +110,7 @@
105
110
  },
106
111
  "peerDependencies": {
107
112
  "vue": "^3.5.18",
108
- "vuetify": "^3.9.2"
113
+ "vuetify": "3.9.2"
109
114
  },
110
115
  "dependencies": {
111
116
  "@emotion/css": "^11.13.5",
@@ -114,22 +119,24 @@
114
119
  "deepmerge": "^4.3.1",
115
120
  "iso-639-1": "^3.1.3",
116
121
  "maska": "^3.0.3",
117
- "sass-embedded": "^1.83.0",
118
- "sass-loader": "^16.0.3",
122
+ "sass-embedded": "1.83.0",
123
+ "sass-loader": "16.0.3",
119
124
  "slugify": "^1.6.6"
120
125
  },
121
126
  "publishConfig": {
122
127
  "access": "public"
123
128
  },
124
129
  "overrides": {
125
- "esbuild": "^0.25.0"
130
+ "esbuild": "^0.25.0",
131
+ "parse5": "7.1.2"
126
132
  },
127
133
  "pnpm": {
128
134
  "overrides": {
129
135
  "esbuild": "^0.25.0",
130
136
  "undici": "7.15.0",
131
137
  "glob": ">=10.5.0",
132
- "js-yaml": ">=4.1.1"
138
+ "js-yaml": ">=4.1.1",
139
+ "parse5": "7.1.2"
133
140
  },
134
141
  "patchedDependencies": {
135
142
  "undici@7.15.0": "patches/undici@7.15.0.patch"
@@ -153,11 +153,13 @@ $transparent-blue-00: rgb(12 65 154 / 0%);
153
153
  $primary-darker-2: #07275c;
154
154
  $primary-darker: #0a347b;
155
155
  $primary-base: #0c419a;
156
+ $primary: #0c419a;
156
157
  $primary-light: #3d67ae;
157
158
  $primary-lighter-2: #9eb3d7;
158
159
  $primary-lighter-3: #ced9eb;
159
160
  $primary-lighter-4: #e7ecf5;
160
161
  $primary-lighter-5: #f8f9fc;
162
+ $secondary: #006386;
161
163
  $neutral-black: #222324;
162
164
  $neutral-black-lighter: #545859;
163
165
  $neutral-black-lighter-2: #989b9b;
@@ -1,252 +1,81 @@
1
- import { Meta, Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/blocks';
1
+ import { Meta, Primary } from '@storybook/blocks';
2
2
  import * as AccordionStories from '../Accordion.stories';
3
3
  import AccessibilityIcon from '@/common/imgs/accessibility-svgrepo-com.svg';
4
- import '../../../stories/styles/shared.css';
4
+ import {
5
+ AccessibilityGuideLayout,
6
+ CriteriaSection,
7
+ CriteriaCard,
8
+ DemoSection,
9
+ BestPracticesSection,
10
+ ResourcesSection,
11
+ } from '../../../stories/accessibility/AccessibilityGuideLayout.mdx';
5
12
 
6
13
  <Meta of={AccordionStories} />
7
14
 
8
- <div className="accessibility-guide">
9
- <div className="header">
10
- <h1>Guide d'Accessibilité du Composant Accordion</h1>
11
- </div>
12
-
13
- <div className="intro-section">
14
- <img
15
- src={AccessibilityIcon}
16
- alt="Icône d'accessibilité"
17
- className="accessibility-icon"
18
- />
19
- <p className="intro-text">
20
- Le composant Accordion a été conçu en suivant rigoureusement les recommandations d'accessibilité du W3C,
21
- notamment le modèle <a href="https://www.w3.org/WAI/ARIA/apg/patterns/accordion/examples/accordion/" target="_blank" rel="noopener noreferrer">WAI-ARIA Authoring Practices</a>.
22
- Ce guide détaille comment notre implémentation respecte ces standards et garantit une expérience utilisateur inclusive.
23
- </p>
24
- </div>
15
+ <AccessibilityGuideLayout
16
+ componentName="Accordion"
17
+ iconSrc={AccessibilityIcon}
18
+ apgHref="https://www.w3.org/WAI/ARIA/apg/patterns/accordion/examples/accordion/"
19
+ >
20
+ <CriteriaSection>
21
+ <CriteriaCard icon="🔍" title="Structure sémantique">
22
+ <ul>
23
+ <li><strong>Rôles ARIA appropriés</strong> : <code>role="button"</code> pour les en-têtes et <code>role="region"</code> pour les panneaux de contenu</li>
24
+ <li><strong>Niveaux de titres personnalisables</strong> : Utilisation dynamique des balises <code>h1</code> à <code>h6</code> selon le contexte</li>
25
+ <li><strong>Relations entre éléments</strong> : Connexion entre en-têtes et panneaux via <code>aria-controls</code> et <code>aria-labelledby</code></li>
26
+ </ul>
27
+ </CriteriaCard>
25
28
 
26
- <div className="criteria-section">
27
- <h2>Critères d'accessibilité respectés</h2>
28
-
29
- <div className="criteria-card">
30
- <div className="criteria-header">
31
- <span className="criteria-icon">🔍</span>
32
- <h3>Structure sémantique</h3>
33
- </div>
34
- <ul>
35
- <li><strong>Rôles ARIA appropriés</strong> : <code>role="button"</code> pour les en-têtes et <code>role="region"</code> pour les panneaux de contenu</li>
36
- <li><strong>Niveaux de titres personnalisables</strong> : Utilisation dynamique des balises <code>h1</code> à <code>h6</code> selon le contexte</li>
37
- <li><strong>Relations entre éléments</strong> : Connexion entre en-têtes et panneaux via <code>aria-controls</code> et <code>aria-labelledby</code></li>
38
- </ul>
39
- </div>
40
-
41
- <div className="criteria-card">
42
- <div className="criteria-header">
43
- <span className="criteria-icon">⌨️</span>
44
- <h3>Navigation clavier complète</h3>
45
- </div>
46
- <ul>
47
- <li><strong>Touches Espace et Entrée</strong> : Pour activer/désactiver les panneaux</li>
48
- <li><strong>Touches fléchées</strong> : Navigation entre les en-têtes (↑ et ↓)</li>
49
- <li><strong>Touches Home/End</strong> : Accès rapide au premier/dernier en-tête</li>
50
- <li><strong>Gestion intelligente</strong> : Contournement automatique des éléments désactivés</li>
51
- </ul>
52
- </div>
53
-
54
- <div className="criteria-card">
55
- <div className="criteria-header">
56
- <span className="criteria-icon">📱</span>
57
- <h3>États et retours d'information</h3>
58
- </div>
59
- <ul>
60
- <li><strong>État d'expansion</strong> : <code>aria-expanded</code> indique si un panneau est ouvert ou fermé</li>
61
- <li><strong>État de désactivation</strong> : <code>aria-disabled</code> signale les éléments non disponibles</li>
62
- <li><strong>Indication visuelle</strong> : Rotation de l'icône et changements de couleur pour indiquer l'état</li>
63
- <li><strong>Focus visible</strong> : Indication claire de l'élément actuellement focalisé</li>
64
- </ul>
65
- </div>
66
-
67
- <div className="criteria-card">
68
- <div className="criteria-header">
69
- <span className="criteria-icon">🎨</span>
70
- <h3>Personnalisation accessible</h3>
71
- </div>
72
- <ul>
73
- <li><strong>Contraste configurable</strong> : Options de couleurs pour garantir un contraste suffisant</li>
74
- <li><strong>Taille et espacement</strong> : Dimensions adaptées pour faciliter l'interaction</li>
75
- <li><strong>Cohérence visuelle</strong> : Comportement prévisible dans différents contextes</li>
76
- </ul>
77
- </div>
78
- </div>
29
+ <CriteriaCard icon="⌨️" title="Navigation clavier complète">
30
+ <ul>
31
+ <li><strong>Touches Espace et Entrée</strong> : Pour activer/désactiver les panneaux</li>
32
+ <li><strong>Touches fléchées</strong> : Navigation entre les en-têtes (↑ et ↓)</li>
33
+ <li><strong>Touches Home/End</strong> : Accès rapide au premier/dernier en-tête</li>
34
+ <li><strong>Gestion intelligente</strong> : Contournement automatique des éléments désactivés</li>
35
+ </ul>
36
+ </CriteriaCard>
79
37
 
80
- <div className="demo-section">
81
- <h2>Démonstration interactive</h2>
82
- <p>
83
- Explorez ci-dessous un exemple d'Accordion entièrement accessible.
84
- Essayez de naviguer en utilisant uniquement votre clavier pour tester l'accessibilité.
85
- </p>
86
- <Primary />
87
- </div>
38
+ <CriteriaCard icon="📱" title="États et retours d'information">
39
+ <ul>
40
+ <li><strong>État d'expansion</strong> : <code>aria-expanded</code> indique si un panneau est ouvert ou fermé</li>
41
+ <li><strong>État de désactivation</strong> : <code>aria-disabled</code> signale les éléments non disponibles</li>
42
+ <li><strong>Indication visuelle</strong> : Rotation de l'icône et changements de couleur pour indiquer l'état</li>
43
+ <li><strong>Focus visible</strong> : Indication claire de l'élément actuellement focalisé</li>
44
+ </ul>
45
+ </CriteriaCard>
88
46
 
89
- <div className="best-practices">
90
- <h2>Bonnes pratiques d'utilisation</h2>
91
- <ul>
92
- <li>Utilisez des titres concis et descriptifs pour les en-têtes</li>
93
- <li>Évitez de placer des éléments interactifs complexes à l'intérieur du contenu des panneaux</li>
94
- <li>Maintenez une cohérence dans l'utilisation des niveaux de titres</li>
95
- <li>Limitez le nombre d'accordéons sur une même page pour éviter la surcharge cognitive</li>
96
- </ul>
97
- </div>
47
+ <CriteriaCard icon="🎨" title="Personnalisation accessible">
48
+ <ul>
49
+ <li><strong>Contraste configurable</strong> : Options de couleurs pour garantir un contraste suffisant</li>
50
+ <li><strong>Taille et espacement</strong> : Dimensions adaptées pour faciliter l'interaction</li>
51
+ <li><strong>Cohérence visuelle</strong> : Comportement prévisible dans différents contextes</li>
52
+ </ul>
53
+ </CriteriaCard>
54
+ </CriteriaSection>
98
55
 
99
- <div className="resources-section">
100
- <h2>Ressources supplémentaires</h2>
101
- <ul>
102
- <li><a href="https://www.w3.org/WAI/ARIA/apg/patterns/accordion/" target="_blank" rel="noopener noreferrer">Guide des pratiques d'auteur WAI-ARIA pour les accordéons</a></li>
103
- <li><a href="https://www.w3.org/WAI/WCAG21/quickref/" target="_blank" rel="noopener noreferrer">Référence rapide WCAG 2.1</a></li>
104
- <li><a href="https://inclusive-components.design/collapsible-sections/" target="_blank" rel="noopener noreferrer">Inclusive Components: Collapsible Sections</a></li>
105
- </ul>
106
- </div>
107
- </div>
56
+ <DemoSection componentName="Accordion">
57
+ <Primary />
58
+ </DemoSection>
108
59
 
109
- <style>
110
- {`
111
- .accessibility-guide {
112
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
113
- max-width: 1200px;
114
- margin: 0 auto;
115
- padding: 2rem;
116
- color: #333;
117
- line-height: 1.6;
118
- }
119
-
120
- .intro-section {
121
- display: flex;
122
- align-items: center;
123
- gap: 2rem;
124
- margin: 2rem 0;
125
- padding: 1.5rem;
126
- background: linear-gradient(135deg, #f5f7fa 0%, #e4e8f0 100%);
127
- border-radius: 12px;
128
- }
129
-
130
- .accessibility-icon {
131
- width: 80px;
132
- height: 80px;
133
- object-fit: contain;
134
- }
135
-
136
- .intro-text {
137
- font-size: 1.1rem;
138
- margin: 0;
139
- }
140
-
141
- .criteria-section {
142
- margin: 3rem 0;
143
- }
144
-
145
- .criteria-section h2 {
146
- font-size: 1.8rem;
147
- margin-bottom: 1.5rem;
148
- color: #2c3e50;
149
- border-bottom: 2px solid #e0e0e0;
150
- padding-bottom: 0.5rem;
151
- }
152
-
153
- .criteria-card {
154
- background-color: #ffffff;
155
- border-radius: 8px;
156
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.1);
157
- padding: 1.5rem;
158
- margin-bottom: 1.5rem;
159
- transition: transform 0.2s ease, box-shadow 0.2s ease;
160
- }
161
-
162
- .criteria-card:hover {
163
- transform: translateY(-2px);
164
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08), 0 3px 6px rgba(0, 0, 0, 0.12);
165
- }
166
-
167
- .criteria-header {
168
- display: flex;
169
- align-items: center;
170
- margin-bottom: 1rem;
171
- }
172
-
173
- .criteria-icon {
174
- font-size: 1.8rem;
175
- margin-right: 1rem;
176
- }
177
-
178
- .criteria-header h3 {
179
- margin: 0;
180
- font-size: 1.4rem;
181
- color: #1976d2;
182
- }
183
-
184
- .criteria-card ul {
185
- margin: 0;
186
- padding-left: 1.5rem;
187
- }
188
-
189
- .criteria-card li {
190
- margin-bottom: 0.5rem;
191
- }
192
-
193
- .criteria-card strong {
194
- color: #455a64;
195
- }
196
-
197
- .criteria-card code {
198
- background-color: #f5f5f5;
199
- padding: 0.2rem 0.4rem;
200
- border-radius: 4px;
201
- font-size: 0.9rem;
202
- color: #e91e63;
203
- }
204
-
205
- .demo-section {
206
- margin: 3rem 0;
207
- padding: 2rem;
208
- background-color: #f9f9f9;
209
- border-radius: 8px;
210
- }
211
-
212
- .best-practices {
213
- margin: 3rem 0;
214
- padding: 1.5rem;
215
- background-color: #e8f5e9;
216
- border-left: 4px solid #4caf50;
217
- border-radius: 4px;
218
- }
219
-
220
- .best-practices h2 {
221
- color: #2e7d32;
222
- margin-top: 0;
223
- }
224
-
225
- .resources-section {
226
- margin: 3rem 0;
227
- }
228
-
229
- .resources-section a {
230
- color: #1976d2;
231
- text-decoration: none;
232
- border-bottom: 1px dotted;
233
- transition: color 0.2s ease;
234
- }
235
-
236
- .resources-section a:hover {
237
- color: #0d47a1;
238
- }
239
-
240
- @media (max-width: 768px) {
241
- .intro-section {
242
- flex-direction: column;
243
- text-align: center;
244
- }
245
-
246
- .accessibility-icon {
247
- margin-bottom: 1rem;
248
- }
249
- }
250
- `}
251
- </style>
60
+ <BestPracticesSection>
61
+ <ul>
62
+ <li>Utilisez des titres concis et descriptifs pour les en-têtes</li>
63
+ <li>Évitez de placer des éléments interactifs complexes à l'intérieur du contenu des panneaux</li>
64
+ <li>Maintenez une cohérence dans l'utilisation des niveaux de titres</li>
65
+ <li>Limitez le nombre d'accordéons sur une même page pour éviter la surcharge cognitive</li>
66
+ </ul>
67
+ </BestPracticesSection>
252
68
 
69
+ <ResourcesSection>
70
+ <ul>
71
+ <li><a href="https://www.w3.org/WAI/ARIA/apg/patterns/accordion/" target="_blank" rel="noopener noreferrer">Guide des pratiques d'auteur WAI-ARIA pour les accordéons</a></li>
72
+ <li><a href="https://www.w3.org/WAI/WCAG21/quickref/" target="_blank" rel="noopener noreferrer">Référence rapide WCAG 2.1</a></li>
73
+ <li><a href="https://inclusive-components.design/collapsible-sections/" target="_blank" rel="noopener noreferrer">Inclusive Components: Collapsible Sections</a></li>
74
+ </ul>
75
+ </ResourcesSection>
76
+
77
+ <div class="mt-8">
78
+ <p>Rapport d’audit manuel : <a href="/audits/Accordion.xlsx" style={{ color:'#0C41BD' }}>Voir le rapport</a></p>
79
+ <p style={{ color: 'grey', fontSize: '14px', marginTop: '0px' }}>Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/926" target="_blank" style={{color:'#0C41BD'}}>issue #926</a>)</p>
80
+ </div>
81
+ </AccessibilityGuideLayout>
@@ -27,6 +27,12 @@ Vous pouvez personnaliser le niveau de titre (h1-h6) utilisé pour les boutons d
27
27
 
28
28
  <Canvas of={AccordionStories.CustomHeadingLevel} />
29
29
 
30
+ ## Slots personnalisés
31
+
32
+ Vous pouvez également utiliser des slots pour personnaliser le rendu des titres et du contenu.
33
+
34
+ <Canvas of={AccordionStories.WithSlots} />
35
+
30
36
  ## Accessibilité
31
37
 
32
38
  Le composant Accordion respecte les normes d'accessibilité ARIA :
@@ -58,7 +64,6 @@ const accordionItems = [
58
64
  }
59
65
  ]
60
66
  </script>
61
- import '../../stories/styles/shared.css';
62
67
 
63
68
  <template>
64
69
  <main>
@@ -1,7 +1,7 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import Accordion from './Accordion.vue'
3
3
 
4
- const meta = {
4
+ const meta: Meta<typeof Accordion> = {
5
5
  title: 'Composants/Données/Accordion',
6
6
  component: Accordion,
7
7
  parameters: {
@@ -23,7 +23,7 @@ const meta = {
23
23
  default: 'default',
24
24
  },
25
25
  },
26
- } satisfies Meta<typeof Accordion>
26
+ }
27
27
 
28
28
  export default meta
29
29
 
@@ -84,13 +84,13 @@ export const WithObjectContent: Story = {
84
84
  code: `<template>
85
85
  <Accordion
86
86
  :items="[
87
- {
88
- id: 'item3',
89
- title: 'Section 3',
87
+ {
88
+ id: 'item',
89
+ title: 'Section',
90
90
  content: {
91
- title: 'Sous-titre de la section 3',
92
- content: 'Contenu détaillé de la section 3'
93
- }
91
+ title: 'Sous-titre de la section',
92
+ content: 'Contenu détaillé de la section'
93
+ }
94
94
  }
95
95
  ]"
96
96
  :heading-level="3"
@@ -100,7 +100,16 @@ export const WithObjectContent: Story = {
100
100
  ],
101
101
  },
102
102
  args: {
103
- items: [defaultItems[2]],
103
+ items: [
104
+ {
105
+ id: 'item',
106
+ title: 'Section',
107
+ content: {
108
+ title: 'Sous-titre de la section ',
109
+ content: 'Contenu détaillé de la section',
110
+ },
111
+ },
112
+ ],
104
113
  headingLevel: 3,
105
114
  },
106
115
  render: args => ({
@@ -118,6 +127,9 @@ export const WithObjectContent: Story = {
118
127
 
119
128
  export const CustomColors: Story = {
120
129
  parameters: {
130
+ a11y: {
131
+ disable: true,
132
+ },
121
133
  sourceCode: [
122
134
  {
123
135
  language: 'vue',
@@ -195,6 +207,9 @@ export const CustomColors: Story = {
195
207
 
196
208
  export const CustomHeadingLevel: Story = {
197
209
  parameters: {
210
+ a11y: {
211
+ disable: true,
212
+ },
198
213
  sourceCode: [
199
214
  {
200
215
  language: 'vue',
@@ -260,3 +275,67 @@ export const CustomHeadingLevel: Story = {
260
275
  `,
261
276
  }),
262
277
  }
278
+
279
+ export const WithSlots: Story = {
280
+ parameters: {
281
+ sourceCode: [
282
+ {
283
+ language: 'vue',
284
+ name: 'Template',
285
+ code: `<template>
286
+ <Accordion
287
+ :items="[
288
+ { id: 'item1', title: 'Section 1', content: 'Contenu de la section 1' },
289
+ { id: 'item2', title: 'Section 2', content: 'Contenu de la section 2' }
290
+ ]"
291
+ >
292
+ <template #title="{ item }">
293
+ <span style="font-weight: 700;">{{ item.title }}</span>
294
+ </template>
295
+
296
+ <template #right-content>
297
+ <span style="font-size: 12px; opacity: 0.7;">Right content</span>
298
+ </template>
299
+
300
+ <template #content="{ item }">
301
+ <div style="padding: 8px 0;">
302
+ <p style="margin: 0;">Contenu custom :</p>
303
+ <p style="margin: 0; font-weight: 600;">{{ typeof item.content === 'string' ? item.content : item.content.content }}</p>
304
+ </div>
305
+ </template>
306
+ </Accordion>
307
+ </template>`,
308
+ },
309
+ ],
310
+ },
311
+ args: {
312
+ items: defaultItems.slice(0, 2),
313
+ headingLevel: 3,
314
+ },
315
+ render: args => ({
316
+ components: { Accordion },
317
+ setup() {
318
+ return { args }
319
+ },
320
+ template: `
321
+ <div class="pa-4">
322
+ <Accordion v-bind="args">
323
+ <template #title="{ item }">
324
+ <span style="font-weight: 700;">{{ item.title }}</span>
325
+ </template>
326
+
327
+ <template #right-content>
328
+ <span style="font-size: 12px; opacity: 0.7;">Right content</span>
329
+ </template>
330
+
331
+ <template #content="{ item }">
332
+ <div style="padding: 8px 0;">
333
+ <p style="margin: 0;">Contenu custom :</p>
334
+ <p style="margin: 0; font-weight: 600;">{{ typeof item.content === 'string' ? item.content : item.content.content }}</p>
335
+ </div>
336
+ </template>
337
+ </Accordion>
338
+ </div>
339
+ `,
340
+ }),
341
+ }