@cnamts/synapse 1.0.20 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/dist/{DateFilter-XURUmpMl.js → DateFilter-B5n-ZkLi.js} +29 -24
  2. package/dist/{NumberFilter-BZc0O8wV.js → NumberFilter-CtiZ9uj8.js} +1 -1
  3. package/dist/{PeriodFilter-ZNdXcl3p.js → PeriodFilter-DzqiMb-b.js} +1 -1
  4. package/dist/{SelectFilter-DshYU5OK.js → SelectFilter-BOYlF7rX.js} +1 -1
  5. package/dist/{TextFilter-D_c5dRPl.js → TextFilter-BOFRNfcX.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +7399 -5967
  7. package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +1 -1
  8. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +1 -1
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +10 -14
  10. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +1 -1
  11. package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +1 -1
  12. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +1 -1
  14. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +1 -1
  15. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +1 -1
  16. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +8 -8
  17. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +3 -3
  18. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +1 -1
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +1 -1
  20. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
  21. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +16 -20
  22. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +1 -1
  23. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +1 -1
  24. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +1 -1
  25. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1610 -1354
  26. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +2411 -2027
  27. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +8889 -7327
  28. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
  29. package/dist/components/Amelipro/AmeliproStepper/AmeliproStepper.d.ts +2 -6
  30. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +8888 -7334
  31. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +951 -839
  32. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1613 -1357
  33. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +223 -203
  34. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +3 -3
  35. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +3 -7
  36. package/dist/components/CollapsibleList/CollapsibleList.d.ts +4 -1
  37. package/dist/components/CookieBanner/CookieBanner.d.ts +303 -273
  38. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +1297 -1156
  39. package/dist/components/CookiesSelection/CookiesSelection.d.ts +404 -377
  40. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
  41. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +1088 -847
  42. package/dist/components/Customs/Selects/SyInputSelect/SyInputSelect.d.ts +1 -1
  43. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +515 -321
  44. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +162 -0
  45. package/dist/components/Customs/SyCheckBoxGroup/locales.d.ts +3 -0
  46. package/dist/components/Customs/SyCheckBoxGroup/types.d.ts +10 -0
  47. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1668 -5
  48. package/dist/components/Customs/SyForm/SyForm.d.ts +356 -348
  49. package/dist/components/Customs/SyPagination/SyPagination.d.ts +11 -1
  50. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +1609 -4
  51. package/dist/components/Customs/SyTextField/SyTextField.d.ts +1629 -1365
  52. package/dist/components/DataList/DataList.d.ts +1 -1
  53. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +3868 -3123
  54. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1946 -1562
  55. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +833 -687
  56. package/dist/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.d.ts +60 -0
  57. package/dist/components/DialogBox/DialogBox.d.ts +482 -416
  58. package/dist/components/DownloadBtn/config.d.ts +1 -1
  59. package/dist/components/ErrorPage/ErrorPage.d.ts +5 -12
  60. package/dist/components/ErrorPage/locales.d.ts +18 -3
  61. package/dist/components/FileList/UploadItem/locales.d.ts +4 -0
  62. package/dist/components/FileUpload/FileUpload.d.ts +6 -4
  63. package/dist/components/FileUpload/locales.d.ts +1 -0
  64. package/dist/components/FilterSideBar/FilterSideBar.d.ts +418 -366
  65. package/dist/components/FooterBar/FooterBar.d.ts +13 -1
  66. package/dist/components/FooterBar/locales.d.ts +1 -0
  67. package/dist/components/FooterBar/types.d.ts +1 -0
  68. package/dist/components/HeaderBar/HeaderBar.d.ts +1 -0
  69. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -0
  70. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +3 -6
  71. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +1031 -643
  72. package/dist/components/LangBtn/LangBtn.d.ts +277 -239
  73. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +4 -0
  74. package/dist/components/MaintenancePage/MaintenancePage.d.ts +16 -1
  75. package/dist/components/MaintenancePage/locales.d.ts +18 -2
  76. package/dist/components/NirField/NirField.d.ts +1659 -1371
  77. package/dist/components/NotFoundPage/NotFoundPage.d.ts +9 -3
  78. package/dist/components/NotFoundPage/locales.d.ts +20 -4
  79. package/dist/components/PageContainer/PageContainer.d.ts +3 -1
  80. package/dist/components/PasswordField/PasswordField.d.ts +1 -1
  81. package/dist/components/PeriodField/PeriodField.d.ts +7712 -6216
  82. package/dist/components/PhoneField/PhoneField.d.ts +831 -687
  83. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +4 -12
  84. package/dist/components/StatusPage/StatusPage.d.ts +50 -0
  85. package/dist/components/SubHeader/SubHeader.d.ts +2 -0
  86. package/dist/components/SyAlert/SyAlert.d.ts +74 -70
  87. package/dist/components/SyBtnMenu/SyBtnMenu.d.ts +10 -1
  88. package/dist/components/SyHeading/SyHeading.d.ts +20 -0
  89. package/dist/components/SyTextArea/SyTextArea.d.ts +476 -420
  90. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +759 -468
  91. package/dist/components/Tables/SyTable/SyTable.d.ts +761 -470
  92. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  93. package/dist/components/Tables/common/SyTablePagination.d.ts +269 -170
  94. package/dist/components/Tables/common/filters/DateFilter.d.ts +10 -1
  95. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  96. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  97. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  98. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  99. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +166 -138
  100. package/dist/components/Tables/common/types.d.ts +2 -0
  101. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +35 -1212
  102. package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +1 -0
  103. package/dist/components/index.d.ts +4 -0
  104. package/dist/components/types.d.ts +2 -0
  105. package/dist/design-system-v3.js +131 -127
  106. package/dist/design-system-v3.umd.cjs +274 -274
  107. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +26 -14
  108. package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +19 -13
  109. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +28 -15
  110. package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +20 -13
  111. package/dist/designTokens/tokens/pa/paLightTheme.d.ts +26 -15
  112. package/dist/designTokens/tokens/pa/paSemantic.d.ts +19 -13
  113. package/dist/main-CEl4J8_T.js +37241 -0
  114. package/dist/style.css +1 -1
  115. package/dist/utils/theme/index.d.ts +6 -0
  116. package/dist/vuetifyConfig.d.ts +14 -14
  117. package/package.json +16 -7
  118. package/src/assets/amelipro/img/logo-amelipro.svg +9 -0
  119. package/src/assets/apTokens.scss +53 -17
  120. package/src/assets/overrides/_icons.scss +12 -2
  121. package/src/assets/overrides/_tooltips.scss +5 -6
  122. package/src/assets/overrides/_typography.scss +17 -2
  123. package/src/assets/overrides/_utilities.scss +49 -3
  124. package/src/assets/tokens.scss +53 -17
  125. package/src/components/Accordion/accessibilite/Accessibility.mdx +5 -4
  126. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +2 -2
  127. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +0 -2
  128. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +2 -2
  129. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +14 -56
  130. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +1 -1
  131. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +15 -23
  132. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +1 -1
  133. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +15 -3
  134. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
  135. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +0 -98
  136. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +1 -1
  137. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +5 -16
  138. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +3 -1
  139. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +7 -0
  140. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +0 -1
  141. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +0 -1
  142. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +0 -52
  143. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +6 -0
  144. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +3 -1
  145. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +19 -0
  146. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -2
  147. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -4
  148. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +2 -13
  149. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.mdx +3 -1
  150. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +7 -0
  151. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +8 -0
  152. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -2
  153. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +28 -10
  154. package/src/components/Amelipro/AmeliproPostalAddressField/__tests__/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +44 -8
  155. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +1 -1
  156. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +15 -3
  157. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +1 -1
  158. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +0 -1
  159. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +6 -0
  160. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +2 -4
  161. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +0 -2
  162. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +8 -0
  163. package/src/components/BackBtn/BackBtn.vue +1 -1
  164. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +36 -18
  165. package/src/components/ChipList/ChipList.vue +4 -2
  166. package/src/components/CollapsibleList/CollapsibleList.stories.ts +8 -3
  167. package/src/components/CollapsibleList/CollapsibleList.vue +14 -6
  168. package/src/components/CollapsibleList/accessibilite/Accessibility.mdx +19 -6
  169. package/src/components/CollapsibleList/tests/CollapsibleList.a11y.spec.ts +1 -0
  170. package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +2 -0
  171. package/src/components/ContextualMenu/ContextualMenu.stories.ts +0 -3
  172. package/src/components/ContextualMenu/accessibilite/Accessibility.mdx +67 -11
  173. package/src/components/CookieBanner/CookieBanner.stories.ts +21 -20
  174. package/src/components/CookieBanner/CookieBanner.vue +35 -10
  175. package/src/components/CookieBanner/accessibilite/Accessibility.mdx +76 -11
  176. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +56 -4
  177. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +21 -15
  178. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +17 -8
  179. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.a11y.spec.ts +1 -0
  180. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +5 -0
  181. package/src/components/CookiesSelection/CookiesSelection.vue +7 -2
  182. package/src/components/CookiesSelection/tests/CookiesSelection.a11y.spec.ts +1 -0
  183. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +5 -0
  184. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +21 -15
  185. package/src/components/CopyBtn/CopyBtn.vue +6 -4
  186. package/src/components/CopyBtn/accessibilite/Accessibility.mdx +82 -11
  187. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +5 -1
  188. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +4 -10
  189. package/src/components/Customs/Selects/SySelect/SySelect.mdx +0 -1
  190. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +10 -10
  191. package/src/components/Customs/Selects/SySelect/SySelect.vue +17 -0
  192. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +1 -1
  193. package/src/components/Customs/Selects/SySelect/tests/SySelect.a11y.spec.ts +1 -3
  194. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +72 -0
  195. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.mdx +32 -0
  196. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.stories.ts +856 -0
  197. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +334 -0
  198. package/src/components/Customs/SyCheckBoxGroup/accessibilite/Accessibility.mdx +243 -0
  199. package/src/components/Customs/SyCheckBoxGroup/locales.ts +3 -0
  200. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.a11y.spec.ts +30 -0
  201. package/src/components/Customs/SyCheckBoxGroup/tests/SyCheckBoxGroup.spec.ts +152 -0
  202. package/src/components/Customs/SyCheckBoxGroup/types.ts +10 -0
  203. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +17 -28
  204. package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +1 -1
  205. package/src/components/Customs/SyForm/SyForm.a11y.spec.ts +1 -1
  206. package/src/components/Customs/SyIcon/SyIcon.a11y.spec.ts +31 -2
  207. package/src/components/Customs/SyIcon/SyIcon.vue +9 -5
  208. package/src/components/Customs/SyPagination/SyPagination.stories.ts +14 -2
  209. package/src/components/Customs/SyPagination/SyPagination.vue +20 -5
  210. package/src/components/Customs/SyPagination/accessibilite/Accessibility.mdx +79 -8
  211. package/src/components/Customs/SyPagination/tests/SyPagination.a11y.spec.ts +38 -12
  212. package/src/components/Customs/SyPagination/tests/SyPagination.spec.ts +12 -0
  213. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +16 -43
  214. package/src/components/Customs/SyTextField/SyTextField.stories.ts +4 -0
  215. package/src/components/Customs/SyTextField/SyTextField.vue +39 -5
  216. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +28 -3
  217. package/src/components/DatePicker/CalendarMode/DatePicker.vue +55 -19
  218. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +9 -3
  219. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +44 -3
  220. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +70 -47
  221. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.a11y.spec.ts +9 -1
  222. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +48 -21
  223. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +98 -0
  224. package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +23 -9
  225. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +21 -8
  226. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +50 -22
  227. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +48 -10
  228. package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +16 -3
  229. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.mdx +83 -0
  230. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.stories.ts +502 -0
  231. package/src/components/DeclarationAccessibilityPage/DeclarationAccessibilityPage.vue +428 -0
  232. package/src/components/DeclarationAccessibilityPage/accessibilite/Accessibility.mdx +75 -0
  233. package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.a11y.spec.ts +53 -0
  234. package/src/components/DeclarationAccessibilityPage/tests/DeclarationAccessibilityPage.spec.ts +59 -0
  235. package/src/components/DiacriticPicker/DiacriticPicker.vue +20 -1
  236. package/src/components/DialogBox/DialogBox.stories.ts +13 -0
  237. package/src/components/DialogBox/DialogBox.vue +12 -5
  238. package/src/components/DialogBox/accessibilite/Accessibility.mdx +27 -7
  239. package/src/components/DialogBox/tests/DialogBox.a11y.spec.ts +1 -0
  240. package/src/components/DialogBox/tests/DialogBox.spec.ts +40 -6
  241. package/src/components/DownloadBtn/accessibilite/Accessibility.mdx +73 -11
  242. package/src/components/DownloadBtn/config.ts +1 -1
  243. package/src/components/ErrorPage/ErrorPage.mdx +6 -16
  244. package/src/components/ErrorPage/ErrorPage.stories.ts +90 -126
  245. package/src/components/ErrorPage/ErrorPage.vue +44 -125
  246. package/src/components/ErrorPage/accessibilite/Accessibility.mdx +83 -6
  247. package/src/components/ErrorPage/assets/error-ap.svg +1774 -0
  248. package/src/components/ErrorPage/locales.ts +21 -3
  249. package/src/components/ErrorPage/tests/ErrorPage.a11y.spec.ts +5 -13
  250. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +2 -41
  251. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +10 -266
  252. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +13 -2
  253. package/src/components/FileList/FileList.stories.ts +4 -0
  254. package/src/components/FileList/UploadItem/UploadItem.vue +8 -3
  255. package/src/components/FileList/UploadItem/locales.ts +10 -0
  256. package/src/components/FileList/accessibilite/Accessibility.mdx +55 -7
  257. package/src/components/FileUpload/FileUpload.vue +65 -37
  258. package/src/components/FileUpload/FileUploadContent.vue +1 -1
  259. package/src/components/FileUpload/accessibilite/Accessibility.mdx +48 -5
  260. package/src/components/FileUpload/locales.ts +1 -0
  261. package/src/components/FileUpload/tests/FileUpload.spec.ts +14 -14
  262. package/src/components/FilterInline/FilterInline.stories.ts +0 -15
  263. package/src/components/FilterInline/FilterInline.vue +1 -0
  264. package/src/components/FilterInline/accessibilite/Accessibility.mdx +70 -7
  265. package/src/components/FilterInline/tests/__snapshots__/FilterInline.spec.ts.snap +3 -3
  266. package/src/components/FilterSideBar/FilterSideBar.stories.ts +0 -3
  267. package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
  268. package/src/components/FilterSideBar/accessibilite/Accessibility.mdx +70 -9
  269. package/src/components/FooterBar/FooterBar.stories.ts +316 -48
  270. package/src/components/FooterBar/FooterBar.vue +67 -9
  271. package/src/components/FooterBar/config.ts +2 -2
  272. package/src/components/FooterBar/defaultSocialMediaLinks.ts +6 -4
  273. package/src/components/FooterBar/locales.ts +1 -0
  274. package/src/components/FooterBar/tests/FooterBarConfig.spec.ts +1 -1
  275. package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +6 -25
  276. package/src/components/FooterBar/types.d.ts +1 -0
  277. package/src/components/HeaderBar/HeaderBar.stories.ts +23 -1
  278. package/src/components/HeaderBar/HeaderBar.vue +4 -0
  279. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +7 -2
  280. package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +5 -0
  281. package/src/components/HeaderBar/accessibilite/Accessibility.mdx +24 -5
  282. package/src/components/HeaderBar/tests/HeaderBar.a11y.spec.ts +1 -0
  283. package/src/components/HeaderBar/tests/HeaderBar.spec.ts +3 -0
  284. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +4 -0
  285. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -0
  286. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +3 -0
  287. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +22 -0
  288. package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -5
  289. package/src/components/LogoBrandSection/tests/LogoBrandSection.a11y.spec.ts +2 -0
  290. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +44 -0
  291. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +2 -0
  292. package/src/components/MaintenancePage/MaintenancePage.mdx +1 -1
  293. package/src/components/MaintenancePage/MaintenancePage.vue +42 -7
  294. package/src/components/MaintenancePage/accessibilite/Accessibility.mdx +63 -6
  295. package/src/components/MaintenancePage/assets/maintenance-ap.svg +1718 -0
  296. package/src/components/MaintenancePage/locales.ts +24 -3
  297. package/src/components/MaintenancePage/tests/MaintenancePage.a11y.spec.ts +76 -3
  298. package/src/components/MaintenancePage/tests/MaintenancePage.spec.ts +60 -2
  299. package/src/components/MaintenancePage/tests/__snapshots__/MaintenancePage.spec.ts.snap +5 -2
  300. package/src/components/NotFoundPage/NotFoundPage.mdx +1 -1
  301. package/src/components/NotFoundPage/NotFoundPage.stories.ts +4 -4
  302. package/src/components/NotFoundPage/NotFoundPage.vue +30 -14
  303. package/src/components/NotFoundPage/accessibilite/Accessibility.mdx +80 -6
  304. package/src/components/NotFoundPage/assets/not-found-ap.svg +2061 -0
  305. package/src/components/NotFoundPage/locales.ts +24 -4
  306. package/src/components/NotFoundPage/tests/NotFoundPage.a11y.spec.ts +217 -4
  307. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +123 -12
  308. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +4 -2
  309. package/src/components/NotificationBar/NotificationBar.mdx +2 -2
  310. package/src/components/NotificationBar/accessibilite/Accessibility.mdx +68 -8
  311. package/src/components/PageContainer/PageContainer.stories.ts +47 -0
  312. package/src/components/PageContainer/PageContainer.vue +4 -2
  313. package/src/components/PageContainer/accessibilite/Accessibility.mdx +67 -0
  314. package/src/components/PageContainer/tests/PageContainer.a11y.spec.ts +14 -7
  315. package/src/components/PaginatedTable/PaginatedTable.mdx +3 -3
  316. package/src/components/PaginatedTable/PaginatedTable.stories.ts +9 -1
  317. package/src/components/PeriodField/PeriodField.vue +4 -0
  318. package/src/components/PeriodField/tests/PeriodField.a11y.spec.ts +10 -1
  319. package/src/components/PhoneField/PhoneField.stories.ts +115 -69
  320. package/src/components/PhoneField/PhoneField.vue +152 -83
  321. package/src/components/PhoneField/accessibilite/Accessibility.mdx +306 -9
  322. package/src/components/PhoneField/indicatifs.ts +2 -2
  323. package/src/components/PhoneField/tests/PhoneField.a11y.spec.ts +22 -9
  324. package/src/components/PhoneField/tests/PhoneField.spec.ts +82 -5
  325. package/src/components/SearchListField/SearchListField.vue +1 -1
  326. package/src/components/SearchListField/accessibilite/Accessibility.mdx +69 -9
  327. package/src/components/SearchListField/tests/SearchListField.a11y.spec.ts +37 -0
  328. package/src/components/SocialMediaLinks/DefaultSocialMediaLinks.ts +6 -4
  329. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +7 -5
  330. package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +17 -13
  331. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +10 -2
  332. package/src/components/SocialMediaLinks/accessibilite/Accessibility.mdx +63 -11
  333. package/src/components/SocialMediaLinks/tests/DefaultSocialMediaLinks.spec.ts +5 -5
  334. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.a11y.spec.ts +59 -0
  335. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +9 -7
  336. package/src/components/StatusPage/StatusPage.mdx +31 -0
  337. package/src/components/StatusPage/StatusPage.stories.ts +236 -0
  338. package/src/components/StatusPage/StatusPage.vue +167 -0
  339. package/src/components/StatusPage/accessibilite/Accessibility.mdx +100 -0
  340. package/src/components/StatusPage/tests/StatusPage.a11y.spec.ts +30 -0
  341. package/src/components/StatusPage/tests/StatusPage.spec.ts +53 -0
  342. package/src/components/StatusPage/tests/__snapshots__/StatusPage.spec.ts.snap +272 -0
  343. package/src/components/SubHeader/SubHeader.stories.ts +16 -0
  344. package/src/components/SubHeader/SubHeader.vue +6 -3
  345. package/src/components/SubHeader/accessibilite/Accessibility.mdx +27 -6
  346. package/src/components/SyAlert/SyAlert.vue +21 -20
  347. package/src/components/SyBtnMenu/SyBtnMenu.vue +33 -17
  348. package/src/components/SyBtnMenu/tests/SyBtnMenu.a11y.spec.ts +38 -0
  349. package/src/components/SyBtnMenu/tests/SyBtnMenu.spec.ts +41 -0
  350. package/src/components/SyHeading/SyHeading.vue +18 -0
  351. package/src/components/TableToolbar/TableToolbar.stories.ts +6 -6
  352. package/src/components/TableToolbar/TableToolbar.vue +1 -1
  353. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +96 -35
  354. package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -0
  355. package/src/components/Tables/SyTable/SyTable.vue +2 -0
  356. package/src/components/Tables/common/SyTablePagination.vue +16 -10
  357. package/src/components/Tables/common/filters/DateFilter.vue +5 -0
  358. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +40 -24
  359. package/src/components/Tables/common/types.ts +3 -0
  360. package/src/components/UploadWorkflow/UploadWorkflow.mdx +11 -1
  361. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +118 -14
  362. package/src/components/UploadWorkflow/UploadWorkflow.vue +59 -31
  363. package/src/components/UploadWorkflow/accessibilite/Accessibility.mdx +56 -5
  364. package/src/components/UploadWorkflow/accessibilite/UploadWorkflow.a11y.spec.ts +110 -0
  365. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +37 -7
  366. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +139 -112
  367. package/src/components/UploadWorkflow/useFileList.ts +7 -0
  368. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +53 -31
  369. package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -1
  370. package/src/components/UserMenuBtn/accessibilite/Accessibility.mdx +72 -8
  371. package/src/components/index.ts +4 -0
  372. package/src/components/types.ts +4 -0
  373. package/src/composables/date/tests/useDateInitialization.spec.ts +22 -1
  374. package/src/composables/date/useDateInitializationDayjs.ts +4 -7
  375. package/src/composables/date/useDatePickerAccessibility.ts +2 -3
  376. package/src/composables/rules/tests/useFieldValidation.spec.ts +39 -3
  377. package/src/composables/rules/useFieldValidation.ts +24 -9
  378. package/src/composables/useFilterable/useFilterable.spec.ts +52 -2
  379. package/src/composables/useFilterable/useFilterable.ts +7 -1
  380. package/src/designTokens/tokens/amelipro/apLightTheme.ts +27 -15
  381. package/src/designTokens/tokens/amelipro/apSemantic.ts +21 -15
  382. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +28 -15
  383. package/src/designTokens/tokens/cnam/cnamSemantic.ts +21 -14
  384. package/src/designTokens/tokens/pa/paLightTheme.ts +27 -16
  385. package/src/designTokens/tokens/pa/paSemantic.ts +19 -13
  386. package/src/directives/rgaaSvgFix.ts +2 -7
  387. package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/Exemptions-derogations.mdx +1 -1
  388. package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +188 -0
  389. package/src/stories/Accessibilite/{Audit → AuditEtContreAudit}/RGAA.mdx +1 -1
  390. package/src/stories/Accessibilite/Introduction.mdx +22 -3
  391. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +21 -22
  392. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +7 -0
  393. package/src/stories/DeprecationNotice/DeprecationNotice.ts +41 -0
  394. package/src/stories/DesignTokens/ColorDisplay.vue +12 -5
  395. package/src/stories/DesignTokens/Colors.mdx +8 -59
  396. package/src/stories/DesignTokens/colors.stories.ts +1862 -1071
  397. package/src/stories/EcoConception/EcoGuideComponent.vue +10 -4
  398. package/src/utils/theme/index.ts +19 -0
  399. package/src/utils/theme/tests/useThemeLocales.spec.ts +245 -0
  400. package/dist/components/MaintenancePage/index.d.ts +0 -2
  401. package/dist/main-CuI6xaPq.js +0 -36396
  402. package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +0 -51
  403. package/src/components/DataListItem/tests/DataListItem.a11y.spec.ts +0 -31
  404. package/src/components/DatePicker/CalendarMode/tests/DatePicker.a11y.spec.ts +0 -27
  405. package/src/components/DownloadBtn/tests/DownloadBtn.a11y.spec.ts +0 -26
  406. package/src/components/ExternalLinks/tests/ExternalLinks.a11y.spec.ts +0 -39
  407. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.a11y.spec.ts +0 -45
  408. package/src/components/HeaderToolbar/tests/HeaderToolbar.a11y.spec.ts +0 -25
  409. package/src/components/LunarCalendar/tests/LunarCalendar.a11y.spec.ts +0 -31
  410. package/src/components/MaintenancePage/index.ts +0 -3
  411. package/src/components/PageContainer/Accessibilite/Accessibility.mdx +0 -53
  412. package/src/components/PageContainer/Accessibilite/AccessibilityGuide.mdx +0 -0
  413. package/src/components/PaginatedTable/tests/PaginatedTable.a11y.spec.ts +0 -43
  414. /package/src/components/NotFoundPage/assets/{not-found.svg → not-found-cnam.svg} +0 -0
@@ -6,6 +6,7 @@ describe('SyTablePagination.vue', () => {
6
6
  it('renders the component with default props', () => {
7
7
  const wrapper = mount(SyTablePagination, {
8
8
  props: {
9
+ headingLevel: 2,
9
10
  page: 1,
10
11
  itemsPerPage: 10,
11
12
  itemsLength: 100,
@@ -19,6 +20,7 @@ describe('SyTablePagination.vue', () => {
19
20
  it('displays pagination when there are multiple pages', () => {
20
21
  const wrapper = mount(SyTablePagination, {
21
22
  props: {
23
+ headingLevel: 2,
22
24
  page: 1,
23
25
  itemsPerPage: 10,
24
26
  itemsLength: 100,
@@ -31,6 +33,7 @@ describe('SyTablePagination.vue', () => {
31
33
  it('does not display pagination navigation when there is only one page', () => {
32
34
  const wrapper = mount(SyTablePagination, {
33
35
  props: {
36
+ headingLevel: 2,
34
37
  page: 1,
35
38
  itemsPerPage: 10,
36
39
  itemsLength: 5,
@@ -44,6 +47,7 @@ describe('SyTablePagination.vue', () => {
44
47
  it('always shows items per page selector even with only one page', () => {
45
48
  const wrapper = mount(SyTablePagination, {
46
49
  props: {
50
+ headingLevel: 2,
47
51
  page: 1,
48
52
  itemsPerPage: 10,
49
53
  itemsLength: 5,
@@ -59,6 +63,7 @@ describe('SyTablePagination.vue', () => {
59
63
  // Test with standard value
60
64
  const wrapper1 = mount(SyTablePagination, {
61
65
  props: {
66
+ headingLevel: 2,
62
67
  page: 1,
63
68
  itemsPerPage: 10, // Standard value
64
69
  itemsLength: 42,
@@ -66,16 +71,17 @@ describe('SyTablePagination.vue', () => {
66
71
  },
67
72
  })
68
73
 
69
- const vm1 = wrapper1.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
70
- expect(vm1.itemsPerPageOptions).toBeDefined()
74
+ const vm1 = wrapper1.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
75
+ expect(vm1.formatedItemsPerPageOptions).toBeDefined()
71
76
 
72
- const options1 = vm1.itemsPerPageOptions
77
+ const options1 = vm1.formatedItemsPerPageOptions
73
78
  // Should have standard options 5, 10, 25, 50, 100) plus the 'All' option (-1)
74
79
  expect(options1.map(o => o.value).sort((a, b) => a - b)).toEqual([-1, 5, 10, 25, 50, 100])
75
80
 
76
81
  // Test with custom value
77
82
  const wrapper2 = mount(SyTablePagination, {
78
83
  props: {
84
+ headingLevel: 2,
79
85
  page: 1,
80
86
  itemsPerPage: 42, // Custom value
81
87
  itemsLength: 100,
@@ -83,8 +89,8 @@ describe('SyTablePagination.vue', () => {
83
89
  },
84
90
  })
85
91
 
86
- const vm2 = wrapper2.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
87
- const options2 = vm2.itemsPerPageOptions
92
+ const vm2 = wrapper2.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
93
+ const options2 = vm2.formatedItemsPerPageOptions
88
94
 
89
95
  // Should include the custom value (42)
90
96
  const hasCustomValue = options2.some(option => option.value === 42)
@@ -97,6 +103,7 @@ describe('SyTablePagination.vue', () => {
97
103
  it('shows correct range when "All" is selected', async () => {
98
104
  const wrapper = mount(SyTablePagination, {
99
105
  props: {
106
+ headingLevel: 2,
100
107
  page: 1,
101
108
  itemsPerPage: -1, // "All" option
102
109
  itemsLength: 42,
@@ -111,6 +118,7 @@ describe('SyTablePagination.vue', () => {
111
118
  it('emits update:page event when SyPagination emits update:modelValue', async () => {
112
119
  const wrapper = mount(SyTablePagination, {
113
120
  props: {
121
+ headingLevel: 2,
114
122
  page: 1,
115
123
  itemsPerPage: 10,
116
124
  itemsLength: 100,
@@ -130,6 +138,7 @@ describe('SyTablePagination.vue', () => {
130
138
  it('has the correct structure for items per page selection', () => {
131
139
  const wrapper = mount(SyTablePagination, {
132
140
  props: {
141
+ headingLevel: 2,
133
142
  page: 1,
134
143
  itemsPerPage: 10,
135
144
  itemsLength: 100,
@@ -144,10 +153,11 @@ describe('SyTablePagination.vue', () => {
144
153
  })
145
154
 
146
155
  // Tests for itemsPerPageOptions functionality
147
- describe('itemsPerPageOptions', () => {
148
- it('should use default options when itemsPerPageOptions is not provided', () => {
156
+ describe('formatedItemsPerPageOptions', () => {
157
+ it('should use default options when formatedItemsPerPageOptions is not provided', () => {
149
158
  const wrapper = mount(SyTablePagination, {
150
159
  props: {
160
+ headingLevel: 2,
151
161
  page: 1,
152
162
  pageCount: 5,
153
163
  itemsPerPage: 10,
@@ -156,15 +166,16 @@ describe('SyTablePagination.vue', () => {
156
166
  })
157
167
 
158
168
  // Should have default options: 5, 10, 25, 50, 100, and "Tous" (-1)
159
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
160
- const selectOptions = vm.itemsPerPageOptions
169
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
170
+ const selectOptions = vm.formatedItemsPerPageOptions
161
171
  expect(selectOptions).toHaveLength(6)
162
172
  expect(selectOptions.map(opt => opt.value)).toEqual([5, 10, 25, 50, 100, -1])
163
173
  })
164
174
 
165
- it('should limit options when itemsPerPageOptions is provided', () => {
175
+ it('should limit options when formatedItemsPerPageOptions is provided', () => {
166
176
  const wrapper = mount(SyTablePagination, {
167
177
  props: {
178
+ headingLevel: 2,
168
179
  page: 1,
169
180
  pageCount: 5,
170
181
  itemsPerPage: 10,
@@ -174,16 +185,17 @@ describe('SyTablePagination.vue', () => {
174
185
  })
175
186
 
176
187
  // Should only have the limited options, no "Tous" option
177
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
178
- const selectOptions = vm.itemsPerPageOptions
188
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
189
+ const selectOptions = vm.formatedItemsPerPageOptions
179
190
  expect(selectOptions).toHaveLength(3)
180
191
  expect(selectOptions.map(opt => opt.value)).toEqual([5, 10, 25])
181
192
  expect(selectOptions.map(opt => opt.text)).toEqual(['5', '10', '25'])
182
193
  })
183
194
 
184
- it('should include "Tous" option when explicitly allowed in itemsPerPageOptions', () => {
195
+ it('should include "Tous" option when explicitly allowed in formatedItemsPerPageOptions', () => {
185
196
  const wrapper = mount(SyTablePagination, {
186
197
  props: {
198
+ headingLevel: 2,
187
199
  page: 1,
188
200
  pageCount: 5,
189
201
  itemsPerPage: 10,
@@ -193,8 +205,8 @@ describe('SyTablePagination.vue', () => {
193
205
  })
194
206
 
195
207
  // Should have the limited options plus "Tous"
196
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
197
- const selectOptions = vm.itemsPerPageOptions
208
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
209
+ const selectOptions = vm.formatedItemsPerPageOptions
198
210
  expect(selectOptions).toHaveLength(4)
199
211
  expect(selectOptions.map(opt => opt.value)).toEqual([5, 10, 25, -1])
200
212
 
@@ -207,6 +219,7 @@ describe('SyTablePagination.vue', () => {
207
219
  it('should add current itemsPerPage to options if not already included', () => {
208
220
  const wrapper = mount(SyTablePagination, {
209
221
  props: {
222
+ headingLevel: 2,
210
223
  page: 1,
211
224
  pageCount: 5,
212
225
  itemsPerPage: 15, // Not in the itemsPerPageOptions
@@ -216,8 +229,8 @@ describe('SyTablePagination.vue', () => {
216
229
  })
217
230
 
218
231
  // Should include the current itemsPerPage value and sort numerically
219
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
220
- const selectOptions = vm.itemsPerPageOptions
232
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
233
+ const selectOptions = vm.formatedItemsPerPageOptions
221
234
  expect(selectOptions).toHaveLength(4)
222
235
  expect(selectOptions.map(opt => opt.value)).toEqual([5, 10, 15, 25])
223
236
  })
@@ -225,6 +238,7 @@ describe('SyTablePagination.vue', () => {
225
238
  it('should not add current itemsPerPage if it is -1 (Tous)', () => {
226
239
  const wrapper = mount(SyTablePagination, {
227
240
  props: {
241
+ headingLevel: 2,
228
242
  page: 1,
229
243
  pageCount: 5,
230
244
  itemsPerPage: -1, // "Tous" option
@@ -233,9 +247,9 @@ describe('SyTablePagination.vue', () => {
233
247
  },
234
248
  })
235
249
 
236
- // Should not add -1 to the options since itemsPerPageOptions doesn't include it
237
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
238
- const selectOptions = vm.itemsPerPageOptions
250
+ // Should not add -1 to the options since formatedItemsPerPageOptions doesn't include it
251
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
252
+ const selectOptions = vm.formatedItemsPerPageOptions
239
253
  expect(selectOptions).toHaveLength(3)
240
254
  expect(selectOptions.map(opt => opt.value)).toEqual([5, 10, 25])
241
255
  expect(selectOptions.find(opt => opt.value === -1)).toBeUndefined()
@@ -244,6 +258,7 @@ describe('SyTablePagination.vue', () => {
244
258
  it('should work with very restrictive options', () => {
245
259
  const wrapper = mount(SyTablePagination, {
246
260
  props: {
261
+ headingLevel: 2,
247
262
  page: 1,
248
263
  pageCount: 5,
249
264
  itemsPerPage: 5,
@@ -253,8 +268,8 @@ describe('SyTablePagination.vue', () => {
253
268
  })
254
269
 
255
270
  // Should only have one option
256
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
257
- const selectOptions = vm.itemsPerPageOptions
271
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
272
+ const selectOptions = vm.formatedItemsPerPageOptions
258
273
  expect(selectOptions).toHaveLength(1)
259
274
  expect(selectOptions.map(opt => opt.value)).toEqual([5])
260
275
  expect(selectOptions.map(opt => opt.text)).toEqual(['5'])
@@ -263,6 +278,7 @@ describe('SyTablePagination.vue', () => {
263
278
  it('should handle empty itemsPerPageOptions array', () => {
264
279
  const wrapper = mount(SyTablePagination, {
265
280
  props: {
281
+ headingLevel: 2,
266
282
  page: 1,
267
283
  pageCount: 5,
268
284
  itemsPerPage: 10,
@@ -272,8 +288,8 @@ describe('SyTablePagination.vue', () => {
272
288
  })
273
289
 
274
290
  // Should only include the current itemsPerPage since base options are empty
275
- const vm = wrapper.vm as unknown as { itemsPerPageOptions: Array<{ text: string, value: number }> }
276
- const selectOptions = vm.itemsPerPageOptions
291
+ const vm = wrapper.vm as unknown as { formatedItemsPerPageOptions: Array<{ text: string, value: number }> }
292
+ const selectOptions = vm.formatedItemsPerPageOptions
277
293
  expect(selectOptions).toHaveLength(1)
278
294
  expect(selectOptions.map(opt => opt.value)).toEqual([10])
279
295
  })
@@ -98,6 +98,7 @@ export type SyTableProps = {
98
98
  multiSort?: boolean
99
99
  mustSort?: boolean
100
100
  itemsPerPageOptions?: number[]
101
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
101
102
  }
102
103
 
103
104
  export type SyServerTableProps = {
@@ -120,4 +121,6 @@ export type SyServerTableProps = {
120
121
  multiSort?: boolean
121
122
  mustSort?: boolean
122
123
  itemsPerPageOptions?: number[]
124
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6
125
+
123
126
  }
@@ -17,7 +17,7 @@ import * as UploadWorkflowStories from './UploadWorkflow.stories';
17
17
 
18
18
  ## Événements
19
19
 
20
- Vous pouvez réagir lorsque la liste des fichiers est mise à jour en utilisant l’événement `update:modelValue`, et réagir aux erreurs de validation en utilisant l’événement `error`.
20
+ Vous pouvez réagir lorsque la liste des fichiers est mise à jour en utilisant l’événement `update:modelValue`, réagir aux erreurs de validation en utilisant l’événement `error`, et intercepter l’ouverture d’une prévisualisation en utilisant l’événement `preview` (avec le `FileItem` associé).
21
21
 
22
22
  <Canvas of={UploadWorkflowStories.Events} />
23
23
 
@@ -39,6 +39,16 @@ Vous pouvez permettre à l’utilisateur de prévisualiser le fichier qu’il vi
39
39
 
40
40
  <Canvas of={UploadWorkflowStories.WithPreviewStep} />
41
41
 
42
+ ## Texte d'information
43
+
44
+ Vous pouvez personnaliser le texte affiché dans la zone d’information du composant enfant `FileUpload` en utilisant la prop `info-text`.
45
+
46
+ <Canvas of={UploadWorkflowStories.WithInfoText} />
47
+
48
+ ## Niveau de titre
49
+
50
+ Vous pouvez configurer le niveau du titre affiché par défaut en utilisant la prop `heading-level` (rendu via `role="heading"` et `aria-level`).
51
+
42
52
  ## Exemple d'utilisation
43
53
 
44
54
  <Source
@@ -8,7 +8,7 @@ const meta: Meta<typeof UploadWorkflow> = {
8
8
  title: 'Composants/Formulaires/UploadWorkflow',
9
9
  component: UploadWorkflow,
10
10
  parameters: {
11
- controls: { exclude: ['update:modelValue', 'error'] },
11
+ controls: { exclude: ['update:modelValue', 'error', 'preview'] },
12
12
  },
13
13
  argTypes: {
14
14
  'modelValue': {
@@ -75,6 +75,36 @@ const meta: Meta<typeof UploadWorkflow> = {
75
75
  },
76
76
  },
77
77
  },
78
+ 'headingLevel': {
79
+ description: 'Niveau du titre affiché (utilise role="heading" et aria-level).',
80
+ control: {
81
+ type: 'number',
82
+ min: 1,
83
+ max: 6,
84
+ },
85
+ table: {
86
+ category: 'props',
87
+ type: {
88
+ summary: 'number',
89
+ },
90
+ defaultValue: {
91
+ summary: '4',
92
+ },
93
+ },
94
+ },
95
+ 'infoText': {
96
+ description: 'Personnalise le texte affiché dans la zone d’information du composant enfant FileUpload (slot info-text).',
97
+ control: 'text',
98
+ table: {
99
+ category: 'props',
100
+ type: {
101
+ summary: 'string',
102
+ },
103
+ defaultValue: {
104
+ summary: '\'\'',
105
+ },
106
+ },
107
+ },
78
108
  'vuetifyOptions': {
79
109
  description: 'Les options pour les composants enfants.',
80
110
  control: 'object',
@@ -186,6 +216,15 @@ const meta: Meta<typeof UploadWorkflow> = {
186
216
  },
187
217
  },
188
218
  },
219
+ 'onPreview': {
220
+ description: 'Événement émis lors de l\'ouverture d\'une prévisualisation.',
221
+ table: {
222
+ category: 'events',
223
+ type: {
224
+ summary: 'FileItem',
225
+ },
226
+ },
227
+ },
189
228
  'onUpdate:modelValue': {
190
229
  description: 'Événement émis lorsqu\'un fichier est ajouté ou supprimé.',
191
230
  table: {
@@ -220,7 +259,7 @@ const meta: Meta<typeof UploadWorkflow> = {
220
259
  table: {
221
260
  category: 'slots',
222
261
  type: {
223
- summary: '{}',
262
+ summary: '{ id: string }',
224
263
  },
225
264
  },
226
265
  control: 'text',
@@ -267,6 +306,7 @@ export const Default: Story = {
267
306
  ],
268
307
  'onUpdate:modelValue': fn(),
269
308
  'onError': fn(),
309
+ 'onPreview': fn(),
270
310
  },
271
311
  parameters: {
272
312
  sourceCode: [
@@ -346,7 +386,7 @@ export const OptionalDocument: Story = {
346
386
  const uploadList = [
347
387
  {
348
388
  id: '1',
349
- title: 'Carte d'identité',
389
+ title: 'Carte d\\'identité',
350
390
  },
351
391
  {
352
392
  id: '2',
@@ -355,7 +395,7 @@ export const OptionalDocument: Story = {
355
395
  },
356
396
  {
357
397
  id: '3',
358
- title: 'Relevé d'identité bancaire',
398
+ title: 'Relevé d\\'identité bancaire',
359
399
  optional: true,
360
400
  },
361
401
  ]
@@ -380,6 +420,7 @@ export const WithPreviewStep: Story = {
380
420
  ],
381
421
  'onUpdate:modelValue': fn(),
382
422
  'onError': fn(),
423
+ 'onPreview': fn(),
383
424
  'showFilePreview': true,
384
425
  },
385
426
  parameters: {
@@ -391,6 +432,7 @@ export const WithPreviewStep: Story = {
391
432
  v-model="files"
392
433
  :upload-list="uploadList"
393
434
  :showFilePreview="true"
435
+ @preview="onPreview"
394
436
  />
395
437
  </template>`,
396
438
 
@@ -405,13 +447,64 @@ export const WithPreviewStep: Story = {
405
447
  const uploadList = [
406
448
  {
407
449
  id: 'ID',
408
- title: 'Carte d'identité',
450
+ title: 'Carte d\\'identité',
409
451
  },
410
452
  {
411
453
  id: 'Bill',
412
454
  title: 'Facture de soin',
413
455
  },
414
456
  ]
457
+
458
+ function onPreview(fileItem: unknown) {
459
+ console.log('preview', fileItem)
460
+ }
461
+ </script>`,
462
+ },
463
+ ],
464
+ },
465
+ }
466
+
467
+ export const WithInfoText: Story = {
468
+ args: {
469
+ 'modelValue': [],
470
+ 'uploadList': [
471
+ {
472
+ id: '1',
473
+ title: 'Carte d\'identité',
474
+ },
475
+ {
476
+ id: '2',
477
+ title: 'Facture de soin',
478
+ },
479
+ ],
480
+ 'infoText': 'Vous pouvez déposer vos fichiers ici. Formats acceptés : PDF, JPG, PNG.',
481
+ 'onUpdate:modelValue': fn(),
482
+ 'onError': fn(),
483
+ 'onPreview': fn(),
484
+ },
485
+ parameters: {
486
+ sourceCode: [
487
+ {
488
+ name: 'Template',
489
+ code: `<template>
490
+ <UploadWorkflow
491
+ v-model="files"
492
+ :upload-list="uploadList"
493
+ info-text="Vous pouvez déposer vos fichiers ici. Formats acceptés : PDF, JPG, PNG."
494
+ />
495
+ </template>`,
496
+ },
497
+ {
498
+ name: 'Script',
499
+ code: `<script setup lang="ts">
500
+ import { ref } from 'vue'
501
+ import { UploadWorkflow } from '@cnamts/synapse'
502
+
503
+ const files = ref([])
504
+ const uploadList = [
505
+ { id: '1', title: 'Carte d\\'identité' },
506
+ { id: '2', title: 'Facture de soin' },
507
+ ]
415
508
  </script>`,
416
509
  },
417
510
  ],
@@ -451,7 +544,7 @@ export const OneFile: Story = {
451
544
  const uploadList = [
452
545
  {
453
546
  id: 'ID',
454
- title: 'Carte d'identité',
547
+ title: 'Carte d\\'identité',
455
548
  },
456
549
  ]
457
550
 
@@ -468,14 +561,17 @@ export const Events: Story = {
468
561
  {
469
562
  id: 'ID',
470
563
  title: 'Carte d\'identité',
564
+ showPreviewBtn: true,
471
565
  },
472
566
  {
473
567
  id: 'Bill',
474
568
  title: 'Facture de soin',
569
+ showPreviewBtn: true,
475
570
  },
476
571
  ],
477
572
  'onUpdate:modelValue': fn(),
478
573
  'onError': fn(),
574
+ 'onPreview': fn(),
479
575
  },
480
576
  render: (args) => {
481
577
  return {
@@ -517,6 +613,7 @@ export const Events: Story = {
517
613
  :upload-list="args.uploadList"
518
614
  :vuetify-options="options"
519
615
  @error="[showError, args.onError]"
616
+ @preview="args.onPreview"
520
617
  @update:modelValue="[valueUpdated, args['onUpdate:modelValue']]"
521
618
  />
522
619
  <VSnackbar
@@ -549,6 +646,7 @@ export const Events: Story = {
549
646
  :upload-list="uploadList"
550
647
  vuetify-options="options"
551
648
  @onError="showError"
649
+ @onPreview="onPreview"
552
650
  @onUpdate:modelValue="valueUpdated"
553
651
  />
554
652
  </template>`,
@@ -563,11 +661,13 @@ export const Events: Story = {
563
661
  const uploadList = [
564
662
  {
565
663
  id: 'ID',
566
- title: 'Carte d'identité',
664
+ title: 'Carte d\\'identité',
665
+ showPreviewBtn: true,
567
666
  },
568
667
  {
569
668
  id: 'Bill',
570
669
  title: 'Facture de soin',
670
+ showPreviewBtn: true,
571
671
  },
572
672
  ]
573
673
 
@@ -581,13 +681,13 @@ export const Events: Story = {
581
681
  }
582
682
  }
583
683
 
584
- function showError (errors: string[]) {
684
+ function showError(errors: string[]) {
585
685
  snackbarText.value = errors.join(', ')
586
686
  snackbarColor.value = 'error';
587
687
  snackbar.value = true
588
688
  }
589
689
 
590
- function valueUpdated (items: {fileName: string, file: File}[]) {
690
+ function valueUpdated(items: { fileName: string, file: File }[]) {
591
691
  if(items.length === 0) {
592
692
  return
593
693
  }
@@ -595,6 +695,10 @@ export const Events: Story = {
595
695
  snackbarColor.value = 'success';
596
696
  snackbar.value = true
597
697
  }
698
+
699
+ function onPreview(fileItem: unknown) {
700
+ console.log('preview', fileItem)
701
+ }
598
702
  </script>`,
599
703
  },
600
704
  ],
@@ -680,7 +784,7 @@ export const Slots: Story = {
680
784
  const uploadList = [
681
785
  {
682
786
  id: 'ID',
683
- title: 'Carte d'identité',
787
+ title: 'Carte d\\'identité',
684
788
  },
685
789
  {
686
790
  id: 'Bill',
@@ -745,7 +849,7 @@ export const Customization: Story = {
745
849
  const uploadList = [
746
850
  {
747
851
  id: '1',
748
- title: 'Carte d'identité',
852
+ title: 'Carte d\\'identité',
749
853
  },
750
854
  {
751
855
  id: '2',
@@ -827,7 +931,7 @@ export const ManuallySetFile: Story = {
827
931
  const files = ref([
828
932
  {
829
933
  id: '1',
830
- title: 'Carte d'identité',
934
+ title: 'Carte d\\'identité',
831
935
  state: 'success',
832
936
  fileName: 'carte_identite.jpg',
833
937
  optional: false,
@@ -848,7 +952,7 @@ export const ManuallySetFile: Story = {
848
952
  const uploadList = [
849
953
  {
850
954
  id: '1',
851
- title: 'Carte d'identité',
955
+ title: 'Carte d\\'identité',
852
956
  },
853
957
  {
854
958
  id: '2',
@@ -917,7 +1021,7 @@ export const ManuallySetStates: Story = {
917
1021
  const files = ref([
918
1022
  {
919
1023
  id: '1',
920
- title: 'Carte d'identité',
1024
+ title: 'Carte d\\'identité',
921
1025
  state: 'error',
922
1026
  fileName: 'carte_identite.jpg',
923
1027
  optional: false,