@videojs/html 10.0.0-beta.16 → 10.0.0-beta.17
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/{abort-CzqmAxxH.js → abort-BL-SGV3o.js} +1 -1
- package/cdn/{abort-CzqmAxxH.js.map → abort-BL-SGV3o.js.map} +1 -1
- package/cdn/{abort-KaHR4JO1.js → abort-DGNIECLn.js} +1 -1
- package/cdn/{abort-KaHR4JO1.js.map → abort-DGNIECLn.js.map} +1 -1
- package/cdn/audio-minimal-ui.dev.js +3 -3
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +4 -4
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio-ui.dev.js +3 -4
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +4 -5
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.js +1 -1
- package/cdn/background.js +1 -1
- package/cdn/compounds-Df_1JbZD.js +8 -0
- package/cdn/compounds-Df_1JbZD.js.map +1 -0
- package/cdn/{volume-slider-C6ek7oC9.js → compounds-VFPcCeRV.js} +2784 -2760
- package/cdn/compounds-VFPcCeRV.js.map +1 -0
- package/cdn/{create-player-DckZq-sE.js → create-player-CyG77t-m.js} +1336 -1153
- package/cdn/create-player-CyG77t-m.js.map +1 -0
- package/cdn/create-player-Gom2ZZe3.js +7 -0
- package/cdn/create-player-Gom2ZZe3.js.map +1 -0
- package/cdn/{hls-lPH0rWmB.js → hls-BAbdl84H.js} +3 -3
- package/cdn/{hls-lPH0rWmB.js.map → hls-BAbdl84H.js.map} +1 -1
- package/cdn/{hls-CJCXZSGG.js → hls-BrzPpueW.js} +4 -4
- package/cdn/{hls-CJCXZSGG.js.map → hls-BrzPpueW.js.map} +1 -1
- package/cdn/hotkey-element-DR3ZAqKa.js +2 -0
- package/cdn/hotkey-element-DR3ZAqKa.js.map +1 -0
- package/cdn/hotkey-element-Dlta37Be.js +369 -0
- package/cdn/hotkey-element-Dlta37Be.js.map +1 -0
- package/cdn/media/dash-video.dev.js +1 -1
- package/cdn/media/dash-video.js +1 -1
- package/cdn/media/hls-video.dev.js +2 -2
- package/cdn/media/hls-video.js +1 -1
- package/cdn/media/mux-audio.dev.js +3 -3
- package/cdn/media/mux-audio.js +1 -1
- package/cdn/media/mux-video.dev.js +3 -3
- package/cdn/media/mux-video.js +1 -1
- package/cdn/media/native-hls-video.dev.js +2 -2
- package/cdn/media/native-hls-video.js +1 -1
- package/cdn/media/simple-hls-video.dev.js +2 -2
- package/cdn/media/simple-hls-video.js +2 -2
- package/cdn/media/simple-hls-video.js.map +1 -1
- package/cdn/{media-props-mixin-CZLZIhGT.js → media-props-mixin-hheRmkup.js} +9 -9
- package/cdn/{media-props-mixin-CZLZIhGT.js.map → media-props-mixin-hheRmkup.js.map} +1 -1
- package/cdn/{media-props-mixin-DrjlZybt.js → media-props-mixin-yRWj8yXF.js} +3 -3
- package/cdn/{media-props-mixin-DrjlZybt.js.map → media-props-mixin-yRWj8yXF.js.map} +1 -1
- package/cdn/minimal-ui-B3BBK5nX.js +2 -0
- package/cdn/minimal-ui-B3BBK5nX.js.map +1 -0
- package/cdn/minimal-ui-CPRSYky_.js +28 -0
- package/cdn/minimal-ui-CPRSYky_.js.map +1 -0
- package/cdn/minimal-ui-Cnaig4X6.js +22 -0
- package/cdn/minimal-ui-Cnaig4X6.js.map +1 -0
- package/cdn/minimal-ui-DOePmQfq.js +2 -0
- package/cdn/minimal-ui-DOePmQfq.js.map +1 -0
- package/cdn/{mux-CBXn2z5k.js → mux-DGgCyz_A.js} +4 -4
- package/cdn/{mux-CBXn2z5k.js.map → mux-DGgCyz_A.js.map} +1 -1
- package/cdn/{mux-DmGzBNIq.js → mux-fYfPUpq3.js} +2 -2
- package/cdn/{mux-DmGzBNIq.js.map → mux-fYfPUpq3.js.map} +1 -1
- package/cdn/{native-hls-BCOLtRUl.js → native-hls-BuCYu7Rd.js} +2 -2
- package/cdn/{native-hls-BCOLtRUl.js.map → native-hls-BuCYu7Rd.js.map} +1 -1
- package/cdn/{native-hls-BU8--1Kg.js → native-hls-DnqJ-0zL.js} +2 -2
- package/cdn/{native-hls-BU8--1Kg.js.map → native-hls-DnqJ-0zL.js.map} +1 -1
- package/cdn/player-Cu5_r0Gk.js +2 -0
- package/cdn/{player-DAmuLGE1.js.map → player-Cu5_r0Gk.js.map} +1 -1
- package/cdn/{poster-qAhnKWea.js → player-DIOgBqQf.js} +15 -113
- package/cdn/player-DIOgBqQf.js.map +1 -0
- package/cdn/{player-Dbl1MUJ2.js → player-DxBoqZVw.js} +3 -2
- package/cdn/{player-Dbl1MUJ2.js.map → player-DxBoqZVw.js.map} +1 -1
- package/cdn/player-eEH-XjnF.js +2 -0
- package/cdn/player-eEH-XjnF.js.map +1 -0
- package/cdn/{shallow-equal-uPuCQhnd.js → shallow-equal-1KBb-lrM.js} +1 -1
- package/cdn/{shallow-equal-uPuCQhnd.js.map → shallow-equal-1KBb-lrM.js.map} +1 -1
- package/cdn/{shallow-equal-C8Fs4TTE.js → shallow-equal-Ca0qjpLJ.js} +1 -1
- package/cdn/{shallow-equal-C8Fs4TTE.js.map → shallow-equal-Ca0qjpLJ.js.map} +1 -1
- package/cdn/{skin-element-ih3VrnYx.js → skin-element-BTPr5DoY.js} +2 -2
- package/cdn/{skin-element-ih3VrnYx.js.map → skin-element-BTPr5DoY.js.map} +1 -1
- package/cdn/{skin-element-DbmY-ske.js → skin-element-u6pdmSSs.js} +2 -2
- package/cdn/{skin-element-DbmY-ske.js.map → skin-element-u6pdmSSs.js.map} +1 -1
- package/cdn/ui-34pkHFdT.js +25 -0
- package/cdn/ui-34pkHFdT.js.map +1 -0
- package/cdn/ui-DWoV_Da1.js +2 -0
- package/cdn/ui-DWoV_Da1.js.map +1 -0
- package/cdn/ui-DXtTKomo.js +2 -0
- package/cdn/ui-DXtTKomo.js.map +1 -0
- package/cdn/ui-X5WOdCCw.js +31 -0
- package/cdn/ui-X5WOdCCw.js.map +1 -0
- package/cdn/video-minimal-ui.dev.js +3 -3
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +4 -4
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video-ui.dev.js +3 -4
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +12 -6
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/dist/default/define/audio/minimal-ui.js +28 -12
- package/dist/default/define/audio/minimal-ui.js.map +1 -0
- package/dist/default/define/audio/ui.js +32 -13
- package/dist/default/define/audio/ui.js.map +1 -0
- package/dist/default/define/ui/compounds.js +62 -0
- package/dist/default/define/ui/compounds.js.map +1 -0
- package/dist/default/define/ui/controls.js +2 -5
- package/dist/default/define/ui/controls.js.map +1 -1
- package/dist/default/define/ui/error-dialog.js +2 -9
- package/dist/default/define/ui/error-dialog.js.map +1 -1
- package/dist/default/define/ui/slider.js +2 -13
- package/dist/default/define/ui/slider.js.map +1 -1
- package/dist/default/define/ui/time-slider.js +2 -17
- package/dist/default/define/ui/time-slider.js.map +1 -1
- package/dist/default/define/ui/time.js +2 -7
- package/dist/default/define/ui/time.js.map +1 -1
- package/dist/default/define/ui/volume-slider.js +2 -13
- package/dist/default/define/ui/volume-slider.js.map +1 -1
- package/dist/default/define/video/minimal-ui.js +39 -18
- package/dist/default/define/video/minimal-ui.js.map +1 -0
- package/dist/default/define/video/skin.js +1 -1
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/ui.js +43 -19
- package/dist/default/define/video/ui.js.map +1 -0
- package/dist/default/index.js +2 -1
- package/dist/default/ui/gesture/gesture-element.js +84 -0
- package/dist/default/ui/gesture/gesture-element.js.map +1 -0
- package/dist/default/ui/pip-button/pip-button-element.js +1 -1
- package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/dev/define/audio/minimal-ui.js +28 -12
- package/dist/dev/define/audio/minimal-ui.js.map +1 -0
- package/dist/dev/define/audio/ui.js +32 -13
- package/dist/dev/define/audio/ui.js.map +1 -0
- package/dist/dev/define/ui/compounds.d.ts +12 -0
- package/dist/dev/define/ui/compounds.d.ts.map +1 -0
- package/dist/dev/define/ui/compounds.js +62 -0
- package/dist/dev/define/ui/compounds.js.map +1 -0
- package/dist/dev/define/ui/controls.d.ts +2 -0
- package/dist/dev/define/ui/controls.d.ts.map +1 -1
- package/dist/dev/define/ui/controls.js +2 -5
- package/dist/dev/define/ui/controls.js.map +1 -1
- package/dist/dev/define/ui/error-dialog.d.ts +6 -0
- package/dist/dev/define/ui/error-dialog.d.ts.map +1 -1
- package/dist/dev/define/ui/error-dialog.js +2 -9
- package/dist/dev/define/ui/error-dialog.js.map +1 -1
- package/dist/dev/define/ui/slider.d.ts +10 -0
- package/dist/dev/define/ui/slider.d.ts.map +1 -1
- package/dist/dev/define/ui/slider.js +2 -13
- package/dist/dev/define/ui/slider.js.map +1 -1
- package/dist/dev/define/ui/time-slider.d.ts +14 -0
- package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
- package/dist/dev/define/ui/time-slider.js +2 -17
- package/dist/dev/define/ui/time-slider.js.map +1 -1
- package/dist/dev/define/ui/time.d.ts +4 -0
- package/dist/dev/define/ui/time.d.ts.map +1 -1
- package/dist/dev/define/ui/time.js +2 -7
- package/dist/dev/define/ui/time.js.map +1 -1
- package/dist/dev/define/ui/volume-slider.d.ts +10 -0
- package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
- package/dist/dev/define/ui/volume-slider.js +2 -13
- package/dist/dev/define/ui/volume-slider.js.map +1 -1
- package/dist/dev/define/video/minimal-ui.js +39 -18
- package/dist/dev/define/video/minimal-ui.js.map +1 -0
- package/dist/dev/define/video/skin.d.ts.map +1 -1
- package/dist/dev/define/video/skin.js +8 -1
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/ui.js +43 -19
- package/dist/dev/define/video/ui.js.map +1 -0
- package/dist/dev/index.d.ts +2 -1
- package/dist/dev/index.js +2 -1
- package/dist/dev/ui/gesture/gesture-element.d.ts +22 -0
- package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -0
- package/dist/dev/ui/gesture/gesture-element.js +84 -0
- package/dist/dev/ui/gesture/gesture-element.js.map +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.js +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
- package/package.json +8 -8
- package/cdn/create-player-B_oNyyb5.js +0 -7
- package/cdn/create-player-B_oNyyb5.js.map +0 -1
- package/cdn/create-player-DckZq-sE.js.map +0 -1
- package/cdn/hotkey-B7OaweHa.js +0 -154
- package/cdn/hotkey-B7OaweHa.js.map +0 -1
- package/cdn/hotkey-BLEt77Z0.js +0 -2
- package/cdn/hotkey-BLEt77Z0.js.map +0 -1
- package/cdn/minimal-ui-DXFwjywa.js +0 -0
- package/cdn/minimal-ui-jrmrxIOn.js +0 -0
- package/cdn/player-DAmuLGE1.js +0 -2
- package/cdn/poster-B9COb7AR.js +0 -2
- package/cdn/poster-B9COb7AR.js.map +0 -1
- package/cdn/poster-qAhnKWea.js.map +0 -1
- package/cdn/ui-18UYtw8D.js +0 -0
- package/cdn/ui-8HVY3XSt.js +0 -0
- package/cdn/volume-slider-BbIc1N4U.js +0 -8
- package/cdn/volume-slider-BbIc1N4U.js.map +0 -1
- package/cdn/volume-slider-C6ek7oC9.js.map +0 -1
package/cdn/hotkey-B7OaweHa.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { a as createHotkey, c as selectPiP, d as selectTextTrack, f as selectTime, l as selectPlayback, p as selectVolume, s as selectFullscreen, u as selectPlaybackRate } from "./volume-slider-C6ek7oC9.js";
|
|
2
|
-
import { a as MediaElement, k as isUndefined, n as PlayerController, s as ContextConsumer } from "./create-player-DckZq-sE.js";
|
|
3
|
-
import { o as safeDefine, r as playerContext, t as containerContext } from "./context-CvJ83xGk.js";
|
|
4
|
-
|
|
5
|
-
//#region ../core/dist/dev/dom/hotkey/actions.js
|
|
6
|
-
function isHotkeyToggleAction(action) {
|
|
7
|
-
return action.startsWith("toggle");
|
|
8
|
-
}
|
|
9
|
-
const HOTKEY_ACTIONS = {
|
|
10
|
-
togglePaused({ store }) {
|
|
11
|
-
const playback = selectPlayback(store.state);
|
|
12
|
-
if (!playback) return;
|
|
13
|
-
playback.paused ? playback.play() : playback.pause();
|
|
14
|
-
},
|
|
15
|
-
toggleMuted({ store }) {
|
|
16
|
-
selectVolume(store.state)?.toggleMuted();
|
|
17
|
-
},
|
|
18
|
-
toggleFullscreen({ store }) {
|
|
19
|
-
const fs = selectFullscreen(store.state);
|
|
20
|
-
if (!fs) return;
|
|
21
|
-
fs.fullscreen ? fs.exitFullscreen() : fs.requestFullscreen();
|
|
22
|
-
},
|
|
23
|
-
toggleSubtitles({ store }) {
|
|
24
|
-
selectTextTrack(store.state)?.toggleSubtitles();
|
|
25
|
-
},
|
|
26
|
-
togglePiP({ store }) {
|
|
27
|
-
const pip = selectPiP(store.state);
|
|
28
|
-
if (!pip) return;
|
|
29
|
-
pip.pip ? pip.exitPictureInPicture() : pip.requestPictureInPicture();
|
|
30
|
-
},
|
|
31
|
-
seekStep({ store, value }) {
|
|
32
|
-
if (isUndefined(value)) return;
|
|
33
|
-
const time = selectTime(store.state);
|
|
34
|
-
if (!time) return;
|
|
35
|
-
time.seek(time.currentTime + value);
|
|
36
|
-
},
|
|
37
|
-
volumeStep({ store, value }) {
|
|
38
|
-
if (isUndefined(value)) return;
|
|
39
|
-
const vol = selectVolume(store.state);
|
|
40
|
-
if (!vol) return;
|
|
41
|
-
vol.setVolume(vol.volume + value);
|
|
42
|
-
},
|
|
43
|
-
speedUp({ store }) {
|
|
44
|
-
const rate = selectPlaybackRate(store.state);
|
|
45
|
-
if (!rate) return;
|
|
46
|
-
const { playbackRates, playbackRate } = rate;
|
|
47
|
-
const idx = playbackRates.indexOf(playbackRate);
|
|
48
|
-
const next = idx < 0 || idx >= playbackRates.length - 1 ? 0 : idx + 1;
|
|
49
|
-
rate.setPlaybackRate(playbackRates[next]);
|
|
50
|
-
},
|
|
51
|
-
speedDown({ store }) {
|
|
52
|
-
const rate = selectPlaybackRate(store.state);
|
|
53
|
-
if (!rate) return;
|
|
54
|
-
const { playbackRates, playbackRate } = rate;
|
|
55
|
-
const idx = playbackRates.indexOf(playbackRate);
|
|
56
|
-
const next = idx <= 0 ? playbackRates.length - 1 : idx - 1;
|
|
57
|
-
rate.setPlaybackRate(playbackRates[next]);
|
|
58
|
-
},
|
|
59
|
-
seekToPercent({ store, value, key }) {
|
|
60
|
-
const time = selectTime(store.state);
|
|
61
|
-
if (!time || time.duration <= 0) return;
|
|
62
|
-
let percent;
|
|
63
|
-
if (!isUndefined(value)) percent = value;
|
|
64
|
-
else if (key >= "0" && key <= "9") percent = Number(key) * 10;
|
|
65
|
-
else return;
|
|
66
|
-
time.seek(percent / 100 * time.duration);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
function resolveHotkeyAction(name) {
|
|
70
|
-
const resolver = HOTKEY_ACTIONS[name];
|
|
71
|
-
if (!resolver) console.warn(`[vjs-hotkey] Unknown action: "${name}"`);
|
|
72
|
-
return resolver;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
//#endregion
|
|
76
|
-
//#region src/ui/hotkey/hotkey-element.ts
|
|
77
|
-
var HotkeyElement = class extends MediaElement {
|
|
78
|
-
constructor(..._args) {
|
|
79
|
-
super(..._args);
|
|
80
|
-
this.keys = "";
|
|
81
|
-
this.action = "";
|
|
82
|
-
this.value = void 0;
|
|
83
|
-
this.disabled = false;
|
|
84
|
-
this.target = "player";
|
|
85
|
-
}
|
|
86
|
-
static {
|
|
87
|
-
this.tagName = "media-hotkey";
|
|
88
|
-
}
|
|
89
|
-
static {
|
|
90
|
-
this.properties = {
|
|
91
|
-
keys: { type: String },
|
|
92
|
-
action: { type: String },
|
|
93
|
-
value: { type: Number },
|
|
94
|
-
disabled: { type: Boolean },
|
|
95
|
-
target: { type: String }
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
#player = new PlayerController(this, playerContext);
|
|
99
|
-
#container = new ContextConsumer(this, {
|
|
100
|
-
context: containerContext,
|
|
101
|
-
callback: () => this.requestUpdate(),
|
|
102
|
-
subscribe: true
|
|
103
|
-
});
|
|
104
|
-
#cleanup = null;
|
|
105
|
-
connectedCallback() {
|
|
106
|
-
super.connectedCallback();
|
|
107
|
-
this.style.display = "none";
|
|
108
|
-
this.#register();
|
|
109
|
-
}
|
|
110
|
-
disconnectedCallback() {
|
|
111
|
-
super.disconnectedCallback();
|
|
112
|
-
this.#unregister();
|
|
113
|
-
}
|
|
114
|
-
update(changed) {
|
|
115
|
-
super.update(changed);
|
|
116
|
-
if (this.isConnected) {
|
|
117
|
-
this.#unregister();
|
|
118
|
-
this.#register();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
#register() {
|
|
122
|
-
const store = this.#player.value;
|
|
123
|
-
const container = this.#container.value?.container;
|
|
124
|
-
if (!this.keys || !this.action || !store || !container) return;
|
|
125
|
-
const resolver = resolveHotkeyAction(this.action);
|
|
126
|
-
if (!resolver) return;
|
|
127
|
-
const { value, action } = this;
|
|
128
|
-
this.#cleanup = createHotkey(container, {
|
|
129
|
-
keys: this.keys,
|
|
130
|
-
action,
|
|
131
|
-
target: this.target,
|
|
132
|
-
disabled: this.disabled,
|
|
133
|
-
repeatable: !isHotkeyToggleAction(action),
|
|
134
|
-
onActivate: (_event, key) => {
|
|
135
|
-
resolver({
|
|
136
|
-
store,
|
|
137
|
-
key,
|
|
138
|
-
value
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
#unregister() {
|
|
144
|
-
this.#cleanup?.();
|
|
145
|
-
this.#cleanup = null;
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
//#endregion
|
|
150
|
-
//#region src/define/ui/hotkey.ts
|
|
151
|
-
safeDefine(HotkeyElement);
|
|
152
|
-
|
|
153
|
-
//#endregion
|
|
154
|
-
//# sourceMappingURL=hotkey-B7OaweHa.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hotkey-B7OaweHa.js","names":["#player","#container","#register","#unregister","#cleanup"],"sources":["../../core/dist/dev/dom/hotkey/actions.js","../src/ui/hotkey/hotkey-element.ts","../src/define/ui/hotkey.ts"],"sourcesContent":["import { selectFullscreen, selectPiP, selectPlayback, selectPlaybackRate, selectTextTrack, selectTime, selectVolume } from \"../store/selectors.js\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/dom/hotkey/actions.ts\nfunction isHotkeyToggleAction(action) {\n\treturn action.startsWith(\"toggle\");\n}\nconst HOTKEY_ACTIONS = {\n\ttogglePaused({ store }) {\n\t\tconst playback = selectPlayback(store.state);\n\t\tif (!playback) return;\n\t\tplayback.paused ? playback.play() : playback.pause();\n\t},\n\ttoggleMuted({ store }) {\n\t\tselectVolume(store.state)?.toggleMuted();\n\t},\n\ttoggleFullscreen({ store }) {\n\t\tconst fs = selectFullscreen(store.state);\n\t\tif (!fs) return;\n\t\tfs.fullscreen ? fs.exitFullscreen() : fs.requestFullscreen();\n\t},\n\ttoggleSubtitles({ store }) {\n\t\tselectTextTrack(store.state)?.toggleSubtitles();\n\t},\n\ttogglePiP({ store }) {\n\t\tconst pip = selectPiP(store.state);\n\t\tif (!pip) return;\n\t\tpip.pip ? pip.exitPictureInPicture() : pip.requestPictureInPicture();\n\t},\n\tseekStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst time = selectTime(store.state);\n\t\tif (!time) return;\n\t\ttime.seek(time.currentTime + value);\n\t},\n\tvolumeStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst vol = selectVolume(store.state);\n\t\tif (!vol) return;\n\t\tvol.setVolume(vol.volume + value);\n\t},\n\tspeedUp({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx < 0 || idx >= playbackRates.length - 1 ? 0 : idx + 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tspeedDown({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx <= 0 ? playbackRates.length - 1 : idx - 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tseekToPercent({ store, value, key }) {\n\t\tconst time = selectTime(store.state);\n\t\tif (!time || time.duration <= 0) return;\n\t\tlet percent;\n\t\tif (!isUndefined(value)) percent = value;\n\t\telse if (key >= \"0\" && key <= \"9\") percent = Number(key) * 10;\n\t\telse return;\n\t\ttime.seek(percent / 100 * time.duration);\n\t}\n};\nfunction resolveHotkeyAction(name) {\n\tconst resolver = HOTKEY_ACTIONS[name];\n\tif (!resolver) console.warn(`[vjs-hotkey] Unknown action: \"${name}\"`);\n\treturn resolver;\n}\n//#endregion\nexport { isHotkeyToggleAction, resolveHotkeyAction };\n\n//# sourceMappingURL=actions.js.map","import { createHotkey, type HotkeyActionName, isHotkeyToggleAction, resolveHotkeyAction } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { containerContext, playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class HotkeyElement extends MediaElement {\n static readonly tagName = 'media-hotkey';\n\n static override properties: PropertyDeclarationMap = {\n keys: { type: String },\n action: { type: String },\n value: { type: Number },\n disabled: { type: Boolean },\n target: { type: String },\n };\n\n keys = '';\n action: HotkeyActionName | (string & {}) = '';\n value: number | undefined = undefined;\n disabled = false;\n target: 'player' | 'document' = 'player';\n\n readonly #player = new PlayerController(this, playerContext);\n readonly #container = new ContextConsumer(this, {\n context: containerContext,\n callback: () => this.requestUpdate(),\n subscribe: true,\n });\n #cleanup: (() => void) | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.style.display = 'none';\n this.#register();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#unregister();\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n // Re-register when attributes change.\n if (this.isConnected) {\n this.#unregister();\n this.#register();\n }\n }\n\n #register(): void {\n const store = this.#player.value;\n const container = this.#container.value?.container;\n if (!this.keys || !this.action || !store || !container) return;\n\n const resolver = resolveHotkeyAction(this.action);\n if (!resolver) return;\n\n const { value, action } = this;\n\n this.#cleanup = createHotkey(container, {\n keys: this.keys,\n action,\n target: this.target,\n disabled: this.disabled,\n repeatable: !isHotkeyToggleAction(action),\n onActivate: (_event, key) => {\n resolver({ store, key, value });\n },\n });\n }\n\n #unregister(): void {\n this.#cleanup?.();\n this.#cleanup = null;\n }\n}\n","import { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(HotkeyElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [HotkeyElement.tagName]: HotkeyElement;\n }\n}\n"],"mappings":"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"}
|
package/cdn/hotkey-BLEt77Z0.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,d as t,f as n,i as r,l as i,o as a,s as o,u as s}from"./volume-slider-BbIc1N4U.js";import{a as c,k as l,n as u,s as d}from"./create-player-B_oNyyb5.js";import{o as f,r as p,t as m}from"./context-C-IpVHEt.js";function h(e){return e.startsWith(`toggle`)}const g={togglePaused({store:t}){let n=e(t.state);n&&(n.paused?n.play():n.pause())},toggleMuted({store:e}){n(e.state)?.toggleMuted()},toggleFullscreen({store:e}){let t=a(e.state);t&&(t.fullscreen?t.exitFullscreen():t.requestFullscreen())},toggleSubtitles({store:e}){s(e.state)?.toggleSubtitles()},togglePiP({store:e}){let t=o(e.state);t&&(t.pip?t.exitPictureInPicture():t.requestPictureInPicture())},seekStep({store:e,value:n}){if(l(n))return;let r=t(e.state);r&&r.seek(r.currentTime+n)},volumeStep({store:e,value:t}){if(l(t))return;let r=n(e.state);r&&r.setVolume(r.volume+t)},speedUp({store:e}){let t=i(e.state);if(!t)return;let{playbackRates:n,playbackRate:r}=t,a=n.indexOf(r),o=a<0||a>=n.length-1?0:a+1;t.setPlaybackRate(n[o])},speedDown({store:e}){let t=i(e.state);if(!t)return;let{playbackRates:n,playbackRate:r}=t,a=n.indexOf(r),o=a<=0?n.length-1:a-1;t.setPlaybackRate(n[o])},seekToPercent({store:e,value:n,key:r}){let i=t(e.state);if(!i||i.duration<=0)return;let a;if(!l(n))a=n;else if(r>=`0`&&r<=`9`)a=Number(r)*10;else return;i.seek(a/100*i.duration)}};function _(e){return g[e]}f(class extends c{constructor(...e){super(...e),this.keys=``,this.action=``,this.value=void 0,this.disabled=!1,this.target=`player`}static{this.tagName=`media-hotkey`}static{this.properties={keys:{type:String},action:{type:String},value:{type:Number},disabled:{type:Boolean},target:{type:String}}}#e=new u(this,p);#t=new d(this,{context:m,callback:()=>this.requestUpdate(),subscribe:!0});#n=null;connectedCallback(){super.connectedCallback(),this.style.display=`none`,this.#r()}disconnectedCallback(){super.disconnectedCallback(),this.#i()}update(e){super.update(e),this.isConnected&&(this.#i(),this.#r())}#r(){let e=this.#e.value,t=this.#t.value?.container;if(!this.keys||!this.action||!e||!t)return;let n=_(this.action);if(!n)return;let{value:i,action:a}=this;this.#n=r(t,{keys:this.keys,action:a,target:this.target,disabled:this.disabled,repeatable:!h(a),onActivate:(t,r)=>{n({store:e,key:r,value:i})}})}#i(){this.#n?.(),this.#n=null}});
|
|
2
|
-
//# sourceMappingURL=hotkey-BLEt77Z0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hotkey-BLEt77Z0.js","names":["#player","#container","ContextConsumer","#register","#unregister","#cleanup"],"sources":["../../core/dist/default/dom/hotkey/actions.js","../src/ui/hotkey/hotkey-element.ts","../src/define/ui/hotkey.ts"],"sourcesContent":["import { selectFullscreen, selectPiP, selectPlayback, selectPlaybackRate, selectTextTrack, selectTime, selectVolume } from \"../store/selectors.js\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/dom/hotkey/actions.ts\nfunction isHotkeyToggleAction(action) {\n\treturn action.startsWith(\"toggle\");\n}\nconst HOTKEY_ACTIONS = {\n\ttogglePaused({ store }) {\n\t\tconst playback = selectPlayback(store.state);\n\t\tif (!playback) return;\n\t\tplayback.paused ? playback.play() : playback.pause();\n\t},\n\ttoggleMuted({ store }) {\n\t\tselectVolume(store.state)?.toggleMuted();\n\t},\n\ttoggleFullscreen({ store }) {\n\t\tconst fs = selectFullscreen(store.state);\n\t\tif (!fs) return;\n\t\tfs.fullscreen ? fs.exitFullscreen() : fs.requestFullscreen();\n\t},\n\ttoggleSubtitles({ store }) {\n\t\tselectTextTrack(store.state)?.toggleSubtitles();\n\t},\n\ttogglePiP({ store }) {\n\t\tconst pip = selectPiP(store.state);\n\t\tif (!pip) return;\n\t\tpip.pip ? pip.exitPictureInPicture() : pip.requestPictureInPicture();\n\t},\n\tseekStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst time = selectTime(store.state);\n\t\tif (!time) return;\n\t\ttime.seek(time.currentTime + value);\n\t},\n\tvolumeStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst vol = selectVolume(store.state);\n\t\tif (!vol) return;\n\t\tvol.setVolume(vol.volume + value);\n\t},\n\tspeedUp({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx < 0 || idx >= playbackRates.length - 1 ? 0 : idx + 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tspeedDown({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx <= 0 ? playbackRates.length - 1 : idx - 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tseekToPercent({ store, value, key }) {\n\t\tconst time = selectTime(store.state);\n\t\tif (!time || time.duration <= 0) return;\n\t\tlet percent;\n\t\tif (!isUndefined(value)) percent = value;\n\t\telse if (key >= \"0\" && key <= \"9\") percent = Number(key) * 10;\n\t\telse return;\n\t\ttime.seek(percent / 100 * time.duration);\n\t}\n};\nfunction resolveHotkeyAction(name) {\n\treturn HOTKEY_ACTIONS[name];\n}\n//#endregion\nexport { isHotkeyToggleAction, resolveHotkeyAction };\n\n//# sourceMappingURL=actions.js.map","import { createHotkey, type HotkeyActionName, isHotkeyToggleAction, resolveHotkeyAction } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { containerContext, playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class HotkeyElement extends MediaElement {\n static readonly tagName = 'media-hotkey';\n\n static override properties: PropertyDeclarationMap = {\n keys: { type: String },\n action: { type: String },\n value: { type: Number },\n disabled: { type: Boolean },\n target: { type: String },\n };\n\n keys = '';\n action: HotkeyActionName | (string & {}) = '';\n value: number | undefined = undefined;\n disabled = false;\n target: 'player' | 'document' = 'player';\n\n readonly #player = new PlayerController(this, playerContext);\n readonly #container = new ContextConsumer(this, {\n context: containerContext,\n callback: () => this.requestUpdate(),\n subscribe: true,\n });\n #cleanup: (() => void) | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.style.display = 'none';\n this.#register();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#unregister();\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n // Re-register when attributes change.\n if (this.isConnected) {\n this.#unregister();\n this.#register();\n }\n }\n\n #register(): void {\n const store = this.#player.value;\n const container = this.#container.value?.container;\n if (!this.keys || !this.action || !store || !container) return;\n\n const resolver = resolveHotkeyAction(this.action);\n if (!resolver) return;\n\n const { value, action } = this;\n\n this.#cleanup = createHotkey(container, {\n keys: this.keys,\n action,\n target: this.target,\n disabled: this.disabled,\n repeatable: !isHotkeyToggleAction(action),\n onActivate: (_event, key) => {\n resolver({ store, key, value });\n },\n });\n }\n\n #unregister(): void {\n this.#cleanup?.();\n this.#cleanup = null;\n }\n}\n","import { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(HotkeyElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [HotkeyElement.tagName]: HotkeyElement;\n }\n}\n"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
package/cdn/player-DAmuLGE1.js
DELETED
package/cdn/poster-B9COb7AR.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,n,o as r,p as i,r as a,s as o,t as s,u as c}from"./volume-slider-BbIc1N4U.js";import{E as l,S as u,a as d,i as f,n as p,o as m,s as h,t as g,u as _}from"./create-player-B_oNyyb5.js";import{i as v,o as y,r as b}from"./context-C-IpVHEt.js";const{ProviderMixin:x}=g({features:_});y(class extends x(d){static{this.tagName=`video-player`}}),y(f);var S=class e{static defaultProps={delay:500};state=u({visible:!1});#e={...e.defaultProps};#t=null;setProps(t){this.#e=i(t,e.defaultProps)}destroy(){this.#n()}update(e){let t=e.waiting&&!e.paused;t&&!this.state.current.visible&&!this.#t?this.#t=setTimeout(()=>{this.#t=null,this.state.patch({visible:!0})},this.#e.delay):t||(this.#n(),this.state.patch({visible:!1}))}#n(){this.#t!==null&&(clearTimeout(this.#t),this.#t=null)}};const C={visible:`data-visible`};var w=class e{static defaultProps={label:``,disabled:!1};state=u({subtitlesShowing:!1,availability:`unavailable`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=i(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(l(t)){let n=t(e);if(n)return n}else if(t)return t;return e.subtitlesShowing?`Disable captions`:`Enable captions`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.textTrackList.some(e=>e.kind===`captions`||e.kind===`subtitles`)?`available`:`unavailable`;return this.state.patch({subtitlesShowing:e.subtitlesShowing,availability:t}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}toggle(e){this.#e.disabled||e.toggleSubtitles()}};const T={subtitlesShowing:`data-active`,availability:`data-availability`};var E=class{#e=null;setMedia(e){this.#e=e}getState(){let e=this.#e;return{visible:e.controlsVisible,userActive:e.userActive}}};const D={visible:`data-visible`,userActive:`data-user-active`};var O=class e{static defaultProps={label:``,disabled:!1};state=u({fullscreen:!1,availability:`available`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=i(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(l(t)){let n=t(e);if(n)return n}else if(t)return t;return e.fullscreen?`Exit fullscreen`:`Enter fullscreen`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({fullscreen:e.fullscreen,availability:e.fullscreenAvailability}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}async toggle(e){if(!this.#e.disabled&&e.fullscreenAvailability===`available`)try{e.fullscreen?await e.exitFullscreen():await e.requestFullscreen()}catch{}}};const k={fullscreen:`data-fullscreen`,availability:`data-availability`};var A=class e{static defaultProps={label:``,disabled:!1};state=u({pip:!1,availability:`available`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=i(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(l(t)){let n=t(e);if(n)return n}else if(t)return t;return e.pip?`Exit picture-in-picture`:`Enter picture-in-picture`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({pip:e.pip,availability:e.pipAvailability}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}async toggle(e){if(!this.#e.disabled&&e.pipAvailability===`available`)try{e.pip?await e.exitPictureInPicture():await e.requestPictureInPicture()}catch{}}};const j={pip:`data-pip`,availability:`data-availability`};var M=class{#e=null;setMedia(e){this.#e=e}getState(){return{visible:!this.#e.started}}};const N={visible:`data-visible`};y(class extends d{constructor(...e){super(...e),this.delay=S.defaultProps.delay}static{this.tagName=`media-buffering-indicator`}static{this.properties={delay:{type:Number}}}#e=new S;#t=new p(this,b,t);#n=null;connectedCallback(){super.connectedCallback(),!this.destroyed&&(this.#n=new AbortController,this.#e.state.subscribe(()=>this.requestUpdate(),{signal:this.#n.signal}))}disconnectedCallback(){super.disconnectedCallback(),this.#n?.abort(),this.#n=null}willUpdate(e){super.willUpdate(e),this.#e.setProps(this)}update(e){super.update(e);let t=this.#t.value;t&&(this.#e.update(t),a(this,this.#e.state.current,C))}}),y(class extends n{constructor(...e){super(...e),this.core=new w,this.stateAttrMap=T,this.mediaState=new p(this,b,c),this.hotkeyAction=`toggleSubtitles`}static{this.tagName=`media-captions-button`}activate(e){this.core.toggle(e)}});const P=v(Symbol(`@videojs/controls`));var F=class extends d{static{this.tagName=`media-controls`}#e=new E;#t=new p(this,b,e);#n=new m(this,{context:P});connectedCallback(){super.connectedCallback()}update(e){super.update(e);let t=this.#t.value;if(!t)return;this.#e.setMedia(t);let n=this.#e.getState();a(this,n,D),this.#n.setValue({state:n,stateAttrMap:D})}},I=class extends s{constructor(...e){super(...e),this.consumer=new h(this,{context:P,subscribe:!0})}static{this.tagName=`media-controls-group`}connectedCallback(){super.connectedCallback(),(this.hasAttribute(`aria-label`)||this.hasAttribute(`aria-labelledby`))&&this.setAttribute(`role`,`group`)}};y(F),y(I),y(class extends n{constructor(...e){super(...e),this.core=new O,this.stateAttrMap=k,this.mediaState=new p(this,b,r),this.hotkeyAction=`toggleFullscreen`}static{this.tagName=`media-fullscreen-button`}activate(e){this.core.toggle(e)}}),y(class extends n{constructor(...e){super(...e),this.core=new A,this.stateAttrMap=j,this.mediaState=new p(this,b,o),this.hotkeyAction=`togglePiP`}static{this.tagName=`media-pip-button`}activate(e){this.core.toggle(e)}});var L=class extends d{connectedCallback(){super.connectedCallback()}update(e){super.update(e);let t=this.mediaState.value;if(!t)return;this.core.setMedia(t);let n=this.core.getState();a(this,n,this.stateAttrMap)}};y(class extends L{constructor(...e){super(...e),this.core=new M,this.stateAttrMap=N,this.mediaState=new p(this,b,t)}static{this.tagName=`media-poster`}});
|
|
2
|
-
//# sourceMappingURL=poster-B9COb7AR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poster-B9COb7AR.js","names":["#props","#clearTimer","#timer","#props","#media","#media","#props","#media","#props","#media","#media","#core","#state","#disconnect","createContext","#core","#mediaState","#provider","ContextProvider","ContextConsumer"],"sources":["../src/define/video/player.ts","../../core/dist/default/core/ui/buffering-indicator/buffering-indicator-core.js","../../core/dist/default/core/ui/buffering-indicator/buffering-indicator-data-attrs.js","../../core/dist/default/core/ui/captions-button/captions-button-core.js","../../core/dist/default/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/default/core/ui/controls/controls-core.js","../../core/dist/default/core/ui/controls/controls-data-attrs.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/default/core/ui/pip-button/pip-button-core.js","../../core/dist/default/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/default/core/ui/poster/poster-core.js","../../core/dist/default/core/ui/poster/poster-data-attrs.js","../src/ui/buffering-indicator/buffering-indicator-element.ts","../src/define/ui/buffering-indicator.ts","../src/ui/captions-button/captions-button-element.ts","../src/define/ui/captions-button.ts","../src/ui/controls/context.ts","../src/ui/controls/controls-element.ts","../src/ui/controls/controls-group-element.ts","../src/define/ui/controls.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/define/ui/fullscreen-button.ts","../src/ui/pip-button/pip-button-element.ts","../src/define/ui/pip-button.ts","../src/ui/media-ui-element.ts","../src/ui/poster/poster-element.ts","../src/define/ui/poster.ts"],"sourcesContent":["import { videoFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: videoFeatures,\n});\n\nexport class VideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(VideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoPlayerElement.tagName]: VideoPlayerElement;\n }\n}\n","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/buffering-indicator/buffering-indicator-core.ts\nvar BufferingIndicatorCore = class BufferingIndicatorCore {\n\tstatic defaultProps = { delay: 500 };\n\tstate = createState({ visible: false });\n\t#props = { ...BufferingIndicatorCore.defaultProps };\n\t#timer = null;\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, BufferingIndicatorCore.defaultProps);\n\t}\n\tdestroy() {\n\t\tthis.#clearTimer();\n\t}\n\tupdate(media) {\n\t\tconst buffering = media.waiting && !media.paused;\n\t\tif (buffering && !this.state.current.visible && !this.#timer) this.#timer = setTimeout(() => {\n\t\t\tthis.#timer = null;\n\t\t\tthis.state.patch({ visible: true });\n\t\t}, this.#props.delay);\n\t\telse if (!buffering) {\n\t\t\tthis.#clearTimer();\n\t\t\tthis.state.patch({ visible: false });\n\t\t}\n\t}\n\t#clearTimer() {\n\t\tif (this.#timer !== null) {\n\t\t\tclearTimeout(this.#timer);\n\t\t\tthis.#timer = null;\n\t\t}\n\t}\n};\n//#endregion\nexport { BufferingIndicatorCore };\n\n//# sourceMappingURL=buffering-indicator-core.js.map","//#region src/core/ui/buffering-indicator/buffering-indicator-data-attrs.ts\nconst BufferingIndicatorDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { BufferingIndicatorDataAttrs };\n\n//# sourceMappingURL=buffering-indicator-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.subtitlesShowing ? \"Disable captions\" : \"Enable captions\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some((t) => t.kind === \"captions\" || t.kind === \"subtitles\") ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\tsubtitlesShowing: \"data-active\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","//#region src/core/ui/controls/controls-core.ts\nvar ControlsCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\treturn {\n\t\t\tvisible: media.controlsVisible,\n\t\t\tuserActive: media.userActive\n\t\t};\n\t}\n};\n//#endregion\nexport { ControlsCore };\n\n//# sourceMappingURL=controls-core.js.map","//#region src/core/ui/controls/controls-data-attrs.ts\nconst ControlsDataAttrs = {\n\tvisible: \"data-visible\",\n\tuserActive: \"data-user-active\"\n};\n//#endregion\nexport { ControlsDataAttrs };\n\n//# sourceMappingURL=controls-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.fullscreen ? \"Exit fullscreen\" : \"Enter fullscreen\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability: media.fullscreenAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.fullscreenAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.fullscreen) await media.exitFullscreen();\n\t\t\telse await media.requestFullscreen();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\tfullscreen: \"data-fullscreen\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.pip ? \"Exit picture-in-picture\" : \"Enter picture-in-picture\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability: media.pipAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.pipAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.pip) await media.exitPictureInPicture();\n\t\t\telse await media.requestPictureInPicture();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\tpip: \"data-pip\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\nvar PosterCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\treturn { visible: !this.#media.started };\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class BufferingIndicatorElement extends MediaElement {\n static readonly tagName = 'media-buffering-indicator';\n\n static override properties = {\n delay: { type: Number },\n } satisfies PropertyDeclarationMap<keyof BufferingIndicatorCore.Props>;\n\n delay = BufferingIndicatorCore.defaultProps.delay;\n\n readonly #core = new BufferingIndicatorCore();\n readonly #state = new PlayerController(this, playerContext, selectPlayback);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n\n this.#core.state.subscribe(() => this.requestUpdate(), {\n signal: this.#disconnect.signal,\n });\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n this.#core.update(media);\n applyStateDataAttrs(this, this.#core.state.current, BufferingIndicatorDataAttrs);\n }\n}\n","import { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(BufferingIndicatorElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BufferingIndicatorElement.tagName]: BufferingIndicatorElement;\n }\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs, type MediaTextTrackState } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n protected activate(state: MediaTextTrackState): void {\n this.core.toggle(state);\n }\n}\n","import { CaptionsButtonElement } from '../../ui/captions-button/captions-button-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(CaptionsButtonElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [CaptionsButtonElement.tagName]: CaptionsButtonElement;\n }\n}\n","import type { ControlsState, StateAttrMap } from '@videojs/core';\nimport { createContext } from '@videojs/element/context';\n\nexport interface ControlsContextValue {\n state: ControlsState;\n stateAttrMap: StateAttrMap<ControlsState>;\n}\n\nconst CONTROLS_CONTEXT_KEY = Symbol('@videojs/controls');\n\nexport const controlsContext = createContext<ControlsContextValue>(CONTROLS_CONTEXT_KEY);\n","import { ControlsCore, ControlsDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectControls } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\nimport { controlsContext } from './context';\n\nexport class ControlsElement extends MediaElement {\n static readonly tagName = 'media-controls';\n\n readonly #core = new ControlsCore();\n readonly #mediaState = new PlayerController(this, playerContext, selectControls);\n readonly #provider = new ContextProvider(this, { context: controlsContext });\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const media = this.#mediaState.value;\n if (!media) return;\n\n this.#core.setMedia(media);\n const state = this.#core.getState();\n\n applyStateDataAttrs(this, state, ControlsDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: ControlsDataAttrs,\n });\n }\n}\n","import type { ControlsState } from '@videojs/core';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { controlsContext } from './context';\n\nexport class ControlsGroupElement extends ContextPartElement<ControlsState> {\n static readonly tagName = 'media-controls-group';\n\n protected readonly consumer = new ContextConsumer(this, { context: controlsContext, subscribe: true });\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.hasAttribute('aria-label') || this.hasAttribute('aria-labelledby')) {\n this.setAttribute('role', 'group');\n }\n }\n}\n","import { ControlsElement } from '../../ui/controls/controls-element';\nimport { ControlsGroupElement } from '../../ui/controls/controls-group-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(ControlsElement);\nsafeDefine(ControlsGroupElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ControlsElement.tagName]: ControlsElement;\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs, type MediaFullscreenState } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): void {\n this.core.toggle(state);\n }\n}\n","import { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(FullscreenButtonElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [FullscreenButtonElement.tagName]: FullscreenButtonElement;\n }\n}\n","import { type MediaPictureInPictureState, PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePiP';\n\n protected activate(state: MediaPictureInPictureState): void {\n this.core.toggle(state);\n }\n}\n","import { PiPButtonElement } from '../../ui/pip-button/pip-button-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(PiPButtonElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [PiPButtonElement.tagName]: PiPButtonElement;\n }\n}\n","import type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n","import { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaUIElement } from '../media-ui-element';\n\nexport class PosterElement extends MediaUIElement<PosterCore> {\n static readonly tagName = 'media-poster';\n\n protected readonly core = new PosterCore();\n protected readonly stateAttrMap = PosterDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\n}\n","import { PosterElement } from '../../ui/poster/poster-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(PosterElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [PosterElement.tagName]: PosterElement;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poster-qAhnKWea.js","names":["#props","#clearTimer","#timer","#props","#media","#media","#props","#media","#props","#media","#media","#core","#state","#disconnect","#core","#mediaState","#provider"],"sources":["../src/define/video/player.ts","../../core/dist/dev/core/ui/buffering-indicator/buffering-indicator-core.js","../../core/dist/dev/core/ui/buffering-indicator/buffering-indicator-data-attrs.js","../../core/dist/dev/core/ui/captions-button/captions-button-core.js","../../core/dist/dev/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/dev/core/ui/controls/controls-core.js","../../core/dist/dev/core/ui/controls/controls-data-attrs.js","../../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/dev/core/ui/pip-button/pip-button-core.js","../../core/dist/dev/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/dev/core/ui/poster/poster-core.js","../../core/dist/dev/core/ui/poster/poster-data-attrs.js","../src/ui/buffering-indicator/buffering-indicator-element.ts","../src/define/ui/buffering-indicator.ts","../src/ui/captions-button/captions-button-element.ts","../src/define/ui/captions-button.ts","../src/ui/controls/context.ts","../src/ui/controls/controls-element.ts","../src/ui/controls/controls-group-element.ts","../src/define/ui/controls.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/define/ui/fullscreen-button.ts","../src/ui/pip-button/pip-button-element.ts","../src/define/ui/pip-button.ts","../src/ui/media-ui-element.ts","../src/ui/poster/poster-element.ts","../src/define/ui/poster.ts"],"sourcesContent":["import { videoFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: videoFeatures,\n});\n\nexport class VideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(VideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoPlayerElement.tagName]: VideoPlayerElement;\n }\n}\n","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/buffering-indicator/buffering-indicator-core.ts\nvar BufferingIndicatorCore = class BufferingIndicatorCore {\n\tstatic defaultProps = { delay: 500 };\n\tstate = createState({ visible: false });\n\t#props = { ...BufferingIndicatorCore.defaultProps };\n\t#timer = null;\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, BufferingIndicatorCore.defaultProps);\n\t}\n\tdestroy() {\n\t\tthis.#clearTimer();\n\t}\n\tupdate(media) {\n\t\tconst buffering = media.waiting && !media.paused;\n\t\tif (buffering && !this.state.current.visible && !this.#timer) this.#timer = setTimeout(() => {\n\t\t\tthis.#timer = null;\n\t\t\tthis.state.patch({ visible: true });\n\t\t}, this.#props.delay);\n\t\telse if (!buffering) {\n\t\t\tthis.#clearTimer();\n\t\t\tthis.state.patch({ visible: false });\n\t\t}\n\t}\n\t#clearTimer() {\n\t\tif (this.#timer !== null) {\n\t\t\tclearTimeout(this.#timer);\n\t\t\tthis.#timer = null;\n\t\t}\n\t}\n};\n//#endregion\nexport { BufferingIndicatorCore };\n\n//# sourceMappingURL=buffering-indicator-core.js.map","//#region src/core/ui/buffering-indicator/buffering-indicator-data-attrs.ts\nconst BufferingIndicatorDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { BufferingIndicatorDataAttrs };\n\n//# sourceMappingURL=buffering-indicator-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.subtitlesShowing ? \"Disable captions\" : \"Enable captions\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some((t) => t.kind === \"captions\" || t.kind === \"subtitles\") ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\tsubtitlesShowing: \"data-active\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","//#region src/core/ui/controls/controls-core.ts\nvar ControlsCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\treturn {\n\t\t\tvisible: media.controlsVisible,\n\t\t\tuserActive: media.userActive\n\t\t};\n\t}\n};\n//#endregion\nexport { ControlsCore };\n\n//# sourceMappingURL=controls-core.js.map","//#region src/core/ui/controls/controls-data-attrs.ts\nconst ControlsDataAttrs = {\n\tvisible: \"data-visible\",\n\tuserActive: \"data-user-active\"\n};\n//#endregion\nexport { ControlsDataAttrs };\n\n//# sourceMappingURL=controls-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.fullscreen ? \"Exit fullscreen\" : \"Enter fullscreen\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability: media.fullscreenAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.fullscreenAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.fullscreen) await media.exitFullscreen();\n\t\t\telse await media.requestFullscreen();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\tfullscreen: \"data-fullscreen\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.pip ? \"Exit picture-in-picture\" : \"Enter picture-in-picture\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability: media.pipAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.pipAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.pip) await media.exitPictureInPicture();\n\t\t\telse await media.requestPictureInPicture();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\tpip: \"data-pip\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\nvar PosterCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\treturn { visible: !this.#media.started };\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class BufferingIndicatorElement extends MediaElement {\n static readonly tagName = 'media-buffering-indicator';\n\n static override properties = {\n delay: { type: Number },\n } satisfies PropertyDeclarationMap<keyof BufferingIndicatorCore.Props>;\n\n delay = BufferingIndicatorCore.defaultProps.delay;\n\n readonly #core = new BufferingIndicatorCore();\n readonly #state = new PlayerController(this, playerContext, selectPlayback);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n\n this.#core.state.subscribe(() => this.requestUpdate(), {\n signal: this.#disconnect.signal,\n });\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n this.#core.update(media);\n applyStateDataAttrs(this, this.#core.state.current, BufferingIndicatorDataAttrs);\n }\n}\n","import { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(BufferingIndicatorElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [BufferingIndicatorElement.tagName]: BufferingIndicatorElement;\n }\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs, type MediaTextTrackState } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n protected activate(state: MediaTextTrackState): void {\n this.core.toggle(state);\n }\n}\n","import { CaptionsButtonElement } from '../../ui/captions-button/captions-button-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(CaptionsButtonElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [CaptionsButtonElement.tagName]: CaptionsButtonElement;\n }\n}\n","import type { ControlsState, StateAttrMap } from '@videojs/core';\nimport { createContext } from '@videojs/element/context';\n\nexport interface ControlsContextValue {\n state: ControlsState;\n stateAttrMap: StateAttrMap<ControlsState>;\n}\n\nconst CONTROLS_CONTEXT_KEY = Symbol('@videojs/controls');\n\nexport const controlsContext = createContext<ControlsContextValue>(CONTROLS_CONTEXT_KEY);\n","import { ControlsCore, ControlsDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectControls } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\nimport { controlsContext } from './context';\n\nexport class ControlsElement extends MediaElement {\n static readonly tagName = 'media-controls';\n\n readonly #core = new ControlsCore();\n readonly #mediaState = new PlayerController(this, playerContext, selectControls);\n readonly #provider = new ContextProvider(this, { context: controlsContext });\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const media = this.#mediaState.value;\n if (!media) return;\n\n this.#core.setMedia(media);\n const state = this.#core.getState();\n\n applyStateDataAttrs(this, state, ControlsDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: ControlsDataAttrs,\n });\n }\n}\n","import type { ControlsState } from '@videojs/core';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { controlsContext } from './context';\n\nexport class ControlsGroupElement extends ContextPartElement<ControlsState> {\n static readonly tagName = 'media-controls-group';\n\n protected readonly consumer = new ContextConsumer(this, { context: controlsContext, subscribe: true });\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.hasAttribute('aria-label') || this.hasAttribute('aria-labelledby')) {\n this.setAttribute('role', 'group');\n }\n }\n}\n","import { ControlsElement } from '../../ui/controls/controls-element';\nimport { ControlsGroupElement } from '../../ui/controls/controls-group-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(ControlsElement);\nsafeDefine(ControlsGroupElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ControlsElement.tagName]: ControlsElement;\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs, type MediaFullscreenState } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): void {\n this.core.toggle(state);\n }\n}\n","import { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(FullscreenButtonElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [FullscreenButtonElement.tagName]: FullscreenButtonElement;\n }\n}\n","import { type MediaPictureInPictureState, PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePiP';\n\n protected activate(state: MediaPictureInPictureState): void {\n this.core.toggle(state);\n }\n}\n","import { PiPButtonElement } from '../../ui/pip-button/pip-button-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(PiPButtonElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [PiPButtonElement.tagName]: PiPButtonElement;\n }\n}\n","import type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n","import { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaUIElement } from '../media-ui-element';\n\nexport class PosterElement extends MediaUIElement<PosterCore> {\n static readonly tagName = 'media-poster';\n\n protected readonly core = new PosterCore();\n protected readonly stateAttrMap = PosterDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\n}\n","import { PosterElement } from '../../ui/poster/poster-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(PosterElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [PosterElement.tagName]: PosterElement;\n }\n}\n"],"mappings":"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"}
|
package/cdn/ui-18UYtw8D.js
DELETED
|
File without changes
|
package/cdn/ui-8HVY3XSt.js
DELETED
|
File without changes
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,a as s,b as c,d as l,f as u,g as d,h as f,j as p,k as m,m as h,n as g,o as _,p as v,r as y,s as b,v as ee,w as te,x as ne,y as re}from"./create-player-B_oNyyb5.js";import{t as x}from"./listen-D7fcau5d.js";import{i as S,o as C,r as w,t as ie}from"./context-C-IpVHEt.js";function ae(e){let t=e.closest(`[dir]`)?.getAttribute(`dir`);return t?t.toLowerCase()===`rtl`:getComputedStyle(e).direction===`rtl`}function T(){return typeof CSS<`u`&&CSS.supports(`anchor-name: --a`)}function oe(){return typeof navigator<`u`&&/mac/i.test(navigator.userAgent)}function E(e){try{e?.showPopover?.()}catch{}}function D(e){try{e?.hidePopover?.()}catch{}}const se=new Set([`text`,`search`,`url`,`tel`,`email`,`password`,`number`]);function ce(e){if(e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)return!0;if(e instanceof HTMLInputElement)return se.has(e.type.toLowerCase());if(!(e instanceof HTMLElement))return!1;let t=e.getAttribute(`contenteditable`);return t!==null&&t!==`false`}function le(e){let t=p(e);return t instanceof Element&&ce(t)}function ue(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function O(e,t){for(let[n,r]of Object.entries(t))if(typeof r==`string`){let t=n.startsWith(`--`)?n:ue(n);e.style.setProperty(t,r)}}function de(e,t){let n=t.trim();if(!n)return 0;let r=Number.parseFloat(n);if(Number.isNaN(r))return 0;if(/^-?\d*\.?\d+$/.test(n)||n.endsWith(`px`))return r;let i=e.ownerDocument,a=i?.documentElement;if(n.endsWith(`rem`))return r*(a&&Number.parseFloat(getComputedStyle(a).fontSize)||16);if(n.endsWith(`em`))return r*(e instanceof HTMLElement&&Number.parseFloat(getComputedStyle(e).fontSize)||16);if(!i)return r;let o=i.createElement(`div`);o.style.position=`absolute`,o.style.visibility=`hidden`,o.style.pointerEvents=`none`,o.style.inlineSize=n,o.style.blockSize=`0`,o.style.padding=`0`,o.style.border=`0`,o.style.inset=`0`;let s=i.body??i.documentElement;if(!s)return r;s.appendChild(o);let c=o.getBoundingClientRect().width;return o.remove(),Number.isFinite(c)?c:r}function k(e,t){let n={...t};for(let t in e)m(e[t])||(n[t]=e[t]);return n}function fe(e,t){let n={};for(let r of t)n[r]=e[r];return n}const pe={target:te,signals:new a,get:te,set:te};function A(e){let t=e.state(pe),n=Object.keys(t),r=n[0];return r?Object.assign(e=>{if(r in e)return fe(e,n)},{displayName:e.name}):Object.assign(()=>void 0,{displayName:e.name})}function me(e,t,n){let r=n?.leading??!1,i=null,a,o=!1;function s(){i=setTimeout(()=>{i=null,o&&(o=!1,e(...a),s())},t)}let c=(...n)=>{if(a=n,r)i===null?(e(...a),s()):o=!0;else{if(i!==null)return;i=setTimeout(()=>{i=null,e(...a)},t)}};return c.cancel=()=>{i!==null&&(clearTimeout(i),i=null),o=!1},c}const he=A(ne),ge=A(c),_e=A(re),ve=A(ee),ye=A(o),be=A(d),xe=A(f);A(h);const Se=A(v),j=A(u),M=A(l),Ce={shift:`Shift`,ctrl:`Control`,alt:`Alt`,meta:`Meta`},we=[`ctrl`,`shift`,`alt`,`meta`];function Te(e){return e.map(e=>{let t=[];for(let n of we)e.modifiers.has(n)&&t.push(Ce[n]);return t.push(e.originalKey),t.join(`+`)}).join(` `)}const Ee=new Set([` `,`Enter`]);function De(e){if(!Ee.has(e.key))return!1;let t=p(e);if(!(t instanceof HTMLElement))return!1;if(t instanceof HTMLButtonElement)return!0;let n=t.getAttribute(`role`);return n===`button`||n===`slider`}var Oe=class{#e;#t=[];#n=0;#r=null;#i=null;#a=new Map;#o=!1;constructor(e){this.#e=e}add(e){let t=Ae(e.keys),n={parsed:t,options:e,id:this.#n++};this.#t.push(n),this.#s(),e.action&&this.#f(e.action,t),e.target===`document`?this.#l():this.#c();let r=!1;return()=>{if(r)return;r=!0;let i=this.#t.indexOf(n);i!==-1&&this.#t.splice(i,1),e.action&&this.#p(e.action,t),this.#u()}}getAriaKeys(e){let t=this.#a.get(e);if(t?.length)return Te(t)}destroy(){this.#o||(this.#o=!0,this.#r?.abort(),this.#r=null,this.#i?.abort(),this.#i=null,this.#t=[],this.#a.clear())}#s(){this.#t.sort((e,t)=>{let n=t.parsed[0].modifiers.size-e.parsed[0].modifiers.size;return n===0?e.id-t.id:n})}#c(){this.#r||(this.#r=new AbortController,x(this.#e,`keydown`,this.#d,{signal:this.#r.signal}))}#l(){this.#i||(this.#i=new AbortController,x(document,`keydown`,this.#d,{signal:this.#i.signal}))}#u(){let e=this.#t.some(e=>e.options.target!==`document`),t=this.#t.some(e=>e.options.target===`document`);e||(this.#r?.abort(),this.#r=null),t||(this.#i?.abort(),this.#i=null)}#d=e=>{if(e.key===`Unidentified`||De(e))return;let t=le(e);for(let n of this.#t){let{options:r,parsed:i}=n;if(!r.disabled&&!(e.repeat&&r.repeatable===!1)&&r.target===`document`==(e.currentTarget===document)){for(let n of i)if(Me(n,e)&&!(t&&n.modifiers.size===0)){e.preventDefault(),r.onActivate(e,n.originalKey);return}}}};#f(e,t){let n=this.#a.get(e);n||(n=[],this.#a.set(e,n)),n.push(...t)}#p(e,t){let n=this.#a.get(e);if(!n)return;let r=n.filter(e=>!t.includes(e));r.length===0?this.#a.delete(e):this.#a.set(e,r)}};const ke=new Set([`shift`,`ctrl`,`alt`,`meta`]);function Ae(e){if(e===`0-9`)return Array.from({length:10},(e,t)=>({modifiers:new Set,key:String(t),originalKey:String(t)}));let t=e.split(`+`),n=t.pop(),r=new Set;for(let e of t){let t=e.toLowerCase();t===`mod`?r.add(oe()?`meta`:`ctrl`):ke.has(t)&&r.add(t)}return[{modifiers:r,key:n===`Space`?` `:n.toLowerCase(),originalKey:n}]}function je(e){return e.length===1&&!/[a-z]/i.test(e)}function Me(e,t){if(t.key===`Unidentified`||t.key.toLowerCase()!==e.key)return!1;let n=je(t.key),r=n?t.shiftKey&&e.modifiers.has(`shift`):t.shiftKey,i=n?t.altKey&&e.modifiers.has(`alt`):t.altKey;return!(r!==e.modifiers.has(`shift`)||t.ctrlKey!==e.modifiers.has(`ctrl`)||i!==e.modifiers.has(`alt`)||t.metaKey!==e.modifiers.has(`meta`))}const N=new WeakMap;function Ne(e){return N.get(e)}function Pe(e){let t=N.get(e);return t||(t=new Oe(e),N.set(e,t)),t}function Fe(e,t){return Pe(e).add(t)}function Ie(e){let{transition:t}=e,n=t.state,r=new AbortController,i=null;function a(){if(r.signal.aborted)return null;let{active:e,status:i}=n.current;return e&&i!==`ending`?null:(i===`ending`&&t.cancel(),t.open())}function o(e){let{active:i,status:a}=n.current;return r.signal.aborted||!i||a===`ending`?null:t.close(e)}function s(){if(c(),typeof document>`u`)return;i=new AbortController;let{signal:t}=i;x(document,`keydown`,l,{signal:t}),e.onDocumentActive?.(t)}function c(){i?.abort(),i=null}function l(t){t.key===`Escape`&&n.current.active&&(e.closeOnEscape?.()??!0)&&e.onEscapeDismiss(t)}let u=n.subscribe(()=>{n.current.active?s():c()});r.signal.addEventListener(`abort`,()=>{u(),t.destroy(),c()});function d(){r.signal.aborted||r.abort()}return{input:n,open:a,close:o,signal:r.signal,destroy:d}}function Le(e){let{onOpenChange:t}=e,n=null,r=null,i=null,a=Ie({transition:e.transition,closeOnEscape:e.closeOnEscape,onEscapeDismiss(e){e.stopPropagation(),c()}}),o=a.input;function s(){r=document.activeElement;let i=a.open();i&&(t(!0),requestAnimationFrame(()=>{a.signal.aborted||!o.current.active||n?.focus()}),i.then(()=>{a.signal.aborted||!o.current.active||e.onOpenChangeComplete?.(!0)}))}function c(){let i=a.close(n);i&&(t(!1),i.then(()=>{a.signal.aborted||(r&&=(r.focus(),null),e.onOpenChangeComplete?.(!1))}))}function l(){if(u(),!n)return;i=new AbortController;let{signal:e}=i;x(n,`click`,d,{signal:e})}function u(){i?.abort(),i=null}function d(e){e.target instanceof HTMLButtonElement&&c()}function f(e){n=e,l()}return a.signal.addEventListener(`abort`,()=>{u(),n=null,r=null}),{input:o,open:s,close:c,setElement:f,destroy:a.destroy}}function Re(e){let{onActivate:t,isDisabled:n}=e;return{role:`button`,tabIndex:0,onClick(e){if(n()){e.preventDefault();return}t()},onPointerDown(e){n()&&e.preventDefault()},onMouseDown(e){n()&&e.preventDefault()},onKeyDown(e){if(e.target===e.currentTarget){if(n()){e.key!==`Tab`&&e.preventDefault();return}e.key===`Enter`?(e.preventDefault(),t()):e.key===` `&&e.preventDefault()}},onKeyUp(e){e.target===e.currentTarget&&(n()||e.key===` `&&t())}}}function ze(e){let{onOpenChange:t,closeOnOutsideClick:n}=e,r=null,i=null,a=null,o=new Set,s=Ie({transition:e.transition,closeOnEscape:e.closeOnEscape,onEscapeDismiss(e){e.preventDefault(),m(`escape`,e)},onDocumentActive(e){x(document,`pointerdown`,_,{capture:!0,signal:e})}}),c=s.input;function l(){a!==null&&(clearTimeout(a),a=null)}function u(){return globalThis.matchMedia?.(`(hover: hover)`)?.matches??!1}function d(){return u()?globalThis.matchMedia?.(`(pointer: fine)`)?.matches??!1:!1}function f(){return e.openOnHover?.()?u():!0}function p(n,r){let i=s.open();i&&(t(!0,r?{reason:n,event:r}:{reason:n}),i.then(()=>{s.signal.aborted||!c.current.active||e.onOpenChangeComplete?.(!0)}))}function m(n,r){let a=s.close(i);a&&(t(!1,r?{reason:n,event:r}:{reason:n}),a.then(()=>{s.signal.aborted||(D(i),e.onOpenChangeComplete?.(!1))}))}function h(e=`click`){p(e)}function g(e=`click`){m(e)}function _(e){if(!n()||!c.current.active)return;let t=e.composedPath();r&&t.includes(r)||i&&t.includes(i)||m(`outside-click`,e)}s.signal.addEventListener(`abort`,()=>{l(),o.clear(),r=null,i=null});let v={onClick(e){f()&&(c.current.active&&c.current.status!==`ending`?m(`click`,e):p(`click`,e))},onPointerEnter(t){if(!e.openOnHover?.()||!u()||(l(),c.current.active))return;let n=e.delay?.()??300;a=setTimeout(()=>p(`hover`),n)},onPointerLeave(t){if(!e.openOnHover?.()||!u()||(l(),!c.current.active))return;let n=e.closeDelay?.()??0;a=setTimeout(()=>m(`hover`),n)},onFocusIn(t){if(e.openOnHover?.()){if(!d())return;p(`focus`)}},onFocusOut(t){let n=t.relatedTarget;n&&(r?.contains(n)||i?.contains(n))||e.openOnHover?.()&&m(`blur`)}},y={onPointerEnter(t){e.openOnHover?.()&&l()},onPointerLeave(t){if(!e.openOnHover?.()||o.size>0||(l(),!c.current.active))return;let n=e.closeDelay?.()??0;a=setTimeout(()=>m(`hover`),n)},onGotPointerCapture(e){o.add(e.pointerId)},onLostPointerCapture(e){o.delete(e.pointerId)},onFocusOut(e){let t=e.relatedTarget;t&&(r?.contains(t)||i?.contains(t))||m(`blur`)}};function b(e){r=e}function ee(e){!e&&i&&c.current.active&&D(i),i=e,e&&c.current.active&&E(e)}return{input:c,triggerProps:v,popupProps:y,get triggerElement(){return r},setTriggerElement:b,setPopupElement:ee,open:h,close:g,destroy:s.destroy}}const P={sideOffset:`--media-popover-side-offset`,alignOffset:`--media-popover-align-offset`,anchorWidth:`--media-popover-anchor-width`,anchorHeight:`--media-popover-anchor-height`,availableWidth:`--media-popover-available-width`,availableHeight:`--media-popover-available-height`},Be={top:`bottom`,bottom:`top`,left:`right`,right:`left`};function F(e,t,n,r,i,a,o=P){return T()?He(e,t,o):n&&r?{...We(n,r,t,a??{sideOffset:0,alignOffset:0}),...i?Ue(n,i,t.side,o):{},position:`fixed`,inset:`auto`,margin:`0`}:{}}function Ve(e){return T()?{anchorName:`--${e}`}:{}}function He(e,t,n=P){let r=`var(${n.sideOffset}, 0px)`,i=`var(${n.alignOffset}, 0px)`,{side:a,align:o}=t,s={positionAnchor:`--${e}`,position:`fixed`,inset:`auto`,margin:`0`,justifySelf:`normal`,alignSelf:`normal`,marginInlineStart:`0`,marginBlockStart:`0`},c=Be[a];return a===`top`||a===`bottom`?(s[c]=`calc(anchor(${a}) + ${r})`,o===`start`?s.left=`calc(anchor(left) + ${i})`:o===`end`?s.right=`calc(anchor(right) + ${i})`:(s.justifySelf=`anchor-center`,s.marginInlineStart=i)):(s[c]=`calc(anchor(${a}) + ${r})`,o===`start`?s.top=`calc(anchor(top) + ${i})`:o===`end`?s.bottom=`calc(anchor(bottom) + ${i})`:(s.alignSelf=`anchor-center`,s.marginBlockStart=i)),s}function Ue(e,t,n,r=P){let i={};return i[r.anchorWidth]=`${e.width}px`,i[r.anchorHeight]=`${e.height}px`,n===`top`||n===`bottom`?(i[r.availableHeight]=n===`top`?`${e.top-t.top}px`:`${t.bottom-e.bottom}px`,i[r.availableWidth]=`${t.width}px`):(i[r.availableWidth]=n===`left`?`${e.left-t.left}px`:`${t.right-e.right}px`,i[r.availableHeight]=`${t.height}px`),i}function We(e,t,n,r={sideOffset:0,alignOffset:0}){let{side:i,align:a}=n,{sideOffset:o,alignOffset:s}=r,c=0,l=0;return i===`top`?c=e.top-t.height-o:i===`bottom`?c=e.bottom+o:l=i===`left`?e.left-t.width-o:e.right+o,i===`top`||i===`bottom`?l=a===`start`?e.left+s:a===`end`?e.right-t.width+s:e.left+(e.width-t.width)/2+s:c=a===`start`?e.top+s:a===`end`?e.bottom-t.height+s:e.top+(e.height-t.height)/2+s,{top:`${c}px`,left:`${l}px`}}function Ge(e,t=P){let n=getComputedStyle(e);return{sideOffset:de(e,n.getPropertyValue(t.sideOffset)),alignOffset:de(e,n.getPropertyValue(t.alignOffset))}}function Ke(e){let t=e.getBoundingClientRect(),n=e.offsetWidth||t.width,r=e.offsetHeight||t.height,i={...t,width:n,height:r,right:t.left+n,bottom:t.top+r};return{...i,toJSON:()=>i}}function I(e,t,n){return Math.max(t,Math.min(n,e))}function qe(e,t,n){let r=Math.round((e-n)/t)*t+n,i=`${t}`.indexOf(`.`);return i===-1?r:Number(r.toFixed(`${t}`.length-i-1))}function L(e,t,n,r){let i;return i=n===`vertical`?1-(e.clientY-t.top)/t.height:r?(t.right-e.clientX)/t.width:(e.clientX-t.left)/t.width,Number.isFinite(i)?I(i*100,0,100):0}function Je(e){let n=i({pointerPercent:0,dragPercent:0,dragging:!1,pointing:!1,focused:!1}),r=new AbortController,a=e.changeThrottle??0,o=!1,s=!1,c=null,l=null,u=0,d=!1,f=a>0?me(t=>e.onValueChange?.(t),a,{leading:!0}):null;function p(t,n){n&&f?f(t):e.onValueChange?.(t)}function m(){if(t(l))return;let n=l;l=null;try{e.getElement().releasePointerCapture(n)}catch{}}function h(){o?(d||e.onValueCommit?.(u),o=!1,n.patch({dragging:!1,pointing:!1}),e.onDragEnd?.()):n.patch({pointing:!1}),d=!1,g()}function g(){f?.cancel(),l=null,c=null}let _={onPointerDown(t){if(e.isDisabled())return;t.preventDefault();let r=e.getElement();c=r.getBoundingClientRect(),s=e.isRTL(),d=!1,m(),l=t.pointerId,r.setPointerCapture(t.pointerId);let i=L(t,c,e.getOrientation(),s);o=!0,u=i,n.patch({pointing:!0,dragging:!0,pointerPercent:i,dragPercent:i}),e.onDragStart?.(),e.onValueChange?.(i),e.getThumbElement?.()?.focus({preventScroll:!0,focusVisible:!1})},onPointerMove(r){if(e.isDisabled())return;if(!t(l)){if(r.pointerType!==`touch`&&r.buttons===0){h();return}let t=L(r,c,e.getOrientation(),s);u=t,n.patch({dragPercent:t,pointerPercent:t}),p(t,!0);return}let i=L(r,e.getElement().getBoundingClientRect(),e.getOrientation(),e.isRTL());n.patch({pointing:!0,pointerPercent:i})},onPointerUp(n){if(t(l))return;let r=L(n,c,e.getOrientation(),s);f?.cancel(),e.onValueChange?.(r),e.onValueCommit?.(r),d=!0},onPointerLeave(){t(l)&&n.patch({pointing:!1})},onLostPointerCapture(){h()}},v={onKeyDown(t){if(e.isDisabled()){t.key!==`Tab`&&t.preventDefault();return}let r=e.getStepPercent(),i=e.getLargeStepPercent(),a=qe(e.getPercent(),r,0),o=e.isRTL()?-1:1,s=t.shiftKey?i:r,c=null;switch(t.key){case`ArrowRight`:c=a+s*o;break;case`ArrowLeft`:c=a-s*o;break;case`ArrowUp`:c=a+s;break;case`ArrowDown`:c=a-s;break;case`PageUp`:c=a+i;break;case`PageDown`:c=a-i;break;case`Home`:c=0;break;case`End`:c=100;break;default:!t.metaKey&&!t.ctrlKey&&!t.altKey&&t.key>=`0`&&t.key<=`9`&&(c=Number(t.key)*10);break}c!==null&&(t.preventDefault(),c=I(c,0,100),n.patch({pointerPercent:c,dragPercent:c}),e.onValueChange?.(c),e.onValueCommit?.(c))},onFocus(){n.patch({focused:!0})},onBlur(){n.patch({focused:!1})}};function y(t){if(!e.adjustPercent||t.thumbAlignment!==`edge`)return t;let n=e.getElement(),r=e.getThumbElement?.();if(!r)return t;let i=t.orientation===`horizontal`,a=i?r.offsetWidth:r.offsetHeight,o=i?n.offsetWidth:n.offsetHeight;return{...t,fillPercent:e.adjustPercent(t.fillPercent,a,o),pointerPercent:e.adjustPercent(t.pointerPercent,a,o)}}let b=null;return e.onResize&&(b=new ResizeObserver(()=>e.onResize()),b.observe(e.getElement())),{input:n,rootProps:_,rootStyle:{touchAction:`none`,userSelect:`none`},thumbProps:v,adjustForAlignment:y,destroy(){r.signal.aborted||(r.abort(),b?.disconnect(),m(),g())}}}const R={fill:`--media-slider-fill`,pointer:`--media-slider-pointer`,buffer:`--media-slider-buffer`};function Ye(e){return{[R.fill]:`${e.fillPercent.toFixed(3)}%`,[R.pointer]:`${e.pointerPercent.toFixed(3)}%`}}function Xe(e){return{...Ye(e),[R.buffer]:`${e.bufferPercent.toFixed(3)}%`}}function Ze(e,t){let n=e/2;return{position:`absolute`,left:t===`visible`?`calc(var(${R.pointer}) - ${n}px)`:`min(max(0px, calc(var(${R.pointer}) - ${n}px)), calc(100% - ${e}px))`,width:`max-content`,pointerEvents:`none`}}var Qe=class{findActiveThumbnail(e,t){if(e.length===0)return;let n=0,r=e.length-1,i;for(;n<=r;){let a=n+r>>>1,o=e[a];t>=o.startTime?(i=o,n=a+1):r=a-1}return i}parseConstraints(e){let t=parseFloat(e.minWidth),n=parseFloat(e.maxWidth),r=parseFloat(e.minHeight),i=parseFloat(e.maxHeight);return{minWidth:Number.isFinite(t)?t:0,maxWidth:Number.isFinite(n)?n:1/0,minHeight:Number.isFinite(r)?r:0,maxHeight:Number.isFinite(i)?i:1/0}}calculateScale(e,t,n){let{minWidth:r,maxWidth:i,minHeight:a,maxHeight:o}=n,s=Math.min(i/e,o/t),c=Math.max(r/e,a/t);return Number.isFinite(s)&&s<1?s:Number.isFinite(c)&&c>1?c:1}resize(e,t,n,r){let i=e.width??t,a=e.height??n;if(!i||!a)return;let o=this.calculateScale(i,a,r),s=e.coords?.x??0,c=e.coords?.y??0,l=o===1?0:1;return{scale:o,containerWidth:Math.max(0,Math.floor(i*o)-l*2),containerHeight:Math.max(0,Math.floor(a*o)-l*2),imageWidth:Math.ceil(t*o),imageHeight:Math.ceil(n*o),offsetX:Math.ceil(s*o)+l,offsetY:Math.ceil(c*o)+l}}getState(e,t,n){return{loading:e,error:t,hidden:!e&&!n}}getAttrs(e){return{role:`img`,"aria-hidden":`true`}}};function $e(e){let{getContainer:t,getImg:n,onStateChange:r}=e,i=new Qe,a=new AbortController,o=a.signal,s=!1,c=!1,l=0,u=0,d=``,f=!1,p=null;function m(){let e=n();e&&(l=e.naturalWidth,u=e.naturalHeight),s=!1,c=!1,r()}function h(){s=!1,c=!0,r()}function g(e){x(e,`load`,m,{signal:o}),x(e,`error`,h,{signal:o})}function _(){if(!f){let e=n();e&&(g(e),f=!0)}if(!p){let e=t();e&&(p=new ResizeObserver(r),p.observe(e))}}function v(e){_();let t=e??``;t!==d&&(d=t,t?(s=!0,c=!1):(s=!1,c=!1,l=0,u=0))}function y(){_();let e=n();e?.complete&&d&&(e.naturalWidth>0?(l=e.naturalWidth,u=e.naturalHeight,s=!1,c=!1):(s=!1,c=!0),r())}function b(){a.abort(),p?.disconnect(),p=null}return{get loading(){return s},get error(){return c},get naturalWidth(){return l},get naturalHeight(){return u},readConstraints(){let e=t();return e?i.parseConstraints(getComputedStyle(e)):{minWidth:0,maxWidth:1/0,minHeight:0,maxHeight:1/0}},updateSrc:v,connect:y,destroy:b}}const et={hover:`hover`,focus:`focus`,escape:`escape`,blur:`blur`};function tt(e){let t={transition:e.transition,onOpenChange(t,n){let r=et[n.reason];if(!r)return;let i=e.group?.();t?i?.notifyOpen():i?.notifyClose();let a=n.event?{reason:r,event:n.event}:{reason:r};e.onOpenChange(t,a)},closeOnEscape:()=>!0,closeOnOutsideClick:()=>!1,openOnHover:()=>!0,delay:()=>{let t=e.group?.();return t?.shouldSkipDelay()?0:e.delay?.()??t?.delay??600},closeDelay:()=>{let t=e.group?.();return e.closeDelay?.()??t?.closeDelay??0}};e.onOpenChangeComplete&&(t.onOpenChangeComplete=e.onOpenChangeComplete);let n=ze(t),r=!1,{onClick:i,...a}=n.triggerProps,o={...a,onPointerDown(){r=!0},onPointerEnter(t){e.disabled?.()||t.pointerType!==`touch`&&a.onPointerEnter(t)},onFocusIn(t){if(!e.disabled?.()){if(r){r=!1;return}a.onFocusIn(t)}}},s={...n.popupProps,onPointerEnter(t){e.disableHoverablePopup?.()||n.popupProps.onPointerEnter(t)}};return{...n,triggerProps:o,popupProps:s,get triggerElement(){return n.triggerElement},open:()=>n.open(`hover`),close:()=>n.close(`hover`)}}function z(){let e=i({active:!1,status:`idle`}),t=!1,n=0,r=0;function a(){return cancelAnimationFrame(n),cancelAnimationFrame(r),n=0,r=0,e.patch({active:!0,status:`starting`}),new Promise(i=>{n=requestAnimationFrame(()=>{n=0,r=requestAnimationFrame(()=>{if(r=0,t||!e.current.active)return i();e.patch({status:`idle`}),i()})})})}function o(i){return cancelAnimationFrame(n),cancelAnimationFrame(r),n=0,r=0,e.patch({status:`ending`}),new Promise(a=>{n=requestAnimationFrame(()=>{n=0,r=requestAnimationFrame(()=>{if(r=0,t)return a();nt(i).finally(()=>{if(t||e.current.status!==`ending`)return a();e.patch({active:!1,status:`idle`}),a()})})})})}function s(){cancelAnimationFrame(n),cancelAnimationFrame(r),n=0,r=0,e.current.status!==`idle`&&e.patch({status:`idle`})}return{state:e,open:a,close:o,cancel:s,destroy(){t||(t=!0,s())}}}function nt(t){if(!t)return Promise.resolve();let n=t.getAnimations?.()??[];return n.length===0?Promise.resolve():Promise.all(n.map(e=>e.finished)).then(e,e)}function rt(e){return{onWheel(t){if(e.isDisabled())return;let n=Math.sign(t.deltaY);if(n===0)return;t.preventDefault();let r=e.getStepPercent(),i=I(e.getPercent()-n*r,0,100);e.onValueChange?.(i)}}}function B(e,t,r){let i=r?.signal;for(let[r,a]of Object.entries(t))n(a)&&r.startsWith(`on`)?x(e,r.slice(2).toLowerCase(),a,i?{signal:i}:void 0):m(a)||a===!1?e.removeAttribute(r):a===!0?e.setAttribute(r,``):e.setAttribute(r,String(a))}function V(e,t,n){for(let r in t){if(n&&!(r in n))continue;let i=n?.[r]??it(r),a=t[r];a===!0?e.setAttribute(i,``):a?e.setAttribute(i,String(a)):e.removeAttribute(i)}}function it(e){return`data-${e.toLowerCase()}`}function H(e){return{transitionStarting:e===`starting`,transitionEnding:e===`ending`}}var at=class{static defaultProps={open:!1,defaultOpen:!1};setProps(e){}#e=null;#t=void 0;#n=void 0;setInput(e){this.#e=e}setTitleId(e){this.#t=e}setDescriptionId(e){this.#n=e}getState(){let e=this.#e;return{open:e.active,status:e.status,titleId:this.#t,descriptionId:this.#n,...H(e.status)}}getAttrs(e){return{role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":e.titleId,"aria-describedby":e.descriptionId}}};const ot={open:`data-open`,transitionStarting:`data-starting-style`,transitionEnding:`data-ending-style`};var st=class extends at{setProps(){}},ct=class e{static defaultProps={label:``,disabled:!1};state=i({muted:!1,volumeLevel:`off`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(n(t)){let n=t(e);if(n)return n}else if(t)return t;return e.muted?`Unmute`:`Mute`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({muted:e.muted||e.volume===0,volumeLevel:lt(e)}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}toggle(e){this.#e.disabled||e.toggleMuted()}};function lt(e){return e.muted||e.volume===0?`off`:e.volume<.5?`low`:e.volume<.75?`medium`:`high`}const ut={muted:`data-muted`,volumeLevel:`data-volume-level`};var dt=class e{static defaultProps={label:``,disabled:!1};state=i({paused:!0,ended:!1,started:!1,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(n(t)){let n=t(e);if(n)return n}else if(t)return t;return e.ended?`Replay`:e.paused?`Play`:`Pause`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({paused:e.paused,ended:e.ended,started:e.started}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}async toggle(e){if(!this.#e.disabled){if(e.paused||e.ended)return e.play();e.pause()}}};const ft={paused:`data-paused`,ended:`data-ended`,started:`data-started`};var pt=class e{static defaultProps={label:``,disabled:!1};state=i({rate:1,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(n(t)){let n=t(e);if(n)return n}else if(t)return t;return`Playback rate ${e.rate}`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({rate:e.playbackRate}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}cycle(e){if(this.#e.disabled)return;let{playbackRates:t,playbackRate:n}=e;if(t.length===0)return;let r=t.indexOf(n),i=r===-1?t.find(e=>e>n)??t[0]:t[(r+1)%t.length];e.setPlaybackRate(i)}};const mt={rate:`data-rate`};var U=class e{static defaultProps={side:`top`,align:`center`,modal:!1,closeOnEscape:!0,closeOnOutsideClick:!0,open:!1,defaultOpen:!1,openOnHover:!1,delay:300,closeDelay:0};#e={...e.defaultProps};constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}#t=null;setInput(e){this.#t=e}getState(){let e=this.#t;return{open:e.active,status:e.status,side:this.#e.side,align:this.#e.align,modal:this.#e.modal,...H(e.status)}}getTriggerAttrs(e,t){return{"aria-expanded":e.open?`true`:`false`,"aria-haspopup":`dialog`,"aria-controls":t}}getPopupAttrs(e){return{popover:`manual`,role:`dialog`,"aria-modal":e.modal===!0?`true`:void 0}}};const ht={open:`data-open`,side:`data-side`,align:`data-align`,transitionStarting:`data-starting-style`,transitionEnding:`data-ending-style`};var gt=class e{static defaultProps={seconds:30,label:``,disabled:!1};state=i({seeking:!1,direction:`forward`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}getLabel(e){let{label:t}=this.#e;if(n(t)){let n=t(e);if(n)return n}else if(t)return t;let r=Math.abs(this.#e.seconds);return e.direction===`backward`?`Seek backward ${r} seconds`:`Seek forward ${r} seconds`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=this.#e.seconds<0?`backward`:`forward`;return this.state.patch({seeking:e.seeking,direction:t}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}async seek(e){this.#e.disabled||await e.seek(e.currentTime+this.#e.seconds)}};const _t={seeking:`data-seeking`,direction:`data-direction`};var W=class e{static defaultProps={label:``,step:1,largeStep:10,orientation:`horizontal`,disabled:!1,thumbAlignment:`center`,value:0,min:0,max:100};static defaultInput={pointerPercent:0,dragPercent:0,dragging:!1,pointing:!1,focused:!1};#e={...e.defaultProps};#t={...e.defaultInput};get props(){return this.#e}get input(){return this.#t}constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}setInput(e){this.#t=e}getSliderState(e){let{orientation:t,disabled:n,thumbAlignment:r}=this.#e,{pointerPercent:i,dragging:a,pointing:o,focused:s}=this.#t;return{value:e,fillPercent:this.percentFromValue(e),pointerPercent:i,dragging:a,pointing:o,interactive:a||o||s,orientation:t,disabled:n,thumbAlignment:r}}getLabel(e){let{label:t}=this.#e;if(n(t)){let n=t(e);if(n)return n}else if(t)return t;return``}getAttrs(e){return{role:`slider`,tabIndex:e.disabled?-1:0,autoComplete:`off`,"aria-label":this.getLabel(e),"aria-valuemin":this.#e.min,"aria-valuemax":this.#e.max,"aria-valuenow":e.value,"aria-orientation":e.orientation,"aria-disabled":e.disabled?`true`:void 0}}valueFromPercent(e){let{min:t,max:n,step:r}=this.#e;return qe(I(t+e/100*(n-t),t,n),r,t)}rawValueFromPercent(e){let{min:t,max:n}=this.#e;return I(t+e/100*(n-t),t,n)}percentFromValue(e){let{min:t,max:n}=this.#e;return n===t?0:(e-t)/(n-t)*100}getStepPercent(){let{step:e,min:t,max:n}=this.#e,r=n-t;return r>0?e/r*100:0}getLargeStepPercent(){let{largeStep:e,min:t,max:n}=this.#e,r=n-t;return r>0?e/r*100:0}adjustPercentForAlignment(e,t,n){if(this.#e.thumbAlignment===`center`||n===0)return e;let r=t/n*100/2,i=r,a=100-r;return i+e/100*(a-i)}};const vt={dragging:`data-dragging`,pointing:`data-pointing`,interactive:`data-interactive`,orientation:`data-orientation`,disabled:`data-disabled`},yt={loading:`data-loading`,error:`data-error`,hidden:`data-hidden`};function bt(e,t){let n=e.trim().split(`#`),i=n[0]??``,a=n[1],o=t?new URL(i,t).href:i;if(!a)return{url:o};let s=a.indexOf(`=`);if(s===-1)return{url:o};let c=a.slice(0,s),l=a.slice(s+1).split(`,`).map(Number),u={};for(let e=0;e<c.length;e++){let t=c[e],n=l[e];t&&r(n)&&!Number.isNaN(n)&&(u[t]=n)}let d={url:o};return r(u.w)&&(d.width=u.w),r(u.h)&&(d.height=u.h),r(u.x)&&r(u.y)&&(d.coords={x:u.x,y:u.y}),d}function xt(e,t){let n=[];for(let r of e){let e=bt(r.text,t),i={url:e.url,startTime:r.startTime,endTime:r.endTime};e.width&&(i.width=e.width),e.height&&(i.height=e.height),e.coords&&(i.coords=e.coords),n.push(i)}return n}const St=[{singular:`hour`,plural:`hours`},{singular:`minute`,plural:`minutes`},{singular:`second`,plural:`seconds`}];function Ct(e){return r(e)&&Number.isFinite(e)}function wt(e,t){return`${e} ${e===1?St[t]?.singular:St[t]?.plural}`}function Tt(e,t){if(!Ct(e))return`0:00`;let n=e<0,r=Math.abs(e),i=Math.floor(r/3600),a=Math.floor(r/60%60),o=Math.floor(r%60),s=t?Math.abs(t):0,c=Math.floor(s/3600),l=Math.floor(s/60%60),u=i>0||c>0,d=u||l>=10,f=u?`${i}:`:``,p=`${d&&a<10?`0`:``}${a}:`,m=o<10?`0${o}`:`${o}`;return`${n?`-`:``}${f}${p}${m}`}function Et(e){if(!Ct(e))return``;let t=e<0,n=Math.abs(e),r=Math.floor(n/3600),i=Math.floor(n/60%60),a=Math.floor(n%60);return n===0?`${wt(0,2)}${t?` remaining`:``}`:`${[r,i,a].map((e,t)=>e>0?wt(e,t):null).filter(Boolean).join(`, `)}${t?` remaining`:``}`}function Dt(e){if(!Ct(e))return`PT0S`;let t=Math.abs(e),n=Math.floor(t/3600),r=Math.floor(t/60%60),i=Math.floor(t%60),a=`PT`;return n>0&&(a+=`${n}H`),r>0&&(a+=`${r}M`),(i>0||a===`PT`)&&(a+=`${i}S`),a}const Ot={current:`Current time`,duration:`Duration`,remaining:`Remaining`};var G=class e{static defaultProps={type:`current`,negativeSign:`-`,label:``};#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}setMedia(e){this.#t=e}#n(){let e=this.#t,{type:t}=this.#e;switch(t){case`current`:return e.currentTime;case`duration`:return e.duration;case`remaining`:return e.currentTime-e.duration;default:return 0}}#r(){let e=this.#t,t=this.#n();return Tt(Math.abs(t),e.duration)}#i(){let{type:e}=this.#e,t=this.#n();return Et(e===`remaining`?t<0?t:-Math.abs(t):t)}#a(){let e=this.#n();return Dt(Math.abs(e))}getLabel(e){let{label:t}=this.#e;if(n(t)){let n=t(e);if(n)return n}else if(t)return t;return Ot[this.#e.type]}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-valuetext":e.phrase}}getState(){let e=this.#n();return{type:this.#e.type,seconds:e,negative:this.#e.type===`remaining`&&e<0,text:this.#r(),phrase:this.#i(),datetime:this.#a()}}};const kt={type:`data-type`};var K=class e extends W{static defaultProps={...W.defaultProps,label:`Seek`,changeThrottle:100};#e={...e.defaultProps};#t=null;constructor(e){super(),e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps),super.setProps({...t,min:0})}setMedia(e){this.#t=e}getState(){let{duration:e,currentTime:t,seeking:n,buffered:r}=this.#t;super.setProps({...this.#e,min:0,max:e});let i=super.getSliderState(t),a=r.length>0?r[r.length-1][1]:0,o=e>0?a/e*100:0;return{...i,currentTime:t,duration:e,seeking:n,bufferPercent:o}}getLabel(e){return super.getLabel(e)||`Seek`}getAttrs(e){let t=super.getAttrs(e),n=e.dragging?this.rawValueFromPercent(e.pointerPercent):e.value,r=Et(n),i=Et(e.duration),a=i?`${r} of ${i}`:r;return{...t,"aria-valuenow":n,"aria-valuetext":a}}};const At={...vt,seeking:`data-seeking`};var q=class e{static defaultProps={side:`top`,align:`center`,open:!1,defaultOpen:!1,delay:600,closeDelay:0,disableHoverablePopup:!0,disabled:!1};#e={...e.defaultProps};constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}#t=null;setInput(e){this.#t=e}getState(){let e=this.#t;return{open:e.active,status:e.status,side:this.#e.side,align:this.#e.align,...H(e.status)}}getPopupAttrs(e){return{popover:`manual`,role:`presentation`}}};const jt={sideOffset:`--media-tooltip-side-offset`,alignOffset:`--media-tooltip-align-offset`,anchorWidth:`--media-tooltip-anchor-width`,anchorHeight:`--media-tooltip-anchor-height`,availableWidth:`--media-tooltip-available-width`,availableHeight:`--media-tooltip-available-height`},Mt={open:`data-open`,side:`data-side`,align:`data-align`,transitionStarting:`data-starting-style`,transitionEnding:`data-ending-style`};var J=class e{static defaultProps={delay:600,closeDelay:0,timeout:400};#e={...e.defaultProps};#t=0;#n=!1;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=k(t,e.defaultProps)}get delay(){return this.#e.delay}get closeDelay(){return this.#e.closeDelay}shouldSkipDelay(){return this.#n?!0:Date.now()-this.#t<this.#e.timeout}notifyOpen(){this.#n=!0}notifyClose(){this.#n=!1,this.#t=Date.now()}},Y=class e extends W{static defaultProps={...W.defaultProps,label:`Volume`,wheelStep:5};#e=null;constructor(e){super(),e&&this.setProps(e)}setProps(t){super.setProps(k(t,e.defaultProps))}setMedia(e){this.#e=e}getState(){let e=this.#e,{volume:t,muted:n}=e,r=n||t===0,{dragging:i,dragPercent:a}=this.input,o=t*100,s=i?this.valueFromPercent(a):o,c=super.getSliderState(s);return{...c,fillPercent:r?0:c.fillPercent,volume:t,muted:r,availability:e.volumeAvailability}}getWheelStepPercent(){let e=this.props,t=e.max-e.min;return t>0?e.wheelStep/t*100:0}getLabel(e){return super.getLabel(e)||`Volume`}getAttrs(e){let t=super.getAttrs(e),n=`${Math.round(e.value)} percent${e.muted?`, muted`:``}`;return{...t,"aria-valuetext":n}}};const Nt={...vt,availability:`data-availability`};var Pt=class{#e;#t;constructor(e,t){this.#e=t,this.#t=new b(e,{context:ie,subscribe:!0}),e.addController(this)}get value(){let e=this.#t.value?.container;if(e)return Ne(e)?.getAriaKeys(this.#e)}hostConnected(){}hostDisconnected(){}},X=class extends s{constructor(...e){super(...e),this.disabled=!1,this.label=``,this.hotkeyAction=void 0}static{this.properties={label:{type:String},disabled:{type:Boolean}}}get $state(){return this.core.state}#e=null;#t=null;connectedCallback(){if(super.connectedCallback(),this.destroyed)return;this.hotkeyAction&&!this.#t&&(this.#t=new Pt(this,this.hotkeyAction)),this.#e=new AbortController;let e=Re({onActivate:()=>this.activate(this.mediaState.value),isDisabled:()=>this.disabled||!this.mediaState.value});B(this,e,{signal:this.#e.signal})}disconnectedCallback(){super.disconnectedCallback(),this.#e?.abort(),this.#e=null}getLabel(){return this.core.state.current.label||void 0}willUpdate(e){super.willUpdate(e),this.core.setProps?.(this)}update(e){super.update(e);let t=this.mediaState.value;if(!t)return;this.core.setMedia(t);let n=this.core.getState();B(this,{...this.core.getAttrs?.(n),"aria-keyshortcuts":this.#t?.value}),V(this,n,this.stateAttrMap)}},Z=class extends s{update(e){super.update(e);let t=this.consumer.value;t&&V(this,t.state,t.stateAttrMap)}};const Q=S(Symbol(`@videojs/alert-dialog`));var Ft=class extends s{constructor(...e){super(...e),this.disabled=!1}static{this.tagName=`media-alert-dialog-close`}static{this.properties={disabled:{type:Boolean}}}#e=new b(this,{context:Q,subscribe:!0});#t=null;connectedCallback(){super.connectedCallback(),this.#t=new AbortController;let e=Re({onActivate:()=>this.#e.value?.close(),isDisabled:()=>this.disabled});B(this,e,{signal:this.#t.signal})}disconnectedCallback(){super.disconnectedCallback(),this.#t?.abort(),this.#t=null}update(e){super.update(e);let t=this.#e.value;t&&V(this,t.state,t.stateAttrMap)}},It=class extends Z{constructor(...e){super(...e),this.consumer=new b(this,{context:Q,subscribe:!0})}static{this.tagName=`media-alert-dialog-description`}update(e){super.update(e);let t=this.consumer.value?.state.descriptionId;t&&(this.id=t)}},Lt=class extends Z{constructor(...e){super(...e),this.consumer=new b(this,{context:Q,subscribe:!0})}static{this.tagName=`media-alert-dialog-title`}update(e){super.update(e);let t=this.consumer.value?.state.titleId;t&&(this.id=t)}};let Rt=0;C(class extends s{static{this.tagName=`media-error-dialog`}#e=new st;#t=new _(this,{context:Q});#n=`vjs-error-dialog-title-${Rt++}`;#r=`vjs-error-dialog-desc-${Rt++}`;#i=new g(this,w,_e);#a=null;#o=null;#s=null;constructor(){super(),this.#e.setTitleId(this.#n),this.#e.setDescriptionId(this.#r)}connectedCallback(){super.connectedCallback(),!this.destroyed&&(this.#a=Le({transition:z(),onOpenChange:e=>{e||this.#i.value?.dismissError()}}),this.#a.setElement(this),this.#o?this.#o.track(this.#a.input):this.#o=new y(this,this.#a.input))}disconnectedCallback(){super.disconnectedCallback(),this.#a?.destroy(),this.#a=null}willUpdate(e){if(super.willUpdate(e),!this.#a)return;let t=this.#i.value,n=!!t?.error,{active:r}=this.#a.input.current;t?.error&&(this.#s=t.error.message?.trim()||null);let i=this.querySelector(`media-alert-dialog-description`);i&&(i.textContent=this.#s??`An error occurred. Please try again.`),n&&!r?this.#a.open():!n&&r&&this.#a.close()}update(e){if(super.update(e),!this.#a)return;let t=this.#a.input.current;this.#e.setInput(t);let n=this.#e.getState();B(this,this.#e.getAttrs(n)),V(this,n,ot),this.#t.setValue({state:n,stateAttrMap:ot,close:()=>this.#a?.close()})}}),C(Ft),C(It),C(Lt),C(class extends X{constructor(...e){super(...e),this.core=new ct,this.stateAttrMap=ut,this.mediaState=new g(this,w,M),this.hotkeyAction=`toggleMuted`}static{this.tagName=`media-mute-button`}activate(e){this.core.toggle(e)}}),C(class extends X{constructor(...e){super(...e),this.core=new dt,this.stateAttrMap=ft,this.mediaState=new g(this,w,be),this.hotkeyAction=`togglePaused`}static{this.tagName=`media-play-button`}activate(e){this.core.toggle(e)}}),C(class extends X{constructor(...e){super(...e),this.core=new pt,this.stateAttrMap=mt,this.mediaState=new g(this,w,xe)}static{this.tagName=`media-playback-rate-button`}activate(e){this.core.cycle(e)}});var zt=class{#e;#t=null;#n=0;#r=null;#i=null;constructor(e){this.#e=e,e.addController(this)}findTrigger(){return this.#e.id?this.#e.getRootNode().querySelector(`[commandfor="${this.#e.id}"]`):null}sync(e){if(T()||!e||this.#t&&this.#i===e)return;this.cleanup(),this.#t=new AbortController,this.#i=e;let{signal:t}=this.#t,n=()=>{cancelAnimationFrame(this.#n),this.#n=requestAnimationFrame(()=>{t.aborted||this.#e.requestUpdate()})};window.addEventListener(`scroll`,n,{capture:!0,passive:!0,signal:t}),window.addEventListener(`resize`,n,{signal:t}),typeof ResizeObserver==`function`&&(this.#r=new ResizeObserver(()=>{n()}),this.#r.observe(e),this.#r.observe(this.#e)),n()}cleanup(){this.#t?.abort(),this.#t=null,this.#i=null,cancelAnimationFrame(this.#n),this.#n=0,this.#r?.disconnect(),this.#r=null}hostDisconnected(){this.cleanup()}hostDestroyed(){this.cleanup()}};C(class extends s{constructor(...e){super(...e),this.open=U.defaultProps.open,this.defaultOpen=U.defaultProps.defaultOpen,this.side=U.defaultProps.side,this.align=U.defaultProps.align,this.modal=U.defaultProps.modal,this.closeOnEscape=U.defaultProps.closeOnEscape,this.closeOnOutsideClick=U.defaultProps.closeOnOutsideClick,this.openOnHover=U.defaultProps.openOnHover,this.delay=U.defaultProps.delay,this.closeDelay=U.defaultProps.closeDelay}static{this.tagName=`media-popover`}static{this.properties={open:{type:Boolean},defaultOpen:{type:Boolean,attribute:`default-open`},side:{type:String},align:{type:String},modal:{type:Boolean},closeOnEscape:{type:Boolean,attribute:`close-on-escape`},closeOnOutsideClick:{type:Boolean,attribute:`close-on-outside-click`},openOnHover:{type:Boolean,attribute:`open-on-hover`},delay:{type:Number},closeDelay:{type:Number,attribute:`close-delay`}}}#e=new U;#t=new zt(this);#n=null;#r=null;#i=null;#a=null;#o=null;connectedCallback(){super.connectedCallback(),!this.destroyed&&(this.#i=new AbortController,this.#n=ze({transition:z(),onOpenChange:(e,t)=>{this.open=e,this.dispatchEvent(new CustomEvent(`open-change`,{detail:{open:e,...t}}))},closeOnEscape:()=>this.closeOnEscape,closeOnOutsideClick:()=>this.closeOnOutsideClick,openOnHover:()=>this.openOnHover,delay:()=>this.delay,closeDelay:()=>this.closeDelay}),this.#n.setPopupElement(this),B(this,this.#n.popupProps,{signal:this.#i.signal}),this.#r?this.#r.track(this.#n.input):this.#r=new y(this,this.#n.input))}firstUpdated(e){super.firstUpdated(e),this.defaultOpen&&!this.open&&this.#n?.open()}disconnectedCallback(){super.disconnectedCallback(),this.#i?.abort(),this.#i=null}destroyCallback(){this.#c(),this.#n?.destroy(),super.destroyCallback()}willUpdate(e){if(super.willUpdate(e),this.#e.setProps(this),this.#n&&e.has(`open`)){let{active:e}=this.#n.input.current;this.open!==e&&(this.open?this.#n.open():this.#n.close())}}update(e){if(super.update(e),!this.#n)return;let t=this.#t.findTrigger();this.#s(t);let n=this.#n.input.current;this.#e.setInput(n);let r=this.#e.getState();if(B(this,this.#e.getPopupAttrs(r)),V(this,r,ht),r.open?E(this):D(this),this.#o&&(B(this.#o,this.#e.getTriggerAttrs(r,this.id)),O(this.#o,Ve(this.id))),!r.open){this.#t.cleanup();return}let i={side:r.side,align:r.align};if(T())O(this,F(this.id,i));else{let e=this.#o?.getBoundingClientRect(),t=Ke(this),n=document.documentElement.getBoundingClientRect(),r=Ge(this);O(this,F(this.id,i,e,t,n,r))}this.#t.sync(this.#o)}#s(e){e!==this.#o&&(this.#t.cleanup(),this.#c(),this.#o=e,this.#n?.setTriggerElement(e),e&&this.#n&&(this.#a=new AbortController,B(e,this.#n.triggerProps,{signal:this.#a.signal})))}#c(){this.#o&&(B(this.#o,{"aria-expanded":void 0,"aria-haspopup":void 0,"aria-controls":void 0}),this.#o.style.removeProperty(`anchor-name`)),this.#a?.abort(),this.#a=null,this.#o=null}}),C(class extends X{constructor(...e){super(...e),this.seconds=gt.defaultProps.seconds,this.core=new gt,this.stateAttrMap=_t,this.mediaState=new g(this,w,j)}static{this.tagName=`media-seek-button`}static{this.properties={...X.properties,seconds:{type:Number}}}activate(e){this.core.seek(e)}});var Bt=class extends s{constructor(...e){super(...e),this.type=G.defaultProps.type,this.negativeSign=G.defaultProps.negativeSign,this.label=G.defaultProps.label}static{this.tagName=`media-time`}static{this.properties={type:{type:String},negativeSign:{type:String,attribute:`negative-sign`},label:{type:String}}}#e=new G;#t=new g(this,w,j);#n=document.createElement(`span`);#r=document.createTextNode(``);connectedCallback(){super.connectedCallback(),this.#n.parentNode||(this.#n.setAttribute(`aria-hidden`,`true`),this.#n.hidden=!0,this.appendChild(this.#n),this.appendChild(this.#r))}willUpdate(e){super.willUpdate(e),this.#e.setProps(this)}update(e){super.update(e);let t=this.#t.value;if(!t)return;this.#e.setMedia(t);let n=this.#e.getState();this.#n.hidden=!n.negative,this.#n.textContent=n.negative?this.negativeSign:``,this.#r.textContent=n.text,B(this,this.#e.getAttrs(n)),V(this,n,kt)}},Vt=class extends s{static{this.tagName=`media-time-group`}},Ht=class extends s{static{this.tagName=`media-time-separator`}connectedCallback(){super.connectedCallback(),this.setAttribute(`aria-hidden`,`true`),this.textContent?.trim()||(this.textContent=`/`)}};C(Bt),C(Vt),C(Ht);const $=S(Symbol(`@videojs/slider`));var Ut=class extends Z{constructor(...e){super(...e),this.consumer=new b(this,{context:$,subscribe:!0})}static{this.tagName=`media-slider-buffer`}},Wt=class extends Z{constructor(...e){super(...e),this.consumer=new b(this,{context:$,subscribe:!0})}static{this.tagName=`media-slider-fill`}},Gt=class extends s{constructor(...e){super(...e),this.overflow=`clamp`}static{this.tagName=`media-slider-preview`}static{this.properties={overflow:{type:String}}}#e=new b(this,{context:$,subscribe:!0});#t=null;#n=0;connectedCallback(){super.connectedCallback(),this.#t=new ResizeObserver(([e])=>{this.#n=e.contentRect.width,this.#r()}),this.#t.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.#t?.disconnect(),this.#t=null}#r(){O(this,Ze(this.#n,this.overflow))}update(e){super.update(e);let t=this.#e.value;t&&V(this,t.state,t.stateAttrMap),this.#r()}},Kt=class extends s{static{this.tagName=`media-slider-thumb`}#e=new b(this,{context:$,subscribe:!0});#t=null;#n=!1;connectedCallback(){super.connectedCallback(),this.#t=new AbortController,this.#n=!1}disconnectedCallback(){super.disconnectedCallback(),this.#t?.abort(),this.#t=null,this.#n=!1}update(e){super.update(e);let t=this.#e.value;t&&(!this.#n&&this.#t&&(B(this,t.thumbProps,{signal:this.#t.signal}),this.#n=!0),B(this,t.thumbAttrs),V(this,t.state,t.stateAttrMap))}},qt=class extends s{static{this.tagName=`media-thumbnail`}static{this.properties={time:{type:Number},crossOrigin:{type:String,attribute:`crossorigin`},loading:{type:String},fetchPriority:{type:String,attribute:`fetchpriority`}}}#e=new Qe;#t=document.createElement(`img`);#n=new g(this,w,Se);#r=[];#i;#a;#o=null;constructor(){super(),this.time=0;let e=this.attachShadow({mode:`open`}),t=document.createElement(`style`);t.textContent=`:host {
|
|
2
|
-
display: inline-block;
|
|
3
|
-
overflow: hidden;
|
|
4
|
-
}
|
|
5
|
-
img {
|
|
6
|
-
display: block;
|
|
7
|
-
}`,e.appendChild(t),this.#t.alt=``,this.#t.setAttribute(`part`,`img`),this.#t.setAttribute(`aria-hidden`,`true`),this.#t.setAttribute(`decoding`,`async`),e.appendChild(this.#t)}get thumbnails(){return this.#i}set thumbnails(e){this.#i=e,this.requestUpdate()}connectedCallback(){super.connectedCallback(),!this.destroyed&&(this.#o=$e({getContainer:()=>this,getImg:()=>this.#t,onStateChange:()=>this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback()}destroyCallback(){this.#o?.destroy(),super.destroyCallback()}update(e){if(super.update(e),this.#i)this.#r=this.#i;else{let e=this.#n.value;e!==this.#a&&(this.#a=e,this.#r=e&&e.thumbnailCues.length>0?xt(e.thumbnailCues,e.thumbnailTrackSrc??void 0):[])}let t=this.#e.findActiveThumbnail(this.#r,this.time);if(B(this.#t,{crossorigin:this.crossOrigin||void 0,loading:this.loading,fetchpriority:this.fetchPriority}),this.#o?.updateSrc(t?.url),!t){this.#t.removeAttribute(`src`),this.#c();let e=this.#e.getState(!1,!1,void 0);B(this,this.#e.getAttrs(e)),V(this,e,yt);return}this.#t.getAttribute(`src`)!==t.url&&(this.#t.src=t.url);let n=this.#o,r=this.#e.getState(n?.loading??!1,n?.error??!1,t);if(B(this,this.#e.getAttrs(r)),V(this,r,yt),n?.naturalWidth&&n.naturalHeight){let e=n.readConstraints(),r=this.#e.resize(t,n.naturalWidth,n.naturalHeight,e);r&&this.#s(r)}}#s(e){this.style.width=`${e.containerWidth}px`,this.style.height=`${e.containerHeight}px`;let t=this.#t.style;t.width=`${e.imageWidth}px`,t.height=`${e.imageHeight}px`,t.maxWidth=`none`,t.transform=e.offsetX||e.offsetY?`translate(-${e.offsetX}px, -${e.offsetY}px)`:``}#c(){this.style.width=``,this.style.height=``;let e=this.#t.style;e.width=``,e.height=``,e.maxWidth=``,e.transform=``}},Jt=class extends qt{static{this.tagName=`media-slider-thumbnail`}#e=new b(this,{context:$,subscribe:!0});update(e){let t=this.#e.value;t&&(this.time=t.pointerValue),super.update(e)}},Yt=class extends Z{constructor(...e){super(...e),this.consumer=new b(this,{context:$,subscribe:!0})}static{this.tagName=`media-slider-track`}},Xt=class extends s{constructor(...e){super(...e),this.type=`current`}static{this.tagName=`media-slider-value`}static{this.properties={type:{type:String}}}#e=new b(this,{context:$,subscribe:!0});connectedCallback(){super.connectedCallback(),this.setAttribute(`aria-live`,`off`)}update(e){super.update(e);let t=this.#e.value;if(!t)return;let n=this.type===`pointer`?t.pointerValue:t.state.value;this.textContent=t.formatValue?t.formatValue(n,this.type):String(Math.round(n)),V(this,t.state,t.stateAttrMap)}};C(class extends s{constructor(...e){super(...e),this.label=K.defaultProps.label,this.changeThrottle=K.defaultProps.changeThrottle,this.step=K.defaultProps.step,this.largeStep=K.defaultProps.largeStep,this.orientation=K.defaultProps.orientation,this.disabled=K.defaultProps.disabled,this.thumbAlignment=K.defaultProps.thumbAlignment}static{this.tagName=`media-time-slider`}static{this.properties={label:{type:String},changeThrottle:{type:Number,attribute:`change-throttle`},step:{type:Number},largeStep:{type:Number,attribute:`large-step`},orientation:{type:String},disabled:{type:Boolean},thumbAlignment:{type:String,attribute:`thumb-alignment`}}}#e=new K;#t=new _(this,{context:$});#n=new g(this,w,j);#r=new g(this,w,he);#i=null;#a=null;connectedCallback(){if(super.connectedCallback(),this.destroyed)return;this.#a=new AbortController;let e=this.#a.signal;this.#i=Je({getElement:()=>this,getThumbElement:()=>this.querySelector(`media-slider-thumb`),getOrientation:()=>this.orientation,isRTL:()=>ae(this),isDisabled:()=>this.disabled||!this.#n.value,getPercent:()=>{let e=this.#n.value;return e?this.#e.percentFromValue(e.currentTime):0},getStepPercent:()=>this.#e.getStepPercent(),getLargeStepPercent:()=>this.#e.getLargeStepPercent(),onValueCommit:e=>{let t=this.#n.value;t&&t.seek(this.#e.rawValueFromPercent(e))},changeThrottle:this.changeThrottle,onDragStart:()=>{this.dispatchEvent(new CustomEvent(`drag-start`,{bubbles:!0}))},onDragEnd:()=>{this.dispatchEvent(new CustomEvent(`drag-end`,{bubbles:!0}))},adjustPercent:(e,t,n)=>this.#e.adjustPercentForAlignment(e,t,n),onResize:()=>this.requestUpdate()}),B(this,this.#i.rootProps,{signal:e}),O(this,this.#i.rootStyle),this.#i.input.subscribe(()=>this.requestUpdate(),{signal:e})}disconnectedCallback(){super.disconnectedCallback(),this.#a?.abort(),this.#a=null}destroyCallback(){this.#i?.destroy(),super.destroyCallback()}willUpdate(e){super.willUpdate(e),this.#e.setProps(this)}update(e){if(super.update(e),!this.#i)return;let t=this.#n.value,n=this.#r.value;if(!t)return;this.#e.setInput(this.#i.input.current);let r={...t,...n??{buffered:[],seekable:[]}};this.#e.setMedia(r);let i=this.#e.getState(),a=Xe(this.#i.adjustForAlignment(i));O(this,a),V(this,i,At),this.#t.setValue({state:i,stateAttrMap:At,pointerValue:this.#e.valueFromPercent(i.pointerPercent),thumbAttrs:this.#e.getAttrs(i),thumbProps:this.#i.thumbProps,formatValue:e=>Tt(e,i.duration)})}}),C(Ut),C(Wt),C(Gt),C(Kt),C(Jt),C(Yt),C(Xt);const Zt=S(Symbol(`@videojs/tooltip-group`));function Qt(e){return`$state`in e}C(class extends s{constructor(...e){super(...e),this.open=q.defaultProps.open,this.defaultOpen=q.defaultProps.defaultOpen,this.side=q.defaultProps.side,this.align=q.defaultProps.align,this.delay=q.defaultProps.delay,this.closeDelay=q.defaultProps.closeDelay,this.disableHoverablePopup=q.defaultProps.disableHoverablePopup,this.disabled=q.defaultProps.disabled}static{this.tagName=`media-tooltip`}static{this.properties={open:{type:Boolean},defaultOpen:{type:Boolean,attribute:`default-open`},side:{type:String},align:{type:String},delay:{type:Number},closeDelay:{type:Number,attribute:`close-delay`},disableHoverablePopup:{type:Boolean,attribute:`disable-hoverable-popup`},disabled:{type:Boolean}}}#e=new q;#t=new b(this,{context:Zt});#n=new zt(this);#r=null;#i=null;#a=null;#o=null;#s=null;connectedCallback(){super.connectedCallback(),!this.destroyed&&(this.#a=new AbortController,this.#r=tt({transition:z(),onOpenChange:(e,t)=>{this.open=e,this.dispatchEvent(new CustomEvent(`open-change`,{detail:{open:e,...t}}))},delay:()=>this.delay,closeDelay:()=>this.closeDelay,disableHoverablePopup:()=>this.disableHoverablePopup,disabled:()=>this.disabled,group:()=>this.#t.value}),this.#r.setPopupElement(this),B(this,this.#r.popupProps,{signal:this.#a.signal}),this.#i?this.#i.track(this.#r.input):this.#i=new y(this,this.#r.input))}firstUpdated(e){super.firstUpdated(e),this.defaultOpen&&!this.open&&this.#r?.open()}disconnectedCallback(){super.disconnectedCallback(),this.#u(),this.#r?.destroy(),this.#r=null,this.#a?.abort(),this.#a=null}willUpdate(e){if(super.willUpdate(e),this.#e.setProps(this),this.#r&&e.has(`open`)){let{active:e}=this.#r.input.current;this.open!==e&&(this.open?this.#r.open():this.#r.close())}}update(e){if(super.update(e),!this.#r)return;let t=this.#n.findTrigger();this.#c(t);let n=this.#r.input.current;this.#e.setInput(n);let r=this.#e.getState();if(B(this,this.#e.getPopupAttrs(r)),V(this,r,Mt),r.open?E(this):D(this),this.#s&&O(this.#s,Ve(this.id)),!r.open){this.#n.cleanup();return}let i={side:r.side,align:r.align};if(T())O(this,F(this.id,i,void 0,void 0,void 0,void 0,jt));else{let e=this.#s?.getBoundingClientRect(),t=Ke(this),n=document.documentElement.getBoundingClientRect(),r=Ge(this,jt);O(this,F(this.id,i,e,t,n,r,jt))}this.#n.sync(this.#s)}#c(e){e!==this.#s&&(this.#n.cleanup(),this.#u(),this.#s=e,this.#r?.setTriggerElement(e),e&&this.#r&&(this.#o=new AbortController,B(e,this.#r.triggerProps,{signal:this.#o.signal}),Qt(e)&&(this.#l(e),e.$state.subscribe(()=>this.#l(e),{signal:this.#o.signal}))))}#l(e){this.textContent=e.getLabel()??``}#u(){this.#s&&this.#s.style.removeProperty(`anchor-name`),this.#o?.abort(),this.#o=null,this.#s=null}}),C(class extends s{constructor(...e){super(...e),this.delay=J.defaultProps.delay,this.closeDelay=J.defaultProps.closeDelay,this.timeout=J.defaultProps.timeout}static{this.tagName=`media-tooltip-group`}static{this.properties={delay:{type:Number},closeDelay:{type:Number,attribute:`close-delay`},timeout:{type:Number}}}#e=new J;#t=new _(this,{context:Zt,initialValue:this.#e});update(e){super.update(e),this.#e.setProps(this),this.#t.setValue(this.#e)}}),C(class extends s{constructor(...e){super(...e),this.label=Y.defaultProps.label,this.step=Y.defaultProps.step,this.largeStep=Y.defaultProps.largeStep,this.wheelStep=Y.defaultProps.wheelStep,this.orientation=Y.defaultProps.orientation,this.disabled=Y.defaultProps.disabled,this.thumbAlignment=Y.defaultProps.thumbAlignment}static{this.tagName=`media-volume-slider`}static{this.properties={label:{type:String},step:{type:Number},largeStep:{type:Number,attribute:`large-step`},wheelStep:{type:Number,attribute:`wheel-step`},orientation:{type:String},disabled:{type:Boolean},thumbAlignment:{type:String,attribute:`thumb-alignment`}}}#e=new Y;#t=new _(this,{context:$});#n=new g(this,w,M);#r=null;#i=null;connectedCallback(){if(super.connectedCallback(),this.destroyed)return;this.#i=new AbortController;let e=this.#i.signal,t=()=>this.disabled||!this.#n.value,n=()=>(this.#n.value?.volume??0)*100,r=()=>this.#e.getStepPercent(),i=e=>this.#a(e);this.#r=Je({getElement:()=>this,getThumbElement:()=>this.querySelector(`media-slider-thumb`),getOrientation:()=>this.orientation,isRTL:()=>ae(this),isDisabled:t,getPercent:n,getStepPercent:r,getLargeStepPercent:()=>this.#e.getLargeStepPercent(),onValueChange:i,onValueCommit:i,onDragStart:()=>{this.dispatchEvent(new CustomEvent(`drag-start`,{bubbles:!0}))},onDragEnd:()=>{this.dispatchEvent(new CustomEvent(`drag-end`,{bubbles:!0}))},adjustPercent:(e,t,n)=>this.#e.adjustPercentForAlignment(e,t,n),onResize:()=>this.requestUpdate()});let a=rt({isDisabled:t,getPercent:n,getStepPercent:()=>this.#e.getWheelStepPercent(),onValueChange:i});B(this,this.#r.rootProps,{signal:e}),B(this,a,{signal:e}),O(this,this.#r.rootStyle),this.#r.input.subscribe(()=>this.requestUpdate(),{signal:e})}disconnectedCallback(){super.disconnectedCallback(),this.#i?.abort(),this.#i=null}destroyCallback(){this.#r?.destroy(),super.destroyCallback()}willUpdate(e){super.willUpdate(e),this.#e.setProps(this)}update(e){if(super.update(e),!this.#r)return;let t=this.#n.value;if(!t)return;this.#e.setInput(this.#r.input.current),this.#e.setMedia(t);let n=this.#e.getState(),r=Ye(this.#r.adjustForAlignment(n));O(this,r),V(this,n,Nt),this.#t.setValue({state:n,stateAttrMap:Nt,pointerValue:this.#e.valueFromPercent(n.pointerPercent),thumbAttrs:this.#e.getAttrs(n),thumbProps:this.#r.thumbProps,formatValue:e=>`${Math.round(e)}%`})}#a(e){this.#n.value?.setVolume(this.#e.valueFromPercent(e)/100)}}),C(Wt),C(Gt),C(Kt),C(Yt),C(Xt);export{ge as a,be as c,j as d,M as f,Fe as i,xe as l,X as n,ve as o,k as p,V as r,ye as s,Z as t,Se as u};
|
|
8
|
-
//# sourceMappingURL=volume-slider-BbIc1N4U.js.map
|