@webitel/ui-sdk 1.0.25 → 1.0.26
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.
- package/dist/ui-sdk.common.js +70 -22
- package/dist/ui-sdk.common.js.map +1 -1
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.umd.js +70 -22
- package/dist/ui-sdk.umd.js.map +1 -1
- package/dist/ui-sdk.umd.min.js +1 -1
- package/dist/ui-sdk.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/organisms/wt-player/wt-player.vue +35 -8
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<aside class="wt-player">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
<component
|
|
4
|
+
:is="playerType"
|
|
5
|
+
class="wt-player__player"
|
|
6
|
+
ref="player"
|
|
6
7
|
:src="src"
|
|
7
8
|
:autoplay="autoplay"
|
|
8
9
|
controls
|
|
9
10
|
v-on="listeners"
|
|
10
|
-
></
|
|
11
|
+
></component>
|
|
11
12
|
|
|
12
13
|
<!-- The "wt-icon-btn" component is append in to "audio" element by "setCloseIcon" method-->
|
|
13
14
|
<wt-icon-btn
|
|
@@ -38,6 +39,19 @@ export default {
|
|
|
38
39
|
type: [String, Function, Boolean],
|
|
39
40
|
default: () => (url) => url.replace('/stream', '/download'),
|
|
40
41
|
},
|
|
42
|
+
mime: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: 'audio',
|
|
45
|
+
},
|
|
46
|
+
// plyr-specific options
|
|
47
|
+
resetOnEnd: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: false,
|
|
50
|
+
},
|
|
51
|
+
invertTime: {
|
|
52
|
+
type: Boolean,
|
|
53
|
+
default: true,
|
|
54
|
+
},
|
|
41
55
|
},
|
|
42
56
|
data: () => ({
|
|
43
57
|
player: null,
|
|
@@ -62,19 +76,26 @@ export default {
|
|
|
62
76
|
...this.$listeners,
|
|
63
77
|
};
|
|
64
78
|
},
|
|
79
|
+
playerType() {
|
|
80
|
+
return this.mime.includes('video') ? 'video' : 'audio';
|
|
81
|
+
},
|
|
65
82
|
},
|
|
66
83
|
|
|
67
84
|
methods: {
|
|
68
|
-
setupPlayer() {
|
|
85
|
+
async setupPlayer() {
|
|
86
|
+
await this.$nextTick(); // test is failing to render component if element is passed to Plyr as Vue $ref
|
|
69
87
|
const baseURL = this.$baseURL || process.env.BASE_URL;
|
|
70
|
-
if (this.player) this.player.
|
|
88
|
+
if (this.player) this.player.destroy();
|
|
71
89
|
const controls = ['play-large', 'play', 'progress', 'current-time',
|
|
72
90
|
'mute', 'volume', 'captions', 'settings', 'pip',
|
|
73
91
|
'airplay', 'fullscreen'];
|
|
74
92
|
if (this.download) controls.push('download');
|
|
75
|
-
this.player = new Plyr(
|
|
93
|
+
this.player = new Plyr(this.$refs.player, {
|
|
94
|
+
// this.player = new Plyr('.wt-player__player', {
|
|
76
95
|
autoplay: this.autoplay,
|
|
77
96
|
loadSprite: false,
|
|
97
|
+
resetOnEnd: this.resetOnEnd,
|
|
98
|
+
invertTime: this.invertTime,
|
|
78
99
|
iconUrl: `${baseURL}img/plyr.svg`,
|
|
79
100
|
controls,
|
|
80
101
|
loop: {
|
|
@@ -82,6 +103,7 @@ export default {
|
|
|
82
103
|
},
|
|
83
104
|
});
|
|
84
105
|
this.appendCloseIcon();
|
|
106
|
+
this.$emit('initialized', this.player);
|
|
85
107
|
},
|
|
86
108
|
setupDownload() {
|
|
87
109
|
if (!this.download) this.setupPlayer();
|
|
@@ -92,7 +114,7 @@ export default {
|
|
|
92
114
|
}
|
|
93
115
|
},
|
|
94
116
|
appendCloseIcon() {
|
|
95
|
-
const plyrControls = this.$refs.
|
|
117
|
+
const plyrControls = this.$refs.player.plyr?.elements?.controls;
|
|
96
118
|
const closeIcon = this.$refs['close-icon'].$el;
|
|
97
119
|
if (plyrControls) {
|
|
98
120
|
plyrControls.append(closeIcon);
|
|
@@ -111,6 +133,7 @@ export default {
|
|
|
111
133
|
bottom: 60px;
|
|
112
134
|
|
|
113
135
|
.plyr {
|
|
136
|
+
max-width: 100%; // prevents <video> container overflow
|
|
114
137
|
border-radius: var(--border-radius);
|
|
115
138
|
box-shadow: var(--box-shadow);
|
|
116
139
|
}
|
|
@@ -125,6 +148,10 @@ export default {
|
|
|
125
148
|
color: var(--text-primary-color);
|
|
126
149
|
}
|
|
127
150
|
|
|
151
|
+
.plyr__control--overlaid svg {
|
|
152
|
+
left: 0; // reset plyr style for video "play" button icon
|
|
153
|
+
}
|
|
154
|
+
|
|
128
155
|
//.plyr__control[role='menuitemradio']::before,
|
|
129
156
|
//.plyr__control[role='menuitemradio']:hover::before {
|
|
130
157
|
// border: 2px solid var(--secondary-color);
|