@videojs/react 10.0.0-beta.31 → 10.0.0-beta.32
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/dist/default/i18n/context.js.map +1 -1
- package/dist/default/i18n/create-i18n.js +7 -4
- package/dist/default/i18n/create-i18n.js.map +1 -1
- package/dist/default/i18n/get-provider-root-props.js.map +1 -1
- package/dist/default/i18n/locales/all/register.js.map +1 -1
- package/dist/default/i18n/locales/ar/register.js.map +1 -1
- package/dist/default/i18n/locales/az/register.js.map +1 -1
- package/dist/default/i18n/locales/bg/register.js.map +1 -1
- package/dist/default/i18n/locales/bn/register.js.map +1 -1
- package/dist/default/i18n/locales/bs/register.js.map +1 -1
- package/dist/default/i18n/locales/ca/register.js.map +1 -1
- package/dist/default/i18n/locales/cs/register.js.map +1 -1
- package/dist/default/i18n/locales/cy/register.js.map +1 -1
- package/dist/default/i18n/locales/da/register.js.map +1 -1
- package/dist/default/i18n/locales/de/register.js.map +1 -1
- package/dist/default/i18n/locales/el/register.js.map +1 -1
- package/dist/default/i18n/locales/en/register.js.map +1 -1
- package/dist/default/i18n/locales/es/register.js.map +1 -1
- package/dist/default/i18n/locales/et/register.js.map +1 -1
- package/dist/default/i18n/locales/eu/register.js.map +1 -1
- package/dist/default/i18n/locales/fa/register.js.map +1 -1
- package/dist/default/i18n/locales/fi/register.js.map +1 -1
- package/dist/default/i18n/locales/fr/register.js.map +1 -1
- package/dist/default/i18n/locales/gd/register.js.map +1 -1
- package/dist/default/i18n/locales/gl/register.js.map +1 -1
- package/dist/default/i18n/locales/he/register.js.map +1 -1
- package/dist/default/i18n/locales/hi/register.js.map +1 -1
- package/dist/default/i18n/locales/hr/register.js.map +1 -1
- package/dist/default/i18n/locales/hu/register.js.map +1 -1
- package/dist/default/i18n/locales/id/register.js.map +1 -1
- package/dist/default/i18n/locales/it/register.js.map +1 -1
- package/dist/default/i18n/locales/ja/register.js.map +1 -1
- package/dist/default/i18n/locales/ko/register.js.map +1 -1
- package/dist/default/i18n/locales/lt/register.js.map +1 -1
- package/dist/default/i18n/locales/lv/register.js.map +1 -1
- package/dist/default/i18n/locales/mr/register.js.map +1 -1
- package/dist/default/i18n/locales/nb/register.js.map +1 -1
- package/dist/default/i18n/locales/ne/register.js.map +1 -1
- package/dist/default/i18n/locales/nl/register.js.map +1 -1
- package/dist/default/i18n/locales/nn/register.js.map +1 -1
- package/dist/default/i18n/locales/oc/register.js.map +1 -1
- package/dist/default/i18n/locales/pl/register.js.map +1 -1
- package/dist/default/i18n/locales/pt/register.js.map +1 -1
- package/dist/default/i18n/locales/pt-BR/register.js.map +1 -1
- package/dist/default/i18n/locales/pt-PT/register.js.map +1 -1
- package/dist/default/i18n/locales/ro/register.js.map +1 -1
- package/dist/default/i18n/locales/ru/register.js.map +1 -1
- package/dist/default/i18n/locales/sk/register.js.map +1 -1
- package/dist/default/i18n/locales/sl/register.js.map +1 -1
- package/dist/default/i18n/locales/sr/register.js.map +1 -1
- package/dist/default/i18n/locales/sv/register.js.map +1 -1
- package/dist/default/i18n/locales/te/register.js.map +1 -1
- package/dist/default/i18n/locales/th/register.js.map +1 -1
- package/dist/default/i18n/locales/tr/register.js.map +1 -1
- package/dist/default/i18n/locales/uk/register.js.map +1 -1
- package/dist/default/i18n/locales/vi/register.js.map +1 -1
- package/dist/default/i18n/locales/zh/register.js.map +1 -1
- package/dist/default/i18n/locales/zh-CN/register.js.map +1 -1
- package/dist/default/i18n/locales/zh-TW/register.js.map +1 -1
- package/dist/default/i18n/text.js.map +1 -1
- package/dist/default/i18n/use-ambient-lang.js.map +1 -1
- package/dist/default/i18n/use-lang-root-element.js.map +1 -1
- package/dist/default/i18n/use-lazy-translations.js.map +1 -1
- package/dist/default/i18n/use-locale-root-notifications.js.map +1 -1
- package/dist/default/i18n/use-merged-translations.js +4 -2
- package/dist/default/i18n/use-merged-translations.js.map +1 -1
- package/dist/default/icons/dist/react/default/airplay-enter.js +5 -2
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/airplay-exit.js +5 -2
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-off.js +5 -2
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-on.js +5 -2
- package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-enter.js +5 -2
- package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-exit.js +5 -2
- package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/check.js +5 -2
- package/dist/default/icons/dist/react/default/check.js.map +1 -1
- package/dist/default/icons/dist/react/default/chevron.js +5 -2
- package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-enter.js +5 -2
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js +5 -2
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/gear.js +5 -2
- package/dist/default/icons/dist/react/default/gear.js.map +1 -1
- package/dist/default/icons/dist/react/default/pause.js +5 -2
- package/dist/default/icons/dist/react/default/pause.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-enter.js +5 -2
- package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-exit.js +5 -2
- package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/play.js +5 -2
- package/dist/default/icons/dist/react/default/play.js.map +1 -1
- package/dist/default/icons/dist/react/default/quality.js +5 -2
- package/dist/default/icons/dist/react/default/quality.js.map +1 -1
- package/dist/default/icons/dist/react/default/restart.js +5 -2
- package/dist/default/icons/dist/react/default/restart.js.map +1 -1
- package/dist/default/icons/dist/react/default/seek.js +5 -2
- package/dist/default/icons/dist/react/default/seek.js.map +1 -1
- package/dist/default/icons/dist/react/default/speech.js +5 -2
- package/dist/default/icons/dist/react/default/speech.js.map +1 -1
- package/dist/default/icons/dist/react/default/speed.js +5 -2
- package/dist/default/icons/dist/react/default/speed.js.map +1 -1
- package/dist/default/icons/dist/react/default/spinner.js +5 -2
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/switches.js +5 -2
- package/dist/default/icons/dist/react/default/switches.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-high.js +5 -2
- package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-low.js +5 -2
- package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-off.js +5 -2
- package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-off.js +5 -2
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js +5 -2
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/check.js +5 -2
- package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/chevron.js +5 -2
- package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/gear.js +5 -2
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pause.js +5 -2
- package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/play.js +5 -2
- package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/quality.js +5 -2
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/restart.js +5 -2
- package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/seek.js +5 -2
- package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speech.js +5 -2
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speed.js +5 -2
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/spinner.js +5 -2
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/switches.js +5 -2
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-high.js +5 -2
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js +5 -2
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js +5 -2
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/default/icons/index.js +26 -26
- package/dist/default/icons/minimal/index.js +26 -26
- package/dist/default/index.js +15 -13
- package/dist/default/media/audio.js +3 -1
- package/dist/default/media/audio.js.map +1 -1
- package/dist/default/media/background-video/media.js +5 -3
- package/dist/default/media/background-video/media.js.map +1 -1
- package/dist/default/media/cloudflare-video/media.js +2 -1
- package/dist/default/media/cloudflare-video/media.js.map +1 -1
- package/dist/default/media/dash-video/media.js +5 -2
- package/dist/default/media/dash-video/media.js.map +1 -1
- package/dist/default/media/google-cast/google-cast.js +10 -10
- package/dist/default/media/google-cast/google-cast.js.map +1 -1
- package/dist/default/media/hls-audio/media.js +5 -2
- package/dist/default/media/hls-audio/media.js.map +1 -1
- package/dist/default/media/hls-background-video/media.js +15 -20
- package/dist/default/media/hls-background-video/media.js.map +1 -1
- package/dist/default/media/hls-video/media.js +5 -2
- package/dist/default/media/hls-video/media.js.map +1 -1
- package/dist/default/media/hlsjs-video/media.js +5 -2
- package/dist/default/media/hlsjs-video/media.js.map +1 -1
- package/dist/default/media/mux-audio/hls-js.js +5 -2
- package/dist/default/media/mux-audio/hls-js.js.map +1 -1
- package/dist/default/media/mux-audio/spf.js +5 -2
- package/dist/default/media/mux-audio/spf.js.map +1 -1
- package/dist/default/media/mux-data/mux-data.js +13 -17
- package/dist/default/media/mux-data/mux-data.js.map +1 -1
- package/dist/default/media/mux-video/hls-js.js +5 -2
- package/dist/default/media/mux-video/hls-js.js.map +1 -1
- package/dist/default/media/mux-video/spf.js +5 -2
- package/dist/default/media/mux-video/spf.js.map +1 -1
- package/dist/default/media/mux-video/storyboard.js +1 -4
- package/dist/default/media/mux-video/storyboard.js.map +1 -1
- package/dist/default/media/native-hls-video/media.js +5 -2
- package/dist/default/media/native-hls-video/media.js.map +1 -1
- package/dist/default/media/shaka-video/media.js +5 -2
- package/dist/default/media/shaka-video/media.js.map +1 -1
- package/dist/default/media/spotify-audio/media.js +2 -1
- package/dist/default/media/spotify-audio/media.js.map +1 -1
- package/dist/default/media/tiktok-video/media.js +2 -1
- package/dist/default/media/tiktok-video/media.js.map +1 -1
- package/dist/default/media/twitch-video/media.js +2 -1
- package/dist/default/media/twitch-video/media.js.map +1 -1
- package/dist/default/media/video.js +9 -1
- package/dist/default/media/video.js.map +1 -1
- package/dist/default/media/vimeo-video/media.js +2 -1
- package/dist/default/media/vimeo-video/media.js.map +1 -1
- package/dist/default/media/youtube-video/media.js +2 -1
- package/dist/default/media/youtube-video/media.js.map +1 -1
- package/dist/default/player/container.js +8 -2
- package/dist/default/player/container.js.map +1 -1
- package/dist/default/player/context.js +2 -1
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +12 -11
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +316 -251
- package/dist/default/presets/audio/minimal-skin.js +66 -38
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +65 -38
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/player.js.map +1 -1
- package/dist/default/presets/audio/skin.css +305 -239
- package/dist/default/presets/audio/skin.js +48 -36
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +46 -35
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/background/player.js.map +1 -1
- package/dist/default/presets/background/skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.css +316 -251
- package/dist/default/presets/live-audio/minimal-skin.js +42 -28
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +41 -25
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/player.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +305 -239
- package/dist/default/presets/live-audio/skin.js +24 -25
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +22 -22
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +404 -366
- package/dist/default/presets/live-video/minimal-skin.js +103 -86
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +104 -86
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/player.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +362 -321
- package/dist/default/presets/live-video/skin.js +87 -84
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +87 -84
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +404 -366
- package/dist/default/presets/video/minimal-skin.js +104 -80
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +100 -85
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/player.js.map +1 -1
- package/dist/default/presets/video/skin.css +362 -321
- package/dist/default/presets/video/skin.js +88 -80
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +84 -84
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +6 -6
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/container.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/dialog.js +15 -0
- package/dist/default/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -8
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -4
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +10 -10
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +6 -6
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -8
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-root.js +14 -45
- package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/default/ui/alert-dialog/index.js +1 -2
- package/dist/default/ui/alert-dialog/index.parts.js +11 -9
- package/dist/default/ui/alert-dialog/index.parts.js.map +1 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js +2 -2
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator.js +7 -7
- package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/default/ui/captions-button/captions-button.js.map +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group.js +11 -11
- package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js +2 -3
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/controls/controls-backdrop.js +28 -0
- package/dist/default/ui/controls/controls-backdrop.js.map +1 -0
- package/dist/default/ui/controls/controls-content.js +27 -0
- package/dist/default/ui/controls/controls-content.js.map +1 -0
- package/dist/default/ui/controls/controls-root.js +5 -20
- package/dist/default/ui/controls/controls-root.js.map +1 -1
- package/dist/default/ui/controls/index.parts.js +5 -1
- package/dist/default/ui/controls/index.parts.js.map +1 -1
- package/dist/default/ui/create-context-part.js.map +1 -1
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/dialog/context.js +17 -0
- package/dist/default/ui/dialog/context.js.map +1 -0
- package/dist/default/ui/dialog/dialog-backdrop.js +26 -0
- package/dist/default/ui/dialog/dialog-backdrop.js.map +1 -0
- package/dist/default/ui/dialog/dialog-close.js +29 -0
- package/dist/default/ui/dialog/dialog-close.js.map +1 -0
- package/dist/default/ui/dialog/dialog-description.js +14 -0
- package/dist/default/ui/dialog/dialog-description.js.map +1 -0
- package/dist/default/ui/dialog/dialog-popup.js +28 -0
- package/dist/default/ui/dialog/dialog-popup.js.map +1 -0
- package/dist/default/ui/dialog/dialog-root.js +23 -0
- package/dist/default/ui/dialog/dialog-root.js.map +1 -0
- package/dist/default/ui/dialog/dialog-title.js +14 -0
- package/dist/default/ui/dialog/dialog-title.js.map +1 -0
- package/dist/default/ui/dialog/dialog-trigger.js +30 -0
- package/dist/default/ui/dialog/dialog-trigger.js.map +1 -0
- package/dist/default/ui/dialog/index.js +3 -0
- package/dist/default/ui/dialog/index.parts.js +22 -0
- package/dist/default/ui/dialog/index.parts.js.map +1 -0
- package/dist/default/ui/dialog/use-dialog-root.js +59 -0
- package/dist/default/ui/dialog/use-dialog-root.js.map +1 -0
- package/dist/default/ui/error-dialog/context.js +1 -0
- package/dist/default/ui/error-dialog/context.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-close.js +3 -2
- package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-description.js +3 -2
- package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-root.js +19 -34
- package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-title.js +3 -2
- package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -1
- package/dist/default/ui/error-dialog/index.parts.js +5 -3
- package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/default/ui/gesture/use-doubletap-gesture.js +6 -0
- package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/default/ui/gesture/use-tap-gesture.js +6 -0
- package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -1
- package/dist/default/ui/hooks/use-button.js +15 -14
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hooks/use-slider.js +5 -5
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js +6 -0
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey.js +5 -0
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js +2 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +7 -10
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js +10 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +3 -1
- package/dist/default/ui/menu/index.parts.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +44 -106
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/default/ui/menu/menu-item.js +22 -20
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-keyboard.js.map +1 -1
- package/dist/default/ui/menu/menu-popup.js +69 -0
- package/dist/default/ui/menu/menu-popup.js.map +1 -0
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +28 -27
- package/dist/default/ui/menu/menu-root.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +2 -3
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/menu/use-menu-group.js +2 -1
- package/dist/default/ui/menu/use-menu-group.js.map +1 -1
- package/dist/default/ui/play-button/play-button.js +8 -8
- package/dist/default/ui/play-button/play-button.js.map +1 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +2 -2
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +8 -8
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
- package/dist/default/ui/popover/context.js +1 -0
- package/dist/default/ui/popover/context.js.map +1 -1
- package/dist/default/ui/popover/popover-popup.js +7 -3
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +1 -1
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/use-popup-position.js +2 -1
- package/dist/default/ui/popover/use-popup-position.js.map +1 -1
- package/dist/default/ui/poster/poster.js +11 -13
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/use-quality-options.js +2 -3
- package/dist/default/ui/quality/use-quality-options.js.map +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group.js +12 -12
- package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -1
- package/dist/default/ui/seek-button/seek-button.js +8 -8
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/seek-indicator/context.js.map +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/slider-root.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/default/ui/status-indicator/context.js.map +1 -1
- package/dist/default/ui/status-indicator/index.parts.js.map +1 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js +2 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/default/ui/thumbnail/thumbnail.js +5 -6
- package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/default/ui/time/time-group.js +7 -7
- package/dist/default/ui/time/time-group.js.map +1 -1
- package/dist/default/ui/time/time-separator.js +4 -4
- package/dist/default/ui/time/time-separator.js.map +1 -1
- package/dist/default/ui/time/time-value.js +5 -5
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/title/title.js +5 -6
- package/dist/default/ui/title/title.js.map +1 -1
- package/dist/default/ui/tooltip/context.js +1 -0
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-popup.js +7 -3
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +4 -2
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
- package/dist/default/ui/volume-indicator/context.js.map +1 -1
- package/dist/default/ui/volume-indicator/index.parts.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js +3 -2
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +2 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/default/ui/volume-popover/context.js +13 -0
- package/dist/default/ui/volume-popover/context.js.map +1 -0
- package/dist/default/ui/volume-popover/index.js +2 -0
- package/dist/default/ui/volume-popover/index.parts.js +14 -0
- package/dist/default/ui/volume-popover/index.parts.js.map +1 -0
- package/dist/default/ui/volume-popover/volume-popover-popup.js +21 -0
- package/dist/default/ui/volume-popover/volume-popover-popup.js.map +1 -0
- package/dist/default/ui/volume-popover/volume-popover-root.js +47 -0
- package/dist/default/ui/volume-popover/volume-popover-root.js.map +1 -0
- package/dist/default/ui/volume-popover/volume-popover-trigger.js +32 -0
- package/dist/default/ui/volume-popover/volume-popover-trigger.js.map +1 -0
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/default/utils/merge-props.js +20 -30
- package/dist/default/utils/merge-props.js.map +1 -1
- package/dist/default/utils/use-attach-iframe.js.map +1 -1
- package/dist/default/utils/use-attach-media.js +5 -0
- package/dist/default/utils/use-attach-media.js.map +1 -1
- package/dist/default/utils/use-composed-refs.js +10 -8
- package/dist/default/utils/use-composed-refs.js.map +1 -1
- package/dist/default/utils/use-destroy.js +7 -9
- package/dist/default/utils/use-destroy.js.map +1 -1
- package/dist/default/utils/use-force-render.js.map +1 -1
- package/dist/default/utils/use-latest-ref.js +4 -2
- package/dist/default/utils/use-latest-ref.js.map +1 -1
- package/dist/default/utils/use-media-component.js +7 -6
- package/dist/default/utils/use-media-component.js.map +1 -1
- package/dist/default/utils/use-media-instance.js +8 -7
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js +13 -15
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/default/utils/use-safe-id.js +3 -4
- package/dist/default/utils/use-safe-id.js.map +1 -1
- package/dist/default/utils/use-sync-props.js.map +1 -1
- package/dist/dev/i18n/context.d.ts.map +1 -1
- package/dist/dev/i18n/context.js.map +1 -1
- package/dist/dev/i18n/create-i18n.d.ts +15 -16
- package/dist/dev/i18n/create-i18n.d.ts.map +1 -1
- package/dist/dev/i18n/create-i18n.js +7 -4
- package/dist/dev/i18n/create-i18n.js.map +1 -1
- package/dist/dev/i18n/get-provider-root-props.js.map +1 -1
- package/dist/dev/i18n/locales/all/register.js.map +1 -1
- package/dist/dev/i18n/locales/ar/register.js.map +1 -1
- package/dist/dev/i18n/locales/az/register.js.map +1 -1
- package/dist/dev/i18n/locales/bg/register.js.map +1 -1
- package/dist/dev/i18n/locales/bn/register.js.map +1 -1
- package/dist/dev/i18n/locales/bs/register.js.map +1 -1
- package/dist/dev/i18n/locales/ca/register.js.map +1 -1
- package/dist/dev/i18n/locales/cs/register.js.map +1 -1
- package/dist/dev/i18n/locales/cy/register.js.map +1 -1
- package/dist/dev/i18n/locales/da/register.js.map +1 -1
- package/dist/dev/i18n/locales/de/register.js.map +1 -1
- package/dist/dev/i18n/locales/el/register.js.map +1 -1
- package/dist/dev/i18n/locales/en/register.js.map +1 -1
- package/dist/dev/i18n/locales/es/register.js.map +1 -1
- package/dist/dev/i18n/locales/et/register.js.map +1 -1
- package/dist/dev/i18n/locales/eu/register.js.map +1 -1
- package/dist/dev/i18n/locales/fa/register.js.map +1 -1
- package/dist/dev/i18n/locales/fi/register.js.map +1 -1
- package/dist/dev/i18n/locales/fr/register.js.map +1 -1
- package/dist/dev/i18n/locales/gd/register.js.map +1 -1
- package/dist/dev/i18n/locales/gl/register.js.map +1 -1
- package/dist/dev/i18n/locales/he/register.js.map +1 -1
- package/dist/dev/i18n/locales/hi/register.js.map +1 -1
- package/dist/dev/i18n/locales/hr/register.js.map +1 -1
- package/dist/dev/i18n/locales/hu/register.js.map +1 -1
- package/dist/dev/i18n/locales/id/register.js.map +1 -1
- package/dist/dev/i18n/locales/it/register.js.map +1 -1
- package/dist/dev/i18n/locales/ja/register.js.map +1 -1
- package/dist/dev/i18n/locales/ko/register.js.map +1 -1
- package/dist/dev/i18n/locales/lt/register.js.map +1 -1
- package/dist/dev/i18n/locales/lv/register.js.map +1 -1
- package/dist/dev/i18n/locales/mr/register.js.map +1 -1
- package/dist/dev/i18n/locales/nb/register.js.map +1 -1
- package/dist/dev/i18n/locales/ne/register.js.map +1 -1
- package/dist/dev/i18n/locales/nl/register.js.map +1 -1
- package/dist/dev/i18n/locales/nn/register.js.map +1 -1
- package/dist/dev/i18n/locales/oc/register.js.map +1 -1
- package/dist/dev/i18n/locales/pl/register.js.map +1 -1
- package/dist/dev/i18n/locales/pt/register.js.map +1 -1
- package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -1
- package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -1
- package/dist/dev/i18n/locales/ro/register.js.map +1 -1
- package/dist/dev/i18n/locales/ru/register.js.map +1 -1
- package/dist/dev/i18n/locales/sk/register.js.map +1 -1
- package/dist/dev/i18n/locales/sl/register.js.map +1 -1
- package/dist/dev/i18n/locales/sr/register.js.map +1 -1
- package/dist/dev/i18n/locales/sv/register.js.map +1 -1
- package/dist/dev/i18n/locales/te/register.js.map +1 -1
- package/dist/dev/i18n/locales/th/register.js.map +1 -1
- package/dist/dev/i18n/locales/tr/register.js.map +1 -1
- package/dist/dev/i18n/locales/uk/register.js.map +1 -1
- package/dist/dev/i18n/locales/vi/register.js.map +1 -1
- package/dist/dev/i18n/locales/zh/register.js.map +1 -1
- package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -1
- package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -1
- package/dist/dev/i18n/text.d.ts.map +1 -1
- package/dist/dev/i18n/text.js.map +1 -1
- package/dist/dev/i18n/use-ambient-lang.js.map +1 -1
- package/dist/dev/i18n/use-lang-root-element.js.map +1 -1
- package/dist/dev/i18n/use-lazy-translations.js.map +1 -1
- package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -1
- package/dist/dev/i18n/use-merged-translations.js +4 -2
- package/dist/dev/i18n/use-merged-translations.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-off.js +5 -2
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-on.js +5 -2
- package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/check.js +5 -2
- package/dist/dev/icons/dist/react/default/check.js.map +1 -1
- package/dist/dev/icons/dist/react/default/chevron.js +5 -2
- package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/gear.js +5 -2
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/default/index.d.ts +1 -1
- package/dist/dev/icons/dist/react/default/pause.js +5 -2
- package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/play.js +5 -2
- package/dist/dev/icons/dist/react/default/play.js.map +1 -1
- package/dist/dev/icons/dist/react/default/quality.js +5 -2
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/default/restart.js +5 -2
- package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/default/seek.js +5 -2
- package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speech.js +5 -2
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speed.js +5 -2
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/default/spinner.js +5 -2
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/switches.js +5 -2
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-high.js +5 -2
- package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-low.js +5 -2
- package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-off.js +5 -2
- package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -2
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-on.js +5 -2
- package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/check.js +5 -2
- package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/chevron.js +5 -2
- package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/gear.js +5 -2
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts +1 -1
- package/dist/dev/icons/dist/react/minimal/pause.js +5 -2
- package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/play.js +5 -2
- package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js +5 -2
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/restart.js +5 -2
- package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/seek.js +5 -2
- package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speech.js +5 -2
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speed.js +5 -2
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/spinner.js +5 -2
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/switches.js +5 -2
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-high.js +5 -2
- package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-low.js +5 -2
- package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-off.js +5 -2
- package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/dev/icons/index.js +26 -26
- package/dist/dev/icons/minimal/index.js +26 -26
- package/dist/dev/index.d.ts +19 -14
- package/dist/dev/index.js +15 -13
- package/dist/dev/media/audio.js +3 -1
- package/dist/dev/media/audio.js.map +1 -1
- package/dist/dev/media/background-video/media.js +5 -3
- package/dist/dev/media/background-video/media.js.map +1 -1
- package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -1
- package/dist/dev/media/cloudflare-video/media.js +2 -1
- package/dist/dev/media/cloudflare-video/media.js.map +1 -1
- package/dist/dev/media/dash-video/media.d.ts.map +1 -1
- package/dist/dev/media/dash-video/media.js +5 -2
- package/dist/dev/media/dash-video/media.js.map +1 -1
- package/dist/dev/media/google-cast/google-cast.d.ts +8 -9
- package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -1
- package/dist/dev/media/google-cast/google-cast.js +10 -10
- package/dist/dev/media/google-cast/google-cast.js.map +1 -1
- package/dist/dev/media/hls-audio/media.d.ts.map +1 -1
- package/dist/dev/media/hls-audio/media.js +5 -2
- package/dist/dev/media/hls-audio/media.js.map +1 -1
- package/dist/dev/media/hls-background-video/media.d.ts +13 -19
- package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-background-video/media.js +15 -20
- package/dist/dev/media/hls-background-video/media.js.map +1 -1
- package/dist/dev/media/hls-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-video/media.js +5 -2
- package/dist/dev/media/hls-video/media.js.map +1 -1
- package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -1
- package/dist/dev/media/hlsjs-video/media.js +5 -2
- package/dist/dev/media/hlsjs-video/media.js.map +1 -1
- package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/hls-js.js +5 -2
- package/dist/dev/media/mux-audio/hls-js.js.map +1 -1
- package/dist/dev/media/mux-audio/spf.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/spf.js +5 -2
- package/dist/dev/media/mux-audio/spf.js.map +1 -1
- package/dist/dev/media/mux-data/mux-data.d.ts +13 -17
- package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
- package/dist/dev/media/mux-data/mux-data.js +13 -17
- package/dist/dev/media/mux-data/mux-data.js.map +1 -1
- package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -1
- package/dist/dev/media/mux-video/hls-js.js +5 -2
- package/dist/dev/media/mux-video/hls-js.js.map +1 -1
- package/dist/dev/media/mux-video/spf.d.ts.map +1 -1
- package/dist/dev/media/mux-video/spf.js +5 -2
- package/dist/dev/media/mux-video/spf.js.map +1 -1
- package/dist/dev/media/mux-video/storyboard.js +1 -4
- package/dist/dev/media/mux-video/storyboard.js.map +1 -1
- package/dist/dev/media/native-hls-video/media.d.ts.map +1 -1
- package/dist/dev/media/native-hls-video/media.js +5 -2
- package/dist/dev/media/native-hls-video/media.js.map +1 -1
- package/dist/dev/media/shaka-video/media.d.ts.map +1 -1
- package/dist/dev/media/shaka-video/media.js +5 -2
- package/dist/dev/media/shaka-video/media.js.map +1 -1
- package/dist/dev/media/spotify-audio/media.d.ts.map +1 -1
- package/dist/dev/media/spotify-audio/media.js +2 -1
- package/dist/dev/media/spotify-audio/media.js.map +1 -1
- package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
- package/dist/dev/media/tiktok-video/media.js +2 -1
- package/dist/dev/media/tiktok-video/media.js.map +1 -1
- package/dist/dev/media/twitch-video/media.d.ts.map +1 -1
- package/dist/dev/media/twitch-video/media.js +2 -1
- package/dist/dev/media/twitch-video/media.js.map +1 -1
- package/dist/dev/media/video.d.ts +7 -0
- package/dist/dev/media/video.d.ts.map +1 -1
- package/dist/dev/media/video.js +9 -1
- package/dist/dev/media/video.js.map +1 -1
- package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
- package/dist/dev/media/vimeo-video/media.js +2 -1
- package/dist/dev/media/vimeo-video/media.js.map +1 -1
- package/dist/dev/media/youtube-video/media.d.ts.map +1 -1
- package/dist/dev/media/youtube-video/media.js +2 -1
- package/dist/dev/media/youtube-video/media.js.map +1 -1
- package/dist/dev/player/container.d.ts.map +1 -1
- package/dist/dev/player/container.js +8 -2
- package/dist/dev/player/container.js.map +1 -1
- package/dist/dev/player/context.d.ts +14 -12
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +2 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts +19 -3
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +12 -11
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +316 -251
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +66 -38
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.js +65 -38
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/player.d.ts.map +1 -1
- package/dist/dev/presets/audio/player.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +305 -239
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +48 -36
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.js +46 -35
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/background/player.d.ts.map +1 -1
- package/dist/dev/presets/background/player.js.map +1 -1
- package/dist/dev/presets/background/skin.d.ts.map +1 -1
- package/dist/dev/presets/background/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.css +316 -251
- package/dist/dev/presets/live-audio/minimal-skin.d.ts +3 -5
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +42 -28
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +41 -25
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/player.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/player.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +305 -239
- package/dist/dev/presets/live-audio/skin.d.ts +3 -4
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +24 -25
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.js +22 -22
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +404 -366
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.js +103 -86
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js +104 -86
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/player.d.ts.map +1 -1
- package/dist/dev/presets/live-video/player.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +362 -321
- package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.js +87 -84
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +87 -84
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +13 -10
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +404 -366
- package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +104 -80
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +100 -85
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/player.d.ts.map +1 -1
- package/dist/dev/presets/video/player.js.map +1 -1
- package/dist/dev/presets/video/skin.css +362 -321
- package/dist/dev/presets/video/skin.d.ts +8 -0
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +88 -80
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +84 -84
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +6 -6
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/container.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js +15 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +12 -8
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +10 -10
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +6 -6
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +12 -8
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +4 -3
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js +14 -45
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/dev/ui/alert-dialog/index.d.ts +1 -2
- package/dist/dev/ui/alert-dialog/index.js +1 -2
- package/dist/dev/ui/alert-dialog/index.parts.d.ts +8 -6
- package/dist/dev/ui/alert-dialog/index.parts.js +11 -9
- package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +2 -2
- package/dist/dev/ui/audio-track/use-audio-track-options.js +2 -2
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +10 -10
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +7 -7
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js +7 -7
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +10 -10
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js +11 -11
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +2 -3
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +2 -3
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/controls/controls-backdrop.d.ts +16 -0
- package/dist/dev/ui/controls/controls-backdrop.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-backdrop.js +28 -0
- package/dist/dev/ui/controls/controls-backdrop.js.map +1 -0
- package/dist/dev/ui/controls/controls-content.d.ts +16 -0
- package/dist/dev/ui/controls/controls-content.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-content.js +27 -0
- package/dist/dev/ui/controls/controls-content.js.map +1 -0
- package/dist/dev/ui/controls/controls-root.d.ts +3 -4
- package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-root.js +5 -20
- package/dist/dev/ui/controls/controls-root.js.map +1 -1
- package/dist/dev/ui/controls/index.parts.d.ts +4 -2
- package/dist/dev/ui/controls/index.parts.js +5 -1
- package/dist/dev/ui/controls/index.parts.js.map +1 -1
- package/dist/dev/ui/create-context-part.js.map +1 -1
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/dialog/context.d.ts +15 -0
- package/dist/dev/ui/dialog/context.d.ts.map +1 -0
- package/dist/dev/ui/dialog/context.js +17 -0
- package/dist/dev/ui/dialog/context.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-backdrop.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-backdrop.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-backdrop.js +26 -0
- package/dist/dev/ui/dialog/dialog-backdrop.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-close.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-close.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-close.js +29 -0
- package/dist/dev/ui/dialog/dialog-close.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-description.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-description.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-description.js +14 -0
- package/dist/dev/ui/dialog/dialog-description.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-popup.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-popup.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-popup.js +28 -0
- package/dist/dev/ui/dialog/dialog-popup.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-root.d.ts +18 -0
- package/dist/dev/ui/dialog/dialog-root.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-root.js +23 -0
- package/dist/dev/ui/dialog/dialog-root.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-title.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-title.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-title.js +14 -0
- package/dist/dev/ui/dialog/dialog-title.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-trigger.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-trigger.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-trigger.js +30 -0
- package/dist/dev/ui/dialog/dialog-trigger.js.map +1 -0
- package/dist/dev/ui/dialog/index.d.ts +3 -0
- package/dist/dev/ui/dialog/index.js +3 -0
- package/dist/dev/ui/dialog/index.parts.d.ts +13 -0
- package/dist/dev/ui/dialog/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/dialog/index.parts.js +22 -0
- package/dist/dev/ui/dialog/index.parts.js.map +1 -0
- package/dist/dev/ui/dialog/use-dialog-root.js +59 -0
- package/dist/dev/ui/dialog/use-dialog-root.js.map +1 -0
- package/dist/dev/ui/error-dialog/context.d.ts +1 -0
- package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/context.js +1 -0
- package/dist/dev/ui/error-dialog/context.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +4 -3
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.js +3 -2
- package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +4 -3
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.js +3 -2
- package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.js +19 -34
- package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +4 -3
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.js +3 -2
- package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -1
- package/dist/dev/ui/error-dialog/index.parts.d.ts +5 -3
- package/dist/dev/ui/error-dialog/index.parts.js +5 -3
- package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +6 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.js +6 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts +6 -0
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.js +6 -0
- package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -1
- package/dist/dev/ui/hooks/use-button.d.ts +12 -12
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-button.js +15 -14
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.d.ts +2 -3
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js +5 -5
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +6 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +6 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.d.ts +5 -0
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.js +5 -0
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js +2 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.d.ts +7 -10
- package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
- package/dist/dev/ui/live-button/live-button.js +7 -10
- package/dist/dev/ui/live-button/live-button.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts +3 -2
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js +10 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/index.parts.d.ts +3 -2
- package/dist/dev/ui/menu/index.parts.js +3 -1
- package/dist/dev/ui/menu/index.parts.js.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +44 -106
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +22 -20
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-keyboard.js.map +1 -1
- package/dist/dev/ui/menu/menu-popup.d.ts +13 -0
- package/dist/dev/ui/menu/menu-popup.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-popup.js +70 -0
- package/dist/dev/ui/menu/menu-popup.js.map +1 -0
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +28 -27
- package/dist/dev/ui/menu/menu-root.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +2 -3
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +2 -3
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/menu/use-menu-group.js +2 -1
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
- package/dist/dev/ui/play-button/play-button.d.ts +8 -8
- package/dist/dev/ui/play-button/play-button.js +8 -8
- package/dist/dev/ui/play-button/play-button.js.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +2 -2
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +2 -2
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +8 -8
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js +8 -8
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +10 -10
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
- package/dist/dev/ui/popover/context.d.ts +1 -0
- package/dist/dev/ui/popover/context.d.ts.map +1 -1
- package/dist/dev/ui/popover/context.js +1 -0
- package/dist/dev/ui/popover/context.js.map +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts +4 -1
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +7 -3
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +1 -1
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/use-popup-position.js +2 -1
- package/dist/dev/ui/popover/use-popup-position.js.map +1 -1
- package/dist/dev/ui/poster/poster.d.ts +11 -13
- package/dist/dev/ui/poster/poster.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster.js +11 -13
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts +2 -3
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.js +2 -3
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +11 -11
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js +12 -12
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.d.ts +8 -8
- package/dist/dev/ui/seek-button/seek-button.js +8 -8
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
- package/dist/dev/ui/seek-indicator/context.js.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-root.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/dev/ui/status-indicator/context.js.map +1 -1
- package/dist/dev/ui/status-indicator/index.parts.js.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.js +5 -6
- package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/dev/ui/time/time-group.d.ts +7 -7
- package/dist/dev/ui/time/time-group.js +7 -7
- package/dist/dev/ui/time/time-group.js.map +1 -1
- package/dist/dev/ui/time/time-separator.d.ts +4 -4
- package/dist/dev/ui/time/time-separator.js +4 -4
- package/dist/dev/ui/time/time-separator.js.map +1 -1
- package/dist/dev/ui/time/time-value.d.ts +5 -5
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +5 -5
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/title/title.d.ts +5 -6
- package/dist/dev/ui/title/title.d.ts.map +1 -1
- package/dist/dev/ui/title/title.js +5 -6
- package/dist/dev/ui/title/title.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +1 -0
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js +1 -0
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts +4 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +7 -3
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +4 -2
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
- package/dist/dev/ui/volume-indicator/context.js.map +1 -1
- package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +3 -2
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +2 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/dev/ui/volume-popover/context.js +13 -0
- package/dist/dev/ui/volume-popover/context.js.map +1 -0
- package/dist/dev/ui/volume-popover/index.d.ts +2 -0
- package/dist/dev/ui/volume-popover/index.js +2 -0
- package/dist/dev/ui/volume-popover/index.parts.d.ts +9 -0
- package/dist/dev/ui/volume-popover/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/index.parts.js +14 -0
- package/dist/dev/ui/volume-popover/index.parts.js.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts +11 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.js +21 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.js.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.d.ts +14 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.js +47 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.js.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts +11 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.js +32 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.js.map +1 -0
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/utils/merge-props.d.ts +14 -12
- package/dist/dev/utils/merge-props.d.ts.map +1 -1
- package/dist/dev/utils/merge-props.js +20 -30
- package/dist/dev/utils/merge-props.js.map +1 -1
- package/dist/dev/utils/types.d.ts +2 -4
- package/dist/dev/utils/types.d.ts.map +1 -1
- package/dist/dev/utils/use-attach-iframe.js.map +1 -1
- package/dist/dev/utils/use-attach-media.d.ts +5 -0
- package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
- package/dist/dev/utils/use-attach-media.js +5 -0
- package/dist/dev/utils/use-attach-media.js.map +1 -1
- package/dist/dev/utils/use-composed-refs.d.ts +10 -8
- package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
- package/dist/dev/utils/use-composed-refs.js +10 -8
- package/dist/dev/utils/use-composed-refs.js.map +1 -1
- package/dist/dev/utils/use-destroy.d.ts +7 -9
- package/dist/dev/utils/use-destroy.d.ts.map +1 -1
- package/dist/dev/utils/use-destroy.js +7 -9
- package/dist/dev/utils/use-destroy.js.map +1 -1
- package/dist/dev/utils/use-force-render.js.map +1 -1
- package/dist/dev/utils/use-latest-ref.d.ts +4 -2
- package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
- package/dist/dev/utils/use-latest-ref.js +4 -2
- package/dist/dev/utils/use-latest-ref.js.map +1 -1
- package/dist/dev/utils/use-media-component.d.ts +7 -6
- package/dist/dev/utils/use-media-component.d.ts.map +1 -1
- package/dist/dev/utils/use-media-component.js +7 -6
- package/dist/dev/utils/use-media-component.js.map +1 -1
- package/dist/dev/utils/use-media-instance.d.ts +8 -7
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +8 -7
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts +11 -14
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +13 -15
- package/dist/dev/utils/use-render.js.map +1 -1
- package/dist/dev/utils/use-safe-id.js +3 -4
- package/dist/dev/utils/use-safe-id.js.map +1 -1
- package/dist/dev/utils/use-sync-props.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/browser-support.md +16 -8
- package/docs/concepts/bundlers.md +43 -0
- package/docs/concepts/media-sources.md +2 -2
- package/docs/concepts/mux-data.md +3 -3
- package/docs/concepts/overview.md +9 -25
- package/docs/concepts/presets.md +2 -1
- package/docs/concepts/skins.md +498 -457
- package/docs/concepts/typescript.md +34 -0
- package/docs/concepts/ui-components.md +12 -5
- package/docs/concepts/why-videojs.md +14 -8
- package/docs/how-to/add-a-background-video.md +210 -0
- package/docs/how-to/add-a-poster-and-loading-placeholder.md +187 -0
- package/docs/how-to/add-keyboard-shortcuts-and-gestures.md +97 -0
- package/docs/how-to/add-quality-selector.md +249 -0
- package/docs/how-to/autoplay.md +172 -0
- package/docs/how-to/build-with-ai.md +2 -2
- package/docs/how-to/build-your-own-component.md +131 -4
- package/docs/how-to/cast-to-airplay-and-chromecast.md +158 -0
- package/docs/how-to/customize-skins.md +3460 -2908
- package/docs/how-to/go-fullscreen-and-lock-orientation.md +153 -0
- package/docs/how-to/handle-playback-errors.md +92 -0
- package/docs/how-to/installation.md +53 -11
- package/docs/how-to/internationalize-the-player.md +358 -0
- package/docs/how-to/migrate-from-media-chrome.md +94 -63
- package/docs/how-to/migrate-from-mux-player.md +180 -54
- package/docs/how-to/migrate-from-plyr.md +51 -32
- package/docs/how-to/migrate-from-video-js-8.md +42 -34
- package/docs/how-to/play-live-streams.md +135 -0
- package/docs/how-to/remember-user-preferences.md +180 -0
- package/docs/how-to/show-and-hide-controls.md +174 -0
- package/docs/how-to/show-captions-and-subtitles.md +156 -0
- package/docs/how-to/show-timeline-thumbnail-previews.md +163 -0
- package/docs/how-to/use-picture-in-picture.md +150 -0
- package/docs/llms.txt +63 -17
- package/docs/reference/airplay-button.md +18 -18
- package/docs/reference/alert-dialog.md +649 -0
- package/docs/reference/audio-track-radio-group.md +32 -22
- package/docs/reference/audio.md +78 -0
- package/docs/reference/background-video.md +17 -45
- package/docs/reference/buffering-indicator.md +8 -0
- package/docs/reference/captions-button.md +24 -16
- package/docs/reference/captions-radio-group.md +32 -22
- package/docs/reference/cast-button.md +21 -19
- package/docs/reference/cloudflare-video.md +8 -8
- package/docs/reference/controls.md +252 -20
- package/docs/reference/create-i18n.md +7 -3
- package/docs/reference/create-player.md +81 -9
- package/docs/reference/create-selector.md +4 -6
- package/docs/reference/create-translator.md +15 -5
- package/docs/reference/dash-video.md +5 -5
- package/docs/reference/dialog.md +833 -0
- package/docs/reference/error-dialog.md +586 -0
- package/docs/reference/feature-buffer.md +10 -4
- package/docs/reference/feature-controls.md +1 -1
- package/docs/reference/feature-error.md +1 -1
- package/docs/reference/feature-live.md +62 -7
- package/docs/reference/feature-metadata.md +4 -4
- package/docs/reference/feature-orientation-lock.md +1 -1
- package/docs/reference/feature-quality.md +1 -1
- package/docs/reference/feature-remote-playback.md +1 -1
- package/docs/reference/feature-source.md +1 -1
- package/docs/reference/feature-stream-type.md +14 -5
- package/docs/reference/feature-text-tracks.md +5 -3
- package/docs/reference/feature-time.md +1 -1
- package/docs/reference/fullscreen-button.md +23 -23
- package/docs/reference/gesture.md +201 -0
- package/docs/reference/get-i18n-translations.md +5 -5
- package/docs/reference/google-cast.md +4 -4
- package/docs/reference/has-registered-locale.md +2 -2
- package/docs/reference/hls-audio.md +9 -3
- package/docs/reference/hls-background-video.md +75 -0
- package/docs/reference/hls-video.md +12 -6
- package/docs/reference/hlsjs-video.md +165 -147
- package/docs/reference/hotkey.md +188 -0
- package/docs/reference/i-18-n-context.md +92 -0
- package/docs/reference/i18n-provider.md +2 -2
- package/docs/reference/menu.md +476 -132
- package/docs/reference/merge-props.md +56 -0
- package/docs/reference/mute-button.md +26 -26
- package/docs/reference/mux-audio.md +711 -3
- package/docs/reference/mux-background-video.md +34 -0
- package/docs/reference/mux-video.md +759 -12
- package/docs/reference/native-hls-video.md +3 -3
- package/docs/reference/pip-button.md +23 -23
- package/docs/reference/play-button.md +11 -3
- package/docs/reference/playback-rate-button.md +14 -6
- package/docs/reference/playback-rate-radio-group.md +30 -20
- package/docs/reference/player-container.md +22 -31
- package/docs/reference/{player-provider.md → player.md} +11 -9
- package/docs/reference/popover.md +173 -25
- package/docs/reference/poster.md +8 -0
- package/docs/reference/quality-radio-group.md +36 -26
- package/docs/reference/register-i18n.md +2 -2
- package/docs/reference/render-element.md +14 -2
- package/docs/reference/seek-button.md +14 -6
- package/docs/reference/seek-indicator.md +448 -0
- package/docs/reference/shaka-video.md +67 -31
- package/docs/reference/slider.md +316 -6
- package/docs/reference/spotify-audio.md +6 -6
- package/docs/reference/status-announcer.md +341 -0
- package/docs/reference/status-indicator.md +535 -0
- package/docs/reference/thumbnail.md +30 -2
- package/docs/reference/tiktok-video.md +13 -13
- package/docs/reference/time-slider.md +354 -20
- package/docs/reference/time.md +83 -3
- package/docs/reference/title.md +9 -1
- package/docs/reference/tooltip.md +281 -75
- package/docs/reference/translation-phrases.md +1 -1
- package/docs/reference/twitch-video.md +6 -6
- package/docs/reference/use-attach-media.md +59 -0
- package/docs/reference/use-audio-track-options.md +44 -2
- package/docs/reference/use-button.md +6 -2
- package/docs/reference/use-captions-options.md +48 -2
- package/docs/reference/use-composed-refs.md +59 -0
- package/docs/reference/use-container.md +39 -0
- package/docs/reference/use-destroy.md +89 -0
- package/docs/reference/use-dialog-context.md +63 -0
- package/docs/reference/use-double-tap-gesture.md +75 -0
- package/docs/reference/use-error-dialog-context.md +41 -0
- package/docs/reference/use-hotkey-shortcut.md +79 -0
- package/docs/reference/use-hotkey.md +62 -0
- package/docs/reference/use-latest-ref.md +73 -0
- package/docs/reference/use-locale.md +3 -2
- package/docs/reference/use-media-component.md +62 -0
- package/docs/reference/use-media-instance.md +79 -0
- package/docs/reference/use-media.md +31 -2
- package/docs/reference/use-menu-context.md +101 -0
- package/docs/reference/use-optional-container.md +33 -0
- package/docs/reference/use-optional-menu-context.md +101 -0
- package/docs/reference/use-optional-player.md +77 -0
- package/docs/reference/use-playback-rate-options.md +58 -2
- package/docs/reference/use-player-context.md +2 -2
- package/docs/reference/use-player.md +1 -1
- package/docs/reference/use-popover-context.md +95 -0
- package/docs/reference/use-quality-options.md +44 -2
- package/docs/reference/use-selector.md +7 -3
- package/docs/reference/use-slider.md +133 -0
- package/docs/reference/use-snapshot.md +25 -7
- package/docs/reference/use-store.md +10 -6
- package/docs/reference/use-tap-gesture.md +75 -0
- package/docs/reference/use-tooltip-context.md +115 -0
- package/docs/reference/video.md +82 -0
- package/docs/reference/vimeo-video.md +58 -60
- package/docs/reference/volume-indicator.md +601 -0
- package/docs/reference/volume-popover.md +556 -0
- package/docs/reference/volume-slider.md +237 -35
- package/docs/reference/youtube-video.md +20 -20
- package/package.json +33 -38
- package/dist/default/__generated__/skins/default-video/styles/base.css +0 -25
- package/dist/default/__generated__/skins/default-video/styles/buttons.css +0 -266
- package/dist/default/__generated__/skins/default-video/styles/captions.css +0 -22
- package/dist/default/__generated__/skins/default-video/styles/container.css +0 -158
- package/dist/default/__generated__/skins/default-video/styles/controls.css +0 -460
- package/dist/default/__generated__/skins/default-video/styles/dialog.css +0 -169
- package/dist/default/__generated__/skins/default-video/styles/indicator.css +0 -459
- package/dist/default/__generated__/skins/default-video/styles/menus.css +0 -254
- package/dist/default/__generated__/skins/default-video/styles/overlays.css +0 -35
- package/dist/default/__generated__/skins/default-video/styles/popups.css +0 -371
- package/dist/default/__generated__/skins/default-video/styles/poster.css +0 -47
- package/dist/default/__generated__/skins/default-video/styles/sliders.css +0 -436
- package/dist/default/__generated__/skins/default-video/styles/styles.css +0 -2753
- package/dist/default/__generated__/skins/default-video/styles/theme.css +0 -7
- package/dist/default/__generated__/skins/default-video/styles/video.css +0 -29
- package/dist/default/__generated__/skins/minimal-video/styles/base.css +0 -25
- package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +0 -266
- package/dist/default/__generated__/skins/minimal-video/styles/captions.css +0 -22
- package/dist/default/__generated__/skins/minimal-video/styles/container.css +0 -158
- package/dist/default/__generated__/skins/minimal-video/styles/controls.css +0 -182
- package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +0 -77
- package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +0 -322
- package/dist/default/__generated__/skins/minimal-video/styles/menus.css +0 -254
- package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +0 -35
- package/dist/default/__generated__/skins/minimal-video/styles/popups.css +0 -371
- package/dist/default/__generated__/skins/minimal-video/styles/poster.css +0 -47
- package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +0 -436
- package/dist/default/__generated__/skins/minimal-video/styles/styles.css +0 -2246
- package/dist/default/__generated__/skins/minimal-video/styles/theme.css +0 -7
- package/dist/default/__generated__/skins/minimal-video/styles/video.css +0 -29
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +0 -14
- package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +0 -7
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -14
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +0 -28
- package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description.js +0 -13
- package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +0 -29
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title.js +0 -13
- package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +0 -1
- package/dist/default/ui/alert-dialog/context.js +0 -13
- package/dist/default/ui/alert-dialog/context.js.map +0 -1
- package/dist/dev/__generated__/skins/default-video/styles/base.css +0 -25
- package/dist/dev/__generated__/skins/default-video/styles/buttons.css +0 -266
- package/dist/dev/__generated__/skins/default-video/styles/captions.css +0 -22
- package/dist/dev/__generated__/skins/default-video/styles/container.css +0 -158
- package/dist/dev/__generated__/skins/default-video/styles/controls.css +0 -460
- package/dist/dev/__generated__/skins/default-video/styles/dialog.css +0 -169
- package/dist/dev/__generated__/skins/default-video/styles/indicator.css +0 -459
- package/dist/dev/__generated__/skins/default-video/styles/menus.css +0 -254
- package/dist/dev/__generated__/skins/default-video/styles/overlays.css +0 -35
- package/dist/dev/__generated__/skins/default-video/styles/popups.css +0 -371
- package/dist/dev/__generated__/skins/default-video/styles/poster.css +0 -47
- package/dist/dev/__generated__/skins/default-video/styles/sliders.css +0 -436
- package/dist/dev/__generated__/skins/default-video/styles/styles.css +0 -2753
- package/dist/dev/__generated__/skins/default-video/styles/theme.css +0 -7
- package/dist/dev/__generated__/skins/default-video/styles/video.css +0 -29
- package/dist/dev/__generated__/skins/minimal-video/styles/base.css +0 -25
- package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +0 -266
- package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +0 -22
- package/dist/dev/__generated__/skins/minimal-video/styles/container.css +0 -158
- package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +0 -182
- package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +0 -77
- package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +0 -322
- package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +0 -254
- package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +0 -35
- package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +0 -371
- package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +0 -47
- package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +0 -436
- package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +0 -2246
- package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +0 -7
- package/dist/dev/__generated__/skins/minimal-video/styles/video.css +0 -29
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +0 -14
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +0 -7
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -14
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +0 -28
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js +0 -13
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +0 -29
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js +0 -13
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +0 -1
- package/dist/dev/ui/alert-dialog/context.d.ts +0 -13
- package/dist/dev/ui/alert-dialog/context.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/context.js +0 -13
- package/dist/dev/ui/alert-dialog/context.js.map +0 -1
- package/docs/concepts/cast.md +0 -131
- package/docs/concepts/i18n.md +0 -317
- package/docs/how-to/add-a-poster-placeholder.md +0 -133
- package/docs/how-to/i18n-override-translations.md +0 -114
- package/docs/how-to/i18n-register-locale.md +0 -74
- package/docs/how-to/i18n-ssr.md +0 -104
- package/docs/how-to/i18n-switch-locale.md +0 -197
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Move a Mux Player embed to Video.js v10, splitting one element into a player, a media, and a skin
|
|
4
4
|
|
|
5
|
-
Mux Player
|
|
5
|
+
Mux Player combines HLS playback, UI, analytics, captions, remote playback, and keyboard shortcuts in one element. Video.js v10 composes those responsibilities from a player, media component, skin, and optional integrations.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This guide moves a working Mux Player embed to those pieces, then maps the settings and APIs you are most likely to need next.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Tip
|
|
10
|
+
|
|
11
|
+
Did you use Mux Player without controls as a hero, ambient loop, or decorative video? Go to [Add a background video](./add-a-background-video.md). It starts with a browser-playable video file, then covers the HLS and Mux background components.
|
|
10
12
|
|
|
11
13
|
## Three pieces instead of one
|
|
12
14
|
|
|
@@ -60,7 +62,7 @@ bash
|
|
|
60
62
|
npm install @videojs/react
|
|
61
63
|
```
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
Start with the general-purpose `@videojs/react/video` [preset](../concepts/presets.md), then add the Mux media and analytics components:
|
|
64
66
|
|
|
65
67
|
tsx
|
|
66
68
|
|
|
@@ -74,10 +76,17 @@ import { MuxVideo } from '@videojs/react/media/mux-video';
|
|
|
74
76
|
|
|
75
77
|
export function MyPlayer() {
|
|
76
78
|
return (
|
|
77
|
-
<VideoPlayer>
|
|
78
|
-
<VideoSkin className="aspect-video"
|
|
79
|
-
<MuxVideo
|
|
80
|
-
|
|
79
|
+
<VideoPlayer title="Test VOD">
|
|
80
|
+
<VideoSkin className="aspect-video">
|
|
81
|
+
<MuxVideo
|
|
82
|
+
source={{ playbackId: 'EcHgOK9coz5K…', poster: { time: 2 } }}
|
|
83
|
+
playsInline
|
|
84
|
+
crossOrigin="anonymous"
|
|
85
|
+
/>
|
|
86
|
+
<MuxData
|
|
87
|
+
playerSoftwareName="my-app"
|
|
88
|
+
metadata={{ video_title: 'Test VOD', viewer_user_id: 'user-id-007' }}
|
|
89
|
+
/>
|
|
81
90
|
</VideoSkin>
|
|
82
91
|
</VideoPlayer>
|
|
83
92
|
);
|
|
@@ -88,18 +97,41 @@ export function MyPlayer() {
|
|
|
88
97
|
|
|
89
98
|
The `'use client'` directive is there because the player owns browser state.
|
|
90
99
|
|
|
100
|
+
Analytics changes from opt-out to opt-in
|
|
101
|
+
|
|
102
|
+
Mux Player monitors playback by default. Video.js sends no Mux Data beacons unless you add the `MuxData` component shown above. Keep it when you want a behaviorally equivalent migration; omit it only when you intend to stop monitoring.
|
|
103
|
+
|
|
91
104
|
A few things worth calling out:
|
|
92
105
|
|
|
93
|
-
* **
|
|
106
|
+
* **MuxVideo supplies the poster.** It builds the image URL from the playback ID, and the skin displays it automatically. The example keeps the frame from two seconds in by configuring MuxVideo. Set `poster` on the player only when you want to use your own URL.
|
|
94
107
|
* **You didn’t add a storyboard track, and you get hover previews.** The Mux media adds and maintains the thumbnail track itself, and removes it for live streams, where storyboards don’t exist.
|
|
95
108
|
* **Analytics needs no environment key.** Mux resolves the environment from the playback ID. See [Mux Data](../concepts/mux-data.md).
|
|
96
|
-
* **
|
|
109
|
+
* **Chromecast is opt-in.** Follow [Cast to AirPlay and Chromecast](./cast-to-airplay-and-chromecast.md) when you want it; leave the integration out when you don’t.
|
|
110
|
+
|
|
111
|
+
### Move your layout styles
|
|
112
|
+
|
|
113
|
+
Mux Player was one visible, measurable element. Video.js separates player state from the visible surface.
|
|
114
|
+
|
|
115
|
+
If you use `VideoSkin`, put width, height, aspect ratio, positioning, and DOM measurements on `VideoSkin`. The `skin.css` import shown above makes the media, controls, poster, and overlays fill and layer within it. `VideoPlayer` renders no DOM element of its own.
|
|
97
116
|
|
|
98
|
-
|
|
117
|
+
If you leave out `VideoSkin` to build your own UI, add a [`Container`](../reference/player-container.md). Style and measure that element, and put overlays inside it:
|
|
118
|
+
|
|
119
|
+
tsx
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
import { Container } from '@videojs/react';
|
|
123
|
+
|
|
124
|
+
<VideoPlayer>
|
|
125
|
+
<Container style={{ position: 'relative', width: '100%', aspectRatio: '16/9' }}>
|
|
126
|
+
<MuxVideo source={{ playbackId: 'EcHgOK9coz5K…' }} />
|
|
127
|
+
<MyOverlay />
|
|
128
|
+
</Container>
|
|
129
|
+
</VideoPlayer>
|
|
130
|
+
```
|
|
99
131
|
|
|
100
132
|
Note
|
|
101
133
|
|
|
102
|
-
|
|
134
|
+
Put standard media handlers such as `onPlay`, `onTimeUpdate`, `onEnded`, and `onError` on `MuxVideo`. Use [`usePlayer`](../reference/use-player.md) for player-store state. See [Read player state](#read-player-state).
|
|
103
135
|
|
|
104
136
|
## Mux settings live in a source object
|
|
105
137
|
|
|
@@ -183,11 +215,11 @@ Video.js v10
|
|
|
183
215
|
|
|
184
216
|
`thumbnail-time`
|
|
185
217
|
|
|
186
|
-
|
|
218
|
+
`source.poster.time`
|
|
187
219
|
|
|
188
220
|
poster size, crop, rotation, format
|
|
189
221
|
|
|
190
|
-
|
|
222
|
+
`source.poster.width`, `.height`, `.fitMode`, `.rotate`, `.ext`
|
|
191
223
|
|
|
192
224
|
Signed playback behaves the way it does in Mux Player: a token replaces every other parameter in its group, so caps and clipping have to be baked into the token itself.
|
|
193
225
|
|
|
@@ -231,14 +263,30 @@ Your metadata keys don’t change. They’re the same `snake_case` names Mux Dat
|
|
|
231
263
|
|
|
232
264
|
## Titles and posters
|
|
233
265
|
|
|
234
|
-
|
|
266
|
+
Mux Player used the same title for analytics and on-screen display. Video.js separates them.
|
|
267
|
+
|
|
268
|
+
For analytics, use `metadata.video_title` on the Mux Data component.
|
|
235
269
|
|
|
236
|
-
|
|
237
|
-
* For display, it’s `content-title` on the player.
|
|
270
|
+
For display, use `title` on the player.
|
|
238
271
|
|
|
239
|
-
|
|
272
|
+
The title reaches player state, but the packaged skins don’t place it in their layouts. Add the [Title](../reference/title.md) component as a child of a packaged skin, or place it in an ejected or custom layout, when you want viewers to see it:
|
|
240
273
|
|
|
241
|
-
|
|
274
|
+
tsx
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
import { Title } from '@videojs/react';
|
|
278
|
+
import { VideoPlayer, VideoSkin } from '@videojs/react/video';
|
|
279
|
+
|
|
280
|
+
<VideoPlayer title="Test VOD">
|
|
281
|
+
<VideoSkin>
|
|
282
|
+
<Title />
|
|
283
|
+
</VideoSkin>
|
|
284
|
+
</VideoPlayer>
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
`MuxVideo` supplies a poster from the playback ID, and `source.poster` controls the generated image. The skin displays it automatically. Pass `poster` to the player when you want to use your own URL:
|
|
288
|
+
|
|
289
|
+
A generated poster becomes available after `MuxVideo` mounts. Pass `poster` to `VideoPlayer` when the image must appear in server-rendered HTML.
|
|
242
290
|
|
|
243
291
|
jsx
|
|
244
292
|
|
|
@@ -259,7 +307,7 @@ jsx
|
|
|
259
307
|
|
|
260
308
|
`renderPoster` customizes the poster image, so its background can show Mux Player’s `placeholder` while the real poster loads.
|
|
261
309
|
|
|
262
|
-
Mux serves the poster from its `thumbnail` endpoint,
|
|
310
|
+
Mux serves the poster from its `thumbnail` endpoint, and `source.poster` configures that URL: `thumbnail-time` is `source.poster.time`, and the size, crop, rotation, and format options are `width`, `height`, `fitMode`, `rotate`, and `ext` beside it. Video.js converts those camel-case keys to the `snake_case` query parameters Mux expects. See [Add a poster and loading placeholder](./add-a-poster-and-loading-placeholder.md) for more examples or the [Poster](../reference/poster.md) reference for the component itself.
|
|
263
311
|
|
|
264
312
|
## Customize your player
|
|
265
313
|
|
|
@@ -271,24 +319,28 @@ Two are packaged. The default skin is a modern, frosted look. The minimal skin i
|
|
|
271
319
|
|
|
272
320
|
### Level 2: restyle it
|
|
273
321
|
|
|
274
|
-
Set custom properties. The common case
|
|
322
|
+
Set custom properties on the skin. The common case is a brand color:
|
|
275
323
|
|
|
276
|
-
|
|
324
|
+
Give the skin a class you own:
|
|
325
|
+
|
|
326
|
+
tsx
|
|
277
327
|
|
|
278
328
|
```
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
329
|
+
<VideoSkin className="my-player-skin">...</VideoSkin>
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
css
|
|
283
333
|
|
|
284
|
-
|
|
285
|
-
|
|
334
|
+
```
|
|
335
|
+
.my-player-skin {
|
|
286
336
|
--media-accent-color: rebeccapurple;
|
|
287
337
|
}
|
|
288
338
|
```
|
|
289
339
|
|
|
290
340
|
`--media-accent-color` reaches the sliders, the active buttons, and the accent surfaces. Video.js derives a readable text color to sit on top of it; override that with `--media-accent-text-color` if you’d rather choose. `--media-border-radius` rounds the player, and `--media-scale-unit` scales the whole control bar at once. [Customize skins](./customize-skins.md) has the full list.
|
|
291
341
|
|
|
342
|
+
The skins use a different visual design, so you may not need to replace Mux Player’s `primaryColor` and `secondaryColor` directly. Start with `--media-accent-color`. Restyle individual surfaces, or eject the skin, only when you need a closer palette match.
|
|
343
|
+
|
|
292
344
|
### Level 3: eject
|
|
293
345
|
|
|
294
346
|
**Ejecting** means copying the skin’s source into your project and editing it, the way you would a shadcn component. The packaged skin isn’t compiled magic; it’s a tree of components, so ejecting starts as copy and paste. [Customize skins](./customize-skins.md) has copy-paste-ready implementations for every packaged skin.
|
|
@@ -309,7 +361,7 @@ Removing a control is removing a line. That’s the trade you get for the extra
|
|
|
309
361
|
|
|
310
362
|
## Read player state
|
|
311
363
|
|
|
312
|
-
|
|
364
|
+
Standard media event props port directly to `MuxVideo`: `onPlay`, `onTimeUpdate`, `onEnded`, and `onError` work on the rendered video element. Read player-store state through the preset’s [`usePlayer`](../reference/use-player.md) hook, typed to that preset’s features:
|
|
313
365
|
|
|
314
366
|
tsx
|
|
315
367
|
|
|
@@ -324,9 +376,7 @@ function Elapsed() {
|
|
|
324
376
|
|
|
325
377
|
Every feature has a selector (`selectPlayback`, `selectTime`, `selectVolume`, `selectQuality`, `selectLive`, `selectTextTrack`, and so on) for when you want a whole slice rather than one value.
|
|
326
378
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
For raw media events, attach listeners to a `ref`. The Mux media is a real media element underneath, so `play`, `timeupdate`, `ended`, and `error` all fire on it.
|
|
379
|
+
Use a ref for imperative browser media APIs or for custom events that do not have React event props, such as `sourcechange`. The ref value is the rendered `HTMLVideoElement`.
|
|
330
380
|
|
|
331
381
|
### Drive playback
|
|
332
382
|
|
|
@@ -401,13 +451,14 @@ The default doesn’t promise which engine it uses, which is what leaves it free
|
|
|
401
451
|
|
|
402
452
|
The Mux audio component follows the same three paths, and pairs with the audio player and audio skins.
|
|
403
453
|
|
|
404
|
-
## Live streams
|
|
454
|
+
## Live streams
|
|
405
455
|
|
|
406
|
-
|
|
456
|
+
Unlike Mux Player, you’ll have to pick a live preset yourself; it won’t switch automatically for you.
|
|
407
457
|
|
|
408
458
|
tsx
|
|
409
459
|
|
|
410
460
|
```
|
|
461
|
+
import '@videojs/react/live-video/skin.css';
|
|
411
462
|
import { LiveVideoPlayer, LiveVideoSkin } from '@videojs/react/live-video';
|
|
412
463
|
import { MuxVideo } from '@videojs/react/media/mux-video';
|
|
413
464
|
|
|
@@ -418,13 +469,69 @@ import { MuxVideo } from '@videojs/react/media/mux-video';
|
|
|
418
469
|
</LiveVideoPlayer>
|
|
419
470
|
```
|
|
420
471
|
|
|
421
|
-
You get `
|
|
472
|
+
You get `targetLiveWindow` and `liveEdgeStart` in player state, plus a live button that jumps to the live edge. The live preset doesn’t include `streamType` state and doesn’t force a source to be live. The Mux media detects the manifest: `targetLiveWindow` is `NaN` for an on-demand or unknown source, `0` for a sliding live window, and `Infinity` for a live event with playback history. See [the live feature](../reference/feature-live.md).
|
|
473
|
+
|
|
474
|
+
The live composition is narrower than the video one on purpose: it leaves out quality, audio-track, and playback-rate state. A live skin’s settings menu therefore holds captions and nothing else. If you need one of the omitted features on a live player, build your own player from a feature list rather than taking the preset’s.
|
|
475
|
+
|
|
476
|
+
Use [`createPlayer`](../reference/create-player.md) to create a `Player` component and matching `usePlayer` hook.
|
|
477
|
+
|
|
478
|
+
### Add your own jump-to-live button
|
|
479
|
+
|
|
480
|
+
The live skin already includes a live button. If you build your own controls, use that same component and style it to match your app. It keeps track of whether playback is live and returns viewers to the newest available point in the stream.
|
|
481
|
+
|
|
482
|
+
tsx
|
|
483
|
+
|
|
484
|
+
```
|
|
485
|
+
import { LiveButton } from '@videojs/react';
|
|
486
|
+
|
|
487
|
+
<LiveButton className="station-live-button">On air</LiveButton>
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
Do not rebuild this behavior from `duration` or set `currentTime` to `Infinity`.
|
|
491
|
+
|
|
492
|
+
### Troubleshoot live playback
|
|
493
|
+
|
|
494
|
+
#### An on-demand video shows live controls
|
|
495
|
+
|
|
496
|
+
Video.js does not replace the preset after reading the HLS playlist. Render the video preset for on-demand content and the live preset for live content. If the same part of your app handles both, choose the preset from application or content metadata before rendering. If only the manifest can tell you, use a custom player with the stream type feature and choose the controls from that state.
|
|
497
|
+
|
|
498
|
+
#### `selectStreamType` returns `undefined`
|
|
499
|
+
|
|
500
|
+
The live preset does not include the [stream type feature](../reference/feature-stream-type.md). Add `streamTypeFeature` to a custom player when you need `streamType` in player state.
|
|
501
|
+
|
|
502
|
+
The HLS media object also reads `'live'` or `'on-demand'` from the playlist. In React, get that object with [`useMedia`](../reference/use-media.md). In HTML, read `streamType` from `<mux-video>`.
|
|
503
|
+
|
|
504
|
+
#### A live stream has a finite duration
|
|
505
|
+
|
|
506
|
+
The browser may report `Infinity` for live playback, but the player’s [time feature](../reference/feature-time.md) reports the end of the available video. That number stays finite and moves forward with the stream.
|
|
507
|
+
|
|
508
|
+
Do not use `duration` to decide whether a source is live. Read `streamType`, or check that `targetLiveWindow` is not `NaN`.
|
|
509
|
+
|
|
510
|
+
#### `targetLiveWindow` does not match the rewind time
|
|
511
|
+
|
|
512
|
+
Despite its name, `targetLiveWindow` does not report a number of seconds. It describes the kind of live stream:
|
|
513
|
+
|
|
514
|
+
Value
|
|
515
|
+
|
|
516
|
+
Meaning
|
|
517
|
+
|
|
518
|
+
`0`
|
|
422
519
|
|
|
423
|
-
|
|
520
|
+
A sliding live window
|
|
424
521
|
|
|
425
|
-
|
|
522
|
+
`Infinity`
|
|
426
523
|
|
|
427
|
-
|
|
524
|
+
A live event with playback history
|
|
525
|
+
|
|
526
|
+
`NaN`
|
|
527
|
+
|
|
528
|
+
On-demand or not known yet
|
|
529
|
+
|
|
530
|
+
To find the times a viewer can seek to, read `buffer.seekable`. It contains `[start, end]` pairs. The first start is the oldest available time, and the last end is the newest. Both move forward on a sliding live stream.
|
|
531
|
+
|
|
532
|
+
`liveEdgeStart` is the playback time where the player starts treating the viewer as live. The live button seeks to the last end in `buffer.seekable`, which may be later than `liveEdgeStart`.
|
|
533
|
+
|
|
534
|
+
## The settings menu
|
|
428
535
|
|
|
429
536
|
On a video player, the settings menu appears on its own when there’s something to put in it:
|
|
430
537
|
|
|
@@ -438,7 +545,7 @@ Quality
|
|
|
438
545
|
|
|
439
546
|
[Quality radio group](../reference/quality-radio-group.md)
|
|
440
547
|
|
|
441
|
-
Lets a viewer pick
|
|
548
|
+
Lets a viewer pick the video quality. To set the highest available quality instead, use `source.playback.maxResolution`.
|
|
442
549
|
|
|
443
550
|
Audio tracks
|
|
444
551
|
|
|
@@ -474,11 +581,11 @@ jsx
|
|
|
474
581
|
|
|
475
582
|
There’s no `addChapters()`. If you were building that VTT on the fly, you’ll still need to, but you point the player at it instead of passing an array ([#1268](https://github.com/videojs/v10/issues/1268)).
|
|
476
583
|
|
|
477
|
-
|
|
584
|
+
The time slider marks the segment containing the current playback time with `data-active`, so you can style the active segment. The player still has no active-chapter state, `chapterchange` event, or menu for jumping between chapters ([#1873](https://github.com/videojs/v10/issues/1873)). If UI outside the time slider needs the current chapter, derive it from `currentTime` and the read-only `chaptersCues` array. Cue points aren’t implemented at all ([#1442](https://github.com/videojs/v10/issues/1442)).
|
|
478
585
|
|
|
479
586
|
## Signed playback and DRM
|
|
480
587
|
|
|
481
|
-
**Signed playback works today.** Each token is a parameter in its own group, and Video.js checks each one’s audience before building a URL, so a token in the wrong slot produces no URL rather than a request Mux would reject:
|
|
588
|
+
**Signed playback works today.** Follow Mux’s [secure video playback guide](https://www.mux.com/docs/guides/secure-video-playback) to create a signing key and generate these tokens on your server. Each token is a parameter in its own group, and Video.js checks each one’s audience before building a URL, so a token in the wrong slot produces no URL rather than a request Mux would reject:
|
|
482
589
|
|
|
483
590
|
js
|
|
484
591
|
|
|
@@ -491,6 +598,8 @@ js
|
|
|
491
598
|
}
|
|
492
599
|
```
|
|
493
600
|
|
|
601
|
+
Signed playback needs its own poster token even when MuxVideo would otherwise derive the poster from the playback ID. Put Mux’s thumbnail token at `source.poster.token`. If it is missing or has the wrong audience, MuxVideo cannot build a poster URL.
|
|
602
|
+
|
|
494
603
|
Neither player refreshes tokens. Mux Player at least notices an expired one and shows a friendly message; Video.js doesn’t surface that yet ([#1432](https://github.com/videojs/v10/issues/1432)).
|
|
495
604
|
|
|
496
605
|
**DRM works on the default Mux media** and on native HLS. Hand it a license token and Video.js derives the FairPlay, Widevine, and PlayReady license servers from it, along with the FairPlay application certificate:
|
|
@@ -509,7 +618,7 @@ DRM playback is always signed, so `drm.token` needs a `playback.token` beside it
|
|
|
509
618
|
|
|
510
619
|
The SPF flavor doesn’t license DRM ([#1776](https://github.com/videojs/v10/issues/1776)), which is one of the two reasons to stay on the default import.
|
|
511
620
|
|
|
512
|
-
##
|
|
621
|
+
## Access the media and playback engine
|
|
513
622
|
|
|
514
623
|
Mux Player
|
|
515
624
|
|
|
@@ -517,11 +626,15 @@ Video.js v10
|
|
|
517
626
|
|
|
518
627
|
`media.nativeEl`
|
|
519
628
|
|
|
520
|
-
a `ref` on the media component
|
|
629
|
+
`ref.current` from a `ref` on the media component
|
|
630
|
+
|
|
631
|
+
the Video.js media object
|
|
632
|
+
|
|
633
|
+
[`useMedia()`](../reference/use-media.md) inside the player
|
|
521
634
|
|
|
522
635
|
the hls.js instance
|
|
523
636
|
|
|
524
|
-
`.
|
|
637
|
+
the media object’s `.engine`, reached through [`useMedia`](../reference/use-media.md), on the hls.js-backed flavor
|
|
525
638
|
|
|
526
639
|
`prefer-playback`
|
|
527
640
|
|
|
@@ -529,25 +642,38 @@ the hls.js instance
|
|
|
529
642
|
|
|
530
643
|
`source.preferPlayback` is the closest mapping: set it to `'native'` and the Mux media hands playback to the browser’s own HLS support instead of building an MSE pipeline, which is what `prefer-playback="native"` did.
|
|
531
644
|
|
|
645
|
+
Treat engine access as an escape hatch
|
|
646
|
+
|
|
647
|
+
Reading `.engine` couples your app to hls.js and the `/hls-js` flavor. Prefer Video.js state, events, and media APIs when they cover your use case. Reach into the engine only for functionality Video.js doesn’t expose.
|
|
648
|
+
|
|
649
|
+
The media component’s React ref is the native `HTMLVideoElement`; it has no `.target` or `.host`. Use the player context for the Video.js media object:
|
|
650
|
+
|
|
651
|
+
tsx
|
|
652
|
+
|
|
653
|
+
```
|
|
654
|
+
import { useMedia } from '@videojs/react';
|
|
655
|
+
|
|
656
|
+
function EngineAccess() {
|
|
657
|
+
const media = useMedia();
|
|
658
|
+
const engine = media && 'engine' in media ? media.engine : null;
|
|
659
|
+
|
|
660
|
+
// `engine` is the active hls.js instance for the `/hls-js` flavor.
|
|
661
|
+
return null;
|
|
662
|
+
}
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
Import the `/hls-js` flavor when your app depends on that engine. The default flavor deliberately doesn’t promise which engine it uses.
|
|
666
|
+
|
|
532
667
|
Program Date Time has no convenience surface: no `getStartDate()`, no `currentPdt`. The player exposes `liveEdgeStart` and `targetLiveWindow`; for PDT itself, reach into the engine.
|
|
533
668
|
|
|
534
669
|
## Known gaps
|
|
535
670
|
|
|
536
671
|
Ordered roughly by how many migrations they’ll touch.
|
|
537
672
|
|
|
538
|
-
* No skin draws `content-title`, so setting it alone won’t put a title on screen ([#1123](https://github.com/videojs/v10/issues/1123)).
|
|
539
|
-
* Playback rates are a fixed set — `0.2`, `0.5`, `0.7`, `1`, `1.2`, `1.5`, `1.7`, `2` — and you can’t choose your own yet ([#1404](https://github.com/videojs/v10/issues/1404)).
|
|
540
673
|
* Two skins, against Mux Player’s five themes, and no runtime theme switch. That’s a deliberate trade, fewer looks each of which you can eject, but it’s a real difference if you shipped `theme="classic"`.
|
|
541
|
-
* Chapters render on the time slider, but there’s no active-chapter state, no `chapterchange` event, and no chapter menu ([#1873](https://github.com/videojs/v10/issues/1873)). No `addChapters()` either ([#1268](https://github.com/videojs/v10/issues/1268)).
|
|
542
|
-
* Cue points aren’t implemented ([#1442](https://github.com/videojs/v10/issues/1442)).
|
|
543
|
-
* No `playback-id` attribute; use a `src` URL or the `source` object.
|
|
544
674
|
* Lazy loading (`loading="viewport|page"`) has no equivalent.
|
|
545
|
-
* The SPF Mux media doesn’t license DRM and doesn’t play TS-packaged media ([#1776](https://github.com/videojs/v10/issues/1776)). The default flavor does both.
|
|
546
|
-
* Signed playback works, but there’s no expired-token message and no auto-refresh ([#1432](https://github.com/videojs/v10/issues/1432)).
|
|
547
|
-
* Neither packaged video skin includes skip buttons; add a seek button.
|
|
548
675
|
* The controls auto-hide delay isn’t configurable, and there’s no disabled state for the controls ([#1728](https://github.com/videojs/v10/issues/1728)).
|
|
549
|
-
* Nothing persists between sessions: volume, captions language, speed, quality. That’s out of scope for GA ([#944](https://github.com/videojs/v10/issues/944)). Default subtitle language is tracked at [#1423](https://github.com/videojs/v10/issues/1423), though Mux users can set `source.playback.defaultSubtitlesLang` and let the
|
|
550
|
-
* Caption styling is limited to the skins’ positioning custom properties.
|
|
676
|
+
* Nothing persists between sessions: volume, captions language, speed, quality. That’s out of scope for GA ([#944](https://github.com/videojs/v10/issues/944)). Default subtitle language is tracked at [#1423](https://github.com/videojs/v10/issues/1423), though Mux users can set `source.playback.defaultSubtitlesLang` and let the HLS playlist decide.
|
|
551
677
|
* Smaller conveniences without homes yet: debug mode ([#1406](https://github.com/videojs/v10/issues/1406)) and autoplay with a muted fallback ([#1039](https://github.com/videojs/v10/issues/1039)). Unmuting from zero volume already restores a sensible level, so Mux Player’s smart-unmute behavior carries over.
|
|
552
678
|
|
|
553
679
|
## See also
|
|
@@ -2,22 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Move an existing Plyr integration to Video.js v10, mapping Plyr options and its instance API onto components and player state
|
|
4
4
|
|
|
5
|
-
Video.js v10 is not a drop-in replacement for Plyr. Plyr wraps one media element with a constructor and
|
|
5
|
+
Video.js v10 is not a drop-in replacement for Plyr. Plyr wraps one media element with a constructor and options object. Video.js composes a player, media component, and skin in markup, then exposes behavior through [player state](../concepts/features.md).
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Start with the Minimal skin, move media settings into markup, and replace calls to the Plyr instance with native media APIs or Video.js state actions.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## What changes
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* **✨ Two polished skins are ready to use.** Minimal is the closest starting point for Plyr migrations, while Default gives you a modern, frosted design. Both can be [ejected](#ejecting) when you want to customize the layout, styling, or icons.
|
|
17
|
-
* **📡 Remote playback is part of the built-in video UI.** Plyr has an open Google Cast request dating back years ([#112](https://github.com/sampotts/plyr/issues/112)). Video.js v10 includes [Cast](../concepts/cast.md) and AirPlay controls through a shared remote playback feature.
|
|
18
|
-
* **⚛️ React gets a native API.** Plyr integrations in React tend to wrap an imperative constructor around framework-owned DOM ([#254](https://github.com/sampotts/plyr/issues/254)), and lifecycle cleanup can get awkward when routes or components unmount ([#1001](https://github.com/sampotts/plyr/issues/1001)). `@videojs/react` gives you players, components, hooks, and TypeScript types instead.
|
|
19
|
-
* **🎛️ Layout and skins are easier to own.** Plyr’s iframe and aspect-ratio behavior has produced workarounds for cropping and fullscreen sizing ([#339](https://github.com/sampotts/plyr/issues/339)). Video.js v10 separates the player, container, media, and skin, so sizing belongs to the container or skin and the UI can be [ejected](#ejecting) when you need full control.
|
|
20
|
-
* **⌨️ Input behavior is explicit.** Plyr has recurring mobile tap and fullscreen threads ([#718](https://github.com/sampotts/plyr/issues/718), [#1190](https://github.com/sampotts/plyr/issues/1190)). Video.js v10 has common gestures and hotkey support built into the skins, and you can [eject](#ejecting) to customize them.
|
|
11
|
+
* **The player becomes three pieces.** Player state, the media component, and the skin are separate, so you can replace one without wrapping or forking the others.
|
|
12
|
+
* **Streaming behavior becomes player state.** HLS, DASH, and Mux integrations expose renditions, tracks, and live state to the UI instead of leaving that wiring to application code.
|
|
13
|
+
* **React uses native components and hooks.** `@videojs/react` owns its lifecycle instead of wrapping an imperative constructor around framework-owned DOM.
|
|
14
|
+
* **The UI is composable.** Buttons, sliders, menus, gestures, and hotkeys are individual accessible components. Start with the Minimal or Default skin, then [eject it](#ejecting) when you need to change the structure.
|
|
15
|
+
* **Remote playback is built in.** The video skins include AirPlay and Cast controls. Follow [Cast to AirPlay and Chromecast](./cast-to-airplay-and-chromecast.md) to add the Google Cast integration.
|
|
21
16
|
|
|
22
17
|
Note
|
|
23
18
|
|
|
@@ -25,9 +20,7 @@ Video.js v10 is still moving toward GA. Features like ads, playlists, preference
|
|
|
25
20
|
|
|
26
21
|
## Basic migration
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
This snippet will render a basic video player with thumbnail previews, captions and a poster image.
|
|
23
|
+
Start with a Plyr player that has captions, thumbnail previews, and a poster:
|
|
31
24
|
|
|
32
25
|
html
|
|
33
26
|
|
|
@@ -50,7 +43,7 @@ const player = new Plyr('#player', {
|
|
|
50
43
|
</script>
|
|
51
44
|
```
|
|
52
45
|
|
|
53
|
-
The
|
|
46
|
+
The Minimal skin is the closest built-in starting point for this migration.
|
|
54
47
|
|
|
55
48
|
First, install the dependency:
|
|
56
49
|
|
|
@@ -76,8 +69,8 @@ interface AppVideoPlayerProps {
|
|
|
76
69
|
|
|
77
70
|
export function AppVideoPlayer({ origin }: AppVideoPlayerProps) {
|
|
78
71
|
return (
|
|
79
|
-
<VideoPlayer>
|
|
80
|
-
<MinimalVideoSkin
|
|
72
|
+
<VideoPlayer poster={`${origin}/poster.jpg`}>
|
|
73
|
+
<MinimalVideoSkin className="app-video-player">
|
|
81
74
|
<Video src={`${origin}/video.mp4`} playsInline>
|
|
82
75
|
<track kind="captions" label="English" src={`${origin}/captions/en.vtt`} srclang="en" default />
|
|
83
76
|
<track kind="metadata" label="thumbnails" src={`${origin}/storyboard.vtt`} default />
|
|
@@ -91,11 +84,12 @@ export function AppVideoPlayer({ origin }: AppVideoPlayerProps) {
|
|
|
91
84
|
### Notes
|
|
92
85
|
|
|
93
86
|
* `@videojs/react/video` is a [preset](../concepts/presets.md): a player, a skin, and a media element that already fit together. `VideoPlayer` is the piece that owns the state, built from the standard set of [features](../concepts/features.md) for video.
|
|
94
|
-
* The poster is
|
|
87
|
+
* The poster URL is metadata on `VideoPlayer`. The skin reads that metadata and controls how the poster appears. To replace the rendered image, pass `renderPoster` to the skin.
|
|
95
88
|
* This example assumes all your files for a given asset live in the same path, using consistent filenames. This will almost certainly need adjusting for your implementation.
|
|
89
|
+
* If `origin` points somewhere other than your page’s origin, add `crossOrigin="anonymous"` to `<Video>` and serve those files with CORS headers. A cross-origin thumbnail track only loads when the media element is CORS-enabled. See [Thumbnail](../reference/thumbnail.md).
|
|
96
90
|
* There’s also a default skin with a modern, frosted appearance that some may prefer. Try it by switching the CSS import filename to `skin.css` and the `MinimalVideoSkin` import and usage to `VideoSkin`.
|
|
97
91
|
|
|
98
|
-
##
|
|
92
|
+
## Map common features
|
|
99
93
|
|
|
100
94
|
### Streaming
|
|
101
95
|
|
|
@@ -171,7 +165,7 @@ Video.js v10 ships with English labels by default and includes locale packs for:
|
|
|
171
165
|
|
|
172
166
|
`ar`, `az`, `bg`, `bn`, `bs`, `ca`, `cs`, `cy`, `da`, `de`, `el`, `es`, `et`, `eu`, `fa`, `fi`, `fr`, `gd`, `gl`, `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `lt`, `lv`, `mr`, `nb`, `ne`, `nl`, `nn`, `oc`, `pl`, `pt-BR`, `pt-PT`, `ro`, `ru`, `sk`, `sl`, `sr`, `sv`, `te`, `th`, `tr`, `uk`, `vi`, `zh-CN`, and `zh-TW`.
|
|
173
167
|
|
|
174
|
-
The shorthand tags `pt` and `zh` are also available as aliases. See [
|
|
168
|
+
The shorthand tags `pt` and `zh` are also available as aliases. See [Internationalize the player](./internationalize-the-player.md) for the full picture.
|
|
175
169
|
|
|
176
170
|
Use the React provider when you want scoped overrides:
|
|
177
171
|
|
|
@@ -232,7 +226,7 @@ These are attributes on your media (e.g. `<video>`) component.
|
|
|
232
226
|
|
|
233
227
|
`poster` / `data-poster`
|
|
234
228
|
|
|
235
|
-
|
|
229
|
+
In HTML, slot an image into the skin. In React, set `poster` on `VideoPlayer`. See [Basic migration](#basic-migration).
|
|
236
230
|
|
|
237
231
|
`ratio`
|
|
238
232
|
|
|
@@ -294,11 +288,15 @@ The most common languages are available by default but you can also provide cust
|
|
|
294
288
|
|
|
295
289
|
Unsupported at this time.
|
|
296
290
|
|
|
297
|
-
##
|
|
291
|
+
## Customize the controls
|
|
292
|
+
|
|
293
|
+
Plyr’s `controls` option chooses which controls appear. Video.js skins come with their own control set and layout. Keep the skin when that UI fits your player. To remove, reorder, or restyle its controls, [eject the skin](#ejecting) and edit the copied implementation. Adding a child to a skin does not place it inside the control bar.
|
|
294
|
+
|
|
295
|
+
If your app already has a custom control bar, build it from individual [UI components](../concepts/ui-components.md). Video.js handles the media action, accessible name, and state. You add the visible contents, layout, and CSS.
|
|
298
296
|
|
|
299
|
-
|
|
297
|
+
Individual React buttons do not include visible content. Use their `render` props to add an icon or text and style the element you return. Eject a ready-made skin when you need to change its control set or layout.
|
|
300
298
|
|
|
301
|
-
##
|
|
299
|
+
## Use the imperative API
|
|
302
300
|
|
|
303
301
|
Use the media element for standard playback operations:
|
|
304
302
|
|
|
@@ -338,16 +336,33 @@ Fullscreen feature or fullscreen control
|
|
|
338
336
|
|
|
339
337
|
Text-track feature or captions control
|
|
340
338
|
|
|
339
|
+
To change content without changing media type, set `src` on the media component. Replace the component when the media type changes, such as moving from `Video` to `HlsVideo`. The player UI follows the attached media.
|
|
340
|
+
|
|
341
341
|
For custom UI, read and write through the Video.js player store.
|
|
342
342
|
|
|
343
|
-
Import the preset’s [`usePlayer`](../reference/use-player.md) hook and call it
|
|
343
|
+
Import the preset’s [`usePlayer`](../reference/use-player.md) hook and call it from a descendant of `VideoPlayer`. The component that creates `VideoPlayer` cannot also consume its context, so put store access in a child component:
|
|
344
344
|
|
|
345
345
|
tsx
|
|
346
346
|
|
|
347
347
|
```
|
|
348
|
-
import
|
|
348
|
+
import '@videojs/react/video/minimal-skin.css';
|
|
349
|
+
import { MinimalVideoSkin, usePlayer, Video, VideoPlayer } from '@videojs/react/video';
|
|
349
350
|
|
|
350
|
-
|
|
351
|
+
function CurrentTime() {
|
|
352
|
+
const currentTime = usePlayer((state) => state.currentTime);
|
|
353
|
+
return <output>{Math.round(currentTime)} seconds</output>;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
export function AppVideoPlayer() {
|
|
357
|
+
return (
|
|
358
|
+
<VideoPlayer>
|
|
359
|
+
<MinimalVideoSkin>
|
|
360
|
+
<Video src="/video.mp4" playsInline />
|
|
361
|
+
<CurrentTime />
|
|
362
|
+
</MinimalVideoSkin>
|
|
363
|
+
</VideoPlayer>
|
|
364
|
+
);
|
|
365
|
+
}
|
|
351
366
|
```
|
|
352
367
|
|
|
353
368
|
## Rewrite styles
|
|
@@ -361,16 +376,20 @@ css
|
|
|
361
376
|
.plyr {
|
|
362
377
|
--plyr-color-main: rebeccapurple;
|
|
363
378
|
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
css
|
|
364
382
|
|
|
365
|
-
|
|
366
|
-
|
|
383
|
+
```
|
|
384
|
+
/* Video.js React: the className from the basic example */
|
|
385
|
+
.app-video-player {
|
|
367
386
|
--media-accent-color: rebeccapurple;
|
|
368
387
|
}
|
|
369
388
|
```
|
|
370
389
|
|
|
371
390
|
`--media-accent-color` reaches the sliders, active buttons, and accent surfaces, so it’s the closest match for Plyr’s `--plyr-color-main`. Video.js picks a readable text color to sit on top of it; set `--media-accent-text-color` to choose that yourself. `--media-border-radius` and `--media-scale-unit` cover rounding and control sizing. See [Customize skins](./customize-skins.md) for the full list.
|
|
372
391
|
|
|
373
|
-
##
|
|
392
|
+
## Eject a skin
|
|
374
393
|
|
|
375
394
|
If you need extra customization of layout, styles, or icons, you can “eject” the skin into your application, much like a shadcn installation. Copy the skin and its CSS into your project, then modify the components and styles directly. [Customize skins](./customize-skins.md) has copy-paste-ready implementations for every packaged skin.
|
|
376
395
|
|