@videojs/html 10.0.0-beta.27 → 10.0.0-beta.29
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/{adapter-XTen-YVQ.js → adapter-CEnNWvii.js} +17 -4
- package/cdn/adapter-CEnNWvii.js.map +1 -0
- package/cdn/adapter-DaKW8NzI.js +2 -0
- package/cdn/adapter-DaKW8NzI.js.map +1 -0
- package/cdn/audio-headless.dev.js +1 -1
- package/cdn/audio-headless.js +1 -1
- package/cdn/audio-minimal-ui.dev.js +2 -2
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +5 -5
- 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 +2 -2
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +5 -5
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/background-video-WKumpp49.js +59 -0
- package/cdn/background-video-WKumpp49.js.map +1 -0
- package/cdn/background-video-YHY_3-lX.js +2 -0
- package/cdn/background-video-YHY_3-lX.js.map +1 -0
- package/cdn/background.dev.js +3 -56
- package/cdn/background.dev.js.map +1 -1
- package/cdn/background.js +1 -1
- package/cdn/background.js.map +1 -1
- package/cdn/bn-CcLIScl6.js +108 -0
- package/cdn/bn-CcLIScl6.js.map +1 -0
- package/cdn/bn-KcCmQhYd.js +2 -0
- package/cdn/bn-KcCmQhYd.js.map +1 -0
- package/cdn/compounds-C4YYLyL2.js +8 -0
- package/cdn/compounds-C4YYLyL2.js.map +1 -0
- package/cdn/{compounds-CCvdpvge.js → compounds-C73u1MeO.js} +68 -71
- package/cdn/compounds-C73u1MeO.js.map +1 -0
- package/cdn/container-element-Dd0ZCdhK.js +14 -0
- package/cdn/container-element-Dd0ZCdhK.js.map +1 -0
- package/cdn/container-element-HHK_KZOE.js +376 -0
- package/cdn/container-element-HHK_KZOE.js.map +1 -0
- package/cdn/create-player-BU8LDJDL.js +2 -0
- package/cdn/create-player-BU8LDJDL.js.map +1 -0
- package/cdn/{create-player-BHFyOnWi.js → create-player-Db1CIvlK.js} +76 -424
- package/cdn/create-player-Db1CIvlK.js.map +1 -0
- package/cdn/{default-BqQDVloS.js → default-A3aM0skz.js} +2 -2
- package/cdn/default-A3aM0skz.js.map +1 -0
- package/cdn/default-BDyhiTCm.js +2 -0
- package/cdn/default-BDyhiTCm.js.map +1 -0
- package/cdn/{default-I2LasfxC.js → default-C1_k1NeB.js} +2 -2
- package/cdn/default-C1_k1NeB.js.map +1 -0
- package/cdn/default-DHrMd4ie.js +2 -0
- package/cdn/default-DHrMd4ie.js.map +1 -0
- package/cdn/embed-params-D2e8u0d4.js +2 -0
- package/cdn/embed-params-D2e8u0d4.js.map +1 -0
- package/cdn/embed-params-W6T88S8x.js +39 -0
- package/cdn/embed-params-W6T88S8x.js.map +1 -0
- package/cdn/error-surface-BID4D3DW.js +59 -0
- package/cdn/error-surface-BID4D3DW.js.map +1 -0
- package/cdn/{select-tracks-nRPBa1NC.js → error-surface-D0bo71gD.js} +442 -48
- package/cdn/error-surface-D0bo71gD.js.map +1 -0
- package/cdn/{gesture-element-BNfMI8eh.js → gesture-element-CeRy1IVs.js} +2 -2
- package/cdn/gesture-element-CeRy1IVs.js.map +1 -0
- package/cdn/{gesture-element-CG-Sx_5t.js → gesture-element-DB67OYCE.js} +3 -3
- package/cdn/gesture-element-DB67OYCE.js.map +1 -0
- package/cdn/hls-js-CiE4wOrG.js +2 -0
- package/cdn/{hls-js-6lW7L4th.js.map → hls-js-CiE4wOrG.js.map} +1 -1
- package/cdn/hls-js-DBKRCbQm.js +2 -0
- package/cdn/{hls-js-DCQzjzB5.js.map → hls-js-DBKRCbQm.js.map} +1 -1
- package/cdn/{hls-js-g1zdcyvE.js → hls-js-DX2NGCAr.js} +3 -2
- package/cdn/{hls-js-g1zdcyvE.js.map → hls-js-DX2NGCAr.js.map} +1 -1
- package/cdn/{hls-js-Cwj8UBx9.js → hls-js-JeH8yvsP.js} +3 -2
- package/cdn/{hls-js-Cwj8UBx9.js.map → hls-js-JeH8yvsP.js.map} +1 -1
- package/cdn/i18n-CE4KxKuj.js +2 -0
- package/cdn/i18n-CE4KxKuj.js.map +1 -0
- package/cdn/i18n-CpBDXf6M.js +2 -0
- package/cdn/{i18n-DfKGl5Rh.js.map → i18n-CpBDXf6M.js.map} +1 -1
- package/cdn/{i18n-Mtlmj1AA.js → i18n-D0nhPa0m.js} +2 -2
- package/cdn/{i18n-Mtlmj1AA.js.map → i18n-D0nhPa0m.js.map} +1 -1
- package/cdn/i18n-DyF_NfCk.js +157 -0
- package/cdn/i18n-DyF_NfCk.js.map +1 -0
- package/cdn/i18n.dev.js +3 -152
- package/cdn/i18n.dev.js.map +1 -1
- package/cdn/i18n.js +1 -1
- package/cdn/i18n.js.map +1 -1
- package/cdn/live-button-element-Co8z2LkI.js +2 -0
- package/cdn/{live-button-element-CWfkQUoy.js.map → live-button-element-Co8z2LkI.js.map} +1 -1
- package/cdn/{live-button-element-B_y-ZJBy.js → live-button-element-zE-8uoR2.js} +5 -4
- package/cdn/live-button-element-zE-8uoR2.js.map +1 -0
- package/cdn/live-video-minimal.dev.js +12 -10
- package/cdn/live-video-minimal.dev.js.map +1 -1
- package/cdn/live-video-minimal.js +1 -1
- package/cdn/live-video-minimal.js.map +1 -1
- package/cdn/live-video.dev.js +13 -11
- package/cdn/live-video.dev.js.map +1 -1
- package/cdn/live-video.js +1 -1
- package/cdn/live-video.js.map +1 -1
- package/cdn/locales/bn.dev.js +1 -1
- package/cdn/locales/bn.js +1 -1
- package/cdn/media/background-video.dev.d.ts +1 -0
- package/cdn/media/background-video.dev.js +3 -0
- package/cdn/media/background-video.js +1 -0
- package/cdn/media/cloudflare-video.dev.d.ts +1 -0
- package/cdn/media/cloudflare-video.dev.js +668 -0
- package/cdn/media/cloudflare-video.dev.js.map +1 -0
- package/cdn/media/cloudflare-video.js +2 -0
- package/cdn/media/cloudflare-video.js.map +1 -0
- package/cdn/media/container.dev.d.ts +1 -0
- package/cdn/media/container.dev.js +8 -0
- package/cdn/media/container.dev.js.map +1 -0
- package/cdn/media/container.js +2 -0
- package/cdn/media/container.js.map +1 -0
- package/cdn/media/dash-video.dev.js +2 -1
- package/cdn/media/dash-video.js +2 -2
- package/cdn/media/dash-video.js.map +1 -1
- package/cdn/media/google-cast.dev.js +2 -31
- package/cdn/media/google-cast.dev.js.map +1 -1
- package/cdn/media/google-cast.js +3 -3
- package/cdn/media/google-cast.js.map +1 -1
- package/cdn/media/hls-audio.dev.js +2 -1
- package/cdn/media/hls-audio.js +1 -1
- package/cdn/media/hls-audio.js.map +1 -1
- package/cdn/media/hls-background-video.dev.js +2 -1
- package/cdn/media/hls-background-video.js +1 -1
- package/cdn/media/hls-background-video.js.map +1 -1
- package/cdn/media/hls-video.dev.js +2 -1
- package/cdn/media/hls-video.js +1 -1
- package/cdn/media/hls-video.js.map +1 -1
- package/cdn/media/hlsjs-video.dev.js +2 -1
- package/cdn/media/hlsjs-video.js +1 -1
- package/cdn/media/hlsjs-video.js.map +1 -1
- package/cdn/media/mux-audio/hls-js.dev.js +3 -1
- package/cdn/media/mux-audio/hls-js.js +1 -1
- package/cdn/media/mux-audio/spf.dev.js +3 -2
- package/cdn/media/mux-audio/spf.js +1 -1
- package/cdn/media/mux-audio/spf.js.map +1 -1
- package/cdn/media/mux-audio.dev.js +3 -1
- package/cdn/media/mux-audio.js +1 -1
- package/cdn/media/mux-background-video.dev.js +2 -1
- package/cdn/media/mux-background-video.js +1 -1
- package/cdn/media/mux-background-video.js.map +1 -1
- package/cdn/media/mux-data.dev.js +2 -1
- package/cdn/media/mux-data.dev.js.map +1 -1
- package/cdn/media/mux-data.js +2 -2
- package/cdn/media/mux-data.js.map +1 -1
- package/cdn/media/mux-video/hls-js.dev.js +3 -1
- package/cdn/media/mux-video/hls-js.js +1 -1
- package/cdn/media/mux-video/spf.dev.js +3 -2
- package/cdn/media/mux-video/spf.js +1 -1
- package/cdn/media/mux-video/spf.js.map +1 -1
- package/cdn/media/mux-video.dev.js +3 -1
- package/cdn/media/mux-video.js +1 -1
- package/cdn/media/native-hls-video.dev.js +1 -0
- package/cdn/media/native-hls-video.js +1 -1
- package/cdn/media/native-hls-video.js.map +1 -1
- package/cdn/media/spotify-audio.dev.d.ts +1 -0
- package/cdn/media/spotify-audio.dev.js +605 -0
- package/cdn/media/spotify-audio.dev.js.map +1 -0
- package/cdn/media/spotify-audio.js +2 -0
- package/cdn/media/spotify-audio.js.map +1 -0
- package/cdn/media/tiktok-video.dev.d.ts +1 -0
- package/cdn/media/tiktok-video.dev.js +636 -0
- package/cdn/media/tiktok-video.dev.js.map +1 -0
- package/cdn/media/tiktok-video.js +2 -0
- package/cdn/media/tiktok-video.js.map +1 -0
- package/cdn/media/twitch-video.dev.d.ts +1 -0
- package/cdn/media/twitch-video.dev.js +627 -0
- package/cdn/media/twitch-video.dev.js.map +1 -0
- package/cdn/media/twitch-video.js +2 -0
- package/cdn/media/twitch-video.js.map +1 -0
- package/cdn/media/vimeo-video.dev.d.ts +1 -0
- package/cdn/media/vimeo-video.dev.js +3011 -0
- package/cdn/media/vimeo-video.dev.js.map +1 -0
- package/cdn/media/vimeo-video.js +16 -0
- package/cdn/media/vimeo-video.js.map +1 -0
- package/cdn/media/youtube-video.dev.d.ts +1 -0
- package/cdn/media/youtube-video.dev.js +713 -0
- package/cdn/media/youtube-video.dev.js.map +1 -0
- package/cdn/media/youtube-video.js +2 -0
- package/cdn/media/youtube-video.js.map +1 -0
- package/cdn/{media-Uxm0d3Vx.js → media-BI8caj07.js} +3 -3
- package/cdn/{media-Uxm0d3Vx.js.map → media-BI8caj07.js.map} +1 -1
- package/cdn/{media-B_gQXwri.js → media-BNuI0Im7.js} +30 -8
- package/cdn/media-BNuI0Im7.js.map +1 -0
- package/cdn/{media-Cp3acYc8.js → media-BavrGKqa.js} +274 -5
- package/cdn/media-BavrGKqa.js.map +1 -0
- package/cdn/media-CQxFuDcv.js +2 -0
- package/cdn/{media-CbWsJJhU.js.map → media-CQxFuDcv.js.map} +1 -1
- package/cdn/media-CanBm0Jh.js +41 -0
- package/cdn/media-CanBm0Jh.js.map +1 -0
- package/cdn/media-D4tG62L5.js +2 -0
- package/cdn/{media-BTipOcKo.js.map → media-D4tG62L5.js.map} +1 -1
- package/cdn/{media-DRo3n8tM.js → media-DI6DvYm3.js} +4 -4
- package/cdn/{media-DRo3n8tM.js.map → media-DI6DvYm3.js.map} +1 -1
- package/cdn/media-DU3Xf5XR.js +2 -0
- package/cdn/media-DU3Xf5XR.js.map +1 -0
- package/cdn/media-mYKOAsk3.js +825 -0
- package/cdn/media-mYKOAsk3.js.map +1 -0
- package/cdn/media-played-ranges-CM2zeOGr.js +2 -0
- package/cdn/media-played-ranges-CM2zeOGr.js.map +1 -0
- package/cdn/media-played-ranges-Yd9acuMt.js +156 -0
- package/cdn/media-played-ranges-Yd9acuMt.js.map +1 -0
- package/cdn/media-zReLnePj.js +2 -0
- package/cdn/media-zReLnePj.js.map +1 -0
- package/cdn/{minimal-DQCLKRyR.js → minimal-3OmH0xQS.js} +2 -2
- package/cdn/minimal-3OmH0xQS.js.map +1 -0
- package/cdn/{minimal-DLosvq31.js → minimal-6w_Vyyl9.js} +2 -2
- package/cdn/minimal-6w_Vyyl9.js.map +1 -0
- package/cdn/minimal-BWLTn7oQ.js +2 -0
- package/cdn/minimal-BWLTn7oQ.js.map +1 -0
- package/cdn/minimal-DIGrklyh.js +2 -0
- package/cdn/minimal-DIGrklyh.js.map +1 -0
- package/cdn/{minimal-ui-Bxcpf5Mb.js → minimal-ui-BCIESK8f.js} +9 -9
- package/cdn/{minimal-ui-Bxcpf5Mb.js.map → minimal-ui-BCIESK8f.js.map} +1 -1
- package/cdn/minimal-ui-BXrq3z4U.js +2 -0
- package/cdn/{minimal-ui-BVKu9LWj.js.map → minimal-ui-BXrq3z4U.js.map} +1 -1
- package/cdn/{minimal-ui--JsmpU2q.js → minimal-ui-DEalpMk6.js} +5 -5
- package/cdn/{minimal-ui--JsmpU2q.js.map → minimal-ui-DEalpMk6.js.map} +1 -1
- package/cdn/minimal-ui-vY3QgohH.js +2 -0
- package/cdn/{minimal-ui-AFk6Ut5f.js.map → minimal-ui-vY3QgohH.js.map} +1 -1
- package/cdn/mixin-BqN0V06a.js +2 -0
- package/cdn/{mixin-DiB7dIef.js.map → mixin-BqN0V06a.js.map} +1 -1
- package/cdn/{mixin-CkNZwQXF.js → mixin-C193v40v.js} +67 -67
- package/cdn/mixin-C193v40v.js.map +1 -0
- package/cdn/noop-BxkeRIz9.js +6 -0
- package/cdn/noop-BxkeRIz9.js.map +1 -0
- package/cdn/noop-Ch0IHcOP.js +2 -0
- package/cdn/noop-Ch0IHcOP.js.map +1 -0
- package/cdn/{player-C4ix6TQq.js → player-B3GlPF90.js} +3 -2
- package/cdn/{player-C4ix6TQq.js.map → player-B3GlPF90.js.map} +1 -1
- package/cdn/player-CtTC7qa5.js +2 -0
- package/cdn/{player-B0ccW5-n.js.map → player-CtTC7qa5.js.map} +1 -1
- package/cdn/player-DKkph8UM.js +2 -0
- package/cdn/{player-srq1RGTj.js.map → player-DKkph8UM.js.map} +1 -1
- package/cdn/{player-B0qnepD5.js → player-DPDmTRvg.js} +3 -2
- package/cdn/{player-B0qnepD5.js.map → player-DPDmTRvg.js.map} +1 -1
- package/cdn/player-DrDd7LJi.js +2 -0
- package/cdn/{player-iIewo8Y9.js.map → player-DrDd7LJi.js.map} +1 -1
- package/cdn/{player-D4fdOLLk.js → player-L5UpZmT4.js} +3 -2
- package/cdn/{player-D4fdOLLk.js.map → player-L5UpZmT4.js.map} +1 -1
- package/cdn/{poster-element-BP1Ypgbf.js → poster-element-B5tdJ2ub.js} +192 -39
- package/cdn/poster-element-B5tdJ2ub.js.map +1 -0
- package/cdn/poster-element-B8QwXSU_.js +2 -0
- package/cdn/poster-element-B8QwXSU_.js.map +1 -0
- package/cdn/{error-surface-drmCvBVW.js → relocation-pipelines-Dh8CcgHw.js} +5 -343
- package/cdn/relocation-pipelines-Dh8CcgHw.js.map +1 -0
- package/cdn/relocation-pipelines-DunE4gcV.js +2 -0
- package/cdn/relocation-pipelines-DunE4gcV.js.map +1 -0
- package/cdn/script-D3ZkiqwO.js +2 -0
- package/cdn/script-D3ZkiqwO.js.map +1 -0
- package/cdn/script-erPJaaTz.js +33 -0
- package/cdn/script-erPJaaTz.js.map +1 -0
- package/cdn/{seek-button-element-TErrbilI.js → seek-button-element-5co-k0Dx.js} +7 -6
- package/cdn/seek-button-element-5co-k0Dx.js.map +1 -0
- package/cdn/seek-button-element-B8TkILg-.js +2 -0
- package/cdn/seek-button-element-B8TkILg-.js.map +1 -0
- package/cdn/shallow-equal-C7S8rj2f.js +16 -0
- package/cdn/shallow-equal-C7S8rj2f.js.map +1 -0
- package/cdn/shallow-equal-KV1zFqZi.js +2 -0
- package/cdn/shallow-equal-KV1zFqZi.js.map +1 -0
- package/cdn/{skin-element-wPSb4AAs.js → skin-element-DrkI8xuM.js} +2 -2
- package/cdn/{skin-element-wPSb4AAs.js.map → skin-element-DrkI8xuM.js.map} +1 -1
- package/cdn/{skin-element-1_MG2zgS.js → skin-element-DvX6Bxsv.js} +2 -2
- package/cdn/{skin-element-1_MG2zgS.js.map → skin-element-DvX6Bxsv.js.map} +1 -1
- package/cdn/text-element-BoY6AhMn.js +2 -0
- package/cdn/{text-element-Bsyglab8.js.map → text-element-BoY6AhMn.js.map} +1 -1
- package/cdn/{text-element-DTB9_2HX.js → text-element-cg6l21cd.js} +3 -3
- package/cdn/{text-element-DTB9_2HX.js.map → text-element-cg6l21cd.js.map} +1 -1
- package/cdn/time-slider-chapters-element-BfLjdnU4.js +2 -0
- package/cdn/time-slider-chapters-element-BfLjdnU4.js.map +1 -0
- package/cdn/{time-slider-chapters-element-DPgaLdBt.js → time-slider-chapters-element-CznFQWFm.js} +7 -6
- package/cdn/time-slider-chapters-element-CznFQWFm.js.map +1 -0
- package/cdn/{translate-text-DP0CzUCC.js → translate-text-BWvoW5-r.js} +2 -7
- package/cdn/translate-text-BWvoW5-r.js.map +1 -0
- package/cdn/translate-text-TzSgu_oe.js +2 -0
- package/cdn/translate-text-TzSgu_oe.js.map +1 -0
- package/cdn/{ui-D0AokGxw.js → ui-BwzqkJNK.js} +8 -8
- package/cdn/{ui-D0AokGxw.js.map → ui-BwzqkJNK.js.map} +1 -1
- package/cdn/ui-DayfItun.js +2 -0
- package/cdn/{ui-CecDxhTX.js.map → ui-DayfItun.js.map} +1 -1
- package/cdn/ui-PSnD-pv8.js +2 -0
- package/cdn/{ui-ChWM6Xz2.js.map → ui-PSnD-pv8.js.map} +1 -1
- package/cdn/{ui-p36Szn71.js → ui-fnKp94a7.js} +10 -10
- package/cdn/{ui-p36Szn71.js.map → ui-fnKp94a7.js.map} +1 -1
- package/cdn/video-headless.dev.js +1 -1
- package/cdn/video-headless.js +1 -1
- package/cdn/video-minimal-ui.dev.js +2 -2
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +8 -6
- 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 +2 -2
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +9 -7
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/dist/default/__generated__/skins/default-video/styles/buttons.css +132 -18
- package/dist/default/__generated__/skins/default-video/styles/captions.css +22 -0
- package/dist/default/__generated__/skins/default-video/styles/container.css +121 -8
- package/dist/default/__generated__/skins/default-video/styles/controls.css +436 -21
- package/dist/default/__generated__/skins/default-video/styles/dialog.css +169 -0
- package/dist/default/__generated__/skins/default-video/styles/indicator.css +459 -0
- package/dist/default/__generated__/skins/default-video/styles/menus.css +254 -0
- package/dist/default/__generated__/skins/default-video/styles/overlays.css +26 -2
- package/dist/default/__generated__/skins/default-video/styles/popups.css +338 -12
- package/dist/default/__generated__/skins/default-video/styles/poster.css +4 -4
- package/dist/default/__generated__/skins/default-video/styles/sliders.css +355 -31
- package/dist/default/__generated__/skins/default-video/styles/styles.css +2455 -216
- package/dist/default/__generated__/skins/default-video/styles/theme.css +4 -19
- package/dist/default/__generated__/skins/default-video/styles/video.css +29 -0
- package/dist/default/__generated__/skins/minimal-video/styles/base.css +25 -0
- package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +266 -0
- package/dist/default/__generated__/skins/minimal-video/styles/captions.css +22 -0
- package/dist/default/__generated__/skins/minimal-video/styles/container.css +158 -0
- package/dist/default/__generated__/skins/minimal-video/styles/controls.css +182 -0
- package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +77 -0
- package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +322 -0
- package/dist/default/__generated__/skins/minimal-video/styles/menus.css +254 -0
- package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +35 -0
- package/dist/default/__generated__/skins/minimal-video/styles/popups.css +371 -0
- package/dist/default/__generated__/skins/minimal-video/styles/poster.css +47 -0
- package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +436 -0
- package/dist/default/__generated__/skins/minimal-video/styles/styles.css +2246 -0
- package/dist/default/__generated__/skins/minimal-video/styles/theme.css +7 -0
- package/dist/default/__generated__/skins/minimal-video/styles/video.css +29 -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/live-audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/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 +117 -118
- package/dist/default/define/audio/skin.css +95 -99
- package/dist/default/define/live-audio/minimal-skin.css +117 -118
- package/dist/default/define/live-audio/skin.css +95 -99
- package/dist/default/define/live-video/minimal-skin.css +158 -137
- package/dist/default/define/live-video/minimal-skin.js +1 -1
- package/dist/default/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/define/live-video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/live-video/skin.css +120 -106
- package/dist/default/define/live-video/skin.js +1 -1
- package/dist/default/define/live-video/skin.js.map +1 -1
- package/dist/default/define/live-video/skin.tailwind.js +1 -1
- package/dist/default/define/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/define/ui/gesture.js +7 -0
- package/dist/default/define/ui/gesture.js.map +1 -0
- package/dist/default/define/video/minimal-skin.css +158 -137
- package/dist/default/define/video/minimal-skin.js +1 -1
- package/dist/default/define/video/minimal-skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/video/skin.css +120 -106
- package/dist/default/define/video/skin.js +1 -1
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/skin.tailwind.js +1 -1
- package/dist/default/define/video/skin.tailwind.js.map +1 -1
- package/dist/default/icons/dist/element/default/icons.js +1 -1
- package/dist/default/icons/dist/element/default/icons.js.map +1 -1
- package/dist/default/icons/dist/element/minimal/icons.js +1 -1
- package/dist/default/icons/dist/element/minimal/icons.js.map +1 -1
- package/dist/default/icons/dist/html/default/airplay-exit.js +1 -1
- package/dist/default/icons/dist/html/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/html/minimal/airplay-exit.js +1 -1
- package/dist/default/icons/dist/html/minimal/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/render/default/index.js +1 -1
- package/dist/default/icons/dist/render/default/index.js.map +1 -1
- package/dist/default/icons/dist/render/minimal/index.js +1 -1
- package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
- package/dist/default/media/hls-background-video/media.js +18 -0
- package/dist/default/media/hls-background-video/media.js.map +1 -1
- package/dist/default/media/tiktok-video/media.js +3 -2
- package/dist/default/media/tiktok-video/media.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +8 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +3 -3
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -6
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +4 -4
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/store/provider-mixin.js +22 -8
- package/dist/default/store/provider-mixin.js.map +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group-element.js +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
- package/dist/default/ui/gesture/gesture-element.js.map +1 -1
- package/dist/default/ui/hotkey/hotkey-element.js.map +1 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/menu-element.js +28 -27
- package/dist/default/ui/menu/menu-element.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group-element.js +14 -14
- package/dist/default/ui/menu/menu-radio-group-element.js.map +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
- package/dist/default/ui/poster/poster-element.js +138 -8
- package/dist/default/ui/poster/poster-element.js.map +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group-element.js +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
- package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
- package/dist/dev/__generated__/skins/default-video/styles/buttons.css +132 -18
- package/dist/dev/__generated__/skins/default-video/styles/captions.css +22 -0
- package/dist/dev/__generated__/skins/default-video/styles/container.css +121 -8
- package/dist/dev/__generated__/skins/default-video/styles/controls.css +436 -21
- package/dist/dev/__generated__/skins/default-video/styles/dialog.css +169 -0
- package/dist/dev/__generated__/skins/default-video/styles/indicator.css +459 -0
- package/dist/dev/__generated__/skins/default-video/styles/menus.css +254 -0
- package/dist/dev/__generated__/skins/default-video/styles/overlays.css +26 -2
- package/dist/dev/__generated__/skins/default-video/styles/popups.css +338 -12
- package/dist/dev/__generated__/skins/default-video/styles/poster.css +4 -4
- package/dist/dev/__generated__/skins/default-video/styles/sliders.css +355 -31
- package/dist/dev/__generated__/skins/default-video/styles/styles.css +2455 -216
- package/dist/dev/__generated__/skins/default-video/styles/theme.css +4 -19
- package/dist/dev/__generated__/skins/default-video/styles/video.css +29 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/base.css +25 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +266 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +22 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/container.css +158 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +182 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +77 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +322 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +254 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +35 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +371 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +47 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +436 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +2246 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +7 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/video.css +29 -0
- 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/live-audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/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 +117 -118
- package/dist/dev/define/audio/skin.css +95 -99
- package/dist/dev/define/live-audio/minimal-skin.css +117 -118
- package/dist/dev/define/live-audio/skin.css +95 -99
- package/dist/dev/define/live-video/minimal-skin.css +158 -137
- package/dist/dev/define/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.js +3 -1
- package/dist/dev/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.js +3 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/live-video/skin.css +120 -106
- package/dist/dev/define/live-video/skin.d.ts.map +1 -1
- package/dist/dev/define/live-video/skin.js +3 -1
- package/dist/dev/define/live-video/skin.js.map +1 -1
- package/dist/dev/define/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/live-video/skin.tailwind.js +4 -2
- package/dist/dev/define/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/define/ui/gesture.d.ts +8 -0
- package/dist/dev/define/ui/gesture.d.ts.map +1 -0
- package/dist/dev/define/ui/gesture.js +7 -0
- package/dist/dev/define/ui/gesture.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.css +158 -137
- package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.js +3 -1
- package/dist/dev/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js +3 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/skin.css +120 -106
- package/dist/dev/define/video/skin.d.ts.map +1 -1
- package/dist/dev/define/video/skin.js +3 -1
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/skin.tailwind.js +4 -2
- package/dist/dev/define/video/skin.tailwind.js.map +1 -1
- package/dist/dev/media/hls-background-video/media.d.ts +16 -0
- package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-background-video/media.js +18 -0
- package/dist/dev/media/hls-background-video/media.js.map +1 -1
- package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
- package/dist/dev/media/tiktok-video/media.js +10 -7
- package/dist/dev/media/tiktok-video/media.js.map +1 -1
- package/dist/dev/packages/icons/dist/element/default/icons.js +1 -1
- package/dist/dev/packages/icons/dist/element/default/icons.js.map +1 -1
- package/dist/dev/packages/icons/dist/element/minimal/icons.js +1 -1
- package/dist/dev/packages/icons/dist/element/minimal/icons.js.map +1 -1
- package/dist/dev/packages/icons/dist/html/default/airplay-exit.js +1 -1
- package/dist/dev/packages/icons/dist/html/default/airplay-exit.js.map +1 -1
- package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js +1 -1
- package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/packages/icons/dist/render/default/index.js +1 -1
- package/dist/dev/packages/icons/dist/render/default/index.js.map +1 -1
- package/dist/dev/packages/icons/dist/render/minimal/index.js +1 -1
- package/dist/dev/packages/icons/dist/render/minimal/index.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +3 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +8 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +3 -3
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -6
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js +4 -4
- package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/store/provider-mixin.d.ts.map +1 -1
- package/dist/dev/store/provider-mixin.js +24 -8
- package/dist/dev/store/provider-mixin.js.map +1 -1
- package/dist/dev/store/types.d.ts +2 -2
- package/dist/dev/store/types.d.ts.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
- package/dist/dev/ui/gesture/gesture-element.d.ts +7 -7
- package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -1
- package/dist/dev/ui/gesture/gesture-element.js.map +1 -1
- package/dist/dev/ui/hotkey/hotkey-element.d.ts +6 -6
- package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts +8 -8
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/menu-element.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-element.js +28 -27
- package/dist/dev/ui/menu/menu-element.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group-element.d.ts +1 -1
- package/dist/dev/ui/menu/menu-radio-group-element.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group-element.js +14 -14
- package/dist/dev/ui/menu/menu-radio-group-element.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
- package/dist/dev/ui/poster/poster-element.d.ts +20 -18
- package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster-element.js +145 -8
- package/dist/dev/ui/poster/poster-element.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview-element.d.ts +2 -2
- package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/features.md +2 -2
- package/docs/concepts/media-sources.md +79 -1
- package/docs/concepts/skins.md +122 -108
- package/docs/how-to/build-your-own-component.md +1 -1
- package/docs/how-to/customize-skins.md +499 -469
- package/docs/how-to/migrate-from-media-chrome.md +359 -0
- package/docs/how-to/migrate-from-mux-player.md +535 -0
- package/docs/how-to/migrate-from-plyr.md +394 -0
- package/docs/how-to/migrate-from-video-js-8.md +594 -0
- package/docs/llms.txt +9 -0
- package/docs/reference/feature-volume.md +3 -1
- package/docs/reference/menu.md +3 -19
- package/docs/reference/mute-button.md +34 -0
- package/docs/reference/popover.md +2 -2
- package/docs/reference/poster.md +211 -21
- package/docs/reference/slider.md +1 -1
- package/docs/reference/time-slider.md +1 -1
- package/docs/reference/tooltip.md +6 -6
- package/docs/reference/volume-slider.md +2 -2
- package/package.json +15 -9
- package/cdn/adapter-Bk03SAxn.js +0 -2
- package/cdn/adapter-Bk03SAxn.js.map +0 -1
- package/cdn/adapter-XTen-YVQ.js.map +0 -1
- package/cdn/bn-DdelKD_n.js +0 -108
- package/cdn/bn-DdelKD_n.js.map +0 -1
- package/cdn/bn-YS8ruMcO.js +0 -2
- package/cdn/bn-YS8ruMcO.js.map +0 -1
- package/cdn/compounds-CCvdpvge.js.map +0 -1
- package/cdn/compounds-CJ6SbYAh.js +0 -8
- package/cdn/compounds-CJ6SbYAh.js.map +0 -1
- package/cdn/create-player-BHFyOnWi.js.map +0 -1
- package/cdn/create-player-CbpxjDaZ.js +0 -14
- package/cdn/create-player-CbpxjDaZ.js.map +0 -1
- package/cdn/default-BqQDVloS.js.map +0 -1
- package/cdn/default-CXWVp2oG.js +0 -2
- package/cdn/default-CXWVp2oG.js.map +0 -1
- package/cdn/default-Dw6cIEqT.js +0 -2
- package/cdn/default-Dw6cIEqT.js.map +0 -1
- package/cdn/default-I2LasfxC.js.map +0 -1
- package/cdn/error-surface-DCT1m2p1.js +0 -2
- package/cdn/error-surface-DCT1m2p1.js.map +0 -1
- package/cdn/error-surface-drmCvBVW.js.map +0 -1
- package/cdn/gesture-element-BNfMI8eh.js.map +0 -1
- package/cdn/gesture-element-CG-Sx_5t.js.map +0 -1
- package/cdn/hls-js-6lW7L4th.js +0 -2
- package/cdn/hls-js-DCQzjzB5.js +0 -2
- package/cdn/i18n-DfKGl5Rh.js +0 -2
- package/cdn/live-button-element-B_y-ZJBy.js.map +0 -1
- package/cdn/live-button-element-CWfkQUoy.js +0 -2
- package/cdn/media-5ODYtX1-.js +0 -2
- package/cdn/media-5ODYtX1-.js.map +0 -1
- package/cdn/media-BTipOcKo.js +0 -2
- package/cdn/media-B_gQXwri.js.map +0 -1
- package/cdn/media-CPWNSZFX.js +0 -41
- package/cdn/media-CPWNSZFX.js.map +0 -1
- package/cdn/media-CbWsJJhU.js +0 -2
- package/cdn/media-Cp3acYc8.js.map +0 -1
- package/cdn/media-Dq4zmIJa2.js +0 -2
- package/cdn/media-Dq4zmIJa2.js.map +0 -1
- package/cdn/media-suYcjCG22.js +0 -445
- package/cdn/media-suYcjCG22.js.map +0 -1
- package/cdn/minimal-BedCvMBG.js +0 -2
- package/cdn/minimal-BedCvMBG.js.map +0 -1
- package/cdn/minimal-BoP112ye.js +0 -2
- package/cdn/minimal-BoP112ye.js.map +0 -1
- package/cdn/minimal-DLosvq31.js.map +0 -1
- package/cdn/minimal-DQCLKRyR.js.map +0 -1
- package/cdn/minimal-ui-AFk6Ut5f.js +0 -2
- package/cdn/minimal-ui-BVKu9LWj.js +0 -2
- package/cdn/mixin-CkNZwQXF.js.map +0 -1
- package/cdn/mixin-DiB7dIef.js +0 -2
- package/cdn/player-B0ccW5-n.js +0 -2
- package/cdn/player-iIewo8Y9.js +0 -2
- package/cdn/player-srq1RGTj.js +0 -2
- package/cdn/poster-element-BP1Ypgbf.js.map +0 -1
- package/cdn/poster-element-S-rr412t.js +0 -2
- package/cdn/poster-element-S-rr412t.js.map +0 -1
- package/cdn/seek-button-element-DxLmm58Y.js +0 -2
- package/cdn/seek-button-element-DxLmm58Y.js.map +0 -1
- package/cdn/seek-button-element-TErrbilI.js.map +0 -1
- package/cdn/select-tracks-nRPBa1NC.js.map +0 -1
- package/cdn/select-tracks-xV1s28xD.js +0 -59
- package/cdn/select-tracks-xV1s28xD.js.map +0 -1
- package/cdn/text-element-Bsyglab8.js +0 -2
- package/cdn/time-slider-chapters-element-DPgaLdBt.js.map +0 -1
- package/cdn/time-slider-chapters-element-MdlcovBu.js +0 -2
- package/cdn/time-slider-chapters-element-MdlcovBu.js.map +0 -1
- package/cdn/translate-text-BPMWpzFm.js +0 -2
- package/cdn/translate-text-BPMWpzFm.js.map +0 -1
- package/cdn/translate-text-DP0CzUCC.js.map +0 -1
- package/cdn/ui-CecDxhTX.js +0 -2
- package/cdn/ui-ChWM6Xz2.js +0 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{n as e,t}from"./media-element-Cp5PrNre.js";import{a as n,o as r,r as i,t as a}from"./context-C2rsoDxk.js";import{t as o}from"./listen-4VrUltMW.js";import{DEFAULT_LOCALE as s,createTranslator as c,getI18nTranslations as l,onI18nRegistryChange as u}from"./i18n.js";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2021 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
var d=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}},f=class extends Event{constructor(e,t){
|
|
8
|
+
/**
|
|
9
|
+
* @license
|
|
10
|
+
* Copyright 2021 Google LLC
|
|
11
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
12
|
+
*/
|
|
13
|
+
super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},p=class extends d{constructor(e,t,n){super(t.context===void 0?n:t.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;let t=new Set;for(let[e,{consumerHost:n}]of this.subscriptions)t.has(e)||(t.add(e),n.dispatchEvent(new r(this.context,n,e,!0)));e.stopPropagation()},this.host=e,t.context===void 0?this.context=t:this.context=t.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new f(this.context,this.host))}};const m=n(Symbol.for(`@videojs/i18n`));function h(e=document){let t=e.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t}function g(e){return e instanceof Node&&e.nodeType===9}function _(e){return e instanceof Node&&e.nodeType===11&&`host`in e}function v(e,t){let n=t;for(;n;){if(n===e||e.contains(n))return!0;let t=n.getRootNode();n=_(t)?t.host:n.parentNode}return!1}let y;function b(){return y??=c(l(s),s),y}var x=class{#e;#t;#n;constructor(t,n){this.#e=t,this.#t=new e(t,{context:n,callback:()=>this.#e.requestUpdate(),subscribe:!0}),t.addController(this)}get value(){return this.#t.value?.translator??b()}get locale(){return this.#t.value?.locale??s}hostConnected(){y=void 0,this.#n=u(()=>{y=void 0,this.#t.value||this.#e.requestUpdate()})}hostDisconnected(){this.#n?.(),this.#n=void 0}};function S(e){e.hasAttribute(`role`)||e.setAttribute(`role`,`group`),e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`0`)}function C(e){let t=h(e.ownerDocument);(!t||t===e.ownerDocument.body||!v(e,t))&&e.focus({preventScroll:!0})}function w(){let e=null,t=new Set;function n(){for(let e of t)e()}return{open(t){if(e===t)return;let r=e;e=t,r?.close(`group-open`),n()},close(t){e===t&&(e=null,n())},isOpenFor(t){return t!==null&&e?.triggerElement===t},subscribe(e){return t.add(e),()=>t.delete(e)}}}const T={key:`container.label`,text:`Media player`},E=n(Symbol.for(`@videojs/popup-group`));function D(t){return n=>{class r extends n{#e=null;#t=null;#n=w();#r=new p(this,{context:E,initialValue:this.#n});constructor(...n){super(...n),new e(this,{context:t.playerContext,callback:e=>{this.#e=e??null},subscribe:!0}),new e(this,{context:t.containerContext,callback:e=>{this.#t=e?.setContainer??null,this.isConnected&&this.#t?.(this)},subscribe:!0})}get store(){return this.#e}connectedCallback(){super.connectedCallback(),this.#r.setValue(this.#n),this.#t?.(this)}disconnectedCallback(){super.disconnectedCallback(),this.#t?.(null)}}return r}}const O=D({playerContext:i,containerContext:a});var k=class extends O(t){static{this.tagName=`media-container`}#e=new x(this,m);#t=null;#n=null;connectedCallback(){super.connectedCallback(),S(this),this.#r(),this.#t=new AbortController,o(this,`pointerup`,this.#i,{signal:this.#t.signal})}disconnectedCallback(){super.disconnectedCallback(),this.#t?.abort(),this.#t=null}update(e){super.update(e),this.#r()}#r(){let e=this.getAttribute(`aria-label`);if(e&&e!==this.#n)return;if(this.hasAttribute(`aria-labelledby`)){e===this.#n&&(this.removeAttribute(`aria-label`),this.#n=null);return}let t=this.#e.value(T);this.setAttribute(`aria-label`,t),this.#n=t}#i=()=>{C(this)}};export{v as a,m as c,b as i,p as l,E as n,g as o,x as r,h as s,k as t};
|
|
14
|
+
//# sourceMappingURL=container-element-Dd0ZCdhK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-element-Dd0ZCdhK.js","names":["t","createContext","#host","#consumer","ContextConsumer","#unsubscribeRegistry","createContext","ContextProvider","#popupGroup","ContextConsumer","#contextStore","#setContainer","#popupGroupProvider","#i18n","#applyLabel","#disconnect","#onPointerUp","#label"],"sources":["../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/lib/value-notifier.js","../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/lib/controllers/context-provider.js","../src/i18n/context.ts","../../utils/dist/dom/focus.js","../../utils/dist/dom/predicates.js","../../utils/dist/dom/tree.js","../src/i18n/controller.ts","../../core/dist/default/dom/ui/container-attrs.js","../../core/dist/default/dom/ui/popover/popup-group.js","../../core/dist/default/i18n/text/container.js","../src/player/popup-group-context.ts","../src/store/container-mixin.ts","../src/media/container-element.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import type { Locale, Translator } from '@videojs/core/i18n';\nimport { type Context, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// i18n Context\n// ----------------------------------------\n\nexport const I18N_CONTEXT_KEY = Symbol.for('@videojs/i18n');\n\nexport type I18nContextValue = {\n translator: Translator;\n locale: Locale;\n};\n\n/** Per-factory context identity (see {@link createI18n}). */\nexport type I18nContext = Context<symbol, I18nContextValue>;\n\n/**\n * The default i18n context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const i18nContext = createContext<I18nContextValue, typeof I18N_CONTEXT_KEY>(I18N_CONTEXT_KEY);\n","//#region src/dom/focus.ts\nfunction getDeepActiveElement(root = document) {\n\tlet active = root.activeElement;\n\twhile (active?.shadowRoot?.activeElement) active = active.shadowRoot.activeElement;\n\treturn active;\n}\n//#endregion\nexport { getDeepActiveElement };\n\n//# sourceMappingURL=focus.js.map","//#region src/dom/predicates.ts\nfunction isDocument(value) {\n\treturn value instanceof Node && value.nodeType === 9;\n}\nfunction isShadowRoot(value) {\n\treturn value instanceof Node && value.nodeType === 11 && \"host\" in value;\n}\nfunction isHTMLVideoElement(value) {\n\treturn value instanceof HTMLVideoElement;\n}\nfunction isHTMLAudioElement(value) {\n\treturn value instanceof HTMLAudioElement;\n}\nfunction isHTMLMediaElement(value) {\n\treturn value instanceof HTMLMediaElement;\n}\n//#endregion\nexport { isDocument, isHTMLAudioElement, isHTMLMediaElement, isHTMLVideoElement, isShadowRoot };\n\n//# sourceMappingURL=predicates.js.map","import { isShadowRoot } from \"./predicates.js\";\n//#region src/dom/tree.ts\nfunction containsComposed(root, element) {\n\tlet current = element;\n\twhile (current) {\n\t\tif (current === root || root.contains(current)) return true;\n\t\tconst nodeRoot = current.getRootNode();\n\t\tcurrent = isShadowRoot(nodeRoot) ? nodeRoot.host : current.parentNode;\n\t}\n\treturn false;\n}\n//#endregion\nexport { containsComposed };\n\n//# sourceMappingURL=tree.js.map","import {\n createTranslator,\n DEFAULT_LOCALE,\n getI18nTranslations,\n type Locale,\n onI18nRegistryChange,\n type Translator,\n} from '@videojs/core/i18n';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport type { I18nContext } from './context';\n\nlet fallbackTranslator: Translator | undefined;\n\nexport type I18nControllerHost = ReactiveControllerHost & HTMLElement;\n\nexport function getFallbackTranslator(): Translator {\n fallbackTranslator ??= createTranslator(getI18nTranslations(DEFAULT_LOCALE), DEFAULT_LOCALE);\n return fallbackTranslator;\n}\n\nexport class I18nController implements ReactiveController {\n readonly #host: I18nControllerHost;\n readonly #consumer: ContextConsumer<I18nContext, I18nControllerHost>;\n #unsubscribeRegistry: (() => void) | undefined;\n\n constructor(host: I18nControllerHost, context: I18nContext) {\n this.#host = host;\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: () => this.#host.requestUpdate(),\n subscribe: true,\n });\n host.addController(this);\n }\n\n get value(): Translator {\n return this.#consumer.value?.translator ?? getFallbackTranslator();\n }\n\n get locale(): Locale {\n return this.#consumer.value?.locale ?? DEFAULT_LOCALE;\n }\n\n hostConnected(): void {\n fallbackTranslator = undefined;\n this.#unsubscribeRegistry = onI18nRegistryChange(() => {\n fallbackTranslator = undefined;\n if (!this.#consumer.value) {\n this.#host.requestUpdate();\n }\n });\n }\n\n hostDisconnected(): void {\n this.#unsubscribeRegistry?.();\n this.#unsubscribeRegistry = undefined;\n }\n}\n\nexport namespace I18nController {\n export type Constructor = typeof I18nController;\n export type Host = I18nControllerHost;\n}\n","import { containsComposed, getDeepActiveElement } from \"@videojs/utils/dom\";\n//#region src/dom/ui/container-attrs.ts\nconst DEFAULT_CONTAINER_ROLE = \"group\";\nconst DEFAULT_CONTAINER_TAB_INDEX = 0;\nfunction applyContainerAttrs(element) {\n\tif (!element.hasAttribute(\"role\")) element.setAttribute(\"role\", DEFAULT_CONTAINER_ROLE);\n\tif (!element.hasAttribute(\"tabindex\")) element.setAttribute(\"tabindex\", String(0));\n}\nfunction focusContainer(element) {\n\tconst active = getDeepActiveElement(element.ownerDocument);\n\tif (!active || active === element.ownerDocument.body || !containsComposed(element, active)) element.focus({ preventScroll: true });\n}\n//#endregion\nexport { DEFAULT_CONTAINER_ROLE, DEFAULT_CONTAINER_TAB_INDEX, applyContainerAttrs, focusContainer };\n\n//# sourceMappingURL=container-attrs.js.map","//#region src/dom/ui/popover/popup-group.ts\nfunction createPopupGroup() {\n\tlet current = null;\n\tconst listeners = /* @__PURE__ */ new Set();\n\tfunction notify() {\n\t\tfor (const listener of listeners) listener();\n\t}\n\treturn {\n\t\topen(member) {\n\t\t\tif (current === member) return;\n\t\t\tconst previous = current;\n\t\t\tcurrent = member;\n\t\t\tprevious?.close(\"group-open\");\n\t\t\tnotify();\n\t\t},\n\t\tclose(member) {\n\t\t\tif (current !== member) return;\n\t\t\tcurrent = null;\n\t\t\tnotify();\n\t\t},\n\t\tisOpenFor(trigger) {\n\t\t\treturn trigger !== null && current?.triggerElement === trigger;\n\t\t},\n\t\tsubscribe(listener) {\n\t\t\tlisteners.add(listener);\n\t\t\treturn () => listeners.delete(listener);\n\t\t}\n\t};\n}\n//#endregion\nexport { createPopupGroup };\n\n//# sourceMappingURL=popup-group.js.map","const labelText = {\n\tkey: `container.label`,\n\ttext: \"Media player\"\n};\n//#endregion\nexport { labelText };\n\n//# sourceMappingURL=container.js.map","import type { PopupGroup } from '@videojs/core/dom';\nimport { type Context, createContext } from '@videojs/element/context';\n\nconst POPUP_GROUP_CONTEXT_KEY = Symbol.for('@videojs/popup-group');\n\nexport type PopupGroupContext = Context<typeof POPUP_GROUP_CONTEXT_KEY, PopupGroup>;\n\nexport const popupGroupContext = createContext<PopupGroup, typeof POPUP_GROUP_CONTEXT_KEY>(POPUP_GROUP_CONTEXT_KEY);\n","import { type AnyPlayerStore, createPopupGroup, type MediaContainer, type PlayerStore } from '@videojs/core/dom';\nimport { ContextConsumer, ContextProvider } from '@videojs/element/context';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport { type ContainerContext, containerContext, type PlayerContext, playerContext } from '../player/context';\nimport { popupGroupContext } from '../player/popup-group-context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport interface ContainerMixinConfig<Store extends PlayerStore> {\n playerContext: PlayerContext<Store>;\n containerContext: ContainerContext;\n}\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and registers itself as the\n * container element with the provider via `containerContext`.\n *\n * @param config - Container configuration with player and container contexts.\n */\nexport function createContainerMixin<Store extends PlayerStore>(\n config: ContainerMixinConfig<Store>\n): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #contextStore: Store | null = null;\n #setContainer: ((container: MediaContainer | null) => void) | null = null;\n #popupGroup = createPopupGroup();\n #popupGroupProvider = new ContextProvider(this, {\n context: popupGroupContext,\n initialValue: this.#popupGroup,\n });\n\n constructor(...args: any[]) {\n super(...args);\n\n new ContextConsumer(this, {\n context: config.playerContext,\n callback: (value) => {\n this.#contextStore = value ?? null;\n },\n subscribe: true,\n });\n\n new ContextConsumer(this, {\n context: config.containerContext,\n callback: (value) => {\n this.#setContainer = value?.setContainer ?? null;\n if (this.isConnected) this.#setContainer?.(this);\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.#popupGroupProvider.setValue(this.#popupGroup);\n this.#setContainer?.(this);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#setContainer?.(null);\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\n/**\n * Player container mixin configured for the default player contexts.\n *\n * Import this convenience mixin directly when composing a custom container.\n */\nexport const ContainerMixin = createContainerMixin<AnyPlayerStore>({\n playerContext,\n containerContext,\n});\n","import { applyContainerAttrs, focusContainer } from '@videojs/core/dom';\nimport { labelText } from '@videojs/core/i18n/text/container';\nimport type { PropertyValues } from '@videojs/element';\nimport { listen } from '@videojs/utils/dom';\n\nimport { i18nContext } from '../i18n/context';\nimport { I18nController } from '../i18n/controller';\nimport { ContainerMixin } from '../store/container-mixin';\nimport { MediaElement } from '../ui/media-element';\n\nexport class MediaContainerElement extends ContainerMixin(MediaElement) {\n static readonly tagName = 'media-container';\n\n readonly #i18n = new I18nController(this, i18nContext);\n #disconnect: AbortController | null = null;\n #label: string | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n applyContainerAttrs(this);\n this.#applyLabel();\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 protected override update(changed: PropertyValues): void {\n super.update(changed);\n this.#applyLabel();\n }\n\n #applyLabel(): void {\n const current = this.getAttribute('aria-label');\n if (current && current !== this.#label) return;\n\n if (this.hasAttribute('aria-labelledby')) {\n if (current === this.#label) {\n this.removeAttribute('aria-label');\n this.#label = null;\n }\n return;\n }\n\n const label = this.#i18n.value(labelText);\n this.setAttribute('aria-label', label);\n this.#label = label;\n }\n\n #onPointerUp = (): void => {\n focusContainer(this);\n };\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
import { n as ContextConsumer, t as MediaElement } from "./media-element-CJY3JIgc.js";
|
|
2
|
+
import { a as createContext, o as ContextRequestEvent, r as playerContext, t as containerContext } from "./context-OhQY847V.js";
|
|
3
|
+
import { t as listen } from "./listen-CdeggIF8.js";
|
|
4
|
+
import { DEFAULT_LOCALE, createTranslator, getI18nTranslations, onI18nRegistryChange } from "./i18n.dev.js";
|
|
5
|
+
|
|
6
|
+
//#region ../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/value-notifier.js
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2021 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* A simple class which stores a value, and triggers registered callbacks when
|
|
14
|
+
* the value is changed via its setter.
|
|
15
|
+
*
|
|
16
|
+
* An implementor might use other observable patterns such as MobX or Redux to
|
|
17
|
+
* get behavior like this. But this is a pretty minimal approach that will
|
|
18
|
+
* likely work for a number of use cases.
|
|
19
|
+
*/
|
|
20
|
+
var ValueNotifier = class {
|
|
21
|
+
get value() {
|
|
22
|
+
return this._value;
|
|
23
|
+
}
|
|
24
|
+
set value(v) {
|
|
25
|
+
this.setValue(v);
|
|
26
|
+
}
|
|
27
|
+
setValue(v, force = false) {
|
|
28
|
+
const update = force || !Object.is(v, this._value);
|
|
29
|
+
this._value = v;
|
|
30
|
+
if (update) this.updateObservers();
|
|
31
|
+
}
|
|
32
|
+
constructor(defaultValue) {
|
|
33
|
+
this.subscriptions = /* @__PURE__ */ new Map();
|
|
34
|
+
this.updateObservers = () => {
|
|
35
|
+
for (const [callback, { disposer }] of this.subscriptions) callback(this._value, disposer);
|
|
36
|
+
};
|
|
37
|
+
if (defaultValue !== void 0) this.value = defaultValue;
|
|
38
|
+
}
|
|
39
|
+
addCallback(callback, consumerHost, subscribe) {
|
|
40
|
+
if (!subscribe) {
|
|
41
|
+
callback(this.value);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!this.subscriptions.has(callback)) this.subscriptions.set(callback, {
|
|
45
|
+
disposer: () => {
|
|
46
|
+
this.subscriptions.delete(callback);
|
|
47
|
+
},
|
|
48
|
+
consumerHost
|
|
49
|
+
});
|
|
50
|
+
const { disposer } = this.subscriptions.get(callback);
|
|
51
|
+
callback(this.value, disposer);
|
|
52
|
+
}
|
|
53
|
+
clearCallbacks() {
|
|
54
|
+
this.subscriptions.clear();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region ../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/controllers/context-provider.js
|
|
60
|
+
/**
|
|
61
|
+
* @license
|
|
62
|
+
* Copyright 2021 Google LLC
|
|
63
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
64
|
+
*/
|
|
65
|
+
var ContextProviderEvent = class extends Event {
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @param context the context which this provider can provide
|
|
69
|
+
* @param contextTarget the original context target of the provider
|
|
70
|
+
*/
|
|
71
|
+
constructor(context, contextTarget) {
|
|
72
|
+
super("context-provider", {
|
|
73
|
+
bubbles: true,
|
|
74
|
+
composed: true
|
|
75
|
+
});
|
|
76
|
+
this.context = context;
|
|
77
|
+
this.contextTarget = contextTarget;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* A ReactiveController which adds context provider behavior to a
|
|
82
|
+
* custom element.
|
|
83
|
+
*
|
|
84
|
+
* This controller simply listens to the `context-request` event when
|
|
85
|
+
* the host is connected to the DOM and registers the received callbacks
|
|
86
|
+
* against its observable Context implementation.
|
|
87
|
+
*
|
|
88
|
+
* The controller may also be attached to any HTML element in which case it's
|
|
89
|
+
* up to the user to call hostConnected() when attached to the DOM. This is
|
|
90
|
+
* done automatically for any custom elements implementing
|
|
91
|
+
* ReactiveControllerHost.
|
|
92
|
+
*/
|
|
93
|
+
var ContextProvider = class extends ValueNotifier {
|
|
94
|
+
constructor(host, contextOrOptions, initialValue) {
|
|
95
|
+
super(contextOrOptions.context !== void 0 ? contextOrOptions.initialValue : initialValue);
|
|
96
|
+
this.onContextRequest = (ev) => {
|
|
97
|
+
if (ev.context !== this.context) return;
|
|
98
|
+
const consumerHost = ev.contextTarget ?? ev.composedPath()[0];
|
|
99
|
+
if (consumerHost === this.host) return;
|
|
100
|
+
ev.stopPropagation();
|
|
101
|
+
this.addCallback(ev.callback, consumerHost, ev.subscribe);
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* When we get a provider request event, that means a child of this element
|
|
105
|
+
* has just woken up. If it's a provider of our context, then we may need to
|
|
106
|
+
* re-parent our subscriptions, because is a more specific provider than us
|
|
107
|
+
* for its subtree.
|
|
108
|
+
*/
|
|
109
|
+
this.onProviderRequest = (ev) => {
|
|
110
|
+
if (ev.context !== this.context) return;
|
|
111
|
+
if ((ev.contextTarget ?? ev.composedPath()[0]) === this.host) return;
|
|
112
|
+
const seen = /* @__PURE__ */ new Set();
|
|
113
|
+
for (const [callback, { consumerHost }] of this.subscriptions) {
|
|
114
|
+
if (seen.has(callback)) continue;
|
|
115
|
+
seen.add(callback);
|
|
116
|
+
consumerHost.dispatchEvent(new ContextRequestEvent(this.context, consumerHost, callback, true));
|
|
117
|
+
}
|
|
118
|
+
ev.stopPropagation();
|
|
119
|
+
};
|
|
120
|
+
this.host = host;
|
|
121
|
+
if (contextOrOptions.context !== void 0) this.context = contextOrOptions.context;
|
|
122
|
+
else this.context = contextOrOptions;
|
|
123
|
+
this.attachListeners();
|
|
124
|
+
this.host.addController?.(this);
|
|
125
|
+
}
|
|
126
|
+
attachListeners() {
|
|
127
|
+
this.host.addEventListener("context-request", this.onContextRequest);
|
|
128
|
+
this.host.addEventListener("context-provider", this.onProviderRequest);
|
|
129
|
+
}
|
|
130
|
+
hostConnected() {
|
|
131
|
+
this.host.dispatchEvent(new ContextProviderEvent(this.context, this.host));
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/i18n/context.ts
|
|
137
|
+
const I18N_CONTEXT_KEY = Symbol.for("@videojs/i18n");
|
|
138
|
+
/**
|
|
139
|
+
* The default i18n context instance for consuming the player store in controllers.
|
|
140
|
+
*
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
const i18nContext = createContext(I18N_CONTEXT_KEY);
|
|
144
|
+
|
|
145
|
+
//#endregion
|
|
146
|
+
//#region ../utils/dist/dom/focus.js
|
|
147
|
+
function getDeepActiveElement(root = document) {
|
|
148
|
+
let active = root.activeElement;
|
|
149
|
+
while (active?.shadowRoot?.activeElement) active = active.shadowRoot.activeElement;
|
|
150
|
+
return active;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
//#endregion
|
|
154
|
+
//#region ../utils/dist/dom/predicates.js
|
|
155
|
+
function isDocument(value) {
|
|
156
|
+
return value instanceof Node && value.nodeType === 9;
|
|
157
|
+
}
|
|
158
|
+
function isShadowRoot(value) {
|
|
159
|
+
return value instanceof Node && value.nodeType === 11 && "host" in value;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region ../utils/dist/dom/tree.js
|
|
164
|
+
function containsComposed(root, element) {
|
|
165
|
+
let current = element;
|
|
166
|
+
while (current) {
|
|
167
|
+
if (current === root || root.contains(current)) return true;
|
|
168
|
+
const nodeRoot = current.getRootNode();
|
|
169
|
+
current = isShadowRoot(nodeRoot) ? nodeRoot.host : current.parentNode;
|
|
170
|
+
}
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
//#endregion
|
|
175
|
+
//#region src/i18n/controller.ts
|
|
176
|
+
let fallbackTranslator;
|
|
177
|
+
function getFallbackTranslator() {
|
|
178
|
+
fallbackTranslator ??= createTranslator(getI18nTranslations(DEFAULT_LOCALE), DEFAULT_LOCALE);
|
|
179
|
+
return fallbackTranslator;
|
|
180
|
+
}
|
|
181
|
+
var I18nController = class {
|
|
182
|
+
#host;
|
|
183
|
+
#consumer;
|
|
184
|
+
#unsubscribeRegistry;
|
|
185
|
+
constructor(host, context) {
|
|
186
|
+
this.#host = host;
|
|
187
|
+
this.#consumer = new ContextConsumer(host, {
|
|
188
|
+
context,
|
|
189
|
+
callback: () => this.#host.requestUpdate(),
|
|
190
|
+
subscribe: true
|
|
191
|
+
});
|
|
192
|
+
host.addController(this);
|
|
193
|
+
}
|
|
194
|
+
get value() {
|
|
195
|
+
return this.#consumer.value?.translator ?? getFallbackTranslator();
|
|
196
|
+
}
|
|
197
|
+
get locale() {
|
|
198
|
+
return this.#consumer.value?.locale ?? DEFAULT_LOCALE;
|
|
199
|
+
}
|
|
200
|
+
hostConnected() {
|
|
201
|
+
fallbackTranslator = void 0;
|
|
202
|
+
this.#unsubscribeRegistry = onI18nRegistryChange(() => {
|
|
203
|
+
fallbackTranslator = void 0;
|
|
204
|
+
if (!this.#consumer.value) this.#host.requestUpdate();
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
hostDisconnected() {
|
|
208
|
+
this.#unsubscribeRegistry?.();
|
|
209
|
+
this.#unsubscribeRegistry = void 0;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
//#endregion
|
|
214
|
+
//#region ../core/dist/dev/dom/ui/container-attrs.js
|
|
215
|
+
const DEFAULT_CONTAINER_ROLE = "group";
|
|
216
|
+
function applyContainerAttrs(element) {
|
|
217
|
+
if (!element.hasAttribute("role")) element.setAttribute("role", DEFAULT_CONTAINER_ROLE);
|
|
218
|
+
if (!element.hasAttribute("tabindex")) element.setAttribute("tabindex", String(0));
|
|
219
|
+
}
|
|
220
|
+
function focusContainer(element) {
|
|
221
|
+
const active = getDeepActiveElement(element.ownerDocument);
|
|
222
|
+
if (!active || active === element.ownerDocument.body || !containsComposed(element, active)) element.focus({ preventScroll: true });
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
//#endregion
|
|
226
|
+
//#region ../core/dist/dev/dom/ui/popover/popup-group.js
|
|
227
|
+
function createPopupGroup() {
|
|
228
|
+
let current = null;
|
|
229
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
230
|
+
function notify() {
|
|
231
|
+
for (const listener of listeners) listener();
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
open(member) {
|
|
235
|
+
if (current === member) return;
|
|
236
|
+
const previous = current;
|
|
237
|
+
current = member;
|
|
238
|
+
previous?.close("group-open");
|
|
239
|
+
notify();
|
|
240
|
+
},
|
|
241
|
+
close(member) {
|
|
242
|
+
if (current !== member) return;
|
|
243
|
+
current = null;
|
|
244
|
+
notify();
|
|
245
|
+
},
|
|
246
|
+
isOpenFor(trigger) {
|
|
247
|
+
return trigger !== null && current?.triggerElement === trigger;
|
|
248
|
+
},
|
|
249
|
+
subscribe(listener) {
|
|
250
|
+
listeners.add(listener);
|
|
251
|
+
return () => listeners.delete(listener);
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region ../core/dist/dev/i18n/text/container.js
|
|
258
|
+
const labelText = {
|
|
259
|
+
key: `container.label`,
|
|
260
|
+
text: "Media player"
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
//#endregion
|
|
264
|
+
//#region src/player/popup-group-context.ts
|
|
265
|
+
const POPUP_GROUP_CONTEXT_KEY = Symbol.for("@videojs/popup-group");
|
|
266
|
+
const popupGroupContext = createContext(POPUP_GROUP_CONTEXT_KEY);
|
|
267
|
+
|
|
268
|
+
//#endregion
|
|
269
|
+
//#region src/store/container-mixin.ts
|
|
270
|
+
/**
|
|
271
|
+
* Create a mixin that consumes player context and registers itself as the
|
|
272
|
+
* container element with the provider via `containerContext`.
|
|
273
|
+
*
|
|
274
|
+
* @param config - Container configuration with player and container contexts.
|
|
275
|
+
*/
|
|
276
|
+
function createContainerMixin(config) {
|
|
277
|
+
return (BaseClass) => {
|
|
278
|
+
class PlayerContainerElement extends BaseClass {
|
|
279
|
+
#contextStore = null;
|
|
280
|
+
#setContainer = null;
|
|
281
|
+
#popupGroup = createPopupGroup();
|
|
282
|
+
#popupGroupProvider = new ContextProvider(this, {
|
|
283
|
+
context: popupGroupContext,
|
|
284
|
+
initialValue: this.#popupGroup
|
|
285
|
+
});
|
|
286
|
+
constructor(...args) {
|
|
287
|
+
super(...args);
|
|
288
|
+
new ContextConsumer(this, {
|
|
289
|
+
context: config.playerContext,
|
|
290
|
+
callback: (value) => {
|
|
291
|
+
this.#contextStore = value ?? null;
|
|
292
|
+
},
|
|
293
|
+
subscribe: true
|
|
294
|
+
});
|
|
295
|
+
new ContextConsumer(this, {
|
|
296
|
+
context: config.containerContext,
|
|
297
|
+
callback: (value) => {
|
|
298
|
+
this.#setContainer = value?.setContainer ?? null;
|
|
299
|
+
if (this.isConnected) this.#setContainer?.(this);
|
|
300
|
+
},
|
|
301
|
+
subscribe: true
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
get store() {
|
|
305
|
+
return this.#contextStore;
|
|
306
|
+
}
|
|
307
|
+
connectedCallback() {
|
|
308
|
+
super.connectedCallback();
|
|
309
|
+
this.#popupGroupProvider.setValue(this.#popupGroup);
|
|
310
|
+
this.#setContainer?.(this);
|
|
311
|
+
}
|
|
312
|
+
disconnectedCallback() {
|
|
313
|
+
super.disconnectedCallback();
|
|
314
|
+
this.#setContainer?.(null);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return PlayerContainerElement;
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Player container mixin configured for the default player contexts.
|
|
322
|
+
*
|
|
323
|
+
* Import this convenience mixin directly when composing a custom container.
|
|
324
|
+
*/
|
|
325
|
+
const ContainerMixin = createContainerMixin({
|
|
326
|
+
playerContext,
|
|
327
|
+
containerContext
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
//#endregion
|
|
331
|
+
//#region src/media/container-element.ts
|
|
332
|
+
var MediaContainerElement = class extends ContainerMixin(MediaElement) {
|
|
333
|
+
static {
|
|
334
|
+
this.tagName = "media-container";
|
|
335
|
+
}
|
|
336
|
+
#i18n = new I18nController(this, i18nContext);
|
|
337
|
+
#disconnect = null;
|
|
338
|
+
#label = null;
|
|
339
|
+
connectedCallback() {
|
|
340
|
+
super.connectedCallback();
|
|
341
|
+
applyContainerAttrs(this);
|
|
342
|
+
this.#applyLabel();
|
|
343
|
+
this.#disconnect = new AbortController();
|
|
344
|
+
listen(this, "pointerup", this.#onPointerUp, { signal: this.#disconnect.signal });
|
|
345
|
+
}
|
|
346
|
+
disconnectedCallback() {
|
|
347
|
+
super.disconnectedCallback();
|
|
348
|
+
this.#disconnect?.abort();
|
|
349
|
+
this.#disconnect = null;
|
|
350
|
+
}
|
|
351
|
+
update(changed) {
|
|
352
|
+
super.update(changed);
|
|
353
|
+
this.#applyLabel();
|
|
354
|
+
}
|
|
355
|
+
#applyLabel() {
|
|
356
|
+
const current = this.getAttribute("aria-label");
|
|
357
|
+
if (current && current !== this.#label) return;
|
|
358
|
+
if (this.hasAttribute("aria-labelledby")) {
|
|
359
|
+
if (current === this.#label) {
|
|
360
|
+
this.removeAttribute("aria-label");
|
|
361
|
+
this.#label = null;
|
|
362
|
+
}
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
const label = this.#i18n.value(labelText);
|
|
366
|
+
this.setAttribute("aria-label", label);
|
|
367
|
+
this.#label = label;
|
|
368
|
+
}
|
|
369
|
+
#onPointerUp = () => {
|
|
370
|
+
focusContainer(this);
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
//#endregion
|
|
375
|
+
export { containsComposed as a, i18nContext as c, getFallbackTranslator as i, ContextProvider as l, popupGroupContext as n, isDocument as o, I18nController as r, getDeepActiveElement as s, MediaContainerElement as t };
|
|
376
|
+
//# sourceMappingURL=container-element-HHK_KZOE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-element-HHK_KZOE.js","names":["#host","#consumer","#unsubscribeRegistry","#popupGroup","#contextStore","#setContainer","#popupGroupProvider","#i18n","#applyLabel","#disconnect","#onPointerUp","#label"],"sources":["../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/value-notifier.js","../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/controllers/context-provider.js","../src/i18n/context.ts","../../utils/dist/dom/focus.js","../../utils/dist/dom/predicates.js","../../utils/dist/dom/tree.js","../src/i18n/controller.ts","../../core/dist/dev/dom/ui/container-attrs.js","../../core/dist/dev/dom/ui/popover/popup-group.js","../../core/dist/dev/i18n/text/container.js","../src/player/popup-group-context.ts","../src/store/container-mixin.ts","../src/media/container-element.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * A simple class which stores a value, and triggers registered callbacks when\n * the value is changed via its setter.\n *\n * An implementor might use other observable patterns such as MobX or Redux to\n * get behavior like this. But this is a pretty minimal approach that will\n * likely work for a number of use cases.\n */\nexport class ValueNotifier {\n get value() {\n return this._value;\n }\n set value(v) {\n this.setValue(v);\n }\n setValue(v, force = false) {\n const update = force || !Object.is(v, this._value);\n this._value = v;\n if (update) {\n this.updateObservers();\n }\n }\n constructor(defaultValue) {\n this.subscriptions = new Map();\n this.updateObservers = () => {\n for (const [callback, { disposer }] of this.subscriptions) {\n callback(this._value, disposer);\n }\n };\n if (defaultValue !== undefined) {\n this.value = defaultValue;\n }\n }\n addCallback(callback, consumerHost, subscribe) {\n if (!subscribe) {\n // just call the callback once and we're done\n callback(this.value);\n return;\n }\n if (!this.subscriptions.has(callback)) {\n this.subscriptions.set(callback, {\n disposer: () => {\n this.subscriptions.delete(callback);\n },\n consumerHost,\n });\n }\n const { disposer } = this.subscriptions.get(callback);\n callback(this.value, disposer);\n }\n clearCallbacks() {\n this.subscriptions.clear();\n }\n}\n//# sourceMappingURL=value-notifier.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { ContextRequestEvent } from '../context-request-event.js';\nimport { ValueNotifier } from '../value-notifier.js';\nexport class ContextProviderEvent extends Event {\n /**\n *\n * @param context the context which this provider can provide\n * @param contextTarget the original context target of the provider\n */\n constructor(context, contextTarget) {\n super('context-provider', { bubbles: true, composed: true });\n this.context = context;\n this.contextTarget = contextTarget;\n }\n}\n/**\n * A ReactiveController which adds context provider behavior to a\n * custom element.\n *\n * This controller simply listens to the `context-request` event when\n * the host is connected to the DOM and registers the received callbacks\n * against its observable Context implementation.\n *\n * The controller may also be attached to any HTML element in which case it's\n * up to the user to call hostConnected() when attached to the DOM. This is\n * done automatically for any custom elements implementing\n * ReactiveControllerHost.\n */\nexport class ContextProvider extends ValueNotifier {\n constructor(host, contextOrOptions, initialValue) {\n super(contextOrOptions.context !== undefined\n ? contextOrOptions.initialValue\n : initialValue);\n this.onContextRequest = (ev) => {\n // Only call the callback if the context matches.\n if (ev.context !== this.context) {\n return;\n }\n // Also, in case an element is a consumer AND a provider\n // of the same context, we want to avoid the element to self-register.\n const consumerHost = ev.contextTarget ?? ev.composedPath()[0];\n if (consumerHost === this.host) {\n return;\n }\n ev.stopPropagation();\n this.addCallback(ev.callback, consumerHost, ev.subscribe);\n };\n /**\n * When we get a provider request event, that means a child of this element\n * has just woken up. If it's a provider of our context, then we may need to\n * re-parent our subscriptions, because is a more specific provider than us\n * for its subtree.\n */\n this.onProviderRequest = (ev) => {\n // Ignore events when the context doesn't match.\n if (ev.context !== this.context) {\n return;\n }\n // Also, in case an element is a consumer AND a provider\n // of the same context it shouldn't provide to itself.\n const childProviderHost = ev.contextTarget ?? ev.composedPath()[0];\n if (childProviderHost === this.host) {\n return;\n }\n // Re-parent all of our subscriptions in case this new child provider\n // should take them over.\n const seen = new Set();\n for (const [callback, { consumerHost }] of this.subscriptions) {\n // Prevent infinite loops in the case where a one host element\n // is providing the same context multiple times.\n //\n // While normally it's a no-op to attempt to re-parent a subscription\n // that already has its proper parent, in the case where there's more\n // than one ValueProvider for the same context on the same hostElement,\n // they will each call the consumer, and since they will each have their\n // own dispose function, a well behaved consumer will notice the change\n // in dispose function and call their old one.\n //\n // This will cause the subscriptions to thrash, but worse, without this\n // set check here, we can end up in an infinite loop, as we add and remove\n // the same subscriptions onto the end of the map over and over.\n if (seen.has(callback)) {\n continue;\n }\n seen.add(callback);\n consumerHost.dispatchEvent(new ContextRequestEvent(this.context, consumerHost, callback, true));\n }\n ev.stopPropagation();\n };\n this.host = host;\n if (contextOrOptions.context !== undefined) {\n this.context = contextOrOptions.context;\n }\n else {\n this.context = contextOrOptions;\n }\n this.attachListeners();\n this.host.addController?.(this);\n }\n attachListeners() {\n this.host.addEventListener('context-request', this.onContextRequest);\n this.host.addEventListener('context-provider', this.onProviderRequest);\n }\n hostConnected() {\n // emit an event to signal a provider is available for this context\n this.host.dispatchEvent(new ContextProviderEvent(this.context, this.host));\n }\n}\n//# sourceMappingURL=context-provider.js.map","import type { Locale, Translator } from '@videojs/core/i18n';\nimport { type Context, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// i18n Context\n// ----------------------------------------\n\nexport const I18N_CONTEXT_KEY = Symbol.for('@videojs/i18n');\n\nexport type I18nContextValue = {\n translator: Translator;\n locale: Locale;\n};\n\n/** Per-factory context identity (see {@link createI18n}). */\nexport type I18nContext = Context<symbol, I18nContextValue>;\n\n/**\n * The default i18n context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const i18nContext = createContext<I18nContextValue, typeof I18N_CONTEXT_KEY>(I18N_CONTEXT_KEY);\n","//#region src/dom/focus.ts\nfunction getDeepActiveElement(root = document) {\n\tlet active = root.activeElement;\n\twhile (active?.shadowRoot?.activeElement) active = active.shadowRoot.activeElement;\n\treturn active;\n}\n//#endregion\nexport { getDeepActiveElement };\n\n//# sourceMappingURL=focus.js.map","//#region src/dom/predicates.ts\nfunction isDocument(value) {\n\treturn value instanceof Node && value.nodeType === 9;\n}\nfunction isShadowRoot(value) {\n\treturn value instanceof Node && value.nodeType === 11 && \"host\" in value;\n}\nfunction isHTMLVideoElement(value) {\n\treturn value instanceof HTMLVideoElement;\n}\nfunction isHTMLAudioElement(value) {\n\treturn value instanceof HTMLAudioElement;\n}\nfunction isHTMLMediaElement(value) {\n\treturn value instanceof HTMLMediaElement;\n}\n//#endregion\nexport { isDocument, isHTMLAudioElement, isHTMLMediaElement, isHTMLVideoElement, isShadowRoot };\n\n//# sourceMappingURL=predicates.js.map","import { isShadowRoot } from \"./predicates.js\";\n//#region src/dom/tree.ts\nfunction containsComposed(root, element) {\n\tlet current = element;\n\twhile (current) {\n\t\tif (current === root || root.contains(current)) return true;\n\t\tconst nodeRoot = current.getRootNode();\n\t\tcurrent = isShadowRoot(nodeRoot) ? nodeRoot.host : current.parentNode;\n\t}\n\treturn false;\n}\n//#endregion\nexport { containsComposed };\n\n//# sourceMappingURL=tree.js.map","import {\n createTranslator,\n DEFAULT_LOCALE,\n getI18nTranslations,\n type Locale,\n onI18nRegistryChange,\n type Translator,\n} from '@videojs/core/i18n';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport type { I18nContext } from './context';\n\nlet fallbackTranslator: Translator | undefined;\n\nexport type I18nControllerHost = ReactiveControllerHost & HTMLElement;\n\nexport function getFallbackTranslator(): Translator {\n fallbackTranslator ??= createTranslator(getI18nTranslations(DEFAULT_LOCALE), DEFAULT_LOCALE);\n return fallbackTranslator;\n}\n\nexport class I18nController implements ReactiveController {\n readonly #host: I18nControllerHost;\n readonly #consumer: ContextConsumer<I18nContext, I18nControllerHost>;\n #unsubscribeRegistry: (() => void) | undefined;\n\n constructor(host: I18nControllerHost, context: I18nContext) {\n this.#host = host;\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: () => this.#host.requestUpdate(),\n subscribe: true,\n });\n host.addController(this);\n }\n\n get value(): Translator {\n return this.#consumer.value?.translator ?? getFallbackTranslator();\n }\n\n get locale(): Locale {\n return this.#consumer.value?.locale ?? DEFAULT_LOCALE;\n }\n\n hostConnected(): void {\n fallbackTranslator = undefined;\n this.#unsubscribeRegistry = onI18nRegistryChange(() => {\n fallbackTranslator = undefined;\n if (!this.#consumer.value) {\n this.#host.requestUpdate();\n }\n });\n }\n\n hostDisconnected(): void {\n this.#unsubscribeRegistry?.();\n this.#unsubscribeRegistry = undefined;\n }\n}\n\nexport namespace I18nController {\n export type Constructor = typeof I18nController;\n export type Host = I18nControllerHost;\n}\n","import { containsComposed, getDeepActiveElement } from \"@videojs/utils/dom\";\n//#region src/dom/ui/container-attrs.ts\nconst DEFAULT_CONTAINER_ROLE = \"group\";\nconst DEFAULT_CONTAINER_TAB_INDEX = 0;\nfunction applyContainerAttrs(element) {\n\tif (!element.hasAttribute(\"role\")) element.setAttribute(\"role\", DEFAULT_CONTAINER_ROLE);\n\tif (!element.hasAttribute(\"tabindex\")) element.setAttribute(\"tabindex\", String(0));\n}\nfunction focusContainer(element) {\n\tconst active = getDeepActiveElement(element.ownerDocument);\n\tif (!active || active === element.ownerDocument.body || !containsComposed(element, active)) element.focus({ preventScroll: true });\n}\n//#endregion\nexport { DEFAULT_CONTAINER_ROLE, DEFAULT_CONTAINER_TAB_INDEX, applyContainerAttrs, focusContainer };\n\n//# sourceMappingURL=container-attrs.js.map","//#region src/dom/ui/popover/popup-group.ts\nfunction createPopupGroup() {\n\tlet current = null;\n\tconst listeners = /* @__PURE__ */ new Set();\n\tfunction notify() {\n\t\tfor (const listener of listeners) listener();\n\t}\n\treturn {\n\t\topen(member) {\n\t\t\tif (current === member) return;\n\t\t\tconst previous = current;\n\t\t\tcurrent = member;\n\t\t\tprevious?.close(\"group-open\");\n\t\t\tnotify();\n\t\t},\n\t\tclose(member) {\n\t\t\tif (current !== member) return;\n\t\t\tcurrent = null;\n\t\t\tnotify();\n\t\t},\n\t\tisOpenFor(trigger) {\n\t\t\treturn trigger !== null && current?.triggerElement === trigger;\n\t\t},\n\t\tsubscribe(listener) {\n\t\t\tlisteners.add(listener);\n\t\t\treturn () => listeners.delete(listener);\n\t\t}\n\t};\n}\n//#endregion\nexport { createPopupGroup };\n\n//# sourceMappingURL=popup-group.js.map","const labelText = {\n\tkey: `container.label`,\n\ttext: \"Media player\"\n};\n//#endregion\nexport { labelText };\n\n//# sourceMappingURL=container.js.map","import type { PopupGroup } from '@videojs/core/dom';\nimport { type Context, createContext } from '@videojs/element/context';\n\nconst POPUP_GROUP_CONTEXT_KEY = Symbol.for('@videojs/popup-group');\n\nexport type PopupGroupContext = Context<typeof POPUP_GROUP_CONTEXT_KEY, PopupGroup>;\n\nexport const popupGroupContext = createContext<PopupGroup, typeof POPUP_GROUP_CONTEXT_KEY>(POPUP_GROUP_CONTEXT_KEY);\n","import { type AnyPlayerStore, createPopupGroup, type MediaContainer, type PlayerStore } from '@videojs/core/dom';\nimport { ContextConsumer, ContextProvider } from '@videojs/element/context';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport { type ContainerContext, containerContext, type PlayerContext, playerContext } from '../player/context';\nimport { popupGroupContext } from '../player/popup-group-context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport interface ContainerMixinConfig<Store extends PlayerStore> {\n playerContext: PlayerContext<Store>;\n containerContext: ContainerContext;\n}\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and registers itself as the\n * container element with the provider via `containerContext`.\n *\n * @param config - Container configuration with player and container contexts.\n */\nexport function createContainerMixin<Store extends PlayerStore>(\n config: ContainerMixinConfig<Store>\n): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #contextStore: Store | null = null;\n #setContainer: ((container: MediaContainer | null) => void) | null = null;\n #popupGroup = createPopupGroup();\n #popupGroupProvider = new ContextProvider(this, {\n context: popupGroupContext,\n initialValue: this.#popupGroup,\n });\n\n constructor(...args: any[]) {\n super(...args);\n\n new ContextConsumer(this, {\n context: config.playerContext,\n callback: (value) => {\n this.#contextStore = value ?? null;\n },\n subscribe: true,\n });\n\n new ContextConsumer(this, {\n context: config.containerContext,\n callback: (value) => {\n this.#setContainer = value?.setContainer ?? null;\n if (this.isConnected) this.#setContainer?.(this);\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.#popupGroupProvider.setValue(this.#popupGroup);\n this.#setContainer?.(this);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#setContainer?.(null);\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\n/**\n * Player container mixin configured for the default player contexts.\n *\n * Import this convenience mixin directly when composing a custom container.\n */\nexport const ContainerMixin = createContainerMixin<AnyPlayerStore>({\n playerContext,\n containerContext,\n});\n","import { applyContainerAttrs, focusContainer } from '@videojs/core/dom';\nimport { labelText } from '@videojs/core/i18n/text/container';\nimport type { PropertyValues } from '@videojs/element';\nimport { listen } from '@videojs/utils/dom';\n\nimport { i18nContext } from '../i18n/context';\nimport { I18nController } from '../i18n/controller';\nimport { ContainerMixin } from '../store/container-mixin';\nimport { MediaElement } from '../ui/media-element';\n\nexport class MediaContainerElement extends ContainerMixin(MediaElement) {\n static readonly tagName = 'media-container';\n\n readonly #i18n = new I18nController(this, i18nContext);\n #disconnect: AbortController | null = null;\n #label: string | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n applyContainerAttrs(this);\n this.#applyLabel();\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 protected override update(changed: PropertyValues): void {\n super.update(changed);\n this.#applyLabel();\n }\n\n #applyLabel(): void {\n const current = this.getAttribute('aria-label');\n if (current && current !== this.#label) return;\n\n if (this.hasAttribute('aria-labelledby')) {\n if (current === this.#label) {\n this.removeAttribute('aria-label');\n this.#label = null;\n }\n return;\n }\n\n const label = this.#i18n.value(labelText);\n this.setAttribute('aria-label', label);\n this.#label = label;\n }\n\n #onPointerUp = (): void => {\n focusContainer(this);\n };\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,r as t,s as n,u as r}from"./predicate-LbFu-fPH.js";import{n as i,t as a}from"./i18n-CE4KxKuj.js";import{t as o}from"./shallow-equal-KV1zFqZi.js";import{n as s}from"./media-element-Cp5PrNre.js";import{n as c,r as l,t as u}from"./context-C2rsoDxk.js";import{l as d}from"./container-element-Dd0ZCdhK.js";import{n as f,t as p}from"./casing-CxqC0yQL.js";import{t as m}from"./listen-4VrUltMW.js";import{t as h}from"./noop-Ch0IHcOP.js";import{n as g,t as _}from"./text-track-CG8USvNG.js";import{t as v}from"./webkit-DljEkldb.js";import{t as y}from"./abort-BhNYXtuF.js";import{n as b,r as x,t as ee}from"./constants-B4LD5zrj.js";function S(e){let t=e.composedPath();return t.length>0?t[0]:e.target}function C(e,t,n){return new Promise((r,i)=>{let a=()=>{i(n?.signal?.reason??`Aborted`)};if(n?.signal?.aborted){a();return}n?.signal?.addEventListener(`abort`,a,{once:!0}),e.addEventListener(t,e=>{n?.signal?.removeEventListener(`abort`,a),r(e)},{...n,once:!0})})}const te=[`button`,`input`,`select`,`textarea`,`a[href]`,`[role="button"]`,`[role="menu"]`,`[role="menuitem"]`,`[role="menuitemcheckbox"]`,`[role="menuitemradio"]`,`[role="slider"]`,`[data-interactive]`].join(`,`),ne=[`textarea`,`select`,`input:not([type])`,...[`text`,`search`,`url`,`tel`,`email`,`password`,`number`].map(e=>`input[type="${e}"]`),`[contenteditable]:not([contenteditable="false"])`].join(`,`);function re(e){return e.matches(ne)}function ie(e){let t=S(e);return t instanceof Element&&re(t)}function ae(e){let t=S(e);return t instanceof Element&&t.closest(te)!==null}const oe=new Set([` `,`Enter`]);function se(e){if(!oe.has(e.key))return!1;let t=S(e);return t instanceof Element&&t.matches(`button,a[href],[role="slider"],[role="button"]`)}function ce(e){let t=[];for(let n=0;n<e.length;n++)t.push([e.start(n),e.end(n)]);return t}var le=class{#e;#t=new Map;get base(){return(this.#e??=new AbortController).signal}clear(){for(let e of this.#t.values())e.abort();this.#t.clear()}reset(){this.clear(),this.#e?.abort(),this.#e=void 0}supersede(e){this.#t.get(e)?.abort();let t=new AbortController;return this.#t.set(e,t),y([this.base,t.signal])}};function ue(...e){let t=e.map(e=>e.derived??{});return{state:t=>{let n=e.map(e=>e.state(t));return Object.assign({},...n)},preserve:Array.from(new Set(e.flatMap(e=>e.preserve??[]))),derived:Object.assign({},...t),attach:t=>{for(let n of e)try{n.attach?.(t)}catch(e){t.reportError(e)}}}}var de=class extends Error{code;cause;constructor(e,t){super(t?.message??e),this.name=`StoreError`,this.code=e,this.cause=t?.cause}};function fe(){throw new de(`NO_TARGET`)}function pe(){throw new de(`DESTROYED`)}function me(){return(e=>e)}let w=!1;function he(){w||(w=!0,queueMicrotask(_e))}const ge=new Set;function _e(){w=!1;for(let e of ge)e.flush();ge.clear()}const ve=Object.prototype.hasOwnProperty;var ye=class{#e;#t=new Set;#n=!1;constructor(e){this.#e=Object.freeze({...e})}get current(){return this.#e}patch(e){let t={...this.#e},n=!1;for(let r of Reflect.ownKeys(e)){if(!ve.call(e,r))continue;let i=e[r];Object.is(this.#e[r],i)||(t[r]=i,n=!0)}n&&(this.#e=Object.freeze(t),this.#r())}replace(e){o(this.#e,e)||(this.#e=Object.freeze({...e}),this.#r())}subscribe(e,t){let n=t?.signal;if(n?.aborted)return h;if(this.#t.add(e),!n)return()=>this.#t.delete(e);let r=()=>this.#t.delete(e);return n.addEventListener(`abort`,r,{once:!0}),()=>{n.removeEventListener(`abort`,r),this.#t.delete(e)}}flush(){if(this.#n){this.#n=!1;for(let e of this.#t)e()}}#r(){this.#n=!0,ge.add(this),he()}};function be(e){return new ye(e)}const xe=Symbol.for(`@videojs/store`),Se=Object.prototype.hasOwnProperty;function Ce(){return((t,n={})=>{let r=null,i=!1,a=new AbortController,o=new le,s,c;function l(){i&&pe(),r||fe()}let u=we(t.state({target:()=>(l(),r),signals:o,get:()=>s,set:e=>h(e)}));s=u;let d=p(s);c=be(m(s,d));let f={[xe]:!0,get $state(){return c},get target(){return r},get destroyed(){return i},get state(){return c.current},attach:g,destroy:v,subscribe:y};for(let e of Object.keys(c.current))Object.defineProperty(f,e,{get:()=>c.current[e],enumerable:!0});for(let e of Object.getOwnPropertySymbols(s))typeof s[e]==`function`&&Object.defineProperty(f,e,{get:()=>s[e]});try{n.onSetup?.({store:f,signal:a.signal})}catch(e){b(e)}return f;function p(e){let n={},r=t.derived;if(!r)return n;let i={get:()=>e};for(let e of Object.keys(r))n[e]=r[e](i);return n}function m(e,t){let n={};for(let t of Object.keys(e))n[t]=e[t];return Object.assign(n,t)}function h(e){let t=Te(s,e);if(!t)return;let n=p(t.next);s=t.next,c.replace(m(s,n))}function g(e){i&&pe(),o.reset(),r=e;let a={target:e,signal:o.base,get:()=>s,set:e=>{try{h(e)}catch(e){b(e)}},reportError:b,store:{get state(){return c.current},subscribe:y}};try{t.attach?.(a)}catch(e){b(e)}try{n.onAttach?.({store:f,target:e,signal:o.base})}catch(e){b(e)}return _}function _(){if(e(r))return;o.reset(),r=null;let n={...u};for(let e of t.preserve??[])n[e]=s[e];h(n)}function v(){i||(i=!0,_(),a.abort())}function y(e,t){return c.subscribe(e,t)}function b(e){n.onError?n.onError({store:f,error:e}):console.error(`[vjs-store]`,e)}})}function we(e){return Object.freeze({...e})}function Te(e,t){let n={...e},r=!1;for(let i of Reflect.ownKeys(t)){if(!Se.call(t,i))continue;let a=t[i];Object.is(e[i],a)||(n[i]=a,r=!0)}return r?{next:Object.freeze(n)}:null}function Ee(e){return n(e)&&xe in e}const De=me();function T(e,t){if(arguments.length===1){let t=e,n=Object.values(t.config??{}).map(e=>e.state);return{...t,...n.length>0?{preserve:n}:{}}}let{name:n,state:i,attach:a}=e,o=e=>De({...r(n)?{}:{name:n},state:t=>i(t,e),...a?{attach:t=>a(t,e)}:{}}),s=o(t),c=(e=>r(e)?s:o(e));return c.state=s.state,s.attach&&(c.attach=s.attach),r(n)||Object.defineProperty(c,"name",{value:n}),c}function Oe(e){let t=e.map(e=>e.config??{});return Object.assign({},...t)}function ke(e,t,n){let r=e[t.action];if(typeof r!=`function`)throw TypeError(`Missing config action "${String(t.action)}"`);r(n)}function Ae(e){return e.readyState>=1}function E(e){if(!n(e))return!1;let i=e;return!r(i.paused)&&!r(i.ended)&&t(i.pause)}function D(e){if(!n(e))return!1;let t=e;return!r(t.currentTime)&&!r(t.duration)&&!r(t.seeking)}function O(e){if(!n(e))return!1;let i=e;return!r(i.src)&&!r(i.currentSrc)&&!r(i.readyState)&&t(i.load)}function k(e){if(!n(e))return!1;let t=e;return!r(t.volume)&&!r(t.muted)}function je(e){return n(e)?!r(e.muted):!1}function Me(e){return n(e)?!r(e.playbackRate):!1}function Ne(e){return n(e)?t(e.requestPictureInPicture):!1}function A(e){if(!n(e))return!1;let t=e;return!r(t.buffered)&&t.buffered!==x&&!r(t.seekable)&&t.seekable!==x}function Pe(e){return n(e)?!r(e.error):!1}function j(e){if(!n(e))return!1;let t=e;return!r(t.textTracks)&&t.textTracks!==b}function Fe(e){return n(e)?!r(e.videoRenditions):!1}function Ie(e){return n(e)?!r(e.audioTracks):!1}function Le(e){if(!n(e))return!1;let t=e;return!r(t.videoWidth)&&!r(t.videoHeight)}function Re(e){if(!n(e))return!1;let t=e;return n(t.remote)&&t.remote!==ee}function ze(e){return n(e)?!r(e.streamType):!1}function Be(e){return n(e)?!r(e.contentData):!1}function Ve(e){if(!n(e))return!1;let t=e;return!r(t.liveEdgeStart)&&!r(t.targetLiveWindow)}function He(e){return n(e)&&`querySelectorAll`in e&&t(e.querySelectorAll)}function Ue(e,t){return e.id||String(t)}function We(e){return{...e.id!==void 0&&{id:e.id},...e.kind!==void 0&&{kind:e.kind},label:e.label,language:e.language,enabled:e.enabled}}const Ge=T({name:`audioTrack`,state:({target:e})=>({audioTrackList:[],selectAudioTrack(t){let{media:n}=e();if(!Ie(n))return;let r=[...n.audioTracks],i=r.find((e,n)=>Ue(e,n)===t);if(i)for(let e of r)e.enabled=e===i}}),attach({target:e,signal:t,set:n}){let{media:r}=e,i=null,a=null,o=()=>Ie(r)?r.audioTracks:null,s=(e=o())=>{n({audioTrackList:e?[...e].map(We):[]})},c=()=>{let e=o();if(e===i){s(e);return}a?.abort(),a=new AbortController,i=e,i&&(m(i,`addtrack`,()=>s(i),{signal:a.signal}),m(i,`removetrack`,()=>s(i),{signal:a.signal}),m(i,`change`,()=>s(i),{signal:a.signal})),s(i)};c(),m(r,`loadstart`,c,{signal:t}),t.addEventListener(`abort`,()=>a?.abort(),{once:!0})}}),M=T({name:`buffer`,state:()=>({buffered:[],seekable:[]}),attach({target:e,signal:t,set:n}){let{media:r}=e;if(!A(r))return;let i=()=>n({buffered:ce(r.buffered),seekable:ce(r.seekable)});i(),m(r,`progress`,i,{signal:t}),m(r,`emptied`,i,{signal:t})}});function Ke(e,t,n){if(n.size===0)return null;let r=e-t.left,i=t.width;if(i===0)return null;let a=r/i;return n.size===2&&n.has(`left`)&&n.has(`right`)?a<.5?`left`:`right`:n.size===3?a<1/3?`left`:a<2/3?`center`:`right`:n.has(`left`)&&a<.5?`left`:n.has(`right`)&&a>=.5?`right`:n.has(`center`)&&(n.size===1||a>=1/3&&a<2/3)?`center`:null}var qe=class{#e;#t=[];#n=new Set;#r=null;#i=new Set;constructor(e){this.#e=e}get bindings(){return this.#t}subscribe(e){return this.#i.add(e),()=>this.#i.delete(e)}claimsTap(e,t){return!ae(e)&&this.#t.some(n=>n.type===`tap`&&n.action===t&&(!n.pointer||n.pointer===e.pointerType))}add(e){let t={...e,onActivate:t=>{if(this.#i.size>0){let n={type:e.type,source:`gesture`,action:e.action,value:e.value,region:e.region,pointer:e.pointer,event:t};for(let e of this.#i)try{e(n)}catch{}}e.onActivate(t)}};this.#t.push(t),this.#n.add(t.recognizer),this.#a();let n=!1;return()=>{if(n)return;n=!0;let e=this.#t.indexOf(t);e!==-1&&this.#t.splice(e,1),this.#o()}}#a(){if(this.#r)return;this.#r=new AbortController;let{signal:e}=this.#r,t=0;m(this.#e,`pointerdown`,e=>{e.button===0&&(t=Date.now())},{signal:e}),m(this.#e,`pointerup`,e=>{if(e.button!==0||Date.now()-t>250||ae(e))return;let n=e.pointerType,r=e.clientX,i=this.#e,a=this.#t,o={resolve:e=>Xe(a,e,n,r,i)};for(let t of this.#n)t.handleUp(o,e)},{signal:e})}#o(){if(!(this.#t.length>0)){for(let e of this.#n)e.reset();this.#n.clear(),this.#r?.abort(),this.#r=null}}};const N=new WeakMap;function Je(e){return N.get(e)}function Ye(e){let t=N.get(e);return t||(t=new qe(e),N.set(e,t)),t}function Xe(e,t,n,r,i){let a=i.getBoundingClientRect(),o=Ze(e,t,n),s=o.size>0?Ke(r,a,o):null,c=[];for(let r of e)if(!r.disabled&&r.type===t&&!(r.pointer&&r.pointer!==n)){if(r.region){if(r.region!==s)continue}else if(s!==null)continue;c.push(r)}return c}function Ze(e,t,n){let r=new Set;for(let i of e)i.disabled||i.type===t&&(i.pointer&&i.pointer!==n||i.region&&r.add(i.region));return r}function P(e){let t=e;if(n(t.remote)&&`state`in t.remote&&`prompt`in t.remote)return t.remote}function Qe(e){return P(e)?.state===`connected`}function $e(e){return P(e)?.state===`connecting`}async function et(e){let t=P(e);if(!t)throw new DOMException(`Remote playback not supported`,`NotSupportedError`);return t.prompt()}const tt=new WeakMap,F=T({name:`controls`,state:({get:e,set:t})=>{let n=nt(()=>(t({controlsVisible:!0}),()=>{}),()=>{let n=!e().userActive;return t({userActive:n,controlsVisible:n}),n});return tt.set(n.requestControlsLock,n),{userActive:!0,controlsVisible:!0,requestControlsLock:n.requestControlsLock,toggleControls:n.toggleControls}},attach({target:t,signal:n,get:r,set:i}){let{media:a,container:o}=t;if(!E(a)||e(o))return;let s,c=0,l=e=>c>0||e||a.paused||Qe(a)||$e(a);function u(){clearTimeout(s),s=void 0}function d(){u(),!(c>0)&&(s=setTimeout(p,2e3))}function f(){r().userActive||i({userActive:!0,controlsVisible:!0}),d()}function p(){u(),i({userActive:!1,controlsVisible:l(!1)})}function h(){c++,u(),r().controlsVisible||i({controlsVisible:!0});let e=!1;return()=>{e||n.aborted||(e=!0,c--,c===0&&f())}}function g(){return r().controlsVisible?p():f(),r().controlsVisible}let _=tt.get(r().requestControlsLock);_.setDelegates(h,g);let v=0,y=0,b=()=>y>0&&Date.now()-y<500;function x(e){v=Date.now(),e.pointerType===`touch`&&(y=v)}function ee(e){if(e.pointerType===`touch`&&(y=Date.now()),e.pointerType===`touch`&&Date.now()-v<250){if(Je(o)?.claimsTap(e,`toggleControls`))return;let t=[a,o].includes(e.target);r().controlsVisible&&t?p():f()}else f()}let S=()=>{let{userActive:e}=r();i({controlsVisible:l(e)}),!a.paused&&e&&d()};function C(e){if(e.pointerType===`touch`){r().userActive&&d();return}f()}if(m(o,`pointermove`,C,{signal:n}),m(o,`pointerdown`,x,{signal:n}),m(o,`pointerup`,ee,{signal:n}),m(o,`keyup`,f,{signal:n}),m(o,`focusin`,()=>{b()||f()},{signal:n}),m(o,`mouseleave`,()=>{b()||p()},{signal:n}),m(a,`play`,S,{signal:n}),m(a,`pause`,S,{signal:n}),m(a,`ended`,S,{signal:n}),Re(a)){let e=()=>{let{userActive:e}=r();i({controlsVisible:l(e)})};m(a.remote,`connect`,e,{signal:n}),m(a.remote,`connecting`,e,{signal:n}),m(a.remote,`disconnect`,e,{signal:n})}n.addEventListener(`abort`,()=>{_.reset(),c=0,u()},{once:!0}),d()}});function nt(e,t){let n=e,r=t,i=new Set,a={requestControlsLock:()=>{let e={release:n()},t=!1;return i.add(e),()=>{t||(t=!0,i.delete(e),e.release())}},toggleControls:()=>r(),setDelegates(e,t){if(e!==n){n=e;for(let t of i)t.release(),t.release=e()}r=t},reset(){a.setDelegates(e,t)}};return a}const I=T({name:`error`,state:({set:e})=>({error:null,dismissError(){e({error:null})}}),attach({target:e,signal:t,set:n}){let{media:r}=e;Pe(r)&&(m(r,`error`,()=>n({error:r.error}),{signal:t}),m(r,`emptied`,()=>n({error:null}),{signal:t}))}});function rt(){let e=document;return e.fullscreenEnabled||e.webkitFullscreenEnabled?!0:t(document.createElement(`video`).webkitSetPresentationMode)}function it(){let e=document;return e.fullscreenElement??e.webkitFullscreenElement??null}function at(e){if(!(e instanceof Element))return!1;try{return e.matches(`:fullscreen`)}catch{return!1}}function L(e,t){if(t.webkitPresentationMode===`fullscreen`)return!0;let n=it();return n&&(n===e||n===t)||at(e)||at(t)?!0:t.isFullscreen??!1}async function ot(e,n){let r=document;if(e&&(r.fullscreenEnabled||r.webkitFullscreenEnabled)){let n=e;if(t(n.requestFullscreen))return n.requestFullscreen();if(t(n.webkitRequestFullscreen))return n.webkitRequestFullscreen()}let i=n;if(t(i.webkitSetPresentationMode)){i.webkitSetPresentationMode(`fullscreen`);return}let a=n;if(t(a.requestFullscreen))return a.requestFullscreen()}async function R(e){let n=document,r=e;if(r.webkitPresentationMode===`fullscreen`&&t(r.webkitSetPresentationMode)){r.webkitSetPresentationMode(`inline`);return}if(t(n.exitFullscreen))return n.exitFullscreen();if(t(n.webkitExitFullscreen))return n.webkitExitFullscreen();let i=e;if(t(i.exitFullscreen))return i.exitFullscreen()}function st(){if(document.pictureInPictureEnabled){let e=/.*Version\/.*Safari\/.*/.test(navigator.userAgent),t=typeof matchMedia==`function`&&matchMedia(`(display-mode: standalone)`).matches;return!e||!t}return t(document.createElement(`video`).webkitSetPresentationMode)}function ct(e){return t(e.webkitSetPresentationMode)?!0:Ne(e)}function z(e){return e.webkitPresentationMode===`picture-in-picture`||document.pictureInPictureElement===e?!0:e.isPictureInPicture??!1}async function lt(e){let n=e;if(t(n.webkitSetPresentationMode)){n.webkitSetPresentationMode(`picture-in-picture`);return}let r=e;if(t(r.requestPictureInPicture))return r.requestPictureInPicture()}async function B(e){let n=e;if(n.webkitPresentationMode===`picture-in-picture`&&t(n.webkitSetPresentationMode)){n.webkitSetPresentationMode(`inline`);return}if(t(document.exitPictureInPicture))return document.exitPictureInPicture();let r=e;if(t(r.exitPictureInPicture))return r.exitPictureInPicture()}const V=T({name:`fullscreen`,state:({target:e})=>({fullscreen:!1,fullscreenAvailability:`unavailable`,async requestFullscreen(){let{media:t,container:n}=e();return z(t)&&await B(t),ot(n,t)},async exitFullscreen(){let{media:t}=e();return R(t)},async toggleFullscreen(){let{media:t,container:n}=e();return L(n,t)?R(t):(z(t)&&await B(t),ot(n,t))}}),attach({target:e,signal:t,set:n}){let{media:r,container:i}=e;n({fullscreenAvailability:rt()?`available`:`unsupported`});let a=()=>n({fullscreen:L(i,r)});a(),m(document,`fullscreenchange`,a,{signal:t}),m(document,`webkitfullscreenchange`,a,{signal:t}),`webkitPresentationMode`in r&&m(r,`webkitpresentationmodechanged`,a,{signal:t})}}),ut=T({name:`live`,state:()=>({liveEdgeStart:NaN,targetLiveWindow:NaN}),attach({target:e,signal:t,set:n}){let{media:r}=e;if(!Ve(r))return;let i=()=>n({liveEdgeStart:r.liveEdgeStart,targetLiveWindow:r.targetLiveWindow});i(),m(r,`targetlivewindowchange`,i,{signal:t}),m(r,`streamtypechange`,i,{signal:t}),m(r,`loadedmetadata`,i,{signal:t}),m(r,`canplay`,i,{signal:t}),m(r,`progress`,i,{signal:t}),m(r,`durationchange`,i,{signal:t}),m(r,`timeupdate`,i,{signal:t}),m(r,`emptied`,i,{signal:t})}}),H=Symbol(`@videojs/media-title`),U=Symbol(`@videojs/user-title`),dt=Symbol(`@videojs/set-user-title`),W=Symbol(`@videojs/media-poster`),G=Symbol(`@videojs/user-poster`),ft=Symbol(`@videojs/set-user-poster`),K=T({name:`metadata`,config:{title:{action:dt,state:U,html:{attribute:`content-title`}},poster:{action:ft,state:G}},state:({set:e})=>({[H]:void 0,[U]:void 0,[dt]:t=>e({[U]:t}),[W]:void 0,[G]:void 0,[ft]:t=>e({[G]:t})}),derived:{title:({get:e})=>e()[U]??e()[H]??``,poster:({get:e})=>e()[G]??e()[W]??``},attach({target:e,signal:t,set:n}){let{media:r}=e;if(!Be(r))return;let i=()=>n({[H]:r.contentData?.title,[W]:r.contentData?.poster});i(),m(r,`contentdatachange`,i,{signal:t})}}),q=T({name:`pip`,state:({target:e})=>({pip:!1,pipAvailability:`unavailable`,async requestPictureInPicture(){let{media:t,container:n}=e();return L(n,t)&&await R(t),lt(t)},async exitPictureInPicture(){let{media:t}=e();return B(t)},async togglePictureInPicture(){let{media:t,container:n}=e();return z(t)?B(t):(L(n,t)&&await R(t),lt(t))}}),attach({target:e,signal:t,set:n}){let{media:r}=e;n({pipAvailability:st()&&ct(r)?`available`:`unsupported`});let i=()=>n({pip:z(r)});i(),m(r,`enterpictureinpicture`,i,{signal:t}),m(r,`leavepictureinpicture`,i,{signal:t}),`webkitPresentationMode`in r&&m(r,`webkitpresentationmodechanged`,i,{signal:t})}}),J=T({name:`playback`,state:({target:e})=>({paused:!0,ended:!1,started:!1,waiting:!1,play(){return e().media.play()},pause(){let{media:t}=e();E(t)&&t.pause()},togglePaused(){let t=e().media;return E(t)?t.paused?(t.play(),!0):(t.pause(),!1):!1}}),attach({target:e,signal:t,set:n}){let{media:r}=e;if(!E(r)||!D(r)||!O(r))return;let i=()=>n({paused:r.paused,ended:r.ended,started:!r.paused||r.currentTime>0,waiting:r.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&!r.paused});i(),m(r,`emptied`,i,{signal:t}),m(r,`play`,i,{signal:t}),m(r,`pause`,i,{signal:t}),m(r,`ended`,i,{signal:t}),m(r,`playing`,i,{signal:t}),m(r,`waiting`,i,{signal:t}),m(r,`seeked`,i,{signal:t})}}),pt=[.2,.5,.7,1,1.2,1.5,1.7,2],Y=T({name:`playbackRate`,state:({target:e})=>({playbackRates:pt,playbackRate:1,setPlaybackRate(t){let{media:n}=e();Me(n)&&(n.playbackRate=t)}}),attach({target:e,signal:t,set:n}){let{media:r}=e;if(!Me(r))return;let i=()=>n({playbackRate:r.playbackRate});i(),m(r,`ratechange`,i,{signal:t})}});function mt(e,t){return e.id||String(t)}function ht(e){return{...e.id!==void 0&&{id:e.id},...e.width!==void 0&&{width:e.width},...e.height!==void 0&&{height:e.height},...e.bitrate!==void 0&&{bitrate:e.bitrate},...e.frameRate!==void 0&&{frameRate:e.frameRate},...e.codec!==void 0&&{codec:e.codec},selected:e.selected}}function gt(e){return e.width&&e.height?Math.min(e.width,e.height):e.height??e.width}const _t=T({name:`quality`,state:({target:e})=>({videoRenditionList:[],activeVideoRendition:null,selectVideoRendition(t){let{media:n}=e();if(!Fe(n))return;if(t===`auto`){n.videoRenditions.selectedIndex=-1;return}let r=[...n.videoRenditions].findIndex((e,n)=>mt(e,n)===t);r!==-1&&(n.videoRenditions.selectedIndex=r)}}),attach({target:e,signal:t,set:n}){let{media:r}=e,i=null,a=null,o=()=>Fe(r)?r.videoRenditions:null,s=e=>{if(!e)return null;let t=[...e],n=t.find(e=>e.active);if(n)return n;if(!Le(r)||!r.videoWidth&&!r.videoHeight)return null;let i=gt({width:r.videoWidth||void 0,height:r.videoHeight||void 0}),a=t.filter(e=>gt(e)===i);return a.length===1?a[0]:null},c=(e=o())=>{let t=s(e);n({videoRenditionList:e?[...e].map(ht):[],activeVideoRendition:t?ht(t):null})},l=()=>{let e=o();if(e===i){c(e);return}a?.abort(),a=new AbortController,i=e,i&&(m(i,`addrendition`,()=>c(i),{signal:a.signal}),m(i,`removerendition`,()=>c(i),{signal:a.signal}),m(i,`change`,()=>c(i),{signal:a.signal}),m(i,`activechange`,()=>c(i),{signal:a.signal})),c(i)};l(),m(r,`loadstart`,l,{signal:t}),m(r,`resize`,()=>c(i),{signal:t}),t.addEventListener(`abort`,()=>a?.abort(),{once:!0})}}),vt=T({name:`remotePlayback`,state:({target:e})=>({remotePlaybackState:`disconnected`,remotePlaybackAvailability:`unsupported`,async toggleRemotePlayback(){let{media:t,container:n}=e();return Qe(t)?et(t):(L(n,t)&&await R(t),await et(t))}}),attach({target:e,signal:t,set:n}){let{media:r}=e;if(!Re(r))return;if(v(r)){let e=()=>{n({remotePlaybackState:r.webkitCurrentPlaybackTargetIsWireless?`connected`:`disconnected`})};m(r,`webkitplaybacktargetavailabilitychanged`,e=>{let{availability:t}=e;n({remotePlaybackAvailability:t===`available`?`available`:`unavailable`})},{signal:t}),m(r,`webkitcurrentplaybacktargetiswirelesschanged`,e,{signal:t}),e();return}let i=()=>n({remotePlaybackState:r.remote.state});i(),m(r.remote,`connect`,i,{signal:t}),m(r.remote,`connecting`,i,{signal:t}),m(r.remote,`disconnect`,i,{signal:t}),r.remote.watchAvailability(e=>{n({remotePlaybackAvailability:e?`available`:`unavailable`})}).catch(()=>{n({remotePlaybackAvailability:`unsupported`})}),t.addEventListener(`abort`,()=>{r.remote?.cancelWatchAvailability?.().catch(()=>{})})}}),X=T({name:`source`,state:({target:e,signals:t})=>({source:null,canPlay:!1,loadSource(n){t.clear();let{media:r}=e();return O(r)?(r.src=n,r.load(),n):n}}),attach({target:e,signal:t,set:n}){let{media:r}=e;if(!O(r))return;let i=()=>n({source:r.currentSrc||r.src||null,canPlay:r.readyState>=HTMLMediaElement.HAVE_ENOUGH_DATA});i(),m(r,`canplay`,i,{signal:t}),m(r,`canplaythrough`,i,{signal:t}),m(r,`loadstart`,i,{signal:t}),m(r,`emptied`,i,{signal:t})}});function yt(e,t){return e.id||`track:${t}:${e.kind}:${e.language}:${e.label}`}function bt(e){return Array.from(e.textTracks).map((e,t)=>({id:yt(e,t),track:e})).filter(({track:e})=>g(e)).sort((e,t)=>e.track.kind>t.track.kind?1:e.track.kind<t.track.kind?-1:0)}function Z(e,t){for(let{track:n}of e){let e=n===t?`showing`:`disabled`;n.mode!==e&&(n.mode=e)}}function xt(e,t){let n=i(t),r=a(t);n!==`en`&&!n.startsWith(`en-`)&&r.pop();for(let t of r){let n=e.find(({track:e})=>i(e.language)===t);if(n)return n;let r=e.find(({track:e})=>i(e.language).startsWith(`${t}-`));if(r)return r}}const St=T({name:`textTrack`,state:({target:e})=>{let t=null;return{chaptersCues:[],thumbnailCues:[],thumbnailTrackSrc:null,textTrackList:[],subtitlesShowing:!1,toggleSubtitles(n){let{media:r}=e();if(!j(r))return!1;let i=bt(r);if(!i.length)return!1;let a=i.find(({track:e})=>e.mode===`showing`),o=n??!a;if(a&&(t=a.id),!o)return Z(i,null),!1;let s=a??i.find(({id:e})=>e===t)??xt(i,globalThis.navigator?.language??``)??i[0];return t=s.id,Z(i,s.track),!0},selectSubtitlesTrack(n){let{media:r}=e();if(!j(r))return;let i=bt(r);if(!i.length)return;if(n===`off`){let e=i.find(({track:e})=>e.mode===`showing`);e&&(t=e.id),Z(i,null);return}let a=i.find(({id:e})=>e===n);a&&(t=a.id,Z(i,a.track))}}},attach({target:e,signal:t,set:n}){let{media:r}=e;if(!j(r))return;let i=null,a=()=>{i?.abort(),i=new AbortController;let e=null,t=null,o=[],s=!1;for(let n=0;n<r.textTracks.length;n++){let i=r.textTracks[n];!e&&i.kind===`chapters`&&(e=i),!t&&i.kind===`metadata`&&i.label===`thumbnails`&&(t=i),o.push({id:yt(i,n),kind:i.kind,label:i.label,language:i.language,mode:i.mode}),g(i)&&i.mode===`showing`&&(s=!0)}let c=e?.cues?Array.from(e.cues):[],l=t?.cues?Array.from(t.cues):[],u=null;t&&(u=_(r,t)?.src??null);let d=He(r)&&r.querySelectorAll(`track`)||[],f=r instanceof HTMLElement&&r.shadowRoot?.querySelectorAll(`track`)||[];for(let e of[...d,...f])e.track?.cues?.length||m(e,`load`,a,{signal:i.signal});n({chaptersCues:c,thumbnailCues:l,thumbnailTrackSrc:u,textTrackList:o,subtitlesShowing:s})};a();let o=r.textTracks;o instanceof EventTarget&&(m(o,`addtrack`,a,{signal:t}),m(o,`removetrack`,a,{signal:t}),m(o,`change`,a,{signal:t})),m(r,`loadstart`,a,{signal:t}),t.addEventListener(`abort`,()=>i?.abort(),{once:!0})}}),Ct={seek:Symbol.for(`@videojs/seek`)},Q=T({name:`time`,state:({target:e,signals:t,set:n})=>({currentTime:0,duration:0,seeking:!1,async seek(r){let{media:i}=e(),a=t.supersede(Ct.seek);if(!D(i)||!O(i))return 0;if(!Ae(i)&&!await C(i,`loadedmetadata`,{signal:a}).catch(()=>!1))return i.currentTime;let o=Math.max(0,Math.min(r,i.duration||1/0));return n({currentTime:o,seeking:!0}),i.currentTime=o,await C(i,`seeked`,{signal:a}).catch(h),i.currentTime}}),attach({target:e,signal:t,set:n,get:r}){let{media:i}=e;if(!D(i))return;let a=()=>{let{duration:e}=i;if(e===1/0&&A(i)){let{seekable:e}=i;return e.length>0?e.end(e.length-1):0}return Number.isFinite(e)?e:0},o=()=>n({currentTime:i.currentTime,duration:a(),seeking:i.seeking}),s=()=>{r().seeking||o()};o(),m(i,`timeupdate`,s,{signal:t}),m(i,`durationchange`,o,{signal:t}),m(i,`seeking`,o,{signal:t}),m(i,`seeked`,o,{signal:t}),m(i,`loadedmetadata`,o,{signal:t}),m(i,`emptied`,o,{signal:t}),m(i,`progress`,s,{signal:t})}}),$=T({name:`volume`,state:({target:e})=>({volume:1,muted:!1,volumeAvailability:`unavailable`,mutedAvailability:`unavailable`,setVolume(t){let{media:n}=e();if(!k(n))return 0;let r=Math.max(0,Math.min(1,t));return r>0&&n.muted&&(n.muted=!1),n.volume=r,n.volume},toggleMuted(){let{media:t}=e();return je(t)?k(t)?(t.muted||t.volume===0?(t.muted=!1,t.volume===0&&(t.volume=.25)):t.muted=!0,t.muted):(t.muted=!t.muted,t.muted):!1}}),attach({target:e,signal:t,set:n}){let{media:r}=e,i=k(r),a=je(r);if(!i&&!a)return;n({volumeAvailability:i?wt():`unavailable`,mutedAvailability:a?`available`:`unavailable`});let o=()=>n({volume:i?r.volume:1,muted:a?r.muted:!1});o(),m(r,`volumechange`,o,{signal:t})}});function wt(){let e=document.createElement(`video`);try{return e.volume=.5,e.volume===.5?`available`:`unsupported`}catch{return`unsupported`}}const Tt=[J,Y,_t,Ge,$,Q,X,M,V,q,vt,F,St,I,K],Et=[J,Y,$,Q,X,M,I,K],Dt=[],Ot=[J,$,Q,X,M,V,q,vt,F,St,I,ut,K];var kt=class{#e;#t;#n;#r;#i=h;constructor(e,t,n){this.#e=e,this.#n=t,this.#t=n,e.addController(this)}get value(){return this.#t?(this.#r??=this.#t(this.#n.current),this.#r):this.#n.current}track(e){this.#n=e,this.#a()}hostConnected(){this.#a()}hostDisconnected(){this.#i(),this.#i=h,this.#r=void 0}#a(){if(this.#i(),!this.#t){this.#i=this.#n.subscribe(()=>this.#e.requestUpdate());return}let e=this.#t;this.#r=e(this.#n.current),this.#i=this.#n.subscribe(()=>{let t=e(this.#n.current);o(this.#r,t)||(this.#r=t,this.#e.requestUpdate())})}},At=class{#e;#t;#n;constructor(e,t,n){this.#e=n??h,Ee(t)?(this.#n=t,this.#t=null):(this.#n=null,this.#t=new s(e,{context:t,callback:e=>this.#e(e),subscribe:!1})),e.addController(this)}get value(){return this.#t?this.#t.value??null:this.#n}hostConnected(){this.#n&&this.#e(this.#n)}},jt=class{#e;#t;#n;#r=null;constructor(e,t,n){this.#e=e,this.#t=n,this.#n=new At(e,t,e=>this.#i(e)),e.addController(this)}get value(){let t=this.#n.value;if(e(t))throw Error(`Store not available`);return r(this.#t)?t:this.#r.value}hostConnected(){}#i(e){r(this.#t)||(this.#r?this.#r.track(e.$state):this.#r=new kt(this.#e,e.$state,this.#t))}},Mt=class{#e;#t;#n;#r=null;constructor(e,t,n){this.#e=e,this.#t=n,this.#n=new s(e,{context:t,callback:e=>this.#i(e),subscribe:!0}),e.addController(this)}get value(){let e=this.#n.value;if(e)return this.#t?this.#r?.value:e}get displayName(){return this.#t?.displayName}hostConnected(){let e=this.#n.value;e&&this.#i(e)}hostDisconnected(){this.#r=null}#i(e){!this.#r&&this.#t&&(this.#r=new jt(this.#e,e,this.#t))}};function Nt(e){return Object.entries(e).map(([e,t])=>{let n=t.html?.attribute??f(e);return{property:p(n),attribute:n,entry:t}})}function Pt(t){let n=Nt(t.config);return r=>{class i extends r{static{this.properties={...r.properties,...Object.fromEntries(n.map(({property:e,attribute:t})=>[e,{type:String,attribute:t}]))}}#e=t.factory();#t=null;#n=null;#r=null;#i=null;#a=!1;#o=e=>{this.#r!==e&&(this.#r=e,this.#l.setValue({media:e,setMedia:this.#o}),this.#d())};#s=e=>{this.#i!==e&&(this.#i=e,this.#u.setValue({container:e,setContainer:this.#s}),this.#d())};#c=new d(this,{context:t.playerContext,initialValue:this.store});#l=new d(this,{context:t.mediaContext,initialValue:{media:this.#r,setMedia:this.#o}});#u=new d(this,{context:t.containerContext,initialValue:{container:this.#i,setContainer:this.#s}});get store(){return e(this.#e)&&(this.#e=t.factory()),this.#e}connectedCallback(){this.#p(),super.connectedCallback(),this.#c.setValue(this.store),this.#l.setValue({media:this.#r,setMedia:this.#o}),this.#u.setValue({container:this.#i,setContainer:this.#s}),this.#d(),this.#m()}disconnectedCallback(){super.disconnectedCallback(),this.#f()}destroyCallback(){this.#f(),this.#e?.destroy(),this.#e=null,super.destroyCallback()}willUpdate(e){super.willUpdate(e);for(let{property:t,entry:r}of n)e.has(t)&&ke(this.store,r,this[t])}#d(){let e=this.#e;if(!e)return;if(!this.#r){this.#f();return}let t={media:this.#r,container:this.#i},n=e.target?.media!==t.media,r=e.target?.container!==t.container;(n||r)&&(this.#f(),this.#n=e.attach(t))}#f(){this.#n?.(),this.#n=null}#p(){let e=this.store;if(this.#t!==e){for(let{property:t,entry:r}of n)ke(e,r,this[t]);this.#t=e}}#m(){this.#r||this.#a||(this.#a=!0,queueMicrotask(()=>{if(this.#a=!1,this.#r)return;let e=this.querySelector(`video, audio`);e&&this.#o(e)}))}}return i}}function Ft(e){let t=ue(...e.features),n=Oe(e.features);function r(){return Ce()(t)}return{context:l,create:r,PlayerController:Mt,ProviderMixin:Pt({playerContext:l,mediaContext:c,containerContext:u,factory:r,config:n})}}export{fe as A,M as C,ze as D,D as E,ie as M,se as N,T as O,Ye as S,A as T,K as _,Dt as a,I as b,$ as c,X as d,vt as f,q as g,J as h,Et as i,le as j,be as k,Q as l,Y as m,Mt as n,Ot as o,_t as p,kt as r,Tt as s,Ft as t,St as u,ut as v,Ge as w,F as x,V as y};
|
|
2
|
+
//# sourceMappingURL=create-player-BU8LDJDL.js.map
|