@cnamts/synapse 1.0.5 → 1.0.7

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 (364) hide show
  1. package/dist/{DateFilter-BQpRKTju.js → DateFilter-CHDLz2EO.js} +1 -1
  2. package/dist/{NumberFilter-BykSKt2D.js → NumberFilter-DXNQ4Uls.js} +1 -1
  3. package/dist/{PeriodFilter-Cks6NygV.js → PeriodFilter-C8Qf3Jcn.js} +1 -1
  4. package/dist/{SelectFilter-DEL5dHd_.js → SelectFilter-B2Ejs4Cb.js} +1 -1
  5. package/dist/{TextFilter-0RAFj7Oe.js → TextFilter-CfR5_A1S.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +103 -0
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +105 -0
  8. package/dist/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.d.ts +116 -0
  9. package/dist/components/Amelipro/AmeliproAccordionGroup/types.d.ts +4 -0
  10. package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +220 -0
  11. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +68 -0
  12. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +70 -0
  13. package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +204 -0
  14. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +26 -26
  15. package/dist/components/Amelipro/AmeliproBadge/AmeliproBadge.d.ts +59 -0
  16. package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +3 -3
  17. package/dist/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.d.ts +132 -0
  18. package/dist/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
  19. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +214 -0
  21. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +70 -0
  22. package/dist/components/Amelipro/AmeliproCarousel/types.d.ts +7 -0
  23. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +125 -0
  24. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +126 -0
  25. package/dist/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
  26. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +1 -1
  27. package/dist/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.d.ts +3 -3
  28. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  29. package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +164 -0
  30. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +27 -27
  31. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
  32. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +190 -0
  33. package/dist/components/Amelipro/AmeliproTable/types.d.ts +34 -0
  34. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +32 -32
  35. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +6 -6
  36. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +7 -7
  37. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +2 -2
  38. package/dist/components/Amelipro/AmeliproTooltips/AmeliproTooltips.d.ts +2 -2
  39. package/dist/components/Amelipro/types.d.ts +6 -0
  40. package/dist/components/ChipList/ChipList.d.ts +4 -0
  41. package/dist/components/ChipList/locales.d.ts +4 -2
  42. package/dist/components/CookieBanner/CookieBanner.d.ts +1 -1
  43. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +8 -8
  44. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +454 -8
  45. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +6 -1
  46. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +2 -0
  47. package/dist/components/Customs/SyTabs/SyTabs.d.ts +71 -0
  48. package/dist/components/Customs/SyTabs/config.d.ts +17 -0
  49. package/dist/components/Customs/SyTabs/types.d.ts +11 -0
  50. package/dist/components/Customs/SyTextField/SyTextField.d.ts +12 -10
  51. package/dist/components/DataList/DataList.d.ts +10 -1
  52. package/dist/components/DataListGroup/DataListGroup.d.ts +10 -1
  53. package/dist/components/DataListItem/DataListItem.d.ts +1 -1
  54. package/dist/components/DataListItem/config.d.ts +1 -1
  55. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +4825 -244
  56. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +58 -29
  57. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +28 -10
  58. package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +18 -8
  59. package/dist/components/DatePicker/composables/useKeyboardEvents.d.ts +41 -0
  60. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +4 -9
  61. package/dist/components/DatePicker/composables/useTodayButton.d.ts +1 -0
  62. package/dist/components/DatePicker/utils/dateFormattingUtils.d.ts +72 -0
  63. package/dist/components/DatePicker/utils/validationUtils.d.ts +38 -0
  64. package/dist/components/DialogBox/DialogBox.d.ts +219 -0
  65. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +9 -3
  66. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +6 -1
  67. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +11 -1
  68. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +11 -1
  69. package/dist/components/HeaderBar/HeaderBurgerMenu/locals.d.ts +2 -0
  70. package/dist/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.d.ts +4 -0
  71. package/dist/components/HeaderLoading/HeaderLoading.d.ts +27 -0
  72. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +110 -3
  73. package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +19 -1
  74. package/dist/components/LangBtn/LangBtn.d.ts +2 -2
  75. package/dist/components/NirField/NirField.d.ts +30 -20
  76. package/dist/components/PeriodField/PeriodField.d.ts +10949 -1783
  77. package/dist/components/PhoneField/PhoneField.d.ts +1866 -2
  78. package/dist/components/PhoneField/indicatifs.d.ts +1 -0
  79. package/dist/components/PhoneField/locales.d.ts +1 -0
  80. package/dist/components/RangeField/RangeField.d.ts +1 -1
  81. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +1 -1
  82. package/dist/components/SubHeader/SubHeader.d.ts +8 -0
  83. package/dist/components/SubHeader/locales.d.ts +1 -0
  84. package/dist/components/SyTextArea/SyTextArea.d.ts +6 -6
  85. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -4
  86. package/dist/components/Tables/SyTable/SyTable.d.ts +5 -4
  87. package/dist/components/Tables/common/SyTablePagination.d.ts +458 -7
  88. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +2 -2
  89. package/dist/components/Tables/common/types.d.ts +2 -0
  90. package/dist/components/index.d.ts +13 -0
  91. package/dist/composables/index.d.ts +1 -0
  92. package/dist/composables/usePagination.d.ts +16 -0
  93. package/dist/design-system-v3.js +174 -160
  94. package/dist/design-system-v3.umd.cjs +290 -281
  95. package/dist/directives/lockFocus.d.ts +17 -0
  96. package/dist/{main-Co2P_lBt.js → main-C66C1BkG.js} +14406 -11554
  97. package/dist/style.css +1 -1
  98. package/package.json +4 -1
  99. package/src/assets/amelipro/apTheme.scss +149 -0
  100. package/src/assets/amelipro/apTokens.scss +0 -148
  101. package/src/assets/amelipro/icons.ts +38 -11
  102. package/src/assets/overrides/_btns.scss +15 -0
  103. package/src/assets/overrides/_container.scss +36 -0
  104. package/src/assets/overrides/_forms.scss +7 -0
  105. package/src/assets/{_spacers.scss → overrides/_spacers.scss} +0 -7
  106. package/src/assets/overrides/_tables.scss +18 -0
  107. package/src/assets/overrides/_tooltips.scss +10 -0
  108. package/src/assets/overrides/_typography.scss +196 -0
  109. package/src/assets/settings.scss +11 -51
  110. package/src/assets/themes.scss +10 -0
  111. package/src/assets/tokens.scss +9 -156
  112. package/src/components/Accordion/composables/__tests__/useAccordionGroupCommunication.spec.ts +80 -40
  113. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.mdx +15 -0
  114. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +83 -0
  115. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +86 -0
  116. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +242 -0
  117. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +20 -0
  118. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +124 -0
  119. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +20 -0
  120. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +124 -0
  121. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.mdx +20 -0
  122. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.stories.ts +135 -0
  123. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.vue +107 -0
  124. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +37 -0
  125. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/__snapshots__/AmeliproAccordionGroup.spec.ts.snap +513 -0
  126. package/src/components/Amelipro/AmeliproAccordionGroup/types.d.ts +4 -0
  127. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.mdx +16 -0
  128. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +300 -0
  129. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +288 -0
  130. package/src/components/Amelipro/AmeliproAccordionList/__tests__/AmeliproAccordionList.spec.ts +38 -0
  131. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +1712 -0
  132. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.mdx +19 -0
  133. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +68 -0
  134. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.vue +66 -0
  135. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.vue +145 -0
  136. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/AmeliproAccordionResultTemplate.spec.ts +24 -0
  137. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +127 -0
  138. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/AmeliproAccordionResult.spec.ts +24 -0
  139. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +123 -0
  140. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.mdx +20 -0
  141. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +273 -0
  142. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +275 -0
  143. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/AmeliproAccordionResultList.spec.ts +38 -0
  144. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +1593 -0
  145. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.mdx +15 -0
  146. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.stories.ts +54 -0
  147. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.vue +76 -0
  148. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +20 -0
  149. package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +19 -0
  150. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.mdx +15 -0
  151. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.stories.ts +87 -0
  152. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +233 -0
  153. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +24 -0
  154. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +384 -0
  155. package/src/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
  156. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.mdx +15 -0
  157. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.stories.ts +191 -0
  158. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +263 -0
  159. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.vue +93 -0
  160. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/AmeliproCarouselItem.spec.ts +24 -0
  161. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/__snapshots__/AmeliproCarouselItem.spec.ts.snap +43 -0
  162. package/src/components/Amelipro/AmeliproCarousel/__tests__/AmeliproCarousel.spec.ts +40 -0
  163. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +342 -0
  164. package/src/components/Amelipro/AmeliproCarousel/types.d.ts +8 -0
  165. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.mdx +18 -0
  166. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +67 -0
  167. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +233 -0
  168. package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +21 -0
  169. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +140 -0
  170. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.mdx +15 -0
  171. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +143 -0
  172. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +351 -0
  173. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +50 -0
  174. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +186 -0
  175. package/src/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
  176. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +7 -1
  177. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +5 -711
  178. package/src/components/Amelipro/AmeliproIcon/iconList.ts +6 -0
  179. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +5 -711
  180. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.mdx +15 -0
  181. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +264 -0
  182. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +231 -0
  183. package/src/components/Amelipro/AmeliproResultList/__tests__/AmeliproResultList.spec.ts +37 -0
  184. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +434 -0
  185. package/src/components/Amelipro/AmeliproTable/AmeliproTable.mdx +22 -0
  186. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +550 -0
  187. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +422 -0
  188. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +72 -0
  189. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +424 -0
  190. package/src/components/Amelipro/AmeliproTable/types.d.ts +34 -0
  191. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +2 -2
  192. package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +12 -1
  193. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -820
  194. package/src/components/Amelipro/types.ts +8 -0
  195. package/src/components/ChipList/Accessibilite.stories.ts +4 -0
  196. package/src/components/ChipList/ChipList.vue +185 -42
  197. package/src/components/ChipList/locales.ts +4 -2
  198. package/src/components/ChipList/tests/chipList.spec.ts +7 -4
  199. package/src/components/CollapsibleList/CollapsibleList.vue +0 -2
  200. package/src/components/CookieBanner/CookieBanner.vue +1 -3
  201. package/src/components/CopyBtn/CopyBtn.vue +9 -2
  202. package/src/components/CopyBtn/tests/CopyBtn.spec.ts +3 -1
  203. package/src/components/Customs/Selects/SelectOverview.mdx +18 -15
  204. package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.stories.ts +10 -10
  205. package/src/components/Customs/Selects/SySelect/Accessibilite.mdx +7 -0
  206. package/src/components/Customs/Selects/SySelect/Accessibilite.stories.ts +4 -1
  207. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +92 -4
  208. package/src/components/Customs/Selects/SySelect/SySelect.vue +373 -56
  209. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +14 -5
  210. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +129 -12
  211. package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +3 -1
  212. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +165 -0
  213. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +28 -9
  214. package/src/components/Customs/SyIcon/SyIcon.spec.ts +3 -0
  215. package/src/components/Customs/SyTabs/Accessibilite.mdx +309 -0
  216. package/src/components/Customs/SyTabs/SyTabs.mdx +117 -0
  217. package/src/components/Customs/SyTabs/SyTabs.stories.ts +354 -0
  218. package/src/components/Customs/SyTabs/SyTabs.vue +350 -0
  219. package/src/components/Customs/SyTabs/config.ts +17 -0
  220. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +425 -0
  221. package/src/components/Customs/SyTabs/types.ts +12 -0
  222. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +3 -1
  223. package/src/components/Customs/SyTextField/SyTextField.mdx +3 -0
  224. package/src/components/Customs/SyTextField/SyTextField.stories.ts +221 -7
  225. package/src/components/Customs/SyTextField/SyTextField.vue +226 -29
  226. package/src/components/DataList/Accessibilite.stories.ts +4 -0
  227. package/src/components/DataList/DataList.vue +52 -47
  228. package/src/components/DataListGroup/Accessibilite.stories.ts +4 -0
  229. package/src/components/DataListGroup/DataListGroup.vue +32 -15
  230. package/src/components/DataListItem/DataListItem.vue +72 -65
  231. package/src/components/DataListItem/config.ts +1 -1
  232. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +3 -3
  233. package/src/components/DatePicker/CalendarMode/DatePicker.vue +59 -18
  234. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +174 -0
  235. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +421 -636
  236. package/src/components/DatePicker/DatePickerValidationExample/CalendarMode.stories.ts +215 -0
  237. package/src/components/DatePicker/DatePickerValidationExample/ComplexDatePicker.stories.ts +218 -0
  238. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +2 -0
  239. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +287 -1
  240. package/src/components/DatePicker/DatePickerValidationExample/DateTextInput.stories.ts +218 -0
  241. package/src/components/DatePicker/DatePickerValidationExample/MultiMode.stories.ts +281 -0
  242. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +1 -1
  243. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +17 -4
  244. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +111 -18
  245. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +238 -6
  246. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +716 -759
  247. package/src/components/DatePicker/composables/tests/useDateInputEditing.spec.ts +4 -4
  248. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +17 -10
  249. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +11 -3
  250. package/src/components/DatePicker/composables/useDateInputEditing.ts +119 -225
  251. package/src/components/DatePicker/composables/useDisplayedDateString.ts +18 -4
  252. package/src/components/DatePicker/composables/useKeyboardEvents.ts +149 -0
  253. package/src/components/DatePicker/composables/useManualDateValidation.ts +27 -68
  254. package/src/components/DatePicker/composables/useTodayButton.ts +13 -1
  255. package/src/components/DatePicker/utils/dateFormattingUtils.ts +293 -0
  256. package/src/components/DatePicker/utils/validationUtils.ts +90 -0
  257. package/src/components/DialogBox/Accessibilite.stories.ts +4 -0
  258. package/src/components/DialogBox/DialogBox.stories.ts +22 -10
  259. package/src/components/DialogBox/DialogBox.vue +89 -22
  260. package/src/components/DialogBox/tests/DialogBox.spec.ts +22 -0
  261. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +12 -6
  262. package/src/components/FileUpload/tests/FileUpload.spec.ts +3 -0
  263. package/src/components/FooterBar/FooterBar.vue +1 -0
  264. package/src/components/HeaderBar/Accessibilite.stories.ts +4 -0
  265. package/src/components/HeaderBar/HeaderBar.mdx +47 -22
  266. package/src/components/HeaderBar/HeaderBar.stories.ts +54 -13
  267. package/src/components/HeaderBar/HeaderBar.vue +2 -1
  268. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +4 -0
  269. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +160 -82
  270. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +41 -56
  271. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +10 -3
  272. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +41 -18
  273. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.ts +7 -2
  274. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +36 -9
  275. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +41 -9
  276. package/src/components/HeaderBar/HeaderBurgerMenu/locals.ts +2 -0
  277. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +1 -1
  278. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +8 -3
  279. package/src/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.ts +50 -0
  280. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +5 -5
  281. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +7 -4
  282. package/src/components/HeaderBar/locales.ts +1 -1
  283. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +2 -1
  284. package/src/components/HeaderLoading/Accessibilite.mdx +429 -8
  285. package/src/components/HeaderLoading/Accessibilite.stories.ts +4 -0
  286. package/src/components/HeaderLoading/HeaderLoading.vue +59 -1
  287. package/src/components/HeaderNavigationBar/HeaderNavigationBar.mdx +17 -2
  288. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +91 -2
  289. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +37 -1
  290. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +276 -21
  291. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +4 -2
  292. package/src/components/LangBtn/LangBtn.vue +0 -3
  293. package/src/components/LogoBrandSection/Accessibilite.stories.ts +4 -1
  294. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
  295. package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -8
  296. package/src/components/LogoBrandSection/locales.ts +1 -1
  297. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +1 -1
  298. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +6 -4
  299. package/src/components/NirField/NirField.mdx +3 -0
  300. package/src/components/NirField/NirField.vue +15 -6
  301. package/src/components/NirField/tests/NirField.spec.ts +159 -12
  302. package/src/components/PasswordField/PasswordField.mdx +3 -0
  303. package/src/components/PeriodField/PeriodField.mdx +2 -0
  304. package/src/components/PeriodField/PeriodField.stories.ts +195 -0
  305. package/src/components/PhoneField/Accessibilite.stories.ts +4 -0
  306. package/src/components/PhoneField/PhoneField.mdx +3 -1
  307. package/src/components/PhoneField/PhoneField.stories.ts +285 -1
  308. package/src/components/PhoneField/PhoneField.vue +228 -95
  309. package/src/components/PhoneField/indicatifs.ts +102 -102
  310. package/src/components/PhoneField/locales.ts +1 -0
  311. package/src/components/PhoneField/tests/PhoneField.spec.ts +429 -2
  312. package/src/components/SkipLink/SkipLink.vue +3 -31
  313. package/src/components/SkipLink/tests/skipLink.spec.ts +0 -21
  314. package/src/components/SubHeader/Accessibilite.stories.ts +8 -0
  315. package/src/components/SubHeader/SubHeader.mdx +1 -0
  316. package/src/components/SubHeader/SubHeader.stories.ts +179 -60
  317. package/src/components/SubHeader/SubHeader.vue +45 -15
  318. package/src/components/SubHeader/locales.ts +1 -0
  319. package/src/components/SyAlert/SyAlert.vue +6 -0
  320. package/src/components/Tables/SyServerTable/SyServerTable.mdx +3 -10
  321. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +242 -0
  322. package/src/components/Tables/SyServerTable/SyServerTable.vue +29 -10
  323. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +104 -6
  324. package/src/components/Tables/SyTable/SyTable.mdx +3 -10
  325. package/src/components/Tables/SyTable/SyTable.stories.ts +242 -0
  326. package/src/components/Tables/SyTable/SyTable.vue +2 -0
  327. package/src/components/Tables/common/SyTablePagination.vue +13 -6
  328. package/src/components/Tables/common/TableHeader.vue +10 -7
  329. package/src/components/Tables/common/tableAccessibilityUtils.ts +13 -2
  330. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +157 -0
  331. package/src/components/Tables/common/types.ts +2 -0
  332. package/src/components/Tables/common/useTableAria.ts +17 -1
  333. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +2 -1
  334. package/src/components/index.ts +13 -0
  335. package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +34 -5
  336. package/src/composables/index.ts +3 -0
  337. package/src/composables/useFilterable/useFilterable.ts +23 -1
  338. package/src/composables/usePagination.ts +103 -0
  339. package/src/designTokens/tokens/amelipro/apColors.ts +1 -1
  340. package/src/designTokens/tokens/cnam/cnamSemantic.ts +3 -3
  341. package/src/directives/lockFocus.ts +48 -0
  342. package/src/main.ts +1 -2
  343. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +1 -8
  344. package/src/stories/Accessibilite/{Aculturation/AuditDesignSystem.mdx → AuditDesignSystem.mdx} +1 -1
  345. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.mdx +102 -0
  346. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.stories.ts +219 -0
  347. package/src/stories/Accessibilite/KitDePreAudit/Outils/{Tanaguru.mdx → Tanaguru/Utilisation.mdx} +1 -1
  348. package/src/stories/Components/Components.stories.ts +1 -1
  349. package/src/stories/DesignTokens/ColorIntegrationExample.vue +43 -0
  350. package/src/stories/DesignTokens/Colors.mdx +2 -0
  351. package/src/stories/DesignTokens/colors.stories.ts +9 -0
  352. package/src/stories/GuideDuDev/FormValidationGuide.mdx +342 -0
  353. package/src/stories/Templates/Templates.stories.ts +1 -1
  354. package/src/utils/functions/ameliproColors/ameliproColors.ts +1 -1
  355. package/src/vuetifyConfig.ts +3 -3
  356. package/dist/components/DataList/locales.d.ts +0 -3
  357. package/dist/directives/letterSpacing.d.ts +0 -27
  358. package/src/assets/_fonts.scss +0 -6
  359. package/src/assets/_typography.scss +0 -157
  360. package/src/components/DataList/locales.ts +0 -3
  361. package/src/components/PhoneField/tests/PhoneField.additional.spec.ts +0 -266
  362. package/src/directives/letterSpacing.ts +0 -233
  363. /package/src/assets/{_elevations.scss → overrides/_elevations.scss} +0 -0
  364. /package/src/assets/{_radius.scss → overrides/_radius.scss} +0 -0
@@ -182,6 +182,10 @@ export const Legende: StoryObj = {
182
182
  </div>
183
183
  </div>
184
184
  </div>
185
+ <div class="mt-4">
186
+ <p>Rapport d’audit manuel : <a href="/audits/DialogBox.xlsx" style="color:#0C41BD;">Voir le rapport</a></p>
187
+ <p style="color: grey; font-size: 14px">Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/798" target="_blank" style="color:#0C41BD;">issue #798</a>)</p>
188
+ </div>
185
189
  `,
186
190
  }
187
191
  },
@@ -2,6 +2,7 @@ import { type Meta, type StoryObj } from '@storybook/vue3'
2
2
  import { VBtn } from 'vuetify/components'
3
3
  import DialogBox from './DialogBox.vue'
4
4
  import { fn } from '@storybook/test'
5
+ import { computed } from 'vue'
5
6
 
6
7
  const meta: Meta<typeof DialogBox> = {
7
8
  title: 'Composants/Feedback/DialogBox',
@@ -100,6 +101,18 @@ const meta: Meta<typeof DialogBox> = {
100
101
  },
101
102
  },
102
103
  },
104
+ 'autofocusValidateBtn': {
105
+ control: 'boolean',
106
+ description: 'Focus automatique sur le bouton de validation à l\'ouverture',
107
+ table: {
108
+ type: {
109
+ summary: 'boolean',
110
+ },
111
+ defaultValue: {
112
+ summary: 'false',
113
+ },
114
+ },
115
+ },
103
116
  'vuetifyOptions': {
104
117
  control: 'object',
105
118
  description: 'Personnalisation des composants Vuetify internes',
@@ -189,7 +202,12 @@ export const Default: Story = {
189
202
  return {
190
203
  components: { DialogBox, VBtn },
191
204
  setup() {
192
- return { args }
205
+ const rest = computed(() => {
206
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
207
+ const { default: _, ...rest } = args
208
+ return rest
209
+ })
210
+ return { args, rest }
193
211
  },
194
212
  template: `
195
213
  <div class="pa-4">
@@ -198,7 +216,7 @@ export const Default: Story = {
198
216
  color="primary"
199
217
  >Toggle DialogBox</VBtn>
200
218
  <DialogBox
201
- v-bind="args"
219
+ v-bind="rest"
202
220
  @confirm="args.modelValue = false"
203
221
  @cancel="args.modelValue = false"
204
222
  @update:modelValue="args.modelValue = $event"
@@ -560,10 +578,7 @@ export const TitleSlot: Story = {
560
578
  @cancel="args.modelValue = false"
561
579
  >
562
580
  <template #title>
563
- <VBtn
564
- color="primary"
565
- @click="args.modelValue = false"
566
- >Title slot</VBtn>
581
+ Title slot
567
582
  </template>
568
583
  {{ args.default }}
569
584
  </DialogBox>
@@ -585,10 +600,7 @@ export const TitleSlot: Story = {
585
600
  v-model="dialogOpen"
586
601
  >
587
602
  <template #title>
588
- <VBtn
589
- color="primary"
590
- @click="dialogOpen = false"
591
- >Title slot</VBtn>
603
+ Title slot
592
604
  </template>
593
605
  DialogBox content
594
606
  </DialogBox>
@@ -1,10 +1,12 @@
1
1
  <script setup lang="ts">
2
2
  import useCustomizableOptions, { type CustomizableOptions } from '@/composables/useCustomizableOptions'
3
3
  import { mdiClose } from '@mdi/js'
4
- import { ref } from 'vue'
5
- import type { VDialog } from 'vuetify/components'
4
+ import { ref, useId, watch, nextTick } from 'vue'
5
+ import type { VBtn, VDialog } from 'vuetify/components'
6
6
  import { config } from './config'
7
7
  import { locales } from './locales'
8
+ import { useDisplay } from 'vuetify/lib/framework.mjs'
9
+ import SyIcon from '../Customs/SyIcon/SyIcon.vue'
8
10
 
9
11
  const props = withDefaults(defineProps<{
10
12
  title?: string
@@ -13,6 +15,7 @@
13
15
  confirmBtnText?: string
14
16
  hideActions?: boolean
15
17
  persistent?: boolean
18
+ autofocusValidateBtn?: boolean
16
19
  } & CustomizableOptions>(), {
17
20
  title: undefined,
18
21
  width: '800px',
@@ -20,6 +23,7 @@
20
23
  confirmBtnText: locales.confirmBtn,
21
24
  hideActions: false,
22
25
  persistent: false,
26
+ autofocusValidateBtn: false,
23
27
  })
24
28
 
25
29
  defineEmits(['cancel', 'confirm', 'update:modelValue'])
@@ -33,6 +37,24 @@
33
37
  default: false,
34
38
  })
35
39
 
40
+ const confirmBtn = ref<VBtn | null>(null)
41
+ // Restor the focus to the last active element when the dialog is closed
42
+ let activeElement: HTMLElement | null = null
43
+ watch(dialog, (newValue) => {
44
+ if (newValue) {
45
+ activeElement = document.activeElement as HTMLElement
46
+ if (props.autofocusValidateBtn) {
47
+ nextTick(() => {
48
+ confirmBtn.value?.$el.focus()
49
+ })
50
+ }
51
+ }
52
+ else if (activeElement) {
53
+ activeElement.focus()
54
+ }
55
+ }, { immediate: true })
56
+
57
+ const id = `dialog-${useId()}`
36
58
  const dialogContent = ref<VDialog | undefined>(undefined)
37
59
 
38
60
  const options = useCustomizableOptions(config, props)
@@ -75,6 +97,9 @@
75
97
  selectableElements[lastElement].focus()
76
98
  }
77
99
  }
100
+
101
+ const display = useDisplay()
102
+
78
103
  </script>
79
104
 
80
105
  <template>
@@ -86,18 +111,19 @@
86
111
  :retain-focus="false"
87
112
  aria-modal="true"
88
113
  class="sy-dialog-box"
114
+ :aria-labelledby="id"
89
115
  @keydown.tab="handleFocus"
90
116
  >
91
117
  <VCard
92
118
  v-bind="options.card"
93
- id="dialogContent"
119
+ id="dialog-content"
94
120
  ref="dialogContent"
95
- :aria-labelledby="props.title ? props.title : 'dialogContent'"
96
121
  >
97
122
  <VCardTitle v-bind="options.cardTitle">
98
123
  <slot name="title">
99
124
  <h2
100
125
  v-if="title"
126
+ :id="id"
101
127
  class="text-h6 font-weight-bold"
102
128
  >
103
129
  {{ props.title }}
@@ -108,13 +134,16 @@
108
134
 
109
135
  <VBtn
110
136
  v-if="!props.persistent"
137
+ class="sy-dialog-box-close-btn"
111
138
  v-bind="options.closeBtn"
112
139
  :aria-label="locales.closeBtn"
113
140
  @click="dialog = false"
114
141
  >
115
- <VIcon v-bind="options.icon">
116
- {{ closeIcon }}
117
- </VIcon>
142
+ <SyIcon
143
+ :icon="closeIcon"
144
+ :decorative="true"
145
+ v-bind="options.icon"
146
+ />
118
147
  </VBtn>
119
148
  </VCardTitle>
120
149
  <slot />
@@ -127,20 +156,42 @@
127
156
  <VSpacer v-bind="options.actionsSpacer" />
128
157
 
129
158
  <slot name="actions">
130
- <VBtn
131
- v-bind="options.cancelBtn"
132
- @click="$emit('cancel')"
133
- >
134
- {{ props.cancelBtnText }}
135
- </VBtn>
136
-
137
- <VBtn
138
- v-bind="options.confirmBtn"
139
- data-test-id="confirm-btn"
140
- @click="$emit('confirm')"
141
- >
142
- {{ props.confirmBtnText }}
143
- </VBtn>
159
+ <template v-if="display.xs.value">
160
+ <VBtn
161
+ v-bind="options.confirmBtn"
162
+ data-test-id="confirm-btn"
163
+ @click="$emit('confirm')"
164
+ >
165
+ {{ props.confirmBtnText }}
166
+ </VBtn>
167
+
168
+ <VBtn
169
+ v-bind="options.cancelBtn"
170
+ @click="$emit('cancel')"
171
+ >
172
+ {{ props.cancelBtnText }}
173
+ </VBtn>
174
+ </template>
175
+ <template v-else>
176
+ <VBtn
177
+ class="sy-dialog-box-cancel-btn"
178
+ v-bind="options.cancelBtn"
179
+ @click="$emit('cancel')"
180
+ >
181
+ {{ props.cancelBtnText }}
182
+ </VBtn>
183
+
184
+ <VBtn
185
+ v-bind="options.confirmBtn"
186
+ ref="confirmBtn"
187
+ class="sy-dialog-box-confirm-btn"
188
+ :class="props.autofocusValidateBtn ? 'sy-dialog-box-confirm-btn--autofocus' : ''"
189
+ data-test-id="confirm-btn"
190
+ @click="$emit('confirm')"
191
+ >
192
+ {{ props.confirmBtnText }}
193
+ </VBtn>
194
+ </template>
144
195
  </slot>
145
196
  </div>
146
197
  </VCard>
@@ -165,9 +216,25 @@ h2 {
165
216
  text-wrap: balance;
166
217
  }
167
218
 
219
+ .sy-dialog-box-close-btn:focus-visible,
220
+ .sy-dialog-box-cancel-btn:focus-visible,
221
+ .sy-dialog-box-confirm-btn:focus-visible,
222
+ .sy-dialog-box-confirm-btn--autofocus:focus {
223
+ :deep(.v-btn__overlay) {
224
+ display: none;
225
+ }
226
+
227
+ &::after {
228
+ opacity: 1;
229
+ border: transparent;
230
+ outline: 2px solid rgb(var(--v-theme-primary));
231
+ outline-offset: 2px;
232
+ }
233
+ }
234
+
168
235
  .sy-dialog-box-actions-ctn {
169
236
  display: flex;
170
- flex-direction: column-reverse;
237
+ flex-direction: column;
171
238
  justify-content: stretch;
172
239
  gap: $spacing-small;
173
240
  }
@@ -348,4 +348,26 @@ describe('DialogBox', () => {
348
348
  expect(result).toEqual([])
349
349
  })
350
350
  })
351
+
352
+ it('focus the confirm button on open if autofocusValidateBtn is true', async () => {
353
+ const wrapper = mount(DialogBox, {
354
+ props: {
355
+ ...defaultProps,
356
+ autofocusValidateBtn: true,
357
+ },
358
+ global: {
359
+ plugins: [vuetify],
360
+ },
361
+ attachTo: document.body,
362
+ })
363
+
364
+ const modal = wrapper.getComponent(VCard)
365
+
366
+ const confirmBtn = modal.find('[data-test-id="confirm-btn"]')
367
+
368
+ await wrapper.vm.$nextTick()
369
+
370
+ expect(confirmBtn.element).toEqual(document.activeElement)
371
+ wrapper.unmount()
372
+ })
351
373
  })
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
4
4
  <div
5
+ aria-labelledby="dialog-v-0"
5
6
  aria-modal="true"
6
7
  class="sy-dialog-box"
7
8
  modelvalue="true"
@@ -10,7 +11,6 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
10
11
  width="600px"
11
12
  >
12
13
  <div
13
- aria-labelledby="Test title"
14
14
  class="
15
15
  pa-6
16
16
  v-card
@@ -18,7 +18,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
18
18
  v-card--variant-elevated
19
19
  v-theme--light
20
20
  "
21
- id="dialogContent"
21
+ id="dialog-content"
22
22
  >
23
23
  <!---->
24
24
  <div class="v-card__loader">
@@ -81,10 +81,13 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
81
81
  pa-0
82
82
  v-card-title
83
83
  ">
84
- <h2 class="
85
- font-weight-bold
86
- text-h6
87
- ">
84
+ <h2
85
+ class="
86
+ font-weight-bold
87
+ text-h6
88
+ "
89
+ id="dialog-v-0"
90
+ >
88
91
  Test title
89
92
  </h2>
90
93
  <div class="v-spacer"></div>
@@ -95,6 +98,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
95
98
  ml-4
96
99
  mr-n2
97
100
  mt-n2
101
+ sy-dialog-box-close-btn
98
102
  v-btn
99
103
  v-btn--density-default
100
104
  v-btn--elevated
@@ -141,6 +145,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
141
145
  <div class="v-spacer"></div>
142
146
  <button
143
147
  class="
148
+ sy-dialog-box-cancel-btn
144
149
  text-primary
145
150
  v-btn
146
151
  v-btn--density-default
@@ -165,6 +170,7 @@ exports[`DialogBox > rendering and props > renders correctly with props 1`] = `
165
170
  <button
166
171
  class="
167
172
  bg-primary
173
+ sy-dialog-box-confirm-btn
168
174
  v-btn
169
175
  v-btn--density-default
170
176
  v-btn--elevated
@@ -57,6 +57,9 @@ describe('FileUpload', () => {
57
57
  global: {
58
58
  plugins: [vuetify],
59
59
  },
60
+ props: {
61
+ modelValue: [], // Ajouter la prop modelValue obligatoire
62
+ },
60
63
  })
61
64
 
62
65
  const label = wrapper.find('label')
@@ -184,6 +184,7 @@
184
184
  v-bind="options.goTopBtnIcon"
185
185
  :icon="arrowTopIcon"
186
186
  class="scroll"
187
+ label="Aller en haut de la page"
187
188
  />
188
189
  </VBtn>
189
190
  </div>
@@ -216,6 +216,10 @@ export const Legende: StoryObj = {
216
216
  </div>
217
217
  </div>
218
218
  </div>
219
+ <div class="mt-4">
220
+ <p>Rapport d’audit manuel : <a href="/audits/HeaderBar.xlsx" style="color:#0C41BD;">Voir le rapport</a></p>
221
+ <p style="color: grey; font-size: 14px">Correctifs associés (<a href="https://github.com/assurance-maladie-digital/design-system-v3/issues/643" target="_blank" style="color:#0C41BD;">issue #643</a>)</p>
222
+ </div>
219
223
  `,
220
224
  }
221
225
  },
@@ -18,24 +18,39 @@ Pour voir l'utilisation du menu, veuillez consulter le composant `HeaderBurgerMe
18
18
  ### Prepend
19
19
 
20
20
  Le slot `prepend` permet d'ajouter du contenu en haut du header, il suivra le comportement du header au scroll.
21
- Il est possible de récupérer le status du Menu de header en utilisant la prop `isMenuOpen` du slot `prepend`. (Fonctionne uniquement pour les menu s'enregistrant via la fonction injectée `registerHeaderMenu`, ce qui est le cas pour le composant `HeaderBurgerMenu`)
21
+ Il est possible de récupérer le status du Menu de header en utilisant la prop `menuOpen` du slot `prepend`. (Fonctionne uniquement pour les menus s'enregistrant via la fonction injectée `registerHeaderMenu`, ce qui est le cas pour le composant `HeaderBurgerMenu`).
22
+ Le contenu du slot prend tout l'espace disponible en largeur. Pour que le contenu soit de même dimension que le header, il faut lui appliquer une largeur maximale de `1712px`.
22
23
 
23
24
  <Source
24
25
  dark
25
26
  code={`
26
27
  <template>
27
- <HeaderBar>
28
- <template #menu>
29
- <HeaderBurgerMenu>
30
- ...
31
- </HeaderBurgerMenu>
32
- </template>
33
- <template #prepend="{ isMenuOpen }">
34
- <div v-if="isMenuOpen">Menu ouvert</div>
35
- <div v-else>Menu fermé</div>
36
- </template>
37
- </HeaderBar>
28
+ <HeaderBar>
29
+ <template #menu>
30
+ <HeaderBurgerMenu>
31
+ ...
32
+ </HeaderBurgerMenu>
33
+ </template>
34
+ <template #prepend="{ menuOpen }">
35
+ <div class="header-prepend-content">
36
+ <div v-if="menuOpen">
37
+ Menu ouvert
38
+ </div>
39
+ <div v-else>
40
+ Menu fermé
41
+ </div>
42
+ </div>
43
+ </template>
44
+ </HeaderBar>
38
45
  </template>
46
+
47
+ <style lang="scss" scoped>
48
+ .header-prepend-content {
49
+ width: 100%;
50
+ max-width: 1712px;
51
+ margin: 0 auto;
52
+ }
53
+ </style>
39
54
  `}
40
55
  />
41
56
 
@@ -47,7 +62,11 @@ code:`
47
62
  <template>
48
63
  <HeaderBar>
49
64
  <template #prepend>
50
- <div style="height: 26px; background-color: RebeccaPurple;"></div>
65
+ <div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
66
+ <div>
67
+ Contenu
68
+ </div>
69
+ </div>
51
70
  </template>
52
71
  </HeaderBar>
53
72
  </template>
@@ -57,24 +76,28 @@ code:`
57
76
  ### Append
58
77
 
59
78
  Le slot `append` permet d'ajouter du contenu en bas du header, il suivra le comportement du header au scroll.
60
- Il est également possible de récupérer le status du Menu de header en utilisant la prop `isMenuOpen` du slot `append`.
79
+ Il est également possible de récupérer le status du Menu de header en utilisant la prop `menuOpen` du slot `append`.
80
+ Le contenu du slot prend tout l'espace disponible en largeur. Pour que le contenu soit de même dimension que le header, il faut lui appliquer une largeur maximale de `1712px`.
61
81
 
62
82
  <Source
63
83
  dark
64
84
  code={`
65
85
  <template>
66
86
  <HeaderBar>
67
- <template #menu>
68
- <HeaderBurgerMenu>
69
- ...
70
- </HeaderBurgerMenu>
71
- </template>
72
- <template #append="{ isMenuOpen }">
73
- <div v-if="isMenuOpen">Menu ouvert</div>
87
+ <template #append="{ menuOpen }">
88
+ <div v-if="menuOpen">Menu ouvert</div>
74
89
  <div v-else>Menu fermé</div>
75
90
  </template>
76
91
  </HeaderBar>
77
92
  </template>
93
+
94
+ <style lang="scss" scoped>
95
+ .header-append-content {
96
+ width: 100%;
97
+ max-width: 1712px;
98
+ margin: 0 auto;
99
+ }
100
+ </style>
78
101
  `}
79
102
  />
80
103
 
@@ -86,7 +109,9 @@ Il est également possible de récupérer le status du Menu de header en utilisa
86
109
  <template>
87
110
  <HeaderBar>
88
111
  <template #append>
89
- <div style="height: 26px; background-color: RebeccaPurple;"></div>
112
+ <div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
113
+ <div>contenu</div>
114
+ </div>
90
115
  </template>
91
116
  </HeaderBar>
92
117
  </template>
@@ -1,12 +1,13 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
 
3
- import { mdiAccountCircleOutline, mdiMagnify } from '@mdi/js'
3
+ import { mdiAccountCircleOutline, mdiMagnify, mdiMenu } from '@mdi/js'
4
4
  import { VBtn, VListItem, VListItemTitle } from 'vuetify/components'
5
5
  import HeaderToolbar from '../HeaderToolbar/HeaderToolbar.vue'
6
6
  import LogoBrandSection from '../LogoBrandSection/LogoBrandSection.vue'
7
7
  import SubHeader from '../SubHeader/SubHeader.vue'
8
8
  import UserMenuBtn from '../UserMenuBtn/UserMenuBtn.vue'
9
9
  import HeaderBar from './HeaderBar.vue'
10
+ import SyIcon from '../Customs/SyIcon/SyIcon.vue'
10
11
 
11
12
  const meta = {
12
13
  title: 'Composants/Structure/HeaderBar',
@@ -194,20 +195,23 @@ export const WithRightMenu: Story = {
194
195
  },
195
196
  render: (args) => {
196
197
  return {
197
- components: { HeaderBar, VBtn },
198
+ components: { HeaderBar, VBtn, SyIcon },
198
199
  setup() {
199
200
  const searchIcon = mdiMagnify
200
201
  const accountIcon = mdiAccountCircleOutline
201
- return { args, searchIcon, accountIcon }
202
+ const menuIcon = mdiMenu
203
+
204
+ return { args, searchIcon, accountIcon, menuIcon }
202
205
  },
203
206
  template: `<div class="position: relative">
204
207
  <HeaderBar v-bind="args">
205
208
  <template #header-side="{ menuOpen }">
206
- <div class="d-flex justify-center h-100 ga-4 pr-4">
209
+ <nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
207
210
  <VBtn
208
211
  variant="text"
209
212
  :prepend-icon="searchIcon"
210
213
  color="primary"
214
+ role="search"
211
215
  >
212
216
  Rechercher
213
217
  </VBtn>
@@ -217,7 +221,17 @@ export const WithRightMenu: Story = {
217
221
  >
218
222
  Login
219
223
  </VBtn>
220
- </div>
224
+ </nav>
225
+ <VBtn
226
+ class="d-md-none"
227
+ variant="text"
228
+ >
229
+ <SyIcon
230
+ size="x-large"
231
+ :icon="menuIcon"
232
+ aria-label="Ouvrir le menu"
233
+ />
234
+ </VBtn>
221
235
  </template>
222
236
  </HeaderBar>
223
237
  </div>`,
@@ -234,11 +248,12 @@ export const WithRightMenu: Story = {
234
248
  service-subtitle="Design System"
235
249
  >
236
250
  <template #header-side="{ menuOpen }">
237
- <div class="d-flex justify-center h-100 ga-4 pr-4">
251
+ <nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
238
252
  <VBtn
239
253
  variant="text"
240
254
  :prepend-icon="mdiMagnify"
241
255
  color="primary"
256
+ role="search"
242
257
  >
243
258
  Rechercher
244
259
  </VBtn>
@@ -248,7 +263,17 @@ export const WithRightMenu: Story = {
248
263
  >
249
264
  Login
250
265
  </VBtn>
251
- </div>
266
+ </nav>
267
+ <VBtn
268
+ class="d-md-none"
269
+ variant="text"
270
+ >
271
+ <SyIcon
272
+ size="x-large"
273
+ :icon="mdiMenu"
274
+ aria-label="Ouvrir le menu"
275
+ />
276
+ </VBtn>
252
277
  </template>
253
278
  </HeaderBar>
254
279
  </template>
@@ -258,9 +283,9 @@ export const WithRightMenu: Story = {
258
283
  name: 'Script',
259
284
  code: `
260
285
  <script setup lang="ts">
261
- import { HeaderBar } from '@cnamts/synapse'
286
+ import { HeaderBar, SyIcon } from '@cnamts/synapse'
262
287
  import { VBtn } from 'vuetify/components'
263
- import { mdiMagnify, mdiAccountCircleOutline } from '@mdi/js'
288
+ import { mdiMagnify, mdiAccountCircleOutline, mdiMenu } from '@mdi/js'
264
289
  </script>
265
290
  `,
266
291
  },
@@ -689,7 +714,11 @@ export const PrependSlot: Story = {
689
714
  template: `
690
715
  <HeaderBar v-bind="args">
691
716
  <template #prepend>
692
- <div style="height: 26px; background-color: #0c419a;"></div>
717
+ <div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
718
+ <div>
719
+ contenu
720
+ </div>
721
+ </div>
693
722
  </template>
694
723
  </HeaderBar>
695
724
  `,
@@ -703,7 +732,11 @@ export const PrependSlot: Story = {
703
732
  <template>
704
733
  <HeaderBar>
705
734
  <template #prepend>
706
- <div style="height: 26px; background-color: #0c419a;"></div>
735
+ <div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
736
+ <div>
737
+ contenu
738
+ </div>
739
+ </div>
707
740
  </template>
708
741
  </HeaderBar>
709
742
  </template>
@@ -735,7 +768,11 @@ export const AppendSlot: Story = {
735
768
  template: `
736
769
  <HeaderBar v-bind="args">
737
770
  <template #append>
738
- <div style="height: 26px; background-color: #0c419a;"></div>
771
+ <div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
772
+ <div>
773
+ contenu
774
+ </div>
775
+ </div>
739
776
  </template>
740
777
  </HeaderBar>
741
778
  `,
@@ -749,7 +786,11 @@ export const AppendSlot: Story = {
749
786
  <template>
750
787
  <HeaderBar>
751
788
  <template #append>
752
- <div style="height: 26px; background-color: #0c419a;"></div>
789
+ <div style="max-width: 1712px; margin: 0 auto; height: 26px; background-color: #0c419a;" class="pl-md-14 pl-4 text-white">
790
+ <div>
791
+ contenu
792
+ </div>
793
+ </div>
753
794
  </template>
754
795
  </HeaderBar>
755
796
  </template>
@@ -151,11 +151,12 @@
151
151
  })
152
152
 
153
153
  </script>
154
-
154
+ <!-- eslint-disable vuejs-accessibility/no-redundant-roles -->
155
155
  <template>
156
156
  <header
157
157
  ref="header"
158
158
  class="header"
159
+ role="banner"
159
160
  :style="headerStyle"
160
161
  >
161
162
  <div