@videojs/html 10.0.0-beta.27 → 10.0.0-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/audio-headless.dev.js +1 -1
- package/cdn/audio-headless.js +1 -1
- package/cdn/audio-minimal-ui.dev.js +1 -1
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +4 -4
- 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 +1 -1
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +4 -4
- 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-BEO1d3ZM.js +8 -0
- package/cdn/compounds-BEO1d3ZM.js.map +1 -0
- package/cdn/{compounds-CCvdpvge.js → compounds-nk9RJtBK.js} +8 -15
- package/cdn/compounds-nk9RJtBK.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-BHFyOnWi.js → create-player-DK9WOywd.js} +19 -379
- package/cdn/create-player-DK9WOywd.js.map +1 -0
- package/cdn/create-player-hSdQMP5p.js +2 -0
- package/cdn/create-player-hSdQMP5p.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/{gesture-element-CG-Sx_5t.js → gesture-element-6Ld1YwIL.js} +3 -3
- package/cdn/{gesture-element-CG-Sx_5t.js.map → gesture-element-6Ld1YwIL.js.map} +1 -1
- package/cdn/gesture-element-BC48ucj9.js +2 -0
- package/cdn/{gesture-element-BNfMI8eh.js.map → gesture-element-BC48ucj9.js.map} +1 -1
- package/cdn/{hls-js-g1zdcyvE.js → hls-js-BEuVm0u9.js} +3 -2
- package/cdn/{hls-js-g1zdcyvE.js.map → hls-js-BEuVm0u9.js.map} +1 -1
- package/cdn/hls-js-C4P_b2tT.js +2 -0
- package/cdn/{hls-js-6lW7L4th.js.map → hls-js-C4P_b2tT.js.map} +1 -1
- package/cdn/hls-js-CATW7NBm.js +2 -0
- package/cdn/{hls-js-DCQzjzB5.js.map → hls-js-CATW7NBm.js.map} +1 -1
- package/cdn/{hls-js-Cwj8UBx9.js → hls-js-WCNy9MVh.js} +3 -2
- package/cdn/{hls-js-Cwj8UBx9.js.map → hls-js-WCNy9MVh.js.map} +1 -1
- package/cdn/i18n-CE4KxKuj.js +2 -0
- package/cdn/i18n-CE4KxKuj.js.map +1 -0
- package/cdn/{i18n-Mtlmj1AA.js → i18n-Ch4t6EjV.js} +2 -2
- package/cdn/{i18n-Mtlmj1AA.js.map → i18n-Ch4t6EjV.js.map} +1 -1
- package/cdn/i18n-Dc7WM2xd.js +2 -0
- package/cdn/{i18n-DfKGl5Rh.js.map → i18n-Dc7WM2xd.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-B_y-ZJBy.js → live-button-element-Bae44kBN.js} +5 -4
- package/cdn/live-button-element-Bae44kBN.js.map +1 -0
- package/cdn/live-button-element-DaHgnYdw.js +2 -0
- package/cdn/{live-button-element-CWfkQUoy.js.map → live-button-element-DaHgnYdw.js.map} +1 -1
- package/cdn/live-video-minimal.dev.js +8 -8
- 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 +9 -9
- 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 +1 -0
- 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 +1 -0
- 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 +2 -1
- 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 +2989 -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-Cp3acYc8.js → media-BavrGKqa.js} +274 -5
- package/cdn/media-BavrGKqa.js.map +1 -0
- package/cdn/media-Bmablv4g.js +2 -0
- package/cdn/media-Bmablv4g.js.map +1 -0
- package/cdn/{media-B_gQXwri.js → media-COIe3uI5.js} +12 -3
- package/cdn/media-COIe3uI5.js.map +1 -0
- package/cdn/{media-CbWsJJhU.js → media-CPVSKLdk.js} +2 -2
- package/cdn/{media-CbWsJJhU.js.map → media-CPVSKLdk.js.map} +1 -1
- package/cdn/media-CanBm0Jh.js +41 -0
- package/cdn/media-CanBm0Jh.js.map +1 -0
- package/cdn/{media-Dq4zmIJa2.js → media-Dq4zmIJa.js} +1 -1
- package/cdn/media-Dq4zmIJa.js.map +1 -0
- package/cdn/{media-DRo3n8tM.js → media-oa3nyL2o.js} +3 -3
- package/cdn/{media-DRo3n8tM.js.map → media-oa3nyL2o.js.map} +1 -1
- 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-suYcjCG22.js → media-suYcjCG2.js} +1 -1
- package/cdn/media-suYcjCG2.js.map +1 -0
- package/cdn/minimal-ui-8iRZf_72.js +2 -0
- package/cdn/{minimal-ui-AFk6Ut5f.js.map → minimal-ui-8iRZf_72.js.map} +1 -1
- package/cdn/{minimal-ui--JsmpU2q.js → minimal-ui-BpHxIo4z.js} +5 -5
- package/cdn/{minimal-ui--JsmpU2q.js.map → minimal-ui-BpHxIo4z.js.map} +1 -1
- package/cdn/{minimal-ui-Bxcpf5Mb.js → minimal-ui-CRKvUmB8.js} +9 -9
- package/cdn/{minimal-ui-Bxcpf5Mb.js.map → minimal-ui-CRKvUmB8.js.map} +1 -1
- package/cdn/minimal-ui-Et2Wcn7r.js +2 -0
- package/cdn/{minimal-ui-BVKu9LWj.js.map → minimal-ui-Et2Wcn7r.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-D4fdOLLk.js → player-B2oraRyD.js} +3 -2
- package/cdn/{player-D4fdOLLk.js.map → player-B2oraRyD.js.map} +1 -1
- package/cdn/player-BRQLp5bX.js +2 -0
- package/cdn/{player-srq1RGTj.js.map → player-BRQLp5bX.js.map} +1 -1
- package/cdn/player-BloX4l6F.js +2 -0
- package/cdn/{player-iIewo8Y9.js.map → player-BloX4l6F.js.map} +1 -1
- package/cdn/{player-B0qnepD5.js → player-CKTAtwit.js} +3 -2
- package/cdn/{player-B0qnepD5.js.map → player-CKTAtwit.js.map} +1 -1
- package/cdn/{player-C4ix6TQq.js → player-DM9rUXg-.js} +3 -2
- package/cdn/{player-C4ix6TQq.js.map → player-DM9rUXg-.js.map} +1 -1
- package/cdn/player-rCFqzWrA.js +2 -0
- package/cdn/{player-B0ccW5-n.js.map → player-rCFqzWrA.js.map} +1 -1
- package/cdn/{poster-element-BP1Ypgbf.js → poster-element-BGr1VQJB.js} +16 -4
- package/cdn/poster-element-BGr1VQJB.js.map +1 -0
- package/cdn/poster-element-DBmgOyep.js +2 -0
- package/cdn/poster-element-DBmgOyep.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-FlgBVoGM.js +2 -0
- package/cdn/seek-button-element-FlgBVoGM.js.map +1 -0
- package/cdn/{seek-button-element-TErrbilI.js → seek-button-element-XMTLIxZj.js} +6 -5
- package/cdn/seek-button-element-XMTLIxZj.js.map +1 -0
- package/cdn/{skin-element-wPSb4AAs.js → skin-element-DL-Kqa5f.js} +2 -2
- package/cdn/{skin-element-wPSb4AAs.js.map → skin-element-DL-Kqa5f.js.map} +1 -1
- package/cdn/{skin-element-1_MG2zgS.js → skin-element-DNytI-uu.js} +2 -2
- package/cdn/{skin-element-1_MG2zgS.js.map → skin-element-DNytI-uu.js.map} +1 -1
- package/cdn/{text-element-DTB9_2HX.js → text-element-D88ArbZz.js} +3 -3
- package/cdn/{text-element-DTB9_2HX.js.map → text-element-D88ArbZz.js.map} +1 -1
- package/cdn/text-element-DeWBNKXb.js +2 -0
- package/cdn/{text-element-Bsyglab8.js.map → text-element-DeWBNKXb.js.map} +1 -1
- package/cdn/{time-slider-chapters-element-DPgaLdBt.js → time-slider-chapters-element-DJ0abZXI.js} +5 -4
- package/cdn/time-slider-chapters-element-DJ0abZXI.js.map +1 -0
- package/cdn/time-slider-chapters-element-DW8YyJn8.js +2 -0
- package/cdn/{time-slider-chapters-element-MdlcovBu.js.map → time-slider-chapters-element-DW8YyJn8.js.map} +1 -1
- 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-BU3_2gDQ.js} +8 -8
- package/cdn/{ui-D0AokGxw.js.map → ui-BU3_2gDQ.js.map} +1 -1
- package/cdn/{ui-p36Szn71.js → ui-BsaWWE4y.js} +10 -10
- package/cdn/{ui-p36Szn71.js.map → ui-BsaWWE4y.js.map} +1 -1
- package/cdn/ui-C0isALTQ.js +2 -0
- package/cdn/{ui-CecDxhTX.js.map → ui-C0isALTQ.js.map} +1 -1
- package/cdn/ui-DVpkE1MN.js +2 -0
- package/cdn/{ui-ChWM6Xz2.js.map → ui-DVpkE1MN.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 +1 -1
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +4 -4
- 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 +1 -1
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +5 -5
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- 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 +16 -19
- package/dist/default/define/audio/skin.css +27 -30
- package/dist/default/define/live-audio/minimal-skin.css +16 -19
- package/dist/default/define/live-audio/skin.css +27 -30
- package/dist/default/define/live-video/minimal-skin.css +20 -19
- package/dist/default/define/live-video/skin.css +31 -30
- package/dist/default/define/video/minimal-skin.css +20 -19
- package/dist/default/define/video/skin.css +31 -30
- 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/slider.js +6 -6
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +4 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.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/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 +16 -19
- package/dist/dev/define/audio/skin.css +27 -30
- package/dist/dev/define/live-audio/minimal-skin.css +16 -19
- package/dist/dev/define/live-audio/skin.css +27 -30
- package/dist/dev/define/live-video/minimal-skin.css +20 -19
- package/dist/dev/define/live-video/skin.css +31 -30
- package/dist/dev/define/video/minimal-skin.css +20 -19
- package/dist/dev/define/video/skin.css +31 -30
- 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/skins/dist/default/default/tailwind/components/slider.js +6 -6
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
- 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/slider.js +4 -4
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.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/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 +31 -30
- package/docs/how-to/build-your-own-component.md +1 -1
- package/docs/how-to/customize-skins.md +94 -98
- 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/mute-button.md +34 -0
- package/docs/reference/volume-slider.md +1 -1
- package/package.json +10 -9
- 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/gesture-element-BNfMI8eh.js +0 -2
- 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-B_gQXwri.js.map +0 -1
- package/cdn/media-CPWNSZFX.js +0 -41
- package/cdn/media-CPWNSZFX.js.map +0 -1
- package/cdn/media-Cp3acYc8.js.map +0 -1
- package/cdn/media-Dq4zmIJa2.js.map +0 -1
- package/cdn/media-suYcjCG22.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/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/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":"media-Dq4zmIJa2.js","names":["#config","#engine","#createEngine","#signals","#cancelPendingPlay","#loadstartListener","#target","#media"],"sources":["../../spf/dist/default/playback/behaviors/select-tracks.js","../../spf/dist/default/playback/engines/hls/engine-background-video.js","../../spf/dist/default/playback/adapters/hls-background-video/adapter.js","../../spf/dist/default/playback/adapters/hls-background-video/host.js","../../spf/dist/default/playback/adapters/hls-background-video/media.js","../src/media/hls-background-video/media.ts"],"sourcesContent":["import { computed } from \"../../core/signals/primitives.js\";\nimport { defineBehavior } from \"../../core/composition/create-composition.js\";\nimport { createMachineReactor } from \"../../core/reactors/create-machine-reactor.js\";\nimport { isResolvedPresentation } from \"../../media/types/index.js\";\nimport { AUDIO_TYPE_CONFIG, VIDEO_TYPE_CONFIG } from \"../primitives/track-types.js\";\nimport { pickAudioTrack, pickFirstTrackId } from \"../../media/primitives/select-tracks.js\";\n//#region src/playback/behaviors/select-tracks.ts\n/**\n* **Default audio/video track selection on src load / unselect on src unload.**\n* When a presentation is resolved, sets `selectedVideoTrackId` /\n* `selectedAudioTrackId` to a per-type-picker default if no selection already\n* exists. When the presentation is unset/reset (transitions back to unresolved),\n* clears the selection so a stale id from the previous source doesn't persist.\n*\n* Lifecycle-driven: each transition fires its work once. Does not police the\n* selection between transitions; external writes (user picks, ABR, programmatic\n* filter-driven re-picks) are left alone.\n*\n* Picker is config-driven: each per-type export wires a sensible default\n* (`pickAudioTrack` for audio — three-tier language-aware; `pickFirstTrackId`\n* for video) and the caller can supply their own via `config.picker` for custom\n* selection logic. The behavior's `config` is forwarded to the picker as its\n* second argument, so options like `preferredAudioLanguage` reach the picker\n* without an intermediate wrapping layer.\n*\n* Compose `selectVideoTrack` for the simple \"pick a default video track\"\n* behavior, or `switchVideoTrack` (`./track-switching.ts`) for the\n* ABR-driven variant. Compose `selectAudioTrack` for the simple default\n* pick, or `switchAudioTrack` (`./track-switching.ts`) for the\n* filter-reactive + mid-stream-flush slot-owner variant — when audio-abr\n* lands, `switchAudioTrack` extends into `switchAudioQuality`. Compose\n* only one per type — they're alternatives, not stackable (each writes\n* the same `selected*TrackId` slot). The simple variants tree-shake out\n* the heavier machinery (bandwidth estimator, quality selection, flush\n* orchestration).\n*\n* Text selection has no simple variant here — it's owned by `switchTextTrack`\n* (`./track-switching.ts`), which resolves standing `userTextTrackSelection`\n* intent against the constrained, CDN-scoped renditions.\n*/\nfunction setupTrackSelection({ state, config: { selectedKey, picker, pickerConfig } }) {\n\tconst derivedStateSignal = computed(() => isResolvedPresentation(state.presentation.get()) ? \"presentation-resolved\" : \"presentation-unresolved\");\n\treturn createMachineReactor({\n\t\tinitial: \"presentation-unresolved\",\n\t\tmonitor: () => derivedStateSignal.get(),\n\t\tstates: {\n\t\t\t\"presentation-unresolved\": {},\n\t\t\t\"presentation-resolved\": { entry: () => {\n\t\t\t\tif (!state[selectedKey].get()) {\n\t\t\t\t\tconst id = picker(state.presentation.get(), pickerConfig);\n\t\t\t\t\tif (id) state[selectedKey].set(id);\n\t\t\t\t}\n\t\t\t\treturn () => state[selectedKey].set(void 0);\n\t\t\t} }\n\t\t}\n\t});\n}\n/** Default video picker: first track in the video selection set. */\nconst defaultVideoPicker = (presentation) => pickFirstTrackId(presentation, \"video\");\n/**\n* Select a video track when a presentation loads. Clears the selection on\n* src unload.\n*\n* This is the simple, non-ABR counterpart to `switchVideoTrack` — compose\n* one or the other, not both (both write `selectedVideoTrackId`). Composing\n* `selectVideoTrack` alone tree-shakes out the ABR code path\n* (bandwidth-estimator, quality-selection); use it for sources without\n* meaningful quality variants, test setups, or players that intentionally\n* pin a quality.\n*\n* @example\n* const reactor = selectVideoTrack.setup({ state });\n*/\nconst selectVideoTrack = defineBehavior({\n\tstateKeys: [\"presentation\", \"selectedVideoTrackId\"],\n\tcontextKeys: [],\n\tsetup: ({ state, config }) => setupTrackSelection({\n\t\tstate,\n\t\tconfig: {\n\t\t\tselectedKey: VIDEO_TYPE_CONFIG.selectedKey,\n\t\t\tpicker: config?.picker ?? defaultVideoPicker,\n\t\t\tpickerConfig: config\n\t\t}\n\t})\n});\ndefineBehavior({\n\tstateKeys: [\"presentation\", \"selectedAudioTrackId\"],\n\tcontextKeys: [],\n\tsetup: ({ state, config }) => setupTrackSelection({\n\t\tstate,\n\t\tconfig: {\n\t\t\tselectedKey: AUDIO_TYPE_CONFIG.selectedKey,\n\t\t\tpicker: config?.picker ?? pickAudioTrack,\n\t\t\tpickerConfig: config\n\t\t}\n\t})\n});\n//#endregion\nexport { selectVideoTrack };\n\n//# sourceMappingURL=select-tracks.js.map","import { createComposition } from \"../../../core/composition/create-composition.js\";\nimport { makeShareSignals } from \"../../../core/composition/share-signals.js\";\nimport { loadVideoSegments } from \"../../behaviors/dom/load-segments.js\";\nimport { trackCurrentTime } from \"../../behaviors/dom/track-current-time.js\";\nimport { parseMultivariantPlaylist } from \"../../../media/hls/parse-multivariant.js\";\nimport { getResolvedSelectedTrackDuration } from \"../../../media/utils/track-selection.js\";\nimport { calculatePresentationDuration } from \"../../behaviors/calculate-presentation-duration.js\";\nimport { endOfStream } from \"../../behaviors/dom/end-of-stream.js\";\nimport { setupVideoBufferActors } from \"../../behaviors/dom/setup-buffer-actors.js\";\nimport { setupMediaSource } from \"../../behaviors/dom/setup-mediasource.js\";\nimport { updateMediaSourceDuration } from \"../../behaviors/dom/update-mediasource-duration.js\";\nimport { resolvePresentation } from \"../../behaviors/resolve-presentation.js\";\nimport { resolveVideoTrack } from \"../../behaviors/resolve-track.js\";\nimport { pickHighestResolutionVideoTrack } from \"../../../media/primitives/select-tracks.js\";\nimport { selectVideoTrack } from \"../../behaviors/select-tracks.js\";\n//#region src/playback/engines/hls/engine-background-video.ts\nconst shareSignals = makeShareSignals();\n/**\n* Create a background-video playback engine.\n*\n* Subtractive composition over the HLS engine baseline:\n* audio-side, text-side, ABR-driven, preload-monitoring, and play/seek\n* load-trigger behaviors are removed. `selectVideoTrack` (with a\n* max-resolution picker by default) replaces `switchVideoQuality`, pinning\n* a single rendition for the session. The initial state seeds\n* `loadActivated: true` so the composition behaves as if preload has\n* already been activated — appropriate for ambient / hero / GIF-replacement\n* surfaces that should start loading the moment a src is set.\n*\n* Native `loop` / `muted` / `autoplay` are adapter concerns and live on\n* `HlsBackgroundVideoMediaElement` rather than the engine.\n*\n* @example\n* ```ts\n* let signals: BackgroundVideoEngineSignals;\n* const engine = createBackgroundVideoEngine({\n* onSignalsReady: (refs) => {\n* signals = refs;\n* },\n* });\n*\n* signals.context.mediaElement.set(videoEl);\n* signals.state.presentation.set({ url: 'https://example.com/stream.m3u8' });\n*\n* await engine.destroy();\n* ```\n*/\nfunction createBackgroundVideoEngine(config = {}) {\n\tconst finalConfig = {\n\t\t...config,\n\t\tpicker: config.picker ?? pickHighestResolutionVideoTrack,\n\t\tparsePresentation: config.parsePresentation ?? parseMultivariantPlaylist,\n\t\tresolveDuration: getResolvedSelectedTrackDuration\n\t};\n\treturn createComposition([\n\t\tresolvePresentation,\n\t\tcalculatePresentationDuration,\n\t\tselectVideoTrack,\n\t\tresolveVideoTrack,\n\t\tloadVideoSegments,\n\t\tsetupMediaSource,\n\t\tupdateMediaSourceDuration,\n\t\tsetupVideoBufferActors,\n\t\ttrackCurrentTime,\n\t\tendOfStream,\n\t\tshareSignals\n\t], {\n\t\tconfig: finalConfig,\n\t\tinitialState: { loadActivated: true }\n\t});\n}\n//#endregion\nexport { createBackgroundVideoEngine };\n\n//# sourceMappingURL=engine-background-video.js.map","import { pickTrackUnderPixelArea } from \"../../../media/primitives/select-tracks.js\";\nimport { createBackgroundVideoEngine } from \"../../engines/hls/engine-background-video.js\";\n//#region src/playback/adapters/hls-background-video/adapter.ts\nconst hlsBackgroundVideoMediaDefaultProps = { src: \"\" };\n/**\n* Mixin that adds the background-video SPF playback engine to any base class,\n* for an HLS URL.\n*\n* `src` is the whole surface, and the picker always pins the top rendition on\n* offer. There is no cap of its own because the manifest is the better place to\n* narrow one: a delivery param — `?max_resolution=720p` on a Mux stream URL, for\n* one — keeps the renditions it excludes out of the manifest entirely, rather\n* than fetched-then-unpicked. Deriving a cap from the screen instead is on the\n* roadmap, and lands here when it does.\n*\n* `@videojs/spf/mux-background-video` is this same Media under a Mux-flavored\n* name — an alias, not a variant. Nothing about the surface changes with the\n* import path.\n*\n* Everything else the use case fixes rather than exposes: video-only, looping,\n* muted, autoplaying, loading as soon as there is a source. `attach` writes that\n* onto the element and nothing here declares `loop` / `muted` / `autoplay` /\n* `preload` of its own — a host-bound Media inherits all four from the host\n* already, and shadowing them with fixed values would only make reads describe\n* an intention rather than what the element is doing.\n*\n* A new src re-resolves the presentation, tearing down the state, SourceBuffers,\n* and in-flight requests the previous one built before the next begins. The\n* engine instance and the attached media element are both kept, so neither has to\n* be rewired.\n*\n* @example\n* class HlsBackgroundVideoMedia extends HlsBackgroundVideoMediaMixin(BackgroundVideoHost) {}\n*\n* const media = new HlsBackgroundVideoMedia();\n* media.attach(document.querySelector('video'));\n* media.src = 'https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p';\n* media.play();\n*/\nfunction HlsBackgroundVideoMediaMixin(BaseClass) {\n\tclass HlsBackgroundVideoMediaImpl extends BaseClass {\n\t\t#engine;\n\t\t#config;\n\t\t#signals;\n\t\t/** Pending loadstart listener from a deferred play() retry, if any. */\n\t\t#loadstartListener = null;\n\t\tconstructor(...args) {\n\t\t\tsuper(...args);\n\t\t\tconst { config } = args?.[0] ?? {};\n\t\t\tthis.#config = config;\n\t\t\tthis.#engine = this.#createEngine();\n\t\t}\n\t\tget engine() {\n\t\t\treturn this.#engine;\n\t\t}\n\t\tattach(mediaElement) {\n\t\t\tsuper.attach?.(mediaElement);\n\t\t\tmediaElement.loop = true;\n\t\t\tmediaElement.muted = true;\n\t\t\tmediaElement.autoplay = true;\n\t\t\tmediaElement.preload = \"auto\";\n\t\t\tthis.#signals.context.mediaElement.set(mediaElement);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#signals.context.mediaElement.set(void 0);\n\t\t\tsuper.detach?.();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#engine.destroy();\n\t\t}\n\t\tget src() {\n\t\t\treturn this.#signals.state.presentation.get()?.url ?? \"\";\n\t\t}\n\t\tset src(value) {\n\t\t\tif (value === this.src) return;\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#signals.state.presentation.set(value ? { url: value } : void 0);\n\t\t}\n\t\tasync play() {\n\t\t\tconst mediaElement = this.#signals.context.mediaElement.get();\n\t\t\tif (!mediaElement) return Promise.reject(/* @__PURE__ */ new Error(\"HlsBackgroundVideoMediaElement: no media element attached\"));\n\t\t\ttry {\n\t\t\t\treturn await mediaElement.play();\n\t\t\t} catch (err) {\n\t\t\t\tif (this.src) return new Promise((resolve, reject) => {\n\t\t\t\t\tconst listener = () => {\n\t\t\t\t\t\tthis.#loadstartListener = null;\n\t\t\t\t\t\tmediaElement.play().then(resolve, reject);\n\t\t\t\t\t};\n\t\t\t\t\tthis.#loadstartListener = listener;\n\t\t\t\t\tmediaElement.addEventListener(\"loadstart\", listener, { once: true });\n\t\t\t\t});\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\t#createEngine() {\n\t\t\tconst adapterPicker = (presentation) => {\n\t\t\t\treturn pickTrackUnderPixelArea((presentation.selectionSets?.find((s) => s.type === \"video\"))?.switchingSets[0]?.tracks ?? [])?.id;\n\t\t\t};\n\t\t\treturn createBackgroundVideoEngine({\n\t\t\t\tpicker: adapterPicker,\n\t\t\t\t...this.#config,\n\t\t\t\tonSignalsReady: (signals) => {\n\t\t\t\t\tthis.#signals = signals;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t#cancelPendingPlay() {\n\t\t\tif (!this.#loadstartListener) return;\n\t\t\tthis.#signals.context.mediaElement.get()?.removeEventListener(\"loadstart\", this.#loadstartListener);\n\t\t\tthis.#loadstartListener = null;\n\t\t}\n\t}\n\treturn HlsBackgroundVideoMediaImpl;\n}\n/** Standalone SPF background-video adapter with no base class. */\nvar HlsBackgroundVideoMediaElement = class extends HlsBackgroundVideoMediaMixin(class {}) {};\n//#endregion\nexport { HlsBackgroundVideoMediaElement, HlsBackgroundVideoMediaMixin, hlsBackgroundVideoMediaDefaultProps };\n\n//# sourceMappingURL=adapter.js.map","//#region src/playback/adapters/hls-background-video/host.ts\n/**\n* The `<video>` binding a background video uses: somewhere to keep the attached\n* element, and the four properties the Media fixes on it.\n*\n* That is the whole surface anything here reaches. The engine drives playback,\n* the element exposes `src` and nothing else, and the background player\n* subscribes to no store features, so nothing asks a background video for\n* `currentTime`, `play()`, picture-in-picture, fullscreen, forwarded events, or\n* media components. Holding the host to what is reachable is what keeps this\n* entry free of `@videojs/media`, and small enough to suit a component whose\n* whole pitch is its size.\n*\n* An `EventTarget`, because a Media is one: the store and the element layers\n* take anything they attach as an event source, and inheriting the three methods\n* satisfies that for free rather than by stubbing them.\n*\n* ⚠️ It still implements too little to carry the rest of the media surface, which\n* bounds what may consume it: a store feature reading a property outside this set\n* gets `undefined` rather than an error. A Media needing more of that surface\n* belongs on a host that provides it.\n*/\nvar BackgroundVideoHost = class extends EventTarget {\n\t#target = null;\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tthis.#target = target;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tget loop() {\n\t\treturn this.#target?.loop ?? false;\n\t}\n\tset loop(value) {\n\t\tif (this.#target) this.#target.loop = value;\n\t}\n\tget muted() {\n\t\treturn this.#target?.muted ?? false;\n\t}\n\tset muted(value) {\n\t\tif (this.#target) this.#target.muted = value;\n\t}\n\tget autoplay() {\n\t\treturn this.#target?.autoplay ?? false;\n\t}\n\tset autoplay(value) {\n\t\tif (this.#target) this.#target.autoplay = value;\n\t}\n\tget preload() {\n\t\treturn this.#target?.preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n};\n//#endregion\nexport { BackgroundVideoHost };\n\n//# sourceMappingURL=host.js.map","import { HlsBackgroundVideoMediaMixin } from \"./adapter.js\";\nimport { BackgroundVideoHost } from \"./host.js\";\n//#region src/playback/adapters/hls-background-video/media.ts\nconst HlsBackgroundVideoMediaBase = HlsBackgroundVideoMediaMixin(BackgroundVideoHost);\n/**\n* The background-video Media, bound to a `<video>` through\n* {@link BackgroundVideoHost}.\n*\n* That host carries the attached element and the four properties `attach` fixes,\n* which is all this Media's surface needs, and it is local — so this entry has\n* no `@videojs/media` dependency.\n*\n* No `MediaTracksMixin`, unlike `HlsVideoMedia`: the engine subtracts audio and\n* text entirely and pins one video rendition for the session, so there are no\n* track lists for a consumer to project or switch between.\n*/\nvar HlsBackgroundVideoMedia = class extends HlsBackgroundVideoMediaBase {};\n//#endregion\nexport { HlsBackgroundVideoMedia };\n\n//# sourceMappingURL=media.js.map","import type { Media } from '@videojs/media/dom';\nimport { HlsBackgroundVideoMedia } from '@videojs/spf/hls-background-video';\nimport { type CustomElement, namedNodeMapToObject } from '@videojs/utils/dom';\nimport type { Constructor } from '@videojs/utils/types';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\nimport { getTemplateHTML } from '../background-video/template';\n\n// `MediaAttachMixin` is typed as returning its base, so its `disconnectedCallback`\n// isn't visible for `super` to reach. `CustomElement` declares the lifecycle\n// callbacks this element overrides.\nconst HlsBackgroundVideoBase = MediaAttachMixin(HTMLElement) as unknown as Constructor<CustomElement>;\n\n/**\n * A muted, looping, chrome-less video over the SPF background-video engine.\n *\n * The SPF-backed counterpart to `<background-video>`, which plays its source\n * natively. This one streams HLS through the engine, which pins a single\n * rendition for the session rather than adapting, and drops audio and text\n * handling entirely — the shape an ambient hero video actually wants.\n *\n * Nearer an image than a player, and `src` is the whole surface. Replaces the\n * standalone `mux-background-video` package, whose `audio`, `debug`, `preload`,\n * and `max-resolution` attributes are all deliberately absent. Capping which\n * rendition is fetched is a delivery param on the URL — `?max_resolution=720p`\n * on a Mux stream, for one — which keeps the renditions it excludes out of the\n * manifest rather than merely unpicked; `preload` would have nothing to say,\n * since the engine loads from the moment it has a source. And unlike\n * `<background-video>` there are no `nomuted` / `noloop` / `noautoplay` opt-outs:\n * those three are what this element is for, so the adapter fixes them on at\n * attach.\n *\n * Takes no structured `source` — `src` is an HLS URL, as the package it replaces\n * required. Mux playback-ID identity, poster, and storyboard belong to\n * `<mux-video>`; none of them mean anything without controls to hang them on.\n *\n * `<mux-background-video>` is this element under the name the package it replaces\n * used. Same class, so the tag is a naming choice and nothing more.\n *\n * @example\n * ```html\n * <hls-background-video src=\"https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p\">\n * <img src=\"https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=0\" alt=\"\" />\n * </hls-background-video>\n * ```\n */\n// Deliberately not `CustomMediaElement`, matching `<background-video>`: a\n// background video needs one property, not the full WHATWG media API.\nexport class HlsBackgroundVideo extends HlsBackgroundVideoBase {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n static get observedAttributes(): string[] {\n return ['src'];\n }\n\n #media = new HlsBackgroundVideoMedia();\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof HlsBackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n muted: '',\n loop: '',\n autoplay: '',\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome nor Firefox honor a `muted` attribute set after\n // `document.createElement`, and autoplay is refused without it. Attaching is\n // what sets the property — along with the rest of the fixed behavior — so\n // nothing here needs to repeat it.\n const video = this.video;\n if (video) this.#media.attach(video);\n }\n\n /** Register the Media (not the inner `<video>`) with the provider. */\n getMediaTarget(): Media | null {\n return this.#media as unknown as Media;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback?.();\n if (this.hasAttribute('keep-alive')) return;\n // Deferred so a synchronous reparent (remove then insert) doesn't tear down\n // the engine, matching `CustomMediaElement`.\n queueMicrotask(() => {\n if (!this.isConnected) this.#media.destroy();\n });\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n if (oldValue === newValue) return;\n\n if (name === 'src') this.src = newValue ?? '';\n }\n\n /** The inner `<video>` the engine renders into. */\n get video(): HTMLVideoElement | null {\n const video = this.shadowRoot?.querySelector('video');\n return video instanceof HTMLVideoElement ? video : null;\n }\n\n /** HLS manifest URL. Assigning a new one restarts playback from scratch. */\n get src(): string {\n return this.#media.src;\n }\n\n set src(value: string) {\n this.#media.src = value;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"media-suYcjCG22.js","names":["#config","#engine","#createEngine","#signals","#cancelPendingPlay","#loadstartListener","#target","#media"],"sources":["../../spf/dist/dev/playback/behaviors/select-tracks.js","../../spf/dist/dev/playback/engines/hls/engine-background-video.js","../../spf/dist/dev/playback/adapters/hls-background-video/adapter.js","../../spf/dist/dev/playback/adapters/hls-background-video/host.js","../../spf/dist/dev/playback/adapters/hls-background-video/media.js","../src/media/hls-background-video/media.ts"],"sourcesContent":["import { computed } from \"../../core/signals/primitives.js\";\nimport { defineBehavior } from \"../../core/composition/create-composition.js\";\nimport { createMachineReactor } from \"../../core/reactors/create-machine-reactor.js\";\nimport { isResolvedPresentation } from \"../../media/types/index.js\";\nimport { AUDIO_TYPE_CONFIG, VIDEO_TYPE_CONFIG } from \"../primitives/track-types.js\";\nimport { pickAudioTrack, pickFirstTrackId } from \"../../media/primitives/select-tracks.js\";\n//#region src/playback/behaviors/select-tracks.ts\n/**\n* **Default audio/video track selection on src load / unselect on src unload.**\n* When a presentation is resolved, sets `selectedVideoTrackId` /\n* `selectedAudioTrackId` to a per-type-picker default if no selection already\n* exists. When the presentation is unset/reset (transitions back to unresolved),\n* clears the selection so a stale id from the previous source doesn't persist.\n*\n* Lifecycle-driven: each transition fires its work once. Does not police the\n* selection between transitions; external writes (user picks, ABR, programmatic\n* filter-driven re-picks) are left alone.\n*\n* Picker is config-driven: each per-type export wires a sensible default\n* (`pickAudioTrack` for audio — three-tier language-aware; `pickFirstTrackId`\n* for video) and the caller can supply their own via `config.picker` for custom\n* selection logic. The behavior's `config` is forwarded to the picker as its\n* second argument, so options like `preferredAudioLanguage` reach the picker\n* without an intermediate wrapping layer.\n*\n* Compose `selectVideoTrack` for the simple \"pick a default video track\"\n* behavior, or `switchVideoTrack` (`./track-switching.ts`) for the\n* ABR-driven variant. Compose `selectAudioTrack` for the simple default\n* pick, or `switchAudioTrack` (`./track-switching.ts`) for the\n* filter-reactive + mid-stream-flush slot-owner variant — when audio-abr\n* lands, `switchAudioTrack` extends into `switchAudioQuality`. Compose\n* only one per type — they're alternatives, not stackable (each writes\n* the same `selected*TrackId` slot). The simple variants tree-shake out\n* the heavier machinery (bandwidth estimator, quality selection, flush\n* orchestration).\n*\n* Text selection has no simple variant here — it's owned by `switchTextTrack`\n* (`./track-switching.ts`), which resolves standing `userTextTrackSelection`\n* intent against the constrained, CDN-scoped renditions.\n*/\nfunction setupTrackSelection({ state, config: { selectedKey, picker, pickerConfig } }) {\n\tconst derivedStateSignal = computed(() => isResolvedPresentation(state.presentation.get()) ? \"presentation-resolved\" : \"presentation-unresolved\");\n\treturn createMachineReactor({\n\t\tinitial: \"presentation-unresolved\",\n\t\tmonitor: () => derivedStateSignal.get(),\n\t\tstates: {\n\t\t\t\"presentation-unresolved\": {},\n\t\t\t\"presentation-resolved\": { entry: () => {\n\t\t\t\tif (!state[selectedKey].get()) {\n\t\t\t\t\tconst id = picker(state.presentation.get(), pickerConfig);\n\t\t\t\t\tif (id) state[selectedKey].set(id);\n\t\t\t\t}\n\t\t\t\treturn () => state[selectedKey].set(void 0);\n\t\t\t} }\n\t\t}\n\t});\n}\n/** Default video picker: first track in the video selection set. */\nconst defaultVideoPicker = (presentation) => pickFirstTrackId(presentation, \"video\");\n/**\n* Select a video track when a presentation loads. Clears the selection on\n* src unload.\n*\n* This is the simple, non-ABR counterpart to `switchVideoTrack` — compose\n* one or the other, not both (both write `selectedVideoTrackId`). Composing\n* `selectVideoTrack` alone tree-shakes out the ABR code path\n* (bandwidth-estimator, quality-selection); use it for sources without\n* meaningful quality variants, test setups, or players that intentionally\n* pin a quality.\n*\n* @example\n* const reactor = selectVideoTrack.setup({ state });\n*/\nconst selectVideoTrack = defineBehavior({\n\tstateKeys: [\"presentation\", \"selectedVideoTrackId\"],\n\tcontextKeys: [],\n\tsetup: ({ state, config }) => setupTrackSelection({\n\t\tstate,\n\t\tconfig: {\n\t\t\tselectedKey: VIDEO_TYPE_CONFIG.selectedKey,\n\t\t\tpicker: config?.picker ?? defaultVideoPicker,\n\t\t\tpickerConfig: config\n\t\t}\n\t})\n});\ndefineBehavior({\n\tstateKeys: [\"presentation\", \"selectedAudioTrackId\"],\n\tcontextKeys: [],\n\tsetup: ({ state, config }) => setupTrackSelection({\n\t\tstate,\n\t\tconfig: {\n\t\t\tselectedKey: AUDIO_TYPE_CONFIG.selectedKey,\n\t\t\tpicker: config?.picker ?? pickAudioTrack,\n\t\t\tpickerConfig: config\n\t\t}\n\t})\n});\n//#endregion\nexport { selectVideoTrack };\n\n//# sourceMappingURL=select-tracks.js.map","import { createComposition } from \"../../../core/composition/create-composition.js\";\nimport { makeShareSignals } from \"../../../core/composition/share-signals.js\";\nimport { loadVideoSegments } from \"../../behaviors/dom/load-segments.js\";\nimport { trackCurrentTime } from \"../../behaviors/dom/track-current-time.js\";\nimport { parseMultivariantPlaylist } from \"../../../media/hls/parse-multivariant.js\";\nimport { getResolvedSelectedTrackDuration } from \"../../../media/utils/track-selection.js\";\nimport { calculatePresentationDuration } from \"../../behaviors/calculate-presentation-duration.js\";\nimport { endOfStream } from \"../../behaviors/dom/end-of-stream.js\";\nimport { setupVideoBufferActors } from \"../../behaviors/dom/setup-buffer-actors.js\";\nimport { setupMediaSource } from \"../../behaviors/dom/setup-mediasource.js\";\nimport { updateMediaSourceDuration } from \"../../behaviors/dom/update-mediasource-duration.js\";\nimport { resolvePresentation } from \"../../behaviors/resolve-presentation.js\";\nimport { resolveVideoTrack } from \"../../behaviors/resolve-track.js\";\nimport { pickHighestResolutionVideoTrack } from \"../../../media/primitives/select-tracks.js\";\nimport { selectVideoTrack } from \"../../behaviors/select-tracks.js\";\n//#region src/playback/engines/hls/engine-background-video.ts\nconst shareSignals = makeShareSignals();\n/**\n* Create a background-video playback engine.\n*\n* Subtractive composition over the HLS engine baseline:\n* audio-side, text-side, ABR-driven, preload-monitoring, and play/seek\n* load-trigger behaviors are removed. `selectVideoTrack` (with a\n* max-resolution picker by default) replaces `switchVideoQuality`, pinning\n* a single rendition for the session. The initial state seeds\n* `loadActivated: true` so the composition behaves as if preload has\n* already been activated — appropriate for ambient / hero / GIF-replacement\n* surfaces that should start loading the moment a src is set.\n*\n* Native `loop` / `muted` / `autoplay` are adapter concerns and live on\n* `HlsBackgroundVideoMediaElement` rather than the engine.\n*\n* @example\n* ```ts\n* let signals: BackgroundVideoEngineSignals;\n* const engine = createBackgroundVideoEngine({\n* onSignalsReady: (refs) => {\n* signals = refs;\n* },\n* });\n*\n* signals.context.mediaElement.set(videoEl);\n* signals.state.presentation.set({ url: 'https://example.com/stream.m3u8' });\n*\n* await engine.destroy();\n* ```\n*/\nfunction createBackgroundVideoEngine(config = {}) {\n\tconst finalConfig = {\n\t\t...config,\n\t\tpicker: config.picker ?? pickHighestResolutionVideoTrack,\n\t\tparsePresentation: config.parsePresentation ?? parseMultivariantPlaylist,\n\t\tresolveDuration: getResolvedSelectedTrackDuration\n\t};\n\treturn createComposition([\n\t\tresolvePresentation,\n\t\tcalculatePresentationDuration,\n\t\tselectVideoTrack,\n\t\tresolveVideoTrack,\n\t\tloadVideoSegments,\n\t\tsetupMediaSource,\n\t\tupdateMediaSourceDuration,\n\t\tsetupVideoBufferActors,\n\t\ttrackCurrentTime,\n\t\tendOfStream,\n\t\tshareSignals\n\t], {\n\t\tconfig: finalConfig,\n\t\tinitialState: { loadActivated: true }\n\t});\n}\n//#endregion\nexport { createBackgroundVideoEngine };\n\n//# sourceMappingURL=engine-background-video.js.map","import { pickTrackUnderPixelArea } from \"../../../media/primitives/select-tracks.js\";\nimport { createBackgroundVideoEngine } from \"../../engines/hls/engine-background-video.js\";\n//#region src/playback/adapters/hls-background-video/adapter.ts\nconst hlsBackgroundVideoMediaDefaultProps = { src: \"\" };\n/**\n* Mixin that adds the background-video SPF playback engine to any base class,\n* for an HLS URL.\n*\n* `src` is the whole surface, and the picker always pins the top rendition on\n* offer. There is no cap of its own because the manifest is the better place to\n* narrow one: a delivery param — `?max_resolution=720p` on a Mux stream URL, for\n* one — keeps the renditions it excludes out of the manifest entirely, rather\n* than fetched-then-unpicked. Deriving a cap from the screen instead is on the\n* roadmap, and lands here when it does.\n*\n* `@videojs/spf/mux-background-video` is this same Media under a Mux-flavored\n* name — an alias, not a variant. Nothing about the surface changes with the\n* import path.\n*\n* Everything else the use case fixes rather than exposes: video-only, looping,\n* muted, autoplaying, loading as soon as there is a source. `attach` writes that\n* onto the element and nothing here declares `loop` / `muted` / `autoplay` /\n* `preload` of its own — a host-bound Media inherits all four from the host\n* already, and shadowing them with fixed values would only make reads describe\n* an intention rather than what the element is doing.\n*\n* A new src re-resolves the presentation, tearing down the state, SourceBuffers,\n* and in-flight requests the previous one built before the next begins. The\n* engine instance and the attached media element are both kept, so neither has to\n* be rewired.\n*\n* @example\n* class HlsBackgroundVideoMedia extends HlsBackgroundVideoMediaMixin(BackgroundVideoHost) {}\n*\n* const media = new HlsBackgroundVideoMedia();\n* media.attach(document.querySelector('video'));\n* media.src = 'https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p';\n* media.play();\n*/\nfunction HlsBackgroundVideoMediaMixin(BaseClass) {\n\tclass HlsBackgroundVideoMediaImpl extends BaseClass {\n\t\t#engine;\n\t\t#config;\n\t\t#signals;\n\t\t/** Pending loadstart listener from a deferred play() retry, if any. */\n\t\t#loadstartListener = null;\n\t\tconstructor(...args) {\n\t\t\tsuper(...args);\n\t\t\tconst { config } = args?.[0] ?? {};\n\t\t\tthis.#config = config;\n\t\t\tthis.#engine = this.#createEngine();\n\t\t}\n\t\tget engine() {\n\t\t\treturn this.#engine;\n\t\t}\n\t\tattach(mediaElement) {\n\t\t\tsuper.attach?.(mediaElement);\n\t\t\tmediaElement.loop = true;\n\t\t\tmediaElement.muted = true;\n\t\t\tmediaElement.autoplay = true;\n\t\t\tmediaElement.preload = \"auto\";\n\t\t\tthis.#signals.context.mediaElement.set(mediaElement);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#signals.context.mediaElement.set(void 0);\n\t\t\tsuper.detach?.();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#engine.destroy();\n\t\t}\n\t\tget src() {\n\t\t\treturn this.#signals.state.presentation.get()?.url ?? \"\";\n\t\t}\n\t\tset src(value) {\n\t\t\tif (value === this.src) return;\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#signals.state.presentation.set(value ? { url: value } : void 0);\n\t\t}\n\t\tasync play() {\n\t\t\tconst mediaElement = this.#signals.context.mediaElement.get();\n\t\t\tif (!mediaElement) return Promise.reject(/* @__PURE__ */ new Error(\"HlsBackgroundVideoMediaElement: no media element attached\"));\n\t\t\ttry {\n\t\t\t\treturn await mediaElement.play();\n\t\t\t} catch (err) {\n\t\t\t\tif (this.src) return new Promise((resolve, reject) => {\n\t\t\t\t\tconst listener = () => {\n\t\t\t\t\t\tthis.#loadstartListener = null;\n\t\t\t\t\t\tmediaElement.play().then(resolve, reject);\n\t\t\t\t\t};\n\t\t\t\t\tthis.#loadstartListener = listener;\n\t\t\t\t\tmediaElement.addEventListener(\"loadstart\", listener, { once: true });\n\t\t\t\t});\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\t#createEngine() {\n\t\t\tconst adapterPicker = (presentation) => {\n\t\t\t\treturn pickTrackUnderPixelArea((presentation.selectionSets?.find((s) => s.type === \"video\"))?.switchingSets[0]?.tracks ?? [])?.id;\n\t\t\t};\n\t\t\treturn createBackgroundVideoEngine({\n\t\t\t\tpicker: adapterPicker,\n\t\t\t\t...this.#config,\n\t\t\t\tonSignalsReady: (signals) => {\n\t\t\t\t\tthis.#signals = signals;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t#cancelPendingPlay() {\n\t\t\tif (!this.#loadstartListener) return;\n\t\t\tthis.#signals.context.mediaElement.get()?.removeEventListener(\"loadstart\", this.#loadstartListener);\n\t\t\tthis.#loadstartListener = null;\n\t\t}\n\t}\n\treturn HlsBackgroundVideoMediaImpl;\n}\n/** Standalone SPF background-video adapter with no base class. */\nvar HlsBackgroundVideoMediaElement = class extends HlsBackgroundVideoMediaMixin(class {}) {};\n//#endregion\nexport { HlsBackgroundVideoMediaElement, HlsBackgroundVideoMediaMixin, hlsBackgroundVideoMediaDefaultProps };\n\n//# sourceMappingURL=adapter.js.map","//#region src/playback/adapters/hls-background-video/host.ts\n/**\n* The `<video>` binding a background video uses: somewhere to keep the attached\n* element, and the four properties the Media fixes on it.\n*\n* That is the whole surface anything here reaches. The engine drives playback,\n* the element exposes `src` and nothing else, and the background player\n* subscribes to no store features, so nothing asks a background video for\n* `currentTime`, `play()`, picture-in-picture, fullscreen, forwarded events, or\n* media components. Holding the host to what is reachable is what keeps this\n* entry free of `@videojs/media`, and small enough to suit a component whose\n* whole pitch is its size.\n*\n* An `EventTarget`, because a Media is one: the store and the element layers\n* take anything they attach as an event source, and inheriting the three methods\n* satisfies that for free rather than by stubbing them.\n*\n* ⚠️ It still implements too little to carry the rest of the media surface, which\n* bounds what may consume it: a store feature reading a property outside this set\n* gets `undefined` rather than an error. A Media needing more of that surface\n* belongs on a host that provides it.\n*/\nvar BackgroundVideoHost = class extends EventTarget {\n\t#target = null;\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tthis.#target = target;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tget loop() {\n\t\treturn this.#target?.loop ?? false;\n\t}\n\tset loop(value) {\n\t\tif (this.#target) this.#target.loop = value;\n\t}\n\tget muted() {\n\t\treturn this.#target?.muted ?? false;\n\t}\n\tset muted(value) {\n\t\tif (this.#target) this.#target.muted = value;\n\t}\n\tget autoplay() {\n\t\treturn this.#target?.autoplay ?? false;\n\t}\n\tset autoplay(value) {\n\t\tif (this.#target) this.#target.autoplay = value;\n\t}\n\tget preload() {\n\t\treturn this.#target?.preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n};\n//#endregion\nexport { BackgroundVideoHost };\n\n//# sourceMappingURL=host.js.map","import { HlsBackgroundVideoMediaMixin } from \"./adapter.js\";\nimport { BackgroundVideoHost } from \"./host.js\";\n//#region src/playback/adapters/hls-background-video/media.ts\nconst HlsBackgroundVideoMediaBase = HlsBackgroundVideoMediaMixin(BackgroundVideoHost);\n/**\n* The background-video Media, bound to a `<video>` through\n* {@link BackgroundVideoHost}.\n*\n* That host carries the attached element and the four properties `attach` fixes,\n* which is all this Media's surface needs, and it is local — so this entry has\n* no `@videojs/media` dependency.\n*\n* No `MediaTracksMixin`, unlike `HlsVideoMedia`: the engine subtracts audio and\n* text entirely and pins one video rendition for the session, so there are no\n* track lists for a consumer to project or switch between.\n*/\nvar HlsBackgroundVideoMedia = class extends HlsBackgroundVideoMediaBase {};\n//#endregion\nexport { HlsBackgroundVideoMedia };\n\n//# sourceMappingURL=media.js.map","import type { Media } from '@videojs/media/dom';\nimport { HlsBackgroundVideoMedia } from '@videojs/spf/hls-background-video';\nimport { type CustomElement, namedNodeMapToObject } from '@videojs/utils/dom';\nimport type { Constructor } from '@videojs/utils/types';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\nimport { getTemplateHTML } from '../background-video/template';\n\n// `MediaAttachMixin` is typed as returning its base, so its `disconnectedCallback`\n// isn't visible for `super` to reach. `CustomElement` declares the lifecycle\n// callbacks this element overrides.\nconst HlsBackgroundVideoBase = MediaAttachMixin(HTMLElement) as unknown as Constructor<CustomElement>;\n\n/**\n * A muted, looping, chrome-less video over the SPF background-video engine.\n *\n * The SPF-backed counterpart to `<background-video>`, which plays its source\n * natively. This one streams HLS through the engine, which pins a single\n * rendition for the session rather than adapting, and drops audio and text\n * handling entirely — the shape an ambient hero video actually wants.\n *\n * Nearer an image than a player, and `src` is the whole surface. Replaces the\n * standalone `mux-background-video` package, whose `audio`, `debug`, `preload`,\n * and `max-resolution` attributes are all deliberately absent. Capping which\n * rendition is fetched is a delivery param on the URL — `?max_resolution=720p`\n * on a Mux stream, for one — which keeps the renditions it excludes out of the\n * manifest rather than merely unpicked; `preload` would have nothing to say,\n * since the engine loads from the moment it has a source. And unlike\n * `<background-video>` there are no `nomuted` / `noloop` / `noautoplay` opt-outs:\n * those three are what this element is for, so the adapter fixes them on at\n * attach.\n *\n * Takes no structured `source` — `src` is an HLS URL, as the package it replaces\n * required. Mux playback-ID identity, poster, and storyboard belong to\n * `<mux-video>`; none of them mean anything without controls to hang them on.\n *\n * `<mux-background-video>` is this element under the name the package it replaces\n * used. Same class, so the tag is a naming choice and nothing more.\n *\n * @example\n * ```html\n * <hls-background-video src=\"https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p\">\n * <img src=\"https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=0\" alt=\"\" />\n * </hls-background-video>\n * ```\n */\n// Deliberately not `CustomMediaElement`, matching `<background-video>`: a\n// background video needs one property, not the full WHATWG media API.\nexport class HlsBackgroundVideo extends HlsBackgroundVideoBase {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n static get observedAttributes(): string[] {\n return ['src'];\n }\n\n #media = new HlsBackgroundVideoMedia();\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof HlsBackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n muted: '',\n loop: '',\n autoplay: '',\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome nor Firefox honor a `muted` attribute set after\n // `document.createElement`, and autoplay is refused without it. Attaching is\n // what sets the property — along with the rest of the fixed behavior — so\n // nothing here needs to repeat it.\n const video = this.video;\n if (video) this.#media.attach(video);\n }\n\n /** Register the Media (not the inner `<video>`) with the provider. */\n getMediaTarget(): Media | null {\n return this.#media as unknown as Media;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback?.();\n if (this.hasAttribute('keep-alive')) return;\n // Deferred so a synchronous reparent (remove then insert) doesn't tear down\n // the engine, matching `CustomMediaElement`.\n queueMicrotask(() => {\n if (!this.isConnected) this.#media.destroy();\n });\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n if (oldValue === newValue) return;\n\n if (name === 'src') this.src = newValue ?? '';\n }\n\n /** The inner `<video>` the engine renders into. */\n get video(): HTMLVideoElement | null {\n const video = this.shadowRoot?.querySelector('video');\n return video instanceof HTMLVideoElement ? video : null;\n }\n\n /** HLS manifest URL. Assigning a new one restarts playback from scratch. */\n get src(): string {\n return this.#media.src;\n }\n\n set src(value: string) {\n this.#media.src = value;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,SAAS,oBAAoB,EAAE,OAAO,QAAQ,EAAE,aAAa,QAAQ,kBAAkB;CACtF,MAAM,qBAAqB,eAAe,uBAAuB,MAAM,aAAa,IAAI,CAAC,IAAI,0BAA0B,yBAAyB;CAChJ,OAAO,qBAAqB;EAC3B,SAAS;EACT,eAAe,mBAAmB,IAAI;EACtC,QAAQ;GACP,2BAA2B,CAAC;GAC5B,yBAAyB,EAAE,aAAa;IACvC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,GAAG;KAC9B,MAAM,KAAK,OAAO,MAAM,aAAa,IAAI,GAAG,YAAY;KACxD,IAAI,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE;IAClC;IACA,aAAa,MAAM,YAAY,CAAC,IAAI,KAAK,CAAC;GAC3C,EAAE;EACH;CACD,CAAC;AACF;;AAEA,MAAM,sBAAsB,iBAAiB,iBAAiB,cAAc,OAAO;;;;;;;;;;;;;;;AAenF,MAAM,mBAAmB,eAAe;CACvC,WAAW,CAAC,gBAAgB,sBAAsB;CAClD,aAAa,CAAC;CACd,QAAQ,EAAE,OAAO,aAAa,oBAAoB;EACjD;EACA,QAAQ;GACP,aAAa,kBAAkB;GAC/B,QAAQ,QAAQ,UAAU;GAC1B,cAAc;EACf;CACD,CAAC;AACF,CAAC;AACD,eAAe;CACd,WAAW,CAAC,gBAAgB,sBAAsB;CAClD,aAAa,CAAC;CACd,QAAQ,EAAE,OAAO,aAAa,oBAAoB;EACjD;EACA,QAAQ;GACP,aAAa,kBAAkB;GAC/B,QAAQ,QAAQ,UAAU;GAC1B,cAAc;EACf;CACD,CAAC;AACF,CAAC;;;;AChFD,MAAM,eAAe,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BtC,SAAS,4BAA4B,SAAS,CAAC,GAAG;CACjD,MAAM,cAAc;EACnB,GAAG;EACH,QAAQ,OAAO,UAAU;EACzB,mBAAmB,OAAO,qBAAqB;EAC/C,iBAAiB;CAClB;CACA,OAAO,kBAAkB;EACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,GAAG;EACF,QAAQ;EACR,cAAc,EAAE,eAAe,KAAK;CACrC,CAAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA,SAAS,6BAA6B,WAAW;CAChD,MAAM,oCAAoC,UAAU;EACnD;EACA;EACA;;EAEA,qBAAqB;EACrB,YAAY,GAAG,MAAM;GACpB,MAAM,GAAG,IAAI;GACb,MAAM,EAAE,WAAW,OAAO,MAAM,CAAC;GACjC,KAAKA,UAAU;GACf,KAAKC,UAAU,KAAKC,cAAc;EACnC;EACA,IAAI,SAAS;GACZ,OAAO,KAAKD;EACb;EACA,OAAO,cAAc;GACpB,MAAM,SAAS,YAAY;GAC3B,aAAa,OAAO;GACpB,aAAa,QAAQ;GACrB,aAAa,WAAW;GACxB,aAAa,UAAU;GACvB,KAAKE,SAAS,QAAQ,aAAa,IAAI,YAAY;EACpD;EACA,SAAS;GACR,KAAKC,mBAAmB;GACxB,KAAKD,SAAS,QAAQ,aAAa,IAAI,KAAK,CAAC;GAC7C,MAAM,SAAS;EAChB;EACA,UAAU;GACT,KAAKC,mBAAmB;GACxB,KAAKH,QAAQ,QAAQ;EACtB;EACA,IAAI,MAAM;GACT,OAAO,KAAKE,SAAS,MAAM,aAAa,IAAI,CAAC,EAAE,OAAO;EACvD;EACA,IAAI,IAAI,OAAO;GACd,IAAI,UAAU,KAAK,KAAK;GACxB,KAAKC,mBAAmB;GACxB,KAAKD,SAAS,MAAM,aAAa,IAAI,QAAQ,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC;EACrE;EACA,MAAM,OAAO;GACZ,MAAM,eAAe,KAAKA,SAAS,QAAQ,aAAa,IAAI;GAC5D,IAAI,CAAC,cAAc,OAAO,QAAQ,uBAAuB,IAAI,MAAM,2DAA2D,CAAC;GAC/H,IAAI;IACH,OAAO,MAAM,aAAa,KAAK;GAChC,SAAS,KAAK;IACb,IAAI,KAAK,KAAK,OAAO,IAAI,SAAS,SAAS,WAAW;KACrD,MAAM,iBAAiB;MACtB,KAAKE,qBAAqB;MAC1B,aAAa,KAAK,CAAC,CAAC,KAAK,SAAS,MAAM;KACzC;KACA,KAAKA,qBAAqB;KAC1B,aAAa,iBAAiB,aAAa,UAAU,EAAE,MAAM,KAAK,CAAC;IACpE,CAAC;IACD,MAAM;GACP;EACD;EACA,gBAAgB;GACf,MAAM,iBAAiB,iBAAiB;IACvC,OAAO,yBAAyB,aAAa,eAAe,MAAM,MAAM,EAAE,SAAS,OAAO,EAAC,EAAG,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;GAChI;GACA,OAAO,4BAA4B;IAClC,QAAQ;IACR,GAAG,KAAKL;IACR,iBAAiB,YAAY;KAC5B,KAAKG,WAAW;IACjB;GACD,CAAC;EACF;EACA,qBAAqB;GACpB,IAAI,CAAC,KAAKE,oBAAoB;GAC9B,KAAKF,SAAS,QAAQ,aAAa,IAAI,CAAC,EAAE,oBAAoB,aAAa,KAAKE,kBAAkB;GAClG,KAAKA,qBAAqB;EAC3B;CACD;CACA,OAAO;AACR;;AAEA,IAAI,iCAAiC,cAAc,6BAA6B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AChG3F,IAAI,sBAAsB,cAAc,YAAY;CACnD,UAAU;CACV,OAAO,QAAQ;EACd,IAAI,CAAC,UAAU,KAAKC,YAAY,QAAQ;EACxC,KAAKA,UAAU;CAChB;CACA,SAAS;EACR,KAAKA,UAAU;CAChB;CACA,IAAI,OAAO;EACV,OAAO,KAAKA,SAAS,QAAQ;CAC9B;CACA,IAAI,KAAK,OAAO;EACf,IAAI,KAAKA,SAAS,KAAKA,QAAQ,OAAO;CACvC;CACA,IAAI,QAAQ;EACX,OAAO,KAAKA,SAAS,SAAS;CAC/B;CACA,IAAI,MAAM,OAAO;EAChB,IAAI,KAAKA,SAAS,KAAKA,QAAQ,QAAQ;CACxC;CACA,IAAI,WAAW;EACd,OAAO,KAAKA,SAAS,YAAY;CAClC;CACA,IAAI,SAAS,OAAO;EACnB,IAAI,KAAKA,SAAS,KAAKA,QAAQ,WAAW;CAC3C;CACA,IAAI,UAAU;EACb,OAAO,KAAKA,SAAS,WAAW;CACjC;CACA,IAAI,QAAQ,OAAO;EAClB,IAAI,KAAKA,SAAS,KAAKA,QAAQ,UAAU;CAC1C;AACD;;;;ACpDA,MAAM,8BAA8B,6BAA6B,mBAAmB;;;;;;;;;;;;;AAapF,IAAI,0BAA0B,cAAc,4BAA4B,CAAC;;;;ACNzE,MAAM,yBAAyB,iBAAiB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqC3D,IAAa,qBAAb,cAAwC,uBAAuB;;2BAClC,EAAE,MAAM,OAAyB;;;yBACnC;;CAEzB,WAAW,qBAA+B;EACxC,OAAO,CAAC,KAAK;CACf;CAEA,SAAS,IAAI,wBAAwB;CAErC,cAAc;EACZ,MAAM;EAEN,IAAI,CAAC,KAAK,YAAY;GACpB,KAAK,aAAc,KAAK,YAA0C,iBAAiB;GAEnF,MAAM,QAAQ;IACZ,GAAG,qBAAqB,KAAK,UAAU;IACvC,OAAO;IACP,MAAM;IACN,UAAU;IACV,aAAa;IACb,uBAAuB;IACvB,yBAAyB;GAC3B;GAEA,KAAK,WAAY,YAAY,gBAAgB,KAAK;EACpD;EAMA,MAAM,QAAQ,KAAK;EACnB,IAAI,OAAO,KAAKC,OAAO,OAAO,KAAK;CACrC;;CAGA,iBAA+B;EAC7B,OAAO,KAAKA;CACd;CAEA,AAAS,uBAA6B;EACpC,MAAM,uBAAuB;EAC7B,IAAI,KAAK,aAAa,YAAY,GAAG;EAGrC,qBAAqB;GACnB,IAAI,CAAC,KAAK,aAAa,KAAKA,OAAO,QAAQ;EAC7C,CAAC;CACH;CAEA,yBAAyB,MAAc,UAAyB,UAA+B;EAC7F,IAAI,aAAa,UAAU;EAE3B,IAAI,SAAS,OAAO,KAAK,MAAM,YAAY;CAC7C;;CAGA,IAAI,QAAiC;EACnC,MAAM,QAAQ,KAAK,YAAY,cAAc,OAAO;EACpD,OAAO,iBAAiB,mBAAmB,QAAQ;CACrD;;CAGA,IAAI,MAAc;EAChB,OAAO,KAAKA,OAAO;CACrB;CAEA,IAAI,IAAI,OAAe;EACrB,KAAKA,OAAO,MAAM;CACpB;AACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,d as t,f as n,g as r,i,l as a,m as o,n as s,o as c,p as l,s as u}from"./compounds-CJ6SbYAh.js";import{i as d}from"./create-player-CbpxjDaZ.js";import{i as f}from"./context-C2rsoDxk.js";import{n as p,r as m,t as h}from"./seek-button-element-DxLmm58Y.js";import{t as g}from"./player-iIewo8Y9.js";f(g),f(d),s(),u(),a(),c(),i(),e(),f(r),f(o),f(l),f(n),f(m),f(p),f(t),f(h);
|
|
2
|
-
//# sourceMappingURL=minimal-ui-AFk6Ut5f.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,d as t,f as n,g as r,i,l as a,m as o,n as s,o as c,p as l,r as u,s as d,t as f}from"./compounds-CJ6SbYAh.js";import{i as p}from"./create-player-CbpxjDaZ.js";import{i as m}from"./context-C2rsoDxk.js";import"./i18n-DfKGl5Rh.js";import{t as h}from"./gesture-element-BNfMI8eh.js";import{i as g,n as _,r as v,t as y}from"./time-slider-chapters-element-MdlcovBu.js";import{a as b,i as x,n as S,o as C,r as w,s as T,t as E}from"./poster-element-S-rr412t.js";import{n as D,r as O,t as k}from"./seek-button-element-DxLmm58Y.js";import{t as A}from"./player-B0ccW5-n.js";m(A),m(p),f(),s(),u(),d(),m(y),m(_),a(),c(),i(),e(),m(T),m(g),m(r),m(C),m(x),m(w),m(h),m(o),m(l),m(S),m(n),m(O),m(D),m(b),m(t),m(E),m(v),m(k);
|
|
2
|
-
//# sourceMappingURL=minimal-ui-BVKu9LWj.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mixin-CkNZwQXF.js","names":["addRendition","getCurrentRenditions","removeRendition","selectedChanged","#addRenditionCallback","#removeRenditionCallback","#changeCallback","#selected","#tracks","#addTrackCallback","#removeTrackCallback","#changeCallback","#enabled","selectedChanged","#addRenditionCallback","#removeRenditionCallback","#changeCallback","#selected","#active","#tracks","#addTrackCallback","#removeTrackCallback","#changeCallback","#selected"],"sources":["../../media/dist/dev/core/media-tracks/rendition-event.js","../../media/dist/dev/core/media-tracks/utils.js","../../media/dist/dev/core/media-tracks/audio-rendition-list.js","../../media/dist/dev/core/media-tracks/audio-rendition.js","../../media/dist/dev/core/media-tracks/change-event.js","../../media/dist/dev/core/media-tracks/audio-track-list.js","../../media/dist/dev/core/media-tracks/audio-track.js","../../media/dist/dev/core/media-tracks/video-rendition-list.js","../../media/dist/dev/core/media-tracks/video-rendition.js","../../media/dist/dev/core/media-tracks/video-track-list.js","../../media/dist/dev/core/media-tracks/video-track.js","../../media/dist/dev/core/media-tracks/mixin.js"],"sourcesContent":["//#region src/core/media-tracks/rendition-event.ts\nvar RenditionEvent = class extends Event {\n\trendition;\n\tconstructor(type, init) {\n\t\tsuper(type);\n\t\tthis.rendition = init.rendition;\n\t}\n};\n//#endregion\nexport { RenditionEvent };\n\n//# sourceMappingURL=rendition-event.js.map","//#region src/core/media-tracks/utils.ts\nconst privateProps = /* @__PURE__ */ new WeakMap();\nfunction getPrivate(instance) {\n\treturn privateProps.get(instance) ?? setPrivate(instance, {});\n}\nfunction setPrivate(instance, props) {\n\tlet saved = privateProps.get(instance);\n\tif (!saved) privateProps.set(instance, saved = {});\n\treturn Object.assign(saved, props);\n}\n//#endregion\nexport { getPrivate };\n\n//# sourceMappingURL=utils.js.map","import { RenditionEvent } from \"./rendition-event.js\";\nimport { getPrivate } from \"./utils.js\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/media-tracks/audio-rendition-list.ts\nfunction addRendition(track, rendition) {\n\tconst renditionList = getPrivate(track).media?.deref()?.audioRenditions;\n\tgetPrivate(rendition).media = getPrivate(track).media;\n\tgetPrivate(rendition).track = track;\n\tconst renditionSet = getPrivate(track).renditionSet;\n\trenditionSet.add(rendition);\n\tconst index = renditionSet.size - 1;\n\tif (!(index in AudioRenditionList.prototype)) Object.defineProperty(AudioRenditionList.prototype, index, { get() {\n\t\treturn getCurrentRenditions(this)[index];\n\t} });\n\tqueueMicrotask(() => {\n\t\tif (!renditionList || !track.enabled) return;\n\t\trenditionList.dispatchEvent(new RenditionEvent(\"addrendition\", { rendition }));\n\t});\n}\nfunction removeRendition(rendition) {\n\tconst renditionList = getPrivate(rendition).media?.deref()?.audioRenditions;\n\tconst track = getPrivate(rendition).track;\n\tgetPrivate(track).renditionSet.delete(rendition);\n\tqueueMicrotask(() => {\n\t\tif (!renditionList || !track.enabled) return;\n\t\trenditionList.dispatchEvent(new RenditionEvent(\"removerendition\", { rendition }));\n\t});\n}\nfunction selectedChanged(rendition) {\n\tconst renditionList = getPrivate(rendition).media?.deref()?.audioRenditions;\n\tif (!renditionList || getPrivate(renditionList).changeRequested) return;\n\tgetPrivate(renditionList).changeRequested = true;\n\tqueueMicrotask(() => {\n\t\tdelete getPrivate(renditionList).changeRequested;\n\t\tif (!getPrivate(rendition).track.enabled) return;\n\t\trenditionList.dispatchEvent(new Event(\"change\"));\n\t});\n}\nfunction getCurrentRenditions(renditionList) {\n\tconst media = getPrivate(renditionList).media?.deref();\n\tif (!media) return [];\n\treturn [...media.audioTracks].filter((track) => track.enabled).flatMap((track) => [...getPrivate(track).renditionSet]);\n}\nvar AudioRenditionList = class extends EventTarget {\n\t#addRenditionCallback;\n\t#removeRenditionCallback;\n\t#changeCallback;\n\t[Symbol.iterator]() {\n\t\treturn getCurrentRenditions(this).values();\n\t}\n\tget length() {\n\t\treturn getCurrentRenditions(this).length;\n\t}\n\tgetRenditionById(id) {\n\t\treturn getCurrentRenditions(this).find((rendition) => `${rendition.id}` === `${id}`) ?? null;\n\t}\n\tget selectedIndex() {\n\t\treturn getCurrentRenditions(this).findIndex((rendition) => rendition.selected);\n\t}\n\tset selectedIndex(index) {\n\t\tfor (const [i, rendition] of getCurrentRenditions(this).entries()) rendition.selected = i === index;\n\t}\n\tget onaddrendition() {\n\t\treturn this.#addRenditionCallback;\n\t}\n\tset onaddrendition(callback) {\n\t\tif (this.#addRenditionCallback) {\n\t\t\tthis.removeEventListener(\"addrendition\", this.#addRenditionCallback);\n\t\t\tthis.#addRenditionCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#addRenditionCallback = callback;\n\t\t\tthis.addEventListener(\"addrendition\", callback);\n\t\t}\n\t}\n\tget onremoverendition() {\n\t\treturn this.#removeRenditionCallback;\n\t}\n\tset onremoverendition(callback) {\n\t\tif (this.#removeRenditionCallback) {\n\t\t\tthis.removeEventListener(\"removerendition\", this.#removeRenditionCallback);\n\t\t\tthis.#removeRenditionCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#removeRenditionCallback = callback;\n\t\t\tthis.addEventListener(\"removerendition\", callback);\n\t\t}\n\t}\n\tget onchange() {\n\t\treturn this.#changeCallback;\n\t}\n\tset onchange(callback) {\n\t\tif (this.#changeCallback) {\n\t\t\tthis.removeEventListener(\"change\", this.#changeCallback);\n\t\t\tthis.#changeCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#changeCallback = callback;\n\t\t\tthis.addEventListener(\"change\", callback);\n\t\t}\n\t}\n};\n//#endregion\nexport { AudioRenditionList, addRendition, removeRendition, selectedChanged };\n\n//# sourceMappingURL=audio-rendition-list.js.map","import { selectedChanged } from \"./audio-rendition-list.js\";\n//#region src/core/media-tracks/audio-rendition.ts\n/**\n* The consumer should use the `selected` setter to select one or multiple\n* renditions that the engine is allowed to play.\n*/\nvar AudioRendition = class {\n\tsrc;\n\tid;\n\tbitrate;\n\tcodec;\n\t#selected = false;\n\tget selected() {\n\t\treturn this.#selected;\n\t}\n\tset selected(value) {\n\t\tif (this.#selected === value) return;\n\t\tthis.#selected = value;\n\t\tselectedChanged(this);\n\t}\n};\n//#endregion\nexport { AudioRendition };\n\n//# sourceMappingURL=audio-rendition.js.map","//#region src/core/media-tracks/change-event.ts\nvar TrackEvent = class extends Event {\n\ttrack;\n\tconstructor(type, init) {\n\t\tsuper(type);\n\t\tthis.track = init.track;\n\t}\n};\n//#endregion\nexport { TrackEvent };\n\n//# sourceMappingURL=change-event.js.map","import { getPrivate } from \"./utils.js\";\nimport { TrackEvent } from \"./change-event.js\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/media-tracks/audio-track-list.ts\nfunction addAudioTrack(media, track) {\n\tconst trackList = media.audioTracks;\n\tgetPrivate(track).media = new WeakRef(media);\n\tif (!getPrivate(track).renditionSet) getPrivate(track).renditionSet = /* @__PURE__ */ new Set();\n\tconst trackSet = getPrivate(trackList).trackSet;\n\ttrackSet.add(track);\n\tconst index = trackSet.size - 1;\n\tif (!(index in AudioTrackList.prototype)) Object.defineProperty(AudioTrackList.prototype, index, { get() {\n\t\treturn [...getPrivate(this).trackSet][index];\n\t} });\n\tqueueMicrotask(() => {\n\t\ttrackList.dispatchEvent(new TrackEvent(\"addtrack\", { track }));\n\t});\n}\nfunction removeAudioTrack(track) {\n\tconst trackList = getPrivate(track).media?.deref()?.audioTracks;\n\tif (!trackList) return;\n\tif (!getPrivate(trackList).trackSet.delete(track)) return;\n\tqueueMicrotask(() => {\n\t\ttrackList.dispatchEvent(new TrackEvent(\"removetrack\", { track }));\n\t});\n}\nfunction enabledChanged(track) {\n\tconst trackList = getPrivate(track).media?.deref()?.audioTracks;\n\tif (!trackList || getPrivate(trackList).changeRequested) return;\n\tgetPrivate(trackList).changeRequested = true;\n\tqueueMicrotask(() => {\n\t\tdelete getPrivate(trackList).changeRequested;\n\t\ttrackList.dispatchEvent(new Event(\"change\"));\n\t});\n}\nvar AudioTrackList = class extends EventTarget {\n\t#addTrackCallback;\n\t#removeTrackCallback;\n\t#changeCallback;\n\tconstructor() {\n\t\tsuper();\n\t\tgetPrivate(this).trackSet = /* @__PURE__ */ new Set();\n\t}\n\tget #tracks() {\n\t\treturn getPrivate(this).trackSet;\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this.#tracks.values();\n\t}\n\tget length() {\n\t\treturn this.#tracks.size;\n\t}\n\tgetTrackById(id) {\n\t\treturn [...this.#tracks].find((track) => track.id === id) ?? null;\n\t}\n\tget onaddtrack() {\n\t\treturn this.#addTrackCallback;\n\t}\n\tset onaddtrack(callback) {\n\t\tif (this.#addTrackCallback) {\n\t\t\tthis.removeEventListener(\"addtrack\", this.#addTrackCallback);\n\t\t\tthis.#addTrackCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#addTrackCallback = callback;\n\t\t\tthis.addEventListener(\"addtrack\", callback);\n\t\t}\n\t}\n\tget onremovetrack() {\n\t\treturn this.#removeTrackCallback;\n\t}\n\tset onremovetrack(callback) {\n\t\tif (this.#removeTrackCallback) {\n\t\t\tthis.removeEventListener(\"removetrack\", this.#removeTrackCallback);\n\t\t\tthis.#removeTrackCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#removeTrackCallback = callback;\n\t\t\tthis.addEventListener(\"removetrack\", callback);\n\t\t}\n\t}\n\tget onchange() {\n\t\treturn this.#changeCallback;\n\t}\n\tset onchange(callback) {\n\t\tif (this.#changeCallback) {\n\t\t\tthis.removeEventListener(\"change\", this.#changeCallback);\n\t\t\tthis.#changeCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#changeCallback = callback;\n\t\t\tthis.addEventListener(\"change\", callback);\n\t\t}\n\t}\n};\n//#endregion\nexport { AudioTrackList, addAudioTrack, enabledChanged, removeAudioTrack };\n\n//# sourceMappingURL=audio-track-list.js.map","import { addRendition, removeRendition } from \"./audio-rendition-list.js\";\nimport { AudioRendition } from \"./audio-rendition.js\";\nimport { enabledChanged } from \"./audio-track-list.js\";\n//#region src/core/media-tracks/audio-track.ts\nconst AudioTrackKind = {\n\talternative: \"alternative\",\n\tdescriptions: \"descriptions\",\n\tmain: \"main\",\n\t\"main-desc\": \"main-desc\",\n\ttranslation: \"translation\",\n\tcommentary: \"commentary\"\n};\nvar AudioTrack = class {\n\tid;\n\tkind;\n\tlabel = \"\";\n\tlanguage = \"\";\n\tsourceBuffer;\n\t#enabled = false;\n\taddRendition(src, codec, bitrate) {\n\t\tconst rendition = new AudioRendition();\n\t\trendition.src = src;\n\t\trendition.codec = codec;\n\t\trendition.bitrate = bitrate;\n\t\taddRendition(this, rendition);\n\t\treturn rendition;\n\t}\n\tremoveRendition(rendition) {\n\t\tremoveRendition(rendition);\n\t}\n\tget enabled() {\n\t\treturn this.#enabled;\n\t}\n\tset enabled(value) {\n\t\tif (this.#enabled === value) return;\n\t\tthis.#enabled = value;\n\t\tenabledChanged(this);\n\t}\n};\n//#endregion\nexport { AudioTrack, AudioTrackKind };\n\n//# sourceMappingURL=audio-track.js.map","import { RenditionEvent } from \"./rendition-event.js\";\nimport { getPrivate } from \"./utils.js\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/media-tracks/video-rendition-list.ts\nfunction addRendition(track, rendition) {\n\tconst renditionList = getPrivate(track).media?.deref()?.videoRenditions;\n\tgetPrivate(rendition).media = getPrivate(track).media;\n\tgetPrivate(rendition).track = track;\n\tconst renditionSet = getPrivate(track).renditionSet;\n\trenditionSet.add(rendition);\n\tconst index = renditionSet.size - 1;\n\tif (!(index in VideoRenditionList.prototype)) Object.defineProperty(VideoRenditionList.prototype, index, { get() {\n\t\treturn getCurrentRenditions(this)[index];\n\t} });\n\tqueueMicrotask(() => {\n\t\tif (!renditionList || !track.selected) return;\n\t\trenditionList.dispatchEvent(new RenditionEvent(\"addrendition\", { rendition }));\n\t});\n}\nfunction removeRendition(rendition) {\n\tconst renditionList = getPrivate(rendition).media?.deref()?.videoRenditions;\n\tconst track = getPrivate(rendition).track;\n\tgetPrivate(track).renditionSet.delete(rendition);\n\tqueueMicrotask(() => {\n\t\tif (!renditionList || !track.selected) return;\n\t\trenditionList.dispatchEvent(new RenditionEvent(\"removerendition\", { rendition }));\n\t});\n}\nfunction selectedChanged(rendition) {\n\tconst renditionList = getPrivate(rendition).media?.deref()?.videoRenditions;\n\tif (!renditionList || getPrivate(renditionList).changeRequested) return;\n\tgetPrivate(renditionList).changeRequested = true;\n\tqueueMicrotask(() => {\n\t\tdelete getPrivate(renditionList).changeRequested;\n\t\tif (!getPrivate(rendition).track.selected) return;\n\t\trenditionList.dispatchEvent(new Event(\"change\"));\n\t});\n}\nfunction activeChanged(rendition) {\n\tconst renditionList = getPrivate(rendition).media?.deref()?.videoRenditions;\n\tif (!renditionList || getPrivate(renditionList).activeChangeRequested) return;\n\tgetPrivate(renditionList).activeChangeRequested = true;\n\tqueueMicrotask(() => {\n\t\tdelete getPrivate(renditionList).activeChangeRequested;\n\t\tif (!getPrivate(rendition).track.selected) return;\n\t\trenditionList.dispatchEvent(new Event(\"activechange\"));\n\t});\n}\nfunction getCurrentRenditions(renditionList) {\n\tconst media = getPrivate(renditionList).media?.deref();\n\tif (!media) return [];\n\treturn [...media.videoTracks].filter((track) => track.selected).flatMap((track) => [...getPrivate(track).renditionSet]);\n}\nvar VideoRenditionList = class extends EventTarget {\n\t#addRenditionCallback;\n\t#removeRenditionCallback;\n\t#changeCallback;\n\t[Symbol.iterator]() {\n\t\treturn getCurrentRenditions(this).values();\n\t}\n\tget length() {\n\t\treturn getCurrentRenditions(this).length;\n\t}\n\tgetRenditionById(id) {\n\t\treturn getCurrentRenditions(this).find((rendition) => `${rendition.id}` === `${id}`) ?? null;\n\t}\n\tget selectedIndex() {\n\t\treturn getCurrentRenditions(this).findIndex((rendition) => rendition.selected);\n\t}\n\tset selectedIndex(index) {\n\t\tfor (const [i, rendition] of getCurrentRenditions(this).entries()) rendition.selected = i === index;\n\t}\n\tget onaddrendition() {\n\t\treturn this.#addRenditionCallback;\n\t}\n\tset onaddrendition(callback) {\n\t\tif (this.#addRenditionCallback) {\n\t\t\tthis.removeEventListener(\"addrendition\", this.#addRenditionCallback);\n\t\t\tthis.#addRenditionCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#addRenditionCallback = callback;\n\t\t\tthis.addEventListener(\"addrendition\", callback);\n\t\t}\n\t}\n\tget onremoverendition() {\n\t\treturn this.#removeRenditionCallback;\n\t}\n\tset onremoverendition(callback) {\n\t\tif (this.#removeRenditionCallback) {\n\t\t\tthis.removeEventListener(\"removerendition\", this.#removeRenditionCallback);\n\t\t\tthis.#removeRenditionCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#removeRenditionCallback = callback;\n\t\t\tthis.addEventListener(\"removerendition\", callback);\n\t\t}\n\t}\n\tget onchange() {\n\t\treturn this.#changeCallback;\n\t}\n\tset onchange(callback) {\n\t\tif (this.#changeCallback) {\n\t\t\tthis.removeEventListener(\"change\", this.#changeCallback);\n\t\t\tthis.#changeCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#changeCallback = callback;\n\t\t\tthis.addEventListener(\"change\", callback);\n\t\t}\n\t}\n};\n//#endregion\nexport { VideoRenditionList, activeChanged, addRendition, removeRendition, selectedChanged };\n\n//# sourceMappingURL=video-rendition-list.js.map","import { activeChanged, selectedChanged } from \"./video-rendition-list.js\";\n//#region src/core/media-tracks/video-rendition.ts\n/**\n* The consumer should use the `selected` setter to select one or multiple\n* renditions that the engine is allowed to play.\n*/\nvar VideoRendition = class {\n\tsrc;\n\tid;\n\twidth;\n\theight;\n\tbitrate;\n\tframeRate;\n\tcodec;\n\t#selected = false;\n\t#active = false;\n\tget selected() {\n\t\treturn this.#selected;\n\t}\n\tset selected(value) {\n\t\tif (this.#selected === value) return;\n\t\tthis.#selected = value;\n\t\tselectedChanged(this);\n\t}\n\tget active() {\n\t\treturn this.#active;\n\t}\n\tset active(value) {\n\t\tif (this.#active === value) return;\n\t\tthis.#active = value;\n\t\tactiveChanged(this);\n\t}\n};\n//#endregion\nexport { VideoRendition };\n\n//# sourceMappingURL=video-rendition.js.map","import { getPrivate } from \"./utils.js\";\nimport { TrackEvent } from \"./change-event.js\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/media-tracks/video-track-list.ts\nfunction addVideoTrack(media, track) {\n\tconst trackList = media.videoTracks;\n\tgetPrivate(track).media = new WeakRef(media);\n\tif (!getPrivate(track).renditionSet) getPrivate(track).renditionSet = /* @__PURE__ */ new Set();\n\tconst trackSet = getPrivate(trackList).trackSet;\n\ttrackSet.add(track);\n\tconst index = trackSet.size - 1;\n\tif (!(index in VideoTrackList.prototype)) Object.defineProperty(VideoTrackList.prototype, index, { get() {\n\t\treturn [...getPrivate(this).trackSet][index];\n\t} });\n\tqueueMicrotask(() => {\n\t\ttrackList.dispatchEvent(new TrackEvent(\"addtrack\", { track }));\n\t});\n}\nfunction removeVideoTrack(track) {\n\tconst trackList = getPrivate(track).media?.deref()?.videoTracks;\n\tif (!trackList) return;\n\tif (!getPrivate(trackList).trackSet.delete(track)) return;\n\tqueueMicrotask(() => {\n\t\ttrackList.dispatchEvent(new TrackEvent(\"removetrack\", { track }));\n\t});\n}\nfunction selectedChanged(selected) {\n\tconst trackList = getPrivate(selected).media?.deref()?.videoTracks ?? [];\n\tlet hasUnselected = false;\n\tfor (const track of trackList) {\n\t\tif (track === selected) continue;\n\t\ttrack.selected = false;\n\t\thasUnselected = true;\n\t}\n\tif (!hasUnselected) return;\n\tif (getPrivate(trackList).changeRequested) return;\n\tgetPrivate(trackList).changeRequested = true;\n\tqueueMicrotask(() => {\n\t\tdelete getPrivate(trackList).changeRequested;\n\t\ttrackList.dispatchEvent(new Event(\"change\"));\n\t});\n}\nvar VideoTrackList = class extends EventTarget {\n\t#addTrackCallback;\n\t#removeTrackCallback;\n\t#changeCallback;\n\tconstructor() {\n\t\tsuper();\n\t\tgetPrivate(this).trackSet = /* @__PURE__ */ new Set();\n\t}\n\tget #tracks() {\n\t\treturn getPrivate(this).trackSet;\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this.#tracks.values();\n\t}\n\tget length() {\n\t\treturn this.#tracks.size;\n\t}\n\tgetTrackById(id) {\n\t\treturn [...this.#tracks].find((track) => track.id === id) ?? null;\n\t}\n\tget selectedIndex() {\n\t\treturn [...this.#tracks].findIndex((track) => track.selected);\n\t}\n\tget onaddtrack() {\n\t\treturn this.#addTrackCallback;\n\t}\n\tset onaddtrack(callback) {\n\t\tif (this.#addTrackCallback) {\n\t\t\tthis.removeEventListener(\"addtrack\", this.#addTrackCallback);\n\t\t\tthis.#addTrackCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#addTrackCallback = callback;\n\t\t\tthis.addEventListener(\"addtrack\", callback);\n\t\t}\n\t}\n\tget onremovetrack() {\n\t\treturn this.#removeTrackCallback;\n\t}\n\tset onremovetrack(callback) {\n\t\tif (this.#removeTrackCallback) {\n\t\t\tthis.removeEventListener(\"removetrack\", this.#removeTrackCallback);\n\t\t\tthis.#removeTrackCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#removeTrackCallback = callback;\n\t\t\tthis.addEventListener(\"removetrack\", callback);\n\t\t}\n\t}\n\tget onchange() {\n\t\treturn this.#changeCallback;\n\t}\n\tset onchange(callback) {\n\t\tif (this.#changeCallback) {\n\t\t\tthis.removeEventListener(\"change\", this.#changeCallback);\n\t\t\tthis.#changeCallback = void 0;\n\t\t}\n\t\tif (isFunction(callback)) {\n\t\t\tthis.#changeCallback = callback;\n\t\t\tthis.addEventListener(\"change\", callback);\n\t\t}\n\t}\n};\n//#endregion\nexport { VideoTrackList, addVideoTrack, removeVideoTrack, selectedChanged };\n\n//# sourceMappingURL=video-track-list.js.map","import { addRendition, removeRendition } from \"./video-rendition-list.js\";\nimport { VideoRendition } from \"./video-rendition.js\";\nimport { selectedChanged } from \"./video-track-list.js\";\n//#region src/core/media-tracks/video-track.ts\nconst VideoTrackKind = {\n\talternative: \"alternative\",\n\tcaptions: \"captions\",\n\tmain: \"main\",\n\tsign: \"sign\",\n\tsubtitles: \"subtitles\",\n\tcommentary: \"commentary\"\n};\nvar VideoTrack = class {\n\tid;\n\tkind;\n\tlabel = \"\";\n\tlanguage = \"\";\n\tsourceBuffer;\n\t#selected = false;\n\taddRendition(src, width, height, codec, bitrate, frameRate) {\n\t\tconst rendition = new VideoRendition();\n\t\trendition.src = src;\n\t\trendition.width = width;\n\t\trendition.height = height;\n\t\trendition.frameRate = frameRate;\n\t\trendition.bitrate = bitrate;\n\t\trendition.codec = codec;\n\t\taddRendition(this, rendition);\n\t\treturn rendition;\n\t}\n\tremoveRendition(rendition) {\n\t\tremoveRendition(rendition);\n\t}\n\tget selected() {\n\t\treturn this.#selected;\n\t}\n\tset selected(value) {\n\t\tif (this.#selected === value) return;\n\t\tthis.#selected = value;\n\t\tif (value !== true) return;\n\t\tselectedChanged(this);\n\t}\n};\n//#endregion\nexport { VideoTrack, VideoTrackKind };\n\n//# sourceMappingURL=video-track.js.map","import { getPrivate } from \"./utils.js\";\nimport { AudioRenditionList } from \"./audio-rendition-list.js\";\nimport { AudioTrackList, addAudioTrack, removeAudioTrack } from \"./audio-track-list.js\";\nimport { AudioTrack } from \"./audio-track.js\";\nimport { VideoRenditionList } from \"./video-rendition-list.js\";\nimport { VideoTrackList, addVideoTrack, removeVideoTrack } from \"./video-track-list.js\";\nimport { VideoTrack } from \"./video-track.js\";\nimport { hasMethods } from \"@videojs/utils/predicate\";\n//#region src/core/media-tracks/mixin.ts\nconst HTMLMediaElementConstructor = globalThis.HTMLMediaElement;\nconst nativeVideoTracksFn = getBaseMediaTracksFn(HTMLMediaElementConstructor, \"video\");\nconst nativeAudioTracksFn = getBaseMediaTracksFn(HTMLMediaElementConstructor, \"audio\");\nfunction MediaTracksMixin(MediaElementClass) {\n\tif (!MediaElementClass?.prototype) return MediaElementClass;\n\tconst prototype = MediaElementClass.prototype;\n\tconst videoTracksFn = getBaseMediaTracksFn(MediaElementClass, \"video\");\n\tif (!videoTracksFn || `${videoTracksFn}`.includes(\"[native code]\")) Object.defineProperty(prototype, \"videoTracks\", { get() {\n\t\treturn getVideoTracks(this);\n\t} });\n\tconst audioTracksFn = getBaseMediaTracksFn(MediaElementClass, \"audio\");\n\tif (!audioTracksFn || `${audioTracksFn}`.includes(\"[native code]\")) Object.defineProperty(prototype, \"audioTracks\", { get() {\n\t\treturn getAudioTracks(this);\n\t} });\n\tif (!hasOwn(prototype, \"addVideoTrack\")) prototype.addVideoTrack = function(kind, label = \"\", language = \"\") {\n\t\tconst track = new VideoTrack();\n\t\ttrack.kind = kind;\n\t\ttrack.label = label;\n\t\ttrack.language = language;\n\t\taddVideoTrack(this, track);\n\t\treturn track;\n\t};\n\tif (!hasOwn(prototype, \"removeVideoTrack\")) prototype.removeVideoTrack = removeVideoTrack;\n\tif (!hasOwn(prototype, \"addAudioTrack\")) prototype.addAudioTrack = function(kind, label = \"\", language = \"\") {\n\t\tconst track = new AudioTrack();\n\t\ttrack.kind = kind;\n\t\ttrack.label = label;\n\t\ttrack.language = language;\n\t\taddAudioTrack(this, track);\n\t\treturn track;\n\t};\n\tif (!hasOwn(prototype, \"removeAudioTrack\")) prototype.removeAudioTrack = removeAudioTrack;\n\tif (!hasOwn(prototype, \"detach\")) {\n\t\tconst baseDetach = prototype.detach;\n\t\tprototype.detach = function() {\n\t\t\tconst priv = getPrivate(this);\n\t\t\tpriv.videoTracksCleanup?.abort();\n\t\t\tpriv.audioTracksCleanup?.abort();\n\t\t\tdelete priv.videoTracks;\n\t\t\tdelete priv.audioTracks;\n\t\t\tdelete priv.videoTracksCleanup;\n\t\t\tdelete priv.audioTracksCleanup;\n\t\t\tbaseDetach?.call(this);\n\t\t};\n\t}\n\tif (!hasOwn(prototype, \"videoRenditions\")) Object.defineProperty(prototype, \"videoRenditions\", { get() {\n\t\treturn initVideoRenditions(this);\n\t} });\n\tif (!hasOwn(prototype, \"audioRenditions\")) Object.defineProperty(prototype, \"audioRenditions\", { get() {\n\t\treturn initAudioRenditions(this);\n\t} });\n\treturn MediaElementClass;\n}\nfunction hasOwn(value, key) {\n\treturn Object.hasOwn(value, key);\n}\nfunction initVideoRenditions(media) {\n\tlet renditions = getPrivate(media).videoRenditions;\n\tif (!renditions) {\n\t\trenditions = new VideoRenditionList();\n\t\tgetPrivate(renditions).media = new WeakRef(media);\n\t\tgetPrivate(media).videoRenditions = renditions;\n\t}\n\treturn renditions;\n}\nfunction initAudioRenditions(media) {\n\tlet renditions = getPrivate(media).audioRenditions;\n\tif (!renditions) {\n\t\trenditions = new AudioRenditionList();\n\t\tgetPrivate(renditions).media = new WeakRef(media);\n\t\tgetPrivate(media).audioRenditions = renditions;\n\t}\n\treturn renditions;\n}\nfunction getBaseMediaTracksFn(MediaElementClass, type) {\n\tif (MediaElementClass?.prototype) return Object.getOwnPropertyDescriptor(MediaElementClass.prototype, `${type}Tracks`)?.get;\n}\nfunction isNativeTrackList(value) {\n\treturn hasMethods(value, [\"addEventListener\", \"removeEventListener\"]);\n}\nfunction getVideoTracks(media) {\n\tlet tracks = getPrivate(media).videoTracks;\n\tif (!tracks) {\n\t\ttracks = new VideoTrackList();\n\t\tgetPrivate(media).videoTracks = tracks;\n\t\tconst nativeEl = media.target;\n\t\tconst nativeTracks = nativeVideoTracksFn && nativeEl ? nativeVideoTracksFn.call(nativeEl) : void 0;\n\t\tif (isNativeTrackList(nativeTracks)) {\n\t\t\tconst currentTracks = tracks;\n\t\t\tfor (const nativeTrack of nativeTracks) addVideoTrack(media, nativeTrack);\n\t\t\tconst onChange = () => {\n\t\t\t\tcurrentTracks.dispatchEvent(new Event(\"change\"));\n\t\t\t};\n\t\t\tconst onAddTrack = (event) => {\n\t\t\t\tif ([...currentTracks].some((track) => track instanceof VideoTrack)) return;\n\t\t\t\taddVideoTrack(media, event.track);\n\t\t\t};\n\t\t\tconst onRemoveTrack = (event) => {\n\t\t\t\tremoveVideoTrack(event.track);\n\t\t\t};\n\t\t\tconst onCustomAddTrack = (event) => {\n\t\t\t\tif (!(event.track instanceof VideoTrack)) return;\n\t\t\t\tfor (const nativeTrack of nativeTracks) removeVideoTrack(nativeTrack);\n\t\t\t};\n\t\t\tconst controller = new AbortController();\n\t\t\tconst { signal } = controller;\n\t\t\tgetPrivate(media).videoTracksCleanup = controller;\n\t\t\tnativeTracks.addEventListener(\"change\", onChange, { signal });\n\t\t\tnativeTracks.addEventListener(\"addtrack\", onAddTrack, { signal });\n\t\t\tnativeTracks.addEventListener(\"removetrack\", onRemoveTrack, { signal });\n\t\t\tcurrentTracks.addEventListener(\"addtrack\", onCustomAddTrack, { signal });\n\t\t}\n\t}\n\treturn tracks;\n}\nfunction getAudioTracks(media) {\n\tlet tracks = getPrivate(media).audioTracks;\n\tif (!tracks) {\n\t\ttracks = new AudioTrackList();\n\t\tgetPrivate(media).audioTracks = tracks;\n\t\tconst nativeEl = media.target;\n\t\tconst nativeTracks = nativeAudioTracksFn && nativeEl ? nativeAudioTracksFn.call(nativeEl) : void 0;\n\t\tif (isNativeTrackList(nativeTracks)) {\n\t\t\tconst currentTracks = tracks;\n\t\t\tfor (const nativeTrack of nativeTracks) addAudioTrack(media, nativeTrack);\n\t\t\tconst onChange = () => {\n\t\t\t\tcurrentTracks.dispatchEvent(new Event(\"change\"));\n\t\t\t};\n\t\t\tconst onAddTrack = (event) => {\n\t\t\t\tif ([...currentTracks].some((track) => track instanceof AudioTrack)) return;\n\t\t\t\taddAudioTrack(media, event.track);\n\t\t\t};\n\t\t\tconst onRemoveTrack = (event) => {\n\t\t\t\tremoveAudioTrack(event.track);\n\t\t\t};\n\t\t\tconst onCustomAddTrack = (event) => {\n\t\t\t\tif (!(event.track instanceof AudioTrack)) return;\n\t\t\t\tfor (const nativeTrack of nativeTracks) removeAudioTrack(nativeTrack);\n\t\t\t};\n\t\t\tconst controller = new AbortController();\n\t\t\tconst { signal } = controller;\n\t\t\tgetPrivate(media).audioTracksCleanup = controller;\n\t\t\tnativeTracks.addEventListener(\"change\", onChange, { signal });\n\t\t\tnativeTracks.addEventListener(\"addtrack\", onAddTrack, { signal });\n\t\t\tnativeTracks.addEventListener(\"removetrack\", onRemoveTrack, { signal });\n\t\t\tcurrentTracks.addEventListener(\"addtrack\", onCustomAddTrack, { signal });\n\t\t}\n\t}\n\treturn tracks;\n}\n//#endregion\nexport { MediaTracksMixin };\n\n//# sourceMappingURL=mixin.js.map"],"mappings":";;;AACA,IAAI,iBAAiB,cAAc,MAAM;CACxC;CACA,YAAY,MAAM,MAAM;EACvB,MAAM,IAAI;EACV,KAAK,YAAY,KAAK;CACvB;AACD;;;;ACNA,MAAM,+BAA+B,IAAI,QAAQ;AACjD,SAAS,WAAW,UAAU;CAC7B,OAAO,aAAa,IAAI,QAAQ,KAAK,WAAW,UAAU,CAAC,CAAC;AAC7D;AACA,SAAS,WAAW,UAAU,OAAO;CACpC,IAAI,QAAQ,aAAa,IAAI,QAAQ;CACrC,IAAI,CAAC,OAAO,aAAa,IAAI,UAAU,QAAQ,CAAC,CAAC;CACjD,OAAO,OAAO,OAAO,OAAO,KAAK;AAClC;;;;ACLA,SAASA,eAAa,OAAO,WAAW;CACvC,MAAM,gBAAgB,WAAW,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CACxD,WAAW,SAAS,CAAC,CAAC,QAAQ,WAAW,KAAK,CAAC,CAAC;CAChD,WAAW,SAAS,CAAC,CAAC,QAAQ;CAC9B,MAAM,eAAe,WAAW,KAAK,CAAC,CAAC;CACvC,aAAa,IAAI,SAAS;CAC1B,MAAM,QAAQ,aAAa,OAAO;CAClC,IAAI,EAAE,SAAS,mBAAmB,YAAY,OAAO,eAAe,mBAAmB,WAAW,OAAO,EAAE,MAAM;EAChH,OAAOC,uBAAqB,IAAI,CAAC,CAAC;CACnC,EAAE,CAAC;CACH,qBAAqB;EACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,SAAS;EACtC,cAAc,cAAc,IAAI,eAAe,gBAAgB,EAAE,UAAU,CAAC,CAAC;CAC9E,CAAC;AACF;AACA,SAASC,kBAAgB,WAAW;CACnC,MAAM,gBAAgB,WAAW,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CAC5D,MAAM,QAAQ,WAAW,SAAS,CAAC,CAAC;CACpC,WAAW,KAAK,CAAC,CAAC,aAAa,OAAO,SAAS;CAC/C,qBAAqB;EACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,SAAS;EACtC,cAAc,cAAc,IAAI,eAAe,mBAAmB,EAAE,UAAU,CAAC,CAAC;CACjF,CAAC;AACF;AACA,SAASC,kBAAgB,WAAW;CACnC,MAAM,gBAAgB,WAAW,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CAC5D,IAAI,CAAC,iBAAiB,WAAW,aAAa,CAAC,CAAC,iBAAiB;CACjE,WAAW,aAAa,CAAC,CAAC,kBAAkB;CAC5C,qBAAqB;EACpB,OAAO,WAAW,aAAa,CAAC,CAAC;EACjC,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,MAAM,SAAS;EAC1C,cAAc,cAAc,IAAI,MAAM,QAAQ,CAAC;CAChD,CAAC;AACF;AACA,SAASF,uBAAqB,eAAe;CAC5C,MAAM,QAAQ,WAAW,aAAa,CAAC,CAAC,OAAO,MAAM;CACrD,IAAI,CAAC,OAAO,OAAO,CAAC;CACpB,OAAO,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,UAAU,MAAM,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,YAAY,CAAC;AACtH;AACA,IAAI,qBAAqB,cAAc,YAAY;CAClD;CACA;CACA;CACA,CAAC,OAAO,YAAY;EACnB,OAAOA,uBAAqB,IAAI,CAAC,CAAC,OAAO;CAC1C;CACA,IAAI,SAAS;EACZ,OAAOA,uBAAqB,IAAI,CAAC,CAAC;CACnC;CACA,iBAAiB,IAAI;EACpB,OAAOA,uBAAqB,IAAI,CAAC,CAAC,MAAM,cAAc,GAAG,UAAU,SAAS,GAAG,IAAI,KAAK;CACzF;CACA,IAAI,gBAAgB;EACnB,OAAOA,uBAAqB,IAAI,CAAC,CAAC,WAAW,cAAc,UAAU,QAAQ;CAC9E;CACA,IAAI,cAAc,OAAO;EACxB,KAAK,MAAM,CAAC,GAAG,cAAcA,uBAAqB,IAAI,CAAC,CAAC,QAAQ,GAAG,UAAU,WAAW,MAAM;CAC/F;CACA,IAAI,iBAAiB;EACpB,OAAO,KAAKG;CACb;CACA,IAAI,eAAe,UAAU;EAC5B,IAAI,KAAKA,uBAAuB;GAC/B,KAAK,oBAAoB,gBAAgB,KAAKA,qBAAqB;GACnE,KAAKA,wBAAwB,KAAK;EACnC;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,wBAAwB;GAC7B,KAAK,iBAAiB,gBAAgB,QAAQ;EAC/C;CACD;CACA,IAAI,oBAAoB;EACvB,OAAO,KAAKC;CACb;CACA,IAAI,kBAAkB,UAAU;EAC/B,IAAI,KAAKA,0BAA0B;GAClC,KAAK,oBAAoB,mBAAmB,KAAKA,wBAAwB;GACzE,KAAKA,2BAA2B,KAAK;EACtC;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,2BAA2B;GAChC,KAAK,iBAAiB,mBAAmB,QAAQ;EAClD;CACD;CACA,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,UAAU;EACtB,IAAI,KAAKA,iBAAiB;GACzB,KAAK,oBAAoB,UAAU,KAAKA,eAAe;GACvD,KAAKA,kBAAkB,KAAK;EAC7B;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,kBAAkB;GACvB,KAAK,iBAAiB,UAAU,QAAQ;EACzC;CACD;AACD;;;;;;;;AC/FA,IAAI,iBAAiB,MAAM;CAC1B;CACA;CACA;CACA;CACA,YAAY;CACZ,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,OAAO;EACnB,IAAI,KAAKA,cAAc,OAAO;EAC9B,KAAKA,YAAY;EACjB,kBAAgB,IAAI;CACrB;AACD;;;;ACnBA,IAAI,aAAa,cAAc,MAAM;CACpC;CACA,YAAY,MAAM,MAAM;EACvB,MAAM,IAAI;EACV,KAAK,QAAQ,KAAK;CACnB;AACD;;;;ACHA,SAAS,cAAc,OAAO,OAAO;CACpC,MAAM,YAAY,MAAM;CACxB,WAAW,KAAK,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK;CAC3C,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,cAAc,WAAW,KAAK,CAAC,CAAC,+BAA+B,IAAI,IAAI;CAC9F,MAAM,WAAW,WAAW,SAAS,CAAC,CAAC;CACvC,SAAS,IAAI,KAAK;CAClB,MAAM,QAAQ,SAAS,OAAO;CAC9B,IAAI,EAAE,SAAS,eAAe,YAAY,OAAO,eAAe,eAAe,WAAW,OAAO,EAAE,MAAM;EACxG,OAAO,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,EAAE,CAAC;CACH,qBAAqB;EACpB,UAAU,cAAc,IAAI,WAAW,YAAY,EAAE,MAAM,CAAC,CAAC;CAC9D,CAAC;AACF;AACA,SAAS,iBAAiB,OAAO;CAChC,MAAM,YAAY,WAAW,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CACpD,IAAI,CAAC,WAAW;CAChB,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,SAAS,OAAO,KAAK,GAAG;CACnD,qBAAqB;EACpB,UAAU,cAAc,IAAI,WAAW,eAAe,EAAE,MAAM,CAAC,CAAC;CACjE,CAAC;AACF;AACA,SAAS,eAAe,OAAO;CAC9B,MAAM,YAAY,WAAW,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CACpD,IAAI,CAAC,aAAa,WAAW,SAAS,CAAC,CAAC,iBAAiB;CACzD,WAAW,SAAS,CAAC,CAAC,kBAAkB;CACxC,qBAAqB;EACpB,OAAO,WAAW,SAAS,CAAC,CAAC;EAC7B,UAAU,cAAc,IAAI,MAAM,QAAQ,CAAC;CAC5C,CAAC;AACF;AACA,IAAI,iBAAiB,cAAc,YAAY;CAC9C;CACA;CACA;CACA,cAAc;EACb,MAAM;EACN,WAAW,IAAI,CAAC,CAAC,2BAA2B,IAAI,IAAI;CACrD;CACA,IAAIC,UAAU;EACb,OAAO,WAAW,IAAI,CAAC,CAAC;CACzB;CACA,CAAC,OAAO,YAAY;EACnB,OAAO,KAAKA,QAAQ,OAAO;CAC5B;CACA,IAAI,SAAS;EACZ,OAAO,KAAKA,QAAQ;CACrB;CACA,aAAa,IAAI;EAChB,OAAO,CAAC,GAAG,KAAKA,OAAO,CAAC,CAAC,MAAM,UAAU,MAAM,OAAO,EAAE,KAAK;CAC9D;CACA,IAAI,aAAa;EAChB,OAAO,KAAKC;CACb;CACA,IAAI,WAAW,UAAU;EACxB,IAAI,KAAKA,mBAAmB;GAC3B,KAAK,oBAAoB,YAAY,KAAKA,iBAAiB;GAC3D,KAAKA,oBAAoB,KAAK;EAC/B;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,oBAAoB;GACzB,KAAK,iBAAiB,YAAY,QAAQ;EAC3C;CACD;CACA,IAAI,gBAAgB;EACnB,OAAO,KAAKC;CACb;CACA,IAAI,cAAc,UAAU;EAC3B,IAAI,KAAKA,sBAAsB;GAC9B,KAAK,oBAAoB,eAAe,KAAKA,oBAAoB;GACjE,KAAKA,uBAAuB,KAAK;EAClC;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,uBAAuB;GAC5B,KAAK,iBAAiB,eAAe,QAAQ;EAC9C;CACD;CACA,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,UAAU;EACtB,IAAI,KAAKA,iBAAiB;GACzB,KAAK,oBAAoB,UAAU,KAAKA,eAAe;GACvD,KAAKA,kBAAkB,KAAK;EAC7B;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,kBAAkB;GACvB,KAAK,iBAAiB,UAAU,QAAQ;EACzC;CACD;AACD;;;;AClFA,IAAI,aAAa,MAAM;CACtB;CACA;CACA,QAAQ;CACR,WAAW;CACX;CACA,WAAW;CACX,aAAa,KAAK,OAAO,SAAS;EACjC,MAAM,YAAY,IAAI,eAAe;EACrC,UAAU,MAAM;EAChB,UAAU,QAAQ;EAClB,UAAU,UAAU;EACpB,eAAa,MAAM,SAAS;EAC5B,OAAO;CACR;CACA,gBAAgB,WAAW;EAC1B,kBAAgB,SAAS;CAC1B;CACA,IAAI,UAAU;EACb,OAAO,KAAKC;CACb;CACA,IAAI,QAAQ,OAAO;EAClB,IAAI,KAAKA,aAAa,OAAO;EAC7B,KAAKA,WAAW;EAChB,eAAe,IAAI;CACpB;AACD;;;;AClCA,SAAS,aAAa,OAAO,WAAW;CACvC,MAAM,gBAAgB,WAAW,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CACxD,WAAW,SAAS,CAAC,CAAC,QAAQ,WAAW,KAAK,CAAC,CAAC;CAChD,WAAW,SAAS,CAAC,CAAC,QAAQ;CAC9B,MAAM,eAAe,WAAW,KAAK,CAAC,CAAC;CACvC,aAAa,IAAI,SAAS;CAC1B,MAAM,QAAQ,aAAa,OAAO;CAClC,IAAI,EAAE,SAAS,mBAAmB,YAAY,OAAO,eAAe,mBAAmB,WAAW,OAAO,EAAE,MAAM;EAChH,OAAO,qBAAqB,IAAI,CAAC,CAAC;CACnC,EAAE,CAAC;CACH,qBAAqB;EACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,UAAU;EACvC,cAAc,cAAc,IAAI,eAAe,gBAAgB,EAAE,UAAU,CAAC,CAAC;CAC9E,CAAC;AACF;AACA,SAAS,gBAAgB,WAAW;CACnC,MAAM,gBAAgB,WAAW,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CAC5D,MAAM,QAAQ,WAAW,SAAS,CAAC,CAAC;CACpC,WAAW,KAAK,CAAC,CAAC,aAAa,OAAO,SAAS;CAC/C,qBAAqB;EACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,UAAU;EACvC,cAAc,cAAc,IAAI,eAAe,mBAAmB,EAAE,UAAU,CAAC,CAAC;CACjF,CAAC;AACF;AACA,SAASC,kBAAgB,WAAW;CACnC,MAAM,gBAAgB,WAAW,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CAC5D,IAAI,CAAC,iBAAiB,WAAW,aAAa,CAAC,CAAC,iBAAiB;CACjE,WAAW,aAAa,CAAC,CAAC,kBAAkB;CAC5C,qBAAqB;EACpB,OAAO,WAAW,aAAa,CAAC,CAAC;EACjC,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,MAAM,UAAU;EAC3C,cAAc,cAAc,IAAI,MAAM,QAAQ,CAAC;CAChD,CAAC;AACF;AACA,SAAS,cAAc,WAAW;CACjC,MAAM,gBAAgB,WAAW,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CAC5D,IAAI,CAAC,iBAAiB,WAAW,aAAa,CAAC,CAAC,uBAAuB;CACvE,WAAW,aAAa,CAAC,CAAC,wBAAwB;CAClD,qBAAqB;EACpB,OAAO,WAAW,aAAa,CAAC,CAAC;EACjC,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,MAAM,UAAU;EAC3C,cAAc,cAAc,IAAI,MAAM,cAAc,CAAC;CACtD,CAAC;AACF;AACA,SAAS,qBAAqB,eAAe;CAC5C,MAAM,QAAQ,WAAW,aAAa,CAAC,CAAC,OAAO,MAAM;CACrD,IAAI,CAAC,OAAO,OAAO,CAAC;CACpB,OAAO,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,UAAU,MAAM,QAAQ,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,YAAY,CAAC;AACvH;AACA,IAAI,qBAAqB,cAAc,YAAY;CAClD;CACA;CACA;CACA,CAAC,OAAO,YAAY;EACnB,OAAO,qBAAqB,IAAI,CAAC,CAAC,OAAO;CAC1C;CACA,IAAI,SAAS;EACZ,OAAO,qBAAqB,IAAI,CAAC,CAAC;CACnC;CACA,iBAAiB,IAAI;EACpB,OAAO,qBAAqB,IAAI,CAAC,CAAC,MAAM,cAAc,GAAG,UAAU,SAAS,GAAG,IAAI,KAAK;CACzF;CACA,IAAI,gBAAgB;EACnB,OAAO,qBAAqB,IAAI,CAAC,CAAC,WAAW,cAAc,UAAU,QAAQ;CAC9E;CACA,IAAI,cAAc,OAAO;EACxB,KAAK,MAAM,CAAC,GAAG,cAAc,qBAAqB,IAAI,CAAC,CAAC,QAAQ,GAAG,UAAU,WAAW,MAAM;CAC/F;CACA,IAAI,iBAAiB;EACpB,OAAO,KAAKC;CACb;CACA,IAAI,eAAe,UAAU;EAC5B,IAAI,KAAKA,uBAAuB;GAC/B,KAAK,oBAAoB,gBAAgB,KAAKA,qBAAqB;GACnE,KAAKA,wBAAwB,KAAK;EACnC;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,wBAAwB;GAC7B,KAAK,iBAAiB,gBAAgB,QAAQ;EAC/C;CACD;CACA,IAAI,oBAAoB;EACvB,OAAO,KAAKC;CACb;CACA,IAAI,kBAAkB,UAAU;EAC/B,IAAI,KAAKA,0BAA0B;GAClC,KAAK,oBAAoB,mBAAmB,KAAKA,wBAAwB;GACzE,KAAKA,2BAA2B,KAAK;EACtC;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,2BAA2B;GAChC,KAAK,iBAAiB,mBAAmB,QAAQ;EAClD;CACD;CACA,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,UAAU;EACtB,IAAI,KAAKA,iBAAiB;GACzB,KAAK,oBAAoB,UAAU,KAAKA,eAAe;GACvD,KAAKA,kBAAkB,KAAK;EAC7B;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,kBAAkB;GACvB,KAAK,iBAAiB,UAAU,QAAQ;EACzC;CACD;AACD;;;;;;;;ACzGA,IAAI,iBAAiB,MAAM;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA,YAAY;CACZ,UAAU;CACV,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,OAAO;EACnB,IAAI,KAAKA,cAAc,OAAO;EAC9B,KAAKA,YAAY;EACjB,kBAAgB,IAAI;CACrB;CACA,IAAI,SAAS;EACZ,OAAO,KAAKC;CACb;CACA,IAAI,OAAO,OAAO;EACjB,IAAI,KAAKA,YAAY,OAAO;EAC5B,KAAKA,UAAU;EACf,cAAc,IAAI;CACnB;AACD;;;;AC5BA,SAAS,cAAc,OAAO,OAAO;CACpC,MAAM,YAAY,MAAM;CACxB,WAAW,KAAK,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK;CAC3C,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,cAAc,WAAW,KAAK,CAAC,CAAC,+BAA+B,IAAI,IAAI;CAC9F,MAAM,WAAW,WAAW,SAAS,CAAC,CAAC;CACvC,SAAS,IAAI,KAAK;CAClB,MAAM,QAAQ,SAAS,OAAO;CAC9B,IAAI,EAAE,SAAS,eAAe,YAAY,OAAO,eAAe,eAAe,WAAW,OAAO,EAAE,MAAM;EACxG,OAAO,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,EAAE,CAAC;CACH,qBAAqB;EACpB,UAAU,cAAc,IAAI,WAAW,YAAY,EAAE,MAAM,CAAC,CAAC;CAC9D,CAAC;AACF;AACA,SAAS,iBAAiB,OAAO;CAChC,MAAM,YAAY,WAAW,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE;CACpD,IAAI,CAAC,WAAW;CAChB,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,SAAS,OAAO,KAAK,GAAG;CACnD,qBAAqB;EACpB,UAAU,cAAc,IAAI,WAAW,eAAe,EAAE,MAAM,CAAC,CAAC;CACjE,CAAC;AACF;AACA,SAAS,gBAAgB,UAAU;CAClC,MAAM,YAAY,WAAW,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,eAAe,CAAC;CACvE,IAAI,gBAAgB;CACpB,KAAK,MAAM,SAAS,WAAW;EAC9B,IAAI,UAAU,UAAU;EACxB,MAAM,WAAW;EACjB,gBAAgB;CACjB;CACA,IAAI,CAAC,eAAe;CACpB,IAAI,WAAW,SAAS,CAAC,CAAC,iBAAiB;CAC3C,WAAW,SAAS,CAAC,CAAC,kBAAkB;CACxC,qBAAqB;EACpB,OAAO,WAAW,SAAS,CAAC,CAAC;EAC7B,UAAU,cAAc,IAAI,MAAM,QAAQ,CAAC;CAC5C,CAAC;AACF;AACA,IAAI,iBAAiB,cAAc,YAAY;CAC9C;CACA;CACA;CACA,cAAc;EACb,MAAM;EACN,WAAW,IAAI,CAAC,CAAC,2BAA2B,IAAI,IAAI;CACrD;CACA,IAAIC,UAAU;EACb,OAAO,WAAW,IAAI,CAAC,CAAC;CACzB;CACA,CAAC,OAAO,YAAY;EACnB,OAAO,KAAKA,QAAQ,OAAO;CAC5B;CACA,IAAI,SAAS;EACZ,OAAO,KAAKA,QAAQ;CACrB;CACA,aAAa,IAAI;EAChB,OAAO,CAAC,GAAG,KAAKA,OAAO,CAAC,CAAC,MAAM,UAAU,MAAM,OAAO,EAAE,KAAK;CAC9D;CACA,IAAI,gBAAgB;EACnB,OAAO,CAAC,GAAG,KAAKA,OAAO,CAAC,CAAC,WAAW,UAAU,MAAM,QAAQ;CAC7D;CACA,IAAI,aAAa;EAChB,OAAO,KAAKC;CACb;CACA,IAAI,WAAW,UAAU;EACxB,IAAI,KAAKA,mBAAmB;GAC3B,KAAK,oBAAoB,YAAY,KAAKA,iBAAiB;GAC3D,KAAKA,oBAAoB,KAAK;EAC/B;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,oBAAoB;GACzB,KAAK,iBAAiB,YAAY,QAAQ;EAC3C;CACD;CACA,IAAI,gBAAgB;EACnB,OAAO,KAAKC;CACb;CACA,IAAI,cAAc,UAAU;EAC3B,IAAI,KAAKA,sBAAsB;GAC9B,KAAK,oBAAoB,eAAe,KAAKA,oBAAoB;GACjE,KAAKA,uBAAuB,KAAK;EAClC;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,uBAAuB;GAC5B,KAAK,iBAAiB,eAAe,QAAQ;EAC9C;CACD;CACA,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,UAAU;EACtB,IAAI,KAAKA,iBAAiB;GACzB,KAAK,oBAAoB,UAAU,KAAKA,eAAe;GACvD,KAAKA,kBAAkB,KAAK;EAC7B;EACA,IAAI,WAAW,QAAQ,GAAG;GACzB,KAAKA,kBAAkB;GACvB,KAAK,iBAAiB,UAAU,QAAQ;EACzC;CACD;AACD;;;;AC5FA,IAAI,aAAa,MAAM;CACtB;CACA;CACA,QAAQ;CACR,WAAW;CACX;CACA,YAAY;CACZ,aAAa,KAAK,OAAO,QAAQ,OAAO,SAAS,WAAW;EAC3D,MAAM,YAAY,IAAI,eAAe;EACrC,UAAU,MAAM;EAChB,UAAU,QAAQ;EAClB,UAAU,SAAS;EACnB,UAAU,YAAY;EACtB,UAAU,UAAU;EACpB,UAAU,QAAQ;EAClB,aAAa,MAAM,SAAS;EAC5B,OAAO;CACR;CACA,gBAAgB,WAAW;EAC1B,gBAAgB,SAAS;CAC1B;CACA,IAAI,WAAW;EACd,OAAO,KAAKC;CACb;CACA,IAAI,SAAS,OAAO;EACnB,IAAI,KAAKA,cAAc,OAAO;EAC9B,KAAKA,YAAY;EACjB,IAAI,UAAU,MAAM;EACpB,gBAAgB,IAAI;CACrB;AACD;;;;ACjCA,MAAM,8BAA8B,WAAW;AAC/C,MAAM,sBAAsB,qBAAqB,6BAA6B,OAAO;AACrF,MAAM,sBAAsB,qBAAqB,6BAA6B,OAAO;AACrF,SAAS,iBAAiB,mBAAmB;CAC5C,IAAI,CAAC,mBAAmB,WAAW,OAAO;CAC1C,MAAM,YAAY,kBAAkB;CACpC,MAAM,gBAAgB,qBAAqB,mBAAmB,OAAO;CACrE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,SAAS,eAAe,GAAG,OAAO,eAAe,WAAW,eAAe,EAAE,MAAM;EAC3H,OAAO,eAAe,IAAI;CAC3B,EAAE,CAAC;CACH,MAAM,gBAAgB,qBAAqB,mBAAmB,OAAO;CACrE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,SAAS,eAAe,GAAG,OAAO,eAAe,WAAW,eAAe,EAAE,MAAM;EAC3H,OAAO,eAAe,IAAI;CAC3B,EAAE,CAAC;CACH,IAAI,CAAC,OAAO,WAAW,eAAe,GAAG,UAAU,gBAAgB,SAAS,MAAM,QAAQ,IAAI,WAAW,IAAI;EAC5G,MAAM,QAAQ,IAAI,WAAW;EAC7B,MAAM,OAAO;EACb,MAAM,QAAQ;EACd,MAAM,WAAW;EACjB,cAAc,MAAM,KAAK;EACzB,OAAO;CACR;CACA,IAAI,CAAC,OAAO,WAAW,kBAAkB,GAAG,UAAU,mBAAmB;CACzE,IAAI,CAAC,OAAO,WAAW,eAAe,GAAG,UAAU,gBAAgB,SAAS,MAAM,QAAQ,IAAI,WAAW,IAAI;EAC5G,MAAM,QAAQ,IAAI,WAAW;EAC7B,MAAM,OAAO;EACb,MAAM,QAAQ;EACd,MAAM,WAAW;EACjB,cAAc,MAAM,KAAK;EACzB,OAAO;CACR;CACA,IAAI,CAAC,OAAO,WAAW,kBAAkB,GAAG,UAAU,mBAAmB;CACzE,IAAI,CAAC,OAAO,WAAW,QAAQ,GAAG;EACjC,MAAM,aAAa,UAAU;EAC7B,UAAU,SAAS,WAAW;GAC7B,MAAM,OAAO,WAAW,IAAI;GAC5B,KAAK,oBAAoB,MAAM;GAC/B,KAAK,oBAAoB,MAAM;GAC/B,OAAO,KAAK;GACZ,OAAO,KAAK;GACZ,OAAO,KAAK;GACZ,OAAO,KAAK;GACZ,YAAY,KAAK,IAAI;EACtB;CACD;CACA,IAAI,CAAC,OAAO,WAAW,iBAAiB,GAAG,OAAO,eAAe,WAAW,mBAAmB,EAAE,MAAM;EACtG,OAAO,oBAAoB,IAAI;CAChC,EAAE,CAAC;CACH,IAAI,CAAC,OAAO,WAAW,iBAAiB,GAAG,OAAO,eAAe,WAAW,mBAAmB,EAAE,MAAM;EACtG,OAAO,oBAAoB,IAAI;CAChC,EAAE,CAAC;CACH,OAAO;AACR;AACA,SAAS,OAAO,OAAO,KAAK;CAC3B,OAAO,OAAO,OAAO,OAAO,GAAG;AAChC;AACA,SAAS,oBAAoB,OAAO;CACnC,IAAI,aAAa,WAAW,KAAK,CAAC,CAAC;CACnC,IAAI,CAAC,YAAY;EAChB,aAAa,IAAI,mBAAmB;EACpC,WAAW,UAAU,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK;EAChD,WAAW,KAAK,CAAC,CAAC,kBAAkB;CACrC;CACA,OAAO;AACR;AACA,SAAS,oBAAoB,OAAO;CACnC,IAAI,aAAa,WAAW,KAAK,CAAC,CAAC;CACnC,IAAI,CAAC,YAAY;EAChB,aAAa,IAAI,mBAAmB;EACpC,WAAW,UAAU,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK;EAChD,WAAW,KAAK,CAAC,CAAC,kBAAkB;CACrC;CACA,OAAO;AACR;AACA,SAAS,qBAAqB,mBAAmB,MAAM;CACtD,IAAI,mBAAmB,WAAW,OAAO,OAAO,yBAAyB,kBAAkB,WAAW,GAAG,KAAK,OAAO,CAAC,EAAE;AACzH;AACA,SAAS,kBAAkB,OAAO;CACjC,OAAO,WAAW,OAAO,CAAC,oBAAoB,qBAAqB,CAAC;AACrE;AACA,SAAS,eAAe,OAAO;CAC9B,IAAI,SAAS,WAAW,KAAK,CAAC,CAAC;CAC/B,IAAI,CAAC,QAAQ;EACZ,SAAS,IAAI,eAAe;EAC5B,WAAW,KAAK,CAAC,CAAC,cAAc;EAChC,MAAM,WAAW,MAAM;EACvB,MAAM,eAAe,uBAAuB,WAAW,oBAAoB,KAAK,QAAQ,IAAI,KAAK;EACjG,IAAI,kBAAkB,YAAY,GAAG;GACpC,MAAM,gBAAgB;GACtB,KAAK,MAAM,eAAe,cAAc,cAAc,OAAO,WAAW;GACxE,MAAM,iBAAiB;IACtB,cAAc,cAAc,IAAI,MAAM,QAAQ,CAAC;GAChD;GACA,MAAM,cAAc,UAAU;IAC7B,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,UAAU,iBAAiB,UAAU,GAAG;IACrE,cAAc,OAAO,MAAM,KAAK;GACjC;GACA,MAAM,iBAAiB,UAAU;IAChC,iBAAiB,MAAM,KAAK;GAC7B;GACA,MAAM,oBAAoB,UAAU;IACnC,IAAI,EAAE,MAAM,iBAAiB,aAAa;IAC1C,KAAK,MAAM,eAAe,cAAc,iBAAiB,WAAW;GACrE;GACA,MAAM,aAAa,IAAI,gBAAgB;GACvC,MAAM,EAAE,WAAW;GACnB,WAAW,KAAK,CAAC,CAAC,qBAAqB;GACvC,aAAa,iBAAiB,UAAU,UAAU,EAAE,OAAO,CAAC;GAC5D,aAAa,iBAAiB,YAAY,YAAY,EAAE,OAAO,CAAC;GAChE,aAAa,iBAAiB,eAAe,eAAe,EAAE,OAAO,CAAC;GACtE,cAAc,iBAAiB,YAAY,kBAAkB,EAAE,OAAO,CAAC;EACxE;CACD;CACA,OAAO;AACR;AACA,SAAS,eAAe,OAAO;CAC9B,IAAI,SAAS,WAAW,KAAK,CAAC,CAAC;CAC/B,IAAI,CAAC,QAAQ;EACZ,SAAS,IAAI,eAAe;EAC5B,WAAW,KAAK,CAAC,CAAC,cAAc;EAChC,MAAM,WAAW,MAAM;EACvB,MAAM,eAAe,uBAAuB,WAAW,oBAAoB,KAAK,QAAQ,IAAI,KAAK;EACjG,IAAI,kBAAkB,YAAY,GAAG;GACpC,MAAM,gBAAgB;GACtB,KAAK,MAAM,eAAe,cAAc,cAAc,OAAO,WAAW;GACxE,MAAM,iBAAiB;IACtB,cAAc,cAAc,IAAI,MAAM,QAAQ,CAAC;GAChD;GACA,MAAM,cAAc,UAAU;IAC7B,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,UAAU,iBAAiB,UAAU,GAAG;IACrE,cAAc,OAAO,MAAM,KAAK;GACjC;GACA,MAAM,iBAAiB,UAAU;IAChC,iBAAiB,MAAM,KAAK;GAC7B;GACA,MAAM,oBAAoB,UAAU;IACnC,IAAI,EAAE,MAAM,iBAAiB,aAAa;IAC1C,KAAK,MAAM,eAAe,cAAc,iBAAiB,WAAW;GACrE;GACA,MAAM,aAAa,IAAI,gBAAgB;GACvC,MAAM,EAAE,WAAW;GACnB,WAAW,KAAK,CAAC,CAAC,qBAAqB;GACvC,aAAa,iBAAiB,UAAU,UAAU,EAAE,OAAO,CAAC;GAC5D,aAAa,iBAAiB,YAAY,YAAY,EAAE,OAAO,CAAC;GAChE,aAAa,iBAAiB,eAAe,eAAe,EAAE,OAAO,CAAC;GACtE,cAAc,iBAAiB,YAAY,kBAAkB,EAAE,OAAO,CAAC;EACxE;CACD;CACA,OAAO;AACR"}
|
package/cdn/mixin-DiB7dIef.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,t}from"./predicate-LbFu-fPH.js";var n=class extends Event{rendition;constructor(e,t){super(e),this.rendition=t.rendition}};const r=new WeakMap;function i(e){return r.get(e)??a(e,{})}function a(e,t){let n=r.get(e);return n||r.set(e,n={}),Object.assign(n,t)}function o(e,t){let r=i(e).media?.deref()?.audioRenditions;i(t).media=i(e).media,i(t).track=e;let a=i(e).renditionSet;a.add(t);let o=a.size-1;o in u.prototype||Object.defineProperty(u.prototype,o,{get(){return l(this)[o]}}),queueMicrotask(()=>{!r||!e.enabled||r.dispatchEvent(new n(`addrendition`,{rendition:t}))})}function s(e){let t=i(e).media?.deref()?.audioRenditions,r=i(e).track;i(r).renditionSet.delete(e),queueMicrotask(()=>{!t||!r.enabled||t.dispatchEvent(new n(`removerendition`,{rendition:e}))})}function c(e){let t=i(e).media?.deref()?.audioRenditions;!t||i(t).changeRequested||(i(t).changeRequested=!0,queueMicrotask(()=>{delete i(t).changeRequested,i(e).track.enabled&&t.dispatchEvent(new Event(`change`))}))}function l(e){let t=i(e).media?.deref();return t?[...t.audioTracks].filter(e=>e.enabled).flatMap(e=>[...i(e).renditionSet]):[]}var u=class extends EventTarget{#e;#t;#n;[Symbol.iterator](){return l(this).values()}get length(){return l(this).length}getRenditionById(e){return l(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return l(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,n]of l(this).entries())n.selected=t===e}get onaddrendition(){return this.#e}set onaddrendition(t){this.#e&&=(this.removeEventListener(`addrendition`,this.#e),void 0),e(t)&&(this.#e=t,this.addEventListener(`addrendition`,t))}get onremoverendition(){return this.#t}set onremoverendition(t){this.#t&&=(this.removeEventListener(`removerendition`,this.#t),void 0),e(t)&&(this.#t=t,this.addEventListener(`removerendition`,t))}get onchange(){return this.#n}set onchange(t){this.#n&&=(this.removeEventListener(`change`,this.#n),void 0),e(t)&&(this.#n=t,this.addEventListener(`change`,t))}},d=class{src;id;bitrate;codec;#e=!1;get selected(){return this.#e}set selected(e){this.#e!==e&&(this.#e=e,c(this))}},f=class extends Event{track;constructor(e,t){super(e),this.track=t.track}};function p(e,t){let n=e.audioTracks;i(t).media=new WeakRef(e),i(t).renditionSet||(i(t).renditionSet=new Set);let r=i(n).trackSet;r.add(t);let a=r.size-1;a in g.prototype||Object.defineProperty(g.prototype,a,{get(){return[...i(this).trackSet][a]}}),queueMicrotask(()=>{n.dispatchEvent(new f(`addtrack`,{track:t}))})}function m(e){let t=i(e).media?.deref()?.audioTracks;t&&i(t).trackSet.delete(e)&&queueMicrotask(()=>{t.dispatchEvent(new f(`removetrack`,{track:e}))})}function h(e){let t=i(e).media?.deref()?.audioTracks;!t||i(t).changeRequested||(i(t).changeRequested=!0,queueMicrotask(()=>{delete i(t).changeRequested,t.dispatchEvent(new Event(`change`))}))}var g=class extends EventTarget{#e;#t;#n;constructor(){super(),i(this).trackSet=new Set}get#r(){return i(this).trackSet}[Symbol.iterator](){return this.#r.values()}get length(){return this.#r.size}getTrackById(e){return[...this.#r].find(t=>t.id===e)??null}get onaddtrack(){return this.#e}set onaddtrack(t){this.#e&&=(this.removeEventListener(`addtrack`,this.#e),void 0),e(t)&&(this.#e=t,this.addEventListener(`addtrack`,t))}get onremovetrack(){return this.#t}set onremovetrack(t){this.#t&&=(this.removeEventListener(`removetrack`,this.#t),void 0),e(t)&&(this.#t=t,this.addEventListener(`removetrack`,t))}get onchange(){return this.#n}set onchange(t){this.#n&&=(this.removeEventListener(`change`,this.#n),void 0),e(t)&&(this.#n=t,this.addEventListener(`change`,t))}},_=class{id;kind;label=``;language=``;sourceBuffer;#e=!1;addRendition(e,t,n){let r=new d;return r.src=e,r.codec=t,r.bitrate=n,o(this,r),r}removeRendition(e){s(e)}get enabled(){return this.#e}set enabled(e){this.#e!==e&&(this.#e=e,h(this))}};function v(e,t){let r=i(e).media?.deref()?.videoRenditions;i(t).media=i(e).media,i(t).track=e;let a=i(e).renditionSet;a.add(t);let o=a.size-1;o in C.prototype||Object.defineProperty(C.prototype,o,{get(){return S(this)[o]}}),queueMicrotask(()=>{!r||!e.selected||r.dispatchEvent(new n(`addrendition`,{rendition:t}))})}function y(e){let t=i(e).media?.deref()?.videoRenditions,r=i(e).track;i(r).renditionSet.delete(e),queueMicrotask(()=>{!t||!r.selected||t.dispatchEvent(new n(`removerendition`,{rendition:e}))})}function b(e){let t=i(e).media?.deref()?.videoRenditions;!t||i(t).changeRequested||(i(t).changeRequested=!0,queueMicrotask(()=>{delete i(t).changeRequested,i(e).track.selected&&t.dispatchEvent(new Event(`change`))}))}function x(e){let t=i(e).media?.deref()?.videoRenditions;!t||i(t).activeChangeRequested||(i(t).activeChangeRequested=!0,queueMicrotask(()=>{delete i(t).activeChangeRequested,i(e).track.selected&&t.dispatchEvent(new Event(`activechange`))}))}function S(e){let t=i(e).media?.deref();return t?[...t.videoTracks].filter(e=>e.selected).flatMap(e=>[...i(e).renditionSet]):[]}var C=class extends EventTarget{#e;#t;#n;[Symbol.iterator](){return S(this).values()}get length(){return S(this).length}getRenditionById(e){return S(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return S(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,n]of S(this).entries())n.selected=t===e}get onaddrendition(){return this.#e}set onaddrendition(t){this.#e&&=(this.removeEventListener(`addrendition`,this.#e),void 0),e(t)&&(this.#e=t,this.addEventListener(`addrendition`,t))}get onremoverendition(){return this.#t}set onremoverendition(t){this.#t&&=(this.removeEventListener(`removerendition`,this.#t),void 0),e(t)&&(this.#t=t,this.addEventListener(`removerendition`,t))}get onchange(){return this.#n}set onchange(t){this.#n&&=(this.removeEventListener(`change`,this.#n),void 0),e(t)&&(this.#n=t,this.addEventListener(`change`,t))}},w=class{src;id;width;height;bitrate;frameRate;codec;#e=!1;#t=!1;get selected(){return this.#e}set selected(e){this.#e!==e&&(this.#e=e,b(this))}get active(){return this.#t}set active(e){this.#t!==e&&(this.#t=e,x(this))}};function T(e,t){let n=e.videoTracks;i(t).media=new WeakRef(e),i(t).renditionSet||(i(t).renditionSet=new Set);let r=i(n).trackSet;r.add(t);let a=r.size-1;a in O.prototype||Object.defineProperty(O.prototype,a,{get(){return[...i(this).trackSet][a]}}),queueMicrotask(()=>{n.dispatchEvent(new f(`addtrack`,{track:t}))})}function E(e){let t=i(e).media?.deref()?.videoTracks;t&&i(t).trackSet.delete(e)&&queueMicrotask(()=>{t.dispatchEvent(new f(`removetrack`,{track:e}))})}function D(e){let t=i(e).media?.deref()?.videoTracks??[],n=!1;for(let r of t)r!==e&&(r.selected=!1,n=!0);n&&(i(t).changeRequested||(i(t).changeRequested=!0,queueMicrotask(()=>{delete i(t).changeRequested,t.dispatchEvent(new Event(`change`))})))}var O=class extends EventTarget{#e;#t;#n;constructor(){super(),i(this).trackSet=new Set}get#r(){return i(this).trackSet}[Symbol.iterator](){return this.#r.values()}get length(){return this.#r.size}getTrackById(e){return[...this.#r].find(t=>t.id===e)??null}get selectedIndex(){return[...this.#r].findIndex(e=>e.selected)}get onaddtrack(){return this.#e}set onaddtrack(t){this.#e&&=(this.removeEventListener(`addtrack`,this.#e),void 0),e(t)&&(this.#e=t,this.addEventListener(`addtrack`,t))}get onremovetrack(){return this.#t}set onremovetrack(t){this.#t&&=(this.removeEventListener(`removetrack`,this.#t),void 0),e(t)&&(this.#t=t,this.addEventListener(`removetrack`,t))}get onchange(){return this.#n}set onchange(t){this.#n&&=(this.removeEventListener(`change`,this.#n),void 0),e(t)&&(this.#n=t,this.addEventListener(`change`,t))}},k=class{id;kind;label=``;language=``;sourceBuffer;#e=!1;addRendition(e,t,n,r,i,a){let o=new w;return o.src=e,o.width=t,o.height=n,o.frameRate=a,o.bitrate=i,o.codec=r,v(this,o),o}removeRendition(e){y(e)}get selected(){return this.#e}set selected(e){this.#e!==e&&(this.#e=e,e===!0&&D(this))}};const A=globalThis.HTMLMediaElement,j=L(A,`video`),M=L(A,`audio`);function N(e){if(!e?.prototype)return e;let t=e.prototype,n=L(e,`video`);(!n||`${n}`.includes(`[native code]`))&&Object.defineProperty(t,"videoTracks",{get(){return z(this)}});let r=L(e,`audio`);if((!r||`${r}`.includes(`[native code]`))&&Object.defineProperty(t,"audioTracks",{get(){return B(this)}}),P(t,`addVideoTrack`)||(t.addVideoTrack=function(e,t=``,n=``){let r=new k;return r.kind=e,r.label=t,r.language=n,T(this,r),r}),P(t,`removeVideoTrack`)||(t.removeVideoTrack=E),P(t,`addAudioTrack`)||(t.addAudioTrack=function(e,t=``,n=``){let r=new _;return r.kind=e,r.label=t,r.language=n,p(this,r),r}),P(t,`removeAudioTrack`)||(t.removeAudioTrack=m),!P(t,`detach`)){let e=t.detach;t.detach=function(){let t=i(this);t.videoTracksCleanup?.abort(),t.audioTracksCleanup?.abort(),delete t.videoTracks,delete t.audioTracks,delete t.videoTracksCleanup,delete t.audioTracksCleanup,e?.call(this)}}return P(t,`videoRenditions`)||Object.defineProperty(t,"videoRenditions",{get(){return F(this)}}),P(t,`audioRenditions`)||Object.defineProperty(t,"audioRenditions",{get(){return I(this)}}),e}function P(e,t){return Object.hasOwn(e,t)}function F(e){let t=i(e).videoRenditions;return t||(t=new C,i(t).media=new WeakRef(e),i(e).videoRenditions=t),t}function I(e){let t=i(e).audioRenditions;return t||(t=new u,i(t).media=new WeakRef(e),i(e).audioRenditions=t),t}function L(e,t){if(e?.prototype)return Object.getOwnPropertyDescriptor(e.prototype,`${t}Tracks`)?.get}function R(e){return t(e,[`addEventListener`,`removeEventListener`])}function z(e){let t=i(e).videoTracks;if(!t){t=new O,i(e).videoTracks=t;let n=e.target,r=j&&n?j.call(n):void 0;if(R(r)){let n=t;for(let t of r)T(e,t);let a=()=>{n.dispatchEvent(new Event(`change`))},o=t=>{[...n].some(e=>e instanceof k)||T(e,t.track)},s=e=>{E(e.track)},c=e=>{if(e.track instanceof k)for(let e of r)E(e)},l=new AbortController,{signal:u}=l;i(e).videoTracksCleanup=l,r.addEventListener(`change`,a,{signal:u}),r.addEventListener(`addtrack`,o,{signal:u}),r.addEventListener(`removetrack`,s,{signal:u}),n.addEventListener(`addtrack`,c,{signal:u})}}return t}function B(e){let t=i(e).audioTracks;if(!t){t=new g,i(e).audioTracks=t;let n=e.target,r=M&&n?M.call(n):void 0;if(R(r)){let n=t;for(let t of r)p(e,t);let a=()=>{n.dispatchEvent(new Event(`change`))},o=t=>{[...n].some(e=>e instanceof _)||p(e,t.track)},s=e=>{m(e.track)},c=e=>{if(e.track instanceof _)for(let e of r)m(e)},l=new AbortController,{signal:u}=l;i(e).audioTracksCleanup=l,r.addEventListener(`change`,a,{signal:u}),r.addEventListener(`addtrack`,o,{signal:u}),r.addEventListener(`removetrack`,s,{signal:u}),n.addEventListener(`addtrack`,c,{signal:u})}}return t}export{N as t};
|
|
2
|
-
//# sourceMappingURL=mixin-DiB7dIef.js.map
|
package/cdn/player-B0ccW5-n.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,l as t,t as n}from"./create-player-CbpxjDaZ.js";import{t as r}from"./media-element-Cp5PrNre.js";import{i}from"./context-C2rsoDxk.js";const{ProviderMixin:a}=n({features:t});var o=class extends a(r){static{this.tagName=`video-player`}};i(o),i(e);export{o as t};
|
|
2
|
-
//# sourceMappingURL=player-B0ccW5-n.js.map
|
package/cdn/player-iIewo8Y9.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,o as t,t as n}from"./create-player-CbpxjDaZ.js";import{t as r}from"./media-element-Cp5PrNre.js";import{i}from"./context-C2rsoDxk.js";const{ProviderMixin:a}=n({features:t});var o=class extends a(r){static{this.tagName=`audio-player`}};i(o),i(e);export{o as t};
|
|
2
|
-
//# sourceMappingURL=player-iIewo8Y9.js.map
|
package/cdn/player-srq1RGTj.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,i as t,t as n}from"./create-player-CbpxjDaZ.js";import{t as r}from"./media-element-Cp5PrNre.js";import{i}from"./context-C2rsoDxk.js";const{ProviderMixin:a}=n({features:e});var o=class extends a(r){static{this.tagName=`live-video-player`}};i(o),i(t);export{o as t};
|
|
2
|
-
//# sourceMappingURL=player-srq1RGTj.js.map
|
|
@@ -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
|