@webitel/ui-sdk 25.12.40 → 25.12.42

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 (34) hide show
  1. package/dist/{install-DGNb9nVr.js → install-Bfl8ofha.js} +63 -58
  2. package/dist/{plyr-ByorDhcr.js → plyr-Df5cOiTy.js} +1 -1
  3. package/dist/ui-sdk.css +1 -1
  4. package/dist/ui-sdk.js +1 -1
  5. package/dist/ui-sdk.umd.cjs +541 -541
  6. package/dist/{vidstack-Bq6c3Bam-D5KBuWRZ.js → vidstack-Bq6c3Bam-DVCWftqH.js} +2 -2
  7. package/dist/{vidstack-D2pY00kU-Ws1Jvjkb.js → vidstack-D2pY00kU-DTpKOJ6o.js} +2 -2
  8. package/dist/{vidstack-DDXt6fpN-CMGNnPQV.js → vidstack-DDXt6fpN-aIclxRPV.js} +1 -1
  9. package/dist/{vidstack-D_-9AA6_-DLAWXBQ4.js → vidstack-D_-9AA6_-D1N8-Xl9.js} +1 -1
  10. package/dist/{vidstack-DqAw8m9J-BPmv6sOh.js → vidstack-DqAw8m9J-CW-yfsyI.js} +1 -1
  11. package/dist/{vidstack-audio-BIY4ys0T.js → vidstack-audio-cY3mT_Ph.js} +2 -2
  12. package/dist/{vidstack-dash-HCChLXEY.js → vidstack-dash-DoiwnJj9.js} +3 -3
  13. package/dist/{vidstack-google-cast-Be_1pOC-.js → vidstack-google-cast-BTmWbvmy.js} +3 -3
  14. package/dist/{vidstack-hls-BbnSLJID.js → vidstack-hls-BXZ0v6qf.js} +3 -3
  15. package/dist/{vidstack-video-Dxw2U6Fe.js → vidstack-video-DEuCzb_1.js} +2 -2
  16. package/dist/{vidstack-vimeo-G_rdpj4P.js → vidstack-vimeo-DVKRt2s2.js} +3 -3
  17. package/dist/{vidstack-youtube-Csh5czsD.js → vidstack-youtube-nXbTkV-N.js} +2 -2
  18. package/dist/{vuex.esm-bundler-VVqVSpHV.js → vuex.esm-bundler-CIjQVM6w.js} +1 -1
  19. package/package.json +2 -2
  20. package/src/components/wt-vidstack-player/components/buttons/play-button.vue +3 -1
  21. package/src/components/wt-vidstack-player/components/controls-group/controls-group.vue +3 -1
  22. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +6 -4
  23. package/src/components/wt-vidstack-player/components/panels/media-controls-panel/components/buttons/play-button.vue +3 -1
  24. package/src/components/wt-vidstack-player/components/panels/media-controls-panel/media-controls-panel.vue +4 -0
  25. package/src/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue +3 -2
  26. package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +5 -10
  27. package/src/components/wt-vidstack-player/types/WtVidstackPlayerSizeProvider.ts +9 -0
  28. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +28 -7
  29. package/src/modules/CallSession/modules/VideoCall/video-call.vue +84 -73
  30. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +2 -1
  31. package/types/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue.d.ts +1 -1
  32. package/types/components/wt-vidstack-player/types/WtVidstackPlayerSizeProvider.d.ts +7 -0
  33. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +2 -1
  34. package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +21 -3
@@ -3,8 +3,10 @@
3
3
  :stream="mainStream"
4
4
  :static="props.static"
5
5
  :size="props.size"
6
- :class="`video-call-position--${props.position}`"
6
+ :class="[!props.static && `video-call-position--${props.position}`]"
7
7
  :username="props.username"
8
+ :resizable="props.resizable"
9
+ :hide-header="props.hideHeader"
8
10
  class="video-call"
9
11
  hide-background
10
12
  autoplay
@@ -12,59 +14,55 @@
12
14
  @change-size="(payload) => emit('change-size', payload)"
13
15
  >
14
16
  <template #content="{ size: innerSize }">
17
+ <slot name="content" :size="innerSize" />
18
+
19
+ <slot name="overlay" :size="innerSize">
20
+ <div class="video-call-overlay"></div>
21
+ </slot>
22
+
15
23
  <div
16
- :class="`video-call-content--${innerSize}`"
17
- class="video-call-content"
24
+ :class="`video-call-content-wrapper--${innerSize}`"
25
+ class="video-call-content-wrapper"
18
26
  >
19
- <template v-if="props['receiver:stream'] && !props['sender:video:enabled']">
27
+ <screenshot-box
28
+ :src="props['screenshot:src']"
29
+ :size="innerSize"
30
+ @zoom="emit(`action:${VideoCallAction.ZoomScreenshot}`)"
31
+ @close="emit(`action:${VideoCallAction.CloseScreenshot}`)"
32
+ />
33
+
34
+ <template v-if="props['receiver:stream'] && !props['receiver:video:enabled']">
20
35
  <div
21
- :class="`video-call-sender--${innerSize}`"
22
- class="video-call-sender video-call-sender--muted"
36
+ :class="`video-call-receiver--${innerSize}`"
37
+ class="video-call-receiver video-call-receiver--muted"
23
38
  >
24
- <wt-icon :size="receiverVideoMutedIconSizes[innerSize]" icon="video-cam-off--filled" />
39
+ <wt-icon :size="senderVideoMutedIconSizes[innerSize]" icon="video-cam-off--filled" />
25
40
  </div>
26
41
  </template>
27
42
 
28
- <div class="video-call-content-wrapper">
29
- <screenshot-box
30
- :src="props['screenshot:src']"
31
- :size="innerSize"
32
- @zoom="emit(`action:${VideoCallAction.ZoomScreenshot}`)"
33
- @close="emit(`action:${VideoCallAction.CloseScreenshot}`)"
43
+ <template v-else-if="props['receiver:stream']">
44
+ <wt-vidstack-player
45
+ :stream="props['receiver:stream']"
46
+ :resizable="false"
47
+ :class="`video-call-receiver--${innerSize}`"
48
+ hide-header
49
+ hide-controls-panel
50
+ static
51
+ autoplay
52
+ muted
53
+ class="video-call-receiver"
34
54
  />
55
+ </template>
56
+ </div>
35
57
 
36
- <template v-if="props['receiver:stream'] && !props['receiver:video:enabled']">
37
- <div
38
- :class="`video-call-receiver--${innerSize}`"
39
- class="video-call-receiver video-call-receiver--muted"
40
- >
41
- <wt-icon :size="senderVideoMutedIconSizes[innerSize]" icon="video-cam-off--filled" />
42
- </div>
43
- </template>
44
-
45
- <template v-else-if="props['receiver:stream']">
46
- <wt-vidstack-player
47
- :stream="props['receiver:stream']"
48
- :resizable="false"
49
- :class="`video-call-receiver--${innerSize}`"
50
- hide-display-panel
51
- static
52
- autoplay
53
- muted
54
- class="video-call-receiver"
55
- />
56
- </template>
57
- </div>
58
-
59
- <div
60
- :class="`video-call__indicator--${innerSize}`"
61
- class="video-call__indicator"
62
- >
63
- <recording-indicator
64
- v-if="props.recordings"
65
- :recording="props.recordings"
66
- />
67
- </div>
58
+ <div
59
+ :class="`video-call__indicator--${innerSize}`"
60
+ class="video-call__indicator"
61
+ >
62
+ <recording-indicator
63
+ v-if="props.recordings"
64
+ :recording="props.recordings"
65
+ />
68
66
  </div>
69
67
  </template>
70
68
 
@@ -125,8 +123,10 @@ const props = withDefaults(defineProps<{
125
123
  recordings?: boolean;
126
124
 
127
125
  static?: boolean;
128
- position?: 'left-bottom' | 'right-bottom';
126
+ position?: 'left-bottom' | 'right-bottom' | 'center';
129
127
  size?: ComponentSize
128
+ hideHeader?: boolean
129
+ resizable?: boolean;
130
130
 
131
131
  actions: VideoCallAction[];
132
132
  username: string;
@@ -153,12 +153,6 @@ const mainStream = computed(() => {
153
153
  return props['receiver:stream'] || props['sender:stream'];
154
154
  })
155
155
 
156
- const receiverVideoMutedIconSizes = {
157
- [ComponentSize.SM]: ComponentSize.MD,
158
- [ComponentSize.MD]: ComponentSize.LG,
159
- [ComponentSize.LG]: ComponentSize.XXL,
160
- }
161
-
162
156
  const senderVideoMutedIconSizes = {
163
157
  [ComponentSize.SM]: ComponentSize.MD,
164
158
  [ComponentSize.MD]: ComponentSize['4XL'],
@@ -168,6 +162,8 @@ const senderVideoMutedIconSizes = {
168
162
 
169
163
  <style lang="scss" scoped>
170
164
  .video-call {
165
+ flex: 0 0 auto;
166
+
171
167
  &-position {
172
168
  &--left-bottom {
173
169
  &.wt-vidstack-player {
@@ -180,8 +176,6 @@ const senderVideoMutedIconSizes = {
180
176
  top: unset;
181
177
  left: var(--spacing-sm);
182
178
  bottom: var(--spacing-sm);
183
- max-width: var(--p-player-wrapper-md-width);
184
- max-height: var(--p-player-wrapper-md-height);
185
179
  }
186
180
  }
187
181
  }
@@ -197,11 +191,30 @@ const senderVideoMutedIconSizes = {
197
191
  top: unset;
198
192
  right: var(--spacing-sm);
199
193
  bottom: var(--spacing-sm);
200
- max-width: var(--p-player-wrapper-md-width);
201
- max-height: var(--p-player-wrapper-md-height);
202
194
  }
203
195
  }
204
196
  }
197
+
198
+ &--center {
199
+ &.wt-vidstack-player {
200
+ top: 50%;
201
+ left: 50%;
202
+ right: unset;
203
+ bottom: unset;
204
+ transform: translate(-50%, -50%);
205
+ }
206
+ }
207
+ }
208
+
209
+ &-overlay {
210
+ width: 100%;
211
+ height: 100%;
212
+ display: block;
213
+ position: absolute;
214
+ left: 0;
215
+ top: 0;
216
+ z-index: 0;
217
+ background: var(--p-player-wrapper-background);
205
218
  }
206
219
 
207
220
  &-content {
@@ -220,27 +233,24 @@ const senderVideoMutedIconSizes = {
220
233
  }
221
234
 
222
235
  &-wrapper {
236
+ position: absolute;
223
237
  display: flex;
224
238
  flex-direction: column;
225
239
  gap: var(--p-player-control-bar-sm-gap);
226
- }
227
- }
228
240
 
229
- &-sender {
230
- position: absolute;
231
- left: 0;
232
- top: 0;
233
- width: 100%;
234
- height: 100%;
235
- display: flex;
236
- align-items: center;
237
- justify-content: center;
238
- z-index: -1;
239
- background: var(--p-player-wrapper-background);
241
+ &--sm {
242
+ left: var(--p-player-counter-position-padding-sm);
243
+ bottom: calc(var(--p-player-counter-position-padding-sm) + var(--p-player-control-bar-sm-height));
244
+ }
240
245
 
241
- &--sm {
242
- &.video-call-sender--muted {
243
- padding-bottom: var(--p-player-control-bar-sm-height);
246
+ &--md {
247
+ left: var(--p-player-counter-position-padding-md);
248
+ bottom: var(--p-player-counter-position-padding-md);
249
+ }
250
+
251
+ &--lg {
252
+ left: var(--p-player-counter-position-padding-lg);
253
+ bottom: var(--p-player-counter-position-padding-lg);
244
254
  }
245
255
  }
246
256
  }
@@ -318,7 +328,8 @@ const senderVideoMutedIconSizes = {
318
328
  justify-content: flex-end;
319
329
 
320
330
  &--sm {
321
- position: relative;
331
+ right: var(--p-player-counter-position-padding-sm);
332
+ bottom: calc(var(--p-player-counter-position-padding-sm) + var(--p-player-control-bar-sm-height));
322
333
  }
323
334
 
324
335
  &--md {
@@ -2,7 +2,8 @@ type __VLS_Props = {
2
2
  title?: string;
3
3
  username?: string;
4
4
  closable?: boolean;
5
- hideDisplayPanel?: boolean;
5
+ hideHeader?: boolean;
6
+ hideControlsPanel?: boolean;
6
7
  };
7
8
  declare var __VLS_17: {}, __VLS_19: {};
8
9
  type __VLS_Slots = {} & {
@@ -1,4 +1,4 @@
1
- import { ScreenSharingSession, ScreenshotStatus } from "../../../types";
1
+ import { ScreenSharingSession, ScreenshotStatus } from "../../../../../modules/CallSession/types";
2
2
  interface Props {
3
3
  session: ScreenSharingSession;
4
4
  screenshotStatus: ScreenshotStatus | null;
@@ -0,0 +1,7 @@
1
+ import type { Ref } from 'vue';
2
+ import { ComponentSize } from '../../../enums';
3
+ export interface WtVidstackPlayerSizeProvider {
4
+ size: Ref<ComponentSize>;
5
+ fullscreen: Ref<boolean>;
6
+ changeSize: (value: ComponentSize) => void;
7
+ }
@@ -16,7 +16,8 @@ interface Props {
16
16
  static?: boolean;
17
17
  stream?: MediaStream;
18
18
  size?: ComponentSize;
19
- hideDisplayPanel?: boolean;
19
+ hideHeader?: boolean;
20
+ hideControlsPanel?: boolean;
20
21
  hideBackground?: boolean;
21
22
  }
22
23
  declare var __VLS_24: {
@@ -15,18 +15,36 @@ type __VLS_Props = {
15
15
  'screenshot:src'?: string;
16
16
  recordings?: boolean;
17
17
  static?: boolean;
18
- position?: 'left-bottom' | 'right-bottom';
18
+ position?: 'left-bottom' | 'right-bottom' | 'center';
19
19
  size?: ComponentSize;
20
+ hideHeader?: boolean;
21
+ resizable?: boolean;
20
22
  actions: VideoCallAction[];
21
23
  username: string;
22
24
  };
23
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ declare var __VLS_10: {
26
+ size: ComponentSize;
27
+ }, __VLS_12: {
28
+ size: ComponentSize;
29
+ };
30
+ type __VLS_Slots = {} & {
31
+ content?: (props: typeof __VLS_10) => any;
32
+ } & {
33
+ overlay?: (props: typeof __VLS_12) => any;
34
+ };
35
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
36
  [x: string]: any;
25
37
  } & {
26
38
  [x: string]: any;
27
39
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
28
40
  [x: `on${Capitalize<any>}`]: (...args: any) => any;
29
41
  }>, {
30
- position: "left-bottom" | "right-bottom";
42
+ position: "left-bottom" | "right-bottom" | "center";
31
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
32
45
  export default _default;
46
+ type __VLS_WithSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };