@webitel/ui-sdk 25.12.27 → 25.12.28

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 (62) hide show
  1. package/dist/{install-A9G4M7-6.js → install-Bqlm16sb.js} +8558 -8653
  2. package/dist/{plyr-dI1qsIWm.js → plyr-Br33nnwi.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 +227 -228
  6. package/dist/{vidstack-Bq6c3Bam-Bpshd13A.js → vidstack-Bq6c3Bam-CxzFv3Ko.js} +2 -2
  7. package/dist/{vidstack-D2pY00kU-DknwOKzI.js → vidstack-D2pY00kU-DcpelJcf.js} +2 -2
  8. package/dist/{vidstack-DDXt6fpN-2JcEs0WE.js → vidstack-DDXt6fpN-Cg0bEHId.js} +1 -1
  9. package/dist/{vidstack-D_-9AA6_-ltFyEXo5.js → vidstack-D_-9AA6_-bnYaKyO1.js} +1 -1
  10. package/dist/{vidstack-DqAw8m9J-CL4FNO5F.js → vidstack-DqAw8m9J-DdJYKLyM.js} +1 -1
  11. package/dist/{vidstack-audio-CnLJOsQb.js → vidstack-audio-DduGjEcQ.js} +2 -2
  12. package/dist/{vidstack-dash-DE9OxUbu.js → vidstack-dash-CKzRjcLs.js} +3 -3
  13. package/dist/{vidstack-google-cast-DUF-rvcM.js → vidstack-google-cast-BiPwnnpT.js} +3 -3
  14. package/dist/{vidstack-hls-B5QgAztZ.js → vidstack-hls-OkFNv20L.js} +3 -3
  15. package/dist/{vidstack-video-DK5nUu2T.js → vidstack-video-CB59bElo.js} +2 -2
  16. package/dist/{vidstack-vimeo-BPIRVQ20.js → vidstack-vimeo-NoVxwrcD.js} +3 -3
  17. package/dist/{vidstack-youtube-BBGQ_xiA.js → vidstack-youtube-C1voQhH8.js} +2 -2
  18. package/dist/{vuex.esm-bundler-07IDl-KX.js → vuex.esm-bundler-C04hKLcf.js} +1 -1
  19. package/package.json +2 -2
  20. package/src/components/wt-vidstack-player/components/{panels/media-control-panel/components/buttons → buttons}/fullscreen-button.vue +1 -1
  21. package/src/components/wt-vidstack-player/components/{panels/media-control-panel/media-control-panel.vue → controls-group/controls-group.vue} +15 -12
  22. package/src/components/wt-vidstack-player/components/index.ts +6 -0
  23. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +11 -36
  24. package/src/components/wt-vidstack-player/components/panels/media-controls-panel/components/buttons/fullscreen-button.vue +40 -0
  25. package/src/components/wt-vidstack-player/components/panels/media-controls-panel/components/buttons/play-button.vue +42 -0
  26. package/src/components/wt-vidstack-player/components/panels/{media-control-panel → media-controls-panel}/components/sliders/time-slider.vue +1 -1
  27. package/src/components/wt-vidstack-player/components/panels/media-controls-panel/media-controls-panel.vue +20 -0
  28. package/src/components/wt-vidstack-player/components/panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue +89 -0
  29. package/src/components/wt-vidstack-player/components/panels/video-call-controls-panel/video-call-controls-panel.vue +134 -0
  30. package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +1 -1
  31. package/src/components/wt-vidstack-player/components/recording-indicator/recording-indicator.vue +64 -0
  32. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +23 -40
  33. package/src/modules/CallSession/index.ts +4 -0
  34. package/src/modules/CallSession/modules/ScreenSharing/screen-sharing.vue +85 -0
  35. package/src/modules/CallSession/modules/VideoCall/video-call.vue +165 -0
  36. package/src/modules/CallSession/types/ScreenSharingSession.ts +7 -0
  37. package/src/modules/CallSession/types/index.ts +4 -0
  38. package/src/plugins/primevue/theme/extend/player/player.js +2 -3
  39. package/types/components/wt-vidstack-player/components/controls-group/controls-group.vue.d.ts +12 -0
  40. package/types/components/wt-vidstack-player/components/index.d.ts +6 -0
  41. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +17 -11
  42. package/types/components/wt-vidstack-player/components/panels/media-controls-panel/components/buttons/fullscreen-button.vue.d.ts +6 -0
  43. package/types/components/wt-vidstack-player/components/panels/media-controls-panel/media-controls-panel.vue.d.ts +2 -0
  44. package/types/components/wt-vidstack-player/components/panels/{screen-sharing-control-panel/screen-sharing-control-panel.vue.d.ts → screen-sharing-controls-panel/screen-sharing-controls-panel.vue.d.ts} +2 -3
  45. package/types/components/wt-vidstack-player/components/panels/video-call-controls-panel/video-call-controls-panel.vue.d.ts +18 -0
  46. package/types/components/wt-vidstack-player/components/recording-indicator/recording-indicator.vue.d.ts +2 -0
  47. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +19 -15
  48. package/types/modules/CallSession/index.d.ts +3 -0
  49. package/types/modules/CallSession/modules/ScreenSharing/screen-sharing.vue.d.ts +16 -0
  50. package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +20 -0
  51. package/types/modules/CallSession/types/ScreenSharingSession.d.ts +7 -0
  52. package/types/modules/CallSession/types/index.d.ts +3 -0
  53. package/src/components/wt-vidstack-player/components/panels/screen-sharing-control-panel/screen-sharing-control-panel.vue +0 -195
  54. /package/src/components/wt-vidstack-player/components/{panels/media-control-panel/components/buttons → buttons}/play-button.vue +0 -0
  55. /package/src/components/wt-vidstack-player/components/panels/{media-control-panel → media-controls-panel}/components/time-group.vue +0 -0
  56. /package/src/{components/wt-vidstack-player → modules/CallSession}/types/ScreenshotStatus.ts +0 -0
  57. /package/types/components/wt-vidstack-player/components/{panels/media-control-panel/components/buttons → buttons}/fullscreen-button.vue.d.ts +0 -0
  58. /package/types/components/wt-vidstack-player/components/{panels/media-control-panel/components/buttons → buttons}/play-button.vue.d.ts +0 -0
  59. /package/types/components/wt-vidstack-player/components/panels/{media-control-panel/components/sliders/time-slider.vue.d.ts → media-controls-panel/components/buttons/play-button.vue.d.ts} +0 -0
  60. /package/types/components/wt-vidstack-player/components/panels/{media-control-panel/components/time-group.vue.d.ts → media-controls-panel/components/sliders/time-slider.vue.d.ts} +0 -0
  61. /package/types/components/wt-vidstack-player/components/panels/{media-control-panel/media-control-panel.vue.d.ts → media-controls-panel/components/time-group.vue.d.ts} +0 -0
  62. /package/types/{components/wt-vidstack-player → modules/CallSession}/types/ScreenshotStatus.d.ts +0 -0
@@ -1,24 +1,30 @@
1
- import { ScreenshotStatus } from "../../types/ScreenshotStatus";
2
- import { WtVidstakPlayerControlsMode } from "../../types/WtVidstackPlayerControlsMode";
3
- import { WtVidstackPlayerSession } from "../../types/WtVidstackPlayerSession";
4
1
  type __VLS_Props = {
5
2
  title?: string;
6
3
  username?: string;
7
4
  closable?: boolean;
8
- mode: WtVidstakPlayerControlsMode;
9
- session: WtVidstackPlayerSession;
10
- screenshotStatus: ScreenshotStatus;
11
- screenshotIsLoading: boolean;
5
+ hideDisplayPanel?: boolean;
12
6
  };
13
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ declare var __VLS_16: {}, __VLS_18: {};
8
+ type __VLS_Slots = {} & {
9
+ content?: (props: typeof __VLS_16) => any;
10
+ } & {
11
+ 'controls-panel'?: (props: typeof __VLS_18) => any;
12
+ };
13
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ "close-player": () => any;
14
15
  "close-session": () => any;
15
16
  "make-screenshot": () => any;
16
17
  "toggle-record": () => any;
17
- "close-player": () => any;
18
18
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ "onClose-player"?: () => any;
19
20
  "onClose-session"?: () => any;
20
21
  "onMake-screenshot"?: () => any;
21
22
  "onToggle-record"?: () => any;
22
- "onClose-player"?: () => any;
23
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
24
25
  export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,6 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2
+ toggle: (value: boolean) => any;
3
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
4
+ onToggle?: (value: boolean) => any;
5
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -1,7 +1,6 @@
1
- import { ScreenshotStatus } from "../../../types/ScreenshotStatus";
2
- import { WtVidstackPlayerSession } from "../../../types/WtVidstackPlayerSession";
1
+ import { ScreenSharingSession, ScreenshotStatus } from "../../../types";
3
2
  interface Props {
4
- session: WtVidstackPlayerSession;
3
+ session: ScreenSharingSession;
5
4
  screenshotStatus: ScreenshotStatus | null;
6
5
  screenshotIsLoading: boolean;
7
6
  }
@@ -0,0 +1,18 @@
1
+ import { ScreenshotStatus } from '../../../../../modules/CallSession/types';
2
+ interface Props {
3
+ recordings: boolean;
4
+ isMicMuted: boolean;
5
+ isVideoMuted: boolean;
6
+ isCallStarted: boolean;
7
+ screenshotIsLoading: boolean;
8
+ screenshotStatus: ScreenshotStatus | null;
9
+ screenshotCallback?: () => void;
10
+ recordingsCallback?: () => void;
11
+ micCallback?: () => void;
12
+ videoCallback?: () => void;
13
+ settingsCallback?: () => void;
14
+ chatCallback?: () => void;
15
+ callStateCallback?: () => void;
16
+ }
17
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -1,8 +1,5 @@
1
1
  import 'vidstack/player';
2
2
  import 'vidstack/player/ui';
3
- import { ScreenshotStatus } from "./types/ScreenshotStatus";
4
- import { WtVidstakPlayerControlsMode } from "./types/WtVidstackPlayerControlsMode";
5
- import { WtVidstackPlayerSession } from "./types/WtVidstackPlayerSession";
6
3
  interface Props {
7
4
  src: string | {
8
5
  src: string;
@@ -14,29 +11,36 @@ interface Props {
14
11
  title?: string;
15
12
  username?: string;
16
13
  closable?: boolean;
14
+ resizable?: boolean;
17
15
  stream?: MediaStream;
18
- mode: WtVidstakPlayerControlsMode;
19
- session?: WtVidstackPlayerSession;
20
- screenshotStatus: ScreenshotStatus;
21
- screenshotIsLoading: boolean;
22
16
  }
23
- declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ declare var __VLS_24: {
18
+ size: "sm";
19
+ }, __VLS_26: {
20
+ size: "sm";
21
+ };
22
+ type __VLS_Slots = {} & {
23
+ 'controls-panel'?: (props: typeof __VLS_24) => any;
24
+ } & {
25
+ content?: (props: typeof __VLS_26) => any;
26
+ };
27
+ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
28
  close: () => any;
25
- "close-session": () => any;
26
- "make-screenshot": () => any;
27
- "toggle-record": () => any;
28
29
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
29
30
  onClose?: () => any;
30
- "onClose-session"?: () => any;
31
- "onMake-screenshot"?: () => any;
32
- "onToggle-record"?: () => any;
33
31
  }>, {
34
32
  title: string;
35
- mode: WtVidstakPlayerControlsMode;
36
33
  username: string;
37
34
  autoplay: boolean;
38
35
  mime: string;
39
36
  closable: boolean;
40
37
  muted: boolean;
38
+ resizable: boolean;
41
39
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
42
41
  export default _default;
42
+ type __VLS_WithSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -0,0 +1,3 @@
1
+ import ScreenSharing from './modules/ScreenSharing/screen-sharing.vue';
2
+ import VideoCall from './modules/VideoCall/video-call.vue';
3
+ export { ScreenSharing, VideoCall };
@@ -0,0 +1,16 @@
1
+ import { ScreenSharingSession, ScreenshotStatus } from '../../types';
2
+ interface Props {
3
+ session: ScreenSharingSession;
4
+ screenshotStatus: ScreenshotStatus | null;
5
+ screenshotIsLoading: boolean;
6
+ }
7
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "close-session": () => any;
9
+ "make-screenshot": () => any;
10
+ "toggle-record": () => any;
11
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
12
+ "onClose-session"?: () => any;
13
+ "onMake-screenshot"?: () => any;
14
+ "onToggle-record"?: () => any;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { ScreenshotStatus } from '../../types';
2
+ interface Props {
3
+ sender: MediaStream;
4
+ receiver: MediaStream;
5
+ isMicMuted: boolean;
6
+ isVideoMuted: boolean;
7
+ isCallStarted: boolean;
8
+ recordings: boolean;
9
+ screenshotStatus: ScreenshotStatus | null;
10
+ screenshotIsLoading: boolean;
11
+ screenshotCallback?: () => void;
12
+ recordingsCallback?: () => void;
13
+ micCallback?: () => void;
14
+ videoCallback?: () => void;
15
+ settingsCallback?: () => void;
16
+ chatCallback?: () => void;
17
+ callStateCallback?: () => void;
18
+ }
19
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,7 @@
1
+ export interface ScreenSharingSession {
2
+ close: () => void;
3
+ screenshot: () => void;
4
+ stopRecord: () => void;
5
+ startRecord: () => void;
6
+ recordings: boolean;
7
+ }
@@ -0,0 +1,3 @@
1
+ import { ScreenSharingSession } from './ScreenSharingSession';
2
+ import { ScreenshotStatus } from './ScreenshotStatus';
3
+ export { ScreenSharingSession, ScreenshotStatus };
@@ -1,195 +0,0 @@
1
- <template>
2
- <media-controls-group
3
- class="screen-sharing-control-panel controls-group"
4
- :class="`screen-sharing-control-panel--${size}`"
5
- >
6
- <div
7
- class="screen-sharing-control-panel__actions"
8
- >
9
- <wt-button
10
- rounded
11
- contains-icon
12
- variant="outlined"
13
- color="secondary"
14
- :loading="props.screenshotIsLoading"
15
- :size="size"
16
- :icon="screenShotIcon"
17
- @click="makeScreenshot"
18
- />
19
-
20
- <wt-button
21
- rounded
22
- contains-icon
23
- variant="outlined"
24
- color="secondary"
25
- :size="size"
26
- :icon="recordIcon"
27
- @click="emit('toggle-record')"
28
- />
29
-
30
- <wt-button
31
- icon="sharing-end"
32
- class="screen-sharing-control-panel__sharing-end"
33
- color="error"
34
- variant="outlined"
35
- :size="size"
36
- rounded
37
- contains-icon
38
- @click="closeSession"
39
- />
40
- </div>
41
-
42
- <div
43
- v-if="isRecording" class="screen-sharing-control-panel__indicator"
44
- >
45
- <wt-indicator
46
- color="error"
47
- size="md"
48
- />
49
-
50
- <span class="screen-sharing-control-panel__time">{{ convertDuration(secondsElapsed) }}</span>
51
- </div>
52
- </media-controls-group>
53
- </template>
54
-
55
- <script setup lang="ts">
56
- import convertDuration from '@webitel/ui-sdk/src/scripts/convertDuration';
57
- import {computed, defineEmits, inject, onUnmounted, ref, watch} from 'vue';
58
-
59
- import {ScreenshotStatus} from "../../../types/ScreenshotStatus";
60
- import {WtVidstackPlayerSession} from "../../../types/WtVidstackPlayerSession";
61
-
62
- interface Props {
63
- session: WtVidstackPlayerSession
64
- screenshotStatus: ScreenshotStatus | null
65
- screenshotIsLoading: boolean
66
- }
67
-
68
- const props = defineProps<Props>();
69
-
70
- const emit = defineEmits<{
71
- 'close-session': [],
72
- 'make-screenshot': [],
73
- 'toggle-record': [],
74
- }>()
75
-
76
- const {size} = inject('size');
77
-
78
- const recordIcon = computed(() => (props.session.recordings ? 'record-stop' : 'record-start'));
79
-
80
- const screenShotIcon = computed(() => {
81
- switch (props.screenshotStatus) {
82
- case 'done':
83
- return 'screenshot-done';
84
- case 'error':
85
- return 'screenshot-false';
86
- default:
87
- return 'screenshot';
88
- }
89
- });
90
- const isRecording = computed(() => props.session.recordings);
91
-
92
- const secondsElapsed = ref(0);
93
- const timerId = ref<number | null>(null);
94
-
95
- function startTimer() {
96
- secondsElapsed.value = 0;
97
- stopTimer();
98
- timerId.value = window.setInterval(() => {
99
- secondsElapsed.value++;
100
- }, 1000);
101
- }
102
-
103
- function stopTimer() {
104
- if (timerId.value !== null) {
105
- clearInterval(timerId.value);
106
- timerId.value = null;
107
- }
108
- }
109
-
110
- const closeSession = () => {
111
- emit('close-session')
112
- };
113
-
114
- const makeScreenshot = () => {
115
- emit('make-screenshot')
116
- };
117
-
118
- onUnmounted(() => {
119
- stopTimer();
120
- });
121
-
122
- watch(isRecording, (newVal) => {
123
- if (newVal) {
124
- startTimer();
125
- } else {
126
- stopTimer();
127
- }
128
- });
129
- </script>
130
-
131
- <style scoped lang="scss">
132
- @use '@webitel/styleguide/typography' as *;
133
-
134
- .screen-sharing-control-panel {
135
- position: relative;
136
- display: flex;
137
- justify-content: center;
138
-
139
- &--sm {
140
- .screen-sharing-control-panel__actions {
141
- width: 100%;
142
- border-top-left-radius: 0 !important;
143
- border-top-right-radius: 0 !important;
144
- }
145
-
146
- .screen-sharing-control-panel__indicator {
147
- right: var(--p-player-counter-position-padding-sm);
148
- bottom: calc(100% + var(--p-player-counter-position-padding-sm));
149
- }
150
- }
151
-
152
- &--md {
153
- .screen-sharing-control-panel__indicator {
154
- right: var(--p-player-counter-position-padding-md);
155
- bottom: var(--p-player-counter-position-padding-md);
156
- }
157
- }
158
-
159
- &--lg {
160
- .screen-sharing-control-panel__indicator {
161
- right: var(--p-player-counter-position-padding-lg);
162
- bottom: var(--p-player-counter-position-padding-lg);
163
- }
164
- }
165
-
166
- &__actions {
167
- display: flex;
168
- align-items: center;
169
- justify-content: center;
170
- background: var(--p-player-control-bar-background);
171
- box-shadow: var(--elevation-10);
172
- }
173
-
174
- &__indicator {
175
- background: var(--content-wrapper-color);
176
- display: flex;
177
- align-items: center;
178
- justify-content: flex-start;
179
- gap: var(--p-player-counter-gap);
180
- padding: var(--p-player-counter-padding);
181
- border-radius: var(--p-player-counter-border-radius);
182
- box-shadow: var(--elevation-10);
183
- position: absolute;
184
-
185
- // Agreed with @Evgeniy Trahtenberg
186
- width: 100px;
187
- }
188
-
189
- &__time {
190
- @extend %typo-body-1;
191
- }
192
- }
193
- </style>
194
-
195
-