@cnamts/synapse 1.0.12 → 1.0.14

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 (339) hide show
  1. package/README.md +0 -0
  2. package/dist/{DateFilter-DoCcOfDW.js → DateFilter-isr8mXVb.js} +1 -1
  3. package/dist/{NumberFilter-9uR8uo6p.js → NumberFilter-BOe7DqWX.js} +1 -1
  4. package/dist/{PeriodFilter-CxN5ini7.js → PeriodFilter-WTprpO40.js} +1 -1
  5. package/dist/{SelectFilter-bfxipgvt.js → SelectFilter-CqlG5dmI.js} +1 -1
  6. package/dist/{TextFilter-yCnWcmW2.js → TextFilter-fVW5bsRw.js} +1 -1
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +1 -1
  8. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +1 -1
  9. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +1 -1
  10. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +1 -1
  11. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +104 -90
  12. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.d.ts +3 -3
  14. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
  15. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -5
  16. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  17. package/dist/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.d.ts +1 -1
  18. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +24 -32
  19. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +36 -48
  20. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +104 -90
  21. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +105 -91
  22. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +5 -5
  23. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +15 -17
  24. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +1 -1
  25. package/dist/components/Captcha/Captcha.d.ts +70 -0
  26. package/dist/components/Captcha/CaptchaAlert.d.ts +13 -0
  27. package/dist/components/Captcha/CaptchaBase.d.ts +56 -0
  28. package/dist/components/Captcha/CaptchaBtn.d.ts +12 -0
  29. package/dist/components/Captcha/CaptchaForm.d.ts +16 -0
  30. package/dist/components/Captcha/CaptchaImg.d.ts +12 -0
  31. package/dist/components/Captcha/CaptchaInformation.d.ts +20 -0
  32. package/dist/components/Captcha/captchaApi.d.ts +41 -0
  33. package/dist/components/Captcha/icons/volumeUp.d.ts +2 -0
  34. package/dist/components/Captcha/locales.d.ts +35 -0
  35. package/dist/components/Captcha/types.d.ts +2 -0
  36. package/dist/components/ChipList/ChipList.d.ts +2 -2
  37. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +31 -19
  38. package/dist/components/Customs/SyForm/SyForm.d.ts +6 -3
  39. package/dist/components/Customs/SyTabs/SyTabs.d.ts +20 -0
  40. package/dist/components/Customs/SyTextField/SyTextField.d.ts +13 -17
  41. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +156 -74
  42. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +127 -57
  43. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +18 -17
  44. package/dist/components/DatePicker/composables/useDateFormatDisplay.d.ts +3 -0
  45. package/dist/components/DatePicker/tests/setup.d.ts +1216 -560
  46. package/dist/components/FilterSideBar/FilterSideBar.d.ts +8 -0
  47. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +62 -38
  48. package/dist/components/LangBtn/LangBtn.d.ts +4 -0
  49. package/dist/components/NirField/NirField.d.ts +29 -34
  50. package/dist/components/NirField/locales.d.ts +1 -3
  51. package/dist/components/PasswordField/PasswordField.d.ts +2 -0
  52. package/dist/components/PeriodField/PeriodField.d.ts +304 -140
  53. package/dist/components/PhoneField/PhoneField.d.ts +13 -17
  54. package/dist/components/RatingPicker/RatingPicker.d.ts +9 -0
  55. package/dist/components/SearchListField/SearchListField.d.ts +42 -413
  56. package/dist/components/SearchListField/locales.d.ts +1 -2
  57. package/dist/components/SyAlert/SyAlert.d.ts +1 -1
  58. package/dist/components/SyTextArea/SyTextArea.d.ts +2 -4
  59. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +15 -8
  60. package/dist/components/Tables/SyTable/SyTable.d.ts +15 -8
  61. package/dist/components/Tables/common/SyTablePagination.d.ts +31 -19
  62. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +4 -0
  63. package/dist/components/Tables/common/types.d.ts +2 -0
  64. package/dist/components/index.d.ts +1 -0
  65. package/dist/composables/validation/useFormValidation.d.ts +10 -0
  66. package/dist/composables/validation/useValidatable.d.ts +10 -2
  67. package/dist/design-system-v3.js +126 -125
  68. package/dist/design-system-v3.umd.cjs +168 -152
  69. package/dist/main-CbBVJ_le.js +34377 -0
  70. package/dist/style.css +1 -1
  71. package/package.json +5 -2
  72. package/src/assets/amelipro/icons.ts +17 -0
  73. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.stories.ts +40 -36
  74. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +226 -26
  75. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/__snapshots__/AmeliproAccordionGroup.spec.ts.snap +55 -506
  76. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +1 -1
  77. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +7 -2
  78. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +2 -1
  79. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +4 -1
  80. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +4 -1
  81. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +1 -1
  82. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +9 -3
  83. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +42 -11
  84. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +4 -4
  85. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +7 -5
  86. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +4 -2
  87. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.stories.ts +1 -40
  88. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.vue +4 -0
  89. package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.stories.ts +4 -2
  90. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +2 -1
  91. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +39 -29
  92. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +4 -1
  93. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +3 -3
  94. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +8 -6
  95. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.mdx +3 -1
  96. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.stories.ts +23 -5
  97. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +5 -6
  98. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +2 -2
  99. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +5 -6
  100. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +4 -1
  101. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +6 -7
  102. package/src/components/Amelipro/AmeliproFooter/__tests__/AmeliproFooter.spec.ts +787 -0
  103. package/src/components/Amelipro/AmeliproFooter/__tests__/__snapshots__/AmeliproFooter.spec.ts.snap +318 -0
  104. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +1 -2
  105. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/AmeliproHeaderBrandSection.spec.ts +167 -0
  106. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +100 -0
  107. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/__tests__/AmeliproLogoAm.spec.ts +78 -0
  108. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/{tests → __tests__}/__snapshots__/AmeliproLogoAm.spec.ts.snap +64 -2
  109. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/AmeliproHeaderBar.spec.ts +312 -0
  110. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/__snapshots__/AmeliproHeaderBar.spec.ts.snap +98 -0
  111. package/src/components/Amelipro/AmeliproHeader/__tests__/AmeliproHeader.spec.ts +361 -0
  112. package/src/components/Amelipro/AmeliproHeader/__tests__/__snapshots__/AmeliproHeader.spec.ts.snap +22 -0
  113. package/src/components/Amelipro/AmeliproIcon/__tests__/AmeliproIcon.spec.ts +358 -0
  114. package/src/components/Amelipro/AmeliproIcon/{tests → __tests__}/__snapshots__/AmeliproIcon.spec.ts.snap +30 -3
  115. package/src/components/Amelipro/AmeliproIcon/iconList.ts +1 -0
  116. package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.vue +1 -1
  117. package/src/components/Amelipro/AmeliproIconBtn/__tests__/AmeliproIconBtn.spec.ts +459 -0
  118. package/src/components/Amelipro/AmeliproIconBtn/__tests__/__snapshots__/AmeliproIconBtn.spec.ts.snap +58 -0
  119. package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.stories.ts +38 -26
  120. package/src/components/Amelipro/AmeliproIllustratedDataTile/__tests__/AmeliproIllustratedDataTile.spec.ts +321 -0
  121. package/src/components/Amelipro/AmeliproIllustratedDataTile/__tests__/__snapshots__/AmeliproIllustratedDataTile.spec.ts.snap +148 -0
  122. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +14 -5
  123. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +1 -1
  124. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +498 -0
  125. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +325 -0
  126. package/src/components/Amelipro/AmeliproMailTile/__tests__/AmeliproMailTile.spec.ts +210 -0
  127. package/src/components/Amelipro/AmeliproMailTile/__tests__/__snapshots__/AmeliproMailTile.spec.ts.snap +98 -0
  128. package/src/components/Amelipro/AmeliproMenu/__tests__/AmeliproMenu.spec.ts +168 -0
  129. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +295 -0
  130. package/src/components/Amelipro/AmeliproMessage/__tests__/AmeliproMessage.spec.ts +446 -0
  131. package/src/components/Amelipro/AmeliproMessage/__tests__/__snapshots__/AmeliproMessage.spec.ts.snap +60 -0
  132. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/AmeliproDropdownMenuBtn.spec.ts +128 -0
  133. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +67 -0
  134. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/AmeliproDropdownMenu.spec.ts +266 -0
  135. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +134 -0
  136. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/AmeliproMessagingMenuBtn.spec.ts +72 -0
  137. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +71 -0
  138. package/src/components/Amelipro/AmeliproMessagingLayout/__tests__/AmeliproMessagingLayout.spec.ts +300 -0
  139. package/src/components/Amelipro/AmeliproMessagingLayout/__tests__/__snapshots__/AmeliproMessagingLayout.spec.ts.snap +197 -0
  140. package/src/components/Amelipro/AmeliproNumberedCard/__tests__/AmeliproNumberedCard.spec.ts +117 -0
  141. package/src/components/Amelipro/AmeliproNumberedCard/{tests → __tests__}/__snapshots__/AmeliproNumberedCard.spec.ts.snap +47 -45
  142. package/src/components/Amelipro/AmeliproOnboarding/__tests__/AmeliproOnboarding.spec.ts +219 -0
  143. package/src/components/Amelipro/AmeliproOnboarding/__tests__/__snapshots__/AmeliproOnboarding.spec.ts.snap +41 -0
  144. package/src/components/Amelipro/AmeliproPageLayout/__tests__/AmeliproPageLayout.spec.ts +129 -0
  145. package/src/components/Amelipro/AmeliproPageLayout/__tests__/__snapshots__/AmeliproPageLayout.spec.ts.snap +189 -0
  146. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/__tests__/AmeliproPaginationBtn.spec.ts +92 -0
  147. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/__tests__/__snapshots__/AmeliproPaginationBtn.spec.ts.snap +56 -0
  148. package/src/components/Amelipro/AmeliproPagination/__tests__/AmeliproPagination.spec.ts +165 -0
  149. package/src/components/Amelipro/AmeliproPagination/__tests__/__snapshots__/AmeliproPagination.spec.ts.snap +83 -0
  150. package/src/components/Amelipro/AmeliproPatientBanner/__tests__/AmeliproPatientBanner.spec.ts +208 -0
  151. package/src/components/Amelipro/AmeliproPatientBanner/__tests__/__snapshots__/AmeliproPatientBanner.spec.ts.snap +285 -0
  152. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +26 -7
  153. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +12 -4
  154. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +28 -8
  155. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +332 -0
  156. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +255 -0
  157. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +1 -2
  158. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +3 -1
  159. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -1
  160. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +11 -5
  161. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +481 -0
  162. package/src/components/Amelipro/AmeliproSelect/__tests__/__snapshots__/AmeliproSelect.spec.ts.snap +117 -0
  163. package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.vue +5 -2
  164. package/src/components/Amelipro/AmeliproStateTile/__tests__/AmeliproStateTile.spec.ts +206 -0
  165. package/src/components/Amelipro/AmeliproStateTile/__tests__/__snapshots__/AmeliproStateTile.spec.ts.snap +158 -0
  166. package/src/components/Amelipro/AmeliproStatus/__tests__/AmeliproStatus.spec.ts +120 -0
  167. package/src/components/Amelipro/AmeliproStatus/__tests__/__snapshots__/AmeliproStatus.spec.ts.snap +39 -0
  168. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/__tests__/AmeliproStepBtn.spec.ts +97 -0
  169. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/__tests__/__snapshots__/AmeliproStepBtn.spec.ts.snap +61 -0
  170. package/src/components/Amelipro/AmeliproStepper/__tests__/AmeliproStepper.spec.ts +248 -0
  171. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +179 -0
  172. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +14 -13
  173. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -1
  174. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +10 -3
  175. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/__tests__/AmeliproTabBtn.spec.ts +129 -0
  176. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/__tests__/__snapshots__/AmeliproTabBtn.spec.ts.snap +81 -0
  177. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +2 -2
  178. package/src/components/Amelipro/AmeliproTabs/__tests__/AmeliproTabs.spec.ts +234 -0
  179. package/src/components/Amelipro/AmeliproTabs/__tests__/__snapshots__/AmeliproTabs.spec.ts.snap +122 -0
  180. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +7 -5
  181. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +265 -9
  182. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +98 -155
  183. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +7 -5
  184. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +375 -0
  185. package/src/components/Amelipro/AmeliproTextField/__tests__/__snapshots__/AmeliproTextField.spec.ts.snap +143 -0
  186. package/src/components/Amelipro/AmeliproTileBtn/__tests__/AmeliproTileBtn.spec.ts +241 -0
  187. package/src/components/Amelipro/AmeliproTileBtn/__tests__/__snapshots__/AmeliproTileBtn.spec.ts.snap +74 -0
  188. package/src/components/Amelipro/AmeliproTooltips/__tests__/AmeliproTooltips.spec.ts +212 -0
  189. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +71 -0
  190. package/src/components/Amelipro/AmeliproTransmission/__tests__/AmeliproTransmission.spec.ts +155 -0
  191. package/src/components/Amelipro/AmeliproTransmission/__tests__/__snapshots__/AmeliproTransmission.spec.ts.snap +240 -0
  192. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +0 -1
  193. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +4 -1
  194. package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +4 -0
  195. package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +4 -5
  196. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +5 -4
  197. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +13 -6
  198. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -1
  199. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +4 -1
  200. package/src/components/Captcha/Captcha.mdx +72 -0
  201. package/src/components/Captcha/Captcha.stories.ts +283 -0
  202. package/src/components/Captcha/Captcha.vue +328 -0
  203. package/src/components/Captcha/CaptchaAlert.vue +60 -0
  204. package/src/components/Captcha/CaptchaBase.vue +222 -0
  205. package/src/components/Captcha/CaptchaBtn.vue +35 -0
  206. package/src/components/Captcha/CaptchaForm.vue +58 -0
  207. package/src/components/Captcha/CaptchaImg.vue +41 -0
  208. package/src/components/Captcha/CaptchaInformation.vue +64 -0
  209. package/src/components/Captcha/captchaApi.ts +110 -0
  210. package/src/components/Captcha/icons/volumeUp.vue +11 -0
  211. package/src/components/Captcha/locales.ts +35 -0
  212. package/src/components/Captcha/readme.md +5 -0
  213. package/src/components/Captcha/tests/Captcha.spec.ts +298 -0
  214. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +716 -0
  215. package/src/components/Captcha/types.ts +2 -0
  216. package/src/components/Customs/Selects/SySelect/SySelect.vue +3 -3
  217. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +5 -0
  218. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +5 -1
  219. package/src/components/Customs/SyForm/SyForm.stories.ts +133 -23
  220. package/src/components/Customs/SyForm/SyForm.vue +17 -1
  221. package/src/components/Customs/SyTabs/SyTabs.stories.ts +174 -10
  222. package/src/components/Customs/SyTabs/SyTabs.vue +62 -0
  223. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +98 -0
  224. package/src/components/Customs/SyTextField/SyTextField.vue +2 -2
  225. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +13 -13
  226. package/src/components/DatePicker/CalendarMode/DatePicker.vue +14 -1
  227. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +11 -11
  228. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +115 -6
  229. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +7 -0
  230. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +1 -1
  231. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +3 -3
  232. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +78 -5
  233. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +15 -15
  234. package/src/components/DatePicker/composables/tests/useDateFormatValidation.spec.ts +2 -2
  235. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +1 -1
  236. package/src/components/DatePicker/composables/useDateFormatDisplay.ts +25 -0
  237. package/src/components/DatePicker/composables/useDateFormatValidation.ts +5 -2
  238. package/src/components/DatePicker/composables/useManualDateValidation.ts +5 -1
  239. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +1 -1
  240. package/src/components/ErrorPage/ErrorPage.vue +54 -7
  241. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +6 -2
  242. package/src/components/ExternalLinks/ExternalLinks.vue +2 -4
  243. package/src/components/NirField/NirField.stories.ts +74 -0
  244. package/src/components/NirField/NirField.vue +34 -9
  245. package/src/components/NirField/locales.ts +1 -3
  246. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +6 -2
  247. package/src/components/PasswordField/PasswordField.vue +45 -13
  248. package/src/components/PhoneField/PhoneField.vue +43 -10
  249. package/src/components/RangeField/RangeSlider/RangeSlider.vue +3 -2
  250. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +2 -1
  251. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +2 -0
  252. package/src/components/RatingPicker/RatingPicker.stories.ts +10 -0
  253. package/src/components/RatingPicker/RatingPicker.vue +23 -1
  254. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +2 -0
  255. package/src/components/SearchListField/Accessibilite.stories.ts +4 -0
  256. package/src/components/SearchListField/SearchListField.stories.ts +16 -0
  257. package/src/components/SearchListField/SearchListField.vue +121 -109
  258. package/src/components/SearchListField/locales.ts +11 -2
  259. package/src/components/SearchListField/tests/SearchListField.spec.ts +91 -25
  260. package/src/components/SyAlert/SyAlert.vue +8 -0
  261. package/src/components/SyAlert/tests/SyAlert.spec.ts +1 -22
  262. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +304 -0
  263. package/src/components/Tables/SyServerTable/SyServerTable.vue +12 -4
  264. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -0
  265. package/src/components/Tables/SyTable/SyTable.stories.ts +186 -0
  266. package/src/components/Tables/SyTable/SyTable.vue +12 -4
  267. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +65 -1
  268. package/src/components/Tables/common/types.ts +2 -0
  269. package/src/components/index.ts +1 -0
  270. package/src/composables/rules/useFieldValidation.ts +47 -7
  271. package/src/composables/validation/useFormValidation.ts +46 -8
  272. package/src/composables/validation/useValidatable.ts +19 -8
  273. package/dist/main-DMXtXK3y.js +0 -33458
  274. package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -15
  275. package/src/components/Amelipro/AmeliproFooter/tests/__snapshots__/AmeliproFooter.spec.ts.snap +0 -432
  276. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -15
  277. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +0 -131
  278. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/tests/AmeliproLogoAm.spec.ts +0 -15
  279. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -15
  280. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +0 -172
  281. package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -159
  282. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +0 -841
  283. package/src/components/Amelipro/AmeliproIcon/tests/AmeliproIcon.spec.ts +0 -19
  284. package/src/components/Amelipro/AmeliproIconBtn/tests/AmeliproIconBtn.spec.ts +0 -22
  285. package/src/components/Amelipro/AmeliproIconBtn/tests/__snapshots__/AmeliproIconBtn.spec.ts.snap +0 -87
  286. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/AmeliproIllustratedDataTile.spec.ts +0 -20
  287. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/__snapshots__/AmeliproIllustratedDataTile.spec.ts.snap +0 -69
  288. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/AmeliproIllustratedRadioGroup.spec.ts +0 -53
  289. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +0 -544
  290. package/src/components/Amelipro/AmeliproMailTile/tests/AmeliproMailTile.spec.ts +0 -25
  291. package/src/components/Amelipro/AmeliproMailTile/tests/__snapshots__/AmeliproMailTile.spec.ts.snap +0 -164
  292. package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -85
  293. package/src/components/Amelipro/AmeliproMenu/tests/__snapshots__/AmeliproMenu.spec.ts.snap +0 -537
  294. package/src/components/Amelipro/AmeliproMessage/tests/AmeliproMessage.spec.ts +0 -18
  295. package/src/components/Amelipro/AmeliproMessage/tests/__snapshots__/AmeliproMessage.spec.ts.snap +0 -94
  296. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -16
  297. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +0 -56
  298. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -28
  299. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +0 -300
  300. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -16
  301. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +0 -89
  302. package/src/components/Amelipro/AmeliproMessagingLayout/tests/AmeliproMessagingLayout.spec.ts +0 -30
  303. package/src/components/Amelipro/AmeliproMessagingLayout/tests/__snapshots__/AmeliproMessagingLayout.spec.ts.snap +0 -439
  304. package/src/components/Amelipro/AmeliproNumberedCard/tests/AmeliproNumberedCard.spec.ts +0 -23
  305. package/src/components/Amelipro/AmeliproOnboarding/tests/AmeliproOnboarding.spec.ts +0 -41
  306. package/src/components/Amelipro/AmeliproOnboarding/tests/__snapshots__/AmeliproOnboarding.spec.ts.snap +0 -3
  307. package/src/components/Amelipro/AmeliproPageLayout/tests/AmeliproPageLayout.spec.ts +0 -183
  308. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +0 -1590
  309. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/AmeliproPaginationBtn.spec.ts +0 -15
  310. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/__snapshots__/AmeliproPaginationBtn.spec.ts.snap +0 -46
  311. package/src/components/Amelipro/AmeliproPagination/tests/AmeliproPagination.spec.ts +0 -15
  312. package/src/components/Amelipro/AmeliproPagination/tests/__snapshots__/AmeliproPagination.spec.ts.snap +0 -116
  313. package/src/components/Amelipro/AmeliproPatientBanner/tests/AmeliproPatientBanner.spec.ts +0 -24
  314. package/src/components/Amelipro/AmeliproPatientBanner/tests/__snapshots__/AmeliproPatientBanner.spec.ts.snap +0 -268
  315. package/src/components/Amelipro/AmeliproRadioGroup/tests/AmeliproRadioGroup.spec.ts +0 -43
  316. package/src/components/Amelipro/AmeliproRadioGroup/tests/__snapshots__/AmeliproRadioGroup.spec.ts.snap +0 -262
  317. package/src/components/Amelipro/AmeliproSelect/tests/AmeliproSelect.spec.ts +0 -38
  318. package/src/components/Amelipro/AmeliproSelect/tests/__snapshots__/AmeliproSelect.spec.ts.snap +0 -196
  319. package/src/components/Amelipro/AmeliproStateTile/tests/AmeliproStateTile.spec.ts +0 -20
  320. package/src/components/Amelipro/AmeliproStateTile/tests/__snapshots__/AmeliproStateTile.spec.ts.snap +0 -90
  321. package/src/components/Amelipro/AmeliproStatus/tests/AmeliproStatus.spec.ts +0 -16
  322. package/src/components/Amelipro/AmeliproStatus/tests/__snapshots__/AmeliproStatus.spec.ts.snap +0 -21
  323. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/AmeliproStepBtn.spec.ts +0 -18
  324. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/__snapshots__/AmeliproStepBtn.spec.ts.snap +0 -34
  325. package/src/components/Amelipro/AmeliproStepper/tests/AmeliproStepper.spec.ts +0 -36
  326. package/src/components/Amelipro/AmeliproStepper/tests/__snapshots__/AmeliproStepper.spec.ts.snap +0 -354
  327. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/AmeliproTabBtn.spec.ts +0 -20
  328. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/__snapshots__/AmeliproTabBtn.spec.ts.snap +0 -34
  329. package/src/components/Amelipro/AmeliproTabs/tests/AmeliproTabs.spec.ts +0 -39
  330. package/src/components/Amelipro/AmeliproTabs/tests/__snapshots__/AmeliproTabs.spec.ts.snap +0 -217
  331. package/src/components/Amelipro/AmeliproTextField/tests/AmeliproTextField.spec.ts +0 -16
  332. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +0 -162
  333. package/src/components/Amelipro/AmeliproTileBtn/tests/AmeliproTileBtn.spec.ts +0 -17
  334. package/src/components/Amelipro/AmeliproTileBtn/tests/__snapshots__/AmeliproTileBtn.spec.ts.snap +0 -65
  335. package/src/components/Amelipro/AmeliproTooltips/tests/AmeliproTooltips.spec.ts +0 -16
  336. package/src/components/Amelipro/AmeliproTooltips/tests/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -105
  337. package/src/components/Amelipro/AmeliproTransmission/tests/AmeliproTransmission.spec.ts +0 -16
  338. package/src/components/Amelipro/AmeliproTransmission/tests/__snapshots__/AmeliproTransmission.spec.ts.snap +0 -246
  339. package/src/components/SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap +0 -99
@@ -0,0 +1,248 @@
1
+ import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
2
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest'
3
+ import type { AmeliproStep } from '../types'
4
+ import AmeliproStepBtn from '../AmeliproStepBtn/AmeliproStepBtn.vue'
5
+ import { AmeliproStepper } from '@/components'
6
+ import type { ComponentProps } from 'vue-component-type-helpers'
7
+ import { DisplayTestComponent } from '@tests/helpers/utils'
8
+ import type { ExpectedPropOptions } from '@tests/types'
9
+ import type { PropType } from 'vue'
10
+ import TestHelper from '@tests/helpers/TestHelper'
11
+
12
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproStepper> = {
13
+ centered: {
14
+ type: Boolean,
15
+ default: false,
16
+ },
17
+ finalStepBtn: {
18
+ type: String,
19
+ default: 'Transmettre',
20
+ },
21
+ hideBackBtn: {
22
+ type: Boolean,
23
+ default: false,
24
+ },
25
+ items: {
26
+ type: Array as PropType<AmeliproStep[]>,
27
+ default: () => [],
28
+ },
29
+ manualChangeStep: {
30
+ type: Boolean,
31
+ default: false,
32
+ },
33
+ nextBtnLabel: {
34
+ type: String,
35
+ default: 'Suivant',
36
+ },
37
+ noDefaultStyle: {
38
+ type: Boolean,
39
+ default: false,
40
+ },
41
+ previousBtnLabel: {
42
+ type: String,
43
+ default: 'Précédent',
44
+ },
45
+ uniqueId: {
46
+ type: String,
47
+ default: undefined,
48
+ },
49
+ value: {
50
+ type: Number,
51
+ default: 0,
52
+ },
53
+ }
54
+
55
+ const steps = (): AmeliproStep[] => [
56
+ {
57
+ disabled: false,
58
+ label: 'etape 1',
59
+ titleDisabled: false,
60
+ },
61
+ {
62
+ disabled: false,
63
+ label: 'etape 2',
64
+ titleDisabled: false,
65
+ },
66
+ {
67
+ disabled: false,
68
+ label: 'etape 3',
69
+ titleDisabled: false,
70
+ },
71
+ ]
72
+
73
+ // Values pour les props "required"
74
+ const requiredPropValues = (): ComponentProps<typeof AmeliproStepper> => ({})
75
+
76
+ // Valeurs pour les props "modified"
77
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproStepper> => ({
78
+ centered: true,
79
+ finalStepBtn: 'Modified final step',
80
+ hideBackBtn: true,
81
+ items: [
82
+ {
83
+ disabled: false,
84
+ label: 'Modified step label 1',
85
+ titleDisabled: false,
86
+ },
87
+ {
88
+ disabled: false,
89
+ label: 'Modified step label 2',
90
+ titleDisabled: false,
91
+ },
92
+ {
93
+ disabled: false,
94
+ label: 'Modified step label 3',
95
+ titleDisabled: false,
96
+ },
97
+ ],
98
+ manualChangeStep: true,
99
+ nextBtnLabel: 'Modified next label',
100
+ noDefaultStyle: true,
101
+ previousBtnLabel: 'Modified previous label',
102
+ uniqueId: 'modified-unique-id',
103
+ value: 1,
104
+ })
105
+
106
+ const testHelper = new TestHelper(AmeliproStepper)
107
+ testHelper.setExpectedPropOptions(expectedPropOptions)
108
+ .setRequiredPropValues(requiredPropValues)
109
+ .setModifiedPropValues(modifiedPropValues)
110
+
111
+ describe('AmeliproStepper', () => {
112
+ describe('Snapshots', () => {
113
+ testHelper.snapshots()
114
+ })
115
+
116
+ describe('Properties', () => {
117
+ testHelper.properties()
118
+ })
119
+
120
+ const displayWrapper = mount(DisplayTestComponent)
121
+
122
+ describe('Setting props should update props or attributes of inner tags', () => {
123
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproStepper>>
124
+ displayWrapper.vm.setMdAndUp(true)
125
+
126
+ beforeEach(() => {
127
+ vueWrapper = shallowMount(AmeliproStepper, { props: requiredPropValues() })
128
+ })
129
+
130
+ afterEach(() => {
131
+ displayWrapper.vm.resetDefaults()
132
+ })
133
+
134
+ it('prop centered sets list class', async () => {
135
+ expect(vueWrapper.find('.amelipro-stepper__list').classes('justify-center')).toBe(testHelper.default('centered'))
136
+ await vueWrapper.setProps({ centered: testHelper.modified('centered') })
137
+ expect(vueWrapper.find('.amelipro-stepper__list').classes('justify-center')).toBe(testHelper.modified('centered'))
138
+ })
139
+
140
+ it('prop finalStepBtn sets button text of final step', async () => {
141
+ vueWrapper = mount(AmeliproStepper, {
142
+ props: {
143
+ ...requiredPropValues(),
144
+ items: testHelper.modified('items'),
145
+ value: 2,
146
+ },
147
+ })
148
+ expect(vueWrapper.find('.amelipro-stepper__btn--final').text()).toBe(testHelper.default('finalStepBtn'))
149
+ await vueWrapper.setProps({ finalStepBtn: testHelper.modified('finalStepBtn') })
150
+ expect(vueWrapper.find('.amelipro-stepper__btn--final').text()).toBe(testHelper.modified('finalStepBtn'))
151
+ })
152
+
153
+ it('prop hideBackBtn sets visibility of back button', async () => {
154
+ vueWrapper = shallowMount(AmeliproStepper, {
155
+ props: {
156
+ ...requiredPropValues(),
157
+ items: testHelper.modified('items'),
158
+ value: 1,
159
+ },
160
+ })
161
+ expect(vueWrapper.find('.amelipro-stepper__btn--previous').exists()).toBe(!testHelper.default('hideBackBtn'))
162
+ await vueWrapper.setProps({ hideBackBtn: testHelper.modified('hideBackBtn') })
163
+ expect(vueWrapper.find('.amelipro-stepper__btn--previous').exists()).toBe(!testHelper.modified('hideBackBtn'))
164
+ })
165
+
166
+ it('prop items sets step list', async () => {
167
+ expect(vueWrapper.findAll('.amelipro-stepper__item').length).toBe(testHelper.default('items').length)
168
+ await vueWrapper.setProps({ items: testHelper.modified('items') })
169
+ expect(vueWrapper.findAll('.amelipro-stepper__item').length).toBe(testHelper.modified('items').length)
170
+ })
171
+
172
+ it('prop nextBtnLabel sets label of the Next button', async () => {
173
+ vueWrapper = mount(AmeliproStepper, {
174
+ props: {
175
+ ...requiredPropValues(),
176
+ items: testHelper.modified('items'),
177
+ },
178
+ })
179
+ expect(vueWrapper.find('.amelipro-stepper__btn--next').text()).toBe(testHelper.default('nextBtnLabel'))
180
+ await vueWrapper.setProps({ nextBtnLabel: testHelper.modified('nextBtnLabel') })
181
+ expect(vueWrapper.find('.amelipro-stepper__btn--next').text()).toBe(testHelper.modified('nextBtnLabel'))
182
+ })
183
+
184
+ it('prop noDefaultStyle sets the use of default content class', async () => {
185
+ expect(vueWrapper.find('.amelipro-stepper__content').classes('amelipro-stepper__content--default')).toBe(!testHelper.default('noDefaultStyle'))
186
+ await vueWrapper.setProps({ noDefaultStyle: testHelper.modified('noDefaultStyle') })
187
+ expect(vueWrapper.find('.amelipro-stepper__content').classes('amelipro-stepper__content--default')).toBe(!testHelper.modified('noDefaultStyle'))
188
+ })
189
+
190
+ it('prop previousBtnLabel sets label of the Previous button', async () => {
191
+ vueWrapper = mount(AmeliproStepper, {
192
+ props: {
193
+ ...requiredPropValues(),
194
+ items: testHelper.modified('items'),
195
+ value: 2,
196
+ },
197
+ })
198
+ expect(vueWrapper.find('.amelipro-stepper__btn--previous').text()).toBe(testHelper.default('previousBtnLabel'))
199
+ await vueWrapper.setProps({ previousBtnLabel: testHelper.modified('previousBtnLabel') })
200
+ expect(vueWrapper.find('.amelipro-stepper__btn--previous').text()).toBe(testHelper.modified('previousBtnLabel'))
201
+ })
202
+ })
203
+
204
+ describe('Events', () => {
205
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproStepper>>
206
+
207
+ beforeEach(() => {
208
+ vueWrapper = mount(AmeliproStepper, {
209
+ props: {
210
+ ...requiredPropValues(),
211
+ items: steps(),
212
+ },
213
+ })
214
+ })
215
+
216
+ it('emits "next-step" event when next button is clicked', async () => {
217
+ expect(vueWrapper.emitted('next-step')).toBeUndefined()
218
+
219
+ await vueWrapper.find('.amelipro-stepper__btn--next').trigger('click')
220
+ expect(vueWrapper.emitted('next-step')).toStrictEqual([[1]])
221
+ })
222
+
223
+ it('emits "previous-step" event when previous button is clicked', async () => {
224
+ expect(vueWrapper.emitted('previous-step')).toBeUndefined()
225
+
226
+ await vueWrapper.setProps({ value: 1 })
227
+ await vueWrapper.find('.amelipro-stepper__btn--previous').trigger('click')
228
+ expect(vueWrapper.emitted('previous-step')).toStrictEqual([[0]])
229
+ })
230
+
231
+ it('emits "change-step" event when a step is clicked', async () => {
232
+ expect(vueWrapper.emitted('change-step')).toBeUndefined()
233
+
234
+ await vueWrapper.setProps({ value: 1 })
235
+ expect(vueWrapper.findAllComponents(AmeliproStepBtn).at(0)?.exists()).toBe(true)
236
+ await vueWrapper.findAllComponents(AmeliproStepBtn).at(0)?.find('button').trigger('click')
237
+ expect(vueWrapper.emitted('change-step')).toStrictEqual([[0]])
238
+ })
239
+
240
+ it('emits "submit" event when final step is clicked', async () => {
241
+ expect(vueWrapper.emitted('submit')).toBeUndefined()
242
+
243
+ await vueWrapper.setProps({ value: 2 })
244
+ await vueWrapper.find('.amelipro-stepper__btn--final').trigger('click')
245
+ expect(vueWrapper.emitted('submit')).toStrictEqual([[]])
246
+ })
247
+ })
248
+ })
@@ -0,0 +1,179 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproStepper > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <div
5
+ class="amelipro-stepper"
6
+ id="modified-unique-id-container"
7
+ >
8
+ <!-- desktop version -->
9
+ <div
10
+ class="amelipro-stepper__headings--desktop"
11
+ id="modified-unique-id-container"
12
+ >
13
+ <ol
14
+ class="
15
+ align-end
16
+ amelipro-stepper__list
17
+ d-flex
18
+ flex-row
19
+ flex-wrap
20
+ justify-center
21
+ list-style-none
22
+ "
23
+ id="modified-unique-id-step-list"
24
+ role="tablist"
25
+ >
26
+ <li
27
+ class="amelipro-stepper__item"
28
+ id="modified-unique-id-step-item-0"
29
+ >
30
+ <amelipro-step-btn-stub
31
+ disabled="false"
32
+ isactive="false"
33
+ uniqueid="modified-unique-id-step-btn-0"
34
+ ></amelipro-step-btn-stub>
35
+ </li>
36
+ <li
37
+ class="amelipro-stepper__item"
38
+ id="modified-unique-id-step-item-1"
39
+ >
40
+ <amelipro-step-btn-stub
41
+ disabled="false"
42
+ isactive="true"
43
+ uniqueid="modified-unique-id-step-btn-1"
44
+ ></amelipro-step-btn-stub>
45
+ </li>
46
+ <li
47
+ class="amelipro-stepper__item"
48
+ id="modified-unique-id-step-item-2"
49
+ >
50
+ <amelipro-step-btn-stub
51
+ disabled="false"
52
+ isactive="false"
53
+ uniqueid="modified-unique-id-step-btn-2"
54
+ ></amelipro-step-btn-stub>
55
+ </li>
56
+ </ol>
57
+ </div>
58
+ <div
59
+ class="
60
+ amelipro-stepper__content
61
+ ap-white
62
+ "
63
+ id="modified-unique-id-current-step-content"
64
+ ></div>
65
+ <div
66
+ class="
67
+ align-center
68
+ amelipro-stepper__actions
69
+ d-flex
70
+ flex-column
71
+ flex-sm-row
72
+ justify-sm-space-between
73
+ mt-4
74
+ "
75
+ id="modified-unique-id-footer"
76
+ >
77
+ <div class="
78
+ d-flex
79
+ d-sm-inline-flex
80
+ flex-column
81
+ flex-sm-row
82
+ next-step-btn__wrapper
83
+ order-sm-1
84
+ ">
85
+ <!-- v-if -->
86
+ <amelipro-btn-stub
87
+ badge="false"
88
+ badgebgcolor="ap-pink"
89
+ badgecolor="ap-white"
90
+ bordered="false"
91
+ class="
92
+ amelipro-stepper__btn--next
93
+ order-sm-1
94
+ "
95
+ color="ap-blue-darken-1"
96
+ disabled="false"
97
+ hovercolor="ap-blue-darken-2"
98
+ hoverunderline="false"
99
+ iconbgcolor="transparent"
100
+ iconbordered="false"
101
+ iconleft="false"
102
+ infoblock="false"
103
+ minheight="2.5rem"
104
+ size="60px"
105
+ text="false"
106
+ textcolor="ap-white"
107
+ type="button"
108
+ underline="false"
109
+ uniqueid="modified-unique-id-footer-next-btn"
110
+ ></amelipro-btn-stub>
111
+ <!-- v-if -->
112
+ </div>
113
+ <div class="
114
+ d-flex
115
+ flex-column
116
+ flex-sm-row
117
+ justify-start
118
+ w-100
119
+ ">
120
+ <div></div>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ `;
125
+
126
+ exports[`AmeliproStepper > Snapshots > renders the component with only required properties filled in 1`] = `
127
+ <div class="amelipro-stepper">
128
+ <!-- desktop version -->
129
+ <div class="amelipro-stepper__headings--desktop">
130
+ <ol
131
+ class="
132
+ align-end
133
+ amelipro-stepper__list
134
+ d-flex
135
+ flex-row
136
+ flex-wrap
137
+ list-style-none
138
+ "
139
+ role="tablist"
140
+ ></ol>
141
+ </div>
142
+ <div class="
143
+ amelipro-stepper__content
144
+ amelipro-stepper__content--default
145
+ ap-white
146
+ "></div>
147
+ <div class="
148
+ align-center
149
+ amelipro-stepper__actions
150
+ d-flex
151
+ flex-column
152
+ flex-sm-row
153
+ justify-sm-end
154
+ mt-4
155
+ ">
156
+ <div class="
157
+ d-flex
158
+ d-sm-inline-flex
159
+ flex-column
160
+ flex-sm-row
161
+ next-step-btn__wrapper
162
+ order-sm-1
163
+ ">
164
+ <!-- v-if -->
165
+ <!-- v-if -->
166
+ <!-- v-if -->
167
+ </div>
168
+ <div class="
169
+ d-flex
170
+ flex-column
171
+ flex-sm-row
172
+ justify-start
173
+ w-100
174
+ ">
175
+ <div></div>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ `;
@@ -3,7 +3,8 @@ import AmeliproMessage from '../AmeliproMessage/AmeliproMessage.vue'
3
3
  import AmeliproTable from './AmeliproTable.vue'
4
4
  import type { AmeliproTableHeader } from './types'
5
5
  import type { IDataListItem } from '../types'
6
- import { ref, computed } from 'vue'
6
+ import { computed, ref } from 'vue'
7
+
7
8
  const meta = {
8
9
  argTypes: {
9
10
  '`item-${headers[cellIndex].name}`': { description: 'Slot généré automatiquement pour chaque colonne (`name` nom de la colonne dans headers) vous devez y bind la ligne, pour permettre de renseigner autres chose que des données textuelles si besoin. Le contenu du slot apparaît seulement si la valeur de la cellule concernée est `undefined`.' },
@@ -610,10 +611,10 @@ export const PaginationEtTri: Story = {
610
611
  uniqueId: 'table-pagination-tri',
611
612
  itemsToDisplayDesktop: 2,
612
613
  itemsToDisplayMobile: 1,
613
- sortSelectDefaultValue: 'name-desc',
614
+ sortSelectDefaultValue: 'desc',
614
615
  sortSelectItems: [
615
- { title: 'Nom croissant', value: 'name-asc' },
616
- { title: 'Nom décroissant', value: 'name-desc' },
616
+ { title: 'Nom croissant', value: 'asc' },
617
+ { title: 'Nom décroissant', value: 'desc' },
617
618
  ],
618
619
  sortSelectLabel: 'Trier par',
619
620
  sortSelectPlaceholder: 'Choisir un tri',
@@ -632,10 +633,10 @@ export const PaginationEtTri: Story = {
632
633
  unique-id="table-pagination-tri"
633
634
  :items-to-display-desktop="2"
634
635
  :items-to-display-mobile="1"
635
- sort-select-default-value="name-desc"
636
+ sort-select-default-value="name"
636
637
  :sort-select-items="[
637
- { title: 'Nom croissant', value: 'name-asc' },
638
- { title: 'Nom décroissant', value: 'name-desc' }
638
+ { title: 'Nom croissant', value: 'asc' },
639
+ { title: 'Nom décroissant', value: 'desc' }
639
640
  ]"
640
641
  sort-select-label="Trier par"
641
642
  sort-select-placeholder="Choisir un tri"
@@ -671,10 +672,10 @@ const sortValue = ref('name-asc')
671
672
 
672
673
  const sortedDataList = computed(() => {
673
674
  const list = [...(args.dataList ?? [])]
674
- if (sortValue.value === 'name-asc') {
675
+ if (sortValue.value === 'asc') {
675
676
  return list.sort((a, b) => (String(a.name ?? '')).localeCompare(String(b.name ?? '')))
676
677
  }
677
- if (sortValue.value === 'name-desc') {
678
+ if (sortValue.value === 'desc') {
678
679
  return list.sort((a, b) => (String(b.name ?? '')).localeCompare(String(a.name ?? '')))
679
680
  }
680
681
  return list
@@ -692,7 +693,7 @@ function onSortAsc(event: Event, header: string) {
692
693
 
693
694
  function onSortDesc(event: Event, header: string) {
694
695
  if (header === 'name') {
695
- sortValue.value = 'name-desc'
696
+ sortValue.value = 'desc'
696
697
  }
697
698
  }
698
699
  </script>`,
@@ -705,10 +706,10 @@ function onSortDesc(event: Event, header: string) {
705
706
  const sortValue = ref('name-asc')
706
707
  const sortedDataList = computed(() => {
707
708
  const list = [...(args.dataList ?? [])]
708
- if (sortValue.value === 'name-asc') {
709
+ if (sortValue.value === 'asc') {
709
710
  return list.sort((a, b) => (String(a.name ?? '')).localeCompare(String(b.name ?? '')))
710
711
  }
711
- if (sortValue.value === 'name-desc') {
712
+ if (sortValue.value === 'desc') {
712
713
  return list.sort((a, b) => (String(b.name ?? '')).localeCompare(String(a.name ?? '')))
713
714
  }
714
715
  return list
@@ -725,7 +726,7 @@ function onSortDesc(event: Event, header: string) {
725
726
 
726
727
  function onSortDesc(header: string) {
727
728
  if (header === 'name') {
728
- sortValue.value = 'name-desc'
729
+ sortValue.value = 'desc'
729
730
  }
730
731
  }
731
732
  return { args, sortedDataList, onSortChange, onSortAsc, onSortDesc }
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import type { AmeliproTableCell, AmeliproTableHeader } from './types'
3
3
  import type { IDataListItem, IndexedObject } from '../types'
4
- import { type PropType, computed, onMounted, onUpdated, ref, watch } from 'vue'
4
+ import { computed, onMounted, onUpdated, type PropType, ref, watch } from 'vue'
5
5
  import AmeliproIconBtn from '../AmeliproIconBtn/AmeliproIconBtn.vue'
6
6
  import AmeliproPagination from '../AmeliproPagination/AmeliproPagination.vue'
7
7
  import AmeliproSelect from '../AmeliproSelect/AmeliproSelect.vue'
@@ -191,6 +191,7 @@
191
191
  currentPage.value = 1
192
192
  }
193
193
  }
194
+ watch(sortSelectModel, emitSortSelectChange, { immediate: true })
194
195
  </script>
195
196
 
196
197
  <template>
@@ -58,8 +58,9 @@ exports[`AmeliproTable > render correctly 1`] = `
58
58
  w-100
59
59
  ">
60
60
  <div class="
61
- align-start
61
+ align-baseline
62
62
  d-inline-flex
63
+ mb-1
63
64
  ">
64
65
  <label
65
66
  class="
@@ -302,7 +303,10 @@ exports[`AmeliproTable > render correctly 1`] = `
302
303
  data-no-activator=""
303
304
  >
304
305
  <span
305
- class="d-sr-only"
306
+ class="
307
+ amelipro-btn__label
308
+ d-sr-only
309
+ "
306
310
  id="amelipro-table-id-table-header-cell-0-asc-sort-btn-btn-label"
307
311
  >
308
312
  tri asc
@@ -384,7 +388,10 @@ exports[`AmeliproTable > render correctly 1`] = `
384
388
  data-no-activator=""
385
389
  >
386
390
  <span
387
- class="d-sr-only"
391
+ class="
392
+ amelipro-btn__label
393
+ d-sr-only
394
+ "
388
395
  id="amelipro-table-id-table-header-cell-0-desc-sort-btn-btn-label"
389
396
  >
390
397
  tri desc
@@ -0,0 +1,129 @@
1
+ import { VueWrapper, shallowMount } from '@vue/test-utils'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import AmeliproTabBtn from '../AmeliproTabBtn.vue'
4
+ import type { ComponentProps } from 'vue-component-type-helpers'
5
+ import type { ExpectedPropOptions } from '@tests/types'
6
+ import TestHelper from '@tests/helpers/TestHelper'
7
+
8
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproTabBtn> = {
9
+ controls: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ disabled: {
14
+ type: Boolean,
15
+ default: false,
16
+ },
17
+ notification: {
18
+ type: Number,
19
+ default: undefined,
20
+ },
21
+ pills: {
22
+ type: Boolean,
23
+ default: false,
24
+ },
25
+ selected: {
26
+ type: Boolean,
27
+ default: false,
28
+ },
29
+ tabindex: {
30
+ type: Number,
31
+ required: true,
32
+ },
33
+ uniqueId: {
34
+ type: String,
35
+ required: true,
36
+ },
37
+ }
38
+
39
+ // Values pour les props "required"
40
+ const requiredPropValues = (): ComponentProps<typeof AmeliproTabBtn> => ({
41
+ controls: 'required-controls',
42
+ tabindex: 1,
43
+ uniqueId: 'required-unique-id',
44
+ })
45
+
46
+ // Valeurs pour les props "modified"
47
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproTabBtn> => ({
48
+ controls: 'modified-controls',
49
+ disabled: true,
50
+ notification: 1,
51
+ pills: true,
52
+ selected: true,
53
+ tabindex: 0,
54
+ uniqueId: 'modified-unique-id',
55
+ })
56
+
57
+ const testHelper = new TestHelper(AmeliproTabBtn)
58
+ testHelper.setExpectedPropOptions(expectedPropOptions)
59
+ .setRequiredPropValues(requiredPropValues)
60
+ .setModifiedPropValues(modifiedPropValues)
61
+
62
+ describe('AmeliproTabBtn', () => {
63
+ describe('Snapshots', () => {
64
+ testHelper.snapshots()
65
+ })
66
+
67
+ describe('Properties', () => {
68
+ testHelper.properties()
69
+ })
70
+
71
+ describe('Setting props should update props or attributes of inner tags', () => {
72
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproTabBtn>>
73
+
74
+ beforeEach(() => {
75
+ vueWrapper = shallowMount(AmeliproTabBtn, { props: requiredPropValues() })
76
+ })
77
+
78
+ it('prop controls sets attribute aria-controls', async () => {
79
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('aria-controls')).toBe(testHelper.default('controls'))
80
+ await vueWrapper.setProps({ controls: testHelper.modified('controls') })
81
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('aria-controls')).toBe(testHelper.modified('controls'))
82
+ })
83
+
84
+ it('prop disabled sets attribute & class disabled', async () => {
85
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('disabled')).toBeUndefined()
86
+ expect(vueWrapper.find('.amelipro-tab__btn').classes('disabled')).toBe(testHelper.default('disabled'))
87
+ await vueWrapper.setProps({ disabled: testHelper.modified('disabled') })
88
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('disabled')).toBe('')
89
+ expect(vueWrapper.find('.amelipro-tab__btn').classes('disabled')).toBe(testHelper.modified('disabled'))
90
+ })
91
+
92
+ it('prop notification sets notification content', async () => {
93
+ expect(vueWrapper.find('.amelipro-tab__btn-notification').exists()).toBe(false)
94
+ await vueWrapper.setProps({ notification: testHelper.modified('notification') })
95
+ expect(vueWrapper.find('.amelipro-tab__btn-notification').exists()).toBe(true)
96
+ expect(vueWrapper.find('.amelipro-tab__btn-notification').text()).toBe(String(testHelper.modified('notification')))
97
+ })
98
+
99
+ it('prop pills sets button class & style', async () => {
100
+ expect(vueWrapper.find('.amelipro-tab__btn').classes()).toEqual([
101
+ 'amelipro-tab__btn',
102
+ 'px-4',
103
+ 'py-2',
104
+ 'text-uppercase',
105
+ ])
106
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('style')).toBe('background-color: #E6F6FC; border: 1px solid #DDDEDE; color: #00749C;')
107
+
108
+ await vueWrapper.setProps({ pills: testHelper.modified('pills') })
109
+ expect(vueWrapper.find('.amelipro-tab__btn').classes()).toEqual([
110
+ 'amelipro-tab__btn',
111
+ 'mr-2',
112
+ 'amelipro-tab__btn--pills',
113
+ ])
114
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('style')).toBe('background-color: #FFFFFF; border: 1px solid #00749C; color: #00749C; margin-bottom: 8px; position: relative;')
115
+ })
116
+
117
+ it('prop selected sets button style', async () => {
118
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('style')).toBe('background-color: #E6F6FC; border: 1px solid #DDDEDE; color: #00749C;')
119
+ await vueWrapper.setProps({ selected: testHelper.modified('selected') })
120
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('style')).toBe('background-color: #00749C; border: 1px solid #00749C; color: #FFFFFF;')
121
+ })
122
+
123
+ it('prop tabindex sets attribute aria-tabindex', async () => {
124
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('tabindex')).toBe(String(testHelper.default('tabindex')))
125
+ await vueWrapper.setProps({ tabindex: testHelper.modified('tabindex') })
126
+ expect(vueWrapper.find('.amelipro-tab__btn').attributes('tabindex')).toBe(String(testHelper.modified('tabindex')))
127
+ })
128
+ })
129
+ })