@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
@@ -13,11 +13,9 @@
13
13
  setup
14
14
  lang="ts"
15
15
  >
16
- import { inject } from 'vue';
16
+ import { useVidstackPlayerSize } from '../../composables/useVidstackPlayerSize';
17
17
 
18
- import type { WtVidstackPlayerSizeProvider } from '../../types/WtVidstackPlayerSizeProvider';
19
-
20
- const { size } = inject<WtVidstackPlayerSizeProvider>('size');
18
+ const { size } = useVidstackPlayerSize();
21
19
  </script>
22
20
 
23
21
  <style scoped>
@@ -32,13 +32,11 @@
32
32
  </template>
33
33
 
34
34
  <script setup lang="ts">
35
- import { inject } from 'vue';
36
-
37
- import type { WtVidstackPlayerSizeProvider } from '../../types/WtVidstackPlayerSizeProvider';
35
+ import { useVidstackPlayerSize } from '../../composables/useVidstackPlayerSize';
38
36
  import { PlaybackControlsPanel } from '../index';
39
37
  import VideoDisplayPanel from '../panels/video-display-panel/video-display-panel.vue';
40
38
 
41
- const { size } = inject<WtVidstackPlayerSizeProvider>('size');
39
+ const { size } = useVidstackPlayerSize();
42
40
 
43
41
  const props = defineProps<{
44
42
  title?: string;
@@ -18,8 +18,6 @@
18
18
  </template>
19
19
 
20
20
  <script setup lang="ts">
21
- import { defineEmits } from 'vue';
22
-
23
21
  import WtIconBtn from '../../../../../../wt-icon-btn/wt-icon-btn.vue';
24
22
 
25
23
  const emit = defineEmits<{
@@ -25,11 +25,9 @@
25
25
  </template>
26
26
 
27
27
  <script setup lang="ts">
28
- import { inject } from 'vue';
28
+ import { useVidstackPlayerSize } from '../../../../../composables/useVidstackPlayerSize';
29
29
 
30
- import type { WtVidstackPlayerSizeProvider } from '../../../../../types/WtVidstackPlayerSizeProvider';
31
-
32
- const { size } = inject<WtVidstackPlayerSizeProvider>('size');
30
+ const { size } = useVidstackPlayerSize();
33
31
  </script>
34
32
 
35
33
  <style scoped>.play-button {
@@ -36,14 +36,14 @@
36
36
  </template>
37
37
 
38
38
  <script setup lang="ts">
39
- import { computed, inject } from 'vue';
39
+ import { computed } from 'vue';
40
40
  import { ControlsGroup } from '../../../../../components/wt-vidstack-player/components';
41
41
  import { ComponentSize } from '../../../../../enums';
42
42
  import type {
43
43
  ScreenSharingSession,
44
44
  ScreenshotStatus,
45
45
  } from '../../../../../modules/CallSession/types';
46
- import type { WtVidstackPlayerSizeProvider } from '../../../types/WtVidstackPlayerSizeProvider';
46
+ import { useVidstackPlayerSize } from '../../../composables/useVidstackPlayerSize';
47
47
 
48
48
  interface Props {
49
49
  session: ScreenSharingSession;
@@ -60,7 +60,7 @@ const emit = defineEmits<{
60
60
  'toggle-record': [];
61
61
  }>();
62
62
 
63
- const { size } = inject<WtVidstackPlayerSizeProvider>('size');
63
+ const { size } = useVidstackPlayerSize();
64
64
 
65
65
  const recordIcon = computed(() =>
66
66
  props.session.recordings ? 'record-stop' : 'record-start',
@@ -85,7 +85,7 @@ const makeScreenshot = () => {
85
85
  emit('make-screenshot');
86
86
  };
87
87
 
88
- const buttonSizeMap = {
88
+ const buttonSizeMap: Record<string, ComponentSize> = {
89
89
  [ComponentSize.SM]: ComponentSize.SM,
90
90
  [ComponentSize.MD]: ComponentSize.MD,
91
91
  [ComponentSize.LG]: ComponentSize.MD,
@@ -28,7 +28,7 @@
28
28
  :disabled="!props['mic:accessed']"
29
29
  :size="buttonSizeMap[size]"
30
30
  :icon="microphoneIcon"
31
- :badge="micBadge"
31
+ :badge="micBadge ?? undefined"
32
32
  badge-severity="error"
33
33
  variant="outlined"
34
34
  color="secondary"
@@ -43,7 +43,7 @@
43
43
  :disabled="!props['video:accessed']"
44
44
  :size="buttonSizeMap[size]"
45
45
  :icon="videoCamIcon"
46
- :badge="videoBadge"
46
+ :badge="videoBadge ?? undefined"
47
47
  badge-severity="error"
48
48
  variant="outlined"
49
49
  color="secondary"
@@ -231,7 +231,7 @@ const onScreenshotClick = () => {
231
231
  );
232
232
  };
233
233
 
234
- const buttonSizeMap = {
234
+ const buttonSizeMap: Record<string, ComponentSize> = {
235
235
  [ComponentSize.SM]: ComponentSize.SM,
236
236
  [ComponentSize.MD]: ComponentSize.MD,
237
237
  [ComponentSize.LG]: ComponentSize.MD,
@@ -44,16 +44,16 @@
44
44
  </template>
45
45
 
46
46
  <script setup lang="ts">
47
- import { computed, inject, onBeforeUnmount, onMounted } from 'vue';
47
+ import { computed, onBeforeUnmount, onMounted } from 'vue';
48
48
  import { ComponentSize } from '../../../../../enums';
49
49
  import WtAvatar from '../../../../wt-avatar/wt-avatar.vue';
50
50
  import WtIconBtn from '../../../../wt-icon-btn/wt-icon-btn.vue';
51
- import type { WtVidstackPlayerSizeProvider } from '../../../types/WtVidstackPlayerSizeProvider';
51
+ import { useVidstackPlayerSize } from '../../../composables/useVidstackPlayerSize';
52
52
  import FullscreenButton from '../../buttons/fullscreen-button.vue';
53
53
  import ToggleButton from '../../toggle-button.vue';
54
54
 
55
55
  const { size, fullscreen, changeSize, enterFullscreen } =
56
- inject<WtVidstackPlayerSizeProvider>('size');
56
+ useVidstackPlayerSize();
57
57
 
58
58
  const toggleIcon = computed(() =>
59
59
  size.value === ComponentSize.SM ? 'expand' : 'collapse',
@@ -102,7 +102,7 @@ const exitFullscreen = () => {
102
102
  }
103
103
  };
104
104
 
105
- const handleKeyUp = (event) => {
105
+ const handleKeyUp = (event: KeyboardEvent) => {
106
106
  if (event.key === 'Escape') {
107
107
  handleFullscreen(false);
108
108
  }
@@ -13,7 +13,7 @@
13
13
  overlay-icon="zoom-in"
14
14
  />
15
15
  <button class="close-btn" @click.stop="onClose">
16
- <wt-icon icon="close--filled" size="sm" color="light" />
16
+ <wt-icon icon="close--filled" size="sm" />
17
17
  </button>
18
18
  </div>
19
19
  </div>
@@ -0,0 +1,11 @@
1
+ import { inject } from 'vue';
2
+
3
+ import type { WtVidstackPlayerSizeProvider } from '../types/WtVidstackPlayerSizeProvider';
4
+
5
+ export const useVidstackPlayerSize = (): WtVidstackPlayerSizeProvider => {
6
+ const provided = inject<WtVidstackPlayerSizeProvider>('size');
7
+ if (!provided) {
8
+ throw new Error('wt-vidstack-player: "size" context is not provided');
9
+ }
10
+ return provided;
11
+ };
@@ -1,34 +1,55 @@
1
1
  import type { PlayerSrc } from 'vidstack';
2
- import { computed, toRef } from 'vue';
2
+ import { computed, type MaybeRef, toRef } from 'vue';
3
3
 
4
4
  import { normalizeVidstackMediaSrc } from '../utils/normalizeVidstackMediaSrc';
5
5
 
6
- export const useVidstackSrc = ({ src, type, stream }) => {
6
+ interface VidstackSrcObject {
7
+ src?: unknown;
8
+ type?: string;
9
+ }
10
+
11
+ export type VidstackSrcInput = string | VidstackSrcObject | undefined;
12
+
13
+ export const useVidstackSrc = ({
14
+ src,
15
+ type,
16
+ stream,
17
+ }: {
18
+ src?: MaybeRef<VidstackSrcInput>;
19
+ type?: MaybeRef<string | undefined>;
20
+ stream?: MaybeRef<MediaStream | undefined>;
21
+ }) => {
7
22
  const srcRef = toRef(src);
8
23
  const typeRef = toRef(type);
9
24
  const streamRef = toRef(stream);
10
25
 
26
+ const srcObject = computed<VidstackSrcObject | undefined>(() =>
27
+ typeof srcRef.value === 'object' ? srcRef.value : undefined,
28
+ );
29
+
11
30
  const normalizedType = computed(() => {
12
31
  if (streamRef.value) return 'video/object';
13
32
 
14
- return typeRef.value || srcRef.value?.type;
33
+ return typeRef.value || srcObject.value?.type;
15
34
  });
16
35
 
17
36
  const normalizedSrcValue = computed(() => {
18
37
  if (streamRef.value) return streamRef.value;
19
38
 
20
39
  const src =
21
- typeof srcRef.value === 'string' ? srcRef.value : srcRef.value?.src;
40
+ typeof srcRef.value === 'string' ? srcRef.value : srcObject.value?.src;
22
41
 
23
42
  if (src instanceof Blob) return src; // https://webitel.atlassian.net/browse/WTEL-9633
24
43
 
25
- return src?.replace('/download', '/stream'); // fixme https://webitel.atlassian.net/browse/WTEL-8723?focusedCommentId=733348
44
+ return typeof src === 'string'
45
+ ? src.replace('/download', '/stream') // fixme https://webitel.atlassian.net/browse/WTEL-8723?focusedCommentId=733348
46
+ : src;
26
47
  });
27
48
 
28
49
  const normalizedSrcObject = computed<PlayerSrc>(() => {
29
50
  return normalizeVidstackMediaSrc({
30
51
  src: normalizedSrcValue.value,
31
- type: normalizedType.value,
52
+ type: normalizedType.value ?? '',
32
53
  }) as PlayerSrc;
33
54
  });
34
55
 
@@ -52,15 +52,18 @@
52
52
  <script lang="ts" setup>
53
53
  import 'vidstack/player';
54
54
  import 'vidstack/player/ui';
55
- import type { MediaSrc } from 'vidstack';
56
55
  import { computed, provide, ref, toRefs, useTemplateRef } from 'vue';
57
56
 
58
57
  import { ComponentSize } from '../../enums';
59
58
  import { VideoLayout } from './components';
60
- import { useVidstackSrc } from './composables/useVidstackSrc';
59
+ import {
60
+ useVidstackSrc,
61
+ type VidstackSrcInput,
62
+ } from './composables/useVidstackSrc';
61
63
 
62
64
  interface Props {
63
- src?: MediaSrc;
65
+ /** loose on purpose: `useVidstackSrc` normalizes it into a vidstack `MediaSrc` */
66
+ src?: VidstackSrcInput;
64
67
  mime?: string;
65
68
  autoplay?: boolean;
66
69
  muted?: boolean;
@@ -116,7 +119,7 @@ defineExpose({
116
119
  const size = ref(props.size || ComponentSize.SM);
117
120
  const fullscreen = ref(false);
118
121
 
119
- const changeSize = (value) => {
122
+ const changeSize = (value: ComponentSize) => {
120
123
  size.value = value;
121
124
  emit('change-size', value);
122
125
  };
@@ -7,4 +7,4 @@ export const MessageColor = {
7
7
  CONTRAST: 'contrast',
8
8
  } as const;
9
9
 
10
- export type MessageColor = keyof typeof MessageColor;
10
+ export type MessageColor = (typeof MessageColor)[keyof typeof MessageColor];
@@ -4,4 +4,5 @@ export const MessageVariant = {
4
4
  SIMPLE: 'simple',
5
5
  } as const;
6
6
 
7
- export type MessageVariant = keyof typeof MessageVariant;
7
+ export type MessageVariant =
8
+ (typeof MessageVariant)[keyof typeof MessageVariant];
package/src/install.ts CHANGED
@@ -6,7 +6,7 @@ import './css/tailwind.css';
6
6
 
7
7
  import { generateInstance } from '@webitel/api-services/api/axios';
8
8
  import type { AxiosInstance } from 'axios';
9
- import type { App } from 'vue';
9
+ import type { App, Component } from 'vue';
10
10
  import type { Router } from 'vue-router';
11
11
  import { fillIconsRepository } from './assets/icons';
12
12
  import Components from './components'; // init all components
@@ -35,7 +35,11 @@ const plugin: WebitelUiPlugin = {
35
35
  app.directive(name, Directives[name as keyof typeof Directives]);
36
36
  });
37
37
  Object.keys(Components).forEach((name) => {
38
- app.component(name, Components[name as keyof typeof Components]);
38
+ // the component union is too large to instantiate (TS2590)
39
+ app.component(
40
+ name,
41
+ Components[name as keyof typeof Components] as Component,
42
+ );
39
43
  });
40
44
  Object.keys(globals).forEach((globalKey) => {
41
45
  app.provide(globalKey, globals[globalKey]);
@@ -664,6 +664,7 @@ export default deepmerge(
664
664
  [RelativeDatetimeValue.ThisMonth]: 'This month',
665
665
  [RelativeDatetimeValue.Custom]: 'Custom date range',
666
666
  },
667
+ andMore: 'and {count} more',
667
668
  addFilter: ({ linked }) => {
668
669
  return `${linked('reusable.add')} a ${linked(
669
670
  'reusable.filter',
@@ -652,6 +652,7 @@ export default {
652
652
  [RelativeDatetimeValue.ThisMonth]: 'Este mes',
653
653
  [RelativeDatetimeValue.Custom]: 'Rango de fechas personalizado',
654
654
  },
655
+ andMore: 'y {count} más',
655
656
  addFilter: ({ linked }) => {
656
657
  return `${linked('reusable.add')} un ${linked(
657
658
  'reusable.filter',
@@ -653,6 +653,7 @@ export default {
653
653
  [RelativeDatetimeValue.ThisMonth]: 'Осы ай',
654
654
  [RelativeDatetimeValue.Custom]: 'Жеке күн аралығы',
655
655
  },
656
+ andMore: 'және тағы {count}',
656
657
  addFilter: ({ linked }) => {
657
658
  return `${linked('reusable.add')} ${linked(
658
659
  'reusable.filter',
@@ -653,6 +653,7 @@ export default {
653
653
  [RelativeDatetimeValue.ThisMonth]: 'Ten miesiąc',
654
654
  [RelativeDatetimeValue.Custom]: 'Niestandardowy zakres dat',
655
655
  },
656
+ andMore: 'i jeszcze {count}',
656
657
  addFilter: ({ linked }) => {
657
658
  return `${linked('reusable.add')} ${linked(
658
659
  'reusable.filter',
@@ -658,6 +658,7 @@ export default {
658
658
  [RelativeDatetimeValue.ThisMonth]: 'Această lună',
659
659
  [RelativeDatetimeValue.Custom]: 'Interval personalizat',
660
660
  },
661
+ andMore: 'și încă {count}',
661
662
  addFilter: ({ linked }) => {
662
663
  return `${linked('reusable.add')} un ${linked(
663
664
  'reusable.filter',
@@ -648,6 +648,7 @@ export default {
648
648
  [RelativeDatetimeValue.ThisMonth]: 'Этот месяц',
649
649
  [RelativeDatetimeValue.Custom]: 'Выбранный диапазон дат',
650
650
  },
651
+ andMore: 'и ещё {count}',
651
652
  addFilter: ({ linked }) => {
652
653
  return `${linked('reusable.add')} ${linked(
653
654
  'reusable.filter',
@@ -647,6 +647,7 @@ export default {
647
647
  [RelativeDatetimeValue.ThisMonth]: 'Цей місяць',
648
648
  [RelativeDatetimeValue.Custom]: 'Власний діапазон дат',
649
649
  },
650
+ andMore: 'та ще {count}',
650
651
  addFilter: ({ linked }) => {
651
652
  return `${linked('reusable.add')} ${linked(
652
653
  'reusable.filter',
@@ -657,6 +657,7 @@ export default {
657
657
  [RelativeDatetimeValue.ThisMonth]: 'Ushbu oy',
658
658
  [RelativeDatetimeValue.Custom]: "Boshqa sana oralig'i",
659
659
  },
660
+ andMore: 'va yana {count}',
660
661
  addFilter: ({ linked }) => {
661
662
  return `${linked('reusable.add')} ${linked(
662
663
  'reusable.filter',
@@ -656,6 +656,7 @@ export default {
656
656
  [RelativeDatetimeValue.ThisMonth]: 'Tháng này',
657
657
  [RelativeDatetimeValue.Custom]: 'Phạm vi ngày tùy chỉnh',
658
658
  },
659
+ andMore: 'và {count} nữa',
659
660
  addFilter: ({ linked }) => {
660
661
  return `${linked('reusable.add')} một ${linked(
661
662
  'reusable.filter',
@@ -2,7 +2,7 @@ import type { SuperCompatibleRegleFieldStatus } from '@regle/core';
2
2
  import { type ComputedRef, computed, type Ref } from 'vue';
3
3
 
4
4
  export type UseFieldValidationParams = {
5
- field?: Ref<SuperCompatibleRegleFieldStatus>;
5
+ field?: Ref<SuperCompatibleRegleFieldStatus | undefined | null>;
6
6
  };
7
7
 
8
8
  export type UseFieldValidationReturn = {
@@ -14,7 +14,7 @@ export const useFieldValidation = ({
14
14
  field: fieldRef,
15
15
  }: UseFieldValidationParams): UseFieldValidationReturn => {
16
16
  const invalid = computed(() => {
17
- return fieldRef?.value.$error ?? null;
17
+ return fieldRef?.value?.$error ?? null;
18
18
  });
19
19
 
20
20
  const validationText = computed(() => {
@@ -54,7 +54,7 @@ export const useValidation = ({
54
54
 
55
55
  const validationText = computed(() => {
56
56
  return isRegleValidation.value
57
- ? regleValidationText.value
57
+ ? regleValidationText?.value
58
58
  : vuelidateValidationText.value;
59
59
  });
60
60
 
@@ -9,14 +9,24 @@ import {
9
9
  } from 'vue';
10
10
  import { useI18n } from 'vue-i18n';
11
11
 
12
- type CompatCustomValidator = {
12
+ export type CompatCustomValidator = {
13
13
  name: string;
14
14
  text: string;
15
15
  };
16
16
 
17
+ /**
18
+ * Structural on purpose: inlining `@vuelidate/core`'s `Validation` blows up
19
+ * prop-type inference in the components (TS2590). `false` is accepted because
20
+ * callers write `:v="!disableValidation && v$.field"` to opt out.
21
+ */
22
+ // biome-ignore lint/suspicious/noExplicitAny: dynamic per-rule keys
23
+ export type VuelidateFieldLike = Record<string, any> | null | false;
24
+
17
25
  export type UseFieldValidationParams = {
18
- field?: Ref<Validation>;
19
- customValidators?: CompatCustomValidator[];
26
+ field?: Ref<VuelidateFieldLike | undefined>;
27
+ customValidators?:
28
+ | CompatCustomValidator[]
29
+ | Ref<CompatCustomValidator[] | undefined>;
20
30
  };
21
31
 
22
32
  export const useFieldValidation = ({
@@ -26,27 +36,32 @@ export const useFieldValidation = ({
26
36
  const { t } = useI18n();
27
37
 
28
38
  // support vue options api, where v is a reactive, not ref
29
- let v: Ref<Validation> | ComputedRef<Validation | undefined> | undefined =
30
- inputV;
39
+ let v:
40
+ | Ref<VuelidateFieldLike | undefined>
41
+ | ComputedRef<VuelidateFieldLike | undefined>
42
+ | undefined = inputV;
31
43
  let customValidators:
32
44
  | CompatCustomValidator[]
45
+ | Ref<CompatCustomValidator[] | undefined>
33
46
  | ComputedRef<CompatCustomValidator[] | undefined>
34
47
  | undefined = inputCustomValidators;
35
48
 
36
49
  if (isReactive(inputV)) {
37
50
  v = computed(() => unref(inputV));
38
- customValidators = computed(() => inputCustomValidators);
51
+ customValidators = computed(() => unref(inputCustomValidators));
39
52
  }
40
53
  // end
41
54
 
42
55
  const isValidation = computed(
43
56
  () => !!v && !!v.value && !!Object.keys(v.value).length,
44
57
  );
45
- const invalid = computed(() => isValidation.value && v?.value?.$error);
58
+ const invalid = computed(
59
+ () => isValidation.value && !!(v?.value as Validation | undefined)?.$error,
60
+ );
46
61
 
47
62
  const validationText = computed(() => {
48
63
  let validationText = '';
49
- const validation = v?.value;
64
+ const validation = v?.value as Validation | undefined;
50
65
  if (validation && isValidation.value && invalid.value) {
51
66
  if (validation.required?.$invalid)
52
67
  validationText = t('validation.required');
@@ -24,7 +24,7 @@ export default class CSVExport {
24
24
  count: 0,
25
25
  };
26
26
 
27
- constructor(fetchMethod, { filename, delimiter }) {
27
+ constructor(fetchMethod, { filename, delimiter } = {}) {
28
28
  if (!fetchMethod) throw new Error('fetch method should be specified!');
29
29
  this.fetchMethod = fetchMethod;
30
30
  this.filename = filename;
@@ -7,7 +7,7 @@
7
7
  ]"
8
8
  :hide-video-display-panel="isPiP || props.hideVideoDisplayPanel"
9
9
  :size="isPiP ? ComponentSize.MD : props.size"
10
- :stream="mainStream"
10
+ :stream="mainStream ?? undefined"
11
11
  :static="isPiP || props.static"
12
12
  :username="props.username"
13
13
  :hide-controls-panel="props.hideControlsPanel"
@@ -116,7 +116,7 @@
116
116
  <wt-vidstack-player
117
117
  :class="`video-call-sender--${innerSize}`"
118
118
  :style="pipContentSizeStyle"
119
- :stream="props['sender:stream']"
119
+ :stream="props['sender:stream'] ?? undefined"
120
120
  autoplay
121
121
  class="video-call-sender"
122
122
  hide-controls-panel
@@ -148,16 +148,16 @@
148
148
  :mic:enabled="props['sender:mic:enabled']"
149
149
  :recordings="props.recordings"
150
150
  :screenshot:loading="props['screenshot:loading']"
151
- :screenshot:status="props['screenshot:status']"
151
+ :screenshot:status="props['screenshot:status'] ?? null"
152
152
  :video:accessed="props['sender:video:accessed']"
153
153
  :video:enabled="props['sender:video:enabled']"
154
- @[VideoCallAction.Recordings]="(payload, options) => emit(emitKeys[VideoCallAction.Recordings], payload, options)"
155
- @[VideoCallAction.Screenshot]="(payload, options) => emit(emitKeys[VideoCallAction.Screenshot], payload, options)"
156
- @[VideoCallAction.Mic]="(payload, options) => emit(emitKeys[VideoCallAction.Mic], payload, options)"
157
- @[VideoCallAction.Video]="(payload, options) => emit(emitKeys[VideoCallAction.Video], payload, options)"
158
- @[VideoCallAction.Settings]="(payload, options) => emit(emitKeys[VideoCallAction.Settings], payload, options)"
159
- @[VideoCallAction.Chat]="(payload, options) => emit(emitKeys[VideoCallAction.Chat], payload, options)"
160
- @[VideoCallAction.Hangup]="(payload, options) => emit(emitKeys[VideoCallAction.Hangup], payload, options)"
154
+ @[VideoCallAction.Recordings]="forwardAction(VideoCallAction.Recordings)"
155
+ @[VideoCallAction.Screenshot]="forwardAction(VideoCallAction.Screenshot)"
156
+ @[VideoCallAction.Mic]="forwardAction(VideoCallAction.Mic)"
157
+ @[VideoCallAction.Video]="forwardAction(VideoCallAction.Video)"
158
+ @[VideoCallAction.Settings]="forwardAction(VideoCallAction.Settings)"
159
+ @[VideoCallAction.Chat]="forwardAction(VideoCallAction.Chat)"
160
+ @[VideoCallAction.Hangup]="forwardAction(VideoCallAction.Hangup)"
161
161
 
162
162
  />
163
163
  </template>
@@ -284,6 +284,21 @@ const emitKeys = {
284
284
  [VideoCallAction.Hangup]: `action:${VideoCallAction.Hangup}`,
285
285
  } as const;
286
286
 
287
+ type VideoCallActionKey = keyof typeof emitKeys;
288
+
289
+ /** dynamic `@[action]` handlers cannot be annotated inline */
290
+ const forwardAction =
291
+ (action: VideoCallActionKey) =>
292
+ (payload?: unknown, options?: ResultCallbacks) =>
293
+ // the per-action emit overloads don't unify over a computed key
294
+ (
295
+ emit as (
296
+ e: (typeof emitKeys)[VideoCallActionKey],
297
+ payload?: unknown,
298
+ options?: ResultCallbacks,
299
+ ) => void
300
+ )(emitKeys[action], payload, options);
301
+
287
302
  const { t } = useI18n();
288
303
 
289
304
  const playerRef = ref<InstanceType<typeof WtVidstackPlayer> | null>(null);
@@ -467,17 +482,20 @@ onBeforeUnmount(() => {
467
482
  stopHoldTimer();
468
483
  });
469
484
 
470
- const receiverVideoMutedIconSizes = {
485
+ const receiverVideoMutedIconSizes: Partial<
486
+ Record<ComponentSize, ComponentSize>
487
+ > = {
471
488
  [ComponentSize.SM]: ComponentSize.MD,
472
489
  [ComponentSize.MD]: ComponentSize.LG,
473
490
  [ComponentSize.LG]: ComponentSize.XXL,
474
491
  };
475
492
 
476
- const senderVideoMutedIconSizes = {
477
- [ComponentSize.SM]: ComponentSize.MD,
478
- [ComponentSize.MD]: ComponentSize['4XL'],
479
- [ComponentSize.LG]: ComponentSize['8XL'],
480
- };
493
+ const senderVideoMutedIconSizes: Partial<Record<ComponentSize, ComponentSize>> =
494
+ {
495
+ [ComponentSize.SM]: ComponentSize.MD,
496
+ [ComponentSize.MD]: ComponentSize['4XL'],
497
+ [ComponentSize.LG]: ComponentSize['8XL'],
498
+ };
481
499
  </script>
482
500
 
483
501
  <style scoped>
@@ -6,7 +6,7 @@ export const useDeleteConfirmationPopup = () => {
6
6
  const deleteCount = ref(0);
7
7
  const deleteCallback = ref(() => {});
8
8
 
9
- function askDeleteConfirmation({ deleted, callback }) {
9
+ function askDeleteConfirmation({ deleted = undefined, callback }) {
10
10
  if (Array.isArray(deleted)) deleteCount.value = deleted.length;
11
11
  else deleteCount.value = 1;
12
12
  isVisible.value = true;
@@ -63,7 +63,7 @@ export const useFilesExport = ({
63
63
  getFileURL,
64
64
  getFileBlob,
65
65
  fetch,
66
- filename,
66
+ filename = 'export',
67
67
  skipFilesWithError,
68
68
  }: UseFilesExportOptions): UseFilesExportReturn => {
69
69
  const {
@@ -140,7 +140,7 @@
140
140
  </template>
141
141
 
142
142
  <script setup lang="ts">
143
- import { defineEmits, defineProps, ref, toRefs, withDefaults } from 'vue';
143
+ import { ref, toRefs } from 'vue';
144
144
  import { useI18n } from 'vue-i18n';
145
145
 
146
146
  import useUploadCsv from '../composable/useUploadCsv';
@@ -153,7 +153,7 @@ interface CharsetOption {
153
153
 
154
154
  interface Props {
155
155
  file: File | null;
156
- mappingFields: unknown[];
156
+ mappingFields: CsvMappingField[];
157
157
  addBulkItems?: (items: unknown[]) => unknown | Promise<unknown>;
158
158
  handlingMode?: string;
159
159
  fileUploadHandler?: () => unknown | Promise<unknown>;