@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
@@ -5,10 +5,9 @@
5
5
  import SyTableFilter from '../common/SyTableFilter.vue'
6
6
  import TableHeader from '../common/TableHeader.vue'
7
7
  import SyTablePagination from '../common/SyTablePagination.vue'
8
- import { processItems } from '../common/formatters'
9
8
  import { locales } from '../common/locales'
10
9
  import { useTableProps } from '../common/tableProps'
11
- import type { DataOptions, SyServerTableProps } from '../common/types'
10
+ import type { DataOptions, Items, SyServerTableProps } from '../common/types'
12
11
  import { useTableFilter } from '../common/useTableFilter'
13
12
  import { usePagination } from '../common/usePagination'
14
13
  import { useTableOptions } from '../common/useTableOptions'
@@ -87,9 +86,6 @@
87
86
  filterInputConfig: props.filterInputConfig,
88
87
  })
89
88
 
90
- // Create a reactive reference for items
91
- const itemsRef = computed<Record<string, unknown>[]>(() => displayedItems.value)
92
-
93
89
  // Use the pagination composable with displayedItemsLength (stable during refetch)
94
90
  const itemsLength = computed(() => displayedItemsLength.value)
95
91
  const { page, pageCount, itemsPerPageValue, updateItemsPerPage, isUpdatingItemsPerPage } = usePagination({
@@ -113,10 +109,10 @@
113
109
 
114
110
  // Create a computed property for items to ensure reactivity
115
111
  // Bind to displayedItems so it is always an array
116
- const tableItems = computed<Record<string, unknown>[]>(() => displayedItems.value)
112
+ const tableItems = computed<Items>(() => displayedItems.value)
117
113
 
118
114
  // Keep last non-undefined items to avoid clearing the table during refetches
119
- const lastNonUndefinedItems = ref<Record<string, unknown>[]>([])
115
+ const lastNonUndefinedItems = ref<Items>([])
120
116
  const isRefetching = ref(false)
121
117
  watch(() => props.items, (newVal) => {
122
118
  if (Array.isArray(newVal)) {
@@ -129,7 +125,7 @@
129
125
  }
130
126
  }, { immediate: true })
131
127
 
132
- const displayedItems = computed<Record<string, unknown>[]>(() => {
128
+ const displayedItems = computed<Items>(() => {
133
129
  return Array.isArray(props.items) ? props.items : lastNonUndefinedItems.value
134
130
  })
135
131
 
@@ -221,7 +217,7 @@
221
217
  setupAria,
222
218
  } = useTableAria({
223
219
  table,
224
- items: itemsRef,
220
+ items: computed(() => displayedItems.value),
225
221
  totalItemsCount: itemsLength,
226
222
  options,
227
223
  uniqueTableId: uniqueTableId.value,
@@ -280,7 +276,7 @@
280
276
  v-model="model"
281
277
  :headers="displayHeaders"
282
278
  color="primary"
283
- :items="processItems(displayedItems)"
279
+ :items="displayedItems"
284
280
  :items-length="displayedItemsLength || 0"
285
281
  :density="props.density"
286
282
  :show-select="props.showSelect || props.showSelectSingle"
@@ -306,7 +302,7 @@
306
302
  <tr class="headers">
307
303
  <template
308
304
  v-for="column in slotProps.columns"
309
- :key="column.key"
305
+ :key="column.key!"
310
306
  >
311
307
  <th
312
308
  :class="{ 'checkbox-column': column.key === 'data-table-select' }"
@@ -340,7 +336,17 @@
340
336
  :column="column"
341
337
  :header-props-raw="getHeaderForColumn(column)?.headerProps as any"
342
338
  :resizable-columns="props.resizableColumns"
343
- />
339
+ >
340
+ <template
341
+ v-for="slotName in Object.keys($slots)"
342
+ #[slotName]="currentSlotProps"
343
+ >
344
+ <slot
345
+ :name="slotName"
346
+ v-bind="currentSlotProps ?? {}"
347
+ />
348
+ </template>
349
+ </TableHeader>
344
350
  </template>
345
351
  </th>
346
352
  </template>
@@ -352,7 +358,7 @@
352
358
  <th v-if="props.showSelect || props.showSelectSingle" />
353
359
  <template
354
360
  v-for="column in slotProps.columns.filter(c => c.key !== 'data-table-select')"
355
- :key="column.key"
361
+ :key="column.key!"
356
362
  >
357
363
  <th
358
364
  :style="{
@@ -19,14 +19,14 @@ const meta = {
19
19
  layout: 'fullscreen',
20
20
  },
21
21
  argTypes: {
22
- headers: {
22
+ 'headers': {
23
23
  description: 'Liste des colonnes du tableau (voir : https://vuetifyjs.com/en/api/v-data-table/#props-headers)',
24
24
  control: { type: 'object' },
25
25
  table: {
26
26
  category: 'props',
27
27
  },
28
28
  },
29
- items: {
29
+ 'items': {
30
30
  description: 'Liste des éléments à afficher dans le tableau',
31
31
  control: { type: 'object' },
32
32
  table: {
@@ -36,7 +36,7 @@ const meta = {
36
36
  },
37
37
  },
38
38
  },
39
- density: {
39
+ 'density': {
40
40
  description: 'Définit la densité du tableau',
41
41
  control: { type: 'select' },
42
42
  options: ['default', 'comfortable', 'compact'],
@@ -45,7 +45,7 @@ const meta = {
45
45
  type: { summary: 'string', detail: `'default' | 'comfortable' | 'compact'` },
46
46
  },
47
47
  },
48
- striped: {
48
+ 'striped': {
49
49
  description: 'Affiche les lignes du tableau avec un fond rayé',
50
50
  control: { type: 'boolean' },
51
51
  table: {
@@ -53,7 +53,7 @@ const meta = {
53
53
  type: { summary: 'boolean' },
54
54
  },
55
55
  },
56
- options: {
56
+ 'options': {
57
57
  description: 'Options de configuration du tableau',
58
58
  name: 'v-model:options',
59
59
  control: { type: 'object' },
@@ -62,7 +62,7 @@ const meta = {
62
62
  type: { summary: 'DataOptions', detail: '{ page: number, itemsPerPage: number, sortBy: SortOptions[], groupBy?: SortOptions[], multiSort?: boolean, mustSort?: boolean, filters?: FilterOption[] }' },
63
63
  },
64
64
  },
65
- itemsPerPageOptions: {
65
+ 'itemsPerPageOptions': {
66
66
  description: 'Limite les options disponibles dans le sélecteur "itemsPerPage"',
67
67
  control: { type: 'object' },
68
68
  table: {
@@ -71,11 +71,11 @@ const meta = {
71
71
  defaultValue: { summary: 'undefined' },
72
72
  },
73
73
  },
74
- saveState: {
74
+ 'saveState': {
75
75
  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.',
76
76
  control: { type: 'boolean' },
77
77
  },
78
- suffix: {
78
+ 'suffix': {
79
79
  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.',
80
80
  control: { type: 'text' },
81
81
  table: {
@@ -84,14 +84,14 @@ const meta = {
84
84
  },
85
85
  required: true,
86
86
  },
87
- showExpand: {
87
+ 'showExpand': {
88
88
  description: 'Affiche une colonne permettant d\'étendre les lignes pour afficher du contenu supplémentaire',
89
89
  control: { type: 'boolean' },
90
90
  table: {
91
91
  category: 'props',
92
92
  },
93
93
  },
94
- resizableColumns: {
94
+ 'resizableColumns': {
95
95
  description: 'Permet de redimensionner les colonnes du tableau',
96
96
  control: { type: 'boolean' },
97
97
  table: {
@@ -99,7 +99,7 @@ const meta = {
99
99
  type: { summary: 'boolean' },
100
100
  },
101
101
  },
102
- multiSort: {
102
+ 'multiSort': {
103
103
  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é.',
104
104
  control: { type: 'boolean' },
105
105
  table: {
@@ -110,7 +110,7 @@ const meta = {
110
110
  },
111
111
  },
112
112
  },
113
- mustSort: {
113
+ 'mustSort': {
114
114
  description: 'Force au moins une colonne à être toujours triée. Si désactivé, toutes les colonnes peuvent être non triées.',
115
115
  control: { type: 'boolean' },
116
116
  table: {
@@ -121,15 +121,15 @@ const meta = {
121
121
  },
122
122
  },
123
123
  },
124
- caption: {
124
+ 'caption': {
125
125
  description: 'Texte de la légende du tableau',
126
126
  control: { type: 'text' },
127
127
  },
128
- showFilters: {
128
+ 'showFilters': {
129
129
  description: 'Affiche les filtres au-dessus du tableau',
130
130
  control: { type: 'boolean' },
131
131
  },
132
- enableColumnControls: {
132
+ 'enableColumnControls': {
133
133
  description: 'Allow the users to re-organize the columns',
134
134
  table: {
135
135
  defaultValue: {
@@ -140,7 +140,7 @@ const meta = {
140
140
  },
141
141
  control: { type: 'boolean' },
142
142
  },
143
- showSelect: {
143
+ 'showSelect': {
144
144
  description: 'Affiche des cases à cocher pour sélectionner des lignes',
145
145
  control: { type: 'boolean' },
146
146
  table: {
@@ -148,7 +148,7 @@ const meta = {
148
148
  type: { summary: 'boolean' },
149
149
  },
150
150
  },
151
- showSelectSingle: {
151
+ 'showSelectSingle': {
152
152
  description: 'Affiche des cases à cocher pour sélectionner une seule ligne à la fois',
153
153
  control: { type: 'boolean' },
154
154
  table: {
@@ -156,7 +156,7 @@ const meta = {
156
156
  type: { summary: 'boolean' },
157
157
  },
158
158
  },
159
- selectionKey: {
159
+ 'selectionKey': {
160
160
  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.',
161
161
  control: { type: 'text' },
162
162
  table: {
@@ -165,6 +165,27 @@ const meta = {
165
165
  defaultValue: { summary: 'undefined (fallback: id | objet complet)' },
166
166
  },
167
167
  },
168
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
169
+ // @ts-ignore - 'cookie-description-${cookieName}' storybook can't infer dynamic slot name
170
+ 'header.<columnKey>': {
171
+ 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.',
172
+ control: undefined,
173
+ table: {
174
+ category: 'slots',
175
+ type: {
176
+ summary: 'slot',
177
+ detail: `{
178
+ column: HeaderColumn,
179
+ headers: HeaderColumn[][],
180
+ columns: HeaderColumn[],
181
+ locales: Record<string, string | ((...args: any[]) => string)>,
182
+ sortBy: DataOptions['sortBy'],
183
+ someSelected: boolean,
184
+ allSelected: boolean
185
+ }`,
186
+ },
187
+ },
188
+ },
168
189
  },
169
190
  } satisfies Meta<typeof SyTable & typeof VDataTable>
170
191
 
@@ -3787,6 +3808,237 @@ export const SlotHeaders: Story = {
3787
3808
  },
3788
3809
  }
3789
3810
 
3811
+ export const SlotHeader: Story = {
3812
+ parameters: {
3813
+ sourceCode: [
3814
+ {
3815
+ name: 'Template',
3816
+ code: `
3817
+ <template>
3818
+ <SyTable
3819
+ :headers="headers"
3820
+ :items="items"
3821
+ >
3822
+ <template #header.lastname>
3823
+ <span class="text-primary font-weight-bold">
3824
+ Nom de famille
3825
+ </span>
3826
+ </template>
3827
+ </SyTable>
3828
+ </template>
3829
+ `,
3830
+ },
3831
+ {
3832
+ name: 'Script',
3833
+ code: `
3834
+ <script setup lang="ts">
3835
+ import { ref } from 'vue'
3836
+ import { SyTable } from '@cnamts/synapse'
3837
+
3838
+ const headers = ref([
3839
+ {
3840
+ title: 'Nom',
3841
+ key: 'lastname',
3842
+ },
3843
+ {
3844
+ title: 'Prénom',
3845
+ key: 'firstname',
3846
+ },
3847
+ {
3848
+ title: 'Email',
3849
+ value: 'email',
3850
+ },
3851
+ ])
3852
+
3853
+ const items = ref([
3854
+ {
3855
+ firstname: 'Virginie',
3856
+ lastname: 'Beauchesne',
3857
+ email: 'virginie.beauchesne@example.com',
3858
+ },
3859
+ {
3860
+ firstname: 'Simone',
3861
+ lastname: 'Bellefeuille',
3862
+ email: 'simone.bellefeuille@example.com',
3863
+ },
3864
+ {
3865
+ firstname: 'Étienne',
3866
+ lastname: 'Salois',
3867
+ email: 'etienne.salois@example.com',
3868
+ },
3869
+ {
3870
+ firstname: 'Thierry',
3871
+ lastname: 'Bobu',
3872
+ email: 'thierry.bobu@example.com',
3873
+ },
3874
+ {
3875
+ firstname: 'Bernadette',
3876
+ lastname: 'Langelier',
3877
+ email: 'bernadette.langelier@exemple.com',
3878
+ },
3879
+ {
3880
+ firstname: 'Agate',
3881
+ lastname: 'Roy',
3882
+ email: 'agate.roy@exemple.com',
3883
+ },
3884
+ {
3885
+ firstname: 'Théo',
3886
+ lastname: 'Garnier',
3887
+ email: 'theo.garnier@exemple.com',
3888
+ },
3889
+ {
3890
+ firstname: 'Clara',
3891
+ lastname: 'Moreau',
3892
+ email: 'clara.moreau@exemple.com',
3893
+ },
3894
+ {
3895
+ firstname: 'Lucas',
3896
+ lastname: 'Lefebvre',
3897
+ email: 'lucas.lefebre@exemple.com',
3898
+ },
3899
+ {
3900
+ firstname: 'Emma',
3901
+ lastname: 'Dubois',
3902
+ email: 'emma.dubois@exemple.com',
3903
+ },
3904
+ {
3905
+ firstname: 'Julien',
3906
+ lastname: 'Martin',
3907
+ email: 'julien.martin@exemple.com',
3908
+ },
3909
+ {
3910
+ firstname: 'Sophie',
3911
+ lastname: 'Bernard',
3912
+ email: 'sophie.bernard@exemple.com',
3913
+ },
3914
+ {
3915
+ firstname: 'Antoine',
3916
+ lastname: 'Lemoine',
3917
+ email: 'antoine.lemoine@exemple.com',
3918
+ },
3919
+ {
3920
+ firstname: 'Camille',
3921
+ lastname: 'Rousseau',
3922
+ email: 'camille.rousseau@exemple.com',
3923
+ },
3924
+ ])
3925
+ </script>
3926
+ `,
3927
+ },
3928
+ ],
3929
+ },
3930
+ args: {
3931
+ 'headers': [
3932
+ {
3933
+ title: 'Nom',
3934
+ key: 'lastname',
3935
+ },
3936
+ {
3937
+ title: 'Prénom',
3938
+ key: 'firstname',
3939
+ },
3940
+ {
3941
+ title: 'Email',
3942
+ value: 'email',
3943
+ },
3944
+ ],
3945
+ 'items': [
3946
+ {
3947
+ firstname: 'Virginie',
3948
+ lastname: 'Beauchesne',
3949
+ email: 'virginie.beauchesne@example.com',
3950
+ },
3951
+ {
3952
+ firstname: 'Simone',
3953
+ lastname: 'Bellefeuille',
3954
+ email: 'simone.bellefeuille@example.com',
3955
+ },
3956
+ {
3957
+ firstname: 'Étienne',
3958
+ lastname: 'Salois',
3959
+ email: 'etienne.salois@example.com',
3960
+ },
3961
+ {
3962
+ firstname: 'Thierry',
3963
+ lastname: 'Bobu',
3964
+ email: 'thierry.bobu@example.com',
3965
+ },
3966
+ {
3967
+ firstname: 'Bernadette',
3968
+ lastname: 'Langelier',
3969
+ email: 'bernadette.langelier@exemple.com',
3970
+ },
3971
+ {
3972
+ firstname: 'Agate',
3973
+ lastname: 'Roy',
3974
+ email: 'agate.roy@exemple.com',
3975
+ },
3976
+ {
3977
+ firstname: 'Théo',
3978
+ lastname: 'Garnier',
3979
+ email: 'theo.garnier@exemple.com',
3980
+ },
3981
+ {
3982
+ firstname: 'Clara',
3983
+ lastname: 'Moreau',
3984
+ email: 'clara.moreau@exemple.com',
3985
+ },
3986
+ {
3987
+ firstname: 'Lucas',
3988
+ lastname: 'Lefebvre',
3989
+ email: 'lucas.lefebre@exemple.com',
3990
+ },
3991
+ {
3992
+ firstname: 'Emma',
3993
+ lastname: 'Dubois',
3994
+ email: 'emma.dubois@exemple.com',
3995
+ },
3996
+ {
3997
+ firstname: 'Julien',
3998
+ lastname: 'Martin',
3999
+ email: 'julien.martin@exemple.com',
4000
+ },
4001
+ {
4002
+ firstname: 'Sophie',
4003
+ lastname: 'Bernard',
4004
+ email: 'sophie.bernard@exemple.com',
4005
+ },
4006
+ {
4007
+ firstname: 'Antoine',
4008
+ lastname: 'Lemoine',
4009
+ email: 'antoine.lemoine@exemple.com',
4010
+ },
4011
+ {
4012
+ firstname: 'Camille',
4013
+ lastname: 'Rousseau',
4014
+ email: 'camille.rousseau@exemple.com',
4015
+ },
4016
+ ],
4017
+ 'suffix': 'slot-header-table',
4018
+ 'onUpdate:options': fn(),
4019
+ },
4020
+ render: (args) => {
4021
+ return {
4022
+ components: { SyTable },
4023
+ setup() {
4024
+ return { args }
4025
+ },
4026
+ template: `
4027
+ <SyTable
4028
+ v-model:options="args.options"
4029
+ v-bind="args"
4030
+ >
4031
+ <template #header.lastname>
4032
+ <span class="text-primary font-weight-bold">
4033
+ Nom de famille
4034
+ </span>
4035
+ </template>
4036
+ </SyTable>
4037
+ `,
4038
+ }
4039
+ },
4040
+ }
4041
+
3790
4042
  export const ItemsPerPageOptions: Story = {
3791
4043
  parameters: {
3792
4044
  sourceCode: [
@@ -4019,3 +4271,124 @@ export const ItemsPerPageOptions: Story = {
4019
4271
  }
4020
4272
  },
4021
4273
  }
4274
+
4275
+ export const ComplexItemsDisplay: Story = {
4276
+ parameters: {
4277
+ sourceCode: [
4278
+ {
4279
+ name: 'Template',
4280
+ code: `
4281
+ <template>
4282
+ <SyTable
4283
+ :headers="headers"
4284
+ :items="items"
4285
+ suffix="items-per-page-options-table"
4286
+ >
4287
+ <template #[\`item.period\`]="{ item }">
4288
+ Depuis le {{ item.period.start }} jusqu'au {{ item.period.end }}
4289
+ </template>
4290
+ </SyTable>
4291
+ </template>
4292
+ `,
4293
+ },
4294
+ {
4295
+ name: 'Script',
4296
+ code: `
4297
+ <script setup lang="ts">
4298
+ import { ref } from 'vue'
4299
+ import { SyTable } from '@cnamts/synapse'
4300
+
4301
+ const headers = ref([
4302
+ {
4303
+ title: 'Titre',
4304
+ key: 'title',
4305
+ },
4306
+ {
4307
+ title: 'Période',
4308
+ key: 'period',
4309
+ },
4310
+ ])
4311
+
4312
+ const items = ref([
4313
+ {
4314
+ title: 'Projet Alpha',
4315
+ period: {
4316
+ start: '01/01/2023',
4317
+ end: '30/06/2023',
4318
+ },
4319
+ },
4320
+ {
4321
+ title: 'Projet Beta',
4322
+ period: {
4323
+ start: '15/02/2023',
4324
+ end: '15/08/2023',
4325
+ },
4326
+ },
4327
+ {
4328
+ title: 'Projet Gamma',
4329
+ period: {
4330
+ start: '01/03/2023',
4331
+ end: '31/12/2023',
4332
+ },
4333
+ },
4334
+ ])
4335
+ </script>
4336
+ `,
4337
+ },
4338
+ ],
4339
+ },
4340
+ args: {
4341
+ headers: [
4342
+ {
4343
+ title: 'Titre',
4344
+ key: 'title',
4345
+ },
4346
+ {
4347
+ title: 'Période',
4348
+ key: 'period',
4349
+ },
4350
+ ],
4351
+ items: [
4352
+ {
4353
+ title: 'Projet Alpha',
4354
+ period: {
4355
+ start: '01/01/2023',
4356
+ end: '30/06/2023',
4357
+ },
4358
+ },
4359
+ {
4360
+ title: 'Projet Beta',
4361
+ period: {
4362
+ start: '15/02/2023',
4363
+ end: '15/08/2023',
4364
+ },
4365
+ },
4366
+ {
4367
+ title: 'Projet Gamma',
4368
+ period: {
4369
+ start: '01/03/2023',
4370
+ end: '31/12/2023',
4371
+ },
4372
+ },
4373
+ ],
4374
+ caption: 'Périodes des projets en cours',
4375
+ suffix: 'items-display-cell-table',
4376
+ },
4377
+ render: (args) => {
4378
+ return {
4379
+ components: { SyTable },
4380
+ setup() {
4381
+ return { args }
4382
+ },
4383
+ template: `
4384
+ <SyTable
4385
+ v-bind="args"
4386
+ >
4387
+ <template #[\`item.period\`]="{ item }">
4388
+ Depuis le {{ item.period.start }} jusqu'au {{ item.period.end }}
4389
+ </template>
4390
+ </SyTable>
4391
+ `,
4392
+ }
4393
+ },
4394
+ }
@@ -5,7 +5,6 @@
5
5
  import SyTableFilter from '../common/SyTableFilter.vue'
6
6
  import TableHeader from '../common/TableHeader.vue'
7
7
  import SyTablePagination from '../common/SyTablePagination.vue'
8
- import { processItems } from '../common/formatters'
9
8
  import { locales } from '../common/locales'
10
9
  import OrganizeColumns from '../common/organizeColumns/OrganizeColumns.vue'
11
10
  import { useTableProps } from '../common/tableProps'
@@ -86,12 +85,8 @@
86
85
  filterInputConfig: props.filterInputConfig,
87
86
  })
88
87
 
89
- // Create a reactive reference for items
90
- const itemsRef = computed(() => props.items)
91
-
92
- // Use the table items composable
93
88
  const { filteredItems } = useTableItems({
94
- items: itemsRef,
89
+ items: computed(() => props.items),
95
90
  headers,
96
91
  filters,
97
92
  options,
@@ -245,7 +240,7 @@
245
240
  color="primary"
246
241
  :headers="displayHeaders"
247
242
  v-bind="propsFacade"
248
- :items="processItems(filteredItems)"
243
+ :items="filteredItems"
249
244
  :density="props.density"
250
245
  :show-select="props.showSelect || props.showSelectSingle"
251
246
  :select-strategy="props.showSelectSingle ? 'single' : 'page'"
@@ -270,7 +265,7 @@
270
265
  <tr class="headers">
271
266
  <template
272
267
  v-for="column in slotProps.columns"
273
- :key="column.key"
268
+ :key="column.key!"
274
269
  >
275
270
  <th
276
271
  :class="{ 'checkbox-column': column.key === 'data-table-select' }"
@@ -302,9 +297,19 @@
302
297
  :table="table"
303
298
  :header-params="slotProps"
304
299
  :column="column"
305
- :header-props-raw="getHeaderForColumn(column)?.headerProps as any"
300
+ :header-props-raw="(getHeaderForColumn(column)?.headerProps as any)"
306
301
  :resizable-columns="props.resizableColumns"
307
- />
302
+ >
303
+ <template
304
+ v-for="slotName in Object.keys($slots)"
305
+ #[slotName]="currentSlotProps"
306
+ >
307
+ <slot
308
+ :name="slotName"
309
+ v-bind="currentSlotProps ?? {}"
310
+ />
311
+ </template>
312
+ </TableHeader>
308
313
  </template>
309
314
  </th>
310
315
  </template>
@@ -316,7 +321,7 @@
316
321
  <th v-if="props.showSelect || props.showSelectSingle" />
317
322
  <template
318
323
  v-for="column in slotProps.columns.filter(c => c.key !== 'data-table-select')"
319
- :key="column.key"
324
+ :key="column.key!"
320
325
  >
321
326
  <th
322
327
  :style="{