@cnamts/synapse 1.0.10 → 1.0.11

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 (338) hide show
  1. package/dist/{DateFilter-C0wDuzgn.js → DateFilter-QEfKOz0P.js} +1 -1
  2. package/dist/{NumberFilter-CBj7zdOi.js → NumberFilter-C0h7gVzp.js} +1 -1
  3. package/dist/{PeriodFilter-DB4wWyKy.js → PeriodFilter-8dVrKjju.js} +1 -1
  4. package/dist/{SelectFilter-Dces8572.js → SelectFilter-BI3QGbqb.js} +1 -1
  5. package/dist/{TextFilter-BU9nlkuS.js → TextFilter-UOp1hcPp.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +9 -0
  7. package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +9 -0
  8. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +6 -24
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +18 -0
  10. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +9 -0
  11. package/dist/components/Amelipro/AmeliproFooter/locales.d.ts +0 -1
  12. package/dist/components/Amelipro/AmeliproFooter/types.d.ts +1 -0
  13. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +2 -0
  14. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +6 -2
  15. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +8 -4
  16. package/dist/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.d.ts +2 -0
  17. package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +9 -0
  18. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +5 -5
  19. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +9 -0
  20. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +6 -6
  21. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +2 -2
  22. package/dist/components/Amelipro/AmeliproUpload/types.d.ts +10 -0
  23. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +2 -2
  24. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
  25. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +3 -3
  26. package/dist/components/Customs/SyTextField/SyTextField.d.ts +1 -1
  27. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +12 -12
  28. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +6 -6
  29. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +3 -3
  30. package/dist/components/DatePicker/tests/setup.d.ts +96 -96
  31. package/dist/components/LangBtn/LangBtn.d.ts +2 -2
  32. package/dist/components/NirField/NirField.d.ts +6 -6
  33. package/dist/components/PeriodField/PeriodField.d.ts +24 -24
  34. package/dist/components/PhoneField/PhoneField.d.ts +3 -3
  35. package/dist/components/SearchListField/SearchListField.d.ts +10 -1
  36. package/dist/components/SyTextArea/SyTextArea.d.ts +2 -2
  37. package/dist/components/Tables/common/SyTablePagination.d.ts +4 -4
  38. package/dist/components/Tables/common/TableHeader.d.ts +6 -0
  39. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +2 -2
  40. package/dist/components/Tables/common/types.d.ts +7 -0
  41. package/dist/components/Tables/common/useTableHeaders.d.ts +10 -20
  42. package/dist/design-system-v3.js +1 -1
  43. package/dist/design-system-v3.umd.cjs +266 -266
  44. package/dist/main-DyEOPqqn.js +33329 -0
  45. package/dist/style.css +1 -1
  46. package/dist/utils/amelipro/rules/uploadFile/index.d.ts +6 -0
  47. package/dist/utils/amelipro/toKebabCase/toKebabCase.d.ts +1 -0
  48. package/dist/utils/rules/isRequired/index.d.ts +5 -2
  49. package/dist/utils/rules/types.d.ts +12 -3
  50. package/package.json +12 -3
  51. package/src/assets/amelipro/img/bg-pieces-jointe.svg +28 -0
  52. package/src/assets/overrides/_btns.scss +1 -0
  53. package/src/assets/overrides/_forms.scss +5 -0
  54. package/src/components/Accordion/tests/accordion.spec.ts +0 -55
  55. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +0 -4
  56. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +0 -4
  57. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/AmeliproAccordionFrieze.spec.ts +0 -4
  58. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +0 -4
  59. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +6 -0
  60. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +5 -1
  61. package/src/components/Amelipro/AmeliproAccordionList/__tests__/AmeliproAccordionList.spec.ts +0 -4
  62. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +13 -2
  63. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/AmeliproAccordionResultTemplate.spec.ts +0 -4
  64. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/AmeliproAccordionResult.spec.ts +0 -4
  65. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +6 -0
  66. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +5 -1
  67. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/AmeliproAccordionResultList.spec.ts +0 -4
  68. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +13 -2
  69. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +1 -1
  70. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +277 -55
  71. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +113 -233
  72. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +0 -4
  73. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +0 -4
  74. package/src/components/Amelipro/AmeliproBtn/__tests__/AmeliproBtn.spec.ts +478 -0
  75. package/src/components/Amelipro/AmeliproBtn/__tests__/__snapshots__/AmeliproBtn.spec.ts.snap +74 -0
  76. package/src/components/Amelipro/AmeliproCallback/__tests__/AmeliproCallback.spec.ts +100 -0
  77. package/src/components/Amelipro/AmeliproCallback/__tests__/__snapshots__/AmeliproCallback.spec.ts.snap +50 -0
  78. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +0 -4
  79. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +10 -2
  80. package/src/components/Amelipro/AmeliproCard/__tests__/AmeliproCard.spec.ts +402 -0
  81. package/src/components/Amelipro/AmeliproCard/__tests__/__snapshots__/AmeliproCard.spec.ts.snap +106 -0
  82. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.stories.ts +2 -0
  83. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +11 -1
  84. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/AmeliproCarouselItem.spec.ts +0 -4
  85. package/src/components/Amelipro/AmeliproCarousel/__tests__/AmeliproCarousel.spec.ts +0 -4
  86. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
  87. package/src/components/Amelipro/AmeliproCheckbox/tests/AmeliproCheckbox.spec.ts +0 -4
  88. package/src/components/Amelipro/AmeliproCheckboxGroup/tests/AmeliproCheckboxGroup.spec.ts +0 -4
  89. package/src/components/Amelipro/AmeliproChips/tests/AmeliproChips.spec.ts +0 -4
  90. package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +0 -4
  91. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +0 -4
  92. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/AmeliproCopyBtn.spec.ts +0 -4
  93. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +0 -4
  94. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/AmeliproTooth.spec.ts +0 -4
  95. package/src/components/Amelipro/AmeliproDentalChart/tests/AmeliproDentalChart.spec.ts +0 -4
  96. package/src/components/Amelipro/AmeliproDialog/tests/AmeliproDialog.spec.ts +0 -2
  97. package/src/components/Amelipro/AmeliproDisclosure/tests/AmeliproDisclosure.spec.ts +0 -4
  98. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +0 -4
  99. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +0 -4
  100. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/AmeliproFirstLogin.spec.ts +0 -2
  101. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +1 -0
  102. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +5 -1
  103. package/src/components/Amelipro/AmeliproFooter/locales.ts +0 -1
  104. package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -4
  105. package/src/components/Amelipro/AmeliproFooter/types.d.ts +1 -0
  106. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.stories.ts +18 -8
  107. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +3 -1
  108. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.vue +3 -0
  109. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue +10 -2
  110. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -4
  111. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +2 -3
  112. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/tests/AmeliproLogoAm.spec.ts +0 -4
  113. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -4
  114. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +2 -3
  115. package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -4
  116. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +2 -3
  117. package/src/components/Amelipro/AmeliproIcon/tests/AmeliproIcon.spec.ts +0 -4
  118. package/src/components/Amelipro/AmeliproIconBtn/tests/AmeliproIconBtn.spec.ts +0 -4
  119. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/AmeliproIllustratedDataTile.spec.ts +0 -4
  120. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/AmeliproIllustratedRadioGroup.spec.ts +0 -4
  121. package/src/components/Amelipro/AmeliproMailTile/tests/AmeliproMailTile.spec.ts +0 -4
  122. package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -2
  123. package/src/components/Amelipro/AmeliproMessage/tests/AmeliproMessage.spec.ts +0 -4
  124. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -4
  125. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -4
  126. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -4
  127. package/src/components/Amelipro/AmeliproMessagingLayout/tests/AmeliproMessagingLayout.spec.ts +0 -4
  128. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -4
  129. package/src/components/Amelipro/AmeliproNumberedCard/tests/AmeliproNumberedCard.spec.ts +0 -4
  130. package/src/components/Amelipro/AmeliproOnboarding/tests/AmeliproOnboarding.spec.ts +0 -4
  131. package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.stories.ts +9 -2
  132. package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.vue +4 -1
  133. package/src/components/Amelipro/AmeliproPageLayout/tests/AmeliproPageLayout.spec.ts +0 -4
  134. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +2 -3
  135. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/AmeliproPaginationBtn.spec.ts +0 -4
  136. package/src/components/Amelipro/AmeliproPagination/tests/AmeliproPagination.spec.ts +0 -4
  137. package/src/components/Amelipro/AmeliproPatientBanner/tests/AmeliproPatientBanner.spec.ts +0 -4
  138. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/AmeliproPatientLogged.spec.ts +0 -4
  139. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +13 -2
  140. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/__tests__/AmeliproPatientLoginForm.spec.ts +0 -4
  141. package/src/components/Amelipro/AmeliproPatientLogin/__tests__/AmeliproPatientLogin.spec.ts +0 -4
  142. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +0 -4
  143. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +24 -4
  144. package/src/components/Amelipro/AmeliproPostalAddressField/tests/AmeliproPostalAddressField.spec.ts +0 -4
  145. package/src/components/Amelipro/AmeliproPostalAddressField/tests/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +40 -8
  146. package/src/components/Amelipro/AmeliproRadioGroup/tests/AmeliproRadioGroup.spec.ts +0 -4
  147. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +6 -0
  148. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +5 -1
  149. package/src/components/Amelipro/AmeliproResultList/__tests__/AmeliproResultList.spec.ts +0 -4
  150. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +13 -2
  151. package/src/components/Amelipro/AmeliproSelect/tests/AmeliproSelect.spec.ts +0 -4
  152. package/src/components/Amelipro/AmeliproSelect/tests/__snapshots__/AmeliproSelect.spec.ts.snap +13 -2
  153. package/src/components/Amelipro/AmeliproStateTile/tests/AmeliproStateTile.spec.ts +0 -4
  154. package/src/components/Amelipro/AmeliproStatus/tests/AmeliproStatus.spec.ts +0 -4
  155. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/AmeliproStepBtn.spec.ts +0 -4
  156. package/src/components/Amelipro/AmeliproStepper/tests/AmeliproStepper.spec.ts +0 -4
  157. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +6 -0
  158. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +5 -1
  159. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +0 -4
  160. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +13 -2
  161. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/AmeliproTabBtn.spec.ts +0 -4
  162. package/src/components/Amelipro/AmeliproTabs/tests/AmeliproTabs.spec.ts +0 -4
  163. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +1 -1
  164. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +0 -4
  165. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +10 -2
  166. package/src/components/Amelipro/AmeliproTextField/tests/AmeliproTextField.spec.ts +0 -4
  167. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +10 -2
  168. package/src/components/Amelipro/AmeliproTileBtn/tests/AmeliproTileBtn.spec.ts +0 -4
  169. package/src/components/Amelipro/AmeliproTooltips/tests/AmeliproTooltips.spec.ts +0 -4
  170. package/src/components/Amelipro/AmeliproTransmission/tests/AmeliproTransmission.spec.ts +0 -4
  171. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.mdx +38 -0
  172. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +99 -0
  173. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +714 -0
  174. package/src/components/Amelipro/AmeliproUpload/README.md +66 -0
  175. package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +74 -0
  176. package/src/components/Amelipro/AmeliproUpload/types.d.ts +10 -0
  177. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -4
  178. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -4
  179. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -4
  180. package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -4
  181. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -4
  182. package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -4
  183. package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -4
  184. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -4
  185. package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -2
  186. package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -4
  187. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -4
  188. package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -4
  189. package/src/components/BackBtn/BackBtn.vue +2 -1
  190. package/src/components/BackBtn/tests/BackBtn.spec.ts +1 -23
  191. package/src/components/BackToTopBtn/tests/BackToTopBtn.spec.ts +3 -34
  192. package/src/components/ChipList/tests/chipList.spec.ts +0 -38
  193. package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +0 -8
  194. package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +0 -28
  195. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +1 -11
  196. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +0 -16
  197. package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.ts +0 -4
  198. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +0 -16
  199. package/src/components/CopyBtn/tests/CopyBtn.spec.ts +0 -31
  200. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +1 -0
  201. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +3 -37
  202. package/src/components/Customs/Selects/SyBtnSelect/tests/SyBtnSelect.spec.ts +0 -28
  203. package/src/components/Customs/Selects/SyInputSelect/tests/SyInputSelect.spec.ts +8 -104
  204. package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
  205. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +0 -135
  206. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +1 -1
  207. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
  208. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +0 -20
  209. package/src/components/Customs/SyForm/SyForm.mdx +1 -3
  210. package/src/components/Customs/SyForm/SyForm.stories.ts +131 -143
  211. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +0 -2
  212. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +1 -27
  213. package/src/components/DataList/DataListLoading/tests/DataListLoading.spec.ts +0 -4
  214. package/src/components/DataList/tests/DataList.spec.ts +0 -26
  215. package/src/components/DataListGroup/tests/DataListGroup.spec.ts +0 -10
  216. package/src/components/DataListItem/tests/DataListItem.spec.ts +0 -28
  217. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +0 -16
  218. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +4 -34
  219. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -10
  220. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -13
  221. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -10
  222. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -52
  223. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +0 -543
  224. package/src/components/DiacriticPicker/tests/DiatriticPicker.spec.ts +0 -6
  225. package/src/components/DialogBox/tests/DialogBox.spec.ts +0 -63
  226. package/src/components/DownloadBtn/tests/DownloadBtn.spec.ts +0 -7
  227. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +0 -7
  228. package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +0 -16
  229. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +1 -0
  230. package/src/components/FileList/tests/FileList.spec.ts +0 -13
  231. package/src/components/FilePreview/tests/FilePreview.spec.ts +1 -6
  232. package/src/components/FileUpload/tests/FileUpload.spec.ts +1 -48
  233. package/src/components/FilterInline/tests/FilterInline.spec.ts +0 -10
  234. package/src/components/FilterSideBar/FilterSideBar.stories.ts +2 -0
  235. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +0 -10
  236. package/src/components/FooterBar/tests/FooterBar.spec.ts +7 -19
  237. package/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.ts +0 -11
  238. package/src/components/HeaderBar/HeaderBar.stories.ts +37 -38
  239. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.ts +0 -6
  240. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +0 -6
  241. package/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.ts +0 -13
  242. package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +1 -22
  243. package/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.ts +0 -10
  244. package/src/components/HeaderBar/tests/HeaderBar.spec.ts +0 -16
  245. package/src/components/HeaderLoading/tests/HeaderLoading.spec.ts +0 -4
  246. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +22 -15
  247. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +0 -4
  248. package/src/components/HeaderToolbar/tests/HeaderToolBar.spec.ts +7 -51
  249. package/src/components/LangBtn/tests/LangBtn.spec.ts +0 -56
  250. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +22 -67
  251. package/src/components/NirField/NirField.stories.ts +2 -0
  252. package/src/components/NirField/NirField.vue +48 -25
  253. package/src/components/NirField/tests/NirField.cursor.spec.ts +315 -0
  254. package/src/components/NirField/tests/NirField.spec.ts +215 -17
  255. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +2 -12
  256. package/src/components/NotificationBar/NotificationBar.mdx +1 -1
  257. package/src/components/NotificationBar/NotificationBar.stories.ts +1 -0
  258. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +5 -44
  259. package/src/components/PageContainer/tests/PageContainer.spec.ts +1 -15
  260. package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +0 -23
  261. package/src/components/PasswordField/tests/PasswordField.spec.ts +4 -38
  262. package/src/components/PeriodField/tests/PeriodField.spec.ts +4 -74
  263. package/src/components/PhoneField/tests/PhoneField.spec.ts +3 -154
  264. package/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.ts +0 -13
  265. package/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.ts +0 -34
  266. package/src/components/RangeField/RangeSlider/tests/useTrack.spec.ts +4 -24
  267. package/src/components/RangeField/tests/RangeField.spec.ts +0 -31
  268. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +78 -30
  269. package/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.ts +2 -23
  270. package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +2 -17
  271. package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +3 -22
  272. package/src/components/RatingPicker/tests/Rating.spec.ts +0 -10
  273. package/src/components/RatingPicker/tests/RatingPicker.spec.ts +0 -23
  274. package/src/components/SearchListField/SearchListField.mdx +3 -4
  275. package/src/components/SearchListField/SearchListField.stories.ts +103 -3
  276. package/src/components/SearchListField/SearchListField.vue +34 -9
  277. package/src/components/SearchListField/tests/SearchListField.spec.ts +98 -44
  278. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +0 -32
  279. package/src/components/SubHeader/tests/SubHeader.spec.ts +0 -18
  280. package/src/components/SyAlert/tests/SyAlert.spec.ts +0 -14
  281. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +0 -31
  282. package/src/components/TableToolbar/tests/TableToolbar.spec.ts +0 -31
  283. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +72 -24
  284. package/src/components/Tables/SyServerTable/SyServerTable.vue +15 -3
  285. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +0 -58
  286. package/src/components/Tables/SyTable/SyTable.vue +30 -7
  287. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +0 -55
  288. package/src/components/Tables/common/SyTablePagination.vue +1 -1
  289. package/src/components/Tables/common/TableHeader.vue +57 -2
  290. package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +0 -11
  291. package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +0 -11
  292. package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +0 -11
  293. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +0 -11
  294. package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +0 -11
  295. package/src/components/Tables/common/tests/SyTableFilter.spec.ts +0 -31
  296. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +0 -49
  297. package/src/components/Tables/common/tests/TableHeader.spec.ts +0 -19
  298. package/src/components/Tables/common/tests/filterByRange.spec.ts +0 -13
  299. package/src/components/Tables/common/tests/resize.spec.ts +0 -13
  300. package/src/components/Tables/common/types.ts +7 -0
  301. package/src/components/Tables/common/useStoredOptions.ts +1 -1
  302. package/src/components/Tables/common/useTableHeaders.ts +73 -6
  303. package/src/components/ToolbarContainer/tests/ToolbarContainer.spec.ts +0 -19
  304. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +0 -15
  305. package/src/components/Usages/tests/Usages.spec.ts +3 -31
  306. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +0 -31
  307. package/src/composables/useFilterable/useFilterable.ts +33 -24
  308. package/src/stories/GuideDuDev/FormValidationGuide.mdx +746 -114
  309. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +138 -136
  310. package/src/utils/amelipro/rules/uploadFile/index.ts +119 -0
  311. package/src/utils/amelipro/rules/uploadFile/tests/uploadFile.spec.ts +55 -0
  312. package/src/utils/amelipro/toKebabCase/toKebabCase.ts +11 -0
  313. package/src/utils/rules/doMatchPattern/index.ts +1 -1
  314. package/src/utils/rules/isDateValid/index.ts +1 -1
  315. package/src/utils/rules/isExactLength/index.ts +4 -0
  316. package/src/utils/rules/isHolidayDay/index.ts +1 -1
  317. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +24 -14
  318. package/src/utils/rules/isMaxLength/index.ts +4 -0
  319. package/src/utils/rules/isMinLength/index.ts +4 -0
  320. package/src/utils/rules/isNotAfterDate/index.ts +4 -0
  321. package/src/utils/rules/isNotAfterToday/index.ts +1 -1
  322. package/src/utils/rules/isNotBeforeDate/index.ts +4 -0
  323. package/src/utils/rules/isNotBeforeToday/index.ts +1 -1
  324. package/src/utils/rules/isRequired/index.ts +11 -5
  325. package/src/utils/rules/isRequired/tests/{isRequred.spec.ts → isRequired.spec.ts} +24 -0
  326. package/src/utils/rules/isValidEmail/index.ts +1 -1
  327. package/src/utils/rules/types.d.ts +12 -3
  328. package/dist/main-Dt4iNotT.js +0 -33147
  329. package/src/components/Amelipro/AmeliproBtn/tests/AmeliproBtn.spec.ts +0 -22
  330. package/src/components/Amelipro/AmeliproBtn/tests/__snapshots__/AmeliproBtn.spec.ts.snap +0 -46
  331. package/src/components/Amelipro/AmeliproCallback/tests/AmeliproCallback.spec.ts +0 -21
  332. package/src/components/Amelipro/AmeliproCallback/tests/__snapshots__/AmeliproCallback.spec.ts.snap +0 -165
  333. package/src/components/Amelipro/AmeliproCard/tests/AmeliproCard.spec.ts +0 -23
  334. package/src/components/Amelipro/AmeliproCard/tests/__snapshots__/AmeliproCard.spec.ts.snap +0 -78
  335. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +0 -204
  336. /package/src/composables/validation/{AvecVosComposants.mdx → AvecVosComposants.mdx.old} +0 -0
  337. /package/src/composables/validation/{FormValidation.mdx → FormValidation.mdx.old} +0 -0
  338. /package/src/composables/validation/{FormValidation.stories.ts → FormValidation.stories.ts.old} +0 -0
@@ -3,7 +3,6 @@ import { describe, it, expect, vi } from 'vitest'
3
3
  import FooterBar from '@/components/FooterBar/FooterBar.vue'
4
4
  import { locales } from '@/components/FooterBar/locales'
5
5
  import { A11yComplianceEnum } from '@/components/FooterBar/A11yCompliance'
6
- import { vuetify } from '@tests/unit/setup'
7
6
  import { LogoSize } from '@/components/Logo/LogoSize'
8
7
  import { nextTick } from 'vue'
9
8
 
@@ -17,13 +16,13 @@ describe('FooterBar', () => {
17
16
  }
18
17
 
19
18
  it('renders correctly', async () => {
20
- const wrapper = mount(FooterBar, { global: { plugins: [vuetify] } })
19
+ const wrapper = mount(FooterBar)
21
20
  expect(FooterBar).toBeTruthy()
22
21
  expect(wrapper.html()).toMatchSnapshot()
23
22
  })
24
23
 
25
24
  it('renders default props correctly', () => {
26
- const wrapper = mount(FooterBar, { global: { plugins: [vuetify] } })
25
+ const wrapper = mount(FooterBar)
27
26
  expect(wrapper.props().a11yCompliance).toBe('non-compliant')
28
27
  expect(wrapper.props().linkItems).toBeNull()
29
28
  expect(wrapper.props().sitemapRoute).toEqual({ name: 'sitemap' })
@@ -36,14 +35,14 @@ describe('FooterBar', () => {
36
35
  linkItems: [{ text: 'Custom Link', to: '/custom' }],
37
36
  hideSitemapLink: true,
38
37
  }
39
- const wrapper = mount(FooterBar, { props: customProps, global: { plugins: [vuetify] } })
38
+ const wrapper = mount(FooterBar, { props: customProps })
40
39
  expect(wrapper.props().a11yCompliance).toBe(A11yComplianceEnum['fully-compliant'])
41
40
  expect(wrapper.props().linkItems).toEqual(customProps.linkItems)
42
41
  expect(wrapper.props().hideSitemapLink).toBe(true)
43
42
  })
44
43
 
45
44
  it('renders footer links correctly', () => {
46
- const wrapper = mount(FooterBar, { global: { plugins: [vuetify] } })
45
+ const wrapper = mount(FooterBar)
47
46
  const links = wrapper.findAll('.vd-footer-bar-links li')
48
47
  expect(links.length).toBeGreaterThan(0)
49
48
  })
@@ -57,7 +56,6 @@ describe('FooterBar', () => {
57
56
  hideLegalNoticeLink: true,
58
57
  hideA11yLink: true,
59
58
  },
60
- global: { plugins: [vuetify] },
61
59
  })
62
60
  const links = wrapper.findAll('.vd-footer-bar-links li')
63
61
  expect(links.length).toBe(0)
@@ -65,25 +63,17 @@ describe('FooterBar', () => {
65
63
 
66
64
  it('renders version if provided', () => {
67
65
  const version = '1.0.0'
68
- const wrapper = mount(FooterBar, { props: { version }, global: { plugins: [vuetify] } })
66
+ const wrapper = mount(FooterBar, { props: { version } })
69
67
  expect(wrapper.text()).toContain(`${locales.versionLabel} ${version}`)
70
68
  })
71
69
 
72
70
  it('computes logoSize correctly for desktop screens', () => {
73
- const wrapper = mount(FooterBar, {
74
- global: {
75
- plugins: [vuetify],
76
- },
77
- })
71
+ const wrapper = mount(FooterBar)
78
72
  expect(wrapper.vm.$.exposed?.logoSize.value).toBe(LogoSize.NORMAL)
79
73
  })
80
74
 
81
75
  it('computes logoSize correctly for small screens', async () => {
82
- const wrapper = mount(FooterBar, {
83
- global: {
84
- plugins: [vuetify],
85
- },
86
- })
76
+ const wrapper = mount(FooterBar)
87
77
  Object.defineProperty(window, 'innerWidth', {
88
78
  writable: true,
89
79
  configurable: true,
@@ -97,7 +87,6 @@ describe('FooterBar', () => {
97
87
  it('renders the scroll to top button and triggers scrollToTop', async () => {
98
88
  // Passer un slot ou forcer une condition pour activer le mode étendu
99
89
  const wrapper = mount(FooterBar, {
100
- global: { plugins: [vuetify] },
101
90
  slots: {
102
91
  default: '<div>Extended mode content</div>', // Slot pour forcer le mode étendu
103
92
  },
@@ -141,7 +130,6 @@ describe('FooterBar', () => {
141
130
  ]
142
131
  const wrapper = mount(FooterBar, {
143
132
  props: { linkItems },
144
- global: { plugins: [vuetify] },
145
133
  })
146
134
 
147
135
  const links = wrapper.findAll('.vd-footer-bar-links a')
@@ -1,15 +1,11 @@
1
1
  import { describe, it, expect } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
- import { vuetify } from '@tests/unit/setup'
4
3
  import FranceConnectBtn from '../FranceConnectBtn.vue'
5
4
  import { VThemeProvider } from 'vuetify/components'
6
5
 
7
6
  describe('FranceConnectBtn', () => {
8
7
  it('renders correctly', () => {
9
8
  const wrapper = mount(FranceConnectBtn, {
10
- global: {
11
- plugins: [vuetify],
12
- },
13
9
  propsData: {
14
10
  href: 'https://app.franceconnect.gouv.fr/',
15
11
  },
@@ -21,9 +17,6 @@ describe('FranceConnectBtn', () => {
21
17
 
22
18
  it('renders correctly with connect-plus', () => {
23
19
  const wrapper = mount(FranceConnectBtn, {
24
- global: {
25
- plugins: [vuetify],
26
- },
27
20
  propsData: {
28
21
  href: 'https://app.franceconnect.gouv.fr/',
29
22
  isConnectPlus: true,
@@ -47,10 +40,6 @@ describe('FranceConnectBtn', () => {
47
40
  >
48
41
  <FranceConnectBtn href="https://app.franceconnect.gouv.fr/" isConnectPlus />
49
42
  </VThemeProvider>`,
50
- }, {
51
- global: {
52
- plugins: [vuetify],
53
- },
54
43
  })
55
44
 
56
45
  expect(wrapper.html()).toMatchSnapshot()
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
 
3
- import { mdiAccountCircleOutline, mdiMagnify, mdiMenu } from '@mdi/js'
3
+ import { mdiAccountCircleOutline, mdiMagnify } 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'
@@ -199,40 +199,39 @@ export const WithRightMenu: Story = {
199
199
  setup() {
200
200
  const searchIcon = mdiMagnify
201
201
  const accountIcon = mdiAccountCircleOutline
202
- const menuIcon = mdiMenu
203
202
 
204
- return { args, searchIcon, accountIcon, menuIcon }
203
+ return { args, searchIcon, accountIcon }
205
204
  },
206
205
  template: `<div class="position: relative">
207
206
  <HeaderBar v-bind="args">
208
- <template #header-side="{ menuOpen }">
209
- <nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
210
- <VBtn
211
- variant="text"
212
- :prepend-icon="searchIcon"
213
- color="primary"
214
- role="search"
215
- >
216
- Rechercher
217
- </VBtn>
218
- <VBtn
219
- color="primary"
220
- :prepend-icon="accountIcon"
221
- >
222
- Login
223
- </VBtn>
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>
235
- </template>
207
+ <template #header-side>
208
+ <nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
209
+ <VBtn
210
+ variant="text"
211
+ :prepend-icon="searchIcon"
212
+ color="primary"
213
+ role="search"
214
+ >
215
+ Rechercher
216
+ </VBtn>
217
+ <VBtn
218
+ color="primary"
219
+ :prepend-icon="accountIcon"
220
+ >
221
+ Login
222
+ </VBtn>
223
+ </nav>
224
+ <VBtn
225
+ class="d-md-none"
226
+ variant="text"
227
+ >
228
+ <VBtn
229
+ color="primary"
230
+ density="comfortable"
231
+ :icon="accountIcon"
232
+ />
233
+ </vbtn>
234
+ </template>
236
235
  </HeaderBar>
237
236
  </div>`,
238
237
  }
@@ -247,7 +246,7 @@ export const WithRightMenu: Story = {
247
246
  service-title="Synapse"
248
247
  service-subtitle="Design System"
249
248
  >
250
- <template #header-side="{ menuOpen }">
249
+ <template #header-side>
251
250
  <nav class="d-none d-md-flex justify-center h-100 ga-4 pr-4">
252
251
  <VBtn
253
252
  variant="text"
@@ -268,11 +267,11 @@ export const WithRightMenu: Story = {
268
267
  class="d-md-none"
269
268
  variant="text"
270
269
  >
271
- <SyIcon
272
- size="x-large"
273
- :icon="mdiMenu"
274
- aria-label="Ouvrir le menu"
275
- />
270
+ <VBtn
271
+ color="primary"
272
+ density="comfortable"
273
+ :icon="mdiAccountCircleOutline"
274
+ />
276
275
  </VBtn>
277
276
  </template>
278
277
  </HeaderBar>
@@ -285,7 +284,7 @@ export const WithRightMenu: Story = {
285
284
  <script setup lang="ts">
286
285
  import { HeaderBar, SyIcon } from '@cnamts/synapse'
287
286
  import { VBtn } from 'vuetify/components'
288
- import { mdiMagnify, mdiAccountCircleOutline, mdiMenu } from '@mdi/js'
287
+ import { mdiMagnify, mdiAccountCircleOutline } from '@mdi/js'
289
288
  </script>
290
289
  `,
291
290
  },
@@ -1,7 +1,5 @@
1
1
  import { mount } from '@vue/test-utils'
2
2
  import { afterEach, describe, expect, it, vi } from 'vitest'
3
-
4
- import { vuetify } from '@tests/unit/setup'
5
3
  import { registerSubMenuKey } from '../../conts'
6
4
  import HeaderSubMenu from '../HeaderSubMenu.vue'
7
5
 
@@ -18,7 +16,6 @@ describe('HeaderSubMenu', () => {
18
16
  default: '<ul><li><a>Test 1</a></li></ul>',
19
17
  },
20
18
  global: {
21
- plugins: [vuetify],
22
19
  provide: {
23
20
  [registerSubMenuKey]: registerSubMenu,
24
21
  },
@@ -53,9 +50,6 @@ describe('HeaderSubMenu', () => {
53
50
  title: '<h2>Sub menu title</h2>',
54
51
  default: '<ul><li><a>Test 1</a></li></ul>',
55
52
  },
56
- global: {
57
- plugins: [vuetify],
58
- },
59
53
  })
60
54
 
61
55
  expect(mountWithoutInject).toThrowError('The HeaderSubMenu component must be used inside a HeaderBurgerMenu component')
@@ -1,4 +1,3 @@
1
- import { vuetify } from '@tests/unit/setup'
2
1
  import { mount } from '@vue/test-utils'
3
2
  import { describe, expect, it, vi, afterAll } from 'vitest'
4
3
  import { registerHeaderMenuKey } from '../../consts'
@@ -31,7 +30,6 @@ describe('HeaderBurgerMenu', () => {
31
30
  it('should render the component', async () => {
32
31
  const wrapper = mount(HeaderBurgerMenu, {
33
32
  global: {
34
- plugins: [vuetify],
35
33
  provide: {
36
34
  [registerHeaderMenuKey]: () => {},
37
35
  },
@@ -58,7 +56,6 @@ describe('HeaderBurgerMenu', () => {
58
56
  it('should close the menu when clicking outside', async () => {
59
57
  const wrapper = mount(HeaderBurgerMenu, {
60
58
  global: {
61
- plugins: [vuetify],
62
59
  provide: {
63
60
  [registerHeaderMenuKey]: () => {},
64
61
  },
@@ -87,7 +84,6 @@ describe('HeaderBurgerMenu', () => {
87
84
  it('should not close the menu when clicking inside', async () => {
88
85
  const wrapper = mount(HeaderBurgerMenu, {
89
86
  global: {
90
- plugins: [vuetify],
91
87
  provide: {
92
88
  [registerHeaderMenuKey]: () => {},
93
89
  },
@@ -115,7 +111,6 @@ describe('HeaderBurgerMenu', () => {
115
111
  it('should listen to the button to open and close the menu', async () => {
116
112
  const wrapper = mount(HeaderBurgerMenu, {
117
113
  global: {
118
- plugins: [vuetify],
119
114
  provide: {
120
115
  [registerHeaderMenuKey]: () => {},
121
116
  },
@@ -143,7 +138,6 @@ describe('HeaderBurgerMenu', () => {
143
138
  it('reposition the menu when the size of the window changes', async () => {
144
139
  const wrapper = mount(HeaderBurgerMenu, {
145
140
  global: {
146
- plugins: [vuetify],
147
141
  provide: {
148
142
  [registerHeaderMenuKey]: () => {},
149
143
  },
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable vue/one-component-per-file */
2
- import { vuetify } from '@tests/unit/setup'
3
2
  import { mount } from '@vue/test-utils'
4
3
  import { describe, expect, it } from 'vitest'
5
4
  import { computed, defineComponent, inject, readonly, ref, type DeepReadonly, type Ref } from 'vue'
@@ -56,10 +55,6 @@ describe('useHandleSubMenus', () => {
56
55
  <TestChildrenComponent />
57
56
  </TestParentComponent>
58
57
  `,
59
- }, {
60
- global: {
61
- plugins: [vuetify],
62
- },
63
58
  })
64
59
 
65
60
  expect(wrapper.find('.parent-open').exists()).toBe(false)
@@ -96,10 +91,6 @@ describe('useHandleSubMenus', () => {
96
91
  <TestChildrenComponent />
97
92
  </TestParentComponent>
98
93
  `,
99
- }, {
100
- global: {
101
- plugins: [vuetify],
102
- },
103
94
  })
104
95
 
105
96
  expect(wrapper.find('.parent-open').exists()).toBe(false)
@@ -132,10 +123,6 @@ describe('useHandleSubMenus', () => {
132
123
  <TestChildrenComponent />
133
124
  </TestParentComponent>
134
125
  `,
135
- }, {
136
- global: {
137
- plugins: [vuetify],
138
- },
139
126
  })
140
127
 
141
128
  const parentBtn = wrapper.find('.parent-menu-btn')
@@ -1,4 +1,3 @@
1
- import { vuetify } from '@tests/unit/setup'
2
1
  import { mount } from '@vue/test-utils'
3
2
  import { afterEach, describe, expect, it, vi } from 'vitest'
4
3
  import HeaderLogo from '../HeaderLogo.vue'
@@ -15,9 +14,6 @@ describe('HeaderLogo', () => {
15
14
  window.happyDOM.setInnerWidth(600)
16
15
 
17
16
  const mobileWrapper = mount(HeaderLogo, {
18
- global: {
19
- plugins: [vuetify],
20
- },
21
17
  attachTo: document.body,
22
18
  })
23
19
 
@@ -35,9 +31,6 @@ describe('HeaderLogo', () => {
35
31
  window.happyDOM.setInnerWidth(1200)
36
32
 
37
33
  const desktopWrapper = mount(HeaderLogo, {
38
- global: {
39
- plugins: [vuetify],
40
- },
41
34
  attachTo: document.body,
42
35
  })
43
36
 
@@ -58,9 +51,6 @@ describe('HeaderLogo', () => {
58
51
 
59
52
  it('sould display the service and the logo aria-label', async () => {
60
53
  const wrapper = mount(HeaderLogo, {
61
- global: {
62
- plugins: [vuetify],
63
- },
64
54
  props: {
65
55
  ariaLabel: 'Test aria label',
66
56
  serviceTitle: 'Test service title',
@@ -77,9 +67,6 @@ describe('HeaderLogo', () => {
77
67
 
78
68
  it('should render only the serviceTitle slot when set', async () => {
79
69
  const wrapper = mount(HeaderLogo, {
80
- global: {
81
- plugins: [vuetify],
82
- },
83
70
  props: {
84
71
  serviceTitle: 'Test service title',
85
72
  },
@@ -97,9 +84,7 @@ describe('HeaderLogo', () => {
97
84
  it('render a router-link when homeLink is set with `to`', async () => {
98
85
  const wrapper = mount(HeaderLogo, {
99
86
  global: {
100
- plugins: [vuetify],
101
- stubs: ['RouterLink'],
102
- },
87
+ stubs: ['RouterLink'] },
103
88
  props: {
104
89
  homeLink: {
105
90
  to: '/',
@@ -113,9 +98,6 @@ describe('HeaderLogo', () => {
113
98
 
114
99
  it('render a div when there there is no `RouterLink` component registered', async () => {
115
100
  const wrapper = mount(HeaderLogo, {
116
- global: {
117
- plugins: [vuetify],
118
- },
119
101
  props: {
120
102
  homeLink: {
121
103
  to: '/',
@@ -128,9 +110,6 @@ describe('HeaderLogo', () => {
128
110
 
129
111
  it('render a div when the homeLink properties `to` and `href` are both set to `undefined`', async () => {
130
112
  const wrapper = mount(HeaderLogo, {
131
- global: {
132
- plugins: [vuetify],
133
- },
134
113
  props: {
135
114
  homeLink: {
136
115
  to: undefined,
@@ -1,4 +1,3 @@
1
- import { vuetify } from '@tests/unit/setup'
2
1
  import { mount } from '@vue/test-utils'
3
2
  import { describe, expect, it } from 'vitest'
4
3
  import HeaderMenuBtn from '../HeaderMenuBtn.vue'
@@ -7,9 +6,6 @@ import locals from '../locals'
7
6
  describe('HeaderMenuBtn', () => {
8
7
  it('should render the component', async () => {
9
8
  const wrapper = mount(HeaderMenuBtn, {
10
- global: {
11
- plugins: [vuetify],
12
- },
13
9
  props: {
14
10
  modelValue: false,
15
11
  },
@@ -26,9 +22,6 @@ describe('HeaderMenuBtn', () => {
26
22
 
27
23
  it('emit an event when the button is clicked', async () => {
28
24
  const wrapper = mount(HeaderMenuBtn, {
29
- global: {
30
- plugins: [vuetify],
31
- },
32
25
  props: {
33
26
  modelValue: false,
34
27
  },
@@ -44,9 +37,6 @@ describe('HeaderMenuBtn', () => {
44
37
 
45
38
  it('focus when the focus exposed function is called', async () => {
46
39
  const wrapper = mount(HeaderMenuBtn, {
47
- global: {
48
- plugins: [vuetify],
49
- },
50
40
  props: {
51
41
  modelValue: false,
52
42
  },
@@ -1,4 +1,3 @@
1
- import { vuetify } from '@tests/unit/setup'
2
1
  import { mount } from '@vue/test-utils'
3
2
  import { afterAll, describe, expect, it, vi } from 'vitest'
4
3
  import { defineComponent, inject, onMounted, ref, type Ref } from 'vue'
@@ -20,9 +19,6 @@ describe('HeaderBar', () => {
20
19
  props: {
21
20
  sticky: false,
22
21
  },
23
- global: {
24
- plugins: [vuetify],
25
- },
26
22
  attachTo: document.body,
27
23
  })
28
24
  window.dispatchEvent(new CustomEvent('scroll'))
@@ -49,9 +45,6 @@ describe('HeaderBar', () => {
49
45
 
50
46
  it('should render all the component slots', async () => {
51
47
  const wrapper = mount(HeaderBar, {
52
- global: {
53
- plugins: [vuetify],
54
- },
55
48
  attachTo: document.body,
56
49
  slots: {
57
50
  'default': '<div>Default slot</div>',
@@ -111,9 +104,6 @@ describe('HeaderBar', () => {
111
104
  </template>
112
105
  </HeaderBar>`,
113
106
  }, {
114
- global: {
115
- plugins: [vuetify],
116
- },
117
107
  attachTo: document.body,
118
108
  })
119
109
  const text = wrapper.text()
@@ -133,9 +123,6 @@ describe('HeaderBar', () => {
133
123
  props: {
134
124
  sticky: true,
135
125
  },
136
- global: {
137
- plugins: [vuetify],
138
- },
139
126
  attachTo: document.body,
140
127
  })
141
128
  window.dispatchEvent(new CustomEvent('scroll'))
@@ -165,9 +152,6 @@ describe('HeaderBar', () => {
165
152
  props: {
166
153
  hideWhenDown: true,
167
154
  },
168
- global: {
169
- plugins: [vuetify],
170
- },
171
155
  attachTo: document.body,
172
156
  })
173
157
  window.dispatchEvent(new CustomEvent('scroll'))
@@ -1,15 +1,11 @@
1
1
  import { describe, it, expect } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
- import { vuetify } from '@tests/unit/setup'
4
3
 
5
4
  import HeaderLoading from '../HeaderLoading.vue'
6
5
 
7
6
  describe('HeaderLoading', () => {
8
7
  it('renders correctly', () => {
9
8
  const wrapper = mount(HeaderLoading, {
10
- global: {
11
- plugins: [vuetify],
12
- },
13
9
  props: {
14
10
  width: '100px',
15
11
  height: '1rem',
@@ -47,8 +47,11 @@
47
47
  const route = instance?.appContext.config.globalProperties.$route as RouteLocationNormalizedLoaded | null || null
48
48
  const router = instance?.appContext.config.globalProperties.$router as Router | null || null
49
49
 
50
- // État pour suivre l'élément actif
51
- const activeTab = ref<number>(0)
50
+ // Chemin courant réactif (prend router.currentRoute si dispo)
51
+ const currentPath = computed<string | null>(() => router?.currentRoute?.value?.path ?? route?.path ?? (typeof window !== 'undefined' ? window.location.pathname : null))
52
+
53
+ // État pour suivre l'élément actif (-1 signifie aucun onglet actif)
54
+ const activeTab = ref<number>(-1)
52
55
  const activeItemIndex = ref<number>(-1)
53
56
 
54
57
  // Convertir les items de navigation en format TabItem pour SyTabs
@@ -71,18 +74,16 @@
71
74
  return false
72
75
  }
73
76
 
74
- // Si l'élément est explicitement activé par un clic ou initialisé
75
- if (activeItemIndex.value === index) {
76
- return true
77
- }
77
+ // Ne pas court-circuiter sur l'état interne; recalculer toujours à partir de la route courante
78
78
 
79
79
  // Pour les liens internes (router-link)
80
- if (item.to && route) {
80
+ const pathNow = currentPath.value
81
+ if (item.to && pathNow) {
81
82
  // Gestion des objets de route
82
83
  if (typeof item.to === 'object') {
83
84
  // Comparer avec le chemin de la route actuelle
84
85
  const path = item.to.path || ''
85
- const isActiveRoute = route.path === path
86
+ const isActiveRoute = pathNow === path
86
87
  if (isActiveRoute) activeItemIndex.value = index
87
88
  return isActiveRoute
88
89
  }
@@ -90,7 +91,7 @@
90
91
  // Gestion des chaînes de caractères
91
92
  if (typeof item.to === 'string') {
92
93
  // Comparer exactement ou vérifier si c'est un sous-chemin
93
- const isActiveRoute = route.path === item.to || (item.to !== '/' && route.path.startsWith(item.to))
94
+ const isActiveRoute = pathNow === item.to || (item.to !== '/' && pathNow.startsWith(item.to))
94
95
  if (isActiveRoute) activeItemIndex.value = index
95
96
  return isActiveRoute
96
97
  }
@@ -174,10 +175,10 @@
174
175
  }
175
176
  }
176
177
 
177
- // Si aucun élément n'est actif, sélectionner le premier par défaut
178
- if (!foundActiveItem && props.items.length > 0) {
179
- activeItemIndex.value = 0
180
- activeTab.value = 0
178
+ // Si aucun élément n'est actif, aucun onglet ne doit être sélectionné
179
+ if (!foundActiveItem) {
180
+ activeItemIndex.value = -1
181
+ activeTab.value = -1
181
182
  }
182
183
 
183
184
  return { activeTab: activeTab.value, activeItemIndex: activeItemIndex.value }
@@ -189,21 +190,27 @@
189
190
  })
190
191
 
191
192
  // Surveiller les changements de route pour mettre à jour l'élément actif
192
- watch(() => route?.path, () => {
193
+ watch(() => currentPath.value, () => {
193
194
  // Si route est undefined, ne rien faire
194
- if (!route) return
195
+ if (!currentPath.value) return
195
196
  if (Array.isArray(props.items)) {
196
197
  // Reset activeItemIndex
197
198
  activeItemIndex.value = -1
198
199
 
199
200
  // Trouver l'élément actif basé sur la nouvelle route
201
+ let found = false
200
202
  for (let i = 0; i < props.items.length; i++) {
201
203
  if (isActive(props.items[i], i)) {
202
204
  activeItemIndex.value = i
203
205
  activeTab.value = i
206
+ found = true
204
207
  break
205
208
  }
206
209
  }
210
+ if (!found) {
211
+ activeItemIndex.value = -1
212
+ activeTab.value = -1
213
+ }
207
214
  }
208
215
  })
209
216
  </script>
@@ -1,5 +1,4 @@
1
1
  import HeaderBurgerMenu from '@/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue'
2
- import { vuetify } from '@tests/unit/setup'
3
2
  import { mount } from '@vue/test-utils'
4
3
  import { afterAll, describe, expect, it, vi } from 'vitest'
5
4
  import HeaderNavbar from '../HeaderNavigationBar.vue'
@@ -21,7 +20,6 @@ describe('HeaderNavigationBar', () => {
21
20
 
22
21
  const wrapper = mount(HeaderNavbar, {
23
22
  global: {
24
- plugins: [vuetify],
25
23
  stubs: {
26
24
  Teleport: true,
27
25
  RouterLink: true, // Stub pour éviter l'avertissement de résolution de composant
@@ -64,7 +62,6 @@ describe('HeaderNavigationBar', () => {
64
62
 
65
63
  const wrapper = mount(HeaderNavbar, {
66
64
  global: {
67
- plugins: [vuetify],
68
65
  stubs: {
69
66
  Teleport: true,
70
67
  RouterLink: true, // Stub pour éviter l'avertissement de résolution de composant
@@ -99,7 +96,6 @@ describe('HeaderNavigationBar', () => {
99
96
 
100
97
  const wrapper = mount(HeaderNavbar, {
101
98
  global: {
102
- plugins: [vuetify],
103
99
  stubs: {
104
100
  Teleport: true,
105
101
  RouterLink: true,