@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
@@ -27,7 +27,7 @@
27
27
  :placeholder="placeholder || label"
28
28
  :option-disabled="() => !!props.disabledOptions"
29
29
  :options="filteredOptions"
30
- :option-label="(option) => getOptionLabel(option)"
30
+ :option-label="getOptionLabel"
31
31
  :option-value="optionValue"
32
32
  :max-selected-labels="MAX_SELECTED_LABELS"
33
33
  :selectedItemsLabel="`${model.length} ${t('webitelUI.select.selectedItemsLabel')}`"
@@ -56,7 +56,7 @@
56
56
  {{ value.length }} {{ t('webitelUI.select.selectedItemsLabel') }}
57
57
  </template>
58
58
  <template v-else>
59
- {{ value.map((v) => getOptionLabel(v)).join(', ') }}
59
+ {{ value.map((v: SelectOption) => getOptionLabel(v)).join(', ') }}
60
60
  </template>
61
61
  </span>
62
62
  <span v-else class="p-placeholder">{{ placeholder }}&nbsp;</span>
@@ -133,14 +133,22 @@
133
133
  <script setup lang="ts">
134
134
  import type { SuperCompatibleRegleFieldStatus } from '@regle/core';
135
135
  import type { SelectProps } from 'primevue';
136
- import { computed, onMounted, toRefs, useSlots, useTemplateRef } from 'vue';
136
+ import { computed, toRefs, useSlots, useTemplateRef } from 'vue';
137
137
  import { useI18n } from 'vue-i18n';
138
138
  import { ChipColor, ComponentSize, MessageVariant } from '../../enums';
139
139
  import { useValidation } from '../../mixins/validationMixin/useValidation';
140
+ import type {
141
+ CompatCustomValidator,
142
+ VuelidateFieldLike,
143
+ } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
144
+ import type {
145
+ SelectOption,
146
+ SelectSearchMethod,
147
+ } from '../_internals/composables/useSelect/types';
140
148
  import { useSelect } from '../_internals/composables/useSelect/useSelect';
141
149
  import { toArray } from '../_internals/composables/useSelect/useSelectUtils';
142
150
 
143
- interface Props extends SelectProps {
151
+ interface Props extends Omit<SelectProps, 'options'> {
144
152
  label?: string;
145
153
  placeholder?: string;
146
154
  required?: boolean;
@@ -161,7 +169,8 @@ interface Props extends SelectProps {
161
169
  * true shows the clear button
162
170
  */
163
171
  showClear?: boolean;
164
- options?: unknown[];
172
+ /** readonly so consumers can pass `as const` option lists */
173
+ options?: readonly unknown[];
165
174
  optionLabel?: string;
166
175
  optionValue?: string;
167
176
  /**
@@ -171,7 +180,7 @@ interface Props extends SelectProps {
171
180
  /**
172
181
  * Function that returns filtered options for server-side search
173
182
  */
174
- searchMethod?: () => void;
183
+ searchMethod?: SelectSearchMethod;
175
184
  /**
176
185
  * true allows adding custom values through the filter input
177
186
  */
@@ -182,9 +191,9 @@ interface Props extends SelectProps {
182
191
  manualCustomValues?: boolean;
183
192
  chipsView?: boolean;
184
193
  labelProps?: object;
185
- v?: Record<string, unknown>;
194
+ v?: VuelidateFieldLike;
186
195
  regleValidation?: SuperCompatibleRegleFieldStatus;
187
- customValidators?: unknown[];
196
+ customValidators?: CompatCustomValidator[];
188
197
  }
189
198
 
190
199
  const props = withDefaults(defineProps<Props>(), {
@@ -197,7 +206,7 @@ const props = withDefaults(defineProps<Props>(), {
197
206
  customValidators: () => [],
198
207
  });
199
208
 
200
- const model = defineModel({
209
+ const model = defineModel<SelectOption>({
201
210
  default: [],
202
211
  get(value) {
203
212
  return toArray(value);
@@ -227,7 +236,6 @@ const {
227
236
  filterText,
228
237
  filteredOptions,
229
238
  getOptionLabel,
230
- fetchOptions,
231
239
  onDropdownBeforeShow,
232
240
  onDropdownBeforeHide,
233
241
  onDropdownShow,
@@ -237,12 +245,14 @@ const {
237
245
  clearValue,
238
246
  } = useSelect({
239
247
  selected: model,
240
- options: computed(() => props.options),
248
+ options: computed(() => [
249
+ ...props.options,
250
+ ]),
241
251
  optionLabel: computed(() => props.optionLabel),
242
252
  optionValue: computed(() => props.optionValue),
243
253
  dataKey: computed(() => props.dataKey),
244
254
  allowCustomValues: computed(() => props.allowCustomValues),
245
- manualCustomValues: computed(() => props.manualCustomValues),
255
+ manualCustomValues: props.manualCustomValues,
246
256
  filterInput,
247
257
  selectRef,
248
258
  searchMethod: computed(() => props.searchMethod),
@@ -6,6 +6,7 @@ export interface WtNavigationBarRouteNavItem {
6
6
  route: string;
7
7
  }
8
8
 
9
+ /** both fields stay optional so the template can branch on them */
9
10
  export type WtNavigationBarNavItem = {
10
11
  value: string;
11
12
 
@@ -14,4 +15,5 @@ export type WtNavigationBarNavItem = {
14
15
  * @default WtNavigationBarNavItem.value
15
16
  */
16
17
  name?: string;
17
- } & (WtNavigationBarRouteNavItem | WtNavigationBarExpansionNavItem);
18
+ } & Partial<WtNavigationBarRouteNavItem> &
19
+ Partial<WtNavigationBarExpansionNavItem>;
@@ -22,7 +22,7 @@
22
22
  >
23
23
  <img
24
24
  :alt="currentApp"
25
- :src="darkMode ? appLogo[currentApp].dark : appLogo[currentApp].light
25
+ :src="darkMode ? appLogo[currentApp]?.dark : appLogo[currentApp]?.light
26
26
  "
27
27
  class="wt-navigation-bar__app-pic"
28
28
  />
@@ -47,7 +47,7 @@
47
47
  'wt-navigation-bar__nav-item-link--active':
48
48
  currentNav.nav === navItem.value,
49
49
  }"
50
- :to="navItem.route"
50
+ :to="navItem.route ?? ''"
51
51
  class="wt-navigation-bar__nav-item-link typo-body-1"
52
52
  @click="close"
53
53
  >
@@ -89,7 +89,7 @@
89
89
  'wt-navigation-bar__nav-item-link--active':
90
90
  currentNav.nav === subNavItem.value,
91
91
  }"
92
- :to="nestedRoute(subNavItem, navItem)"
92
+ :to="nestedRoute(subNavItem, navItem) ?? ''"
93
93
  class="wt-navigation-bar__nav-item-link wt-navigation-bar__nav-item-link--subnav"
94
94
  @click="close"
95
95
  >
@@ -108,6 +108,7 @@
108
108
  </template>
109
109
 
110
110
  <script lang="ts">
111
+ import type { PropType } from 'vue';
111
112
  import { WtApplication } from '../../enums';
112
113
  import ExpandTransition from '../transitions/wt-expand-transition.vue';
113
114
  import AdminDark from './assets/dark/app-logo-dark-admin.svg';
@@ -124,9 +125,18 @@ import HistoryLight from './assets/light/app-logo-light-history.svg';
124
125
  import SupervisorLight from './assets/light/app-logo-light-supervisor.svg';
125
126
  import WfmLight from './assets/light/app-logo-light-wfm.svg';
126
127
  import WorkspaceLight from './assets/light/app-logo-light-workspace.svg';
127
- import { WtNavigationBarNavItem } from './types/WtNavigationBar';
128
+ import type { WtNavigationBarNavItem } from './types/WtNavigationBar';
128
129
 
129
- const appLogo = {
130
+ /** partial: `Analytics` and `Meet` ship no logo */
131
+ const appLogo: Partial<
132
+ Record<
133
+ WtApplication,
134
+ {
135
+ dark: string;
136
+ light: string;
137
+ }
138
+ >
139
+ > = {
130
140
  [WtApplication.Supervisor]: {
131
141
  dark: SupervisorDark,
132
142
  light: SupervisorLight,
@@ -169,8 +179,8 @@ export default {
169
179
  * @default 'admin'
170
180
  */
171
181
  currentApp: {
172
- type: String,
173
- default: 'admin',
182
+ type: String as PropType<WtApplication>,
183
+ default: WtApplication.Admin,
174
184
  },
175
185
  /**
176
186
  * Should receive array of nav objects. All objects should have following properties:
@@ -182,7 +192,7 @@ export default {
182
192
  * @default []
183
193
  */
184
194
  nav: {
185
- type: Array,
195
+ type: Array as PropType<WtNavigationBarNavItem[]>,
186
196
  default: () => [],
187
197
  },
188
198
  /**
@@ -214,27 +224,30 @@ export default {
214
224
  currentNav() {
215
225
  const pathSegments = this.$route.path.split('/').filter(Boolean);
216
226
 
217
- const flatNav = this.nav.flatMap(
218
- (item) =>
227
+ const flatNav: WtNavigationBarNavItem[] = this.nav.flatMap(
228
+ (item: WtNavigationBarNavItem) =>
219
229
  item.subNav ?? [
220
230
  item,
221
231
  ],
222
232
  );
223
233
 
224
- const navMap = new Map(
234
+ const navMap = new Map<string, WtNavigationBarNavItem>(
225
235
  flatNav.map((item) => [
226
236
  item.value,
227
237
  item,
228
238
  ]),
229
239
  );
230
240
 
231
- const matchingSegment = pathSegments.find((segment) =>
241
+ const matchingSegment = pathSegments.find((segment: string) =>
232
242
  navMap.has(segment),
233
243
  );
234
- const currentNav = navMap.get(matchingSegment);
244
+ const currentNav = matchingSegment
245
+ ? navMap.get(matchingSegment)
246
+ : undefined;
235
247
 
236
- const currentExpansion = this.nav.find((nav) =>
237
- nav.subNav?.includes(currentNav),
248
+ const currentExpansion = this.nav.find(
249
+ (nav: WtNavigationBarNavItem) =>
250
+ !!currentNav && !!nav.subNav?.includes(currentNav),
238
251
  );
239
252
 
240
253
  return {
@@ -244,16 +257,19 @@ export default {
244
257
  },
245
258
  },
246
259
  methods: {
247
- nestedRoute(subNavItem, navItem) {
260
+ nestedRoute(
261
+ subNavItem: WtNavigationBarNavItem,
262
+ navItem: WtNavigationBarNavItem,
263
+ ) {
248
264
  return navItem.route
249
265
  ? `${navItem.route}/${subNavItem.route}`
250
266
  : subNavItem.route;
251
267
  },
252
- expand(navItem) {
268
+ expand(navItem: WtNavigationBarNavItem) {
253
269
  this.expandedName =
254
270
  this.expandedName !== navItem.value ? navItem.value : '';
255
271
  },
256
- isExpanded(navItem) {
272
+ isExpanded(navItem: WtNavigationBarNavItem) {
257
273
  return this.expandedName === navItem.value;
258
274
  },
259
275
  close() {
@@ -52,28 +52,28 @@
52
52
  <script setup lang="ts">
53
53
  import type { SuperCompatibleRegleFieldStatus } from '@regle/core';
54
54
  import type { PasswordProps } from 'primevue';
55
- import {
56
- computed,
57
- defineModel,
58
- ref,
59
- toRefs,
60
- useSlots,
61
- useTemplateRef,
62
- } from 'vue';
63
- import { ComponentSize, MessageColor, MessageVariant } from '../../enums';
55
+ import type { InputHTMLAttributes } from 'vue';
56
+ import { computed, ref, toRefs, useSlots, useTemplateRef } from 'vue';
57
+ import { ComponentSize, MessageVariant } from '../../enums';
64
58
  import { useValidation } from '../../mixins/validationMixin/useValidation';
59
+ import type {
60
+ CompatCustomValidator,
61
+ VuelidateFieldLike,
62
+ } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
65
63
  import { useInputControl } from '../_internals/composables';
66
64
 
67
- interface WtPasswordProps extends /* @vue-ignore */ PasswordProps {
65
+ /** native attrs are omitted: keeping them overflows prop inference (TS2590) */
66
+ interface WtPasswordProps
67
+ extends /* @vue-ignore */ Omit<PasswordProps, keyof InputHTMLAttributes> {
68
68
  label?: string;
69
69
  labelProps?: Record<string, unknown>;
70
70
  placeholder?: string;
71
71
  disabled?: boolean;
72
72
  required?: boolean;
73
73
  toggleMask?: boolean;
74
- v?: Record<string, unknown>;
74
+ v?: VuelidateFieldLike;
75
75
  regleValidation?: SuperCompatibleRegleFieldStatus;
76
- customValidators?: unknown[];
76
+ customValidators?: CompatCustomValidator[];
77
77
  }
78
78
 
79
79
  const props = withDefaults(defineProps<WtPasswordProps>(), {
@@ -84,7 +84,6 @@ const props = withDefaults(defineProps<WtPasswordProps>(), {
84
84
  required: false,
85
85
  toggleMask: true,
86
86
  v: null,
87
- regleValidation: null,
88
87
  customValidators: () => [],
89
88
  });
90
89
 
@@ -181,9 +181,14 @@ function downloadMedia() {
181
181
  const src = typeof props.src === 'string' ? props.src : props.src?.src;
182
182
 
183
183
  const url =
184
- typeof props.download === 'function' ? props.download(src) : props.download;
184
+ typeof props.download === 'function'
185
+ ? props.download(typeof src === 'string' ? src : '')
186
+ : String(props.download);
185
187
 
186
- const ext = props.src?.type.split('/').pop();
188
+ const ext =
189
+ typeof props.src === 'object'
190
+ ? props.src?.type?.split('/').pop()
191
+ : undefined;
187
192
 
188
193
  const filename = props.fileName || props.id || 'unknown';
189
194
 
@@ -26,8 +26,12 @@ import type { PopoverEmitsOptions, PopoverProps } from 'primevue';
26
26
  import { useAttrs, useTemplateRef } from 'vue';
27
27
  import { usePopoverOverlayFix } from './_internals/composables/usePopoverOverlayFix';
28
28
 
29
- interface Props extends PopoverProps {
29
+ /** `breakpoints`/`pt`/`ptOptions` are re-declared so the `null` defaults below stay assignable */
30
+ interface Props extends Omit<PopoverProps, 'breakpoints' | 'pt' | 'ptOptions'> {
30
31
  disabled?: boolean;
32
+ breakpoints?: PopoverProps['breakpoints'] | null;
33
+ pt?: PopoverProps['pt'] | null;
34
+ ptOptions?: PopoverProps['ptOptions'] | null;
31
35
  }
32
36
 
33
37
  const attrs = useAttrs();
@@ -40,7 +40,7 @@ v-show="showPopupComponent" :class="[`wt-popup--size-${size}`, { 'wt-popup--over
40
40
  <script lang="ts" setup>
41
41
  import { TransitionSlide } from '@morev/vue-transitions';
42
42
  import { useScrollLock } from '@vueuse/core';
43
- import { computed, defineEmits, defineProps, ref, watch } from 'vue';
43
+ import { computed, ref, watch } from 'vue';
44
44
 
45
45
  import { ComponentSize } from '../../enums/ComponentSize/ComponentSize';
46
46
 
@@ -95,6 +95,10 @@ interface ActivatorSlotScope {
95
95
 
96
96
  const slots = defineSlots<{
97
97
  activator?: ActivatorSlotScope;
98
+ header?: () => unknown;
99
+ title?: () => unknown;
100
+ main?: () => unknown;
101
+ actions?: () => unknown;
98
102
  }>();
99
103
  const activatorMode = !!slots.activator;
100
104
 
@@ -31,7 +31,7 @@
31
31
 
32
32
  <script setup lang="ts">
33
33
  import type { RadioButtonProps } from 'primevue/radiobutton';
34
- import { computed, defineModel, defineProps, useSlots } from 'vue';
34
+ import { computed, useSlots } from 'vue';
35
35
 
36
36
  /**
37
37
  * @emits {string | number | boolean | object} input - Fires when radio is selected. Emits the "value" prop
@@ -13,7 +13,7 @@
13
13
  <template #prefix>
14
14
  <wt-icon
15
15
  :color="invalidColorProvider"
16
- :icon="searchMode?.icon || 'search'"
16
+ :icon="(typeof searchMode === 'object' && searchMode?.icon) || 'search'"
17
17
  />
18
18
  </template>
19
19
 
@@ -70,9 +70,16 @@
70
70
  </template>
71
71
 
72
72
  <script lang="ts" setup>
73
- import { computed, toRefs } from 'vue';
73
+ import { computed, type PropType, toRefs } from 'vue';
74
+
75
+ export interface SearchMode {
76
+ value?: string;
77
+ icon?: string;
78
+ [key: string]: unknown;
79
+ }
74
80
 
75
81
  import { useValidation } from '../../mixins/validationMixin/useValidation';
82
+ import type { CompatCustomValidator } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
76
83
  import debounce from '../../scripts/debounce.js';
77
84
 
78
85
  const props = defineProps({
@@ -80,7 +87,7 @@ const props = defineProps({
80
87
  type: Object,
81
88
  },
82
89
  customValidators: {
83
- type: Array,
90
+ type: Array as PropType<CompatCustomValidator[]>,
84
91
  default: () => [],
85
92
  },
86
93
  /**
@@ -104,10 +111,10 @@ const props = defineProps({
104
111
  type: [
105
112
  String,
106
113
  Object,
107
- ],
114
+ ] as PropType<string | SearchMode>,
108
115
  },
109
116
  searchModeOptions: {
110
- type: Array,
117
+ type: Array as PropType<SearchMode[]>,
111
118
  default: () => [],
112
119
  },
113
120
  /**
@@ -168,18 +175,18 @@ const isSuffixShow = computed(
168
175
  () => props.value || props.searchMode || props.hint,
169
176
  );
170
177
 
171
- const search = debounce((value) => {
178
+ const search = debounce((value: string) => {
172
179
  emit('search', value);
173
180
  }, 1000);
174
181
 
175
- function handleInput(value) {
182
+ function handleInput(value: string) {
176
183
  emit('input', value);
177
184
  search(value);
178
185
  }
179
186
 
180
- function handleKeyup(event) {
187
+ function handleKeyup(event: KeyboardEvent) {
181
188
  if (event.key === 'Enter') {
182
- search(event.target.value);
189
+ search((event.target as HTMLInputElement).value);
183
190
  event.preventDefault();
184
191
  } else if (event.key === 'Esc') {
185
192
  handleInput('');
@@ -187,7 +194,7 @@ function handleKeyup(event) {
187
194
  }
188
195
  }
189
196
 
190
- function updateSearchMode({ option }) {
197
+ function updateSearchMode({ option }: { option: SearchMode }) {
191
198
  emit('update:search-mode', option);
192
199
  emit('change:search-mode', option);
193
200
  }
@@ -24,10 +24,10 @@
24
24
  :placeholder="placeholder || label"
25
25
  :option-disabled="() => !!props.disabledOptions"
26
26
  :options="filteredOptions"
27
- :option-label="(option) => getOptionLabel(option)"
27
+ :option-label="getOptionLabel"
28
28
  :option-value="optionValue"
29
29
  :data-key="dataKey"
30
- :size="primevueSizeMap[size]"
30
+ :size="size ? primevueSizeMap[size] : undefined"
31
31
  v-bind="$attrs"
32
32
  :pt="{
33
33
  listContainer: {
@@ -109,12 +109,17 @@
109
109
  <script setup lang="ts">
110
110
  import type { SuperCompatibleRegleFieldStatus } from '@regle/core';
111
111
  import type { SelectProps } from 'primevue';
112
- import { computed, onMounted, toRefs, useSlots, useTemplateRef } from 'vue';
113
- import { ComponentSize, MessageColor, MessageVariant } from '../../enums';
112
+ import { computed, toRefs, useSlots, useTemplateRef } from 'vue';
113
+ import { ComponentSize, MessageVariant } from '../../enums';
114
114
  import { useValidation } from '../../mixins/validationMixin/useValidation';
115
+ import type {
116
+ CompatCustomValidator,
117
+ VuelidateFieldLike,
118
+ } from '../../mixins/validationMixin/vuelidate/useVuelidateValidation';
119
+ import type { SelectSearchMethod } from '../_internals/composables/useSelect/types';
115
120
  import { useSelect } from '../_internals/composables/useSelect/useSelect';
116
121
 
117
- interface Props extends SelectProps {
122
+ interface Props extends Omit<SelectProps, 'size' | 'options'> {
118
123
  label?: string;
119
124
  placeholder?: string;
120
125
  required?: boolean;
@@ -136,7 +141,8 @@ interface Props extends SelectProps {
136
141
  * true shows the clear button
137
142
  */
138
143
  showClear?: boolean;
139
- options?: unknown[];
144
+ /** readonly so consumers can pass `as const` option lists */
145
+ options?: readonly unknown[];
140
146
  optionLabel?: string;
141
147
  optionValue?: string;
142
148
  /**
@@ -146,15 +152,15 @@ interface Props extends SelectProps {
146
152
  /**
147
153
  * Function that returns filtered options for server-side search
148
154
  */
149
- searchMethod?: () => void;
155
+ searchMethod?: SelectSearchMethod;
150
156
  /**
151
157
  * true allows adding custom values through the filter input
152
158
  */
153
159
  allowCustomValues?: boolean;
154
160
  labelProps?: object;
155
- v?: Record<string, unknown>;
161
+ v?: VuelidateFieldLike;
156
162
  regleValidation?: SuperCompatibleRegleFieldStatus;
157
- customValidators?: unknown[];
163
+ customValidators?: CompatCustomValidator[];
158
164
  }
159
165
 
160
166
  const props = withDefaults(defineProps<Props>(), {
@@ -167,7 +173,7 @@ const props = withDefaults(defineProps<Props>(), {
167
173
  customValidators: () => [],
168
174
  });
169
175
 
170
- const primevueSizeMap = {
176
+ const primevueSizeMap: Record<string, string> = {
171
177
  [ComponentSize.SM]: 'small',
172
178
  [ComponentSize.LG]: 'large',
173
179
  };
@@ -197,7 +203,6 @@ const {
197
203
  filterText,
198
204
  filteredOptions,
199
205
  getOptionLabel,
200
- fetchOptions,
201
206
  onDropdownBeforeShow,
202
207
  onDropdownBeforeHide,
203
208
  onDropdownShow,
@@ -207,7 +212,9 @@ const {
207
212
  clearValue,
208
213
  } = useSelect({
209
214
  selected: model,
210
- options: computed(() => props.options),
215
+ options: computed(() => [
216
+ ...props.options,
217
+ ]),
211
218
  optionLabel: computed(() => props.optionLabel),
212
219
  optionValue: computed(() => props.optionValue),
213
220
  dataKey: computed(() => props.dataKey),
@@ -10,9 +10,9 @@
10
10
  @closed="closedHandler"
11
11
  @update:model-value="inputHandler"
12
12
  >
13
- <template #value="{ value }">
13
+ <template #value>
14
14
  <wt-indicator
15
- :color="selectedOption.color"
15
+ :color="selectedOption?.color"
16
16
  :text="duration"
17
17
  />
18
18
  </template>
@@ -1,3 +1,8 @@
1
+ import type { SortSymbols } from '../../../scripts/sortQueryAdapters';
2
+
3
+ /** derived so adding a symbol to `SortSymbols` widens this automatically */
4
+ export type WtTableSortOrder = (typeof SortSymbols)[keyof typeof SortSymbols];
5
+
1
6
  export type WtTableHeader = {
2
7
  value: string;
3
8
  /**
@@ -9,6 +14,11 @@ export type WtTableHeader = {
9
14
  width?: string;
10
15
  /** API/query field name when it differs from `value` */
11
16
  field?: string;
12
- sort?: boolean | null;
17
+ /** `undefined` means the column is not sortable; `boolean` is back-compat */
18
+ sort?: WtTableSortOrder | boolean;
13
19
  show?: boolean;
14
20
  };
21
+
22
+ /** TODO(types): every cell is read through a header-driven runtime `field` key. */
23
+ // biome-ignore lint/suspicious/noExplicitAny: see TODO above
24
+ export type WtTableRow = any;