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