@webitel/ui-sdk 25.10.50 → 25.10.52

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 (58) 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-hlMLq0U3.js +111257 -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-B-3uagaf.js +142 -0
  13. package/dist/vidstack-BP-l85ST-cd089zs4.js +21 -0
  14. package/dist/vidstack-BTBUzdbF-BuhaE3ef.js +29 -0
  15. package/dist/vidstack-Ccp8mxka-Cyoe3N05.js +20 -0
  16. package/dist/vidstack-Dgd3Tj9x-D_ifpfX9.js +397 -0
  17. package/dist/vidstack-DscYSLiW-Dk1undJ-.js +33 -0
  18. package/dist/vidstack-HTyVv8Yq-DRdwbVZd.js +52 -0
  19. package/dist/vidstack-audio-CFFRqrJ3.js +26 -0
  20. package/dist/vidstack-dash-BDtu3f4j.js +405 -0
  21. package/dist/vidstack-google-cast-hKSzmdiF.js +405 -0
  22. package/dist/vidstack-hls-BLyFYePL.js +328 -0
  23. package/dist/vidstack-video-BlmYiw-x.js +149 -0
  24. package/dist/vidstack-vimeo-DhWdWK51.js +434 -0
  25. package/dist/vidstack-youtube-l9Si5Vl-.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-dual-panel/wt-dual-panel.vue +2 -2
  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/src/store/new/modules/tableStoreModule/tableStoreModule.js +1 -1
  47. package/types/components/index.d.ts +3 -1
  48. package/types/components/wt-table/wt-table.vue.d.ts +1 -1
  49. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +11 -0
  50. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/buttons/fullscreen-button.vue.d.ts +6 -0
  51. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/buttons/play-button.vue.d.ts +2 -0
  52. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/sliders/time-slider.vue.d.ts +2 -0
  53. package/types/components/wt-vidstack-player/components/panels/media-control-panel/components/time-group.vue.d.ts +2 -0
  54. package/types/components/wt-vidstack-player/components/panels/media-control-panel/media-control-panel.vue.d.ts +2 -0
  55. package/types/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue.d.ts +11 -0
  56. package/types/components/wt-vidstack-player/components/toggle-button.vue.d.ts +12 -0
  57. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +25 -0
  58. 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';
@@ -119,7 +119,7 @@ const actions = {
119
119
  let sort;
120
120
 
121
121
  if (field) {
122
- sort = field === header.field ? nextSort : currentSort;
122
+ sort = field === header.field ? nextSort : null;
123
123
  } else {
124
124
  sort = nextSort; // null
125
125
  }
@@ -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 };
@@ -1,6 +1,6 @@
1
1
  import type { DataTableProps } from 'primevue';
2
- import type { WtTableHeader } from './types/WtTable';
3
2
  import { VirtualScrollerLazyEvent } from 'primevue/virtualscroller';
3
+ import type { WtTableHeader } from './types/WtTable';
4
4
  interface Props extends DataTableProps {
5
5
  /**
6
6
  * 'Accepts list of header objects. Draws text depending on "text" property, looks for data values through "value", "show" boolean controls visibility of a column (if undefined, all visible by default). ' Column width is calculated by "width" param. By default, sets 140px. '
@@ -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';