@hanifhan1f/vidstack 1.12.33 → 1.12.35
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/cdn/with-layouts/chunks/{vidstack-BCLumCST.js → vidstack-BEgmmcDO.js} +56 -52
- package/cdn/with-layouts/chunks/{vidstack-DJyGEdCH.js → vidstack-t3PBZMbl.js} +1 -1
- package/cdn/with-layouts/vidstack.js +1 -1
- package/dev/chunks/{vidstack-B__DfQsT.js → vidstack-BReSQAMt.js} +10 -6
- package/dev/define/templates/vidstack-audio-layout.js +1 -1
- package/dev/define/templates/vidstack-video-layout.js +7 -5
- package/dev/define/vidstack-player-default-layout.js +1 -1
- package/dev/define/vidstack-player-layouts.js +1 -1
- package/dev/vidstack-elements.js +1 -1
- package/dev/vidstack.js +0 -4
- package/elements.d.ts +1 -1
- package/global/player.d.ts +1 -1
- package/global/plyr.d.ts +2 -2
- package/index.d.ts +2 -2
- package/package.json +1 -1
- package/prod/chunks/{vidstack-BnEo_Sla.js → vidstack-B0glDgAI.js} +10 -6
- package/prod/define/templates/vidstack-audio-layout.js +1 -1
- package/prod/define/templates/vidstack-video-layout.js +7 -5
- package/prod/define/vidstack-player-default-layout.js +1 -1
- package/prod/define/vidstack-player-layouts.js +1 -1
- package/prod/vidstack-elements.js +1 -1
- package/server/chunks/{vidstack-BIGdJnUK.js → vidstack-nANS1jfu.js} +16 -10
- package/server/define/vidstack-player-default-layout.js +1 -1
- package/server/define/vidstack-player-layouts.js +1 -1
- package/server/vidstack-elements.js +1 -1
- package/types/{vidstack-DYLKXUvI.d.ts → vidstack-CZqFq0VF.d.ts} +13 -1
- package/cdn/chunks/vidstack-8JHLDxl5.js +0 -1
- package/cdn/chunks/vidstack-BF7lZRtq.js +0 -3
- package/cdn/chunks/vidstack-BYgY9wmd.js +0 -1
- package/cdn/chunks/vidstack-BYpysj84.js +0 -1
- package/cdn/chunks/vidstack-Bjo5esRp.js +0 -1
- package/cdn/chunks/vidstack-BkxGdzTJ.js +0 -16
- package/cdn/chunks/vidstack-BuL67v3q.js +0 -1
- package/cdn/chunks/vidstack-Bzk6lVKb.js +0 -1
- package/cdn/chunks/vidstack-C0msPRTd.js +0 -3
- package/cdn/chunks/vidstack-C1FlyyzK.js +0 -1
- package/cdn/chunks/vidstack-CIjxJCz3.js +0 -1
- package/cdn/chunks/vidstack-CioT3Yw2.js +0 -1
- package/cdn/chunks/vidstack-Cj0I-Rec.js +0 -1
- package/cdn/chunks/vidstack-CmpbA3Yd.js +0 -16
- package/cdn/chunks/vidstack-CnWKPIKT.js +0 -16
- package/cdn/chunks/vidstack-CrqkytHl.js +0 -1
- package/cdn/chunks/vidstack-D0M8R0ZU.js +0 -1
- package/cdn/chunks/vidstack-D40FSa5B.js +0 -3
- package/cdn/chunks/vidstack-D84Fzc__.js +0 -16
- package/cdn/chunks/vidstack-DD2JwFVU.js +0 -1
- package/cdn/chunks/vidstack-DQvyz7Mm.js +0 -1
- package/cdn/chunks/vidstack-Dd9fqVv6.js +0 -1
- package/cdn/chunks/vidstack-DfDZuHNP.js +0 -1
- package/cdn/chunks/vidstack-uMxrPflF.js +0 -1
- package/cdn/chunks/vidstack-xjJ-ui_l.js +0 -1
- package/cdn/chunks/vidstack-zemsqC5d.js +0 -1
- package/cdn/providers/vidstack-audio-2Dt_Ivbp.js +0 -1
- package/cdn/providers/vidstack-audio-BOGYlExy.js +0 -1
- package/cdn/providers/vidstack-dash-CUtD4e6q.js +0 -1
- package/cdn/providers/vidstack-dash-D4ZARr66.js +0 -1
- package/cdn/providers/vidstack-google-cast-BdORATUX.js +0 -1
- package/cdn/providers/vidstack-hls-8-552IuX.js +0 -1
- package/cdn/providers/vidstack-hls-R25Kb6DP.js +0 -1
- package/cdn/providers/vidstack-html-BvVaN2VT.js +0 -1
- package/cdn/providers/vidstack-html-DaAUJYsD.js +0 -1
- package/cdn/providers/vidstack-video-BnwQZKER.js +0 -1
- package/cdn/providers/vidstack-video-Csvox7SO.js +0 -1
- package/cdn/providers/vidstack-vimeo-D4Z96kg2.js +0 -1
- package/cdn/providers/vidstack-vimeo-gJmBqtLK.js +0 -1
- package/cdn/providers/vidstack-youtube-Chl_dTAz.js +0 -1
- package/cdn/providers/vidstack-youtube-DiND6h3s.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-4liSokT6.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-B97B8XDc.js +0 -3
- package/cdn/with-layouts/chunks/vidstack-BD5YoTt5.js +0 -937
- package/cdn/with-layouts/chunks/vidstack-BGhRKayG.js +0 -914
- package/cdn/with-layouts/chunks/vidstack-BL_lNyW_.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-BMhNagfl.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-BP3ybDy9.js +0 -912
- package/cdn/with-layouts/chunks/vidstack-BbFHhcVG.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-BjOOdDcQ.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-C5AP9wid.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-CS2aNc61.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-CXEcXyBI.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-Ciq-n5rg.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-CmuGllcj.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-CyNByJUW.js +0 -912
- package/cdn/with-layouts/chunks/vidstack-D-3_fAsK.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-DCaNJN4T.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-DKqYI_HJ.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-DLGH9jfs.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-DLVdcWrK.js +0 -3
- package/cdn/with-layouts/chunks/vidstack-DPO7J4-v.js +0 -3
- package/cdn/with-layouts/chunks/vidstack-DWjB11vV.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-Dd3L-eQj.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-Dh2GOjra.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-DhNpv7SU.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-QW5tTAS4.js +0 -897
- package/cdn/with-layouts/chunks/vidstack-T2rZVigk.js +0 -912
- package/cdn/with-layouts/chunks/vidstack-Xe_d7ovA.js +0 -1
- package/cdn/with-layouts/chunks/vidstack-wt2OT4N7.js +0 -1
- package/cdn/with-layouts/providers/vidstack-audio-Bw1csc6N.js +0 -1
- package/cdn/with-layouts/providers/vidstack-audio-CwoQJvl2.js +0 -1
- package/cdn/with-layouts/providers/vidstack-dash-CJsKJfLI.js +0 -1
- package/cdn/with-layouts/providers/vidstack-dash-DHRMFG4Y.js +0 -1
- package/cdn/with-layouts/providers/vidstack-google-cast-BSYJYn-o.js +0 -1
- package/cdn/with-layouts/providers/vidstack-hls-DG1rTEqu.js +0 -1
- package/cdn/with-layouts/providers/vidstack-hls-ji26kFdQ.js +0 -1
- package/cdn/with-layouts/providers/vidstack-html-BvHMxtoe.js +0 -1
- package/cdn/with-layouts/providers/vidstack-html-CoKFAYW5.js +0 -1
- package/cdn/with-layouts/providers/vidstack-video-1Uj5cNP2.js +0 -1
- package/cdn/with-layouts/providers/vidstack-video-CIxFJ9Z1.js +0 -1
- package/cdn/with-layouts/providers/vidstack-vimeo-CNLKOGMa.js +0 -1
- package/cdn/with-layouts/providers/vidstack-vimeo-DACTbJaQ.js +0 -1
- package/cdn/with-layouts/providers/vidstack-youtube-D1e-LE-8.js +0 -1
- package/cdn/with-layouts/providers/vidstack-youtube-RoLp-I6u.js +0 -1
- package/dev/chunks/vidstack-03oQOdB7.js +0 -58
- package/dev/chunks/vidstack-0XhA3AD_.js +0 -5181
- package/dev/chunks/vidstack-44ILR0Cb.js +0 -1521
- package/dev/chunks/vidstack-B4XOm7dP.js +0 -104
- package/dev/chunks/vidstack-BJsZjPkB.js +0 -204
- package/dev/chunks/vidstack-BXSB7eI9.js +0 -58
- package/dev/chunks/vidstack-BaGbgcvz.js +0 -107
- package/dev/chunks/vidstack-Blfm1k-4.js +0 -1520
- package/dev/chunks/vidstack-Bo8BNFJ2.js +0 -2986
- package/dev/chunks/vidstack-Bs54kFSz.js +0 -66
- package/dev/chunks/vidstack-C3N4zIuV.js +0 -254
- package/dev/chunks/vidstack-C4aPQ7hZ.js +0 -1482
- package/dev/chunks/vidstack-C6OqdJO7.js +0 -114
- package/dev/chunks/vidstack-CAL4iu_K.js +0 -1482
- package/dev/chunks/vidstack-CEjYxSqZ.js +0 -297
- package/dev/chunks/vidstack-CJCnHmKE.js +0 -104
- package/dev/chunks/vidstack-CQdFhXSo.js +0 -204
- package/dev/chunks/vidstack-CSryZFvY.js +0 -1521
- package/dev/chunks/vidstack-C_rvOKWp.js +0 -33
- package/dev/chunks/vidstack-CaudO1jl.js +0 -109
- package/dev/chunks/vidstack-CcQdBWil.js +0 -58
- package/dev/chunks/vidstack-Cky9ors4.js +0 -297
- package/dev/chunks/vidstack-DAOcbKGP.js +0 -254
- package/dev/chunks/vidstack-DD_3HszA.js +0 -1520
- package/dev/chunks/vidstack-DKaohJzR.js +0 -5181
- package/dev/chunks/vidstack-DLXCqdYV.js +0 -3010
- package/dev/chunks/vidstack-DS7nRfge.js +0 -204
- package/dev/chunks/vidstack-DWtK42Sh.js +0 -1483
- package/dev/chunks/vidstack-D_LvMxPr.js +0 -204
- package/dev/chunks/vidstack-Db1-Hg_U.js +0 -297
- package/dev/chunks/vidstack-DrczgsqN.js +0 -297
- package/dev/chunks/vidstack-EoLRQZbs.js +0 -2986
- package/dev/chunks/vidstack-FKkY62Dr.js +0 -104
- package/dev/chunks/vidstack-el2dbO0m.js +0 -5181
- package/dev/chunks/vidstack-rvhuswgi.js +0 -2986
- package/prod/chunks/vidstack-BAqdCFIm.js +0 -4771
- package/prod/chunks/vidstack-BHqGlnGz.js +0 -1482
- package/prod/chunks/vidstack-BP49Gz0m.js +0 -58
- package/prod/chunks/vidstack-BRZe2BNi.js +0 -107
- package/prod/chunks/vidstack-BRnfTkxi.js +0 -297
- package/prod/chunks/vidstack-BaaRY-9x.js +0 -201
- package/prod/chunks/vidstack-BexQYZop.js +0 -2976
- package/prod/chunks/vidstack-BpLd9ASW.js +0 -246
- package/prod/chunks/vidstack-C-yd_bAJ.js +0 -4771
- package/prod/chunks/vidstack-C05ipjAK.js +0 -1520
- package/prod/chunks/vidstack-CA4tDJdF.js +0 -33
- package/prod/chunks/vidstack-CFXAYpuh.js +0 -1521
- package/prod/chunks/vidstack-CIvL96_j.js +0 -297
- package/prod/chunks/vidstack-CYVCrFjx.js +0 -201
- package/prod/chunks/vidstack-Cs0fH84E.js +0 -1521
- package/prod/chunks/vidstack-D7hJcnN-.js +0 -297
- package/prod/chunks/vidstack-DDePVDjt.js +0 -2976
- package/prod/chunks/vidstack-DESBVLFp.js +0 -104
- package/prod/chunks/vidstack-DMDDSV3t.js +0 -104
- package/prod/chunks/vidstack-DXfGRhxZ.js +0 -201
- package/prod/chunks/vidstack-D_atbNqH.js +0 -3000
- package/prod/chunks/vidstack-DcMkaIHJ.js +0 -2976
- package/prod/chunks/vidstack-DnRxQoqP.js +0 -104
- package/prod/chunks/vidstack-DwenML7x.js +0 -4771
- package/prod/chunks/vidstack-IDWYvfna.js +0 -58
- package/prod/chunks/vidstack-Ko2EJadT.js +0 -1483
- package/prod/chunks/vidstack-MbEMbVfP.js +0 -109
- package/prod/chunks/vidstack-ShUhyBfI.js +0 -201
- package/prod/chunks/vidstack-SnIdjCkV.js +0 -58
- package/prod/chunks/vidstack-V1jwkH0s.js +0 -66
- package/prod/chunks/vidstack-V9U6gsde.js +0 -1482
- package/prod/chunks/vidstack-XA3zT5W9.js +0 -297
- package/prod/chunks/vidstack-bdt7uOlN.js +0 -114
- package/prod/chunks/vidstack-kdaDngIm.js +0 -1520
- package/prod/chunks/vidstack-oNEzlviH.js +0 -246
- package/server/chunks/vidstack-B2Bc9g7_.js +0 -2000
- package/server/chunks/vidstack-B4CWj0Hp.js +0 -381
- package/server/chunks/vidstack-B8P1aUCK.js +0 -1503
- package/server/chunks/vidstack-B8_v1VQn.js +0 -3059
- package/server/chunks/vidstack-BGgfNYAH.js +0 -141
- package/server/chunks/vidstack-BGmwlunt.js +0 -3035
- package/server/chunks/vidstack-BO8FLks6.js +0 -295
- package/server/chunks/vidstack-BosyhF3p.js +0 -207
- package/server/chunks/vidstack-C19bj3Wq.js +0 -307
- package/server/chunks/vidstack-C8F1EUBn.js +0 -104
- package/server/chunks/vidstack-CFTkUXGK.js +0 -295
- package/server/chunks/vidstack-CQMB7Msg.js +0 -1502
- package/server/chunks/vidstack-CWho6PlG.js +0 -141
- package/server/chunks/vidstack-CdBfecZT.js +0 -205
- package/server/chunks/vidstack-Cv_Art04.js +0 -4635
- package/server/chunks/vidstack-DE4b5Bgx.js +0 -2002
- package/server/chunks/vidstack-Db22EuE_.js +0 -207
- package/server/chunks/vidstack-DbvCOsqU.js +0 -107
- package/server/chunks/vidstack-DgHfFDiw.js +0 -1962
- package/server/chunks/vidstack-DhF59-Up.js +0 -4635
- package/server/chunks/vidstack-DnkB7eGO.js +0 -207
- package/server/chunks/vidstack-DoHmOxNm.js +0 -295
- package/server/chunks/vidstack-DsnTqzpL.js +0 -29
- package/server/chunks/vidstack-DzWvfg1d.js +0 -1503
- package/server/chunks/vidstack-FHGkN5xj.js +0 -566
- package/server/chunks/vidstack-PnFpou7g.js +0 -3035
- package/server/chunks/vidstack-f5-aflD2.js +0 -104
- package/server/chunks/vidstack-gEJMQpTE.js +0 -2001
- package/server/chunks/vidstack-n4zAyLEV.js +0 -2139
|
@@ -1,381 +0,0 @@
|
|
|
1
|
-
import { isString, deferredPromise, isNull, isBoolean, listenEvent, scoped, getScope, useContext, createContext, EventsController, isKeyboardClick, isTouchEvent, effect, isFunction, setAttribute, setStyle, isDOMNode, onDispose, toggleClass, animationFrameThrottle, signal, computed } from './vidstack-B8LynzY5.js';
|
|
2
|
-
import { autoUpdate, computePosition, flip, shift } from '@floating-ui/dom';
|
|
3
|
-
|
|
4
|
-
const AUDIO_EXTENSIONS = /\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx|flac)($|\?)/i;
|
|
5
|
-
const AUDIO_TYPES = /* @__PURE__ */ new Set([
|
|
6
|
-
"audio/mpeg",
|
|
7
|
-
"audio/ogg",
|
|
8
|
-
"audio/3gp",
|
|
9
|
-
"audio/mp3",
|
|
10
|
-
"audio/webm",
|
|
11
|
-
"audio/flac",
|
|
12
|
-
"audio/m4a",
|
|
13
|
-
"audio/m4b",
|
|
14
|
-
"audio/mp4a",
|
|
15
|
-
"audio/mp4"
|
|
16
|
-
]);
|
|
17
|
-
const VIDEO_EXTENSIONS = /\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;
|
|
18
|
-
const VIDEO_TYPES = /* @__PURE__ */ new Set([
|
|
19
|
-
"video/mp4",
|
|
20
|
-
"video/webm",
|
|
21
|
-
"video/3gp",
|
|
22
|
-
"video/ogg",
|
|
23
|
-
"video/avi",
|
|
24
|
-
"video/mpeg"
|
|
25
|
-
]);
|
|
26
|
-
const HLS_VIDEO_EXTENSIONS = /\.(m3u8)($|\?)/i;
|
|
27
|
-
const DASH_VIDEO_EXTENSIONS = /\.(mpd)($|\?)/i;
|
|
28
|
-
const HLS_VIDEO_TYPES = /* @__PURE__ */ new Set([
|
|
29
|
-
// Apple sanctioned
|
|
30
|
-
"application/vnd.apple.mpegurl",
|
|
31
|
-
// Apple sanctioned for backwards compatibility
|
|
32
|
-
"audio/mpegurl",
|
|
33
|
-
// Very common
|
|
34
|
-
"audio/x-mpegurl",
|
|
35
|
-
// Very common
|
|
36
|
-
"application/x-mpegurl",
|
|
37
|
-
// Included for completeness
|
|
38
|
-
"video/x-mpegurl",
|
|
39
|
-
"video/mpegurl",
|
|
40
|
-
"application/mpegurl"
|
|
41
|
-
]);
|
|
42
|
-
const DASH_VIDEO_TYPES = /* @__PURE__ */ new Set(["application/dash+xml"]);
|
|
43
|
-
function isAudioSrc({ src, type }) {
|
|
44
|
-
return isString(src) ? AUDIO_EXTENSIONS.test(src) || AUDIO_TYPES.has(type) || src.startsWith("blob:") && type === "audio/object" : type === "audio/object";
|
|
45
|
-
}
|
|
46
|
-
function isVideoSrc(src) {
|
|
47
|
-
return isString(src.src) ? VIDEO_EXTENSIONS.test(src.src) || VIDEO_TYPES.has(src.type) || src.src.startsWith("blob:") && src.type === "video/object" || isHLSSrc(src) && true : src.type === "video/object";
|
|
48
|
-
}
|
|
49
|
-
function isHLSSrc({ src, type }) {
|
|
50
|
-
return isString(src) && HLS_VIDEO_EXTENSIONS.test(src) || HLS_VIDEO_TYPES.has(type);
|
|
51
|
-
}
|
|
52
|
-
function isDASHSrc({ src, type }) {
|
|
53
|
-
return isString(src) && DASH_VIDEO_EXTENSIONS.test(src) || DASH_VIDEO_TYPES.has(type);
|
|
54
|
-
}
|
|
55
|
-
function canGoogleCastSrc(src) {
|
|
56
|
-
return isString(src.src) && (isAudioSrc(src) || isVideoSrc(src) || isHLSSrc(src));
|
|
57
|
-
}
|
|
58
|
-
function isMediaStream(src) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function appendParamsToURL(baseUrl, params) {
|
|
63
|
-
const url = new URL(baseUrl);
|
|
64
|
-
for (const key of Object.keys(params)) {
|
|
65
|
-
url.searchParams.set(key, params[key] + "");
|
|
66
|
-
}
|
|
67
|
-
return url.toString();
|
|
68
|
-
}
|
|
69
|
-
function preconnect(url, rel = "preconnect") {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
const pendingRequests = {};
|
|
73
|
-
function loadScript(src) {
|
|
74
|
-
if (pendingRequests[src]) return pendingRequests[src].promise;
|
|
75
|
-
const promise = deferredPromise(), exists = document.querySelector(`script[src="${src}"]`);
|
|
76
|
-
if (!isNull(exists)) {
|
|
77
|
-
promise.resolve();
|
|
78
|
-
return promise.promise;
|
|
79
|
-
}
|
|
80
|
-
pendingRequests[src] = promise;
|
|
81
|
-
const script = document.createElement("script");
|
|
82
|
-
script.src = src;
|
|
83
|
-
script.onload = () => {
|
|
84
|
-
promise.resolve();
|
|
85
|
-
delete pendingRequests[src];
|
|
86
|
-
};
|
|
87
|
-
script.onerror = () => {
|
|
88
|
-
promise.reject();
|
|
89
|
-
delete pendingRequests[src];
|
|
90
|
-
};
|
|
91
|
-
setTimeout(() => document.head.append(script), 0);
|
|
92
|
-
return promise.promise;
|
|
93
|
-
}
|
|
94
|
-
function getRequestCredentials(crossOrigin) {
|
|
95
|
-
return crossOrigin === "use-credentials" ? "include" : isString(crossOrigin) ? "same-origin" : void 0;
|
|
96
|
-
}
|
|
97
|
-
function getDownloadFile({
|
|
98
|
-
title,
|
|
99
|
-
src,
|
|
100
|
-
download
|
|
101
|
-
}) {
|
|
102
|
-
const url = isBoolean(download) || download === "" ? src.src : isString(download) ? download : download?.url;
|
|
103
|
-
if (!isValidFileDownload({ url, src, download })) return null;
|
|
104
|
-
return {
|
|
105
|
-
url,
|
|
106
|
-
name: !isBoolean(download) && !isString(download) && download?.filename || title.toLowerCase() || "media"
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
function isValidFileDownload({
|
|
110
|
-
url,
|
|
111
|
-
src,
|
|
112
|
-
download
|
|
113
|
-
}) {
|
|
114
|
-
return isString(url) && (download && download !== true || isAudioSrc(src) || isVideoSrc(src));
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function findActiveCue(cues, time) {
|
|
118
|
-
for (let i = 0, len = cues.length; i < len; i++) {
|
|
119
|
-
if (isCueActive(cues[i], time)) return cues[i];
|
|
120
|
-
}
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
function isCueActive(cue, time) {
|
|
124
|
-
return time >= cue.startTime && time < cue.endTime;
|
|
125
|
-
}
|
|
126
|
-
function watchActiveTextTrack(tracks, kind, onChange) {
|
|
127
|
-
let currentTrack = null, scope = getScope();
|
|
128
|
-
function onModeChange() {
|
|
129
|
-
const kinds = isString(kind) ? [kind] : kind, track = tracks.toArray().find((track2) => kinds.includes(track2.kind) && track2.mode === "showing");
|
|
130
|
-
if (track === currentTrack) return;
|
|
131
|
-
if (!track) {
|
|
132
|
-
onChange(null);
|
|
133
|
-
currentTrack = null;
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
if (track.readyState == 2) {
|
|
137
|
-
onChange(track);
|
|
138
|
-
} else {
|
|
139
|
-
onChange(null);
|
|
140
|
-
scoped(() => {
|
|
141
|
-
}, scope);
|
|
142
|
-
}
|
|
143
|
-
currentTrack = track;
|
|
144
|
-
}
|
|
145
|
-
onModeChange();
|
|
146
|
-
return listenEvent();
|
|
147
|
-
}
|
|
148
|
-
function watchCueTextChange(tracks, kind, callback) {
|
|
149
|
-
watchActiveTextTrack(tracks, kind, (track) => {
|
|
150
|
-
if (!track) {
|
|
151
|
-
callback("");
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
const onCueChange = () => {
|
|
155
|
-
const activeCue = track?.activeCues[0];
|
|
156
|
-
callback(activeCue?.text || "");
|
|
157
|
-
};
|
|
158
|
-
onCueChange();
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
const mediaContext = createContext();
|
|
163
|
-
function useMediaContext() {
|
|
164
|
-
return useContext(mediaContext);
|
|
165
|
-
}
|
|
166
|
-
function useMediaState() {
|
|
167
|
-
return useMediaContext().$state;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
function isEventInside(el, event) {
|
|
171
|
-
const target = event.composedPath()[0];
|
|
172
|
-
return isDOMNode(target) && el.contains(target);
|
|
173
|
-
}
|
|
174
|
-
const rafJobs = /* @__PURE__ */ new Set();
|
|
175
|
-
function scheduleRafJob(job) {
|
|
176
|
-
rafJobs.add(job);
|
|
177
|
-
return () => rafJobs.delete(job);
|
|
178
|
-
}
|
|
179
|
-
function setAttributeIfEmpty(target, name, value) {
|
|
180
|
-
if (!target.hasAttribute(name)) target.setAttribute(name, value);
|
|
181
|
-
}
|
|
182
|
-
function setARIALabel(target, $label) {
|
|
183
|
-
if (target.hasAttribute("aria-label") || target.hasAttribute("data-no-label")) return;
|
|
184
|
-
if (!isFunction($label)) {
|
|
185
|
-
setAttribute(target, "aria-label", $label);
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
function updateAriaDescription() {
|
|
189
|
-
setAttribute(target, "aria-label", $label());
|
|
190
|
-
}
|
|
191
|
-
updateAriaDescription();
|
|
192
|
-
}
|
|
193
|
-
function isElementVisible(el) {
|
|
194
|
-
const style = getComputedStyle(el);
|
|
195
|
-
return style.display !== "none" && parseInt(style.opacity) > 0;
|
|
196
|
-
}
|
|
197
|
-
function checkVisibility(el) {
|
|
198
|
-
return !!el && ("checkVisibility" in el ? el.checkVisibility({ checkOpacity: true, checkVisibilityCSS: true }) : isElementVisible(el));
|
|
199
|
-
}
|
|
200
|
-
function observeVisibility(el, callback) {
|
|
201
|
-
return scheduleRafJob(() => callback(checkVisibility(el)));
|
|
202
|
-
}
|
|
203
|
-
function isElementParent(owner, node, test) {
|
|
204
|
-
while (node) {
|
|
205
|
-
if (node === owner) {
|
|
206
|
-
return true;
|
|
207
|
-
} else if (test?.(node)) {
|
|
208
|
-
break;
|
|
209
|
-
} else {
|
|
210
|
-
node = node.parentElement;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
return false;
|
|
214
|
-
}
|
|
215
|
-
function onPress(target, handler) {
|
|
216
|
-
return new EventsController(target).add("pointerup", (event) => {
|
|
217
|
-
if (event.button === 0 && !event.defaultPrevented) handler(event);
|
|
218
|
-
}).add("keydown", (event) => {
|
|
219
|
-
if (isKeyboardClick(event)) handler(event);
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
function isTouchPinchEvent(event) {
|
|
223
|
-
return isTouchEvent(event) && (event.touches.length > 1 || event.changedTouches.length > 1);
|
|
224
|
-
}
|
|
225
|
-
function requestScopedAnimationFrame(callback) {
|
|
226
|
-
return callback();
|
|
227
|
-
}
|
|
228
|
-
function cloneTemplate(template, length, onCreate) {
|
|
229
|
-
let current, prev = template, parent = template.parentElement, content = template.content.firstElementChild, elements = [];
|
|
230
|
-
if (!content && template.firstElementChild) {
|
|
231
|
-
template.innerHTML = template.firstElementChild.outerHTML;
|
|
232
|
-
template.firstElementChild.remove();
|
|
233
|
-
content = template.content.firstElementChild;
|
|
234
|
-
}
|
|
235
|
-
for (let i = 0; i < length; i++) {
|
|
236
|
-
current = document.importNode(content, true);
|
|
237
|
-
onCreate?.(current, i);
|
|
238
|
-
parent.insertBefore(current, prev.nextSibling);
|
|
239
|
-
elements.push(current);
|
|
240
|
-
prev = current;
|
|
241
|
-
}
|
|
242
|
-
onDispose(() => {
|
|
243
|
-
for (let i = 0; i < elements.length; i++) elements[i].remove();
|
|
244
|
-
});
|
|
245
|
-
return elements;
|
|
246
|
-
}
|
|
247
|
-
function createTemplate(content) {
|
|
248
|
-
const template = document.createElement("template");
|
|
249
|
-
template.innerHTML = content;
|
|
250
|
-
return template.content;
|
|
251
|
-
}
|
|
252
|
-
function cloneTemplateContent(content) {
|
|
253
|
-
const fragment = content.cloneNode(true);
|
|
254
|
-
return fragment.firstElementChild;
|
|
255
|
-
}
|
|
256
|
-
function autoPlacement(el, trigger, placement, {
|
|
257
|
-
offsetVarName,
|
|
258
|
-
xOffset,
|
|
259
|
-
yOffset,
|
|
260
|
-
...options
|
|
261
|
-
}) {
|
|
262
|
-
if (!el) return;
|
|
263
|
-
const floatingPlacement = placement.replace(" ", "-").replace("-center", "");
|
|
264
|
-
setStyle(el, "visibility", !trigger ? "hidden" : null);
|
|
265
|
-
if (!trigger) return;
|
|
266
|
-
let isTop = placement.includes("top");
|
|
267
|
-
const negateX = (x) => placement.includes("left") ? `calc(-1 * ${x})` : x, negateY = (y) => isTop ? `calc(-1 * ${y})` : y;
|
|
268
|
-
return autoUpdate(trigger, el, () => {
|
|
269
|
-
computePosition(trigger, el, {
|
|
270
|
-
placement: floatingPlacement,
|
|
271
|
-
middleware: [
|
|
272
|
-
...options.middleware ?? [],
|
|
273
|
-
flip({ fallbackAxisSideDirection: "start", crossAxis: false }),
|
|
274
|
-
shift()
|
|
275
|
-
],
|
|
276
|
-
...options
|
|
277
|
-
}).then(({ x, y, middlewareData }) => {
|
|
278
|
-
const hasFlipped = !!middlewareData.flip?.index;
|
|
279
|
-
isTop = placement.includes(hasFlipped ? "bottom" : "top");
|
|
280
|
-
el.setAttribute(
|
|
281
|
-
"data-placement",
|
|
282
|
-
hasFlipped ? placement.startsWith("top") ? placement.replace("top", "bottom") : placement.replace("bottom", "top") : placement
|
|
283
|
-
);
|
|
284
|
-
Object.assign(el.style, {
|
|
285
|
-
top: `calc(${y + "px"} + ${negateY(
|
|
286
|
-
yOffset ? yOffset + "px" : `var(--${offsetVarName}-y-offset, 0px)`
|
|
287
|
-
)})`,
|
|
288
|
-
left: `calc(${x + "px"} + ${negateX(
|
|
289
|
-
xOffset ? xOffset + "px" : `var(--${offsetVarName}-x-offset, 0px)`
|
|
290
|
-
)})`
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
function hasAnimation(el) {
|
|
296
|
-
const styles = getComputedStyle(el);
|
|
297
|
-
return styles.animationName !== "none";
|
|
298
|
-
}
|
|
299
|
-
function createSlot(name) {
|
|
300
|
-
const slot = document.createElement("slot");
|
|
301
|
-
slot.name = name;
|
|
302
|
-
return slot;
|
|
303
|
-
}
|
|
304
|
-
function useTransitionActive($el) {
|
|
305
|
-
const $active = signal(false);
|
|
306
|
-
effect(() => {
|
|
307
|
-
const el = $el();
|
|
308
|
-
if (!el) return;
|
|
309
|
-
new EventsController(el).add("transitionstart", () => $active.set(true)).add("transitionend", () => $active.set(false));
|
|
310
|
-
});
|
|
311
|
-
return $active;
|
|
312
|
-
}
|
|
313
|
-
function useResizeObserver($el, onResize) {
|
|
314
|
-
function onElementChange() {
|
|
315
|
-
const el = $el();
|
|
316
|
-
if (!el) return;
|
|
317
|
-
onResize();
|
|
318
|
-
const observer = new ResizeObserver(animationFrameThrottle());
|
|
319
|
-
observer.observe(el);
|
|
320
|
-
return () => observer.disconnect();
|
|
321
|
-
}
|
|
322
|
-
effect(onElementChange);
|
|
323
|
-
}
|
|
324
|
-
function useActive($el) {
|
|
325
|
-
const $isMouseEnter = useMouseEnter($el), $isFocusedIn = useFocusIn($el);
|
|
326
|
-
let prevMouseEnter = false;
|
|
327
|
-
return computed(() => {
|
|
328
|
-
const isMouseEnter = $isMouseEnter();
|
|
329
|
-
if (prevMouseEnter && !isMouseEnter) return false;
|
|
330
|
-
prevMouseEnter = isMouseEnter;
|
|
331
|
-
return isMouseEnter || $isFocusedIn();
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
function useMouseEnter($el) {
|
|
335
|
-
const $isMouseEnter = signal(false);
|
|
336
|
-
effect(() => {
|
|
337
|
-
const el = $el();
|
|
338
|
-
if (!el) {
|
|
339
|
-
$isMouseEnter.set(false);
|
|
340
|
-
return;
|
|
341
|
-
}
|
|
342
|
-
new EventsController(el).add("mouseenter", () => $isMouseEnter.set(true)).add("mouseleave", () => $isMouseEnter.set(false));
|
|
343
|
-
});
|
|
344
|
-
return $isMouseEnter;
|
|
345
|
-
}
|
|
346
|
-
function useFocusIn($el) {
|
|
347
|
-
const $isFocusIn = signal(false);
|
|
348
|
-
effect(() => {
|
|
349
|
-
const el = $el();
|
|
350
|
-
if (!el) {
|
|
351
|
-
$isFocusIn.set(false);
|
|
352
|
-
return;
|
|
353
|
-
}
|
|
354
|
-
new EventsController(el).add("focusin", () => $isFocusIn.set(true)).add("focusout", () => $isFocusIn.set(false));
|
|
355
|
-
});
|
|
356
|
-
return $isFocusIn;
|
|
357
|
-
}
|
|
358
|
-
function isHTMLElement(el) {
|
|
359
|
-
return el instanceof HTMLElement;
|
|
360
|
-
}
|
|
361
|
-
function useColorSchemePreference() {
|
|
362
|
-
const colorScheme = signal("dark");
|
|
363
|
-
return colorScheme;
|
|
364
|
-
}
|
|
365
|
-
function watchColorScheme(el, colorScheme) {
|
|
366
|
-
effect(() => {
|
|
367
|
-
const scheme = colorScheme();
|
|
368
|
-
if (scheme === "system") {
|
|
369
|
-
const preference = useColorSchemePreference();
|
|
370
|
-
effect(() => updateColorScheme(preference()));
|
|
371
|
-
return;
|
|
372
|
-
}
|
|
373
|
-
updateColorScheme(scheme);
|
|
374
|
-
});
|
|
375
|
-
function updateColorScheme(scheme) {
|
|
376
|
-
toggleClass(el, "light", scheme === "light");
|
|
377
|
-
toggleClass(el, "dark", scheme === "dark");
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
export { AUDIO_EXTENSIONS, AUDIO_TYPES, DASH_VIDEO_EXTENSIONS, DASH_VIDEO_TYPES, HLS_VIDEO_EXTENSIONS, HLS_VIDEO_TYPES, VIDEO_EXTENSIONS, VIDEO_TYPES, appendParamsToURL, autoPlacement, canGoogleCastSrc, cloneTemplate, cloneTemplateContent, createSlot, createTemplate, findActiveCue, getDownloadFile, getRequestCredentials, hasAnimation, isAudioSrc, isCueActive, isDASHSrc, isElementParent, isEventInside, isHLSSrc, isHTMLElement, isMediaStream, isTouchPinchEvent, isVideoSrc, loadScript, mediaContext, observeVisibility, onPress, preconnect, requestScopedAnimationFrame, setARIALabel, setAttributeIfEmpty, useActive, useMediaContext, useMediaState, useResizeObserver, useTransitionActive, watchActiveTextTrack, watchColorScheme, watchCueTextChange };
|