@videojs/html 10.0.0-beta.17 → 10.0.0-beta.21
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-DGNIECLn.js → abort-C9UiBdVU.js} +1 -1
- package/cdn/{abort-DGNIECLn.js.map → abort-C9UiBdVU.js.map} +1 -1
- package/cdn/{abort-BL-SGV3o.js → abort-DsTff8mS.js} +1 -1
- package/cdn/{abort-BL-SGV3o.js.map → abort-DsTff8mS.js.map} +1 -1
- package/cdn/audio-minimal-ui.dev.js +4 -4
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +7 -7
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-ui.dev.js +4 -4
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +6 -6
- package/cdn/audio.js +1 -1
- package/cdn/background.dev.js +4 -12
- package/cdn/background.dev.js.map +1 -1
- package/cdn/background.js +1 -1
- package/cdn/background.js.map +1 -1
- package/cdn/{compounds-VFPcCeRV.js → compounds-CM_NP-ej.js} +7 -35
- package/cdn/compounds-CM_NP-ej.js.map +1 -0
- package/cdn/compounds-Vvz-YfXP.js +8 -0
- package/cdn/{compounds-Df_1JbZD.js.map → compounds-Vvz-YfXP.js.map} +1 -1
- package/cdn/{context-CvJ83xGk.js → context-0rI_P6jf.js} +1 -1
- package/cdn/{context-CvJ83xGk.js.map → context-0rI_P6jf.js.map} +1 -1
- package/cdn/{context-C-IpVHEt.js → context-CEFisYD0.js} +1 -1
- package/cdn/{context-C-IpVHEt.js.map → context-CEFisYD0.js.map} +1 -1
- package/cdn/{create-player-CyG77t-m.js → create-player-Bi6WUwDZ.js} +140 -99
- package/cdn/create-player-Bi6WUwDZ.js.map +1 -0
- package/cdn/create-player-CKuX8YI5.js +7 -0
- package/cdn/create-player-CKuX8YI5.js.map +1 -0
- package/cdn/{hls-BrzPpueW.js → hls-BotloEPN.js} +25 -22
- package/cdn/hls-BotloEPN.js.map +1 -0
- package/cdn/hls-CBpGTZXU.js +41 -0
- package/cdn/hls-CBpGTZXU.js.map +1 -0
- package/cdn/{hotkey-element-Dlta37Be.js → hotkey-element-317kwVH5.js} +5 -5
- package/cdn/{hotkey-element-Dlta37Be.js.map → hotkey-element-317kwVH5.js.map} +1 -1
- package/cdn/{hotkey-element-DR3ZAqKa.js → hotkey-element-DRGCbVj9.js} +2 -2
- package/cdn/{hotkey-element-DR3ZAqKa.js.map → hotkey-element-DRGCbVj9.js.map} +1 -1
- package/cdn/{listen-w-Aun0yN.js → listen-CJT7C4kM.js} +1 -1
- package/cdn/{listen-w-Aun0yN.js.map → listen-CJT7C4kM.js.map} +1 -1
- package/cdn/{listen-D7fcau5d.js → listen-DFX-0NbX.js} +1 -1
- package/cdn/{listen-D7fcau5d.js.map → listen-DFX-0NbX.js.map} +1 -1
- package/cdn/media/dash-video.dev.js +16 -22
- package/cdn/media/dash-video.dev.js.map +1 -1
- package/cdn/media/dash-video.js +3 -3
- package/cdn/media/dash-video.js.map +1 -1
- package/cdn/media/hls-video.dev.js +12 -12
- package/cdn/media/hls-video.dev.js.map +1 -1
- package/cdn/media/hls-video.js +1 -1
- package/cdn/media/hls-video.js.map +1 -1
- package/cdn/media/mux-audio.dev.js +13 -13
- package/cdn/media/mux-audio.dev.js.map +1 -1
- package/cdn/media/mux-audio.js +1 -1
- package/cdn/media/mux-audio.js.map +1 -1
- package/cdn/media/mux-video.dev.js +13 -13
- package/cdn/media/mux-video.dev.js.map +1 -1
- package/cdn/media/mux-video.js +1 -1
- package/cdn/media/mux-video.js.map +1 -1
- package/cdn/media/native-hls-video.dev.js +5 -14
- package/cdn/media/native-hls-video.dev.js.map +1 -1
- package/cdn/media/native-hls-video.js +1 -1
- package/cdn/media/native-hls-video.js.map +1 -1
- package/cdn/media/simple-hls-video.dev.js +83 -85
- package/cdn/media/simple-hls-video.dev.js.map +1 -1
- package/cdn/media/simple-hls-video.js +7 -7
- package/cdn/media/simple-hls-video.js.map +1 -1
- package/cdn/media-attach-mixin-C2wz0Qbd.js +2 -0
- package/cdn/media-attach-mixin-C2wz0Qbd.js.map +1 -0
- package/cdn/{media-attach-mixin-CMH1ziXP.js → media-attach-mixin-CYoNe7Sh.js} +26 -3
- package/cdn/media-attach-mixin-CYoNe7Sh.js.map +1 -0
- package/cdn/{minimal-D9Dw-L2P.js → minimal-BnDnlwbj.js} +1 -1
- package/cdn/{minimal-D9Dw-L2P.js.map → minimal-BnDnlwbj.js.map} +1 -1
- package/cdn/{minimal-Dc5nNl_-.js → minimal-CqBxBoLe.js} +1 -1
- package/cdn/{minimal-Dc5nNl_-.js.map → minimal-CqBxBoLe.js.map} +1 -1
- package/cdn/minimal-ui-C_G24FML.js +2 -0
- package/cdn/{minimal-ui-B3BBK5nX.js.map → minimal-ui-C_G24FML.js.map} +1 -1
- package/cdn/minimal-ui-CroDYUGf.js +2 -0
- package/cdn/{minimal-ui-DOePmQfq.js.map → minimal-ui-CroDYUGf.js.map} +1 -1
- package/cdn/{minimal-ui-Cnaig4X6.js → minimal-ui-DhxN21v5.js} +5 -5
- package/cdn/{minimal-ui-Cnaig4X6.js.map → minimal-ui-DhxN21v5.js.map} +1 -1
- package/cdn/{minimal-ui-CPRSYky_.js → minimal-ui-cy2oEbFm.js} +5 -5
- package/cdn/{minimal-ui-CPRSYky_.js.map → minimal-ui-cy2oEbFm.js.map} +1 -1
- package/cdn/{mux-DGgCyz_A.js → mux-B5K6kOzg.js} +115 -145
- package/cdn/mux-B5K6kOzg.js.map +1 -0
- package/cdn/mux-DJhfbcCw.js +25 -0
- package/cdn/mux-DJhfbcCw.js.map +1 -0
- package/cdn/{native-hls-BuCYu7Rd.js → native-hls-CU2F7L5C.js} +20 -22
- package/cdn/native-hls-CU2F7L5C.js.map +1 -0
- package/cdn/native-hls-DKcYYWRt.js +2 -0
- package/cdn/native-hls-DKcYYWRt.js.map +1 -0
- package/cdn/pick-CERGq1No.js +2 -0
- package/cdn/pick-CERGq1No.js.map +1 -0
- package/cdn/pick-D-wCJ3iA.js +23 -0
- package/cdn/pick-D-wCJ3iA.js.map +1 -0
- package/cdn/player-BK35-ndY.js +2 -0
- package/cdn/{player-Cu5_r0Gk.js.map → player-BK35-ndY.js.map} +1 -1
- package/cdn/{player-eEH-XjnF.js → player-C7ajkBi4.js} +2 -2
- package/cdn/{player-eEH-XjnF.js.map → player-C7ajkBi4.js.map} +1 -1
- package/cdn/{player-DIOgBqQf.js → player-CatrGW7l.js} +4 -4
- package/cdn/{player-DIOgBqQf.js.map → player-CatrGW7l.js.map} +1 -1
- package/cdn/{player-DxBoqZVw.js → player-xstFHOgW.js} +3 -3
- package/cdn/{player-DxBoqZVw.js.map → player-xstFHOgW.js.map} +1 -1
- package/cdn/{shadow-styles-62Yo__Ni.js → shadow-styles-BYZ6q3Q4.js} +1 -1
- package/cdn/{shadow-styles-62Yo__Ni.js.map → shadow-styles-BYZ6q3Q4.js.map} +1 -1
- package/cdn/{shadow-styles-I-_QR-PM.js → shadow-styles-DKXFMmyD.js} +1 -1
- package/cdn/{shadow-styles-I-_QR-PM.js.map → shadow-styles-DKXFMmyD.js.map} +1 -1
- package/cdn/{shallow-equal-Ca0qjpLJ.js → shallow-equal-Daj3-_LC.js} +1 -1
- package/cdn/{shallow-equal-Ca0qjpLJ.js.map → shallow-equal-Daj3-_LC.js.map} +1 -1
- package/cdn/{shallow-equal-1KBb-lrM.js → shallow-equal-xh6Wj-hj.js} +1 -1
- package/cdn/{shallow-equal-1KBb-lrM.js.map → shallow-equal-xh6Wj-hj.js.map} +1 -1
- package/cdn/{skin-element-u6pdmSSs.js → skin-element-BGP23sop.js} +2 -2
- package/cdn/{skin-element-u6pdmSSs.js.map → skin-element-BGP23sop.js.map} +1 -1
- package/cdn/{skin-element-BTPr5DoY.js → skin-element-CDUkmCtS.js} +3 -3
- package/cdn/{skin-element-BTPr5DoY.js.map → skin-element-CDUkmCtS.js.map} +1 -1
- package/cdn/{ui-34pkHFdT.js → ui-AFHQtrqa.js} +6 -6
- package/cdn/{ui-34pkHFdT.js.map → ui-AFHQtrqa.js.map} +1 -1
- package/cdn/ui-B7vt9mp-.js +2 -0
- package/cdn/{ui-DWoV_Da1.js.map → ui-B7vt9mp-.js.map} +1 -1
- package/cdn/{ui-X5WOdCCw.js → ui-Em9rF9Ah.js} +6 -6
- package/cdn/{ui-X5WOdCCw.js.map → ui-Em9rF9Ah.js.map} +1 -1
- package/cdn/ui-QHwo6iyo.js +2 -0
- package/cdn/{ui-DXtTKomo.js.map → ui-QHwo6iyo.js.map} +1 -1
- package/cdn/video-host-CPRJVRi3.js +47 -0
- package/cdn/video-host-CPRJVRi3.js.map +1 -0
- package/cdn/video-host-ycP7ckxU.js +410 -0
- package/cdn/video-host-ycP7ckxU.js.map +1 -0
- package/cdn/video-minimal-ui.dev.js +4 -4
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +7 -7
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-ui.dev.js +4 -4
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +6 -6
- package/cdn/video.js +1 -1
- package/dist/default/index.js +1 -2
- package/dist/default/media/dash-video/index.js +3 -12
- package/dist/default/media/dash-video/index.js.map +1 -1
- package/dist/default/media/hls-video/index.js +10 -10
- package/dist/default/media/hls-video/index.js.map +1 -1
- package/dist/default/media/mux-audio/index.js +10 -10
- package/dist/default/media/mux-audio/index.js.map +1 -1
- package/dist/default/media/mux-video/index.js +10 -10
- package/dist/default/media/mux-video/index.js.map +1 -1
- package/dist/default/media/native-hls-video/index.js +3 -12
- package/dist/default/media/native-hls-video/index.js.map +1 -1
- package/dist/default/media/simple-hls-video/index.js +3 -9
- package/dist/default/media/simple-hls-video/index.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -1
- package/dist/default/ui/captions-button/captions-button-element.js +1 -1
- package/dist/default/ui/controls/controls-element.js +1 -1
- package/dist/default/ui/error-dialog/error-dialog-element.js +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -1
- package/dist/default/ui/mute-button/mute-button-element.js +1 -1
- package/dist/default/ui/pip-button/pip-button-element.js +1 -1
- package/dist/default/ui/play-button/play-button-element.js +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -1
- package/dist/default/ui/popover/popover-element.js +1 -1
- package/dist/default/ui/poster/poster-element.js +1 -1
- package/dist/default/ui/seek-button/seek-button-element.js +1 -1
- package/dist/default/ui/slider/slider-element.js +1 -1
- package/dist/default/ui/thumbnail/thumbnail-element.js +1 -1
- package/dist/default/ui/time/time-element.js +1 -1
- package/dist/default/ui/time-slider/time-slider-element.js +1 -1
- package/dist/default/ui/tooltip/tooltip-element.js +1 -1
- package/dist/default/ui/tooltip/tooltip-group-element.js +1 -1
- package/dist/default/ui/volume-slider/volume-slider-element.js +1 -1
- package/dist/dev/index.d.ts +1 -2
- package/dist/dev/index.js +1 -2
- package/dist/dev/media/dash-video/index.d.ts +12 -6
- package/dist/dev/media/dash-video/index.d.ts.map +1 -1
- package/dist/dev/media/dash-video/index.js +3 -12
- package/dist/dev/media/dash-video/index.js.map +1 -1
- package/dist/dev/media/hls-video/index.d.ts +12 -4
- package/dist/dev/media/hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/hls-video/index.js +10 -10
- package/dist/dev/media/hls-video/index.js.map +1 -1
- package/dist/dev/media/mux-audio/index.d.ts +12 -4
- package/dist/dev/media/mux-audio/index.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/index.js +10 -10
- package/dist/dev/media/mux-audio/index.js.map +1 -1
- package/dist/dev/media/mux-video/index.d.ts +12 -4
- package/dist/dev/media/mux-video/index.d.ts.map +1 -1
- package/dist/dev/media/mux-video/index.js +10 -10
- package/dist/dev/media/mux-video/index.js.map +1 -1
- package/dist/dev/media/native-hls-video/index.d.ts +12 -6
- package/dist/dev/media/native-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/native-hls-video/index.js +3 -12
- package/dist/dev/media/native-hls-video/index.js.map +1 -1
- package/dist/dev/media/simple-hls-video/index.d.ts +12 -5
- package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/simple-hls-video/index.js +3 -9
- package/dist/dev/media/simple-hls-video/index.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.js +1 -1
- package/dist/dev/ui/context-part-element.d.ts +1 -1
- package/dist/dev/ui/controls/controls-element.js +1 -1
- package/dist/dev/ui/controls/controls-group-element.d.ts +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-element.js +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -1
- package/dist/dev/ui/media-button-element.d.ts +1 -1
- package/dist/dev/ui/media-ui-element.d.ts +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.js +1 -1
- 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/play-button/play-button-element.d.ts +1 -1
- package/dist/dev/ui/play-button/play-button-element.js +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -1
- package/dist/dev/ui/popover/popover-element.d.ts +1 -1
- package/dist/dev/ui/popover/popover-element.js +1 -1
- package/dist/dev/ui/poster/poster-element.d.ts +1 -1
- package/dist/dev/ui/poster/poster-element.js +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.d.ts +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.js +1 -1
- package/dist/dev/ui/slider/context.d.ts +1 -1
- package/dist/dev/ui/slider/slider-buffer-element.d.ts +1 -1
- package/dist/dev/ui/slider/slider-element.d.ts +1 -1
- package/dist/dev/ui/slider/slider-element.js +1 -1
- package/dist/dev/ui/slider/slider-fill-element.d.ts +1 -1
- package/dist/dev/ui/slider/slider-track-element.d.ts +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.d.ts +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -1
- package/dist/dev/ui/time/time-element.d.ts +1 -1
- package/dist/dev/ui/time/time-element.js +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.d.ts +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.d.ts +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-group-element.js +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -1
- package/package.json +8 -8
- package/cdn/compounds-Df_1JbZD.js +0 -8
- package/cdn/compounds-VFPcCeRV.js.map +0 -1
- package/cdn/create-player-CyG77t-m.js.map +0 -1
- package/cdn/create-player-Gom2ZZe3.js +0 -7
- package/cdn/create-player-Gom2ZZe3.js.map +0 -1
- package/cdn/hls-BAbdl84H.js +0 -41
- package/cdn/hls-BAbdl84H.js.map +0 -1
- package/cdn/hls-BrzPpueW.js.map +0 -1
- package/cdn/media-attach-mixin-CMH1ziXP.js.map +0 -1
- package/cdn/media-attach-mixin-DUzmXEJ3.js +0 -2
- package/cdn/media-attach-mixin-DUzmXEJ3.js.map +0 -1
- package/cdn/media-props-mixin-hheRmkup.js +0 -432
- package/cdn/media-props-mixin-hheRmkup.js.map +0 -1
- package/cdn/media-props-mixin-yRWj8yXF.js +0 -47
- package/cdn/media-props-mixin-yRWj8yXF.js.map +0 -1
- package/cdn/minimal-ui-B3BBK5nX.js +0 -2
- package/cdn/minimal-ui-DOePmQfq.js +0 -2
- package/cdn/mux-DGgCyz_A.js.map +0 -1
- package/cdn/mux-fYfPUpq3.js +0 -25
- package/cdn/mux-fYfPUpq3.js.map +0 -1
- package/cdn/native-hls-BuCYu7Rd.js.map +0 -1
- package/cdn/native-hls-DnqJ-0zL.js +0 -2
- package/cdn/native-hls-DnqJ-0zL.js.map +0 -1
- package/cdn/player-Cu5_r0Gk.js +0 -2
- package/cdn/ui-DWoV_Da1.js +0 -2
- package/cdn/ui-DXtTKomo.js +0 -2
- package/dist/default/utils/media-props-mixin.js +0 -44
- package/dist/default/utils/media-props-mixin.js.map +0 -1
- package/dist/dev/utils/media-props-mixin.js +0 -44
- package/dist/dev/utils/media-props-mixin.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as defineVolumeSlider, c as SeekButtonElement, d as PlayButtonElement, f as MuteButtonElement, i as defineTimeSlider, l as PopoverElement, n as defineErrorDialog, o as TooltipGroupElement, r as defineTime, s as TooltipElement, t as defineControls, u as PlaybackRateButtonElement } from "./compounds-
|
|
2
|
-
import { D as MediaContainerElement } from "./create-player-
|
|
3
|
-
import { o as safeDefine } from "./context-
|
|
4
|
-
import { a as CaptionsButtonElement, i as FullscreenButtonElement, n as PosterElement, o as BufferingIndicatorElement, r as PiPButtonElement, t as VideoPlayerElement } from "./player-
|
|
5
|
-
import { n as GestureElement, t as HotkeyElement } from "./hotkey-element-
|
|
1
|
+
import { a as defineVolumeSlider, c as SeekButtonElement, d as PlayButtonElement, f as MuteButtonElement, i as defineTimeSlider, l as PopoverElement, n as defineErrorDialog, o as TooltipGroupElement, r as defineTime, s as TooltipElement, t as defineControls, u as PlaybackRateButtonElement } from "./compounds-CM_NP-ej.js";
|
|
2
|
+
import { D as MediaContainerElement } from "./create-player-Bi6WUwDZ.js";
|
|
3
|
+
import { o as safeDefine } from "./context-0rI_P6jf.js";
|
|
4
|
+
import { a as CaptionsButtonElement, i as FullscreenButtonElement, n as PosterElement, o as BufferingIndicatorElement, r as PiPButtonElement, t as VideoPlayerElement } from "./player-CatrGW7l.js";
|
|
5
|
+
import { n as GestureElement, t as HotkeyElement } from "./hotkey-element-317kwVH5.js";
|
|
6
6
|
|
|
7
7
|
//#region src/define/video/ui.ts
|
|
8
8
|
safeDefine(VideoPlayerElement);
|
|
@@ -28,4 +28,4 @@ safeDefine(TooltipElement);
|
|
|
28
28
|
safeDefine(TooltipGroupElement);
|
|
29
29
|
|
|
30
30
|
//#endregion
|
|
31
|
-
//# sourceMappingURL=ui-
|
|
31
|
+
//# sourceMappingURL=ui-Em9rF9Ah.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-
|
|
1
|
+
{"version":3,"file":"ui-Em9rF9Ah.js","names":[],"sources":["../src/define/video/ui.ts"],"sourcesContent":["// Registers the video player, container, and all video UI custom elements\n// without creating a skin element. Use this entry when building an ejected\n// (light DOM) player layout.\nimport { MediaContainerElement } from '../../media/container-element';\nimport { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';\nimport { CaptionsButtonElement } from '../../ui/captions-button/captions-button-element';\nimport { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';\nimport { GestureElement } from '../../ui/gesture/gesture-element';\nimport { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { MuteButtonElement } from '../../ui/mute-button/mute-button-element';\nimport { PiPButtonElement } from '../../ui/pip-button/pip-button-element';\nimport { PlayButtonElement } from '../../ui/play-button/play-button-element';\nimport { PlaybackRateButtonElement } from '../../ui/playback-rate-button/playback-rate-button-element';\nimport { PopoverElement } from '../../ui/popover/popover-element';\nimport { PosterElement } from '../../ui/poster/poster-element';\nimport { SeekButtonElement } from '../../ui/seek-button/seek-button-element';\nimport { TooltipElement } from '../../ui/tooltip/tooltip-element';\nimport { TooltipGroupElement } from '../../ui/tooltip/tooltip-group-element';\nimport { safeDefine } from '../safe-define';\nimport { defineControls, defineErrorDialog, defineTime, defineTimeSlider, defineVolumeSlider } from '../ui/compounds';\n\n// Value import — player.ts body runs before this module's body.\nimport { VideoPlayerElement } from './player';\n\n// ── Registration (providers / parents first) ────────────────────────────\n\nsafeDefine(VideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\n// Compound groups.\ndefineControls();\ndefineErrorDialog();\ndefineTimeSlider();\ndefineVolumeSlider();\ndefineTime();\n\n// Standalone elements.\nsafeDefine(BufferingIndicatorElement);\nsafeDefine(CaptionsButtonElement);\nsafeDefine(FullscreenButtonElement);\nsafeDefine(GestureElement);\nsafeDefine(HotkeyElement);\nsafeDefine(MuteButtonElement);\nsafeDefine(PiPButtonElement);\nsafeDefine(PlayButtonElement);\nsafeDefine(PlaybackRateButtonElement);\nsafeDefine(PopoverElement);\nsafeDefine(PosterElement);\nsafeDefine(SeekButtonElement);\nsafeDefine(TooltipElement);\nsafeDefine(TooltipGroupElement);\n"],"mappings":";;;;;;;AA0BA,WAAW,mBAAmB;AAC9B,WAAW,sBAAsB;AAGjC,gBAAgB;AAChB,mBAAmB;AACnB,kBAAkB;AAClB,oBAAoB;AACpB,YAAY;AAGZ,WAAW,0BAA0B;AACrC,WAAW,sBAAsB;AACjC,WAAW,wBAAwB;AACnC,WAAW,eAAe;AAC1B,WAAW,cAAc;AACzB,WAAW,kBAAkB;AAC7B,WAAW,iBAAiB;AAC5B,WAAW,kBAAkB;AAC7B,WAAW,0BAA0B;AACrC,WAAW,eAAe;AAC1B,WAAW,cAAc;AACzB,WAAW,kBAAkB;AAC7B,WAAW,eAAe;AAC1B,WAAW,oBAAoB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,u}from"./compounds-Vvz-YfXP.js";import{D as d}from"./create-player-CKuX8YI5.js";import{o as f}from"./context-CEFisYD0.js";import{n as p,t as m}from"./hotkey-element-DRGCbVj9.js";import{t as h}from"./player-BK35-ndY.js";f(h),f(d),o(),i(),e(),c(),f(p),f(m),f(r),f(n),f(u),f(a),f(t),f(l),f(s);
|
|
2
|
+
//# sourceMappingURL=ui-QHwo6iyo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-
|
|
1
|
+
{"version":3,"file":"ui-QHwo6iyo.js","names":[],"sources":["../src/define/audio/ui.ts"],"sourcesContent":["// Registers the audio player, container, and all audio UI custom elements\n// without creating a skin element. Use this entry when building an ejected\n// (light DOM) player layout.\nimport { MediaContainerElement } from '../../media/container-element';\nimport { GestureElement } from '../../ui/gesture/gesture-element';\nimport { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { MuteButtonElement } from '../../ui/mute-button/mute-button-element';\nimport { PlayButtonElement } from '../../ui/play-button/play-button-element';\nimport { PlaybackRateButtonElement } from '../../ui/playback-rate-button/playback-rate-button-element';\nimport { PopoverElement } from '../../ui/popover/popover-element';\nimport { SeekButtonElement } from '../../ui/seek-button/seek-button-element';\nimport { TooltipElement } from '../../ui/tooltip/tooltip-element';\nimport { TooltipGroupElement } from '../../ui/tooltip/tooltip-group-element';\nimport { safeDefine } from '../safe-define';\nimport { defineErrorDialog, defineTime, defineTimeSlider, defineVolumeSlider } from '../ui/compounds';\n\n// Value import — player.ts body runs before this module's body.\nimport { AudioPlayerElement } from './player';\n\n// ── Registration (providers / parents first) ────────────────────────────\n\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\n// Compound groups.\ndefineErrorDialog();\ndefineTimeSlider();\ndefineVolumeSlider();\ndefineTime();\n\n// Standalone elements.\nsafeDefine(GestureElement);\nsafeDefine(HotkeyElement);\nsafeDefine(MuteButtonElement);\nsafeDefine(PlayButtonElement);\nsafeDefine(PlaybackRateButtonElement);\nsafeDefine(PopoverElement);\nsafeDefine(SeekButtonElement);\nsafeDefine(TooltipElement);\nsafeDefine(TooltipGroupElement);\n"],"mappings":"mSAqBA,EAAW,EAAmB,CAC9B,EAAW,EAAsB,CAGjC,GAAmB,CACnB,GAAkB,CAClB,GAAoB,CACpB,GAAY,CAGZ,EAAW,EAAe,CAC1B,EAAW,EAAc,CACzB,EAAW,EAAkB,CAC7B,EAAW,EAAkB,CAC7B,EAAW,EAA0B,CACrC,EAAW,EAAe,CAC1B,EAAW,EAAkB,CAC7B,EAAW,EAAe,CAC1B,EAAW,EAAoB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import{n as e,r as t}from"./media-attach-mixin-C2wz0Qbd.js";import{n,t as r}from"./pick-CERGq1No.js";function i(e,t){let n={};for(let r in e)t.includes(r)||(n[r]=e[r]);return n}const a={borderRadius:`--media-video-border-radius`,objectFit:`--media-object-fit`,objectPosition:`--media-object-position`,captionTrackDuration:`--media-caption-track-duration`,captionTrackDelay:`--media-caption-track-delay`,captionTrackY:`--media-caption-track-y`};function o(e){return`
|
|
2
|
+
<style>
|
|
3
|
+
:host {
|
|
4
|
+
display: contents;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
video {
|
|
8
|
+
display: block;
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
border-radius: var(${a.borderRadius});
|
|
12
|
+
object-fit: var(${a.objectFit}, contain);
|
|
13
|
+
object-position: var(${a.objectPosition}, center);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
video::-webkit-media-text-track-container {
|
|
17
|
+
transition: translate var(${a.captionTrackDuration}, 0) ease-out;
|
|
18
|
+
transition-delay: var(${a.captionTrackDelay}, 0);
|
|
19
|
+
translate: 0 var(${a.captionTrackY}, 0);
|
|
20
|
+
scale: 0.98;
|
|
21
|
+
z-index: 1;
|
|
22
|
+
font-family: inherit;
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
25
|
+
<slot name="media">
|
|
26
|
+
<video${t(e)}></video>
|
|
27
|
+
</slot>
|
|
28
|
+
<slot></slot>
|
|
29
|
+
`}function s(e){return n=>`
|
|
30
|
+
<style>
|
|
31
|
+
:host {
|
|
32
|
+
display: inline-flex;
|
|
33
|
+
line-height: 0;
|
|
34
|
+
flex-direction: column;
|
|
35
|
+
justify-content: end;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
${e} {
|
|
39
|
+
width: 100%;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
42
|
+
<slot name="media">
|
|
43
|
+
<${e}${t(n)}></${e}>
|
|
44
|
+
</slot>
|
|
45
|
+
<slot></slot>
|
|
46
|
+
`}const c=[`attach`,`detach`,`destroy`];function l(t,a){let l=new Map,d=!1;class f extends (globalThis.HTMLElement??class{}){static getTemplateHTML=t.endsWith(`video`)?o:s(t);static shadowRootOptions={mode:`open`};static properties={autoPictureInPicture:{type:Boolean},autoplay:{type:Boolean},controls:{type:Boolean},controlsList:{type:String},crossOrigin:{type:String},defaultMuted:{type:Boolean,attribute:`muted`},disablePictureInPicture:{type:Boolean},disableRemotePlayback:{type:Boolean},loading:{type:String},loop:{type:Boolean},playsInline:{type:Boolean},poster:{type:String},preload:{type:String},src:{type:String}};static get observedAttributes(){return f.#define(this),[...u(this.properties)]}static#define(e){if(d)return;d=!0;for(let t=a.prototype;t&&t!==Object.prototype;t=Object.getPrototypeOf(t))for(let r of Object.getOwnPropertyNames(t)){if(r in f.prototype||c.includes(r))continue;let i=Object.getOwnPropertyDescriptor(t,r);if(!i)continue;let a={enumerable:!0,configurable:!0};if(typeof i.value==`function`)a.value=function(...e){return this.#mediaHost[r](...e)};else if(i.get&&(a.get=function(){return this.#mediaHost[r]},i.set)){let t=n(r);e.observedAttributes.includes(t)?(l.set(t,r),a.set=function(e){e===!0||e===!1||e==null?this.toggleAttribute(t,!!e):this.setAttribute(t,String(e))}):a.set=function(e){this.#mediaHost[r]=e}}Object.defineProperty(f.prototype,r,a)}let t=e.properties;for(let[e,{type:n,attribute:r}]of Object.entries(t)){if(e in f.prototype)continue;let t=r??e.toLowerCase();Object.defineProperty(f.prototype,e,{get:function(){return n===Boolean?this.hasAttribute(t):this.getAttribute(t)},set:function(e){n===Boolean?this.toggleAttribute(t,!!e):this.setAttribute(t,e)},enumerable:!0,configurable:!0})}}#mediaHost;#bridgedEventTypes=new Set;#childMap=new Map;#childObserver;constructor(){if(super(),!this.shadowRoot){let n=this.constructor;this.attachShadow(n.shadowRootOptions);let a=u(n.properties),o=[...l.keys()],s=i(r(e(this.attributes),a),o);t&&!s.part&&(s.part=t),this.shadowRoot.innerHTML=n.getTemplateHTML(s)}this.#mediaHost=new a,this.#attachToTarget(),this.#childObserver=new MutationObserver(this.#syncMediaChildAttribute.bind(this)),this.shadowRoot.addEventListener(`slotchange`,()=>{this.#attachToTarget(),this.#syncMediaChildren()}),this.#syncMediaChildren()}#attachToTarget(){let e=this.target;e!==this.#mediaHost.target&&(this.#mediaHost.target&&this.#mediaHost.detach(),this.#mediaHost.attach(e))}get target(){return this.querySelector(`:scope > [slot=media]`)??this.querySelector(t)??this.shadowRoot?.querySelector(t)??null}disconnectedCallback(){this.hasAttribute(`keep-alive`)||this.#mediaHost.destroy()}addEventListener(e,t,n){super.addEventListener(e,t,n),this.#bridgedEventTypes.has(e)||(this.#bridgedEventTypes.add(e),this.#mediaHost.addEventListener(e,this.#bridgeEvent))}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}#bridgeEvent=e=>{e.composed||this.dispatchEvent(new e.constructor(e.type,e))};attributeChangedCallback(e,t,n){let r=l.get(e);if(r){if(t!==n){let e=typeof this.#mediaHost[r];this.#mediaHost[r]=e===`boolean`?n!==null:e===`number`?Number(n):n??``}return}!f.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(n===null?this.target?.removeAttribute(e):this.target?.getAttribute(e)!==n&&this.target?.setAttribute(e,n))}#syncMediaChildren(){let e=this.shadowRoot?.querySelector(`slot:not([name])`),t=new Set(e?.assignedElements({flatten:!0}).filter(e=>e.localName===`track`||e.localName===`source`));for(let[e,n]of this.#childMap)t.has(e)||(n.remove(),this.#childMap.delete(e));for(let e of t){let t=this.#childMap.get(e);t||(t=e.cloneNode(),this.#childMap.set(e,t),this.#childObserver?.observe(e,{attributes:!0})),this.target?.append(t),this.#enableDefaultTrack(t)}}#syncMediaChildAttribute(e){for(let t of e)if(t.type===`attributes`){let{target:e,attributeName:n}=t,r=this.#childMap.get(e);r&&n&&(r.setAttribute(n,e.getAttribute(n)??``),this.#enableDefaultTrack(r))}}#enableDefaultTrack(e){e&&e.localName===`track`&&e.default&&(e.kind===`chapters`||e.kind===`metadata`)&&e.track.mode===`disabled`&&(e.track.mode=`hidden`)}}return f}function u(e){return Object.keys(e).map(t=>e[t]?.attribute??t.toLowerCase())}const d=Object.freeze({length:0,start(){return 0},end(){return 0}});var f=class extends EventTarget{#e=null;#t=new Set;get target(){return this.#e}get paused(){return this.target?.paused??!0}get ended(){return this.target?.ended??!1}play(){return this.target?.play()??Promise.reject()}pause(){this.target?.pause()}get currentTime(){return this.target?.currentTime??0}set currentTime(e){this.target&&(this.target.currentTime=e)}get duration(){return this.target?.duration??NaN}get seeking(){return this.target?.seeking??!1}get src(){return this.target?.src??``}set src(e){this.target&&(this.target.src=e)}get currentSrc(){return this.target?.currentSrc??``}get readyState(){return this.target?.readyState??0}load(){this.target?.load()}get volume(){return this.target?.volume??1}set volume(e){this.target&&(this.target.volume=e)}get muted(){return this.target?.muted??!1}set muted(e){this.target&&(this.target.muted=e)}get playbackRate(){return this.target?.playbackRate??1}set playbackRate(e){this.target&&(this.target.playbackRate=e)}get buffered(){return this.target?.buffered??d}get seekable(){return this.target?.seekable??d}get error(){return this.target?.error??null}get textTracks(){return this.target?.textTracks??[]}attach(e){if(!(!e||this.#e===e)){this.#e=e;for(let t of this.#t)e.addEventListener(t,this.#n)}}detach(){if(this.#e){for(let e of this.#t)this.#e.removeEventListener(e,this.#n);this.#e=null}}querySelectorAll(e){return this.target?.querySelectorAll(e)??[]}addEventListener(e,t,n){this.#t.has(e)||(this.#t.add(e),this.target?.addEventListener(e,this.#n)),super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}#n=e=>{this.dispatchEvent(new e.constructor(e.type,e))}},p=class extends f{requestPictureInPicture(){return this.target?.requestPictureInPicture()??Promise.reject()}requestFullscreen(){return this.target?.requestFullscreen()??Promise.reject()}webkitEnterFullscreen(){return this.target?.webkitEnterFullscreen?.()}webkitExitFullscreen(){return this.target?.webkitExitFullscreen?.()}webkitSetPresentationMode(e){return this.target?.webkitSetPresentationMode?.(e)}get webkitDisplayingFullscreen(){return this.target?.webkitDisplayingFullscreen??!1}get webkitPresentationMode(){return this.target?.webkitPresentationMode??`inline`}};export{l as n,p as t};
|
|
47
|
+
//# sourceMappingURL=video-host-CPRJVRi3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-host-CPRJVRi3.js","names":["#define","#mediaHost","#attachToTarget","#childObserver","#syncMediaChildAttribute","#syncMediaChildren","#bridgedEventTypes","#bridgeEvent","#childMap","#enableDefaultTrack","#target","#types","#forwardEvent"],"sources":["../../utils/dist/object/omit.js","../../core/dist/default/dom/media/custom-media-element/index.js","../../core/dist/default/dom/media/media-host.js","../../core/dist/default/dom/media/video-host.js"],"sourcesContent":["//#region src/object/omit.ts\n/**\n* Creates a new object without the specified keys.\n*\n* @example\n* const obj = { a: 1, b: 2, c: 3 };\n* omit(obj, ['b']); // { a: 1, c: 3 }\n*/\nfunction omit(obj, keys) {\n\tconst result = {};\n\tfor (const key in obj) if (!keys.includes(key)) result[key] = obj[key];\n\treturn result;\n}\n//#endregion\nexport { omit };\n\n//# sourceMappingURL=omit.js.map","import { omit, pick } from \"@videojs/utils/object\";\nimport { namedNodeMapToObject, serializeAttributes } from \"@videojs/utils/dom\";\nimport { kebabCase } from \"@videojs/utils/string\";\n//#region src/dom/media/custom-media-element/index.ts\n/** CSS custom property names for video elements. */\nconst VideoCSSVars = {\n\tborderRadius: \"--media-video-border-radius\",\n\tobjectFit: \"--media-object-fit\",\n\tobjectPosition: \"--media-object-position\",\n\tcaptionTrackDuration: \"--media-caption-track-duration\",\n\tcaptionTrackDelay: \"--media-caption-track-delay\",\n\tcaptionTrackY: \"--media-caption-track-y\"\n};\n/** CSS custom property names for audio elements. */\nconst AudioCSSVars = {};\n/** Helper function to generate the HTML template for video elements. */\nfunction getVideoTemplateHTML(attrs) {\n\treturn `\n <style>\n :host {\n display: contents;\n }\n\n video {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: var(${VideoCSSVars.borderRadius});\n object-fit: var(${VideoCSSVars.objectFit}, contain);\n object-position: var(${VideoCSSVars.objectPosition}, center);\n }\n\n video::-webkit-media-text-track-container {\n transition: translate var(${VideoCSSVars.captionTrackDuration}, 0) ease-out;\n transition-delay: var(${VideoCSSVars.captionTrackDelay}, 0);\n translate: 0 var(${VideoCSSVars.captionTrackY}, 0);\n scale: 0.98;\n z-index: 1;\n font-family: inherit;\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `;\n}\n/** Helper function to generate the HTML template for other elements. */\nfunction getCommonTemplateHTML(tag) {\n\treturn (attrs) => {\n\t\treturn `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n ${tag} {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <${tag}${serializeAttributes(attrs)}></${tag}>\n </slot>\n <slot></slot>\n `;\n\t};\n}\nconst excludedProperties = [\n\t\"attach\",\n\t\"detach\",\n\t\"destroy\"\n];\nfunction CustomMediaElement(tag, MediaHost) {\n\tconst mediaHostAttrToProp = /* @__PURE__ */ new Map();\n\tlet isDefined = false;\n\tclass CustomMedia extends (globalThis.HTMLElement ?? class {}) {\n\t\tstatic getTemplateHTML = tag.endsWith(\"video\") ? getVideoTemplateHTML : getCommonTemplateHTML(tag);\n\t\tstatic shadowRootOptions = { mode: \"open\" };\n\t\tstatic properties = {\n\t\t\tautoPictureInPicture: { type: Boolean },\n\t\t\tautoplay: { type: Boolean },\n\t\t\tcontrols: { type: Boolean },\n\t\t\tcontrolsList: { type: String },\n\t\t\tcrossOrigin: { type: String },\n\t\t\tdefaultMuted: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tattribute: \"muted\"\n\t\t\t},\n\t\t\tdisablePictureInPicture: { type: Boolean },\n\t\t\tdisableRemotePlayback: { type: Boolean },\n\t\t\tloading: { type: String },\n\t\t\tloop: { type: Boolean },\n\t\t\tplaysInline: { type: Boolean },\n\t\t\tposter: { type: String },\n\t\t\tpreload: { type: String },\n\t\t\tsrc: { type: String }\n\t\t};\n\t\tstatic get observedAttributes() {\n\t\t\tCustomMedia.#define(this);\n\t\t\treturn [...getAttrsFromProps(this.properties)];\n\t\t}\n\t\tstatic #define(ctor) {\n\t\t\tif (isDefined) return;\n\t\t\tisDefined = true;\n\t\t\tfor (let proto = MediaHost.prototype; proto && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) for (const prop of Object.getOwnPropertyNames(proto)) {\n\t\t\t\tif (prop in CustomMedia.prototype || excludedProperties.includes(prop)) continue;\n\t\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(proto, prop);\n\t\t\t\tif (!descriptor) continue;\n\t\t\t\tconst config = {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t};\n\t\t\t\tif (typeof descriptor.value === \"function\") config.value = function(...args) {\n\t\t\t\t\treturn this.#mediaHost[prop](...args);\n\t\t\t\t};\n\t\t\t\telse if (descriptor.get) {\n\t\t\t\t\tconfig.get = function() {\n\t\t\t\t\t\treturn this.#mediaHost[prop];\n\t\t\t\t\t};\n\t\t\t\t\tif (descriptor.set) {\n\t\t\t\t\t\tconst attr = kebabCase(prop);\n\t\t\t\t\t\tif (ctor.observedAttributes.includes(attr)) {\n\t\t\t\t\t\t\tmediaHostAttrToProp.set(attr, prop);\n\t\t\t\t\t\t\tconfig.set = function(val) {\n\t\t\t\t\t\t\t\tif (val === true || val === false || val == null) this.toggleAttribute(attr, Boolean(val));\n\t\t\t\t\t\t\t\telse this.setAttribute(attr, String(val));\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else config.set = function(val) {\n\t\t\t\t\t\t\tthis.#mediaHost[prop] = val;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tObject.defineProperty(CustomMedia.prototype, prop, config);\n\t\t\t}\n\t\t\tconst properties = ctor.properties;\n\t\t\tfor (const [prop, { type, attribute }] of Object.entries(properties)) {\n\t\t\t\tif (prop in CustomMedia.prototype) continue;\n\t\t\t\tconst attr = attribute ?? prop.toLowerCase();\n\t\t\t\tObject.defineProperty(CustomMedia.prototype, prop, {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn type === Boolean ? this.hasAttribute(attr) : this.getAttribute(attr);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tif (type === Boolean) this.toggleAttribute(attr, Boolean(val));\n\t\t\t\t\t\telse this.setAttribute(attr, val);\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t#mediaHost;\n\t\t#bridgedEventTypes = /* @__PURE__ */ new Set();\n\t\t#childMap = /* @__PURE__ */ new Map();\n\t\t#childObserver;\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t\tif (!this.shadowRoot) {\n\t\t\t\tconst ctor = this.constructor;\n\t\t\t\tthis.attachShadow(ctor.shadowRootOptions);\n\t\t\t\tconst allowedKeys = getAttrsFromProps(ctor.properties);\n\t\t\t\tconst disallowedKeys = [...mediaHostAttrToProp.keys()];\n\t\t\t\tconst attrs = omit(pick(namedNodeMapToObject(this.attributes), allowedKeys), disallowedKeys);\n\t\t\t\tif (tag && !attrs.part) attrs.part = tag;\n\t\t\t\tthis.shadowRoot.innerHTML = ctor.getTemplateHTML(attrs);\n\t\t\t}\n\t\t\tthis.#mediaHost = new MediaHost();\n\t\t\tthis.#attachToTarget();\n\t\t\tthis.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n\t\t\tthis.shadowRoot.addEventListener(\"slotchange\", () => {\n\t\t\t\tthis.#attachToTarget();\n\t\t\t\tthis.#syncMediaChildren();\n\t\t\t});\n\t\t\tthis.#syncMediaChildren();\n\t\t}\n\t\t#attachToTarget() {\n\t\t\tconst target = this.target;\n\t\t\tif (target === this.#mediaHost.target) return;\n\t\t\tif (this.#mediaHost.target) this.#mediaHost.detach();\n\t\t\tthis.#mediaHost.attach(target);\n\t\t}\n\t\tget target() {\n\t\t\treturn this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n\t\t}\n\t\tdisconnectedCallback() {\n\t\t\tif (!this.hasAttribute(\"keep-alive\")) this.#mediaHost.destroy();\n\t\t}\n\t\taddEventListener(type, listener, options) {\n\t\t\tsuper.addEventListener(type, listener, options);\n\t\t\tif (!this.#bridgedEventTypes.has(type)) {\n\t\t\t\tthis.#bridgedEventTypes.add(type);\n\t\t\t\tthis.#mediaHost.addEventListener(type, this.#bridgeEvent);\n\t\t\t}\n\t\t}\n\t\tremoveEventListener(type, listener, options) {\n\t\t\tsuper.removeEventListener(type, listener, options);\n\t\t}\n\t\t#bridgeEvent = (event) => {\n\t\t\tif (!event.composed) this.dispatchEvent(new event.constructor(event.type, event));\n\t\t};\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tconst prop = mediaHostAttrToProp.get(attrName);\n\t\t\tif (prop) {\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tconst valueType = typeof this.#mediaHost[prop];\n\t\t\t\t\tthis.#mediaHost[prop] = valueType === \"boolean\" ? newValue !== null : valueType === \"number\" ? Number(newValue) : newValue ?? \"\";\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) return;\n\t\t\tif (newValue === null) this.target?.removeAttribute(attrName);\n\t\t\telse if (this.target?.getAttribute(attrName) !== newValue) this.target?.setAttribute(attrName, newValue);\n\t\t}\n\t\t#syncMediaChildren() {\n\t\t\tconst defaultSlot = this.shadowRoot?.querySelector(\"slot:not([name])\");\n\t\t\tconst mediaChildren = new Set(defaultSlot?.assignedElements({ flatten: true }).filter((el) => el.localName === \"track\" || el.localName === \"source\"));\n\t\t\tfor (const [el, clone] of this.#childMap) if (!mediaChildren.has(el)) {\n\t\t\t\tclone.remove();\n\t\t\t\tthis.#childMap.delete(el);\n\t\t\t}\n\t\t\tfor (const el of mediaChildren) {\n\t\t\t\tlet clone = this.#childMap.get(el);\n\t\t\t\tif (!clone) {\n\t\t\t\t\tclone = el.cloneNode();\n\t\t\t\t\tthis.#childMap.set(el, clone);\n\t\t\t\t\tthis.#childObserver?.observe(el, { attributes: true });\n\t\t\t\t}\n\t\t\t\tthis.target?.append(clone);\n\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t}\n\t\t}\n\t\t#syncMediaChildAttribute(mutations) {\n\t\t\tfor (const mutation of mutations) if (mutation.type === \"attributes\") {\n\t\t\t\tconst { target, attributeName } = mutation;\n\t\t\t\tconst clone = this.#childMap.get(target);\n\t\t\t\tif (clone && attributeName) {\n\t\t\t\t\tclone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n\t\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t#enableDefaultTrack(trackEl) {\n\t\t\tif (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") trackEl.track.mode = \"hidden\";\n\t\t}\n\t}\n\treturn CustomMedia;\n}\nfunction getAttrsFromProps(props) {\n\treturn Object.keys(props).map((prop) => props[prop]?.attribute ?? prop.toLowerCase());\n}\n//#endregion\nexport { AudioCSSVars, CustomMediaElement, VideoCSSVars };\n\n//# sourceMappingURL=index.js.map","//#region src/dom/media/media-host.ts\nconst EMPTY_TIME_RANGES = Object.freeze({\n\tlength: 0,\n\tstart() {\n\t\treturn 0;\n\t},\n\tend() {\n\t\treturn 0;\n\t}\n});\nvar HTMLMediaElementHost = class extends EventTarget {\n\t#target = null;\n\t#types = /* @__PURE__ */ new Set();\n\tget target() {\n\t\treturn this.#target;\n\t}\n\tget paused() {\n\t\treturn this.target?.paused ?? true;\n\t}\n\tget ended() {\n\t\treturn this.target?.ended ?? false;\n\t}\n\tplay() {\n\t\treturn this.target?.play() ?? Promise.reject();\n\t}\n\tpause() {\n\t\tthis.target?.pause();\n\t}\n\tget currentTime() {\n\t\treturn this.target?.currentTime ?? 0;\n\t}\n\tset currentTime(value) {\n\t\tif (this.target) this.target.currentTime = value;\n\t}\n\tget duration() {\n\t\treturn this.target?.duration ?? NaN;\n\t}\n\tget seeking() {\n\t\treturn this.target?.seeking ?? false;\n\t}\n\tget src() {\n\t\treturn this.target?.src ?? \"\";\n\t}\n\tset src(value) {\n\t\tif (this.target) this.target.src = value;\n\t}\n\tget currentSrc() {\n\t\treturn this.target?.currentSrc ?? \"\";\n\t}\n\tget readyState() {\n\t\treturn this.target?.readyState ?? 0;\n\t}\n\tload() {\n\t\tthis.target?.load();\n\t}\n\tget volume() {\n\t\treturn this.target?.volume ?? 1;\n\t}\n\tset volume(value) {\n\t\tif (this.target) this.target.volume = value;\n\t}\n\tget muted() {\n\t\treturn this.target?.muted ?? false;\n\t}\n\tset muted(value) {\n\t\tif (this.target) this.target.muted = value;\n\t}\n\tget playbackRate() {\n\t\treturn this.target?.playbackRate ?? 1;\n\t}\n\tset playbackRate(value) {\n\t\tif (this.target) this.target.playbackRate = value;\n\t}\n\tget buffered() {\n\t\treturn this.target?.buffered ?? EMPTY_TIME_RANGES;\n\t}\n\tget seekable() {\n\t\treturn this.target?.seekable ?? EMPTY_TIME_RANGES;\n\t}\n\tget error() {\n\t\treturn this.target?.error ?? null;\n\t}\n\tget textTracks() {\n\t\treturn this.target?.textTracks ?? [];\n\t}\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tthis.#target = target;\n\t\tfor (const type of this.#types) target.addEventListener(type, this.#forwardEvent);\n\t}\n\tdetach() {\n\t\tif (!this.#target) return;\n\t\tfor (const type of this.#types) this.#target.removeEventListener(type, this.#forwardEvent);\n\t\tthis.#target = null;\n\t}\n\tquerySelectorAll(selectors) {\n\t\treturn this.target?.querySelectorAll(selectors) ?? [];\n\t}\n\taddEventListener(type, listener, options) {\n\t\tif (!this.#types.has(type)) {\n\t\t\tthis.#types.add(type);\n\t\t\tthis.target?.addEventListener(type, this.#forwardEvent);\n\t\t}\n\t\tsuper.addEventListener(type, listener, options);\n\t}\n\tremoveEventListener(type, listener, options) {\n\t\tsuper.removeEventListener(type, listener, options);\n\t}\n\t#forwardEvent = (event) => {\n\t\tthis.dispatchEvent(new event.constructor(event.type, event));\n\t};\n};\n//#endregion\nexport { HTMLMediaElementHost };\n\n//# sourceMappingURL=media-host.js.map","import { HTMLMediaElementHost } from \"./media-host.js\";\n//#region src/dom/media/video-host.ts\nvar HTMLVideoElementHost = class extends HTMLMediaElementHost {\n\trequestPictureInPicture() {\n\t\treturn this.target?.requestPictureInPicture() ?? Promise.reject();\n\t}\n\trequestFullscreen() {\n\t\treturn this.target?.requestFullscreen() ?? Promise.reject();\n\t}\n\twebkitEnterFullscreen() {\n\t\treturn this.target?.webkitEnterFullscreen?.();\n\t}\n\twebkitExitFullscreen() {\n\t\treturn this.target?.webkitExitFullscreen?.();\n\t}\n\twebkitSetPresentationMode(mode) {\n\t\treturn this.target?.webkitSetPresentationMode?.(mode);\n\t}\n\tget webkitDisplayingFullscreen() {\n\t\treturn this.target?.webkitDisplayingFullscreen ?? false;\n\t}\n\tget webkitPresentationMode() {\n\t\treturn this.target?.webkitPresentationMode ?? \"inline\";\n\t}\n};\n//#endregion\nexport { HTMLVideoElementHost };\n\n//# sourceMappingURL=video-host.js.map"],"mappings":"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"}
|
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
import { n as namedNodeMapToObject, r as serializeAttributes } from "./media-attach-mixin-CYoNe7Sh.js";
|
|
2
|
+
import { n as kebabCase, t as pick } from "./pick-D-wCJ3iA.js";
|
|
3
|
+
|
|
4
|
+
//#region ../utils/dist/object/omit.js
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new object without the specified keys.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const obj = { a: 1, b: 2, c: 3 };
|
|
10
|
+
* omit(obj, ['b']); // { a: 1, c: 3 }
|
|
11
|
+
*/
|
|
12
|
+
function omit(obj, keys) {
|
|
13
|
+
const result = {};
|
|
14
|
+
for (const key in obj) if (!keys.includes(key)) result[key] = obj[key];
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region ../core/dist/dev/dom/media/custom-media-element/index.js
|
|
20
|
+
/** CSS custom property names for video elements. */
|
|
21
|
+
const VideoCSSVars = {
|
|
22
|
+
borderRadius: "--media-video-border-radius",
|
|
23
|
+
objectFit: "--media-object-fit",
|
|
24
|
+
objectPosition: "--media-object-position",
|
|
25
|
+
captionTrackDuration: "--media-caption-track-duration",
|
|
26
|
+
captionTrackDelay: "--media-caption-track-delay",
|
|
27
|
+
captionTrackY: "--media-caption-track-y"
|
|
28
|
+
};
|
|
29
|
+
/** Helper function to generate the HTML template for video elements. */
|
|
30
|
+
function getVideoTemplateHTML(attrs) {
|
|
31
|
+
return `
|
|
32
|
+
<style>
|
|
33
|
+
:host {
|
|
34
|
+
display: contents;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
video {
|
|
38
|
+
display: block;
|
|
39
|
+
width: 100%;
|
|
40
|
+
height: 100%;
|
|
41
|
+
border-radius: var(${VideoCSSVars.borderRadius});
|
|
42
|
+
object-fit: var(${VideoCSSVars.objectFit}, contain);
|
|
43
|
+
object-position: var(${VideoCSSVars.objectPosition}, center);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
video::-webkit-media-text-track-container {
|
|
47
|
+
transition: translate var(${VideoCSSVars.captionTrackDuration}, 0) ease-out;
|
|
48
|
+
transition-delay: var(${VideoCSSVars.captionTrackDelay}, 0);
|
|
49
|
+
translate: 0 var(${VideoCSSVars.captionTrackY}, 0);
|
|
50
|
+
scale: 0.98;
|
|
51
|
+
z-index: 1;
|
|
52
|
+
font-family: inherit;
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
<slot name="media">
|
|
56
|
+
<video${serializeAttributes(attrs)}></video>
|
|
57
|
+
</slot>
|
|
58
|
+
<slot></slot>
|
|
59
|
+
`;
|
|
60
|
+
}
|
|
61
|
+
/** Helper function to generate the HTML template for other elements. */
|
|
62
|
+
function getCommonTemplateHTML(tag) {
|
|
63
|
+
return (attrs) => {
|
|
64
|
+
return `
|
|
65
|
+
<style>
|
|
66
|
+
:host {
|
|
67
|
+
display: inline-flex;
|
|
68
|
+
line-height: 0;
|
|
69
|
+
flex-direction: column;
|
|
70
|
+
justify-content: end;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
${tag} {
|
|
74
|
+
width: 100%;
|
|
75
|
+
}
|
|
76
|
+
</style>
|
|
77
|
+
<slot name="media">
|
|
78
|
+
<${tag}${serializeAttributes(attrs)}></${tag}>
|
|
79
|
+
</slot>
|
|
80
|
+
<slot></slot>
|
|
81
|
+
`;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const excludedProperties = [
|
|
85
|
+
"attach",
|
|
86
|
+
"detach",
|
|
87
|
+
"destroy"
|
|
88
|
+
];
|
|
89
|
+
function CustomMediaElement(tag, MediaHost) {
|
|
90
|
+
const mediaHostAttrToProp = /* @__PURE__ */ new Map();
|
|
91
|
+
let isDefined = false;
|
|
92
|
+
class CustomMedia extends (globalThis.HTMLElement ?? class {}) {
|
|
93
|
+
static getTemplateHTML = tag.endsWith("video") ? getVideoTemplateHTML : getCommonTemplateHTML(tag);
|
|
94
|
+
static shadowRootOptions = { mode: "open" };
|
|
95
|
+
static properties = {
|
|
96
|
+
autoPictureInPicture: { type: Boolean },
|
|
97
|
+
autoplay: { type: Boolean },
|
|
98
|
+
controls: { type: Boolean },
|
|
99
|
+
controlsList: { type: String },
|
|
100
|
+
crossOrigin: { type: String },
|
|
101
|
+
defaultMuted: {
|
|
102
|
+
type: Boolean,
|
|
103
|
+
attribute: "muted"
|
|
104
|
+
},
|
|
105
|
+
disablePictureInPicture: { type: Boolean },
|
|
106
|
+
disableRemotePlayback: { type: Boolean },
|
|
107
|
+
loading: { type: String },
|
|
108
|
+
loop: { type: Boolean },
|
|
109
|
+
playsInline: { type: Boolean },
|
|
110
|
+
poster: { type: String },
|
|
111
|
+
preload: { type: String },
|
|
112
|
+
src: { type: String }
|
|
113
|
+
};
|
|
114
|
+
static get observedAttributes() {
|
|
115
|
+
CustomMedia.#define(this);
|
|
116
|
+
return [...getAttrsFromProps(this.properties)];
|
|
117
|
+
}
|
|
118
|
+
static #define(ctor) {
|
|
119
|
+
if (isDefined) return;
|
|
120
|
+
isDefined = true;
|
|
121
|
+
for (let proto = MediaHost.prototype; proto && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) for (const prop of Object.getOwnPropertyNames(proto)) {
|
|
122
|
+
if (prop in CustomMedia.prototype || excludedProperties.includes(prop)) continue;
|
|
123
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, prop);
|
|
124
|
+
if (!descriptor) continue;
|
|
125
|
+
const config = {
|
|
126
|
+
enumerable: true,
|
|
127
|
+
configurable: true
|
|
128
|
+
};
|
|
129
|
+
if (typeof descriptor.value === "function") config.value = function(...args) {
|
|
130
|
+
return this.#mediaHost[prop](...args);
|
|
131
|
+
};
|
|
132
|
+
else if (descriptor.get) {
|
|
133
|
+
config.get = function() {
|
|
134
|
+
return this.#mediaHost[prop];
|
|
135
|
+
};
|
|
136
|
+
if (descriptor.set) {
|
|
137
|
+
const attr = kebabCase(prop);
|
|
138
|
+
if (ctor.observedAttributes.includes(attr)) {
|
|
139
|
+
mediaHostAttrToProp.set(attr, prop);
|
|
140
|
+
config.set = function(val) {
|
|
141
|
+
if (val === true || val === false || val == null) this.toggleAttribute(attr, Boolean(val));
|
|
142
|
+
else this.setAttribute(attr, String(val));
|
|
143
|
+
};
|
|
144
|
+
} else config.set = function(val) {
|
|
145
|
+
this.#mediaHost[prop] = val;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
Object.defineProperty(CustomMedia.prototype, prop, config);
|
|
150
|
+
}
|
|
151
|
+
const properties = ctor.properties;
|
|
152
|
+
for (const [prop, { type, attribute }] of Object.entries(properties)) {
|
|
153
|
+
if (prop in CustomMedia.prototype) continue;
|
|
154
|
+
const attr = attribute ?? prop.toLowerCase();
|
|
155
|
+
Object.defineProperty(CustomMedia.prototype, prop, {
|
|
156
|
+
get: function() {
|
|
157
|
+
return type === Boolean ? this.hasAttribute(attr) : this.getAttribute(attr);
|
|
158
|
+
},
|
|
159
|
+
set: function(val) {
|
|
160
|
+
if (type === Boolean) this.toggleAttribute(attr, Boolean(val));
|
|
161
|
+
else this.setAttribute(attr, val);
|
|
162
|
+
},
|
|
163
|
+
enumerable: true,
|
|
164
|
+
configurable: true
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
#mediaHost;
|
|
169
|
+
#bridgedEventTypes = /* @__PURE__ */ new Set();
|
|
170
|
+
#childMap = /* @__PURE__ */ new Map();
|
|
171
|
+
#childObserver;
|
|
172
|
+
constructor() {
|
|
173
|
+
super();
|
|
174
|
+
if (!this.shadowRoot) {
|
|
175
|
+
const ctor = this.constructor;
|
|
176
|
+
this.attachShadow(ctor.shadowRootOptions);
|
|
177
|
+
const allowedKeys = getAttrsFromProps(ctor.properties);
|
|
178
|
+
const disallowedKeys = [...mediaHostAttrToProp.keys()];
|
|
179
|
+
const attrs = omit(pick(namedNodeMapToObject(this.attributes), allowedKeys), disallowedKeys);
|
|
180
|
+
if (tag && !attrs.part) attrs.part = tag;
|
|
181
|
+
this.shadowRoot.innerHTML = ctor.getTemplateHTML(attrs);
|
|
182
|
+
}
|
|
183
|
+
this.#mediaHost = new MediaHost();
|
|
184
|
+
this.#attachToTarget();
|
|
185
|
+
this.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));
|
|
186
|
+
this.shadowRoot.addEventListener("slotchange", () => {
|
|
187
|
+
this.#attachToTarget();
|
|
188
|
+
this.#syncMediaChildren();
|
|
189
|
+
});
|
|
190
|
+
this.#syncMediaChildren();
|
|
191
|
+
}
|
|
192
|
+
#attachToTarget() {
|
|
193
|
+
const target = this.target;
|
|
194
|
+
if (target === this.#mediaHost.target) return;
|
|
195
|
+
if (this.#mediaHost.target) this.#mediaHost.detach();
|
|
196
|
+
this.#mediaHost.attach(target);
|
|
197
|
+
}
|
|
198
|
+
get target() {
|
|
199
|
+
return this.querySelector(":scope > [slot=media]") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;
|
|
200
|
+
}
|
|
201
|
+
disconnectedCallback() {
|
|
202
|
+
if (!this.hasAttribute("keep-alive")) this.#mediaHost.destroy();
|
|
203
|
+
}
|
|
204
|
+
addEventListener(type, listener, options) {
|
|
205
|
+
super.addEventListener(type, listener, options);
|
|
206
|
+
if (!this.#bridgedEventTypes.has(type)) {
|
|
207
|
+
this.#bridgedEventTypes.add(type);
|
|
208
|
+
this.#mediaHost.addEventListener(type, this.#bridgeEvent);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
removeEventListener(type, listener, options) {
|
|
212
|
+
super.removeEventListener(type, listener, options);
|
|
213
|
+
}
|
|
214
|
+
#bridgeEvent = (event) => {
|
|
215
|
+
if (!event.composed) this.dispatchEvent(new event.constructor(event.type, event));
|
|
216
|
+
};
|
|
217
|
+
attributeChangedCallback(attrName, oldValue, newValue) {
|
|
218
|
+
const prop = mediaHostAttrToProp.get(attrName);
|
|
219
|
+
if (prop) {
|
|
220
|
+
if (oldValue !== newValue) {
|
|
221
|
+
const valueType = typeof this.#mediaHost[prop];
|
|
222
|
+
this.#mediaHost[prop] = valueType === "boolean" ? newValue !== null : valueType === "number" ? Number(newValue) : newValue ?? "";
|
|
223
|
+
}
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) return;
|
|
227
|
+
if (newValue === null) this.target?.removeAttribute(attrName);
|
|
228
|
+
else if (this.target?.getAttribute(attrName) !== newValue) this.target?.setAttribute(attrName, newValue);
|
|
229
|
+
}
|
|
230
|
+
#syncMediaChildren() {
|
|
231
|
+
const defaultSlot = this.shadowRoot?.querySelector("slot:not([name])");
|
|
232
|
+
const mediaChildren = new Set(defaultSlot?.assignedElements({ flatten: true }).filter((el) => el.localName === "track" || el.localName === "source"));
|
|
233
|
+
for (const [el, clone] of this.#childMap) if (!mediaChildren.has(el)) {
|
|
234
|
+
clone.remove();
|
|
235
|
+
this.#childMap.delete(el);
|
|
236
|
+
}
|
|
237
|
+
for (const el of mediaChildren) {
|
|
238
|
+
let clone = this.#childMap.get(el);
|
|
239
|
+
if (!clone) {
|
|
240
|
+
clone = el.cloneNode();
|
|
241
|
+
this.#childMap.set(el, clone);
|
|
242
|
+
this.#childObserver?.observe(el, { attributes: true });
|
|
243
|
+
}
|
|
244
|
+
this.target?.append(clone);
|
|
245
|
+
this.#enableDefaultTrack(clone);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
#syncMediaChildAttribute(mutations) {
|
|
249
|
+
for (const mutation of mutations) if (mutation.type === "attributes") {
|
|
250
|
+
const { target, attributeName } = mutation;
|
|
251
|
+
const clone = this.#childMap.get(target);
|
|
252
|
+
if (clone && attributeName) {
|
|
253
|
+
clone.setAttribute(attributeName, target.getAttribute(attributeName) ?? "");
|
|
254
|
+
this.#enableDefaultTrack(clone);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
#enableDefaultTrack(trackEl) {
|
|
259
|
+
if (trackEl && trackEl.localName === "track" && trackEl.default && (trackEl.kind === "chapters" || trackEl.kind === "metadata") && trackEl.track.mode === "disabled") trackEl.track.mode = "hidden";
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return CustomMedia;
|
|
263
|
+
}
|
|
264
|
+
function getAttrsFromProps(props) {
|
|
265
|
+
return Object.keys(props).map((prop) => props[prop]?.attribute ?? prop.toLowerCase());
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
//#endregion
|
|
269
|
+
//#region ../core/dist/dev/dom/media/media-host.js
|
|
270
|
+
const EMPTY_TIME_RANGES = Object.freeze({
|
|
271
|
+
length: 0,
|
|
272
|
+
start() {
|
|
273
|
+
return 0;
|
|
274
|
+
},
|
|
275
|
+
end() {
|
|
276
|
+
return 0;
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
var HTMLMediaElementHost = class extends EventTarget {
|
|
280
|
+
#target = null;
|
|
281
|
+
#types = /* @__PURE__ */ new Set();
|
|
282
|
+
get target() {
|
|
283
|
+
return this.#target;
|
|
284
|
+
}
|
|
285
|
+
get paused() {
|
|
286
|
+
return this.target?.paused ?? true;
|
|
287
|
+
}
|
|
288
|
+
get ended() {
|
|
289
|
+
return this.target?.ended ?? false;
|
|
290
|
+
}
|
|
291
|
+
play() {
|
|
292
|
+
return this.target?.play() ?? Promise.reject();
|
|
293
|
+
}
|
|
294
|
+
pause() {
|
|
295
|
+
this.target?.pause();
|
|
296
|
+
}
|
|
297
|
+
get currentTime() {
|
|
298
|
+
return this.target?.currentTime ?? 0;
|
|
299
|
+
}
|
|
300
|
+
set currentTime(value) {
|
|
301
|
+
if (this.target) this.target.currentTime = value;
|
|
302
|
+
}
|
|
303
|
+
get duration() {
|
|
304
|
+
return this.target?.duration ?? NaN;
|
|
305
|
+
}
|
|
306
|
+
get seeking() {
|
|
307
|
+
return this.target?.seeking ?? false;
|
|
308
|
+
}
|
|
309
|
+
get src() {
|
|
310
|
+
return this.target?.src ?? "";
|
|
311
|
+
}
|
|
312
|
+
set src(value) {
|
|
313
|
+
if (this.target) this.target.src = value;
|
|
314
|
+
}
|
|
315
|
+
get currentSrc() {
|
|
316
|
+
return this.target?.currentSrc ?? "";
|
|
317
|
+
}
|
|
318
|
+
get readyState() {
|
|
319
|
+
return this.target?.readyState ?? 0;
|
|
320
|
+
}
|
|
321
|
+
load() {
|
|
322
|
+
this.target?.load();
|
|
323
|
+
}
|
|
324
|
+
get volume() {
|
|
325
|
+
return this.target?.volume ?? 1;
|
|
326
|
+
}
|
|
327
|
+
set volume(value) {
|
|
328
|
+
if (this.target) this.target.volume = value;
|
|
329
|
+
}
|
|
330
|
+
get muted() {
|
|
331
|
+
return this.target?.muted ?? false;
|
|
332
|
+
}
|
|
333
|
+
set muted(value) {
|
|
334
|
+
if (this.target) this.target.muted = value;
|
|
335
|
+
}
|
|
336
|
+
get playbackRate() {
|
|
337
|
+
return this.target?.playbackRate ?? 1;
|
|
338
|
+
}
|
|
339
|
+
set playbackRate(value) {
|
|
340
|
+
if (this.target) this.target.playbackRate = value;
|
|
341
|
+
}
|
|
342
|
+
get buffered() {
|
|
343
|
+
return this.target?.buffered ?? EMPTY_TIME_RANGES;
|
|
344
|
+
}
|
|
345
|
+
get seekable() {
|
|
346
|
+
return this.target?.seekable ?? EMPTY_TIME_RANGES;
|
|
347
|
+
}
|
|
348
|
+
get error() {
|
|
349
|
+
return this.target?.error ?? null;
|
|
350
|
+
}
|
|
351
|
+
get textTracks() {
|
|
352
|
+
return this.target?.textTracks ?? [];
|
|
353
|
+
}
|
|
354
|
+
attach(target) {
|
|
355
|
+
if (!target || this.#target === target) return;
|
|
356
|
+
this.#target = target;
|
|
357
|
+
for (const type of this.#types) target.addEventListener(type, this.#forwardEvent);
|
|
358
|
+
}
|
|
359
|
+
detach() {
|
|
360
|
+
if (!this.#target) return;
|
|
361
|
+
for (const type of this.#types) this.#target.removeEventListener(type, this.#forwardEvent);
|
|
362
|
+
this.#target = null;
|
|
363
|
+
}
|
|
364
|
+
querySelectorAll(selectors) {
|
|
365
|
+
return this.target?.querySelectorAll(selectors) ?? [];
|
|
366
|
+
}
|
|
367
|
+
addEventListener(type, listener, options) {
|
|
368
|
+
if (!this.#types.has(type)) {
|
|
369
|
+
this.#types.add(type);
|
|
370
|
+
this.target?.addEventListener(type, this.#forwardEvent);
|
|
371
|
+
}
|
|
372
|
+
super.addEventListener(type, listener, options);
|
|
373
|
+
}
|
|
374
|
+
removeEventListener(type, listener, options) {
|
|
375
|
+
super.removeEventListener(type, listener, options);
|
|
376
|
+
}
|
|
377
|
+
#forwardEvent = (event) => {
|
|
378
|
+
this.dispatchEvent(new event.constructor(event.type, event));
|
|
379
|
+
};
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
//#endregion
|
|
383
|
+
//#region ../core/dist/dev/dom/media/video-host.js
|
|
384
|
+
var HTMLVideoElementHost = class extends HTMLMediaElementHost {
|
|
385
|
+
requestPictureInPicture() {
|
|
386
|
+
return this.target?.requestPictureInPicture() ?? Promise.reject();
|
|
387
|
+
}
|
|
388
|
+
requestFullscreen() {
|
|
389
|
+
return this.target?.requestFullscreen() ?? Promise.reject();
|
|
390
|
+
}
|
|
391
|
+
webkitEnterFullscreen() {
|
|
392
|
+
return this.target?.webkitEnterFullscreen?.();
|
|
393
|
+
}
|
|
394
|
+
webkitExitFullscreen() {
|
|
395
|
+
return this.target?.webkitExitFullscreen?.();
|
|
396
|
+
}
|
|
397
|
+
webkitSetPresentationMode(mode) {
|
|
398
|
+
return this.target?.webkitSetPresentationMode?.(mode);
|
|
399
|
+
}
|
|
400
|
+
get webkitDisplayingFullscreen() {
|
|
401
|
+
return this.target?.webkitDisplayingFullscreen ?? false;
|
|
402
|
+
}
|
|
403
|
+
get webkitPresentationMode() {
|
|
404
|
+
return this.target?.webkitPresentationMode ?? "inline";
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
//#endregion
|
|
409
|
+
export { CustomMediaElement as n, HTMLVideoElementHost as t };
|
|
410
|
+
//# sourceMappingURL=video-host-ycP7ckxU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-host-ycP7ckxU.js","names":["#define","#mediaHost","#attachToTarget","#childObserver","#syncMediaChildAttribute","#syncMediaChildren","#bridgedEventTypes","#bridgeEvent","#childMap","#enableDefaultTrack","#target","#types","#forwardEvent"],"sources":["../../utils/dist/object/omit.js","../../core/dist/dev/dom/media/custom-media-element/index.js","../../core/dist/dev/dom/media/media-host.js","../../core/dist/dev/dom/media/video-host.js"],"sourcesContent":["//#region src/object/omit.ts\n/**\n* Creates a new object without the specified keys.\n*\n* @example\n* const obj = { a: 1, b: 2, c: 3 };\n* omit(obj, ['b']); // { a: 1, c: 3 }\n*/\nfunction omit(obj, keys) {\n\tconst result = {};\n\tfor (const key in obj) if (!keys.includes(key)) result[key] = obj[key];\n\treturn result;\n}\n//#endregion\nexport { omit };\n\n//# sourceMappingURL=omit.js.map","import { omit, pick } from \"@videojs/utils/object\";\nimport { namedNodeMapToObject, serializeAttributes } from \"@videojs/utils/dom\";\nimport { kebabCase } from \"@videojs/utils/string\";\n//#region src/dom/media/custom-media-element/index.ts\n/** CSS custom property names for video elements. */\nconst VideoCSSVars = {\n\tborderRadius: \"--media-video-border-radius\",\n\tobjectFit: \"--media-object-fit\",\n\tobjectPosition: \"--media-object-position\",\n\tcaptionTrackDuration: \"--media-caption-track-duration\",\n\tcaptionTrackDelay: \"--media-caption-track-delay\",\n\tcaptionTrackY: \"--media-caption-track-y\"\n};\n/** CSS custom property names for audio elements. */\nconst AudioCSSVars = {};\n/** Helper function to generate the HTML template for video elements. */\nfunction getVideoTemplateHTML(attrs) {\n\treturn `\n <style>\n :host {\n display: contents;\n }\n\n video {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: var(${VideoCSSVars.borderRadius});\n object-fit: var(${VideoCSSVars.objectFit}, contain);\n object-position: var(${VideoCSSVars.objectPosition}, center);\n }\n\n video::-webkit-media-text-track-container {\n transition: translate var(${VideoCSSVars.captionTrackDuration}, 0) ease-out;\n transition-delay: var(${VideoCSSVars.captionTrackDelay}, 0);\n translate: 0 var(${VideoCSSVars.captionTrackY}, 0);\n scale: 0.98;\n z-index: 1;\n font-family: inherit;\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `;\n}\n/** Helper function to generate the HTML template for other elements. */\nfunction getCommonTemplateHTML(tag) {\n\treturn (attrs) => {\n\t\treturn `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n ${tag} {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <${tag}${serializeAttributes(attrs)}></${tag}>\n </slot>\n <slot></slot>\n `;\n\t};\n}\nconst excludedProperties = [\n\t\"attach\",\n\t\"detach\",\n\t\"destroy\"\n];\nfunction CustomMediaElement(tag, MediaHost) {\n\tconst mediaHostAttrToProp = /* @__PURE__ */ new Map();\n\tlet isDefined = false;\n\tclass CustomMedia extends (globalThis.HTMLElement ?? class {}) {\n\t\tstatic getTemplateHTML = tag.endsWith(\"video\") ? getVideoTemplateHTML : getCommonTemplateHTML(tag);\n\t\tstatic shadowRootOptions = { mode: \"open\" };\n\t\tstatic properties = {\n\t\t\tautoPictureInPicture: { type: Boolean },\n\t\t\tautoplay: { type: Boolean },\n\t\t\tcontrols: { type: Boolean },\n\t\t\tcontrolsList: { type: String },\n\t\t\tcrossOrigin: { type: String },\n\t\t\tdefaultMuted: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tattribute: \"muted\"\n\t\t\t},\n\t\t\tdisablePictureInPicture: { type: Boolean },\n\t\t\tdisableRemotePlayback: { type: Boolean },\n\t\t\tloading: { type: String },\n\t\t\tloop: { type: Boolean },\n\t\t\tplaysInline: { type: Boolean },\n\t\t\tposter: { type: String },\n\t\t\tpreload: { type: String },\n\t\t\tsrc: { type: String }\n\t\t};\n\t\tstatic get observedAttributes() {\n\t\t\tCustomMedia.#define(this);\n\t\t\treturn [...getAttrsFromProps(this.properties)];\n\t\t}\n\t\tstatic #define(ctor) {\n\t\t\tif (isDefined) return;\n\t\t\tisDefined = true;\n\t\t\tfor (let proto = MediaHost.prototype; proto && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) for (const prop of Object.getOwnPropertyNames(proto)) {\n\t\t\t\tif (prop in CustomMedia.prototype || excludedProperties.includes(prop)) continue;\n\t\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(proto, prop);\n\t\t\t\tif (!descriptor) continue;\n\t\t\t\tconst config = {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t};\n\t\t\t\tif (typeof descriptor.value === \"function\") config.value = function(...args) {\n\t\t\t\t\treturn this.#mediaHost[prop](...args);\n\t\t\t\t};\n\t\t\t\telse if (descriptor.get) {\n\t\t\t\t\tconfig.get = function() {\n\t\t\t\t\t\treturn this.#mediaHost[prop];\n\t\t\t\t\t};\n\t\t\t\t\tif (descriptor.set) {\n\t\t\t\t\t\tconst attr = kebabCase(prop);\n\t\t\t\t\t\tif (ctor.observedAttributes.includes(attr)) {\n\t\t\t\t\t\t\tmediaHostAttrToProp.set(attr, prop);\n\t\t\t\t\t\t\tconfig.set = function(val) {\n\t\t\t\t\t\t\t\tif (val === true || val === false || val == null) this.toggleAttribute(attr, Boolean(val));\n\t\t\t\t\t\t\t\telse this.setAttribute(attr, String(val));\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else config.set = function(val) {\n\t\t\t\t\t\t\tthis.#mediaHost[prop] = val;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tObject.defineProperty(CustomMedia.prototype, prop, config);\n\t\t\t}\n\t\t\tconst properties = ctor.properties;\n\t\t\tfor (const [prop, { type, attribute }] of Object.entries(properties)) {\n\t\t\t\tif (prop in CustomMedia.prototype) continue;\n\t\t\t\tconst attr = attribute ?? prop.toLowerCase();\n\t\t\t\tObject.defineProperty(CustomMedia.prototype, prop, {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn type === Boolean ? this.hasAttribute(attr) : this.getAttribute(attr);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tif (type === Boolean) this.toggleAttribute(attr, Boolean(val));\n\t\t\t\t\t\telse this.setAttribute(attr, val);\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t#mediaHost;\n\t\t#bridgedEventTypes = /* @__PURE__ */ new Set();\n\t\t#childMap = /* @__PURE__ */ new Map();\n\t\t#childObserver;\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t\tif (!this.shadowRoot) {\n\t\t\t\tconst ctor = this.constructor;\n\t\t\t\tthis.attachShadow(ctor.shadowRootOptions);\n\t\t\t\tconst allowedKeys = getAttrsFromProps(ctor.properties);\n\t\t\t\tconst disallowedKeys = [...mediaHostAttrToProp.keys()];\n\t\t\t\tconst attrs = omit(pick(namedNodeMapToObject(this.attributes), allowedKeys), disallowedKeys);\n\t\t\t\tif (tag && !attrs.part) attrs.part = tag;\n\t\t\t\tthis.shadowRoot.innerHTML = ctor.getTemplateHTML(attrs);\n\t\t\t}\n\t\t\tthis.#mediaHost = new MediaHost();\n\t\t\tthis.#attachToTarget();\n\t\t\tthis.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n\t\t\tthis.shadowRoot.addEventListener(\"slotchange\", () => {\n\t\t\t\tthis.#attachToTarget();\n\t\t\t\tthis.#syncMediaChildren();\n\t\t\t});\n\t\t\tthis.#syncMediaChildren();\n\t\t}\n\t\t#attachToTarget() {\n\t\t\tconst target = this.target;\n\t\t\tif (target === this.#mediaHost.target) return;\n\t\t\tif (this.#mediaHost.target) this.#mediaHost.detach();\n\t\t\tthis.#mediaHost.attach(target);\n\t\t}\n\t\tget target() {\n\t\t\treturn this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n\t\t}\n\t\tdisconnectedCallback() {\n\t\t\tif (!this.hasAttribute(\"keep-alive\")) this.#mediaHost.destroy();\n\t\t}\n\t\taddEventListener(type, listener, options) {\n\t\t\tsuper.addEventListener(type, listener, options);\n\t\t\tif (!this.#bridgedEventTypes.has(type)) {\n\t\t\t\tthis.#bridgedEventTypes.add(type);\n\t\t\t\tthis.#mediaHost.addEventListener(type, this.#bridgeEvent);\n\t\t\t}\n\t\t}\n\t\tremoveEventListener(type, listener, options) {\n\t\t\tsuper.removeEventListener(type, listener, options);\n\t\t}\n\t\t#bridgeEvent = (event) => {\n\t\t\tif (!event.composed) this.dispatchEvent(new event.constructor(event.type, event));\n\t\t};\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tconst prop = mediaHostAttrToProp.get(attrName);\n\t\t\tif (prop) {\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tconst valueType = typeof this.#mediaHost[prop];\n\t\t\t\t\tthis.#mediaHost[prop] = valueType === \"boolean\" ? newValue !== null : valueType === \"number\" ? Number(newValue) : newValue ?? \"\";\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) return;\n\t\t\tif (newValue === null) this.target?.removeAttribute(attrName);\n\t\t\telse if (this.target?.getAttribute(attrName) !== newValue) this.target?.setAttribute(attrName, newValue);\n\t\t}\n\t\t#syncMediaChildren() {\n\t\t\tconst defaultSlot = this.shadowRoot?.querySelector(\"slot:not([name])\");\n\t\t\tconst mediaChildren = new Set(defaultSlot?.assignedElements({ flatten: true }).filter((el) => el.localName === \"track\" || el.localName === \"source\"));\n\t\t\tfor (const [el, clone] of this.#childMap) if (!mediaChildren.has(el)) {\n\t\t\t\tclone.remove();\n\t\t\t\tthis.#childMap.delete(el);\n\t\t\t}\n\t\t\tfor (const el of mediaChildren) {\n\t\t\t\tlet clone = this.#childMap.get(el);\n\t\t\t\tif (!clone) {\n\t\t\t\t\tclone = el.cloneNode();\n\t\t\t\t\tthis.#childMap.set(el, clone);\n\t\t\t\t\tthis.#childObserver?.observe(el, { attributes: true });\n\t\t\t\t}\n\t\t\t\tthis.target?.append(clone);\n\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t}\n\t\t}\n\t\t#syncMediaChildAttribute(mutations) {\n\t\t\tfor (const mutation of mutations) if (mutation.type === \"attributes\") {\n\t\t\t\tconst { target, attributeName } = mutation;\n\t\t\t\tconst clone = this.#childMap.get(target);\n\t\t\t\tif (clone && attributeName) {\n\t\t\t\t\tclone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n\t\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t#enableDefaultTrack(trackEl) {\n\t\t\tif (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") trackEl.track.mode = \"hidden\";\n\t\t}\n\t}\n\treturn CustomMedia;\n}\nfunction getAttrsFromProps(props) {\n\treturn Object.keys(props).map((prop) => props[prop]?.attribute ?? prop.toLowerCase());\n}\n//#endregion\nexport { AudioCSSVars, CustomMediaElement, VideoCSSVars };\n\n//# sourceMappingURL=index.js.map","//#region src/dom/media/media-host.ts\nconst EMPTY_TIME_RANGES = Object.freeze({\n\tlength: 0,\n\tstart() {\n\t\treturn 0;\n\t},\n\tend() {\n\t\treturn 0;\n\t}\n});\nvar HTMLMediaElementHost = class extends EventTarget {\n\t#target = null;\n\t#types = /* @__PURE__ */ new Set();\n\tget target() {\n\t\treturn this.#target;\n\t}\n\tget paused() {\n\t\treturn this.target?.paused ?? true;\n\t}\n\tget ended() {\n\t\treturn this.target?.ended ?? false;\n\t}\n\tplay() {\n\t\treturn this.target?.play() ?? Promise.reject();\n\t}\n\tpause() {\n\t\tthis.target?.pause();\n\t}\n\tget currentTime() {\n\t\treturn this.target?.currentTime ?? 0;\n\t}\n\tset currentTime(value) {\n\t\tif (this.target) this.target.currentTime = value;\n\t}\n\tget duration() {\n\t\treturn this.target?.duration ?? NaN;\n\t}\n\tget seeking() {\n\t\treturn this.target?.seeking ?? false;\n\t}\n\tget src() {\n\t\treturn this.target?.src ?? \"\";\n\t}\n\tset src(value) {\n\t\tif (this.target) this.target.src = value;\n\t}\n\tget currentSrc() {\n\t\treturn this.target?.currentSrc ?? \"\";\n\t}\n\tget readyState() {\n\t\treturn this.target?.readyState ?? 0;\n\t}\n\tload() {\n\t\tthis.target?.load();\n\t}\n\tget volume() {\n\t\treturn this.target?.volume ?? 1;\n\t}\n\tset volume(value) {\n\t\tif (this.target) this.target.volume = value;\n\t}\n\tget muted() {\n\t\treturn this.target?.muted ?? false;\n\t}\n\tset muted(value) {\n\t\tif (this.target) this.target.muted = value;\n\t}\n\tget playbackRate() {\n\t\treturn this.target?.playbackRate ?? 1;\n\t}\n\tset playbackRate(value) {\n\t\tif (this.target) this.target.playbackRate = value;\n\t}\n\tget buffered() {\n\t\treturn this.target?.buffered ?? EMPTY_TIME_RANGES;\n\t}\n\tget seekable() {\n\t\treturn this.target?.seekable ?? EMPTY_TIME_RANGES;\n\t}\n\tget error() {\n\t\treturn this.target?.error ?? null;\n\t}\n\tget textTracks() {\n\t\treturn this.target?.textTracks ?? [];\n\t}\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tthis.#target = target;\n\t\tfor (const type of this.#types) target.addEventListener(type, this.#forwardEvent);\n\t}\n\tdetach() {\n\t\tif (!this.#target) return;\n\t\tfor (const type of this.#types) this.#target.removeEventListener(type, this.#forwardEvent);\n\t\tthis.#target = null;\n\t}\n\tquerySelectorAll(selectors) {\n\t\treturn this.target?.querySelectorAll(selectors) ?? [];\n\t}\n\taddEventListener(type, listener, options) {\n\t\tif (!this.#types.has(type)) {\n\t\t\tthis.#types.add(type);\n\t\t\tthis.target?.addEventListener(type, this.#forwardEvent);\n\t\t}\n\t\tsuper.addEventListener(type, listener, options);\n\t}\n\tremoveEventListener(type, listener, options) {\n\t\tsuper.removeEventListener(type, listener, options);\n\t}\n\t#forwardEvent = (event) => {\n\t\tthis.dispatchEvent(new event.constructor(event.type, event));\n\t};\n};\n//#endregion\nexport { HTMLMediaElementHost };\n\n//# sourceMappingURL=media-host.js.map","import { HTMLMediaElementHost } from \"./media-host.js\";\n//#region src/dom/media/video-host.ts\nvar HTMLVideoElementHost = class extends HTMLMediaElementHost {\n\trequestPictureInPicture() {\n\t\treturn this.target?.requestPictureInPicture() ?? Promise.reject();\n\t}\n\trequestFullscreen() {\n\t\treturn this.target?.requestFullscreen() ?? Promise.reject();\n\t}\n\twebkitEnterFullscreen() {\n\t\treturn this.target?.webkitEnterFullscreen?.();\n\t}\n\twebkitExitFullscreen() {\n\t\treturn this.target?.webkitExitFullscreen?.();\n\t}\n\twebkitSetPresentationMode(mode) {\n\t\treturn this.target?.webkitSetPresentationMode?.(mode);\n\t}\n\tget webkitDisplayingFullscreen() {\n\t\treturn this.target?.webkitDisplayingFullscreen ?? false;\n\t}\n\tget webkitPresentationMode() {\n\t\treturn this.target?.webkitPresentationMode ?? \"inline\";\n\t}\n};\n//#endregion\nexport { HTMLVideoElementHost };\n\n//# sourceMappingURL=video-host.js.map"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./compounds-
|
|
2
|
-
import "./context-
|
|
3
|
-
import "./player-
|
|
4
|
-
import "./minimal-ui-
|
|
1
|
+
import "./compounds-CM_NP-ej.js";
|
|
2
|
+
import "./context-0rI_P6jf.js";
|
|
3
|
+
import "./player-CatrGW7l.js";
|
|
4
|
+
import "./minimal-ui-cy2oEbFm.js";
|
package/cdn/video-minimal-ui.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./compounds-
|
|
1
|
+
import"./compounds-Vvz-YfXP.js";import"./context-CEFisYD0.js";import"./player-C7ajkBi4.js";import"./minimal-ui-C_G24FML.js";
|