@webitel/ui-sdk 25.10.51 → 25.10.53

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 (57) hide show
  1. package/dist/errors-DCJKAXTz.js +70 -0
  2. package/dist/img/sprite/index.js +4 -0
  3. package/dist/img/sprite/player-enter-fullscreen.svg +3 -0
  4. package/dist/img/sprite/player-exit-fullscreen.svg +4 -0
  5. package/dist/install-By5bv5Ga.js +111259 -0
  6. package/dist/prod-DTLJXtPo.js +994 -0
  7. package/dist/srt-parser-CWqahKwO.js +27 -0
  8. package/dist/ssa-parser-BqjjKy4M.js +209 -0
  9. package/dist/ui-sdk.css +1 -1
  10. package/dist/ui-sdk.js +2 -100294
  11. package/dist/ui-sdk.umd.cjs +1633 -1605
  12. package/dist/vidstack-54Jpr2Lq-B2le6Uto.js +142 -0
  13. package/dist/vidstack-BP-l85ST-CTFw3KUN.js +21 -0
  14. package/dist/vidstack-BTBUzdbF-BuhaE3ef.js +29 -0
  15. package/dist/vidstack-Ccp8mxka-2ZiXmway.js +20 -0
  16. package/dist/vidstack-Dgd3Tj9x-BuTqiZFH.js +397 -0
  17. package/dist/vidstack-DscYSLiW-Dk1undJ-.js +33 -0
  18. package/dist/vidstack-HTyVv8Yq-DzaVyW2f.js +52 -0
  19. package/dist/vidstack-audio-BEcEzkeF.js +26 -0
  20. package/dist/vidstack-dash-D8SZVGUN.js +405 -0
  21. package/dist/vidstack-google-cast-Yhgv2Xji.js +405 -0
  22. package/dist/vidstack-hls-C5jjqF8L.js +328 -0
  23. package/dist/vidstack-video-1erl9Gbe.js +149 -0
  24. package/dist/vidstack-vimeo-BSb58vEP.js +434 -0
  25. package/dist/vidstack-youtube-BeeLfeYv.js +204 -0
  26. package/package.json +2 -1
  27. package/src/assets/icons/sprite/index.js +4 -0
  28. package/src/assets/icons/sprite/player-enter-fullscreen.svg +3 -0
  29. package/src/assets/icons/sprite/player-exit-fullscreen.svg +4 -0
  30. package/src/components/index.js +3 -0
  31. package/src/components/wt-image/wt-image.vue +4 -1
  32. package/src/components/wt-loader/wt-loader.vue +1 -0
  33. package/src/components/wt-popup/_mixins.scss +31 -0
  34. package/src/components/wt-popup/wt-popup.vue +7 -21
  35. package/src/components/wt-table/wt-table.vue +5 -0
  36. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +112 -0
  37. package/src/components/wt-vidstack-player/components/panels/media-control-panel/components/buttons/fullscreen-button.vue +37 -0
  38. package/src/components/wt-vidstack-player/components/panels/media-control-panel/components/buttons/play-button.vue +21 -0
  39. package/src/components/wt-vidstack-player/components/panels/media-control-panel/components/sliders/time-slider.vue +31 -0
  40. package/src/components/wt-vidstack-player/components/panels/media-control-panel/components/time-group.vue +19 -0
  41. package/src/components/wt-vidstack-player/components/panels/media-control-panel/media-control-panel.vue +34 -0
  42. package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +95 -0
  43. package/src/components/wt-vidstack-player/components/toggle-button.vue +54 -0
  44. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +156 -0
  45. package/src/install.ts +1 -0
  46. package/types/components/index.d.ts +3 -1
  47. package/types/components/wt-image/wt-image.vue.d.ts +12 -2
  48. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +11 -0
  49. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/buttons/fullscreen-button.vue.d.ts +6 -0
  50. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/buttons/play-button.vue.d.ts +2 -0
  51. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/sliders/time-slider.vue.d.ts +2 -0
  52. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/time-group.vue.d.ts +2 -0
  53. package/types/components/wt-vidstack-player/components/panels/media-control-panel/media-control-panel.vue.d.ts +2 -0
  54. package/types/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue.d.ts +11 -0
  55. package/types/components/wt-vidstack-player/components/toggle-button.vue.d.ts +12 -0
  56. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +25 -0
  57. package/types/install.d.ts +1 -0
@@ -0,0 +1,156 @@
1
+ <template>
2
+ <div
3
+ class="wt-vidstack-player"
4
+ :class="[`wt-vidstack-player--${size}`]"
5
+ >
6
+ <media-player
7
+ ref="player"
8
+ :src="playerSrc"
9
+ class="wt-vidstack-player__player"
10
+ cross-origin
11
+ plays-inline
12
+ @close="emit('close')"
13
+ @change-size="changeSize"
14
+ >
15
+ <media-provider></media-provider>
16
+ <video-layout
17
+ :closable="props.closable"
18
+ :autoplay="props.autoplay"
19
+ :title="props.title"
20
+ :username="props.username"
21
+ @close-player="emit('close')"
22
+ />
23
+
24
+ </media-player>
25
+ </div>
26
+ </template>
27
+
28
+ <script setup lang="ts">
29
+ import 'vidstack/player';
30
+ import 'vidstack/player/ui';
31
+
32
+ import type { MediaPlayerElement } from 'vidstack/elements';
33
+ import {computed, defineEmits, defineProps, provide, ref, useTemplateRef, watch} from 'vue';
34
+
35
+ import { ComponentSize } from '../../enums';
36
+ import VideoLayout from './components/layouts/video-layout.vue';
37
+
38
+ interface Props {
39
+ src: string | { src: string; type?: string };
40
+ mime?: string;
41
+ autoplay?: boolean;
42
+ title?: string;
43
+ username?: string;
44
+ closable?: boolean;
45
+ }
46
+
47
+ const props = withDefaults(defineProps<Props>(), {
48
+ mime: 'video/mp4',
49
+ autoplay: false,
50
+ title: '',
51
+ username: '',
52
+ closable: false,
53
+ });
54
+
55
+ const emit = defineEmits<{
56
+ 'close': [],
57
+ }>()
58
+
59
+ const player = useTemplateRef<MediaPlayerElement>('player');
60
+ const size = ref(ComponentSize.SM);
61
+
62
+ const changeSize = (value) => {
63
+ size.value = value;
64
+ }
65
+
66
+ /** @author liza-pohranichna
67
+ * options: [sm, md, lg]
68
+ * lg-size is fullscreen
69
+ */
70
+ provide('size', { size, changeSize });
71
+
72
+ const normalizedType = computed(() => { // https://vidstack.io/docs/wc/player/core-concepts/loading/?styling=css#source-types
73
+ if (props.mime) return props.mime;
74
+
75
+
76
+ if (props.src.includes('media')) return 'audio/mp3';
77
+ if (props.src.includes('mp3')) return 'audio/mp3';
78
+ if (props.src.includes('ogg') || props.src.includes('oga')) return 'audio/ogg';
79
+
80
+ return 'video/mp4';
81
+ });
82
+
83
+ const playerSrc = computed(() => {
84
+ if (typeof props.src === 'string') {
85
+ return { src: props.src, type: normalizedType.value };
86
+ }
87
+ return {
88
+ src: props.src?.src || '',
89
+ type: props.src?.type || normalizedType.value
90
+ };
91
+ });
92
+
93
+
94
+ </script>
95
+
96
+ <style scoped lang="scss">
97
+ @use '../wt-popup/mixins.scss' as *;
98
+
99
+ .wt-vidstack-player {
100
+ transition: var(--transition);
101
+
102
+ .wt-vidstack-player__player {
103
+ padding: 0;
104
+ margin: 0;
105
+ }
106
+
107
+ &--sm {
108
+ position: fixed;
109
+ right: var(--spacing-md);
110
+ bottom: var(--spacing-md);
111
+ max-width: var(--p-player-wrapper-sm-width);
112
+ max-height: var(--p-player-wrapper-sm-height);
113
+ z-index: 100;
114
+ border-radius: var(--p-player-wrapper-sm-border-radius);
115
+ overflow: hidden;
116
+ }
117
+
118
+ &--md {
119
+ @include popup-wrapper;
120
+ /** @author liza-pohranichna
121
+ * need to use wt-popup styles for md size https://webitel.atlassian.net/browse/WTEL-7723 */
122
+
123
+ .wt-vidstack-player__player {
124
+ @include popup-container;
125
+ position: relative;
126
+ max-width: var(--p-player-wrapper-md-width);
127
+ padding: 0;
128
+ border-radius: var(--p-player-wrapper-md-border-radius);
129
+ overflow: hidden;
130
+ }
131
+ }
132
+
133
+ &--lg {
134
+ .wt-vidstack-player__player {
135
+ display: flex;
136
+ align-items: center;
137
+ }
138
+ }
139
+ }
140
+
141
+ media-player[data-hocus] { // hover or focus within https://vidstack.io/docs/wc/player/components/core/player/?styling=css#player.attrs
142
+ .controls-group {
143
+ opacity: 1;
144
+ }
145
+
146
+ .video-display-panel {
147
+ background: var(--p-player-head-line-hover-background);
148
+
149
+ :deep(.video-display-panel__controls) { // show panel buttons on hover
150
+ opacity: 1;
151
+ }
152
+ }
153
+ }
154
+
155
+
156
+ </style>
package/src/install.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import 'vue-multiselect/dist/vue-multiselect.css';
2
2
  import '@webitel/styleguide/fonts';
3
3
  import 'plyr/src/sass/plyr.scss';
4
+ import 'vidstack/bundle';
4
5
  import './css/main.scss';
5
6
  import './css/tailwind.css';
6
7
  import './assets/icons/sprite/index.js';
@@ -71,6 +71,7 @@ import WtTooltip from './wt-tooltip/wt-tooltip.vue';
71
71
  import WtTree from './wt-tree/wt-tree.vue';
72
72
  import WtTreeTable from './wt-tree-table/wt-tree-table.vue';
73
73
  import WtTypeExtensionValueInput from './on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue';
74
+ import WtVidstackPlayer from './wt-vidstack-player/wt-vidstack-player.vue';
74
75
  declare namespace Components {
75
76
  export { WtActionBar };
76
77
  export { WtImage };
@@ -143,5 +144,6 @@ declare namespace Components {
143
144
  export { WtStartPage };
144
145
  export { WtSelectionPopup };
145
146
  export { WtDisplayChipItems };
147
+ export { WtVidstackPlayer };
146
148
  }
147
- export { WtActionBar, WtAppHeader, WtAppNavigator, WtAvatar, WtBadge, WtBreadcrumb, WtButton, WtButtonSelect, WtCheckbox, WtChip, WtConfirmDialog, WtContextMenu, WtCopyAction, WtDatepicker, WtDisplayChipItems, WtDivider, WtDualPanel, WtDummy, WtEmpty, WtErrorPage, WtExpansionPanel, WtFiltersPanelWrapper, WtHeaderActions, WtHeadline, WtHint, WtIcon, WtIconAction, WtIconBtn, WtImage, WtIndicator, WtInput, WtInputInfo, WtIntersectionObserver, WtItemLink, WtLabel, WtLoadBar, WtLoader, WtLogo, WtNavigationBar, WtNavigationMenu, WtNotification, WtNotificationsBar, WtPageHeader, WtPageWrapper, WtPagination, WtPlayer, WtPopover, WtPopup, WtProgressBar, WtRadio, WtReplaceTransition, WtRoundedAction, WtSearchBar, WtSelect, WtSelectionPopup, WtSlider, WtStartPage, WtStatusSelect, WtStepper, WtSwitcher, WtTable, WtTableActions, WtTableColumnSelect, WtTabs, WtTagsInput, WtTextarea, WtTimeInput, WtTimepicker, WtTooltip, WtTree, WtTreeTable, WtTypeExtensionValueInput };
149
+ export { WtActionBar, WtAppHeader, WtAppNavigator, WtAvatar, WtBadge, WtBreadcrumb, WtButton, WtButtonSelect, WtCheckbox, WtChip, WtConfirmDialog, WtContextMenu, WtCopyAction, WtDatepicker, WtDisplayChipItems, WtDivider, WtDualPanel, WtDummy, WtEmpty, WtErrorPage, WtExpansionPanel, WtFiltersPanelWrapper, WtHeaderActions, WtHeadline, WtHint, WtIcon, WtIconAction, WtIconBtn, WtImage, WtIndicator, WtInput, WtInputInfo, WtIntersectionObserver, WtItemLink, WtLabel, WtLoadBar, WtLoader, WtLogo, WtNavigationBar, WtNavigationMenu, WtNotification, WtNotificationsBar, WtPageHeader, WtPageWrapper, WtPagination, WtPlayer, WtPopover, WtPopup, WtProgressBar, WtRadio, WtReplaceTransition, WtRoundedAction, WtSearchBar, WtSelect, WtSelectionPopup, WtSlider, WtStartPage, WtStatusSelect, WtStepper, WtSwitcher, WtTable, WtTableActions, WtTableColumnSelect, WtTabs, WtTagsInput, WtTextarea, WtTimeInput, WtTimepicker, WtTooltip, WtTree, WtTreeTable, WtTypeExtensionValueInput, WtVidstackPlayer };
@@ -23,6 +23,7 @@ type __VLS_Props = {
23
23
  overlayIcon?: string;
24
24
  overlayIconPrefix?: string;
25
25
  };
26
+ declare const emit: (event: "click", ...args: any[]) => void;
26
27
  declare const width: import("vue").ComputedRef<string | number>;
27
28
  declare const height: import("vue").ComputedRef<string | number>;
28
29
  declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
@@ -35,10 +36,19 @@ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$
35
36
  }>;
36
37
  declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
37
38
  IconColor: typeof IconColor;
39
+ emit: typeof emit;
38
40
  width: typeof width;
39
41
  height: typeof height;
40
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
- declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
43
+ click: (...args: any[]) => void;
44
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
45
+ onClick?: (...args: any[]) => any;
46
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ click: (...args: any[]) => void;
49
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
50
+ onClick?: (...args: any[]) => any;
51
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
52
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
43
53
  export default _default;
44
54
  type __VLS_WithSlots<T, S> = T & {
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ username?: string;
4
+ closable?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "close-player": () => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onClose-player"?: () => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ export default _default;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ username?: string;
4
+ closable?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ close: () => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onClose?: () => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ export default _default;
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ primaryIcon: string;
3
+ secondaryIcon: string;
4
+ color?: string;
5
+ disabled?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ toggle: (value: boolean) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onToggle?: (value: boolean) => any;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import 'vidstack/player';
2
+ import 'vidstack/player/ui';
3
+ interface Props {
4
+ src: string | {
5
+ src: string;
6
+ type?: string;
7
+ };
8
+ mime?: string;
9
+ autoplay?: boolean;
10
+ title?: string;
11
+ username?: string;
12
+ closable?: boolean;
13
+ }
14
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ close: () => any;
16
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
17
+ onClose?: () => any;
18
+ }>, {
19
+ title: string;
20
+ username: string;
21
+ autoplay: boolean;
22
+ mime: string;
23
+ closable: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ export default _default;
@@ -1,6 +1,7 @@
1
1
  import 'vue-multiselect/dist/vue-multiselect.css';
2
2
  import '@webitel/styleguide/fonts';
3
3
  import 'plyr/src/sass/plyr.scss';
4
+ import 'vidstack/bundle';
4
5
  import './css/main.scss';
5
6
  import './css/tailwind.css';
6
7
  import './assets/icons/sprite/index.js';