@cnamts/synapse 1.0.14 → 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 (395) hide show
  1. package/README.md +0 -0
  2. package/dist/{DateFilter-isr8mXVb.js → DateFilter-DSwJUvBu.js} +12 -12
  3. package/dist/{NumberFilter-BOe7DqWX.js → NumberFilter-CwsbYyz4.js} +1 -1
  4. package/dist/{PeriodFilter-WTprpO40.js → PeriodFilter-csnEZU30.js} +1 -1
  5. package/dist/{SelectFilter-CqlG5dmI.js → SelectFilter-Bd5fndzR.js} +1 -1
  6. package/dist/{TextFilter-fVW5bsRw.js → TextFilter-B6gxzq2a.js} +1 -1
  7. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +2836 -2845
  8. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +3 -3
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +7 -7
  10. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +3 -3
  11. package/dist/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.d.ts +3 -3
  12. package/dist/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.d.ts +3 -3
  13. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +3 -3
  14. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +3 -3
  15. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +3 -3
  16. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +3 -3
  17. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +18 -18
  18. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +9 -9
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +3 -3
  21. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +3 -1
  22. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -3
  23. package/dist/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.d.ts +3 -3
  24. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +3 -3
  25. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  26. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +3 -3
  27. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +3 -3
  28. package/dist/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.d.ts +9 -0
  29. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1288 -1284
  30. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +1936 -1930
  31. package/dist/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.d.ts +3 -3
  32. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +2838 -2865
  33. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +3 -3
  34. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +2843 -2870
  35. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +397 -397
  36. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +642 -640
  37. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +233 -5
  38. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +9 -9
  39. package/dist/components/Captcha/CaptchaHelpdesk.d.ts +6 -0
  40. package/dist/components/CookieBanner/CookieBanner.d.ts +117 -119
  41. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +484 -484
  42. package/dist/components/CookiesSelection/CookiesSelection.d.ts +104 -106
  43. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +14 -10
  44. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +118 -129
  45. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +1 -3
  46. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1 -1
  47. package/dist/components/Customs/SyForm/SyForm.d.ts +60 -53
  48. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +88 -0
  49. package/dist/components/Customs/SyRadioGroup/locales.d.ts +3 -0
  50. package/dist/components/Customs/SyTextField/SyTextField.d.ts +644 -642
  51. package/dist/components/DataList/DataList.d.ts +6 -1
  52. package/dist/components/DataListGroup/DataListGroup.d.ts +14 -2
  53. package/dist/components/DataListItem/DataListItem.d.ts +3 -0
  54. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +2988 -3100
  55. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1458 -1558
  56. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +655 -651
  57. package/dist/components/DatePicker/composables/index.d.ts +4 -0
  58. package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +1 -1
  59. package/dist/components/DatePicker/composables/useCalendarKeyboardNavigation.d.ts +11 -0
  60. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +25 -0
  61. package/dist/components/DatePicker/composables/useDateTextField.d.ts +61 -0
  62. package/dist/components/DatePicker/composables/useHolidayHighlighting.d.ts +15 -0
  63. package/dist/components/DatePicker/constants/messages.d.ts +0 -1
  64. package/dist/components/DialogBox/DialogBox.d.ts +175 -177
  65. package/dist/components/FilterSideBar/FilterSideBar.d.ts +161 -171
  66. package/dist/components/FooterBar/FooterBar.d.ts +5 -5
  67. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -2
  68. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -1
  69. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +1 -1
  70. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +234 -258
  71. package/dist/components/LangBtn/LangBtn.d.ts +173 -179
  72. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +1 -1
  73. package/dist/components/LunarCalendar/LunarCalendar.d.ts +29 -0
  74. package/dist/components/LunarCalendar/useLunarCalendarRules.d.ts +5 -0
  75. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +13 -0
  76. package/dist/components/NirField/NirField.d.ts +1296 -1292
  77. package/dist/components/PaginatedTable/PaginatedTable.d.ts +1 -1
  78. package/dist/components/PeriodField/PeriodField.d.ts +5844 -6068
  79. package/dist/components/PhoneField/PhoneField.d.ts +645 -643
  80. package/dist/components/SyAlert/SyAlert.d.ts +31 -31
  81. package/dist/components/SyTextArea/SyTextArea.d.ts +395 -395
  82. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +193 -227
  83. package/dist/components/Tables/SyTable/SyTable.d.ts +192 -226
  84. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  85. package/dist/components/Tables/common/SyTablePagination.d.ts +118 -129
  86. package/dist/components/Tables/common/TableHeader.d.ts +52 -2
  87. package/dist/components/Tables/common/filters/DateFilter.d.ts +1 -1
  88. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  89. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  90. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  91. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  92. package/dist/components/Tables/common/locales.d.ts +1 -0
  93. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +86 -90
  94. package/dist/components/Tables/common/tableFilterUtils.d.ts +2 -2
  95. package/dist/components/Tables/common/types.d.ts +3 -2
  96. package/dist/components/Tables/common/useTableCheckbox.d.ts +3 -2
  97. package/dist/components/Tables/common/useTableFilter.d.ts +1 -1
  98. package/dist/components/Tables/common/useTableItems.d.ts +6 -8
  99. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +18 -18
  100. package/dist/components/index.d.ts +2 -0
  101. package/dist/design-system-v3.js +101 -98
  102. package/dist/design-system-v3.umd.cjs +25 -33
  103. package/dist/main-DkZZpa3S.js +35197 -0
  104. package/dist/style.css +1 -1
  105. package/dist/utils/formatNir/formatNir.d.ts +2 -0
  106. package/dist/utils/index.d.ts +1 -0
  107. package/dist/utils/insertAt.d.ts +1 -0
  108. package/dist/utils/rules/validateDateValue.d.ts +14 -0
  109. package/dist/vuetifyConfig.d.ts +6 -6
  110. package/package.json +4 -4
  111. package/src/assets/tokens.scss +2 -0
  112. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +1 -18
  113. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +178 -9
  114. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +28 -121
  115. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +15 -270
  116. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +12 -194
  117. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +1 -18
  118. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +1 -18
  119. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +12 -194
  120. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +9 -9
  121. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +5 -4
  122. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +6 -6
  123. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +2 -0
  124. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +135 -9
  125. package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +20 -5
  126. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +195 -28
  127. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/__snapshots__/AmeliproBreadcrumb.spec.ts.snap +193 -124
  128. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +1 -1
  129. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +364 -12
  130. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +30 -390
  131. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +4 -36
  132. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.stories.ts +10 -10
  133. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +7 -7
  134. package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +5 -5
  135. package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +1 -1
  136. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.stories.ts +7 -6
  137. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +6 -6
  138. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +6 -6
  139. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +2 -2
  140. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +2 -43
  141. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +80 -9
  142. package/src/components/Amelipro/AmeliproContentLayout/__tests__/__snapshots__/AmeliproContentLayout.spec.ts.snap +25 -4
  143. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +1 -13
  144. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +7 -6
  145. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +5 -5
  146. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +187 -39
  147. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +147 -147
  148. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +1 -1
  149. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +0 -2
  150. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +160 -20
  151. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/__snapshots__/AmeliproErrorTemplate.spec.ts.snap +34 -177
  152. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +1 -0
  153. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +248 -19
  154. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +34 -203
  155. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +6 -144
  156. package/src/components/Amelipro/AmeliproIcon/AmeliproIcon.vue +20 -2
  157. package/src/components/Amelipro/AmeliproIcon/__tests__/__snapshots__/AmeliproIcon.spec.ts.snap +1 -25
  158. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +5 -5
  159. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +6 -6
  160. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +22 -22
  161. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +2 -2
  162. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/AmeliproMultipleFoldingCard.spec.ts +304 -0
  163. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +373 -0
  164. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.stories.ts +2 -0
  165. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +28 -2
  166. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -173
  167. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +1 -1
  168. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +162 -72
  169. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +2 -2
  170. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +6 -39
  171. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.stories.ts +3 -3
  172. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +8 -8
  173. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/AmeliproPostalAddressField.spec.ts +2 -2
  174. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +11 -52
  175. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +7 -7
  176. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +8 -8
  177. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +6 -6
  178. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +2 -2
  179. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -14
  180. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.stories.ts +7 -7
  181. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +4 -4
  182. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +12 -12
  183. package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +2 -2
  184. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +2 -2
  185. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -2
  186. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +463 -68
  187. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +176 -511
  188. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +6 -6
  189. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +4 -4
  190. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +3 -3
  191. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +1 -2
  192. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +10 -10
  193. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +4 -4
  194. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +5 -5
  195. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +162 -0
  196. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +44 -0
  197. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +79 -1
  198. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -2
  199. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +2 -2
  200. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +21 -7
  201. package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +252 -44
  202. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +166 -0
  203. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/ServiceBtn.spec.ts +137 -0
  204. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/__snapshots__/ServiceBtn.spec.ts.snap +56 -0
  205. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/ServiceList.spec.ts +116 -0
  206. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/__snapshots__/ServiceList.spec.ts.snap +58 -0
  207. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/ServiceMenuContent.spec.ts +118 -0
  208. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/__snapshots__/ServiceMenuContent.spec.ts.snap +151 -0
  209. package/src/components/Amelipro/ServiceMenu/__tests__/ServiceMenu.spec.ts +259 -0
  210. package/src/components/Amelipro/ServiceMenu/__tests__/__snapshots__/ServiceMenu.spec.ts.snap +102 -0
  211. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/StructureBtn.spec.ts +90 -0
  212. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/__snapshots__/StructureBtn.spec.ts.snap +63 -0
  213. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/StructureItem.spec.ts +133 -0
  214. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/__snapshots__/StructureItem.spec.ts.snap +143 -0
  215. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/StructureList.spec.ts +190 -0
  216. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +109 -0
  217. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/StructureTabs.spec.ts +159 -0
  218. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/__snapshots__/StructureTabs.spec.ts.snap +103 -0
  219. package/src/components/Amelipro/StructureMenu/__tests__/StructureMenu.spec.ts +165 -0
  220. package/src/components/Amelipro/StructureMenu/__tests__/__snapshots__/StructureMenu.spec.ts.snap +39 -0
  221. package/src/components/Amelipro/UserInformationSummary/__tests__/UserInformationSummary.spec.ts +140 -0
  222. package/src/components/Amelipro/UserInformationSummary/{tests → __tests__}/__snapshots__/UserInformationSummary.spec.ts.snap +17 -24
  223. package/src/components/Amelipro/UserMenu/UserMenu.stories.ts +3 -3
  224. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -2
  225. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/UserMenuDetails.spec.ts +150 -0
  226. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/__snapshots__/UserMenuDetails.spec.ts.snap +117 -0
  227. package/src/components/Amelipro/UserMenu/__tests__/UserMenu.spec.ts +141 -0
  228. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +103 -0
  229. package/src/components/Captcha/Captcha.vue +9 -24
  230. package/src/components/Captcha/CaptchaHelpdesk.vue +42 -0
  231. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +256 -268
  232. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +0 -1
  233. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.stories.ts +4 -0
  234. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.stories.ts +154 -82
  235. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +229 -125
  236. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +12 -12
  237. package/src/components/Customs/Selects/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +344 -826
  238. package/src/components/Customs/Selects/SySelect/SySelect.vue +215 -169
  239. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +4 -2
  240. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +7 -9
  241. package/src/components/Customs/SyForm/SyForm.mdx +47 -7
  242. package/src/components/Customs/SyForm/SyForm.stories.ts +38 -34
  243. package/src/components/Customs/SyForm/SyForm.vue +27 -6
  244. package/src/components/Customs/SyRadioGroup/Accessibilite.mdx +263 -0
  245. package/src/components/Customs/SyRadioGroup/SyRadioGroup.mdx +37 -0
  246. package/src/components/Customs/SyRadioGroup/SyRadioGroup.stories.ts +665 -0
  247. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +324 -0
  248. package/src/components/Customs/SyRadioGroup/locales.ts +3 -0
  249. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.spec.ts +135 -0
  250. package/src/components/Customs/SyTabs/SyTabs.vue +1 -1
  251. package/src/components/Customs/SyTextField/SyTextField.vue +225 -194
  252. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +32 -2
  253. package/src/components/DataList/DataList.mdx +3 -1
  254. package/src/components/DataList/DataList.stories.ts +67 -17
  255. package/src/components/DataList/DataList.vue +13 -1
  256. package/src/components/DataListGroup/DataListGroup.stories.ts +42 -12
  257. package/src/components/DataListGroup/DataListGroup.vue +14 -1
  258. package/src/components/DataListItem/DataListItem.vue +10 -2
  259. package/src/components/DataListItem/tests/DataListItem.spec.ts +1 -1
  260. package/src/components/DatePicker/CalendarMode/DatePicker.vue +157 -178
  261. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +5 -0
  262. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +179 -179
  263. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +261 -258
  264. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +234 -827
  265. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +46 -73
  266. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +350 -0
  267. package/src/components/DatePicker/composables/index.ts +4 -0
  268. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +270 -0
  269. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +61 -3
  270. package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +198 -0
  271. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +36 -2
  272. package/src/components/DatePicker/composables/tests/useInputHandler.spec.ts +755 -0
  273. package/src/components/DatePicker/composables/tests/useKeyboardEvents.spec.ts +168 -0
  274. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +40 -34
  275. package/src/components/DatePicker/composables/useAsteriskDisplay.ts +1 -2
  276. package/src/components/DatePicker/composables/useCalendarKeyboardNavigation.ts +155 -0
  277. package/src/components/DatePicker/composables/useDatePickerState.ts +163 -0
  278. package/src/components/DatePicker/composables/useDateRangeInput.ts +4 -8
  279. package/src/components/DatePicker/composables/useDateTextField.ts +156 -0
  280. package/src/components/DatePicker/composables/useHolidayHighlighting.ts +64 -0
  281. package/src/components/DatePicker/composables/useInputHandler.ts +25 -19
  282. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +52 -26
  283. package/src/components/DatePicker/constants/messages.ts +0 -1
  284. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +2 -2
  285. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +16 -8
  286. package/src/components/ErrorPage/ErrorPage.vue +1 -1
  287. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +17 -0
  288. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +0 -1
  289. package/src/components/LunarCalendar/LunarCalendar.mdx +33 -0
  290. package/src/components/LunarCalendar/LunarCalendar.stories.ts +232 -0
  291. package/src/components/LunarCalendar/LunarCalendar.vue +57 -0
  292. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +79 -0
  293. package/src/components/LunarCalendar/useLunarCalendarRules.ts +96 -0
  294. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +47 -0
  295. package/src/components/NotificationBar/NotificationBar.vue +2 -2
  296. package/src/components/PaginatedTable/PaginatedTable.stories.ts +15 -10
  297. package/src/components/PaginatedTable/PaginatedTable.vue +24 -35
  298. package/src/components/PhoneField/PhoneField.vue +102 -83
  299. package/src/components/SearchListField/tests/SearchListField.spec.ts +7 -53
  300. package/src/components/SyAlert/SyAlert.vue +5 -2
  301. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +24 -72
  302. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +521 -23
  303. package/src/components/Tables/SyServerTable/SyServerTable.vue +19 -13
  304. package/src/components/Tables/SyTable/SyTable.stories.ts +391 -18
  305. package/src/components/Tables/SyTable/SyTable.vue +16 -11
  306. package/src/components/Tables/common/TableHeader.vue +16 -7
  307. package/src/components/Tables/common/filters/DateFilter.vue +1 -1
  308. package/src/components/Tables/common/locales.ts +1 -0
  309. package/src/components/Tables/common/tableFilterUtils.ts +3 -3
  310. package/src/components/Tables/common/types.ts +4 -2
  311. package/src/components/Tables/common/useTableCheckbox.ts +4 -3
  312. package/src/components/Tables/common/useTableFilter.ts +2 -2
  313. package/src/components/Tables/common/useTableItems.ts +4 -19
  314. package/src/components/index.ts +2 -0
  315. package/src/composables/validation/tests/useFormValidation.spec.ts +251 -0
  316. package/src/composables/validation/tests/useValidatable.spec.ts +90 -0
  317. package/src/stories/Accessibilite/Audit/Exemptions-derogations.mdx +241 -0
  318. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +17 -10
  319. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +16 -0
  320. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +160 -106
  321. package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +2 -1
  322. package/src/stories/GuideDuDev/ClassesUtilitaires/FormattingUtilities.mdx +20 -0
  323. package/src/stories/GuideDuDev/ClassesUtilitaires/index.mdx +10 -0
  324. package/src/utils/formatNir/formatNir.ts +15 -0
  325. package/src/utils/index.ts +1 -0
  326. package/src/utils/insertAt.ts +11 -0
  327. package/src/utils/rules/isDateValid/IsDateValid.mdx +2 -2
  328. package/src/utils/rules/isDateValid/IsDateValid.stories.ts +6 -4
  329. package/src/utils/rules/isDateValid/index.ts +23 -8
  330. package/src/utils/rules/isDateValid/tests/isDateValid.spec.ts +9 -0
  331. package/src/utils/rules/isExactLength/IsExactLenght.mdx +1 -1
  332. package/src/utils/rules/isHolidayDay/IsHolidayDay.mdx +19 -7
  333. package/src/utils/rules/isHolidayDay/index.ts +6 -8
  334. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +13 -1
  335. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +2 -2
  336. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.stories.ts +9 -2
  337. package/src/utils/rules/isNotAfterDate/index.ts +5 -12
  338. package/src/utils/rules/isNotAfterDate/tests/isNotAfterDate.spec.ts +20 -0
  339. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +2 -2
  340. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.stories.ts +8 -2
  341. package/src/utils/rules/isNotAfterToday/index.ts +6 -6
  342. package/src/utils/rules/isNotAfterToday/tests/isNotAfterToday.spec.ts +20 -0
  343. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +2 -2
  344. package/src/utils/rules/isNotBeforeDate/index.ts +5 -12
  345. package/src/utils/rules/isNotBeforeDate/tests/IsNotBeforeDate.spec.ts +20 -0
  346. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +2 -2
  347. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.stories.ts +8 -2
  348. package/src/utils/rules/isNotBeforeToday/index.ts +6 -6
  349. package/src/utils/rules/isNotBeforeToday/tests/notBeforeToday.spec.ts +19 -0
  350. package/src/utils/rules/validateDateValue.ts +37 -0
  351. package/src/vuetifyConfig.ts +6 -2
  352. package/dist/components/Customs/Selects/SelectBtnField/config.d.ts +0 -11
  353. package/dist/components/DatePicker/tests/setup.d.ts +0 -75370
  354. package/dist/components/Tables/common/formatters.d.ts +0 -17
  355. package/dist/main-CbBVJ_le.js +0 -34377
  356. package/dist/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +0 -70
  357. package/dist/stories/DesignTokens/StylesTypographiques.stories.new.d.ts +0 -8
  358. package/dist/stories/DesignTokens/TypographyDisplay.d.ts +0 -28
  359. package/dist/stories/DesignTokens/vue-shims.d.ts +0 -6
  360. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -40
  361. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +0 -369
  362. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -21
  363. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/__snapshots__/ServiceBtn.spec.ts.snap +0 -100
  364. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -25
  365. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/__snapshots__/ServiceList.spec.ts.snap +0 -245
  366. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -45
  367. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/__snapshots__/ServiceMenuContent.spec.ts.snap +0 -787
  368. package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -46
  369. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -111
  370. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -17
  371. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/__snapshots__/StructureBtn.spec.ts.snap +0 -34
  372. package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -21
  373. package/src/components/Amelipro/StructureMenu/StructureItem/tests/__snapshots__/StructureItem.spec.ts.snap +0 -106
  374. package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -33
  375. package/src/components/Amelipro/StructureMenu/StructureList/tests/__snapshots__/StructureList.spec.ts.snap +0 -353
  376. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -60
  377. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +0 -824
  378. package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -69
  379. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +0 -1383
  380. package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -24
  381. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -33
  382. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/__snapshots__/UserMenuDetails.spec.ts.snap +0 -3
  383. package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -34
  384. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +0 -101
  385. package/src/components/Customs/Selects/SelectBtnField/config.ts +0 -11
  386. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -151
  387. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -148
  388. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -361
  389. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -709
  390. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +0 -4111
  391. package/src/components/DatePicker/tests/archiTest.md +0 -33
  392. package/src/components/DatePicker/tests/navigation.regression.spec.ts +0 -74
  393. package/src/components/DatePicker/tests/navigation.simple.spec.ts +0 -137
  394. package/src/components/DatePicker/tests/setup.ts +0 -243
  395. package/src/components/Tables/common/formatters.ts +0 -72
@@ -33,14 +33,14 @@ const meta = {
33
33
  layout: 'fullscreen',
34
34
  },
35
35
  argTypes: {
36
- headers: {
36
+ 'headers': {
37
37
  description: 'Liste des colonnes du tableau (voir : https://vuetifyjs.com/en/api/v-data-table/#props-headers)',
38
38
  control: { type: 'object' },
39
39
  table: {
40
40
  category: 'props',
41
41
  },
42
42
  },
43
- items: {
43
+ 'items': {
44
44
  description: 'Liste des éléments à afficher dans le tableau',
45
45
  control: { type: 'object' },
46
46
  table: {
@@ -50,7 +50,7 @@ const meta = {
50
50
  },
51
51
  },
52
52
  },
53
- density: {
53
+ 'density': {
54
54
  description: 'Définit la densité du tableau',
55
55
  control: { type: 'select' },
56
56
  options: ['default', 'comfortable', 'compact'],
@@ -59,7 +59,7 @@ const meta = {
59
59
  type: { summary: 'string', detail: `'default' | 'comfortable' | 'compact'` },
60
60
  },
61
61
  },
62
- striped: {
62
+ 'striped': {
63
63
  description: 'Affiche les lignes du tableau avec un fond rayé',
64
64
  control: { type: 'boolean' },
65
65
  table: {
@@ -67,7 +67,7 @@ const meta = {
67
67
  type: { summary: 'boolean' },
68
68
  },
69
69
  },
70
- options: {
70
+ 'options': {
71
71
  description: 'Options de configuration du tableau',
72
72
  name: 'v-model:options',
73
73
  control: { type: 'object' },
@@ -76,7 +76,7 @@ const meta = {
76
76
  type: { summary: 'DataOptions', detail: '{ page: number, itemsPerPage: number, sortBy: SortOptions[], groupBy?: SortOptions[], multiSort?: boolean, mustSort?: boolean, filters?: FilterOption[] }' },
77
77
  },
78
78
  },
79
- itemsPerPageOptions: {
79
+ 'itemsPerPageOptions': {
80
80
  description: 'Limite les options disponibles dans le sélecteur "itemsPerPage"',
81
81
  control: { type: 'object' },
82
82
  table: {
@@ -85,15 +85,15 @@ const meta = {
85
85
  defaultValue: { summary: 'undefined' },
86
86
  },
87
87
  },
88
- serverItemsLength: {
88
+ 'serverItemsLength': {
89
89
  description: 'Nombre total d\'éléments à afficher',
90
90
  control: { type: 'number' },
91
91
  },
92
- saveState: {
92
+ 'saveState': {
93
93
  description: 'Permet d\'activer ou non la sauvegarde des options (pagination, tris, ordre des colonnes) du tableau dans le localStorage. Par défaut, cette fonctionnalité est activée.',
94
94
  control: { type: 'boolean' },
95
95
  },
96
- suffix: {
96
+ 'suffix': {
97
97
  description: 'Suffixe permettant de gérer individuellement le stockage des options d\'un tableau d\'une page à l\'autre. Ce prop est obligatoire pour garantir un stockage unique pour chaque tableau.',
98
98
  control: { type: 'text' },
99
99
  table: {
@@ -102,18 +102,18 @@ const meta = {
102
102
  },
103
103
  required: true,
104
104
  },
105
- caption: {
105
+ 'caption': {
106
106
  description: 'Texte de la légende du tableau',
107
107
  control: { type: 'text' },
108
108
  },
109
- showExpand: {
109
+ 'showExpand': {
110
110
  description: 'Affiche une colonne permettant d\'étendre les lignes pour afficher du contenu supplémentaire',
111
111
  control: { type: 'boolean' },
112
112
  table: {
113
113
  category: 'props',
114
114
  },
115
115
  },
116
- resizableColumns: {
116
+ 'resizableColumns': {
117
117
  description: 'Permet de redimensionner les colonnes du tableau',
118
118
  control: { type: 'boolean' },
119
119
  table: {
@@ -121,7 +121,7 @@ const meta = {
121
121
  type: { summary: 'boolean' },
122
122
  },
123
123
  },
124
- multiSort: {
124
+ 'multiSort': {
125
125
  description: 'Permet de trier sur plusieurs colonnes simultanément. Lorsque activé, des indicateurs numériques apparaissent à côté des icônes de tri pour montrer l\'ordre de priorité.',
126
126
  control: { type: 'boolean' },
127
127
  table: {
@@ -132,7 +132,7 @@ const meta = {
132
132
  },
133
133
  },
134
134
  },
135
- mustSort: {
135
+ 'mustSort': {
136
136
  description: 'Force au moins une colonne à être toujours triée. Si désactivé, toutes les colonnes peuvent être non triées.',
137
137
  control: { type: 'boolean' },
138
138
  table: {
@@ -143,7 +143,7 @@ const meta = {
143
143
  },
144
144
  },
145
145
  },
146
- enableColumnControls: {
146
+ 'enableColumnControls': {
147
147
  description: 'Allow the users to re-organize the columns',
148
148
  table: {
149
149
  defaultValue: {
@@ -154,7 +154,7 @@ const meta = {
154
154
  },
155
155
  control: { type: 'boolean' },
156
156
  },
157
- showSelect: {
157
+ 'showSelect': {
158
158
  description: 'Affiche des cases à cocher pour sélectionner des lignes',
159
159
  control: { type: 'boolean' },
160
160
  table: {
@@ -162,7 +162,7 @@ const meta = {
162
162
  type: { summary: 'boolean' },
163
163
  },
164
164
  },
165
- showSelectSingle: {
165
+ 'showSelectSingle': {
166
166
  description: 'Affiche des cases à cocher pour sélectionner une seule ligne à la fois',
167
167
  control: { type: 'boolean' },
168
168
  table: {
@@ -170,7 +170,7 @@ const meta = {
170
170
  type: { summary: 'boolean' },
171
171
  },
172
172
  },
173
- selectionKey: {
173
+ 'selectionKey': {
174
174
  description: 'Clé utilisée pour identifier chaque ligne lors de la sélection. Par défaut, utilise "id" si présent, sinon l\'objet complet.',
175
175
  control: { type: 'text' },
176
176
  table: {
@@ -179,6 +179,27 @@ const meta = {
179
179
  defaultValue: { summary: 'undefined (fallback: id | objet complet)' },
180
180
  },
181
181
  },
182
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
183
+ // @ts-ignore - 'cookie-description-${cookieName}' storybook can't infer dynamic slot name
184
+ 'header.<columnKey>': {
185
+ description: 'Slot permettant de personnaliser le rendu de l\'en-tête d\'une colonne spécifique. Remplacer `<columnKey>` par la clé de la colonne souhaitée.',
186
+ control: undefined,
187
+ table: {
188
+ category: 'slots',
189
+ type: {
190
+ summary: 'slot',
191
+ detail: `{
192
+ column: HeaderColumn,
193
+ headers: HeaderColumn[][],
194
+ columns: HeaderColumn[],
195
+ locales: Record<string, string | ((...args: any[]) => string)>,
196
+ sortBy: DataOptions['sortBy'],
197
+ someSelected: boolean,
198
+ allSelected: boolean
199
+ }`,
200
+ },
201
+ },
202
+ },
182
203
  },
183
204
  } satisfies Meta<typeof SyServerTable & typeof VDataTable>
184
205
 
@@ -2720,7 +2741,7 @@ export const ServerFilterByPeriod: Story = {
2720
2741
  if (!value) return true
2721
2742
 
2722
2743
  else if (type === 'period') {
2723
- function formatDate(date: string): Date | null {
2744
+ const formatDate = (date: string): Date | null => {
2724
2745
  if (!date) return null
2725
2746
  const parsedDate = dayjs(date, 'DD/MM/YYYY')
2726
2747
  return parsedDate.isValid() ? parsedDate.toDate() : null
@@ -4163,8 +4184,7 @@ export const ResizableColumns: Story = {
4163
4184
  }, { deep: true })
4164
4185
 
4165
4186
  const fetchData = async (): Promise<void> => {
4166
- // @ts-expect-error - fetchData is not defined
4167
- const { items, total } = await getDataFromApi(options.value)
4187
+ const { items, total } = await getDataFromApi(options.value as DataOptions)
4168
4188
  users.value = items
4169
4189
  totalUsers.value = total
4170
4190
  }
@@ -4985,8 +5005,7 @@ export const ColumnControls: StoryObj<typeof SyServerTable> = {
4985
5005
  }, { deep: true })
4986
5006
 
4987
5007
  const fetchData = async (): Promise<void> => {
4988
- // @ts-expect-error - fetchData is not defined
4989
- const { items, total } = await getDataFromApi(options.value)
5008
+ const { items, total } = await getDataFromApi(options.value as DataOptions)
4990
5009
  users.value = items
4991
5010
  totalUsers.value = total
4992
5011
  }
@@ -5871,6 +5890,249 @@ export const SlotHeaders: Story = {
5871
5890
  },
5872
5891
  }
5873
5892
 
5893
+ export const SlotHeader: Story = {
5894
+ parameters: {
5895
+ sourceCode: [
5896
+ {
5897
+ name: 'Template',
5898
+ code: `
5899
+ <template>
5900
+ <SyServerTable
5901
+ v-model:options="options"
5902
+ :items="users"
5903
+ :headers="headers"
5904
+ :server-items-length="totalUsers"
5905
+ :loading="state === StateEnum.PENDING"
5906
+ suffix="server-default"
5907
+ @update:options="fetchData"
5908
+ >
5909
+ <template #header.lastname>
5910
+ <span class="text-primary font-weight-bold">
5911
+ Nom de famille
5912
+ </span>
5913
+ </template>
5914
+ </SyServerTable>
5915
+ </template>
5916
+ `,
5917
+ },
5918
+ {
5919
+ name: 'Script',
5920
+ code: `
5921
+ <script setup lang="ts">
5922
+ import { ref, watch } from 'vue'
5923
+ import { SyServerTable } from '@cnamts/synapse'
5924
+ import { StateEnum } from '@cnamts/synapse/src/components/Tables/common/constants/StateEnum'
5925
+ import type { DataOptions } from '@cnamts/synapse/src/components/Tables/common/types'
5926
+
5927
+ interface User {
5928
+ [key: string]: string
5929
+ firstname: string
5930
+ lastname: string
5931
+ email: string
5932
+ }
5933
+
5934
+ interface DataObj {
5935
+ items: User[]
5936
+ total: number
5937
+ }
5938
+
5939
+ const totalUsers = ref(0)
5940
+ const users = ref<User[]>([])
5941
+ const state = ref(StateEnum.IDLE)
5942
+
5943
+ const options = ref({
5944
+ itemsPerPage: 5,
5945
+ sortBy: [{ key: 'lastname', order: 'asc' }],
5946
+ page: 1,
5947
+ })
5948
+
5949
+ const headers = [
5950
+ { title: 'Nom', key: 'lastname' },
5951
+ { title: 'Prénom', key: 'firstname' },
5952
+ { title: 'Email', key: 'email' },
5953
+ ]
5954
+
5955
+ const fetchData = async (): Promise<void> => {
5956
+ const { items, total } = await getDataFromApi(options.value)
5957
+ users.value = items
5958
+ totalUsers.value = total
5959
+ }
5960
+
5961
+ const wait = async (ms: number) => {
5962
+ return new Promise(resolve => setTimeout(resolve, ms))
5963
+ }
5964
+
5965
+ const getDataFromApi = async ({ sortBy, page, itemsPerPage, filters }: DataOptions): Promise<DataObj> => {
5966
+ state.value = StateEnum.PENDING
5967
+ await wait(1000)
5968
+
5969
+ return new Promise((resolve) => {
5970
+ let items: User[] = getUsers()
5971
+ const total = items.length
5972
+
5973
+ if (sortBy && sortBy.length > 0) {
5974
+ items = items.sort((a, b) => {
5975
+ const key = sortBy[0].key
5976
+ const order = sortBy[0].order === 'asc' ? 1 : -1
5977
+
5978
+ return a[key] > b[key] ? order : -order
5979
+ })
5980
+ }
5981
+
5982
+ if (itemsPerPage > 0) {
5983
+ items = items.slice((page - 1) * itemsPerPage, page * itemsPerPage)
5984
+ }
5985
+
5986
+ resolve({ items, total })
5987
+ state.value = StateEnum.RESOLVED
5988
+ })
5989
+ }
5990
+
5991
+ const getUsers = (): User[] => {
5992
+ return [
5993
+ { firstname: 'Virginie', lastname: 'Beauchesne', email: 'virginie.beauchesne@example.com' },
5994
+ { firstname: 'Simone', lastname: 'Bellefeuille', email: 'simone.bellefeuille@example.com' },
5995
+ { firstname: 'Étienne', lastname: 'Salois', email: 'etienne.salois@example.com' },
5996
+ { firstname: 'Bernadette', lastname: 'Langelier', email: 'bernadette.langelier@example.com' },
5997
+ { firstname: 'Agate', lastname: 'Roy', email: 'agate.roy@example.com' },
5998
+ { firstname: 'Louis', lastname: 'Denis', email: 'louis.denis@example.com' },
5999
+ { firstname: 'Édith', lastname: 'Cartier', email: 'edith.cartier@example.com' },
6000
+ { firstname: 'Alphonse', lastname: 'Bouvier', email: 'alphonse.bouvier@example.com' },
6001
+ { firstname: 'Eustache', lastname: 'Dubois', email: 'eustache.dubois@example.com' },
6002
+ { firstname: 'Rosemarie', lastname: 'Quessy', email: 'rosemarie.quessy@example.com' },
6003
+ { firstname: 'Serge', lastname: 'Rivard', email: 'serge.rivard@example.com' },
6004
+ { firstname: 'Jacques', lastname: 'Demers', email: 'jacques.demers@example.com' },
6005
+ { firstname: 'Aimée', lastname: 'Josseaume', email: 'aimee.josseaume@example.com' },
6006
+ { firstname: 'Delphine', lastname: 'Robillard', email: 'delphine.robillard@example.com' },
6007
+ { firstname: 'Alexandre', lastname: 'Lazure', email: 'alexandre.lazure@example.com' },
6008
+ ]
6009
+ }
6010
+
6011
+ // Initialize data
6012
+ fetchData()
6013
+ </script>
6014
+ `,
6015
+ },
6016
+ ],
6017
+ },
6018
+ args: {
6019
+ 'options': {
6020
+ itemsPerPage: 5,
6021
+ sortBy: [{ key: 'lastname', order: 'asc' }],
6022
+ page: 1,
6023
+ },
6024
+ 'headers': [
6025
+ { title: 'Nom', key: 'lastname' },
6026
+ { title: 'Prénom', key: 'firstname' },
6027
+ { title: 'Email', key: 'email' },
6028
+ ],
6029
+ 'caption': '',
6030
+ 'serverItemsLength': 15,
6031
+ 'suffix': 'server-default',
6032
+ 'density': 'default',
6033
+ 'striped': false,
6034
+ 'onUpdate:options': fn(),
6035
+ },
6036
+ render: (args) => {
6037
+ return {
6038
+ components: { SyServerTable },
6039
+ setup() {
6040
+ const totalUsers = ref(0)
6041
+ const users = ref<User[]>([])
6042
+ const state = ref(StateEnum.IDLE)
6043
+
6044
+ const options = ref({ ...args.options })
6045
+
6046
+ watch(options, (newVal) => {
6047
+ if (args.options) {
6048
+ Object.assign(args.options, JSON.parse(JSON.stringify(newVal)))
6049
+ }
6050
+ }, { deep: true })
6051
+
6052
+ const fetchData = async (): Promise<void> => {
6053
+ const { items, total } = await getDataFromApi(options.value as DataOptions)
6054
+ users.value = items
6055
+ totalUsers.value = total
6056
+ }
6057
+
6058
+ const wait = async (ms: number) => {
6059
+ return new Promise(resolve => setTimeout(resolve, ms))
6060
+ }
6061
+
6062
+ const getDataFromApi = async ({ sortBy, page, itemsPerPage }: DataOptions): Promise<DataObj> => {
6063
+ state.value = StateEnum.PENDING
6064
+ await wait(1000)
6065
+
6066
+ return new Promise((resolve) => {
6067
+ let items: User[] = getUsers()
6068
+ const total = items.length
6069
+
6070
+ if (sortBy && sortBy.length > 0) {
6071
+ items = items.sort((a, b) => {
6072
+ const key = sortBy[0].key
6073
+ const order = sortBy[0].order === 'asc' ? 1 : -1
6074
+
6075
+ return a[key] > b[key] ? order : -order
6076
+ })
6077
+ }
6078
+
6079
+ if (itemsPerPage > 0) {
6080
+ items = items.slice((page - 1) * itemsPerPage, page * itemsPerPage)
6081
+ }
6082
+
6083
+ resolve({ items, total })
6084
+ state.value = StateEnum.RESOLVED
6085
+ })
6086
+ }
6087
+
6088
+ const getUsers = (): User[] => {
6089
+ return [
6090
+ { firstname: 'Virginie', lastname: 'Beauchesne', email: 'virginie.beauchesne@example.com' },
6091
+ { firstname: 'Simone', lastname: 'Bellefeuille', email: 'simone.bellefeuille@example.com' },
6092
+ { firstname: 'Étienne', lastname: 'Salois', email: 'etienne.salois@example.com' },
6093
+ { firstname: 'Bernadette', lastname: 'Langelier', email: 'bernadette.langelier@example.com' },
6094
+ { firstname: 'Agate', lastname: 'Roy', email: 'agate.roy@example.com' },
6095
+ { firstname: 'Louis', lastname: 'Denis', email: 'louis.denis@example.com' },
6096
+ { firstname: 'Édith', lastname: 'Cartier', email: 'edith.cartier@example.com' },
6097
+ { firstname: 'Alphonse', lastname: 'Bouvier', email: 'alphonse.bouvier@example.com' },
6098
+ { firstname: 'Eustache', lastname: 'Dubois', email: 'eustache.dubois@example.com' },
6099
+ { firstname: 'Rosemarie', lastname: 'Quessy', email: 'rosemarie.quessy@example.com' },
6100
+ { firstname: 'Serge', lastname: 'Rivard', email: 'serge.rivard@example.com' },
6101
+ { firstname: 'Jacques', lastname: 'Demers', email: 'jacques.demers@example.com' },
6102
+ { firstname: 'Aimée', lastname: 'Josseaume', email: 'aimee.josseaume@example.com' },
6103
+ { firstname: 'Delphine', lastname: 'Robillard', email: 'delphine.robillard@example.com' },
6104
+ { firstname: 'Alexandre', lastname: 'Lazure', email: 'alexandre.lazure@example.com' },
6105
+ ]
6106
+ }
6107
+
6108
+ // Initialize data
6109
+ fetchData()
6110
+
6111
+ return { args, users, state, fetchData, options, totalUsers, StateEnum }
6112
+ },
6113
+ template: `
6114
+ <div>
6115
+ <SyServerTable
6116
+ v-model:options="options"
6117
+ :items="users"
6118
+ :server-items-length="totalUsers"
6119
+ :loading="state === StateEnum.PENDING"
6120
+ v-bind="args"
6121
+ suffix="server-slot-item"
6122
+ @update:options="fetchData"
6123
+ >
6124
+ <template #header.lastname>
6125
+ <span class="text-primary font-weight-bold">
6126
+ Nom de famille
6127
+ </span>
6128
+ </template>
6129
+ </SyServerTable>
6130
+ </div>
6131
+ `,
6132
+ }
6133
+ },
6134
+ }
6135
+
5874
6136
  export const ItemsPerPageOptions: Story = {
5875
6137
  parameters: {
5876
6138
  sourceCode: [
@@ -6103,3 +6365,239 @@ export const ItemsPerPageOptions: Story = {
6103
6365
  }
6104
6366
  },
6105
6367
  }
6368
+
6369
+ export const ComplexItemsDisplay: Story = {
6370
+ parameters: {
6371
+ sourceCode: [
6372
+ {
6373
+ name: 'Template',
6374
+ code: `
6375
+ <template>
6376
+ <SyServerTable
6377
+ v-model:options="options"
6378
+ :items="items"
6379
+ :headers="headers"
6380
+ :server-items-length="totalItems"
6381
+ :loading="state === StateEnum.PENDING"
6382
+ suffix="server-default"
6383
+ @update:options="fetchData"
6384
+ >
6385
+ <template #[\`item.period\`]="{ item }">
6386
+ <span>
6387
+ Depuis le {{ item.period.start }} jusqu'au {{ item.period.end }}
6388
+ </span>
6389
+ </template>
6390
+ </SyServerTable>
6391
+ </template>
6392
+ `,
6393
+ },
6394
+ {
6395
+ name: 'Script',
6396
+ code: `
6397
+ <script setup lang="ts">
6398
+ import { ref, watch } from 'vue'
6399
+ import { SyServerTable } from '@cnamts/synapse'
6400
+ import { StateEnum } from '@cnamts/synapse/src/components/Tables/common/constants/StateEnum'
6401
+ import type { DataOptions } from '@cnamts/synapse/src/components/Tables/common/types'
6402
+
6403
+ interface Item {
6404
+ title: string
6405
+ period: {
6406
+ start: string
6407
+ end: string
6408
+ }
6409
+ status: string
6410
+ }
6411
+
6412
+ interface DataObj {
6413
+ items: Item[]
6414
+ total: number
6415
+ }
6416
+
6417
+ const totalItems = ref(0)
6418
+ const items = ref<Item[]>([])
6419
+ const state = ref(StateEnum.IDLE)
6420
+
6421
+ const options = ref({
6422
+ itemsPerPage: 5,
6423
+ sortBy: [{ key: 'title', order: 'asc' }],
6424
+ page: 1,
6425
+ })
6426
+
6427
+ const headers = [
6428
+ { title: 'Titre', key: 'title' },
6429
+ { title: 'Période', key: 'period' },
6430
+ { title: 'Statut', key: 'status' },
6431
+ ]
6432
+
6433
+ const fetchData = async (): Promise<void> => {
6434
+ const { items: fetchedItems, total } = await getDataFromApi(options.value)
6435
+ items.value = fetchedItems
6436
+ totalItems.value = total
6437
+ }
6438
+
6439
+ const wait = async (ms: number) => {
6440
+ return new Promise(resolve => setTimeout(resolve, ms))
6441
+ }
6442
+
6443
+ const getDataFromApi = async ({ sortBy, page, itemsPerPage, filters }: DataOptions): Promise<DataObj> => {
6444
+ state.value = StateEnum.PENDING
6445
+ await wait(1000)
6446
+
6447
+ return new Promise((resolve) => {
6448
+ let items: Item[] = getItems()
6449
+ const total = items.length
6450
+
6451
+ if (sortBy && sortBy.length > 0) {
6452
+ items = items.sort((a, b) => {
6453
+ const key = sortBy[0].key
6454
+ const order = sortBy[0].order === 'asc' ? 1 : -1
6455
+
6456
+ return a[key] > b[key] ? order : -order
6457
+ })
6458
+ }
6459
+
6460
+ if (itemsPerPage > 0) {
6461
+ items = items.slice((page - 1) * itemsPerPage, page * itemsPerPage)
6462
+ }
6463
+
6464
+ resolve({ items, total })
6465
+ state.value = StateEnum.RESOLVED
6466
+ })
6467
+ }
6468
+
6469
+ const getItems = (): Item[] => {
6470
+ return [
6471
+ { title: 'Projet Alpha', period: { start: '2023-01-01', end: '2023-06-30' }, status: 'En cours' },
6472
+ { title: 'Projet Beta', period: { start: '2022-05-15', end: '2022-12-15' }, status: 'Terminé' },
6473
+ { title: 'Projet Gamma', period: { start: '2023-03-01', end: '2023-09-30' }, status: 'En cours' },
6474
+ { title: 'Projet Delta', period: { start: '2021-11-01', end: '2022-04-30' }, status: 'Terminé' },
6475
+ { title: 'Projet Epsilon', period: { start: '2023-07-01', end: '2023-12-31' }, status: 'À venir' },
6476
+ { title: 'Projet Zeta', period: { start: '2022-02-01', end: '2022-08-31' }, status: 'Terminé' },
6477
+ ]
6478
+ }
6479
+
6480
+ // Initialize data
6481
+ fetchData()
6482
+ </script>
6483
+ `,
6484
+ },
6485
+ ],
6486
+ },
6487
+ args: {
6488
+ 'options': {
6489
+ itemsPerPage: 5,
6490
+ sortBy: [{ key: 'title', order: 'asc' }],
6491
+ page: 1,
6492
+ },
6493
+ 'headers': [
6494
+ { title: 'Titre', key: 'title' },
6495
+ { title: 'Période', key: 'period' },
6496
+ { title: 'Statut', key: 'status' },
6497
+ ],
6498
+ 'caption': '',
6499
+ 'serverItemsLength': 6,
6500
+ 'suffix': 'server-default',
6501
+ 'density': 'default',
6502
+ 'striped': false,
6503
+ 'onUpdate:options': fn(),
6504
+ },
6505
+ render: (args) => {
6506
+ return {
6507
+ components: { SyServerTable },
6508
+ setup() {
6509
+ type Item = {
6510
+ title: string
6511
+ period: {
6512
+ start: string
6513
+ end: string
6514
+ }
6515
+ status: string
6516
+ }
6517
+
6518
+ const totalItems = ref(0)
6519
+ const items = ref<Item[]>([])
6520
+ const state = ref(StateEnum.IDLE)
6521
+
6522
+ const options = ref({ ...args.options })
6523
+
6524
+ watch(options, (newVal) => {
6525
+ if (args.options) {
6526
+ Object.assign(args.options, JSON.parse(JSON.stringify(newVal)))
6527
+ }
6528
+ }, { deep: true })
6529
+
6530
+ const fetchData = async (): Promise<void> => {
6531
+ const { items: fetchedItems, total } = await getDataFromApi(options.value as DataOptions)
6532
+ items.value = fetchedItems
6533
+ totalItems.value = total
6534
+ }
6535
+
6536
+ const wait = async (ms: number) => {
6537
+ return new Promise(resolve => setTimeout(resolve, ms))
6538
+ }
6539
+
6540
+ const getDataFromApi = async ({ sortBy, page, itemsPerPage }: DataOptions): Promise<{ items: Item[], total: number }> => {
6541
+ state.value = StateEnum.PENDING
6542
+ await wait(1000)
6543
+
6544
+ return new Promise((resolve) => {
6545
+ let items = getItems()
6546
+ const total = items.length
6547
+
6548
+ if (sortBy && sortBy.length > 0) {
6549
+ items = items.sort((a, b) => {
6550
+ const key = sortBy[0].key
6551
+ const order = sortBy[0].order === 'asc' ? 1 : -1
6552
+
6553
+ return a[key] > b[key] ? order : -order
6554
+ })
6555
+ }
6556
+
6557
+ if (itemsPerPage > 0) {
6558
+ items = items.slice((page - 1) * itemsPerPage, page * itemsPerPage)
6559
+ }
6560
+
6561
+ resolve({ items, total })
6562
+ state.value = StateEnum.RESOLVED
6563
+ })
6564
+ }
6565
+
6566
+ const getItems = () => {
6567
+ return [
6568
+ { title: 'Projet Alpha', period: { start: '2023-01-01', end: '2023-06-30' }, status: 'En cours' },
6569
+ { title: 'Projet Beta', period: { start: '2022-05-15', end: '2022-12-15' }, status: 'Terminé' },
6570
+ { title: 'Projet Gamma', period: { start: '2023-03-01', end: '2023-09-30' }, status: 'En cours' },
6571
+ { title: 'Projet Delta', period: { start: '2021-11-01', end: '2022-04-30' }, status: 'Terminé' },
6572
+ { title: 'Projet Epsilon', period: { start: '2023-07-01', end: '2023-12-31' }, status: 'À venir' },
6573
+ { title: 'Projet Zeta', period: { start: '2022-02-01', end: '2022-08-31' }, status: 'Terminé' },
6574
+ ]
6575
+ }
6576
+
6577
+ // Initialize data
6578
+ fetchData()
6579
+
6580
+ return { args, items, state, fetchData, options, totalItems, StateEnum }
6581
+ },
6582
+ template: `
6583
+ <div>
6584
+ <SyServerTable
6585
+ v-model:options="options"
6586
+ :items="items"
6587
+ :server-items-length="totalItems"
6588
+ :loading="state === StateEnum.PENDING"
6589
+ v-bind="args"
6590
+ suffix="server-complex-item"
6591
+ @update:options="fetchData"
6592
+ >
6593
+ <template #[\`item.period\`]="{ item }">
6594
+ <span>
6595
+ Depuis le {{ item.period.start }} jusqu'au {{ item.period.end }}
6596
+ </span>
6597
+ </template>
6598
+ </SyServerTable>
6599
+ </div>
6600
+ `,
6601
+ }
6602
+ },
6603
+ }