@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.
- package/dist/{clients-Ba7VhTMH.js → clients-Cgrz-ee-.js} +707 -22
- package/dist/{components-ABAwRPPa.js → components-BENKf-0C.js} +882 -846
- package/dist/{composables-C_OatTQJ.js → composables-BtWSAI5D.js} +14 -12
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +51 -50
- package/dist/ui-sdk.umd.cjs +695 -594
- package/dist/useEventBus-B-ZeklLu.js +5 -0
- package/dist/{useValidation-DgSm80YX.js → useValidation-B4_82RZv.js} +4 -4
- package/dist/{useVidstackSrc-B4mUti_c.js → useVidstackSrc-aQcqC_v0.js} +5 -5
- package/dist/{vidstack-C6nBVWwn-cKiWT0KJ.js → vidstack-C6nBVWwn-DNsvM1pU.js} +2 -2
- package/dist/{vidstack-CI5oafcm-DfWpvayJ.js → vidstack-CI5oafcm-EXmYmdjq.js} +1 -1
- package/dist/{vidstack-DUnfBERX2-BJtKHFxc.js → vidstack-DUnfBERX2-jgzDS0Hg.js} +1 -1
- package/dist/{vidstack-audio-BCPraiiR.js → vidstack-audio-CPO0A50Q.js} +1 -1
- package/dist/{vidstack-dash-MBx5aEEA.js → vidstack-dash-DHt7tTPh.js} +2 -2
- package/dist/{vidstack-hls-BbZsbfaO.js → vidstack-hls-WW1jeu5R.js} +2 -2
- package/dist/vidstack-video-Bwash4bY.js +2 -0
- package/dist/vue-router-Dwey8MMv.js +16 -0
- package/dist/{wt-button-G2Q1uf_y.js → wt-button-OZTROX1W.js} +3 -3
- package/dist/{wt-chat-emoji-DM6G80G_.js → wt-chat-emoji-ByGj5Mh4.js} +3 -3
- package/dist/{wt-datepicker-DTUMTWJK.js → wt-datepicker-OIgnVIpv.js} +38 -34
- package/dist/{wt-display-chip-items-3GRXkRfT.js → wt-display-chip-items-BUlu4Pqh.js} +2 -2
- package/dist/{wt-dual-panel-Dhj8Eg_y.js → wt-dual-panel-BEGLGU7F.js} +1 -1
- package/dist/{wt-expansion-card-BzhcCehz.js → wt-expansion-card-CpmnVJ03.js} +1 -1
- package/dist/{wt-galleria-qPHnXPx7.js → wt-galleria-CgY38PPx.js} +3 -6
- package/dist/{wt-icon-btn-BJl5VlM9.js → wt-icon-btn-hAWVJdNG.js} +2 -2
- package/dist/{wt-navigation-menu-CenQi_-T.js → wt-navigation-menu-BMupOW07.js} +2 -2
- package/dist/{wt-notifications-bar-C7cK0wEL.js → wt-notifications-bar-CqVk9cm7.js} +1 -1
- package/dist/{wt-player-Ca2x4geU.js → wt-player-vsOVUgi7.js} +17 -15
- package/dist/{wt-screen-recordings-action-Dzzo0eqW.js → wt-screen-recordings-action-Dj6ITuhE.js} +1 -1
- package/dist/{wt-search-bar-DtJL-csc.js → wt-search-bar-CagDl5av.js} +3 -3
- package/dist/wt-send-message-popup-zjxEP-HK.js +1208 -0
- package/dist/wt-start-page-BFQExFUj.js +73 -0
- package/dist/{wt-status-select-D1hAjCAS.js → wt-status-select-B-N9Fvz4.js} +2 -2
- package/dist/{wt-table-DJ3yOWZV.js → wt-table-C4PZJ3rP.js} +49 -47
- package/dist/{wt-table-column-select-CgEh5BAF.js → wt-table-column-select-D4c56HPB.js} +2 -2
- package/dist/{wt-time-input-u5Ay5_X5.js → wt-time-input-BEBrSugB.js} +9 -2
- package/dist/{wt-timepicker-CB8HzUZw.js → wt-timepicker-CQ2TRigf.js} +11 -4
- package/dist/{wt-toast-BbaZZWKt.js → wt-toast-Cb15-PN4.js} +1 -1
- package/dist/{wt-tree-DZ9ErOGj.js → wt-tree-CMIpbXBo.js} +40 -40
- package/dist/{wt-tree-table-C0ZIJXcv.js → wt-tree-table-CVvWMduu.js} +7 -7
- package/dist/{wt-type-extension-value-input-kzX2hJY_.js → wt-type-extension-value-input-l3TF0Xtv.js} +14 -9
- package/dist/{wt-vidstack-player-DbRHboYo.js → wt-vidstack-player-DV_fxJKW.js} +46 -42
- package/package.json +4 -1
- package/src/api/clients/_shared/types.ts +30 -0
- package/src/api/clients/caseSources/caseSources.ts +17 -8
- package/src/api/clients/quickReplies/quickReplies.ts +17 -8
- package/src/api/clients/roles/roles.ts +21 -12
- package/src/api/clients/wtTypes/sysTypes/sysTypes.ts +16 -4
- package/src/api/clients/wtTypes/typeExtensions/typeExtensions.ts +27 -9
- package/src/api/websocket/WebSocketClientController.ts +13 -5
- package/src/api/websocket/{config.js → config.ts} +5 -3
- package/src/api/websocket/websocketErrorEventHandler.ts +1 -1
- package/src/components/_internals/composables/useExpansion/useExpansion.ts +6 -1
- package/src/components/_internals/composables/useGalleriaMaskClick/useGalleriaMaskClick.ts +5 -3
- package/src/components/_internals/composables/useInputControl/useInputControl.ts +5 -3
- package/src/components/_internals/composables/useSelect/types.ts +69 -0
- package/src/components/_internals/composables/useSelect/useSelect.ts +4 -2
- package/src/components/_internals/composables/useSelect/useSelectCustomValues.ts +3 -2
- package/src/components/_internals/composables/useSelect/useSelectDropdown.ts +4 -3
- package/src/components/_internals/composables/useSelect/useSelectOptions.ts +20 -14
- package/src/components/_internals/composables/useSelect/useSelectUtils.ts +20 -7
- package/src/components/_internals/composables/useTableColumnDrag/useTableColumnDrag.ts +22 -12
- package/src/components/_internals/composables/useWtTable/useWtTable.ts +6 -2
- package/src/components/_internals/types/PrimevueInstance.ts +15 -0
- package/src/components/_shared/settings-panel/components/speed-settings/speed-settings.vue +6 -1
- package/src/components/on-demand/wt-display-chip-items/wt-display-chip-items.vue +6 -1
- package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +0 -2
- package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +0 -2
- package/src/components/on-demand/wt-screen-recordings-action/wt-screen-recordings-action.vue +12 -4
- package/src/components/on-demand/wt-send-message-popup/wt-send-message-popup.vue +17 -7
- package/src/components/on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue +36 -15
- package/src/components/on-demand/wt-upload-file-icon-btn/wt-upload-file-icon-btn.vue +1 -1
- package/src/components/wt-badge-new/wt-badge.vue +1 -1
- package/src/components/wt-button/wt-button.vue +5 -5
- package/src/components/wt-checkbox/wt-checkbox.vue +4 -2
- package/src/components/wt-chip/wt-chip.vue +1 -1
- package/src/components/wt-datepicker/wt-datepicker.vue +30 -20
- package/src/components/wt-dual-panel/wt-dual-panel.vue +1 -1
- package/src/components/wt-galleria/wt-galleria.vue +1 -11
- package/src/components/wt-image/wt-image.vue +3 -3
- package/src/components/wt-input-number/wt-input-number.vue +8 -13
- package/src/components/wt-input-text/wt-input-text.vue +15 -17
- package/src/components/wt-intersection-observer/wt-intersection-observer.vue +1 -1
- package/src/components/wt-message/wt-message.vue +1 -1
- package/src/components/wt-multi-select/wt-multi-select.vue +22 -12
- package/src/components/wt-navigation-bar/types/WtNavigationBar.ts +3 -1
- package/src/components/wt-navigation-bar/wt-navigation-bar.vue +34 -18
- package/src/components/wt-password/wt-password.vue +12 -13
- package/src/components/wt-player/wt-player.vue +7 -2
- package/src/components/wt-popover/wt-popover.vue +5 -1
- package/src/components/wt-popup/wt-popup.vue +5 -1
- package/src/components/wt-radio/wt-radio.vue +1 -1
- package/src/components/wt-search-bar/wt-search-bar.vue +17 -10
- package/src/components/wt-single-select/wt-single-select.vue +19 -12
- package/src/components/wt-status-select/wt-status-select.vue +2 -2
- package/src/components/wt-table/types/WtTable.ts +11 -1
- package/src/components/wt-table/wt-table.vue +43 -24
- package/src/components/wt-table-column-select/wt-table-column-select.vue +3 -5
- package/src/components/wt-textarea/wt-textarea.vue +9 -15
- package/src/components/wt-time-input/wt-time-input.vue +7 -4
- package/src/components/wt-timepicker/wt-timepicker.vue +6 -3
- package/src/components/wt-toast/wt-toast.vue +2 -2
- package/src/components/wt-tree/wt-tree.vue +6 -5
- package/src/components/wt-tree-line/types/wt-tree-node.ts +6 -0
- package/src/components/wt-tree-line/wt-tree-line.vue +29 -15
- package/src/components/wt-tree-table/wt-tree-table.vue +16 -18
- package/src/components/wt-tree-table-row/wt-tree-table-row.vue +9 -4
- package/src/components/wt-vidstack-player/components/buttons/fullscreen-button.vue +2 -3
- package/src/components/wt-vidstack-player/components/buttons/play-button.vue +1 -5
- package/src/components/wt-vidstack-player/components/controls-group/controls-group.vue +2 -4
- package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +2 -4
- package/src/components/wt-vidstack-player/components/panels/playback-controls-panel/components/buttons/fullscreen-button.vue +0 -2
- package/src/components/wt-vidstack-player/components/panels/playback-controls-panel/components/buttons/play-button.vue +2 -4
- package/src/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue +4 -4
- package/src/components/wt-vidstack-player/components/panels/video-call-controls-panel/video-call-controls-panel.vue +3 -3
- package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +4 -4
- package/src/components/wt-vidstack-player/components/screenshot-box/screenshot-box.vue +1 -1
- package/src/components/wt-vidstack-player/composables/useVidstackPlayerSize.ts +11 -0
- package/src/components/wt-vidstack-player/composables/useVidstackSrc.ts +27 -6
- package/src/components/wt-vidstack-player/wt-vidstack-player.vue +7 -4
- package/src/enums/MessageColor/MessageColor.ts +1 -1
- package/src/enums/MessageVariant/MessageVariant.ts +2 -1
- package/src/install.ts +6 -2
- package/src/locale/en/en.js +1 -0
- package/src/locale/es/es.js +1 -0
- package/src/locale/kz/kz.js +1 -0
- package/src/locale/pl/pl.js +1 -0
- package/src/locale/ro/ro.js +1 -0
- package/src/locale/ru/ru.js +1 -0
- package/src/locale/uk/uk.js +1 -0
- package/src/locale/uz/uz.js +1 -0
- package/src/locale/vi/vi.js +1 -0
- package/src/mixins/validationMixin/regle/useRegleValidation.ts +2 -2
- package/src/mixins/validationMixin/useValidation.ts +1 -1
- package/src/mixins/validationMixin/vuelidate/useVuelidateValidation.ts +23 -8
- package/src/modules/CSVExport/CSVExport.js +1 -1
- package/src/modules/CallSession/modules/VideoCall/video-call.vue +34 -16
- package/src/modules/DeleteConfirmationPopup/composables/useDeleteConfirmationPopup.js +1 -1
- package/src/modules/FilesExport/composables/useFilesExport.ts +1 -1
- package/src/modules/UploadCsvPopup/components/wt-upload-csv-popup.vue +2 -2
- package/src/modules/UploadCsvPopup/composable/useUploadCsv.ts +39 -12
- package/src/modules/UploadCsvPopup/scripts/normalizeCSVData.ts +20 -17
- package/src/modules/UploadCsvPopup/scripts/parseCSV.ts +2 -2
- package/src/modules/UploadCsvPopup/scripts/processFile.ts +2 -2
- package/src/modules/UploadCsvPopup/scripts/splitAndSaveData.ts +8 -2
- package/src/modules/UserNotifications/stores/userNotificationsStore.ts +9 -1
- package/src/modules/Userinfo/classes/ApplicationsAccess.ts +12 -6
- package/src/modules/Userinfo/mappings/mappings.ts +10 -3
- package/src/modules/Userinfo/scripts/utils.ts +8 -4
- package/src/modules/Userinfo/stores/accessStore.ts +16 -16
- package/src/modules/Userinfo/types/UserAccess.ts +1 -1
- package/src/plugins/breakpoint/breakpoint.plugin.ts +1 -1
- package/src/scripts/compareSize.ts +4 -4
- package/src/scripts/downloadFile/downloadFile.ts +1 -1
- package/src/scripts/normalizeDatetime.ts +2 -2
- package/src/utils/displayText.ts +1 -1
- package/types/.tsbuildinfo +1 -1
- package/types/api/clients/_shared/types.d.ts +23 -0
- package/types/api/clients/caseSources/caseSources.d.ts +7 -15
- package/types/api/clients/chatGateways/defaults/webChatGateway.d.ts +1 -1
- package/types/api/clients/gateways/defaults/trunkingGateway.d.ts +1 -1
- package/types/api/clients/quickReplies/quickReplies.d.ts +7 -15
- package/types/api/clients/roles/roles.d.ts +8 -16
- package/types/api/clients/wtTypes/sysTypes/sysTypes.d.ts +11 -12
- package/types/api/clients/wtTypes/typeExtensions/typeExtensions.d.ts +19 -18
- package/types/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.d.ts +1 -1
- package/types/api/defaults/getDefaultGetParams/getDefaultGetParams.d.ts +2 -2
- package/types/api/transformers/applyTransform.d.ts +2 -2
- package/types/api/websocket/WebSocketClientController.d.ts +10 -9
- package/types/api/websocket/config.d.ts +3 -2
- package/types/api/websocket/websocketErrorEventHandler.d.ts +5 -1
- package/types/assets/icons/iconsRepository.d.ts +1 -1
- package/types/components/_internals/composables/useExpansion/useExpansion.d.ts +6 -1
- package/types/components/_internals/composables/useGalleriaMaskClick/useGalleriaMaskClick.d.ts +2 -1
- package/types/components/_internals/composables/useInputControl/useInputControl.d.ts +4 -2
- package/types/components/_internals/composables/useSelect/types.d.ts +52 -0
- package/types/components/_internals/composables/useSelect/useSelect.d.ts +4 -18
- package/types/components/_internals/composables/useSelect/useSelectCustomValues.d.ts +2 -12
- package/types/components/_internals/composables/useSelect/useSelectDropdown.d.ts +2 -14
- package/types/components/_internals/composables/useSelect/useSelectOptions.d.ts +6 -14
- package/types/components/_internals/composables/useSelect/useSelectUtils.d.ts +5 -4
- package/types/components/_internals/composables/useTableColumnDrag/useTableColumnDrag.d.ts +3 -1
- package/types/components/_internals/composables/useWtTable/useWtTable.d.ts +3 -2
- package/types/components/_internals/types/PrimevueInstance.d.ts +14 -0
- package/types/components/_shared/settings-panel/components/speed-settings/speed-settings.vue.d.ts +2 -2
- package/types/components/_shared/settings-panel/settings-panel.vue.d.ts +1 -1
- package/types/components/on-demand/wt-call-media-action/wt-call-media-action.vue.d.ts +2 -2
- package/types/components/on-demand/wt-chat-emoji/wt-chat-emoji.vue.d.ts +1 -1
- package/types/components/on-demand/wt-display-chip-items/wt-display-chip-items.vue.d.ts +6 -2
- package/types/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue.d.ts +6 -6
- package/types/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue.d.ts +2 -2
- package/types/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue.d.ts +2 -2
- package/types/components/on-demand/wt-route-transition/wt-route-transition.vue.d.ts +1 -1
- package/types/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue.d.ts +3 -3
- package/types/components/on-demand/wt-screen-recordings-action/wt-screen-recordings-action.vue.d.ts +10 -2
- package/types/components/on-demand/wt-selection-popup/wt-selection-popup.vue.d.ts +8 -8
- package/types/components/on-demand/wt-send-message-popup/wt-send-message-popup.vue.d.ts +1 -1
- package/types/components/on-demand/wt-table-transition/wt-table-transition.vue.d.ts +1 -1
- package/types/components/on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue.d.ts +18 -11
- package/types/components/on-demand/wt-upload-file-icon-btn/wt-upload-file-icon-btn.vue.d.ts +3 -3
- package/types/components/transitions/cases/wt-replace-transition.vue.d.ts +1 -1
- package/types/components/transitions/wt-transition.vue.d.ts +1 -1
- package/types/components/wt-action-bar/WtActionBarActionsOrder.d.ts +2 -2
- package/types/components/wt-action-bar/wt-action-bar.vue.d.ts +64 -64
- package/types/components/wt-app-header/wt-app-header.vue.d.ts +1 -1
- package/types/components/wt-app-header/wt-header-actions.vue.d.ts +6 -9
- package/types/components/wt-badge/wt-badge.vue.d.ts +1 -1
- package/types/components/wt-badge-new/wt-badge.vue.d.ts +3 -3
- package/types/components/wt-breadcrumb/wt-breadcrumb.vue.d.ts +1 -1
- package/types/components/wt-button/wt-button.vue.d.ts +2 -2
- package/types/components/wt-button-select/wt-button-select.vue.d.ts +3 -3
- package/types/components/wt-call-media-metric/wt-call-media-metric.vue.d.ts +1 -1
- package/types/components/wt-checkbox/wt-checkbox.vue.d.ts +3 -3
- package/types/components/wt-chip/wt-chip.vue.d.ts +2 -2
- package/types/components/wt-confirm-dialog/wt-confirm-dialog.vue.d.ts +5 -5
- package/types/components/wt-context-menu/wt-context-menu.vue.d.ts +7 -7
- package/types/components/wt-datepicker/wt-datepicker.vue.d.ts +20 -19
- package/types/components/wt-divider/wt-divider.vue.d.ts +1 -1
- package/types/components/wt-dual-panel/wt-dual-panel.vue.d.ts +5 -5
- package/types/components/wt-empty/wt-empty.vue.d.ts +38 -38
- package/types/components/wt-expansion-card/wt-expansion-card.vue.d.ts +3 -3
- package/types/components/wt-expansion-panel/wt-expansion-panel.vue.d.ts +3 -3
- package/types/components/wt-galleria/wt-galleria.vue.d.ts +2 -2
- package/types/components/wt-icon/wt-icon.vue.d.ts +1 -1
- package/types/components/wt-icon-action/wt-icon-action.vue.d.ts +4 -4
- package/types/components/wt-icon-btn/wt-icon-btn.vue.d.ts +3 -3
- package/types/components/wt-image/wt-image.vue.d.ts +2 -2
- package/types/components/wt-inline-add-panel/wt-inline-add-panel.vue.d.ts +3 -3
- package/types/components/wt-input-number/wt-input-number.vue.d.ts +9 -9
- package/types/components/wt-input-text/wt-input-text.vue.d.ts +11 -9
- package/types/components/wt-intersection-observer/wt-intersection-observer.vue.d.ts +1 -1
- package/types/components/wt-item-link/wt-item-link.vue.d.ts +1 -1
- package/types/components/wt-label/mixins/labelUsageMixin.d.ts +1 -1
- package/types/components/wt-label/wt-label.vue.d.ts +1 -1
- package/types/components/wt-menubar/wt-menubar.vue.d.ts +1 -1
- package/types/components/wt-message/wt-message.vue.d.ts +1 -1
- package/types/components/wt-multi-select/wt-multi-select.vue.d.ts +19 -19
- package/types/components/wt-navigation-bar/types/WtNavigationBar.d.ts +2 -1
- package/types/components/wt-navigation-bar/wt-navigation-bar.vue.d.ts +22 -45
- package/types/components/wt-page-header/wt-page-header.vue.d.ts +4 -4
- package/types/components/wt-password/wt-password.vue.d.ts +11 -9
- package/types/components/wt-player/wt-player.vue.d.ts +6 -6
- package/types/components/wt-popover/wt-popover.vue.d.ts +13 -9
- package/types/components/wt-popup/wt-popup.vue.d.ts +8 -4
- package/types/components/wt-radio/wt-radio.vue.d.ts +2 -2
- package/types/components/wt-search-bar/wt-search-bar.vue.d.ts +25 -18
- package/types/components/wt-single-select/wt-single-select.vue.d.ts +18 -15
- package/types/components/wt-slider/wt-slider.vue.d.ts +3 -3
- package/types/components/wt-status-select/wt-status-select.vue.d.ts +3 -3
- package/types/components/wt-stepper/wt-stepper.vue.d.ts +2 -2
- package/types/components/wt-switcher/wt-switcher.vue.d.ts +4 -4
- package/types/components/wt-table/types/WtTable.d.ts +7 -1
- package/types/components/wt-table/wt-table.vue.d.ts +12 -12
- package/types/components/wt-table-actions/wt-table-actions.vue.d.ts +2 -2
- package/types/components/wt-table-column-select/wt-table-column-select.vue.d.ts +1 -1
- package/types/components/wt-tabs/wt-tabs.vue.d.ts +3 -3
- package/types/components/wt-textarea/wt-textarea.vue.d.ts +9 -14
- package/types/components/wt-time-input/wt-time-input.vue.d.ts +9 -9
- package/types/components/wt-timepicker/wt-timepicker.vue.d.ts +8 -8
- package/types/components/wt-tooltip/_internals/wt-tooltip-floating.vue.d.ts +5 -5
- package/types/components/wt-tooltip/wt-tooltip.vue.d.ts +7 -7
- package/types/components/wt-tree/wt-tree.vue.d.ts +5 -3
- package/types/components/wt-tree-line/types/wt-tree-node.d.ts +5 -0
- package/types/components/wt-tree-line/wt-tree-line.vue.d.ts +8 -18
- package/types/components/wt-tree-table/wt-tree-table.vue.d.ts +2 -2
- package/types/components/wt-tree-table-row/wt-tree-table-row.vue.d.ts +3 -18
- package/types/components/wt-vidstack-player/components/buttons/fullscreen-button.vue.d.ts +1 -1
- package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +5 -5
- package/types/components/wt-vidstack-player/components/panels/playback-controls-panel/components/buttons/fullscreen-button.vue.d.ts +1 -1
- package/types/components/wt-vidstack-player/components/panels/playback-controls-panel/components/time-group.vue.d.ts +1 -1
- package/types/components/wt-vidstack-player/components/panels/playback-controls-panel/playback-controls-panel.vue.d.ts +1 -1
- package/types/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue.d.ts +3 -3
- package/types/components/wt-vidstack-player/components/panels/video-call-controls-panel/video-call-controls-panel.vue.d.ts +14 -14
- package/types/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue.d.ts +2 -2
- package/types/components/wt-vidstack-player/components/screenshot-box/screenshot-box.vue.d.ts +2 -2
- package/types/components/wt-vidstack-player/components/toggle-button.vue.d.ts +1 -1
- package/types/components/wt-vidstack-player/composables/useVidstackPlayerSize.d.ts +2 -0
- package/types/components/wt-vidstack-player/composables/useVidstackSrc.d.ts +11 -4
- package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +8 -7
- package/types/composables/useCachedInterval/useCachedInterval.d.ts +1 -1
- package/types/composables/useCachedItemInstanceName/useCachedItemInstanceName.d.ts +1 -1
- package/types/composables/useCard/useCardTabs.d.ts +1 -1
- package/types/composables/useClose/useClose.d.ts +1 -1
- package/types/enums/MessageColor/MessageColor.d.ts +1 -1
- package/types/enums/MessageVariant/MessageVariant.d.ts +1 -1
- package/types/locale/en/en.d.ts +3 -2
- package/types/locale/es/es.d.ts +3 -2
- package/types/locale/i18n.d.ts +27 -18
- package/types/locale/index.d.ts +27 -18
- package/types/locale/kz/kz.d.ts +3 -2
- package/types/locale/pl/pl.d.ts +3 -2
- package/types/locale/ro/ro.d.ts +3 -2
- package/types/locale/ru/ru.d.ts +3 -2
- package/types/locale/uk/uk.d.ts +3 -2
- package/types/locale/uz/uz.d.ts +3 -2
- package/types/locale/vi/vi.d.ts +3 -2
- package/types/mixins/dataFilterMixins/_urlControllerMixin/_urlControllerMixin.d.ts +1 -1
- package/types/mixins/dataFilterMixins/apiFilterMixin.d.ts +3 -3
- package/types/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.d.ts +1 -1
- package/types/mixins/dataFilterMixins/enumFilterMixin.d.ts +4 -4
- package/types/mixins/dataFilterMixins/paginationFilterMixin.d.ts +2 -2
- package/types/mixins/dataFilterMixins/sortFilterMixin.d.ts +1 -1
- package/types/mixins/validationMixin/regle/useRegleValidation.d.ts +1 -1
- package/types/mixins/validationMixin/useValidation.d.ts +2 -2
- package/types/mixins/validationMixin/validationMixin.d.ts +1 -1
- package/types/mixins/validationMixin/vuelidate/useVuelidateValidation.d.ts +9 -5
- package/types/modules/AgentPdfs/components/agent-pdfs-tab.vue.d.ts +1 -1
- package/types/modules/AgentPdfs/components/pdf-status-preview.vue.d.ts +1 -1
- package/types/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue.d.ts +4 -4
- package/types/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue.d.ts +1 -1
- package/types/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue.d.ts +1 -1
- package/types/modules/Appearance/components/wt-dark-mode-switcher.vue.d.ts +1 -1
- package/types/modules/Appearance/pinia/store/AppearanceStore.d.ts +3 -3
- package/types/modules/Appearance/store/AppearanceStoreModule.d.ts +1 -1
- package/types/modules/AuditForm/components/audit-form-question-read-wrapper.vue.d.ts +3 -3
- package/types/modules/AuditForm/components/audit-form-question-write-wrapper.vue.d.ts +2 -2
- package/types/modules/AuditForm/components/audit-form-question.vue.d.ts +7 -7
- package/types/modules/AuditForm/components/audit-form.vue.d.ts +6 -6
- package/types/modules/AuditForm/components/form/form-footer/audit-form-footer.vue.d.ts +3 -3
- package/types/modules/AuditForm/components/form-questions/options/audit-form-question-options-write-row.vue.d.ts +2 -2
- package/types/modules/AuditForm/components/form-questions/options/audit-form-question-options.vue.d.ts +4 -4
- package/types/modules/AuditForm/components/form-questions/score/audit-form-question-score.vue.d.ts +6 -6
- package/types/modules/AuditForm/components/form-questions/yes/audit-form-question-yes.vue.d.ts +2 -2
- package/types/modules/CSVExport/CSVExport.d.ts +3 -6
- package/types/modules/CSVExport/XLSExport.d.ts +1 -1
- package/types/modules/CSVExport/composables/useCSVExport.d.ts +6 -6
- package/types/modules/CSVExport/mixins/exportCSVMixin.d.ts +1 -1
- package/types/modules/CSVExport/mixins/exportXLSMixin.d.ts +1 -1
- package/types/modules/CallSession/modules/ScreenSharing/screen-sharing.vue.d.ts +3 -3
- package/types/modules/CallSession/modules/VideoCall/composables/useReceiverLiveStream.d.ts +6 -6
- package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +17 -17
- package/types/modules/CardStoreModule/store/CardStoreModule.d.ts +1 -1
- package/types/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue.d.ts +2 -2
- package/types/modules/DeleteConfirmationPopup/composables/useDeleteConfirmationPopup.d.ts +1 -1
- package/types/modules/Filters/classes/BaseFilterSchema.d.ts +7 -7
- package/types/modules/Filters/components/filter-search.vue.d.ts +2 -2
- package/types/modules/Filters/components/filter-table-fields.vue.d.ts +3 -3
- package/types/modules/Filters/scripts/getters/localStorageGetter.d.ts +1 -1
- package/types/modules/Filters/store/FiltersStoreModule.d.ts +1 -1
- package/types/modules/Notifications/assets/audio/triggerSound.d.ts +1 -1
- package/types/modules/Notifications/store/NotificationsStoreModule.d.ts +9 -9
- package/types/modules/ObjectPermissions/components/_internal/permissions-role-row.vue.d.ts +1 -1
- package/types/modules/ObjectPermissions/components/_internal/permissions-role-select.vue.d.ts +1 -1
- package/types/modules/ObjectPermissions/components/_internal/permissions-tab-content.vue.d.ts +5 -5
- package/types/modules/ObjectPermissions/components/_internal/permissions-tab-role-popup.vue.d.ts +2 -2
- package/types/modules/ObjectPermissions/headers/headers.d.ts +1 -1
- package/types/modules/ObjectPermissions/store/objectPermissionsStoreModule.d.ts +2 -2
- package/types/modules/QueryFilters/classes/BaseFilterSchema.d.ts +2 -2
- package/types/modules/QueryFilters/components/abstract-api-filter.vue.d.ts +1 -1
- package/types/modules/QueryFilters/components/abstract-enum-filter.vue.d.ts +1 -1
- package/types/modules/QueryFilters/components/filter-datetime.vue.d.ts +1 -1
- package/types/modules/QueryFilters/components/filter-from-to.vue.d.ts +1 -1
- package/types/modules/QueryFilters/components/filter-search.vue.d.ts +1 -1
- package/types/modules/QueryFilters/components/filter-table-fields.vue.d.ts +3 -3
- package/types/modules/QueryFilters/mixins/_urlControllerMixin/_urlControllerMixin.d.ts +1 -1
- package/types/modules/QueryFilters/mixins/apiFilterMixin.d.ts +1 -1
- package/types/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.d.ts +1 -1
- package/types/modules/QueryFilters/mixins/enumFilterMixin.d.ts +1 -1
- package/types/modules/QueryFilters/mixins/paginationFilterMixin.d.ts +2 -2
- package/types/modules/QueryFilters/mixins/sortFilterMixin.d.ts +1 -1
- package/types/modules/QueryFilters/store/QueryFiltersStoreModule.d.ts +4 -4
- package/types/modules/TableComponentModule/composables/useTableEmpty.d.ts +7 -7
- package/types/modules/TableStoreModule/store/TableStoreModule.d.ts +5 -5
- package/types/modules/UploadCsvPopup/components/wt-upload-csv-popup.vue.d.ts +5 -5
- package/types/modules/UploadCsvPopup/composable/useUploadCsv.d.ts +21 -11
- package/types/modules/UploadCsvPopup/scripts/normalizeCSVData.d.ts +15 -20
- package/types/modules/UploadCsvPopup/scripts/parseCSV.d.ts +2 -1
- package/types/modules/UploadCsvPopup/scripts/processFile.d.ts +2 -2
- package/types/modules/UploadCsvPopup/scripts/splitAndSaveData.d.ts +3 -3
- package/types/modules/Userinfo/classes/ApplicationsAccess.d.ts +2 -10
- package/types/modules/Userinfo/mappings/mappings.d.ts +12 -24
- package/types/modules/Userinfo/scripts/utils.d.ts +2 -2
- package/types/modules/Userinfo/stores/settingsStore.d.ts +4 -4
- package/types/modules/Userinfo/stores/userinfoStore.d.ts +3 -3
- package/types/modules/Userinfo/types/UserAccess.d.ts +1 -1
- package/types/scripts/compareSize.d.ts +4 -4
- package/types/scripts/debounce.d.ts +1 -1
- package/types/scripts/sortQueryAdapters.d.ts +3 -3
- package/types/store/BaseStoreModules/BaseStoreModule.d.ts +6 -6
- package/types/store/new/modules/apiStoreModule/apiStoreModule.d.ts +12 -12
- package/types/store/new/modules/tableStoreModule/tableStoreModule.d.ts +4 -4
- package/types/utils/displayText.d.ts +1 -1
- package/types/validations/config/errors/customZodErrorsHandler.d.ts +1 -1
- package/dist/vidstack-video-DwlbGwN7.js +0 -2
- package/dist/wt-send-message-popup-MbV1uq6H.js +0 -77
- package/dist/wt-start-page-DMXRhA9E.js +0 -86
- 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 {
|
|
16
|
+
import { useVidstackPlayerSize } from '../../composables/useVidstackPlayerSize';
|
|
17
17
|
|
|
18
|
-
|
|
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 {
|
|
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 } =
|
|
39
|
+
const { size } = useVidstackPlayerSize();
|
|
42
40
|
|
|
43
41
|
const props = defineProps<{
|
|
44
42
|
title?: string;
|
|
@@ -25,11 +25,9 @@
|
|
|
25
25
|
</template>
|
|
26
26
|
|
|
27
27
|
<script setup lang="ts">
|
|
28
|
-
import {
|
|
28
|
+
import { useVidstackPlayerSize } from '../../../../../composables/useVidstackPlayerSize';
|
|
29
29
|
|
|
30
|
-
|
|
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
|
|
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
|
|
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 } =
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
}
|
|
@@ -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
|
-
|
|
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 ||
|
|
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 :
|
|
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
|
|
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 {
|
|
59
|
+
import {
|
|
60
|
+
useVidstackSrc,
|
|
61
|
+
type VidstackSrcInput,
|
|
62
|
+
} from './composables/useVidstackSrc';
|
|
61
63
|
|
|
62
64
|
interface Props {
|
|
63
|
-
|
|
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
|
};
|
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
|
-
|
|
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]);
|
package/src/locale/en/en.js
CHANGED
|
@@ -664,6 +664,7 @@ export default deepmerge(
|
|
|
664
664
|
[RelativeDatetimeValue.ThisMonth]: 'This month',
|
|
665
665
|
[RelativeDatetimeValue.Custom]: 'Custom date range',
|
|
666
666
|
},
|
|
667
|
+
andMore: 'and {count} more',
|
|
667
668
|
addFilter: ({ linked }) => {
|
|
668
669
|
return `${linked('reusable.add')} a ${linked(
|
|
669
670
|
'reusable.filter',
|
package/src/locale/es/es.js
CHANGED
|
@@ -652,6 +652,7 @@ export default {
|
|
|
652
652
|
[RelativeDatetimeValue.ThisMonth]: 'Este mes',
|
|
653
653
|
[RelativeDatetimeValue.Custom]: 'Rango de fechas personalizado',
|
|
654
654
|
},
|
|
655
|
+
andMore: 'y {count} más',
|
|
655
656
|
addFilter: ({ linked }) => {
|
|
656
657
|
return `${linked('reusable.add')} un ${linked(
|
|
657
658
|
'reusable.filter',
|
package/src/locale/kz/kz.js
CHANGED
|
@@ -653,6 +653,7 @@ export default {
|
|
|
653
653
|
[RelativeDatetimeValue.ThisMonth]: 'Осы ай',
|
|
654
654
|
[RelativeDatetimeValue.Custom]: 'Жеке күн аралығы',
|
|
655
655
|
},
|
|
656
|
+
andMore: 'және тағы {count}',
|
|
656
657
|
addFilter: ({ linked }) => {
|
|
657
658
|
return `${linked('reusable.add')} ${linked(
|
|
658
659
|
'reusable.filter',
|
package/src/locale/pl/pl.js
CHANGED
|
@@ -653,6 +653,7 @@ export default {
|
|
|
653
653
|
[RelativeDatetimeValue.ThisMonth]: 'Ten miesiąc',
|
|
654
654
|
[RelativeDatetimeValue.Custom]: 'Niestandardowy zakres dat',
|
|
655
655
|
},
|
|
656
|
+
andMore: 'i jeszcze {count}',
|
|
656
657
|
addFilter: ({ linked }) => {
|
|
657
658
|
return `${linked('reusable.add')} ${linked(
|
|
658
659
|
'reusable.filter',
|
package/src/locale/ro/ro.js
CHANGED
|
@@ -658,6 +658,7 @@ export default {
|
|
|
658
658
|
[RelativeDatetimeValue.ThisMonth]: 'Această lună',
|
|
659
659
|
[RelativeDatetimeValue.Custom]: 'Interval personalizat',
|
|
660
660
|
},
|
|
661
|
+
andMore: 'și încă {count}',
|
|
661
662
|
addFilter: ({ linked }) => {
|
|
662
663
|
return `${linked('reusable.add')} un ${linked(
|
|
663
664
|
'reusable.filter',
|
package/src/locale/ru/ru.js
CHANGED
|
@@ -648,6 +648,7 @@ export default {
|
|
|
648
648
|
[RelativeDatetimeValue.ThisMonth]: 'Этот месяц',
|
|
649
649
|
[RelativeDatetimeValue.Custom]: 'Выбранный диапазон дат',
|
|
650
650
|
},
|
|
651
|
+
andMore: 'и ещё {count}',
|
|
651
652
|
addFilter: ({ linked }) => {
|
|
652
653
|
return `${linked('reusable.add')} ${linked(
|
|
653
654
|
'reusable.filter',
|
package/src/locale/uk/uk.js
CHANGED
|
@@ -647,6 +647,7 @@ export default {
|
|
|
647
647
|
[RelativeDatetimeValue.ThisMonth]: 'Цей місяць',
|
|
648
648
|
[RelativeDatetimeValue.Custom]: 'Власний діапазон дат',
|
|
649
649
|
},
|
|
650
|
+
andMore: 'та ще {count}',
|
|
650
651
|
addFilter: ({ linked }) => {
|
|
651
652
|
return `${linked('reusable.add')} ${linked(
|
|
652
653
|
'reusable.filter',
|
package/src/locale/uz/uz.js
CHANGED
|
@@ -657,6 +657,7 @@ export default {
|
|
|
657
657
|
[RelativeDatetimeValue.ThisMonth]: 'Ushbu oy',
|
|
658
658
|
[RelativeDatetimeValue.Custom]: "Boshqa sana oralig'i",
|
|
659
659
|
},
|
|
660
|
+
andMore: 'va yana {count}',
|
|
660
661
|
addFilter: ({ linked }) => {
|
|
661
662
|
return `${linked('reusable.add')} ${linked(
|
|
662
663
|
'reusable.filter',
|
package/src/locale/vi/vi.js
CHANGED
|
@@ -656,6 +656,7 @@ export default {
|
|
|
656
656
|
[RelativeDatetimeValue.ThisMonth]: 'Tháng này',
|
|
657
657
|
[RelativeDatetimeValue.Custom]: 'Phạm vi ngày tùy chỉnh',
|
|
658
658
|
},
|
|
659
|
+
andMore: 'và {count} nữa',
|
|
659
660
|
addFilter: ({ linked }) => {
|
|
660
661
|
return `${linked('reusable.add')} một ${linked(
|
|
661
662
|
'reusable.filter',
|
|
@@ -2,7 +2,7 @@ import type { SuperCompatibleRegleFieldStatus } from '@regle/core';
|
|
|
2
2
|
import { type ComputedRef, computed, type Ref } from 'vue';
|
|
3
3
|
|
|
4
4
|
export type UseFieldValidationParams = {
|
|
5
|
-
field?: Ref<SuperCompatibleRegleFieldStatus>;
|
|
5
|
+
field?: Ref<SuperCompatibleRegleFieldStatus | undefined | null>;
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
export type UseFieldValidationReturn = {
|
|
@@ -14,7 +14,7 @@ export const useFieldValidation = ({
|
|
|
14
14
|
field: fieldRef,
|
|
15
15
|
}: UseFieldValidationParams): UseFieldValidationReturn => {
|
|
16
16
|
const invalid = computed(() => {
|
|
17
|
-
return fieldRef?.value
|
|
17
|
+
return fieldRef?.value?.$error ?? null;
|
|
18
18
|
});
|
|
19
19
|
|
|
20
20
|
const validationText = computed(() => {
|
|
@@ -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<
|
|
19
|
-
customValidators?:
|
|
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:
|
|
30
|
-
|
|
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(
|
|
58
|
+
const invalid = computed(
|
|
59
|
+
() => isValidation.value && !!(v?.value as Validation | undefined)?.$error,
|
|
60
|
+
);
|
|
46
61
|
|
|
47
62
|
const validationText = computed(() => {
|
|
48
63
|
let validationText = '';
|
|
49
|
-
const validation = v?.value;
|
|
64
|
+
const validation = v?.value as Validation | undefined;
|
|
50
65
|
if (validation && isValidation.value && invalid.value) {
|
|
51
66
|
if (validation.required?.$invalid)
|
|
52
67
|
validationText = t('validation.required');
|
|
@@ -24,7 +24,7 @@ export default class CSVExport {
|
|
|
24
24
|
count: 0,
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
constructor(fetchMethod, { filename, delimiter }) {
|
|
27
|
+
constructor(fetchMethod, { filename, delimiter } = {}) {
|
|
28
28
|
if (!fetchMethod) throw new Error('fetch method should be specified!');
|
|
29
29
|
this.fetchMethod = fetchMethod;
|
|
30
30
|
this.filename = filename;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
]"
|
|
8
8
|
:hide-video-display-panel="isPiP || props.hideVideoDisplayPanel"
|
|
9
9
|
:size="isPiP ? ComponentSize.MD : props.size"
|
|
10
|
-
:stream="mainStream"
|
|
10
|
+
:stream="mainStream ?? undefined"
|
|
11
11
|
:static="isPiP || props.static"
|
|
12
12
|
:username="props.username"
|
|
13
13
|
:hide-controls-panel="props.hideControlsPanel"
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<wt-vidstack-player
|
|
117
117
|
:class="`video-call-sender--${innerSize}`"
|
|
118
118
|
:style="pipContentSizeStyle"
|
|
119
|
-
:stream="props['sender:stream']"
|
|
119
|
+
:stream="props['sender:stream'] ?? undefined"
|
|
120
120
|
autoplay
|
|
121
121
|
class="video-call-sender"
|
|
122
122
|
hide-controls-panel
|
|
@@ -148,16 +148,16 @@
|
|
|
148
148
|
:mic:enabled="props['sender:mic:enabled']"
|
|
149
149
|
:recordings="props.recordings"
|
|
150
150
|
:screenshot:loading="props['screenshot:loading']"
|
|
151
|
-
:screenshot:status="props['screenshot:status']"
|
|
151
|
+
:screenshot:status="props['screenshot:status'] ?? null"
|
|
152
152
|
:video:accessed="props['sender:video:accessed']"
|
|
153
153
|
:video:enabled="props['sender:video:enabled']"
|
|
154
|
-
@[VideoCallAction.Recordings]="(
|
|
155
|
-
@[VideoCallAction.Screenshot]="(
|
|
156
|
-
@[VideoCallAction.Mic]="(
|
|
157
|
-
@[VideoCallAction.Video]="(
|
|
158
|
-
@[VideoCallAction.Settings]="(
|
|
159
|
-
@[VideoCallAction.Chat]="(
|
|
160
|
-
@[VideoCallAction.Hangup]="(
|
|
154
|
+
@[VideoCallAction.Recordings]="forwardAction(VideoCallAction.Recordings)"
|
|
155
|
+
@[VideoCallAction.Screenshot]="forwardAction(VideoCallAction.Screenshot)"
|
|
156
|
+
@[VideoCallAction.Mic]="forwardAction(VideoCallAction.Mic)"
|
|
157
|
+
@[VideoCallAction.Video]="forwardAction(VideoCallAction.Video)"
|
|
158
|
+
@[VideoCallAction.Settings]="forwardAction(VideoCallAction.Settings)"
|
|
159
|
+
@[VideoCallAction.Chat]="forwardAction(VideoCallAction.Chat)"
|
|
160
|
+
@[VideoCallAction.Hangup]="forwardAction(VideoCallAction.Hangup)"
|
|
161
161
|
|
|
162
162
|
/>
|
|
163
163
|
</template>
|
|
@@ -284,6 +284,21 @@ const emitKeys = {
|
|
|
284
284
|
[VideoCallAction.Hangup]: `action:${VideoCallAction.Hangup}`,
|
|
285
285
|
} as const;
|
|
286
286
|
|
|
287
|
+
type VideoCallActionKey = keyof typeof emitKeys;
|
|
288
|
+
|
|
289
|
+
/** dynamic `@[action]` handlers cannot be annotated inline */
|
|
290
|
+
const forwardAction =
|
|
291
|
+
(action: VideoCallActionKey) =>
|
|
292
|
+
(payload?: unknown, options?: ResultCallbacks) =>
|
|
293
|
+
// the per-action emit overloads don't unify over a computed key
|
|
294
|
+
(
|
|
295
|
+
emit as (
|
|
296
|
+
e: (typeof emitKeys)[VideoCallActionKey],
|
|
297
|
+
payload?: unknown,
|
|
298
|
+
options?: ResultCallbacks,
|
|
299
|
+
) => void
|
|
300
|
+
)(emitKeys[action], payload, options);
|
|
301
|
+
|
|
287
302
|
const { t } = useI18n();
|
|
288
303
|
|
|
289
304
|
const playerRef = ref<InstanceType<typeof WtVidstackPlayer> | null>(null);
|
|
@@ -467,17 +482,20 @@ onBeforeUnmount(() => {
|
|
|
467
482
|
stopHoldTimer();
|
|
468
483
|
});
|
|
469
484
|
|
|
470
|
-
const receiverVideoMutedIconSizes
|
|
485
|
+
const receiverVideoMutedIconSizes: Partial<
|
|
486
|
+
Record<ComponentSize, ComponentSize>
|
|
487
|
+
> = {
|
|
471
488
|
[ComponentSize.SM]: ComponentSize.MD,
|
|
472
489
|
[ComponentSize.MD]: ComponentSize.LG,
|
|
473
490
|
[ComponentSize.LG]: ComponentSize.XXL,
|
|
474
491
|
};
|
|
475
492
|
|
|
476
|
-
const senderVideoMutedIconSizes =
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
493
|
+
const senderVideoMutedIconSizes: Partial<Record<ComponentSize, ComponentSize>> =
|
|
494
|
+
{
|
|
495
|
+
[ComponentSize.SM]: ComponentSize.MD,
|
|
496
|
+
[ComponentSize.MD]: ComponentSize['4XL'],
|
|
497
|
+
[ComponentSize.LG]: ComponentSize['8XL'],
|
|
498
|
+
};
|
|
481
499
|
</script>
|
|
482
500
|
|
|
483
501
|
<style scoped>
|
|
@@ -6,7 +6,7 @@ export const useDeleteConfirmationPopup = () => {
|
|
|
6
6
|
const deleteCount = ref(0);
|
|
7
7
|
const deleteCallback = ref(() => {});
|
|
8
8
|
|
|
9
|
-
function askDeleteConfirmation({ deleted, callback }) {
|
|
9
|
+
function askDeleteConfirmation({ deleted = undefined, callback }) {
|
|
10
10
|
if (Array.isArray(deleted)) deleteCount.value = deleted.length;
|
|
11
11
|
else deleteCount.value = 1;
|
|
12
12
|
isVisible.value = true;
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
</template>
|
|
141
141
|
|
|
142
142
|
<script setup lang="ts">
|
|
143
|
-
import {
|
|
143
|
+
import { ref, toRefs } from 'vue';
|
|
144
144
|
import { useI18n } from 'vue-i18n';
|
|
145
145
|
|
|
146
146
|
import useUploadCsv from '../composable/useUploadCsv';
|
|
@@ -153,7 +153,7 @@ interface CharsetOption {
|
|
|
153
153
|
|
|
154
154
|
interface Props {
|
|
155
155
|
file: File | null;
|
|
156
|
-
mappingFields:
|
|
156
|
+
mappingFields: CsvMappingField[];
|
|
157
157
|
addBulkItems?: (items: unknown[]) => unknown | Promise<unknown>;
|
|
158
158
|
handlingMode?: string;
|
|
159
159
|
fileUploadHandler?: () => unknown | Promise<unknown>;
|