@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.
Files changed (31) hide show
  1. package/dist/{components-CtLZTAqX.js → components-DkD3WP0T.js} +7 -7
  2. package/dist/ui-sdk.css +1 -1
  3. package/dist/ui-sdk.js +4 -3
  4. package/dist/ui-sdk.umd.cjs +234 -228
  5. package/dist/{wt-button-dC4nOW56.js → wt-button-DwAda_g4.js} +1 -1
  6. package/dist/{wt-chat-emoji-IgDi1RWV.js → wt-chat-emoji-CgJ-4Oal.js} +3 -3
  7. package/dist/{wt-display-chip-items-Cl3pyvc1.js → wt-display-chip-items-Bqo0iQgb.js} +1 -1
  8. package/dist/{wt-icon-y89gRcOs.js → wt-icon-DvONu3WD.js} +1 -0
  9. package/dist/{wt-icon-btn-DYjjSl-C.js → wt-icon-btn-Behnq_SS.js} +1 -1
  10. package/dist/{wt-notifications-bar-DhJxMjNB.js → wt-notifications-bar-CKEWt08-.js} +1 -1
  11. package/dist/{wt-player-Bbirdlj9.js → wt-player-zWCh3Ozp.js} +2 -2
  12. package/dist/{wt-send-message-popup-C9NwnoOr.js → wt-send-message-popup-Dz2RrnWO.js} +1 -1
  13. package/dist/{wt-toast-DXrSMdRm.js → wt-toast-LQxOxrff.js} +1 -1
  14. package/dist/{wt-tree-table-BRokvhkB.js → wt-tree-table-C-UiFrTF.js} +1 -1
  15. package/dist/{wt-type-extension-value-input-DdGlEVxi.js → wt-type-extension-value-input-CLxPbjkA.js} +1 -1
  16. package/dist/{wt-vidstack-player-qtPWzeNH.js → wt-vidstack-player-CpfJc5li.js} +85 -76
  17. package/package.json +1 -1
  18. package/src/assets/icons/sprite/index.ts +2 -0
  19. package/src/assets/icons/sprite/open-pip.svg +5 -0
  20. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +4 -0
  21. package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +2 -0
  22. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +4 -0
  23. package/src/modules/CallSession/modules/VideoCall/composables/useDocumentPiP/useDocumentPiP.ts +3 -3
  24. package/src/modules/CallSession/modules/VideoCall/video-call.vue +10 -30
  25. package/src/plugins/primevue/theme/components/tooltip/tooltip.js +2 -1
  26. package/types/.tsbuildinfo +1 -1
  27. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +5 -3
  28. package/types/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue.d.ts +3 -1
  29. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +6 -4
  30. package/types/modules/CallSession/modules/VideoCall/composables/useDocumentPiP/useDocumentPiP.d.ts +1 -1
  31. package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +4 -4
@@ -14,7 +14,7 @@ export function useDocumentPiP(
14
14
  getElement: () => HTMLElement | null | undefined,
15
15
  ) {
16
16
  const isPiP = ref(false);
17
- const isSupported = computed(() => 'documentPictureInPicture' in window);
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 (!isSupported.value || isPiP.value || isRequestWindowPending) return;
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
- isSupported,
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: break-word;
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')};