@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
@@ -1,14 +1,10 @@
1
1
  import { mount } from '@vue/test-utils'
2
2
  import { expect, describe, it } from 'vitest'
3
3
  import AmeliproCaptcha from '../AmeliproCaptcha.vue'
4
- import { vuetify } from '@tests/unit/setup'
5
4
 
6
5
  describe('AmeliproCaptcha', () => {
7
6
  it('render correctly', async () => {
8
7
  const wrapper = mount(AmeliproCaptcha, {
9
- global: {
10
- plugins: [vuetify],
11
- },
12
8
  props: {
13
9
  modelValue: {
14
10
  audioSrc: 'myAudioFile',
@@ -189,11 +189,17 @@ exports[`AmeliproCaptcha > render correctly 1`] = `
189
189
  >
190
190
  <!---->
191
191
  <div
192
- class="v-progress-linear__background"
192
+ class="
193
+ bg-ap-blue-darken-1
194
+ v-progress-linear__background
195
+ "
193
196
  style="opacity: NaN;"
194
197
  ></div>
195
198
  <div
196
- class="v-progress-linear__buffer"
199
+ class="
200
+ bg-ap-blue-darken-1
201
+ v-progress-linear__buffer
202
+ "
197
203
  style="
198
204
  opacity: NaN;
199
205
  width: 0%;
@@ -207,10 +213,12 @@ exports[`AmeliproCaptcha > render correctly 1`] = `
207
213
  >
208
214
  <div class="v-progress-linear__indeterminate">
209
215
  <div class="
216
+ bg-ap-blue-darken-1
210
217
  long
211
218
  v-progress-linear__indeterminate
212
219
  "></div>
213
220
  <div class="
221
+ bg-ap-blue-darken-1
214
222
  short
215
223
  v-progress-linear__indeterminate
216
224
  "></div>
@@ -0,0 +1,402 @@
1
+ import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import AmeliproCard from '../AmeliproCard.vue'
4
+ import type { ComponentProps } from 'vue-component-type-helpers'
5
+ import { DisplayTestComponent } from '@tests/helpers/utils'
6
+ import type { ExpectedPropOptions } from '@tests/types'
7
+ import TestHelper from '@tests/helpers/TestHelper'
8
+ // import * as vuetifyDisplay from 'vuetify/lib/framework.mjs' // adapte le chemin si besoin
9
+
10
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproCard> = {
11
+ borderColor: {
12
+ type: String,
13
+ default: 'ap-grey-lighten-2',
14
+ },
15
+ bordered: {
16
+ type: Boolean,
17
+ default: true,
18
+ },
19
+ cardColor: {
20
+ type: String,
21
+ default: 'ap-white',
22
+ },
23
+ cardTitle: {
24
+ type: String,
25
+ default: undefined,
26
+ },
27
+ classes: {
28
+ type: String,
29
+ default: undefined,
30
+ },
31
+ contentClasses: {
32
+ type: String,
33
+ default: undefined,
34
+ },
35
+ divider: {
36
+ type: Boolean,
37
+ default: true,
38
+ },
39
+ headerRightWidth: {
40
+ type: String,
41
+ default: '50%',
42
+ },
43
+ noCardHeader: {
44
+ type: Boolean,
45
+ default: false,
46
+ },
47
+ rightPart: {
48
+ type: Boolean,
49
+ default: false,
50
+ },
51
+ rightPartClasses: {
52
+ type: String,
53
+ default: undefined,
54
+ },
55
+ rightPartWidth: {
56
+ type: String,
57
+ default: '25%',
58
+ },
59
+ titleColor: {
60
+ type: String,
61
+ default: 'ap-grey-darken-1',
62
+ },
63
+ titleLevel: {
64
+ type: Number,
65
+ default: 2,
66
+ },
67
+ uniqueId: {
68
+ type: String,
69
+ default: undefined,
70
+ },
71
+ }
72
+
73
+ // Values pour les props "required"
74
+ const requiredPropValues = (): ComponentProps<typeof AmeliproCard> => ({})
75
+
76
+ // Valeurs pour les props "modified"
77
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproCard> => ({
78
+ borderColor: 'ap-red lighten-2',
79
+ bordered: false,
80
+ cardColor: 'ap-red',
81
+ cardTitle: 'Modified card title',
82
+ classes: 'modified-classe-1 modified-classe-2',
83
+ contentClasses: 'modified-content-classe-1 modified-content-classe-2',
84
+ divider: false,
85
+ headerRightWidth: '100px',
86
+ noCardHeader: true,
87
+ rightPart: true,
88
+ rightPartClasses: 'modified-right-part-classe-1 modified-right-part-classe-2',
89
+ rightPartWidth: '50px',
90
+ titleColor: 'ap-yellow-darken-1',
91
+ titleLevel: 1,
92
+ uniqueId: 'modified-unique-id',
93
+ })
94
+
95
+ const displayWrapper = mount(DisplayTestComponent)
96
+ const testHelper = new TestHelper(AmeliproCard)
97
+ testHelper.setExpectedPropOptions(expectedPropOptions)
98
+ .setRequiredPropValues(requiredPropValues)
99
+ .setModifiedPropValues(modifiedPropValues)
100
+
101
+ describe('AmeliproCard', () => {
102
+ describe('Snapshots', () => {
103
+ testHelper.snapshots()
104
+ })
105
+ describe('Properties', () => {
106
+ testHelper.properties()
107
+ })
108
+
109
+ describe('Setting props should update attributes of inner tags', () => {
110
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproCard>>
111
+
112
+ beforeEach(() => {
113
+ vueWrapper = shallowMount(AmeliproCard, { props: requiredPropValues() })
114
+ })
115
+
116
+ describe('root', () => {
117
+ it('prop uniqueId sets attribute id', async () => {
118
+ expect(vueWrapper.attributes('id')).toBeUndefined()
119
+
120
+ const { uniqueId } = modifiedPropValues()
121
+ await vueWrapper.setProps({ uniqueId })
122
+ expect(vueWrapper.attributes('id')).toBe('modified-unique-id-container')
123
+ })
124
+
125
+ it('prop classes sets attribute class', async () => {
126
+ expect(vueWrapper.attributes('class')).toBe('amelipro-card w-100 d-flex flex-column flex-md-row')
127
+
128
+ const { classes } = modifiedPropValues()
129
+ await vueWrapper.setProps({ classes })
130
+ expect(vueWrapper.attributes('class')).toBe('amelipro-card w-100 d-flex flex-column flex-md-row modified-classe-1 modified-classe-2')
131
+ })
132
+
133
+ it('props borderColor, bordered & cardColor set attribute style', async () => {
134
+ expect(vueWrapper.attributes('style')).toBe('background-color: #FFFFFF; border: 1px solid #DDDEDE;')
135
+
136
+ const { borderColor, bordered, cardColor } = modifiedPropValues()
137
+ await vueWrapper.setProps({ borderColor })
138
+ expect(vueWrapper.attributes('style')).toBe('background-color: #FFFFFF; border: 1px solid #B33F2E;')
139
+
140
+ await vueWrapper.setProps({ bordered })
141
+ expect(vueWrapper.attributes('style')).toBe('background-color: #FFFFFF;')
142
+
143
+ await vueWrapper.setProps({ cardColor })
144
+ expect(vueWrapper.attributes('style')).toBe('background-color: #B33F2E;')
145
+ })
146
+ })
147
+
148
+ describe('left part', () => {
149
+ it('prop uniqueId sets attribute id', async () => {
150
+ expect(vueWrapper.find('.amelipro-card__left-part').attributes('id')).toBeUndefined()
151
+
152
+ const { uniqueId } = modifiedPropValues()
153
+ await vueWrapper.setProps({ uniqueId })
154
+ expect(vueWrapper.find('.amelipro-card__left-part').attributes('id')).toBe('modified-unique-id-left-part')
155
+ })
156
+
157
+ it('props rightPart & rightPartWidth set attribute id', async () => {
158
+ expect(vueWrapper.find('.amelipro-card__left-part').attributes('style')).toBe('width: 100%;')
159
+
160
+ const { rightPart, rightPartWidth } = modifiedPropValues()
161
+ await vueWrapper.setProps({ rightPart })
162
+ expect(vueWrapper.find('.amelipro-card__left-part').attributes('style')).toBe('width: calc( 100% - 25% ); max-width: calc( 100% - 25% ); min-width: calc( 100% - 25% );')
163
+
164
+ await vueWrapper.setProps({ rightPartWidth })
165
+ expect(vueWrapper.find('.amelipro-card__left-part').attributes('style')).toBe('width: calc( 100% - 50px ); max-width: calc( 100% - 50px ); min-width: calc( 100% - 50px );')
166
+
167
+ await vueWrapper.setProps({ rightPart: undefined })
168
+ expect(vueWrapper.find('.amelipro-card__left-part').attributes('style')).toBe('width: 100%;')
169
+ })
170
+ })
171
+
172
+ describe('header', () => {
173
+ it('prop uniqueId sets attribute id', async () => {
174
+ expect(vueWrapper.find('.amelipro-card__header').attributes('id')).toBeUndefined()
175
+
176
+ const { uniqueId } = modifiedPropValues()
177
+ await vueWrapper.setProps({ uniqueId })
178
+ expect(vueWrapper.find('.amelipro-card__header').attributes('id')).toBe('modified-unique-id-header')
179
+ })
180
+
181
+ it('props rightPart sets attribute class', async () => {
182
+ expect(vueWrapper.find('.amelipro-card__header').classes('amelipro-card__header--left')).toBe(false)
183
+
184
+ const { rightPart } = modifiedPropValues()
185
+ await vueWrapper.setProps({ rightPart })
186
+ expect(vueWrapper.find('.amelipro-card__header').classes('amelipro-card__header--left')).toBe(true)
187
+ })
188
+
189
+ it('prop noCardHeader sets tag visibility', async () => {
190
+ expect(vueWrapper.find('.amelipro-card__header').exists()).toBe(true)
191
+
192
+ const { noCardHeader } = modifiedPropValues()
193
+
194
+ await vueWrapper.setProps({ noCardHeader })
195
+ expect(vueWrapper.find('.amelipro-card__header').exists()).toBe(false)
196
+ })
197
+ })
198
+
199
+ describe('header content', () => {
200
+ it('prop divider sets attribute style', async () => {
201
+ expect(vueWrapper.find('.amelipro-card__header-content').attributes('style')).toBe('border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #DDDEDE;')
202
+
203
+ const { divider } = modifiedPropValues()
204
+ await vueWrapper.setProps({ divider })
205
+ expect(vueWrapper.find('.amelipro-card__header-content').attributes('style')).toBeUndefined()
206
+ })
207
+ })
208
+
209
+ describe('header slot wrapper left', () => {
210
+ beforeEach(() => {
211
+ vueWrapper = shallowMount(AmeliproCard, {
212
+ props: requiredPropValues(),
213
+ slots: { headerRight: 'Header Right Slot Content' },
214
+ })
215
+ })
216
+
217
+ it('prop uniqueId sets attribute id', async () => {
218
+ expect(vueWrapper.find('.amelipro-card__header-slot-wrapper--left').attributes('id')).toBeUndefined()
219
+
220
+ const { uniqueId } = modifiedPropValues()
221
+ await vueWrapper.setProps({ uniqueId })
222
+ expect(vueWrapper.find('.amelipro-card__header-slot-wrapper--left').attributes('id')).toBe('modified-unique-id-header-left-part')
223
+ })
224
+
225
+ it.skip('prop headerRightWidth & slot headerRight set attribute style', async () => {
226
+ // TODO: à réparer (problème de propagation mdAndUp ou slot)
227
+ // Par défaut, mdAndUp est false, donc width: 100%
228
+ await displayWrapper.vm.setMdAndUp(false)
229
+ expect(vueWrapper.find('.amelipro-card__header-slot-wrapper--left').attributes('style')).toBe('width: 100%;')
230
+
231
+ // Quand mdAndUp passe à true, width doit être en calc(...)
232
+ await displayWrapper.vm.setMdAndUp(true)
233
+ expect(vueWrapper.find('.amelipro-card__header-slot-wrapper--left').attributes('style')).toBe('width: calc(100% - (50% + 10px)); margin-right: 10px;')
234
+
235
+ // Si on change la prop headerRightWidth, le style doit s'adapter
236
+ const { headerRightWidth } = modifiedPropValues()
237
+ await vueWrapper.setProps({ headerRightWidth })
238
+ expect(vueWrapper.find('.amelipro-card__header-slot-wrapper--left').attributes('style')).toBe('width: calc(100% - (100px + 10px)); margin-right: 10px;')
239
+ })
240
+ })
241
+
242
+ describe('title', () => {
243
+ beforeEach(() => {
244
+ vueWrapper = shallowMount(AmeliproCard, {
245
+ props: requiredPropValues(),
246
+ slots: { headerRight: 'Header Right Slot Content' },
247
+ })
248
+ })
249
+
250
+ it('prop cardTitle sets title visiblity', async () => {
251
+ expect(vueWrapper.find('.amelipro-card__title').exists()).toBe(false)
252
+
253
+ const { cardTitle } = modifiedPropValues()
254
+ await vueWrapper.setProps({ cardTitle })
255
+ expect(vueWrapper.find('.amelipro-card__title').exists()).toBe(true)
256
+ })
257
+
258
+ it('prop uniqueId sets attribute id', async () => {
259
+ const { cardTitle, uniqueId } = modifiedPropValues()
260
+ await vueWrapper.setProps({ cardTitle })
261
+
262
+ expect(vueWrapper.find('.amelipro-card__title').attributes('id')).toBeUndefined()
263
+
264
+ await vueWrapper.setProps({ uniqueId })
265
+ expect(vueWrapper.find('.amelipro-card__title').attributes('id')).toBe('modified-unique-id-title')
266
+ })
267
+
268
+ it('prop titleColor sets attribute style', async () => {
269
+ const { cardTitle, titleColor } = modifiedPropValues()
270
+ await vueWrapper.setProps({ cardTitle })
271
+
272
+ expect(vueWrapper.find('.amelipro-card__title').attributes('style')).toBe('color: #1A1B1B;')
273
+
274
+ await vueWrapper.setProps({ titleColor })
275
+ expect(vueWrapper.find('.amelipro-card__title').attributes('style')).toBe('color: #D8A120;')
276
+ })
277
+
278
+ it('prop titleLevel sets attribute aria-level', async () => {
279
+ const { cardTitle, titleLevel } = modifiedPropValues()
280
+ await vueWrapper.setProps({ cardTitle })
281
+
282
+ expect(vueWrapper.find('.amelipro-card__title').attributes('aria-level')).toBe('2')
283
+
284
+ await vueWrapper.setProps({ titleLevel })
285
+ expect(vueWrapper.find('.amelipro-card__title').attributes('aria-level')).toBe('1')
286
+ })
287
+ })
288
+
289
+ describe('header slot wrapper right', () => {
290
+ beforeEach(() => {
291
+ vueWrapper = shallowMount(AmeliproCard, {
292
+ props: requiredPropValues(),
293
+ slots: { headerRight: 'Header Right Slot Content' },
294
+ })
295
+ })
296
+
297
+ it('prop uniqueId sets attribute id', async () => {
298
+ expect(vueWrapper.find('.amelipro-card__header__slot-wrapper--right').attributes('id')).toBeUndefined()
299
+
300
+ const { uniqueId } = modifiedPropValues()
301
+ await vueWrapper.setProps({ uniqueId })
302
+ expect(vueWrapper.find('.amelipro-card__header__slot-wrapper--right').attributes('id')).toBe('modified-unique-id-header-right-part')
303
+ })
304
+
305
+ it.skip('prop headerRightWidth & slot headerRight set attribute style', async () => {
306
+ // TODO: à réparer (problème de propagation mdAndUp ou slot)
307
+ await displayWrapper.vm.setMdAndUp(false)
308
+ expect(vueWrapper.find('.amelipro-card__header__slot-wrapper--right').attributes('style')).toBe('width: 100%;')
309
+
310
+ await displayWrapper.vm.setMdAndUp(true)
311
+ expect(vueWrapper.find('.amelipro-card__header__slot-wrapper--right').attributes('style')).toBe('width: calc(50% - 10px); margin-left: 10px;')
312
+
313
+ const { headerRightWidth } = modifiedPropValues()
314
+ await vueWrapper.setProps({ headerRightWidth })
315
+ expect(vueWrapper.find('.amelipro-card__header__slot-wrapper--right').attributes('style')).toBe('width: calc(90px); margin-left: 10px;')
316
+ })
317
+ })
318
+
319
+ describe('content', () => {
320
+ it('prop uniqueId sets attribute id', async () => {
321
+ expect(vueWrapper.find('.amelipro-card__content').attributes('id')).toBeUndefined()
322
+
323
+ const { uniqueId } = modifiedPropValues()
324
+ await vueWrapper.setProps({ uniqueId })
325
+ expect(vueWrapper.find('.amelipro-card__content').attributes('id')).toBe('modified-unique-id-content')
326
+ })
327
+
328
+ it('props contentClasses & rightPart set attribute class', async () => {
329
+ expect(vueWrapper.find('.amelipro-card__content').attributes('class')).toBe('amelipro-card__content')
330
+
331
+ const { contentClasses, rightPart } = modifiedPropValues()
332
+ await vueWrapper.setProps({ rightPart })
333
+ expect(vueWrapper.find('.amelipro-card__content').classes('amelipro-card__content--left')).toBe(true)
334
+
335
+ await vueWrapper.setProps({ contentClasses })
336
+ expect(vueWrapper.find('.amelipro-card__content').classes('amelipro-card__content--left')).toBe(true)
337
+ expect(vueWrapper.find('.amelipro-card__content').classes('modified-content-classe-1')).toBe(true)
338
+ expect(vueWrapper.find('.amelipro-card__content').classes('modified-content-classe-2')).toBe(true)
339
+
340
+ await vueWrapper.setProps({ rightPart: false })
341
+ expect(vueWrapper.find('.amelipro-card__content').classes('amelipro-card__content--left')).toBe(false)
342
+ expect(vueWrapper.find('.amelipro-card__content').classes('modified-content-classe-1')).toBe(true)
343
+ expect(vueWrapper.find('.amelipro-card__content').classes('modified-content-classe-2')).toBe(true)
344
+ })
345
+ })
346
+
347
+ describe('right part', () => {
348
+ it('prop cardTitle sets right part visiblity', async () => {
349
+ expect(vueWrapper.find('.amelipro-card__right-part').exists()).toBe(false)
350
+
351
+ const { rightPart } = modifiedPropValues()
352
+ await vueWrapper.setProps({ rightPart })
353
+ expect(vueWrapper.find('.amelipro-card__right-part').exists()).toBe(true)
354
+ })
355
+
356
+ it('prop uniqueId sets attribute id', async () => {
357
+ const { rightPart, uniqueId } = modifiedPropValues()
358
+ await vueWrapper.setProps({ rightPart })
359
+
360
+ expect(vueWrapper.find('.amelipro-card__right-part').attributes('id')).toBeUndefined()
361
+
362
+ await vueWrapper.setProps({ uniqueId })
363
+ expect(vueWrapper.find('.amelipro-card__right-part').attributes('id')).toBe('modified-unique-id-right-part')
364
+ })
365
+
366
+ it('props rightPart & rightPartWidth set attribute style', async () => {
367
+ const { rightPart, rightPartWidth } = modifiedPropValues()
368
+ await vueWrapper.setProps({ rightPart })
369
+
370
+ expect(vueWrapper.find('.amelipro-card__right-part').attributes('style')).toBe('max-width: 25%; min-width: 25%; width: 25%;')
371
+
372
+ await vueWrapper.setProps({ rightPartWidth })
373
+ expect(vueWrapper.find('.amelipro-card__right-part').attributes('style')).toBe('max-width: 50px; min-width: 50px; width: 50px;')
374
+ })
375
+ })
376
+ })
377
+
378
+ describe('Slots', () => {
379
+ it('displays headerRight slot content when hasRightSlot is true', async () => {
380
+ const wrapper = mount(AmeliproCard, {
381
+ props: requiredPropValues(),
382
+ slots: { headerRight: '<div id="header-right-slot-content">Header Right Slot Content</div>' },
383
+ })
384
+
385
+ const slotContent = await wrapper.find('#header-right-slot-content')
386
+ expect(slotContent.text()).toBe('Header Right Slot Content')
387
+ })
388
+
389
+ it('displays right part content when rightPart prop is true', async () => {
390
+ const rightPartContent = 'This is the right part content.'
391
+
392
+ const wrapper = mount(AmeliproCard, {
393
+ props: { ...requiredPropValues(), rightPart: true },
394
+ slots: { rightPartContent },
395
+ })
396
+
397
+ // await wrapper.setProps({ rightPart: true });
398
+ const rightPartElement = await wrapper.find('.amelipro-card__right-part')
399
+ expect(rightPartElement.text()).toBe(rightPartContent)
400
+ })
401
+ })
402
+ })
@@ -0,0 +1,106 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproCard > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <div
5
+ class="
6
+ amelipro-card
7
+ d-flex
8
+ flex-column
9
+ flex-md-row
10
+ modified-classe-1
11
+ modified-classe-2
12
+ w-100
13
+ "
14
+ id="modified-unique-id-container"
15
+ style="background-color: #B33F2E;"
16
+ >
17
+ <div
18
+ class="amelipro-card__left-part"
19
+ id="modified-unique-id-left-part"
20
+ style="
21
+ max-width: calc( 100% - 50px );
22
+ min-width: calc( 100% - 50px );
23
+ width: calc( 100% - 50px );
24
+ "
25
+ >
26
+ <!-- v-if -->
27
+ <div
28
+ class="
29
+ amelipro-card__content
30
+ amelipro-card__content--left
31
+ modified-content-classe-1
32
+ modified-content-classe-2
33
+ "
34
+ id="modified-unique-id-content"
35
+ ></div>
36
+ </div>
37
+ <div
38
+ class="amelipro-card__right-part"
39
+ id="modified-unique-id-right-part"
40
+ style="
41
+ max-width: 50px;
42
+ min-width: 50px;
43
+ width: 50px;
44
+ "
45
+ >
46
+ <div class="
47
+ amelipro-card__right-part-content
48
+ modified-right-part-classe-1
49
+ modified-right-part-classe-2
50
+ w-100
51
+ "></div>
52
+ </div>
53
+ </div>
54
+ `;
55
+
56
+ exports[`AmeliproCard > Snapshots > renders the component with only required properties filled in 1`] = `
57
+ <div
58
+ class="
59
+ amelipro-card
60
+ d-flex
61
+ flex-column
62
+ flex-md-row
63
+ w-100
64
+ "
65
+ style="
66
+ background-color: #FFFFFF;
67
+ border: 1px solid #DDDEDE;
68
+ "
69
+ >
70
+ <div
71
+ class="amelipro-card__left-part"
72
+ style="width: 100%;"
73
+ >
74
+ <div class="
75
+ amelipro-card__header
76
+ w-100
77
+ ">
78
+ <div
79
+ class="
80
+ align-sm-center
81
+ amelipro-card__header-content
82
+ d-flex
83
+ flex-column
84
+ flex-sm-row
85
+ w-100
86
+ "
87
+ style="
88
+ border-bottom-width: 1px;
89
+ border-bottom-style: solid;
90
+ border-bottom-color: #DDDEDE;
91
+ "
92
+ >
93
+ <div
94
+ class="amelipro-card__header-slot-wrapper--left"
95
+ style="width: 100%;"
96
+ >
97
+ <!-- v-if -->
98
+ </div>
99
+ <!-- v-if -->
100
+ </div>
101
+ </div>
102
+ <div class="amelipro-card__content"></div>
103
+ </div>
104
+ <!-- v-if -->
105
+ </div>
106
+ `;
@@ -6,7 +6,9 @@ import AmeliproCarousel from './AmeliproCarousel.vue'
6
6
  const meta = {
7
7
  argTypes: {
8
8
  '`${uniqueId}-slot-item-${index}`': { description: 'Slots générés automatiquement pour chaque slide, l’id est celui du carrousel et index est la position de la slide' },
9
+ 'defaultSlide': { description: 'Numéro de la slide à afficher au chargement du composant' },
9
10
  'duration': { description: 'Durée de transition entre les slides du carrousel en secondes' },
11
+ 'hideDisabledBtn': { description: 'Permet de masquer les boutons précédents et suivant quand ils sont désactivés' },
10
12
  'infiniteRotation': { description: 'Booléen permettant de faire boucler les slides du carrousel' },
11
13
  'item': { description: 'Slots générés automatiquement pour chaque slide, afin de donner le même aspect à tous les items' },
12
14
  'items': {
@@ -6,10 +6,18 @@
6
6
  import type { IndexedObject } from '../types'
7
7
 
8
8
  const props = defineProps({
9
+ defaultSlide: {
10
+ type: Number,
11
+ default: 0,
12
+ },
9
13
  duration: {
10
14
  type: Number,
11
15
  default: 0.3,
12
16
  },
17
+ hideDisabledBtn: {
18
+ type: Boolean,
19
+ default: false,
20
+ },
13
21
  infiniteRotation: {
14
22
  type: Boolean,
15
23
  default: false,
@@ -37,7 +45,7 @@
37
45
  })
38
46
 
39
47
  const ameliproCarouselItems = ref<AmeliproCarouselListItem[]>()
40
- const currentElement = ref(0)
48
+ const currentElement = ref(props.defaultSlide)
41
49
 
42
50
  const carouselTrackStyles = computed<IndexedObject>(() => {
43
51
  const styles: IndexedObject = {
@@ -120,6 +128,7 @@
120
128
  class="carousel"
121
129
  >
122
130
  <AmeliproIconBtn
131
+ v-show="infiniteRotation || currentElement !== 0 || (currentElement === 0 && !hideDisabledBtn)"
123
132
  :aria-controls="`${uniqueId}-items`"
124
133
  :btn-title="labelPreviousBtn"
125
134
  class="btn-previous"
@@ -136,6 +145,7 @@
136
145
  />
137
146
 
138
147
  <AmeliproIconBtn
148
+ v-show="infiniteRotation || currentElement !== items.length - 1 || (currentElement === items.length - 1 && !hideDisabledBtn)"
139
149
  :aria-controls="`${uniqueId}-items`"
140
150
  :btn-title="labelNextBtn"
141
151
  class="btn-next"
@@ -1,14 +1,10 @@
1
1
  import { mount } from '@vue/test-utils'
2
2
  import { expect, describe, it } from 'vitest'
3
3
  import AmeliproCarouselItem from '../AmeliproCarouselItem.vue'
4
- import { vuetify } from '@tests/unit/setup'
5
4
 
6
5
  describe('AmeliproCarouselItem', () => {
7
6
  it('render correctly', async () => {
8
7
  const wrapper = mount(AmeliproCarouselItem, {
9
- global: {
10
- plugins: [vuetify],
11
- },
12
8
  props: {
13
9
  href: 'modified-href',
14
10
  imgAlt: 'modified-img-alt',
@@ -1,14 +1,10 @@
1
1
  import { mount } from '@vue/test-utils'
2
2
  import { expect, describe, it } from 'vitest'
3
3
  import AmeliproCarousel from '../AmeliproCarousel.vue'
4
- import { vuetify } from '@tests/unit/setup'
5
4
 
6
5
  describe('AmeliproCarousel', () => {
7
6
  it('render correctly', async () => {
8
7
  const wrapper = mount(AmeliproCarousel, {
9
- global: {
10
- plugins: [vuetify],
11
- },
12
8
  props: {
13
9
  items: [
14
10
  {
@@ -237,7 +237,6 @@ exports[`AmeliproCarousel > render correctly 1`] = `
237
237
  v-btn--variant-elevated
238
238
  v-theme--light
239
239
  "
240
- disabled="true"
241
240
  href="href item 2"
242
241
  id="carousel-unique-id-item-1-btn"
243
242
  tabindex="-1"
@@ -282,7 +281,6 @@ exports[`AmeliproCarousel > render correctly 1`] = `
282
281
  v-btn--variant-elevated
283
282
  v-theme--light
284
283
  "
285
- disabled="true"
286
284
  href="href item 3"
287
285
  id="carousel-unique-id-item-2-btn"
288
286
  tabindex="-1"
@@ -1,14 +1,10 @@
1
1
  import { mount } from '@vue/test-utils'
2
2
  import { expect, describe, it } from 'vitest'
3
3
  import AmeliproCheckbox from '../AmeliproCheckbox.vue'
4
- import { vuetify } from '@tests/unit/setup'
5
4
 
6
5
  describe('AmeliproCheckbox', () => {
7
6
  it('render correctly', async () => {
8
7
  const wrapper = mount(AmeliproCheckbox, {
9
- global: {
10
- plugins: [vuetify],
11
- },
12
8
  props: {
13
9
  checkbox: {
14
10
  label: 'Exemple de checkbox',