@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poster-element-BP1Ypgbf.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","#defaultCommandfor","#syncCommandFor","#mediaState","#core","#i18n","#options","#i18n"],"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/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/media-ui-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\nvar PosterCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\treturn { visible: !this.#media.started };\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { 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","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.publishMenuMetadata(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 type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport { isText, translateText } from '@videojs/core/i18n';\nimport type { PropertyValues } from '@videojs/element';\nimport { isFunction } from '@videojs/utils/predicate';\n\nimport { i18nContext } from '../i18n/context';\nimport { I18nController } from '../i18n/controller';\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n readonly #i18n = new I18nController(this, i18nContext);\n\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n if (isFunction(this.core.getAttrs)) {\n const attrs = this.core.getAttrs(state) as Record<string, unknown>;\n if (isText(attrs['aria-label'])) {\n attrs['aria-label'] = translateText(attrs['aria-label'], this.#i18n.value);\n }\n applyElementProps(this, attrs);\n }\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n","import { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaUIElement } from '../media-ui-element';\n\nexport class PosterElement extends MediaUIElement<PosterCore> {\n static readonly tagName = 'media-poster';\n\n static get observedAttributes(): string[] {\n // biome-ignore lint/complexity/noThisInStatic: intentional use of super\n return [...super.observedAttributes, 'placeholdersrc'];\n }\n\n protected readonly core = new PosterCore();\n protected readonly stateAttrMap = PosterDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\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"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./predicate-LbFu-fPH.js";import{C as t,F as n,G as r,M as i,P as a,R as o,S as s,T as c,W as l,X as ee,_ as u,h as d,rt as f,v as p,w as m,x as h,y as g,z as _}from"./compounds-CJ6SbYAh.js";import{H as v,P as y,j as b,n as x}from"./create-player-CbpxjDaZ.js";import{r as S}from"./translate-text-BPMWpzFm.js";import{t as C}from"./media-element-Cp5PrNre.js";import{r as w}from"./context-C2rsoDxk.js";import{n as T}from"./text-track-CG8USvNG.js";import{n as te}from"./webkit-DljEkldb.js";import{isText as E,translateText as D}from"./i18n.js";const O=`airplay.`,k={key:`${O}start`,text:`Start AirPlay`},A={key:`${O}stop`,text:`Stop AirPlay`},j=`cast.`,M={key:`${j}start`,text:`Start casting`},N={key:`${j}stop`,text:`Stop casting`},P={key:`${j}connecting`,text:`Connecting`};var F=class e{static defaultProps={label:``,disabled:!1};state=b({state:`disconnected`,availability:`unsupported`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=f(t,e.defaultProps)}getLabel(e){return t(this.#e.label,e)||(e.state===`connected`?A:e.state===`connecting`?P:k)}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=te()?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:S(this.getLabel(this.state.current))}),this.state.current}async toggle(e){if(this.setMedia(e),!this.getState().disabled)try{await e.toggleRemotePlayback()}catch{}}};const I={state:`data-airplay-state`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`},L=`captions.`,R={key:`${L}enable`,text:`Enable captions`},z={key:`${L}disable`,text:`Disable captions`};var B=class e{static defaultProps={label:``,disabled:!1,menuTrigger:!1};state=b({subtitlesShowing:!1,availability:`unavailable`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=f(t,e.defaultProps)}getLabel(e){return t(this.#e.label,e)||(e.subtitlesShowing?z:R)}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(T)?`available`:`unavailable`;return this.state.patch({subtitlesShowing:e.subtitlesShowing,availability:t,disabled:this.#e.disabled||t!==`available`,hidden:t===`unavailable`}),this.state.patch({label:S(this.getLabel(this.state.current))}),this.state.current}toggle(e){this.setMedia(e),!this.getState().disabled&&(this.#e.menuTrigger&&V(e)>1||e.toggleSubtitles())}};function V(e){return e.textTrackList.filter(T).length}const H={subtitlesShowing:`data-active`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`};function U(e){return e.label?e.label:e.language?e.language:e.kind===`captions`?l:ee}function W(e,t){return e.kind>t.kind?1:e.kind<t.kind?-1:0}function G(e){return e.filter(T).sort(W)}var K=class e{static defaultProps={label:``,formatTrack:U,disabled:!1};state=b({options:[{value:`off`,label:r,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=f(t,e.defaultProps)}getLabel(e){return t(this.#e.label,e)||l}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=G(e.textTrackList),n=t.findIndex(e=>e.mode===`showing`),i=[{value:`off`,label:r,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:n===-1?`off`:t[n].id||String(n),subtitlesShowing:e.subtitlesShowing,disabled:this.#e.disabled||t.length===0,hidden:a===`unavailable`,availability:a}),this.state.patch({label:S(this.getLabel(this.state.current))}),this.state.current}select(e,t){if(this.#e.disabled)return;let n=G(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 q={subtitlesShowing:`data-active`,disabled:`data-disabled`,hidden:`data-hidden`,availability:`data-availability`};var J=class e{static defaultProps={label:``,disabled:!1};state=b({connection:`disconnected`,availability:`unsupported`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=f(t,e.defaultProps)}getLabel(e){return t(this.#e.label,e)||(e.connection===`connected`?N:e.connection===`connecting`?P:M)}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:S(this.getLabel(this.state.current))}),this.state.current}async toggle(e){if(this.setMedia(e),!this.getState().disabled)return e.toggleRemotePlayback()}};const Y={connection:`data-cast-state`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`};var X=class e{static defaultProps={label:``,disabled:!1};state=b({fullscreen:!1,availability:`unavailable`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=f(t,e.defaultProps)}getLabel(e){return t(this.#e.label,e)||(e.fullscreen?s:h)}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:S(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 Z={fullscreen:`data-fullscreen`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`},Q=`pip.`,ne={key:`${Q}enter`,text:`Enter picture-in-picture`},re={key:`${Q}exit`,text:`Exit picture-in-picture`};var ie=class e{static defaultProps={label:``,disabled:!1};state=b({pip:!1,availability:`unavailable`,disabled:!0,hidden:!0,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=f(t,e.defaultProps)}getLabel(e){return t(this.#e.label,e)||(e.pip?re:ne)}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:S(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 ae={pip:`data-pip`,availability:`data-availability`,disabled:`data-disabled`,hidden:`data-hidden`};var oe=class{#e=null;setMedia(e){this.#e=e}getState(){return{visible:!this.#e.started}}};const se={visible:`data-visible`};var ce=class extends g{constructor(...e){super(...e),this.core=new F,this.stateAttrMap=I,this.mediaState=new x(this,w,o)}static{this.tagName=`media-airplay-button`}activate(e){this.core.toggle(e)}};function $(e){return e.textTrackList.filter(T).length}var le=class extends g{constructor(...e){super(...e),this.commandfor=void 0,this.menuFor=void 0,this.#e=void 0,this.core=new B,this.stateAttrMap=H,this.mediaState=new x(this,w,_),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&&$(e)>1){t instanceof KeyboardEvent&&d(this,this.menuFor);return}this.core.toggle(e)}getIsButtonDisabled(){let e=this.mediaState.value;return!!(super.getIsButtonDisabled()||e&&$(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&&$(t)>1&&c(this,{"aria-disabled":this.getIsButtonDisabled()?`true`:void 0}))}#t(e){let t=e??this.mediaState.value,n=t&&this.menuFor&&$(t)>1?this.menuFor:this.#e;n?this.setAttribute(`commandfor`,n):this.removeAttribute(`commandfor`)}},ue=class extends p{constructor(...e){super(...e),this.disabled=!1,this.label=``,this.formatTrack=K.defaultProps.formatTrack,this.#e=new K,this.#t=new y(this,v),this.#n=new x(this,w,_),this.#r=new u(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={...p.properties,disabled:{type:Boolean},label:{type:String}}}#e;#t;#n;#r;connectedCallback(){super.connectedCallback(),this.destroyed}update(e){let t=this.#n.value,n=null;t&&(this.#e.setProps({formatTrack:this.formatTrack,disabled:this.disabled,label:this.label}),this.#e.setMedia(t),n=this.#e.getState(),this.applyDefaultAriaLabel(D(this.#e.getLabel(n),this.#t.value)),this.#r.sync(n,this.#t.value,this.#t.locale),this.publishMenuMetadata(n.disabled,n.availability)),super.update(e),n&&m(this,n,q)}},de=class extends g{constructor(...e){super(...e),this.core=new J,this.stateAttrMap=Y,this.mediaState=new x(this,w,o)}static{this.tagName=`media-cast-button`}activate(e){return this.core.toggle(e)}},fe=class extends g{constructor(...e){super(...e),this.core=new X,this.stateAttrMap=Z,this.mediaState=new x(this,w,i),this.hotkeyAction=`toggleFullscreen`}static{this.tagName=`media-fullscreen-button`}activate(e){return this.core.toggle(e)}},pe=class extends g{constructor(...e){super(...e),this.core=new ie,this.stateAttrMap=ae,this.mediaState=new x(this,w,a),this.hotkeyAction=`togglePictureInPicture`}static{this.tagName=`media-pip-button`}activate(e){return this.core.toggle(e)}},me=class extends C{#e=new y(this,v);connectedCallback(){super.connectedCallback()}update(t){super.update(t);let n=this.mediaState.value;if(!n)return;this.core.setMedia(n);let r=this.core.getState();if(e(this.core.getAttrs)){let e=this.core.getAttrs(r);E(e[`aria-label`])&&(e[`aria-label`]=D(e[`aria-label`],this.#e.value)),c(this,e)}m(this,r,this.stateAttrMap)}},he=class extends me{constructor(...e){super(...e),this.core=new oe,this.stateAttrMap=se,this.mediaState=new x(this,w,n)}static{this.tagName=`media-poster`}static get observedAttributes(){return[...super.observedAttributes,`placeholdersrc`]}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`))}};export{ue as a,de as i,pe as n,le as o,fe as r,ce as s,he as t};
|
|
2
|
-
//# sourceMappingURL=poster-element-S-rr412t.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poster-element-S-rr412t.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","#defaultCommandfor","#syncCommandFor","#mediaState","#core","#i18n","#options","#i18n"],"sources":["../../core/dist/default/i18n/text/airplay.js","../../core/dist/default/i18n/text/cast.js","../../core/dist/default/core/ui/airplay-button/airplay-button-core.js","../../core/dist/default/core/ui/airplay-button/airplay-button-data-attrs.js","../../core/dist/default/i18n/text/captions.js","../../core/dist/default/core/ui/captions-button/captions-button-core.js","../../core/dist/default/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/default/core/ui/captions-radio-group/captions-radio-group-core.js","../../core/dist/default/core/ui/captions-radio-group/captions-radio-group-data-attrs.js","../../core/dist/default/core/ui/cast-button/cast-button-core.js","../../core/dist/default/core/ui/cast-button/cast-button-data-attrs.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/default/i18n/text/pip.js","../../core/dist/default/core/ui/pip-button/pip-button-core.js","../../core/dist/default/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/default/core/ui/poster/poster-core.js","../../core/dist/default/core/ui/poster/poster-data-attrs.js","../src/ui/airplay-button/airplay-button-element.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/media-ui-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\nvar PosterCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\treturn { visible: !this.#media.started };\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { 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","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.publishMenuMetadata(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 type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport { isText, translateText } from '@videojs/core/i18n';\nimport type { PropertyValues } from '@videojs/element';\nimport { isFunction } from '@videojs/utils/predicate';\n\nimport { i18nContext } from '../i18n/context';\nimport { I18nController } from '../i18n/controller';\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n readonly #i18n = new I18nController(this, i18nContext);\n\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n if (isFunction(this.core.getAttrs)) {\n const attrs = this.core.getAttrs(state) as Record<string, unknown>;\n if (isText(attrs['aria-label'])) {\n attrs['aria-label'] = translateText(attrs['aria-label'], this.#i18n.value);\n }\n applyElementProps(this, attrs);\n }\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n","import { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaUIElement } from '../media-ui-element';\n\nexport class PosterElement extends MediaUIElement<PosterCore> {\n static readonly tagName = 'media-poster';\n\n static get observedAttributes(): string[] {\n // biome-ignore lint/complexity/noThisInStatic: intentional use of super\n return [...super.observedAttributes, 'placeholdersrc'];\n }\n\n protected readonly core = new PosterCore();\n protected readonly stateAttrMap = PosterDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\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"],"mappings":"8iBACA,MAAMA,EAAS,WACTC,EAAY,CACjB,IAAK,GAAGD,EAAO,OACf,KAAM,eACP,EACME,EAAW,CAChB,IAAK,GAAGF,EAAO,MACf,KAAM,cACP,ECRMG,EAAS,QACT,EAAY,CACjB,IAAK,GAAGA,EAAO,OACf,KAAM,eACP,EACM,EAAW,CAChB,IAAK,GAAGA,EAAO,MACf,KAAM,cACP,EACM,EAAiB,CACtB,IAAK,GAAGA,EAAO,YACf,KAAM,YACP,ECLA,IAAI,EAAoB,MAAM,CAAkB,CAC/C,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,MAAO,eACP,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAkB,YAAa,EAC7C,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAkB,YAAY,CAC7D,CACA,SAAS,EAAO,CAKf,OAJc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACA,EAAM,QAAU,YAAoBC,EACpC,EAAM,QAAU,aAAqB,EAClCC,EACR,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,GAAsB,EAAI,EAAM,2BAA6B,cAQlF,OAPA,KAAK,MAAM,MAAM,CAChB,MAAO,EAAM,oBACb,eACA,SAAU,KAAKH,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,WAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOI,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,GAAI,CACH,MAAM,EAAM,qBAAqB,CAClC,MAAQ,CAAC,CACV,CACD,EC/DA,MAAM,EAAyB,CAM9B,MAAO,qBAMP,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECjBMC,EAAS,YACT,EAAa,CAClB,IAAK,GAAGA,EAAO,QACf,KAAM,iBACP,EACM,EAAc,CACnB,IAAK,GAAGA,EAAO,SACf,KAAM,kBACP,ECFA,IAAI,EAAqB,MAAM,CAAmB,CACjD,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,GACV,YAAa,EACd,EACA,MAAQ,EAAY,CACnB,iBAAkB,GAClB,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAmB,YAAa,EAC9C,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAmB,YAAY,CAC9D,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACG,EAAM,iBAAmB,EAAc,EAC/C,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,EAAM,cAAc,KAAK,CAAwB,EAAI,YAAc,cAQxF,OAPA,KAAK,MAAM,MAAM,CAChB,iBAAkB,EAAM,iBACxB,eACA,SAAU,KAAKD,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,aAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,OAAO,EAAO,CACb,KAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,WAChB,KAAKF,GAAO,aAAeG,EAAqB,CAAK,EAAI,GAC7D,EAAM,gBAAgB,EACvB,CACD,EACA,SAASA,EAAqB,EAAO,CACpC,OAAO,EAAM,cAAc,OAAO,CAAwB,CAAC,CAAC,MAC7D,CC/DA,MAAM,EAA0B,CAE/B,iBAAkB,cAElB,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECFA,SAAS,EAAiB,EAAO,CAGhC,OAFI,EAAM,MAAc,EAAM,MAC1B,EAAM,SAAiB,EAAM,SAC1B,EAAM,OAAS,WAAa,EAAe,EACnD,CACA,SAAS,EAAkB,EAAG,EAAG,CAChC,OAAO,EAAE,KAAO,EAAE,KAAO,EAAI,EAAE,KAAO,EAAE,KAAO,GAAK,CACrD,CACA,SAAS,EAAiB,EAAe,CACxC,OAAO,EAAc,OAAO,CAAwB,CAAC,CAAC,KAAK,CAAiB,CAC7E,CACA,IAAI,EAAyB,MAAM,CAAuB,CACzD,OAAO,aAAe,CACrB,MAAO,GACP,YAAa,EACb,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,QAAS,CAAC,CACT,MAAO,MACP,MAAO,EACP,SAAU,EACX,CAAC,EACD,MAAO,MACP,iBAAkB,GAClB,SAAU,GACV,OAAQ,GACR,aAAc,cACd,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAuB,YAAa,EAClD,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAuB,YAAY,CAClE,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,GACG,CACR,CACA,cAAc,EAAO,CACpB,OAAO,KAAKA,GAAO,YAAY,CAAK,CACrC,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAgB,EAAiB,EAAM,aAAa,EACpD,EAAe,EAAc,UAAW,GAAU,EAAM,OAAS,SAAS,EAC1E,EAAU,CAAC,CAChB,MAAO,MACP,MAAO,EACP,SAAU,EACX,EAAG,GAAG,EAAc,KAAK,EAAO,KAAW,CAC1C,MAAO,EAAM,IAAM,OAAO,CAAK,EAC/B,MAAO,KAAK,cAAc,CAAK,EAC/B,SAAU,EACX,EAAE,CAAC,EACG,EAAe,EAAc,OAAS,EAAI,YAAc,cAU9D,OATA,KAAK,MAAM,MAAM,CAChB,UACA,MAAO,IAAiB,GAAK,MAAQ,EAAc,EAAa,CAAC,IAAM,OAAO,CAAY,EAC1F,iBAAkB,EAAM,iBACxB,SAAU,KAAKD,GAAO,UAAY,EAAc,SAAW,EAC3D,OAAQ,IAAiB,cACzB,cACD,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,OAAO,EAAO,EAAO,CACpB,GAAI,KAAKF,GAAO,SAAU,OAC1B,IAAM,EAAgB,EAAiB,EAAM,aAAa,EACrD,KAAc,OACnB,IAAI,IAAU,MAAO,CACpB,EAAM,qBAAqB,KAAK,EAChC,MACD,CACK,EAAc,MAAM,EAAO,KAAW,EAAM,IAAM,OAAO,CAAK,KAAO,CAAK,GAC/E,EAAM,qBAAqB,CAAK,CAFhC,CAGD,CACA,YAAY,EAAO,EAAO,CACzB,KAAK,OAAO,EAAO,CAAK,CACzB,CACD,ECtGA,MAAM,EAA8B,CAEnC,iBAAkB,cAElB,SAAU,gBAEV,OAAQ,cAER,aAAc,mBACf,ECJA,IAAI,EAAiB,MAAM,CAAe,CACzC,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,WAAY,eACZ,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAe,YAAa,EAC1C,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKG,GAAS,EAAS,EAAO,EAAe,YAAY,CAC1D,CACA,SAAS,EAAO,CAKf,OAJc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACA,EAAM,aAAe,YAAoB,EACzC,EAAM,aAAe,aAAqB,EACvC,EACR,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAiB,WAAW,OAAS,EAAM,2BAA6B,cAQ9E,OAPA,KAAK,MAAM,MAAM,CAChB,WAAY,EAAM,oBAClB,eACA,SAAU,KAAKD,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,aAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,OAAO,EAAM,qBAAqB,CACnC,CACD,EC3DA,MAAM,EAAsB,CAM3B,WAAY,kBAMZ,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECZA,IAAI,EAAuB,MAAM,CAAqB,CACrD,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,WAAY,GACZ,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAqB,YAAa,EAChD,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAqB,YAAY,CAChE,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACG,EAAM,WAAaC,EAAWC,EACtC,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,EAAM,uBAQ3B,OAPA,KAAK,MAAM,MAAM,CAChB,WAAY,EAAM,WAClB,eACA,SAAU,KAAKH,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,WAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOI,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,OAAO,EAAM,WAAa,EAAM,eAAe,EAAI,EAAM,kBAAkB,CAC5E,CACD,ECzDA,MAAM,EAA4B,CAEjC,WAAY,kBAEZ,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECTM,EAAS,OACT,GAAY,CACjB,IAAK,GAAG,EAAO,OACf,KAAM,0BACP,EACM,GAAW,CAChB,IAAK,GAAG,EAAO,MACf,KAAM,yBACP,ECHA,IAAI,GAAgB,MAAM,CAAc,CACvC,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,IAAK,GACL,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAc,YAAa,EACzC,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAc,YAAY,CACzD,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACG,EAAM,IAAM,GAAW,GAC/B,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,EAAM,gBAQ3B,OAPA,KAAK,MAAM,MAAM,CAChB,IAAK,EAAM,IACX,eACA,SAAU,KAAKD,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,WAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,OAAO,EAAM,IAAM,EAAM,qBAAqB,EAAI,EAAM,wBAAwB,CACjF,CACD,ECzDA,MAAM,GAAqB,CAE1B,IAAK,WAEL,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECTA,IAAI,GAAa,KAAM,CACtB,GAAS,KACT,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,MAAO,CAAE,QAAS,CAAC,KAAKA,GAAO,OAAQ,CACxC,CACD,ECRA,MAAM,GAAkB,CAAE,QAAS,cAAe,ECOlD,IAAa,GAAb,cAA0C,CAAsC,+BAGpD,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAoB,SAJpE,KAAA,QAAA,uBAM1B,SAAmB,EAAuC,CACxD,KAAK,KAAK,OAAO,CAAK,CACxB,CACF,ECPA,SAAS,EAAqB,EAAoC,CAChE,OAAO,EAAM,cAAc,OAAO,CAAwB,CAAC,CAAC,MAC9D,CAEA,IAAa,GAAb,cAA2C,CAAuC,+BAU/C,KAAA,WAAA,IAAA,GACH,KAAA,QAAA,IAAA,GACW,KAAA,GAAA,IAAA,GAEf,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAe,EAC9C,KAAA,aAAA,yBAhBjB,KAAA,QAAA,+BAEG,KAAA,WAAA,CAC3B,MAAO,CAAE,KAAM,MAAO,EACtB,SAAU,CAAE,KAAM,OAAQ,EAC1B,WAAY,CAAE,KAAM,MAAO,EAC3B,QAAS,CAAE,KAAM,OAAQ,UAAW,UAAW,CACjD,EAIA,GAOA,mBAAmC,CACjC,MAAM,kBAAkB,EACpB,KAAK,YAAc,KAAK,aAAe,KAAK,UAC9C,KAAKC,GAAqB,KAAK,WAEnC,CAEA,SAAmB,EAA4B,EAAuB,CACpE,GAAI,KAAK,SAAW,EAAqB,CAAK,EAAI,EAAG,CAC/C,aAAiB,eACnB,EAAoB,KAAM,KAAK,OAAO,EAExC,MACF,CAEA,KAAK,KAAK,OAAO,CAAK,CACxB,CAEA,qBAAkD,CAChD,IAAM,EAAQ,KAAK,WAAW,MAG9B,MADA,GADI,MAAM,oBAAoB,GAC1B,GAAS,EAAqB,CAAK,IAAM,EAE/C,CAEA,WAA8B,EAA+B,CAC3D,MAAM,WAAW,CAAO,EAEpB,EAAQ,IAAI,YAAY,GAAK,KAAK,aAAe,KAAK,UACxD,KAAKA,GAAqB,KAAK,aAG7B,EAAQ,IAAI,YAAY,GAAK,EAAQ,IAAI,SAAS,IACpD,KAAKC,GAAgB,CAEzB,CAEA,OAA0B,EAA+B,CACvD,MAAM,OAAO,CAAO,EAEpB,IAAM,EAAQ,KAAK,WAAW,MACzB,IAEL,KAAKA,GAAgB,CAAK,EAEtB,KAAK,SAAW,EAAqB,CAAK,EAAI,GAChD,EAAkB,KAAM,CACtB,gBAAiB,KAAK,oBAAoB,EAAI,OAAS,IAAA,EACzD,CAAC,EAEL,CAEA,GAAgB,EAAmC,CACjD,IAAM,EAAQ,GAAS,KAAK,WAAW,MACjC,EAAS,GAAS,KAAK,SAAW,EAAqB,CAAK,EAAI,EAAI,KAAK,QAAU,KAAKD,GAE1F,EACF,KAAK,aAAa,aAAc,CAAM,EAEtC,KAAK,gBAAgB,YAAY,CAErC,CACF,ECrFa,GAAb,cAA+C,CAAsB,+BASxD,KAAA,SAAA,GACY,KAAA,MAAA,GACT,KAAA,YAAA,EAAuB,aAAa,YAEjC,KAAA,GAAA,IAAI,EACJ,KAAA,GAAA,IAAI,EAAe,KAAM,CAAW,EAC9B,KAAA,GAAA,IAAI,EAAiB,KAAM,EAAe,CAAe,EAC5D,KAAA,GAAA,IAAI,EAAiD,KAAM,CAC7E,mBAAoB,EAAM,IAAW,EAAK,aAAa,aAAc,EAAO,KAAK,EACjF,cAAgB,GAAU,CACxB,IAAM,EAAQ,KAAKE,GAAY,MAC3B,GAAO,KAAKC,GAAM,YAAY,EAAO,CAAK,CAChD,CACF,CAAC,SArBkC,KAAA,QAAA,oCAEN,KAAA,WAAA,CAC3B,GAAG,EAAsB,WACzB,SAAU,CAAE,KAAM,OAAQ,EAC1B,MAAO,CAAE,KAAM,MAAO,CACxB,EAMA,GACA,GACA,GACA,GAQA,mBAAmC,CACjC,MAAM,kBAAkB,EACpB,KAAK,SAKX,CAEA,OAA0B,EAA+B,CACvD,IAAM,EAAQ,KAAKD,GAAY,MAC3B,EAA6C,KAE7C,IACF,KAAKC,GAAM,SAAS,CAAE,YAAa,KAAK,YAAa,SAAU,KAAK,SAAU,MAAO,KAAK,KAAM,CAAC,EACjG,KAAKA,GAAM,SAAS,CAAK,EACzB,EAAQ,KAAKA,GAAM,SAAS,EAE5B,KAAK,sBAAsB,EAAc,KAAKA,GAAM,SAAS,CAAK,EAAG,KAAKC,GAAM,KAAK,CAAC,EACtF,KAAKC,GAAS,KAAK,EAAO,KAAKD,GAAM,MAAO,KAAKA,GAAM,MAAM,EAC7D,KAAK,oBAAoB,EAAM,SAAU,EAAM,YAAY,GAG7D,MAAM,OAAO,CAAO,EAEhB,GAAO,EAAoB,KAAM,EAAO,CAA2B,CACzE,CACF,ECtDa,GAAb,cAAuC,CAAmC,+BAG9C,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAoB,SAJpE,KAAA,QAAA,oBAM1B,SAAmB,EAAgD,CACjE,OAAO,KAAK,KAAK,OAAO,CAAK,CAC/B,CACF,ECVa,GAAb,cAA6C,CAAyC,+BAG1D,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAgB,EAC/C,KAAA,aAAA,0BALjB,KAAA,QAAA,0BAO1B,SAAmB,EAA4C,CAC7D,OAAO,KAAK,KAAK,OAAO,CAAK,CAC/B,CACF,ECXa,GAAb,cAAsC,CAAkC,+BAG5C,KAAA,KAAA,IAAI,GACI,KAAA,aAAA,GACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAS,EACxC,KAAA,aAAA,gCALjB,KAAA,QAAA,mBAO1B,SAAmB,EAAkD,CACnE,OAAO,KAAK,KAAK,OAAO,CAAK,CAC/B,CACF,ECPsB,GAAtB,cAA4E,CAAa,CACvF,GAAiB,IAAI,EAAe,KAAM,CAAW,EAMrD,mBAAmC,CACjC,MAAM,kBAAkB,CAK1B,CAEA,OAA0B,EAA+B,CACvD,MAAM,OAAO,CAAO,EAEpB,IAAM,EAAQ,KAAK,WAAW,MAE9B,GAAI,CAAC,EAAO,OAEZ,KAAK,KAAK,SAAS,CAAK,EACxB,IAAM,EAAQ,KAAK,KAAK,SAAS,EACjC,GAAI,EAAW,KAAK,KAAK,QAAQ,EAAG,CAClC,IAAM,EAAQ,KAAK,KAAK,SAAS,CAAK,EAClC,EAAO,EAAM,aAAa,IAC5B,EAAM,cAAgB,EAAc,EAAM,cAAe,KAAKE,GAAM,KAAK,GAE3E,EAAkB,KAAM,CAAK,CAC/B,CACA,EAAoB,KAAM,EAAO,KAAK,YAAY,CACpD,CACF,ECtCa,GAAb,cAAmC,EAA2B,+BAQlC,KAAA,KAAA,IAAI,GACI,KAAA,aAAA,GACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAc,SAT9D,KAAA,QAAA,eAE1B,WAAW,oBAA+B,CAExC,MAAO,CAAC,GAAG,MAAM,mBAAoB,gBAAgB,CACvD,CAMA,yBAAkC,EAAc,EAAyB,EAA+B,CACtG,MAAM,yBAAyB,EAAM,EAAU,CAAQ,EAEnD,IAAS,mBACP,EACF,KAAK,MAAM,YAAY,6BAA8B,OAAO,EAAS,EAAE,EAEvE,KAAK,MAAM,eAAe,4BAA4B,EAG5D,CACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./predicate-LbFu-fPH.js";import{B as t,C as n,I as r,K as i,T as a,_ as o,b as s,h as c,rt as l,v as u,w as d,y as f}from"./compounds-CJ6SbYAh.js";import{H as p,P as m,j as h,n as g}from"./create-player-CbpxjDaZ.js";import{r as _}from"./translate-text-BPMWpzFm.js";import{r as v}from"./context-C2rsoDxk.js";import{translateText as y}from"./i18n.js";var b=class e{static defaultProps={label:``,disabled:!1,menuTrigger:!1};state=h({rate:1,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=l(t,e.defaultProps)}getLabel(e){let t=n(this.#e.label,e);return t===void 0?s:t}getLabelParams(e){if(n(this.#e.label,e)===void 0)return{rate:e.rate}}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({rate:e.playbackRate}),this.state.patch({label:_(this.getLabel(this.state.current))}),this.state.current}cycle(e){if(this.#e.disabled||this.#e.menuTrigger)return;let{playbackRates:t,playbackRate:n}=e;if(t.length===0)return;let r=t.indexOf(n),i=r===-1?t.find(e=>e>n)??t[0]:t[(r+1)%t.length];e.setPlaybackRate(i)}};const x={rate:`data-rate`};function S(e){return`${e}×`}var C=class t{static defaultProps={label:``,formatRate:S,disabled:!1};state=h({rate:1,value:`1`,options:[],disabled:!0,hidden:!0,availability:`unavailable`,label:``});#e={...t.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(e){this.#e=l(e,t.defaultProps)}getLabel(e){let t=n(this.#e.label,e);return t===void 0?i:t}getLabelParams(e){}getRateLabel(e){return this.#e.formatRate(e)}getRateValue(e){return String(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=e.playbackRates.length>0?`available`:`unavailable`;return this.state.patch({rate:e.playbackRate,value:this.getRateValue(e.playbackRate),options:e.playbackRates.map(e=>({rate:e,value:this.getRateValue(e),label:this.getRateLabel(e),disabled:!1})),disabled:this.#e.disabled||e.playbackRates.length===0,hidden:t===`unavailable`,availability:t}),this.state.patch({label:_(this.getLabel(this.state.current))}),this.state.current}select(e,t){this.#e.disabled||e.playbackRates.includes(t)&&e.setPlaybackRate(t)}selectValue(t,n){let r=t.playbackRates.find(e=>this.getRateValue(e)===n);e(r)||this.select(t,r)}};const w={rate:`data-rate`,disabled:`data-disabled`,hidden:`data-hidden`,availability:`data-availability`},T=`seek.`,E={key:`${T}forward`,text:`Seek forward {seconds} seconds`},D={key:`${T}backward`,text:`Seek backward {seconds} seconds`};var O=class e{static defaultProps={seconds:30,label:``,disabled:!1};state=h({seeking:!1,direction:`forward`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=l(t,e.defaultProps)}getLabel(e){let t=n(this.#e.label,e);return t===void 0?e.direction===`backward`?D:E:t}getLabelParams(e){if(n(this.#e.label,e)===void 0)return{seconds:Math.abs(this.#e.seconds)}}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=this.#e.seconds<0?`backward`:`forward`;return this.state.patch({seeking:e.seeking,direction:t}),this.state.patch({label:_(this.getLabel(this.state.current))}),this.state.current}async seek(e){this.#e.disabled||await e.seek(e.currentTime+this.#e.seconds)}};const k={seeking:`data-seeking`,direction:`data-direction`};var A=class extends f{constructor(...e){super(...e),this.commandfor=void 0,this.core=new b,this.stateAttrMap=x,this.mediaState=new g(this,v,r),this.hotkeyAction=`speedUp`}static{this.tagName=`media-playback-rate-button`}static{this.properties={label:{type:String},disabled:{type:Boolean},commandfor:{type:String}}}activate(e,t){if(this.commandfor){t instanceof KeyboardEvent&&c(this,this.commandfor);return}this.core.cycle(e)}getIsButtonDisabled(){let e=this.mediaState.value;return!!(super.getIsButtonDisabled()||this.commandfor&&e&&e.playbackRates.length===0)}willUpdate(e){super.willUpdate(e),e.has(`commandfor`)&&(this.commandfor?this.setAttribute(`commandfor`,this.commandfor):this.removeAttribute(`commandfor`))}update(e){super.update(e),!(!this.mediaState.value||!this.commandfor)&&a(this,{"aria-disabled":this.getIsButtonDisabled()?`true`:void 0})}},j=class extends u{constructor(...e){super(...e),this.disabled=!1,this.formatRate=C.defaultProps.formatRate,this.#e=new C,this.#t=new m(this,p),this.#n=new g(this,v,r),this.#r=new o(this,{setItemAttributes:(e,t)=>e.setAttribute(`data-rate`,t.value),onValueChange:e=>{let t=this.#n.value;t&&this.#e.selectValue(t,e)}})}static{this.tagName=`media-playback-rate-radio-group`}static{this.properties={...u.properties,disabled:{type:Boolean}}}#e;#t;#n;#r;connectedCallback(){super.connectedCallback(),this.destroyed}update(e){let t=this.#n.value,n=null;t&&(this.#e.setProps({formatRate:this.formatRate,disabled:this.disabled}),this.#e.setMedia(t),n=this.#e.getState(),this.applyDefaultAriaLabel(y(this.#e.getLabel(n),this.#t.value,this.#e.getLabelParams(n))),this.#r.sync(n,this.#t.value,this.#t.locale),this.publishMenuMetadata(n.disabled,n.availability)),super.update(e),n&&d(this,n,w)}},M=class extends f{constructor(...e){super(...e),this.seconds=O.defaultProps.seconds,this.core=new O,this.stateAttrMap=k,this.mediaState=new g(this,v,t),this.hotkeyAction=`seekStep`}static{this.tagName=`media-seek-button`}static{this.properties={...f.properties,seconds:{type:Number}}}get hotkeyValue(){return this.seconds}activate(e){this.core.seek(e)}};export{j as n,A as r,M as t};
|
|
2
|
-
//# sourceMappingURL=seek-button-element-DxLmm58Y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seek-button-element-DxLmm58Y.js","names":["#props","#media","resolveText","#props","#media","resolveText","#props","#media","resolveText","#mediaState","#core","#i18n","#options"],"sources":["../../core/dist/default/core/ui/playback-rate-button/playback-rate-button-core.js","../../core/dist/default/core/ui/playback-rate-button/playback-rate-button-data-attrs.js","../../core/dist/default/core/ui/playback-rate-radio-group/playback-rate-radio-group-core.js","../../core/dist/default/core/ui/playback-rate-radio-group/playback-rate-radio-group-data-attrs.js","../../core/dist/default/i18n/text/seek.js","../../core/dist/default/core/ui/seek-button/seek-button-core.js","../../core/dist/default/core/ui/seek-button/seek-button-data-attrs.js","../src/ui/playback-rate-button/playback-rate-button-element.ts","../src/ui/playback-rate-radio-group/playback-rate-radio-group-element.ts","../src/ui/seek-button/seek-button-element.ts"],"sourcesContent":["import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { rateText } from \"../../../i18n/text/playback.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/playback-rate-button/playback-rate-button-core.ts\nvar PlaybackRateButtonCore = class PlaybackRateButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false,\n\t\tmenuTrigger: false\n\t};\n\tstate = createState({\n\t\trate: 1,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PlaybackRateButtonCore.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, PlaybackRateButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst custom = resolveLabel(this.#props.label, state);\n\t\tif (custom !== void 0) return custom;\n\t\treturn rateText;\n\t}\n\tgetLabelParams(state) {\n\t\tif (resolveLabel(this.#props.label, state) !== void 0) return void 0;\n\t\treturn { rate: state.rate };\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({ rate: media.playbackRate });\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tcycle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (this.#props.menuTrigger) return;\n\t\tconst { playbackRates, playbackRate } = media;\n\t\tif (playbackRates.length === 0) return;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx === -1 ? playbackRates.find((r) => r > playbackRate) ?? playbackRates[0] : playbackRates[(idx + 1) % playbackRates.length];\n\t\tmedia.setPlaybackRate(next);\n\t}\n};\n//#endregion\nexport { PlaybackRateButtonCore };\n\n//# sourceMappingURL=playback-rate-button-core.js.map","//#region src/core/ui/playback-rate-button/playback-rate-button-data-attrs.ts\nconst PlaybackRateButtonDataAttrs = { \n/** Current playback rate. */\nrate: \"data-rate\" };\n//#endregion\nexport { PlaybackRateButtonDataAttrs };\n\n//# sourceMappingURL=playback-rate-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { playbackRateText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/core/ui/playback-rate-radio-group/playback-rate-radio-group-core.ts\nfunction formatPlaybackRate(rate) {\n\treturn `${rate}×`;\n}\nvar PlaybackRateRadioGroupCore = class PlaybackRateRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatRate: formatPlaybackRate,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\trate: 1,\n\t\tvalue: \"1\",\n\t\toptions: [],\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PlaybackRateRadioGroupCore.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, PlaybackRateRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst custom = resolveLabel(this.#props.label, state);\n\t\tif (custom !== void 0) return custom;\n\t\treturn playbackRateText;\n\t}\n\tgetLabelParams(_state) {}\n\tgetRateLabel(rate) {\n\t\treturn this.#props.formatRate(rate);\n\t}\n\tgetRateValue(rate) {\n\t\treturn String(rate);\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.playbackRates.length > 0 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\trate: media.playbackRate,\n\t\t\tvalue: this.getRateValue(media.playbackRate),\n\t\t\toptions: media.playbackRates.map((rate) => ({\n\t\t\t\trate,\n\t\t\t\tvalue: this.getRateValue(rate),\n\t\t\t\tlabel: this.getRateLabel(rate),\n\t\t\t\tdisabled: false\n\t\t\t})),\n\t\t\tdisabled: this.#props.disabled || media.playbackRates.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, rate) {\n\t\tif (this.#props.disabled) return;\n\t\tif (!media.playbackRates.includes(rate)) return;\n\t\tmedia.setPlaybackRate(rate);\n\t}\n\tselectValue(media, value) {\n\t\tconst rate = media.playbackRates.find((candidate) => this.getRateValue(candidate) === value);\n\t\tif (isUndefined(rate)) return;\n\t\tthis.select(media, rate);\n\t}\n};\n//#endregion\nexport { PlaybackRateRadioGroupCore };\n\n//# sourceMappingURL=playback-rate-radio-group-core.js.map","//#region src/core/ui/playback-rate-radio-group/playback-rate-radio-group-data-attrs.ts\nconst PlaybackRateRadioGroupDataAttrs = {\n\t/** Current playback rate. */\n\trate: \"data-rate\",\n\t/** Present when playback rate selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when playback rate selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates playback rate availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { PlaybackRateRadioGroupDataAttrs };\n\n//# sourceMappingURL=playback-rate-radio-group-data-attrs.js.map","//#region src/core/i18n/text/seek.ts\nconst prefix = \"seek.\";\nconst forwardText = {\n\tkey: `${prefix}forward`,\n\ttext: \"Seek forward {seconds} seconds\"\n};\nconst backwardText = {\n\tkey: `${prefix}backward`,\n\ttext: \"Seek backward {seconds} seconds\"\n};\n//#endregion\nexport { backwardText, forwardText };\n\n//# sourceMappingURL=seek.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { backwardText, forwardText } from \"../../../i18n/text/seek.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/seek-button/seek-button-core.ts\nvar SeekButtonCore = class SeekButtonCore {\n\tstatic defaultProps = {\n\t\tseconds: 30,\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tseeking: false,\n\t\tdirection: \"forward\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...SeekButtonCore.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, SeekButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst custom = resolveLabel(this.#props.label, state);\n\t\tif (custom !== void 0) return custom;\n\t\treturn state.direction === \"backward\" ? backwardText : forwardText;\n\t}\n\tgetLabelParams(state) {\n\t\tif (resolveLabel(this.#props.label, state) !== void 0) return void 0;\n\t\treturn { seconds: Math.abs(this.#props.seconds) };\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst direction = this.#props.seconds < 0 ? \"backward\" : \"forward\";\n\t\tthis.state.patch({\n\t\t\tseeking: media.seeking,\n\t\t\tdirection\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 seek(media) {\n\t\tif (this.#props.disabled) return;\n\t\tawait media.seek(media.currentTime + this.#props.seconds);\n\t}\n};\n//#endregion\nexport { SeekButtonCore };\n\n//# sourceMappingURL=seek-button-core.js.map","//#region src/core/ui/seek-button/seek-button-data-attrs.ts\nconst SeekButtonDataAttrs = {\n\t/** Present when a seek is in progress. */\n\tseeking: \"data-seeking\",\n\t/** Indicates the seek direction: `\"forward\"` or `\"backward\"`. */\n\tdirection: \"data-direction\"\n};\n//#endregion\nexport { SeekButtonDataAttrs };\n\n//# sourceMappingURL=seek-button-data-attrs.js.map","import { PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from '@videojs/core';\nimport { applyElementProps, selectPlaybackRate, type UIEvent } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport type { MediaPlaybackRateState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { toggleCommandTarget } from '../command-for';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PlaybackRateButtonElement extends MediaButtonElement<PlaybackRateButtonCore> {\n static readonly tagName = 'media-playback-rate-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n commandfor: { type: String },\n } satisfies PropertyDeclarationMap<'label' | 'disabled' | 'commandfor'>;\n\n commandfor: string | undefined = undefined;\n\n protected readonly core = new PlaybackRateButtonCore();\n protected readonly stateAttrMap = PlaybackRateButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlaybackRate);\n protected override readonly hotkeyAction = 'speedUp';\n\n protected activate(state: MediaPlaybackRateState, event?: UIEvent): void {\n if (this.commandfor) {\n if (event instanceof KeyboardEvent) {\n toggleCommandTarget(this, this.commandfor);\n }\n return;\n }\n this.core.cycle(state);\n }\n\n protected override getIsButtonDisabled(): boolean {\n const media = this.mediaState.value;\n if (super.getIsButtonDisabled()) return true;\n if (this.commandfor && media && media.playbackRates.length === 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')) {\n if (this.commandfor) {\n this.setAttribute('commandfor', this.commandfor);\n } else {\n this.removeAttribute('commandfor');\n }\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n if (!media || !this.commandfor) return;\n\n applyElementProps(this, {\n 'aria-disabled': this.getIsButtonDisabled() ? 'true' : undefined,\n });\n }\n}\n\nexport namespace PlaybackRateButtonElement {\n export type State = PlaybackRateButtonCore.State;\n}\n","import {\n PlaybackRateRadioGroupCore,\n PlaybackRateRadioGroupDataAttrs,\n type PlaybackRateRadioGroupOption,\n} from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlaybackRate } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\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 PlaybackRateRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-playback-rate-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<'value' | 'disabled'>;\n\n disabled = false;\n formatRate = PlaybackRateRadioGroupCore.defaultProps.formatRate;\n\n readonly #core = new PlaybackRateRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectPlaybackRate);\n readonly #options = new RadioOptionsController<PlaybackRateRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-rate', 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: PlaybackRateRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatRate: this.formatRate, disabled: this.disabled });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(\n translateText(this.#core.getLabel(state), this.#i18n.value, this.#core.getLabelParams(state))\n );\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuMetadata(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, PlaybackRateRadioGroupDataAttrs);\n }\n}\n\nexport namespace PlaybackRateRadioGroupElement {\n export type State = PlaybackRateRadioGroupCore.State;\n}\n","import { SeekButtonCore, SeekButtonDataAttrs } from '@videojs/core';\nimport { selectTime } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap } from '@videojs/element';\nimport type { MediaTimeState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class SeekButtonElement extends MediaButtonElement<SeekButtonCore> {\n static readonly tagName = 'media-seek-button';\n\n static override properties: PropertyDeclarationMap = {\n ...MediaButtonElement.properties,\n seconds: { type: Number },\n };\n\n seconds = SeekButtonCore.defaultProps.seconds;\n\n protected readonly core = new SeekButtonCore();\n protected readonly stateAttrMap = SeekButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTime);\n protected override readonly hotkeyAction = 'seekStep';\n\n protected override get hotkeyValue(): number | undefined {\n return this.seconds;\n }\n\n protected activate(state: MediaTimeState): void {\n this.core.seek(state);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seek-button-element-TErrbilI.js","names":["#props","#media","resolveText","#props","#media","resolveText","#props","#media","resolveText","#mediaState","#core","#i18n","#options"],"sources":["../../core/dist/dev/core/ui/playback-rate-button/playback-rate-button-core.js","../../core/dist/dev/core/ui/playback-rate-button/playback-rate-button-data-attrs.js","../../core/dist/dev/core/ui/playback-rate-radio-group/playback-rate-radio-group-core.js","../../core/dist/dev/core/ui/playback-rate-radio-group/playback-rate-radio-group-data-attrs.js","../../core/dist/dev/i18n/text/seek.js","../../core/dist/dev/core/ui/seek-button/seek-button-core.js","../../core/dist/dev/core/ui/seek-button/seek-button-data-attrs.js","../src/ui/playback-rate-button/playback-rate-button-element.ts","../src/ui/playback-rate-radio-group/playback-rate-radio-group-element.ts","../src/ui/seek-button/seek-button-element.ts"],"sourcesContent":["import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { rateText } from \"../../../i18n/text/playback.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/playback-rate-button/playback-rate-button-core.ts\nvar PlaybackRateButtonCore = class PlaybackRateButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false,\n\t\tmenuTrigger: false\n\t};\n\tstate = createState({\n\t\trate: 1,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PlaybackRateButtonCore.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, PlaybackRateButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst custom = resolveLabel(this.#props.label, state);\n\t\tif (custom !== void 0) return custom;\n\t\treturn rateText;\n\t}\n\tgetLabelParams(state) {\n\t\tif (resolveLabel(this.#props.label, state) !== void 0) return void 0;\n\t\treturn { rate: state.rate };\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({ rate: media.playbackRate });\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tcycle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (this.#props.menuTrigger) return;\n\t\tconst { playbackRates, playbackRate } = media;\n\t\tif (playbackRates.length === 0) return;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx === -1 ? playbackRates.find((r) => r > playbackRate) ?? playbackRates[0] : playbackRates[(idx + 1) % playbackRates.length];\n\t\tmedia.setPlaybackRate(next);\n\t}\n};\n//#endregion\nexport { PlaybackRateButtonCore };\n\n//# sourceMappingURL=playback-rate-button-core.js.map","//#region src/core/ui/playback-rate-button/playback-rate-button-data-attrs.ts\nconst PlaybackRateButtonDataAttrs = { \n/** Current playback rate. */\nrate: \"data-rate\" };\n//#endregion\nexport { PlaybackRateButtonDataAttrs };\n\n//# sourceMappingURL=playback-rate-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { playbackRateText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/core/ui/playback-rate-radio-group/playback-rate-radio-group-core.ts\nfunction formatPlaybackRate(rate) {\n\treturn `${rate}×`;\n}\nvar PlaybackRateRadioGroupCore = class PlaybackRateRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatRate: formatPlaybackRate,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\trate: 1,\n\t\tvalue: \"1\",\n\t\toptions: [],\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PlaybackRateRadioGroupCore.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, PlaybackRateRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst custom = resolveLabel(this.#props.label, state);\n\t\tif (custom !== void 0) return custom;\n\t\treturn playbackRateText;\n\t}\n\tgetLabelParams(_state) {}\n\tgetRateLabel(rate) {\n\t\treturn this.#props.formatRate(rate);\n\t}\n\tgetRateValue(rate) {\n\t\treturn String(rate);\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.playbackRates.length > 0 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\trate: media.playbackRate,\n\t\t\tvalue: this.getRateValue(media.playbackRate),\n\t\t\toptions: media.playbackRates.map((rate) => ({\n\t\t\t\trate,\n\t\t\t\tvalue: this.getRateValue(rate),\n\t\t\t\tlabel: this.getRateLabel(rate),\n\t\t\t\tdisabled: false\n\t\t\t})),\n\t\t\tdisabled: this.#props.disabled || media.playbackRates.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, rate) {\n\t\tif (this.#props.disabled) return;\n\t\tif (!media.playbackRates.includes(rate)) return;\n\t\tmedia.setPlaybackRate(rate);\n\t}\n\tselectValue(media, value) {\n\t\tconst rate = media.playbackRates.find((candidate) => this.getRateValue(candidate) === value);\n\t\tif (isUndefined(rate)) return;\n\t\tthis.select(media, rate);\n\t}\n};\n//#endregion\nexport { PlaybackRateRadioGroupCore };\n\n//# sourceMappingURL=playback-rate-radio-group-core.js.map","//#region src/core/ui/playback-rate-radio-group/playback-rate-radio-group-data-attrs.ts\nconst PlaybackRateRadioGroupDataAttrs = {\n\t/** Current playback rate. */\n\trate: \"data-rate\",\n\t/** Present when playback rate selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when playback rate selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates playback rate availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { PlaybackRateRadioGroupDataAttrs };\n\n//# sourceMappingURL=playback-rate-radio-group-data-attrs.js.map","//#region src/core/i18n/text/seek.ts\nconst prefix = \"seek.\";\nconst forwardText = {\n\tkey: `${prefix}forward`,\n\ttext: \"Seek forward {seconds} seconds\"\n};\nconst backwardText = {\n\tkey: `${prefix}backward`,\n\ttext: \"Seek backward {seconds} seconds\"\n};\n//#endregion\nexport { backwardText, forwardText };\n\n//# sourceMappingURL=seek.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { backwardText, forwardText } from \"../../../i18n/text/seek.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/seek-button/seek-button-core.ts\nvar SeekButtonCore = class SeekButtonCore {\n\tstatic defaultProps = {\n\t\tseconds: 30,\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tseeking: false,\n\t\tdirection: \"forward\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...SeekButtonCore.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, SeekButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst custom = resolveLabel(this.#props.label, state);\n\t\tif (custom !== void 0) return custom;\n\t\treturn state.direction === \"backward\" ? backwardText : forwardText;\n\t}\n\tgetLabelParams(state) {\n\t\tif (resolveLabel(this.#props.label, state) !== void 0) return void 0;\n\t\treturn { seconds: Math.abs(this.#props.seconds) };\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst direction = this.#props.seconds < 0 ? \"backward\" : \"forward\";\n\t\tthis.state.patch({\n\t\t\tseeking: media.seeking,\n\t\t\tdirection\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 seek(media) {\n\t\tif (this.#props.disabled) return;\n\t\tawait media.seek(media.currentTime + this.#props.seconds);\n\t}\n};\n//#endregion\nexport { SeekButtonCore };\n\n//# sourceMappingURL=seek-button-core.js.map","//#region src/core/ui/seek-button/seek-button-data-attrs.ts\nconst SeekButtonDataAttrs = {\n\t/** Present when a seek is in progress. */\n\tseeking: \"data-seeking\",\n\t/** Indicates the seek direction: `\"forward\"` or `\"backward\"`. */\n\tdirection: \"data-direction\"\n};\n//#endregion\nexport { SeekButtonDataAttrs };\n\n//# sourceMappingURL=seek-button-data-attrs.js.map","import { PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from '@videojs/core';\nimport { applyElementProps, selectPlaybackRate, type UIEvent } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport type { MediaPlaybackRateState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { toggleCommandTarget } from '../command-for';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PlaybackRateButtonElement extends MediaButtonElement<PlaybackRateButtonCore> {\n static readonly tagName = 'media-playback-rate-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n commandfor: { type: String },\n } satisfies PropertyDeclarationMap<'label' | 'disabled' | 'commandfor'>;\n\n commandfor: string | undefined = undefined;\n\n protected readonly core = new PlaybackRateButtonCore();\n protected readonly stateAttrMap = PlaybackRateButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlaybackRate);\n protected override readonly hotkeyAction = 'speedUp';\n\n protected activate(state: MediaPlaybackRateState, event?: UIEvent): void {\n if (this.commandfor) {\n if (event instanceof KeyboardEvent) {\n toggleCommandTarget(this, this.commandfor);\n }\n return;\n }\n this.core.cycle(state);\n }\n\n protected override getIsButtonDisabled(): boolean {\n const media = this.mediaState.value;\n if (super.getIsButtonDisabled()) return true;\n if (this.commandfor && media && media.playbackRates.length === 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')) {\n if (this.commandfor) {\n this.setAttribute('commandfor', this.commandfor);\n } else {\n this.removeAttribute('commandfor');\n }\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n if (!media || !this.commandfor) return;\n\n applyElementProps(this, {\n 'aria-disabled': this.getIsButtonDisabled() ? 'true' : undefined,\n });\n }\n}\n\nexport namespace PlaybackRateButtonElement {\n export type State = PlaybackRateButtonCore.State;\n}\n","import {\n PlaybackRateRadioGroupCore,\n PlaybackRateRadioGroupDataAttrs,\n type PlaybackRateRadioGroupOption,\n} from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlaybackRate } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\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 PlaybackRateRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-playback-rate-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<'value' | 'disabled'>;\n\n disabled = false;\n formatRate = PlaybackRateRadioGroupCore.defaultProps.formatRate;\n\n readonly #core = new PlaybackRateRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectPlaybackRate);\n readonly #options = new RadioOptionsController<PlaybackRateRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-rate', 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: PlaybackRateRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatRate: this.formatRate, disabled: this.disabled });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(\n translateText(this.#core.getLabel(state), this.#i18n.value, this.#core.getLabelParams(state))\n );\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuMetadata(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, PlaybackRateRadioGroupDataAttrs);\n }\n}\n\nexport namespace PlaybackRateRadioGroupElement {\n export type State = PlaybackRateRadioGroupCore.State;\n}\n","import { SeekButtonCore, SeekButtonDataAttrs } from '@videojs/core';\nimport { selectTime } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap } from '@videojs/element';\nimport type { MediaTimeState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class SeekButtonElement extends MediaButtonElement<SeekButtonCore> {\n static readonly tagName = 'media-seek-button';\n\n static override properties: PropertyDeclarationMap = {\n ...MediaButtonElement.properties,\n seconds: { type: Number },\n };\n\n seconds = SeekButtonCore.defaultProps.seconds;\n\n protected readonly core = new SeekButtonCore();\n protected readonly stateAttrMap = SeekButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTime);\n protected override readonly hotkeyAction = 'seekStep';\n\n protected override get hotkeyValue(): number | undefined {\n return this.seconds;\n }\n\n protected activate(state: MediaTimeState): void {\n this.core.seek(state);\n }\n}\n"],"mappings":"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"}
|