@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
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { i as MediaContainerElement, o as audioFeatures, t as createPlayer } from "./create-player-BHFyOnWi.js";
|
|
2
1
|
import { t as MediaElement } from "./media-element-CJY3JIgc.js";
|
|
3
2
|
import { i as safeDefine } from "./context-OhQY847V.js";
|
|
3
|
+
import { t as MediaContainerElement } from "./container-element-HHK_KZOE.js";
|
|
4
|
+
import { i as audioFeatures, t as createPlayer } from "./create-player-Db1CIvlK.js";
|
|
4
5
|
|
|
5
6
|
//#region src/define/audio/player.ts
|
|
6
7
|
const { ProviderMixin } = createPlayer({ features: audioFeatures });
|
|
@@ -14,4 +15,4 @@ safeDefine(MediaContainerElement);
|
|
|
14
15
|
|
|
15
16
|
//#endregion
|
|
16
17
|
export { AudioPlayerElement as t };
|
|
17
|
-
//# sourceMappingURL=player-
|
|
18
|
+
//# sourceMappingURL=player-L5UpZmT4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-
|
|
1
|
+
{"version":3,"file":"player-L5UpZmT4.js","names":[],"sources":["../src/define/audio/player.ts"],"sourcesContent":["import { audioFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: audioFeatures,\n});\n\nexport class AudioPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'audio-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioPlayerElement.tagName]: AudioPlayerElement;\n }\n}\n"],"mappings":";;;;;;AAMA,MAAM,EAAE,kBAAkB,aAAa,EACrC,UAAU,cACZ,CAAC;AAED,IAAa,qBAAb,cAAwC,cAAc,YAAY,CAAC,CAAC;;iBACxC;;AAC5B;AAGA,WAAW,kBAAkB;AAC7B,WAAW,qBAAqB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { H as i18nContext, P as I18nController, j as createState, n as PlayerController } from "./create-player-BHFyOnWi.js";
|
|
4
|
-
import { r as resolveText$1 } from "./translate-text-DP0CzUCC.js";
|
|
1
|
+
import { B as selectTextTrack, C as applyStateDataAttrs, F as selectPiP, G as captionsText, I as selectPlayback, K as offText, M as selectFullscreen, P as selectMetadata, S as resolveLabel, T as applyElementProps, Z as subtitlesText, _ as MenuRadioGroupElement, b as enterText$1, g as RadioOptionsController, it as defaults, v as MediaButtonElement, w as logMissingFeature, x as exitText$1, z as selectRemotePlayback } from "./compounds-C73u1MeO.js";
|
|
2
|
+
import { r as resolveText$1 } from "./translate-text-BWvoW5-r.js";
|
|
5
3
|
import { t as MediaElement } from "./media-element-CJY3JIgc.js";
|
|
6
4
|
import { r as playerContext } from "./context-OhQY847V.js";
|
|
5
|
+
import { c as i18nContext, r as I18nController } from "./container-element-HHK_KZOE.js";
|
|
6
|
+
import { k as createState, n as PlayerController } from "./create-player-Db1CIvlK.js";
|
|
7
7
|
import { n as isCaptionOrSubtitleTrack } from "./text-track-DMA7pa8W.js";
|
|
8
8
|
import { n as supportsWebKitAirPlay } from "./webkit-C682yTT7.js";
|
|
9
|
-
import {
|
|
9
|
+
import { translateText } from "./i18n.dev.js";
|
|
10
10
|
|
|
11
11
|
//#region ../core/dist/dev/i18n/text/airplay.js
|
|
12
12
|
const prefix$3 = "airplay.";
|
|
@@ -545,19 +545,48 @@ const PiPButtonDataAttrs = {
|
|
|
545
545
|
|
|
546
546
|
//#endregion
|
|
547
547
|
//#region ../core/dist/dev/core/ui/poster/poster-core.js
|
|
548
|
+
/**
|
|
549
|
+
* Turns playback and metadata into poster presentation state.
|
|
550
|
+
*
|
|
551
|
+
* Owns no image of its own: a binding finds one, supplies how it is faring
|
|
552
|
+
* through {@link PosterCore.setImageLoadState}, and paints the result.
|
|
553
|
+
*/
|
|
548
554
|
var PosterCore = class {
|
|
549
555
|
#media = null;
|
|
556
|
+
#loadState = "none";
|
|
557
|
+
/** Supply the latest player state. Call before reading {@link PosterCore.getState}. */
|
|
550
558
|
setMedia(media) {
|
|
551
559
|
this.#media = media;
|
|
552
560
|
}
|
|
561
|
+
/** Supply how the binding's image is faring. */
|
|
562
|
+
setImageLoadState(loadState) {
|
|
563
|
+
this.#loadState = loadState;
|
|
564
|
+
}
|
|
565
|
+
/** Derive the presentation state to paint. */
|
|
553
566
|
getState() {
|
|
554
|
-
|
|
567
|
+
const media = this.#media;
|
|
568
|
+
return {
|
|
569
|
+
visible: !media.started,
|
|
570
|
+
src: media.poster,
|
|
571
|
+
loading: this.#loadState === "loading",
|
|
572
|
+
loaded: this.#loadState === "loaded",
|
|
573
|
+
error: this.#loadState === "error"
|
|
574
|
+
};
|
|
555
575
|
}
|
|
556
576
|
};
|
|
557
577
|
|
|
558
578
|
//#endregion
|
|
559
579
|
//#region ../core/dist/dev/core/ui/poster/poster-data-attrs.js
|
|
560
|
-
const PosterDataAttrs = {
|
|
580
|
+
const PosterDataAttrs = {
|
|
581
|
+
/** Present until playback starts. */
|
|
582
|
+
visible: "data-visible",
|
|
583
|
+
/** Present while the poster image is fetching. */
|
|
584
|
+
loading: "data-loading",
|
|
585
|
+
/** Present once the poster image has decoded. */
|
|
586
|
+
loaded: "data-loaded",
|
|
587
|
+
/** Present when the poster image failed. */
|
|
588
|
+
error: "data-error"
|
|
589
|
+
};
|
|
561
590
|
|
|
562
591
|
//#endregion
|
|
563
592
|
//#region src/ui/airplay-button/airplay-button-element.ts
|
|
@@ -576,6 +605,17 @@ var AirPlayButtonElement = class extends MediaButtonElement {
|
|
|
576
605
|
}
|
|
577
606
|
};
|
|
578
607
|
|
|
608
|
+
//#endregion
|
|
609
|
+
//#region src/ui/command-for.ts
|
|
610
|
+
/** Toggle a popup host linked via `commandfor` (menu, popover, etc.). */
|
|
611
|
+
function toggleCommandTarget(host, commandfor) {
|
|
612
|
+
const root = host.getRootNode();
|
|
613
|
+
const target = ("getElementById" in root ? root.getElementById(commandfor) : null) ?? root.querySelector(`#${CSS.escape(commandfor)}`);
|
|
614
|
+
if (!target || !("open" in target)) return;
|
|
615
|
+
const popup = target;
|
|
616
|
+
popup.open = !popup.open;
|
|
617
|
+
}
|
|
618
|
+
|
|
579
619
|
//#endregion
|
|
580
620
|
//#region src/ui/captions-button/captions-button-element.ts
|
|
581
621
|
function getCaptionTrackCount(state) {
|
|
@@ -695,7 +735,7 @@ var CaptionsRadioGroupElement = class extends MenuRadioGroupElement {
|
|
|
695
735
|
state = this.#core.getState();
|
|
696
736
|
this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));
|
|
697
737
|
this.#options.sync(state, this.#i18n.value, this.#i18n.locale);
|
|
698
|
-
this.
|
|
738
|
+
this.publishMenuTriggerState(state.disabled, state.availability);
|
|
699
739
|
}
|
|
700
740
|
super.update(changed);
|
|
701
741
|
if (state) applyStateDataAttrs(this, state, CaptionsRadioGroupDataAttrs);
|
|
@@ -755,52 +795,165 @@ var PiPButtonElement = class extends MediaButtonElement {
|
|
|
755
795
|
}
|
|
756
796
|
};
|
|
757
797
|
|
|
758
|
-
//#endregion
|
|
759
|
-
//#region src/ui/media-ui-element.ts
|
|
760
|
-
/** Abstract base for HTML custom elements that display media state with data attributes. */
|
|
761
|
-
var MediaUIElement = class extends MediaElement {
|
|
762
|
-
#i18n = new I18nController(this, i18nContext);
|
|
763
|
-
connectedCallback() {
|
|
764
|
-
super.connectedCallback();
|
|
765
|
-
if (!this.mediaState.value && this.mediaState.displayName) logMissingFeature(this.localName, this.mediaState.displayName);
|
|
766
|
-
}
|
|
767
|
-
update(changed) {
|
|
768
|
-
super.update(changed);
|
|
769
|
-
const media = this.mediaState.value;
|
|
770
|
-
if (!media) return;
|
|
771
|
-
this.core.setMedia(media);
|
|
772
|
-
const state = this.core.getState();
|
|
773
|
-
if (isFunction(this.core.getAttrs)) {
|
|
774
|
-
const attrs = this.core.getAttrs(state);
|
|
775
|
-
if (isText(attrs["aria-label"])) attrs["aria-label"] = translateText(attrs["aria-label"], this.#i18n.value);
|
|
776
|
-
applyElementProps(this, attrs);
|
|
777
|
-
}
|
|
778
|
-
applyStateDataAttrs(this, state, this.stateAttrMap);
|
|
779
|
-
}
|
|
780
|
-
};
|
|
781
|
-
|
|
782
798
|
//#endregion
|
|
783
799
|
//#region src/ui/poster/poster-element.ts
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
this.mediaState = new PlayerController(this, playerContext, selectPlayback);
|
|
800
|
+
/** What an element composes: whatever fills a slot, or the element's own children. */
|
|
801
|
+
function composedChildren(element) {
|
|
802
|
+
if (element instanceof HTMLSlotElement) {
|
|
803
|
+
const assigned = element.assignedElements();
|
|
804
|
+
if (assigned.length > 0) return assigned;
|
|
790
805
|
}
|
|
806
|
+
return [...element.children];
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* The first image an element composes. A skin forwards its own
|
|
810
|
+
* `<slot name="poster">` in, so the image is a slot or two down and may be
|
|
811
|
+
* wrapped in a `<picture>` or a framework image component.
|
|
812
|
+
*/
|
|
813
|
+
function findImage(element) {
|
|
814
|
+
for (const child of composedChildren(element)) {
|
|
815
|
+
if (child instanceof HTMLImageElement) return child;
|
|
816
|
+
const nested = findImage(child);
|
|
817
|
+
if (nested) return nested;
|
|
818
|
+
}
|
|
819
|
+
return null;
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* Whether anything already points this image somewhere, which answers both
|
|
823
|
+
* whether the author owns the source and whether there is a download to wait
|
|
824
|
+
* for. A `<source>` counts: inside a `<picture>` it can win over the `src`.
|
|
825
|
+
*/
|
|
826
|
+
function hasSource(img) {
|
|
827
|
+
if (img.hasAttribute("src") || img.hasAttribute("srcset")) return true;
|
|
828
|
+
const parent = img.parentElement;
|
|
829
|
+
return parent?.localName === "picture" && parent.querySelector("source") !== null;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* Whether `complete` on this image describes a request. It is also true for one
|
|
833
|
+
* that omits both `src` and `srcset`, whatever a parent `<picture>` is fetching
|
|
834
|
+
* on its behalf, so only an image sourced from its own attributes can be read.
|
|
835
|
+
*/
|
|
836
|
+
function hasOwnSource(img) {
|
|
837
|
+
return !!img.getAttribute("src") || img.hasAttribute("srcset");
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* `<media-poster>` — sets `src` on a poster image it does not own.
|
|
841
|
+
*
|
|
842
|
+
* The image is a child, as in `<picture>`, but sourcing runs the other way
|
|
843
|
+
* around: `<picture>` treats the `src` on its `<img>` as the fallback, while
|
|
844
|
+
* here an image with no source of its own is the one this element fills in.
|
|
845
|
+
* Give the child a `src`, a `srcset`, or `<source>` candidates and it is yours,
|
|
846
|
+
* left alone.
|
|
847
|
+
*
|
|
848
|
+
* Renders no image of its own, so include one:
|
|
849
|
+
* `<media-poster><img alt=""></media-poster>`. Inside a skin, an
|
|
850
|
+
* `<img slot="poster">` of yours replaces the one the skin carries.
|
|
851
|
+
*/
|
|
852
|
+
var PosterElement = class extends MediaElement {
|
|
791
853
|
static {
|
|
792
854
|
this.tagName = "media-poster";
|
|
793
855
|
}
|
|
794
856
|
static get observedAttributes() {
|
|
795
857
|
return [...super.observedAttributes, "placeholdersrc"];
|
|
796
858
|
}
|
|
859
|
+
#core = new PosterCore();
|
|
860
|
+
#children = new MutationObserver(() => this.requestUpdate());
|
|
861
|
+
#playback = new PlayerController(this, playerContext, selectPlayback);
|
|
862
|
+
#metadata = new PlayerController(this, playerContext, selectMetadata);
|
|
863
|
+
#image = null;
|
|
864
|
+
/** Whether `#image` had no source of its own when it became active. */
|
|
865
|
+
#owned = false;
|
|
866
|
+
#imageLoadState = "pending";
|
|
867
|
+
#imageEvents = null;
|
|
868
|
+
#disconnect = null;
|
|
869
|
+
#warnedMissingImage = false;
|
|
870
|
+
connectedCallback() {
|
|
871
|
+
super.connectedCallback();
|
|
872
|
+
if (this.destroyed) return;
|
|
873
|
+
this.#disconnect = new AbortController();
|
|
874
|
+
const { signal } = this.#disconnect;
|
|
875
|
+
this.addEventListener("slotchange", () => this.requestUpdate(), { signal });
|
|
876
|
+
this.#children.observe(this, {
|
|
877
|
+
childList: true,
|
|
878
|
+
subtree: true
|
|
879
|
+
});
|
|
880
|
+
if (!this.#playback.value) logMissingFeature(this.localName, this.#playback.displayName ?? "playback");
|
|
881
|
+
}
|
|
797
882
|
attributeChangedCallback(attr, oldValue, newValue) {
|
|
798
883
|
super.attributeChangedCallback(attr, oldValue, newValue);
|
|
799
884
|
if (attr === "placeholdersrc") if (newValue) this.style.setProperty("--media-poster-placeholder", `url(${newValue})`);
|
|
800
885
|
else this.style.removeProperty("--media-poster-placeholder");
|
|
801
886
|
}
|
|
887
|
+
disconnectedCallback() {
|
|
888
|
+
super.disconnectedCallback();
|
|
889
|
+
this.#adopt(null);
|
|
890
|
+
this.#children.disconnect();
|
|
891
|
+
this.#disconnect?.abort();
|
|
892
|
+
this.#disconnect = null;
|
|
893
|
+
}
|
|
894
|
+
get #loadState() {
|
|
895
|
+
if (!this.#image || !hasSource(this.#image)) return "none";
|
|
896
|
+
return this.#imageLoadState === "pending" ? "loading" : this.#imageLoadState;
|
|
897
|
+
}
|
|
898
|
+
update(changed) {
|
|
899
|
+
super.update(changed);
|
|
900
|
+
const playback = this.#playback.value;
|
|
901
|
+
if (!playback) return;
|
|
902
|
+
this.#core.setMedia({
|
|
903
|
+
started: playback.started,
|
|
904
|
+
poster: this.#metadata.value?.poster ?? ""
|
|
905
|
+
});
|
|
906
|
+
const { src } = this.#core.getState();
|
|
907
|
+
this.#adopt(findImage(this));
|
|
908
|
+
this.#applySource(src);
|
|
909
|
+
this.#core.setImageLoadState(this.#loadState);
|
|
910
|
+
applyStateDataAttrs(this, this.#core.getState(), PosterDataAttrs);
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* Ownership is settled once, when an image becomes active: after the first fill
|
|
914
|
+
* the `src` we set would itself look authored. Re-slot an image with a source
|
|
915
|
+
* to hand it back, the way React decides a field is controlled at mount.
|
|
916
|
+
*/
|
|
917
|
+
#adopt(next) {
|
|
918
|
+
if (next === this.#image) return;
|
|
919
|
+
if (this.#owned) this.#image?.removeAttribute("src");
|
|
920
|
+
this.#imageEvents?.abort();
|
|
921
|
+
this.#imageEvents = null;
|
|
922
|
+
this.#image = next;
|
|
923
|
+
this.#owned = next !== null && !hasSource(next);
|
|
924
|
+
this.#imageLoadState = "pending";
|
|
925
|
+
if (!next) return;
|
|
926
|
+
if (next.naturalWidth > 0) this.#imageLoadState = "loaded";
|
|
927
|
+
else if (next.complete && hasOwnSource(next)) this.#imageLoadState = "error";
|
|
928
|
+
this.#imageEvents = new AbortController();
|
|
929
|
+
const { signal } = this.#imageEvents;
|
|
930
|
+
const settle = (loadState) => () => {
|
|
931
|
+
this.#imageLoadState = loadState;
|
|
932
|
+
this.requestUpdate();
|
|
933
|
+
};
|
|
934
|
+
next.addEventListener("load", settle("loaded"), { signal });
|
|
935
|
+
next.addEventListener("error", settle("error"), { signal });
|
|
936
|
+
}
|
|
937
|
+
#applySource(src) {
|
|
938
|
+
const img = this.#image;
|
|
939
|
+
if (!img) {
|
|
940
|
+
if (src && !this.#warnedMissingImage) {
|
|
941
|
+
this.#warnedMissingImage = true;
|
|
942
|
+
console.warn(`<${this.localName}> resolved a poster but has no image to put it in. Add one as a child: <${this.localName}><img alt=""></${this.localName}>`);
|
|
943
|
+
}
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
946
|
+
if (!this.#owned) return;
|
|
947
|
+
if (!src) {
|
|
948
|
+
this.#imageLoadState = "pending";
|
|
949
|
+
img.removeAttribute("src");
|
|
950
|
+
} else if (img.getAttribute("src") !== src) {
|
|
951
|
+
this.#imageLoadState = "pending";
|
|
952
|
+
img.setAttribute("src", src);
|
|
953
|
+
}
|
|
954
|
+
}
|
|
802
955
|
};
|
|
803
956
|
|
|
804
957
|
//#endregion
|
|
805
958
|
export { CaptionsRadioGroupElement as a, CastButtonElement as i, PiPButtonElement as n, CaptionsButtonElement as o, FullscreenButtonElement as r, AirPlayButtonElement as s, PosterElement as t };
|
|
806
|
-
//# sourceMappingURL=poster-element-
|
|
959
|
+
//# sourceMappingURL=poster-element-B5tdJ2ub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poster-element-B5tdJ2ub.js","names":["prefix","startText","stopText","prefix","#props","stopText","startText","#media","resolveText","prefix","#props","#media","resolveText","getCaptionTrackCount","#props","#media","resolveText","#props","#media","resolveText","#props","exitText","enterText","#media","resolveText","#props","#media","resolveText","#media","#loadState","#defaultCommandfor","#syncCommandFor","#mediaState","#core","#i18n","#options","#core","#children","#playback","#metadata","#disconnect","#adopt","#loadState","#image","#imageLoadState","#applySource","#owned","#imageEvents","#warnedMissingImage"],"sources":["../../core/dist/dev/i18n/text/airplay.js","../../core/dist/dev/i18n/text/cast.js","../../core/dist/dev/core/ui/airplay-button/airplay-button-core.js","../../core/dist/dev/core/ui/airplay-button/airplay-button-data-attrs.js","../../core/dist/dev/i18n/text/captions.js","../../core/dist/dev/core/ui/captions-button/captions-button-core.js","../../core/dist/dev/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/dev/core/ui/captions-radio-group/captions-radio-group-core.js","../../core/dist/dev/core/ui/captions-radio-group/captions-radio-group-data-attrs.js","../../core/dist/dev/core/ui/cast-button/cast-button-core.js","../../core/dist/dev/core/ui/cast-button/cast-button-data-attrs.js","../../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/dev/i18n/text/pip.js","../../core/dist/dev/core/ui/pip-button/pip-button-core.js","../../core/dist/dev/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/dev/core/ui/poster/poster-core.js","../../core/dist/dev/core/ui/poster/poster-data-attrs.js","../src/ui/airplay-button/airplay-button-element.ts","../src/ui/command-for.ts","../src/ui/captions-button/captions-button-element.ts","../src/ui/captions-radio-group/captions-radio-group-element.ts","../src/ui/cast-button/cast-button-element.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/ui/pip-button/pip-button-element.ts","../src/ui/poster/poster-element.ts"],"sourcesContent":["//#region src/core/i18n/text/airplay.ts\nconst prefix = \"airplay.\";\nconst startText = {\n\tkey: `${prefix}start`,\n\ttext: \"Start AirPlay\"\n};\nconst stopText = {\n\tkey: `${prefix}stop`,\n\ttext: \"Stop AirPlay\"\n};\n//#endregion\nexport { startText, stopText };\n\n//# sourceMappingURL=airplay.js.map","//#region src/core/i18n/text/cast.ts\nconst prefix = \"cast.\";\nconst startText = {\n\tkey: `${prefix}start`,\n\ttext: \"Start casting\"\n};\nconst stopText = {\n\tkey: `${prefix}stop`,\n\ttext: \"Stop casting\"\n};\nconst connectingText = {\n\tkey: `${prefix}connecting`,\n\ttext: \"Connecting\"\n};\n//#endregion\nexport { connectingText, startText, stopText };\n\n//# sourceMappingURL=cast.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { startText, stopText } from \"../../../i18n/text/airplay.js\";\nimport { connectingText } from \"../../../i18n/text/cast.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { createState } from \"@videojs/store\";\nimport { supportsWebKitAirPlay } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/airplay-button/airplay-button-core.ts\nvar AirPlayButtonCore = class AirPlayButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tstate: \"disconnected\",\n\t\tavailability: \"unsupported\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...AirPlayButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, AirPlayButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\tif (state.state === \"connected\") return stopText;\n\t\tif (state.state === \"connecting\") return connectingText;\n\t\treturn startText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = supportsWebKitAirPlay() ? media.remotePlaybackAvailability : \"unsupported\";\n\t\tthis.state.patch({\n\t\t\tstate: media.remotePlaybackState,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\ttry {\n\t\t\tawait media.toggleRemotePlayback();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { AirPlayButtonCore };\n\n//# sourceMappingURL=airplay-button-core.js.map","//#region src/core/ui/airplay-button/airplay-button-data-attrs.ts\nconst AirPlayButtonDataAttrs = {\n\t/**\n\t* Current AirPlay connection state.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n\t*/\n\tstate: \"data-airplay-state\",\n\t/**\n\t* Whether AirPlay is available on the active platform and media.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback\n\t*/\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because AirPlay is unavailable. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { AirPlayButtonDataAttrs };\n\n//# sourceMappingURL=airplay-button-data-attrs.js.map","//#region src/core/i18n/text/captions.ts\nconst prefix = \"captions.\";\nconst enableText = {\n\tkey: `${prefix}enable`,\n\ttext: \"Enable captions\"\n};\nconst disableText = {\n\tkey: `${prefix}disable`,\n\ttext: \"Disable captions\"\n};\n//#endregion\nexport { disableText, enableText };\n\n//# sourceMappingURL=captions.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { disableText, enableText } from \"../../../i18n/text/captions.js\";\nimport { createState } from \"@videojs/store\";\nimport { isCaptionOrSubtitleTrack } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false,\n\t\tmenuTrigger: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.subtitlesShowing ? disableText : enableText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some(isCaptionOrSubtitleTrack) ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability === \"unavailable\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\tif (this.#props.menuTrigger && getCaptionTrackCount(media) > 1) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\nfunction getCaptionTrackCount(media) {\n\treturn media.textTrackList.filter(isCaptionOrSubtitleTrack).length;\n}\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\t/** Present when captions are enabled. */\n\tsubtitlesShowing: \"data-active\",\n\t/** Indicates captions availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because no caption tracks are present. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { captionsText, offText, subtitlesText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { isCaptionOrSubtitleTrack } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/captions-radio-group/captions-radio-group-core.ts\nconst CAPTIONS_OFF_VALUE = \"off\";\nfunction formatTrackLabel(track) {\n\tif (track.label) return track.label;\n\tif (track.language) return track.language;\n\treturn track.kind === \"captions\" ? captionsText : subtitlesText;\n}\nfunction sortCaptionTracks(a, b) {\n\treturn a.kind > b.kind ? 1 : a.kind < b.kind ? -1 : 0;\n}\nfunction getCaptionTracks(textTrackList) {\n\treturn textTrackList.filter(isCaptionOrSubtitleTrack).sort(sortCaptionTracks);\n}\nvar CaptionsRadioGroupCore = class CaptionsRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatTrack: formatTrackLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [{\n\t\t\tvalue: \"off\",\n\t\t\tlabel: offText,\n\t\t\tdisabled: false\n\t\t}],\n\t\tvalue: \"off\",\n\t\tsubtitlesShowing: false,\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn captionsText;\n\t}\n\tgetTrackLabel(track) {\n\t\treturn this.#props.formatTrack(track);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst captionTracks = getCaptionTracks(media.textTrackList);\n\t\tconst showingIndex = captionTracks.findIndex((track) => track.mode === \"showing\");\n\t\tconst options = [{\n\t\t\tvalue: \"off\",\n\t\t\tlabel: offText,\n\t\t\tdisabled: false\n\t\t}, ...captionTracks.map((track, index) => ({\n\t\t\tvalue: track.id || String(index),\n\t\t\tlabel: this.getTrackLabel(track),\n\t\t\tdisabled: false\n\t\t}))];\n\t\tconst availability = captionTracks.length > 0 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\toptions,\n\t\t\tvalue: showingIndex === -1 ? \"off\" : captionTracks[showingIndex].id || String(showingIndex),\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tdisabled: this.#props.disabled || captionTracks.length === 0,\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tconst captionTracks = getCaptionTracks(media.textTrackList);\n\t\tif (!captionTracks.length) return;\n\t\tif (value === \"off\") {\n\t\t\tmedia.selectSubtitlesTrack(\"off\");\n\t\t\treturn;\n\t\t}\n\t\tif (!captionTracks.some((track, index) => (track.id || String(index)) === value)) return;\n\t\tmedia.selectSubtitlesTrack(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { CAPTIONS_OFF_VALUE, CaptionsRadioGroupCore };\n\n//# sourceMappingURL=captions-radio-group-core.js.map","//#region src/core/ui/captions-radio-group/captions-radio-group-data-attrs.ts\nconst CaptionsRadioGroupDataAttrs = {\n\t/** Present when captions are enabled. */\n\tsubtitlesShowing: \"data-active\",\n\t/** Present when track selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when track selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates captions availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsRadioGroupDataAttrs };\n\n//# sourceMappingURL=captions-radio-group-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { connectingText, startText, stopText } from \"../../../i18n/text/cast.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/cast-button/cast-button-core.ts\nvar CastButtonCore = class CastButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tconnection: \"disconnected\",\n\t\tavailability: \"unsupported\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CastButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CastButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\tif (state.connection === \"connected\") return stopText;\n\t\tif (state.connection === \"connecting\") return connectingText;\n\t\treturn startText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = !!globalThis.chrome ? media.remotePlaybackAvailability : \"unsupported\";\n\t\tthis.state.patch({\n\t\t\tconnection: media.remotePlaybackState,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability === \"unsupported\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.toggleRemotePlayback();\n\t}\n};\n//#endregion\nexport { CastButtonCore };\n\n//# sourceMappingURL=cast-button-core.js.map","//#region src/core/ui/cast-button/cast-button-data-attrs.ts\nconst CastButtonDataAttrs = {\n\t/**\n\t* Current remote playback connection state.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n\t*/\n\tconnection: \"data-cast-state\",\n\t/**\n\t* Whether remote playback can be requested on this platform.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback\n\t*/\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because the feature is unsupported. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { CastButtonDataAttrs };\n\n//# sourceMappingURL=cast-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { enterText, exitText } from \"../../../i18n/text/fullscreen.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.fullscreen ? exitText : enterText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.fullscreenAvailability;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.fullscreen ? media.exitFullscreen() : media.requestFullscreen();\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\t/** Present when fullscreen mode is active. */\n\tfullscreen: \"data-fullscreen\",\n\t/** Indicates fullscreen availability (`available`, `unavailable`, `unsupported`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because fullscreen is not available. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","//#region src/core/i18n/text/pip.ts\nconst prefix = \"pip.\";\nconst enterText = {\n\tkey: `${prefix}enter`,\n\ttext: \"Enter picture-in-picture\"\n};\nconst exitText = {\n\tkey: `${prefix}exit`,\n\ttext: \"Exit picture-in-picture\"\n};\n//#endregion\nexport { enterText, exitText };\n\n//# sourceMappingURL=pip.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { enterText, exitText } from \"../../../i18n/text/pip.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.pip ? exitText : enterText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.pipAvailability;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.pip ? media.exitPictureInPicture() : media.requestPictureInPicture();\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\t/** Present when picture-in-picture mode is active. */\n\tpip: \"data-pip\",\n\t/** Indicates picture-in-picture availability (`available`, `unavailable`, `unsupported`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because picture-in-picture is not available. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\n/**\n* Turns playback and metadata into poster presentation state.\n*\n* Owns no image of its own: a binding finds one, supplies how it is faring\n* through {@link PosterCore.setImageLoadState}, and paints the result.\n*/\nvar PosterCore = class {\n\t#media = null;\n\t#loadState = \"none\";\n\t/** Supply the latest player state. Call before reading {@link PosterCore.getState}. */\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\t/** Supply how the binding's image is faring. */\n\tsetImageLoadState(loadState) {\n\t\tthis.#loadState = loadState;\n\t}\n\t/** Derive the presentation state to paint. */\n\tgetState() {\n\t\tconst media = this.#media;\n\t\treturn {\n\t\t\tvisible: !media.started,\n\t\t\tsrc: media.poster,\n\t\t\tloading: this.#loadState === \"loading\",\n\t\t\tloaded: this.#loadState === \"loaded\",\n\t\t\terror: this.#loadState === \"error\"\n\t\t};\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = {\n\t/** Present until playback starts. */\n\tvisible: \"data-visible\",\n\t/** Present while the poster image is fetching. */\n\tloading: \"data-loading\",\n\t/** Present once the poster image has decoded. */\n\tloaded: \"data-loaded\",\n\t/** Present when the poster image failed. */\n\terror: \"data-error\"\n};\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { AirPlayButtonCore, AirPlayButtonDataAttrs } from '@videojs/core';\nimport { selectRemotePlayback } from '@videojs/core/dom';\nimport type { MediaRemotePlaybackState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class AirPlayButtonElement extends MediaButtonElement<AirPlayButtonCore> {\n static readonly tagName = 'media-airplay-button';\n\n protected readonly core = new AirPlayButtonCore();\n protected readonly stateAttrMap = AirPlayButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectRemotePlayback);\n\n protected activate(state: MediaRemotePlaybackState): void {\n this.core.toggle(state);\n }\n}\n","/** Toggle a popup host linked via `commandfor` (menu, popover, etc.). */\nexport function toggleCommandTarget(host: HTMLElement, commandfor: string): void {\n const root = host.getRootNode() as Document | ShadowRoot;\n const target =\n ('getElementById' in root ? root.getElementById(commandfor) : null) ??\n root.querySelector<HTMLElement>(`#${CSS.escape(commandfor)}`);\n\n if (!target || !('open' in target)) return;\n\n const popup = target as { open: boolean };\n popup.open = !popup.open;\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs } from '@videojs/core';\nimport { applyElementProps, selectTextTrack, type UIEvent } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport type { MediaTextTrackState } from '@videojs/media';\nimport { isCaptionOrSubtitleTrack } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { toggleCommandTarget } from '../command-for';\nimport { MediaButtonElement } from '../media-button-element';\n\nfunction getCaptionTrackCount(state: MediaTextTrackState): number {\n return state.textTrackList.filter(isCaptionOrSubtitleTrack).length;\n}\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n commandfor: { type: String },\n menuFor: { type: String, attribute: 'menu-for' },\n } satisfies PropertyDeclarationMap<'label' | 'disabled' | 'commandfor' | 'menuFor'>;\n\n commandfor: string | undefined = undefined;\n menuFor: string | undefined = undefined;\n #defaultCommandfor: string | undefined = undefined;\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.commandfor && this.commandfor !== this.menuFor) {\n this.#defaultCommandfor = this.commandfor;\n }\n }\n\n protected activate(state: MediaTextTrackState, event?: UIEvent): void {\n if (this.menuFor && getCaptionTrackCount(state) > 1) {\n if (event instanceof KeyboardEvent) {\n toggleCommandTarget(this, this.menuFor);\n }\n return;\n }\n\n this.core.toggle(state);\n }\n\n protected override getIsButtonDisabled(): boolean {\n const media = this.mediaState.value;\n if (super.getIsButtonDisabled()) return true;\n if (media && getCaptionTrackCount(media) === 0) return true;\n return false;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n if (changed.has('commandfor') && this.commandfor !== this.menuFor) {\n this.#defaultCommandfor = this.commandfor;\n }\n\n if (changed.has('commandfor') || changed.has('menuFor')) {\n this.#syncCommandFor();\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n if (!media) return;\n\n this.#syncCommandFor(media);\n\n if (this.menuFor && getCaptionTrackCount(media) > 1) {\n applyElementProps(this, {\n 'aria-disabled': this.getIsButtonDisabled() ? 'true' : undefined,\n });\n }\n }\n\n #syncCommandFor(media?: MediaTextTrackState): void {\n const state = media ?? this.mediaState.value;\n const target = state && this.menuFor && getCaptionTrackCount(state) > 1 ? this.menuFor : this.#defaultCommandfor;\n\n if (target) {\n this.setAttribute('commandfor', target);\n } else {\n this.removeAttribute('commandfor');\n }\n }\n}\n\nexport namespace CaptionsButtonElement {\n export type State = CaptionsButtonCore.State;\n}\n","import { CaptionsRadioGroupCore, CaptionsRadioGroupDataAttrs, type CaptionsRadioGroupOption } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectTextTrack } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class CaptionsRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-captions-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatTrack = CaptionsRadioGroupCore.defaultProps.formatTrack;\n\n readonly #core = new CaptionsRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectTextTrack);\n readonly #options = new RadioOptionsController<CaptionsRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-track', option.value),\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: CaptionsRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatTrack: this.formatTrack, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, CaptionsRadioGroupDataAttrs);\n }\n}\n\nexport namespace CaptionsRadioGroupElement {\n export type State = CaptionsRadioGroupCore.State;\n}\n","import { CastButtonCore, CastButtonDataAttrs } from '@videojs/core';\nimport { selectRemotePlayback } from '@videojs/core/dom';\nimport type { MediaRemotePlaybackState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CastButtonElement extends MediaButtonElement<CastButtonCore> {\n static readonly tagName = 'media-cast-button';\n\n protected readonly core = new CastButtonCore();\n protected readonly stateAttrMap = CastButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectRemotePlayback);\n\n protected activate(state: MediaRemotePlaybackState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\nimport type { MediaFullscreenState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\nimport type { MediaPictureInPictureState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePictureInPicture';\n\n protected activate(state: MediaPictureInPictureState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { PosterCore, PosterDataAttrs, type PosterImageLoadState } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectMetadata, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\n/** What an element composes: whatever fills a slot, or the element's own children. */\nfunction composedChildren(element: Element): Element[] {\n if (element instanceof HTMLSlotElement) {\n const assigned = element.assignedElements();\n if (assigned.length > 0) return assigned;\n }\n\n return [...element.children];\n}\n\n/**\n * The first image an element composes. A skin forwards its own\n * `<slot name=\"poster\">` in, so the image is a slot or two down and may be\n * wrapped in a `<picture>` or a framework image component.\n */\nfunction findImage(element: Element): HTMLImageElement | null {\n for (const child of composedChildren(element)) {\n if (child instanceof HTMLImageElement) return child;\n\n const nested = findImage(child);\n if (nested) return nested;\n }\n\n return null;\n}\n\n/**\n * Whether anything already points this image somewhere, which answers both\n * whether the author owns the source and whether there is a download to wait\n * for. A `<source>` counts: inside a `<picture>` it can win over the `src`.\n */\nfunction hasSource(img: HTMLImageElement): boolean {\n if (img.hasAttribute('src') || img.hasAttribute('srcset')) return true;\n\n const parent = img.parentElement;\n return parent?.localName === 'picture' && parent.querySelector('source') !== null;\n}\n\n/**\n * Whether `complete` on this image describes a request. It is also true for one\n * that omits both `src` and `srcset`, whatever a parent `<picture>` is fetching\n * on its behalf, so only an image sourced from its own attributes can be read.\n */\nfunction hasOwnSource(img: HTMLImageElement): boolean {\n return !!img.getAttribute('src') || img.hasAttribute('srcset');\n}\n\n/** How the current source is faring. */\ntype ImageLoadState = 'pending' | 'loaded' | 'error';\n\n/**\n * `<media-poster>` — sets `src` on a poster image it does not own.\n *\n * The image is a child, as in `<picture>`, but sourcing runs the other way\n * around: `<picture>` treats the `src` on its `<img>` as the fallback, while\n * here an image with no source of its own is the one this element fills in.\n * Give the child a `src`, a `srcset`, or `<source>` candidates and it is yours,\n * left alone.\n *\n * Renders no image of its own, so include one:\n * `<media-poster><img alt=\"\"></media-poster>`. Inside a skin, an\n * `<img slot=\"poster\">` of yours replaces the one the skin carries.\n */\nexport class PosterElement extends MediaElement {\n static readonly tagName = 'media-poster';\n\n static get observedAttributes(): string[] {\n // biome-ignore lint/complexity/noThisInStatic: intentional use of super\n return [...super.observedAttributes, 'placeholdersrc'];\n }\n\n readonly #core = new PosterCore();\n readonly #children = new MutationObserver(() => this.requestUpdate());\n\n readonly #playback = new PlayerController(this, playerContext, selectPlayback);\n readonly #metadata = new PlayerController(this, playerContext, selectMetadata);\n\n #image: HTMLImageElement | null = null;\n /** Whether `#image` had no source of its own when it became active. */\n #owned = false;\n #imageLoadState: ImageLoadState = 'pending';\n\n #imageEvents: AbortController | null = null;\n #disconnect: AbortController | null = null;\n #warnedMissingImage = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n const { signal } = this.#disconnect;\n\n // Two ways the image can change: a skin's forwarding slot fills or empties,\n // which bubbles here, or a child is added or removed, which announces nothing.\n this.addEventListener('slotchange', () => this.requestUpdate(), { signal });\n this.#children.observe(this, { childList: true, subtree: true });\n\n if (__DEV__ && !this.#playback.value) {\n logMissingFeature(this.localName, this.#playback.displayName ?? 'playback');\n }\n }\n\n override attributeChangedCallback(attr: string, oldValue: string | null, newValue: string | null): void {\n super.attributeChangedCallback(attr, oldValue, newValue);\n\n if (attr === 'placeholdersrc') {\n if (newValue) {\n this.style.setProperty('--media-poster-placeholder', `url(${newValue})`);\n } else {\n this.style.removeProperty('--media-poster-placeholder');\n }\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.#adopt(null);\n this.#children.disconnect();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n get #loadState(): PosterImageLoadState {\n if (!this.#image || !hasSource(this.#image)) return 'none';\n return this.#imageLoadState === 'pending' ? 'loading' : this.#imageLoadState;\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const playback = this.#playback.value;\n if (!playback) return;\n\n // `metadata` is optional: without it nothing resolves a URL, and this stays\n // a visibility wrapper around whatever the author supplied.\n this.#core.setMedia({\n started: playback.started,\n poster: this.#metadata.value?.poster ?? '',\n });\n\n const { src } = this.#core.getState();\n\n this.#adopt(findImage(this));\n this.#applySource(src);\n\n this.#core.setImageLoadState(this.#loadState);\n applyStateDataAttrs(this, this.#core.getState(), PosterDataAttrs);\n }\n\n /**\n * Ownership is settled once, when an image becomes active: after the first fill\n * the `src` we set would itself look authored. Re-slot an image with a source\n * to hand it back, the way React decides a field is controlled at mount.\n */\n #adopt(next: HTMLImageElement | null): void {\n if (next === this.#image) return;\n\n // An image that steps aside keeps downloading whatever we pointed it at.\n if (this.#owned) this.#image?.removeAttribute('src');\n this.#imageEvents?.abort();\n this.#imageEvents = null;\n\n this.#image = next;\n this.#owned = next !== null && !hasSource(next);\n this.#imageLoadState = 'pending';\n\n if (!next) return;\n\n // An image that finished before we started listening never fires again, so\n // its load state has to be read off it. Decoded pixels stand on their own;\n // the absence of them only means failure once `complete` can be trusted.\n if (next.naturalWidth > 0) this.#imageLoadState = 'loaded';\n else if (next.complete && hasOwnSource(next)) this.#imageLoadState = 'error';\n\n this.#imageEvents = new AbortController();\n const { signal } = this.#imageEvents;\n const settle = (loadState: ImageLoadState) => () => {\n this.#imageLoadState = loadState;\n this.requestUpdate();\n };\n\n next.addEventListener('load', settle('loaded'), { signal });\n next.addEventListener('error', settle('error'), { signal });\n }\n\n #applySource(src: string): void {\n const img = this.#image;\n\n if (!img) {\n if (__DEV__ && src && !this.#warnedMissingImage) {\n this.#warnedMissingImage = true;\n console.warn(\n `<${this.localName}> resolved a poster but has no image to put it in. ` +\n `Add one as a child: <${this.localName}><img alt=\"\"></${this.localName}>`\n );\n }\n return;\n }\n\n if (!this.#owned) return;\n\n if (!src) {\n this.#imageLoadState = 'pending';\n img.removeAttribute('src');\n } else if (img.getAttribute('src') !== src) {\n // Reset before the write, not after: how the last source fared says\n // nothing about this one, and the write itself can settle it.\n this.#imageLoadState = 'pending';\n img.setAttribute('src', src);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{C as e,F as t,G as n,N as r,P as i,R as a,S as o,W as s,X as c,_ as l,b as u,g as d,j as f,rt as p,v as m,w as ee,x as te,z as h}from"./compounds-C4YYLyL2.js";import{r as g}from"./translate-text-TzSgu_oe.js";import{t as _}from"./media-element-Cp5PrNre.js";import{r as v}from"./context-C2rsoDxk.js";import{c as y,r as b}from"./container-element-Dd0ZCdhK.js";import{k as x,n as S}from"./create-player-BU8LDJDL.js";import{n as C}from"./text-track-CG8USvNG.js";import{n as ne}from"./webkit-DljEkldb.js";import{translateText as re}from"./i18n.js";const w=`airplay.`,T={key:`${w}start`,text:`Start AirPlay`},E={key:`${w}stop`,text:`Stop AirPlay`},D=`cast.`,O={key:`${D}start`,text:`Start casting`},k={key:`${D}stop`,text:`Stop casting`},A={key:`${D}connecting`,text:`Connecting`};var j=class e{static defaultProps={label:``,disabled:!1};state=x({state:`disconnected`,availability:`unsupported`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=p(t,e.defaultProps)}getLabel(e){return o(this.#e.label,e)||(e.state===`connected`?E:e.state===`connecting`?A:T)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=ne()?e.remotePlaybackAvailability:`unsupported`;return this.state.patch({state:e.remotePlaybackState,availability:t,disabled:this.#e.disabled||t!==`available`,hidden:t!==`available`}),this.state.patch({label:g(this.getLabel(this.state.current))}),this.state.current}async toggle(e){if(this.setMedia(e),!this.getState().disabled)try{await e.toggleRemotePlayback()}catch{}}};const M={state:`data-airplay-state`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`},N=`captions.`,P={key:`${N}enable`,text:`Enable captions`},F={key:`${N}disable`,text:`Disable captions`};var I=class e{static defaultProps={label:``,disabled:!1,menuTrigger:!1};state=x({subtitlesShowing:!1,availability:`unavailable`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=p(t,e.defaultProps)}getLabel(e){return o(this.#e.label,e)||(e.subtitlesShowing?F:P)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.textTrackList.some(C)?`available`:`unavailable`;return this.state.patch({subtitlesShowing:e.subtitlesShowing,availability:t,disabled:this.#e.disabled||t!==`available`,hidden:t===`unavailable`}),this.state.patch({label:g(this.getLabel(this.state.current))}),this.state.current}toggle(e){this.setMedia(e),!this.getState().disabled&&(this.#e.menuTrigger&&L(e)>1||e.toggleSubtitles())}};function L(e){return e.textTrackList.filter(C).length}const R={subtitlesShowing:`data-active`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`};function z(e){return e.label?e.label:e.language?e.language:e.kind===`captions`?s:c}function B(e,t){return e.kind>t.kind?1:e.kind<t.kind?-1:0}function V(e){return e.filter(C).sort(B)}var H=class e{static defaultProps={label:``,formatTrack:z,disabled:!1};state=x({options:[{value:`off`,label:n,disabled:!1}],value:`off`,subtitlesShowing:!1,disabled:!0,hidden:!0,availability:`unavailable`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=p(t,e.defaultProps)}getLabel(e){return o(this.#e.label,e)||s}getTrackLabel(e){return this.#e.formatTrack(e)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=V(e.textTrackList),r=t.findIndex(e=>e.mode===`showing`),i=[{value:`off`,label:n,disabled:!1},...t.map((e,t)=>({value:e.id||String(t),label:this.getTrackLabel(e),disabled:!1}))],a=t.length>0?`available`:`unavailable`;return this.state.patch({options:i,value:r===-1?`off`:t[r].id||String(r),subtitlesShowing:e.subtitlesShowing,disabled:this.#e.disabled||t.length===0,hidden:a===`unavailable`,availability:a}),this.state.patch({label:g(this.getLabel(this.state.current))}),this.state.current}select(e,t){if(this.#e.disabled)return;let n=V(e.textTrackList);if(n.length){if(t===`off`){e.selectSubtitlesTrack(`off`);return}n.some((e,n)=>(e.id||String(n))===t)&&e.selectSubtitlesTrack(t)}}selectValue(e,t){this.select(e,t)}};const U={subtitlesShowing:`data-active`,disabled:`data-disabled`,hidden:`data-hidden`,availability:`data-availability`};var ie=class e{static defaultProps={label:``,disabled:!1};state=x({connection:`disconnected`,availability:`unsupported`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=p(t,e.defaultProps)}getLabel(e){return o(this.#e.label,e)||(e.connection===`connected`?k:e.connection===`connecting`?A:O)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=globalThis.chrome?e.remotePlaybackAvailability:`unsupported`;return this.state.patch({connection:e.remotePlaybackState,availability:t,disabled:this.#e.disabled||t!==`available`,hidden:t===`unsupported`}),this.state.patch({label:g(this.getLabel(this.state.current))}),this.state.current}async toggle(e){if(this.setMedia(e),!this.getState().disabled)return e.toggleRemotePlayback()}};const W={connection:`data-cast-state`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`};var G=class e{static defaultProps={label:``,disabled:!1};state=x({fullscreen:!1,availability:`unavailable`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=p(t,e.defaultProps)}getLabel(e){return o(this.#e.label,e)||(e.fullscreen?te:u)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.fullscreenAvailability;return this.state.patch({fullscreen:e.fullscreen,availability:t,disabled:this.#e.disabled||t!==`available`,hidden:t!==`available`}),this.state.patch({label:g(this.getLabel(this.state.current))}),this.state.current}async toggle(e){if(this.setMedia(e),!this.getState().disabled)return e.fullscreen?e.exitFullscreen():e.requestFullscreen()}};const K={fullscreen:`data-fullscreen`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`},q=`pip.`,J={key:`${q}enter`,text:`Enter picture-in-picture`},Y={key:`${q}exit`,text:`Exit picture-in-picture`};var ae=class e{static defaultProps={label:``,disabled:!1};state=x({pip:!1,availability:`unavailable`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=p(t,e.defaultProps)}getLabel(e){return o(this.#e.label,e)||(e.pip?Y:J)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.pipAvailability;return this.state.patch({pip:e.pip,availability:t,disabled:this.#e.disabled||t!==`available`,hidden:t!==`available`}),this.state.patch({label:g(this.getLabel(this.state.current))}),this.state.current}async toggle(e){if(this.setMedia(e),!this.getState().disabled)return e.pip?e.exitPictureInPicture():e.requestPictureInPicture()}};const oe={pip:`data-pip`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`};var se=class{#e=null;#t=`none`;setMedia(e){this.#e=e}setImageLoadState(e){this.#t=e}getState(){let e=this.#e;return{visible:!e.started,src:e.poster,loading:this.#t===`loading`,loaded:this.#t===`loaded`,error:this.#t===`error`}}};const ce={visible:`data-visible`,loading:`data-loading`,loaded:`data-loaded`,error:`data-error`};var le=class extends m{constructor(...e){super(...e),this.core=new j,this.stateAttrMap=M,this.mediaState=new S(this,v,a)}static{this.tagName=`media-airplay-button`}activate(e){this.core.toggle(e)}};function ue(e,t){let n=e.getRootNode(),r=(`getElementById`in n?n.getElementById(t):null)??n.querySelector(`#${CSS.escape(t)}`);if(!r||!(`open`in r))return;let i=r;i.open=!i.open}function X(e){return e.textTrackList.filter(C).length}var de=class extends m{constructor(...e){super(...e),this.commandfor=void 0,this.menuFor=void 0,this.#e=void 0,this.core=new I,this.stateAttrMap=R,this.mediaState=new S(this,v,h),this.hotkeyAction=`toggleSubtitles`}static{this.tagName=`media-captions-button`}static{this.properties={label:{type:String},disabled:{type:Boolean},commandfor:{type:String},menuFor:{type:String,attribute:`menu-for`}}}#e;connectedCallback(){super.connectedCallback(),this.commandfor&&this.commandfor!==this.menuFor&&(this.#e=this.commandfor)}activate(e,t){if(this.menuFor&&X(e)>1){t instanceof KeyboardEvent&&ue(this,this.menuFor);return}this.core.toggle(e)}getIsButtonDisabled(){let e=this.mediaState.value;return!!(super.getIsButtonDisabled()||e&&X(e)===0)}willUpdate(e){super.willUpdate(e),e.has(`commandfor`)&&this.commandfor!==this.menuFor&&(this.#e=this.commandfor),(e.has(`commandfor`)||e.has(`menuFor`))&&this.#t()}update(e){super.update(e);let t=this.mediaState.value;t&&(this.#t(t),this.menuFor&&X(t)>1&&ee(this,{"aria-disabled":this.getIsButtonDisabled()?`true`:void 0}))}#t(e){let t=e??this.mediaState.value,n=t&&this.menuFor&&X(t)>1?this.menuFor:this.#e;n?this.setAttribute(`commandfor`,n):this.removeAttribute(`commandfor`)}},fe=class extends l{constructor(...e){super(...e),this.disabled=!1,this.label=``,this.formatTrack=H.defaultProps.formatTrack,this.#e=new H,this.#t=new b(this,y),this.#n=new S(this,v,h),this.#r=new d(this,{setItemAttributes:(e,t)=>e.setAttribute(`data-track`,t.value),onValueChange:e=>{let t=this.#n.value;t&&this.#e.selectValue(t,e)}})}static{this.tagName=`media-captions-radio-group`}static{this.properties={...l.properties,disabled:{type:Boolean},label:{type:String}}}#e;#t;#n;#r;connectedCallback(){super.connectedCallback(),this.destroyed}update(t){let n=this.#n.value,r=null;n&&(this.#e.setProps({formatTrack:this.formatTrack,disabled:this.disabled,label:this.label}),this.#e.setMedia(n),r=this.#e.getState(),this.applyDefaultAriaLabel(re(this.#e.getLabel(r),this.#t.value)),this.#r.sync(r,this.#t.value,this.#t.locale),this.publishMenuTriggerState(r.disabled,r.availability)),super.update(t),r&&e(this,r,U)}},pe=class extends m{constructor(...e){super(...e),this.core=new ie,this.stateAttrMap=W,this.mediaState=new S(this,v,a)}static{this.tagName=`media-cast-button`}activate(e){return this.core.toggle(e)}},me=class extends m{constructor(...e){super(...e),this.core=new G,this.stateAttrMap=K,this.mediaState=new S(this,v,f),this.hotkeyAction=`toggleFullscreen`}static{this.tagName=`media-fullscreen-button`}activate(e){return this.core.toggle(e)}},he=class extends m{constructor(...e){super(...e),this.core=new ae,this.stateAttrMap=oe,this.mediaState=new S(this,v,i),this.hotkeyAction=`togglePictureInPicture`}static{this.tagName=`media-pip-button`}activate(e){return this.core.toggle(e)}};function Z(e){if(e instanceof HTMLSlotElement){let t=e.assignedElements();if(t.length>0)return t}return[...e.children]}function Q(e){for(let t of Z(e)){if(t instanceof HTMLImageElement)return t;let e=Q(t);if(e)return e}return null}function $(e){if(e.hasAttribute(`src`)||e.hasAttribute(`srcset`))return!0;let t=e.parentElement;return t?.localName===`picture`&&t.querySelector(`source`)!==null}function ge(e){return!!e.getAttribute(`src`)||e.hasAttribute(`srcset`)}var _e=class extends _{static{this.tagName=`media-poster`}static get observedAttributes(){return[...super.observedAttributes,`placeholdersrc`]}#e=new se;#t=new MutationObserver(()=>this.requestUpdate());#n=new S(this,v,t);#r=new S(this,v,r);#i=null;#a=!1;#o=`pending`;#s=null;#c=null;connectedCallback(){if(super.connectedCallback(),this.destroyed)return;this.#c=new AbortController;let{signal:e}=this.#c;this.addEventListener(`slotchange`,()=>this.requestUpdate(),{signal:e}),this.#t.observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),e===`placeholdersrc`&&(n?this.style.setProperty(`--media-poster-placeholder`,`url(${n})`):this.style.removeProperty(`--media-poster-placeholder`))}disconnectedCallback(){super.disconnectedCallback(),this.#u(null),this.#t.disconnect(),this.#c?.abort(),this.#c=null}get#l(){return!this.#i||!$(this.#i)?`none`:this.#o===`pending`?`loading`:this.#o}update(t){super.update(t);let n=this.#n.value;if(!n)return;this.#e.setMedia({started:n.started,poster:this.#r.value?.poster??``});let{src:r}=this.#e.getState();this.#u(Q(this)),this.#d(r),this.#e.setImageLoadState(this.#l),e(this,this.#e.getState(),ce)}#u(e){if(e===this.#i||(this.#a&&this.#i?.removeAttribute(`src`),this.#s?.abort(),this.#s=null,this.#i=e,this.#a=e!==null&&!$(e),this.#o=`pending`,!e))return;e.naturalWidth>0?this.#o=`loaded`:e.complete&&ge(e)&&(this.#o=`error`),this.#s=new AbortController;let{signal:t}=this.#s,n=e=>()=>{this.#o=e,this.requestUpdate()};e.addEventListener(`load`,n(`loaded`),{signal:t}),e.addEventListener(`error`,n(`error`),{signal:t})}#d(e){let t=this.#i;t&&this.#a&&(e?t.getAttribute(`src`)!==e&&(this.#o=`pending`,t.setAttribute(`src`,e)):(this.#o=`pending`,t.removeAttribute(`src`)))}};export{fe as a,pe as i,he as n,de as o,me as r,le as s,_e as t};
|
|
2
|
+
//# sourceMappingURL=poster-element-B8QwXSU_.js.map
|