@cnamts/synapse 1.0.15 → 1.0.16

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 (394) hide show
  1. package/dist/{DateFilter-isr8mXVb.js → DateFilter-DSwJUvBu.js} +12 -12
  2. package/dist/{NumberFilter-BOe7DqWX.js → NumberFilter-CwsbYyz4.js} +1 -1
  3. package/dist/{PeriodFilter-WTprpO40.js → PeriodFilter-csnEZU30.js} +1 -1
  4. package/dist/{SelectFilter-CqlG5dmI.js → SelectFilter-Bd5fndzR.js} +1 -1
  5. package/dist/{TextFilter-fVW5bsRw.js → TextFilter-B6gxzq2a.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +2836 -2845
  7. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +3 -3
  8. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +7 -7
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +3 -3
  10. package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +3 -3
  11. package/dist/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.d.ts +3 -3
  12. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +3 -3
  13. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +3 -3
  14. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +3 -3
  15. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +3 -3
  16. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +18 -18
  17. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +9 -9
  18. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +3 -3
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +3 -1
  21. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -3
  22. package/dist/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.d.ts +3 -3
  23. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +3 -3
  24. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  25. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +3 -3
  26. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +3 -3
  27. package/dist/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.d.ts +9 -0
  28. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1288 -1284
  29. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +1936 -1930
  30. package/dist/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.d.ts +3 -3
  31. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +2838 -2865
  32. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +3 -3
  33. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +2843 -2870
  34. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +397 -397
  35. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +642 -640
  36. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +233 -5
  37. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +9 -9
  38. package/dist/components/Captcha/CaptchaHelpdesk.d.ts +6 -0
  39. package/dist/components/CookieBanner/CookieBanner.d.ts +117 -119
  40. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +484 -484
  41. package/dist/components/CookiesSelection/CookiesSelection.d.ts +104 -106
  42. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +14 -10
  43. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +118 -129
  44. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +1 -3
  45. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1 -1
  46. package/dist/components/Customs/SyForm/SyForm.d.ts +60 -53
  47. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +88 -0
  48. package/dist/components/Customs/SyRadioGroup/locales.d.ts +3 -0
  49. package/dist/components/Customs/SyTextField/SyTextField.d.ts +644 -642
  50. package/dist/components/DataList/DataList.d.ts +6 -1
  51. package/dist/components/DataListGroup/DataListGroup.d.ts +14 -2
  52. package/dist/components/DataListItem/DataListItem.d.ts +3 -0
  53. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +2988 -3100
  54. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1458 -1558
  55. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +655 -651
  56. package/dist/components/DatePicker/composables/index.d.ts +4 -0
  57. package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +1 -1
  58. package/dist/components/DatePicker/composables/useCalendarKeyboardNavigation.d.ts +11 -0
  59. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +25 -0
  60. package/dist/components/DatePicker/composables/useDateTextField.d.ts +61 -0
  61. package/dist/components/DatePicker/composables/useHolidayHighlighting.d.ts +15 -0
  62. package/dist/components/DatePicker/constants/messages.d.ts +0 -1
  63. package/dist/components/DialogBox/DialogBox.d.ts +175 -177
  64. package/dist/components/FilterSideBar/FilterSideBar.d.ts +161 -171
  65. package/dist/components/FooterBar/FooterBar.d.ts +5 -5
  66. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -2
  67. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -1
  68. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +1 -1
  69. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +234 -258
  70. package/dist/components/LangBtn/LangBtn.d.ts +173 -179
  71. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +1 -1
  72. package/dist/components/LunarCalendar/LunarCalendar.d.ts +29 -0
  73. package/dist/components/LunarCalendar/useLunarCalendarRules.d.ts +5 -0
  74. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +13 -0
  75. package/dist/components/NirField/NirField.d.ts +1296 -1292
  76. package/dist/components/PaginatedTable/PaginatedTable.d.ts +1 -1
  77. package/dist/components/PeriodField/PeriodField.d.ts +5844 -6068
  78. package/dist/components/PhoneField/PhoneField.d.ts +645 -643
  79. package/dist/components/SyAlert/SyAlert.d.ts +31 -31
  80. package/dist/components/SyTextArea/SyTextArea.d.ts +395 -395
  81. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +193 -227
  82. package/dist/components/Tables/SyTable/SyTable.d.ts +192 -226
  83. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  84. package/dist/components/Tables/common/SyTablePagination.d.ts +118 -129
  85. package/dist/components/Tables/common/TableHeader.d.ts +52 -2
  86. package/dist/components/Tables/common/filters/DateFilter.d.ts +1 -1
  87. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  88. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  89. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  90. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  91. package/dist/components/Tables/common/locales.d.ts +1 -0
  92. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +86 -90
  93. package/dist/components/Tables/common/tableFilterUtils.d.ts +2 -2
  94. package/dist/components/Tables/common/types.d.ts +3 -2
  95. package/dist/components/Tables/common/useTableCheckbox.d.ts +3 -2
  96. package/dist/components/Tables/common/useTableFilter.d.ts +1 -1
  97. package/dist/components/Tables/common/useTableItems.d.ts +6 -8
  98. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +18 -18
  99. package/dist/components/index.d.ts +2 -0
  100. package/dist/design-system-v3.js +101 -98
  101. package/dist/design-system-v3.umd.cjs +25 -33
  102. package/dist/main-DkZZpa3S.js +35197 -0
  103. package/dist/style.css +1 -1
  104. package/dist/utils/formatNir/formatNir.d.ts +2 -0
  105. package/dist/utils/index.d.ts +1 -0
  106. package/dist/utils/insertAt.d.ts +1 -0
  107. package/dist/utils/rules/validateDateValue.d.ts +14 -0
  108. package/dist/vuetifyConfig.d.ts +6 -6
  109. package/package.json +4 -4
  110. package/src/assets/tokens.scss +2 -0
  111. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +1 -18
  112. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +178 -9
  113. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +28 -121
  114. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +15 -270
  115. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +12 -194
  116. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +1 -18
  117. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +1 -18
  118. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +12 -194
  119. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +9 -9
  120. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +5 -4
  121. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +6 -6
  122. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +2 -0
  123. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +135 -9
  124. package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +20 -5
  125. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +195 -28
  126. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/__snapshots__/AmeliproBreadcrumb.spec.ts.snap +193 -124
  127. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +1 -1
  128. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +364 -12
  129. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +30 -390
  130. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +4 -36
  131. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.stories.ts +10 -10
  132. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +7 -7
  133. package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +5 -5
  134. package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +1 -1
  135. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.stories.ts +7 -6
  136. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +6 -6
  137. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +6 -6
  138. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +2 -2
  139. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +2 -43
  140. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +80 -9
  141. package/src/components/Amelipro/AmeliproContentLayout/__tests__/__snapshots__/AmeliproContentLayout.spec.ts.snap +25 -4
  142. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +1 -13
  143. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +7 -6
  144. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +5 -5
  145. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +187 -39
  146. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +147 -147
  147. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +1 -1
  148. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +0 -2
  149. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +160 -20
  150. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/__snapshots__/AmeliproErrorTemplate.spec.ts.snap +34 -177
  151. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +1 -0
  152. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +248 -19
  153. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +34 -203
  154. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +6 -144
  155. package/src/components/Amelipro/AmeliproIcon/AmeliproIcon.vue +20 -2
  156. package/src/components/Amelipro/AmeliproIcon/__tests__/__snapshots__/AmeliproIcon.spec.ts.snap +1 -25
  157. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +5 -5
  158. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +6 -6
  159. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +22 -22
  160. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +2 -2
  161. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/AmeliproMultipleFoldingCard.spec.ts +304 -0
  162. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +373 -0
  163. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.stories.ts +2 -0
  164. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +28 -2
  165. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -173
  166. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +1 -1
  167. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +162 -72
  168. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +2 -2
  169. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +6 -39
  170. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.stories.ts +3 -3
  171. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +8 -8
  172. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/AmeliproPostalAddressField.spec.ts +2 -2
  173. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +11 -52
  174. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +7 -7
  175. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +8 -8
  176. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +6 -6
  177. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +2 -2
  178. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -14
  179. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.stories.ts +7 -7
  180. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +4 -4
  181. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +12 -12
  182. package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +2 -2
  183. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +2 -2
  184. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -2
  185. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +463 -68
  186. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +176 -511
  187. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +6 -6
  188. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +4 -4
  189. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +3 -3
  190. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +1 -2
  191. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +10 -10
  192. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +4 -4
  193. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +5 -5
  194. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +162 -0
  195. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +44 -0
  196. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +79 -1
  197. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -2
  198. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +2 -2
  199. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +21 -7
  200. package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +252 -44
  201. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +166 -0
  202. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/ServiceBtn.spec.ts +137 -0
  203. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/__snapshots__/ServiceBtn.spec.ts.snap +56 -0
  204. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/ServiceList.spec.ts +116 -0
  205. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/__snapshots__/ServiceList.spec.ts.snap +58 -0
  206. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/ServiceMenuContent.spec.ts +118 -0
  207. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/__snapshots__/ServiceMenuContent.spec.ts.snap +151 -0
  208. package/src/components/Amelipro/ServiceMenu/__tests__/ServiceMenu.spec.ts +259 -0
  209. package/src/components/Amelipro/ServiceMenu/__tests__/__snapshots__/ServiceMenu.spec.ts.snap +102 -0
  210. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/StructureBtn.spec.ts +90 -0
  211. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/__snapshots__/StructureBtn.spec.ts.snap +63 -0
  212. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/StructureItem.spec.ts +133 -0
  213. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/__snapshots__/StructureItem.spec.ts.snap +143 -0
  214. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/StructureList.spec.ts +190 -0
  215. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +109 -0
  216. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/StructureTabs.spec.ts +159 -0
  217. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/__snapshots__/StructureTabs.spec.ts.snap +103 -0
  218. package/src/components/Amelipro/StructureMenu/__tests__/StructureMenu.spec.ts +165 -0
  219. package/src/components/Amelipro/StructureMenu/__tests__/__snapshots__/StructureMenu.spec.ts.snap +39 -0
  220. package/src/components/Amelipro/UserInformationSummary/__tests__/UserInformationSummary.spec.ts +140 -0
  221. package/src/components/Amelipro/UserInformationSummary/{tests → __tests__}/__snapshots__/UserInformationSummary.spec.ts.snap +17 -24
  222. package/src/components/Amelipro/UserMenu/UserMenu.stories.ts +3 -3
  223. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -2
  224. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/UserMenuDetails.spec.ts +150 -0
  225. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/__snapshots__/UserMenuDetails.spec.ts.snap +117 -0
  226. package/src/components/Amelipro/UserMenu/__tests__/UserMenu.spec.ts +141 -0
  227. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +103 -0
  228. package/src/components/Captcha/Captcha.vue +9 -24
  229. package/src/components/Captcha/CaptchaHelpdesk.vue +42 -0
  230. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +256 -268
  231. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +0 -1
  232. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.stories.ts +4 -0
  233. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.stories.ts +154 -82
  234. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +229 -125
  235. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +12 -12
  236. package/src/components/Customs/Selects/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +344 -826
  237. package/src/components/Customs/Selects/SySelect/SySelect.vue +215 -169
  238. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +4 -2
  239. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +7 -9
  240. package/src/components/Customs/SyForm/SyForm.mdx +47 -7
  241. package/src/components/Customs/SyForm/SyForm.stories.ts +38 -34
  242. package/src/components/Customs/SyForm/SyForm.vue +27 -6
  243. package/src/components/Customs/SyRadioGroup/Accessibilite.mdx +263 -0
  244. package/src/components/Customs/SyRadioGroup/SyRadioGroup.mdx +37 -0
  245. package/src/components/Customs/SyRadioGroup/SyRadioGroup.stories.ts +665 -0
  246. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +324 -0
  247. package/src/components/Customs/SyRadioGroup/locales.ts +3 -0
  248. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.spec.ts +135 -0
  249. package/src/components/Customs/SyTabs/SyTabs.vue +1 -1
  250. package/src/components/Customs/SyTextField/SyTextField.vue +225 -194
  251. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +32 -2
  252. package/src/components/DataList/DataList.mdx +3 -1
  253. package/src/components/DataList/DataList.stories.ts +67 -17
  254. package/src/components/DataList/DataList.vue +13 -1
  255. package/src/components/DataListGroup/DataListGroup.stories.ts +42 -12
  256. package/src/components/DataListGroup/DataListGroup.vue +14 -1
  257. package/src/components/DataListItem/DataListItem.vue +10 -2
  258. package/src/components/DataListItem/tests/DataListItem.spec.ts +1 -1
  259. package/src/components/DatePicker/CalendarMode/DatePicker.vue +157 -178
  260. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +5 -0
  261. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +179 -179
  262. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +261 -258
  263. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +234 -827
  264. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +46 -73
  265. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +350 -0
  266. package/src/components/DatePicker/composables/index.ts +4 -0
  267. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +270 -0
  268. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +61 -3
  269. package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +198 -0
  270. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +36 -2
  271. package/src/components/DatePicker/composables/tests/useInputHandler.spec.ts +755 -0
  272. package/src/components/DatePicker/composables/tests/useKeyboardEvents.spec.ts +168 -0
  273. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +40 -34
  274. package/src/components/DatePicker/composables/useAsteriskDisplay.ts +1 -2
  275. package/src/components/DatePicker/composables/useCalendarKeyboardNavigation.ts +155 -0
  276. package/src/components/DatePicker/composables/useDatePickerState.ts +163 -0
  277. package/src/components/DatePicker/composables/useDateRangeInput.ts +4 -8
  278. package/src/components/DatePicker/composables/useDateTextField.ts +156 -0
  279. package/src/components/DatePicker/composables/useHolidayHighlighting.ts +64 -0
  280. package/src/components/DatePicker/composables/useInputHandler.ts +25 -19
  281. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +52 -26
  282. package/src/components/DatePicker/constants/messages.ts +0 -1
  283. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +2 -2
  284. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +16 -8
  285. package/src/components/ErrorPage/ErrorPage.vue +1 -1
  286. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +17 -0
  287. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +0 -1
  288. package/src/components/LunarCalendar/LunarCalendar.mdx +33 -0
  289. package/src/components/LunarCalendar/LunarCalendar.stories.ts +232 -0
  290. package/src/components/LunarCalendar/LunarCalendar.vue +57 -0
  291. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +79 -0
  292. package/src/components/LunarCalendar/useLunarCalendarRules.ts +96 -0
  293. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +47 -0
  294. package/src/components/NotificationBar/NotificationBar.vue +2 -2
  295. package/src/components/PaginatedTable/PaginatedTable.stories.ts +15 -10
  296. package/src/components/PaginatedTable/PaginatedTable.vue +24 -35
  297. package/src/components/PhoneField/PhoneField.vue +102 -83
  298. package/src/components/SearchListField/tests/SearchListField.spec.ts +7 -53
  299. package/src/components/SyAlert/SyAlert.vue +5 -2
  300. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +24 -72
  301. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +521 -23
  302. package/src/components/Tables/SyServerTable/SyServerTable.vue +19 -13
  303. package/src/components/Tables/SyTable/SyTable.stories.ts +391 -18
  304. package/src/components/Tables/SyTable/SyTable.vue +16 -11
  305. package/src/components/Tables/common/TableHeader.vue +16 -7
  306. package/src/components/Tables/common/filters/DateFilter.vue +1 -1
  307. package/src/components/Tables/common/locales.ts +1 -0
  308. package/src/components/Tables/common/tableFilterUtils.ts +3 -3
  309. package/src/components/Tables/common/types.ts +4 -2
  310. package/src/components/Tables/common/useTableCheckbox.ts +4 -3
  311. package/src/components/Tables/common/useTableFilter.ts +2 -2
  312. package/src/components/Tables/common/useTableItems.ts +4 -19
  313. package/src/components/index.ts +2 -0
  314. package/src/composables/validation/tests/useFormValidation.spec.ts +251 -0
  315. package/src/composables/validation/tests/useValidatable.spec.ts +90 -0
  316. package/src/stories/Accessibilite/Audit/Exemptions-derogations.mdx +241 -0
  317. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +17 -10
  318. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +16 -0
  319. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +160 -106
  320. package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +2 -1
  321. package/src/stories/GuideDuDev/ClassesUtilitaires/FormattingUtilities.mdx +20 -0
  322. package/src/stories/GuideDuDev/ClassesUtilitaires/index.mdx +10 -0
  323. package/src/utils/formatNir/formatNir.ts +15 -0
  324. package/src/utils/index.ts +1 -0
  325. package/src/utils/insertAt.ts +11 -0
  326. package/src/utils/rules/isDateValid/IsDateValid.mdx +2 -2
  327. package/src/utils/rules/isDateValid/IsDateValid.stories.ts +6 -4
  328. package/src/utils/rules/isDateValid/index.ts +23 -8
  329. package/src/utils/rules/isDateValid/tests/isDateValid.spec.ts +9 -0
  330. package/src/utils/rules/isExactLength/IsExactLenght.mdx +1 -1
  331. package/src/utils/rules/isHolidayDay/IsHolidayDay.mdx +19 -7
  332. package/src/utils/rules/isHolidayDay/index.ts +6 -8
  333. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +13 -1
  334. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +2 -2
  335. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.stories.ts +9 -2
  336. package/src/utils/rules/isNotAfterDate/index.ts +5 -12
  337. package/src/utils/rules/isNotAfterDate/tests/isNotAfterDate.spec.ts +20 -0
  338. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +2 -2
  339. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.stories.ts +8 -2
  340. package/src/utils/rules/isNotAfterToday/index.ts +6 -6
  341. package/src/utils/rules/isNotAfterToday/tests/isNotAfterToday.spec.ts +20 -0
  342. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +2 -2
  343. package/src/utils/rules/isNotBeforeDate/index.ts +5 -12
  344. package/src/utils/rules/isNotBeforeDate/tests/IsNotBeforeDate.spec.ts +20 -0
  345. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +2 -2
  346. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.stories.ts +8 -2
  347. package/src/utils/rules/isNotBeforeToday/index.ts +6 -6
  348. package/src/utils/rules/isNotBeforeToday/tests/notBeforeToday.spec.ts +19 -0
  349. package/src/utils/rules/validateDateValue.ts +37 -0
  350. package/src/vuetifyConfig.ts +6 -2
  351. package/dist/components/Customs/Selects/SelectBtnField/config.d.ts +0 -11
  352. package/dist/components/DatePicker/tests/setup.d.ts +0 -75370
  353. package/dist/components/Tables/common/formatters.d.ts +0 -17
  354. package/dist/main-CbBVJ_le.js +0 -34377
  355. package/dist/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +0 -70
  356. package/dist/stories/DesignTokens/StylesTypographiques.stories.new.d.ts +0 -8
  357. package/dist/stories/DesignTokens/TypographyDisplay.d.ts +0 -28
  358. package/dist/stories/DesignTokens/vue-shims.d.ts +0 -6
  359. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -40
  360. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +0 -369
  361. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -21
  362. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/__snapshots__/ServiceBtn.spec.ts.snap +0 -100
  363. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -25
  364. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/__snapshots__/ServiceList.spec.ts.snap +0 -245
  365. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -45
  366. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/__snapshots__/ServiceMenuContent.spec.ts.snap +0 -787
  367. package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -46
  368. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -111
  369. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -17
  370. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/__snapshots__/StructureBtn.spec.ts.snap +0 -34
  371. package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -21
  372. package/src/components/Amelipro/StructureMenu/StructureItem/tests/__snapshots__/StructureItem.spec.ts.snap +0 -106
  373. package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -33
  374. package/src/components/Amelipro/StructureMenu/StructureList/tests/__snapshots__/StructureList.spec.ts.snap +0 -353
  375. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -60
  376. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +0 -824
  377. package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -69
  378. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +0 -1383
  379. package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -24
  380. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -33
  381. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/__snapshots__/UserMenuDetails.spec.ts.snap +0 -3
  382. package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -34
  383. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +0 -101
  384. package/src/components/Customs/Selects/SelectBtnField/config.ts +0 -11
  385. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -151
  386. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -148
  387. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -361
  388. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -709
  389. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +0 -4111
  390. package/src/components/DatePicker/tests/archiTest.md +0 -33
  391. package/src/components/DatePicker/tests/navigation.regression.spec.ts +0 -74
  392. package/src/components/DatePicker/tests/navigation.simple.spec.ts +0 -137
  393. package/src/components/DatePicker/tests/setup.ts +0 -243
  394. package/src/components/Tables/common/formatters.ts +0 -72
@@ -1,27 +1,167 @@
1
- import { mount } from '@vue/test-utils'
2
- import { expect, describe, it } from 'vitest'
1
+ import type { ExpectedPropOptions } from '@tests/types'
2
+ import { VueWrapper, mount } from '@vue/test-utils'
3
+ import { beforeEach, describe, expect, it } from 'vitest'
3
4
  import AmeliproErrorTemplate from '../AmeliproErrorTemplate.vue'
5
+ import type { ComponentProps } from 'vue-component-type-helpers'
6
+ import type { PropType } from 'vue'
7
+ import type { RouteLocationRaw } from 'vue-router'
8
+ import TestHelper from '@tests/helpers/TestHelper'
9
+
10
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproErrorTemplate> = {
11
+ btnHref: {
12
+ type: String,
13
+ default: undefined,
14
+ },
15
+ btnTo: {
16
+ type: [Array, Object, String] as PropType<RouteLocationRaw>,
17
+ default: undefined,
18
+ },
19
+ customBtnText: {
20
+ type: String,
21
+ default: undefined,
22
+ },
23
+ customContentText: {
24
+ type: String,
25
+ default: undefined,
26
+ },
27
+ customContentTitle: {
28
+ type: String,
29
+ default: undefined,
30
+ },
31
+ customImgUrl: {
32
+ type: String,
33
+ default: undefined,
34
+ },
35
+ customTitleText: {
36
+ type: String,
37
+ default: undefined,
38
+ },
39
+ errorType: {
40
+ type: String,
41
+ required: true,
42
+ },
43
+ imgMinWidth: {
44
+ type: String,
45
+ default: '200',
46
+ },
47
+ imgWidth: {
48
+ type: String,
49
+ default: '200',
50
+ },
51
+ noButton: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ uniqueId: {
56
+ type: String,
57
+ default: undefined,
58
+ },
59
+ }
60
+
61
+ // Values pour les props "required"
62
+ const requiredPropValues = (): ComponentProps<typeof AmeliproErrorTemplate> => ({ errorType: 'disconnect' })
63
+
64
+ // Valeurs pour les props "modified"
65
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproErrorTemplate> => ({
66
+ btnHref: '#',
67
+ btnTo: '/home',
68
+ customBtnText: 'bouton',
69
+ customContentText: 'content text',
70
+ customContentTitle: 'content title',
71
+ customImgUrl: 'custom-img-url',
72
+ customTitleText: 'title',
73
+ errorType: 'error404',
74
+ imgMinWidth: '300',
75
+ imgWidth: '350',
76
+ noButton: true,
77
+ uniqueId: 'modified-unique-id',
78
+ })
79
+
80
+ const testHelper = new TestHelper(AmeliproErrorTemplate)
81
+ testHelper.setExpectedPropOptions(expectedPropOptions)
82
+ .setRequiredPropValues(requiredPropValues)
83
+ .setModifiedPropValues(modifiedPropValues)
4
84
 
5
85
  describe('AmeliproErrorTemplate', () => {
6
- it('render correctly', async () => {
7
- const wrapper = mount(AmeliproErrorTemplate, {
8
- props: {
9
- btnHref: '#modified-btn-href',
10
- customBtnText: 'Modified custom btn text',
11
- customContentText: 'Modified content text',
12
- customContentTitle: 'Modified content title',
13
- customImgUrl: 'modified-custom-img-url',
14
- customTitleText: 'Modified title',
15
- errorType: 'error500',
16
- imgMinWidth: '300',
17
- imgWidth: '350',
18
- uniqueId: 'error-template-unique-id',
19
- },
20
- slots: {
21
- default: 'My Button',
22
- },
86
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproErrorTemplate>>
87
+
88
+ describe('Snapshots', () => {
89
+ testHelper.snapshots()
90
+ })
91
+
92
+ describe('Properties', () => {
93
+ testHelper.properties()
94
+ })
95
+
96
+ describe('setting props should update props of inner components', () => {
97
+ describe('Main > #image > img', () => {
98
+ beforeEach(() => {
99
+ // Slots => mount
100
+ vueWrapper = mount(AmeliproErrorTemplate, { props: requiredPropValues() })
101
+ })
102
+
103
+ it('img attributes reflect props (min/max/width and src when customImgUrl provided)', async () => {
104
+ const img = () => vueWrapper.find('.amelipro-error-template__img')
105
+
106
+ // defaults
107
+ expect(img().attributes('min-width')).toBe(testHelper.default('imgMinWidth'))
108
+ expect(img().attributes('max-width')).toBe(testHelper.default('imgWidth'))
109
+ expect(img().attributes('width')).toBe(testHelper.default('imgWidth'))
110
+
111
+ // set modified props (including customImgUrl)
112
+ const modified = modifiedPropValues()
113
+ await vueWrapper.setProps(modified)
114
+
115
+ expect(img().attributes('min-width')).toBe(testHelper.modified('imgMinWidth'))
116
+ expect(img().attributes('max-width')).toBe(testHelper.modified('imgWidth'))
117
+ expect(img().attributes('width')).toBe(testHelper.modified('imgWidth'))
118
+
119
+ // customImgUrl should map to src when provided
120
+ expect(img().attributes('src')).toBe(testHelper.modified('customImgUrl'))
121
+ })
122
+ })
123
+ })
124
+
125
+ describe('Functions', () => {
126
+ // loadGlobalData ne se réexécute pas si errorType change.
127
+ // Il faut recréer un wrapper différent pour chaque test
128
+ it('tests loadGlobalData for error 401', () => {
129
+ vueWrapper = mount(AmeliproErrorTemplate, { props: requiredPropValues() })
130
+
131
+ expect(vueWrapper.find('.amelipro-error-template__title').text()).toBe('Déconnexion')
132
+ expect(vueWrapper.find('.amelipro-error-template__content__text p').text()).toBe('Merci pour votre visite, à très bientôt !')
133
+ expect(vueWrapper.find('.amelipro-error-template-content-title').text()).toBe('Vous êtes déconnecté(e)')
134
+ expect(vueWrapper.find('button').text()).toBe('Page d’accueil')
23
135
  })
24
136
 
25
- expect(wrapper.html()).toMatchSnapshot()
137
+ it('tests loadGlobalData for error 404', () => {
138
+ vueWrapper = mount(AmeliproErrorTemplate, {
139
+ props: {
140
+ ...requiredPropValues(),
141
+ errorType: 'error404',
142
+ },
143
+ })
144
+
145
+ expect(vueWrapper.exists()).toBe(true)
146
+ expect(vueWrapper.find('.amelipro-error-template__title').text()).toBe('Erreur 404')
147
+ expect(vueWrapper.find('.amelipro-error-template__content__text p').text()).toBe('La page que vous essayez d’afficher n’existe plus ou a été déplacée.')
148
+ expect(vueWrapper.find('.amelipro-error-template-content-title').text()).toBe('Page non trouvée ou inexistante - Erreur 404')
149
+ expect(vueWrapper.find('button').text()).toBe('Page d’accueil')
150
+ })
151
+ })
152
+
153
+ describe('Events', () => {
154
+ it('test emitClickEvent', async () => {
155
+ vueWrapper = mount(AmeliproErrorTemplate, {
156
+ props: {
157
+ ...requiredPropValues(),
158
+ errorType: 'error404',
159
+ },
160
+ })
161
+
162
+ expect(vueWrapper.emitted('click')).toStrictEqual(undefined)
163
+ await vueWrapper.find('button').trigger('click')
164
+ expect(vueWrapper.emitted('click')).toStrictEqual([[]])
165
+ })
26
166
  })
27
167
  })
@@ -1,184 +1,41 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`AmeliproErrorTemplate > render correctly 1`] = `
3
+ exports[`AmeliproErrorTemplate > Snapshots > renders the component with all properties filled in 1`] = `
4
4
  <div
5
5
  class="amelipro-error-template"
6
- id="error-template-unique-id-container"
6
+ id="modified-unique-id-container"
7
7
  >
8
- <div
9
- class="
10
- amelipro-card
11
- amelipro-error-template__card
12
- d-flex
13
- flex-column
14
- flex-md-row
15
- w-100
16
- "
17
- id="error-template-unique-id-card-container"
18
- style="
19
- background-color: #FFFFFF;
20
- border: 1px solid #DDDEDE;
21
- "
22
- >
23
- <div
24
- class="amelipro-card__left-part"
25
- id="error-template-unique-id-card-left-part"
26
- style="width: 100%;"
27
- >
28
- <div
29
- class="
30
- amelipro-card__header
31
- w-100
32
- "
33
- id="error-template-unique-id-card-header"
34
- >
35
- <div class="
36
- align-sm-center
37
- amelipro-card__header-content
38
- d-flex
39
- flex-column
40
- flex-sm-row
41
- w-100
42
- ">
43
- <div
44
- class="amelipro-card__header-slot-wrapper--left"
45
- id="error-template-unique-id-card-header-left-part"
46
- style="width: 100%;"
47
- >
48
- <h1
49
- class="
50
- amelipro-error-template__title
51
- font-weight-semibold
52
- mb-4
53
- text-uppercase
54
- "
55
- id="error-template-unique-id-title"
56
- >
57
- Modified title
58
- </h1>
59
- </div>
60
- <!-- v-if -->
61
- </div>
62
- </div>
63
- <div
64
- class="amelipro-card__content"
65
- id="error-template-unique-id-card-content"
66
- >
67
- <div
68
- class="
69
- align-center
70
- amelipro-error-template__content
71
- d-flex
72
- flex-column
73
- "
74
- id="error-template-unique-id-content"
75
- >
76
- <img
77
- alt=""
78
- class="
79
- amelipro-error-template__img
80
- mx-4
81
- my-2
82
- "
83
- id="error-template-unique-id-img"
84
- max-width="350"
85
- min-width="300"
86
- src="modified-custom-img-url"
87
- width="350"
88
- />
89
- <h2
90
- class="
91
- amelipro-error-template-content-title
92
- font-weight-semibold
93
- text-ap-parme-darken-1
94
- "
95
- id="error-template-unique-id-content-title"
96
- >
97
- Modified content title
98
- </h2>
99
- My Button
100
- <a
101
- class="
102
- amelipro-btn
103
- amelipro-error-template-content-btn
104
- amelipro-error-template-content-btn
105
- elevation-0
106
- mt-2
107
- mt-2
108
- text-ap-blue-darken-1
109
- text-none
110
- text-none
111
- v-btn
112
- v-btn--density-default
113
- v-btn--flat
114
- v-btn--size-default
115
- v-btn--variant-text
116
- v-theme--light
117
- "
118
- href="#modified-btn-href"
119
- id="error-template-unique-id-content-btn"
120
- style="
121
- height: auto;
122
- min-height: auto;
123
- padding: 0px;
124
- "
125
- type="button"
126
- ><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
127
-
128
- <!----><span
129
- class="v-btn__content"
130
- data-no-activator=""
131
- ><span class="
132
- align-center
133
- amelipro-custom-btn
134
- d-flex
135
- flex-row
136
- ">Modified custom btn text <span
137
- class="
138
- amelipro-btn__icon--right
139
- amelipro-icon
140
- d-block
141
- "
142
- id="error-template-unique-id-content-btn-icon"
143
- ><span
144
- class="amelipro-external-icon"
145
- style="
146
- background-color: transparent;
147
- border-radius: 50%;
148
- color: #00749C;
149
- padding: 0px;
150
- height: 1.5rem;
151
- width: 1.5rem;
152
- "
153
- ><i
154
- aria-hidden="true"
155
- class="
156
- M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z
157
- mdi
158
- notranslate
159
- text-ap-blue-darken-1
160
- v-icon
161
- v-theme--light
162
- "
163
- style="
164
- font-size: 100%;
165
- height: 100%;
166
- width: 100%;
167
- display: block;
168
- "
169
- ></i></span></span>
170
-
171
- <!-- v-if --></span></span>
172
-
173
- <!---->
174
-
175
- <!---->
176
- </a>
177
- <!-- v-if -->
178
- </div>
179
- </div>
180
- </div>
181
- <!-- v-if -->
182
- </div>
8
+ <amelipro-card-stub
9
+ bordercolor="ap-grey-lighten-2"
10
+ bordered="true"
11
+ cardcolor="ap-white"
12
+ classes="amelipro-error-template__card"
13
+ divider="false"
14
+ headerrightwidth="50%"
15
+ nocardheader="false"
16
+ rightpart="false"
17
+ rightpartwidth="25%"
18
+ titlecolor="ap-grey-darken-1"
19
+ titlelevel="2"
20
+ uniqueid="modified-unique-id-card"
21
+ ></amelipro-card-stub>
22
+ </div>
23
+ `;
24
+
25
+ exports[`AmeliproErrorTemplate > Snapshots > renders the component with only required properties filled in 1`] = `
26
+ <div class="amelipro-error-template">
27
+ <amelipro-card-stub
28
+ bordercolor="ap-grey-lighten-2"
29
+ bordered="true"
30
+ cardcolor="ap-white"
31
+ classes="amelipro-error-template__card"
32
+ divider="false"
33
+ headerrightwidth="50%"
34
+ nocardheader="false"
35
+ rightpart="false"
36
+ rightpartwidth="25%"
37
+ titlecolor="ap-grey-darken-1"
38
+ titlelevel="2"
39
+ ></amelipro-card-stub>
183
40
  </div>
184
41
  `;
@@ -103,6 +103,7 @@
103
103
  <object
104
104
  v-if="mdAndUp"
105
105
  :id="`${uniqueId}-pdf-display`"
106
+ class="amelipro-file-preview__pdf-display"
106
107
  :aria-label="pdfDisplayTitle"
107
108
  :height="previewHeight"
108
109
  :data="fileSrc"
@@ -1,24 +1,253 @@
1
- import { mount } from '@vue/test-utils'
2
- import { describe, expect, it } from 'vitest'
1
+ import type { ExpectedPropOptions } from '@tests/types'
2
+ import { mount, RouterLinkStub, shallowMount, VueWrapper } from '@vue/test-utils'
3
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest'
3
4
  import AmeliproFilePreview from '../AmeliproFilePreview.vue'
5
+ import type { ComponentProps } from 'vue-component-type-helpers'
6
+ import { DisplayTestComponent } from '@tests/helpers/utils'
7
+ import TestHelper from '@tests/helpers/TestHelper'
8
+ import { AmeliproAccordion, AmeliproCard } from '@/components'
9
+
10
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproFilePreview> = {
11
+ cardTitle: {
12
+ type: String,
13
+ required: true,
14
+ },
15
+ downloadBtnText: {
16
+ type: String,
17
+ default: 'Télécharger',
18
+ },
19
+ fileName: {
20
+ type: String,
21
+ required: true,
22
+ },
23
+ fileSrc: {
24
+ type: String,
25
+ required: true,
26
+ },
27
+ foldable: {
28
+ type: Boolean,
29
+ default: false,
30
+ },
31
+ pdfDisplayTitle: {
32
+ type: String,
33
+ default: 'Aperçu du fichier PDF',
34
+ },
35
+ isOpen: {
36
+ type: Boolean,
37
+ default: false,
38
+ },
39
+ linkTitle: {
40
+ type: String,
41
+ default: 'Télécharger le fichier au Format PDF',
42
+ },
43
+ previewHeight: {
44
+ type: Number,
45
+ default: 550,
46
+ },
47
+ uniqueId: {
48
+ type: String,
49
+ required: true,
50
+ },
51
+ }
52
+
53
+ // Values pour les props "required"
54
+ const requiredPropValues = (): ComponentProps<typeof AmeliproFilePreview> => ({
55
+ cardTitle: 'Required card title',
56
+ fileName: 'Required file name',
57
+ fileSrc: 'required-file-src',
58
+ uniqueId: 'required-unique-id',
59
+ })
60
+
61
+ // Valeurs pour les props "modified"
62
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproFilePreview> => ({
63
+ cardTitle: 'The card title',
64
+ downloadBtnText: 'The download btn text',
65
+ fileName: 'The file name',
66
+ fileSrc: 'the-file-src',
67
+ foldable: true,
68
+ pdfDisplayTitle: 'The pdf title',
69
+ isOpen: true,
70
+ linkTitle: 'The link title',
71
+ previewHeight: 400,
72
+ uniqueId: 'test-id',
73
+ })
74
+
75
+ const displayWrapper = mount(DisplayTestComponent)
76
+ const testHelper = new TestHelper(AmeliproFilePreview)
77
+ testHelper.setExpectedPropOptions(expectedPropOptions)
78
+ .setRequiredPropValues(requiredPropValues)
79
+ .setModifiedPropValues(modifiedPropValues)
4
80
 
5
81
  describe('AmeliproFilePreview', () => {
6
- it('render correctly', async () => {
7
- const wrapper = mount(AmeliproFilePreview, {
8
- props: {
9
- cardTitle: 'Modified card title',
10
- downloadBtnText: 'Modified download btn text',
11
- fileName: 'file name',
12
- fileSrc: 'file-src',
13
- foldable: true,
14
- pdfDisplayTitle: 'Modified pdf display title',
15
- isOpen: true,
16
- linkTitle: 'Modified link title',
17
- previewHeight: 400,
18
- uniqueId: 'pdf-preview-unique-id',
19
- },
20
- })
21
-
22
- expect(wrapper.html()).toMatchSnapshot()
82
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproFilePreview>>
83
+ displayWrapper.vm.setMdAndUp(true)
84
+
85
+ describe('Snapshots', () => {
86
+ testHelper.snapshots()
87
+ })
88
+
89
+ describe('Properties', () => {
90
+ testHelper.properties()
91
+ })
92
+
93
+ describe('setting props should update props and attributes of inner components', () => {
94
+ beforeEach(() => {
95
+ vueWrapper = shallowMount(AmeliproFilePreview, {
96
+ props: requiredPropValues(),
97
+ global: {
98
+ stubs: {
99
+ AmeliproCard,
100
+ RouterLink: RouterLinkStub,
101
+ },
102
+ },
103
+ })
104
+ })
105
+
106
+ describe('AmeliproCard', () => {
107
+ it('prop cardTitle sets prop cardTitle', async () => {
108
+ expect(vueWrapper.findComponent(AmeliproCard).props('cardTitle')).toBe(requiredPropValues().cardTitle)
109
+
110
+ const { cardTitle } = modifiedPropValues()
111
+ await vueWrapper.setProps({ cardTitle })
112
+ expect(vueWrapper.findComponent(AmeliproCard).props('cardTitle')).toBe(modifiedPropValues().cardTitle)
113
+ })
114
+ })
115
+
116
+ describe('AmeliproAccordion', () => {
117
+ it('prop cardTitle sets prop accordionTitle', async () => {
118
+ await vueWrapper.setProps({ foldable: true })
119
+ expect(vueWrapper.findComponent(AmeliproAccordion).props('accordionTitle')).toBe(requiredPropValues().cardTitle)
120
+
121
+ const { cardTitle } = modifiedPropValues()
122
+ await vueWrapper.setProps({ cardTitle })
123
+ expect(vueWrapper.findComponent(AmeliproAccordion).props('accordionTitle')).toBe(modifiedPropValues().cardTitle)
124
+ })
125
+ })
126
+ })
127
+
128
+ describe('setting props should update attributes of inner tags', () => {
129
+ beforeEach(() => {
130
+ vueWrapper = mount(AmeliproFilePreview, {
131
+ props: requiredPropValues(),
132
+ stubs: {
133
+ AmeliproCard,
134
+ RouterLink: RouterLinkStub,
135
+ },
136
+ })
137
+ })
138
+
139
+ describe('header link', () => {
140
+ it('prop fileName sets attribute download', async () => {
141
+ expect(vueWrapper.find('.amelipro-file-preview__header__link').attributes('download')).toBe('Required file name')
142
+
143
+ await vueWrapper.setProps({ fileName: 'The new file name' })
144
+ expect(vueWrapper.find('.amelipro-file-preview__header__link').attributes('download')).toBe('The new file name')
145
+ })
146
+
147
+ it('prop fileSrc sets attribute href', async () => {
148
+ expect(vueWrapper.find('.amelipro-file-preview__header__link').attributes('href')).toBe('required-file-src')
149
+
150
+ await vueWrapper.setProps({ fileSrc: 'new-file-src' })
151
+ expect(vueWrapper.find('.amelipro-file-preview__header__link').attributes('href')).toBe('new-file-src')
152
+ })
153
+
154
+ it('prop linkTitle sets attribute title', async () => {
155
+ expect(vueWrapper.find('.amelipro-file-preview__header__link').attributes('title')).toBe('Télécharger le fichier au Format PDF')
156
+
157
+ const { linkTitle } = modifiedPropValues()
158
+ await vueWrapper.setProps({ linkTitle })
159
+ expect(vueWrapper.find('.amelipro-file-preview__header__link').attributes('title')).toBe('The link title')
160
+ })
161
+ })
162
+
163
+ describe('pdf display', () => {
164
+ it('prop fileSrc sets attribute src', async () => {
165
+ expect(vueWrapper.find('.amelipro-file-preview__pdf-display').attributes('data')).toBe('required-file-src')
166
+
167
+ await vueWrapper.setProps({ fileSrc: 'new-file-src' })
168
+ expect(vueWrapper.find('.amelipro-file-preview__pdf-display').attributes('data')).toBe('new-file-src')
169
+ })
170
+
171
+ it('prop pdfDisplayTitle sets attribute title', async () => {
172
+ expect(vueWrapper.find('.amelipro-file-preview__pdf-display').attributes('aria-label')).toBe('Aperçu du fichier PDF')
173
+
174
+ const { pdfDisplayTitle } = modifiedPropValues()
175
+ await vueWrapper.setProps({ pdfDisplayTitle })
176
+ expect(vueWrapper.find('.amelipro-file-preview__pdf-display').attributes('aria-label')).toBe('The pdf title')
177
+ })
178
+ })
179
+
180
+ describe('download link', () => {
181
+ beforeEach(() => {
182
+ displayWrapper.vm.setMdAndUp(false)
183
+ })
184
+ afterEach(() => {
185
+ displayWrapper.vm.setMdAndUp(true)
186
+ })
187
+
188
+ it('prop fileName sets attribute download', async () => {
189
+ expect(vueWrapper.find('.download-file-link').attributes('download')).toBe('Required file name')
190
+
191
+ await vueWrapper.setProps({ fileName: 'The new file name' })
192
+ expect(vueWrapper.find('.download-file-link').attributes('download')).toBe('The new file name')
193
+ })
194
+
195
+ it('prop fileSrc sets attribute href', async () => {
196
+ expect(vueWrapper.find('.download-file-link').attributes('href')).toBe('required-file-src')
197
+
198
+ await vueWrapper.setProps({ fileSrc: 'new-file-src' })
199
+ expect(vueWrapper.find('.download-file-link').attributes('href')).toBe('new-file-src')
200
+ })
201
+
202
+ it('prop linkTitle sets attribute title', async () => {
203
+ expect(vueWrapper.find('.download-file-link').attributes('title')).toBe('Télécharger le fichier au Format PDF')
204
+
205
+ const { linkTitle } = modifiedPropValues()
206
+ await vueWrapper.setProps({ linkTitle })
207
+ expect(vueWrapper.find('.download-file-link').attributes('title')).toBe('The link title')
208
+ })
209
+ })
210
+ })
211
+
212
+ describe('visibility of some elements depends on screen size', () => {
213
+ beforeEach(() => {
214
+ vueWrapper = mount(AmeliproFilePreview, {
215
+ props: modifiedPropValues(),
216
+ stubs: {
217
+ AmeliproCard,
218
+ RouterLink: RouterLinkStub,
219
+ },
220
+ })
221
+ })
222
+
223
+ it('header right visibility', async () => {
224
+ displayWrapper.vm.setMdAndUp(true)
225
+ await vueWrapper.vm.$nextTick()
226
+ expect(vueWrapper.find('.amelipro-file-preview__header-right').exists()).toBe(true)
227
+
228
+ displayWrapper.vm.setMdAndUp(false)
229
+ await vueWrapper.vm.$nextTick()
230
+ expect(vueWrapper.find('.amelipro-file-preview__header-right').exists()).toBe(false)
231
+ })
232
+
233
+ it('pdf display visibility', async () => {
234
+ displayWrapper.vm.setMdAndUp(true)
235
+ await vueWrapper.vm.$nextTick()
236
+ expect(vueWrapper.find('.amelipro-file-preview__pdf-display').exists()).toBe(true)
237
+
238
+ displayWrapper.vm.setMdAndUp(false)
239
+ await vueWrapper.vm.$nextTick()
240
+ expect(vueWrapper.find('.amelipro-file-preview__pdf-display').exists()).toBe(false)
241
+ })
242
+
243
+ it('download file link visibility', async () => {
244
+ displayWrapper.vm.setMdAndUp(true)
245
+ await vueWrapper.vm.$nextTick()
246
+ expect(vueWrapper.find('.download-file-link').exists()).toBe(false)
247
+
248
+ displayWrapper.vm.setMdAndUp(false)
249
+ await vueWrapper.vm.$nextTick()
250
+ expect(vueWrapper.find('.download-file-link').exists()).toBe(true)
251
+ })
23
252
  })
24
253
  })