@cnamts/synapse 1.0.13 → 1.0.15

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 (254) hide show
  1. package/README.md +72 -72
  2. package/dist/{DateFilter-_EFzsvvM.js → DateFilter-isr8mXVb.js} +1 -1
  3. package/dist/{NumberFilter-CUxEbKJh.js → NumberFilter-BOe7DqWX.js} +1 -1
  4. package/dist/{PeriodFilter-D5ueqtKy.js → PeriodFilter-WTprpO40.js} +1 -1
  5. package/dist/{SelectFilter-BciBNydy.js → SelectFilter-CqlG5dmI.js} +1 -1
  6. package/dist/{TextFilter-DMN_WAQB.js → TextFilter-fVW5bsRw.js} +1 -1
  7. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +60 -28
  8. package/dist/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.d.ts +3 -3
  9. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +60 -28
  10. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +61 -29
  11. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +5 -1
  12. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +3 -1
  13. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +1 -1
  14. package/dist/components/Captcha/Captcha.d.ts +2 -0
  15. package/dist/components/Captcha/CaptchaBase.d.ts +1 -0
  16. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +29 -17
  17. package/dist/components/Customs/SyTabs/SyTabs.d.ts +20 -0
  18. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +100 -10
  19. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +108 -21
  20. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +6 -6
  21. package/dist/components/DatePicker/composables/useDateFormatDisplay.d.ts +3 -0
  22. package/dist/components/DatePicker/tests/setup.d.ts +768 -48
  23. package/dist/components/FilterSideBar/FilterSideBar.d.ts +8 -0
  24. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +58 -34
  25. package/dist/components/LangBtn/LangBtn.d.ts +4 -0
  26. package/dist/components/PeriodField/PeriodField.d.ts +192 -12
  27. package/dist/components/RatingPicker/RatingPicker.d.ts +9 -0
  28. package/dist/components/SearchListField/SearchListField.d.ts +42 -413
  29. package/dist/components/SearchListField/locales.d.ts +1 -2
  30. package/dist/components/SyAlert/SyAlert.d.ts +1 -1
  31. package/dist/components/SyTextArea/SyTextArea.d.ts +2 -0
  32. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +15 -8
  33. package/dist/components/Tables/SyTable/SyTable.d.ts +15 -8
  34. package/dist/components/Tables/common/SyTablePagination.d.ts +29 -17
  35. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +4 -0
  36. package/dist/components/Tables/common/types.d.ts +2 -0
  37. package/dist/design-system-v3.js +1 -1
  38. package/dist/design-system-v3.umd.cjs +32 -16
  39. package/dist/{main-DISHlqcd.js → main-CbBVJ_le.js} +9911 -9751
  40. package/dist/style.css +1 -1
  41. package/package.json +5 -2
  42. package/src/assets/amelipro/icons.ts +17 -0
  43. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.stories.ts +40 -36
  44. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +226 -26
  45. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/__snapshots__/AmeliproAccordionGroup.spec.ts.snap +55 -506
  46. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +1 -1
  47. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +7 -2
  48. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +2 -1
  49. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +4 -1
  50. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +4 -1
  51. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +1 -1
  52. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +9 -3
  53. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +42 -11
  54. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +4 -4
  55. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +7 -5
  56. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +4 -2
  57. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.stories.ts +1 -40
  58. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.vue +4 -0
  59. package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.stories.ts +4 -2
  60. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +2 -1
  61. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +39 -29
  62. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +4 -1
  63. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +3 -3
  64. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +8 -6
  65. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.mdx +3 -1
  66. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.stories.ts +23 -5
  67. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +5 -6
  68. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +2 -2
  69. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +5 -6
  70. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +4 -1
  71. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +1 -2
  72. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/__tests__/AmeliproLogoAm.spec.ts +78 -0
  73. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/{tests → __tests__}/__snapshots__/AmeliproLogoAm.spec.ts.snap +64 -2
  74. package/src/components/Amelipro/AmeliproIcon/__tests__/AmeliproIcon.spec.ts +358 -0
  75. package/src/components/Amelipro/AmeliproIcon/{tests → __tests__}/__snapshots__/AmeliproIcon.spec.ts.snap +30 -3
  76. package/src/components/Amelipro/AmeliproIcon/iconList.ts +1 -0
  77. package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.vue +1 -1
  78. package/src/components/Amelipro/AmeliproIconBtn/__tests__/AmeliproIconBtn.spec.ts +459 -0
  79. package/src/components/Amelipro/AmeliproIconBtn/__tests__/__snapshots__/AmeliproIconBtn.spec.ts.snap +58 -0
  80. package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.stories.ts +38 -26
  81. package/src/components/Amelipro/AmeliproIllustratedDataTile/__tests__/AmeliproIllustratedDataTile.spec.ts +321 -0
  82. package/src/components/Amelipro/AmeliproIllustratedDataTile/__tests__/__snapshots__/AmeliproIllustratedDataTile.spec.ts.snap +148 -0
  83. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +14 -5
  84. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +1 -1
  85. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +498 -0
  86. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +325 -0
  87. package/src/components/Amelipro/AmeliproMailTile/__tests__/AmeliproMailTile.spec.ts +210 -0
  88. package/src/components/Amelipro/AmeliproMailTile/__tests__/__snapshots__/AmeliproMailTile.spec.ts.snap +98 -0
  89. package/src/components/Amelipro/AmeliproMessage/__tests__/AmeliproMessage.spec.ts +446 -0
  90. package/src/components/Amelipro/AmeliproMessage/__tests__/__snapshots__/AmeliproMessage.spec.ts.snap +60 -0
  91. package/src/components/Amelipro/AmeliproMessagingLayout/__tests__/AmeliproMessagingLayout.spec.ts +300 -0
  92. package/src/components/Amelipro/AmeliproMessagingLayout/__tests__/__snapshots__/AmeliproMessagingLayout.spec.ts.snap +197 -0
  93. package/src/components/Amelipro/AmeliproNumberedCard/__tests__/AmeliproNumberedCard.spec.ts +117 -0
  94. package/src/components/Amelipro/AmeliproNumberedCard/{tests → __tests__}/__snapshots__/AmeliproNumberedCard.spec.ts.snap +47 -45
  95. package/src/components/Amelipro/AmeliproOnboarding/__tests__/AmeliproOnboarding.spec.ts +219 -0
  96. package/src/components/Amelipro/AmeliproOnboarding/__tests__/__snapshots__/AmeliproOnboarding.spec.ts.snap +41 -0
  97. package/src/components/Amelipro/AmeliproPageLayout/__tests__/AmeliproPageLayout.spec.ts +129 -0
  98. package/src/components/Amelipro/AmeliproPageLayout/__tests__/__snapshots__/AmeliproPageLayout.spec.ts.snap +189 -0
  99. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/__tests__/AmeliproPaginationBtn.spec.ts +92 -0
  100. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/__tests__/__snapshots__/AmeliproPaginationBtn.spec.ts.snap +56 -0
  101. package/src/components/Amelipro/AmeliproPagination/__tests__/AmeliproPagination.spec.ts +165 -0
  102. package/src/components/Amelipro/AmeliproPagination/__tests__/__snapshots__/AmeliproPagination.spec.ts.snap +83 -0
  103. package/src/components/Amelipro/AmeliproPatientBanner/__tests__/AmeliproPatientBanner.spec.ts +208 -0
  104. package/src/components/Amelipro/AmeliproPatientBanner/__tests__/__snapshots__/AmeliproPatientBanner.spec.ts.snap +285 -0
  105. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +26 -7
  106. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +12 -4
  107. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +28 -8
  108. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +332 -0
  109. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +255 -0
  110. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +1 -2
  111. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +3 -1
  112. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -1
  113. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +11 -5
  114. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +481 -0
  115. package/src/components/Amelipro/AmeliproSelect/__tests__/__snapshots__/AmeliproSelect.spec.ts.snap +117 -0
  116. package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.vue +5 -2
  117. package/src/components/Amelipro/AmeliproStateTile/__tests__/AmeliproStateTile.spec.ts +206 -0
  118. package/src/components/Amelipro/AmeliproStateTile/__tests__/__snapshots__/AmeliproStateTile.spec.ts.snap +158 -0
  119. package/src/components/Amelipro/AmeliproStatus/__tests__/AmeliproStatus.spec.ts +120 -0
  120. package/src/components/Amelipro/AmeliproStatus/__tests__/__snapshots__/AmeliproStatus.spec.ts.snap +39 -0
  121. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/__tests__/AmeliproStepBtn.spec.ts +97 -0
  122. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/__tests__/__snapshots__/AmeliproStepBtn.spec.ts.snap +61 -0
  123. package/src/components/Amelipro/AmeliproStepper/__tests__/AmeliproStepper.spec.ts +248 -0
  124. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +179 -0
  125. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +14 -13
  126. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -1
  127. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +10 -3
  128. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/__tests__/AmeliproTabBtn.spec.ts +129 -0
  129. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/__tests__/__snapshots__/AmeliproTabBtn.spec.ts.snap +81 -0
  130. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +2 -2
  131. package/src/components/Amelipro/AmeliproTabs/__tests__/AmeliproTabs.spec.ts +234 -0
  132. package/src/components/Amelipro/AmeliproTabs/__tests__/__snapshots__/AmeliproTabs.spec.ts.snap +122 -0
  133. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +7 -5
  134. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +265 -9
  135. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +98 -155
  136. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +7 -5
  137. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +375 -0
  138. package/src/components/Amelipro/AmeliproTextField/__tests__/__snapshots__/AmeliproTextField.spec.ts.snap +143 -0
  139. package/src/components/Amelipro/AmeliproTileBtn/__tests__/AmeliproTileBtn.spec.ts +241 -0
  140. package/src/components/Amelipro/AmeliproTileBtn/__tests__/__snapshots__/AmeliproTileBtn.spec.ts.snap +74 -0
  141. package/src/components/Amelipro/AmeliproTooltips/__tests__/AmeliproTooltips.spec.ts +212 -0
  142. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +71 -0
  143. package/src/components/Amelipro/AmeliproTransmission/__tests__/AmeliproTransmission.spec.ts +155 -0
  144. package/src/components/Amelipro/AmeliproTransmission/__tests__/__snapshots__/AmeliproTransmission.spec.ts.snap +240 -0
  145. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +0 -1
  146. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +4 -1
  147. package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +4 -0
  148. package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +4 -5
  149. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +5 -4
  150. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +13 -6
  151. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -1
  152. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +4 -1
  153. package/src/components/Captcha/Captcha.mdx +4 -4
  154. package/src/components/Captcha/Captcha.stories.ts +8 -1
  155. package/src/components/Captcha/Captcha.vue +3 -0
  156. package/src/components/Captcha/CaptchaBase.vue +3 -0
  157. package/src/components/Captcha/captchaApi.ts +0 -1
  158. package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
  159. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +5 -0
  160. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
  161. package/src/components/Customs/SyTabs/SyTabs.stories.ts +174 -10
  162. package/src/components/Customs/SyTabs/SyTabs.vue +62 -0
  163. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +98 -0
  164. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +13 -13
  165. package/src/components/DatePicker/CalendarMode/DatePicker.vue +13 -0
  166. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +11 -11
  167. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +5 -0
  168. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +7 -0
  169. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +1 -1
  170. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +3 -3
  171. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +50 -2
  172. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +15 -15
  173. package/src/components/DatePicker/composables/tests/useDateFormatValidation.spec.ts +2 -2
  174. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +1 -1
  175. package/src/components/DatePicker/composables/useDateFormatDisplay.ts +25 -0
  176. package/src/components/DatePicker/composables/useDateFormatValidation.ts +5 -2
  177. package/src/components/DatePicker/composables/useManualDateValidation.ts +5 -1
  178. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +1 -1
  179. package/src/components/ErrorPage/ErrorPage.vue +54 -7
  180. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +6 -2
  181. package/src/components/ExternalLinks/ExternalLinks.vue +2 -4
  182. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +6 -2
  183. package/src/components/PasswordField/PasswordField.vue +6 -6
  184. package/src/components/RangeField/RangeSlider/RangeSlider.vue +3 -2
  185. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +2 -1
  186. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +2 -0
  187. package/src/components/RatingPicker/RatingPicker.stories.ts +10 -0
  188. package/src/components/RatingPicker/RatingPicker.vue +23 -1
  189. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +2 -0
  190. package/src/components/SearchListField/Accessibilite.stories.ts +4 -0
  191. package/src/components/SearchListField/SearchListField.stories.ts +16 -0
  192. package/src/components/SearchListField/SearchListField.vue +121 -109
  193. package/src/components/SearchListField/locales.ts +11 -2
  194. package/src/components/SearchListField/tests/SearchListField.spec.ts +91 -25
  195. package/src/components/SyAlert/SyAlert.vue +8 -0
  196. package/src/components/SyAlert/tests/SyAlert.spec.ts +1 -22
  197. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +304 -0
  198. package/src/components/Tables/SyServerTable/SyServerTable.vue +12 -4
  199. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -0
  200. package/src/components/Tables/SyTable/SyTable.stories.ts +186 -0
  201. package/src/components/Tables/SyTable/SyTable.vue +12 -4
  202. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +65 -1
  203. package/src/components/Tables/common/types.ts +2 -0
  204. package/src/composables/rules/useFieldValidation.ts +47 -7
  205. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/tests/AmeliproLogoAm.spec.ts +0 -15
  206. package/src/components/Amelipro/AmeliproIcon/tests/AmeliproIcon.spec.ts +0 -19
  207. package/src/components/Amelipro/AmeliproIconBtn/tests/AmeliproIconBtn.spec.ts +0 -22
  208. package/src/components/Amelipro/AmeliproIconBtn/tests/__snapshots__/AmeliproIconBtn.spec.ts.snap +0 -87
  209. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/AmeliproIllustratedDataTile.spec.ts +0 -20
  210. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/__snapshots__/AmeliproIllustratedDataTile.spec.ts.snap +0 -69
  211. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/AmeliproIllustratedRadioGroup.spec.ts +0 -53
  212. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +0 -544
  213. package/src/components/Amelipro/AmeliproMailTile/tests/AmeliproMailTile.spec.ts +0 -25
  214. package/src/components/Amelipro/AmeliproMailTile/tests/__snapshots__/AmeliproMailTile.spec.ts.snap +0 -164
  215. package/src/components/Amelipro/AmeliproMessage/tests/AmeliproMessage.spec.ts +0 -18
  216. package/src/components/Amelipro/AmeliproMessage/tests/__snapshots__/AmeliproMessage.spec.ts.snap +0 -94
  217. package/src/components/Amelipro/AmeliproMessagingLayout/tests/AmeliproMessagingLayout.spec.ts +0 -30
  218. package/src/components/Amelipro/AmeliproMessagingLayout/tests/__snapshots__/AmeliproMessagingLayout.spec.ts.snap +0 -439
  219. package/src/components/Amelipro/AmeliproNumberedCard/tests/AmeliproNumberedCard.spec.ts +0 -23
  220. package/src/components/Amelipro/AmeliproOnboarding/tests/AmeliproOnboarding.spec.ts +0 -41
  221. package/src/components/Amelipro/AmeliproOnboarding/tests/__snapshots__/AmeliproOnboarding.spec.ts.snap +0 -3
  222. package/src/components/Amelipro/AmeliproPageLayout/tests/AmeliproPageLayout.spec.ts +0 -183
  223. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +0 -1602
  224. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/AmeliproPaginationBtn.spec.ts +0 -15
  225. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/__snapshots__/AmeliproPaginationBtn.spec.ts.snap +0 -46
  226. package/src/components/Amelipro/AmeliproPagination/tests/AmeliproPagination.spec.ts +0 -15
  227. package/src/components/Amelipro/AmeliproPagination/tests/__snapshots__/AmeliproPagination.spec.ts.snap +0 -116
  228. package/src/components/Amelipro/AmeliproPatientBanner/tests/AmeliproPatientBanner.spec.ts +0 -24
  229. package/src/components/Amelipro/AmeliproPatientBanner/tests/__snapshots__/AmeliproPatientBanner.spec.ts.snap +0 -268
  230. package/src/components/Amelipro/AmeliproRadioGroup/tests/AmeliproRadioGroup.spec.ts +0 -43
  231. package/src/components/Amelipro/AmeliproRadioGroup/tests/__snapshots__/AmeliproRadioGroup.spec.ts.snap +0 -262
  232. package/src/components/Amelipro/AmeliproSelect/tests/AmeliproSelect.spec.ts +0 -38
  233. package/src/components/Amelipro/AmeliproSelect/tests/__snapshots__/AmeliproSelect.spec.ts.snap +0 -196
  234. package/src/components/Amelipro/AmeliproStateTile/tests/AmeliproStateTile.spec.ts +0 -20
  235. package/src/components/Amelipro/AmeliproStateTile/tests/__snapshots__/AmeliproStateTile.spec.ts.snap +0 -90
  236. package/src/components/Amelipro/AmeliproStatus/tests/AmeliproStatus.spec.ts +0 -16
  237. package/src/components/Amelipro/AmeliproStatus/tests/__snapshots__/AmeliproStatus.spec.ts.snap +0 -21
  238. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/AmeliproStepBtn.spec.ts +0 -18
  239. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/__snapshots__/AmeliproStepBtn.spec.ts.snap +0 -34
  240. package/src/components/Amelipro/AmeliproStepper/tests/AmeliproStepper.spec.ts +0 -36
  241. package/src/components/Amelipro/AmeliproStepper/tests/__snapshots__/AmeliproStepper.spec.ts.snap +0 -354
  242. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/AmeliproTabBtn.spec.ts +0 -20
  243. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/__snapshots__/AmeliproTabBtn.spec.ts.snap +0 -34
  244. package/src/components/Amelipro/AmeliproTabs/tests/AmeliproTabs.spec.ts +0 -39
  245. package/src/components/Amelipro/AmeliproTabs/tests/__snapshots__/AmeliproTabs.spec.ts.snap +0 -217
  246. package/src/components/Amelipro/AmeliproTextField/tests/AmeliproTextField.spec.ts +0 -16
  247. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +0 -162
  248. package/src/components/Amelipro/AmeliproTileBtn/tests/AmeliproTileBtn.spec.ts +0 -17
  249. package/src/components/Amelipro/AmeliproTileBtn/tests/__snapshots__/AmeliproTileBtn.spec.ts.snap +0 -65
  250. package/src/components/Amelipro/AmeliproTooltips/tests/AmeliproTooltips.spec.ts +0 -16
  251. package/src/components/Amelipro/AmeliproTooltips/tests/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -105
  252. package/src/components/Amelipro/AmeliproTransmission/tests/AmeliproTransmission.spec.ts +0 -16
  253. package/src/components/Amelipro/AmeliproTransmission/tests/__snapshots__/AmeliproTransmission.spec.ts.snap +0 -246
  254. package/src/components/SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap +0 -99
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cnamts/synapse",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "private": false,
5
5
  "description": "CNAM DS v3",
6
6
  "type": "module",
@@ -126,7 +126,10 @@
126
126
  },
127
127
  "pnpm": {
128
128
  "overrides": {
129
- "undici": "7.15.0"
129
+ "esbuild": "^0.25.0",
130
+ "undici": "7.15.0",
131
+ "glob": ">=10.5.0",
132
+ "js-yaml": ">=4.1.1"
130
133
  },
131
134
  "patchedDependencies": {
132
135
  "undici@7.15.0": "patches/undici@7.15.0.patch"
@@ -1165,4 +1165,21 @@ export const icons: Icons = {
1165
1165
  <path d="M25.4,18l-.9-.8,1.1-1.1h-4.6v-1.2h4.6l-1.1-1.1.9-.8,2.6,2.5-2.6,2.5Z"/>
1166
1166
  </g>
1167
1167
  </svg>`,
1168
+ attele: `
1169
+ <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 34 34">
1170
+ <path class="${CIRCLE_COLOR}" d="M16,0c-3.2,0-6.3.9-8.9,2.7-2.6,1.8-4.7,4.3-5.9,7.2C0,12.8-.3,16,.3,19.1c.6,3.1,2.1,6,4.4,8.2,2.2,2.2,5.1,3.8,8.2,4.4,3.1.6,6.3.3,9.2-.9s5.4-3.3,7.2-5.9c1.8-2.6,2.7-5.7,2.7-8.9,0-2.1-.4-4.2-1.2-6.1-.8-1.9-2-3.7-3.5-5.2-1.5-1.5-3.3-2.7-5.2-3.5C20.2.4,18.1,0,16,0Z"/>
1171
+ <g class="${SHAPE_COLOR}">
1172
+ <path d="M6.4,6.4c0,0,0,.3,0,1,0,.5,0,1,0,1.1v.3h2.7v-.3c0-.3.2-.7.5-.8.2-.1.4-.1,1.4-.2,1.6,0,1.9,0,2.2.3.2.2.3.3.3.6v.3h1.2c1.1,0,1.2,0,1.2-.1s0-.6.1-1.1c0-.8,0-1,0-1.1-.1-.2-9.4-.1-9.5,0Z"/>
1173
+ <path d="M9.8,8.3c0,0,0,.3,0,.5,0,.6,0,.6,1.6.6s1.6,0,1.6-.7,0-.5,0-.5c0,0-.5,0-1.5,0s-1.4,0-1.5.1Z"/>
1174
+ <path d="M6.2,9.7l-.2.2v2c0,2.3,0,2.3.4,2.5.1,0,.7,0,1.5,0h1.2l.2-.3c.1-.2.3-.3.5-.3h.3v-3.8h-.3c-.2-.1-.3-.2-.4-.4l-.2-.2h-2.8l-.2.2Z"/>
1175
+ <path d="M10.7,11.9v1.9h1.3v-3.7h-1.3v1.9Z"/>
1176
+ <path d="M9.8,14.6c0,0,0,.3,0,.5,0,.6,0,.6,1.6.6s1.4,0,1.5,0c.1-.1.1-.9,0-1,0,0-.5,0-1.5,0s-1.4,0-1.5.1Z"/>
1177
+ <path d="M6.9,15.8c0,.6,0,.9-.1,1.3,0,.3-.1.6-.1.6,0,0,.2.1.4.2,2.3,1.2,4.1,3.3,4.6,5.4,0,.2.1.4.1.4s.6-.9,1.2-1.9l1.2-1.9v-.2c-.2-.1-.3-.3-.3-.5,0-.3,0-.4.9-1.7l.9-1.4v-.3c-.1-.1-.2-.4-.2-.6v-.3h-2v.3c0,.3,0,.4-.2.6-.3.3-.5.4-2.1.4-1.3,0-1.4,0-1.6-.2-.3-.2-.4-.5-.4-.8v-.3h-2.3v.7Z"/>
1178
+ <path d="M15.2,18c-.5.8-.8,1.2-.8,1.3,0,.1.2.3.8.6,1.4.9,1.6,1,1.8,1,0,0,.4-.5.7-1l.6-.9-.4-.2c-.5-.3-1.4-1.1-1.7-1.6-.1-.2-.2-.3-.2-.3,0,0-.4.5-.8,1.1Z"/>
1179
+ <path d="M6.2,19.3c-.3,1.2-.3,2.2,0,3,.4,1.3,1.3,2.3,2.5,2.9.7.3,1.3.5,1.9.5h.4v-.3c.1-.6,0-1.8-.4-2.7-.4-1.1-1.6-2.5-2.7-3.3-.6-.4-1.3-.9-1.4-.9s-.2.4-.3.8Z"/>
1180
+ <path d="M18.2,20.3c-.8,1.2-1.1,1.4-1.7,1.1-.2,0-.3,0-.3,0,0,0-.6.9-1.2,1.9l-1.1,1.8h.3c.2,0,.6,0,.8.1.7.1,2.5.4,3.4.4h.8s0-.3,0-.3c.2-1.4.8-3,1.6-4.2.1-.2.3-.4.2-.4-.1-.1-2.2-1.4-2.2-1.4s-.3.4-.7.9Z"/>
1181
+ <path d="M13.2,22.6c-1.4,2.2-1.4,2.3-1.4,2.6s0,.4.7.2h.5c0-.1,1.3-2.2,1.3-2.2.7-1.2,1.4-2.2,1.4-2.2,0,0-.8-.7-1-.7s-.7,1-1.5,2.3Z"/>
1182
+ <path d="M21.5,21.3c-.3.4-.8,1.4-1,1.9-.2.6-.5,1.5-.6,2v.4c0,0,1.8,0,1.8,0,1.7,0,1.9,0,2.3-.1,1.3-.4,2.1-1.6,2.1-2.9s0-.7-1.4-.7-1.9-.1-2.8-.7h-.2c0-.1-.2,0-.2,0Z"/>
1183
+ </g>
1184
+ </svg>`,
1168
1185
  }
@@ -11,7 +11,6 @@ const meta = {
11
11
  'defaultSlide': { description: 'numéro de la slide affichée par défaut' },
12
12
  'duration': { description: 'Durée de transition entre les slides du carrousel en secondes' },
13
13
  'fillSlideOrientation': { description: 'Définit dans quel sens doivent être remplies les slide prend les valeur `left` ou `right`' },
14
- 'infiniteRotation': { description: 'Booléen permettant de faire boucler les slides du carrousel' },
15
14
  'item': { description: 'Slots générés automatiquement pour chaque item, afin de donner le même aspect à tous les items' },
16
15
  'items': {
17
16
  description: 'Tableau comprenant la liste des blocs dépliants à afficher dans le carrousel',
@@ -127,22 +126,18 @@ export const Default: Story = {
127
126
  title="Titre du carrousel"
128
127
  unique-id="amelipro-accordion-frieze-id"
129
128
  >
130
- <template #item>
131
- <div class="d-flex">
129
+ <template
130
+ v-for="(item, index) in items"
131
+ :key="item.uniqueId"
132
+ #[slotNames[index]]
133
+ >
132
134
  <AmeliproCard
133
- card-title="Contenu dépliant"
135
+ card-title="'Contenu ' + item.uniqueId"
134
136
  class="mt-4"
135
137
  >
136
- <template #default>
137
- <p class="mb-0">
138
- Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée
139
- à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le
140
- faux-texte dès qu'il est prêt ou que la mise en page est achevée. Généralement, on utilise
141
- un texte en faux latin, le Lorem ipsum ou Lipsum.
142
- </p>
143
- </template>
138
+ Le contenu est libre ici, par exemple je reprends le numéro du bloc déplié :
139
+ {{ item.uniqueId }}
144
140
  </AmeliproCard>
145
- </div>
146
141
  </template>
147
142
  </AmeliproAccordionFrieze>
148
143
  </template>
@@ -225,6 +220,11 @@ export const Default: Story = {
225
220
  uniqueId: '14',
226
221
  },
227
222
  ]
223
+
224
+ const slotNames = items.map((item, index) =>
225
+ \`amelipro-accordion-frieze-id-slot-slide-\${index}-item-\${item.uniqueId}\`
226
+ )
227
+
228
228
  </script>`,
229
229
  },
230
230
  ],
@@ -232,30 +232,34 @@ export const Default: Story = {
232
232
  render: args => ({
233
233
  components: { AmeliproCard, AmeliproAccordionFrieze },
234
234
  setup() {
235
- return { args }
235
+ const items = args.items ?? []
236
+
237
+ const slotNames = items.map((item, index) =>
238
+ `amelipro-accordion-frieze-id-slot-slide-${index}-item-${item.uniqueId}`,
239
+ )
240
+
241
+ return { slotNames, args }
236
242
  },
237
243
  template: `
238
- <AmeliproAccordionFrieze
239
- v-bind="args"
240
- >
241
- <template #item>
242
- <div class="d-flex">
243
- <AmeliproCard
244
- card-title="Contenu dépliant"
245
- class="mt-4"
246
- >
247
- <template #default>
248
- <p class="mb-0">
249
- Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée
250
- à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le
251
- faux-texte dès qu'il est prêt ou que la mise en page est achevée. Généralement, on utilise
252
- un texte en faux latin, le Lorem ipsum ou Lipsum.
253
- </p>
254
- </template>
255
- </AmeliproCard>
256
- </div>
257
- </template>
258
- </AmeliproAccordionFrieze>
259
- `,
244
+ <AmeliproAccordionFrieze
245
+ v-bind="args"
246
+ :items="args.items"
247
+ title="Titre du carrousel"
248
+ unique-id="amelipro-accordion-frieze-id"
249
+ >
250
+ <template
251
+ v-for="(item, index) in args.items"
252
+ :key="item.uniqueId"
253
+ v-slot:[slotNames[index]]
254
+ >
255
+ <AmeliproCard
256
+ :card-title="\`Contenu \${item.uniqueId}\`"
257
+ class="mt-4"
258
+ >
259
+ Le contenu est libre ici, par exemple je reprends le numéro du bloc déplié : {{ item.uniqueId }}
260
+ </AmeliproCard>
261
+ </template>
262
+ </AmeliproAccordionFrieze>
263
+ `,
260
264
  }),
261
265
  }
@@ -1,33 +1,233 @@
1
- import { mount } from '@vue/test-utils'
2
- import { expect, describe, it } from 'vitest'
1
+ import type { ExpectedPropOptions } from '@tests/types'
3
2
  import AmeliproAccordionGroup from '../AmeliproAccordionGroup.vue'
3
+ import TestHelper from '@tests/helpers/TestHelper'
4
+ import type { ComponentProps } from 'vue-component-type-helpers'
5
+ import { beforeEach, describe, expect, it } from 'vitest'
6
+ import type { PropType } from 'vue'
7
+ import type { AmeliproAccordionGroupItem } from '../types'
8
+ import { VueWrapper, shallowMount } from '@vue/test-utils'
9
+ import AmeliproAccordionTemplate from '../../AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue'
10
+
11
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproAccordionGroup> = {
12
+ defaultItemOpened: {
13
+ type: [Number, null] as PropType<number | null>,
14
+ default: null,
15
+ },
16
+ groupBorderColor: {
17
+ type: String,
18
+ default: 'ap-grey-lighten-2',
19
+ },
20
+ groupBordered: {
21
+ type: Boolean,
22
+ default: true,
23
+ },
24
+ groupColor: {
25
+ type: String,
26
+ default: 'ap-white',
27
+ },
28
+ groupTitleLevel: {
29
+ type: Number,
30
+ default: 2,
31
+ },
32
+ groupTitleUppercase: {
33
+ type: Boolean,
34
+ default: false,
35
+ },
36
+ headerRightWidth: {
37
+ type: String,
38
+ default: '50%',
39
+ },
40
+ hideSeparator: {
41
+ type: Boolean,
42
+ default: false,
43
+ },
44
+ items: {
45
+ type: Array as PropType<AmeliproAccordionGroupItem[]>,
46
+ required: true,
47
+ },
48
+ uniqueId: {
49
+ type: String,
50
+ default: undefined,
51
+ },
52
+ }
53
+
54
+ const requiredPropValues = (): ComponentProps<typeof AmeliproAccordionGroup> => ({
55
+ items: [
56
+ {
57
+ title: 'Accordion 1',
58
+ id: 'accordion-1-id',
59
+ },
60
+ {
61
+ title: 'Accordion 2',
62
+ id: 'accordion-2-id',
63
+ },
64
+ ],
65
+ })
66
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproAccordionGroup> => ({
67
+ defaultItemOpened: 1,
68
+ groupBorderColor: 'ap-red-lighten-2',
69
+ groupBordered: false,
70
+ groupColor: 'ap-red',
71
+ groupTitleLevel: 3,
72
+ groupTitleUppercase: true,
73
+ headerRightWidth: '100px',
74
+ hideSeparator: true,
75
+ items: [
76
+ {
77
+ title: 'Modified accordion 1',
78
+ id: 'modified-accordion-1-id',
79
+ },
80
+ {
81
+ title: 'Modified accordion 2',
82
+ id: 'modified-accordion-2-id',
83
+ },
84
+ ],
85
+ uniqueId: 'modified-unique-id',
86
+ })
87
+
88
+ const testHelper = new TestHelper(AmeliproAccordionGroup)
89
+ testHelper.setExpectedPropOptions(expectedPropOptions)
90
+ .setRequiredPropValues(requiredPropValues)
91
+ .setModifiedPropValues(modifiedPropValues)
4
92
 
5
93
  describe('AmeliproAccordionGroup', () => {
6
- it('render correctly', async () => {
7
- const wrapper = mount(AmeliproAccordionGroup, {
8
- props: {
9
- items: [
10
- {
11
- id: 'test-1',
12
- title: 'Exemple 1',
13
- },
14
- {
15
- id: 'test-2',
16
- title: 'Exemple 2',
17
- },
18
- {
19
- id: 'test-3',
20
- title: 'Exemple 3',
21
- },
22
- {
23
- id: 'test-4',
24
- title: 'Exemple 4',
25
- },
26
- ],
27
- uniqueId: 'amelipro-accordion-group-unique-id',
28
- },
94
+ describe('Snapshots', () => {
95
+ testHelper.snapshots()
96
+ })
97
+
98
+ describe('Properties', () => {
99
+ testHelper.properties()
100
+ })
101
+
102
+ describe('Setting props should update attributes of inner tags', () => {
103
+ let wrapper: VueWrapper<InstanceType<typeof AmeliproAccordionGroup>>
104
+
105
+ beforeEach(() => {
106
+ wrapper = shallowMount(AmeliproAccordionGroup, { props: requiredPropValues() })
107
+ })
108
+
109
+ describe('main div', () => {
110
+ it('prop uniqueId sets attribute id', async () => {
111
+ // assertion par défaut
112
+ expect(wrapper.attributes('id')).toBe(testHelper.default('uniqueId'))
113
+
114
+ // assertion modifiée
115
+ const { uniqueId } = modifiedPropValues()
116
+ await wrapper.setProps({ uniqueId })
117
+ expect(wrapper.attributes('id')).toBe(testHelper.modified('uniqueId'))
118
+ })
119
+ })
120
+ })
121
+
122
+ describe('Setting props should update props or attributes of inner components', () => {
123
+ let wrapper: VueWrapper<InstanceType<typeof AmeliproAccordionGroup>>
124
+
125
+ beforeEach(() => {
126
+ wrapper = shallowMount(AmeliproAccordionGroup, { props: requiredPropValues() })
127
+ })
128
+
129
+ describe('AmeliproAccordionTemplate', () => {
130
+ it('prop groupBorderColor sets prop borderColor', async () => {
131
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('borderColor')).toBe(testHelper.default('groupBorderColor'))
132
+
133
+ const { groupBorderColor } = modifiedPropValues()
134
+ await wrapper.setProps({ groupBorderColor })
135
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('borderColor')).toBe(testHelper.modified('groupBorderColor'))
136
+ })
137
+
138
+ it('prop groupBordered sets prop bordered', async () => {
139
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('bordered')).toBe(testHelper.default('groupBordered'))
140
+ const { groupBordered } = modifiedPropValues()
141
+ await wrapper.setProps({ groupBordered })
142
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('bordered')).toBe(testHelper.modified('groupBordered'))
143
+ })
144
+
145
+ it('prop groupColor sets prop cardColor', async () => {
146
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('cardColor')).toBe(testHelper.default('groupColor'))
147
+ const { groupColor } = modifiedPropValues()
148
+ await wrapper.setProps({ groupColor })
149
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('cardColor')).toBe(testHelper.modified('groupColor'))
150
+ })
151
+
152
+ it('prop headerRightWidth sets prop headerRightWidth', async () => {
153
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('headerRightWidth')).toBe(testHelper.default('headerRightWidth'))
154
+ const { headerRightWidth } = modifiedPropValues()
155
+ await wrapper.setProps({ headerRightWidth })
156
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('headerRightWidth')).toBe(testHelper.modified('headerRightWidth'))
157
+ })
158
+
159
+ it('prop hideSeparator sets prop hideSeparator', async () => {
160
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('hideSeparator')).toBe(testHelper.default('hideSeparator'))
161
+ const { hideSeparator } = modifiedPropValues()
162
+ await wrapper.setProps({ hideSeparator })
163
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('hideSeparator')).toBe(testHelper.modified('hideSeparator'))
164
+ })
165
+
166
+ it('prop groupTitleLevel sets prop titleLevel', async () => {
167
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('titleLevel')).toBe(testHelper.default('groupTitleLevel'))
168
+ const { groupTitleLevel } = modifiedPropValues()
169
+ await wrapper.setProps({ groupTitleLevel })
170
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('titleLevel')).toBe(testHelper.modified('groupTitleLevel'))
171
+ })
172
+
173
+ it('prop groupTitleUppercase sets prop titleUppercase', async () => {
174
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('titleUppercase')).toBe(testHelper.default('groupTitleUppercase'))
175
+ const { groupTitleUppercase } = modifiedPropValues()
176
+ await wrapper.setProps({ groupTitleUppercase })
177
+ expect(wrapper.findComponent(AmeliproAccordionTemplate).props('titleUppercase')).toBe(testHelper.modified('groupTitleUppercase'))
178
+ })
179
+
180
+ it('prop items sets accordion-title and unique-id for each item', async () => {
181
+ const defaultItems = testHelper.default('items')
182
+ const templates = wrapper.findAllComponents(AmeliproAccordionTemplate)
183
+ expect(templates.length).toBe(defaultItems.length)
184
+ for (let i = 0; i < templates.length; i++) {
185
+ expect(templates[i].props('accordionTitle')).toBe(defaultItems[i].title)
186
+ expect(templates[i].props('uniqueId')).toBe(defaultItems[i].id)
187
+ }
188
+
189
+ const { items } = modifiedPropValues()
190
+ await wrapper.setProps({ items })
191
+ const modTemplates = wrapper.findAllComponents(AmeliproAccordionTemplate)
192
+ expect(modTemplates.length).toBe(items.length)
193
+ for (let i = 0; i < modTemplates.length; i++) {
194
+ expect(modTemplates[i].props('accordionTitle')).toBe(items[i].title)
195
+ expect(modTemplates[i].props('uniqueId')).toBe(items[i].id)
196
+ }
197
+ })
198
+ })
199
+ })
200
+
201
+ describe('Events', () => {
202
+ let wrapper: VueWrapper<InstanceType<typeof AmeliproAccordionGroup>>
203
+
204
+ beforeEach(() => {
205
+ wrapper = shallowMount(AmeliproAccordionGroup, {
206
+ props: requiredPropValues(),
207
+ })
29
208
  })
30
209
 
31
- expect(wrapper.html()).toMatchSnapshot()
210
+ it('emit \'change\' with correct id when openClose is called', async () => {
211
+ const items = testHelper.default('items')
212
+ await wrapper.vm.openClose(items[0].id)
213
+ // L'accordéon s'ouvre, l'id est celui de l'item
214
+ const emitted = wrapper.emitted('change')
215
+ expect(emitted).toBeTruthy()
216
+ expect(emitted![0][0]).toBe(items[0].id)
217
+
218
+ // On referme le même accordéon, l'id devient null
219
+ await wrapper.vm.openClose(items[0].id)
220
+ const emitted2 = wrapper.emitted('change')
221
+ expect(emitted2![1][0]).toBe(null)
222
+ })
223
+
224
+ it('emit \'change\' with correct id when clicking on accordion', async () => {
225
+ const items = testHelper.default('items')
226
+ const templates = wrapper.findAllComponents(AmeliproAccordionTemplate)
227
+ await templates[1].vm.$emit('open-close')
228
+ const emitted = wrapper.emitted('change')
229
+ expect(emitted).toBeTruthy()
230
+ expect(emitted![0][0]).toBe(items[1].id)
231
+ })
32
232
  })
33
233
  })