@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
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# Migrate from Media Chrome
|
|
2
|
+
|
|
3
|
+
Map Media Chrome's controller, elements, and attributes onto Video.js v10, where most of the work is renaming and reshaping rather than rewriting
|
|
4
|
+
|
|
5
|
+
Video.js v10’s HTML player uses the same `media-*` custom-element convention as Media Chrome, so most of the work is **renaming and reshaping**, not rewriting. This guide maps Media Chrome’s API to Video.js v10.
|
|
6
|
+
|
|
7
|
+
Note
|
|
8
|
+
|
|
9
|
+
Scoped to apps that compose their own player from Media Chrome elements. If you use `<mux-player>`, follow the Mux Player migration guide instead.
|
|
10
|
+
|
|
11
|
+
## Before you begin
|
|
12
|
+
|
|
13
|
+
Install Video.js and pick a preset and skin (see [Installation](./installation.md)). The fastest path is to start from a [preset](../concepts/presets.md), then replace its controls with your migrated markup.
|
|
14
|
+
|
|
15
|
+
bash
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
npm install @videojs/html
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Map the controller
|
|
22
|
+
|
|
23
|
+
Media Chrome wraps a slotted `<video slot="media">` in a single `<media-controller>`. Video.js splits that into two elements. The player owns state and draws nothing. The `<media-container>` is the box everything lives in, with the media as a plain child.
|
|
24
|
+
|
|
25
|
+
html
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
<!-- Media Chrome -->
|
|
29
|
+
<media-controller>
|
|
30
|
+
<video slot="media" src="video.m3u8"></video>
|
|
31
|
+
<media-control-bar>
|
|
32
|
+
<media-play-button></media-play-button>
|
|
33
|
+
</media-control-bar>
|
|
34
|
+
</media-controller>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
html
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
<!-- Video.js -->
|
|
41
|
+
<video-player>
|
|
42
|
+
<media-container>
|
|
43
|
+
<video src="video.mp4"></video>
|
|
44
|
+
<media-controls>
|
|
45
|
+
<media-play-button></media-play-button>
|
|
46
|
+
</media-controls>
|
|
47
|
+
</media-container>
|
|
48
|
+
</video-player>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Map controller attributes
|
|
52
|
+
|
|
53
|
+
Media Chrome configures behavior through `<media-controller>` attributes. Video.js v10 has no single controller element, so these settle into three places:
|
|
54
|
+
|
|
55
|
+
* **Player features** — playback behavior that comes from the player’s feature set. A preset picks one for you; `createPlayer` lets you name your own.
|
|
56
|
+
* **`<media-container>` and `<media-controls>`** — layout, focus, and autohide.
|
|
57
|
+
* **Dedicated elements** — `<media-hotkey>`, `<media-gesture>`, and friends, declared in markup.
|
|
58
|
+
|
|
59
|
+
Media Chrome attribute
|
|
60
|
+
|
|
61
|
+
Video.js v10
|
|
62
|
+
|
|
63
|
+
How
|
|
64
|
+
|
|
65
|
+
`audio`
|
|
66
|
+
|
|
67
|
+
the audio preset
|
|
68
|
+
|
|
69
|
+
Choose an audio player and audio skin rather than toggling at runtime.
|
|
70
|
+
|
|
71
|
+
`autohide`
|
|
72
|
+
|
|
73
|
+
`media-controls` (built in)
|
|
74
|
+
|
|
75
|
+
Controls auto-hide after inactivity automatically. The delay is currently fixed; see [Known gaps](#known-gaps).
|
|
76
|
+
|
|
77
|
+
`fullscreenelement`
|
|
78
|
+
|
|
79
|
+
`media-container`
|
|
80
|
+
|
|
81
|
+
Fullscreen targets the container element.
|
|
82
|
+
|
|
83
|
+
`gesturesdisabled`
|
|
84
|
+
|
|
85
|
+
`media-gesture disabled`, or omit
|
|
86
|
+
|
|
87
|
+
Disable per gesture element, or leave the gestures out.
|
|
88
|
+
|
|
89
|
+
`nohotkeys`
|
|
90
|
+
|
|
91
|
+
`media-hotkey disabled`, or omit
|
|
92
|
+
|
|
93
|
+
Disable per hotkey element, or leave them out.
|
|
94
|
+
|
|
95
|
+
`hotkeys="noarrowleft …"`
|
|
96
|
+
|
|
97
|
+
individual `media-hotkey`
|
|
98
|
+
|
|
99
|
+
Each shortcut is its own element, so remove the ones you don’t want.
|
|
100
|
+
|
|
101
|
+
`keyboardforwardseekoffset`, `keyboardbackwardseekoffset`
|
|
102
|
+
|
|
103
|
+
`value` on `media-hotkey`
|
|
104
|
+
|
|
105
|
+
Set the signed seek amount per element.
|
|
106
|
+
|
|
107
|
+
`defaultsubtitles`
|
|
108
|
+
|
|
109
|
+
`media-captions-button` or player state
|
|
110
|
+
|
|
111
|
+
Partial: captions can be toggled, but “on by default” isn’t a flag yet.
|
|
112
|
+
|
|
113
|
+
`defaultstreamtype`
|
|
114
|
+
|
|
115
|
+
`streamType` feature
|
|
116
|
+
|
|
117
|
+
Partial: derived from the media, with no pre-load default.
|
|
118
|
+
|
|
119
|
+
`liveedgeoffset`, `seektoliveoffset`
|
|
120
|
+
|
|
121
|
+
live media engine
|
|
122
|
+
|
|
123
|
+
Live-edge behavior lives in the playback engine, not a UI attribute.
|
|
124
|
+
|
|
125
|
+
`lang`
|
|
126
|
+
|
|
127
|
+
i18n translator
|
|
128
|
+
|
|
129
|
+
Localization is configured through the [translator and locale registry](../concepts/i18n.md).
|
|
130
|
+
|
|
131
|
+
### Hotkeys
|
|
132
|
+
|
|
133
|
+
Media Chrome toggles keyboard shortcuts with `nohotkeys` and `hotkeys`. Video.js declares each shortcut as its own element, so you opt in to exactly the keys you want and set seek offsets inline:
|
|
134
|
+
|
|
135
|
+
html
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
<media-hotkey keys="Space" action="togglePaused"></media-hotkey>
|
|
139
|
+
<media-hotkey keys="m" action="toggleMuted"></media-hotkey>
|
|
140
|
+
<media-hotkey keys="ArrowRight" action="seekStep" value="5"></media-hotkey>
|
|
141
|
+
<media-hotkey keys="ArrowLeft" action="seekStep" value="-5"></media-hotkey>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
To drop a shortcut, remove its element or add `disabled`. There’s no global “all hotkeys off” switch; omit the elements you don’t need.
|
|
145
|
+
|
|
146
|
+
### Gestures
|
|
147
|
+
|
|
148
|
+
`gesturesdisabled` becomes per-element `<media-gesture>` controls. Tap and double-tap behavior — click to toggle play, double-tap to seek or go fullscreen — is declared explicitly:
|
|
149
|
+
|
|
150
|
+
html
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
<media-gesture type="tap" action="togglePaused" pointer="mouse" region="center"></media-gesture>
|
|
154
|
+
<media-gesture type="doubletap" action="seekStep" value="-10" region="left"></media-gesture>
|
|
155
|
+
<media-gesture type="doubletap" action="seekStep" value="10" region="right"></media-gesture>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Remove an element or set `disabled` to turn a gesture off.
|
|
159
|
+
|
|
160
|
+
## Map the elements
|
|
161
|
+
|
|
162
|
+
Most names match. These are the renames that bite:
|
|
163
|
+
|
|
164
|
+
Media Chrome
|
|
165
|
+
|
|
166
|
+
Video.js v10
|
|
167
|
+
|
|
168
|
+
Note
|
|
169
|
+
|
|
170
|
+
`media-controller`
|
|
171
|
+
|
|
172
|
+
a player plus `media-container`
|
|
173
|
+
|
|
174
|
+
one element becomes two: state and layout
|
|
175
|
+
|
|
176
|
+
`media-control-bar`
|
|
177
|
+
|
|
178
|
+
`media-controls`, `media-controls-group`
|
|
179
|
+
|
|
180
|
+
grouping
|
|
181
|
+
|
|
182
|
+
`media-time-range`
|
|
183
|
+
|
|
184
|
+
`media-time-slider`
|
|
185
|
+
|
|
186
|
+
“range” becomes “slider”
|
|
187
|
+
|
|
188
|
+
`media-volume-range`
|
|
189
|
+
|
|
190
|
+
`media-volume-slider`
|
|
191
|
+
|
|
192
|
+
“range” becomes “slider”
|
|
193
|
+
|
|
194
|
+
`media-time-display`, `media-duration-display`
|
|
195
|
+
|
|
196
|
+
`media-time`
|
|
197
|
+
|
|
198
|
+
one element, set via attribute
|
|
199
|
+
|
|
200
|
+
`media-loading-indicator`
|
|
201
|
+
|
|
202
|
+
`media-buffering-indicator`
|
|
203
|
+
|
|
204
|
+
rename
|
|
205
|
+
|
|
206
|
+
`media-poster-image`
|
|
207
|
+
|
|
208
|
+
`media-poster`
|
|
209
|
+
|
|
210
|
+
rename, and the image source moves — see below
|
|
211
|
+
|
|
212
|
+
`media-seek-backward-button`, `media-seek-forward-button`
|
|
213
|
+
|
|
214
|
+
`media-seek-button`
|
|
215
|
+
|
|
216
|
+
one element, direction via signed `seconds`
|
|
217
|
+
|
|
218
|
+
`media-rendition-menu`
|
|
219
|
+
|
|
220
|
+
`media-quality-radio-group`
|
|
221
|
+
|
|
222
|
+
inside `media-menu`
|
|
223
|
+
|
|
224
|
+
`media-captions-menu`
|
|
225
|
+
|
|
226
|
+
`media-captions-radio-group`
|
|
227
|
+
|
|
228
|
+
inside `media-menu`
|
|
229
|
+
|
|
230
|
+
`media-playback-rate-menu`
|
|
231
|
+
|
|
232
|
+
`media-playback-rate-radio-group`
|
|
233
|
+
|
|
234
|
+
inside `media-menu`
|
|
235
|
+
|
|
236
|
+
`media-audio-track-menu`
|
|
237
|
+
|
|
238
|
+
`media-audio-track-radio-group`
|
|
239
|
+
|
|
240
|
+
inside `media-menu`
|
|
241
|
+
|
|
242
|
+
Unchanged names: `media-play-button`, `media-mute-button`, `media-fullscreen-button`, `media-pip-button`, `media-airplay-button`, `media-cast-button`, `media-captions-button`, `media-playback-rate-button`, `media-tooltip`, and `media-thumbnail`.
|
|
243
|
+
|
|
244
|
+
Sliders are compound in both, using `media-slider-track`, `media-slider-fill`, and `media-slider-thumb`.
|
|
245
|
+
|
|
246
|
+
`media-poster` is the one rename that changes shape. Where `media-poster-image` took its own `src`, `media-poster` wraps the image you bring:
|
|
247
|
+
|
|
248
|
+
html
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
<media-poster>
|
|
252
|
+
<img src="/poster.jpg" alt="" decoding="async" />
|
|
253
|
+
</media-poster>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Rewrite your styles
|
|
257
|
+
|
|
258
|
+
Media Chrome reflects state as `media*` attributes such as `mediapaused`; Video.js uses `data-*`.
|
|
259
|
+
|
|
260
|
+
css
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
/* Media Chrome */
|
|
264
|
+
media-play-button[mediapaused] .play-icon { display: inline; }
|
|
265
|
+
|
|
266
|
+
/* Video.js */
|
|
267
|
+
media-play-button[data-paused] .play-icon { display: inline; }
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Continuous values use CSS custom properties: sliders expose `--media-slider-fill` and `--media-slider-pointer`.
|
|
271
|
+
|
|
272
|
+
## Themes become skins
|
|
273
|
+
|
|
274
|
+
Media Chrome’s `<template>`\-based themes (`media-theme`) become Video.js [skins](../concepts/skins.md) and [presets](../concepts/presets.md). Start from a preset, then eject and customize with [Customize skins](./customize-skins.md), rather than authoring a template.
|
|
275
|
+
|
|
276
|
+
## Known gaps
|
|
277
|
+
|
|
278
|
+
These Media Chrome features have no direct equivalent yet. Several can be approximated; see [Workarounds](#workarounds).
|
|
279
|
+
|
|
280
|
+
* No configurable `autohide` delay or disable switch (`autohide="-1"`), and no `autohideovercontrols` ([#1728](https://github.com/videojs/v10/issues/1728))
|
|
281
|
+
* No `defaultduration` placeholder before the media loads ([#1729](https://github.com/videojs/v10/issues/1729))
|
|
282
|
+
* No preference persistence, so Media Chrome’s `novolumepref`, `nomutedpref`, and `nosubtitleslangpref` opt-outs have nothing to opt out of. Persistence is out of scope for GA; tracked at [#944](https://github.com/videojs/v10/issues/944), with subtitle language at [#1423](https://github.com/videojs/v10/issues/1423)
|
|
283
|
+
* No `breakpoints` or container-breakpoint attributes; use CSS container queries instead
|
|
284
|
+
* No `seektoliveoffset` or `noautoseektolive` controls, and live-edge offset and tolerance aren’t configurable ([#1730](https://github.com/videojs/v10/issues/1730))
|
|
285
|
+
* Chapters render, but there’s no active-chapter state, no `chapterchange` event, and no menu to jump between them ([#1873](https://github.com/videojs/v10/issues/1873))
|
|
286
|
+
* Cue points are not supported ([#1442](https://github.com/videojs/v10/issues/1442))
|
|
287
|
+
|
|
288
|
+
Chapters themselves do work. Add a default `<track kind="chapters">` and the packaged skins segment the time slider and show the chapter title on hover, via `media-time-slider-chapters` and `media-time-slider-chapter-title`.
|
|
289
|
+
|
|
290
|
+
## Workarounds
|
|
291
|
+
|
|
292
|
+
### Disable autohide (`autohide="-1"`)
|
|
293
|
+
|
|
294
|
+
The skin hides controls by removing `data-visible` from the root `<media-controls>`. Which element then fades depends on the player’s width: below `32rem` it’s the `--primary` and `--secondary` groups inside the root, and at or above `32rem` it’s the root itself. Override both, plus the hidden cursor, in your player CSS:
|
|
295
|
+
|
|
296
|
+
css
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
.media-default-skin--video .media-controls--root:not([data-visible]) {
|
|
300
|
+
opacity: 1;
|
|
301
|
+
scale: 1;
|
|
302
|
+
filter: none;
|
|
303
|
+
pointer-events: auto;
|
|
304
|
+
|
|
305
|
+
.media-controls--primary,
|
|
306
|
+
.media-controls--secondary {
|
|
307
|
+
opacity: 1;
|
|
308
|
+
scale: 1;
|
|
309
|
+
filter: none;
|
|
310
|
+
pointer-events: auto;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.media-default-skin--video:has(.media-controls--root:not([data-visible])) {
|
|
315
|
+
cursor: auto;
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Two things make this fragile. It matches the skin’s own selectors exactly, so it only wins on source order — load your stylesheet after the skin’s. And the class names are the default skin’s; the minimal skin fades `.media-minimal-skin--video .media-controls` instead, with no groups to reach.
|
|
320
|
+
|
|
321
|
+
To change the *delay* rather than disable it, note that the idle timer is a constant inside `controlsFeature`. Fork that feature, swap it into a custom feature list, and pass that list to `createPlayer`:
|
|
322
|
+
|
|
323
|
+
ts
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
const features = videoFeatures.map((f) => (f.name === 'controls' ? myControlsFeature : f));
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Breakpoints
|
|
330
|
+
|
|
331
|
+
The skin root is an inline-size container named `media-root`, so write responsive styles with container queries instead of `breakpoints` attributes. This is exactly how the built-in skins adapt:
|
|
332
|
+
|
|
333
|
+
css
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
@container media-root (width > 40rem) {
|
|
337
|
+
.media-controls { /* wide layout */ }
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Default duration
|
|
342
|
+
|
|
343
|
+
There’s no player input for a pre-load duration. Use `preload="metadata"`, the default, so the real duration is known almost immediately; only `preload="none"` defers it. If you must defer loading, render your own static placeholder in markup.
|
|
344
|
+
|
|
345
|
+
### Preference persistence
|
|
346
|
+
|
|
347
|
+
Media Chrome remembers volume, muted state, and language across sessions. Video.js v10 persists nothing, so restore and save the values yourself.
|
|
348
|
+
|
|
349
|
+
Work against the store directly: `selectVolume(store.state).setVolume(…)` on init, and `store.subscribe(…)` to save on change.
|
|
350
|
+
|
|
351
|
+
### Live edge offsets
|
|
352
|
+
|
|
353
|
+
`seektoliveoffset` and `noautoseektolive` are governed by the playback engine rather than the UI layer, so there’s no attribute to tune them today. The escape hatch is a custom live control built against the `selectLive` and `selectTime` player state.
|
|
354
|
+
|
|
355
|
+
## See also
|
|
356
|
+
|
|
357
|
+
* [Installation](./installation.md)
|
|
358
|
+
* [UI components](../concepts/ui-components.md)
|
|
359
|
+
* [Skins](../concepts/skins.md) and [Customize skins](./customize-skins.md)
|