@webitel/ui-sdk 26.8.21 → 26.8.22

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 (387) hide show
  1. package/dist/{clients-Ba7VhTMH.js → clients-Cgrz-ee-.js} +707 -22
  2. package/dist/{components-ABAwRPPa.js → components-BENKf-0C.js} +882 -846
  3. package/dist/{composables-C_OatTQJ.js → composables-BtWSAI5D.js} +14 -12
  4. package/dist/ui-sdk.css +1 -1
  5. package/dist/ui-sdk.js +51 -50
  6. package/dist/ui-sdk.umd.cjs +695 -594
  7. package/dist/useEventBus-B-ZeklLu.js +5 -0
  8. package/dist/{useValidation-DgSm80YX.js → useValidation-B4_82RZv.js} +4 -4
  9. package/dist/{useVidstackSrc-B4mUti_c.js → useVidstackSrc-aQcqC_v0.js} +5 -5
  10. package/dist/{vidstack-C6nBVWwn-cKiWT0KJ.js → vidstack-C6nBVWwn-DNsvM1pU.js} +2 -2
  11. package/dist/{vidstack-CI5oafcm-DfWpvayJ.js → vidstack-CI5oafcm-EXmYmdjq.js} +1 -1
  12. package/dist/{vidstack-DUnfBERX2-BJtKHFxc.js → vidstack-DUnfBERX2-jgzDS0Hg.js} +1 -1
  13. package/dist/{vidstack-audio-BCPraiiR.js → vidstack-audio-CPO0A50Q.js} +1 -1
  14. package/dist/{vidstack-dash-MBx5aEEA.js → vidstack-dash-DHt7tTPh.js} +2 -2
  15. package/dist/{vidstack-hls-BbZsbfaO.js → vidstack-hls-WW1jeu5R.js} +2 -2
  16. package/dist/vidstack-video-Bwash4bY.js +2 -0
  17. package/dist/vue-router-Dwey8MMv.js +16 -0
  18. package/dist/{wt-button-G2Q1uf_y.js → wt-button-OZTROX1W.js} +3 -3
  19. package/dist/{wt-chat-emoji-DM6G80G_.js → wt-chat-emoji-ByGj5Mh4.js} +3 -3
  20. package/dist/{wt-datepicker-DTUMTWJK.js → wt-datepicker-OIgnVIpv.js} +38 -34
  21. package/dist/{wt-display-chip-items-3GRXkRfT.js → wt-display-chip-items-BUlu4Pqh.js} +2 -2
  22. package/dist/{wt-dual-panel-Dhj8Eg_y.js → wt-dual-panel-BEGLGU7F.js} +1 -1
  23. package/dist/{wt-expansion-card-BzhcCehz.js → wt-expansion-card-CpmnVJ03.js} +1 -1
  24. package/dist/{wt-galleria-qPHnXPx7.js → wt-galleria-CgY38PPx.js} +3 -6
  25. package/dist/{wt-icon-btn-BJl5VlM9.js → wt-icon-btn-hAWVJdNG.js} +2 -2
  26. package/dist/{wt-navigation-menu-CenQi_-T.js → wt-navigation-menu-BMupOW07.js} +2 -2
  27. package/dist/{wt-notifications-bar-C7cK0wEL.js → wt-notifications-bar-CqVk9cm7.js} +1 -1
  28. package/dist/{wt-player-Ca2x4geU.js → wt-player-vsOVUgi7.js} +17 -15
  29. package/dist/{wt-screen-recordings-action-Dzzo0eqW.js → wt-screen-recordings-action-Dj6ITuhE.js} +1 -1
  30. package/dist/{wt-search-bar-DtJL-csc.js → wt-search-bar-CagDl5av.js} +3 -3
  31. package/dist/wt-send-message-popup-zjxEP-HK.js +1208 -0
  32. package/dist/wt-start-page-BFQExFUj.js +73 -0
  33. package/dist/{wt-status-select-D1hAjCAS.js → wt-status-select-B-N9Fvz4.js} +2 -2
  34. package/dist/{wt-table-DJ3yOWZV.js → wt-table-C4PZJ3rP.js} +49 -47
  35. package/dist/{wt-table-column-select-CgEh5BAF.js → wt-table-column-select-D4c56HPB.js} +2 -2
  36. package/dist/{wt-time-input-u5Ay5_X5.js → wt-time-input-BEBrSugB.js} +9 -2
  37. package/dist/{wt-timepicker-CB8HzUZw.js → wt-timepicker-CQ2TRigf.js} +11 -4
  38. package/dist/{wt-toast-BbaZZWKt.js → wt-toast-Cb15-PN4.js} +1 -1
  39. package/dist/{wt-tree-DZ9ErOGj.js → wt-tree-CMIpbXBo.js} +40 -40
  40. package/dist/{wt-tree-table-C0ZIJXcv.js → wt-tree-table-CVvWMduu.js} +7 -7
  41. package/dist/{wt-type-extension-value-input-kzX2hJY_.js → wt-type-extension-value-input-l3TF0Xtv.js} +14 -9
  42. package/dist/{wt-vidstack-player-DbRHboYo.js → wt-vidstack-player-DV_fxJKW.js} +46 -42
  43. package/package.json +4 -1
  44. package/src/api/clients/_shared/types.ts +30 -0
  45. package/src/api/clients/caseSources/caseSources.ts +17 -8
  46. package/src/api/clients/quickReplies/quickReplies.ts +17 -8
  47. package/src/api/clients/roles/roles.ts +21 -12
  48. package/src/api/clients/wtTypes/sysTypes/sysTypes.ts +16 -4
  49. package/src/api/clients/wtTypes/typeExtensions/typeExtensions.ts +27 -9
  50. package/src/api/websocket/WebSocketClientController.ts +13 -5
  51. package/src/api/websocket/{config.js → config.ts} +5 -3
  52. package/src/api/websocket/websocketErrorEventHandler.ts +1 -1
  53. package/src/components/_internals/composables/useExpansion/useExpansion.ts +6 -1
  54. package/src/components/_internals/composables/useGalleriaMaskClick/useGalleriaMaskClick.ts +5 -3
  55. package/src/components/_internals/composables/useInputControl/useInputControl.ts +5 -3
  56. package/src/components/_internals/composables/useSelect/types.ts +69 -0
  57. package/src/components/_internals/composables/useSelect/useSelect.ts +4 -2
  58. package/src/components/_internals/composables/useSelect/useSelectCustomValues.ts +3 -2
  59. package/src/components/_internals/composables/useSelect/useSelectDropdown.ts +4 -3
  60. package/src/components/_internals/composables/useSelect/useSelectOptions.ts +20 -14
  61. package/src/components/_internals/composables/useSelect/useSelectUtils.ts +20 -7
  62. package/src/components/_internals/composables/useTableColumnDrag/useTableColumnDrag.ts +22 -12
  63. package/src/components/_internals/composables/useWtTable/useWtTable.ts +6 -2
  64. package/src/components/_internals/types/PrimevueInstance.ts +15 -0
  65. package/src/components/_shared/settings-panel/components/speed-settings/speed-settings.vue +6 -1
  66. package/src/components/on-demand/wt-display-chip-items/wt-display-chip-items.vue +6 -1
  67. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +0 -2
  68. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +0 -2
  69. package/src/components/on-demand/wt-screen-recordings-action/wt-screen-recordings-action.vue +12 -4
  70. package/src/components/on-demand/wt-send-message-popup/wt-send-message-popup.vue +17 -7
  71. package/src/components/on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue +36 -15
  72. package/src/components/on-demand/wt-upload-file-icon-btn/wt-upload-file-icon-btn.vue +1 -1
  73. package/src/components/wt-badge-new/wt-badge.vue +1 -1
  74. package/src/components/wt-button/wt-button.vue +5 -5
  75. package/src/components/wt-checkbox/wt-checkbox.vue +4 -2
  76. package/src/components/wt-chip/wt-chip.vue +1 -1
  77. package/src/components/wt-datepicker/wt-datepicker.vue +30 -20
  78. package/src/components/wt-dual-panel/wt-dual-panel.vue +1 -1
  79. package/src/components/wt-galleria/wt-galleria.vue +1 -11
  80. package/src/components/wt-image/wt-image.vue +3 -3
  81. package/src/components/wt-input-number/wt-input-number.vue +8 -13
  82. package/src/components/wt-input-text/wt-input-text.vue +15 -17
  83. package/src/components/wt-intersection-observer/wt-intersection-observer.vue +1 -1
  84. package/src/components/wt-message/wt-message.vue +1 -1
  85. package/src/components/wt-multi-select/wt-multi-select.vue +22 -12
  86. package/src/components/wt-navigation-bar/types/WtNavigationBar.ts +3 -1
  87. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +34 -18
  88. package/src/components/wt-password/wt-password.vue +12 -13
  89. package/src/components/wt-player/wt-player.vue +7 -2
  90. package/src/components/wt-popover/wt-popover.vue +5 -1
  91. package/src/components/wt-popup/wt-popup.vue +5 -1
  92. package/src/components/wt-radio/wt-radio.vue +1 -1
  93. package/src/components/wt-search-bar/wt-search-bar.vue +17 -10
  94. package/src/components/wt-single-select/wt-single-select.vue +19 -12
  95. package/src/components/wt-status-select/wt-status-select.vue +2 -2
  96. package/src/components/wt-table/types/WtTable.ts +11 -1
  97. package/src/components/wt-table/wt-table.vue +43 -24
  98. package/src/components/wt-table-column-select/wt-table-column-select.vue +3 -5
  99. package/src/components/wt-textarea/wt-textarea.vue +9 -15
  100. package/src/components/wt-time-input/wt-time-input.vue +7 -4
  101. package/src/components/wt-timepicker/wt-timepicker.vue +6 -3
  102. package/src/components/wt-toast/wt-toast.vue +2 -2
  103. package/src/components/wt-tree/wt-tree.vue +6 -5
  104. package/src/components/wt-tree-line/types/wt-tree-node.ts +6 -0
  105. package/src/components/wt-tree-line/wt-tree-line.vue +29 -15
  106. package/src/components/wt-tree-table/wt-tree-table.vue +16 -18
  107. package/src/components/wt-tree-table-row/wt-tree-table-row.vue +9 -4
  108. package/src/components/wt-vidstack-player/components/buttons/fullscreen-button.vue +2 -3
  109. package/src/components/wt-vidstack-player/components/buttons/play-button.vue +1 -5
  110. package/src/components/wt-vidstack-player/components/controls-group/controls-group.vue +2 -4
  111. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +2 -4
  112. package/src/components/wt-vidstack-player/components/panels/playback-controls-panel/components/buttons/fullscreen-button.vue +0 -2
  113. package/src/components/wt-vidstack-player/components/panels/playback-controls-panel/components/buttons/play-button.vue +2 -4
  114. package/src/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue +4 -4
  115. package/src/components/wt-vidstack-player/components/panels/video-call-controls-panel/video-call-controls-panel.vue +3 -3
  116. package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +4 -4
  117. package/src/components/wt-vidstack-player/components/screenshot-box/screenshot-box.vue +1 -1
  118. package/src/components/wt-vidstack-player/composables/useVidstackPlayerSize.ts +11 -0
  119. package/src/components/wt-vidstack-player/composables/useVidstackSrc.ts +27 -6
  120. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +7 -4
  121. package/src/enums/MessageColor/MessageColor.ts +1 -1
  122. package/src/enums/MessageVariant/MessageVariant.ts +2 -1
  123. package/src/install.ts +6 -2
  124. package/src/locale/en/en.js +1 -0
  125. package/src/locale/es/es.js +1 -0
  126. package/src/locale/kz/kz.js +1 -0
  127. package/src/locale/pl/pl.js +1 -0
  128. package/src/locale/ro/ro.js +1 -0
  129. package/src/locale/ru/ru.js +1 -0
  130. package/src/locale/uk/uk.js +1 -0
  131. package/src/locale/uz/uz.js +1 -0
  132. package/src/locale/vi/vi.js +1 -0
  133. package/src/mixins/validationMixin/regle/useRegleValidation.ts +2 -2
  134. package/src/mixins/validationMixin/useValidation.ts +1 -1
  135. package/src/mixins/validationMixin/vuelidate/useVuelidateValidation.ts +23 -8
  136. package/src/modules/CSVExport/CSVExport.js +1 -1
  137. package/src/modules/CallSession/modules/VideoCall/video-call.vue +34 -16
  138. package/src/modules/DeleteConfirmationPopup/composables/useDeleteConfirmationPopup.js +1 -1
  139. package/src/modules/FilesExport/composables/useFilesExport.ts +1 -1
  140. package/src/modules/UploadCsvPopup/components/wt-upload-csv-popup.vue +2 -2
  141. package/src/modules/UploadCsvPopup/composable/useUploadCsv.ts +39 -12
  142. package/src/modules/UploadCsvPopup/scripts/normalizeCSVData.ts +20 -17
  143. package/src/modules/UploadCsvPopup/scripts/parseCSV.ts +2 -2
  144. package/src/modules/UploadCsvPopup/scripts/processFile.ts +2 -2
  145. package/src/modules/UploadCsvPopup/scripts/splitAndSaveData.ts +8 -2
  146. package/src/modules/UserNotifications/stores/userNotificationsStore.ts +9 -1
  147. package/src/modules/Userinfo/classes/ApplicationsAccess.ts +12 -6
  148. package/src/modules/Userinfo/mappings/mappings.ts +10 -3
  149. package/src/modules/Userinfo/scripts/utils.ts +8 -4
  150. package/src/modules/Userinfo/stores/accessStore.ts +16 -16
  151. package/src/modules/Userinfo/types/UserAccess.ts +1 -1
  152. package/src/plugins/breakpoint/breakpoint.plugin.ts +1 -1
  153. package/src/scripts/compareSize.ts +4 -4
  154. package/src/scripts/downloadFile/downloadFile.ts +1 -1
  155. package/src/scripts/normalizeDatetime.ts +2 -2
  156. package/src/utils/displayText.ts +1 -1
  157. package/types/.tsbuildinfo +1 -1
  158. package/types/api/clients/_shared/types.d.ts +23 -0
  159. package/types/api/clients/caseSources/caseSources.d.ts +7 -15
  160. package/types/api/clients/chatGateways/defaults/webChatGateway.d.ts +1 -1
  161. package/types/api/clients/gateways/defaults/trunkingGateway.d.ts +1 -1
  162. package/types/api/clients/quickReplies/quickReplies.d.ts +7 -15
  163. package/types/api/clients/roles/roles.d.ts +8 -16
  164. package/types/api/clients/wtTypes/sysTypes/sysTypes.d.ts +11 -12
  165. package/types/api/clients/wtTypes/typeExtensions/typeExtensions.d.ts +19 -18
  166. package/types/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.d.ts +1 -1
  167. package/types/api/defaults/getDefaultGetParams/getDefaultGetParams.d.ts +2 -2
  168. package/types/api/transformers/applyTransform.d.ts +2 -2
  169. package/types/api/websocket/WebSocketClientController.d.ts +10 -9
  170. package/types/api/websocket/config.d.ts +3 -2
  171. package/types/api/websocket/websocketErrorEventHandler.d.ts +5 -1
  172. package/types/assets/icons/iconsRepository.d.ts +1 -1
  173. package/types/components/_internals/composables/useExpansion/useExpansion.d.ts +6 -1
  174. package/types/components/_internals/composables/useGalleriaMaskClick/useGalleriaMaskClick.d.ts +2 -1
  175. package/types/components/_internals/composables/useInputControl/useInputControl.d.ts +4 -2
  176. package/types/components/_internals/composables/useSelect/types.d.ts +52 -0
  177. package/types/components/_internals/composables/useSelect/useSelect.d.ts +4 -18
  178. package/types/components/_internals/composables/useSelect/useSelectCustomValues.d.ts +2 -12
  179. package/types/components/_internals/composables/useSelect/useSelectDropdown.d.ts +2 -14
  180. package/types/components/_internals/composables/useSelect/useSelectOptions.d.ts +6 -14
  181. package/types/components/_internals/composables/useSelect/useSelectUtils.d.ts +5 -4
  182. package/types/components/_internals/composables/useTableColumnDrag/useTableColumnDrag.d.ts +3 -1
  183. package/types/components/_internals/composables/useWtTable/useWtTable.d.ts +3 -2
  184. package/types/components/_internals/types/PrimevueInstance.d.ts +14 -0
  185. package/types/components/_shared/settings-panel/components/speed-settings/speed-settings.vue.d.ts +2 -2
  186. package/types/components/_shared/settings-panel/settings-panel.vue.d.ts +1 -1
  187. package/types/components/on-demand/wt-call-media-action/wt-call-media-action.vue.d.ts +2 -2
  188. package/types/components/on-demand/wt-chat-emoji/wt-chat-emoji.vue.d.ts +1 -1
  189. package/types/components/on-demand/wt-display-chip-items/wt-display-chip-items.vue.d.ts +6 -2
  190. package/types/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue.d.ts +6 -6
  191. package/types/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue.d.ts +2 -2
  192. package/types/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue.d.ts +2 -2
  193. package/types/components/on-demand/wt-route-transition/wt-route-transition.vue.d.ts +1 -1
  194. package/types/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue.d.ts +3 -3
  195. package/types/components/on-demand/wt-screen-recordings-action/wt-screen-recordings-action.vue.d.ts +10 -2
  196. package/types/components/on-demand/wt-selection-popup/wt-selection-popup.vue.d.ts +8 -8
  197. package/types/components/on-demand/wt-send-message-popup/wt-send-message-popup.vue.d.ts +1 -1
  198. package/types/components/on-demand/wt-table-transition/wt-table-transition.vue.d.ts +1 -1
  199. package/types/components/on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue.d.ts +18 -11
  200. package/types/components/on-demand/wt-upload-file-icon-btn/wt-upload-file-icon-btn.vue.d.ts +3 -3
  201. package/types/components/transitions/cases/wt-replace-transition.vue.d.ts +1 -1
  202. package/types/components/transitions/wt-transition.vue.d.ts +1 -1
  203. package/types/components/wt-action-bar/WtActionBarActionsOrder.d.ts +2 -2
  204. package/types/components/wt-action-bar/wt-action-bar.vue.d.ts +64 -64
  205. package/types/components/wt-app-header/wt-app-header.vue.d.ts +1 -1
  206. package/types/components/wt-app-header/wt-header-actions.vue.d.ts +6 -9
  207. package/types/components/wt-badge/wt-badge.vue.d.ts +1 -1
  208. package/types/components/wt-badge-new/wt-badge.vue.d.ts +3 -3
  209. package/types/components/wt-breadcrumb/wt-breadcrumb.vue.d.ts +1 -1
  210. package/types/components/wt-button/wt-button.vue.d.ts +2 -2
  211. package/types/components/wt-button-select/wt-button-select.vue.d.ts +3 -3
  212. package/types/components/wt-call-media-metric/wt-call-media-metric.vue.d.ts +1 -1
  213. package/types/components/wt-checkbox/wt-checkbox.vue.d.ts +3 -3
  214. package/types/components/wt-chip/wt-chip.vue.d.ts +2 -2
  215. package/types/components/wt-confirm-dialog/wt-confirm-dialog.vue.d.ts +5 -5
  216. package/types/components/wt-context-menu/wt-context-menu.vue.d.ts +7 -7
  217. package/types/components/wt-datepicker/wt-datepicker.vue.d.ts +20 -19
  218. package/types/components/wt-divider/wt-divider.vue.d.ts +1 -1
  219. package/types/components/wt-dual-panel/wt-dual-panel.vue.d.ts +5 -5
  220. package/types/components/wt-empty/wt-empty.vue.d.ts +38 -38
  221. package/types/components/wt-expansion-card/wt-expansion-card.vue.d.ts +3 -3
  222. package/types/components/wt-expansion-panel/wt-expansion-panel.vue.d.ts +3 -3
  223. package/types/components/wt-galleria/wt-galleria.vue.d.ts +2 -2
  224. package/types/components/wt-icon/wt-icon.vue.d.ts +1 -1
  225. package/types/components/wt-icon-action/wt-icon-action.vue.d.ts +4 -4
  226. package/types/components/wt-icon-btn/wt-icon-btn.vue.d.ts +3 -3
  227. package/types/components/wt-image/wt-image.vue.d.ts +2 -2
  228. package/types/components/wt-inline-add-panel/wt-inline-add-panel.vue.d.ts +3 -3
  229. package/types/components/wt-input-number/wt-input-number.vue.d.ts +9 -9
  230. package/types/components/wt-input-text/wt-input-text.vue.d.ts +11 -9
  231. package/types/components/wt-intersection-observer/wt-intersection-observer.vue.d.ts +1 -1
  232. package/types/components/wt-item-link/wt-item-link.vue.d.ts +1 -1
  233. package/types/components/wt-label/mixins/labelUsageMixin.d.ts +1 -1
  234. package/types/components/wt-label/wt-label.vue.d.ts +1 -1
  235. package/types/components/wt-menubar/wt-menubar.vue.d.ts +1 -1
  236. package/types/components/wt-message/wt-message.vue.d.ts +1 -1
  237. package/types/components/wt-multi-select/wt-multi-select.vue.d.ts +19 -19
  238. package/types/components/wt-navigation-bar/types/WtNavigationBar.d.ts +2 -1
  239. package/types/components/wt-navigation-bar/wt-navigation-bar.vue.d.ts +22 -45
  240. package/types/components/wt-page-header/wt-page-header.vue.d.ts +4 -4
  241. package/types/components/wt-password/wt-password.vue.d.ts +11 -9
  242. package/types/components/wt-player/wt-player.vue.d.ts +6 -6
  243. package/types/components/wt-popover/wt-popover.vue.d.ts +13 -9
  244. package/types/components/wt-popup/wt-popup.vue.d.ts +8 -4
  245. package/types/components/wt-radio/wt-radio.vue.d.ts +2 -2
  246. package/types/components/wt-search-bar/wt-search-bar.vue.d.ts +25 -18
  247. package/types/components/wt-single-select/wt-single-select.vue.d.ts +18 -15
  248. package/types/components/wt-slider/wt-slider.vue.d.ts +3 -3
  249. package/types/components/wt-status-select/wt-status-select.vue.d.ts +3 -3
  250. package/types/components/wt-stepper/wt-stepper.vue.d.ts +2 -2
  251. package/types/components/wt-switcher/wt-switcher.vue.d.ts +4 -4
  252. package/types/components/wt-table/types/WtTable.d.ts +7 -1
  253. package/types/components/wt-table/wt-table.vue.d.ts +12 -12
  254. package/types/components/wt-table-actions/wt-table-actions.vue.d.ts +2 -2
  255. package/types/components/wt-table-column-select/wt-table-column-select.vue.d.ts +1 -1
  256. package/types/components/wt-tabs/wt-tabs.vue.d.ts +3 -3
  257. package/types/components/wt-textarea/wt-textarea.vue.d.ts +9 -14
  258. package/types/components/wt-time-input/wt-time-input.vue.d.ts +9 -9
  259. package/types/components/wt-timepicker/wt-timepicker.vue.d.ts +8 -8
  260. package/types/components/wt-tooltip/_internals/wt-tooltip-floating.vue.d.ts +5 -5
  261. package/types/components/wt-tooltip/wt-tooltip.vue.d.ts +7 -7
  262. package/types/components/wt-tree/wt-tree.vue.d.ts +5 -3
  263. package/types/components/wt-tree-line/types/wt-tree-node.d.ts +5 -0
  264. package/types/components/wt-tree-line/wt-tree-line.vue.d.ts +8 -18
  265. package/types/components/wt-tree-table/wt-tree-table.vue.d.ts +2 -2
  266. package/types/components/wt-tree-table-row/wt-tree-table-row.vue.d.ts +3 -18
  267. package/types/components/wt-vidstack-player/components/buttons/fullscreen-button.vue.d.ts +1 -1
  268. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +5 -5
  269. package/types/components/wt-vidstack-player/components/panels/playback-controls-panel/components/buttons/fullscreen-button.vue.d.ts +1 -1
  270. package/types/components/wt-vidstack-player/components/panels/playback-controls-panel/components/time-group.vue.d.ts +1 -1
  271. package/types/components/wt-vidstack-player/components/panels/playback-controls-panel/playback-controls-panel.vue.d.ts +1 -1
  272. package/types/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue.d.ts +3 -3
  273. package/types/components/wt-vidstack-player/components/panels/video-call-controls-panel/video-call-controls-panel.vue.d.ts +14 -14
  274. package/types/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue.d.ts +2 -2
  275. package/types/components/wt-vidstack-player/components/screenshot-box/screenshot-box.vue.d.ts +2 -2
  276. package/types/components/wt-vidstack-player/components/toggle-button.vue.d.ts +1 -1
  277. package/types/components/wt-vidstack-player/composables/useVidstackPlayerSize.d.ts +2 -0
  278. package/types/components/wt-vidstack-player/composables/useVidstackSrc.d.ts +11 -4
  279. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +8 -7
  280. package/types/composables/useCachedInterval/useCachedInterval.d.ts +1 -1
  281. package/types/composables/useCachedItemInstanceName/useCachedItemInstanceName.d.ts +1 -1
  282. package/types/composables/useCard/useCardTabs.d.ts +1 -1
  283. package/types/composables/useClose/useClose.d.ts +1 -1
  284. package/types/enums/MessageColor/MessageColor.d.ts +1 -1
  285. package/types/enums/MessageVariant/MessageVariant.d.ts +1 -1
  286. package/types/locale/en/en.d.ts +3 -2
  287. package/types/locale/es/es.d.ts +3 -2
  288. package/types/locale/i18n.d.ts +27 -18
  289. package/types/locale/index.d.ts +27 -18
  290. package/types/locale/kz/kz.d.ts +3 -2
  291. package/types/locale/pl/pl.d.ts +3 -2
  292. package/types/locale/ro/ro.d.ts +3 -2
  293. package/types/locale/ru/ru.d.ts +3 -2
  294. package/types/locale/uk/uk.d.ts +3 -2
  295. package/types/locale/uz/uz.d.ts +3 -2
  296. package/types/locale/vi/vi.d.ts +3 -2
  297. package/types/mixins/dataFilterMixins/_urlControllerMixin/_urlControllerMixin.d.ts +1 -1
  298. package/types/mixins/dataFilterMixins/apiFilterMixin.d.ts +3 -3
  299. package/types/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.d.ts +1 -1
  300. package/types/mixins/dataFilterMixins/enumFilterMixin.d.ts +4 -4
  301. package/types/mixins/dataFilterMixins/paginationFilterMixin.d.ts +2 -2
  302. package/types/mixins/dataFilterMixins/sortFilterMixin.d.ts +1 -1
  303. package/types/mixins/validationMixin/regle/useRegleValidation.d.ts +1 -1
  304. package/types/mixins/validationMixin/useValidation.d.ts +2 -2
  305. package/types/mixins/validationMixin/validationMixin.d.ts +1 -1
  306. package/types/mixins/validationMixin/vuelidate/useVuelidateValidation.d.ts +9 -5
  307. package/types/modules/AgentPdfs/components/agent-pdfs-tab.vue.d.ts +1 -1
  308. package/types/modules/AgentPdfs/components/pdf-status-preview.vue.d.ts +1 -1
  309. package/types/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue.d.ts +4 -4
  310. package/types/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue.d.ts +1 -1
  311. package/types/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue.d.ts +1 -1
  312. package/types/modules/Appearance/components/wt-dark-mode-switcher.vue.d.ts +1 -1
  313. package/types/modules/Appearance/pinia/store/AppearanceStore.d.ts +3 -3
  314. package/types/modules/Appearance/store/AppearanceStoreModule.d.ts +1 -1
  315. package/types/modules/AuditForm/components/audit-form-question-read-wrapper.vue.d.ts +3 -3
  316. package/types/modules/AuditForm/components/audit-form-question-write-wrapper.vue.d.ts +2 -2
  317. package/types/modules/AuditForm/components/audit-form-question.vue.d.ts +7 -7
  318. package/types/modules/AuditForm/components/audit-form.vue.d.ts +6 -6
  319. package/types/modules/AuditForm/components/form/form-footer/audit-form-footer.vue.d.ts +3 -3
  320. package/types/modules/AuditForm/components/form-questions/options/audit-form-question-options-write-row.vue.d.ts +2 -2
  321. package/types/modules/AuditForm/components/form-questions/options/audit-form-question-options.vue.d.ts +4 -4
  322. package/types/modules/AuditForm/components/form-questions/score/audit-form-question-score.vue.d.ts +6 -6
  323. package/types/modules/AuditForm/components/form-questions/yes/audit-form-question-yes.vue.d.ts +2 -2
  324. package/types/modules/CSVExport/CSVExport.d.ts +3 -6
  325. package/types/modules/CSVExport/XLSExport.d.ts +1 -1
  326. package/types/modules/CSVExport/composables/useCSVExport.d.ts +6 -6
  327. package/types/modules/CSVExport/mixins/exportCSVMixin.d.ts +1 -1
  328. package/types/modules/CSVExport/mixins/exportXLSMixin.d.ts +1 -1
  329. package/types/modules/CallSession/modules/ScreenSharing/screen-sharing.vue.d.ts +3 -3
  330. package/types/modules/CallSession/modules/VideoCall/composables/useReceiverLiveStream.d.ts +6 -6
  331. package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +17 -17
  332. package/types/modules/CardStoreModule/store/CardStoreModule.d.ts +1 -1
  333. package/types/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue.d.ts +2 -2
  334. package/types/modules/DeleteConfirmationPopup/composables/useDeleteConfirmationPopup.d.ts +1 -1
  335. package/types/modules/Filters/classes/BaseFilterSchema.d.ts +7 -7
  336. package/types/modules/Filters/components/filter-search.vue.d.ts +2 -2
  337. package/types/modules/Filters/components/filter-table-fields.vue.d.ts +3 -3
  338. package/types/modules/Filters/scripts/getters/localStorageGetter.d.ts +1 -1
  339. package/types/modules/Filters/store/FiltersStoreModule.d.ts +1 -1
  340. package/types/modules/Notifications/assets/audio/triggerSound.d.ts +1 -1
  341. package/types/modules/Notifications/store/NotificationsStoreModule.d.ts +9 -9
  342. package/types/modules/ObjectPermissions/components/_internal/permissions-role-row.vue.d.ts +1 -1
  343. package/types/modules/ObjectPermissions/components/_internal/permissions-role-select.vue.d.ts +1 -1
  344. package/types/modules/ObjectPermissions/components/_internal/permissions-tab-content.vue.d.ts +5 -5
  345. package/types/modules/ObjectPermissions/components/_internal/permissions-tab-role-popup.vue.d.ts +2 -2
  346. package/types/modules/ObjectPermissions/headers/headers.d.ts +1 -1
  347. package/types/modules/ObjectPermissions/store/objectPermissionsStoreModule.d.ts +2 -2
  348. package/types/modules/QueryFilters/classes/BaseFilterSchema.d.ts +2 -2
  349. package/types/modules/QueryFilters/components/abstract-api-filter.vue.d.ts +1 -1
  350. package/types/modules/QueryFilters/components/abstract-enum-filter.vue.d.ts +1 -1
  351. package/types/modules/QueryFilters/components/filter-datetime.vue.d.ts +1 -1
  352. package/types/modules/QueryFilters/components/filter-from-to.vue.d.ts +1 -1
  353. package/types/modules/QueryFilters/components/filter-search.vue.d.ts +1 -1
  354. package/types/modules/QueryFilters/components/filter-table-fields.vue.d.ts +3 -3
  355. package/types/modules/QueryFilters/mixins/_urlControllerMixin/_urlControllerMixin.d.ts +1 -1
  356. package/types/modules/QueryFilters/mixins/apiFilterMixin.d.ts +1 -1
  357. package/types/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.d.ts +1 -1
  358. package/types/modules/QueryFilters/mixins/enumFilterMixin.d.ts +1 -1
  359. package/types/modules/QueryFilters/mixins/paginationFilterMixin.d.ts +2 -2
  360. package/types/modules/QueryFilters/mixins/sortFilterMixin.d.ts +1 -1
  361. package/types/modules/QueryFilters/store/QueryFiltersStoreModule.d.ts +4 -4
  362. package/types/modules/TableComponentModule/composables/useTableEmpty.d.ts +7 -7
  363. package/types/modules/TableStoreModule/store/TableStoreModule.d.ts +5 -5
  364. package/types/modules/UploadCsvPopup/components/wt-upload-csv-popup.vue.d.ts +5 -5
  365. package/types/modules/UploadCsvPopup/composable/useUploadCsv.d.ts +21 -11
  366. package/types/modules/UploadCsvPopup/scripts/normalizeCSVData.d.ts +15 -20
  367. package/types/modules/UploadCsvPopup/scripts/parseCSV.d.ts +2 -1
  368. package/types/modules/UploadCsvPopup/scripts/processFile.d.ts +2 -2
  369. package/types/modules/UploadCsvPopup/scripts/splitAndSaveData.d.ts +3 -3
  370. package/types/modules/Userinfo/classes/ApplicationsAccess.d.ts +2 -10
  371. package/types/modules/Userinfo/mappings/mappings.d.ts +12 -24
  372. package/types/modules/Userinfo/scripts/utils.d.ts +2 -2
  373. package/types/modules/Userinfo/stores/settingsStore.d.ts +4 -4
  374. package/types/modules/Userinfo/stores/userinfoStore.d.ts +3 -3
  375. package/types/modules/Userinfo/types/UserAccess.d.ts +1 -1
  376. package/types/scripts/compareSize.d.ts +4 -4
  377. package/types/scripts/debounce.d.ts +1 -1
  378. package/types/scripts/sortQueryAdapters.d.ts +3 -3
  379. package/types/store/BaseStoreModules/BaseStoreModule.d.ts +6 -6
  380. package/types/store/new/modules/apiStoreModule/apiStoreModule.d.ts +12 -12
  381. package/types/store/new/modules/tableStoreModule/tableStoreModule.d.ts +4 -4
  382. package/types/utils/displayText.d.ts +1 -1
  383. package/types/validations/config/errors/customZodErrorsHandler.d.ts +1 -1
  384. package/dist/vidstack-video-DwlbGwN7.js +0 -2
  385. package/dist/wt-send-message-popup-MbV1uq6H.js +0 -77
  386. package/dist/wt-start-page-DMXRhA9E.js +0 -86
  387. package/dist/{wt-popover-ChCN6b1o.js → wt-popover-lP-AhF8l.js} +3 -3
@@ -24,7 +24,7 @@
24
24
  @update:expanded-rows="expandedRows = $event"
25
25
  @column-resize-end="columnResize"
26
26
  @column-reorder="columnReorder"
27
- @row-reorder="({ dragIndex, dropIndex }) => emit('reorder:row', { oldIndex: dragIndex, newIndex: dropIndex })"
27
+ @row-reorder="onRowReorder"
28
28
  >
29
29
  <p-column
30
30
  v-if="rowExpansion"
@@ -230,7 +230,7 @@ import {
230
230
  import { useI18n } from 'vue-i18n';
231
231
  import { getNextSortOrder } from '../../scripts/sortQueryAdapters.js';
232
232
  import { useTableColumnDrag } from '../_internals/composables';
233
- import type { WtTableHeader } from './types/WtTable';
233
+ import type { WtTableHeader, WtTableRow } from './types/WtTable';
234
234
 
235
235
  const DEFAULT_ITEM_SIZE = 40;
236
236
 
@@ -242,7 +242,7 @@ interface Props extends DataTableProps {
242
242
  /**
243
243
  * 'List of data, represented by table. '
244
244
  */
245
- data?: Array<unknown>;
245
+ data?: WtTableRow[];
246
246
  /**
247
247
  * 'If true, draws sorting arrows and sends sorting events at header click. Draws a sorting arrow by "sort": "asc"/"desc" header value. '
248
248
  */
@@ -281,7 +281,7 @@ interface Props extends DataTableProps {
281
281
  /**
282
282
  * 'If true, restrict sprecific row reorder.'
283
283
  */
284
- isRowReorderDisabled?: (row) => boolean;
284
+ isRowReorderDisabled?: (row: WtTableRow) => boolean;
285
285
  rowExpansion?: boolean;
286
286
  rowClass?: () => string;
287
287
  rowStyle?: () => {
@@ -331,9 +331,21 @@ const emit = defineEmits([
331
331
  'column-reorder',
332
332
  ]);
333
333
 
334
+ const onRowReorder = ({
335
+ dragIndex,
336
+ dropIndex,
337
+ }: {
338
+ dragIndex: number;
339
+ dropIndex: number;
340
+ }) =>
341
+ emit('reorder:row', {
342
+ oldIndex: dragIndex,
343
+ newIndex: dropIndex,
344
+ });
345
+
334
346
  const table = useTemplateRef('table');
335
347
  const tableKey = ref(0);
336
- const expandedRows = ref([]);
348
+ const expandedRows = ref<WtTableRow[]>([]);
337
349
 
338
350
  const { addTableDragListener, removeTableDragListener } = useTableColumnDrag(
339
351
  table,
@@ -351,7 +363,8 @@ const excludeColumnsFromReorder = [
351
363
  const _selected = computed(() => {
352
364
  // _isSelected for backwards compatibility
353
365
  return props.selectable
354
- ? props.selected || props.data.filter((item) => item._isSelected)
366
+ ? props.selected ||
367
+ props.data.filter((item: WtTableRow) => item._isSelected)
355
368
  : [];
356
369
  });
357
370
 
@@ -363,17 +376,21 @@ const dataHeaders = computed(() => {
363
376
  text:
364
377
  typeof header.locale === 'string'
365
378
  ? t(header.locale)
366
- : t(...header.locale),
379
+ : t(
380
+ ...(header.locale as [
381
+ string,
382
+ ]),
383
+ ),
367
384
  };
368
385
  return header;
369
386
  });
370
387
  });
371
388
 
372
- const isColumnHidden = (col) => {
389
+ const isColumnHidden = (col: WtTableHeader) => {
373
390
  return col.show === false;
374
391
  };
375
392
 
376
- const columnStyle = (col) => {
393
+ const columnStyle = (col: WtTableHeader) => {
377
394
  const baseWidth = 140;
378
395
 
379
396
  return {
@@ -405,14 +422,14 @@ const sortField = computed(() => {
405
422
  return sortedCol?.field ?? null;
406
423
  });
407
424
 
408
- const sort = ({ sortField }) => {
425
+ const sort = ({ sortField }: { sortField: string }) => {
409
426
  const col = dataHeaders.value.find((header) => header.field === sortField);
410
- if (!isColSortable(col)) return;
427
+ if (!col || !isColSortable(col)) return;
411
428
  const nextSort = getNextSortOrder(col.sort);
412
429
  emit('sort', col, nextSort);
413
430
  };
414
431
 
415
- const isColSortable = ({ sort }) => {
432
+ const isColSortable = ({ sort }: Pick<WtTableHeader, 'sort'>) => {
416
433
  /* --sortable = sortable && col.sort === undefined cause there may be some columns we don't want to sort
417
434
  strict check for === undefined is used because col.sort = null is sort order too (actualu, without sort)
418
435
  so we need to check if this property is present
@@ -437,18 +454,18 @@ const selectAll = () => {
437
454
  // Because allSelected recomputes after each change
438
455
 
439
456
  if (isAllSelected.value) {
440
- props.data.forEach((item) => {
457
+ props.data.forEach((item: WtTableRow) => {
441
458
  item._isSelected = false;
442
459
  });
443
460
  } else {
444
- props.data.forEach((item) => {
461
+ props.data.forEach((item: WtTableRow) => {
445
462
  item._isSelected = true;
446
463
  });
447
464
  }
448
465
  }
449
466
  };
450
467
 
451
- const handleSelection = (row, select) => {
468
+ const handleSelection = (row: WtTableRow, select: boolean) => {
452
469
  if (props.selected) {
453
470
  if (select) {
454
471
  emit('update:selected', [
@@ -467,7 +484,7 @@ const handleSelection = (row, select) => {
467
484
  }
468
485
  };
469
486
 
470
- const columnResize = ({ element }) => {
487
+ const columnResize = ({ element }: { element: HTMLElement }) => {
471
488
  // getting column name by custom attribute due Primevue does not provide it
472
489
  const field = element.getAttribute('data-column-field');
473
490
 
@@ -484,27 +501,29 @@ const columnResize = ({ element }) => {
484
501
  };
485
502
 
486
503
  const columnReorder = () => {
487
- const containerEl = table.value.$el.querySelector(
504
+ const containerEl = table.value?.$el?.querySelector(
488
505
  '.p-datatable-table-container',
489
506
  );
490
- const containerElScrollLeft = containerEl.scrollLeft;
491
- const newOrder = table.value.d_columnOrder.filter(
492
- (col) => !excludeColumnsFromReorder.includes(col),
507
+ const containerElScrollLeft = containerEl?.scrollLeft;
508
+ const newOrder = table.value?.d_columnOrder.filter(
509
+ (col: string) => !excludeColumnsFromReorder.includes(col),
493
510
  );
494
511
  tableKey.value += 1;
495
512
  emit('column-reorder', newOrder);
496
513
  nextTick(() => {
497
514
  addTableDragListener();
498
- table.value.$el.querySelector('.p-datatable-table-container').scrollLeft =
499
- containerElScrollLeft;
515
+ const container = table.value?.$el?.querySelector(
516
+ '.p-datatable-table-container',
517
+ );
518
+ if (container) container.scrollLeft = containerElScrollLeft;
500
519
  });
501
520
  };
502
521
 
503
- const isRowExpanded = (row) => {
522
+ const isRowExpanded = (row: WtTableRow) => {
504
523
  return expandedRows.value.some((r) => r?.id === row?.id);
505
524
  };
506
525
 
507
- const toggleRow = (row) => {
526
+ const toggleRow = (row: WtTableRow) => {
508
527
  const index = expandedRows.value.findIndex((r) => r.id === row.id);
509
528
  if (index !== -1) {
510
529
  expandedRows.value.splice(index, 1);
@@ -126,11 +126,9 @@ function shownColLabel({ text, locale }: Header): string | undefined {
126
126
  if (!text && locale)
127
127
  return typeof locale === 'string'
128
128
  ? t(locale)
129
- : t(
130
- ...(locale as [
131
- string,
132
- ...unknown[],
133
- ]),
129
+ : (t as (key: string, ...args: unknown[]) => string)(
130
+ String(locale[0]),
131
+ ...locale.slice(1),
134
132
  );
135
133
  return text;
136
134
  }
@@ -52,16 +52,13 @@
52
52
 
53
53
  <script setup lang="ts">
54
54
  import type { TextareaProps } from 'primevue/textarea';
55
- import {
56
- computed,
57
- defineModel,
58
- onMounted,
59
- ref,
60
- useSlots,
61
- useTemplateRef,
62
- } from 'vue';
55
+ import { computed, onMounted, ref, toRef, useSlots, useTemplateRef } from 'vue';
63
56
  import { ComponentSize, MessageVariant } from '../../enums';
64
57
  import { useValidation } from '../../mixins/validationMixin/useValidation';
58
+ import type {
59
+ CompatCustomValidator,
60
+ VuelidateFieldLike,
61
+ } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
65
62
 
66
63
  /**
67
64
  * @emits {string} input - Fires when textarea value changes. Emits value
@@ -128,16 +125,13 @@ interface Props extends /* @vue-ignore */ TextareaProps {
128
125
  /**
129
126
  * Validation rules
130
127
  */
131
- v?: unknown;
128
+ v?: VuelidateFieldLike;
132
129
  /**
133
130
  * Custom validators array
134
131
  * @type {Array<{name: string, text: string}>}
135
132
  * @default []
136
133
  */
137
- customValidators?: Array<{
138
- name: string;
139
- text: string;
140
- }>;
134
+ customValidators?: CompatCustomValidator[];
141
135
  }
142
136
 
143
137
  const props = withDefaults(defineProps<Props>(), {
@@ -179,8 +173,8 @@ const hasLabel = computed(() => {
179
173
 
180
174
  const { isValidation, invalid, validationText, validationTextColor } =
181
175
  useValidation({
182
- v: props.v,
183
- customValidators: props.customValidators,
176
+ v: toRef(props, 'v'),
177
+ customValidators: toRef(props, 'customValidators'),
184
178
  });
185
179
 
186
180
  const handleKeypress = (event: KeyboardEvent) => {
@@ -15,6 +15,10 @@
15
15
 
16
16
  <script setup lang="ts">
17
17
  import type { SuperCompatibleRegleFieldStatus } from '@regle/core';
18
+ import type {
19
+ CompatCustomValidator,
20
+ VuelidateFieldLike,
21
+ } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
18
22
 
19
23
  interface WtTimeInputProps {
20
24
  /**
@@ -52,7 +56,7 @@ interface WtTimeInputProps {
52
56
  /**
53
57
  * Vuelidate validation object
54
58
  */
55
- v?: Record<string, unknown>;
59
+ v?: VuelidateFieldLike;
56
60
  /**
57
61
  * Regle validation object
58
62
  */
@@ -60,10 +64,10 @@ interface WtTimeInputProps {
60
64
  /**
61
65
  * Custom validators for vuelidate
62
66
  */
63
- customValidators?: unknown[];
67
+ customValidators?: CompatCustomValidator[];
64
68
  }
65
69
 
66
- const props = withDefaults(defineProps<WtTimeInputProps>(), {
70
+ withDefaults(defineProps<WtTimeInputProps>(), {
67
71
  label: '',
68
72
  name: '',
69
73
  maxValue: undefined,
@@ -73,7 +77,6 @@ const props = withDefaults(defineProps<WtTimeInputProps>(), {
73
77
  labelProps: () => ({}),
74
78
  hideInputInfo: false,
75
79
  v: null,
76
- regleValidation: null,
77
80
  customValidators: () => [],
78
81
  });
79
82
 
@@ -77,6 +77,10 @@ import { computed, nextTick, toRefs } from 'vue';
77
77
  import { useI18n } from 'vue-i18n';
78
78
  import { ComponentSize, MessageVariant } from '../../enums';
79
79
  import { useValidation } from '../../mixins/validationMixin/useValidation';
80
+ import type {
81
+ CompatCustomValidator,
82
+ VuelidateFieldLike,
83
+ } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
80
84
 
81
85
  // const SEC_IN_DAY = 60 * 60 * 24;
82
86
  const SEC_IN_HOUR = 60 * 60;
@@ -118,7 +122,7 @@ interface WtTimepickerProps {
118
122
  /**
119
123
  * Vuelidate validation object
120
124
  */
121
- v?: Record<string, unknown>;
125
+ v?: VuelidateFieldLike;
122
126
  /**
123
127
  * Regle validation object
124
128
  */
@@ -126,7 +130,7 @@ interface WtTimepickerProps {
126
130
  /**
127
131
  * Custom validators for vuelidate
128
132
  */
129
- customValidators?: unknown[];
133
+ customValidators?: CompatCustomValidator[];
130
134
  }
131
135
 
132
136
  const props = withDefaults(defineProps<WtTimepickerProps>(), {
@@ -139,7 +143,6 @@ const props = withDefaults(defineProps<WtTimepickerProps>(), {
139
143
  noLabel: false,
140
144
  required: false,
141
145
  v: null,
142
- regleValidation: null,
143
146
  customValidators: () => [],
144
147
  });
145
148
 
@@ -47,8 +47,8 @@ const severityToIconColorMap: Record<string, string> = {
47
47
  secondary: MessageColor.SECONDARY,
48
48
  };
49
49
 
50
- const getIconColor = (message) =>
51
- `fill: var(--p-toast-${severityToIconColorMap[message.severity]}-icon-color)`;
50
+ const getIconColor = (message: { severity?: string }) =>
51
+ `fill: var(--p-toast-${message.severity ? severityToIconColorMap[message.severity] : ''}-icon-color)`;
52
52
  </script>
53
53
 
54
54
  <style>
@@ -60,6 +60,7 @@
60
60
  import deepEqual from 'deep-equal';
61
61
  import { computed } from 'vue';
62
62
 
63
+ import type { WtTreeNode } from '../wt-tree-line/types/wt-tree-node';
63
64
  import WtTreeLine from '../wt-tree-line/wt-tree-line.vue';
64
65
  import { WtTreeMode } from './types/WtTreeMode';
65
66
 
@@ -106,13 +107,13 @@ const emit = defineEmits<{
106
107
  }>();
107
108
 
108
109
  const allData = computed(() => {
109
- const result = [];
110
+ const result: WtTreeNode[] = [];
110
111
 
111
- const getNestedItems = (item: unknown) => {
112
+ const getNestedItems = (item: WtTreeNode) => {
112
113
  result.push(item);
113
114
 
114
115
  if (item[props.childrenProp]) {
115
- item[props.childrenProp].forEach((child: unknown) => {
116
+ item[props.childrenProp].forEach((child: WtTreeNode) => {
116
117
  getNestedItems(child);
117
118
  });
118
119
  }
@@ -125,11 +126,11 @@ const allData = computed(() => {
125
126
  return result;
126
127
  });
127
128
 
128
- const selectElement = (item: unknown) => {
129
+ const selectElement = (item: WtTreeNode) => {
129
130
  emit('update:modelValue', props.itemData ? item[props.itemData] : item);
130
131
  };
131
132
 
132
- const compareSelectElement = (item: unknown) => {
133
+ const compareSelectElement = (item: WtTreeNode) => {
133
134
  if (props.itemData) {
134
135
  return item[props.itemData] === props.modelValue;
135
136
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * TODO(types): every field the tree reads (`itemLabel`, `itemData`,
3
+ * `childrenProp`, `searchedProp`) is a prop-driven runtime key.
4
+ */
5
+ // biome-ignore lint/suspicious/noExplicitAny: see TODO above
6
+ export type WtTreeNode = any;
@@ -13,7 +13,7 @@
13
13
  :icon="lastChild ? 'tree-corner' : 'tree-cross'"
14
14
  />
15
15
  <wt-icon-btn
16
- v-if="data[childrenProp] && data[childrenProp].length"
16
+ v-if="children.length"
17
17
  :icon="collapsed ? 'plus' : 'minus'"
18
18
  @click="collapsed = !collapsed"
19
19
  />
@@ -25,7 +25,7 @@
25
25
  :root-data="rootData || data"
26
26
  :nested-level="nestedLevel"
27
27
  :active="displayActiveState"
28
- :has-children="!!(data[childrenProp] && data[childrenProp].length)"
28
+ :has-children="!!children.length"
29
29
  :selected-parent="selectedParent"
30
30
  />
31
31
  <div
@@ -48,7 +48,7 @@
48
48
  <wt-expand-transition v-show="!collapsed">
49
49
  <div>
50
50
  <wt-tree-line
51
- v-for="(child, index) in data[childrenProp]"
51
+ v-for="(child, index) in children"
52
52
  :key="index"
53
53
  :model-value="modelValue"
54
54
  :data="child"
@@ -57,9 +57,9 @@
57
57
  :item-data="itemData"
58
58
  :nested-level="nestedLevel + 1"
59
59
  :selected-parent="isSelected || selectedParent"
60
- :next-element="!!data[childrenProp][index + 1]"
60
+ :next-element="!!children[index + 1]"
61
61
  :nested-icons="displayIcons"
62
- :last-child="index === data[childrenProp].length - 1"
62
+ :last-child="index === children.length - 1"
63
63
  :multiple="multiple"
64
64
  :allow-parent="allowParent"
65
65
  :root-data="rootData || data"
@@ -86,11 +86,12 @@ import { computed, onMounted, ref, watch } from 'vue';
86
86
 
87
87
  import WtExpandTransition from '../transitions/wt-expand-transition.vue';
88
88
  import type { WtTreeNestedIcons } from './types/wt-tree-nested-icons.ts';
89
+ import type { WtTreeNode } from './types/wt-tree-node.ts';
89
90
 
90
91
  const props = withDefaults(
91
92
  defineProps<{
92
- modelValue: null | unknown | unknown[];
93
- data: unknown;
93
+ modelValue: WtTreeNode | WtTreeNode[] | null;
94
+ data: WtTreeNode;
94
95
  itemLabel?: string | undefined;
95
96
  itemData?: string | undefined;
96
97
  childrenProp?: string;
@@ -105,7 +106,7 @@ const props = withDefaults(
105
106
  * 'It's a key in data object, which contains field what display searched elements. By this field, table will be opened to elements with this field value. '
106
107
  */
107
108
  searchedProp?: string;
108
- rootData?: unknown;
109
+ rootData?: WtTreeNode;
109
110
  }>(),
110
111
  {
111
112
  nestedLevel: 0,
@@ -124,6 +125,15 @@ const emit = defineEmits<{
124
125
  (e: 'update:modelValue', value: unknown): void;
125
126
  }>();
126
127
 
128
+ // typed explicitly: the component renders itself, so inference would be circular
129
+ defineSlots<{
130
+ 'item-prefix'(props: Record<string, unknown>): unknown;
131
+ }>();
132
+
133
+ const children = computed<WtTreeNode[]>(
134
+ () => props.data?.[props.childrenProp] ?? [],
135
+ );
136
+
127
137
  const label = computed(() =>
128
138
  props.itemLabel ? props.data[props.itemLabel] : props.data,
129
139
  );
@@ -181,9 +191,9 @@ const displayActiveState = computed(() => {
181
191
  });
182
192
 
183
193
  const toggleSelectionWithChildren = (
184
- node: unknown,
194
+ node: WtTreeNode,
185
195
  select: boolean,
186
- result: unknown[],
196
+ result: WtTreeNode[],
187
197
  ) => {
188
198
  const value = props.itemData ? node[props.itemData] : node;
189
199
 
@@ -208,10 +218,14 @@ const toggleSelectionWithChildren = (
208
218
  }
209
219
  };
210
220
 
211
- const deselectParents = (node: unknown, root: unknown, result: unknown[]) => {
221
+ const deselectParents = (
222
+ node: WtTreeNode,
223
+ root: WtTreeNode,
224
+ result: WtTreeNode[],
225
+ ) => {
212
226
  const findAndDeselect = (
213
- current: unknown,
214
- parent: unknown | null,
227
+ current: WtTreeNode,
228
+ parent: WtTreeNode | null,
215
229
  ): boolean => {
216
230
  if (current === node) {
217
231
  if (parent) {
@@ -265,7 +279,7 @@ const setMultipleModelValue = () => {
265
279
  if (props.itemData) {
266
280
  existingIndex = props.modelValue.indexOf(props.data[props.itemData]);
267
281
  } else {
268
- existingIndex = props.modelValue.findIndex((item) =>
282
+ existingIndex = props.modelValue.findIndex((item: WtTreeNode) =>
269
283
  deepEqual(item, props.data),
270
284
  );
271
285
  }
@@ -325,7 +339,7 @@ const onOpenParent = () => {
325
339
  openParent();
326
340
  };
327
341
 
328
- const hasSearchedElement = (data: Record<string, unknown>, nestedLevel = 0) => {
342
+ const hasSearchedElement = (data: WtTreeNode, nestedLevel = 0) => {
329
343
  // Check if the object itself has searched
330
344
  if (data[props.searchedProp] && nestedLevel) return true;
331
345
 
@@ -14,7 +14,7 @@
14
14
  ]"
15
15
  :style="col.width ? `min-width:${col.width}` : ''"
16
16
  class="wt-tree-table-th typo-body-1"
17
- @click="sort(col, key)"
17
+ @click="sort(col)"
18
18
  >
19
19
  <div
20
20
  class="wt-tree-table-th__content"
@@ -77,8 +77,8 @@
77
77
  />
78
78
  </template>
79
79
  <template
80
- v-for="(col, headerKey) of dataHeaders"
81
- :key="headerKey"
80
+ v-for="col of dataHeaders"
81
+ :key="col.value"
82
82
  #[col.value]="{ item }"
83
83
  >
84
84
  <slot
@@ -104,6 +104,7 @@ import { getNextSortOrder } from '../../scripts/sortQueryAdapters';
104
104
  import { useWtTable } from '../_internals/composables/useWtTable/useWtTable';
105
105
  import WtCheckbox from '../wt-checkbox/wt-checkbox.vue';
106
106
  import type { WtTableHeader } from '../wt-table/types/WtTable';
107
+ import type { WtTreeNode } from '../wt-tree-line/types/wt-tree-node';
107
108
  import WtTreeTableRow from '../wt-tree-table-row/wt-tree-table-row.vue';
108
109
 
109
110
  const props = withDefaults(
@@ -151,14 +152,14 @@ const emit = defineEmits([
151
152
  'update:selected',
152
153
  ]);
153
154
 
154
- const checkHasChildItems = (item: Record<string, unknown>) => {
155
+ const checkHasChildItems = (item: WtTreeNode) => {
155
156
  return item[props.childrenProp] && Array.isArray(item[props.childrenProp]);
156
157
  };
157
158
 
158
- const getSelectedValue = (items: Record<string, unknown>[]) => {
159
- const selected = [];
159
+ const getSelectedValue = (items: WtTreeNode[]) => {
160
+ const selected: WtTreeNode[] = [];
160
161
 
161
- const pushSelectedElement = (item: Record<string, unknown>) => {
162
+ const pushSelectedElement = (item: WtTreeNode) => {
162
163
  if (item._isSelected) {
163
164
  return [
164
165
  item,
@@ -175,10 +176,10 @@ const getSelectedValue = (items: Record<string, unknown>[]) => {
175
176
  return selected;
176
177
  };
177
178
 
178
- const getAllNestedElements = (item: Record<string, unknown>) => {
179
- const nested = [];
179
+ const getAllNestedElements = (items: WtTreeNode[]) => {
180
+ const nested: WtTreeNode[] = [];
180
181
 
181
- const pushElement = (item: Record<string, unknown>) => {
182
+ const pushElement = (item: WtTreeNode) => {
182
183
  nested.push(item);
183
184
 
184
185
  if (checkHasChildItems(item)) {
@@ -186,12 +187,12 @@ const getAllNestedElements = (item: Record<string, unknown>) => {
186
187
  }
187
188
  };
188
189
 
189
- item.forEach(pushElement);
190
+ items.forEach(pushElement);
190
191
 
191
192
  return nested;
192
193
  };
193
194
 
194
- const selectedElements = computed<Record<string, unknown>[]>(() => {
195
+ const selectedElements = computed<WtTreeNode[]>(() => {
195
196
  // _isSelected for backwards compatibility
196
197
  return props.selected || getSelectedValue(props.data);
197
198
  });
@@ -222,11 +223,8 @@ const sort = (col: WtTableHeader) => {
222
223
  emit('sort', col, nextSort);
223
224
  };
224
225
 
225
- const changeSelectItem = (
226
- items: Record<string, unknown>[],
227
- selected: boolean,
228
- ) => {
229
- items.forEach((item) => {
226
+ const changeSelectItem = (items: WtTreeNode[], selected: boolean) => {
227
+ items.forEach((item: WtTreeNode) => {
230
228
  item._isSelected = selected;
231
229
 
232
230
  if (checkHasChildItems(item)) {
@@ -261,7 +259,7 @@ const selectAll = () => {
261
259
  }
262
260
  };
263
261
 
264
- const handleSelection = (row, select) => {
262
+ const handleSelection = (row: WtTreeNode, select: boolean) => {
265
263
  if (props.selected) {
266
264
  if (select) {
267
265
  emit('update:selected', [
@@ -5,7 +5,7 @@
5
5
  >
6
6
  <td
7
7
  v-for="(col, headerKey) of dataHeaders"
8
- :key="headerKey"
8
+ :key="col.value"
9
9
  class="wt-tree-table-td typo-body-1"
10
10
  >
11
11
  <div class="wt-tree-table-td__content">
@@ -79,8 +79,8 @@
79
79
  "
80
80
  >
81
81
  <template
82
- v-for="(col, headerKey) of dataHeaders"
83
- :key="headerKey"
82
+ v-for="col of dataHeaders"
83
+ :key="col.value"
84
84
  #[col.value]="{ item }"
85
85
  >
86
86
  <slot
@@ -108,6 +108,7 @@ import { computed, onMounted, ref } from 'vue';
108
108
  import WtCheckbox from '../wt-checkbox/wt-checkbox.vue';
109
109
  import WtIconBtn from '../wt-icon-btn/wt-icon-btn.vue';
110
110
  import type { WtTableHeader } from '../wt-table/types/WtTable';
111
+ import type { WtTreeNode } from '../wt-tree-line/types/wt-tree-node';
111
112
 
112
113
  const props = withDefaults(
113
114
  defineProps<{
@@ -149,6 +150,10 @@ const emit = defineEmits([
149
150
  'expanded-collapse',
150
151
  ]);
151
152
 
153
+ // typed explicitly: the row renders itself, so inference would be circular
154
+ // biome-ignore lint/suspicious/noExplicitAny: slot payloads vary per column
155
+ defineSlots<Record<string, (props: Record<string, any>) => unknown>>();
156
+
152
157
  const collapsed = ref(true);
153
158
  const lineCount = computed(() => {
154
159
  return props.nestingLevel;
@@ -166,7 +171,7 @@ const openCollapse = () => {
166
171
  emit('expanded-collapse');
167
172
  };
168
173
 
169
- const hasSearchedElement = (data: Record<string, unknown>, nestedLevel = 0) => {
174
+ const hasSearchedElement = (data: WtTreeNode, nestedLevel = 0) => {
170
175
  // Check if the object itself has searched
171
176
  if (data[props.searchedProp] && nestedLevel) return true;
172
177
 
@@ -18,11 +18,10 @@
18
18
  </template>
19
19
 
20
20
  <script setup lang="ts">
21
- import { inject } from 'vue';
22
21
  import WtIconBtn from '../../../wt-icon-btn/wt-icon-btn.vue';
23
- import type { WtVidstackPlayerSizeProvider } from '../../types/WtVidstackPlayerSizeProvider';
22
+ import { useVidstackPlayerSize } from '../../composables/useVidstackPlayerSize';
24
23
 
25
- const { fullscreen } = inject<WtVidstackPlayerSizeProvider>('size');
24
+ const { fullscreen } = useVidstackPlayerSize();
26
25
 
27
26
  const emit = defineEmits<{
28
27
  toggle: [
@@ -25,11 +25,7 @@
25
25
  </template>
26
26
 
27
27
  <script setup lang="ts">
28
- import { inject } from 'vue';
29
-
30
- import type { WtVidstackPlayerSizeProvider } from '../../types/WtVidstackPlayerSizeProvider';
31
-
32
- const { size } = inject<WtVidstackPlayerSizeProvider>('size');
28
+ const { size } = useVidstackPlayerSize();
33
29
  </script>
34
30
 
35
31
  <style scoped>.play-button {