@webitel/ui-sdk 26.8.21 → 26.8.23

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-Q-Lkl5tb.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-C_F39G5j.js} +5 -5
  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-CiL3CTCQ.js} +3 -3
  20. package/dist/{wt-datepicker-DTUMTWJK.js → wt-datepicker-BwjMwR9-.js} +38 -34
  21. package/dist/{wt-display-chip-items-3GRXkRfT.js → wt-display-chip-items-DXfs6aQp.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-DaBSWvlP.js} +3 -3
  31. package/dist/wt-send-message-popup-BvnTPEeX.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-CS5S9HHJ.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-bsEXPInV.js} +14 -9
  42. package/dist/{wt-vidstack-player-DbRHboYo.js → wt-vidstack-player-BymuGcAX.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 +3 -0
  125. package/src/locale/es/es.js +3 -0
  126. package/src/locale/kz/kz.js +3 -0
  127. package/src/locale/pl/pl.js +3 -0
  128. package/src/locale/ro/ro.js +3 -0
  129. package/src/locale/ru/ru.js +3 -0
  130. package/src/locale/uk/uk.js +3 -0
  131. package/src/locale/uz/uz.js +3 -0
  132. package/src/locale/vi/vi.js +3 -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 +25 -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 +4 -2
  287. package/types/locale/es/es.d.ts +4 -2
  288. package/types/locale/i18n.d.ts +36 -18
  289. package/types/locale/index.d.ts +36 -18
  290. package/types/locale/kz/kz.d.ts +4 -2
  291. package/types/locale/pl/pl.d.ts +4 -2
  292. package/types/locale/ro/ro.d.ts +4 -2
  293. package/types/locale/ru/ru.d.ts +4 -2
  294. package/types/locale/uk/uk.d.ts +4 -2
  295. package/types/locale/uz/uz.d.ts +4 -2
  296. package/types/locale/vi/vi.d.ts +4 -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]);
@@ -492,6 +492,8 @@ export default deepmerge(
492
492
  nameAlreadyInUse: 'This name is already in use',
493
493
  phoneNumberSymbolsValidator:
494
494
  "Number must contain letters (a-z, A-Z), numbers (0-9), and special characters: +, -, _, ., !, ~, *, ', (,)",
495
+ sipPasswordSymbolsValidator:
496
+ 'Password cannot contain special symbols and whitespaces',
495
497
  loginValidator: () => `Enter login in the format name${'@'}domain`,
496
498
  },
497
499
  webitelUI: {
@@ -664,6 +666,7 @@ export default deepmerge(
664
666
  [RelativeDatetimeValue.ThisMonth]: 'This month',
665
667
  [RelativeDatetimeValue.Custom]: 'Custom date range',
666
668
  },
669
+ andMore: 'and {count} more',
667
670
  addFilter: ({ linked }) => {
668
671
  return `${linked('reusable.add')} a ${linked(
669
672
  'reusable.filter',
@@ -478,6 +478,8 @@ export default {
478
478
  nameAlreadyInUse: 'Este nombre ya está en uso',
479
479
  phoneNumberSymbolsValidator:
480
480
  "El número solo puede contener letras (a-z, A-Z), números (0-9) y los símbolos: +, -, _, ., !, ~, *, ', (, )",
481
+ sipPasswordSymbolsValidator:
482
+ 'La contraseña no puede contener símbolos especiales ni espacios',
481
483
  loginValidator: () =>
482
484
  `Introduzca el inicio de sesión en el formato nombre${'@'}dominio`,
483
485
  },
@@ -652,6 +654,7 @@ export default {
652
654
  [RelativeDatetimeValue.ThisMonth]: 'Este mes',
653
655
  [RelativeDatetimeValue.Custom]: 'Rango de fechas personalizado',
654
656
  },
657
+ andMore: 'y {count} más',
655
658
  addFilter: ({ linked }) => {
656
659
  return `${linked('reusable.add')} un ${linked(
657
660
  'reusable.filter',
@@ -480,6 +480,8 @@ export default {
480
480
  nameAlreadyInUse: 'Бұл атау қолданыста',
481
481
  phoneNumberSymbolsValidator:
482
482
  "Нөмірде тек әріптер (a-z, A-Z), сандар (0-9) және мына таңбалар болуы мүмкін: +, -, _, ., !, ~, *, ', (, )",
483
+ sipPasswordSymbolsValidator:
484
+ 'Құпия сөзде арнайы таңбалар мен бос орындар болмауы керек',
483
485
  loginValidator: () => `Логинді есім${'@'}домен форматында енгізіңіз`,
484
486
  },
485
487
  webitelUI: {
@@ -653,6 +655,7 @@ export default {
653
655
  [RelativeDatetimeValue.ThisMonth]: 'Осы ай',
654
656
  [RelativeDatetimeValue.Custom]: 'Жеке күн аралығы',
655
657
  },
658
+ andMore: 'және тағы {count}',
656
659
  addFilter: ({ linked }) => {
657
660
  return `${linked('reusable.add')} ${linked(
658
661
  'reusable.filter',
@@ -481,6 +481,8 @@ export default {
481
481
  nameAlreadyInUse: 'Ta nazwa jest już używana',
482
482
  phoneNumberSymbolsValidator:
483
483
  "Numer może zawierać wyłącznie litery (a-z, A-Z), cyfry (0-9) oraz symbole: +, -, _, ., !, ~, *, ', (, )",
484
+ sipPasswordSymbolsValidator:
485
+ 'Hasło nie może zawierać znaków specjalnych ani spacji',
484
486
  loginValidator: () => `Wprowadź login w formacie nazwa${'@'}domena`,
485
487
  },
486
488
  webitelUI: {
@@ -653,6 +655,7 @@ export default {
653
655
  [RelativeDatetimeValue.ThisMonth]: 'Ten miesiąc',
654
656
  [RelativeDatetimeValue.Custom]: 'Niestandardowy zakres dat',
655
657
  },
658
+ andMore: 'i jeszcze {count}',
656
659
  addFilter: ({ linked }) => {
657
660
  return `${linked('reusable.add')} ${linked(
658
661
  'reusable.filter',
@@ -485,6 +485,8 @@ export default {
485
485
  nameAlreadyInUse: 'Acest nume este deja folosit',
486
486
  phoneNumberSymbolsValidator:
487
487
  "Numărul poate conține doar litere (a-z, A-Z), cifre (0-9) și simbolurile: +, -, _, ., !, ~, *, ', (, )",
488
+ sipPasswordSymbolsValidator:
489
+ 'Parola nu poate conține simboluri speciale sau spații',
488
490
  loginValidator: () => `Introduceți login-ul în formatul nume${'@'}domeniu`,
489
491
  },
490
492
  webitelUI: {
@@ -658,6 +660,7 @@ export default {
658
660
  [RelativeDatetimeValue.ThisMonth]: 'Această lună',
659
661
  [RelativeDatetimeValue.Custom]: 'Interval personalizat',
660
662
  },
663
+ andMore: 'și încă {count}',
661
664
  addFilter: ({ linked }) => {
662
665
  return `${linked('reusable.add')} un ${linked(
663
666
  'reusable.filter',
@@ -480,6 +480,8 @@ export default {
480
480
  nameAlreadyInUse: 'Это название уже используется',
481
481
  phoneNumberSymbolsValidator:
482
482
  "Номер может содержать только буквы (a-z, A-Z), цифры (0-9) и символы: +, -, _, ., !, ~, *, ', (, )",
483
+ sipPasswordSymbolsValidator:
484
+ 'Пароль не может содержать спецсимволы и пробелы',
483
485
  loginValidator: () => `Введите логин в формате имя${'@'}домен`,
484
486
  },
485
487
  webitelUI: {
@@ -648,6 +650,7 @@ export default {
648
650
  [RelativeDatetimeValue.ThisMonth]: 'Этот месяц',
649
651
  [RelativeDatetimeValue.Custom]: 'Выбранный диапазон дат',
650
652
  },
653
+ andMore: 'и ещё {count}',
651
654
  addFilter: ({ linked }) => {
652
655
  return `${linked('reusable.add')} ${linked(
653
656
  'reusable.filter',
@@ -479,6 +479,8 @@ export default {
479
479
  nameAlreadyInUse: 'Така назва вже використовується',
480
480
  phoneNumberSymbolsValidator:
481
481
  "Номер може містити лише літери (a-z, A-Z), цифри (0-9) та символи: +, -, _, ., !, ~, *, ', (, )",
482
+ sipPasswordSymbolsValidator:
483
+ 'Пароль не може містити спецсимволи та пробіли',
482
484
  loginValidator: () => `Введіть логін у форматі імʼя${'@'}домен`,
483
485
  },
484
486
  webitelUI: {
@@ -647,6 +649,7 @@ export default {
647
649
  [RelativeDatetimeValue.ThisMonth]: 'Цей місяць',
648
650
  [RelativeDatetimeValue.Custom]: 'Власний діапазон дат',
649
651
  },
652
+ andMore: 'та ще {count}',
650
653
  addFilter: ({ linked }) => {
651
654
  return `${linked('reusable.add')} ${linked(
652
655
  'reusable.filter',
@@ -485,6 +485,8 @@ export default {
485
485
  nameAlreadyInUse: 'Ushbu nom allaqachon mavjud',
486
486
  phoneNumberSymbolsValidator:
487
487
  "Raqamda faqat harflar (a-z, A-Z), raqamlar (0-9) va quyidagi belgilar bo'lishi mumkin: +, -, _, ., !, ~, *, ', (, )",
488
+ sipPasswordSymbolsValidator:
489
+ "Parol maxsus belgilar va bo'sh joylarni o'z ichiga olishi mumkin emas",
488
490
  loginValidator: () => `Loginni ism${'@'}domen formatida kiriting`,
489
491
  },
490
492
  webitelUI: {
@@ -657,6 +659,7 @@ export default {
657
659
  [RelativeDatetimeValue.ThisMonth]: 'Ushbu oy',
658
660
  [RelativeDatetimeValue.Custom]: "Boshqa sana oralig'i",
659
661
  },
662
+ andMore: 'va yana {count}',
660
663
  addFilter: ({ linked }) => {
661
664
  return `${linked('reusable.add')} ${linked(
662
665
  'reusable.filter',
@@ -484,6 +484,8 @@ export default {
484
484
  nameAlreadyInUse: 'Tên này đã được sử dụng',
485
485
  phoneNumberSymbolsValidator:
486
486
  "Số chỉ được chứa chữ cái (a-z, A-Z), chữ số (0-9) và các ký tự: +, -, _, ., !, ~, *, ', (, )",
487
+ sipPasswordSymbolsValidator:
488
+ 'Mật khẩu không được chứa ký tự đặc biệt và khoảng trắng',
487
489
  loginValidator: () => `Nhập tên đăng nhập theo định dạng tên${'@'}miền`,
488
490
  },
489
491
  webitelUI: {
@@ -656,6 +658,7 @@ export default {
656
658
  [RelativeDatetimeValue.ThisMonth]: 'Tháng này',
657
659
  [RelativeDatetimeValue.Custom]: 'Phạm vi ngày tùy chỉnh',
658
660
  },
661
+ andMore: 'và {count} nữa',
659
662
  addFilter: ({ linked }) => {
660
663
  return `${linked('reusable.add')} một ${linked(
661
664
  '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');
@@ -100,6 +115,8 @@ export const useFieldValidation = ({
100
115
  validationText = t('validation.nameAlreadyInUse');
101
116
  } else if (validation.phoneNumberSymbolsValidator?.$invalid) {
102
117
  validationText = t('validation.phoneNumberSymbolsValidator');
118
+ } else if (validation.sipPasswordSymbolsValidator?.$invalid) {
119
+ validationText = t('validation.sipPasswordSymbolsValidator');
103
120
  } else if (validation.loginValidator?.$invalid) {
104
121
  validationText = t('validation.loginValidator');
105
122
  }
@@ -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;