@glitchlab/vue-video-player 1.6.0 → 1.6.1
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/components/IconGear.vue.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +627 -633
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { defineComponent as N, ref as g, onMounted as
|
|
2
|
-
import
|
|
3
|
-
function De(e,
|
|
1
|
+
import { defineComponent as N, ref as g, onMounted as Be, watch as H, onBeforeUnmount as oe, openBlock as r, createElementBlock as c, normalizeClass as L, renderSlot as Ue, createElementVNode as o, computed as I, createVNode as O, toDisplayString as Z, Fragment as ae, renderList as pe, createCommentVNode as x, createBlock as J, unref as se, normalizeStyle as ce, withDirectives as ot, vShow as rt, withCtx as it } from "vue";
|
|
2
|
+
import le from "hls.js";
|
|
3
|
+
function De(e, l, t) {
|
|
4
4
|
const n = e == null ? void 0 : e.trim();
|
|
5
5
|
if (n) return n;
|
|
6
|
-
if (
|
|
6
|
+
if (l) {
|
|
7
7
|
try {
|
|
8
|
-
const v = new Intl.DisplayNames(void 0, { type: "language" }).of(
|
|
9
|
-
if (v && v !==
|
|
8
|
+
const v = new Intl.DisplayNames(void 0, { type: "language" }).of(l);
|
|
9
|
+
if (v && v !== l) return v;
|
|
10
10
|
} catch {
|
|
11
11
|
}
|
|
12
|
-
return
|
|
12
|
+
return l;
|
|
13
13
|
}
|
|
14
14
|
return `Audio ${t + 1}`;
|
|
15
15
|
}
|
|
@@ -18,8 +18,8 @@ const ut = {
|
|
|
18
18
|
height: 0,
|
|
19
19
|
label: "Auto"
|
|
20
20
|
};
|
|
21
|
-
function ct(e,
|
|
22
|
-
return e > 0 ? `${e}p` : `Level ${
|
|
21
|
+
function ct(e, l) {
|
|
22
|
+
return e > 0 ? `${e}p` : `Level ${l + 1}`;
|
|
23
23
|
}
|
|
24
24
|
const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "poster"], vt = /* @__PURE__ */ N({
|
|
25
25
|
__name: "HLSPlayer",
|
|
@@ -39,16 +39,16 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
39
39
|
qualityLevelIndex: { default: -1 }
|
|
40
40
|
},
|
|
41
41
|
emits: ["play", "pause", "ended", "fatal-error", "live-change", "audio-tracks", "quality-levels", "current-level"],
|
|
42
|
-
setup(e, { expose:
|
|
43
|
-
const n = e,
|
|
42
|
+
setup(e, { expose: l, emit: t }) {
|
|
43
|
+
const n = e, a = t, v = g(null), d = g(null);
|
|
44
44
|
let h, E;
|
|
45
|
-
const
|
|
45
|
+
const S = globalThis.window !== void 0 && le.isSupported(), A = (f) => !!n.isHls || S && f.endsWith(".m3u8");
|
|
46
46
|
function P() {
|
|
47
47
|
E == null || E(), E = void 0, h == null || h(), h = void 0, d.value && (d.value.destroy(), d.value = null);
|
|
48
48
|
const f = v.value;
|
|
49
49
|
if (f) {
|
|
50
50
|
for (f.pause(), f.removeAttribute("src"); f.firstChild; ) f.firstChild.remove();
|
|
51
|
-
f.load(),
|
|
51
|
+
f.load(), a("audio-tracks", []), a("quality-levels", []), a("current-level", -1), a("live-change", !1);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
function w(f) {
|
|
@@ -60,33 +60,33 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
60
60
|
n.autoPlay && M.play().catch(() => {
|
|
61
61
|
});
|
|
62
62
|
};
|
|
63
|
-
if (
|
|
64
|
-
const C = new
|
|
63
|
+
if (A(f)) {
|
|
64
|
+
const C = new le(n.hlsConfig);
|
|
65
65
|
d.value = C;
|
|
66
66
|
const W = () => {
|
|
67
|
-
const F = C.audioTracks.map((
|
|
67
|
+
const F = C.audioTracks.map((B, R) => ({
|
|
68
68
|
index: R,
|
|
69
|
-
label: De(
|
|
70
|
-
lang:
|
|
69
|
+
label: De(B.name, B.lang, R),
|
|
70
|
+
lang: B.lang || void 0
|
|
71
71
|
}));
|
|
72
|
-
|
|
73
|
-
},
|
|
74
|
-
const F = C.levels.map((
|
|
72
|
+
a("audio-tracks", F);
|
|
73
|
+
}, V = () => {
|
|
74
|
+
const F = C.levels.map((B, R) => ({
|
|
75
75
|
index: R,
|
|
76
|
-
height:
|
|
77
|
-
label: ct(
|
|
76
|
+
height: B.height || 0,
|
|
77
|
+
label: ct(B.height || 0, R)
|
|
78
78
|
}));
|
|
79
|
-
|
|
79
|
+
a("quality-levels", F);
|
|
80
80
|
};
|
|
81
|
-
C.on(
|
|
82
|
-
|
|
83
|
-
}), C.on(
|
|
81
|
+
C.on(le.Events.MANIFEST_PARSED, z), C.on(le.Events.MANIFEST_PARSED, V), C.on(le.Events.LEVELS_UPDATED, V), C.on(le.Events.LEVEL_SWITCHED, (F, B) => {
|
|
82
|
+
a("current-level", B.level);
|
|
83
|
+
}), C.on(le.Events.AUDIO_TRACKS_UPDATED, W), C.on(le.Events.AUDIO_TRACK_SWITCHED, W), C.on(le.Events.LEVEL_LOADED, (F, B) => {
|
|
84
84
|
var R;
|
|
85
|
-
|
|
85
|
+
a("live-change", !!((R = B.details) != null && R.live));
|
|
86
86
|
});
|
|
87
87
|
let D = !1;
|
|
88
|
-
C.on(
|
|
89
|
-
|
|
88
|
+
C.on(le.Events.ERROR, (F, B) => {
|
|
89
|
+
B.fatal && (B.type === le.ErrorTypes.NETWORK_ERROR && !D ? (D = !0, C.startLoad()) : B.type === le.ErrorTypes.MEDIA_ERROR && !D ? (D = !0, C.recoverMediaError()) : (C.destroy(), d.value = null, a("fatal-error")));
|
|
90
90
|
}), C.attachMedia(M), C.loadSource(f);
|
|
91
91
|
} else {
|
|
92
92
|
M.src = f, M.load(), M.addEventListener("loadedmetadata", z, { once: !0 }), E = () => {
|
|
@@ -95,20 +95,20 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
95
95
|
const C = M.audioTracks;
|
|
96
96
|
if (C) {
|
|
97
97
|
const W = () => {
|
|
98
|
-
const
|
|
98
|
+
const V = [];
|
|
99
99
|
for (let D = 0; D < C.length; D++) {
|
|
100
100
|
const F = C[D];
|
|
101
|
-
|
|
101
|
+
V.push({
|
|
102
102
|
index: D,
|
|
103
103
|
label: De(F.label, F.language, D),
|
|
104
104
|
lang: F.language || void 0
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
a("audio-tracks", V);
|
|
108
108
|
};
|
|
109
109
|
(j = C.addEventListener) == null || j.call(C, "addtrack", W), (K = C.addEventListener) == null || K.call(C, "removetrack", W), (re = C.addEventListener) == null || re.call(C, "change", W), C.length > 0 && W(), h = () => {
|
|
110
|
-
var
|
|
111
|
-
(
|
|
110
|
+
var V, D, F;
|
|
111
|
+
(V = C.removeEventListener) == null || V.call(C, "addtrack", W), (D = C.removeEventListener) == null || D.call(C, "removetrack", W), (F = C.removeEventListener) == null || F.call(C, "change", W);
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
}
|
|
@@ -131,20 +131,20 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
131
131
|
const M = d.value;
|
|
132
132
|
M && M.currentLevel !== f && (M.currentLevel = f);
|
|
133
133
|
}
|
|
134
|
-
return
|
|
134
|
+
return Be(() => {
|
|
135
135
|
n.src && w(n.src);
|
|
136
|
-
}),
|
|
136
|
+
}), H(
|
|
137
137
|
() => n.src,
|
|
138
138
|
(f) => {
|
|
139
139
|
f && w(f);
|
|
140
140
|
}
|
|
141
|
-
),
|
|
141
|
+
), H(
|
|
142
142
|
() => n.audioTrackIndex,
|
|
143
143
|
(f) => $(f)
|
|
144
|
-
),
|
|
144
|
+
), H(
|
|
145
145
|
() => n.qualityLevelIndex,
|
|
146
146
|
(f) => T(f)
|
|
147
|
-
),
|
|
147
|
+
), oe(P), l({ videoEl: v }), (f, M) => (r(), c("video", {
|
|
148
148
|
ref_key: "videoEl",
|
|
149
149
|
ref: v,
|
|
150
150
|
muted: e.muted,
|
|
@@ -155,9 +155,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
155
155
|
preload: e.preload,
|
|
156
156
|
poster: e.poster,
|
|
157
157
|
class: L(n.class),
|
|
158
|
-
onPlay: M[0] || (M[0] = (z) =>
|
|
159
|
-
onPause: M[1] || (M[1] = (z) =>
|
|
160
|
-
onEnded: M[2] || (M[2] = (z) =>
|
|
158
|
+
onPlay: M[0] || (M[0] = (z) => a("play")),
|
|
159
|
+
onPause: M[1] || (M[1] = (z) => a("pause")),
|
|
160
|
+
onEnded: M[2] || (M[2] = (z) => a("ended"))
|
|
161
161
|
}, [
|
|
162
162
|
Ue(f.$slots, "default")
|
|
163
163
|
], 42, dt));
|
|
@@ -168,9 +168,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
168
168
|
class: {}
|
|
169
169
|
},
|
|
170
170
|
setup(e) {
|
|
171
|
-
const
|
|
171
|
+
const l = e;
|
|
172
172
|
return (t, n) => (r(), c("svg", {
|
|
173
|
-
class: L(["gvp-icon",
|
|
173
|
+
class: L(["gvp-icon", l.class]),
|
|
174
174
|
width: "16",
|
|
175
175
|
height: "16",
|
|
176
176
|
viewBox: "0 0 24 24",
|
|
@@ -178,13 +178,13 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
178
178
|
xmlns: "http://www.w3.org/2000/svg",
|
|
179
179
|
"aria-hidden": "true"
|
|
180
180
|
}, [...n[0] || (n[0] = [
|
|
181
|
-
|
|
181
|
+
o("path", {
|
|
182
182
|
d: "M3 14V10C3 9.44772 3.44772 9 4 9H6.58579C6.851 9 7.10536 8.89464 7.29289 8.70711L11.2929 4.70711C11.9229 4.07714 13 4.52331 13 5.41421V18.5858C13 19.4767 11.9229 19.9229 11.2929 19.2929L7.29289 15.2929C7.10536 15.1054 6.851 15 6.58579 15H4C3.44772 15 3 14.5523 3 14Z",
|
|
183
183
|
stroke: "currentColor",
|
|
184
184
|
"stroke-width": "1.5",
|
|
185
185
|
"stroke-linejoin": "round"
|
|
186
186
|
}, null, -1),
|
|
187
|
-
|
|
187
|
+
o("path", {
|
|
188
188
|
d: "M16.5 8C17.5 9 18 10.5 18 12C18 13.5 17.5 15 16.5 16M19 5.5C20.5 7 21.5 9.5 21.5 12C21.5 14.5 20.5 17 19 18.5",
|
|
189
189
|
stroke: "currentColor",
|
|
190
190
|
"stroke-width": "1.5",
|
|
@@ -198,9 +198,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
198
198
|
class: {}
|
|
199
199
|
},
|
|
200
200
|
setup(e) {
|
|
201
|
-
const
|
|
201
|
+
const l = e;
|
|
202
202
|
return (t, n) => (r(), c("svg", {
|
|
203
|
-
class: L(["gvp-icon",
|
|
203
|
+
class: L(["gvp-icon", l.class]),
|
|
204
204
|
width: "12",
|
|
205
205
|
height: "12",
|
|
206
206
|
viewBox: "0 0 24 24",
|
|
@@ -208,7 +208,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
208
208
|
xmlns: "http://www.w3.org/2000/svg",
|
|
209
209
|
"aria-hidden": "true"
|
|
210
210
|
}, [...n[0] || (n[0] = [
|
|
211
|
-
|
|
211
|
+
o("path", {
|
|
212
212
|
d: "M6 9L12 15L18 9",
|
|
213
213
|
stroke: "currentColor",
|
|
214
214
|
"stroke-width": "2",
|
|
@@ -229,53 +229,53 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
229
229
|
activeIndex: {}
|
|
230
230
|
},
|
|
231
231
|
emits: ["select"],
|
|
232
|
-
setup(e, { emit:
|
|
233
|
-
const t = e, n =
|
|
234
|
-
() => t.tracks.find((
|
|
232
|
+
setup(e, { emit: l }) {
|
|
233
|
+
const t = e, n = l, a = g(!1), v = g(null), d = I(
|
|
234
|
+
() => t.tracks.find((A) => A.index === t.activeIndex) ?? t.tracks[0]
|
|
235
235
|
);
|
|
236
|
-
function h(
|
|
237
|
-
v.value && !v.value.contains(
|
|
236
|
+
function h(A) {
|
|
237
|
+
v.value && !v.value.contains(A.target) && (a.value = !1);
|
|
238
238
|
}
|
|
239
|
-
function E(
|
|
240
|
-
|
|
239
|
+
function E(A) {
|
|
240
|
+
A.key === "Escape" && (a.value = !1);
|
|
241
241
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}),
|
|
242
|
+
H(a, (A) => {
|
|
243
|
+
A ? (document.addEventListener("mousedown", h), document.addEventListener("keydown", E)) : (document.removeEventListener("mousedown", h), document.removeEventListener("keydown", E));
|
|
244
|
+
}), oe(() => {
|
|
245
245
|
document.removeEventListener("mousedown", h), document.removeEventListener("keydown", E);
|
|
246
246
|
});
|
|
247
|
-
function A
|
|
248
|
-
n("select",
|
|
247
|
+
function S(A) {
|
|
248
|
+
n("select", A), a.value = !1;
|
|
249
249
|
}
|
|
250
|
-
return (
|
|
250
|
+
return (A, P) => {
|
|
251
251
|
var w;
|
|
252
252
|
return r(), c("div", {
|
|
253
253
|
ref_key: "rootEl",
|
|
254
254
|
ref: v,
|
|
255
255
|
class: "gvp-audio"
|
|
256
256
|
}, [
|
|
257
|
-
|
|
257
|
+
o("button", {
|
|
258
258
|
type: "button",
|
|
259
259
|
class: "gvp-audio-btn",
|
|
260
260
|
"aria-haspopup": "listbox",
|
|
261
|
-
"aria-expanded":
|
|
261
|
+
"aria-expanded": a.value,
|
|
262
262
|
"aria-label": "Audio track",
|
|
263
|
-
onClick: P[0] || (P[0] = ($) =>
|
|
263
|
+
onClick: P[0] || (P[0] = ($) => a.value = !a.value)
|
|
264
264
|
}, [
|
|
265
265
|
O(ft),
|
|
266
|
-
|
|
266
|
+
o("span", ht, Z((w = d.value) == null ? void 0 : w.label), 1),
|
|
267
267
|
O(Ze)
|
|
268
268
|
], 8, gt),
|
|
269
|
-
|
|
270
|
-
(r(!0), c(
|
|
269
|
+
a.value ? (r(), c("ul", kt, [
|
|
270
|
+
(r(!0), c(ae, null, pe(e.tracks, ($) => (r(), c("li", {
|
|
271
271
|
key: $.index
|
|
272
272
|
}, [
|
|
273
|
-
|
|
273
|
+
o("button", {
|
|
274
274
|
type: "button",
|
|
275
275
|
role: "option",
|
|
276
276
|
"aria-selected": $.index === e.activeIndex,
|
|
277
277
|
class: L(["gvp-audio-menu-item", { "is-active": $.index === e.activeIndex }]),
|
|
278
|
-
onClick: (T) =>
|
|
278
|
+
onClick: (T) => S($.index)
|
|
279
279
|
}, Z($.label), 11, yt)
|
|
280
280
|
]))), 128))
|
|
281
281
|
])) : x("", !0)
|
|
@@ -288,9 +288,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
288
288
|
class: {}
|
|
289
289
|
},
|
|
290
290
|
setup(e) {
|
|
291
|
-
const
|
|
291
|
+
const l = e;
|
|
292
292
|
return (t, n) => (r(), c("svg", {
|
|
293
|
-
class: L(["gvp-icon",
|
|
293
|
+
class: L(["gvp-icon", l.class]),
|
|
294
294
|
width: "16",
|
|
295
295
|
height: "16",
|
|
296
296
|
viewBox: "0 0 24 24",
|
|
@@ -298,12 +298,12 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
298
298
|
xmlns: "http://www.w3.org/2000/svg",
|
|
299
299
|
"aria-hidden": "true"
|
|
300
300
|
}, [...n[0] || (n[0] = [
|
|
301
|
-
|
|
301
|
+
o("path", {
|
|
302
302
|
d: "M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2Z",
|
|
303
303
|
stroke: "currentColor",
|
|
304
304
|
"stroke-width": "1.5"
|
|
305
305
|
}, null, -1),
|
|
306
|
-
|
|
306
|
+
o("path", {
|
|
307
307
|
d: "M12 8V12L14.5 14.5",
|
|
308
308
|
stroke: "currentColor",
|
|
309
309
|
"stroke-width": "1.5",
|
|
@@ -323,42 +323,42 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
323
323
|
speed: {}
|
|
324
324
|
},
|
|
325
325
|
emits: ["select"],
|
|
326
|
-
setup(e, { emit:
|
|
327
|
-
const t = [0.5, 0.75, 1, 1.25, 1.5, 2], n =
|
|
328
|
-
function d(
|
|
329
|
-
v.value && !v.value.contains(
|
|
326
|
+
setup(e, { emit: l }) {
|
|
327
|
+
const t = [0.5, 0.75, 1, 1.25, 1.5, 2], n = l, a = g(!1), v = g(null);
|
|
328
|
+
function d(S) {
|
|
329
|
+
v.value && !v.value.contains(S.target) && (a.value = !1);
|
|
330
330
|
}
|
|
331
|
-
function h(
|
|
332
|
-
|
|
331
|
+
function h(S) {
|
|
332
|
+
S.key === "Escape" && (a.value = !1);
|
|
333
333
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}),
|
|
334
|
+
H(a, (S) => {
|
|
335
|
+
S ? (document.addEventListener("mousedown", d), document.addEventListener("keydown", h)) : (document.removeEventListener("mousedown", d), document.removeEventListener("keydown", h));
|
|
336
|
+
}), oe(() => {
|
|
337
337
|
document.removeEventListener("mousedown", d), document.removeEventListener("keydown", h);
|
|
338
338
|
});
|
|
339
|
-
function E(
|
|
340
|
-
n("select",
|
|
339
|
+
function E(S) {
|
|
340
|
+
n("select", S), a.value = !1;
|
|
341
341
|
}
|
|
342
|
-
return (
|
|
342
|
+
return (S, A) => (r(), c("div", {
|
|
343
343
|
ref_key: "rootEl",
|
|
344
344
|
ref: v,
|
|
345
345
|
class: "gvp-speed"
|
|
346
346
|
}, [
|
|
347
|
-
|
|
347
|
+
o("button", {
|
|
348
348
|
type: "button",
|
|
349
349
|
class: "gvp-speed-btn",
|
|
350
350
|
"aria-haspopup": "listbox",
|
|
351
|
-
"aria-expanded":
|
|
351
|
+
"aria-expanded": a.value,
|
|
352
352
|
"aria-label": "`Playback speed: ${speed === 1 ? '1×' : speed + '×'}`",
|
|
353
|
-
onClick:
|
|
353
|
+
onClick: A[0] || (A[0] = (P) => a.value = !a.value)
|
|
354
354
|
}, [
|
|
355
355
|
O(xt),
|
|
356
|
-
|
|
356
|
+
o("span", Lt, Z(e.speed === 1 ? "1×" : `${e.speed}×`), 1),
|
|
357
357
|
O(Ze)
|
|
358
358
|
], 8, Ct),
|
|
359
|
-
|
|
360
|
-
(r(), c(
|
|
361
|
-
|
|
359
|
+
a.value ? (r(), c("ul", $t, [
|
|
360
|
+
(r(), c(ae, null, pe(t, (P) => o("li", { key: P }, [
|
|
361
|
+
o("button", {
|
|
362
362
|
type: "button",
|
|
363
363
|
role: "option",
|
|
364
364
|
"aria-selected": P === e.speed,
|
|
@@ -375,9 +375,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
375
375
|
class: {}
|
|
376
376
|
},
|
|
377
377
|
setup(e) {
|
|
378
|
-
const
|
|
378
|
+
const l = e;
|
|
379
379
|
return (t, n) => (r(), c("svg", {
|
|
380
|
-
class: L(["gvp-icon",
|
|
380
|
+
class: L(["gvp-icon", l.class]),
|
|
381
381
|
width: "18",
|
|
382
382
|
height: "18",
|
|
383
383
|
viewBox: "0 0 24 24",
|
|
@@ -385,7 +385,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
385
385
|
xmlns: "http://www.w3.org/2000/svg",
|
|
386
386
|
"aria-hidden": "true"
|
|
387
387
|
}, [...n[0] || (n[0] = [
|
|
388
|
-
|
|
388
|
+
o("rect", {
|
|
389
389
|
x: "2",
|
|
390
390
|
y: "5",
|
|
391
391
|
width: "20",
|
|
@@ -394,7 +394,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
394
394
|
stroke: "currentColor",
|
|
395
395
|
"stroke-width": "1.5"
|
|
396
396
|
}, null, -1),
|
|
397
|
-
|
|
397
|
+
o("path", {
|
|
398
398
|
d: "M7 12H11M13 12H17M7 15H9M11 15H13M15 15H17",
|
|
399
399
|
stroke: "currentColor",
|
|
400
400
|
"stroke-width": "1.5",
|
|
@@ -407,13 +407,13 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
407
407
|
class: "gvp-captions-menu",
|
|
408
408
|
role: "listbox",
|
|
409
409
|
"aria-label": "Captions"
|
|
410
|
-
},
|
|
410
|
+
}, St = ["aria-selected"], At = ["aria-selected", "onClick"], Nt = /* @__PURE__ */ N({
|
|
411
411
|
__name: "CaptionsSwitcher",
|
|
412
412
|
props: {
|
|
413
413
|
video: {}
|
|
414
414
|
},
|
|
415
415
|
setup(e) {
|
|
416
|
-
const
|
|
416
|
+
const l = e, t = g([]), n = g(-1), a = g(!1), v = g(null);
|
|
417
417
|
function d(w) {
|
|
418
418
|
const $ = [];
|
|
419
419
|
for (let f = 0; f < w.length; f++) {
|
|
@@ -430,7 +430,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
430
430
|
n.value = T;
|
|
431
431
|
}
|
|
432
432
|
let h = null;
|
|
433
|
-
|
|
433
|
+
H(() => l.video, (w) => {
|
|
434
434
|
if (h == null || h(), h = null, !w) {
|
|
435
435
|
t.value = [], n.value = -1;
|
|
436
436
|
return;
|
|
@@ -441,30 +441,30 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
441
441
|
typeof $.addEventListener == "function" && ($.addEventListener("addtrack", T), $.addEventListener("removetrack", T), $.addEventListener("change", T), h = () => {
|
|
442
442
|
$.removeEventListener("addtrack", T), $.removeEventListener("removetrack", T), $.removeEventListener("change", T);
|
|
443
443
|
});
|
|
444
|
-
}, { immediate: !0 }),
|
|
445
|
-
h == null || h(), document.removeEventListener("mousedown", E), document.removeEventListener("keydown",
|
|
444
|
+
}, { immediate: !0 }), oe(() => {
|
|
445
|
+
h == null || h(), document.removeEventListener("mousedown", E), document.removeEventListener("keydown", S);
|
|
446
446
|
});
|
|
447
447
|
function E(w) {
|
|
448
|
-
v.value && !v.value.contains(w.target) && (
|
|
448
|
+
v.value && !v.value.contains(w.target) && (a.value = !1);
|
|
449
449
|
}
|
|
450
|
-
function
|
|
451
|
-
w.key === "Escape" && (
|
|
450
|
+
function S(w) {
|
|
451
|
+
w.key === "Escape" && (a.value = !1);
|
|
452
452
|
}
|
|
453
|
-
|
|
454
|
-
w ? (document.addEventListener("mousedown", E), document.addEventListener("keydown",
|
|
453
|
+
H(a, (w) => {
|
|
454
|
+
w ? (document.addEventListener("mousedown", E), document.addEventListener("keydown", S)) : (document.removeEventListener("mousedown", E), document.removeEventListener("keydown", S));
|
|
455
455
|
});
|
|
456
|
-
function
|
|
457
|
-
if (!
|
|
458
|
-
const w =
|
|
456
|
+
function A() {
|
|
457
|
+
if (!l.video) return;
|
|
458
|
+
const w = l.video.textTracks;
|
|
459
459
|
for (let $ = 0; $ < w.length; $++) w[$].mode = "hidden";
|
|
460
|
-
n.value = -1,
|
|
460
|
+
n.value = -1, a.value = !1;
|
|
461
461
|
}
|
|
462
462
|
function P(w) {
|
|
463
|
-
if (!
|
|
464
|
-
const $ =
|
|
463
|
+
if (!l.video) return;
|
|
464
|
+
const $ = l.video.textTracks;
|
|
465
465
|
for (let T = 0; T < $.length; T++)
|
|
466
466
|
$[T].mode = T === w ? "showing" : "hidden";
|
|
467
|
-
n.value = w,
|
|
467
|
+
n.value = w, a.value = !1;
|
|
468
468
|
}
|
|
469
469
|
return (w, $) => t.value.length > 0 ? (r(), c("div", {
|
|
470
470
|
key: 0,
|
|
@@ -472,50 +472,50 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
472
472
|
ref: v,
|
|
473
473
|
class: "gvp-captions"
|
|
474
474
|
}, [
|
|
475
|
-
|
|
475
|
+
o("button", {
|
|
476
476
|
type: "button",
|
|
477
477
|
class: L(["gvp-captions-btn", { "is-active": n.value >= 0 }]),
|
|
478
478
|
"aria-haspopup": "listbox",
|
|
479
|
-
"aria-expanded":
|
|
479
|
+
"aria-expanded": a.value,
|
|
480
480
|
"aria-pressed": n.value >= 0,
|
|
481
481
|
"aria-label": "Captions",
|
|
482
|
-
onClick: $[0] || ($[0] = (T) =>
|
|
482
|
+
onClick: $[0] || ($[0] = (T) => a.value = !a.value)
|
|
483
483
|
}, [
|
|
484
484
|
O(Tt)
|
|
485
485
|
], 10, Mt),
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
486
|
+
a.value ? (r(), c("ul", It, [
|
|
487
|
+
o("li", null, [
|
|
488
|
+
o("button", {
|
|
489
489
|
type: "button",
|
|
490
490
|
role: "option",
|
|
491
491
|
"aria-selected": n.value === -1,
|
|
492
492
|
class: L(["gvp-captions-menu-item", { "is-active": n.value === -1 }]),
|
|
493
|
-
onClick:
|
|
494
|
-
}, " Off ", 10,
|
|
493
|
+
onClick: A
|
|
494
|
+
}, " Off ", 10, St)
|
|
495
495
|
]),
|
|
496
|
-
(r(!0), c(
|
|
496
|
+
(r(!0), c(ae, null, pe(t.value, (T) => (r(), c("li", {
|
|
497
497
|
key: T.index
|
|
498
498
|
}, [
|
|
499
|
-
|
|
499
|
+
o("button", {
|
|
500
500
|
type: "button",
|
|
501
501
|
role: "option",
|
|
502
502
|
"aria-selected": T.index === n.value,
|
|
503
503
|
class: L(["gvp-captions-menu-item", { "is-active": T.index === n.value }]),
|
|
504
504
|
onClick: (f) => P(T.index)
|
|
505
|
-
}, Z(T.label), 11,
|
|
505
|
+
}, Z(T.label), 11, At)
|
|
506
506
|
]))), 128))
|
|
507
507
|
])) : x("", !0)
|
|
508
508
|
], 512)) : x("", !0);
|
|
509
509
|
}
|
|
510
|
-
}),
|
|
511
|
-
...
|
|
510
|
+
}), Bt = { name: "IconPause" }, Ht = /* @__PURE__ */ N({
|
|
511
|
+
...Bt,
|
|
512
512
|
props: {
|
|
513
513
|
class: {}
|
|
514
514
|
},
|
|
515
515
|
setup(e) {
|
|
516
|
-
const
|
|
516
|
+
const l = e;
|
|
517
517
|
return (t, n) => (r(), c("svg", {
|
|
518
|
-
class: L(["gvp-icon",
|
|
518
|
+
class: L(["gvp-icon", l.class]),
|
|
519
519
|
width: "16",
|
|
520
520
|
height: "16",
|
|
521
521
|
viewBox: "0 0 24 24",
|
|
@@ -523,7 +523,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
523
523
|
xmlns: "http://www.w3.org/2000/svg",
|
|
524
524
|
"aria-hidden": "true"
|
|
525
525
|
}, [...n[0] || (n[0] = [
|
|
526
|
-
|
|
526
|
+
o("rect", {
|
|
527
527
|
x: "6",
|
|
528
528
|
y: "5",
|
|
529
529
|
width: "4",
|
|
@@ -531,7 +531,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
531
531
|
rx: "1",
|
|
532
532
|
fill: "currentColor"
|
|
533
533
|
}, null, -1),
|
|
534
|
-
|
|
534
|
+
o("rect", {
|
|
535
535
|
x: "14",
|
|
536
536
|
y: "5",
|
|
537
537
|
width: "4",
|
|
@@ -541,15 +541,15 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
541
541
|
}, null, -1)
|
|
542
542
|
])], 2));
|
|
543
543
|
}
|
|
544
|
-
}),
|
|
545
|
-
...
|
|
544
|
+
}), Vt = { name: "IconPlaySolid" }, Rt = /* @__PURE__ */ N({
|
|
545
|
+
...Vt,
|
|
546
546
|
props: {
|
|
547
547
|
class: {}
|
|
548
548
|
},
|
|
549
549
|
setup(e) {
|
|
550
|
-
const
|
|
550
|
+
const l = e;
|
|
551
551
|
return (t, n) => (r(), c("svg", {
|
|
552
|
-
class: L(["gvp-icon",
|
|
552
|
+
class: L(["gvp-icon", l.class]),
|
|
553
553
|
width: "16",
|
|
554
554
|
height: "16",
|
|
555
555
|
viewBox: "0 0 24 24",
|
|
@@ -557,7 +557,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
557
557
|
xmlns: "http://www.w3.org/2000/svg",
|
|
558
558
|
"aria-hidden": "true"
|
|
559
559
|
}, [...n[0] || (n[0] = [
|
|
560
|
-
|
|
560
|
+
o("path", {
|
|
561
561
|
d: "M7 5.5V18.5C7 19.2659 7.84856 19.7261 8.4899 19.3071L19.0801 12.4014C19.6644 12.0204 19.6644 11.9796 19.0801 11.5986L8.4899 4.69288C7.84856 4.27388 7 4.73408 7 5.5Z",
|
|
562
562
|
fill: "currentColor"
|
|
563
563
|
}, null, -1)
|
|
@@ -569,9 +569,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
569
569
|
class: {}
|
|
570
570
|
},
|
|
571
571
|
setup(e) {
|
|
572
|
-
const
|
|
572
|
+
const l = e;
|
|
573
573
|
return (t, n) => (r(), c("svg", {
|
|
574
|
-
class: L(["gvp-icon",
|
|
574
|
+
class: L(["gvp-icon", l.class]),
|
|
575
575
|
width: "16",
|
|
576
576
|
height: "16",
|
|
577
577
|
viewBox: "0 0 24 24",
|
|
@@ -579,11 +579,11 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
579
579
|
xmlns: "http://www.w3.org/2000/svg",
|
|
580
580
|
"aria-hidden": "true"
|
|
581
581
|
}, [...n[0] || (n[0] = [
|
|
582
|
-
|
|
582
|
+
o("path", {
|
|
583
583
|
d: "M16.5 18.5V5.5C16.5 4.73408 15.6514 4.27388 15.0101 4.69288L6.91993 9.98432C6.33563 10.3653 6.33563 11.0347 6.91993 11.4157L15.0101 16.7071C15.6514 17.1261 16.5 16.6659 16.5 15.9V18.5Z",
|
|
584
584
|
fill: "currentColor"
|
|
585
585
|
}, null, -1),
|
|
586
|
-
|
|
586
|
+
o("path", {
|
|
587
587
|
d: "M6 5V19",
|
|
588
588
|
stroke: "currentColor",
|
|
589
589
|
"stroke-width": "2",
|
|
@@ -597,9 +597,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
597
597
|
class: {}
|
|
598
598
|
},
|
|
599
599
|
setup(e) {
|
|
600
|
-
const
|
|
600
|
+
const l = e;
|
|
601
601
|
return (t, n) => (r(), c("svg", {
|
|
602
|
-
class: L(["gvp-icon",
|
|
602
|
+
class: L(["gvp-icon", l.class]),
|
|
603
603
|
width: "16",
|
|
604
604
|
height: "16",
|
|
605
605
|
viewBox: "0 0 24 24",
|
|
@@ -607,11 +607,11 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
607
607
|
xmlns: "http://www.w3.org/2000/svg",
|
|
608
608
|
"aria-hidden": "true"
|
|
609
609
|
}, [...n[0] || (n[0] = [
|
|
610
|
-
|
|
610
|
+
o("path", {
|
|
611
611
|
d: "M7.5 5.5V18.5C7.5 19.2659 8.34856 19.7261 8.98990 19.3071L17.0801 14.0157C17.6644 13.6347 17.6644 12.9653 17.0801 12.5843L8.98990 7.29288C8.34856 6.87388 7.5 7.33408 7.5 8.1V5.5Z",
|
|
612
612
|
fill: "currentColor"
|
|
613
613
|
}, null, -1),
|
|
614
|
-
|
|
614
|
+
o("path", {
|
|
615
615
|
d: "M18 5V19",
|
|
616
616
|
stroke: "currentColor",
|
|
617
617
|
"stroke-width": "2",
|
|
@@ -625,9 +625,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
625
625
|
class: {}
|
|
626
626
|
},
|
|
627
627
|
setup(e) {
|
|
628
|
-
const
|
|
628
|
+
const l = e;
|
|
629
629
|
return (t, n) => (r(), c("svg", {
|
|
630
|
-
class: L(["gvp-icon",
|
|
630
|
+
class: L(["gvp-icon", l.class]),
|
|
631
631
|
width: "18",
|
|
632
632
|
height: "18",
|
|
633
633
|
viewBox: "0 0 24 24",
|
|
@@ -635,13 +635,13 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
635
635
|
xmlns: "http://www.w3.org/2000/svg",
|
|
636
636
|
"aria-hidden": "true"
|
|
637
637
|
}, [...n[0] || (n[0] = [
|
|
638
|
-
|
|
638
|
+
o("path", {
|
|
639
639
|
d: "M3 14V10C3 9.44772 3.44772 9 4 9H6.58579C6.851 9 7.10536 8.89464 7.29289 8.70711L11.2929 4.70711C11.9229 4.07714 13 4.52331 13 5.41421V18.5858C13 19.4767 11.9229 19.9229 11.2929 19.2929L7.29289 15.2929C7.10536 15.1054 6.851 15 6.58579 15H4C3.44772 15 3 14.5523 3 14Z",
|
|
640
640
|
stroke: "currentColor",
|
|
641
641
|
"stroke-width": "1.5",
|
|
642
642
|
"stroke-linejoin": "round"
|
|
643
643
|
}, null, -1),
|
|
644
|
-
|
|
644
|
+
o("path", {
|
|
645
645
|
d: "M16.5 8C17.5 9 18 10.5 18 12C18 13.5 17.5 15 16.5 16M19 5.5C20.5 7 21.5 9.5 21.5 12C21.5 14.5 20.5 17 19 18.5",
|
|
646
646
|
stroke: "currentColor",
|
|
647
647
|
"stroke-width": "1.5",
|
|
@@ -655,9 +655,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
655
655
|
class: {}
|
|
656
656
|
},
|
|
657
657
|
setup(e) {
|
|
658
|
-
const
|
|
658
|
+
const l = e;
|
|
659
659
|
return (t, n) => (r(), c("svg", {
|
|
660
|
-
class: L(["gvp-icon",
|
|
660
|
+
class: L(["gvp-icon", l.class]),
|
|
661
661
|
width: "18",
|
|
662
662
|
height: "18",
|
|
663
663
|
viewBox: "0 0 24 24",
|
|
@@ -665,13 +665,13 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
665
665
|
xmlns: "http://www.w3.org/2000/svg",
|
|
666
666
|
"aria-hidden": "true"
|
|
667
667
|
}, [...n[0] || (n[0] = [
|
|
668
|
-
|
|
668
|
+
o("path", {
|
|
669
669
|
d: "M3 14V10C3 9.44772 3.44772 9 4 9H6.58579C6.851 9 7.10536 8.89464 7.29289 8.70711L11.2929 4.70711C11.9229 4.07714 13 4.52331 13 5.41421V18.5858C13 19.4767 11.9229 19.9229 11.2929 19.2929L7.29289 15.2929C7.10536 15.1054 6.851 15 6.58579 15H4C3.44772 15 3 14.5523 3 14Z",
|
|
670
670
|
stroke: "currentColor",
|
|
671
671
|
"stroke-width": "1.5",
|
|
672
672
|
"stroke-linejoin": "round"
|
|
673
673
|
}, null, -1),
|
|
674
|
-
|
|
674
|
+
o("path", {
|
|
675
675
|
d: "M16.5 8C17.5 9 18 10.5 18 12C18 13.5 17.5 15 16.5 16",
|
|
676
676
|
stroke: "currentColor",
|
|
677
677
|
"stroke-width": "1.5",
|
|
@@ -685,9 +685,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
685
685
|
class: {}
|
|
686
686
|
},
|
|
687
687
|
setup(e) {
|
|
688
|
-
const
|
|
688
|
+
const l = e;
|
|
689
689
|
return (t, n) => (r(), c("svg", {
|
|
690
|
-
class: L(["gvp-icon",
|
|
690
|
+
class: L(["gvp-icon", l.class]),
|
|
691
691
|
width: "18",
|
|
692
692
|
height: "18",
|
|
693
693
|
viewBox: "0 0 24 24",
|
|
@@ -695,13 +695,13 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
695
695
|
xmlns: "http://www.w3.org/2000/svg",
|
|
696
696
|
"aria-hidden": "true"
|
|
697
697
|
}, [...n[0] || (n[0] = [
|
|
698
|
-
|
|
698
|
+
o("path", {
|
|
699
699
|
d: "M3 14V10C3 9.44772 3.44772 9 4 9H6.58579C6.851 9 7.10536 8.89464 7.29289 8.70711L11.2929 4.70711C11.9229 4.07714 13 4.52331 13 5.41421V18.5858C13 19.4767 11.9229 19.9229 11.2929 19.2929L7.29289 15.2929C7.10536 15.1054 6.851 15 6.58579 15H4C3.44772 15 3 14.5523 3 14Z",
|
|
700
700
|
stroke: "currentColor",
|
|
701
701
|
"stroke-width": "1.5",
|
|
702
702
|
"stroke-linejoin": "round"
|
|
703
703
|
}, null, -1),
|
|
704
|
-
|
|
704
|
+
o("path", {
|
|
705
705
|
d: "M16 9L22 15M22 9L16 15",
|
|
706
706
|
stroke: "currentColor",
|
|
707
707
|
"stroke-width": "1.5",
|
|
@@ -715,9 +715,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
715
715
|
class: {}
|
|
716
716
|
},
|
|
717
717
|
setup(e) {
|
|
718
|
-
const
|
|
718
|
+
const l = e;
|
|
719
719
|
return (t, n) => (r(), c("svg", {
|
|
720
|
-
class: L(["gvp-icon",
|
|
720
|
+
class: L(["gvp-icon", l.class]),
|
|
721
721
|
width: "18",
|
|
722
722
|
height: "18",
|
|
723
723
|
viewBox: "0 0 24 24",
|
|
@@ -725,7 +725,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
725
725
|
xmlns: "http://www.w3.org/2000/svg",
|
|
726
726
|
"aria-hidden": "true"
|
|
727
727
|
}, [...n[0] || (n[0] = [
|
|
728
|
-
|
|
728
|
+
o("rect", {
|
|
729
729
|
x: "2",
|
|
730
730
|
y: "4",
|
|
731
731
|
width: "20",
|
|
@@ -734,7 +734,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
734
734
|
stroke: "currentColor",
|
|
735
735
|
"stroke-width": "1.5"
|
|
736
736
|
}, null, -1),
|
|
737
|
-
|
|
737
|
+
o("rect", {
|
|
738
738
|
x: "12",
|
|
739
739
|
y: "12",
|
|
740
740
|
width: "8",
|
|
@@ -750,9 +750,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
750
750
|
class: {}
|
|
751
751
|
},
|
|
752
752
|
setup(e) {
|
|
753
|
-
const
|
|
753
|
+
const l = e;
|
|
754
754
|
return (t, n) => (r(), c("svg", {
|
|
755
|
-
class: L(["gvp-icon",
|
|
755
|
+
class: L(["gvp-icon", l.class]),
|
|
756
756
|
width: "18",
|
|
757
757
|
height: "18",
|
|
758
758
|
viewBox: "0 0 24 24",
|
|
@@ -760,7 +760,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
760
760
|
xmlns: "http://www.w3.org/2000/svg",
|
|
761
761
|
"aria-hidden": "true"
|
|
762
762
|
}, [...n[0] || (n[0] = [
|
|
763
|
-
|
|
763
|
+
o("path", {
|
|
764
764
|
d: "M4 9V4H9M15 4H20V9M20 15V20H15M9 20H4V15",
|
|
765
765
|
stroke: "currentColor",
|
|
766
766
|
"stroke-width": "1.75",
|
|
@@ -775,9 +775,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
775
775
|
class: {}
|
|
776
776
|
},
|
|
777
777
|
setup(e) {
|
|
778
|
-
const
|
|
778
|
+
const l = e;
|
|
779
779
|
return (t, n) => (r(), c("svg", {
|
|
780
|
-
class: L(["gvp-icon",
|
|
780
|
+
class: L(["gvp-icon", l.class]),
|
|
781
781
|
width: "18",
|
|
782
782
|
height: "18",
|
|
783
783
|
viewBox: "0 0 24 24",
|
|
@@ -785,10 +785,10 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
785
785
|
xmlns: "http://www.w3.org/2000/svg",
|
|
786
786
|
"aria-hidden": "true"
|
|
787
787
|
}, [...n[0] || (n[0] = [
|
|
788
|
-
|
|
789
|
-
d: "M9
|
|
788
|
+
o("path", {
|
|
789
|
+
d: "M9 4V7A2 2 0 0 1 7 9H4M15 4V7A2 2 0 0 0 17 9H20M15 20V17A2 2 0 0 1 17 15H20M9 20V17A2 2 0 0 0 7 15H4",
|
|
790
790
|
stroke: "currentColor",
|
|
791
|
-
"stroke-width": "
|
|
791
|
+
"stroke-width": "2",
|
|
792
792
|
"stroke-linecap": "round",
|
|
793
793
|
"stroke-linejoin": "round"
|
|
794
794
|
}, null, -1)
|
|
@@ -800,27 +800,21 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
800
800
|
class: {}
|
|
801
801
|
},
|
|
802
802
|
setup(e) {
|
|
803
|
-
const
|
|
803
|
+
const l = e;
|
|
804
804
|
return (t, n) => (r(), c("svg", {
|
|
805
|
-
class: L(["gvp-icon",
|
|
806
|
-
width: "
|
|
807
|
-
height: "
|
|
805
|
+
class: L(["gvp-icon", l.class]),
|
|
806
|
+
width: "18",
|
|
807
|
+
height: "18",
|
|
808
808
|
viewBox: "0 0 24 24",
|
|
809
809
|
fill: "none",
|
|
810
810
|
xmlns: "http://www.w3.org/2000/svg",
|
|
811
811
|
"aria-hidden": "true"
|
|
812
812
|
}, [...n[0] || (n[0] = [
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
a("path", {
|
|
819
|
-
d: "M19.4 13A1.65 1.65 0 0 0 19.73 14.82L19.79 14.88A2 2 0 1 1 16.96 17.71L16.9 17.65A1.65 1.65 0 0 0 15.08 17.32A1.65 1.65 0 0 0 14 18.83V19A2 2 0 1 1 10 19V18.91A1.65 1.65 0 0 0 8.83 17.4A1.65 1.65 0 0 0 7.01 17.73L6.95 17.79A2 2 0 1 1 4.12 14.96L4.18 14.9A1.65 1.65 0 0 0 4.51 13.08A1.65 1.65 0 0 0 3 12H2.91A2 2 0 1 1 2.91 8H3A1.65 1.65 0 0 0 4.51 6.83A1.65 1.65 0 0 0 4.18 5.01L4.12 4.95A2 2 0 1 1 6.95 2.12L7.01 2.18A1.65 1.65 0 0 0 8.83 2.51H8.91A1.65 1.65 0 0 0 10 1V0.91A2 2 0 1 1 14 0.91V1A1.65 1.65 0 0 0 15.08 2.51A1.65 1.65 0 0 0 16.9 2.18L16.96 2.12A2 2 0 1 1 19.79 4.95L19.73 5.01A1.65 1.65 0 0 0 19.4 6.83V6.91A1.65 1.65 0 0 0 21 8H21.09A2 2 0 1 1 21.09 12H21A1.65 1.65 0 0 0 19.4 13Z",
|
|
820
|
-
stroke: "currentColor",
|
|
821
|
-
"stroke-width": "2",
|
|
822
|
-
"stroke-linecap": "round",
|
|
823
|
-
"stroke-linejoin": "round"
|
|
813
|
+
o("path", {
|
|
814
|
+
"fill-rule": "evenodd",
|
|
815
|
+
"clip-rule": "evenodd",
|
|
816
|
+
d: "M10.5 2.25a1 1 0 0 0-.98.804l-.39 1.93a7.5 7.5 0 0 0-1.62.94l-1.86-.64a1 1 0 0 0-1.2.46l-1.5 2.6a1 1 0 0 0 .22 1.26l1.47 1.29a7.6 7.6 0 0 0 0 1.88l-1.47 1.29a1 1 0 0 0-.22 1.26l1.5 2.6a1 1 0 0 0 1.2.46l1.86-.64c.5.38 1.04.7 1.62.94l.39 1.93a1 1 0 0 0 .98.804h3a1 1 0 0 0 .98-.804l.39-1.93c.58-.24 1.12-.56 1.62-.94l1.86.64a1 1 0 0 0 1.2-.46l1.5-2.6a1 1 0 0 0-.22-1.26l-1.47-1.29a7.6 7.6 0 0 0 0-1.88l1.47-1.29a1 1 0 0 0 .22-1.26l-1.5-2.6a1 1 0 0 0-1.2-.46l-1.86.64a7.5 7.5 0 0 0-1.62-.94l-.39-1.93a1 1 0 0 0-.98-.804h-3ZM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",
|
|
817
|
+
fill: "currentColor"
|
|
824
818
|
}, null, -1)
|
|
825
819
|
])], 2));
|
|
826
820
|
}
|
|
@@ -830,9 +824,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
830
824
|
class: {}
|
|
831
825
|
},
|
|
832
826
|
setup(e) {
|
|
833
|
-
const
|
|
827
|
+
const l = e;
|
|
834
828
|
return (t, n) => (r(), c("svg", {
|
|
835
|
-
class: L(["gvp-icon",
|
|
829
|
+
class: L(["gvp-icon", l.class]),
|
|
836
830
|
width: "14",
|
|
837
831
|
height: "14",
|
|
838
832
|
viewBox: "0 0 24 24",
|
|
@@ -840,7 +834,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
840
834
|
xmlns: "http://www.w3.org/2000/svg",
|
|
841
835
|
"aria-hidden": "true"
|
|
842
836
|
}, [...n[0] || (n[0] = [
|
|
843
|
-
|
|
837
|
+
o("path", {
|
|
844
838
|
d: "M9 6L15 12L9 18",
|
|
845
839
|
stroke: "currentColor",
|
|
846
840
|
"stroke-width": "2",
|
|
@@ -849,15 +843,15 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
849
843
|
}, null, -1)
|
|
850
844
|
])], 2));
|
|
851
845
|
}
|
|
852
|
-
}),
|
|
853
|
-
...
|
|
846
|
+
}), ln = { name: "IconCheck" }, we = /* @__PURE__ */ N({
|
|
847
|
+
...ln,
|
|
854
848
|
props: {
|
|
855
849
|
class: {}
|
|
856
850
|
},
|
|
857
851
|
setup(e) {
|
|
858
|
-
const
|
|
852
|
+
const l = e;
|
|
859
853
|
return (t, n) => (r(), c("svg", {
|
|
860
|
-
class: L(["gvp-icon",
|
|
854
|
+
class: L(["gvp-icon", l.class]),
|
|
861
855
|
width: "14",
|
|
862
856
|
height: "14",
|
|
863
857
|
viewBox: "0 0 24 24",
|
|
@@ -865,7 +859,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
865
859
|
xmlns: "http://www.w3.org/2000/svg",
|
|
866
860
|
"aria-hidden": "true"
|
|
867
861
|
}, [...n[0] || (n[0] = [
|
|
868
|
-
|
|
862
|
+
o("path", {
|
|
869
863
|
d: "M5 12L10 17L19 7",
|
|
870
864
|
stroke: "currentColor",
|
|
871
865
|
"stroke-width": "2.5",
|
|
@@ -874,11 +868,11 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
874
868
|
}, null, -1)
|
|
875
869
|
])], 2));
|
|
876
870
|
}
|
|
877
|
-
}),
|
|
871
|
+
}), sn = ["aria-expanded"], an = {
|
|
878
872
|
key: 0,
|
|
879
873
|
class: "gvp-settings-menu",
|
|
880
874
|
role: "menu"
|
|
881
|
-
},
|
|
875
|
+
}, on = { class: "gvp-settings-row-value" }, rn = { class: "gvp-settings-row-value" }, un = { class: "gvp-settings-row-value" }, cn = { class: "gvp-settings-row-value" }, dn = ["aria-checked", "onClick"], vn = { class: "gvp-settings-check" }, pn = ["aria-checked"], fn = { class: "gvp-settings-check" }, mn = ["aria-checked", "onClick"], gn = { class: "gvp-settings-check" }, hn = ["aria-checked"], kn = { class: "gvp-settings-check" }, yn = ["aria-checked", "onClick"], bn = { class: "gvp-settings-check" }, wn = ["aria-checked", "onClick"], xn = { class: "gvp-settings-check" }, Cn = { name: "SettingsMenu" }, Ln = /* @__PURE__ */ N({
|
|
882
876
|
...Cn,
|
|
883
877
|
props: {
|
|
884
878
|
video: {},
|
|
@@ -889,26 +883,26 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
889
883
|
audioTrackIndex: { default: -1 }
|
|
890
884
|
},
|
|
891
885
|
emits: ["select-level", "select-audio-track"],
|
|
892
|
-
setup(e, { emit:
|
|
893
|
-
const t = e, n =
|
|
894
|
-
|
|
886
|
+
setup(e, { emit: l }) {
|
|
887
|
+
const t = e, n = l, a = [0.5, 0.75, 1, 1.25, 1.5, 2], v = g(!1), d = g("root"), h = g(null), E = g(1);
|
|
888
|
+
H(() => t.video, (y) => {
|
|
895
889
|
if (!y) return;
|
|
896
890
|
const p = () => {
|
|
897
891
|
E.value = y.playbackRate;
|
|
898
892
|
};
|
|
899
893
|
p(), y.addEventListener("ratechange", p);
|
|
900
894
|
}, { immediate: !0 });
|
|
901
|
-
function
|
|
895
|
+
function S(y) {
|
|
902
896
|
t.video && (t.video.playbackRate = y), E.value = y, d.value = "root";
|
|
903
897
|
}
|
|
904
|
-
const
|
|
898
|
+
const A = g([]), P = g(-1);
|
|
905
899
|
function w(y) {
|
|
906
900
|
const p = [];
|
|
907
901
|
for (let m = 0; m < y.length; m++) {
|
|
908
902
|
const Q = y[m];
|
|
909
903
|
(Q.kind === "subtitles" || Q.kind === "captions") && p.push({ index: m, label: Q.label || Q.language || `Track ${m + 1}` });
|
|
910
904
|
}
|
|
911
|
-
|
|
905
|
+
A.value = p;
|
|
912
906
|
let ee = -1;
|
|
913
907
|
for (let m = 0; m < y.length; m++)
|
|
914
908
|
if (y[m].mode === "showing") {
|
|
@@ -917,9 +911,9 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
917
911
|
}
|
|
918
912
|
P.value = ee;
|
|
919
913
|
}
|
|
920
|
-
|
|
914
|
+
H(() => t.video, (y) => {
|
|
921
915
|
if (!y) {
|
|
922
|
-
|
|
916
|
+
A.value = [], P.value = -1;
|
|
923
917
|
return;
|
|
924
918
|
}
|
|
925
919
|
const p = y.textTracks;
|
|
@@ -952,25 +946,25 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
952
946
|
function K(y) {
|
|
953
947
|
n("select-audio-track", y), d.value = "root";
|
|
954
948
|
}
|
|
955
|
-
const re = I(() => t.qualityLevels.length >= 2), C = I(() =>
|
|
949
|
+
const re = I(() => t.qualityLevels.length >= 2), C = I(() => A.value.length > 0), W = I(() => t.audioTracks.length > 1), V = I(() => E.value === 1 ? "Normal" : `${E.value}×`), D = I(
|
|
956
950
|
() => {
|
|
957
951
|
var y;
|
|
958
|
-
return P.value < 0 ? "Off" : ((y =
|
|
952
|
+
return P.value < 0 ? "Off" : ((y = A.value.find((p) => p.index === P.value)) == null ? void 0 : y.label) ?? "Off";
|
|
959
953
|
}
|
|
960
954
|
);
|
|
961
955
|
function F() {
|
|
962
956
|
v.value = !1, d.value = "root";
|
|
963
957
|
}
|
|
964
|
-
function
|
|
958
|
+
function B(y) {
|
|
965
959
|
h.value && !h.value.contains(y.target) && F();
|
|
966
960
|
}
|
|
967
961
|
function R(y) {
|
|
968
962
|
y.key === "Escape" && F();
|
|
969
963
|
}
|
|
970
|
-
|
|
971
|
-
y ? (document.addEventListener("mousedown",
|
|
972
|
-
}),
|
|
973
|
-
document.removeEventListener("mousedown",
|
|
964
|
+
H(v, (y) => {
|
|
965
|
+
y ? (document.addEventListener("mousedown", B), document.addEventListener("keydown", R)) : (document.removeEventListener("mousedown", B), document.removeEventListener("keydown", R));
|
|
966
|
+
}), oe(() => {
|
|
967
|
+
document.removeEventListener("mousedown", B), document.removeEventListener("keydown", R);
|
|
974
968
|
});
|
|
975
969
|
function fe() {
|
|
976
970
|
v.value = !v.value, d.value = "root";
|
|
@@ -982,7 +976,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
982
976
|
ref: h,
|
|
983
977
|
class: "gvp-settings"
|
|
984
978
|
}, [
|
|
985
|
-
|
|
979
|
+
o("button", {
|
|
986
980
|
type: "button",
|
|
987
981
|
class: L(["gvp-ctrl-btn", { "is-active": v.value }]),
|
|
988
982
|
"aria-haspopup": "menu",
|
|
@@ -991,17 +985,17 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
991
985
|
onClick: fe
|
|
992
986
|
}, [
|
|
993
987
|
O(tn)
|
|
994
|
-
], 10,
|
|
995
|
-
v.value ? (r(), c("div",
|
|
996
|
-
d.value === "root" ? (r(), c(
|
|
997
|
-
|
|
988
|
+
], 10, sn),
|
|
989
|
+
v.value ? (r(), c("div", an, [
|
|
990
|
+
d.value === "root" ? (r(), c(ae, { key: 0 }, [
|
|
991
|
+
o("button", {
|
|
998
992
|
type: "button",
|
|
999
993
|
role: "menuitem",
|
|
1000
994
|
class: "gvp-settings-row",
|
|
1001
995
|
onClick: p[0] || (p[0] = (m) => d.value = "speed")
|
|
1002
996
|
}, [
|
|
1003
|
-
p[7] || (p[7] =
|
|
1004
|
-
|
|
997
|
+
p[7] || (p[7] = o("span", { class: "gvp-settings-row-label" }, "Speed", -1)),
|
|
998
|
+
o("span", on, Z(V.value), 1),
|
|
1005
999
|
O(Ee, { class: "gvp-settings-chevron" })
|
|
1006
1000
|
]),
|
|
1007
1001
|
re.value ? (r(), c("button", {
|
|
@@ -1011,8 +1005,8 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1011
1005
|
class: "gvp-settings-row",
|
|
1012
1006
|
onClick: p[1] || (p[1] = (m) => d.value = "quality")
|
|
1013
1007
|
}, [
|
|
1014
|
-
p[8] || (p[8] =
|
|
1015
|
-
|
|
1008
|
+
p[8] || (p[8] = o("span", { class: "gvp-settings-row-label" }, "Quality", -1)),
|
|
1009
|
+
o("span", rn, Z(M.value), 1),
|
|
1016
1010
|
O(Ee, { class: "gvp-settings-chevron" })
|
|
1017
1011
|
])) : x("", !0),
|
|
1018
1012
|
C.value ? (r(), c("button", {
|
|
@@ -1022,8 +1016,8 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1022
1016
|
class: "gvp-settings-row",
|
|
1023
1017
|
onClick: p[2] || (p[2] = (m) => d.value = "captions")
|
|
1024
1018
|
}, [
|
|
1025
|
-
p[9] || (p[9] =
|
|
1026
|
-
|
|
1019
|
+
p[9] || (p[9] = o("span", { class: "gvp-settings-row-label" }, "Subtitles", -1)),
|
|
1020
|
+
o("span", un, Z(D.value), 1),
|
|
1027
1021
|
O(Ee, { class: "gvp-settings-chevron" })
|
|
1028
1022
|
])) : x("", !0),
|
|
1029
1023
|
W.value ? (r(), c("button", {
|
|
@@ -1033,8 +1027,8 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1033
1027
|
class: "gvp-settings-row",
|
|
1034
1028
|
onClick: p[3] || (p[3] = (m) => d.value = "audio")
|
|
1035
1029
|
}, [
|
|
1036
|
-
p[10] || (p[10] =
|
|
1037
|
-
|
|
1030
|
+
p[10] || (p[10] = o("span", { class: "gvp-settings-row-label" }, "Audio", -1)),
|
|
1031
|
+
o("span", cn, Z((ee = j.value) == null ? void 0 : ee.label), 1),
|
|
1038
1032
|
O(Ee, { class: "gvp-settings-chevron" })
|
|
1039
1033
|
])) : x("", !0)
|
|
1040
1034
|
], 64)) : x("", !0),
|
|
@@ -1045,35 +1039,35 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1045
1039
|
onClick: p[4] || (p[4] = (m) => d.value = "root")
|
|
1046
1040
|
}, [
|
|
1047
1041
|
O(Ee, { class: "gvp-settings-back-icon" }),
|
|
1048
|
-
|
|
1042
|
+
o("span", null, Z(d.value === "speed" ? "Speed" : d.value === "quality" ? "Quality" : d.value === "captions" ? "Subtitles" : "Audio"), 1)
|
|
1049
1043
|
])) : x("", !0),
|
|
1050
|
-
d.value === "speed" ? (r(), c(
|
|
1044
|
+
d.value === "speed" ? (r(), c(ae, { key: 2 }, pe(a, (m) => o("button", {
|
|
1051
1045
|
key: m,
|
|
1052
1046
|
type: "button",
|
|
1053
1047
|
role: "menuitemradio",
|
|
1054
1048
|
"aria-checked": m === E.value,
|
|
1055
1049
|
class: L(["gvp-settings-option", { "is-active": m === E.value }]),
|
|
1056
|
-
onClick: (Q) =>
|
|
1050
|
+
onClick: (Q) => S(m)
|
|
1057
1051
|
}, [
|
|
1058
|
-
|
|
1052
|
+
o("span", vn, [
|
|
1059
1053
|
m === E.value ? (r(), J(we, { key: 0 })) : x("", !0)
|
|
1060
1054
|
]),
|
|
1061
|
-
|
|
1055
|
+
o("span", null, Z(m === 1 ? "Normal" : `${m}×`), 1)
|
|
1062
1056
|
], 10, dn)), 64)) : x("", !0),
|
|
1063
|
-
d.value === "quality" ? (r(), c(
|
|
1064
|
-
|
|
1057
|
+
d.value === "quality" ? (r(), c(ae, { key: 3 }, [
|
|
1058
|
+
o("button", {
|
|
1065
1059
|
type: "button",
|
|
1066
1060
|
role: "menuitemradio",
|
|
1067
1061
|
"aria-checked": e.selectedLevel < 0,
|
|
1068
1062
|
class: L(["gvp-settings-option", { "is-active": e.selectedLevel < 0 }]),
|
|
1069
|
-
onClick: p[5] || (p[5] = (m) => z(
|
|
1063
|
+
onClick: p[5] || (p[5] = (m) => z(se(ut).index))
|
|
1070
1064
|
}, [
|
|
1071
|
-
|
|
1065
|
+
o("span", fn, [
|
|
1072
1066
|
e.selectedLevel < 0 ? (r(), J(we, { key: 0 })) : x("", !0)
|
|
1073
1067
|
]),
|
|
1074
|
-
|
|
1068
|
+
o("span", null, Z(f.value ? `Auto (${f.value.label})` : "Auto"), 1)
|
|
1075
1069
|
], 10, pn),
|
|
1076
|
-
(r(!0), c(
|
|
1070
|
+
(r(!0), c(ae, null, pe(T.value, (m) => (r(), c("button", {
|
|
1077
1071
|
key: m.index,
|
|
1078
1072
|
type: "button",
|
|
1079
1073
|
role: "menuitemradio",
|
|
@@ -1081,26 +1075,26 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1081
1075
|
class: L(["gvp-settings-option", { "is-active": m.index === e.selectedLevel }]),
|
|
1082
1076
|
onClick: (Q) => z(m.index)
|
|
1083
1077
|
}, [
|
|
1084
|
-
|
|
1078
|
+
o("span", gn, [
|
|
1085
1079
|
m.index === e.selectedLevel ? (r(), J(we, { key: 0 })) : x("", !0)
|
|
1086
1080
|
]),
|
|
1087
|
-
|
|
1081
|
+
o("span", null, Z(m.label), 1)
|
|
1088
1082
|
], 10, mn))), 128))
|
|
1089
1083
|
], 64)) : x("", !0),
|
|
1090
|
-
d.value === "captions" ? (r(), c(
|
|
1091
|
-
|
|
1084
|
+
d.value === "captions" ? (r(), c(ae, { key: 4 }, [
|
|
1085
|
+
o("button", {
|
|
1092
1086
|
type: "button",
|
|
1093
1087
|
role: "menuitemradio",
|
|
1094
1088
|
"aria-checked": P.value === -1,
|
|
1095
1089
|
class: L(["gvp-settings-option", { "is-active": P.value === -1 }]),
|
|
1096
1090
|
onClick: p[6] || (p[6] = (m) => $(-1))
|
|
1097
1091
|
}, [
|
|
1098
|
-
|
|
1092
|
+
o("span", kn, [
|
|
1099
1093
|
P.value === -1 ? (r(), J(we, { key: 0 })) : x("", !0)
|
|
1100
1094
|
]),
|
|
1101
|
-
p[11] || (p[11] =
|
|
1095
|
+
p[11] || (p[11] = o("span", null, "Off", -1))
|
|
1102
1096
|
], 10, hn),
|
|
1103
|
-
(r(!0), c(
|
|
1097
|
+
(r(!0), c(ae, null, pe(A.value, (m) => (r(), c("button", {
|
|
1104
1098
|
key: m.index,
|
|
1105
1099
|
type: "button",
|
|
1106
1100
|
role: "menuitemradio",
|
|
@@ -1108,13 +1102,13 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1108
1102
|
class: L(["gvp-settings-option", { "is-active": m.index === P.value }]),
|
|
1109
1103
|
onClick: (Q) => $(m.index)
|
|
1110
1104
|
}, [
|
|
1111
|
-
|
|
1105
|
+
o("span", bn, [
|
|
1112
1106
|
m.index === P.value ? (r(), J(we, { key: 0 })) : x("", !0)
|
|
1113
1107
|
]),
|
|
1114
|
-
|
|
1108
|
+
o("span", null, Z(m.label), 1)
|
|
1115
1109
|
], 10, yn))), 128))
|
|
1116
1110
|
], 64)) : x("", !0),
|
|
1117
|
-
d.value === "audio" ? (r(!0), c(
|
|
1111
|
+
d.value === "audio" ? (r(!0), c(ae, { key: 5 }, pe(e.audioTracks, (m) => {
|
|
1118
1112
|
var Q, Y, X;
|
|
1119
1113
|
return r(), c("button", {
|
|
1120
1114
|
key: m.index,
|
|
@@ -1127,10 +1121,10 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1127
1121
|
]),
|
|
1128
1122
|
onClick: (G) => K(m.index)
|
|
1129
1123
|
}, [
|
|
1130
|
-
|
|
1124
|
+
o("span", xn, [
|
|
1131
1125
|
m.index === (((X = j.value) == null ? void 0 : X.index) ?? -1) ? (r(), J(we, { key: 0 })) : x("", !0)
|
|
1132
1126
|
]),
|
|
1133
|
-
|
|
1127
|
+
o("span", null, Z(m.label), 1)
|
|
1134
1128
|
], 10, wn);
|
|
1135
1129
|
}), 128)) : x("", !0)
|
|
1136
1130
|
])) : x("", !0)
|
|
@@ -1140,7 +1134,7 @@ const dt = ["muted", "loop", "controls", "autoplay", "playsinline", "preload", "
|
|
|
1140
1134
|
});
|
|
1141
1135
|
function _e(e) {
|
|
1142
1136
|
if (!Number.isFinite(e) || e < 0) return "--:--";
|
|
1143
|
-
const
|
|
1137
|
+
const l = Math.floor(e), t = Math.floor(l / 3600), n = Math.floor(l % 3600 / 60), v = (l % 60).toString().padStart(2, "0");
|
|
1144
1138
|
if (t > 0) {
|
|
1145
1139
|
const d = n.toString().padStart(2, "0");
|
|
1146
1140
|
return `${t}:${d}:${v}`;
|
|
@@ -1148,97 +1142,97 @@ function _e(e) {
|
|
|
1148
1142
|
return `${n}:${v}`;
|
|
1149
1143
|
}
|
|
1150
1144
|
function Fe(e) {
|
|
1151
|
-
const
|
|
1152
|
-
if (
|
|
1153
|
-
const t =
|
|
1145
|
+
const l = e.trim().split(":");
|
|
1146
|
+
if (l.length < 2 || l.length > 3) return NaN;
|
|
1147
|
+
const t = l.map(Number);
|
|
1154
1148
|
return t.some((n) => !Number.isFinite(n)) ? NaN : t.length === 3 ? t[0] * 3600 + t[1] * 60 + t[2] : t[0] * 60 + t[1];
|
|
1155
1149
|
}
|
|
1156
|
-
function $n(e,
|
|
1150
|
+
function $n(e, l) {
|
|
1157
1151
|
try {
|
|
1158
|
-
return new URL(e,
|
|
1152
|
+
return new URL(e, l).href;
|
|
1159
1153
|
} catch {
|
|
1160
1154
|
return e;
|
|
1161
1155
|
}
|
|
1162
1156
|
}
|
|
1163
|
-
function En(e,
|
|
1157
|
+
function En(e, l) {
|
|
1164
1158
|
const t = [], n = e.replace(/\r/g, "").split(`
|
|
1165
1159
|
`);
|
|
1166
|
-
for (let
|
|
1167
|
-
const v = n[
|
|
1160
|
+
for (let a = 0; a < n.length; a++) {
|
|
1161
|
+
const v = n[a].indexOf("-->");
|
|
1168
1162
|
if (v === -1) continue;
|
|
1169
|
-
const d = Fe(n[
|
|
1163
|
+
const d = Fe(n[a].slice(0, v)), h = Fe(n[a].slice(v + 3));
|
|
1170
1164
|
if (!Number.isFinite(d) || !Number.isFinite(h)) continue;
|
|
1171
|
-
const E = (n[
|
|
1165
|
+
const E = (n[a + 1] ?? "").trim();
|
|
1172
1166
|
if (!E) continue;
|
|
1173
|
-
const
|
|
1174
|
-
let
|
|
1175
|
-
if (
|
|
1176
|
-
|
|
1177
|
-
const f = E.slice(
|
|
1167
|
+
const S = E.indexOf("#xywh=");
|
|
1168
|
+
let A = E, P = 0, w = 0, $ = 0, T = 0;
|
|
1169
|
+
if (S !== -1) {
|
|
1170
|
+
A = E.slice(0, S);
|
|
1171
|
+
const f = E.slice(S + 6).split(",").map(Number);
|
|
1178
1172
|
f.length === 4 && f.every(Number.isFinite) && ([P, w, $, T] = f);
|
|
1179
1173
|
}
|
|
1180
|
-
t.push({ start: d, end: h, url: $n(
|
|
1174
|
+
t.push({ start: d, end: h, url: $n(A, l), x: P, y: w, w: $, h: T });
|
|
1181
1175
|
}
|
|
1182
|
-
return t.sort((
|
|
1176
|
+
return t.sort((a, v) => a.start - v.start), t;
|
|
1183
1177
|
}
|
|
1184
1178
|
function _n(e) {
|
|
1185
1179
|
return {
|
|
1186
1180
|
cues: e,
|
|
1187
|
-
cueAt(
|
|
1181
|
+
cueAt(l) {
|
|
1188
1182
|
if (e.length === 0) return null;
|
|
1189
|
-
let t = 0, n = e.length - 1,
|
|
1183
|
+
let t = 0, n = e.length - 1, a = e[0];
|
|
1190
1184
|
for (; t <= n; ) {
|
|
1191
1185
|
const v = t + n >> 1, d = e[v];
|
|
1192
|
-
if (
|
|
1186
|
+
if (l < d.start)
|
|
1193
1187
|
n = v - 1;
|
|
1194
|
-
else if (
|
|
1195
|
-
|
|
1188
|
+
else if (l > d.end)
|
|
1189
|
+
a = d, t = v + 1;
|
|
1196
1190
|
else
|
|
1197
1191
|
return d;
|
|
1198
1192
|
}
|
|
1199
|
-
return
|
|
1193
|
+
return a;
|
|
1200
1194
|
}
|
|
1201
1195
|
};
|
|
1202
1196
|
}
|
|
1203
1197
|
function qe(e) {
|
|
1204
|
-
const
|
|
1205
|
-
if (
|
|
1206
|
-
const t =
|
|
1198
|
+
const l = e.trim().split(":");
|
|
1199
|
+
if (l.length < 2 || l.length > 3) return NaN;
|
|
1200
|
+
const t = l.map(Number);
|
|
1207
1201
|
return t.some((n) => !Number.isFinite(n)) ? NaN : t.length === 3 ? t[0] * 3600 + t[1] * 60 + t[2] : t[0] * 60 + t[1];
|
|
1208
1202
|
}
|
|
1209
1203
|
function Pn(e) {
|
|
1210
|
-
const
|
|
1204
|
+
const l = [], t = e.replace(/\r/g, "").split(`
|
|
1211
1205
|
`);
|
|
1212
1206
|
for (let n = 0; n < t.length; n++) {
|
|
1213
|
-
const
|
|
1214
|
-
if (
|
|
1215
|
-
const v = qe(t[n].slice(0,
|
|
1207
|
+
const a = t[n].indexOf("-->");
|
|
1208
|
+
if (a === -1) continue;
|
|
1209
|
+
const v = qe(t[n].slice(0, a)), d = qe(t[n].slice(a + 3));
|
|
1216
1210
|
if (!Number.isFinite(v) || !Number.isFinite(d)) continue;
|
|
1217
1211
|
const h = (t[n + 1] ?? "").trim();
|
|
1218
|
-
h &&
|
|
1212
|
+
h && l.push({ start: v, end: d, title: h });
|
|
1219
1213
|
}
|
|
1220
|
-
return
|
|
1214
|
+
return l.sort((n, a) => n.start - a.start), l;
|
|
1221
1215
|
}
|
|
1222
|
-
function Tn(e,
|
|
1223
|
-
const t = e.filter((n) => Number.isFinite(n.start) && n.start >= 0 && n.title).sort((n,
|
|
1224
|
-
return t.map((n,
|
|
1216
|
+
function Tn(e, l) {
|
|
1217
|
+
const t = e.filter((n) => Number.isFinite(n.start) && n.start >= 0 && n.title).sort((n, a) => n.start - a.start);
|
|
1218
|
+
return t.map((n, a) => {
|
|
1225
1219
|
var v;
|
|
1226
1220
|
return {
|
|
1227
1221
|
start: n.start,
|
|
1228
|
-
end: Number.isFinite(n.end) ? n.end : ((v = t[
|
|
1222
|
+
end: Number.isFinite(n.end) ? n.end : ((v = t[a + 1]) == null ? void 0 : v.start) ?? l,
|
|
1229
1223
|
title: n.title
|
|
1230
1224
|
};
|
|
1231
1225
|
});
|
|
1232
1226
|
}
|
|
1233
|
-
function Mn(e,
|
|
1227
|
+
function Mn(e, l) {
|
|
1234
1228
|
for (const t of e)
|
|
1235
|
-
if (
|
|
1229
|
+
if (l >= t.start && l < t.end) return t;
|
|
1236
1230
|
return null;
|
|
1237
1231
|
}
|
|
1238
|
-
const In = { class: "gvp-controls-seek" },
|
|
1232
|
+
const In = { class: "gvp-controls-seek" }, Sn = {
|
|
1239
1233
|
key: 1,
|
|
1240
1234
|
class: "gvp-seek-preview-chapter"
|
|
1241
|
-
},
|
|
1235
|
+
}, An = { class: "gvp-seek-preview-time" }, Nn = ["value", "disabled", "aria-valuemax", "aria-valuenow", "aria-valuetext"], Bn = { class: "gvp-controls-row" }, Hn = { class: "gvp-controls-left" }, Vn = ["aria-label", "aria-pressed"], Rn = ["disabled"], Dn = ["disabled"], Fn = ["aria-label", "aria-pressed"], qn = {
|
|
1242
1236
|
key: 0,
|
|
1243
1237
|
class: "gvp-volume-slider-wrap"
|
|
1244
1238
|
}, On = { class: "gvp-volume-track" }, jn = ["value", "aria-valuenow", "aria-valuetext"], Un = {
|
|
@@ -1264,33 +1258,33 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1264
1258
|
audioTrackIndex: { default: -1 }
|
|
1265
1259
|
},
|
|
1266
1260
|
emits: ["select-level", "select-audio-track", "prev", "next"],
|
|
1267
|
-
setup(e, { emit:
|
|
1261
|
+
setup(e, { emit: l }) {
|
|
1268
1262
|
const t = (() => {
|
|
1269
1263
|
if (typeof navigator > "u") return !1;
|
|
1270
1264
|
const u = navigator.userAgent;
|
|
1271
1265
|
return /iPad|iPhone|iPod/.test(u) || u.includes("Mac") && navigator.maxTouchPoints > 1;
|
|
1272
|
-
})(), n = typeof navigator > "u" ? !1 : /iPhone|iPod/.test(navigator.userAgent),
|
|
1266
|
+
})(), n = typeof navigator > "u" ? !1 : /iPhone|iPod/.test(navigator.userAgent), a = e, v = l, d = g(!0);
|
|
1273
1267
|
let h = null;
|
|
1274
1268
|
function E() {
|
|
1275
1269
|
h !== null && (clearTimeout(h), h = null);
|
|
1276
1270
|
}
|
|
1277
|
-
function
|
|
1278
|
-
E(),
|
|
1271
|
+
function S() {
|
|
1272
|
+
E(), a.isPlaying && (h = setTimeout(() => {
|
|
1279
1273
|
d.value = !1;
|
|
1280
1274
|
}, Qn));
|
|
1281
1275
|
}
|
|
1282
|
-
function
|
|
1283
|
-
d.value = !0,
|
|
1276
|
+
function A() {
|
|
1277
|
+
d.value = !0, S();
|
|
1284
1278
|
}
|
|
1285
|
-
|
|
1286
|
-
u ?
|
|
1287
|
-
}, { immediate: !0 }),
|
|
1279
|
+
H(() => a.isPlaying, (u) => {
|
|
1280
|
+
u ? S() : (E(), d.value = !0);
|
|
1281
|
+
}, { immediate: !0 }), H(() => a.container, (u) => {
|
|
1288
1282
|
if (!u) return;
|
|
1289
|
-
const b = () =>
|
|
1283
|
+
const b = () => A();
|
|
1290
1284
|
u.addEventListener("mousemove", b), u.addEventListener("touchstart", b), u.addEventListener("focusin", b);
|
|
1291
1285
|
}, { immediate: !0 });
|
|
1292
|
-
const P = g(0), w = g(0), $ = g(0), T = g(!1), f = g(!0), M = I(() =>
|
|
1293
|
-
|
|
1286
|
+
const P = g(0), w = g(0), $ = g(0), T = g(!1), f = g(!0), M = I(() => a.isLive || T.value);
|
|
1287
|
+
H(() => a.video, (u) => {
|
|
1294
1288
|
if (!u) return;
|
|
1295
1289
|
const b = () => {
|
|
1296
1290
|
P.value = u.currentTime;
|
|
@@ -1318,18 +1312,18 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1318
1312
|
b(), _(), te(), he(), u.addEventListener("timeupdate", b), u.addEventListener("durationchange", _), u.addEventListener("loadedmetadata", _), u.addEventListener("progress", te), u.addEventListener("timeupdate", te), u.addEventListener("durationchange", he), u.addEventListener("loadedmetadata", he), u.addEventListener("timeupdate", he);
|
|
1319
1313
|
}, { immediate: !0 });
|
|
1320
1314
|
function z() {
|
|
1321
|
-
const u =
|
|
1315
|
+
const u = a.video;
|
|
1322
1316
|
!u || u.seekable.length === 0 || (u.currentTime = u.seekable.end(u.seekable.length - 1));
|
|
1323
1317
|
}
|
|
1324
1318
|
const j = () => w.value > 0, K = () => j() ? P.value / w.value * 100 : 0, re = () => j() ? $.value / w.value * 100 : 0;
|
|
1325
1319
|
function C(u) {
|
|
1326
|
-
const b =
|
|
1320
|
+
const b = a.video;
|
|
1327
1321
|
if (!b || !j()) return;
|
|
1328
1322
|
const _ = Number(u.target.value) / 100 * w.value;
|
|
1329
1323
|
b.currentTime = _, P.value = _;
|
|
1330
1324
|
}
|
|
1331
|
-
const W = g(null),
|
|
1332
|
-
|
|
1325
|
+
const W = g(null), V = g(null), D = g(0), F = g(0), B = g(!1);
|
|
1326
|
+
H(() => a.thumbnails, (u) => {
|
|
1333
1327
|
if (W.value = null, !u) return;
|
|
1334
1328
|
let b = !1;
|
|
1335
1329
|
fetch(u).then((_) => _.ok ? _.text() : Promise.reject(new Error("fetch failed"))).then((_) => {
|
|
@@ -1338,49 +1332,49 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1338
1332
|
W.value = te.length > 0 ? _n(te) : null;
|
|
1339
1333
|
}).catch(() => {
|
|
1340
1334
|
b || (W.value = null);
|
|
1341
|
-
}),
|
|
1335
|
+
}), oe(() => {
|
|
1342
1336
|
b = !0;
|
|
1343
1337
|
});
|
|
1344
1338
|
}, { immediate: !0 });
|
|
1345
1339
|
function R(u) {
|
|
1346
|
-
const b =
|
|
1340
|
+
const b = V.value;
|
|
1347
1341
|
if (!b || !j()) return;
|
|
1348
1342
|
const _ = b.getBoundingClientRect(), te = Math.min(Math.max(u.clientX - _.left, 0), _.width);
|
|
1349
|
-
F.value = te, D.value = te / _.width * w.value,
|
|
1343
|
+
F.value = te, D.value = te / _.width * w.value, B.value = !0;
|
|
1350
1344
|
}
|
|
1351
1345
|
function fe() {
|
|
1352
|
-
|
|
1346
|
+
B.value = !1;
|
|
1353
1347
|
}
|
|
1354
1348
|
const y = I(
|
|
1355
1349
|
() => {
|
|
1356
1350
|
var u;
|
|
1357
|
-
return
|
|
1351
|
+
return B.value ? ((u = W.value) == null ? void 0 : u.cueAt(D.value)) ?? null : null;
|
|
1358
1352
|
}
|
|
1359
1353
|
), p = I(() => {
|
|
1360
1354
|
const u = y.value;
|
|
1361
1355
|
return u !== null && u.w > 0 && u.h > 0;
|
|
1362
1356
|
}), ee = I(() => {
|
|
1363
1357
|
var te;
|
|
1364
|
-
const u = y.value, b = ((te =
|
|
1358
|
+
const u = y.value, b = ((te = V.value) == null ? void 0 : te.clientWidth) ?? 0;
|
|
1365
1359
|
if (!p.value || !u || b === 0) return F.value;
|
|
1366
1360
|
const _ = u.w / 2;
|
|
1367
1361
|
return Math.min(Math.max(F.value, _), b - _);
|
|
1368
1362
|
}), m = g([]);
|
|
1369
|
-
|
|
1363
|
+
H(() => a.chapters, (u) => {
|
|
1370
1364
|
if (m.value = [], typeof u != "string" || !u) return;
|
|
1371
1365
|
let b = !1;
|
|
1372
1366
|
fetch(u).then((_) => _.ok ? _.text() : Promise.reject(new Error("fetch failed"))).then((_) => {
|
|
1373
1367
|
b || (m.value = Pn(_));
|
|
1374
1368
|
}).catch(() => {
|
|
1375
1369
|
b || (m.value = []);
|
|
1376
|
-
}),
|
|
1370
|
+
}), oe(() => {
|
|
1377
1371
|
b = !0;
|
|
1378
1372
|
});
|
|
1379
1373
|
}, { immediate: !0 });
|
|
1380
|
-
const Q = I(() => typeof
|
|
1381
|
-
() =>
|
|
1374
|
+
const Q = I(() => typeof a.chapters == "string" ? m.value : Array.isArray(a.chapters) ? Tn(a.chapters, w.value) : []), Y = I(
|
|
1375
|
+
() => B.value ? Mn(Q.value, D.value) : null
|
|
1382
1376
|
), X = g(1), G = g(!1);
|
|
1383
|
-
|
|
1377
|
+
H(() => a.video, (u) => {
|
|
1384
1378
|
if (!u) return;
|
|
1385
1379
|
const b = () => {
|
|
1386
1380
|
X.value = u.volume, G.value = u.muted;
|
|
@@ -1388,25 +1382,25 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1388
1382
|
b(), u.addEventListener("volumechange", b);
|
|
1389
1383
|
}, { immediate: !0 });
|
|
1390
1384
|
function ge() {
|
|
1391
|
-
|
|
1385
|
+
a.video && (a.video.muted = !a.video.muted);
|
|
1392
1386
|
}
|
|
1393
1387
|
function ue(u) {
|
|
1394
|
-
const b =
|
|
1388
|
+
const b = a.video;
|
|
1395
1389
|
if (!b) return;
|
|
1396
1390
|
const _ = Number(u.target.value) / 100;
|
|
1397
1391
|
b.volume = _, _ > 0 && b.muted && (b.muted = !1);
|
|
1398
1392
|
}
|
|
1399
1393
|
const me = g(!1), Ie = typeof document < "u" && !!document.pictureInPictureEnabled;
|
|
1400
|
-
|
|
1394
|
+
H(() => a.video, (u) => {
|
|
1401
1395
|
u && (u.addEventListener("enterpictureinpicture", () => {
|
|
1402
1396
|
me.value = !0;
|
|
1403
1397
|
}), u.addEventListener("leavepictureinpicture", () => {
|
|
1404
1398
|
me.value = !1;
|
|
1405
1399
|
}));
|
|
1406
1400
|
}, { immediate: !0 });
|
|
1407
|
-
function
|
|
1408
|
-
|
|
1409
|
-
}) :
|
|
1401
|
+
function Se() {
|
|
1402
|
+
a.video && (document.pictureInPictureElement ? document.exitPictureInPicture().catch(() => {
|
|
1403
|
+
}) : a.video.requestPictureInPicture().catch(() => {
|
|
1410
1404
|
}));
|
|
1411
1405
|
}
|
|
1412
1406
|
const de = g(!1), Pe = typeof document > "u" ? !1 : !!(document.fullscreenEnabled || document.webkitFullscreenEnabled);
|
|
@@ -1422,51 +1416,51 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1422
1416
|
return u ? u.call(document) : Promise.reject(new Error("unsupported"));
|
|
1423
1417
|
}
|
|
1424
1418
|
function U() {
|
|
1425
|
-
de.value = xe() ===
|
|
1419
|
+
de.value = xe() === a.container;
|
|
1426
1420
|
}
|
|
1427
|
-
|
|
1421
|
+
Be(() => {
|
|
1428
1422
|
document.addEventListener("fullscreenchange", U), document.addEventListener("webkitfullscreenchange", U);
|
|
1429
|
-
}),
|
|
1423
|
+
}), oe(() => {
|
|
1430
1424
|
E(), document.removeEventListener("fullscreenchange", U), document.removeEventListener("webkitfullscreenchange", U);
|
|
1431
1425
|
});
|
|
1432
|
-
function
|
|
1426
|
+
function Ae() {
|
|
1433
1427
|
var u, b;
|
|
1434
1428
|
if (n) {
|
|
1435
|
-
(b = (u =
|
|
1429
|
+
(b = (u = a.video) == null ? void 0 : u.webkitEnterFullscreen) == null || b.call(u);
|
|
1436
1430
|
return;
|
|
1437
1431
|
}
|
|
1438
1432
|
de.value ? Le().catch(() => {
|
|
1439
|
-
}) :
|
|
1433
|
+
}) : a.container && Ce(a.container).catch(() => {
|
|
1440
1434
|
});
|
|
1441
1435
|
}
|
|
1442
|
-
const Ne = Pe || n &&
|
|
1436
|
+
const Ne = Pe || n && a.video !== null && typeof a.video.webkitEnterFullscreen == "function";
|
|
1443
1437
|
return (u, b) => (r(), c("div", {
|
|
1444
1438
|
role: "toolbar",
|
|
1445
1439
|
"aria-label": "Video controls",
|
|
1446
1440
|
class: L(["gvp-controls", !d.value && "is-hidden"]),
|
|
1447
1441
|
onMouseenter: E,
|
|
1448
|
-
onMouseleave:
|
|
1442
|
+
onMouseleave: S
|
|
1449
1443
|
}, [
|
|
1450
|
-
|
|
1451
|
-
|
|
1444
|
+
o("div", In, [
|
|
1445
|
+
o("div", {
|
|
1452
1446
|
class: "gvp-seek",
|
|
1453
1447
|
onPointermove: R,
|
|
1454
1448
|
onPointerleave: fe
|
|
1455
1449
|
}, [
|
|
1456
|
-
|
|
1450
|
+
o("div", {
|
|
1457
1451
|
ref_key: "seekTrackEl",
|
|
1458
|
-
ref:
|
|
1452
|
+
ref: V,
|
|
1459
1453
|
class: "gvp-seek-track"
|
|
1460
1454
|
}, [
|
|
1461
|
-
|
|
1455
|
+
o("div", {
|
|
1462
1456
|
class: "gvp-seek-buffered",
|
|
1463
1457
|
style: ce({ width: `${re()}%` })
|
|
1464
1458
|
}, null, 4),
|
|
1465
|
-
|
|
1459
|
+
o("div", {
|
|
1466
1460
|
class: "gvp-seek-progress",
|
|
1467
1461
|
style: ce({ width: `${K()}%` })
|
|
1468
1462
|
}, null, 4),
|
|
1469
|
-
j() ? (r(!0), c(
|
|
1463
|
+
j() ? (r(!0), c(ae, { key: 0 }, pe(Q.value, (_) => ot((r(), c("div", {
|
|
1470
1464
|
key: `${_.start}-${_.title}`,
|
|
1471
1465
|
class: "gvp-seek-chapter-tick",
|
|
1472
1466
|
style: ce({ left: `${_.start / w.value * 100}%` })
|
|
@@ -1474,7 +1468,7 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1474
1468
|
[rt, _.start > 0 && _.start < w.value]
|
|
1475
1469
|
])), 128)) : x("", !0)
|
|
1476
1470
|
], 512),
|
|
1477
|
-
|
|
1471
|
+
B.value && j() ? (r(), c("div", {
|
|
1478
1472
|
key: 0,
|
|
1479
1473
|
class: L(["gvp-seek-preview", { "has-thumb": p.value }]),
|
|
1480
1474
|
style: ce({ left: `${ee.value}px` })
|
|
@@ -1489,10 +1483,10 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1489
1483
|
backgroundPosition: `-${y.value.x}px -${y.value.y}px`
|
|
1490
1484
|
})
|
|
1491
1485
|
}, null, 4)) : x("", !0),
|
|
1492
|
-
Y.value ? (r(), c("span",
|
|
1493
|
-
|
|
1486
|
+
Y.value ? (r(), c("span", Sn, Z(Y.value.title), 1)) : x("", !0),
|
|
1487
|
+
o("span", An, Z(se(_e)(D.value)), 1)
|
|
1494
1488
|
], 6)) : x("", !0),
|
|
1495
|
-
|
|
1489
|
+
o("input", {
|
|
1496
1490
|
type: "range",
|
|
1497
1491
|
class: "gvp-seek-input",
|
|
1498
1492
|
min: 0,
|
|
@@ -1504,14 +1498,14 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1504
1498
|
"aria-valuemin": 0,
|
|
1505
1499
|
"aria-valuemax": Math.floor(w.value),
|
|
1506
1500
|
"aria-valuenow": Math.floor(P.value),
|
|
1507
|
-
"aria-valuetext": `${
|
|
1501
|
+
"aria-valuetext": `${se(_e)(P.value)} of ${se(_e)(w.value)}`,
|
|
1508
1502
|
onInput: C
|
|
1509
1503
|
}, null, 40, Nn)
|
|
1510
1504
|
], 32)
|
|
1511
1505
|
]),
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1506
|
+
o("div", Bn, [
|
|
1507
|
+
o("div", Hn, [
|
|
1508
|
+
o("button", {
|
|
1515
1509
|
type: "button",
|
|
1516
1510
|
class: "gvp-ctrl-btn",
|
|
1517
1511
|
"aria-label": e.isPlaying ? "Pause" : "Play",
|
|
@@ -1519,8 +1513,8 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1519
1513
|
onClick: b[0] || (b[0] = //@ts-ignore
|
|
1520
1514
|
(..._) => e.onTogglePlay && e.onTogglePlay(..._))
|
|
1521
1515
|
}, [
|
|
1522
|
-
e.isPlaying ? (r(), J(
|
|
1523
|
-
], 8,
|
|
1516
|
+
e.isPlaying ? (r(), J(Ht, { key: 0 })) : (r(), J(Rt, { key: 1 }))
|
|
1517
|
+
], 8, Vn),
|
|
1524
1518
|
e.hasPrev || e.hasNext ? (r(), c("button", {
|
|
1525
1519
|
key: 0,
|
|
1526
1520
|
type: "button",
|
|
@@ -1541,10 +1535,10 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1541
1535
|
}, [
|
|
1542
1536
|
O(Ot)
|
|
1543
1537
|
], 8, Dn)) : x("", !0),
|
|
1544
|
-
|
|
1545
|
-
class: L(["gvp-volume", !
|
|
1538
|
+
o("div", {
|
|
1539
|
+
class: L(["gvp-volume", !se(t) && "is-expandable"])
|
|
1546
1540
|
}, [
|
|
1547
|
-
|
|
1541
|
+
o("button", {
|
|
1548
1542
|
type: "button",
|
|
1549
1543
|
class: "gvp-ctrl-btn",
|
|
1550
1544
|
"aria-label": G.value ? "Unmute" : "Mute",
|
|
@@ -1553,14 +1547,14 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1553
1547
|
}, [
|
|
1554
1548
|
G.value || X.value === 0 ? (r(), J(Kt, { key: 0 })) : X.value < 0.5 ? (r(), J(zt, { key: 1 })) : (r(), J(Ut, { key: 2 }))
|
|
1555
1549
|
], 8, Fn),
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1550
|
+
se(t) ? x("", !0) : (r(), c("div", qn, [
|
|
1551
|
+
o("div", On, [
|
|
1552
|
+
o("div", {
|
|
1559
1553
|
class: "gvp-volume-fill",
|
|
1560
1554
|
style: ce({ width: `${G.value ? 0 : Math.round(X.value * 100)}%` })
|
|
1561
1555
|
}, null, 4)
|
|
1562
1556
|
]),
|
|
1563
|
-
|
|
1557
|
+
o("input", {
|
|
1564
1558
|
type: "range",
|
|
1565
1559
|
class: "gvp-volume-input",
|
|
1566
1560
|
min: 0,
|
|
@@ -1576,7 +1570,7 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1576
1570
|
}, null, 40, jn)
|
|
1577
1571
|
]))
|
|
1578
1572
|
], 2),
|
|
1579
|
-
M.value ? x("", !0) : (r(), c("span", Un, Z(
|
|
1573
|
+
M.value ? x("", !0) : (r(), c("span", Un, Z(se(_e)(P.value)) + " / " + Z(se(_e)(w.value)), 1)),
|
|
1580
1574
|
M.value ? (r(), c("button", {
|
|
1581
1575
|
key: 3,
|
|
1582
1576
|
type: "button",
|
|
@@ -1585,11 +1579,11 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1585
1579
|
"aria-label": f.value ? "Live" : "Go to live edge",
|
|
1586
1580
|
onClick: z
|
|
1587
1581
|
}, [...b[5] || (b[5] = [
|
|
1588
|
-
|
|
1589
|
-
|
|
1582
|
+
o("span", { class: "gvp-live-dot" }, null, -1),
|
|
1583
|
+
o("span", null, "LIVE", -1)
|
|
1590
1584
|
])], 10, Zn)) : x("", !0)
|
|
1591
1585
|
]),
|
|
1592
|
-
|
|
1586
|
+
o("div", zn, [
|
|
1593
1587
|
O(Ln, {
|
|
1594
1588
|
video: e.video,
|
|
1595
1589
|
"quality-levels": e.qualityLevels,
|
|
@@ -1600,23 +1594,23 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1600
1594
|
onSelectLevel: b[3] || (b[3] = (_) => v("select-level", _)),
|
|
1601
1595
|
onSelectAudioTrack: b[4] || (b[4] = (_) => v("select-audio-track", _))
|
|
1602
1596
|
}, null, 8, ["video", "quality-levels", "current-level", "selected-level", "audio-tracks", "audio-track-index"]),
|
|
1603
|
-
|
|
1597
|
+
se(Ie) ? (r(), c("button", {
|
|
1604
1598
|
key: 0,
|
|
1605
1599
|
type: "button",
|
|
1606
1600
|
class: L(["gvp-ctrl-btn", me.value && "is-active"]),
|
|
1607
1601
|
"aria-label": me.value ? "Exit picture-in-picture" : "Picture-in-picture",
|
|
1608
1602
|
"aria-pressed": me.value,
|
|
1609
|
-
onClick:
|
|
1603
|
+
onClick: Se
|
|
1610
1604
|
}, [
|
|
1611
1605
|
O(ze)
|
|
1612
1606
|
], 10, Wn)) : x("", !0),
|
|
1613
|
-
|
|
1607
|
+
se(Ne) ? (r(), c("button", {
|
|
1614
1608
|
key: 1,
|
|
1615
1609
|
type: "button",
|
|
1616
1610
|
class: L(["gvp-ctrl-btn", de.value && "is-active"]),
|
|
1617
1611
|
"aria-label": de.value ? "Exit fullscreen" : "Enter fullscreen",
|
|
1618
1612
|
"aria-pressed": de.value,
|
|
1619
|
-
onClick:
|
|
1613
|
+
onClick: Ae
|
|
1620
1614
|
}, [
|
|
1621
1615
|
de.value ? (r(), J(Xt, { key: 0 })) : (r(), J(Gt, { key: 1 }))
|
|
1622
1616
|
], 10, Kn)) : x("", !0)
|
|
@@ -1630,9 +1624,9 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1630
1624
|
class: {}
|
|
1631
1625
|
},
|
|
1632
1626
|
setup(e) {
|
|
1633
|
-
const
|
|
1627
|
+
const l = e;
|
|
1634
1628
|
return (t, n) => (r(), c("svg", {
|
|
1635
|
-
class: L(["gvp-icon",
|
|
1629
|
+
class: L(["gvp-icon", l.class]),
|
|
1636
1630
|
width: "20",
|
|
1637
1631
|
height: "20",
|
|
1638
1632
|
viewBox: "0 0 24 24",
|
|
@@ -1640,26 +1634,26 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1640
1634
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1641
1635
|
"aria-hidden": "true"
|
|
1642
1636
|
}, [...n[0] || (n[0] = [
|
|
1643
|
-
|
|
1637
|
+
o("path", {
|
|
1644
1638
|
d: "M14 2H10C6.72077 2 5.08116 2 3.91891 2.81382C3.48891 3.1149 3.1149 3.48891 2.81382 3.91891C2 5.08116 2 6.72077 2 10C2 13.2792 2 14.9188 2.81382 16.0811C3.1149 16.5111 3.48891 16.8851 3.91891 17.1862C5.08116 18 6.72077 18 10 18H14C17.2792 18 18.9188 18 20.0811 17.1862C20.5111 16.8851 20.8851 16.5111 21.1862 16.0811C22 14.9188 22 13.2792 22 10C22 6.72077 22 5.08116 21.1862 3.91891C20.8851 3.48891 20.5111 3.1149 20.0811 2.81382C18.9188 2 17.2792 2 14 2Z",
|
|
1645
1639
|
stroke: "currentColor",
|
|
1646
1640
|
"stroke-width": "1.5",
|
|
1647
1641
|
"stroke-linecap": "round"
|
|
1648
1642
|
}, null, -1),
|
|
1649
|
-
|
|
1643
|
+
o("path", {
|
|
1650
1644
|
d: "M11 15H13",
|
|
1651
1645
|
stroke: "currentColor",
|
|
1652
1646
|
"stroke-width": "1.5",
|
|
1653
1647
|
"stroke-linecap": "round",
|
|
1654
1648
|
"stroke-linejoin": "round"
|
|
1655
1649
|
}, null, -1),
|
|
1656
|
-
|
|
1650
|
+
o("path", {
|
|
1657
1651
|
d: "M14.5 22L14.1845 21.5811C13.4733 20.6369 13.2969 19.1944 13.7468 18M9.5 22L9.8155 21.5811C10.5267 20.6369 10.7031 19.1944 10.2532 18",
|
|
1658
1652
|
stroke: "currentColor",
|
|
1659
1653
|
"stroke-width": "1.5",
|
|
1660
1654
|
"stroke-linecap": "round"
|
|
1661
1655
|
}, null, -1),
|
|
1662
|
-
|
|
1656
|
+
o("path", {
|
|
1663
1657
|
d: "M7 22H17",
|
|
1664
1658
|
stroke: "currentColor",
|
|
1665
1659
|
"stroke-width": "1.5",
|
|
@@ -1667,15 +1661,15 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1667
1661
|
}, null, -1)
|
|
1668
1662
|
])], 2));
|
|
1669
1663
|
}
|
|
1670
|
-
}),
|
|
1671
|
-
...
|
|
1664
|
+
}), el = { name: "IconMobile" }, tl = /* @__PURE__ */ N({
|
|
1665
|
+
...el,
|
|
1672
1666
|
props: {
|
|
1673
1667
|
class: {}
|
|
1674
1668
|
},
|
|
1675
1669
|
setup(e) {
|
|
1676
|
-
const
|
|
1670
|
+
const l = e;
|
|
1677
1671
|
return (t, n) => (r(), c("svg", {
|
|
1678
|
-
class: L(["gvp-icon",
|
|
1672
|
+
class: L(["gvp-icon", l.class]),
|
|
1679
1673
|
width: "20",
|
|
1680
1674
|
height: "20",
|
|
1681
1675
|
viewBox: "0 0 24 24",
|
|
@@ -1683,20 +1677,20 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1683
1677
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1684
1678
|
"aria-hidden": "true"
|
|
1685
1679
|
}, [...n[0] || (n[0] = [
|
|
1686
|
-
|
|
1680
|
+
o("path", {
|
|
1687
1681
|
d: "M5 9C5 5.70017 5 4.05025 6.02513 3.02513C7.05025 2 8.70017 2 12 2C15.2998 2 16.9497 2 17.9749 3.02513C19 4.05025 19 5.70017 19 9V15C19 18.2998 19 19.9497 17.9749 20.9749C16.9497 22 15.2998 22 12 22C8.70017 22 7.05025 22 6.02513 20.9749C5 19.9497 5 18.2998 5 15V9Z",
|
|
1688
1682
|
stroke: "currentColor",
|
|
1689
1683
|
"stroke-width": "2",
|
|
1690
1684
|
"stroke-linecap": "round"
|
|
1691
1685
|
}, null, -1),
|
|
1692
|
-
|
|
1686
|
+
o("path", {
|
|
1693
1687
|
d: "M11 19H13",
|
|
1694
1688
|
stroke: "currentColor",
|
|
1695
1689
|
"stroke-width": "2",
|
|
1696
1690
|
"stroke-linecap": "round",
|
|
1697
1691
|
"stroke-linejoin": "round"
|
|
1698
1692
|
}, null, -1),
|
|
1699
|
-
|
|
1693
|
+
o("path", {
|
|
1700
1694
|
d: "M9 2L9.089 2.53402C9.28188 3.69129 9.37832 4.26993 9.77519 4.62204C10.1892 4.98934 10.7761 5 12 5C13.2239 5 13.8108 4.98934 14.2248 4.62204C14.6217 4.26993 14.7181 3.69129 14.911 2.53402L15 2",
|
|
1701
1695
|
stroke: "currentColor",
|
|
1702
1696
|
"stroke-width": "2",
|
|
@@ -1704,15 +1698,15 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1704
1698
|
}, null, -1)
|
|
1705
1699
|
])], 2));
|
|
1706
1700
|
}
|
|
1707
|
-
}),
|
|
1708
|
-
...
|
|
1701
|
+
}), nl = { name: "IconPlay" }, ll = /* @__PURE__ */ N({
|
|
1702
|
+
...nl,
|
|
1709
1703
|
props: {
|
|
1710
1704
|
class: {}
|
|
1711
1705
|
},
|
|
1712
1706
|
setup(e) {
|
|
1713
|
-
const
|
|
1707
|
+
const l = e;
|
|
1714
1708
|
return (t, n) => (r(), c("svg", {
|
|
1715
|
-
class: L(["gvp-icon",
|
|
1709
|
+
class: L(["gvp-icon", l.class]),
|
|
1716
1710
|
width: "22",
|
|
1717
1711
|
height: "22",
|
|
1718
1712
|
viewBox: "0 0 16 16",
|
|
@@ -1720,21 +1714,21 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1720
1714
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1721
1715
|
"aria-hidden": "true"
|
|
1722
1716
|
}, [...n[0] || (n[0] = [
|
|
1723
|
-
|
|
1717
|
+
o("path", {
|
|
1724
1718
|
d: "M5.3335 11.45V4.54997C5.3335 4.36108 5.40016 4.20275 5.5335 4.07497C5.66683 3.94719 5.82238 3.8833 6.00016 3.8833C6.05572 3.8833 6.11405 3.89163 6.17516 3.9083C6.23627 3.92497 6.29461 3.94997 6.35016 3.9833L11.7835 7.4333C11.8835 7.49997 11.9585 7.5833 12.0085 7.6833C12.0585 7.7833 12.0835 7.88886 12.0835 7.99997C12.0835 8.11108 12.0585 8.21663 12.0085 8.31663C11.9585 8.41663 11.8835 8.49997 11.7835 8.56663L6.35016 12.0166C6.29461 12.05 6.23627 12.075 6.17516 12.0916C6.11405 12.1083 6.05572 12.1166 6.00016 12.1166C5.82238 12.1166 5.66683 12.0527 5.5335 11.925C5.40016 11.7972 5.3335 11.6389 5.3335 11.45Z",
|
|
1725
1719
|
fill: "currentColor"
|
|
1726
1720
|
}, null, -1)
|
|
1727
1721
|
])], 2));
|
|
1728
1722
|
}
|
|
1729
|
-
}),
|
|
1730
|
-
...
|
|
1723
|
+
}), sl = { name: "IconX" }, Oe = /* @__PURE__ */ N({
|
|
1724
|
+
...sl,
|
|
1731
1725
|
props: {
|
|
1732
1726
|
class: {}
|
|
1733
1727
|
},
|
|
1734
1728
|
setup(e) {
|
|
1735
|
-
const
|
|
1729
|
+
const l = e;
|
|
1736
1730
|
return (t, n) => (r(), c("svg", {
|
|
1737
|
-
class: L(["gvp-icon",
|
|
1731
|
+
class: L(["gvp-icon", l.class]),
|
|
1738
1732
|
width: "14",
|
|
1739
1733
|
height: "14",
|
|
1740
1734
|
viewBox: "0 0 14 14",
|
|
@@ -1742,21 +1736,21 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1742
1736
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1743
1737
|
"aria-hidden": "true"
|
|
1744
1738
|
}, [...n[0] || (n[0] = [
|
|
1745
|
-
|
|
1739
|
+
o("path", {
|
|
1746
1740
|
d: "M6.94994 5.53594L12.1929 0.292938C12.5834 -0.0975275 13.2165 -0.0975279 13.6069 0.292938C13.9974 0.683403 13.9974 1.31647 13.6069 1.70694L8.36394 6.94994L13.6069 12.1929C13.9974 12.5834 13.9974 13.2165 13.6069 13.6069C13.2165 13.9974 12.5834 13.9974 12.1929 13.6069L6.94994 8.36394L1.70694 13.6069C1.31647 13.9974 0.683403 13.9974 0.292938 13.6069C-0.0975279 13.2165 -0.0975277 12.5834 0.292938 12.1929L5.53594 6.94994L0.292938 1.70694C-0.0975279 1.31647 -0.0975279 0.683403 0.292938 0.292938C0.683403 -0.0975279 1.31647 -0.0975277 1.70694 0.292938L6.94994 5.53594Z",
|
|
1747
1741
|
fill: "currentColor"
|
|
1748
1742
|
}, null, -1)
|
|
1749
1743
|
])], 2));
|
|
1750
1744
|
}
|
|
1751
|
-
}),
|
|
1752
|
-
...
|
|
1745
|
+
}), al = { name: "IconAlert" }, ol = /* @__PURE__ */ N({
|
|
1746
|
+
...al,
|
|
1753
1747
|
props: {
|
|
1754
1748
|
class: {}
|
|
1755
1749
|
},
|
|
1756
1750
|
setup(e) {
|
|
1757
|
-
const
|
|
1751
|
+
const l = e;
|
|
1758
1752
|
return (t, n) => (r(), c("svg", {
|
|
1759
|
-
class: L(["gvp-icon",
|
|
1753
|
+
class: L(["gvp-icon", l.class]),
|
|
1760
1754
|
width: "32",
|
|
1761
1755
|
height: "32",
|
|
1762
1756
|
viewBox: "0 0 24 24",
|
|
@@ -1764,7 +1758,7 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1764
1758
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1765
1759
|
"aria-hidden": "true"
|
|
1766
1760
|
}, [...n[0] || (n[0] = [
|
|
1767
|
-
|
|
1761
|
+
o("path", {
|
|
1768
1762
|
d: "M12 9V13M12 17H12.01M10.29 3.86L1.82 18A2 2 0 0 0 3.53 21H20.47A2 2 0 0 0 22.18 18L13.71 3.86A2 2 0 0 0 10.29 3.86Z",
|
|
1769
1763
|
stroke: "currentColor",
|
|
1770
1764
|
"stroke-width": "2",
|
|
@@ -1773,15 +1767,15 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1773
1767
|
}, null, -1)
|
|
1774
1768
|
])], 2));
|
|
1775
1769
|
}
|
|
1776
|
-
}),
|
|
1777
|
-
...
|
|
1770
|
+
}), rl = { name: "IconRefresh" }, il = /* @__PURE__ */ N({
|
|
1771
|
+
...rl,
|
|
1778
1772
|
props: {
|
|
1779
1773
|
class: {}
|
|
1780
1774
|
},
|
|
1781
1775
|
setup(e) {
|
|
1782
|
-
const
|
|
1776
|
+
const l = e;
|
|
1783
1777
|
return (t, n) => (r(), c("svg", {
|
|
1784
|
-
class: L(["gvp-icon",
|
|
1778
|
+
class: L(["gvp-icon", l.class]),
|
|
1785
1779
|
width: "16",
|
|
1786
1780
|
height: "16",
|
|
1787
1781
|
viewBox: "0 0 24 24",
|
|
@@ -1789,7 +1783,7 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1789
1783
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1790
1784
|
"aria-hidden": "true"
|
|
1791
1785
|
}, [...n[0] || (n[0] = [
|
|
1792
|
-
|
|
1786
|
+
o("path", {
|
|
1793
1787
|
d: "M21 12A9 9 0 1 1 18.36 5.64M21 3V9H15",
|
|
1794
1788
|
stroke: "currentColor",
|
|
1795
1789
|
"stroke-width": "2",
|
|
@@ -1799,175 +1793,175 @@ const In = { class: "gvp-controls-seek" }, An = {
|
|
|
1799
1793
|
])], 2));
|
|
1800
1794
|
}
|
|
1801
1795
|
});
|
|
1802
|
-
function
|
|
1796
|
+
function ul(e) {
|
|
1803
1797
|
if (!e) return null;
|
|
1804
1798
|
if (/^[A-Za-z0-9_-]{11}$/.test(e)) return e;
|
|
1805
|
-
let
|
|
1799
|
+
let l;
|
|
1806
1800
|
try {
|
|
1807
|
-
|
|
1801
|
+
l = new URL(e);
|
|
1808
1802
|
} catch {
|
|
1809
1803
|
return null;
|
|
1810
1804
|
}
|
|
1811
|
-
const t =
|
|
1805
|
+
const t = l.hostname.replace(/^www\./, "");
|
|
1812
1806
|
if (t === "youtu.be") {
|
|
1813
|
-
const n =
|
|
1807
|
+
const n = l.pathname.slice(1).split("/")[0];
|
|
1814
1808
|
return /^[A-Za-z0-9_-]{11}$/.test(n) ? n : null;
|
|
1815
1809
|
}
|
|
1816
1810
|
if (t === "youtube.com" || t === "m.youtube.com" || t === "music.youtube.com" || t === "youtube-nocookie.com") {
|
|
1817
|
-
const n =
|
|
1811
|
+
const n = l.searchParams.get("v");
|
|
1818
1812
|
if (n && /^[A-Za-z0-9_-]{11}$/.test(n)) return n;
|
|
1819
|
-
const
|
|
1820
|
-
|
|
1813
|
+
const a = /^\/(?:embed|shorts|v|live)\/([A-Za-z0-9_-]{11})/.exec(
|
|
1814
|
+
l.pathname
|
|
1821
1815
|
);
|
|
1822
|
-
if (
|
|
1816
|
+
if (a) return a[1];
|
|
1823
1817
|
}
|
|
1824
1818
|
return null;
|
|
1825
1819
|
}
|
|
1826
|
-
function
|
|
1820
|
+
function cl(e) {
|
|
1827
1821
|
try {
|
|
1828
|
-
const
|
|
1822
|
+
const l = new URL(e), t = l.searchParams.get("t") ?? l.searchParams.get("start");
|
|
1829
1823
|
if (!t) return null;
|
|
1830
1824
|
if (/^\d+s?$/.test(t)) return Number.parseInt(t, 10);
|
|
1831
1825
|
const n = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(t);
|
|
1832
1826
|
if (n) {
|
|
1833
|
-
const
|
|
1827
|
+
const a = Number.parseInt(n[1] ?? "0", 10), v = Number.parseInt(n[2] ?? "0", 10), d = Number.parseInt(n[3] ?? "0", 10), h = a * 3600 + v * 60 + d;
|
|
1834
1828
|
return h > 0 ? h : null;
|
|
1835
1829
|
}
|
|
1836
1830
|
} catch {
|
|
1837
1831
|
}
|
|
1838
1832
|
return null;
|
|
1839
1833
|
}
|
|
1840
|
-
function
|
|
1834
|
+
function dl(e, l = {}) {
|
|
1841
1835
|
const {
|
|
1842
1836
|
autoPlay: t = !1,
|
|
1843
1837
|
muted: n = !0,
|
|
1844
|
-
loop:
|
|
1838
|
+
loop: a = !1,
|
|
1845
1839
|
controls: v = !0,
|
|
1846
1840
|
startSeconds: d
|
|
1847
|
-
} =
|
|
1841
|
+
} = l, h = new URLSearchParams({
|
|
1848
1842
|
rel: "0",
|
|
1849
1843
|
modestbranding: "1",
|
|
1850
1844
|
playsinline: "1",
|
|
1851
1845
|
controls: v ? "1" : "0"
|
|
1852
1846
|
});
|
|
1853
|
-
return t ? (h.set("autoplay", "1"), h.set("mute", "1")) : n && h.set("mute", "1"),
|
|
1847
|
+
return t ? (h.set("autoplay", "1"), h.set("mute", "1")) : n && h.set("mute", "1"), a && (h.set("loop", "1"), h.set("playlist", e)), d && d > 0 && h.set("start", String(d)), `https://www.youtube-nocookie.com/embed/${e}?${h.toString()}`;
|
|
1854
1848
|
}
|
|
1855
|
-
const
|
|
1849
|
+
const vl = "gvp:prefs:";
|
|
1856
1850
|
function We(e) {
|
|
1857
|
-
return
|
|
1851
|
+
return vl + e;
|
|
1858
1852
|
}
|
|
1859
1853
|
function Me(e) {
|
|
1860
1854
|
if (typeof localStorage > "u") return {};
|
|
1861
1855
|
try {
|
|
1862
|
-
const
|
|
1863
|
-
if (!
|
|
1864
|
-
const t = JSON.parse(
|
|
1856
|
+
const l = localStorage.getItem(We(e));
|
|
1857
|
+
if (!l) return {};
|
|
1858
|
+
const t = JSON.parse(l);
|
|
1865
1859
|
return typeof t == "object" && t !== null ? t : {};
|
|
1866
1860
|
} catch {
|
|
1867
1861
|
return {};
|
|
1868
1862
|
}
|
|
1869
1863
|
}
|
|
1870
|
-
function Ke(e,
|
|
1864
|
+
function Ke(e, l) {
|
|
1871
1865
|
if (!(typeof localStorage > "u"))
|
|
1872
1866
|
try {
|
|
1873
|
-
const n = { ...Me(e), ...
|
|
1867
|
+
const n = { ...Me(e), ...l };
|
|
1874
1868
|
localStorage.setItem(We(e), JSON.stringify(n));
|
|
1875
1869
|
} catch {
|
|
1876
1870
|
}
|
|
1877
1871
|
}
|
|
1878
|
-
function je(e,
|
|
1879
|
-
if (typeof localStorage > "u" || !
|
|
1880
|
-
const
|
|
1881
|
-
t > 0 ?
|
|
1872
|
+
function je(e, l, t) {
|
|
1873
|
+
if (typeof localStorage > "u" || !l) return;
|
|
1874
|
+
const a = { ...Me(e).positions };
|
|
1875
|
+
t > 0 ? a[l] = t : delete a[l], Ke(e, { positions: a });
|
|
1882
1876
|
}
|
|
1883
|
-
function
|
|
1884
|
-
var
|
|
1885
|
-
const n = (
|
|
1877
|
+
function pl(e, l) {
|
|
1878
|
+
var a;
|
|
1879
|
+
const n = (a = Me(e).positions) == null ? void 0 : a[l];
|
|
1886
1880
|
return typeof n == "number" && n > 0 ? n : 0;
|
|
1887
1881
|
}
|
|
1888
|
-
function
|
|
1889
|
-
const
|
|
1890
|
-
if (/^[0-9a-f]{3}$/i.test(
|
|
1882
|
+
function fl(e) {
|
|
1883
|
+
const l = e.trim().replace(/^#/, "");
|
|
1884
|
+
if (/^[0-9a-f]{3}$/i.test(l))
|
|
1891
1885
|
return [
|
|
1892
|
-
parseInt(
|
|
1893
|
-
parseInt(
|
|
1894
|
-
parseInt(
|
|
1886
|
+
parseInt(l[0] + l[0], 16),
|
|
1887
|
+
parseInt(l[1] + l[1], 16),
|
|
1888
|
+
parseInt(l[2] + l[2], 16)
|
|
1895
1889
|
];
|
|
1896
|
-
if (/^[0-9a-f]{6}$/i.test(
|
|
1890
|
+
if (/^[0-9a-f]{6}$/i.test(l))
|
|
1897
1891
|
return [
|
|
1898
|
-
parseInt(
|
|
1899
|
-
parseInt(
|
|
1900
|
-
parseInt(
|
|
1892
|
+
parseInt(l.slice(0, 2), 16),
|
|
1893
|
+
parseInt(l.slice(2, 4), 16),
|
|
1894
|
+
parseInt(l.slice(4, 6), 16)
|
|
1901
1895
|
];
|
|
1902
1896
|
const t = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i.exec(e);
|
|
1903
1897
|
return t ? [Number(t[1]), Number(t[2]), Number(t[3])] : null;
|
|
1904
1898
|
}
|
|
1905
|
-
function
|
|
1906
|
-
const t =
|
|
1907
|
-
return t ? `rgba(${t[0]}, ${t[1]}, ${t[2]}, ${
|
|
1899
|
+
function ml(e, l) {
|
|
1900
|
+
const t = fl(e);
|
|
1901
|
+
return t ? `rgba(${t[0]}, ${t[1]}, ${t[2]}, ${l})` : e;
|
|
1908
1902
|
}
|
|
1909
|
-
function
|
|
1910
|
-
if (!
|
|
1903
|
+
function gl(e, l) {
|
|
1904
|
+
if (!l) return "";
|
|
1911
1905
|
const t = [];
|
|
1912
|
-
if (
|
|
1913
|
-
const n = typeof
|
|
1906
|
+
if (l.fontSize && t.push(`font-size: ${l.fontSize};`), l.textColor && t.push(`color: ${l.textColor};`), l.backgroundColor) {
|
|
1907
|
+
const n = typeof l.backgroundOpacity == "number" ? ml(l.backgroundColor, l.backgroundOpacity) : l.backgroundColor;
|
|
1914
1908
|
t.push(`background-color: ${n};`);
|
|
1915
|
-
} else typeof
|
|
1909
|
+
} else typeof l.backgroundOpacity == "number" && t.push(`background-color: rgba(0, 0, 0, ${l.backgroundOpacity});`);
|
|
1916
1910
|
return t.length === 0 ? "" : `.${e}::cue { ${t.join(" ")} }`;
|
|
1917
1911
|
}
|
|
1918
|
-
function
|
|
1919
|
-
const
|
|
1920
|
-
if (/^[0-9a-f]{3}$/i.test(
|
|
1921
|
-
const n = parseInt(
|
|
1922
|
-
return `${n} ${
|
|
1912
|
+
function hl(e) {
|
|
1913
|
+
const l = e.trim().replace(/^#/, "");
|
|
1914
|
+
if (/^[0-9a-f]{3}$/i.test(l)) {
|
|
1915
|
+
const n = parseInt(l[0] + l[0], 16), a = parseInt(l[1] + l[1], 16), v = parseInt(l[2] + l[2], 16);
|
|
1916
|
+
return `${n} ${a} ${v}`;
|
|
1923
1917
|
}
|
|
1924
|
-
if (/^[0-9a-f]{6}$/i.test(
|
|
1925
|
-
const n = parseInt(
|
|
1926
|
-
return `${n} ${
|
|
1918
|
+
if (/^[0-9a-f]{6}$/i.test(l)) {
|
|
1919
|
+
const n = parseInt(l.slice(0, 2), 16), a = parseInt(l.slice(2, 4), 16), v = parseInt(l.slice(4, 6), 16);
|
|
1920
|
+
return `${n} ${a} ${v}`;
|
|
1927
1921
|
}
|
|
1928
1922
|
const t = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i.exec(e);
|
|
1929
1923
|
return t ? `${t[1]} ${t[2]} ${t[3]}` : null;
|
|
1930
1924
|
}
|
|
1931
|
-
function
|
|
1925
|
+
function kl(e) {
|
|
1932
1926
|
if (!e) return {};
|
|
1933
|
-
const
|
|
1927
|
+
const l = {};
|
|
1934
1928
|
if (e.accent) {
|
|
1935
|
-
const t =
|
|
1936
|
-
t ?
|
|
1929
|
+
const t = hl(e.accent);
|
|
1930
|
+
t ? l["--gvp-accent-rgb"] = t : l["--gvp-accent"] = e.accent;
|
|
1937
1931
|
}
|
|
1938
|
-
return e.radius && (
|
|
1932
|
+
return e.radius && (l["--gvp-radius"] = e.radius), l;
|
|
1939
1933
|
}
|
|
1940
|
-
const
|
|
1934
|
+
const yl = ["src"], bl = {
|
|
1941
1935
|
key: 3,
|
|
1942
1936
|
class: "gvp-vignette"
|
|
1943
|
-
},
|
|
1937
|
+
}, wl = {
|
|
1944
1938
|
key: 4,
|
|
1945
1939
|
class: "gvp-sr-only",
|
|
1946
1940
|
role: "status",
|
|
1947
1941
|
"aria-live": "polite"
|
|
1948
|
-
},
|
|
1942
|
+
}, xl = {
|
|
1949
1943
|
key: 5,
|
|
1950
1944
|
class: "gvp-loading",
|
|
1951
1945
|
role: "status",
|
|
1952
1946
|
"aria-live": "polite"
|
|
1953
|
-
},
|
|
1947
|
+
}, Cl = {
|
|
1954
1948
|
key: 6,
|
|
1955
1949
|
class: "gvp-error",
|
|
1956
1950
|
role: "alert"
|
|
1957
|
-
},
|
|
1951
|
+
}, Ll = {
|
|
1958
1952
|
key: 7,
|
|
1959
1953
|
class: "gvp-toggle"
|
|
1960
|
-
}, $
|
|
1954
|
+
}, $l = { class: "gvp-toggle-pill" }, El = ["aria-pressed"], _l = ["aria-pressed"], Pl = ["aria-label", "aria-pressed"], Tl = ["aria-label"], Ml = {
|
|
1961
1955
|
key: 14,
|
|
1962
1956
|
class: "gvp-play-wrap"
|
|
1963
|
-
},
|
|
1957
|
+
}, Il = {
|
|
1964
1958
|
key: 0,
|
|
1965
1959
|
class: "gvp-tooltip",
|
|
1966
1960
|
role: "tooltip"
|
|
1967
|
-
},
|
|
1961
|
+
}, Sl = {
|
|
1968
1962
|
key: 16,
|
|
1969
1963
|
class: "gvp-bottom-fade"
|
|
1970
|
-
},
|
|
1964
|
+
}, Bl = /* @__PURE__ */ N({
|
|
1971
1965
|
__name: "VideoPlayer",
|
|
1972
1966
|
props: {
|
|
1973
1967
|
src: {},
|
|
@@ -1999,35 +1993,35 @@ const ys = ["src"], bs = {
|
|
|
1999
1993
|
closable: { type: Boolean, default: !1 }
|
|
2000
1994
|
},
|
|
2001
1995
|
emits: ["close", "play", "pause", "ended", "time-update", "seeked", "volume-change", "milestone", "error", "playlist-change"],
|
|
2002
|
-
setup(e, { emit:
|
|
2003
|
-
const t = e, n =
|
|
1996
|
+
setup(e, { emit: l }) {
|
|
1997
|
+
const t = e, n = l, a = g(null), v = g(t.defaultDevice), d = g(!1), h = g(!1), E = g(!1), S = g(!1), A = g(!1), P = g(0), w = g(null), $ = g([]), T = g(-1), f = g([]), M = g(-1), z = g(-1), j = g(1), K = g(!1), re = g(!1), C = g(null), W = typeof document < "u" && !!document.pictureInPictureEnabled, V = I(
|
|
2004
1998
|
() => t.controls === !0 || t.controls === "custom"
|
|
2005
|
-
), D = I(() => t.controls === "native"), F = `gvp-video-${Math.random().toString(36).slice(2, 10)}`,
|
|
1999
|
+
), D = I(() => t.controls === "native"), F = `gvp-video-${Math.random().toString(36).slice(2, 10)}`, B = I(() => kl(t.theme)), R = g(!1), fe = g(!1), y = g(null);
|
|
2006
2000
|
let p = null;
|
|
2007
|
-
|
|
2008
|
-
p == null || p.disconnect(), p = null, !(!t.miniPlayer || !
|
|
2001
|
+
H(y, (s) => {
|
|
2002
|
+
p == null || p.disconnect(), p = null, !(!t.miniPlayer || !s || typeof IntersectionObserver > "u") && (p = new IntersectionObserver(
|
|
2009
2003
|
([i]) => {
|
|
2010
2004
|
i.isIntersecting ? (R.value = !1, fe.value = !1) : d.value && !fe.value && (R.value = !0);
|
|
2011
2005
|
},
|
|
2012
2006
|
{ threshold: 0 }
|
|
2013
|
-
), p.observe(
|
|
2014
|
-
}),
|
|
2015
|
-
|
|
2007
|
+
), p.observe(s));
|
|
2008
|
+
}), H(d, (s) => {
|
|
2009
|
+
s || (R.value = !1);
|
|
2016
2010
|
});
|
|
2017
2011
|
function ee() {
|
|
2018
2012
|
R.value = !1, fe.value = !0;
|
|
2019
2013
|
}
|
|
2020
2014
|
const m = g(null);
|
|
2021
2015
|
let Q = 0;
|
|
2022
|
-
|
|
2016
|
+
oe(() => {
|
|
2023
2017
|
p == null || p.disconnect(), p = null, cancelAnimationFrame(Q);
|
|
2024
2018
|
});
|
|
2025
2019
|
let Y = null;
|
|
2026
|
-
|
|
2020
|
+
H(
|
|
2027
2021
|
() => t.captionStyle,
|
|
2028
|
-
(
|
|
2022
|
+
(s) => {
|
|
2029
2023
|
if (typeof document > "u") return;
|
|
2030
|
-
const i =
|
|
2024
|
+
const i = gl(F, s);
|
|
2031
2025
|
if (!i) {
|
|
2032
2026
|
Y == null || Y.remove(), Y = null;
|
|
2033
2027
|
return;
|
|
@@ -2035,7 +2029,7 @@ const ys = ["src"], bs = {
|
|
|
2035
2029
|
Y || (Y = document.createElement("style"), document.head.appendChild(Y)), Y.textContent = i;
|
|
2036
2030
|
},
|
|
2037
2031
|
{ immediate: !0, deep: !0 }
|
|
2038
|
-
),
|
|
2032
|
+
), oe(() => {
|
|
2039
2033
|
Y == null || Y.remove(), Y = null;
|
|
2040
2034
|
});
|
|
2041
2035
|
const X = I(
|
|
@@ -2045,86 +2039,86 @@ const ys = ["src"], bs = {
|
|
|
2045
2039
|
), ge = I(
|
|
2046
2040
|
() => X.value ? t.playlist[Math.min(G.value, t.playlist.length - 1)] : null
|
|
2047
2041
|
), ue = I(() => {
|
|
2048
|
-
var
|
|
2049
|
-
return ((
|
|
2042
|
+
var s;
|
|
2043
|
+
return ((s = ge.value) == null ? void 0 : s.src) ?? t.src ?? "";
|
|
2050
2044
|
}), me = I(() => {
|
|
2051
|
-
var
|
|
2052
|
-
return ((
|
|
2045
|
+
var s;
|
|
2046
|
+
return ((s = ge.value) == null ? void 0 : s.poster) ?? t.poster;
|
|
2053
2047
|
}), Ie = I(
|
|
2054
2048
|
() => {
|
|
2055
|
-
var
|
|
2056
|
-
return ((
|
|
2049
|
+
var s;
|
|
2050
|
+
return ((s = ge.value) == null ? void 0 : s.thumbnails) ?? t.thumbnails;
|
|
2057
2051
|
}
|
|
2058
|
-
),
|
|
2052
|
+
), Se = I(
|
|
2059
2053
|
() => {
|
|
2060
|
-
var
|
|
2061
|
-
return ((
|
|
2054
|
+
var s;
|
|
2055
|
+
return ((s = ge.value) == null ? void 0 : s.chapters) ?? t.chapters;
|
|
2062
2056
|
}
|
|
2063
2057
|
), de = I(() => X.value && G.value > 0), Pe = I(
|
|
2064
2058
|
() => X.value && G.value < t.playlist.length - 1
|
|
2065
2059
|
);
|
|
2066
2060
|
let xe = !1;
|
|
2067
|
-
function Ce(
|
|
2061
|
+
function Ce(s, i = !1) {
|
|
2068
2062
|
if (!X.value) return;
|
|
2069
|
-
const k = Math.min(Math.max(
|
|
2063
|
+
const k = Math.min(Math.max(s, 0), t.playlist.length - 1);
|
|
2070
2064
|
k !== G.value && (xe = i, G.value = k, n("playlist-change", k, t.playlist[k]));
|
|
2071
2065
|
}
|
|
2072
|
-
const Le = I(() =>
|
|
2073
|
-
() => Le.value ?
|
|
2066
|
+
const Le = I(() => ul(ue.value)), U = I(() => Le.value !== null), Ae = I(
|
|
2067
|
+
() => Le.value ? dl(Le.value, {
|
|
2074
2068
|
autoPlay: t.autoPlay,
|
|
2075
2069
|
muted: t.muted,
|
|
2076
2070
|
loop: t.loop,
|
|
2077
|
-
controls:
|
|
2078
|
-
startSeconds:
|
|
2071
|
+
controls: V.value ? !0 : D.value,
|
|
2072
|
+
startSeconds: cl(ue.value)
|
|
2079
2073
|
}) : null
|
|
2080
2074
|
);
|
|
2081
|
-
function Ne(
|
|
2082
|
-
$.value =
|
|
2075
|
+
function Ne(s) {
|
|
2076
|
+
$.value = s, T.value = -1;
|
|
2083
2077
|
}
|
|
2084
|
-
function u(
|
|
2085
|
-
f.value =
|
|
2078
|
+
function u(s) {
|
|
2079
|
+
f.value = s, z.value = -1;
|
|
2086
2080
|
}
|
|
2087
2081
|
const b = I(
|
|
2088
2082
|
() => !U.value && $.value.length > 1
|
|
2089
2083
|
), _ = I(
|
|
2090
2084
|
() => {
|
|
2091
|
-
var
|
|
2092
|
-
return T.value >= 0 ? T.value : ((
|
|
2085
|
+
var s;
|
|
2086
|
+
return T.value >= 0 ? T.value : ((s = $.value[0]) == null ? void 0 : s.index) ?? -1;
|
|
2093
2087
|
}
|
|
2094
2088
|
), te = I(
|
|
2095
2089
|
() => {
|
|
2096
|
-
var
|
|
2097
|
-
return v.value === "mobile" ? ((
|
|
2090
|
+
var s, i;
|
|
2091
|
+
return v.value === "mobile" ? ((s = t.aspectRatio) == null ? void 0 : s.mobile) ?? "9/16" : ((i = t.aspectRatio) == null ? void 0 : i.desktop) ?? "16/9";
|
|
2098
2092
|
}
|
|
2099
2093
|
), he = I(
|
|
2100
2094
|
() => {
|
|
2101
|
-
var
|
|
2102
|
-
return v.value === "mobile" ? ((
|
|
2095
|
+
var s, i;
|
|
2096
|
+
return v.value === "mobile" ? ((s = t.frameMaxWidth) == null ? void 0 : s.mobile) ?? "420px" : ((i = t.frameMaxWidth) == null ? void 0 : i.desktop) ?? "960px";
|
|
2103
2097
|
}
|
|
2104
2098
|
), q = I(() => {
|
|
2105
|
-
var
|
|
2106
|
-
return ((
|
|
2099
|
+
var s;
|
|
2100
|
+
return ((s = a.value) == null ? void 0 : s.videoEl) ?? null;
|
|
2107
2101
|
});
|
|
2108
|
-
|
|
2109
|
-
if (cancelAnimationFrame(Q), !t.ambientMode || !
|
|
2110
|
-
const k =
|
|
2102
|
+
H([m, q], ([s, i]) => {
|
|
2103
|
+
if (cancelAnimationFrame(Q), !t.ambientMode || !s || !i || U.value) return;
|
|
2104
|
+
const k = s.getContext("2d");
|
|
2111
2105
|
if (!k) return;
|
|
2112
2106
|
let ne = 0;
|
|
2113
2107
|
const ie = ($e) => {
|
|
2114
2108
|
if (Q = requestAnimationFrame(ie), !($e - ne < 250) && (ne = $e, !(i.readyState < 2 || i.paused)))
|
|
2115
2109
|
try {
|
|
2116
|
-
k.drawImage(i, 0, 0,
|
|
2110
|
+
k.drawImage(i, 0, 0, s.width, s.height);
|
|
2117
2111
|
} catch {
|
|
2118
2112
|
}
|
|
2119
2113
|
};
|
|
2120
2114
|
Q = requestAnimationFrame(ie);
|
|
2121
2115
|
});
|
|
2122
2116
|
async function ke() {
|
|
2123
|
-
const
|
|
2124
|
-
if (
|
|
2117
|
+
const s = q.value;
|
|
2118
|
+
if (s)
|
|
2125
2119
|
try {
|
|
2126
|
-
|
|
2127
|
-
const i =
|
|
2120
|
+
s.readyState < 2 && s.load();
|
|
2121
|
+
const i = s.play();
|
|
2128
2122
|
w.value = i, await i, d.value = !0;
|
|
2129
2123
|
} catch {
|
|
2130
2124
|
d.value = !1;
|
|
@@ -2133,14 +2127,14 @@ const ys = ["src"], bs = {
|
|
|
2133
2127
|
}
|
|
2134
2128
|
}
|
|
2135
2129
|
async function ve() {
|
|
2136
|
-
const
|
|
2137
|
-
if (
|
|
2130
|
+
const s = q.value;
|
|
2131
|
+
if (s) {
|
|
2138
2132
|
if (w.value)
|
|
2139
2133
|
try {
|
|
2140
2134
|
await w.value;
|
|
2141
2135
|
} catch {
|
|
2142
2136
|
}
|
|
2143
|
-
|
|
2137
|
+
s.pause();
|
|
2144
2138
|
}
|
|
2145
2139
|
}
|
|
2146
2140
|
async function Qe() {
|
|
@@ -2150,19 +2144,19 @@ const ys = ["src"], bs = {
|
|
|
2150
2144
|
!t.hoverPlay || U.value || (await ve(), d.value = !1);
|
|
2151
2145
|
}
|
|
2152
2146
|
async function Te() {
|
|
2153
|
-
const
|
|
2154
|
-
|
|
2147
|
+
const s = q.value;
|
|
2148
|
+
s && (s.paused ? await ke() : (await ve(), d.value = !1));
|
|
2155
2149
|
}
|
|
2156
|
-
function
|
|
2157
|
-
const
|
|
2158
|
-
if (!
|
|
2159
|
-
if ((document.fullscreenElement ?? document.webkitFullscreenElement ?? null) ===
|
|
2150
|
+
function He() {
|
|
2151
|
+
const s = C.value;
|
|
2152
|
+
if (!s) return;
|
|
2153
|
+
if ((document.fullscreenElement ?? document.webkitFullscreenElement ?? null) === s) {
|
|
2160
2154
|
const k = document.exitFullscreen ?? document.webkitExitFullscreen;
|
|
2161
2155
|
k == null || k.call(document).catch(() => {
|
|
2162
2156
|
});
|
|
2163
2157
|
} else {
|
|
2164
|
-
const k =
|
|
2165
|
-
k == null || k.call(
|
|
2158
|
+
const k = s.requestFullscreen ?? s.webkitRequestFullscreen;
|
|
2159
|
+
k == null || k.call(s).catch(() => {
|
|
2166
2160
|
});
|
|
2167
2161
|
}
|
|
2168
2162
|
}
|
|
@@ -2173,12 +2167,12 @@ const ys = ["src"], bs = {
|
|
|
2173
2167
|
}, 250));
|
|
2174
2168
|
}
|
|
2175
2169
|
function Je() {
|
|
2176
|
-
ye !== null && (clearTimeout(ye), ye = null),
|
|
2170
|
+
ye !== null && (clearTimeout(ye), ye = null), He();
|
|
2177
2171
|
}
|
|
2178
2172
|
function Xe() {
|
|
2179
2173
|
d.value = !1, n("ended"), X.value && t.autoAdvance && Pe.value && Ce(G.value + 1, !0);
|
|
2180
2174
|
}
|
|
2181
|
-
|
|
2175
|
+
H(ue, () => {
|
|
2182
2176
|
xe && (xe = !1, ke());
|
|
2183
2177
|
});
|
|
2184
2178
|
function et() {
|
|
@@ -2187,123 +2181,123 @@ const ys = ["src"], bs = {
|
|
|
2187
2181
|
function tt() {
|
|
2188
2182
|
h.value = !1, Ye();
|
|
2189
2183
|
}
|
|
2190
|
-
function nt(
|
|
2191
|
-
j.value =
|
|
2184
|
+
function nt(s) {
|
|
2185
|
+
j.value = s;
|
|
2192
2186
|
const i = q.value;
|
|
2193
|
-
i && (i.playbackRate =
|
|
2187
|
+
i && (i.playbackRate = s);
|
|
2194
2188
|
}
|
|
2195
|
-
|
|
2196
|
-
if (!
|
|
2197
|
-
|
|
2198
|
-
j.value =
|
|
2199
|
-
}),
|
|
2189
|
+
H(q, (s) => {
|
|
2190
|
+
if (!s) return;
|
|
2191
|
+
s.addEventListener("ratechange", () => {
|
|
2192
|
+
j.value = s.playbackRate;
|
|
2193
|
+
}), s.addEventListener("enterpictureinpicture", () => {
|
|
2200
2194
|
K.value = !0;
|
|
2201
|
-
}),
|
|
2195
|
+
}), s.addEventListener("leavepictureinpicture", () => {
|
|
2202
2196
|
K.value = !1;
|
|
2203
2197
|
});
|
|
2204
2198
|
const i = /* @__PURE__ */ new Set();
|
|
2205
|
-
|
|
2206
|
-
const k =
|
|
2207
|
-
if (n("time-update",
|
|
2208
|
-
const ne =
|
|
2199
|
+
s.addEventListener("timeupdate", () => {
|
|
2200
|
+
const k = s.duration;
|
|
2201
|
+
if (n("time-update", s.currentTime, Number.isFinite(k) ? k : 0), !Number.isFinite(k) || k <= 0) return;
|
|
2202
|
+
const ne = s.currentTime / k * 100;
|
|
2209
2203
|
for (const ie of [25, 50, 75, 100])
|
|
2210
2204
|
ne >= ie && !i.has(ie) && (i.add(ie), n("milestone", ie));
|
|
2211
|
-
}),
|
|
2212
|
-
n("seeked",
|
|
2213
|
-
}),
|
|
2214
|
-
n("volume-change",
|
|
2215
|
-
}),
|
|
2216
|
-
|
|
2217
|
-
}),
|
|
2205
|
+
}), s.addEventListener("seeked", () => {
|
|
2206
|
+
n("seeked", s.currentTime);
|
|
2207
|
+
}), s.addEventListener("volumechange", () => {
|
|
2208
|
+
n("volume-change", s.volume, s.muted);
|
|
2209
|
+
}), s.addEventListener("error", () => {
|
|
2210
|
+
S.value = !0, E.value = !1, n("error");
|
|
2211
|
+
}), s.addEventListener("waiting", () => {
|
|
2218
2212
|
E.value = !0;
|
|
2219
|
-
}),
|
|
2213
|
+
}), s.addEventListener("stalled", () => {
|
|
2220
2214
|
E.value = !0;
|
|
2221
|
-
}),
|
|
2215
|
+
}), s.addEventListener("playing", () => {
|
|
2222
2216
|
E.value = !1;
|
|
2223
|
-
}),
|
|
2217
|
+
}), s.addEventListener("canplay", () => {
|
|
2224
2218
|
E.value = !1;
|
|
2225
|
-
}),
|
|
2219
|
+
}), s.addEventListener("seeked", () => {
|
|
2226
2220
|
E.value = !1;
|
|
2227
2221
|
});
|
|
2228
|
-
}),
|
|
2229
|
-
|
|
2222
|
+
}), H(ue, () => {
|
|
2223
|
+
S.value = !1, E.value = !1;
|
|
2230
2224
|
});
|
|
2231
|
-
function
|
|
2232
|
-
|
|
2225
|
+
function lt() {
|
|
2226
|
+
S.value = !0, E.value = !1, n("error");
|
|
2233
2227
|
}
|
|
2234
|
-
const
|
|
2235
|
-
function
|
|
2236
|
-
|
|
2228
|
+
const st = I(() => S.value ? "Video failed to load" : E.value ? "Loading" : d.value ? "Playing" : "Paused");
|
|
2229
|
+
function at() {
|
|
2230
|
+
S.value = !1, E.value = !1, P.value += 1;
|
|
2237
2231
|
}
|
|
2238
|
-
|
|
2239
|
-
if (!
|
|
2232
|
+
H(q, (s) => {
|
|
2233
|
+
if (!s || !t.persistKey) return;
|
|
2240
2234
|
const i = t.persistKey, k = Me(i);
|
|
2241
|
-
typeof k.volume == "number" && (
|
|
2235
|
+
typeof k.volume == "number" && (s.volume = k.volume), typeof k.muted == "boolean" && (s.muted = k.muted), typeof k.speed == "number" && (s.playbackRate = k.speed);
|
|
2242
2236
|
const ne = () => {
|
|
2243
2237
|
Ke(i, {
|
|
2244
|
-
volume:
|
|
2245
|
-
muted:
|
|
2246
|
-
speed:
|
|
2238
|
+
volume: s.volume,
|
|
2239
|
+
muted: s.muted,
|
|
2240
|
+
speed: s.playbackRate
|
|
2247
2241
|
});
|
|
2248
2242
|
};
|
|
2249
|
-
|
|
2250
|
-
}),
|
|
2251
|
-
if (!
|
|
2243
|
+
s.addEventListener("volumechange", ne), s.addEventListener("ratechange", ne);
|
|
2244
|
+
}), H([q, ue], ([s, i]) => {
|
|
2245
|
+
if (!s || !t.persistKey || !i) return;
|
|
2252
2246
|
const k = t.persistKey, ne = () => {
|
|
2253
|
-
const be =
|
|
2254
|
-
be > 0 && (!Number.isFinite(
|
|
2247
|
+
const be = pl(k, i);
|
|
2248
|
+
be > 0 && (!Number.isFinite(s.duration) || be < s.duration - 1) && (s.currentTime = be);
|
|
2255
2249
|
};
|
|
2256
|
-
|
|
2250
|
+
s.readyState >= 1 ? ne() : s.addEventListener("loadedmetadata", ne, { once: !0 });
|
|
2257
2251
|
let ie = 0;
|
|
2258
2252
|
const $e = () => {
|
|
2259
2253
|
const be = Date.now();
|
|
2260
|
-
be - ie < 1e3 || (ie = be, je(k, i,
|
|
2254
|
+
be - ie < 1e3 || (ie = be, je(k, i, s.currentTime));
|
|
2261
2255
|
};
|
|
2262
|
-
|
|
2256
|
+
s.addEventListener("timeupdate", $e), s.addEventListener("pause", $e), s.addEventListener("ended", () => je(k, i, 0));
|
|
2263
2257
|
}, { immediate: !0 });
|
|
2264
|
-
function
|
|
2265
|
-
const
|
|
2266
|
-
|
|
2267
|
-
}) :
|
|
2258
|
+
function Ve() {
|
|
2259
|
+
const s = q.value;
|
|
2260
|
+
s && (document.pictureInPictureElement ? document.exitPictureInPicture().catch(() => {
|
|
2261
|
+
}) : s.requestPictureInPicture().catch(() => {
|
|
2268
2262
|
}));
|
|
2269
2263
|
}
|
|
2270
|
-
function Re(
|
|
2264
|
+
function Re(s) {
|
|
2271
2265
|
var ne;
|
|
2272
2266
|
const i = q.value;
|
|
2273
|
-
if (!(!i || !re.value && !((ne = C.value) != null && ne.contains(document.activeElement)) ||
|
|
2274
|
-
switch (
|
|
2267
|
+
if (!(!i || !re.value && !((ne = C.value) != null && ne.contains(document.activeElement)) || s.target.tagName === "INPUT" && s.key !== " "))
|
|
2268
|
+
switch (s.key) {
|
|
2275
2269
|
case " ":
|
|
2276
2270
|
case "k":
|
|
2277
|
-
|
|
2271
|
+
s.preventDefault(), Te();
|
|
2278
2272
|
break;
|
|
2279
2273
|
case "ArrowLeft":
|
|
2280
|
-
|
|
2274
|
+
s.preventDefault(), i.currentTime = Math.max(0, i.currentTime - 5);
|
|
2281
2275
|
break;
|
|
2282
2276
|
case "ArrowRight":
|
|
2283
|
-
|
|
2277
|
+
s.preventDefault(), i.currentTime = Math.min(i.duration || 0, i.currentTime + 5);
|
|
2284
2278
|
break;
|
|
2285
2279
|
case "ArrowUp":
|
|
2286
|
-
|
|
2280
|
+
s.preventDefault(), i.volume = Math.min(1, i.volume + 0.1), i.muted && (i.muted = !1);
|
|
2287
2281
|
break;
|
|
2288
2282
|
case "ArrowDown":
|
|
2289
|
-
|
|
2283
|
+
s.preventDefault(), i.volume = Math.max(0, i.volume - 0.1);
|
|
2290
2284
|
break;
|
|
2291
2285
|
case "m":
|
|
2292
2286
|
i.muted = !i.muted;
|
|
2293
2287
|
break;
|
|
2294
2288
|
case "f":
|
|
2295
|
-
|
|
2289
|
+
He();
|
|
2296
2290
|
break;
|
|
2297
2291
|
case "p":
|
|
2298
|
-
W &&
|
|
2292
|
+
W && Ve();
|
|
2299
2293
|
break;
|
|
2300
2294
|
}
|
|
2301
2295
|
}
|
|
2302
|
-
return
|
|
2296
|
+
return Be(() => {
|
|
2303
2297
|
document.addEventListener("keydown", Re);
|
|
2304
|
-
}),
|
|
2298
|
+
}), oe(() => {
|
|
2305
2299
|
document.removeEventListener("keydown", Re);
|
|
2306
|
-
}), (
|
|
2300
|
+
}), (s, i) => (r(), c("div", {
|
|
2307
2301
|
class: L(["gvp-ambient-wrap", { "is-ambient": e.ambientMode }]),
|
|
2308
2302
|
style: ce({ width: he.value })
|
|
2309
2303
|
}, [
|
|
@@ -2328,7 +2322,7 @@ const ys = ["src"], bs = {
|
|
|
2328
2322
|
style: ce({ width: "100%", aspectRatio: te.value }),
|
|
2329
2323
|
"aria-hidden": "true"
|
|
2330
2324
|
}, null, 4)) : x("", !0),
|
|
2331
|
-
|
|
2325
|
+
o("div", {
|
|
2332
2326
|
ref_key: "rootEl",
|
|
2333
2327
|
ref: C,
|
|
2334
2328
|
class: L([
|
|
@@ -2337,7 +2331,7 @@ const ys = ["src"], bs = {
|
|
|
2337
2331
|
{ "gvp-mini": R.value },
|
|
2338
2332
|
R.value ? `gvp-mini-${e.miniPlayerPosition}` : ""
|
|
2339
2333
|
]),
|
|
2340
|
-
style: ce({ width: "100%", aspectRatio: te.value, ...
|
|
2334
|
+
style: ce({ width: "100%", aspectRatio: te.value, ...B.value }),
|
|
2341
2335
|
onMouseenter: i[14] || (i[14] = (k) => {
|
|
2342
2336
|
re.value = !0, et();
|
|
2343
2337
|
}),
|
|
@@ -2357,14 +2351,14 @@ const ys = ["src"], bs = {
|
|
|
2357
2351
|
U.value ? (r(), c("iframe", {
|
|
2358
2352
|
key: 1,
|
|
2359
2353
|
class: "gvp-video gvp-youtube",
|
|
2360
|
-
src:
|
|
2354
|
+
src: Ae.value ?? void 0,
|
|
2361
2355
|
title: "YouTube video player",
|
|
2362
2356
|
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
|
|
2363
2357
|
allowfullscreen: "",
|
|
2364
2358
|
referrerpolicy: "strict-origin-when-cross-origin"
|
|
2365
|
-
}, null, 8,
|
|
2359
|
+
}, null, 8, yl)) : (r(), J(vt, {
|
|
2366
2360
|
ref_key: "hlsPlayerRef",
|
|
2367
|
-
ref:
|
|
2361
|
+
ref: a,
|
|
2368
2362
|
key: `${ue.value}#${P.value}`,
|
|
2369
2363
|
controls: D.value,
|
|
2370
2364
|
"hls-config": e.hlsConfig,
|
|
@@ -2383,8 +2377,8 @@ const ys = ["src"], bs = {
|
|
|
2383
2377
|
onQualityLevels: u,
|
|
2384
2378
|
onCurrentLevel: i[0] || (i[0] = (k) => M.value = k),
|
|
2385
2379
|
onEnded: Xe,
|
|
2386
|
-
onFatalError:
|
|
2387
|
-
onLiveChange: i[1] || (i[1] = (k) =>
|
|
2380
|
+
onFatalError: lt,
|
|
2381
|
+
onLiveChange: i[1] || (i[1] = (k) => A.value = k),
|
|
2388
2382
|
onPause: i[2] || (i[2] = (k) => {
|
|
2389
2383
|
d.value = !1, n("pause");
|
|
2390
2384
|
}),
|
|
@@ -2393,31 +2387,31 @@ const ys = ["src"], bs = {
|
|
|
2393
2387
|
})
|
|
2394
2388
|
}, {
|
|
2395
2389
|
default: it(() => [
|
|
2396
|
-
Ue(
|
|
2390
|
+
Ue(s.$slots, "default")
|
|
2397
2391
|
]),
|
|
2398
2392
|
_: 3
|
|
2399
2393
|
}, 8, ["controls", "hls-config", "is-hls", "loop", "muted", "auto-play", "audio-track-index", "quality-level-index", "poster", "src", "class"])),
|
|
2400
|
-
U.value ? x("", !0) : (r(), c("div",
|
|
2401
|
-
U.value ? x("", !0) : (r(), c("span",
|
|
2402
|
-
!U.value && E.value && !
|
|
2403
|
-
|
|
2404
|
-
|
|
2394
|
+
U.value ? x("", !0) : (r(), c("div", bl)),
|
|
2395
|
+
U.value ? x("", !0) : (r(), c("span", wl, Z(st.value), 1)),
|
|
2396
|
+
!U.value && E.value && !S.value ? (r(), c("div", xl, [...i[16] || (i[16] = [
|
|
2397
|
+
o("div", { class: "gvp-spinner" }, null, -1),
|
|
2398
|
+
o("span", { class: "gvp-sr-only" }, "Loading…", -1)
|
|
2405
2399
|
])])) : x("", !0),
|
|
2406
|
-
!U.value &&
|
|
2407
|
-
O(
|
|
2408
|
-
i[18] || (i[18] =
|
|
2409
|
-
|
|
2400
|
+
!U.value && S.value ? (r(), c("div", Cl, [
|
|
2401
|
+
O(ol, { class: "gvp-error-icon" }),
|
|
2402
|
+
i[18] || (i[18] = o("p", { class: "gvp-error-text" }, "This video couldn't be played.", -1)),
|
|
2403
|
+
o("button", {
|
|
2410
2404
|
type: "button",
|
|
2411
2405
|
class: "gvp-error-retry",
|
|
2412
|
-
onClick:
|
|
2406
|
+
onClick: at
|
|
2413
2407
|
}, [
|
|
2414
|
-
O(
|
|
2415
|
-
i[17] || (i[17] =
|
|
2408
|
+
O(il),
|
|
2409
|
+
i[17] || (i[17] = o("span", null, "Retry", -1))
|
|
2416
2410
|
])
|
|
2417
2411
|
])) : x("", !0),
|
|
2418
|
-
e.showDeviceToggle ? (r(), c("div",
|
|
2419
|
-
|
|
2420
|
-
|
|
2412
|
+
e.showDeviceToggle ? (r(), c("div", Ll, [
|
|
2413
|
+
o("div", $l, [
|
|
2414
|
+
o("button", {
|
|
2421
2415
|
"aria-pressed": v.value === "desktop",
|
|
2422
2416
|
class: L(["gvp-toggle-btn", { "is-active": v.value === "desktop" }]),
|
|
2423
2417
|
"aria-label": "Desktop view",
|
|
@@ -2425,17 +2419,17 @@ const ys = ["src"], bs = {
|
|
|
2425
2419
|
onClick: i[4] || (i[4] = (k) => v.value = "desktop")
|
|
2426
2420
|
}, [
|
|
2427
2421
|
O(Xn)
|
|
2428
|
-
], 10,
|
|
2429
|
-
i[19] || (i[19] =
|
|
2430
|
-
|
|
2422
|
+
], 10, El),
|
|
2423
|
+
i[19] || (i[19] = o("div", { class: "gvp-toggle-divider" }, null, -1)),
|
|
2424
|
+
o("button", {
|
|
2431
2425
|
"aria-pressed": v.value === "mobile",
|
|
2432
2426
|
class: L(["gvp-toggle-btn", { "is-active": v.value === "mobile" }]),
|
|
2433
2427
|
"aria-label": "Mobile view",
|
|
2434
2428
|
type: "button",
|
|
2435
2429
|
onClick: i[5] || (i[5] = (k) => v.value = "mobile")
|
|
2436
2430
|
}, [
|
|
2437
|
-
O(
|
|
2438
|
-
], 10,
|
|
2431
|
+
O(tl)
|
|
2432
|
+
], 10, _l)
|
|
2439
2433
|
])
|
|
2440
2434
|
])) : x("", !0),
|
|
2441
2435
|
e.closable ? (r(), c("button", {
|
|
@@ -2447,41 +2441,41 @@ const ys = ["src"], bs = {
|
|
|
2447
2441
|
}, [
|
|
2448
2442
|
O(Oe)
|
|
2449
2443
|
])) : x("", !0),
|
|
2450
|
-
b.value && !
|
|
2444
|
+
b.value && !V.value ? (r(), J(bt, {
|
|
2451
2445
|
key: 9,
|
|
2452
2446
|
tracks: $.value,
|
|
2453
2447
|
"active-index": _.value,
|
|
2454
2448
|
onSelect: i[7] || (i[7] = (k) => T.value = k)
|
|
2455
2449
|
}, null, 8, ["tracks", "active-index"])) : x("", !0),
|
|
2456
|
-
!U.value && !
|
|
2450
|
+
!U.value && !V.value ? (r(), J(_t, {
|
|
2457
2451
|
key: 10,
|
|
2458
2452
|
speed: j.value,
|
|
2459
2453
|
onSelect: nt
|
|
2460
2454
|
}, null, 8, ["speed"])) : x("", !0),
|
|
2461
|
-
!U.value && !
|
|
2455
|
+
!U.value && !V.value ? (r(), J(Nt, {
|
|
2462
2456
|
key: 11,
|
|
2463
2457
|
video: q.value
|
|
2464
2458
|
}, null, 8, ["video"])) : x("", !0),
|
|
2465
|
-
!U.value &&
|
|
2459
|
+
!U.value && se(W) && !V.value ? (r(), c("button", {
|
|
2466
2460
|
key: 12,
|
|
2467
2461
|
type: "button",
|
|
2468
2462
|
class: L(["gvp-pip-btn", { "is-active": K.value }]),
|
|
2469
2463
|
"aria-label": K.value ? "Exit picture-in-picture" : "Picture-in-picture",
|
|
2470
2464
|
"aria-pressed": K.value,
|
|
2471
|
-
onClick:
|
|
2465
|
+
onClick: Ve
|
|
2472
2466
|
}, [
|
|
2473
2467
|
O(ze)
|
|
2474
|
-
], 10,
|
|
2475
|
-
!U.value &&
|
|
2468
|
+
], 10, Pl)) : x("", !0),
|
|
2469
|
+
!U.value && V.value ? (r(), c("button", {
|
|
2476
2470
|
key: 13,
|
|
2477
2471
|
type: "button",
|
|
2478
2472
|
class: "gvp-click-layer",
|
|
2479
2473
|
"aria-label": d.value ? "Pause" : "Play",
|
|
2480
2474
|
onClick: Ge,
|
|
2481
2475
|
onDblclick: Je
|
|
2482
|
-
}, null, 40,
|
|
2483
|
-
!U.value && !
|
|
2484
|
-
|
|
2476
|
+
}, null, 40, Tl)) : x("", !0),
|
|
2477
|
+
!U.value && !V.value && !d.value ? (r(), c("div", Ml, [
|
|
2478
|
+
o("button", {
|
|
2485
2479
|
"aria-label": "Play",
|
|
2486
2480
|
class: "gvp-play",
|
|
2487
2481
|
type: "button",
|
|
@@ -2489,11 +2483,11 @@ const ys = ["src"], bs = {
|
|
|
2489
2483
|
onMouseenter: i[8] || (i[8] = (k) => h.value = !0),
|
|
2490
2484
|
onMouseleave: i[9] || (i[9] = (k) => h.value = !1)
|
|
2491
2485
|
}, [
|
|
2492
|
-
O(
|
|
2493
|
-
e.tooltipText && h.value ? (r(), c("span",
|
|
2486
|
+
O(ll),
|
|
2487
|
+
e.tooltipText && h.value ? (r(), c("span", Il, Z(e.tooltipText), 1)) : x("", !0)
|
|
2494
2488
|
], 32)
|
|
2495
2489
|
])) : x("", !0),
|
|
2496
|
-
!U.value &&
|
|
2490
|
+
!U.value && V.value ? (r(), J(Gn, {
|
|
2497
2491
|
key: 15,
|
|
2498
2492
|
video: q.value,
|
|
2499
2493
|
"is-playing": d.value,
|
|
@@ -2503,10 +2497,10 @@ const ys = ["src"], bs = {
|
|
|
2503
2497
|
"current-level": M.value,
|
|
2504
2498
|
"selected-level": z.value,
|
|
2505
2499
|
thumbnails: Ie.value,
|
|
2506
|
-
chapters:
|
|
2500
|
+
chapters: Se.value,
|
|
2507
2501
|
"has-prev": de.value,
|
|
2508
2502
|
"has-next": Pe.value,
|
|
2509
|
-
"is-live":
|
|
2503
|
+
"is-live": A.value,
|
|
2510
2504
|
"audio-tracks": $.value,
|
|
2511
2505
|
"audio-track-index": _.value,
|
|
2512
2506
|
onSelectLevel: i[10] || (i[10] = (k) => z.value = k),
|
|
@@ -2514,16 +2508,16 @@ const ys = ["src"], bs = {
|
|
|
2514
2508
|
onPrev: i[12] || (i[12] = (k) => Ce(G.value - 1, !0)),
|
|
2515
2509
|
onNext: i[13] || (i[13] = (k) => Ce(G.value + 1, !0))
|
|
2516
2510
|
}, null, 8, ["video", "is-playing", "container", "quality-levels", "current-level", "selected-level", "thumbnails", "chapters", "has-prev", "has-next", "is-live", "audio-tracks", "audio-track-index"])) : x("", !0),
|
|
2517
|
-
!U.value && !
|
|
2511
|
+
!U.value && !V.value ? (r(), c("div", Sl)) : x("", !0)
|
|
2518
2512
|
], 38)
|
|
2519
2513
|
], 6));
|
|
2520
2514
|
}
|
|
2521
2515
|
});
|
|
2522
2516
|
export {
|
|
2523
2517
|
vt as HLSPlayer,
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2518
|
+
Bl as VueVideoPlayer,
|
|
2519
|
+
ul as parseYouTubeId,
|
|
2520
|
+
cl as parseYouTubeStart,
|
|
2521
|
+
dl as youTubeEmbedUrl
|
|
2528
2522
|
};
|
|
2529
2523
|
//# sourceMappingURL=index.mjs.map
|