@hanifhan1f/vidstack 1.12.25 → 1.12.27
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/chunks/vidstack-8JHLDxl5.js +1 -0
- package/cdn/chunks/vidstack-Bpnl-N6k.js +1 -0
- package/cdn/chunks/vidstack-CnWKPIKT.js +16 -0
- package/cdn/chunks/vidstack-CqzAnF2W.js +16 -0
- package/cdn/vidstack.js +1 -1
- package/cdn/with-layouts/chunks/vidstack-BD5YoTt5.js +937 -0
- package/cdn/with-layouts/chunks/vidstack-DCaNJN4T.js +1 -0
- package/cdn/with-layouts/chunks/vidstack-Dd3L-eQj.js +1 -0
- package/cdn/with-layouts/chunks/vidstack-T2rZVigk.js +912 -0
- package/cdn/with-layouts/vidstack.js +1 -1
- package/dev/chunks/vidstack--aukHYxl.js +1520 -0
- package/dev/chunks/vidstack-B__DfQsT.js +1621 -0
- package/dev/chunks/vidstack-BoLIUOyq.js +204 -0
- package/dev/chunks/vidstack-CSryZFvY.js +1521 -0
- package/dev/chunks/vidstack-Cky9ors4.js +297 -0
- package/dev/chunks/vidstack-Crz0ROkT.js +3009 -0
- package/dev/chunks/vidstack-D-sqb6YI.js +308 -0
- package/dev/chunks/vidstack-DLXCqdYV.js +3010 -0
- package/dev/chunks/vidstack-DS7nRfge.js +204 -0
- package/dev/chunks/vidstack-Dco6kA4h.js +104 -0
- package/dev/chunks/vidstack-DpS0Kt4b.js +297 -0
- package/dev/chunks/vidstack-zJT-7ncH.js +5182 -0
- package/dev/define/plyr-layout.js +3 -4
- package/dev/define/templates/vidstack-audio-layout.js +4 -4
- package/dev/define/templates/vidstack-video-layout.js +4 -4
- package/dev/define/vidstack-player-default-layout.js +4 -4
- package/dev/define/vidstack-player-layouts.js +4 -4
- package/dev/define/vidstack-player-ui.js +5 -6
- package/dev/define/vidstack-player.js +3 -4
- package/dev/global/plyr.js +5 -6
- package/dev/global/vidstack-player.js +3 -4
- package/dev/providers/vidstack-dash.js +1 -2
- package/dev/providers/vidstack-hls.js +1 -2
- package/dev/providers/vidstack-video.js +1 -2
- package/dev/providers/vidstack-vimeo.js +1 -2
- package/dev/vidstack-elements.js +8 -9
- package/dev/vidstack.js +6 -7
- package/package.json +2 -1
- package/prod/chunks/vidstack-BVSJtdRd.js +297 -0
- package/prod/chunks/vidstack-BnEo_Sla.js +1621 -0
- package/prod/chunks/vidstack-CFXAYpuh.js +1521 -0
- package/prod/chunks/vidstack-CIvL96_j.js +297 -0
- package/prod/chunks/vidstack-CLTPjjXX.js +4772 -0
- package/prod/chunks/vidstack-CSHHV2zO.js +201 -0
- package/prod/chunks/vidstack-CYVCrFjx.js +201 -0
- package/prod/chunks/vidstack-D_atbNqH.js +3000 -0
- package/prod/chunks/vidstack-Eo46ZHu7.js +2999 -0
- package/prod/chunks/vidstack-sP7TQMB1.js +300 -0
- package/prod/chunks/vidstack-uVm3xX8H.js +104 -0
- package/prod/chunks/vidstack-zknLxihl.js +1520 -0
- package/prod/define/plyr-layout.js +3 -4
- package/prod/define/templates/vidstack-audio-layout.js +4 -4
- package/prod/define/templates/vidstack-video-layout.js +4 -4
- package/prod/define/vidstack-player-default-layout.js +4 -4
- package/prod/define/vidstack-player-layouts.js +4 -4
- package/prod/define/vidstack-player-ui.js +5 -6
- package/prod/define/vidstack-player.js +3 -4
- package/prod/global/plyr.js +5 -6
- package/prod/global/vidstack-player.js +3 -4
- package/prod/providers/vidstack-dash.js +1 -2
- package/prod/providers/vidstack-hls.js +1 -2
- package/prod/providers/vidstack-video.js +1 -2
- package/prod/providers/vidstack-vimeo.js +1 -2
- package/prod/vidstack-elements.js +8 -9
- package/prod/vidstack.js +6 -7
- package/server/chunks/vidstack-B3eA67nX.js +205 -0
- package/server/chunks/vidstack-B8P1aUCK.js +1503 -0
- package/server/chunks/vidstack-B8_v1VQn.js +3059 -0
- package/server/chunks/vidstack-BK4xGWUK.js +207 -0
- package/server/chunks/vidstack-BO8FLks6.js +295 -0
- package/server/chunks/vidstack-BaXvZgx2.js +141 -0
- package/server/chunks/vidstack-BlvJg_5A.js +4636 -0
- package/server/chunks/vidstack-CBhikwSz.js +67 -0
- package/server/chunks/vidstack-COczNXom.js +3059 -0
- package/server/chunks/vidstack-CyZPtpwO.js +1503 -0
- package/server/chunks/vidstack-Db22EuE_.js +207 -0
- package/server/chunks/vidstack-Dh1ZDEI-.js +29 -0
- package/server/chunks/vidstack-Dm-ETAZh.js +295 -0
- package/server/chunks/vidstack-NpAD9hfP.js +620 -0
- package/server/chunks/vidstack-O4BgIcQI.js +104 -0
- package/server/chunks/vidstack-n4zAyLEV.js +2139 -0
- package/server/chunks/vidstack-za5Yh5DQ.js +566 -0
- package/server/chunks/vidstack-zoXyfYxa.js +107 -0
- package/server/define/plyr-layout.js +7 -7
- package/server/define/vidstack-player-default-layout.js +3 -3
- package/server/define/vidstack-player-layouts.js +5 -5
- package/server/define/vidstack-player-ui.js +6 -6
- package/server/define/vidstack-player.js +4 -4
- package/server/global/plyr.js +9 -9
- package/server/global/vidstack-player.js +4 -4
- package/server/vidstack-elements.js +13 -13
- package/server/vidstack.js +8 -8
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Host, effect, computed, setAttribute } from './vidstack-B8LynzY5.js';
|
|
2
|
+
import { MediaProvider, MediaPlayer } from './vidstack-BlvJg_5A.js';
|
|
3
|
+
import { useMediaContext } from './vidstack-NpAD9hfP.js';
|
|
4
|
+
|
|
5
|
+
class MediaProviderElement extends Host(HTMLElement, MediaProvider) {
|
|
6
|
+
static tagName = "media-provider";
|
|
7
|
+
#media;
|
|
8
|
+
#target = null;
|
|
9
|
+
#blocker = null;
|
|
10
|
+
onSetup() {
|
|
11
|
+
this.#media = useMediaContext();
|
|
12
|
+
this.setAttribute("keep-alive", "");
|
|
13
|
+
}
|
|
14
|
+
onDestroy() {
|
|
15
|
+
this.#blocker?.remove();
|
|
16
|
+
this.#blocker = null;
|
|
17
|
+
this.#target?.remove();
|
|
18
|
+
this.#target = null;
|
|
19
|
+
}
|
|
20
|
+
onConnect() {
|
|
21
|
+
effect(() => {
|
|
22
|
+
const loader = this.$state.loader(), isYouTubeEmbed = loader?.name === "youtube", isVimeoEmbed = loader?.name === "vimeo", isEmbed = isYouTubeEmbed || isVimeoEmbed, isGoogleCast = loader?.name === "google-cast";
|
|
23
|
+
const target = loader ? isGoogleCast ? this.#createGoogleCastContainer() : isEmbed ? this.#createIFrame() : loader.mediaType() === "audio" ? this.#createAudio() : this.#createVideo() : null;
|
|
24
|
+
if (this.#target !== target) {
|
|
25
|
+
const parent = this.#target?.parentElement ?? this;
|
|
26
|
+
this.#target?.remove();
|
|
27
|
+
this.#target = target;
|
|
28
|
+
if (target) parent.prepend(target);
|
|
29
|
+
if (isEmbed && target) {
|
|
30
|
+
effect(() => {
|
|
31
|
+
const { nativeControls, viewType } = this.#media.$state, showNativeControls = nativeControls(), isAudioView = viewType() === "audio", showBlocker = !showNativeControls && !isAudioView;
|
|
32
|
+
if (showBlocker) {
|
|
33
|
+
this.#blocker = this.querySelector(".vds-blocker");
|
|
34
|
+
if (!this.#blocker) {
|
|
35
|
+
this.#blocker = document.createElement("div");
|
|
36
|
+
this.#blocker.classList.add("vds-blocker");
|
|
37
|
+
target.after(this.#blocker);
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
this.#blocker?.remove();
|
|
41
|
+
this.#blocker = null;
|
|
42
|
+
}
|
|
43
|
+
setAttribute(target, "data-no-controls", !showNativeControls);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (isYouTubeEmbed) target?.classList.add("vds-youtube");
|
|
48
|
+
else if (isVimeoEmbed) target?.classList.add("vds-vimeo");
|
|
49
|
+
if (!isEmbed) {
|
|
50
|
+
this.#blocker?.remove();
|
|
51
|
+
this.#blocker = null;
|
|
52
|
+
}
|
|
53
|
+
this.load(target);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
#createAudio() {
|
|
57
|
+
const audio = this.#target instanceof HTMLAudioElement ? this.#target : document.createElement("audio");
|
|
58
|
+
const { controls, crossOrigin } = this.#media.$state;
|
|
59
|
+
effect(() => {
|
|
60
|
+
setAttribute(audio, "controls", controls());
|
|
61
|
+
setAttribute(audio, "crossorigin", crossOrigin());
|
|
62
|
+
});
|
|
63
|
+
return audio;
|
|
64
|
+
}
|
|
65
|
+
#createVideo() {
|
|
66
|
+
const video = this.#target instanceof HTMLVideoElement ? this.#target : document.createElement("video");
|
|
67
|
+
const { crossOrigin, poster, nativeControls } = this.#media.$state, $controls = computed(() => nativeControls() ? "true" : null), $poster = computed(() => poster() && nativeControls() ? poster() : null);
|
|
68
|
+
effect(() => {
|
|
69
|
+
setAttribute(video, "controls", $controls());
|
|
70
|
+
setAttribute(video, "crossorigin", crossOrigin());
|
|
71
|
+
setAttribute(video, "poster", $poster());
|
|
72
|
+
});
|
|
73
|
+
return video;
|
|
74
|
+
}
|
|
75
|
+
#createIFrame() {
|
|
76
|
+
const iframe = this.#target instanceof HTMLIFrameElement ? this.#target : document.createElement("iframe"), { nativeControls } = this.#media.$state;
|
|
77
|
+
effect(() => setAttribute(iframe, "tabindex", !nativeControls() ? -1 : null));
|
|
78
|
+
return iframe;
|
|
79
|
+
}
|
|
80
|
+
#createGoogleCastContainer() {
|
|
81
|
+
if (this.#target?.classList.contains("vds-google-cast")) {
|
|
82
|
+
return this.#target;
|
|
83
|
+
}
|
|
84
|
+
const container = document.createElement("div");
|
|
85
|
+
container.classList.add("vds-google-cast");
|
|
86
|
+
import('./vidstack-Dh1ZDEI-.js').then(({ insertContent }) => {
|
|
87
|
+
insertContent(container, this.#media.$state);
|
|
88
|
+
});
|
|
89
|
+
return container;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
class MediaPlayerElement extends Host(HTMLElement, MediaPlayer) {
|
|
94
|
+
static tagName = "media-player";
|
|
95
|
+
static attrs = {
|
|
96
|
+
autoPlay: "autoplay",
|
|
97
|
+
crossOrigin: "crossorigin",
|
|
98
|
+
playsInline: "playsinline",
|
|
99
|
+
preferNativeHLS: "prefer-native-hls",
|
|
100
|
+
minLiveDVRWindow: "min-live-dvr-window"
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export { MediaPlayerElement, MediaProviderElement };
|