@videojs/html 10.0.0-beta.15 → 10.0.0-beta.16
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/audio-minimal-ui.dev.js +4 -5
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +7 -8
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio-ui.dev.js +5 -5
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +23 -7
- 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 +3 -3
- package/cdn/background.js +1 -1
- package/cdn/background.js.map +1 -1
- package/cdn/context-C-IpVHEt.js +14 -0
- package/cdn/context-C-IpVHEt.js.map +1 -0
- package/cdn/{context-BjrbhiSk.js → context-CvJ83xGk.js} +2 -83
- package/cdn/context-CvJ83xGk.js.map +1 -0
- package/cdn/create-player-B_oNyyb5.js +7 -0
- package/cdn/create-player-B_oNyyb5.js.map +1 -0
- package/cdn/{create-player-p9xCO0yC.js → create-player-DckZq-sE.js} +56 -1416
- package/cdn/create-player-DckZq-sE.js.map +1 -0
- package/cdn/{hls-BriQI4q1.js → hls-CJCXZSGG.js} +8 -11
- package/cdn/{hls-BriQI4q1.js.map → hls-CJCXZSGG.js.map} +1 -1
- package/cdn/{hls-26YJVjvD.js → hls-lPH0rWmB.js} +3 -3
- package/cdn/{hls-26YJVjvD.js.map → hls-lPH0rWmB.js.map} +1 -1
- package/cdn/hotkey-B7OaweHa.js +154 -0
- package/cdn/hotkey-B7OaweHa.js.map +1 -0
- package/cdn/hotkey-BLEt77Z0.js +2 -0
- package/cdn/hotkey-BLEt77Z0.js.map +1 -0
- package/cdn/media/dash-video.dev.js +3 -4
- package/cdn/media/dash-video.dev.js.map +1 -1
- package/cdn/media/dash-video.js +2 -2
- package/cdn/media/hls-video.dev.js +4 -5
- 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.d.ts +1 -0
- package/cdn/media/mux-audio.dev.js +29 -0
- package/cdn/media/mux-audio.dev.js.map +1 -0
- package/cdn/media/mux-audio.js +2 -0
- package/cdn/media/mux-audio.js.map +1 -0
- package/cdn/media/mux-video.dev.js +5 -3099
- package/cdn/media/mux-video.dev.js.map +1 -1
- package/cdn/media/mux-video.js +1 -24
- package/cdn/media/mux-video.js.map +1 -1
- package/cdn/media/native-hls-video.dev.js +4 -4
- package/cdn/media/native-hls-video.js +1 -1
- package/cdn/media/simple-hls-video.dev.js +965 -680
- package/cdn/media/simple-hls-video.dev.js.map +1 -1
- package/cdn/media/simple-hls-video.js +6 -6
- package/cdn/media/simple-hls-video.js.map +1 -1
- package/cdn/{media-attach-mixin-DfKkofgF.js → media-attach-mixin-CMH1ziXP.js} +2 -2
- package/cdn/{media-attach-mixin-DfKkofgF.js.map → media-attach-mixin-CMH1ziXP.js.map} +1 -1
- package/cdn/{media-attach-mixin-Dv2D43tb.js → media-attach-mixin-DUzmXEJ3.js} +2 -2
- package/cdn/{media-attach-mixin-Dv2D43tb.js.map → media-attach-mixin-DUzmXEJ3.js.map} +1 -1
- package/cdn/{media-props-mixin-Dc5dpCV4.js → media-props-mixin-CZLZIhGT.js} +92 -8
- package/cdn/media-props-mixin-CZLZIhGT.js.map +1 -0
- package/cdn/media-props-mixin-DrjlZybt.js +47 -0
- package/cdn/media-props-mixin-DrjlZybt.js.map +1 -0
- package/cdn/{minimal-BUUGNZK7.js → minimal-D9Dw-L2P.js} +1 -1
- package/cdn/{minimal-BUUGNZK7.js.map → minimal-D9Dw-L2P.js.map} +1 -1
- package/cdn/{minimal-CJGOJ6pE.js → minimal-Dc5nNl_-.js} +1 -1
- package/cdn/{minimal-CJGOJ6pE.js.map → minimal-Dc5nNl_-.js.map} +1 -1
- package/cdn/mux-CBXn2z5k.js +3102 -0
- package/cdn/mux-CBXn2z5k.js.map +1 -0
- package/cdn/mux-DmGzBNIq.js +25 -0
- package/cdn/mux-DmGzBNIq.js.map +1 -0
- package/cdn/{native-hls-D2rfyyyW.js → native-hls-BCOLtRUl.js} +2 -3
- package/cdn/{native-hls-D2rfyyyW.js.map → native-hls-BCOLtRUl.js.map} +1 -1
- package/cdn/native-hls-BU8--1Kg.js +2 -0
- package/cdn/{native-hls-CjRvSXAJ.js.map → native-hls-BU8--1Kg.js.map} +1 -1
- package/cdn/player-DAmuLGE1.js +2 -0
- package/cdn/{player-Cz9-_j7J.js.map → player-DAmuLGE1.js.map} +1 -1
- package/cdn/{player-D0bhjT8X.js → player-Dbl1MUJ2.js} +3 -3
- package/cdn/{player-D0bhjT8X.js.map → player-Dbl1MUJ2.js.map} +1 -1
- package/cdn/poster-B9COb7AR.js +2 -0
- package/cdn/poster-B9COb7AR.js.map +1 -0
- package/cdn/poster-qAhnKWea.js +480 -0
- package/cdn/poster-qAhnKWea.js.map +1 -0
- package/cdn/{skin-element-DB-cKAAx.js → skin-element-DbmY-ske.js} +2 -2
- package/cdn/{skin-element-DB-cKAAx.js.map → skin-element-DbmY-ske.js.map} +1 -1
- package/cdn/{skin-element-zakTHELS.js → skin-element-ih3VrnYx.js} +2 -2
- package/cdn/{skin-element-zakTHELS.js.map → skin-element-ih3VrnYx.js.map} +1 -1
- package/cdn/video-minimal-ui.dev.js +4 -5
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +7 -8
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video-ui.dev.js +5 -5
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +26 -7
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/cdn/volume-slider-BbIc1N4U.js +8 -0
- package/cdn/volume-slider-BbIc1N4U.js.map +1 -0
- package/cdn/{volume-slider-Co5X4Z1t.js → volume-slider-C6ek7oC9.js} +1855 -386
- package/cdn/volume-slider-C6ek7oC9.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.css +23 -0
- package/dist/default/define/audio/skin.css +23 -0
- package/dist/default/define/audio/skin.js +1 -1
- package/dist/default/define/audio/skin.js.map +1 -1
- package/dist/default/define/audio/ui.js +1 -0
- package/dist/default/define/background/skin.js +1 -1
- package/dist/default/define/media/mux-audio.js +13 -0
- package/dist/default/define/media/mux-audio.js.map +1 -0
- package/dist/default/define/skin-element.js +1 -1
- package/dist/default/define/ui/hotkey.js +7 -0
- package/dist/default/define/ui/hotkey.js.map +1 -0
- package/dist/default/define/ui/slider.js +1 -1
- package/dist/default/define/ui/time-slider.js +1 -1
- package/dist/default/define/ui/volume-slider.js +1 -1
- package/dist/default/define/video/minimal-skin.css +23 -0
- package/dist/default/define/video/skin.css +23 -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 +1 -0
- package/dist/default/index.js +5 -1
- package/dist/default/media/container-element.js +16 -0
- package/dist/default/media/container-element.js.map +1 -1
- package/dist/default/media/mux-audio/index.js +18 -0
- package/dist/default/media/mux-audio/index.js.map +1 -0
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
- package/dist/default/ui/captions-button/captions-button-element.js +1 -0
- package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-element.js +1 -0
- package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
- package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
- package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
- package/dist/default/ui/hotkey/hotkey-element.js +81 -0
- package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
- package/dist/default/ui/media-button-element.js +9 -1
- package/dist/default/ui/media-button-element.js.map +1 -1
- package/dist/default/ui/mute-button/mute-button-element.js +1 -0
- package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
- package/dist/default/ui/pip-button/pip-button-element.js +1 -0
- package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/default/ui/play-button/play-button-element.js +1 -0
- package/dist/default/ui/play-button/play-button-element.js.map +1 -1
- package/dist/default/ui/popover/popover-element.js +7 -55
- package/dist/default/ui/popover/popover-element.js.map +1 -1
- package/dist/default/ui/position-controller.js +76 -0
- package/dist/default/ui/position-controller.js.map +1 -0
- package/dist/default/ui/slider/slider-element.js +1 -1
- package/dist/default/ui/slider/slider-preview-element.js +1 -1
- package/dist/default/ui/time-slider/time-slider-element.js +5 -5
- package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-element.js +8 -54
- package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
- package/dist/default/ui/volume-slider/volume-slider-element.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.css +23 -0
- package/dist/dev/define/audio/skin.css +23 -0
- package/dist/dev/define/audio/skin.d.ts.map +1 -1
- package/dist/dev/define/audio/skin.js +16 -0
- package/dist/dev/define/audio/skin.js.map +1 -1
- package/dist/dev/define/audio/ui.js +1 -0
- package/dist/dev/define/background/skin.js +1 -1
- package/dist/dev/define/media/mux-audio.d.ts +14 -0
- package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
- package/dist/dev/define/media/mux-audio.js +13 -0
- package/dist/dev/define/media/mux-audio.js.map +1 -0
- package/dist/dev/define/skin-element.d.ts +1 -1
- package/dist/dev/define/skin-element.js +1 -1
- package/dist/dev/define/ui/hotkey.d.ts +9 -0
- package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
- package/dist/dev/define/ui/hotkey.js +7 -0
- package/dist/dev/define/ui/hotkey.js.map +1 -0
- package/dist/dev/define/ui/slider.js +1 -1
- package/dist/dev/define/ui/time-slider.js +1 -1
- package/dist/dev/define/ui/volume-slider.js +1 -1
- package/dist/dev/define/video/minimal-skin.css +23 -0
- package/dist/dev/define/video/skin.css +23 -0
- package/dist/dev/define/video/skin.d.ts.map +1 -1
- package/dist/dev/define/video/skin.js +19 -0
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/ui.js +1 -0
- package/dist/dev/index.d.ts +6 -2
- package/dist/dev/index.js +5 -1
- package/dist/dev/media/container-element.d.ts +3 -0
- package/dist/dev/media/container-element.d.ts.map +1 -1
- package/dist/dev/media/container-element.js +16 -0
- package/dist/dev/media/container-element.js.map +1 -1
- package/dist/dev/media/mux-audio/index.d.ts +11 -0
- package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
- package/dist/dev/media/mux-audio/index.js +18 -0
- package/dist/dev/media/mux-audio/index.js.map +1 -0
- package/dist/dev/player/context.d.ts +4 -2
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
- package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.js +1 -0
- package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
- package/dist/dev/ui/context-part-element.d.ts +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-element.js +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
- package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
- package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
- package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
- package/dist/dev/ui/media-button-element.d.ts +2 -0
- package/dist/dev/ui/media-button-element.d.ts.map +1 -1
- package/dist/dev/ui/media-button-element.js +9 -1
- package/dist/dev/ui/media-button-element.js.map +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.js +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.js +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
- package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
- package/dist/dev/ui/play-button/play-button-element.js +1 -0
- package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
- package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-element.js +7 -55
- package/dist/dev/ui/popover/popover-element.js.map +1 -1
- package/dist/dev/ui/position-controller.js +76 -0
- package/dist/dev/ui/position-controller.js.map +1 -0
- package/dist/dev/ui/slider/slider-element.js +1 -1
- package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
- package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-preview-element.js +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
- package/dist/dev/ui/time-slider/time-slider-element.js +5 -5
- package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.js +8 -54
- package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -1
- package/package.json +8 -8
- package/cdn/context-BjrbhiSk.js.map +0 -1
- package/cdn/context-CdkhXQEw.js +0 -14
- package/cdn/context-CdkhXQEw.js.map +0 -1
- package/cdn/create-player-BqU8r8H4.js +0 -7
- package/cdn/create-player-BqU8r8H4.js.map +0 -1
- package/cdn/create-player-p9xCO0yC.js.map +0 -1
- package/cdn/delegate-B626t_Va.js +0 -2
- package/cdn/delegate-B626t_Va.js.map +0 -1
- package/cdn/delegate-BCw-LjP_.js +0 -56
- package/cdn/delegate-BCw-LjP_.js.map +0 -1
- package/cdn/media-props-mixin-Bd_N2HWy.js +0 -47
- package/cdn/media-props-mixin-Bd_N2HWy.js.map +0 -1
- package/cdn/media-props-mixin-Dc5dpCV4.js.map +0 -1
- package/cdn/native-hls-CjRvSXAJ.js +0 -2
- package/cdn/player-Cz9-_j7J.js +0 -2
- package/cdn/poster-2FPYTjyv.js +0 -2
- package/cdn/poster-2FPYTjyv.js.map +0 -1
- package/cdn/poster-gVT-J1-z.js +0 -215
- package/cdn/poster-gVT-J1-z.js.map +0 -1
- package/cdn/volume-slider-Co5X4Z1t.js.map +0 -1
- package/cdn/volume-slider-D18sXnIA.js +0 -8
- package/cdn/volume-slider-D18sXnIA.js.map +0 -1
- /package/cdn/{minimal-ui-BL9eBXck.js → minimal-ui-DXFwjywa.js} +0 -0
- /package/cdn/{minimal-ui-a1UOKF79.js → minimal-ui-jrmrxIOn.js} +0 -0
- /package/cdn/{ui-CFIgmrlA.js → ui-18UYtw8D.js} +0 -0
- /package/cdn/{ui-Ccp_LyCf.js → ui-8HVY3XSt.js} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { SliderFillElement } from "../../ui/slider/slider-fill-element.js";
|
|
2
|
+
import { SliderPreviewElement } from "../../ui/slider/slider-preview-element.js";
|
|
2
3
|
import { SliderThumbElement } from "../../ui/slider/slider-thumb-element.js";
|
|
3
4
|
import { SliderTrackElement } from "../../ui/slider/slider-track-element.js";
|
|
4
5
|
import { SliderValueElement } from "../../ui/slider/slider-value-element.js";
|
|
5
6
|
import { VolumeSliderElement } from "../../ui/volume-slider/volume-slider-element.js";
|
|
6
7
|
import { safeDefine } from "../safe-define.js";
|
|
7
|
-
import { SliderPreviewElement } from "../../ui/slider/slider-preview-element.js";
|
|
8
8
|
//#region src/define/ui/volume-slider.ts
|
|
9
9
|
safeDefine(VolumeSliderElement);
|
|
10
10
|
safeDefine(SliderFillElement);
|
|
@@ -77,6 +77,12 @@ media-tooltip-group {
|
|
|
77
77
|
height: 100%;
|
|
78
78
|
width: 100%;
|
|
79
79
|
border-radius: var(--media-border-radius, 0.75rem);
|
|
80
|
+
outline: 2px solid transparent;
|
|
81
|
+
outline-offset: 2px;
|
|
82
|
+
|
|
83
|
+
&:focus-visible {
|
|
84
|
+
outline-color: currentColor;
|
|
85
|
+
}
|
|
80
86
|
font-family:
|
|
81
87
|
Inter Variable,
|
|
82
88
|
Inter,
|
|
@@ -650,6 +656,23 @@ media-tooltip-group {
|
|
|
650
656
|
}
|
|
651
657
|
}
|
|
652
658
|
|
|
659
|
+
/* Dragging — thumb and fill follow the pointer position */
|
|
660
|
+
.media-minimal-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
|
|
661
|
+
left: var(--media-slider-pointer);
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
.media-minimal-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
|
|
665
|
+
top: calc(100% - var(--media-slider-pointer));
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
.media-minimal-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
|
|
669
|
+
width: var(--media-slider-pointer);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
.media-minimal-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
|
|
673
|
+
height: var(--media-slider-pointer);
|
|
674
|
+
}
|
|
675
|
+
|
|
653
676
|
/* ==========================================================================
|
|
654
677
|
Popups & Animations
|
|
655
678
|
========================================================================== */
|
|
@@ -77,6 +77,12 @@ media-tooltip-group {
|
|
|
77
77
|
height: 100%;
|
|
78
78
|
width: 100%;
|
|
79
79
|
border-radius: var(--media-border-radius, 2rem);
|
|
80
|
+
outline: 2px solid transparent;
|
|
81
|
+
outline-offset: 2px;
|
|
82
|
+
|
|
83
|
+
&:focus-visible {
|
|
84
|
+
outline-color: currentColor;
|
|
85
|
+
}
|
|
80
86
|
font-family:
|
|
81
87
|
Inter Variable,
|
|
82
88
|
Inter,
|
|
@@ -676,6 +682,23 @@ media-tooltip-group {
|
|
|
676
682
|
}
|
|
677
683
|
}
|
|
678
684
|
|
|
685
|
+
/* Dragging — thumb and fill follow the pointer position */
|
|
686
|
+
.media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
|
|
687
|
+
left: var(--media-slider-pointer);
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
.media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
|
|
691
|
+
top: calc(100% - var(--media-slider-pointer));
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
.media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
|
|
695
|
+
width: var(--media-slider-pointer);
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
.media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
|
|
699
|
+
height: var(--media-slider-pointer);
|
|
700
|
+
}
|
|
701
|
+
|
|
679
702
|
/* ==========================================================================
|
|
680
703
|
Popups & Tooltips
|
|
681
704
|
========================================================================== */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/define/video/skin.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/define/video/skin.ts"],"mappings":";;;;cA2Ja,gBAAA,SAAyB,WAAA;EAAA,gBACpB,OAAA;EAAA,OACT,MAAA,EAFqB,mBAAA,CAEf,WAAA;EAAA,OACN,QAAA,EAAQ,mBAAA;AAAA;AAAA,QAKT,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,gBAAA,CAAiB,OAAA,GAAU,gBAAA;EAAA;AAAA"}
|
|
@@ -127,6 +127,25 @@ function getTemplateHTML() {
|
|
|
127
127
|
</media-controls>
|
|
128
128
|
|
|
129
129
|
<div class="media-overlay"></div>
|
|
130
|
+
|
|
131
|
+
<!-- Hotkeys -->
|
|
132
|
+
<media-hotkey keys="Space" action="togglePaused"></media-hotkey>
|
|
133
|
+
<media-hotkey keys="k" action="togglePaused"></media-hotkey>
|
|
134
|
+
<media-hotkey keys="m" action="toggleMuted"></media-hotkey>
|
|
135
|
+
<media-hotkey keys="f" action="toggleFullscreen"></media-hotkey>
|
|
136
|
+
<media-hotkey keys="c" action="toggleSubtitles"></media-hotkey>
|
|
137
|
+
<media-hotkey keys="i" action="togglePiP"></media-hotkey>
|
|
138
|
+
<media-hotkey keys="ArrowRight" action="seekStep" value="5"></media-hotkey>
|
|
139
|
+
<media-hotkey keys="ArrowLeft" action="seekStep" value="-5"></media-hotkey>
|
|
140
|
+
<media-hotkey keys="l" action="seekStep" value="10"></media-hotkey>
|
|
141
|
+
<media-hotkey keys="j" action="seekStep" value="-10"></media-hotkey>
|
|
142
|
+
<media-hotkey keys="ArrowUp" action="volumeStep" value="0.05"></media-hotkey>
|
|
143
|
+
<media-hotkey keys="ArrowDown" action="volumeStep" value="-0.05"></media-hotkey>
|
|
144
|
+
<media-hotkey keys="0-9" action="seekToPercent"></media-hotkey>
|
|
145
|
+
<media-hotkey keys="Home" action="seekToPercent" value="0"></media-hotkey>
|
|
146
|
+
<media-hotkey keys="End" action="seekToPercent" value="100"></media-hotkey>
|
|
147
|
+
<media-hotkey keys=">" action="speedUp"></media-hotkey>
|
|
148
|
+
<media-hotkey keys="<" action="speedDown"></media-hotkey>
|
|
130
149
|
</media-container>
|
|
131
150
|
`;
|
|
132
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skin.js","names":["styles"],"sources":["../../../../src/define/video/skin.ts"],"sourcesContent":["import { renderIcon } from '@videojs/icons/render';\nimport { createShadowStyle, createTemplate } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\nimport { SkinElement } from '../skin-element';\nimport styles from './skin.css?inline';\n\n// Register the player, container, and all UI custom elements.\nimport './ui';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin media-default-skin--video\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <media-poster>\n <slot name=\"poster\"></slot>\n </media-poster>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n <div class=\"media-surface\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </div>\n </media-buffering-indicator>\n\n <media-error-dialog class=\"media-error\">\n <div class=\"media-error__dialog media-surface\">\n <div class=\"media-error__content\">\n <media-alert-dialog-title class=\"media-error__title\">Something went wrong.</media-alert-dialog-title>\n <media-alert-dialog-description class=\"media-error__description\"></media-alert-dialog-description>\n </div>\n <div class=\"media-error__actions\">\n <media-alert-dialog-close class=\"media-button media-button--primary\">OK</media-alert-dialog-close>\n </div>\n </div>\n </media-error-dialog>\n\n <media-controls class=\"media-surface media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--subtle media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--subtle media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time type=\"current\" class=\"media-time\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n\n <div class=\"media-surface media-preview media-slider__preview\">\n <media-slider-thumbnail class=\"media-preview__thumbnail\"></media-slider-thumbnail>\n <media-slider-value type=\"pointer\" class=\"media-time media-preview__time\"></media-slider-value>\n ${renderIcon('spinner', { class: 'media-preview__spinner media-icon' })}\n </div>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time\"></media-time>\n </div>\n\n <div class=\"media-button-group\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"media-button media-button--subtle media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-captions-button commandfor=\"captions-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--pip\">\n ${renderIcon('pip-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class VideoSkinElement extends SkinElement {\n static readonly tagName = 'video-skin';\n static styles = createShadowStyle(styles);\n static template = createTemplate(getTemplateHTML());\n}\n\nsafeDefine(VideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoSkinElement.tagName]: VideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;AASA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;;;;;;;;YAYN,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;gBAoB3C,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;gBACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;gBAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;6EAIF,CAAC,UAAU;;kBAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;kDAChC,UAAU;;;;8BAI9B,UAAU;;;4EAGoC,UAAU;;kBAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;kDACZ,UAAU;;;;6BAI/B,UAAU;;;;;;;;;;;;;;;;kBAgBrB,WAAW,WAAW,EAAE,OAAO,qCAAqC,CAAC,CAAC;;;;;;;;;;;;;gBAaxE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;gBAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;gBAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;gBAK3E,WAAW,aAAa,EAAE,OAAO,oCAAoC,CAAC,CAAC;gBACvE,WAAW,YAAY,EAAE,OAAO,mCAAmC,CAAC,CAAC;;;;;gBAKrE,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;gBACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;AAYnG,IAAa,mBAAb,cAAsC,YAAY;;iBACtB;;;gBACV,kBAAkBA,aAAO;;;kBACvB,eAAe,iBAAiB,CAAC;;;AAGrD,WAAW,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"skin.js","names":["styles"],"sources":["../../../../src/define/video/skin.ts"],"sourcesContent":["import { renderIcon } from '@videojs/icons/render';\nimport { createShadowStyle, createTemplate } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\nimport { SkinElement } from '../skin-element';\nimport styles from './skin.css?inline';\n\n// Register the player, container, and all UI custom elements.\nimport './ui';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin media-default-skin--video\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <media-poster>\n <slot name=\"poster\"></slot>\n </media-poster>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n <div class=\"media-surface\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </div>\n </media-buffering-indicator>\n\n <media-error-dialog class=\"media-error\">\n <div class=\"media-error__dialog media-surface\">\n <div class=\"media-error__content\">\n <media-alert-dialog-title class=\"media-error__title\">Something went wrong.</media-alert-dialog-title>\n <media-alert-dialog-description class=\"media-error__description\"></media-alert-dialog-description>\n </div>\n <div class=\"media-error__actions\">\n <media-alert-dialog-close class=\"media-button media-button--primary\">OK</media-alert-dialog-close>\n </div>\n </div>\n </media-error-dialog>\n\n <media-controls class=\"media-surface media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--subtle media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--subtle media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time type=\"current\" class=\"media-time\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n\n <div class=\"media-surface media-preview media-slider__preview\">\n <media-slider-thumbnail class=\"media-preview__thumbnail\"></media-slider-thumbnail>\n <media-slider-value type=\"pointer\" class=\"media-time media-preview__time\"></media-slider-value>\n ${renderIcon('spinner', { class: 'media-preview__spinner media-icon' })}\n </div>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time\"></media-time>\n </div>\n\n <div class=\"media-button-group\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"media-button media-button--subtle media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-captions-button commandfor=\"captions-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--pip\">\n ${renderIcon('pip-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-surface media-tooltip\"></media-tooltip>\n </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n\n <!-- Hotkeys -->\n <media-hotkey keys=\"Space\" action=\"togglePaused\"></media-hotkey>\n <media-hotkey keys=\"k\" action=\"togglePaused\"></media-hotkey>\n <media-hotkey keys=\"m\" action=\"toggleMuted\"></media-hotkey>\n <media-hotkey keys=\"f\" action=\"toggleFullscreen\"></media-hotkey>\n <media-hotkey keys=\"c\" action=\"toggleSubtitles\"></media-hotkey>\n <media-hotkey keys=\"i\" action=\"togglePiP\"></media-hotkey>\n <media-hotkey keys=\"ArrowRight\" action=\"seekStep\" value=\"5\"></media-hotkey>\n <media-hotkey keys=\"ArrowLeft\" action=\"seekStep\" value=\"-5\"></media-hotkey>\n <media-hotkey keys=\"l\" action=\"seekStep\" value=\"10\"></media-hotkey>\n <media-hotkey keys=\"j\" action=\"seekStep\" value=\"-10\"></media-hotkey>\n <media-hotkey keys=\"ArrowUp\" action=\"volumeStep\" value=\"0.05\"></media-hotkey>\n <media-hotkey keys=\"ArrowDown\" action=\"volumeStep\" value=\"-0.05\"></media-hotkey>\n <media-hotkey keys=\"0-9\" action=\"seekToPercent\"></media-hotkey>\n <media-hotkey keys=\"Home\" action=\"seekToPercent\" value=\"0\"></media-hotkey>\n <media-hotkey keys=\"End\" action=\"seekToPercent\" value=\"100\"></media-hotkey>\n <media-hotkey keys=\">\" action=\"speedUp\"></media-hotkey>\n <media-hotkey keys=\"<\" action=\"speedDown\"></media-hotkey>\n </media-container>\n `;\n}\n\nexport class VideoSkinElement extends SkinElement {\n static readonly tagName = 'video-skin';\n static styles = createShadowStyle(styles);\n static template = createTemplate(getTemplateHTML());\n}\n\nsafeDefine(VideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoSkinElement.tagName]: VideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;AASA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;;;;;;;;YAYN,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;gBAoB3C,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;gBACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;gBAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;6EAIF,CAAC,UAAU;;kBAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;kDAChC,UAAU;;;;8BAI9B,UAAU;;;4EAGoC,UAAU;;kBAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;kDACZ,UAAU;;;;6BAI/B,UAAU;;;;;;;;;;;;;;;;kBAgBrB,WAAW,WAAW,EAAE,OAAO,qCAAqC,CAAC,CAAC;;;;;;;;;;;;;gBAaxE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;gBAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;gBAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;gBAK3E,WAAW,aAAa,EAAE,OAAO,oCAAoC,CAAC,CAAC;gBACvE,WAAW,YAAY,EAAE,OAAO,mCAAmC,CAAC,CAAC;;;;;gBAKrE,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;gBACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BnG,IAAa,mBAAb,cAAsC,YAAY;;iBACtB;;;gBACV,kBAAkBA,aAAO;;;kBACvB,eAAe,iBAAiB,CAAC;;;AAGrD,WAAW,iBAAiB"}
|
package/dist/dev/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MediaElement, MediaElementConstructor } from "./ui/media-element.js";
|
|
2
2
|
import { MediaContainerElement } from "./media/container-element.js";
|
|
3
|
-
import { CONTAINER_CONTEXT_KEY, ContainerContext, ContainerContextValue, MEDIA_CONTEXT_KEY, MediaContext, MediaContextValue, PLAYER_CONTEXT_KEY, PlayerContext, PlayerContextValue, containerContext, mediaContext, playerContext } from "./player/context.js";
|
|
3
|
+
import { CONTAINER_CONTEXT_KEY, ContainerContext, ContainerContextConsumer, ContainerContextValue, MEDIA_CONTEXT_KEY, MediaContext, MediaContextValue, PLAYER_CONTEXT_KEY, PlayerContext, PlayerContextValue, containerContext, mediaContext, playerContext } from "./player/context.js";
|
|
4
4
|
import { PlayerConsumer, PlayerConsumerConstructor, PlayerProvider, PlayerProviderConstructor } from "./store/types.js";
|
|
5
5
|
import { ContainerMixin, ContainerMixinConfig, createContainerMixin } from "./store/container-mixin.js";
|
|
6
6
|
import { ProviderMixin, ProviderMixinConfig, createProviderMixin } from "./store/provider-mixin.js";
|
|
@@ -9,6 +9,7 @@ import { CreatePlayerConfig, CreatePlayerResult, createPlayer } from "./player/c
|
|
|
9
9
|
import { MediaAttachMixin, createMediaAttachMixin } from "./store/media-attach-mixin.js";
|
|
10
10
|
import { AlertDialogCloseElement } from "./ui/alert-dialog/alert-dialog-close-element.js";
|
|
11
11
|
import { AlertDialogContextValue, alertDialogContext } from "./ui/alert-dialog/context.js";
|
|
12
|
+
import { ContextPartElement, PartContextValue } from "./ui/context-part-element.js";
|
|
12
13
|
import { AlertDialogDescriptionElement } from "./ui/alert-dialog/alert-dialog-description-element.js";
|
|
13
14
|
import { AlertDialogElement } from "./ui/alert-dialog/alert-dialog-element.js";
|
|
14
15
|
import { AlertDialogTitleElement } from "./ui/alert-dialog/alert-dialog-title-element.js";
|
|
@@ -19,6 +20,8 @@ import { ControlsElement } from "./ui/controls/controls-element.js";
|
|
|
19
20
|
import { ControlsGroupElement } from "./ui/controls/controls-group-element.js";
|
|
20
21
|
import { ErrorDialogElement } from "./ui/error-dialog/error-dialog-element.js";
|
|
21
22
|
import { FullscreenButtonElement } from "./ui/fullscreen-button/fullscreen-button-element.js";
|
|
23
|
+
import { AriaKeyShortcutsController } from "./ui/hotkey/aria-key-shortcuts-controller.js";
|
|
24
|
+
import { HotkeyElement } from "./ui/hotkey/hotkey-element.js";
|
|
22
25
|
import { MediaUIElement } from "./ui/media-ui-element.js";
|
|
23
26
|
import { MuteButtonElement } from "./ui/mute-button/mute-button-element.js";
|
|
24
27
|
import { PiPButtonElement } from "./ui/pip-button/pip-button-element.js";
|
|
@@ -32,6 +35,7 @@ import { SliderBufferElement } from "./ui/slider/slider-buffer-element.js";
|
|
|
32
35
|
import { SliderElement } from "./ui/slider/slider-element.js";
|
|
33
36
|
import { SliderEventMap, SliderValueEventDetail } from "./ui/slider/slider-events.js";
|
|
34
37
|
import { SliderFillElement } from "./ui/slider/slider-fill-element.js";
|
|
38
|
+
import { SliderPreviewElement } from "./ui/slider/slider-preview-element.js";
|
|
35
39
|
import { SliderThumbElement } from "./ui/slider/slider-thumb-element.js";
|
|
36
40
|
import { ThumbnailElement } from "./ui/thumbnail/thumbnail-element.js";
|
|
37
41
|
import { SliderThumbnailElement } from "./ui/slider/slider-thumbnail-element.js";
|
|
@@ -48,4 +52,4 @@ import { VolumeSliderElement } from "./ui/volume-slider/volume-slider-element.js
|
|
|
48
52
|
import { DelegateMixin } from "@videojs/core";
|
|
49
53
|
import { Comparator, Selector, createSelector, shallowEqual } from "@videojs/store";
|
|
50
54
|
export * from "@videojs/core/dom";
|
|
51
|
-
export { AlertDialogCloseElement, type AlertDialogContextValue, AlertDialogDescriptionElement, AlertDialogElement, AlertDialogTitleElement, BufferingIndicatorElement, CONTAINER_CONTEXT_KEY, CaptionsButtonElement, type Comparator, ContainerContext, ContainerContextValue, ContainerMixin, ContainerMixinConfig, ControlsElement, ControlsGroupElement, CreatePlayerConfig, CreatePlayerResult, DelegateMixin, ErrorDialogElement, FullscreenButtonElement, MEDIA_CONTEXT_KEY, MediaAttachMixin, MediaButtonElement, MediaContainerElement, MediaContext, MediaContextValue, MediaElement, MediaElementConstructor, MediaUIElement, MuteButtonElement, PLAYER_CONTEXT_KEY, PiPButtonElement, PlayButtonElement, PlaybackRateButtonElement, PlayerConsumer, PlayerConsumerConstructor, PlayerContext, PlayerContextValue, PlayerController, PlayerControllerHost, PlayerProvider, PlayerProviderConstructor, PopoverElement, PosterElement, ProviderMixin, ProviderMixinConfig, SeekButtonElement, type Selector, SliderBufferElement, type SliderContextValue, SliderElement, type SliderEventMap, SliderFillElement, SliderThumbElement, SliderThumbnailElement, SliderTrackElement, SliderValueElement, type SliderValueEventDetail, ThumbnailElement, TimeElement, TimeGroupElement, TimeSeparatorElement, TimeSliderElement, TooltipElement, TooltipGroupElement, VolumeSliderElement, alertDialogContext, containerContext, createContainerMixin, createMediaAttachMixin, createPlayer, createProviderMixin, createSelector, mediaContext, playerContext, shallowEqual, sliderContext, tooltipGroupContext };
|
|
55
|
+
export { AlertDialogCloseElement, type AlertDialogContextValue, AlertDialogDescriptionElement, AlertDialogElement, AlertDialogTitleElement, AriaKeyShortcutsController, BufferingIndicatorElement, CONTAINER_CONTEXT_KEY, CaptionsButtonElement, type Comparator, ContainerContext, ContainerContextConsumer, ContainerContextValue, ContainerMixin, ContainerMixinConfig, ContextPartElement, ControlsElement, ControlsGroupElement, CreatePlayerConfig, CreatePlayerResult, DelegateMixin, ErrorDialogElement, FullscreenButtonElement, HotkeyElement, MEDIA_CONTEXT_KEY, MediaAttachMixin, MediaButtonElement, MediaContainerElement, MediaContext, MediaContextValue, MediaElement, MediaElementConstructor, MediaUIElement, MuteButtonElement, PLAYER_CONTEXT_KEY, type PartContextValue, PiPButtonElement, PlayButtonElement, PlaybackRateButtonElement, PlayerConsumer, PlayerConsumerConstructor, PlayerContext, PlayerContextValue, PlayerController, PlayerControllerHost, PlayerProvider, PlayerProviderConstructor, PopoverElement, PosterElement, ProviderMixin, ProviderMixinConfig, SeekButtonElement, type Selector, SliderBufferElement, type SliderContextValue, SliderElement, type SliderEventMap, SliderFillElement, SliderPreviewElement, SliderThumbElement, SliderThumbnailElement, SliderTrackElement, SliderValueElement, type SliderValueEventDetail, ThumbnailElement, TimeElement, TimeGroupElement, TimeSeparatorElement, TimeSliderElement, TooltipElement, TooltipGroupElement, VolumeSliderElement, alertDialogContext, containerContext, createContainerMixin, createMediaAttachMixin, createPlayer, createProviderMixin, createSelector, mediaContext, playerContext, shallowEqual, sliderContext, tooltipGroupContext };
|
package/dist/dev/index.js
CHANGED
|
@@ -8,16 +8,19 @@ import { createPlayer } from "./player/create-player.js";
|
|
|
8
8
|
import { MediaAttachMixin, createMediaAttachMixin } from "./store/media-attach-mixin.js";
|
|
9
9
|
import { alertDialogContext } from "./ui/alert-dialog/context.js";
|
|
10
10
|
import { AlertDialogCloseElement } from "./ui/alert-dialog/alert-dialog-close-element.js";
|
|
11
|
+
import { ContextPartElement } from "./ui/context-part-element.js";
|
|
11
12
|
import { AlertDialogDescriptionElement } from "./ui/alert-dialog/alert-dialog-description-element.js";
|
|
12
13
|
import { AlertDialogElement } from "./ui/alert-dialog/alert-dialog-element.js";
|
|
13
14
|
import { AlertDialogTitleElement } from "./ui/alert-dialog/alert-dialog-title-element.js";
|
|
14
15
|
import { BufferingIndicatorElement } from "./ui/buffering-indicator/buffering-indicator-element.js";
|
|
16
|
+
import { AriaKeyShortcutsController } from "./ui/hotkey/aria-key-shortcuts-controller.js";
|
|
15
17
|
import { MediaButtonElement } from "./ui/media-button-element.js";
|
|
16
18
|
import { CaptionsButtonElement } from "./ui/captions-button/captions-button-element.js";
|
|
17
19
|
import { ControlsElement } from "./ui/controls/controls-element.js";
|
|
18
20
|
import { ControlsGroupElement } from "./ui/controls/controls-group-element.js";
|
|
19
21
|
import { ErrorDialogElement } from "./ui/error-dialog/error-dialog-element.js";
|
|
20
22
|
import { FullscreenButtonElement } from "./ui/fullscreen-button/fullscreen-button-element.js";
|
|
23
|
+
import { HotkeyElement } from "./ui/hotkey/hotkey-element.js";
|
|
21
24
|
import { MediaUIElement } from "./ui/media-ui-element.js";
|
|
22
25
|
import { MuteButtonElement } from "./ui/mute-button/mute-button-element.js";
|
|
23
26
|
import { PiPButtonElement } from "./ui/pip-button/pip-button-element.js";
|
|
@@ -30,6 +33,7 @@ import { sliderContext } from "./ui/slider/context.js";
|
|
|
30
33
|
import { SliderBufferElement } from "./ui/slider/slider-buffer-element.js";
|
|
31
34
|
import { SliderElement } from "./ui/slider/slider-element.js";
|
|
32
35
|
import { SliderFillElement } from "./ui/slider/slider-fill-element.js";
|
|
36
|
+
import { SliderPreviewElement } from "./ui/slider/slider-preview-element.js";
|
|
33
37
|
import { SliderThumbElement } from "./ui/slider/slider-thumb-element.js";
|
|
34
38
|
import { ThumbnailElement } from "./ui/thumbnail/thumbnail-element.js";
|
|
35
39
|
import { SliderThumbnailElement } from "./ui/slider/slider-thumbnail-element.js";
|
|
@@ -46,4 +50,4 @@ import { VolumeSliderElement } from "./ui/volume-slider/volume-slider-element.js
|
|
|
46
50
|
import { DelegateMixin } from "@videojs/core";
|
|
47
51
|
import { createSelector, shallowEqual } from "@videojs/store";
|
|
48
52
|
export * from "@videojs/core/dom";
|
|
49
|
-
export { AlertDialogCloseElement, AlertDialogDescriptionElement, AlertDialogElement, AlertDialogTitleElement, BufferingIndicatorElement, CONTAINER_CONTEXT_KEY, CaptionsButtonElement, ControlsElement, ControlsGroupElement, DelegateMixin, ErrorDialogElement, FullscreenButtonElement, MEDIA_CONTEXT_KEY, MediaAttachMixin, MediaButtonElement, MediaContainerElement, MediaElement, MediaUIElement, MuteButtonElement, PLAYER_CONTEXT_KEY, PiPButtonElement, PlayButtonElement, PlaybackRateButtonElement, PlayerController, PopoverElement, PosterElement, SeekButtonElement, SliderBufferElement, SliderElement, SliderFillElement, SliderThumbElement, SliderThumbnailElement, SliderTrackElement, SliderValueElement, ThumbnailElement, TimeElement, TimeGroupElement, TimeSeparatorElement, TimeSliderElement, TooltipElement, TooltipGroupElement, VolumeSliderElement, alertDialogContext, containerContext, createContainerMixin, createMediaAttachMixin, createPlayer, createProviderMixin, createSelector, mediaContext, playerContext, shallowEqual, sliderContext, tooltipGroupContext };
|
|
53
|
+
export { AlertDialogCloseElement, AlertDialogDescriptionElement, AlertDialogElement, AlertDialogTitleElement, AriaKeyShortcutsController, BufferingIndicatorElement, CONTAINER_CONTEXT_KEY, CaptionsButtonElement, ContextPartElement, ControlsElement, ControlsGroupElement, DelegateMixin, ErrorDialogElement, FullscreenButtonElement, HotkeyElement, MEDIA_CONTEXT_KEY, MediaAttachMixin, MediaButtonElement, MediaContainerElement, MediaElement, MediaUIElement, MuteButtonElement, PLAYER_CONTEXT_KEY, PiPButtonElement, PlayButtonElement, PlaybackRateButtonElement, PlayerController, PopoverElement, PosterElement, SeekButtonElement, SliderBufferElement, SliderElement, SliderFillElement, SliderPreviewElement, SliderThumbElement, SliderThumbnailElement, SliderTrackElement, SliderValueElement, ThumbnailElement, TimeElement, TimeGroupElement, TimeSeparatorElement, TimeSliderElement, TooltipElement, TooltipGroupElement, VolumeSliderElement, alertDialogContext, containerContext, createContainerMixin, createMediaAttachMixin, createPlayer, createProviderMixin, createSelector, mediaContext, playerContext, shallowEqual, sliderContext, tooltipGroupContext };
|
|
@@ -5,7 +5,10 @@ import * as _videojs_core_dom0 from "@videojs/core/dom";
|
|
|
5
5
|
//#region src/media/container-element.d.ts
|
|
6
6
|
declare const MediaContainerElement_base: typeof MediaElement & PlayerConsumerConstructor<_videojs_core_dom0.AnyPlayerStore>;
|
|
7
7
|
declare class MediaContainerElement extends MediaContainerElement_base {
|
|
8
|
+
#private;
|
|
8
9
|
static readonly tagName = "media-container";
|
|
10
|
+
connectedCallback(): void;
|
|
11
|
+
disconnectedCallback(): void;
|
|
9
12
|
}
|
|
10
13
|
//#endregion
|
|
11
14
|
export { MediaContainerElement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-element.d.ts","names":[],"sources":["../../../src/media/container-element.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"container-element.d.ts","names":[],"sources":["../../../src/media/container-element.ts"],"mappings":";;;;;cAImD,0BAAA;cAItC,qBAAA,SAA8B,0BAAA;EAAA;kBACzB,OAAA;EAIP,iBAAA,CAAA;EAYA,oBAAA,CAAA;AAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { containerContext, playerContext } from "../player/context.js";
|
|
2
2
|
import { createContainerMixin } from "../store/container-mixin.js";
|
|
3
3
|
import { MediaElement } from "../ui/media-element.js";
|
|
4
|
+
import { listen } from "@videojs/utils/dom";
|
|
4
5
|
//#region src/media/container-element.ts
|
|
5
6
|
const ContainerMixin = createContainerMixin({
|
|
6
7
|
playerContext,
|
|
@@ -10,6 +11,21 @@ var MediaContainerElement = class extends ContainerMixin(MediaElement) {
|
|
|
10
11
|
static {
|
|
11
12
|
this.tagName = "media-container";
|
|
12
13
|
}
|
|
14
|
+
#disconnect = null;
|
|
15
|
+
connectedCallback() {
|
|
16
|
+
super.connectedCallback();
|
|
17
|
+
if (!this.hasAttribute("tabindex")) this.setAttribute("tabindex", "0");
|
|
18
|
+
this.#disconnect = new AbortController();
|
|
19
|
+
listen(this, "pointerup", this.#onPointerUp, { signal: this.#disconnect.signal });
|
|
20
|
+
}
|
|
21
|
+
disconnectedCallback() {
|
|
22
|
+
super.disconnectedCallback();
|
|
23
|
+
this.#disconnect?.abort();
|
|
24
|
+
this.#disconnect = null;
|
|
25
|
+
}
|
|
26
|
+
#onPointerUp = () => {
|
|
27
|
+
if (!this.contains(document.activeElement) || document.activeElement === document.body) this.focus({ preventScroll: true });
|
|
28
|
+
};
|
|
13
29
|
};
|
|
14
30
|
//#endregion
|
|
15
31
|
export { MediaContainerElement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-element.js","names":[],"sources":["../../../src/media/container-element.ts"],"sourcesContent":["import { containerContext, playerContext } from '../player/context';\nimport { createContainerMixin } from '../store/container-mixin';\nimport { MediaElement } from '../ui/media-element';\n\nconst ContainerMixin = createContainerMixin({ playerContext, containerContext });\n\nexport class MediaContainerElement extends ContainerMixin(MediaElement) {\n static readonly tagName = 'media-container';\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"container-element.js","names":["#disconnect","#onPointerUp"],"sources":["../../../src/media/container-element.ts"],"sourcesContent":["import { listen } from '@videojs/utils/dom';\n\nimport { containerContext, playerContext } from '../player/context';\nimport { createContainerMixin } from '../store/container-mixin';\nimport { MediaElement } from '../ui/media-element';\n\nconst ContainerMixin = createContainerMixin({ playerContext, containerContext });\n\nexport class MediaContainerElement extends ContainerMixin(MediaElement) {\n static readonly tagName = 'media-container';\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n // Make focusable so keyboard events reach hotkey listeners.\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', '0');\n }\n\n this.#disconnect = new AbortController();\n listen(this, 'pointerup', this.#onPointerUp, { signal: this.#disconnect.signal });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n #onPointerUp = (): void => {\n // If nothing inside the container has focus, grab it so keyboard\n // events reach the hotkey coordinator's listener.\n if (!this.contains(document.activeElement) || document.activeElement === document.body) {\n this.focus({ preventScroll: true });\n }\n };\n}\n"],"mappings":";;;;;AAMA,MAAM,iBAAiB,qBAAqB;CAAE;CAAe;CAAkB,CAAC;AAEhF,IAAa,wBAAb,cAA2C,eAAe,aAAa,CAAC;;iBAC5C;;CAE1B,cAAsC;CAEtC,oBAAmC;AACjC,QAAM,mBAAmB;AAGzB,MAAI,CAAC,KAAK,aAAa,WAAW,CAChC,MAAK,aAAa,YAAY,IAAI;AAGpC,QAAA,aAAmB,IAAI,iBAAiB;AACxC,SAAO,MAAM,aAAa,MAAA,aAAmB,EAAE,QAAQ,MAAA,WAAiB,QAAQ,CAAC;;CAGnF,uBAAsC;AACpC,QAAM,sBAAsB;AAC5B,QAAA,YAAkB,OAAO;AACzB,QAAA,aAAmB;;CAGrB,qBAA2B;AAGzB,MAAI,CAAC,KAAK,SAAS,SAAS,cAAc,IAAI,SAAS,kBAAkB,SAAS,KAChF,MAAK,MAAM,EAAE,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MuxCustomAudio } from "@videojs/core/dom/media/mux";
|
|
2
|
+
|
|
3
|
+
//#region src/media/mux-audio/index.d.ts
|
|
4
|
+
declare const MuxAudio_base: typeof MuxCustomAudio;
|
|
5
|
+
declare class MuxAudio extends MuxAudio_base {
|
|
6
|
+
constructor();
|
|
7
|
+
disconnectedCallback(): void;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { MuxAudio };
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/media/mux-audio/index.ts"],"mappings":";;;cAA+E,aAAA;cAIlE,QAAA,SAAiB,aAAA;;EAM5B,oBAAA,CAAA;AAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MediaAttachMixin } from "../../store/media-attach-mixin.js";
|
|
2
|
+
import { MediaPropsMixin } from "../../utils/media-props-mixin.js";
|
|
3
|
+
import { MuxCustomAudio, MuxMediaDelegate } from "@videojs/core/dom/media/mux";
|
|
4
|
+
//#region src/media/mux-audio/index.ts
|
|
5
|
+
var MuxAudio = class extends MediaPropsMixin(MediaAttachMixin(MuxCustomAudio), MuxMediaDelegate) {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.attach(this.target);
|
|
9
|
+
}
|
|
10
|
+
disconnectedCallback() {
|
|
11
|
+
super.disconnectedCallback?.();
|
|
12
|
+
if (!this.hasAttribute("keep-alive")) this.destroy();
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { MuxAudio };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/mux-audio/index.ts"],"sourcesContent":["import { MuxCustomAudio, MuxMediaDelegate } from '@videojs/core/dom/media/mux';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\nimport { MediaPropsMixin } from '../../utils/media-props-mixin';\n\nexport class MuxAudio extends MediaPropsMixin(MediaAttachMixin(MuxCustomAudio), MuxMediaDelegate) {\n constructor() {\n super();\n this.attach(this.target);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback?.();\n\n if (!this.hasAttribute('keep-alive')) {\n this.destroy();\n }\n }\n}\n"],"mappings":";;;;AAIA,IAAa,WAAb,cAA8B,gBAAgB,iBAAiB,eAAe,EAAE,iBAAiB,CAAC;CAChG,cAAc;AACZ,SAAO;AACP,OAAK,OAAO,KAAK,OAAO;;CAG1B,uBAA6B;AAC3B,QAAM,wBAAwB;AAE9B,MAAI,CAAC,KAAK,aAAa,aAAa,CAClC,MAAK,SAAS"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AnyPlayerStore, Media, MediaContainer, PlayerStore } from "@videojs/core/dom";
|
|
2
|
-
import { Context } from "@videojs/element/context";
|
|
2
|
+
import { Context, ContextConsumer } from "@videojs/element/context";
|
|
3
|
+
import { ReactiveControllerHost } from "@videojs/element";
|
|
3
4
|
|
|
4
5
|
//#region src/player/context.d.ts
|
|
5
6
|
declare const PLAYER_CONTEXT_KEY: unique symbol;
|
|
@@ -24,7 +25,8 @@ interface ContainerContextValue {
|
|
|
24
25
|
setContainer: (container: MediaContainer | null) => void;
|
|
25
26
|
}
|
|
26
27
|
type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;
|
|
28
|
+
type ContainerContextConsumer = ContextConsumer<ContainerContext, ReactiveControllerHost & HTMLElement>;
|
|
27
29
|
declare const containerContext: Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;
|
|
28
30
|
//#endregion
|
|
29
|
-
export { CONTAINER_CONTEXT_KEY, ContainerContext, ContainerContextValue, MEDIA_CONTEXT_KEY, MediaContext, MediaContextValue, PLAYER_CONTEXT_KEY, PlayerContext, PlayerContextValue, containerContext, mediaContext, playerContext };
|
|
31
|
+
export { CONTAINER_CONTEXT_KEY, ContainerContext, ContainerContextConsumer, ContainerContextValue, MEDIA_CONTEXT_KEY, MediaContext, MediaContextValue, PLAYER_CONTEXT_KEY, PlayerContext, PlayerContextValue, containerContext, mediaContext, playerContext };
|
|
30
32
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/player/context.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/player/context.ts"],"mappings":";;;;;cAQa,kBAAA;AAAA,KAED,kBAAA,eAAiC,WAAA,GAAc,cAAA,IAAkB,KAAA;AAAA,KAEjE,aAAA,eAA4B,WAAA,GAAc,cAAA,IAAkB,OAAA,QAC/D,kBAAA,EACP,kBAAA,CAAmB,KAAA;;;;;AAJrB;cAYa,aAAA,EAAa,OAAA,QAAA,kBAAA,EAAA,cAAA;AAAA,cAMb,iBAAA;AAAA,UAEI,iBAAA;EACf,KAAA,EAAO,KAAA;EACP,QAAA,GAAW,KAAA,EAAO,KAAA;AAAA;AAAA,KAGR,YAAA,GAAe,OAAA,QAAe,iBAAA,EAAmB,iBAAA;AAAA,cAEhD,YAAA,EAAY,OAAA,QAAA,iBAAA,EAAA,iBAAA;AAAA,cAMZ,qBAAA;AAAA,UAEI,qBAAA;EACf,SAAA,EAAW,cAAA;EACX,YAAA,GAAe,SAAA,EAAW,cAAA;AAAA;AAAA,KAGhB,gBAAA,GAAmB,OAAA,QAAe,qBAAA,EAAuB,qBAAA;AAAA,KAEzD,wBAAA,GAA2B,eAAA,CAAgB,gBAAA,EAAkB,sBAAA,GAAyB,WAAA;AAAA,cAErF,gBAAA,EAAgB,OAAA,QAAA,qBAAA,EAAA,qBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.ts"],"sourcesContent":["import type { AnyPlayerStore, Media, MediaContainer, PlayerStore } from '@videojs/core/dom';\nimport { type Context, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// Player Context\n// ----------------------------------------\n\nexport const PLAYER_CONTEXT_KEY = Symbol.for('@videojs/player');\n\nexport type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;\n\nexport type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<\n typeof PLAYER_CONTEXT_KEY,\n PlayerContextValue<Store>\n>;\n\n/**\n * The default player context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const playerContext = createContext<PlayerContextValue, typeof PLAYER_CONTEXT_KEY>(PLAYER_CONTEXT_KEY);\n\n// ----------------------------------------\n// Media Context\n// ----------------------------------------\n\nexport const MEDIA_CONTEXT_KEY = Symbol.for('@videojs/media');\n\nexport interface MediaContextValue {\n media: Media | null;\n setMedia: (media: Media | null) => void;\n}\n\nexport type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;\n\nexport const mediaContext = createContext<MediaContextValue, typeof MEDIA_CONTEXT_KEY>(MEDIA_CONTEXT_KEY);\n\n// ----------------------------------------\n// Container Context\n// ----------------------------------------\n\nexport const CONTAINER_CONTEXT_KEY = Symbol.for('@videojs/container');\n\nexport interface ContainerContextValue {\n container: MediaContainer | null;\n setContainer: (container: MediaContainer | null) => void;\n}\n\nexport type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;\n\nexport const containerContext = createContext<ContainerContextValue, typeof CONTAINER_CONTEXT_KEY>(\n CONTAINER_CONTEXT_KEY\n);\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.ts"],"sourcesContent":["import type { AnyPlayerStore, Media, MediaContainer, PlayerStore } from '@videojs/core/dom';\nimport type { ReactiveControllerHost } from '@videojs/element';\nimport { type Context, type ContextConsumer, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// Player Context\n// ----------------------------------------\n\nexport const PLAYER_CONTEXT_KEY = Symbol.for('@videojs/player');\n\nexport type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;\n\nexport type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<\n typeof PLAYER_CONTEXT_KEY,\n PlayerContextValue<Store>\n>;\n\n/**\n * The default player context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const playerContext = createContext<PlayerContextValue, typeof PLAYER_CONTEXT_KEY>(PLAYER_CONTEXT_KEY);\n\n// ----------------------------------------\n// Media Context\n// ----------------------------------------\n\nexport const MEDIA_CONTEXT_KEY = Symbol.for('@videojs/media');\n\nexport interface MediaContextValue {\n media: Media | null;\n setMedia: (media: Media | null) => void;\n}\n\nexport type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;\n\nexport const mediaContext = createContext<MediaContextValue, typeof MEDIA_CONTEXT_KEY>(MEDIA_CONTEXT_KEY);\n\n// ----------------------------------------\n// Container Context\n// ----------------------------------------\n\nexport const CONTAINER_CONTEXT_KEY = Symbol.for('@videojs/container');\n\nexport interface ContainerContextValue {\n container: MediaContainer | null;\n setContainer: (container: MediaContainer | null) => void;\n}\n\nexport type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;\n\nexport type ContainerContextConsumer = ContextConsumer<ContainerContext, ReactiveControllerHost & HTMLElement>;\n\nexport const containerContext = createContext<ContainerContextValue, typeof CONTAINER_CONTEXT_KEY>(\n CONTAINER_CONTEXT_KEY\n);\n"],"mappings":";;AAQA,MAAa,qBAAqB,OAAO,IAAI,kBAAkB;;;;;;AAc/D,MAAa,gBAAgB,cAA6D,mBAAmB;AAM7G,MAAa,oBAAoB,OAAO,IAAI,iBAAiB;AAS7D,MAAa,eAAe,cAA2D,kBAAkB;AAMzG,MAAa,wBAAwB,OAAO,IAAI,qBAAqB;AAWrE,MAAa,mBAAmB,cAC9B,sBACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog-element.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"mappings":";;;;cAiBa,kBAAA,SAA2B,YAAA;EAAA;kBACtB,OAAA;EAAA,OAEA,UAAA;;;;;EAIhB,IAAA;;EAgBS,iBAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"alert-dialog-element.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"mappings":";;;;cAiBa,kBAAA,SAA2B,YAAA;EAAA;kBACtB,OAAA;EAAA,OAEA,UAAA;;;;;EAIhB,IAAA;;EAgBS,iBAAA,CAAA;EAsBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAgBpB,MAAA,CAAO,QAAA,EAAU,cAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog-element.js","names":["#core","#provider","#titleId","#descriptionId","#dialog","#snapshot"],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"sourcesContent":["import { AlertDialogCore, AlertDialogDataAttrs, type AlertDialogInput } from '@videojs/core';\nimport {\n type AlertDialogApi,\n applyElementProps,\n applyStateDataAttrs,\n createAlertDialog,\n createTransition,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { SnapshotController } from '@videojs/store/html';\n\nimport { MediaElement } from '../media-element';\nimport { alertDialogContext } from './context';\n\nlet idCounter = 0;\n\nexport class AlertDialogElement extends MediaElement {\n static readonly tagName = 'media-alert-dialog';\n\n static override properties = {\n open: { type: Boolean },\n } satisfies PropertyDeclarationMap<'open'>;\n\n open = false;\n\n readonly #core = new AlertDialogCore();\n readonly #provider = new ContextProvider(this, { context: alertDialogContext });\n readonly #titleId = `vjs-alert-dialog-title-${idCounter++}`;\n readonly #descriptionId = `vjs-alert-dialog-desc-${idCounter++}`;\n\n #dialog: AlertDialogApi | null = null;\n #snapshot: SnapshotController<AlertDialogInput> | null = null;\n\n constructor() {\n super();\n this.#core.setTitleId(this.#titleId);\n this.#core.setDescriptionId(this.#descriptionId);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#dialog = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n this.open = nextOpen;\n this.dispatchEvent(new CustomEvent('open-change', { detail: { open: nextOpen } }));\n },\n });\n\n // Register self as the dialog element.\n this.#dialog.setElement(this);\n\n if (this.#snapshot) {\n this.#snapshot.track(this.#dialog.input);\n } else {\n this.#snapshot = new SnapshotController(this, this.#dialog.input);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#dialog?.destroy();\n this.#dialog = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n // Sync controlled open state.\n if (this.#dialog && changed.has('open')) {\n const { active: inputOpen } = this.#dialog.input.current;\n if (this.open !== inputOpen) {\n if (this.open) {\n this.#dialog.open();\n } else {\n this.#dialog.close();\n }\n }\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#dialog) return;\n\n const input = this.#dialog.input.current;\n this.#core.setInput(input);\n const state = this.#core.getState();\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, AlertDialogDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: AlertDialogDataAttrs,\n close: () => this.#dialog?.close(),\n });\n }\n}\n"],"mappings":";;;;;;;AAeA,IAAI,YAAY;AAEhB,IAAa,qBAAb,cAAwC,aAAa;;iBACzB;;;oBAEG,EAC3B,MAAM,EAAE,MAAM,SAAS,EACxB;;CAID,QAAiB,IAAI,iBAAiB;CACtC,YAAqB,IAAI,gBAAgB,MAAM,EAAE,SAAS,oBAAoB,CAAC;CAC/E,WAAoB,0BAA0B;CAC9C,iBAA0B,yBAAyB;CAEnD,UAAiC;CACjC,YAAyD;CAEzD,cAAc;AACZ,SAAO;cAXF;AAYL,QAAA,KAAW,WAAW,MAAA,QAAc;AACpC,QAAA,KAAW,iBAAiB,MAAA,cAAoB;;CAGlD,oBAAmC;AACjC,QAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"alert-dialog-element.js","names":["#core","#provider","#titleId","#descriptionId","#dialog","#snapshot"],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"sourcesContent":["import { AlertDialogCore, AlertDialogDataAttrs, type AlertDialogInput } from '@videojs/core';\nimport {\n type AlertDialogApi,\n applyElementProps,\n applyStateDataAttrs,\n createAlertDialog,\n createTransition,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { SnapshotController } from '@videojs/store/html';\n\nimport { MediaElement } from '../media-element';\nimport { alertDialogContext } from './context';\n\nlet idCounter = 0;\n\nexport class AlertDialogElement extends MediaElement {\n static readonly tagName = 'media-alert-dialog';\n\n static override properties = {\n open: { type: Boolean },\n } satisfies PropertyDeclarationMap<'open'>;\n\n open = false;\n\n readonly #core = new AlertDialogCore();\n readonly #provider = new ContextProvider(this, { context: alertDialogContext });\n readonly #titleId = `vjs-alert-dialog-title-${idCounter++}`;\n readonly #descriptionId = `vjs-alert-dialog-desc-${idCounter++}`;\n\n #dialog: AlertDialogApi | null = null;\n #snapshot: SnapshotController<AlertDialogInput> | null = null;\n\n constructor() {\n super();\n this.#core.setTitleId(this.#titleId);\n this.#core.setDescriptionId(this.#descriptionId);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#dialog = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n this.open = nextOpen;\n this.dispatchEvent(new CustomEvent('open-change', { detail: { open: nextOpen } }));\n },\n });\n\n // Register self as the dialog element.\n this.#dialog.setElement(this);\n\n if (this.#snapshot) {\n this.#snapshot.track(this.#dialog.input);\n } else {\n this.#snapshot = new SnapshotController(this, this.#dialog.input);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#dialog?.destroy();\n this.#dialog = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n // Sync controlled open state.\n if (this.#dialog && changed.has('open')) {\n const { active: inputOpen } = this.#dialog.input.current;\n if (this.open !== inputOpen) {\n if (this.open) {\n this.#dialog.open();\n } else {\n this.#dialog.close();\n }\n }\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#dialog) return;\n\n const input = this.#dialog.input.current;\n this.#core.setInput(input);\n const state = this.#core.getState();\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, AlertDialogDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: AlertDialogDataAttrs,\n close: () => this.#dialog?.close(),\n });\n }\n}\n"],"mappings":";;;;;;;AAeA,IAAI,YAAY;AAEhB,IAAa,qBAAb,cAAwC,aAAa;;iBACzB;;;oBAEG,EAC3B,MAAM,EAAE,MAAM,SAAS,EACxB;;CAID,QAAiB,IAAI,iBAAiB;CACtC,YAAqB,IAAI,gBAAgB,MAAM,EAAE,SAAS,oBAAoB,CAAC;CAC/E,WAAoB,0BAA0B;CAC9C,iBAA0B,yBAAyB;CAEnD,UAAiC;CACjC,YAAyD;CAEzD,cAAc;AACZ,SAAO;cAXF;AAYL,QAAA,KAAW,WAAW,MAAA,QAAc;AACpC,QAAA,KAAW,iBAAiB,MAAA,cAAoB;;CAGlD,oBAAmC;AACjC,QAAM,mBAAmB;AACzB,MAAI,KAAK,UAAW;AAEpB,QAAA,SAAe,kBAAkB;GAC/B,YAAY,kBAAkB;GAC9B,eAAe,aAAsB;AACnC,SAAK,OAAO;AACZ,SAAK,cAAc,IAAI,YAAY,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,EAAE,CAAC,CAAC;;GAErF,CAAC;AAGF,QAAA,OAAa,WAAW,KAAK;AAE7B,MAAI,MAAA,SACF,OAAA,SAAe,MAAM,MAAA,OAAa,MAAM;MAExC,OAAA,WAAiB,IAAI,mBAAmB,MAAM,MAAA,OAAa,MAAM;;CAIrE,uBAAsC;AACpC,QAAM,sBAAsB;AAC5B,QAAA,QAAc,SAAS;AACvB,QAAA,SAAe;;CAGjB,WAA8B,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AAGzB,MAAI,MAAA,UAAgB,QAAQ,IAAI,OAAO,EAAE;GACvC,MAAM,EAAE,QAAQ,cAAc,MAAA,OAAa,MAAM;AACjD,OAAI,KAAK,SAAS,UAChB,KAAI,KAAK,KACP,OAAA,OAAa,MAAM;OAEnB,OAAA,OAAa,OAAO;;;CAM5B,OAA0B,UAAgC;AACxD,QAAM,OAAO,SAAS;AACtB,MAAI,CAAC,MAAA,OAAc;EAEnB,MAAM,QAAQ,MAAA,OAAa,MAAM;AACjC,QAAA,KAAW,SAAS,MAAM;EAC1B,MAAM,QAAQ,MAAA,KAAW,UAAU;AAEnC,oBAAkB,MAAM,MAAA,KAAW,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,qBAAqB;AAEtD,QAAA,SAAe,SAAS;GACtB;GACA,cAAc;GACd,aAAa,MAAA,QAAc,OAAO;GACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffering-indicator-element.d.ts","names":[],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator-element.ts"],"mappings":";;;;cAQa,yBAAA,SAAkC,YAAA;EAAA;kBAC7B,OAAA;EAAA,OAEA,UAAA;;;;;EAIhB,KAAA;EAOS,iBAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"buffering-indicator-element.d.ts","names":[],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator-element.ts"],"mappings":";;;;cAQa,yBAAA,SAAkC,YAAA;EAAA;kBAC7B,OAAA;EAAA,OAEA,UAAA;;;;;EAIhB,KAAA;EAOS,iBAAA,CAAA;EAeA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAKpB,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
|
|
@@ -20,6 +20,7 @@ var BufferingIndicatorElement = class extends MediaElement {
|
|
|
20
20
|
#disconnect = null;
|
|
21
21
|
connectedCallback() {
|
|
22
22
|
super.connectedCallback();
|
|
23
|
+
if (this.destroyed) return;
|
|
23
24
|
this.#disconnect = new AbortController();
|
|
24
25
|
this.#core.state.subscribe(() => this.requestUpdate(), { signal: this.#disconnect.signal });
|
|
25
26
|
if (!this.#state.value) logMissingFeature(this.localName, this.#state.displayName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffering-indicator-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator-element.ts"],"sourcesContent":["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\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"],"mappings":";;;;;;AAQA,IAAa,4BAAb,cAA+C,aAAa;;;eAOlD,uBAAuB,aAAa;;;iBANlB;;;oBAEG,EAC3B,OAAO,EAAE,MAAM,QAAQ,EACxB;;CAID,QAAiB,IAAI,wBAAwB;CAC7C,SAAkB,IAAI,iBAAiB,MAAM,eAAe,eAAe;CAE3E,cAAsC;CAEtC,oBAAmC;AACjC,QAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"buffering-indicator-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator-element.ts"],"sourcesContent":["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"],"mappings":";;;;;;AAQA,IAAa,4BAAb,cAA+C,aAAa;;;eAOlD,uBAAuB,aAAa;;;iBANlB;;;oBAEG,EAC3B,OAAO,EAAE,MAAM,QAAQ,EACxB;;CAID,QAAiB,IAAI,wBAAwB;CAC7C,SAAkB,IAAI,iBAAiB,MAAM,eAAe,eAAe;CAE3E,cAAsC;CAEtC,oBAAmC;AACjC,QAAM,mBAAmB;AACzB,MAAI,KAAK,UAAW;AAEpB,QAAA,aAAmB,IAAI,iBAAiB;AAExC,QAAA,KAAW,MAAM,gBAAgB,KAAK,eAAe,EAAE,EACrD,QAAQ,MAAA,WAAiB,QAC1B,CAAC;AAEF,MAAe,CAAC,MAAA,MAAY,MAC1B,mBAAkB,KAAK,WAAW,MAAA,MAAY,YAAa;;CAI/D,uBAAsC;AACpC,QAAM,sBAAsB;AAC5B,QAAA,YAAkB,OAAO;AACzB,QAAA,aAAmB;;CAGrB,WAA8B,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAA,KAAW,SAAS,KAAK;;CAG3B,OAA0B,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAA,MAAY;AAE1B,MAAI,CAAC,MAAO;AAEZ,QAAA,KAAW,OAAO,MAAM;AACxB,sBAAoB,MAAM,MAAA,KAAW,MAAM,SAAS,4BAA4B"}
|
|
@@ -12,6 +12,7 @@ declare class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCor
|
|
|
12
12
|
readonly availability: "data-availability";
|
|
13
13
|
};
|
|
14
14
|
protected readonly mediaState: PlayerController<_videojs_core_dom0.AnyPlayerStore, MediaTextTrackState | undefined>;
|
|
15
|
+
protected readonly hotkeyAction = "toggleSubtitles";
|
|
15
16
|
protected activate(state: MediaTextTrackState): void;
|
|
16
17
|
}
|
|
17
18
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captions-button-element.d.ts","names":[],"sources":["../../../../src/ui/captions-button/captions-button-element.ts"],"mappings":";;;;;;cAOa,qBAAA,SAA8B,kBAAA,CAAmB,kBAAA;EAAA,gBAC5C,OAAA;EAAA,mBAEG,IAAA,EAAI,kBAAA;EAAA,mBACJ,YAAA;IAAA;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,mBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"captions-button-element.d.ts","names":[],"sources":["../../../../src/ui/captions-button/captions-button-element.ts"],"mappings":";;;;;;cAOa,qBAAA,SAA8B,kBAAA,CAAmB,kBAAA;EAAA,gBAC5C,OAAA;EAAA,mBAEG,IAAA,EAAI,kBAAA;EAAA,mBACJ,YAAA;IAAA;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,mBAAA;EAAA,mBACD,YAAA;EAAA,UAElB,QAAA,CAAS,KAAA,EAAO,mBAAA;AAAA"}
|
|
@@ -10,6 +10,7 @@ var CaptionsButtonElement = class extends MediaButtonElement {
|
|
|
10
10
|
this.core = new CaptionsButtonCore();
|
|
11
11
|
this.stateAttrMap = CaptionsButtonDataAttrs;
|
|
12
12
|
this.mediaState = new PlayerController(this, playerContext, selectTextTrack);
|
|
13
|
+
this.hotkeyAction = "toggleSubtitles";
|
|
13
14
|
}
|
|
14
15
|
static {
|
|
15
16
|
this.tagName = "media-captions-button";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captions-button-element.js","names":[],"sources":["../../../../src/ui/captions-button/captions-button-element.ts"],"sourcesContent":["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\n protected activate(state: MediaTextTrackState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,wBAAb,cAA2C,mBAAuC;;;cAGtD,IAAI,oBAAoB;sBAChB;oBACF,IAAI,iBAAiB,MAAM,eAAe,gBAAgB;;;
|
|
1
|
+
{"version":3,"file":"captions-button-element.js","names":[],"sources":["../../../../src/ui/captions-button/captions-button-element.ts"],"sourcesContent":["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"],"mappings":";;;;;;AAOA,IAAa,wBAAb,cAA2C,mBAAuC;;;cAGtD,IAAI,oBAAoB;sBAChB;oBACF,IAAI,iBAAiB,MAAM,eAAe,gBAAgB;sBAC/C;;;iBALjB;;CAO1B,SAAmB,OAAkC;AACnD,OAAK,KAAK,OAAO,MAAM"}
|
|
@@ -28,5 +28,5 @@ declare abstract class ContextPartElement<State extends object> extends MediaEle
|
|
|
28
28
|
protected update(_changed: PropertyValues): void;
|
|
29
29
|
}
|
|
30
30
|
//#endregion
|
|
31
|
-
export { ContextPartElement };
|
|
31
|
+
export { ContextPartElement, PartContextValue };
|
|
32
32
|
//# sourceMappingURL=context-part-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-dialog-element.d.ts","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog-element.ts"],"mappings":";;;;cAsBa,kBAAA,SAA2B,YAAA;EAAA;kBACtB,OAAA;;EAkBP,iBAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"error-dialog-element.d.ts","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog-element.ts"],"mappings":";;;;cAsBa,kBAAA,SAA2B,YAAA;EAAA;kBACtB,OAAA;;EAkBP,iBAAA,CAAA;EAsBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,QAAA,EAAU,cAAA;EAAA,UA0BrB,MAAA,CAAO,QAAA,EAAU,cAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-dialog-element.js","names":["#core","#provider","#titleId","#descriptionId","#errorState","#dialog","#snapshot","#lastErrorMessage"],"sources":["../../../../src/ui/error-dialog/error-dialog-element.ts"],"sourcesContent":["import { AlertDialogDataAttrs, type AlertDialogInput, ErrorDialogCore } from '@videojs/core';\nimport {\n type AlertDialogApi,\n applyElementProps,\n applyStateDataAttrs,\n createAlertDialog,\n createTransition,\n selectError,\n} from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { SnapshotController } from '@videojs/store/html';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { alertDialogContext } from '../alert-dialog/context';\nimport { MediaElement } from '../media-element';\n\nconst FALLBACK_MESSAGE = 'An error occurred. Please try again.';\n\nlet idCounter = 0;\n\nexport class ErrorDialogElement extends MediaElement {\n static readonly tagName = 'media-error-dialog';\n\n readonly #core = new ErrorDialogCore();\n readonly #provider = new ContextProvider(this, { context: alertDialogContext });\n readonly #titleId = `vjs-error-dialog-title-${idCounter++}`;\n readonly #descriptionId = `vjs-error-dialog-desc-${idCounter++}`;\n readonly #errorState = new PlayerController(this, playerContext, selectError);\n\n #dialog: AlertDialogApi | null = null;\n #snapshot: SnapshotController<AlertDialogInput> | null = null;\n #lastErrorMessage: string | null = null;\n\n constructor() {\n super();\n this.#core.setTitleId(this.#titleId);\n this.#core.setDescriptionId(this.#descriptionId);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#dialog = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n if (!nextOpen) {\n this.#errorState.value?.dismissError();\n }\n },\n });\n\n this.#dialog.setElement(this);\n\n if (this.#snapshot) {\n this.#snapshot.track(this.#dialog.input);\n } else {\n this.#snapshot = new SnapshotController(this, this.#dialog.input);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#dialog?.destroy();\n this.#dialog = null;\n }\n\n protected override willUpdate(_changed: PropertyValues): void {\n super.willUpdate(_changed);\n if (!this.#dialog) return;\n\n const errorState = this.#errorState.value;\n const hasError = Boolean(errorState?.error);\n const { active: isOpen } = this.#dialog.input.current;\n\n if (errorState?.error) {\n const message = errorState.error.message?.trim();\n this.#lastErrorMessage = message || null;\n }\n\n // Set description text before opening so content is ready for the transition.\n const desc = this.querySelector('media-alert-dialog-description');\n if (desc) {\n desc.textContent = this.#lastErrorMessage ?? FALLBACK_MESSAGE;\n }\n\n if (hasError && !isOpen) {\n this.#dialog.open();\n } else if (!hasError && isOpen) {\n this.#dialog.close();\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#dialog) return;\n\n const input = this.#dialog.input.current;\n this.#core.setInput(input);\n const state = this.#core.getState();\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, AlertDialogDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: AlertDialogDataAttrs,\n close: () => this.#dialog?.close(),\n });\n }\n}\n"],"mappings":";;;;;;;;;AAkBA,MAAM,mBAAmB;AAEzB,IAAI,YAAY;AAEhB,IAAa,qBAAb,cAAwC,aAAa;;iBACzB;;CAE1B,QAAiB,IAAI,iBAAiB;CACtC,YAAqB,IAAI,gBAAgB,MAAM,EAAE,SAAS,oBAAoB,CAAC;CAC/E,WAAoB,0BAA0B;CAC9C,iBAA0B,yBAAyB;CACnD,cAAuB,IAAI,iBAAiB,MAAM,eAAe,YAAY;CAE7E,UAAiC;CACjC,YAAyD;CACzD,oBAAmC;CAEnC,cAAc;AACZ,SAAO;AACP,QAAA,KAAW,WAAW,MAAA,QAAc;AACpC,QAAA,KAAW,iBAAiB,MAAA,cAAoB;;CAGlD,oBAAmC;AACjC,QAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"error-dialog-element.js","names":["#core","#provider","#titleId","#descriptionId","#errorState","#dialog","#snapshot","#lastErrorMessage"],"sources":["../../../../src/ui/error-dialog/error-dialog-element.ts"],"sourcesContent":["import { AlertDialogDataAttrs, type AlertDialogInput, ErrorDialogCore } from '@videojs/core';\nimport {\n type AlertDialogApi,\n applyElementProps,\n applyStateDataAttrs,\n createAlertDialog,\n createTransition,\n selectError,\n} from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { SnapshotController } from '@videojs/store/html';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { alertDialogContext } from '../alert-dialog/context';\nimport { MediaElement } from '../media-element';\n\nconst FALLBACK_MESSAGE = 'An error occurred. Please try again.';\n\nlet idCounter = 0;\n\nexport class ErrorDialogElement extends MediaElement {\n static readonly tagName = 'media-error-dialog';\n\n readonly #core = new ErrorDialogCore();\n readonly #provider = new ContextProvider(this, { context: alertDialogContext });\n readonly #titleId = `vjs-error-dialog-title-${idCounter++}`;\n readonly #descriptionId = `vjs-error-dialog-desc-${idCounter++}`;\n readonly #errorState = new PlayerController(this, playerContext, selectError);\n\n #dialog: AlertDialogApi | null = null;\n #snapshot: SnapshotController<AlertDialogInput> | null = null;\n #lastErrorMessage: string | null = null;\n\n constructor() {\n super();\n this.#core.setTitleId(this.#titleId);\n this.#core.setDescriptionId(this.#descriptionId);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#dialog = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n if (!nextOpen) {\n this.#errorState.value?.dismissError();\n }\n },\n });\n\n this.#dialog.setElement(this);\n\n if (this.#snapshot) {\n this.#snapshot.track(this.#dialog.input);\n } else {\n this.#snapshot = new SnapshotController(this, this.#dialog.input);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#dialog?.destroy();\n this.#dialog = null;\n }\n\n protected override willUpdate(_changed: PropertyValues): void {\n super.willUpdate(_changed);\n if (!this.#dialog) return;\n\n const errorState = this.#errorState.value;\n const hasError = Boolean(errorState?.error);\n const { active: isOpen } = this.#dialog.input.current;\n\n if (errorState?.error) {\n const message = errorState.error.message?.trim();\n this.#lastErrorMessage = message || null;\n }\n\n // Set description text before opening so content is ready for the transition.\n const desc = this.querySelector('media-alert-dialog-description');\n if (desc) {\n desc.textContent = this.#lastErrorMessage ?? FALLBACK_MESSAGE;\n }\n\n if (hasError && !isOpen) {\n this.#dialog.open();\n } else if (!hasError && isOpen) {\n this.#dialog.close();\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#dialog) return;\n\n const input = this.#dialog.input.current;\n this.#core.setInput(input);\n const state = this.#core.getState();\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, AlertDialogDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: AlertDialogDataAttrs,\n close: () => this.#dialog?.close(),\n });\n }\n}\n"],"mappings":";;;;;;;;;AAkBA,MAAM,mBAAmB;AAEzB,IAAI,YAAY;AAEhB,IAAa,qBAAb,cAAwC,aAAa;;iBACzB;;CAE1B,QAAiB,IAAI,iBAAiB;CACtC,YAAqB,IAAI,gBAAgB,MAAM,EAAE,SAAS,oBAAoB,CAAC;CAC/E,WAAoB,0BAA0B;CAC9C,iBAA0B,yBAAyB;CACnD,cAAuB,IAAI,iBAAiB,MAAM,eAAe,YAAY;CAE7E,UAAiC;CACjC,YAAyD;CACzD,oBAAmC;CAEnC,cAAc;AACZ,SAAO;AACP,QAAA,KAAW,WAAW,MAAA,QAAc;AACpC,QAAA,KAAW,iBAAiB,MAAA,cAAoB;;CAGlD,oBAAmC;AACjC,QAAM,mBAAmB;AACzB,MAAI,KAAK,UAAW;AAEpB,QAAA,SAAe,kBAAkB;GAC/B,YAAY,kBAAkB;GAC9B,eAAe,aAAsB;AACnC,QAAI,CAAC,SACH,OAAA,WAAiB,OAAO,cAAc;;GAG3C,CAAC;AAEF,QAAA,OAAa,WAAW,KAAK;AAE7B,MAAI,MAAA,SACF,OAAA,SAAe,MAAM,MAAA,OAAa,MAAM;MAExC,OAAA,WAAiB,IAAI,mBAAmB,MAAM,MAAA,OAAa,MAAM;;CAIrE,uBAAsC;AACpC,QAAM,sBAAsB;AAC5B,QAAA,QAAc,SAAS;AACvB,QAAA,SAAe;;CAGjB,WAA8B,UAAgC;AAC5D,QAAM,WAAW,SAAS;AAC1B,MAAI,CAAC,MAAA,OAAc;EAEnB,MAAM,aAAa,MAAA,WAAiB;EACpC,MAAM,WAAW,QAAQ,YAAY,MAAM;EAC3C,MAAM,EAAE,QAAQ,WAAW,MAAA,OAAa,MAAM;AAE9C,MAAI,YAAY,MAEd,OAAA,mBADgB,WAAW,MAAM,SAAS,MAAM,IACZ;EAItC,MAAM,OAAO,KAAK,cAAc,iCAAiC;AACjE,MAAI,KACF,MAAK,cAAc,MAAA,oBAA0B;AAG/C,MAAI,YAAY,CAAC,OACf,OAAA,OAAa,MAAM;WACV,CAAC,YAAY,OACtB,OAAA,OAAa,OAAO;;CAIxB,OAA0B,UAAgC;AACxD,QAAM,OAAO,SAAS;AACtB,MAAI,CAAC,MAAA,OAAc;EAEnB,MAAM,QAAQ,MAAA,OAAa,MAAM;AACjC,QAAA,KAAW,SAAS,MAAM;EAC1B,MAAM,QAAQ,MAAA,KAAW,UAAU;AAEnC,oBAAkB,MAAM,MAAA,KAAW,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,qBAAqB;AAEtD,QAAA,SAAe,SAAS;GACtB;GACA,cAAc;GACd,aAAa,MAAA,QAAc,OAAO;GACnC,CAAC"}
|
|
@@ -12,6 +12,7 @@ declare class FullscreenButtonElement extends MediaButtonElement<FullscreenButto
|
|
|
12
12
|
readonly availability: "data-availability";
|
|
13
13
|
};
|
|
14
14
|
protected readonly mediaState: PlayerController<_videojs_core_dom0.AnyPlayerStore, MediaFullscreenState | undefined>;
|
|
15
|
+
protected readonly hotkeyAction = "toggleFullscreen";
|
|
15
16
|
protected activate(state: MediaFullscreenState): void;
|
|
16
17
|
}
|
|
17
18
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullscreen-button-element.d.ts","names":[],"sources":["../../../../src/ui/fullscreen-button/fullscreen-button-element.ts"],"mappings":";;;;;;cAOa,uBAAA,SAAgC,kBAAA,CAAmB,oBAAA;EAAA,gBAC9C,OAAA;EAAA,mBAEG,IAAA,EAAI,oBAAA;EAAA,mBACJ,YAAA;IAAA;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,oBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"fullscreen-button-element.d.ts","names":[],"sources":["../../../../src/ui/fullscreen-button/fullscreen-button-element.ts"],"mappings":";;;;;;cAOa,uBAAA,SAAgC,kBAAA,CAAmB,oBAAA;EAAA,gBAC9C,OAAA;EAAA,mBAEG,IAAA,EAAI,oBAAA;EAAA,mBACJ,YAAA;IAAA;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,oBAAA;EAAA,mBACD,YAAA;EAAA,UAElB,QAAA,CAAS,KAAA,EAAO,oBAAA;AAAA"}
|
|
@@ -10,6 +10,7 @@ var FullscreenButtonElement = class extends MediaButtonElement {
|
|
|
10
10
|
this.core = new FullscreenButtonCore();
|
|
11
11
|
this.stateAttrMap = FullscreenButtonDataAttrs;
|
|
12
12
|
this.mediaState = new PlayerController(this, playerContext, selectFullscreen);
|
|
13
|
+
this.hotkeyAction = "toggleFullscreen";
|
|
13
14
|
}
|
|
14
15
|
static {
|
|
15
16
|
this.tagName = "media-fullscreen-button";
|