@webitel/ui-sdk 26.6.118 → 26.6.120
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/{components-CtLZTAqX.js → components-DkD3WP0T.js} +7 -7
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +4 -3
- package/dist/ui-sdk.umd.cjs +234 -228
- package/dist/{wt-button-dC4nOW56.js → wt-button-DwAda_g4.js} +1 -1
- package/dist/{wt-chat-emoji-IgDi1RWV.js → wt-chat-emoji-CgJ-4Oal.js} +3 -3
- package/dist/{wt-display-chip-items-Cl3pyvc1.js → wt-display-chip-items-Bqo0iQgb.js} +1 -1
- package/dist/{wt-icon-y89gRcOs.js → wt-icon-DvONu3WD.js} +1 -0
- package/dist/{wt-icon-btn-DYjjSl-C.js → wt-icon-btn-Behnq_SS.js} +1 -1
- package/dist/{wt-notifications-bar-DhJxMjNB.js → wt-notifications-bar-CKEWt08-.js} +1 -1
- package/dist/{wt-player-Bbirdlj9.js → wt-player-zWCh3Ozp.js} +2 -2
- package/dist/{wt-send-message-popup-C9NwnoOr.js → wt-send-message-popup-Dz2RrnWO.js} +1 -1
- package/dist/{wt-toast-DXrSMdRm.js → wt-toast-LQxOxrff.js} +1 -1
- package/dist/{wt-tree-table-BRokvhkB.js → wt-tree-table-C-UiFrTF.js} +1 -1
- package/dist/{wt-type-extension-value-input-DdGlEVxi.js → wt-type-extension-value-input-CLxPbjkA.js} +1 -1
- package/dist/{wt-vidstack-player-qtPWzeNH.js → wt-vidstack-player-CpfJc5li.js} +85 -76
- package/package.json +1 -1
- package/src/assets/icons/sprite/index.ts +2 -0
- package/src/assets/icons/sprite/open-pip.svg +5 -0
- package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +4 -0
- package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +2 -0
- package/src/components/wt-vidstack-player/wt-vidstack-player.vue +4 -0
- package/src/modules/CallSession/modules/VideoCall/composables/useDocumentPiP/useDocumentPiP.ts +3 -3
- package/src/modules/CallSession/modules/VideoCall/video-call.vue +10 -30
- package/src/plugins/primevue/theme/components/tooltip/tooltip.js +2 -1
- package/types/.tsbuildinfo +1 -1
- package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +5 -3
- package/types/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue.d.ts +3 -1
- package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +6 -4
- package/types/modules/CallSession/modules/VideoCall/composables/useDocumentPiP/useDocumentPiP.d.ts +1 -1
- package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +4 -4
package/src/modules/CallSession/modules/VideoCall/composables/useDocumentPiP/useDocumentPiP.ts
CHANGED
|
@@ -14,7 +14,7 @@ export function useDocumentPiP(
|
|
|
14
14
|
getElement: () => HTMLElement | null | undefined,
|
|
15
15
|
) {
|
|
16
16
|
const isPiP = ref(false);
|
|
17
|
-
const
|
|
17
|
+
const isPiPSupported = computed(() => 'documentPictureInPicture' in window);
|
|
18
18
|
|
|
19
19
|
let pipWindow: Window | null = null;
|
|
20
20
|
let movedEl: HTMLElement | null = null;
|
|
@@ -85,7 +85,7 @@ export function useDocumentPiP(
|
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
const enterPiP = async (width = 480, height = 320) => {
|
|
88
|
-
if (!
|
|
88
|
+
if (!isPiPSupported.value || isPiP.value || isRequestWindowPending) return;
|
|
89
89
|
|
|
90
90
|
const el = getElement();
|
|
91
91
|
if (!el) return;
|
|
@@ -189,7 +189,7 @@ export function useDocumentPiP(
|
|
|
189
189
|
|
|
190
190
|
return {
|
|
191
191
|
isPiP,
|
|
192
|
-
|
|
192
|
+
isPiPSupported,
|
|
193
193
|
enterPiP,
|
|
194
194
|
exitPiP,
|
|
195
195
|
armFirstGestureResume,
|
|
@@ -17,6 +17,14 @@
|
|
|
17
17
|
hide-background
|
|
18
18
|
@change-size="(payload) => emit('change-size', payload)"
|
|
19
19
|
>
|
|
20
|
+
<template v-if="isPiPSupported && isPipMode" #display-panel-actions>
|
|
21
|
+
<wt-icon-btn
|
|
22
|
+
color="on-dark"
|
|
23
|
+
icon="open-pip"
|
|
24
|
+
@click="enterPiP()"
|
|
25
|
+
/>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
20
28
|
<template v-if="props['receiver:mic:enabled'] === false || props.hideAvatar" #avatar>
|
|
21
29
|
<wt-icon
|
|
22
30
|
v-if="props['receiver:mic:enabled'] === false"
|
|
@@ -163,7 +171,7 @@
|
|
|
163
171
|
import { WtVidstackPlayer } from '@webitel/ui-sdk/components';
|
|
164
172
|
import { computed, isRef, onBeforeUnmount, type Ref, ref, watch } from 'vue';
|
|
165
173
|
import { useI18n } from 'vue-i18n';
|
|
166
|
-
import { WtIcon } from '../../../../components';
|
|
174
|
+
import { WtIcon, WtIconBtn } from '../../../../components';
|
|
167
175
|
import {
|
|
168
176
|
RecordingIndicator,
|
|
169
177
|
ScreenshotBox,
|
|
@@ -292,7 +300,7 @@ const getVideoCallPlayerHostElement = (): HTMLElement | null => {
|
|
|
292
300
|
return exposedElement ?? inst.$el ?? null;
|
|
293
301
|
};
|
|
294
302
|
|
|
295
|
-
const { isPiP, enterPiP, onPiPResize } = useDocumentPiP(
|
|
303
|
+
const { isPiP, isPiPSupported, enterPiP, onPiPResize } = useDocumentPiP(
|
|
296
304
|
getVideoCallPlayerHostElement,
|
|
297
305
|
);
|
|
298
306
|
|
|
@@ -455,36 +463,8 @@ watch(
|
|
|
455
463
|
},
|
|
456
464
|
);
|
|
457
465
|
|
|
458
|
-
/**
|
|
459
|
-
* @author @Oleksandr Palionnyi
|
|
460
|
-
*
|
|
461
|
-
* [WTEL-9414](https://webitel.atlassian.net/browse/WTEL-9414)
|
|
462
|
-
*
|
|
463
|
-
* Document PiP: call `requestWindow()` only when `mainStream` and a usable player host exist.
|
|
464
|
-
* `flush: 'post'` runs after DOM updates so Vidstack / WC upgrade can finish before we read `rootEl`.
|
|
465
|
-
* Stop the watcher only once `enterPiP` succeeds (`isPiP`), so gesture/API failures can retry on later ticks.
|
|
466
|
-
*/
|
|
467
|
-
const stopAutoDocumentPiP = watch(
|
|
468
|
-
[
|
|
469
|
-
mainStream,
|
|
470
|
-
playerRef,
|
|
471
|
-
],
|
|
472
|
-
async () => {
|
|
473
|
-
if (!props.isPipMode) return;
|
|
474
|
-
if (!mainStream.value || !playerRef.value || isPiP.value) return;
|
|
475
|
-
if (!getVideoCallPlayerHostElement()) return;
|
|
476
|
-
await enterPiP();
|
|
477
|
-
if (isPiP.value) stopAutoDocumentPiP();
|
|
478
|
-
},
|
|
479
|
-
{
|
|
480
|
-
flush: 'post',
|
|
481
|
-
immediate: true,
|
|
482
|
-
},
|
|
483
|
-
);
|
|
484
|
-
|
|
485
466
|
onBeforeUnmount(() => {
|
|
486
467
|
stopHoldTimer();
|
|
487
|
-
stopAutoDocumentPiP();
|
|
488
468
|
});
|
|
489
469
|
|
|
490
470
|
const receiverVideoMutedIconSizes = {
|
|
@@ -14,7 +14,8 @@ const tooltip = {
|
|
|
14
14
|
typo: WtTypography.Body2,
|
|
15
15
|
})}
|
|
16
16
|
white-space: pre-line;
|
|
17
|
-
word-break:
|
|
17
|
+
word-break: normal;
|
|
18
|
+
overflow-wrap: break-word;
|
|
18
19
|
background: ${dt('tooltip.background')};
|
|
19
20
|
color: ${dt('tooltip.color')};
|
|
20
21
|
padding: ${dt('tooltip.padding')};
|