@videojs/react 10.0.0-rc.2 → 10.0.0-rc.3
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/README.md +12 -2
- package/dist/default/extensions/google-cast/extension.js +0 -2
- package/dist/default/extensions/mux-data/extension.js +0 -2
- package/dist/default/i18n/context.js +25 -10
- package/dist/default/i18n/create-i18n.js +18 -4
- package/dist/default/i18n/get-provider-root-props.js +0 -2
- package/dist/default/i18n/locales/all/register.js +0 -2
- package/dist/default/i18n/locales/ar/register.js +0 -2
- package/dist/default/i18n/locales/az/register.js +0 -2
- package/dist/default/i18n/locales/bg/register.js +0 -2
- package/dist/default/i18n/locales/bn/register.js +0 -2
- package/dist/default/i18n/locales/bs/register.js +0 -2
- package/dist/default/i18n/locales/ca/register.js +0 -2
- package/dist/default/i18n/locales/cs/register.js +0 -2
- package/dist/default/i18n/locales/cy/register.js +0 -2
- package/dist/default/i18n/locales/da/register.js +0 -2
- package/dist/default/i18n/locales/de/register.js +0 -2
- package/dist/default/i18n/locales/el/register.js +0 -2
- package/dist/default/i18n/locales/en/register.js +0 -2
- package/dist/default/i18n/locales/es/register.js +0 -2
- package/dist/default/i18n/locales/et/register.js +0 -2
- package/dist/default/i18n/locales/eu/register.js +0 -2
- package/dist/default/i18n/locales/fa/register.js +0 -2
- package/dist/default/i18n/locales/fi/register.js +0 -2
- package/dist/default/i18n/locales/fr/register.js +0 -2
- package/dist/default/i18n/locales/gd/register.js +0 -2
- package/dist/default/i18n/locales/gl/register.js +0 -2
- package/dist/default/i18n/locales/he/register.js +0 -2
- package/dist/default/i18n/locales/hi/register.js +0 -2
- package/dist/default/i18n/locales/hr/register.js +0 -2
- package/dist/default/i18n/locales/hu/register.js +0 -2
- package/dist/default/i18n/locales/id/register.js +0 -2
- package/dist/default/i18n/locales/it/register.js +0 -2
- package/dist/default/i18n/locales/ja/register.js +0 -2
- package/dist/default/i18n/locales/ko/register.js +0 -2
- package/dist/default/i18n/locales/lt/register.js +0 -2
- package/dist/default/i18n/locales/lv/register.js +0 -2
- package/dist/default/i18n/locales/mr/register.js +0 -2
- package/dist/default/i18n/locales/nb/register.js +0 -2
- package/dist/default/i18n/locales/ne/register.js +0 -2
- package/dist/default/i18n/locales/nl/register.js +0 -2
- package/dist/default/i18n/locales/nn/register.js +0 -2
- package/dist/default/i18n/locales/oc/register.js +0 -2
- package/dist/default/i18n/locales/pl/register.js +0 -2
- package/dist/default/i18n/locales/pt/register.js +0 -2
- package/dist/default/i18n/locales/pt-BR/register.js +0 -2
- package/dist/default/i18n/locales/pt-PT/register.js +0 -2
- package/dist/default/i18n/locales/ro/register.js +0 -2
- package/dist/default/i18n/locales/ru/register.js +0 -2
- package/dist/default/i18n/locales/sk/register.js +0 -2
- package/dist/default/i18n/locales/sl/register.js +0 -2
- package/dist/default/i18n/locales/sr/register.js +0 -2
- package/dist/default/i18n/locales/sv/register.js +0 -2
- package/dist/default/i18n/locales/te/register.js +0 -2
- package/dist/default/i18n/locales/th/register.js +0 -2
- package/dist/default/i18n/locales/tr/register.js +0 -2
- package/dist/default/i18n/locales/uk/register.js +0 -2
- package/dist/default/i18n/locales/vi/register.js +0 -2
- package/dist/default/i18n/locales/zh/register.js +0 -2
- package/dist/default/i18n/locales/zh-CN/register.js +0 -2
- package/dist/default/i18n/locales/zh-TW/register.js +0 -2
- package/dist/default/i18n/text.js +38 -8
- package/dist/default/i18n/use-ambient-lang.js +14 -7
- package/dist/default/i18n/use-lang-root-element.js +0 -2
- package/dist/default/i18n/use-lazy-translations.js +54 -25
- package/dist/default/i18n/use-locale-root-notifications.js +0 -2
- package/dist/default/i18n/use-merged-translations.js +32 -14
- package/dist/default/i18n/use-registry-epoch.js +18 -6
- package/dist/default/icons/dist/react/default/airplay-enter.js +0 -2
- package/dist/default/icons/dist/react/default/airplay-exit.js +0 -2
- package/dist/default/icons/dist/react/default/captions-off.js +0 -2
- package/dist/default/icons/dist/react/default/captions-on.js +0 -2
- package/dist/default/icons/dist/react/default/cast-enter.js +0 -2
- package/dist/default/icons/dist/react/default/cast-exit.js +0 -2
- package/dist/default/icons/dist/react/default/check.js +0 -2
- package/dist/default/icons/dist/react/default/chevron.js +0 -2
- package/dist/default/icons/dist/react/default/fullscreen-enter.js +0 -2
- package/dist/default/icons/dist/react/default/fullscreen-exit.js +0 -2
- package/dist/default/icons/dist/react/default/gear.js +0 -2
- package/dist/default/icons/dist/react/default/pause.js +0 -2
- package/dist/default/icons/dist/react/default/pip-enter.js +0 -2
- package/dist/default/icons/dist/react/default/pip-exit.js +0 -2
- package/dist/default/icons/dist/react/default/play.js +0 -2
- package/dist/default/icons/dist/react/default/quality.js +0 -2
- package/dist/default/icons/dist/react/default/restart.js +0 -2
- package/dist/default/icons/dist/react/default/seek.js +0 -2
- package/dist/default/icons/dist/react/default/speech.js +0 -2
- package/dist/default/icons/dist/react/default/speed.js +0 -2
- package/dist/default/icons/dist/react/default/spinner.js +0 -2
- package/dist/default/icons/dist/react/default/switches.js +0 -2
- package/dist/default/icons/dist/react/default/volume-high.js +0 -2
- package/dist/default/icons/dist/react/default/volume-low.js +0 -2
- package/dist/default/icons/dist/react/default/volume-off.js +0 -2
- package/dist/default/icons/dist/react/minimal/airplay-enter.js +0 -2
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +0 -2
- package/dist/default/icons/dist/react/minimal/captions-off.js +0 -2
- package/dist/default/icons/dist/react/minimal/captions-on.js +0 -2
- package/dist/default/icons/dist/react/minimal/cast-enter.js +0 -2
- package/dist/default/icons/dist/react/minimal/cast-exit.js +0 -2
- package/dist/default/icons/dist/react/minimal/check.js +0 -2
- package/dist/default/icons/dist/react/minimal/chevron.js +0 -2
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +0 -2
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +0 -2
- package/dist/default/icons/dist/react/minimal/gear.js +0 -2
- package/dist/default/icons/dist/react/minimal/pause.js +0 -2
- package/dist/default/icons/dist/react/minimal/pip-enter.js +0 -2
- package/dist/default/icons/dist/react/minimal/pip-exit.js +0 -2
- package/dist/default/icons/dist/react/minimal/play.js +0 -2
- package/dist/default/icons/dist/react/minimal/quality.js +0 -2
- package/dist/default/icons/dist/react/minimal/restart.js +0 -2
- package/dist/default/icons/dist/react/minimal/seek.js +0 -2
- package/dist/default/icons/dist/react/minimal/speech.js +0 -2
- package/dist/default/icons/dist/react/minimal/speed.js +0 -2
- package/dist/default/icons/dist/react/minimal/spinner.js +0 -2
- package/dist/default/icons/dist/react/minimal/switches.js +0 -2
- package/dist/default/icons/dist/react/minimal/volume-high.js +0 -2
- package/dist/default/icons/dist/react/minimal/volume-low.js +0 -2
- package/dist/default/icons/dist/react/minimal/volume-off.js +0 -2
- package/dist/default/index.js +2 -1
- package/dist/default/internal/skins/default-audio/components/buttons/mute-button.js +63 -13
- package/dist/default/internal/skins/default-audio/components/buttons/play-button.js +63 -13
- package/dist/default/internal/skins/default-audio/components/buttons/seek-button.js +96 -15
- package/dist/default/internal/skins/default-audio/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/default-audio/components/menus/radio-item.js +42 -9
- package/dist/default/internal/skins/default-audio/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/default-audio/layout/controls.js +111 -0
- package/dist/default/internal/skins/default-audio/skin.js +74 -21
- package/dist/default/internal/skins/default-audio/skins/shared/audio/buttons/play-button.js +62 -0
- package/dist/default/internal/skins/default-audio/skins/shared/audio/menus/settings-menu.js +98 -0
- package/dist/default/internal/skins/default-live-audio/components/buttons/mute-button.js +63 -13
- package/dist/default/internal/skins/default-live-audio/components/buttons/play-button.js +63 -13
- package/dist/default/internal/skins/default-live-audio/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/default-live-audio/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/default-live-audio/layout/controls.js +58 -0
- package/dist/default/internal/skins/default-live-audio/skin.js +74 -21
- package/dist/default/internal/skins/default-live-audio/skins/shared/audio/buttons/play-button.js +62 -0
- package/dist/default/internal/skins/default-live-video/components/buttons/airplay-button.js +54 -9
- package/dist/default/internal/skins/default-live-video/components/buttons/captions-button.js +54 -9
- package/dist/default/internal/skins/default-live-video/components/buttons/cast-button.js +54 -9
- package/dist/default/internal/skins/default-live-video/components/buttons/fullscreen-button.js +54 -9
- package/dist/default/internal/skins/default-live-video/components/buttons/mute-button.js +63 -13
- package/dist/default/internal/skins/default-live-video/components/buttons/pip-button.js +54 -9
- package/dist/default/internal/skins/default-live-video/components/buttons/play-button.js +63 -13
- package/dist/default/internal/skins/default-live-video/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/default-live-video/components/display/status-indicator.js +128 -0
- package/dist/default/internal/skins/default-live-video/components/display/volume-indicator.js +64 -0
- package/dist/default/internal/skins/default-live-video/components/menus/captions-menu.js +71 -17
- package/dist/default/internal/skins/default-live-video/components/menus/radio-item.js +42 -9
- package/dist/default/internal/skins/default-live-video/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/default-live-video/layout/controls.js +117 -0
- package/dist/default/internal/skins/default-live-video/skin.js +104 -27
- package/dist/default/internal/skins/default-live-video/skins/shared/live-video/display/status-indicators.js +72 -0
- package/dist/default/internal/skins/default-video/components/buttons/airplay-button.js +54 -9
- package/dist/default/internal/skins/default-video/components/buttons/captions-button.js +54 -9
- package/dist/default/internal/skins/default-video/components/buttons/cast-button.js +54 -9
- package/dist/default/internal/skins/default-video/components/buttons/fullscreen-button.js +54 -9
- package/dist/default/internal/skins/default-video/components/buttons/mute-button.js +63 -13
- package/dist/default/internal/skins/default-video/components/buttons/pip-button.js +54 -9
- package/dist/default/internal/skins/default-video/components/buttons/play-button.js +63 -13
- package/dist/default/internal/skins/default-video/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/default-video/components/display/seek-indicator.js +59 -0
- package/dist/default/internal/skins/default-video/components/display/status-indicator.js +128 -0
- package/dist/default/internal/skins/default-video/components/display/volume-indicator.js +64 -0
- package/dist/default/internal/skins/default-video/components/menus/audio-track-menu.js +59 -17
- package/dist/default/internal/skins/default-video/components/menus/captions-submenu.js +59 -17
- package/dist/default/internal/skins/default-video/components/menus/menu-chevron.js +25 -4
- package/dist/default/internal/skins/default-video/components/menus/playback-rate-submenu.js +59 -17
- package/dist/default/internal/skins/default-video/components/menus/quality-menu.js +65 -23
- package/dist/default/internal/skins/default-video/components/menus/radio-item.js +42 -9
- package/dist/default/internal/skins/default-video/components/menus/settings-menu.js +89 -23
- package/dist/default/internal/skins/default-video/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/default-video/components/sliders/time-slider.js +132 -38
- package/dist/default/internal/skins/default-video/layout/controls.js +172 -0
- package/dist/default/internal/skins/default-video/skin.js +113 -27
- package/dist/default/internal/skins/default-video/skins/shared/video/display/status-indicators.js +78 -0
- package/dist/default/internal/skins/default-video/skins/shared/video/menus/settings-menu.js +54 -0
- package/dist/default/internal/skins/minimal-audio/components/buttons/mute-button.js +64 -14
- package/dist/default/internal/skins/minimal-audio/components/buttons/play-button.js +64 -14
- package/dist/default/internal/skins/minimal-audio/components/buttons/seek-button.js +97 -16
- package/dist/default/internal/skins/minimal-audio/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/minimal-audio/components/menus/radio-item.js +42 -9
- package/dist/default/internal/skins/minimal-audio/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/minimal-audio/layout/controls.js +104 -0
- package/dist/default/internal/skins/minimal-audio/skin.js +74 -21
- package/dist/default/internal/skins/minimal-audio/skins/shared/audio/buttons/play-button.js +62 -0
- package/dist/default/internal/skins/minimal-audio/skins/shared/audio/menus/settings-menu.js +98 -0
- package/dist/default/internal/skins/minimal-live-audio/components/buttons/mute-button.js +64 -14
- package/dist/default/internal/skins/minimal-live-audio/components/buttons/play-button.js +64 -14
- package/dist/default/internal/skins/minimal-live-audio/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/minimal-live-audio/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/minimal-live-audio/layout/controls.js +63 -0
- package/dist/default/internal/skins/minimal-live-audio/skin.js +74 -21
- package/dist/default/internal/skins/minimal-live-audio/skins/shared/audio/buttons/play-button.js +62 -0
- package/dist/default/internal/skins/minimal-live-video/components/buttons/airplay-button.js +55 -10
- package/dist/default/internal/skins/minimal-live-video/components/buttons/captions-button.js +55 -10
- package/dist/default/internal/skins/minimal-live-video/components/buttons/cast-button.js +55 -10
- package/dist/default/internal/skins/minimal-live-video/components/buttons/fullscreen-button.js +55 -10
- package/dist/default/internal/skins/minimal-live-video/components/buttons/mute-button.js +64 -14
- package/dist/default/internal/skins/minimal-live-video/components/buttons/pip-button.js +55 -10
- package/dist/default/internal/skins/minimal-live-video/components/buttons/play-button.js +64 -14
- package/dist/default/internal/skins/minimal-live-video/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/minimal-live-video/components/display/status-indicator.js +128 -0
- package/dist/default/internal/skins/minimal-live-video/components/display/volume-indicator.js +64 -0
- package/dist/default/internal/skins/minimal-live-video/components/menus/captions-menu.js +71 -17
- package/dist/default/internal/skins/minimal-live-video/components/menus/radio-item.js +42 -9
- package/dist/default/internal/skins/minimal-live-video/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/minimal-live-video/layout/controls.js +116 -0
- package/dist/default/internal/skins/minimal-live-video/skin.js +104 -27
- package/dist/default/internal/skins/minimal-live-video/skins/shared/live-video/display/status-indicators.js +72 -0
- package/dist/default/internal/skins/minimal-video/components/buttons/airplay-button.js +55 -10
- package/dist/default/internal/skins/minimal-video/components/buttons/captions-button.js +55 -10
- package/dist/default/internal/skins/minimal-video/components/buttons/cast-button.js +55 -10
- package/dist/default/internal/skins/minimal-video/components/buttons/fullscreen-button.js +55 -10
- package/dist/default/internal/skins/minimal-video/components/buttons/mute-button.js +64 -14
- package/dist/default/internal/skins/minimal-video/components/buttons/pip-button.js +55 -10
- package/dist/default/internal/skins/minimal-video/components/buttons/play-button.js +64 -14
- package/dist/default/internal/skins/minimal-video/components/display/buffering-indicator.js +52 -0
- package/dist/default/internal/skins/minimal-video/components/display/seek-indicator.js +59 -0
- package/dist/default/internal/skins/minimal-video/components/display/status-indicator.js +128 -0
- package/dist/default/internal/skins/minimal-video/components/display/volume-indicator.js +64 -0
- package/dist/default/internal/skins/minimal-video/components/menus/audio-track-menu.js +59 -17
- package/dist/default/internal/skins/minimal-video/components/menus/captions-submenu.js +59 -17
- package/dist/default/internal/skins/minimal-video/components/menus/menu-chevron.js +25 -4
- package/dist/default/internal/skins/minimal-video/components/menus/playback-rate-submenu.js +59 -17
- package/dist/default/internal/skins/minimal-video/components/menus/quality-menu.js +65 -23
- package/dist/default/internal/skins/minimal-video/components/menus/radio-item.js +42 -9
- package/dist/default/internal/skins/minimal-video/components/menus/settings-menu.js +90 -24
- package/dist/default/internal/skins/minimal-video/components/menus/volume-popover.js +101 -0
- package/dist/default/internal/skins/minimal-video/components/sliders/time-slider.js +133 -39
- package/dist/default/internal/skins/minimal-video/layout/controls.js +166 -0
- package/dist/default/internal/skins/minimal-video/skin.js +113 -27
- package/dist/default/internal/skins/minimal-video/skins/shared/video/display/status-indicators.js +78 -0
- package/dist/default/internal/skins/minimal-video/skins/shared/video/menus/settings-menu.js +54 -0
- package/dist/default/internal/skins/shared/components/behaviors/status-announcer.js +45 -0
- package/dist/default/internal/skins/shared/components/buttons/button-tooltip.js +62 -10
- package/dist/default/internal/skins/shared/components/buttons/button.js +31 -7
- package/dist/default/internal/skins/shared/components/buttons/live-button.js +43 -8
- package/dist/default/internal/skins/shared/components/buttons/playback-rate-button.js +43 -8
- package/dist/default/internal/skins/shared/components/dialogs/error-dialog.js +44 -0
- package/dist/default/internal/skins/shared/components/display/poster.js +64 -0
- package/dist/default/internal/skins/shared/components/display/title.js +45 -0
- package/dist/default/internal/skins/shared/components/layout/container.js +36 -8
- package/dist/default/internal/skins/shared/components/sliders/slider.js +121 -22
- package/dist/default/internal/skins/shared/components/sliders/volume-slider.js +57 -12
- package/dist/default/internal/skins/shared/skins/shared/audio/dialogs/error-dialog.js +44 -0
- package/dist/default/internal/skins/shared/skins/shared/audio/sliders/time-slider.js +108 -0
- package/dist/default/internal/skins/shared/skins/shared/behaviors/live-playback-hotkeys.js +51 -0
- package/dist/default/internal/skins/shared/skins/shared/behaviors/playback-hotkeys.js +98 -0
- package/dist/default/internal/skins/shared/skins/shared/live-video/behaviors/gestures.js +45 -0
- package/dist/default/internal/skins/shared/skins/shared/live-video/behaviors/hotkeys.js +43 -0
- package/dist/default/internal/skins/shared/skins/shared/video/behaviors/gestures.js +57 -0
- package/dist/default/internal/skins/shared/skins/shared/video/behaviors/hotkeys.js +43 -0
- package/dist/default/media/audio.js +27 -8
- package/dist/default/media/background-video/adapter.js +43 -19
- package/dist/default/media/cloudflare-video/adapter.js +63 -27
- package/dist/default/media/dash-video/adapter.js +27 -8
- package/dist/default/media/hls-audio/adapter.js +27 -8
- package/dist/default/media/hls-background-video/adapter.js +50 -19
- package/dist/default/media/hls-video/adapter.js +27 -8
- package/dist/default/media/hlsjs-video/adapter.js +27 -8
- package/dist/default/media/mux-audio/hls-js.js +27 -8
- package/dist/default/media/mux-audio/spf.js +27 -8
- package/dist/default/media/mux-video/hls-js.js +34 -8
- package/dist/default/media/mux-video/spf.js +34 -8
- package/dist/default/media/mux-video/storyboard.js +49 -29
- package/dist/default/media/native-hls-video/adapter.js +27 -8
- package/dist/default/media/shaka-video/adapter.js +27 -8
- package/dist/default/media/spotify-audio/adapter.js +83 -27
- package/dist/default/media/tiktok-video/adapter.js +63 -27
- package/dist/default/media/twitch-video/adapter.js +63 -27
- package/dist/default/media/video.js +27 -8
- package/dist/default/media/vimeo-video/adapter.js +62 -26
- package/dist/default/media/wistia-video/adapter.js +95 -13
- package/dist/default/media/youtube-video/adapter.js +62 -26
- package/dist/default/player/container.js +153 -38
- package/dist/default/player/context.js +15 -7
- package/dist/default/player/create-player.js +101 -50
- package/dist/default/player/popup-group-context.js +15 -7
- package/dist/default/presets/audio/index.js +0 -2
- package/dist/default/presets/audio/minimal-skin.css +638 -399
- package/dist/default/presets/audio/minimal-skin.js +10 -4
- package/dist/default/presets/audio/player.js +0 -2
- package/dist/default/presets/audio/skin.css +384 -190
- package/dist/default/presets/audio/skin.js +10 -4
- package/dist/default/presets/background/index.js +0 -2
- package/dist/default/presets/background/player.js +0 -2
- package/dist/default/presets/background/skin.js +47 -9
- package/dist/default/presets/live-audio/index.js +0 -2
- package/dist/default/presets/live-audio/minimal-skin.css +433 -353
- package/dist/default/presets/live-audio/minimal-skin.js +10 -4
- package/dist/default/presets/live-audio/player.js +0 -2
- package/dist/default/presets/live-audio/skin.css +196 -144
- package/dist/default/presets/live-audio/skin.js +10 -4
- package/dist/default/presets/live-video/index.js +0 -2
- package/dist/default/presets/live-video/minimal-skin.css +860 -732
- package/dist/default/presets/live-video/minimal-skin.js +10 -4
- package/dist/default/presets/live-video/player.js +0 -2
- package/dist/default/presets/live-video/skin.css +695 -589
- package/dist/default/presets/live-video/skin.js +10 -4
- package/dist/default/presets/video/index.js +0 -2
- package/dist/default/presets/video/minimal-skin.css +717 -623
- package/dist/default/presets/video/minimal-skin.js +10 -4
- package/dist/default/presets/video/player.js +0 -2
- package/dist/default/presets/video/skin.css +480 -416
- package/dist/default/presets/video/skin.js +10 -4
- package/dist/default/ui/airplay-button/component.js +0 -2
- package/dist/default/ui/alert-dialog/index.parts.js +0 -2
- package/dist/default/ui/alert-dialog/root.js +37 -13
- package/dist/default/ui/audio-track/use-audio-track-options.js +0 -2
- package/dist/default/ui/audio-track-radio-group/component.js +188 -42
- package/dist/default/ui/audio-track-radio-group/index.parts.js +0 -2
- package/dist/default/ui/buffering-indicator/component.js +0 -2
- package/dist/default/ui/captions-button/component.js +0 -2
- package/dist/default/ui/captions-radio-group/component.js +188 -42
- package/dist/default/ui/captions-radio-group/index.parts.js +0 -2
- package/dist/default/ui/captions-radio-group/use-captions-options.js +0 -2
- package/dist/default/ui/cast-button/component.js +0 -2
- package/dist/default/ui/controls/backdrop.js +0 -2
- package/dist/default/ui/controls/content.js +0 -2
- package/dist/default/ui/controls/context.js +0 -2
- package/dist/default/ui/controls/group.js +0 -2
- package/dist/default/ui/controls/index.parts.js +0 -2
- package/dist/default/ui/controls/root.js +1 -2
- package/dist/default/ui/create-context-part.js +0 -2
- package/dist/default/ui/create-media-button.js +0 -2
- package/dist/default/ui/dialog/backdrop.js +0 -2
- package/dist/default/ui/dialog/close.js +0 -2
- package/dist/default/ui/dialog/context.js +0 -2
- package/dist/default/ui/dialog/description.js +0 -2
- package/dist/default/ui/dialog/index.parts.js +0 -2
- package/dist/default/ui/dialog/popup.js +0 -2
- package/dist/default/ui/dialog/root.js +23 -10
- package/dist/default/ui/dialog/title.js +0 -2
- package/dist/default/ui/dialog/trigger.js +0 -2
- package/dist/default/ui/dialog/use-dialog-root.js +0 -2
- package/dist/default/ui/error-dialog/close.js +0 -2
- package/dist/default/ui/error-dialog/context.js +0 -2
- package/dist/default/ui/error-dialog/description.js +0 -2
- package/dist/default/ui/error-dialog/index.parts.js +0 -2
- package/dist/default/ui/error-dialog/root.js +51 -21
- package/dist/default/ui/error-dialog/title.js +0 -2
- package/dist/default/ui/fullscreen-button/component.js +0 -2
- package/dist/default/ui/gesture/component.js +50 -30
- package/dist/default/ui/gesture/use-doubletap-gesture.js +39 -13
- package/dist/default/ui/gesture/use-tap-gesture.js +39 -13
- package/dist/default/ui/hooks/create-radio-options-hook.js +0 -2
- package/dist/default/ui/hooks/use-button.js +29 -9
- package/dist/default/ui/hooks/use-positioned-state.js +69 -31
- package/dist/default/ui/hooks/use-slider.js +0 -2
- package/dist/default/ui/hotkey/component.js +46 -27
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js +36 -17
- package/dist/default/ui/hotkey/use-hotkey.js +40 -16
- package/dist/default/ui/input-indicator/use-indicator-visibility.js +38 -13
- package/dist/default/ui/input-indicator/use-input-action-subscription.js +22 -8
- package/dist/default/ui/input-indicator/use-input-indicator-root.js +38 -7
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js +0 -2
- package/dist/default/ui/live-button/component.js +0 -2
- package/dist/default/ui/menu/checkbox-item.js +0 -2
- package/dist/default/ui/menu/content.js +86 -55
- package/dist/default/ui/menu/context.js +38 -18
- package/dist/default/ui/menu/group-label.js +0 -2
- package/dist/default/ui/menu/group.js +40 -12
- package/dist/default/ui/menu/index.parts.js +0 -2
- package/dist/default/ui/menu/item-indicator.js +0 -2
- package/dist/default/ui/menu/item.js +103 -40
- package/dist/default/ui/menu/keyboard.js +0 -2
- package/dist/default/ui/menu/popup.js +80 -32
- package/dist/default/ui/menu/radio-group.js +54 -18
- package/dist/default/ui/menu/radio-item.js +81 -47
- package/dist/default/ui/menu/root.js +0 -2
- package/dist/default/ui/menu/separator.js +0 -2
- package/dist/default/ui/menu/trigger.js +194 -111
- package/dist/default/ui/menu/use-menu-group.js +38 -14
- package/dist/default/ui/mute-button/component.js +0 -2
- package/dist/default/ui/pip-button/component.js +0 -2
- package/dist/default/ui/play-button/component.js +0 -2
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +0 -2
- package/dist/default/ui/playback-rate-button/component.js +0 -2
- package/dist/default/ui/playback-rate-radio-group/component.js +188 -42
- package/dist/default/ui/playback-rate-radio-group/index.parts.js +0 -2
- package/dist/default/ui/popover/arrow.js +0 -2
- package/dist/default/ui/popover/context.js +0 -2
- package/dist/default/ui/popover/index.parts.js +0 -2
- package/dist/default/ui/popover/popup.js +47 -22
- package/dist/default/ui/popover/root.js +0 -2
- package/dist/default/ui/popover/trigger.js +0 -2
- package/dist/default/ui/popover/use-popup-position.js +54 -22
- package/dist/default/ui/poster/context.js +15 -8
- package/dist/default/ui/poster/image.js +60 -32
- package/dist/default/ui/poster/index.parts.js +0 -2
- package/dist/default/ui/poster/root.js +4 -3
- package/dist/default/ui/quality/use-quality-options.js +0 -2
- package/dist/default/ui/quality-radio-group/component.js +188 -42
- package/dist/default/ui/quality-radio-group/index.parts.js +0 -2
- package/dist/default/ui/seek-button/component.js +0 -2
- package/dist/default/ui/seek-indicator/context.js +15 -7
- package/dist/default/ui/seek-indicator/index.parts.js +0 -2
- package/dist/default/ui/seek-indicator/root.js +40 -15
- package/dist/default/ui/seek-indicator/value.js +0 -2
- package/dist/default/ui/slider/buffer.js +0 -2
- package/dist/default/ui/slider/context.js +47 -10
- package/dist/default/ui/slider/fill.js +0 -2
- package/dist/default/ui/slider/index.parts.js +0 -2
- package/dist/default/ui/slider/preview.js +0 -2
- package/dist/default/ui/slider/root.js +156 -49
- package/dist/default/ui/slider/thumb.js +0 -2
- package/dist/default/ui/slider/thumbnail/index.parts.js +0 -2
- package/dist/default/ui/slider/thumbnail/root.js +15 -7
- package/dist/default/ui/slider/track.js +0 -2
- package/dist/default/ui/slider/value.js +0 -2
- package/dist/default/ui/status-announcer/component.js +0 -2
- package/dist/default/ui/status-indicator/context.js +15 -7
- package/dist/default/ui/status-indicator/index.parts.js +0 -2
- package/dist/default/ui/status-indicator/root.js +57 -19
- package/dist/default/ui/status-indicator/value.js +0 -2
- package/dist/default/ui/thumbnail/context.js +15 -7
- package/dist/default/ui/thumbnail/image.js +0 -2
- package/dist/default/ui/thumbnail/index.parts.js +0 -2
- package/dist/default/ui/thumbnail/root.js +3 -3
- package/dist/default/ui/time/group.js +0 -2
- package/dist/default/ui/time/index.parts.js +0 -2
- package/dist/default/ui/time/separator.js +0 -2
- package/dist/default/ui/time/value.js +0 -2
- package/dist/default/ui/time-slider/chapter-title.js +0 -2
- package/dist/default/ui/time-slider/chapters.js +117 -29
- package/dist/default/ui/time-slider/index.parts.js +0 -2
- package/dist/default/ui/time-slider/root.js +220 -71
- package/dist/default/ui/time-slider/segments.js +0 -2
- package/dist/default/ui/title/component.js +5 -10
- package/dist/default/ui/tooltip/arrow.js +0 -2
- package/dist/default/ui/tooltip/context.js +0 -2
- package/dist/default/ui/tooltip/group-context.js +0 -2
- package/dist/default/ui/tooltip/index.parts.js +0 -2
- package/dist/default/ui/tooltip/label.js +0 -2
- package/dist/default/ui/tooltip/popup.js +55 -24
- package/dist/default/ui/tooltip/provider.js +34 -12
- package/dist/default/ui/tooltip/root.js +0 -2
- package/dist/default/ui/tooltip/shortcut.js +0 -2
- package/dist/default/ui/tooltip/trigger.js +0 -2
- package/dist/default/ui/volume-indicator/context.js +15 -7
- package/dist/default/ui/volume-indicator/fill.js +0 -2
- package/dist/default/ui/volume-indicator/index.parts.js +0 -2
- package/dist/default/ui/volume-indicator/root.js +55 -18
- package/dist/default/ui/volume-indicator/value.js +0 -2
- package/dist/default/ui/volume-popover/context.js +0 -2
- package/dist/default/ui/volume-popover/index.parts.js +0 -2
- package/dist/default/ui/volume-popover/popup.js +21 -7
- package/dist/default/ui/volume-popover/root.js +49 -14
- package/dist/default/ui/volume-popover/trigger.js +0 -2
- package/dist/default/ui/volume-slider/index.parts.js +0 -2
- package/dist/default/ui/volume-slider/root.js +0 -2
- package/dist/default/utils/merge-props.js +0 -2
- package/dist/default/utils/use-attach-media.js +64 -9
- package/dist/default/utils/use-composed-refs.js +0 -2
- package/dist/default/utils/use-destroy.js +27 -13
- package/dist/default/utils/use-force-render.js +4 -3
- package/dist/default/utils/use-latest-ref.js +0 -2
- package/dist/default/utils/use-media-events.js +105 -0
- package/dist/default/utils/use-media-extension.js +26 -7
- package/dist/default/utils/use-media-instance.js +28 -7
- package/dist/default/utils/use-render.js +50 -5
- package/dist/default/utils/use-safe-id.js +10 -3
- package/dist/default/utils/use-sync-props.js +0 -2
- package/dist/dev/i18n/context.js +25 -8
- package/dist/dev/i18n/context.js.map +1 -1
- package/dist/dev/i18n/create-i18n.js +18 -2
- package/dist/dev/i18n/create-i18n.js.map +1 -1
- package/dist/dev/i18n/text.js +38 -6
- package/dist/dev/i18n/text.js.map +1 -1
- package/dist/dev/i18n/use-ambient-lang.js +14 -5
- package/dist/dev/i18n/use-ambient-lang.js.map +1 -1
- package/dist/dev/i18n/use-lazy-translations.js +54 -23
- package/dist/dev/i18n/use-lazy-translations.js.map +1 -1
- package/dist/dev/i18n/use-merged-translations.js +32 -12
- package/dist/dev/i18n/use-merged-translations.js.map +1 -1
- package/dist/dev/i18n/use-registry-epoch.js +18 -4
- package/dist/dev/i18n/use-registry-epoch.js.map +1 -1
- package/dist/dev/index.d.ts +4 -2
- package/dist/dev/index.js +2 -1
- package/dist/dev/internal/skins/default-audio/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/default-audio/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/default-audio/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/default-audio/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/default-audio/components/buttons/seek-button.js +96 -13
- package/dist/dev/internal/skins/default-audio/components/buttons/seek-button.js.map +1 -1
- package/dist/dev/internal/skins/default-audio/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/default-audio/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-audio/components/menus/radio-item.js +42 -7
- package/dist/dev/internal/skins/default-audio/components/menus/radio-item.js.map +1 -1
- package/dist/dev/internal/skins/default-audio/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/default-audio/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/default-audio/layout/controls.js +113 -0
- package/dist/dev/internal/skins/default-audio/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/default-audio/skin.js +74 -19
- package/dist/dev/internal/skins/default-audio/skin.js.map +1 -1
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/buttons/play-button.js +64 -0
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/buttons/play-button.js.map +1 -0
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/menus/settings-menu.js +100 -0
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/menus/settings-menu.js.map +1 -0
- package/dist/dev/internal/skins/default-live-audio/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/default-live-audio/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-audio/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/default-live-audio/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-audio/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/default-live-audio/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-live-audio/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/default-live-audio/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/default-live-audio/layout/controls.js +60 -0
- package/dist/dev/internal/skins/default-live-audio/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/default-live-audio/skin.js +74 -19
- package/dist/dev/internal/skins/default-live-audio/skin.js.map +1 -1
- package/dist/dev/internal/skins/default-live-audio/skins/shared/audio/buttons/play-button.js +64 -0
- package/dist/dev/internal/skins/default-live-audio/skins/shared/audio/buttons/play-button.js.map +1 -0
- package/dist/dev/internal/skins/default-live-video/components/buttons/airplay-button.js +54 -7
- package/dist/dev/internal/skins/default-live-video/components/buttons/airplay-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/buttons/captions-button.js +54 -7
- package/dist/dev/internal/skins/default-live-video/components/buttons/captions-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/buttons/cast-button.js +54 -7
- package/dist/dev/internal/skins/default-live-video/components/buttons/cast-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/buttons/fullscreen-button.js +54 -7
- package/dist/dev/internal/skins/default-live-video/components/buttons/fullscreen-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/default-live-video/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/buttons/pip-button.js +54 -7
- package/dist/dev/internal/skins/default-live-video/components/buttons/pip-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/default-live-video/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/default-live-video/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-live-video/components/display/status-indicator.js +130 -0
- package/dist/dev/internal/skins/default-live-video/components/display/status-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-live-video/components/display/volume-indicator.js +66 -0
- package/dist/dev/internal/skins/default-live-video/components/display/volume-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-live-video/components/menus/captions-menu.js +71 -15
- package/dist/dev/internal/skins/default-live-video/components/menus/captions-menu.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/menus/radio-item.js +42 -7
- package/dist/dev/internal/skins/default-live-video/components/menus/radio-item.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/default-live-video/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/default-live-video/layout/controls.js +119 -0
- package/dist/dev/internal/skins/default-live-video/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/default-live-video/skin.js +104 -25
- package/dist/dev/internal/skins/default-live-video/skin.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/skins/shared/live-video/display/status-indicators.js +74 -0
- package/dist/dev/internal/skins/default-live-video/skins/shared/live-video/display/status-indicators.js.map +1 -0
- package/dist/dev/internal/skins/default-video/components/buttons/airplay-button.js +54 -7
- package/dist/dev/internal/skins/default-video/components/buttons/airplay-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/buttons/captions-button.js +54 -7
- package/dist/dev/internal/skins/default-video/components/buttons/captions-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/buttons/cast-button.js +54 -7
- package/dist/dev/internal/skins/default-video/components/buttons/cast-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/buttons/fullscreen-button.js +54 -7
- package/dist/dev/internal/skins/default-video/components/buttons/fullscreen-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/default-video/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/buttons/pip-button.js +54 -7
- package/dist/dev/internal/skins/default-video/components/buttons/pip-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/default-video/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/default-video/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-video/components/display/seek-indicator.js +61 -0
- package/dist/dev/internal/skins/default-video/components/display/seek-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-video/components/display/status-indicator.js +130 -0
- package/dist/dev/internal/skins/default-video/components/display/status-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-video/components/display/volume-indicator.js +66 -0
- package/dist/dev/internal/skins/default-video/components/display/volume-indicator.js.map +1 -0
- package/dist/dev/internal/skins/default-video/components/menus/audio-track-menu.js +59 -15
- package/dist/dev/internal/skins/default-video/components/menus/audio-track-menu.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/captions-submenu.js +59 -15
- package/dist/dev/internal/skins/default-video/components/menus/captions-submenu.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/menu-chevron.js +25 -2
- package/dist/dev/internal/skins/default-video/components/menus/menu-chevron.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/playback-rate-submenu.js +59 -15
- package/dist/dev/internal/skins/default-video/components/menus/playback-rate-submenu.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/quality-menu.js +65 -21
- package/dist/dev/internal/skins/default-video/components/menus/quality-menu.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/radio-item.js +42 -7
- package/dist/dev/internal/skins/default-video/components/menus/radio-item.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/settings-menu.js +89 -21
- package/dist/dev/internal/skins/default-video/components/menus/settings-menu.js.map +1 -1
- package/dist/dev/internal/skins/default-video/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/default-video/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/default-video/components/sliders/time-slider.js +132 -36
- package/dist/dev/internal/skins/default-video/components/sliders/time-slider.js.map +1 -1
- package/dist/dev/internal/skins/default-video/layout/controls.js +174 -0
- package/dist/dev/internal/skins/default-video/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/default-video/skin.js +113 -25
- package/dist/dev/internal/skins/default-video/skin.js.map +1 -1
- package/dist/dev/internal/skins/default-video/skins/shared/video/display/status-indicators.js +80 -0
- package/dist/dev/internal/skins/default-video/skins/shared/video/display/status-indicators.js.map +1 -0
- package/dist/dev/internal/skins/default-video/skins/shared/video/menus/settings-menu.js +56 -0
- package/dist/dev/internal/skins/default-video/skins/shared/video/menus/settings-menu.js.map +1 -0
- package/dist/dev/internal/skins/minimal-audio/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/minimal-audio/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-audio/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/minimal-audio/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-audio/components/buttons/seek-button.js +96 -13
- package/dist/dev/internal/skins/minimal-audio/components/buttons/seek-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-audio/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/minimal-audio/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-audio/components/menus/radio-item.js +42 -7
- package/dist/dev/internal/skins/minimal-audio/components/menus/radio-item.js.map +1 -1
- package/dist/dev/internal/skins/minimal-audio/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/minimal-audio/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/minimal-audio/layout/controls.js +106 -0
- package/dist/dev/internal/skins/minimal-audio/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/minimal-audio/skin.js +74 -19
- package/dist/dev/internal/skins/minimal-audio/skin.js.map +1 -1
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/buttons/play-button.js +64 -0
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/buttons/play-button.js.map +1 -0
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/menus/settings-menu.js +100 -0
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/menus/settings-menu.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-audio/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/minimal-live-audio/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-audio/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/minimal-live-audio/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-audio/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/minimal-live-audio/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-audio/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/minimal-live-audio/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-audio/layout/controls.js +65 -0
- package/dist/dev/internal/skins/minimal-live-audio/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-audio/skin.js +74 -19
- package/dist/dev/internal/skins/minimal-live-audio/skin.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-audio/skins/shared/audio/buttons/play-button.js +64 -0
- package/dist/dev/internal/skins/minimal-live-audio/skins/shared/audio/buttons/play-button.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/airplay-button.js +54 -7
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/airplay-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/captions-button.js +54 -7
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/captions-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/cast-button.js +54 -7
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/cast-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/fullscreen-button.js +54 -7
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/fullscreen-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/pip-button.js +54 -7
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/pip-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/minimal-live-video/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/minimal-live-video/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-video/components/display/status-indicator.js +130 -0
- package/dist/dev/internal/skins/minimal-live-video/components/display/status-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-video/components/display/volume-indicator.js +66 -0
- package/dist/dev/internal/skins/minimal-live-video/components/display/volume-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-video/components/menus/captions-menu.js +71 -15
- package/dist/dev/internal/skins/minimal-live-video/components/menus/captions-menu.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/menus/radio-item.js +42 -7
- package/dist/dev/internal/skins/minimal-live-video/components/menus/radio-item.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/minimal-live-video/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-video/layout/controls.js +118 -0
- package/dist/dev/internal/skins/minimal-live-video/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/minimal-live-video/skin.js +104 -25
- package/dist/dev/internal/skins/minimal-live-video/skin.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/skins/shared/live-video/display/status-indicators.js +74 -0
- package/dist/dev/internal/skins/minimal-live-video/skins/shared/live-video/display/status-indicators.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/components/buttons/airplay-button.js +54 -7
- package/dist/dev/internal/skins/minimal-video/components/buttons/airplay-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/buttons/captions-button.js +54 -7
- package/dist/dev/internal/skins/minimal-video/components/buttons/captions-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/buttons/cast-button.js +54 -7
- package/dist/dev/internal/skins/minimal-video/components/buttons/cast-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/buttons/fullscreen-button.js +54 -7
- package/dist/dev/internal/skins/minimal-video/components/buttons/fullscreen-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/buttons/mute-button.js +63 -11
- package/dist/dev/internal/skins/minimal-video/components/buttons/mute-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/buttons/pip-button.js +54 -7
- package/dist/dev/internal/skins/minimal-video/components/buttons/pip-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/buttons/play-button.js +63 -11
- package/dist/dev/internal/skins/minimal-video/components/buttons/play-button.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/display/buffering-indicator.js +54 -0
- package/dist/dev/internal/skins/minimal-video/components/display/buffering-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/components/display/seek-indicator.js +61 -0
- package/dist/dev/internal/skins/minimal-video/components/display/seek-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/components/display/status-indicator.js +130 -0
- package/dist/dev/internal/skins/minimal-video/components/display/status-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/components/display/volume-indicator.js +66 -0
- package/dist/dev/internal/skins/minimal-video/components/display/volume-indicator.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/components/menus/audio-track-menu.js +59 -15
- package/dist/dev/internal/skins/minimal-video/components/menus/audio-track-menu.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/captions-submenu.js +59 -15
- package/dist/dev/internal/skins/minimal-video/components/menus/captions-submenu.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/menu-chevron.js +25 -2
- package/dist/dev/internal/skins/minimal-video/components/menus/menu-chevron.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/playback-rate-submenu.js +59 -15
- package/dist/dev/internal/skins/minimal-video/components/menus/playback-rate-submenu.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/quality-menu.js +65 -21
- package/dist/dev/internal/skins/minimal-video/components/menus/quality-menu.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/radio-item.js +42 -7
- package/dist/dev/internal/skins/minimal-video/components/menus/radio-item.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/settings-menu.js +89 -21
- package/dist/dev/internal/skins/minimal-video/components/menus/settings-menu.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/components/menus/volume-popover.js +103 -0
- package/dist/dev/internal/skins/minimal-video/components/menus/volume-popover.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/components/sliders/time-slider.js +132 -36
- package/dist/dev/internal/skins/minimal-video/components/sliders/time-slider.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/layout/controls.js +168 -0
- package/dist/dev/internal/skins/minimal-video/layout/controls.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/skin.js +113 -25
- package/dist/dev/internal/skins/minimal-video/skin.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/display/status-indicators.js +80 -0
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/display/status-indicators.js.map +1 -0
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/menus/settings-menu.js +56 -0
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/menus/settings-menu.js.map +1 -0
- package/dist/dev/internal/skins/shared/components/behaviors/status-announcer.js +47 -0
- package/dist/dev/internal/skins/shared/components/behaviors/status-announcer.js.map +1 -0
- package/dist/dev/internal/skins/shared/components/buttons/button-tooltip.js +62 -8
- package/dist/dev/internal/skins/shared/components/buttons/button-tooltip.js.map +1 -1
- package/dist/dev/internal/skins/shared/components/buttons/button.js +31 -5
- package/dist/dev/internal/skins/shared/components/buttons/button.js.map +1 -1
- package/dist/dev/internal/skins/shared/components/buttons/live-button.js +43 -6
- package/dist/dev/internal/skins/shared/components/buttons/live-button.js.map +1 -1
- package/dist/dev/internal/skins/shared/components/buttons/playback-rate-button.js +43 -6
- package/dist/dev/internal/skins/shared/components/buttons/playback-rate-button.js.map +1 -1
- package/dist/dev/internal/skins/shared/components/dialogs/error-dialog.js +46 -0
- package/dist/dev/internal/skins/shared/components/dialogs/error-dialog.js.map +1 -0
- package/dist/dev/internal/skins/shared/components/display/poster.js +66 -0
- package/dist/dev/internal/skins/shared/components/display/poster.js.map +1 -0
- package/dist/dev/internal/skins/shared/components/display/title.js +47 -0
- package/dist/dev/internal/skins/shared/components/display/title.js.map +1 -0
- package/dist/dev/internal/skins/shared/components/layout/container.js +36 -6
- package/dist/dev/internal/skins/shared/components/layout/container.js.map +1 -1
- package/dist/dev/internal/skins/shared/components/sliders/slider.js +121 -20
- package/dist/dev/internal/skins/shared/components/sliders/slider.js.map +1 -1
- package/dist/dev/internal/skins/shared/components/sliders/volume-slider.js +57 -10
- package/dist/dev/internal/skins/shared/components/sliders/volume-slider.js.map +1 -1
- package/dist/dev/internal/skins/shared/skins/shared/audio/dialogs/error-dialog.js +46 -0
- package/dist/dev/internal/skins/shared/skins/shared/audio/dialogs/error-dialog.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/audio/sliders/time-slider.js +110 -0
- package/dist/dev/internal/skins/shared/skins/shared/audio/sliders/time-slider.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/behaviors/live-playback-hotkeys.js +53 -0
- package/dist/dev/internal/skins/shared/skins/shared/behaviors/live-playback-hotkeys.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/behaviors/playback-hotkeys.js +100 -0
- package/dist/dev/internal/skins/shared/skins/shared/behaviors/playback-hotkeys.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/live-video/behaviors/gestures.js +47 -0
- package/dist/dev/internal/skins/shared/skins/shared/live-video/behaviors/gestures.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/live-video/behaviors/hotkeys.js +45 -0
- package/dist/dev/internal/skins/shared/skins/shared/live-video/behaviors/hotkeys.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/video/behaviors/gestures.js +59 -0
- package/dist/dev/internal/skins/shared/skins/shared/video/behaviors/gestures.js.map +1 -0
- package/dist/dev/internal/skins/shared/skins/shared/video/behaviors/hotkeys.js +45 -0
- package/dist/dev/internal/skins/shared/skins/shared/video/behaviors/hotkeys.js.map +1 -0
- package/dist/dev/media/audio.js +27 -6
- package/dist/dev/media/audio.js.map +1 -1
- package/dist/dev/media/background-video/adapter.js +43 -17
- package/dist/dev/media/background-video/adapter.js.map +1 -1
- package/dist/dev/media/cloudflare-video/adapter.d.ts +3 -2
- package/dist/dev/media/cloudflare-video/adapter.js +63 -25
- package/dist/dev/media/cloudflare-video/adapter.js.map +1 -1
- package/dist/dev/media/dash-video/adapter.js +27 -6
- package/dist/dev/media/dash-video/adapter.js.map +1 -1
- package/dist/dev/media/hls-audio/adapter.js +27 -6
- package/dist/dev/media/hls-audio/adapter.js.map +1 -1
- package/dist/dev/media/hls-background-video/adapter.js +50 -17
- package/dist/dev/media/hls-background-video/adapter.js.map +1 -1
- package/dist/dev/media/hls-video/adapter.js +27 -6
- package/dist/dev/media/hls-video/adapter.js.map +1 -1
- package/dist/dev/media/hlsjs-video/adapter.js +27 -6
- package/dist/dev/media/hlsjs-video/adapter.js.map +1 -1
- package/dist/dev/media/mux-audio/hls-js.js +27 -6
- package/dist/dev/media/mux-audio/hls-js.js.map +1 -1
- package/dist/dev/media/mux-audio/spf.d.ts +1 -1
- package/dist/dev/media/mux-audio/spf.js +27 -6
- package/dist/dev/media/mux-audio/spf.js.map +1 -1
- package/dist/dev/media/mux-video/hls-js.js +34 -6
- package/dist/dev/media/mux-video/hls-js.js.map +1 -1
- package/dist/dev/media/mux-video/spf.d.ts +1 -1
- package/dist/dev/media/mux-video/spf.js +34 -6
- package/dist/dev/media/mux-video/spf.js.map +1 -1
- package/dist/dev/media/mux-video/storyboard.js +49 -27
- package/dist/dev/media/mux-video/storyboard.js.map +1 -1
- package/dist/dev/media/native-hls-video/adapter.js +27 -6
- package/dist/dev/media/native-hls-video/adapter.js.map +1 -1
- package/dist/dev/media/shaka-video/adapter.js +27 -6
- package/dist/dev/media/shaka-video/adapter.js.map +1 -1
- package/dist/dev/media/spotify-audio/adapter.d.ts +3 -2
- package/dist/dev/media/spotify-audio/adapter.js +83 -25
- package/dist/dev/media/spotify-audio/adapter.js.map +1 -1
- package/dist/dev/media/tiktok-video/adapter.d.ts +3 -2
- package/dist/dev/media/tiktok-video/adapter.js +63 -25
- package/dist/dev/media/tiktok-video/adapter.js.map +1 -1
- package/dist/dev/media/twitch-video/adapter.d.ts +3 -2
- package/dist/dev/media/twitch-video/adapter.js +63 -25
- package/dist/dev/media/twitch-video/adapter.js.map +1 -1
- package/dist/dev/media/video.js +27 -6
- package/dist/dev/media/video.js.map +1 -1
- package/dist/dev/media/vimeo-video/adapter.d.ts +3 -2
- package/dist/dev/media/vimeo-video/adapter.js +62 -24
- package/dist/dev/media/vimeo-video/adapter.js.map +1 -1
- package/dist/dev/media/wistia-video/adapter.d.ts +2 -1
- package/dist/dev/media/wistia-video/adapter.js +95 -11
- package/dist/dev/media/wistia-video/adapter.js.map +1 -1
- package/dist/dev/media/youtube-video/adapter.d.ts +3 -2
- package/dist/dev/media/youtube-video/adapter.js +62 -24
- package/dist/dev/media/youtube-video/adapter.js.map +1 -1
- package/dist/dev/player/container.js +153 -36
- package/dist/dev/player/container.js.map +1 -1
- package/dist/dev/player/context.js +15 -5
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.js +101 -48
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/player/popup-group-context.js +15 -5
- package/dist/dev/player/popup-group-context.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +638 -399
- package/dist/dev/presets/audio/minimal-skin.js +10 -2
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +384 -190
- package/dist/dev/presets/audio/skin.js +10 -2
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/background/skin.js +47 -7
- package/dist/dev/presets/background/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.css +433 -353
- package/dist/dev/presets/live-audio/minimal-skin.js +10 -2
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +196 -144
- package/dist/dev/presets/live-audio/skin.js +10 -2
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +860 -732
- package/dist/dev/presets/live-video/minimal-skin.js +10 -2
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +695 -589
- package/dist/dev/presets/live-video/skin.js +10 -2
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/types.d.ts +17 -1
- package/dist/dev/presets/video/minimal-skin.css +717 -623
- package/dist/dev/presets/video/minimal-skin.d.ts +2 -2
- package/dist/dev/presets/video/minimal-skin.js +10 -2
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/skin.css +480 -416
- package/dist/dev/presets/video/skin.d.ts +2 -2
- package/dist/dev/presets/video/skin.js +10 -2
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/ui/alert-dialog/root.js +37 -11
- package/dist/dev/ui/alert-dialog/root.js.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/component.js +188 -40
- package/dist/dev/ui/audio-track-radio-group/component.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/component.js +188 -40
- package/dist/dev/ui/captions-radio-group/component.js.map +1 -1
- package/dist/dev/ui/controls/root.js +1 -0
- package/dist/dev/ui/controls/root.js.map +1 -1
- package/dist/dev/ui/dialog/root.js +23 -8
- package/dist/dev/ui/dialog/root.js.map +1 -1
- package/dist/dev/ui/error-dialog/root.js +51 -19
- package/dist/dev/ui/error-dialog/root.js.map +1 -1
- package/dist/dev/ui/gesture/component.js +50 -28
- package/dist/dev/ui/gesture/component.js.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.js +39 -11
- package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.js +39 -11
- package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/dev/ui/hooks/use-button.js +31 -9
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hooks/use-positioned-state.js +69 -29
- package/dist/dev/ui/hooks/use-positioned-state.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/hotkey/component.js +46 -25
- package/dist/dev/ui/hotkey/component.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +36 -15
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.js +40 -14
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js +38 -11
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-input-action-subscription.js +22 -6
- package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js +38 -5
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/menu/content.js +86 -53
- package/dist/dev/ui/menu/content.js.map +1 -1
- package/dist/dev/ui/menu/context.js +38 -16
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/group.js +40 -10
- package/dist/dev/ui/menu/group.js.map +1 -1
- package/dist/dev/ui/menu/item.js +103 -38
- package/dist/dev/ui/menu/item.js.map +1 -1
- package/dist/dev/ui/menu/popup.js +80 -30
- package/dist/dev/ui/menu/popup.js.map +1 -1
- package/dist/dev/ui/menu/radio-group.js +54 -16
- package/dist/dev/ui/menu/radio-group.js.map +1 -1
- package/dist/dev/ui/menu/radio-item.js +81 -45
- package/dist/dev/ui/menu/radio-item.js.map +1 -1
- package/dist/dev/ui/menu/root.js.map +1 -1
- package/dist/dev/ui/menu/trigger.js +194 -109
- package/dist/dev/ui/menu/trigger.js.map +1 -1
- package/dist/dev/ui/menu/use-menu-group.js +38 -12
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/component.js +188 -40
- package/dist/dev/ui/playback-rate-radio-group/component.js.map +1 -1
- package/dist/dev/ui/popover/popup.js +47 -20
- package/dist/dev/ui/popover/popup.js.map +1 -1
- package/dist/dev/ui/popover/use-popup-position.js +54 -20
- package/dist/dev/ui/popover/use-popup-position.js.map +1 -1
- package/dist/dev/ui/poster/context.js +15 -6
- package/dist/dev/ui/poster/context.js.map +1 -1
- package/dist/dev/ui/poster/image.js +60 -30
- package/dist/dev/ui/poster/image.js.map +1 -1
- package/dist/dev/ui/poster/root.js +4 -1
- package/dist/dev/ui/poster/root.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/component.js +188 -40
- package/dist/dev/ui/quality-radio-group/component.js.map +1 -1
- package/dist/dev/ui/seek-indicator/context.js +15 -5
- package/dist/dev/ui/seek-indicator/context.js.map +1 -1
- package/dist/dev/ui/seek-indicator/root.js +40 -13
- package/dist/dev/ui/seek-indicator/root.js.map +1 -1
- package/dist/dev/ui/slider/context.js +47 -8
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/root.js +156 -47
- package/dist/dev/ui/slider/root.js.map +1 -1
- package/dist/dev/ui/slider/thumbnail/root.js +15 -5
- package/dist/dev/ui/slider/thumbnail/root.js.map +1 -1
- package/dist/dev/ui/status-indicator/context.js +15 -5
- package/dist/dev/ui/status-indicator/context.js.map +1 -1
- package/dist/dev/ui/status-indicator/root.js +57 -17
- package/dist/dev/ui/status-indicator/root.js.map +1 -1
- package/dist/dev/ui/thumbnail/context.js +15 -5
- package/dist/dev/ui/thumbnail/context.js.map +1 -1
- package/dist/dev/ui/thumbnail/root.js +3 -1
- package/dist/dev/ui/thumbnail/root.js.map +1 -1
- package/dist/dev/ui/time/group.js.map +1 -1
- package/dist/dev/ui/time/separator.js.map +1 -1
- package/dist/dev/ui/time-slider/chapter-title.js.map +1 -1
- package/dist/dev/ui/time-slider/chapters.js +117 -27
- package/dist/dev/ui/time-slider/chapters.js.map +1 -1
- package/dist/dev/ui/time-slider/root.js +220 -69
- package/dist/dev/ui/time-slider/root.js.map +1 -1
- package/dist/dev/ui/title/component.d.ts +3 -7
- package/dist/dev/ui/title/component.js +5 -8
- package/dist/dev/ui/title/component.js.map +1 -1
- package/dist/dev/ui/title/index.d.ts +1 -1
- package/dist/dev/ui/tooltip/popup.js +55 -22
- package/dist/dev/ui/tooltip/popup.js.map +1 -1
- package/dist/dev/ui/tooltip/provider.js +34 -10
- package/dist/dev/ui/tooltip/provider.js.map +1 -1
- package/dist/dev/ui/volume-indicator/context.js +15 -5
- package/dist/dev/ui/volume-indicator/context.js.map +1 -1
- package/dist/dev/ui/volume-indicator/root.js +55 -16
- package/dist/dev/ui/volume-indicator/root.js.map +1 -1
- package/dist/dev/ui/volume-popover/popup.js +21 -5
- package/dist/dev/ui/volume-popover/popup.js.map +1 -1
- package/dist/dev/ui/volume-popover/root.d.ts +1 -1
- package/dist/dev/ui/volume-popover/root.js +49 -12
- package/dist/dev/ui/volume-popover/root.js.map +1 -1
- package/dist/dev/utils/use-attach-media.d.ts +8 -2
- package/dist/dev/utils/use-attach-media.js +64 -7
- package/dist/dev/utils/use-attach-media.js.map +1 -1
- package/dist/dev/utils/use-destroy.js +27 -11
- package/dist/dev/utils/use-destroy.js.map +1 -1
- package/dist/dev/utils/use-force-render.js +4 -1
- package/dist/dev/utils/use-force-render.js.map +1 -1
- package/dist/dev/utils/use-media-events.d.ts +72 -0
- package/dist/dev/utils/use-media-events.js +107 -0
- package/dist/dev/utils/use-media-events.js.map +1 -0
- package/dist/dev/utils/use-media-extension.js +26 -5
- package/dist/dev/utils/use-media-extension.js.map +1 -1
- package/dist/dev/utils/use-media-instance.js +28 -5
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.js +51 -3
- package/dist/dev/utils/use-render.js.map +1 -1
- package/dist/dev/utils/use-safe-id.js +10 -1
- package/dist/dev/utils/use-safe-id.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/guides/accessibility.md +93 -0
- package/docs/guides/architecture.md +118 -0
- package/docs/guides/autoplay.md +173 -0
- package/docs/guides/background-video.md +202 -0
- package/docs/guides/browser-support.md +145 -0
- package/docs/guides/build-with-ai.md +167 -0
- package/docs/guides/build-your-own-component.md +182 -0
- package/docs/guides/bundlers.md +50 -0
- package/docs/guides/captions.md +155 -0
- package/docs/guides/casting.md +159 -0
- package/docs/guides/content-security-policy.md +36 -0
- package/docs/guides/controls.md +179 -0
- package/docs/guides/customize-skins.md +153 -0
- package/docs/guides/features.md +118 -0
- package/docs/guides/fullscreen.md +150 -0
- package/docs/guides/installation-shadcn.md +189 -0
- package/docs/guides/installation.md +166 -0
- package/docs/guides/internationalization.md +323 -0
- package/docs/guides/keyboard-shortcuts.md +97 -0
- package/docs/guides/live-streams.md +139 -0
- package/docs/guides/llms.txt +67 -0
- package/docs/guides/media-sources.md +312 -0
- package/docs/guides/migrate-from-media-chrome.md +291 -0
- package/docs/guides/migrate-from-mux-player.md +522 -0
- package/docs/guides/migrate-from-plyr.md +319 -0
- package/docs/guides/migrate-from-video-js-8.md +463 -0
- package/docs/guides/mux-data.md +84 -0
- package/docs/guides/picture-in-picture.md +149 -0
- package/docs/guides/playback-errors.md +124 -0
- package/docs/guides/poster.md +222 -0
- package/docs/guides/presets.md +94 -0
- package/docs/guides/quality.md +268 -0
- package/docs/guides/skins.md +72 -0
- package/docs/guides/thumbnails.md +179 -0
- package/docs/guides/typescript.md +41 -0
- package/docs/guides/ui-components.md +82 -0
- package/docs/guides/user-preferences.md +176 -0
- package/docs/guides/v10-roadmap.md +92 -0
- package/docs/guides/why-videojs.md +138 -0
- package/docs/llms.txt +272 -202
- package/docs/reference/api/create-i18n.md +53 -0
- package/docs/reference/api/create-player.md +155 -0
- package/docs/reference/api/create-selector.md +45 -0
- package/docs/reference/api/create-translator.md +36 -0
- package/docs/reference/api/error-codes.md +25 -0
- package/docs/reference/api/feature-audio-track.md +44 -0
- package/docs/reference/api/feature-buffer.md +47 -0
- package/docs/reference/api/feature-controls.md +50 -0
- package/docs/reference/api/feature-error.md +49 -0
- package/docs/reference/api/feature-fullscreen.md +67 -0
- package/docs/reference/api/feature-live.md +100 -0
- package/docs/reference/api/feature-metadata.md +91 -0
- package/docs/reference/api/feature-orientation-lock.md +87 -0
- package/docs/reference/api/feature-pip.md +51 -0
- package/docs/reference/api/feature-playback-rate.md +45 -0
- package/docs/reference/api/feature-playback.md +48 -0
- package/docs/reference/api/feature-quality.md +45 -0
- package/docs/reference/api/feature-remote-playback.md +51 -0
- package/docs/reference/api/feature-source.md +45 -0
- package/docs/reference/api/feature-stream-type.md +49 -0
- package/docs/reference/api/feature-text-tracks.md +58 -0
- package/docs/reference/api/feature-time.md +50 -0
- package/docs/reference/api/feature-volume.md +59 -0
- package/docs/reference/api/get-i18n-translations.md +36 -0
- package/docs/reference/api/has-registered-locale.md +33 -0
- package/docs/reference/api/i18n-provider.md +37 -0
- package/docs/reference/api/llms.txt +102 -0
- package/docs/reference/api/merge-props.md +38 -0
- package/docs/reference/api/on-i18n-registry-change.md +29 -0
- package/docs/reference/api/register-i18n.md +39 -0
- package/docs/reference/api/render-element.md +180 -0
- package/docs/reference/api/translation-phrases.md +107 -0
- package/docs/reference/api/use-audio-track-options.md +60 -0
- package/docs/reference/api/use-button.md +101 -0
- package/docs/reference/api/use-captions-options.md +61 -0
- package/docs/reference/api/use-composed-refs.md +41 -0
- package/docs/reference/api/use-container-attach.md +42 -0
- package/docs/reference/api/use-container.md +39 -0
- package/docs/reference/api/use-destroy.md +41 -0
- package/docs/reference/api/use-double-tap-gesture.md +38 -0
- package/docs/reference/api/use-hotkey-shortcut.md +41 -0
- package/docs/reference/api/use-hotkey.md +40 -0
- package/docs/reference/api/use-latest-ref.md +49 -0
- package/docs/reference/api/use-locale.md +114 -0
- package/docs/reference/api/use-optional-container.md +31 -0
- package/docs/reference/api/use-optional-player.md +63 -0
- package/docs/reference/api/use-playback-rate-options.md +62 -0
- package/docs/reference/api/use-player.md +224 -0
- package/docs/reference/api/use-quality-options.md +60 -0
- package/docs/reference/api/use-selector.md +65 -0
- package/docs/reference/api/use-slider.md +70 -0
- package/docs/reference/api/use-snapshot.md +76 -0
- package/docs/reference/api/use-store.md +202 -0
- package/docs/reference/api/use-tap-gesture.md +38 -0
- package/docs/reference/api/use-translator.md +118 -0
- package/docs/reference/api/vjs8-legacy-component.md +21 -0
- package/docs/reference/api/vjs8-legacy-get-player.md +21 -0
- package/docs/reference/api/vjs8-legacy-init.md +21 -0
- package/docs/reference/api/vjs8-legacy-options.md +21 -0
- package/docs/reference/api/vjs8-legacy-plugin.md +21 -0
- package/docs/reference/components/airplay-button.md +154 -0
- package/docs/reference/components/alert-dialog.md +265 -0
- package/docs/reference/components/audio-minimal-skin.md +34 -0
- package/docs/reference/components/audio-skin.md +34 -0
- package/docs/reference/components/audio-track-radio-group.md +264 -0
- package/docs/reference/components/audio.md +75 -0
- package/docs/reference/components/background-video-skin.md +32 -0
- package/docs/reference/components/background-video.md +55 -0
- package/docs/reference/components/buffering-indicator.md +113 -0
- package/docs/reference/components/captions-button.md +141 -0
- package/docs/reference/components/captions-radio-group.md +266 -0
- package/docs/reference/components/cast-button.md +154 -0
- package/docs/reference/components/cloudflare-video.md +116 -0
- package/docs/reference/components/controls.md +272 -0
- package/docs/reference/components/dash-video.md +61 -0
- package/docs/reference/components/dialog.md +359 -0
- package/docs/reference/components/error-dialog.md +276 -0
- package/docs/reference/components/fullscreen-button.md +132 -0
- package/docs/reference/components/gesture.md +121 -0
- package/docs/reference/components/google-cast.md +39 -0
- package/docs/reference/components/hls-audio.md +55 -0
- package/docs/reference/components/hls-background-video.md +41 -0
- package/docs/reference/components/hls-video.md +56 -0
- package/docs/reference/components/hlsjs-video.md +70 -0
- package/docs/reference/components/hotkey.md +119 -0
- package/docs/reference/components/live-audio-minimal-skin.md +36 -0
- package/docs/reference/components/live-audio-skin.md +36 -0
- package/docs/reference/components/live-button.md +167 -0
- package/docs/reference/components/live-video-minimal-skin.md +42 -0
- package/docs/reference/components/live-video-skin.md +42 -0
- package/docs/reference/components/llms.txt +122 -0
- package/docs/reference/components/menu.md +742 -0
- package/docs/reference/components/mute-button.md +200 -0
- package/docs/reference/components/mux-audio.md +93 -0
- package/docs/reference/components/mux-background-video.md +30 -0
- package/docs/reference/components/mux-data.md +43 -0
- package/docs/reference/components/mux-video.md +183 -0
- package/docs/reference/components/native-hls-video.md +78 -0
- package/docs/reference/components/pip-button.md +132 -0
- package/docs/reference/components/play-button.md +130 -0
- package/docs/reference/components/playback-rate-button.md +117 -0
- package/docs/reference/components/playback-rate-radio-group.md +263 -0
- package/docs/reference/components/player-container.md +92 -0
- package/docs/reference/components/player.md +102 -0
- package/docs/reference/components/popover.md +259 -0
- package/docs/reference/components/poster.md +228 -0
- package/docs/reference/components/quality-radio-group.md +278 -0
- package/docs/reference/components/seek-button.md +125 -0
- package/docs/reference/components/seek-indicator.md +232 -0
- package/docs/reference/components/shaka-video.md +108 -0
- package/docs/reference/components/slider.md +466 -0
- package/docs/reference/components/spotify-audio.md +109 -0
- package/docs/reference/components/status-announcer.md +264 -0
- package/docs/reference/components/status-indicator.md +285 -0
- package/docs/reference/components/thumbnail.md +309 -0
- package/docs/reference/components/tiktok-video.md +128 -0
- package/docs/reference/components/time-slider.md +575 -0
- package/docs/reference/components/time.md +397 -0
- package/docs/reference/components/title.md +172 -0
- package/docs/reference/components/tooltip.md +369 -0
- package/docs/reference/components/twitch-video.md +122 -0
- package/docs/reference/components/video-minimal-skin.md +46 -0
- package/docs/reference/components/video-skin.md +46 -0
- package/docs/reference/components/video.md +79 -0
- package/docs/reference/components/vimeo-video.md +126 -0
- package/docs/reference/components/volume-indicator.md +305 -0
- package/docs/reference/components/volume-popover.md +233 -0
- package/docs/reference/components/volume-slider.md +337 -0
- package/docs/reference/components/wistia-video.md +68 -0
- package/docs/reference/components/youtube-video.md +124 -0
- package/package.json +39 -37
- package/dist/default/extensions/google-cast/extension.js.map +0 -1
- package/dist/default/extensions/mux-data/extension.js.map +0 -1
- package/dist/default/i18n/context.js.map +0 -1
- package/dist/default/i18n/create-i18n.js.map +0 -1
- package/dist/default/i18n/get-provider-root-props.js.map +0 -1
- package/dist/default/i18n/locales/all/register.js.map +0 -1
- package/dist/default/i18n/locales/ar/register.js.map +0 -1
- package/dist/default/i18n/locales/az/register.js.map +0 -1
- package/dist/default/i18n/locales/bg/register.js.map +0 -1
- package/dist/default/i18n/locales/bn/register.js.map +0 -1
- package/dist/default/i18n/locales/bs/register.js.map +0 -1
- package/dist/default/i18n/locales/ca/register.js.map +0 -1
- package/dist/default/i18n/locales/cs/register.js.map +0 -1
- package/dist/default/i18n/locales/cy/register.js.map +0 -1
- package/dist/default/i18n/locales/da/register.js.map +0 -1
- package/dist/default/i18n/locales/de/register.js.map +0 -1
- package/dist/default/i18n/locales/el/register.js.map +0 -1
- package/dist/default/i18n/locales/en/register.js.map +0 -1
- package/dist/default/i18n/locales/es/register.js.map +0 -1
- package/dist/default/i18n/locales/et/register.js.map +0 -1
- package/dist/default/i18n/locales/eu/register.js.map +0 -1
- package/dist/default/i18n/locales/fa/register.js.map +0 -1
- package/dist/default/i18n/locales/fi/register.js.map +0 -1
- package/dist/default/i18n/locales/fr/register.js.map +0 -1
- package/dist/default/i18n/locales/gd/register.js.map +0 -1
- package/dist/default/i18n/locales/gl/register.js.map +0 -1
- package/dist/default/i18n/locales/he/register.js.map +0 -1
- package/dist/default/i18n/locales/hi/register.js.map +0 -1
- package/dist/default/i18n/locales/hr/register.js.map +0 -1
- package/dist/default/i18n/locales/hu/register.js.map +0 -1
- package/dist/default/i18n/locales/id/register.js.map +0 -1
- package/dist/default/i18n/locales/it/register.js.map +0 -1
- package/dist/default/i18n/locales/ja/register.js.map +0 -1
- package/dist/default/i18n/locales/ko/register.js.map +0 -1
- package/dist/default/i18n/locales/lt/register.js.map +0 -1
- package/dist/default/i18n/locales/lv/register.js.map +0 -1
- package/dist/default/i18n/locales/mr/register.js.map +0 -1
- package/dist/default/i18n/locales/nb/register.js.map +0 -1
- package/dist/default/i18n/locales/ne/register.js.map +0 -1
- package/dist/default/i18n/locales/nl/register.js.map +0 -1
- package/dist/default/i18n/locales/nn/register.js.map +0 -1
- package/dist/default/i18n/locales/oc/register.js.map +0 -1
- package/dist/default/i18n/locales/pl/register.js.map +0 -1
- package/dist/default/i18n/locales/pt/register.js.map +0 -1
- package/dist/default/i18n/locales/pt-BR/register.js.map +0 -1
- package/dist/default/i18n/locales/pt-PT/register.js.map +0 -1
- package/dist/default/i18n/locales/ro/register.js.map +0 -1
- package/dist/default/i18n/locales/ru/register.js.map +0 -1
- package/dist/default/i18n/locales/sk/register.js.map +0 -1
- package/dist/default/i18n/locales/sl/register.js.map +0 -1
- package/dist/default/i18n/locales/sr/register.js.map +0 -1
- package/dist/default/i18n/locales/sv/register.js.map +0 -1
- package/dist/default/i18n/locales/te/register.js.map +0 -1
- package/dist/default/i18n/locales/th/register.js.map +0 -1
- package/dist/default/i18n/locales/tr/register.js.map +0 -1
- package/dist/default/i18n/locales/uk/register.js.map +0 -1
- package/dist/default/i18n/locales/vi/register.js.map +0 -1
- package/dist/default/i18n/locales/zh/register.js.map +0 -1
- package/dist/default/i18n/locales/zh-CN/register.js.map +0 -1
- package/dist/default/i18n/locales/zh-TW/register.js.map +0 -1
- package/dist/default/i18n/text.js.map +0 -1
- package/dist/default/i18n/use-ambient-lang.js.map +0 -1
- package/dist/default/i18n/use-lang-root-element.js.map +0 -1
- package/dist/default/i18n/use-lazy-translations.js.map +0 -1
- package/dist/default/i18n/use-locale-root-notifications.js.map +0 -1
- package/dist/default/i18n/use-merged-translations.js.map +0 -1
- package/dist/default/i18n/use-registry-epoch.js.map +0 -1
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +0 -1
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +0 -1
- package/dist/default/icons/dist/react/default/captions-off.js.map +0 -1
- package/dist/default/icons/dist/react/default/captions-on.js.map +0 -1
- package/dist/default/icons/dist/react/default/cast-enter.js.map +0 -1
- package/dist/default/icons/dist/react/default/cast-exit.js.map +0 -1
- package/dist/default/icons/dist/react/default/check.js.map +0 -1
- package/dist/default/icons/dist/react/default/chevron.js.map +0 -1
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +0 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +0 -1
- package/dist/default/icons/dist/react/default/gear.js.map +0 -1
- package/dist/default/icons/dist/react/default/pause.js.map +0 -1
- package/dist/default/icons/dist/react/default/pip-enter.js.map +0 -1
- package/dist/default/icons/dist/react/default/pip-exit.js.map +0 -1
- package/dist/default/icons/dist/react/default/play.js.map +0 -1
- package/dist/default/icons/dist/react/default/quality.js.map +0 -1
- package/dist/default/icons/dist/react/default/restart.js.map +0 -1
- package/dist/default/icons/dist/react/default/seek.js.map +0 -1
- package/dist/default/icons/dist/react/default/speech.js.map +0 -1
- package/dist/default/icons/dist/react/default/speed.js.map +0 -1
- package/dist/default/icons/dist/react/default/spinner.js.map +0 -1
- package/dist/default/icons/dist/react/default/switches.js.map +0 -1
- package/dist/default/icons/dist/react/default/volume-high.js.map +0 -1
- package/dist/default/icons/dist/react/default/volume-low.js.map +0 -1
- package/dist/default/icons/dist/react/default/volume-off.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/check.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/chevron.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/gear.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/pause.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/play.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/quality.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/restart.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/seek.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/speech.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/speed.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/spinner.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/switches.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +0 -1
- package/dist/default/internal/skins/default-audio/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/default-audio/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/default-audio/components/buttons/seek-button.js.map +0 -1
- package/dist/default/internal/skins/default-audio/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/default-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/default-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/default-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-audio/components/menus/radio-item.js.map +0 -1
- package/dist/default/internal/skins/default-audio/controls.js +0 -70
- package/dist/default/internal/skins/default-audio/controls.js.map +0 -1
- package/dist/default/internal/skins/default-audio/skin.js.map +0 -1
- package/dist/default/internal/skins/default-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/default/internal/skins/default-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/default/internal/skins/default-audio/skins/shared/audio/settings-menu.js +0 -44
- package/dist/default/internal/skins/default-audio/skins/shared/audio/settings-menu.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/default-live-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/default-live-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/controls.js +0 -37
- package/dist/default/internal/skins/default-live-audio/controls.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/skin.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/default/internal/skins/default-live-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/airplay-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/captions-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/cast-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/fullscreen-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/pip-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/default-live-video/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/default-live-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/feedback/status-indicator.js +0 -51
- package/dist/default/internal/skins/default-live-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/feedback/volume-indicator.js +0 -29
- package/dist/default/internal/skins/default-live-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/menus/captions-menu.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/components/menus/radio-item.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/controls.js +0 -59
- package/dist/default/internal/skins/default-live-video/controls.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/skin.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/skins/shared/live-video/status-indicators.js +0 -22
- package/dist/default/internal/skins/default-live-video/skins/shared/live-video/status-indicators.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/airplay-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/captions-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/cast-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/fullscreen-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/pip-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/default-video/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/default-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/feedback/seek-indicator.js +0 -18
- package/dist/default/internal/skins/default-video/components/feedback/seek-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/feedback/status-indicator.js +0 -51
- package/dist/default/internal/skins/default-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/feedback/volume-indicator.js +0 -29
- package/dist/default/internal/skins/default-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/audio-track-menu.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/captions-submenu.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/menu-chevron.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/playback-rate-submenu.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/quality-menu.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/radio-item.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/menus/settings-menu.js.map +0 -1
- package/dist/default/internal/skins/default-video/components/sliders/time-slider.js.map +0 -1
- package/dist/default/internal/skins/default-video/controls.js +0 -79
- package/dist/default/internal/skins/default-video/controls.js.map +0 -1
- package/dist/default/internal/skins/default-video/skin.js.map +0 -1
- package/dist/default/internal/skins/default-video/skins/shared/video/settings-menu.js +0 -22
- package/dist/default/internal/skins/default-video/skins/shared/video/settings-menu.js.map +0 -1
- package/dist/default/internal/skins/default-video/skins/shared/video/status-indicators.js +0 -24
- package/dist/default/internal/skins/default-video/skins/shared/video/status-indicators.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/components/buttons/seek-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/minimal-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/minimal-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/components/menus/radio-item.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/controls.js +0 -74
- package/dist/default/internal/skins/minimal-audio/controls.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/skin.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/default/internal/skins/minimal-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/skins/shared/audio/settings-menu.js +0 -44
- package/dist/default/internal/skins/minimal-audio/skins/shared/audio/settings-menu.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/minimal-live-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/minimal-live-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/controls.js +0 -42
- package/dist/default/internal/skins/minimal-live-audio/controls.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/skin.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/default/internal/skins/minimal-live-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/airplay-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/captions-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/cast-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/fullscreen-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/pip-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/minimal-live-video/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/minimal-live-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/feedback/status-indicator.js +0 -51
- package/dist/default/internal/skins/minimal-live-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/feedback/volume-indicator.js +0 -29
- package/dist/default/internal/skins/minimal-live-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/menus/captions-menu.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/components/menus/radio-item.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/controls.js +0 -70
- package/dist/default/internal/skins/minimal-live-video/controls.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/skin.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/skins/shared/live-video/status-indicators.js +0 -22
- package/dist/default/internal/skins/minimal-live-video/skins/shared/live-video/status-indicators.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/airplay-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/captions-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/cast-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/fullscreen-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/mute-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/pip-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/buttons/play-button.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/controls/volume-popover.js +0 -32
- package/dist/default/internal/skins/minimal-video/components/controls/volume-popover.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/default/internal/skins/minimal-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/feedback/seek-indicator.js +0 -18
- package/dist/default/internal/skins/minimal-video/components/feedback/seek-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/feedback/status-indicator.js +0 -51
- package/dist/default/internal/skins/minimal-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/feedback/volume-indicator.js +0 -29
- package/dist/default/internal/skins/minimal-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/audio-track-menu.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/captions-submenu.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/menu-chevron.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/playback-rate-submenu.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/quality-menu.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/radio-item.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/menus/settings-menu.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/components/sliders/time-slider.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/controls.js +0 -93
- package/dist/default/internal/skins/minimal-video/controls.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/skin.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/skins/shared/video/settings-menu.js +0 -22
- package/dist/default/internal/skins/minimal-video/skins/shared/video/settings-menu.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/skins/shared/video/status-indicators.js +0 -24
- package/dist/default/internal/skins/minimal-video/skins/shared/video/status-indicators.js.map +0 -1
- package/dist/default/internal/skins/shared/components/buttons/button-tooltip.js.map +0 -1
- package/dist/default/internal/skins/shared/components/buttons/button.js.map +0 -1
- package/dist/default/internal/skins/shared/components/buttons/live-button.js.map +0 -1
- package/dist/default/internal/skins/shared/components/buttons/playback-rate-button.js.map +0 -1
- package/dist/default/internal/skins/shared/components/feedback/error-dialog.js +0 -29
- package/dist/default/internal/skins/shared/components/feedback/error-dialog.js.map +0 -1
- package/dist/default/internal/skins/shared/components/feedback/status-announcer.js +0 -15
- package/dist/default/internal/skins/shared/components/feedback/status-announcer.js.map +0 -1
- package/dist/default/internal/skins/shared/components/layout/container.js.map +0 -1
- package/dist/default/internal/skins/shared/components/layout/poster.js +0 -20
- package/dist/default/internal/skins/shared/components/layout/poster.js.map +0 -1
- package/dist/default/internal/skins/shared/components/sliders/slider.js.map +0 -1
- package/dist/default/internal/skins/shared/components/sliders/volume-slider.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/audio/error-dialog.js +0 -29
- package/dist/default/internal/skins/shared/skins/shared/audio/error-dialog.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/audio/time-slider.js +0 -42
- package/dist/default/internal/skins/shared/skins/shared/audio/time-slider.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/live-playback-hotkeys.js +0 -37
- package/dist/default/internal/skins/shared/skins/shared/live-playback-hotkeys.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/live-video/gestures.js +0 -31
- package/dist/default/internal/skins/shared/skins/shared/live-video/gestures.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/live-video/hotkeys.js +0 -29
- package/dist/default/internal/skins/shared/skins/shared/live-video/hotkeys.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/playback-hotkeys.js +0 -84
- package/dist/default/internal/skins/shared/skins/shared/playback-hotkeys.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/video/gestures.js +0 -43
- package/dist/default/internal/skins/shared/skins/shared/video/gestures.js.map +0 -1
- package/dist/default/internal/skins/shared/skins/shared/video/hotkeys.js +0 -29
- package/dist/default/internal/skins/shared/skins/shared/video/hotkeys.js.map +0 -1
- package/dist/default/media/audio.js.map +0 -1
- package/dist/default/media/background-video/adapter.js.map +0 -1
- package/dist/default/media/cloudflare-video/adapter.js.map +0 -1
- package/dist/default/media/dash-video/adapter.js.map +0 -1
- package/dist/default/media/hls-audio/adapter.js.map +0 -1
- package/dist/default/media/hls-background-video/adapter.js.map +0 -1
- package/dist/default/media/hls-video/adapter.js.map +0 -1
- package/dist/default/media/hlsjs-video/adapter.js.map +0 -1
- package/dist/default/media/mux-audio/hls-js.js.map +0 -1
- package/dist/default/media/mux-audio/spf.js.map +0 -1
- package/dist/default/media/mux-video/hls-js.js.map +0 -1
- package/dist/default/media/mux-video/spf.js.map +0 -1
- package/dist/default/media/mux-video/storyboard.js.map +0 -1
- package/dist/default/media/native-hls-video/adapter.js.map +0 -1
- package/dist/default/media/shaka-video/adapter.js.map +0 -1
- package/dist/default/media/spotify-audio/adapter.js.map +0 -1
- package/dist/default/media/tiktok-video/adapter.js.map +0 -1
- package/dist/default/media/twitch-video/adapter.js.map +0 -1
- package/dist/default/media/video.js.map +0 -1
- package/dist/default/media/vimeo-video/adapter.js.map +0 -1
- package/dist/default/media/wistia-video/adapter.js.map +0 -1
- package/dist/default/media/youtube-video/adapter.js.map +0 -1
- package/dist/default/player/container.js.map +0 -1
- package/dist/default/player/context.js.map +0 -1
- package/dist/default/player/create-player.js.map +0 -1
- package/dist/default/player/popup-group-context.js.map +0 -1
- package/dist/default/presets/audio/index.js.map +0 -1
- package/dist/default/presets/audio/minimal-skin.js.map +0 -1
- package/dist/default/presets/audio/player.js.map +0 -1
- package/dist/default/presets/audio/skin.js.map +0 -1
- package/dist/default/presets/background/index.js.map +0 -1
- package/dist/default/presets/background/player.js.map +0 -1
- package/dist/default/presets/background/skin.js.map +0 -1
- package/dist/default/presets/live-audio/index.js.map +0 -1
- package/dist/default/presets/live-audio/minimal-skin.js.map +0 -1
- package/dist/default/presets/live-audio/player.js.map +0 -1
- package/dist/default/presets/live-audio/skin.js.map +0 -1
- package/dist/default/presets/live-video/index.js.map +0 -1
- package/dist/default/presets/live-video/minimal-skin.js.map +0 -1
- package/dist/default/presets/live-video/player.js.map +0 -1
- package/dist/default/presets/live-video/skin.js.map +0 -1
- package/dist/default/presets/video/index.js.map +0 -1
- package/dist/default/presets/video/minimal-skin.js.map +0 -1
- package/dist/default/presets/video/player.js.map +0 -1
- package/dist/default/presets/video/skin.js.map +0 -1
- package/dist/default/ui/airplay-button/component.js.map +0 -1
- package/dist/default/ui/alert-dialog/index.parts.js.map +0 -1
- package/dist/default/ui/alert-dialog/root.js.map +0 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +0 -1
- package/dist/default/ui/audio-track-radio-group/component.js.map +0 -1
- package/dist/default/ui/audio-track-radio-group/index.parts.js.map +0 -1
- package/dist/default/ui/buffering-indicator/component.js.map +0 -1
- package/dist/default/ui/captions-button/component.js.map +0 -1
- package/dist/default/ui/captions-radio-group/component.js.map +0 -1
- package/dist/default/ui/captions-radio-group/index.parts.js.map +0 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +0 -1
- package/dist/default/ui/cast-button/component.js.map +0 -1
- package/dist/default/ui/controls/backdrop.js.map +0 -1
- package/dist/default/ui/controls/content.js.map +0 -1
- package/dist/default/ui/controls/context.js.map +0 -1
- package/dist/default/ui/controls/group.js.map +0 -1
- package/dist/default/ui/controls/index.parts.js.map +0 -1
- package/dist/default/ui/controls/root.js.map +0 -1
- package/dist/default/ui/create-context-part.js.map +0 -1
- package/dist/default/ui/create-media-button.js.map +0 -1
- package/dist/default/ui/dialog/backdrop.js.map +0 -1
- package/dist/default/ui/dialog/close.js.map +0 -1
- package/dist/default/ui/dialog/context.js.map +0 -1
- package/dist/default/ui/dialog/description.js.map +0 -1
- package/dist/default/ui/dialog/index.parts.js.map +0 -1
- package/dist/default/ui/dialog/popup.js.map +0 -1
- package/dist/default/ui/dialog/root.js.map +0 -1
- package/dist/default/ui/dialog/title.js.map +0 -1
- package/dist/default/ui/dialog/trigger.js.map +0 -1
- package/dist/default/ui/dialog/use-dialog-root.js.map +0 -1
- package/dist/default/ui/error-dialog/close.js.map +0 -1
- package/dist/default/ui/error-dialog/context.js.map +0 -1
- package/dist/default/ui/error-dialog/description.js.map +0 -1
- package/dist/default/ui/error-dialog/index.parts.js.map +0 -1
- package/dist/default/ui/error-dialog/root.js.map +0 -1
- package/dist/default/ui/error-dialog/title.js.map +0 -1
- package/dist/default/ui/fullscreen-button/component.js.map +0 -1
- package/dist/default/ui/gesture/component.js.map +0 -1
- package/dist/default/ui/gesture/use-doubletap-gesture.js.map +0 -1
- package/dist/default/ui/gesture/use-tap-gesture.js.map +0 -1
- package/dist/default/ui/hooks/create-radio-options-hook.js.map +0 -1
- package/dist/default/ui/hooks/use-button.js.map +0 -1
- package/dist/default/ui/hooks/use-positioned-state.js.map +0 -1
- package/dist/default/ui/hooks/use-slider.js.map +0 -1
- package/dist/default/ui/hotkey/component.js.map +0 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +0 -1
- package/dist/default/ui/hotkey/use-hotkey.js.map +0 -1
- package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +0 -1
- package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +0 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +0 -1
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +0 -1
- package/dist/default/ui/live-button/component.js.map +0 -1
- package/dist/default/ui/menu/checkbox-item.js.map +0 -1
- package/dist/default/ui/menu/content.js.map +0 -1
- package/dist/default/ui/menu/context.js.map +0 -1
- package/dist/default/ui/menu/group-label.js.map +0 -1
- package/dist/default/ui/menu/group.js.map +0 -1
- package/dist/default/ui/menu/index.parts.js.map +0 -1
- package/dist/default/ui/menu/item-indicator.js.map +0 -1
- package/dist/default/ui/menu/item.js.map +0 -1
- package/dist/default/ui/menu/keyboard.js.map +0 -1
- package/dist/default/ui/menu/popup.js.map +0 -1
- package/dist/default/ui/menu/radio-group.js.map +0 -1
- package/dist/default/ui/menu/radio-item.js.map +0 -1
- package/dist/default/ui/menu/root.js.map +0 -1
- package/dist/default/ui/menu/separator.js.map +0 -1
- package/dist/default/ui/menu/trigger.js.map +0 -1
- package/dist/default/ui/menu/use-menu-group.js.map +0 -1
- package/dist/default/ui/mute-button/component.js.map +0 -1
- package/dist/default/ui/pip-button/component.js.map +0 -1
- package/dist/default/ui/play-button/component.js.map +0 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +0 -1
- package/dist/default/ui/playback-rate-button/component.js.map +0 -1
- package/dist/default/ui/playback-rate-radio-group/component.js.map +0 -1
- package/dist/default/ui/playback-rate-radio-group/index.parts.js.map +0 -1
- package/dist/default/ui/popover/arrow.js.map +0 -1
- package/dist/default/ui/popover/context.js.map +0 -1
- package/dist/default/ui/popover/index.parts.js.map +0 -1
- package/dist/default/ui/popover/popup.js.map +0 -1
- package/dist/default/ui/popover/root.js.map +0 -1
- package/dist/default/ui/popover/trigger.js.map +0 -1
- package/dist/default/ui/popover/use-popup-position.js.map +0 -1
- package/dist/default/ui/poster/context.js.map +0 -1
- package/dist/default/ui/poster/image.js.map +0 -1
- package/dist/default/ui/poster/index.parts.js.map +0 -1
- package/dist/default/ui/poster/root.js.map +0 -1
- package/dist/default/ui/quality/use-quality-options.js.map +0 -1
- package/dist/default/ui/quality-radio-group/component.js.map +0 -1
- package/dist/default/ui/quality-radio-group/index.parts.js.map +0 -1
- package/dist/default/ui/seek-button/component.js.map +0 -1
- package/dist/default/ui/seek-indicator/context.js.map +0 -1
- package/dist/default/ui/seek-indicator/index.parts.js.map +0 -1
- package/dist/default/ui/seek-indicator/root.js.map +0 -1
- package/dist/default/ui/seek-indicator/value.js.map +0 -1
- package/dist/default/ui/slider/buffer.js.map +0 -1
- package/dist/default/ui/slider/context.js.map +0 -1
- package/dist/default/ui/slider/fill.js.map +0 -1
- package/dist/default/ui/slider/index.parts.js.map +0 -1
- package/dist/default/ui/slider/preview.js.map +0 -1
- package/dist/default/ui/slider/root.js.map +0 -1
- package/dist/default/ui/slider/thumb.js.map +0 -1
- package/dist/default/ui/slider/thumbnail/index.parts.js.map +0 -1
- package/dist/default/ui/slider/thumbnail/root.js.map +0 -1
- package/dist/default/ui/slider/track.js.map +0 -1
- package/dist/default/ui/slider/value.js.map +0 -1
- package/dist/default/ui/status-announcer/component.js.map +0 -1
- package/dist/default/ui/status-indicator/context.js.map +0 -1
- package/dist/default/ui/status-indicator/index.parts.js.map +0 -1
- package/dist/default/ui/status-indicator/root.js.map +0 -1
- package/dist/default/ui/status-indicator/value.js.map +0 -1
- package/dist/default/ui/thumbnail/context.js.map +0 -1
- package/dist/default/ui/thumbnail/image.js.map +0 -1
- package/dist/default/ui/thumbnail/index.parts.js.map +0 -1
- package/dist/default/ui/thumbnail/root.js.map +0 -1
- package/dist/default/ui/time/group.js.map +0 -1
- package/dist/default/ui/time/index.parts.js.map +0 -1
- package/dist/default/ui/time/separator.js.map +0 -1
- package/dist/default/ui/time/value.js.map +0 -1
- package/dist/default/ui/time-slider/chapter-title.js.map +0 -1
- package/dist/default/ui/time-slider/chapters.js.map +0 -1
- package/dist/default/ui/time-slider/index.parts.js.map +0 -1
- package/dist/default/ui/time-slider/root.js.map +0 -1
- package/dist/default/ui/time-slider/segments.js.map +0 -1
- package/dist/default/ui/title/component.js.map +0 -1
- package/dist/default/ui/tooltip/arrow.js.map +0 -1
- package/dist/default/ui/tooltip/context.js.map +0 -1
- package/dist/default/ui/tooltip/group-context.js.map +0 -1
- package/dist/default/ui/tooltip/index.parts.js.map +0 -1
- package/dist/default/ui/tooltip/label.js.map +0 -1
- package/dist/default/ui/tooltip/popup.js.map +0 -1
- package/dist/default/ui/tooltip/provider.js.map +0 -1
- package/dist/default/ui/tooltip/root.js.map +0 -1
- package/dist/default/ui/tooltip/shortcut.js.map +0 -1
- package/dist/default/ui/tooltip/trigger.js.map +0 -1
- package/dist/default/ui/volume-indicator/context.js.map +0 -1
- package/dist/default/ui/volume-indicator/fill.js.map +0 -1
- package/dist/default/ui/volume-indicator/index.parts.js.map +0 -1
- package/dist/default/ui/volume-indicator/root.js.map +0 -1
- package/dist/default/ui/volume-indicator/value.js.map +0 -1
- package/dist/default/ui/volume-popover/context.js.map +0 -1
- package/dist/default/ui/volume-popover/index.parts.js.map +0 -1
- package/dist/default/ui/volume-popover/popup.js.map +0 -1
- package/dist/default/ui/volume-popover/root.js.map +0 -1
- package/dist/default/ui/volume-popover/trigger.js.map +0 -1
- package/dist/default/ui/volume-slider/index.parts.js.map +0 -1
- package/dist/default/ui/volume-slider/root.js.map +0 -1
- package/dist/default/utils/merge-props.js.map +0 -1
- package/dist/default/utils/use-attach-iframe.js +0 -13
- package/dist/default/utils/use-attach-iframe.js.map +0 -1
- package/dist/default/utils/use-attach-media.js.map +0 -1
- package/dist/default/utils/use-composed-refs.js.map +0 -1
- package/dist/default/utils/use-destroy.js.map +0 -1
- package/dist/default/utils/use-force-render.js.map +0 -1
- package/dist/default/utils/use-latest-ref.js.map +0 -1
- package/dist/default/utils/use-media-extension.js.map +0 -1
- package/dist/default/utils/use-media-instance.js.map +0 -1
- package/dist/default/utils/use-render.js.map +0 -1
- package/dist/default/utils/use-safe-id.js.map +0 -1
- package/dist/default/utils/use-sync-props.js.map +0 -1
- package/dist/dev/extensions/google-cast/extension.d.ts.map +0 -1
- package/dist/dev/extensions/mux-data/extension.d.ts.map +0 -1
- package/dist/dev/i18n/context.d.ts.map +0 -1
- package/dist/dev/i18n/create-i18n.d.ts.map +0 -1
- package/dist/dev/i18n/text.d.ts.map +0 -1
- package/dist/dev/icons/dist/react/default/index.d.ts.map +0 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts.map +0 -1
- package/dist/dev/icons/index.d.ts.map +0 -1
- package/dist/dev/icons/minimal/index.d.ts.map +0 -1
- package/dist/dev/index.d.ts.map +0 -1
- package/dist/dev/internal/skins/default-audio/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/default-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/default-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/default-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-audio/controls.js +0 -70
- package/dist/dev/internal/skins/default-audio/controls.js.map +0 -1
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/settings-menu.js +0 -44
- package/dist/dev/internal/skins/default-audio/skins/shared/audio/settings-menu.js.map +0 -1
- package/dist/dev/internal/skins/default-live-audio/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/default-live-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/default-live-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/default-live-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-live-audio/controls.js +0 -37
- package/dist/dev/internal/skins/default-live-audio/controls.js.map +0 -1
- package/dist/dev/internal/skins/default-live-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/dev/internal/skins/default-live-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/dev/internal/skins/default-live-video/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/default-live-video/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/default-live-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/default-live-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-live-video/components/feedback/status-indicator.js +0 -51
- package/dist/dev/internal/skins/default-live-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-live-video/components/feedback/volume-indicator.js +0 -29
- package/dist/dev/internal/skins/default-live-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-live-video/controls.js +0 -59
- package/dist/dev/internal/skins/default-live-video/controls.js.map +0 -1
- package/dist/dev/internal/skins/default-live-video/skins/shared/live-video/status-indicators.js +0 -22
- package/dist/dev/internal/skins/default-live-video/skins/shared/live-video/status-indicators.js.map +0 -1
- package/dist/dev/internal/skins/default-video/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/default-video/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/default-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/default-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-video/components/feedback/seek-indicator.js +0 -18
- package/dist/dev/internal/skins/default-video/components/feedback/seek-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-video/components/feedback/status-indicator.js +0 -51
- package/dist/dev/internal/skins/default-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-video/components/feedback/volume-indicator.js +0 -29
- package/dist/dev/internal/skins/default-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/dev/internal/skins/default-video/controls.js +0 -79
- package/dist/dev/internal/skins/default-video/controls.js.map +0 -1
- package/dist/dev/internal/skins/default-video/skins/shared/video/settings-menu.js +0 -22
- package/dist/dev/internal/skins/default-video/skins/shared/video/settings-menu.js.map +0 -1
- package/dist/dev/internal/skins/default-video/skins/shared/video/status-indicators.js +0 -24
- package/dist/dev/internal/skins/default-video/skins/shared/video/status-indicators.js.map +0 -1
- package/dist/dev/internal/skins/minimal-audio/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/minimal-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/minimal-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/minimal-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-audio/controls.js +0 -74
- package/dist/dev/internal/skins/minimal-audio/controls.js.map +0 -1
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/settings-menu.js +0 -44
- package/dist/dev/internal/skins/minimal-audio/skins/shared/audio/settings-menu.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-audio/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/minimal-live-audio/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-audio/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/minimal-live-audio/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-audio/controls.js +0 -42
- package/dist/dev/internal/skins/minimal-live-audio/controls.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-audio/skins/shared/audio/play-button.js +0 -22
- package/dist/dev/internal/skins/minimal-live-audio/skins/shared/audio/play-button.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-video/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/minimal-live-video/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/minimal-live-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-video/components/feedback/status-indicator.js +0 -51
- package/dist/dev/internal/skins/minimal-live-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-video/components/feedback/volume-indicator.js +0 -29
- package/dist/dev/internal/skins/minimal-live-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-video/controls.js +0 -70
- package/dist/dev/internal/skins/minimal-live-video/controls.js.map +0 -1
- package/dist/dev/internal/skins/minimal-live-video/skins/shared/live-video/status-indicators.js +0 -22
- package/dist/dev/internal/skins/minimal-live-video/skins/shared/live-video/status-indicators.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/components/controls/volume-popover.js +0 -32
- package/dist/dev/internal/skins/minimal-video/components/controls/volume-popover.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/components/feedback/buffering-indicator.js +0 -17
- package/dist/dev/internal/skins/minimal-video/components/feedback/buffering-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/components/feedback/seek-indicator.js +0 -18
- package/dist/dev/internal/skins/minimal-video/components/feedback/seek-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/components/feedback/status-indicator.js +0 -51
- package/dist/dev/internal/skins/minimal-video/components/feedback/status-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/components/feedback/volume-indicator.js +0 -29
- package/dist/dev/internal/skins/minimal-video/components/feedback/volume-indicator.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/controls.js +0 -93
- package/dist/dev/internal/skins/minimal-video/controls.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/settings-menu.js +0 -22
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/settings-menu.js.map +0 -1
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/status-indicators.js +0 -24
- package/dist/dev/internal/skins/minimal-video/skins/shared/video/status-indicators.js.map +0 -1
- package/dist/dev/internal/skins/shared/components/feedback/error-dialog.js +0 -29
- package/dist/dev/internal/skins/shared/components/feedback/error-dialog.js.map +0 -1
- package/dist/dev/internal/skins/shared/components/feedback/status-announcer.js +0 -15
- package/dist/dev/internal/skins/shared/components/feedback/status-announcer.js.map +0 -1
- package/dist/dev/internal/skins/shared/components/layout/poster.js +0 -20
- package/dist/dev/internal/skins/shared/components/layout/poster.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/audio/error-dialog.js +0 -29
- package/dist/dev/internal/skins/shared/skins/shared/audio/error-dialog.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/audio/time-slider.js +0 -42
- package/dist/dev/internal/skins/shared/skins/shared/audio/time-slider.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/live-playback-hotkeys.js +0 -37
- package/dist/dev/internal/skins/shared/skins/shared/live-playback-hotkeys.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/live-video/gestures.js +0 -31
- package/dist/dev/internal/skins/shared/skins/shared/live-video/gestures.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/live-video/hotkeys.js +0 -29
- package/dist/dev/internal/skins/shared/skins/shared/live-video/hotkeys.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/playback-hotkeys.js +0 -84
- package/dist/dev/internal/skins/shared/skins/shared/playback-hotkeys.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/video/gestures.js +0 -43
- package/dist/dev/internal/skins/shared/skins/shared/video/gestures.js.map +0 -1
- package/dist/dev/internal/skins/shared/skins/shared/video/hotkeys.js +0 -29
- package/dist/dev/internal/skins/shared/skins/shared/video/hotkeys.js.map +0 -1
- package/dist/dev/media/audio.d.ts.map +0 -1
- package/dist/dev/media/background-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/cloudflare-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/dash-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/hls-audio/adapter.d.ts.map +0 -1
- package/dist/dev/media/hls-background-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/hls-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/hlsjs-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/mux-audio/hls-js.d.ts.map +0 -1
- package/dist/dev/media/mux-audio/spf.d.ts.map +0 -1
- package/dist/dev/media/mux-video/hls-js.d.ts.map +0 -1
- package/dist/dev/media/mux-video/spf.d.ts.map +0 -1
- package/dist/dev/media/native-hls-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/shaka-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/spotify-audio/adapter.d.ts.map +0 -1
- package/dist/dev/media/tiktok-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/twitch-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/video.d.ts.map +0 -1
- package/dist/dev/media/vimeo-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/wistia-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/youtube-video/adapter.d.ts.map +0 -1
- package/dist/dev/player/container.d.ts.map +0 -1
- package/dist/dev/player/context.d.ts.map +0 -1
- package/dist/dev/player/create-player.d.ts.map +0 -1
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/audio/player.d.ts.map +0 -1
- package/dist/dev/presets/audio/skin.d.ts.map +0 -1
- package/dist/dev/presets/background/player.d.ts.map +0 -1
- package/dist/dev/presets/background/skin.d.ts.map +0 -1
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/live-audio/player.d.ts.map +0 -1
- package/dist/dev/presets/live-audio/skin.d.ts.map +0 -1
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/live-video/player.d.ts.map +0 -1
- package/dist/dev/presets/live-video/skin.d.ts.map +0 -1
- package/dist/dev/presets/types.d.ts.map +0 -1
- package/dist/dev/presets/video/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/video/player.d.ts.map +0 -1
- package/dist/dev/presets/video/skin.d.ts.map +0 -1
- package/dist/dev/ui/airplay-button/component.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/root.d.ts.map +0 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +0 -1
- package/dist/dev/ui/audio-track-radio-group/component.d.ts.map +0 -1
- package/dist/dev/ui/audio-track-radio-group/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/buffering-indicator/component.d.ts.map +0 -1
- package/dist/dev/ui/captions-button/component.d.ts.map +0 -1
- package/dist/dev/ui/captions-radio-group/component.d.ts.map +0 -1
- package/dist/dev/ui/captions-radio-group/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +0 -1
- package/dist/dev/ui/cast-button/component.d.ts.map +0 -1
- package/dist/dev/ui/controls/backdrop.d.ts.map +0 -1
- package/dist/dev/ui/controls/content.d.ts.map +0 -1
- package/dist/dev/ui/controls/group.d.ts.map +0 -1
- package/dist/dev/ui/controls/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/controls/root.d.ts.map +0 -1
- package/dist/dev/ui/dialog/backdrop.d.ts.map +0 -1
- package/dist/dev/ui/dialog/close.d.ts.map +0 -1
- package/dist/dev/ui/dialog/context.d.ts.map +0 -1
- package/dist/dev/ui/dialog/description.d.ts.map +0 -1
- package/dist/dev/ui/dialog/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/dialog/popup.d.ts.map +0 -1
- package/dist/dev/ui/dialog/root.d.ts.map +0 -1
- package/dist/dev/ui/dialog/title.d.ts.map +0 -1
- package/dist/dev/ui/dialog/trigger.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/close.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/context.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/description.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/root.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/title.d.ts.map +0 -1
- package/dist/dev/ui/fullscreen-button/component.d.ts.map +0 -1
- package/dist/dev/ui/gesture/component.d.ts.map +0 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +0 -1
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +0 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +0 -1
- package/dist/dev/ui/hooks/use-button.d.ts.map +0 -1
- package/dist/dev/ui/hooks/use-slider.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/component.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +0 -1
- package/dist/dev/ui/live-button/component.d.ts.map +0 -1
- package/dist/dev/ui/menu/checkbox-item.d.ts.map +0 -1
- package/dist/dev/ui/menu/content.d.ts.map +0 -1
- package/dist/dev/ui/menu/context.d.ts.map +0 -1
- package/dist/dev/ui/menu/group-label.d.ts.map +0 -1
- package/dist/dev/ui/menu/group.d.ts.map +0 -1
- package/dist/dev/ui/menu/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/menu/item-indicator.d.ts.map +0 -1
- package/dist/dev/ui/menu/item.d.ts.map +0 -1
- package/dist/dev/ui/menu/popup.d.ts.map +0 -1
- package/dist/dev/ui/menu/radio-group.d.ts.map +0 -1
- package/dist/dev/ui/menu/radio-item.d.ts.map +0 -1
- package/dist/dev/ui/menu/root.d.ts.map +0 -1
- package/dist/dev/ui/menu/separator.d.ts.map +0 -1
- package/dist/dev/ui/menu/trigger.d.ts.map +0 -1
- package/dist/dev/ui/mute-button/component.d.ts.map +0 -1
- package/dist/dev/ui/pip-button/component.d.ts.map +0 -1
- package/dist/dev/ui/play-button/component.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-button/component.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-radio-group/component.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-radio-group/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/popover/arrow.d.ts.map +0 -1
- package/dist/dev/ui/popover/context.d.ts.map +0 -1
- package/dist/dev/ui/popover/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/popover/popup.d.ts.map +0 -1
- package/dist/dev/ui/popover/root.d.ts.map +0 -1
- package/dist/dev/ui/popover/trigger.d.ts.map +0 -1
- package/dist/dev/ui/poster/image.d.ts.map +0 -1
- package/dist/dev/ui/poster/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/poster/root.d.ts.map +0 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +0 -1
- package/dist/dev/ui/quality-radio-group/component.d.ts.map +0 -1
- package/dist/dev/ui/quality-radio-group/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/seek-button/component.d.ts.map +0 -1
- package/dist/dev/ui/seek-indicator/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/seek-indicator/root.d.ts.map +0 -1
- package/dist/dev/ui/seek-indicator/value.d.ts.map +0 -1
- package/dist/dev/ui/slider/buffer.d.ts.map +0 -1
- package/dist/dev/ui/slider/fill.d.ts.map +0 -1
- package/dist/dev/ui/slider/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/slider/preview.d.ts.map +0 -1
- package/dist/dev/ui/slider/root.d.ts.map +0 -1
- package/dist/dev/ui/slider/thumb.d.ts.map +0 -1
- package/dist/dev/ui/slider/thumbnail/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/slider/thumbnail/root.d.ts.map +0 -1
- package/dist/dev/ui/slider/track.d.ts.map +0 -1
- package/dist/dev/ui/slider/value.d.ts.map +0 -1
- package/dist/dev/ui/status-announcer/component.d.ts.map +0 -1
- package/dist/dev/ui/status-indicator/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/status-indicator/root.d.ts.map +0 -1
- package/dist/dev/ui/status-indicator/value.d.ts.map +0 -1
- package/dist/dev/ui/thumbnail/image.d.ts.map +0 -1
- package/dist/dev/ui/thumbnail/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/thumbnail/root.d.ts.map +0 -1
- package/dist/dev/ui/time/group.d.ts.map +0 -1
- package/dist/dev/ui/time/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/time/separator.d.ts.map +0 -1
- package/dist/dev/ui/time/value.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/chapter-title.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/chapters.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/root.d.ts.map +0 -1
- package/dist/dev/ui/title/component.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/arrow.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/context.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/label.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/popup.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/provider.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/root.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/shortcut.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/trigger.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/fill.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/root.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/value.d.ts.map +0 -1
- package/dist/dev/ui/volume-popover/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/volume-popover/popup.d.ts.map +0 -1
- package/dist/dev/ui/volume-popover/root.d.ts.map +0 -1
- package/dist/dev/ui/volume-popover/trigger.d.ts.map +0 -1
- package/dist/dev/ui/volume-slider/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/volume-slider/root.d.ts.map +0 -1
- package/dist/dev/utils/merge-props.d.ts.map +0 -1
- package/dist/dev/utils/types.d.ts.map +0 -1
- package/dist/dev/utils/use-attach-iframe.js +0 -13
- package/dist/dev/utils/use-attach-iframe.js.map +0 -1
- package/dist/dev/utils/use-attach-media.d.ts.map +0 -1
- package/dist/dev/utils/use-composed-refs.d.ts.map +0 -1
- package/dist/dev/utils/use-destroy.d.ts.map +0 -1
- package/dist/dev/utils/use-latest-ref.d.ts.map +0 -1
- package/dist/dev/utils/use-media-extension.d.ts.map +0 -1
- package/dist/dev/utils/use-media-instance.d.ts.map +0 -1
- package/dist/dev/utils/use-render.d.ts.map +0 -1
- package/docs/concepts/accessibility.md +0 -68
- package/docs/concepts/browser-support.md +0 -45
- package/docs/concepts/bundlers.md +0 -43
- package/docs/concepts/features.md +0 -142
- package/docs/concepts/media-sources.md +0 -483
- package/docs/concepts/mux-data.md +0 -85
- package/docs/concepts/overview.md +0 -119
- package/docs/concepts/presets.md +0 -230
- package/docs/concepts/security.md +0 -32
- package/docs/concepts/skins.md +0 -216
- package/docs/concepts/typescript.md +0 -34
- package/docs/concepts/ui-components.md +0 -90
- package/docs/concepts/v10-roadmap.md +0 -75
- package/docs/concepts/why-videojs.md +0 -119
- package/docs/how-to/add-a-background-video.md +0 -218
- package/docs/how-to/add-a-poster-and-loading-placeholder.md +0 -234
- package/docs/how-to/add-keyboard-shortcuts-and-gestures.md +0 -97
- package/docs/how-to/add-quality-selector.md +0 -273
- package/docs/how-to/autoplay.md +0 -180
- package/docs/how-to/build-with-ai.md +0 -39
- package/docs/how-to/build-your-own-component.md +0 -271
- package/docs/how-to/cast-to-airplay-and-chromecast.md +0 -158
- package/docs/how-to/customize-skins.md +0 -368
- package/docs/how-to/go-fullscreen-and-lock-orientation.md +0 -153
- package/docs/how-to/handle-playback-errors.md +0 -92
- package/docs/how-to/installation.md +0 -158
- package/docs/how-to/internationalize-the-player.md +0 -368
- package/docs/how-to/migrate-from-media-chrome.md +0 -467
- package/docs/how-to/migrate-from-mux-player.md +0 -696
- package/docs/how-to/migrate-from-plyr.md +0 -424
- package/docs/how-to/migrate-from-video-js-8.md +0 -614
- package/docs/how-to/play-live-streams.md +0 -147
- package/docs/how-to/remember-user-preferences.md +0 -180
- package/docs/how-to/show-and-hide-controls.md +0 -182
- package/docs/how-to/show-captions-and-subtitles.md +0 -156
- package/docs/how-to/show-timeline-thumbnail-previews.md +0 -172
- package/docs/how-to/use-picture-in-picture.md +0 -150
- package/docs/reference/airplay-button.md +0 -298
- package/docs/reference/alert-dialog.md +0 -649
- package/docs/reference/audio-minimal-skin.md +0 -36
- package/docs/reference/audio-skin.md +0 -36
- package/docs/reference/audio-track-radio-group.md +0 -517
- package/docs/reference/audio.md +0 -78
- package/docs/reference/background-video-skin.md +0 -32
- package/docs/reference/background-video.md +0 -56
- package/docs/reference/buffering-indicator.md +0 -154
- package/docs/reference/captions-button.md +0 -261
- package/docs/reference/captions-radio-group.md +0 -526
- package/docs/reference/cast-button.md +0 -285
- package/docs/reference/cloudflare-video.md +0 -237
- package/docs/reference/controls.md +0 -508
- package/docs/reference/create-i18n.md +0 -96
- package/docs/reference/create-player.md +0 -328
- package/docs/reference/create-selector.md +0 -67
- package/docs/reference/create-translator.md +0 -81
- package/docs/reference/dash-video.md +0 -140
- package/docs/reference/dialog.md +0 -833
- package/docs/reference/error-dialog.md +0 -590
- package/docs/reference/feature-audio-track.md +0 -70
- package/docs/reference/feature-buffer.md +0 -70
- package/docs/reference/feature-controls.md +0 -96
- package/docs/reference/feature-error.md +0 -75
- package/docs/reference/feature-fullscreen.md +0 -122
- package/docs/reference/feature-live.md +0 -127
- package/docs/reference/feature-metadata.md +0 -141
- package/docs/reference/feature-orientation-lock.md +0 -131
- package/docs/reference/feature-pip.md +0 -104
- package/docs/reference/feature-playback-rate.md +0 -80
- package/docs/reference/feature-playback.md +0 -119
- package/docs/reference/feature-quality.md +0 -80
- package/docs/reference/feature-remote-playback.md +0 -86
- package/docs/reference/feature-source.md +0 -80
- package/docs/reference/feature-stream-type.md +0 -65
- package/docs/reference/feature-text-tracks.md +0 -138
- package/docs/reference/feature-time.md +0 -94
- package/docs/reference/feature-volume.md +0 -121
- package/docs/reference/fullscreen-button.md +0 -241
- package/docs/reference/gesture.md +0 -201
- package/docs/reference/get-i18n-translations.md +0 -66
- package/docs/reference/google-cast.md +0 -73
- package/docs/reference/has-registered-locale.md +0 -55
- package/docs/reference/hls-audio.md +0 -81
- package/docs/reference/hls-background-video.md +0 -75
- package/docs/reference/hls-video.md +0 -93
- package/docs/reference/hlsjs-video.md +0 -766
- package/docs/reference/hotkey.md +0 -188
- package/docs/reference/i-18-n-context.md +0 -92
- package/docs/reference/i18n-provider.md +0 -33
- package/docs/reference/live-audio-minimal-skin.md +0 -38
- package/docs/reference/live-audio-skin.md +0 -38
- package/docs/reference/live-button.md +0 -280
- package/docs/reference/live-video-minimal-skin.md +0 -44
- package/docs/reference/live-video-skin.md +0 -44
- package/docs/reference/menu.md +0 -1581
- package/docs/reference/merge-props.md +0 -56
- package/docs/reference/mute-button.md +0 -340
- package/docs/reference/mux-audio.md +0 -784
- package/docs/reference/mux-background-video.md +0 -34
- package/docs/reference/mux-data.md +0 -97
- package/docs/reference/mux-video.md +0 -884
- package/docs/reference/native-hls-video.md +0 -148
- package/docs/reference/on-i18n-registry-change.md +0 -57
- package/docs/reference/pip-button.md +0 -241
- package/docs/reference/play-button.md +0 -227
- package/docs/reference/playback-rate-button.md +0 -187
- package/docs/reference/playback-rate-radio-group.md +0 -519
- package/docs/reference/player-container.md +0 -100
- package/docs/reference/player.md +0 -108
- package/docs/reference/popover.md +0 -698
- package/docs/reference/poster.md +0 -393
- package/docs/reference/quality-radio-group.md +0 -531
- package/docs/reference/register-i18n.md +0 -72
- package/docs/reference/render-element.md +0 -216
- package/docs/reference/seek-button.md +0 -215
- package/docs/reference/seek-indicator.md +0 -448
- package/docs/reference/shaka-video.md +0 -411
- package/docs/reference/slider.md +0 -1223
- package/docs/reference/spotify-audio.md +0 -202
- package/docs/reference/status-announcer.md +0 -341
- package/docs/reference/status-indicator.md +0 -535
- package/docs/reference/thumbnail.md +0 -460
- package/docs/reference/tiktok-video.md +0 -294
- package/docs/reference/time-slider.md +0 -1325
- package/docs/reference/time.md +0 -688
- package/docs/reference/title.md +0 -216
- package/docs/reference/tooltip.md +0 -939
- package/docs/reference/translation-phrases.md +0 -453
- package/docs/reference/twitch-video.md +0 -225
- package/docs/reference/use-attach-media.md +0 -59
- package/docs/reference/use-audio-track-options.md +0 -109
- package/docs/reference/use-button.md +0 -136
- package/docs/reference/use-captions-options.md +0 -113
- package/docs/reference/use-composed-refs.md +0 -59
- package/docs/reference/use-container-attach.md +0 -50
- package/docs/reference/use-container.md +0 -39
- package/docs/reference/use-destroy.md +0 -89
- package/docs/reference/use-dialog-context.md +0 -63
- package/docs/reference/use-double-tap-gesture.md +0 -75
- package/docs/reference/use-error-dialog-context.md +0 -41
- package/docs/reference/use-hotkey-shortcut.md +0 -79
- package/docs/reference/use-hotkey.md +0 -62
- package/docs/reference/use-latest-ref.md +0 -73
- package/docs/reference/use-locale.md +0 -133
- package/docs/reference/use-media-attach.md +0 -54
- package/docs/reference/use-media-extension.md +0 -62
- package/docs/reference/use-media-instance.md +0 -79
- package/docs/reference/use-media.md +0 -149
- package/docs/reference/use-menu-context.md +0 -115
- package/docs/reference/use-optional-container.md +0 -33
- package/docs/reference/use-optional-menu-context.md +0 -115
- package/docs/reference/use-optional-player.md +0 -77
- package/docs/reference/use-playback-rate-options.md +0 -123
- package/docs/reference/use-player-context.md +0 -98
- package/docs/reference/use-player.md +0 -245
- package/docs/reference/use-popover-context.md +0 -95
- package/docs/reference/use-quality-options.md +0 -109
- package/docs/reference/use-selector.md +0 -144
- package/docs/reference/use-slider.md +0 -133
- package/docs/reference/use-snapshot.md +0 -153
- package/docs/reference/use-store.md +0 -257
- package/docs/reference/use-tap-gesture.md +0 -75
- package/docs/reference/use-tooltip-context.md +0 -115
- package/docs/reference/use-translator.md +0 -127
- package/docs/reference/video-minimal-skin.md +0 -42
- package/docs/reference/video-skin.md +0 -42
- package/docs/reference/video.md +0 -82
- package/docs/reference/vimeo-video.md +0 -738
- package/docs/reference/volume-indicator.md +0 -601
- package/docs/reference/volume-popover.md +0 -572
- package/docs/reference/volume-slider.md +0 -914
- package/docs/reference/wistia-video.md +0 -75
- package/docs/reference/youtube-video.md +0 -353
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
# Media sources
|
|
2
|
+
|
|
3
|
+
Set what a media element plays and how its engine plays it with the structured source property
|
|
4
|
+
|
|
5
|
+
Every media element takes a `src`. Elements that drive a playback engine also take `source`, a structured object that carries the URL alongside everything else about that source:
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
<HlsJsVideo
|
|
9
|
+
source={{
|
|
10
|
+
src: 'https://example.com/stream.m3u8',
|
|
11
|
+
preferPlayback: 'mse',
|
|
12
|
+
engine: { hlsJs: { maxBufferLength: 60 } },
|
|
13
|
+
}}
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Three tiers, three homes
|
|
18
|
+
|
|
19
|
+
The shape answers one question: does this option describe the source, or how to play it?
|
|
20
|
+
|
|
21
|
+
| Tier | Home | Example |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| Which source to play | `source.src`, or an element’s own identity fields | `src`, `MuxVideo`’s `playbackId` |
|
|
24
|
+
| How to interpret it | `source.type` | `'video/mp4'` |
|
|
25
|
+
| How Video.js plays it | `source`, at the top level | `preferPlayback`, `maxAutoResolution`, `capRenditionToPlayerSize` |
|
|
26
|
+
| How a specific engine behaves | `source.engine`, under that engine’s name | hls.js’s `maxBufferLength`, in `source.engine.hlsJs` |
|
|
27
|
+
| An extension’s own settings | that extension’s props | [Mux Data](./mux-data.md), [GoogleCast](../reference/components/google-cast.md) |
|
|
28
|
+
|
|
29
|
+
`type` is worth reaching for when the URL lies about its contents. Video.js infers the content type from the file extension, so a manifest served from an extensionless or signed URL may need to say so explicitly:
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<HlsJsVideo source={{ src: 'https://example.com/asset?id=42', type: 'application/vnd.apple.mpegurl' }} />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The legacy HLS spelling `application/x-mpegURL` is accepted as an alias, and matching is case-insensitive. An HLS source whose `type` isn’t recognized is handed to the browser as-is rather than to hls.js, which leaves quality and audio-track selection unavailable.
|
|
36
|
+
|
|
37
|
+
## `src` and `source` stay in sync
|
|
38
|
+
|
|
39
|
+
They are two views of the same thing, and writing either updates the other. Setting `source` derives `src`. Setting `src` replaces only the identity half and **keeps the rest, such as `type` and the engine options, intact**:
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
<HlsJsVideo source={{ src: 'https://example.com/a.m3u8', preferPlayback: 'native' }} />
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
A `sourcechange` event fires whenever `source` changes, from either direction.
|
|
46
|
+
|
|
47
|
+
## Assigning `source` replaces it
|
|
48
|
+
|
|
49
|
+
`source` is not merged. A new object is a fresh start, and keys you leave out are dropped:
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
<HlsJsVideo source={{ src, type: 'video/mp4', preferPlayback: 'native' }} />
|
|
53
|
+
|
|
54
|
+
// later: type and preferPlayback are gone, because the new object omits them
|
|
55
|
+
<HlsJsVideo source={{ src }} />
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Equivalent sources cost nothing
|
|
59
|
+
|
|
60
|
+
Sources are compared **structurally**, not by reference. Reassigning an object with the same values is a no-op — no reload, and no engine teardown:
|
|
61
|
+
|
|
62
|
+
```tsx
|
|
63
|
+
// A fresh object literal on every render. Nothing reloads.
|
|
64
|
+
<HlsJsVideo source={{ src, engine: { hlsJs: { maxBufferLength: 60 } } }} />
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This is why you can write `source` inline. React hands the element a brand new object every render, and the element recognizes it as the same source. There’s no need to memoize it or spread the previous value to avoid clobbering anything.
|
|
68
|
+
|
|
69
|
+
Only a change to the engine options, `preferPlayback`, or the resolved content type recreates the playback engine.
|
|
70
|
+
|
|
71
|
+
## Engine options
|
|
72
|
+
|
|
73
|
+
Engine options live under `source.engine`, **namespaced by engine**. Each key there holds that engine’s own configuration object, handed over untouched — there’s no Video.js wrapper around it, so whatever the engine documents works:
|
|
74
|
+
|
|
75
|
+
| Key | Elements that read it | It holds |
|
|
76
|
+
| --- | --- | --- |
|
|
77
|
+
| `engine.hlsJs` | [HlsJsVideo](../reference/components/hlsjs-video.md), [MuxVideo](../reference/components/mux-video.md), [MuxAudio](../reference/components/mux-audio.md) | an [hls.js config](https://github.com/video-dev/hls.js/blob/master/docs/API.md#fine-tuning) |
|
|
78
|
+
| `engine.nativeHls` | [NativeHlsVideo](../reference/components/native-hls-video.md), and the three above whenever the browser plays the manifest | options for the browser’s own HLS support (today, [DRM](#licensing-one-engine-differently)) |
|
|
79
|
+
| `engine.dashJs` | [DashVideo](../reference/components/dash-video.md) | [dash.js settings](https://cdn.dashjs.org/latest/jsdoc/module-Settings.html) |
|
|
80
|
+
| `engine.vimeo` | [VimeoVideo](../reference/components/vimeo-video.md) | [Vimeo embed parameters](https://developer.vimeo.com/player/sdk/embed) |
|
|
81
|
+
| `engine.youtube` | [YouTubeVideo](../reference/components/youtube-video.md) | [YouTube player parameters](https://developer.chrome.com/docs/youtube/iframe_api_reference#Parameters) |
|
|
82
|
+
| `engine.cloudflare` | [CloudflareVideo](../reference/components/cloudflare-video.md) | [Stream player parameters](https://developers.cloudflare.com/stream/viewing-videos/using-the-stream-player/) |
|
|
83
|
+
| `engine.spotify` | [SpotifyAudio](../reference/components/spotify-audio.md) | [Spotify embed options](https://developer.spotify.com/documentation/embeds) |
|
|
84
|
+
| `engine.tiktok` | [TikTokVideo](../reference/components/tiktok-video.md) | [TikTok player parameters](https://developers.tiktok.com/doc/embed-player) |
|
|
85
|
+
| `engine.twitch` | [TwitchVideo](../reference/components/twitch-video.md) | [Twitch embed parameters](https://dev.twitch.tv/docs/embed/video-and-clips/) |
|
|
86
|
+
|
|
87
|
+
Naming the engine rather than using one generic key matters where an element has more than one to choose from. `HlsJsVideo` plays through hls.js or through the browser depending on the platform and `preferPlayback`, and only one of them runs — so a single source can describe both paths without either engine reading the other’s options.
|
|
88
|
+
|
|
89
|
+
hls.js reads its options when the engine is constructed, so changing them tears down the engine and builds a new one:
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
<HlsJsVideo
|
|
93
|
+
source={{
|
|
94
|
+
src: 'https://example.com/stream.m3u8',
|
|
95
|
+
engine: { hlsJs: { maxBufferLength: 60, enableWorker: false } },
|
|
96
|
+
}}
|
|
97
|
+
/>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
dash.js takes settings on a running player, so `engine.dashJs` is applied in place and playback continues uninterrupted:
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
<DashVideo
|
|
104
|
+
source={{
|
|
105
|
+
src: 'https://example.com/manifest.mpd',
|
|
106
|
+
engine: { dashJs: { streaming: { abr: { maxBitrate: { video: 2000 } } } } },
|
|
107
|
+
}}
|
|
108
|
+
/>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Because `engine.dashJs` replaces rather than merges, dropping a key restores the dash.js default instead of leaving the old value behind.
|
|
112
|
+
|
|
113
|
+
### Options Video.js normalizes
|
|
114
|
+
|
|
115
|
+
Where an option means the same thing across engines, it sits on `source` itself rather than inside an engine’s namespace.
|
|
116
|
+
|
|
117
|
+
`preferPlayback` picks between [hls.js](https://github.com/video-dev/hls.js/) and the browser’s own HLS support:
|
|
118
|
+
|
|
119
|
+
```tsx
|
|
120
|
+
<HlsJsVideo source={{ src: 'https://example.com/stream.m3u8', preferPlayback: 'native' }} />
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
It’s a preference, not a demand — Video.js falls back to whichever path can actually play the source. `HlsJsVideo`, `MuxVideo`, and `MuxAudio` accept it; DASH and Vimeo have no second playback path.
|
|
124
|
+
|
|
125
|
+
`maxAutoResolution` caps the highest rendition adaptive bitrate selection reaches for on its own:
|
|
126
|
+
|
|
127
|
+
```tsx
|
|
128
|
+
<HlsJsVideo source={{ src: 'https://example.com/stream.m3u8', maxAutoResolution: '720p' }} />
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
The cap limits automatic selection without hiding anything. Renditions above it stay in `videoRenditions`, so a viewer can still choose 1080p by hand. Reach for it to hold down bandwidth on a stream that would otherwise climb to 4K, or to keep a background or thumbnail player cheap.
|
|
132
|
+
|
|
133
|
+
Renditions are matched on pixel area rather than height, which keeps unusual aspect ratios honest: an ultrawide 2560×1080 rendition carries more pixels than 16:9 1080p, so a `'1080p'` cap leaves it out. When every rendition sits above the cap, the smallest one plays.
|
|
134
|
+
|
|
135
|
+
Changing the cap applies to the running engine, so playback continues uninterrupted. It needs the hls.js engine — native HLS playback ignores it, and audio-only streams have no video renditions to cap.
|
|
136
|
+
|
|
137
|
+
### Capping to the player’s size
|
|
138
|
+
|
|
139
|
+
A 400px-wide player has no use for a 4K rendition, so `capRenditionToPlayerSize` holds automatic selection to the smallest rendition that still covers the element. It defaults to `true`, and the cap follows the element as it’s resized:
|
|
140
|
+
|
|
141
|
+
```tsx
|
|
142
|
+
<HlsJsVideo source={{ src: 'https://example.com/stream.m3u8', capRenditionToPlayerSize: false }} />
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
The element is measured in device pixels, so a `2` device pixel ratio asks for twice the rendition a CSS measurement would — a 640px-wide player on a retina screen still gets 720p. Switch the cap off for a player whose layout size understates what it needs, such as one that goes fullscreen without a resize.
|
|
146
|
+
|
|
147
|
+
`minAutoResolution` bounds how far down that cap can reach, and defaults to `'720p'`:
|
|
148
|
+
|
|
149
|
+
```tsx
|
|
150
|
+
<HlsJsVideo source={{ src: 'https://example.com/stream.m3u8', minAutoResolution: '480p' }} />
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**It is not a quality floor.** It bounds the size-derived cap and nothing else. When bandwidth is poor, adaptive selection still drops below it — the cap is a ceiling, and selection stays free underneath. It also never raises an explicit `maxAutoResolution`: ask for at most `'360p'` alongside a `'720p'` floor and you get `'360p'`.
|
|
154
|
+
|
|
155
|
+
The default is there because the low rungs of a ladder exist for poor network conditions, and capping a small player down to them looks worse than its size suggests. Name a lower rung to weaken the floor, or `'270p'` to lift it for any real ladder.
|
|
156
|
+
|
|
157
|
+
### Four things that sound alike
|
|
158
|
+
|
|
159
|
+
Four separate mechanisms bound which rendition plays, and they’re easy to mistake for each other:
|
|
160
|
+
|
|
161
|
+
| Option | Side | What it does |
|
|
162
|
+
| --- | --- | --- |
|
|
163
|
+
| `source.playback.maxResolution` | Server | A Mux query param. Trims the manifest, so higher renditions never arrive — not even by hand. |
|
|
164
|
+
| `source.maxAutoResolution` | Client | A ceiling on automatic selection. Everything still arrives and stays selectable by hand. |
|
|
165
|
+
| `source.capRenditionToPlayerSize` | Client | The same kind of ceiling, derived from the element’s rendered size and moving with it. |
|
|
166
|
+
| `source.minAutoResolution` | Client | A bound on the one above. Not a quality minimum, and not related to `playback.minResolution`. |
|
|
167
|
+
|
|
168
|
+
`playback.maxResolution` and `playback.minResolution` are the server-side pair: they decide what the manifest carries. The other three only bound what adaptive selection picks from whatever does arrive.
|
|
169
|
+
|
|
170
|
+
## DRM protected sources
|
|
171
|
+
|
|
172
|
+
Protected content is licensed through `source.drm`, keyed by EME key system id — alongside the URL rather than inside an engine’s namespace, because which engine plays the manifest is decided later and both paths read it:
|
|
173
|
+
|
|
174
|
+
```tsx
|
|
175
|
+
<HlsJsVideo
|
|
176
|
+
source={{
|
|
177
|
+
src: 'https://example.com/protected.m3u8',
|
|
178
|
+
drm: {
|
|
179
|
+
'com.apple.fps': {
|
|
180
|
+
licenseUrl: 'https://license.example.com/fairplay',
|
|
181
|
+
serverCertificateUrl: 'https://license.example.com/fairplay-cert',
|
|
182
|
+
},
|
|
183
|
+
'com.widevine.alpha': { licenseUrl: 'https://license.example.com/widevine' },
|
|
184
|
+
'com.microsoft.playready': { licenseUrl: 'https://license.example.com/playready' },
|
|
185
|
+
},
|
|
186
|
+
}}
|
|
187
|
+
/>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Name every system you hold a license server for — which one gets used is the browser’s choice. `serverCertificateUrl` is the DRM server (application) certificate FairPlay requires; Widevine and PlayReady ignore it.
|
|
191
|
+
|
|
192
|
+
### What each path can license
|
|
193
|
+
|
|
194
|
+
The same `drm` reaches both playback paths, and how far it gets is the one thing worth knowing about each:
|
|
195
|
+
|
|
196
|
+
| Path | Key systems it negotiates | What Video.js does with `drm` |
|
|
197
|
+
| --- | --- | --- |
|
|
198
|
+
| hls.js (MSE) | FairPlay, Widevine, PlayReady | Hands it to hls.js as `drmSystems`, with `emeEnabled` switched on |
|
|
199
|
+
| The browser’s own HLS | FairPlay | Answers the element’s key requests itself: POSTs the CDM’s license request to `licenseUrl` and hands the response back |
|
|
200
|
+
|
|
201
|
+
So a source naming only Widevine plays through hls.js and cannot play on the native path — [NativeHlsVideo](../reference/components/native-hls-video.md), or any HLS element the browser ends up playing the manifest for. Video.js says so in development, and encrypted media that gets there with no `com.apple.fps` license server fails with a `MEDIA_ERR_ENCRYPTED` error rather than hanging.
|
|
202
|
+
|
|
203
|
+
For Widevine on hls.js, Video.js asks for a hardware-backed CDM first, falling back to whatever robustness the browser offers, so content restricted to L1 devices plays where it can. Supplying your own `requestMediaKeySystemAccessFunc` replaces that entirely.
|
|
204
|
+
|
|
205
|
+
### Licensing one engine differently
|
|
206
|
+
|
|
207
|
+
An engine’s own `drmSystems` **replaces** `source.drm`, for that engine alone. Reach for it when one path licenses differently, or when you need more of [hls.js’s DRM configuration](https://github.com/video-dev/hls.js/blob/master/docs/API.md#drmsystems) than `drm` covers:
|
|
208
|
+
|
|
209
|
+
```tsx
|
|
210
|
+
<HlsJsVideo
|
|
211
|
+
source={{
|
|
212
|
+
src: 'https://example.com/protected.m3u8',
|
|
213
|
+
drm: { 'com.apple.fps': { licenseUrl, serverCertificateUrl } },
|
|
214
|
+
engine: {
|
|
215
|
+
// hls.js licenses from here instead, and the native path still from `drm`.
|
|
216
|
+
hlsJs: { drmSystems: { 'com.widevine.alpha': { licenseUrl: widevineLicenseUrl } } },
|
|
217
|
+
},
|
|
218
|
+
}}
|
|
219
|
+
/>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
It replaces rather than merges, so the FairPlay server above is gone as far as hls.js is concerned. `engine.nativeHls.drmSystems` does the same for the native path.
|
|
223
|
+
|
|
224
|
+
## Mux sources name a playback ID
|
|
225
|
+
|
|
226
|
+
[MuxVideo](../reference/components/mux-video.md) and [MuxAudio](../reference/components/mux-audio.md) identify a source by `playbackId` rather than a URL, and derive `src` from it. Everything else works the same, engine options included:
|
|
227
|
+
|
|
228
|
+
```tsx
|
|
229
|
+
<MuxVideo
|
|
230
|
+
source={{
|
|
231
|
+
playbackId: 'BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM',
|
|
232
|
+
playback: { maxResolution: '1080p' },
|
|
233
|
+
engine: { hlsJs: { maxBufferLength: 60 } },
|
|
234
|
+
}}
|
|
235
|
+
playsInline
|
|
236
|
+
/>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
`playback` params ride along in the URL, so `playback.maxResolution` decides which renditions the manifest carries in the first place. `maxAutoResolution` is the other half of that pair: it caps what adaptive selection picks from the renditions that do arrive. Use `playback.maxResolution` when a viewer should never get 4K, and `maxAutoResolution` when they should be able to ask for it.
|
|
240
|
+
|
|
241
|
+
The same split applies at the bottom of the ladder, and the names are close enough to be worth restating: `playback.minResolution` asks Mux to leave the lowest renditions out of the manifest, while `minAutoResolution` is a client-side bound on the player-size cap. They are unrelated.
|
|
242
|
+
|
|
243
|
+
Setting a Mux stream URL as `src` works too — the element parses the playback ID and query params back out into `source`. To play something Mux doesn’t host, name it with `src` inside `source`; engine options still apply.
|
|
244
|
+
|
|
245
|
+
Two more source params describe images rather than playback. `source.storyboard` and `source.poster` carry the modifiers for the storyboard VTT and the poster still — both belong to the source, since a signed token scopes them to one playback ID:
|
|
246
|
+
|
|
247
|
+
```tsx
|
|
248
|
+
<MuxVideo source={{ playbackId, storyboard: { format: 'jpg' }, poster: { time: 12 } }} playsInline />
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
`MuxVideo` uses the storyboard itself, adding the thumbnail `<track>` for you so hover previews work without extra markup. Live streams have no storyboard, so the track is dropped once the stream type is known, and signed playback without a matching storyboard token adds none.
|
|
252
|
+
|
|
253
|
+
### Mux signs DRM with a token
|
|
254
|
+
|
|
255
|
+
Mux serves FairPlay, Widevine, and PlayReady from URLs derived from a single license token, so `source.drm` takes that token in place of the license servers it would otherwise name. Mux fills the rest in for you, so protected media plays whichever path the browser takes:
|
|
256
|
+
|
|
257
|
+
```tsx
|
|
258
|
+
<MuxVideo
|
|
259
|
+
source={{
|
|
260
|
+
playbackId,
|
|
261
|
+
playback: { token: playbackToken },
|
|
262
|
+
drm: { token: drmToken },
|
|
263
|
+
}}
|
|
264
|
+
playsInline
|
|
265
|
+
/>
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
DRM playback is always signed, so a `playback.token` belongs alongside it — and `poster.token` / `storyboard.token` for the images. Each is scoped to a different audience, so they are four separate tokens rather than one reused four times. Sign them on your server; see [Mux’s DRM guide](https://www.mux.com/docs/guides/protect-videos-with-drm) for how.
|
|
269
|
+
|
|
270
|
+
A `drm.token` that isn’t scoped to DRM is ignored rather than sent, since the license request would be rejected. License servers named alongside the token win, key by key, for the systems Mux doesn’t license:
|
|
271
|
+
|
|
272
|
+
```tsx
|
|
273
|
+
<MuxVideo
|
|
274
|
+
source={{
|
|
275
|
+
playbackId,
|
|
276
|
+
playback: { token: playbackToken },
|
|
277
|
+
// FairPlay and PlayReady from Mux, Widevine from your own server.
|
|
278
|
+
drm: { token: drmToken, 'com.widevine.alpha': { licenseUrl: widevineLicenseUrl } },
|
|
279
|
+
}}
|
|
280
|
+
playsInline
|
|
281
|
+
/>
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
`source.poster` gets no such treatment — it’s only data, and nothing applies it to the media. Both URLs are readable from `contentData`, keyed by what each one describes:
|
|
285
|
+
|
|
286
|
+
```ts
|
|
287
|
+
media.contentData;
|
|
288
|
+
// {
|
|
289
|
+
// poster: 'https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=12',
|
|
290
|
+
// storyboard: 'https://image.mux.com/PLAYBACK_ID/storyboard.vtt?format=jpg',
|
|
291
|
+
// }
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
It’s read-only and derived from `source`, so read it again after `sourcechange`. A key is missing when its URL can’t be built: no playback ID, or signed playback with no matching image token. Changing the URLs means changing the params they’re built from.
|
|
295
|
+
|
|
296
|
+
One more key arrives later. Mux publishes a small metadata document for each asset, and the media loads it alongside the stream, so `contentData.title` fills in with the asset’s title once it does — `contentdatachange` announces it. The player reads it as the fallback for its own title, so a Mux asset titled in the dashboard names itself without a `title` on the player. Any other entries the document carries ride along under their own keys. An untitled asset adds nothing.
|
|
297
|
+
|
|
298
|
+
`source.poster` takes the [full set of Mux image modifiers](https://www.mux.com/docs/guides/get-images-from-a-video), so a narrower still for a small viewport is a `width`:
|
|
299
|
+
|
|
300
|
+
```tsx
|
|
301
|
+
<MuxVideo source={{ playbackId, poster: { width: 320 } }} playsInline />
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
## Elements without engine options
|
|
305
|
+
|
|
306
|
+
[HlsVideo](../reference/components/hls-video.md) and [HlsAudio](../reference/components/hls-audio.md) take `src` and the usual media props but expose no `source`. They run on our own playback engine, which does not accept configuration from the element yet.
|
|
307
|
+
|
|
308
|
+
## See also
|
|
309
|
+
|
|
310
|
+
- [HlsJsVideo element reference](../reference/components/hlsjs-video.md)
|
|
311
|
+
- [MuxVideo element reference](../reference/components/mux-video.md)
|
|
312
|
+
- [DashVideo element reference](../reference/components/dash-video.md)
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
# Migrate from Media Chrome
|
|
2
|
+
|
|
3
|
+
Map Media Chrome's controller, elements, and attributes onto Video.js v10, where most of the work is renaming and reshaping rather than rewriting
|
|
4
|
+
|
|
5
|
+
Video.js v10’s React components mirror Media Chrome’s elements — `media-play-button` becomes `PlayButton` — so most of the work is **renaming and reshaping**, not rewriting.
|
|
6
|
+
|
|
7
|
+
> **Note**
|
|
8
|
+
>
|
|
9
|
+
> Scoped to apps that compose their own player from Media Chrome elements. If you use `<mux-player>`, follow the Mux Player migration guide instead.
|
|
10
|
+
|
|
11
|
+
## Before you begin
|
|
12
|
+
|
|
13
|
+
Install Video.js and choose a [preset](./presets.md) (see [Installation](./installation.md)). Start with its ready-made skin if those controls fit your player. If you need to keep a custom control bar, build it from the individual Video.js UI components instead.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @videojs/react
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Map the controller
|
|
20
|
+
|
|
21
|
+
Media Chrome wraps a slotted `<video slot="media">` in a single `<media-controller>`. Video.js splits that into two components. The player owns state and draws nothing. The container is the box everything lives in, with the media as a plain child.
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<!-- Media Chrome -->
|
|
25
|
+
<media-controller>
|
|
26
|
+
<video slot="media" src="video.m3u8"></video>
|
|
27
|
+
<media-control-bar>
|
|
28
|
+
<media-play-button></media-play-button>
|
|
29
|
+
</media-control-bar>
|
|
30
|
+
</media-controller>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Media Chrome’s React package wraps its custom elements. `@videojs/react` ships native components instead. `VideoPlayer` comes from the video [preset](./presets.md), and `Container` is the box the media and controls live in:
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
'use client';
|
|
37
|
+
|
|
38
|
+
import { Container, PlayButton } from '@videojs/react';
|
|
39
|
+
import { Video, VideoPlayer } from '@videojs/react/video';
|
|
40
|
+
|
|
41
|
+
export function MyPlayer() {
|
|
42
|
+
return (
|
|
43
|
+
<VideoPlayer>
|
|
44
|
+
<Container>
|
|
45
|
+
<Video src="video.mp4" />
|
|
46
|
+
<PlayButton
|
|
47
|
+
render={(props, state) => (
|
|
48
|
+
<button {...props} className="play-button">
|
|
49
|
+
{state.paused ? <span className="play-icon">Play</span> : <span className="pause-icon">Pause</span>}
|
|
50
|
+
</button>
|
|
51
|
+
)}
|
|
52
|
+
/>
|
|
53
|
+
</Container>
|
|
54
|
+
</VideoPlayer>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
A preset player carries a fixed set of [features](./features.md). When you need a different set, build your own with [`createPlayer`](../reference/api/create-player.md). Hand it a feature list and you get back a typed `Player` component and `usePlayer` hook, the same pair the preset is made of. Call it once, outside your component, and reuse it.
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
import { createPlayer } from '@videojs/react';
|
|
63
|
+
import { videoFeatures } from '@videojs/react/video';
|
|
64
|
+
|
|
65
|
+
const { Player } = createPlayer({ features: videoFeatures });
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Read player state with [`usePlayer`](../reference/api/use-player.md), `useMedia`, and [`useStore`](../reference/api/use-store.md). Player hooks must run in a descendant component rendered inside `VideoPlayer` or the `Player` returned by `createPlayer`. A hook in the same component that returns the provider is still outside that provider.
|
|
69
|
+
|
|
70
|
+
## Map controller attributes
|
|
71
|
+
|
|
72
|
+
Media Chrome configures behavior through `<media-controller>` attributes. Video.js v10 has no single controller component, so these settle into three places:
|
|
73
|
+
|
|
74
|
+
- **Player features** — playback behavior that comes from the player’s feature set. A preset picks one for you; `createPlayer` lets you name your own.
|
|
75
|
+
- **`Container` and `Controls`** — layout, focus, and autohide.
|
|
76
|
+
- **Dedicated components** — `Hotkey`, `Gesture`, and friends, rendered inside the player.
|
|
77
|
+
|
|
78
|
+
| Media Chrome attribute | Video.js v10 | How |
|
|
79
|
+
| --- | --- | --- |
|
|
80
|
+
| `audio` | the audio preset | Choose an audio player and audio skin rather than toggling at runtime. |
|
|
81
|
+
| `autohide` | `Controls` (built in) | Controls auto-hide after inactivity automatically. `autohide="-1"` becomes `visibility="always"` on `Controls.Root`; the delay is currently fixed, see [Known gaps](#known-gaps). |
|
|
82
|
+
| `fullscreenelement` | `Container` | Fullscreen targets the container element. |
|
|
83
|
+
| `gesturesdisabled` | `Gesture disabled`, or omit | Disable per gesture component, or leave the gestures out. |
|
|
84
|
+
| `nohotkeys` | `Hotkey disabled`, or omit | Disable per hotkey component, or leave them out. |
|
|
85
|
+
| `hotkeys="noarrowleft …"` | individual `Hotkey` | Each shortcut is its own component, so remove the ones you don’t want. |
|
|
86
|
+
| `keyboardforwardseekoffset`, `keyboardbackwardseekoffset` | `value` on `Hotkey` | Set the signed seek amount per component. |
|
|
87
|
+
| `defaultsubtitles` | `<track default>` for authored tracks | Add `default` to an authored captions or subtitles track. Tracks discovered from a provider or manifest don’t have one generic player-level default flag. |
|
|
88
|
+
| `defaultstreamtype` | `streamType` feature | Partial: derived from the media, with no pre-load default. |
|
|
89
|
+
| `liveedgeoffset`, `seektoliveoffset` | live media engine | Live-edge behavior lives in the playback engine, not a UI attribute. |
|
|
90
|
+
| `lang` | i18n translator | Localization is configured through the [translator and locale registry](./internationalization.md). |
|
|
91
|
+
|
|
92
|
+
### Hotkeys
|
|
93
|
+
|
|
94
|
+
Media Chrome toggles keyboard shortcuts with `nohotkeys` and `hotkeys`. Video.js declares each shortcut as its own component, so you opt in to exactly the keys you want and set seek offsets inline:
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
import { Hotkey } from '@videojs/react';
|
|
98
|
+
|
|
99
|
+
<Hotkey keys="Space" action="togglePaused" />
|
|
100
|
+
<Hotkey keys="m" action="toggleMuted" />
|
|
101
|
+
<Hotkey keys="ArrowRight" action="seekStep" value={5} />
|
|
102
|
+
<Hotkey keys="ArrowLeft" action="seekStep" value={-5} />
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
To drop a shortcut, remove its component or pass `disabled`. There’s no global “all hotkeys off” switch; omit the components you don’t need.
|
|
106
|
+
|
|
107
|
+
### Gestures
|
|
108
|
+
|
|
109
|
+
`gesturesdisabled` becomes per-component `Gesture` controls. Tap and double-tap behavior — click to toggle play, double-tap to seek or go fullscreen — is declared explicitly:
|
|
110
|
+
|
|
111
|
+
```tsx
|
|
112
|
+
import { Gesture } from '@videojs/react';
|
|
113
|
+
|
|
114
|
+
<Gesture type="tap" action="togglePaused" pointer="mouse" region="center" />
|
|
115
|
+
<Gesture type="doubletap" action="seekStep" value={-10} region="left" />
|
|
116
|
+
<Gesture type="doubletap" action="seekStep" value={10} region="right" />
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Remove a component or pass `disabled` to turn a gesture off.
|
|
120
|
+
|
|
121
|
+
## Map the elements
|
|
122
|
+
|
|
123
|
+
Most names carry over as PascalCase components without the `media-` prefix. These are the renames that bite:
|
|
124
|
+
|
|
125
|
+
| Media Chrome | Video.js v10 | Note |
|
|
126
|
+
| --- | --- | --- |
|
|
127
|
+
| `media-controller` | a player plus `Container` | one element becomes two: state and layout |
|
|
128
|
+
| `media-control-bar` | `Controls.Root`, `Controls.Group` | grouping |
|
|
129
|
+
| `media-time-range` | `TimeSlider` | “range” becomes “slider” |
|
|
130
|
+
| `media-volume-range` | `VolumeSlider` | “range” becomes “slider” |
|
|
131
|
+
| `media-time-display`, `media-duration-display` | `Time.Value` | one component, set via `type` |
|
|
132
|
+
| `media-loading-indicator` | `BufferingIndicator` | rename |
|
|
133
|
+
| `media-poster-image` | `Poster` | rename, and the image source moves — see below |
|
|
134
|
+
| `media-seek-backward-button`, `media-seek-forward-button` | `SeekButton` | one component, direction via signed `seconds` |
|
|
135
|
+
| `media-rendition-menu` | `QualityRadioGroup` | inside `Menu` |
|
|
136
|
+
| `media-captions-menu` | `CaptionsRadioGroup` | inside `Menu` |
|
|
137
|
+
| `media-playback-rate-menu` | `PlaybackRateRadioGroup` | inside `Menu` |
|
|
138
|
+
| `media-audio-track-menu` | `AudioTrackRadioGroup` | inside `Menu` |
|
|
139
|
+
|
|
140
|
+
Unchanged names, in PascalCase: `PlayButton`, `MuteButton`, `FullscreenButton`, `PiPButton`, `AirPlayButton`, `CastButton`, `CaptionsButton`, `PlaybackRateButton`, `Tooltip`, and `Thumbnail`.
|
|
141
|
+
|
|
142
|
+
> **Caution**
|
|
143
|
+
>
|
|
144
|
+
> Matching names do not mean matching appearance. Media Chrome buttons include default icons and styles. Individual Video.js buttons provide behavior, state, and an accessible name, but no visible content or finished styling. Add text or an SVG, plus your own CSS. Without visible content, a button can work while showing nothing. Sliders also need their child parts and CSS. Use a ready-made skin when you want finished controls.
|
|
145
|
+
|
|
146
|
+
React buttons do not include visible content either. Use a button’s `render` prop to add it, as shown in [Map the controller](#map-the-controller). Build sliders from parts such as `TimeSlider.Track`, `TimeSlider.Fill`, and `TimeSlider.Thumb`, then add your own CSS.
|
|
147
|
+
|
|
148
|
+
Compound parts are namespaced under their component, such as `TimeSlider.Track`. See the [UI components](./ui-components.md) concept for the full set.
|
|
149
|
+
|
|
150
|
+
`Poster` is the one rename that changes shape. Put the poster URL on `VideoPlayer`; `Poster.Root` owns its state and `Poster.Image` accepts image attributes such as `alt`, `srcSet`, and `sizes`:
|
|
151
|
+
|
|
152
|
+
```tsx
|
|
153
|
+
<VideoPlayer poster="/poster.jpg">
|
|
154
|
+
<Container>
|
|
155
|
+
<Poster.Root>
|
|
156
|
+
<Poster.Image alt="" />
|
|
157
|
+
</Poster.Root>
|
|
158
|
+
</Container>
|
|
159
|
+
</VideoPlayer>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Rewrite your styles
|
|
163
|
+
|
|
164
|
+
Media Chrome reflects state as `media*` attributes such as `mediapaused`; Video.js uses `data-*`.
|
|
165
|
+
|
|
166
|
+
```css
|
|
167
|
+
/* Media Chrome */
|
|
168
|
+
media-play-button[mediapaused] .play-icon { display: inline; }
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
```css
|
|
172
|
+
/* Video.js React: target the className on your rendered button */
|
|
173
|
+
.play-button[data-paused] .play-icon { display: inline; }
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Continuous values use CSS custom properties: sliders expose `--media-slider-fill` and `--media-slider-pointer`.
|
|
177
|
+
|
|
178
|
+
### Map theme variables by meaning
|
|
179
|
+
|
|
180
|
+
Media Chrome and Video.js both use names beginning with `--media-`, but that shared prefix is a naming convention, not a compatibility layer. Keep a variable only when its documented meaning matches.
|
|
181
|
+
|
|
182
|
+
| Media Chrome theme variable | Packaged Video.js skin | Migration |
|
|
183
|
+
| --- | --- | --- |
|
|
184
|
+
| `--media-accent-color` or `--media-range-bar-color` | `--media-accent-color` | Closest match for slider fills and accented controls. |
|
|
185
|
+
| `--media-primary-color` | no direct equivalent | Often colors every control icon in Media Chrome; Video.js’s accent variable has narrower semantics. |
|
|
186
|
+
| `--media-secondary-color` | no direct equivalent | Add the skin source and author this palette role in your CSS. |
|
|
187
|
+
| `--media-control-background` | no direct equivalent | Add the skin source and author the CSS. |
|
|
188
|
+
| `--media-control-hover-background` | no direct equivalent | Add the skin source and author the CSS. |
|
|
189
|
+
| `--media-range-track-height` | no direct equivalent | Add the skin source and author the slider CSS. |
|
|
190
|
+
|
|
191
|
+
The packaged Video.js skins expose `--media-accent-color`, `--media-accent-text-color`, `--media-border-radius`, and `--media-scale-unit` for broad customization. Do not assume another Media Chrome variable will work because its name starts with `--media-`.
|
|
192
|
+
|
|
193
|
+
## Themes become skins
|
|
194
|
+
|
|
195
|
+
Media Chrome’s `<template>`-based themes (`media-theme`) become Video.js [skins](./skins.md) and [presets](./presets.md). Start from a preset, then [add its skin source to your project](./customize-skins.md#style-skin-source), rather than authoring a template.
|
|
196
|
+
|
|
197
|
+
React skins do not use Shadow DOM. Use `render` props when you build individual controls. Add the files for a ready-made skin when you need to change its control set or layout.
|
|
198
|
+
|
|
199
|
+
## Control the player imperatively
|
|
200
|
+
|
|
201
|
+
Control everything through the player’s store. Media Chrome had no player object; Video.js gives you one, with an action for every operation — `play`, `togglePaused`, `seek`, `setVolume`, `toggleFullscreen` — so one mental model covers playback and the state the browser doesn’t own, such as fullscreen, captions, and quality.
|
|
202
|
+
|
|
203
|
+
Select an action with the same [`usePlayer`](../reference/api/use-player.md) hook you read state with:
|
|
204
|
+
|
|
205
|
+
```tsx
|
|
206
|
+
import { usePlayer } from '@videojs/react/video';
|
|
207
|
+
|
|
208
|
+
function FullscreenShortcut() {
|
|
209
|
+
const toggleFullscreen = usePlayer((state) => state.toggleFullscreen);
|
|
210
|
+
// Call toggleFullscreen() from your own UI.
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
The Media Chrome habit of scripting the media element directly still works, unchanged. The media is a plain child of the player, and Video.js derives player state from the native media events, so `video.play()` or `video.currentTime = 30` never leaves the controls out of sync. The media element also stays the way to swap `src`, replace the media component, and listen for native events.
|
|
216
|
+
|
|
217
|
+
Put a `ref` on the media component to reach the rendered `HTMLVideoElement`; there’s no `media` slot to reach through. For the Video.js media object, call `useMedia` from a component inside the player; media that wrap a playback engine expose it there through the `engine` escape hatch.
|
|
218
|
+
|
|
219
|
+
## Known gaps
|
|
220
|
+
|
|
221
|
+
These Media Chrome features have no direct equivalent yet. Several can be approximated; see [Workarounds](#workarounds).
|
|
222
|
+
|
|
223
|
+
- No configurable `autohide` delay and no `autohideovercontrols` ([#1728](https://github.com/videojs/v10/issues/1728)). Disabling autohide (`autohide="-1"`) is covered by `visibility="always"` on the controls component; see [Workarounds](#workarounds).
|
|
224
|
+
- No `defaultduration` placeholder before the media loads ([#1729](https://github.com/videojs/v10/issues/1729))
|
|
225
|
+
- Volume and muted preferences are not persisted across sessions, so Media Chrome’s `novolumepref` and `nomutedpref` opt-outs have nothing to opt out of ([#944](https://github.com/videojs/v10/issues/944)). Video.js can choose an initial subtitle track from the locale, but it does not yet remember the viewer’s later language choice ([#1786](https://github.com/videojs/v10/issues/1786)).
|
|
226
|
+
- No `breakpoints` or container-breakpoint attributes; use CSS container queries instead
|
|
227
|
+
- No `seektoliveoffset` or `noautoseektolive` controls, and live-edge offset and tolerance aren’t configurable ([#1730](https://github.com/videojs/v10/issues/1730))
|
|
228
|
+
- Chapters render and each time-slider segment reflects `data-active`, but there’s no player-level active chapter value, `chapterchange` event, or menu to jump between them ([#1873](https://github.com/videojs/v10/issues/1873))
|
|
229
|
+
- Cue points are not supported ([#1442](https://github.com/videojs/v10/issues/1442))
|
|
230
|
+
|
|
231
|
+
Chapters themselves do work. Add a default `<track kind="chapters">` and the packaged skins segment the time slider and show the chapter title on hover, via `TimeSlider.Chapters` and `TimeSlider.ChapterTitle`.
|
|
232
|
+
|
|
233
|
+
## Workarounds
|
|
234
|
+
|
|
235
|
+
### Disable autohide (`autohide="-1"`)
|
|
236
|
+
|
|
237
|
+
Set `visibility="always"` on `Controls.Root` and the controls stay visible regardless of activity. Packaged skins don’t expose that prop; to keep a preset skin’s look, [add the skin source to your project](./customize-skins.md#style-skin-source) and set it on the skin’s controls component rather than overriding private selectors.
|
|
238
|
+
|
|
239
|
+
### Breakpoints
|
|
240
|
+
|
|
241
|
+
The skin root is an inline-size container named `media-root`, so write responsive styles with container queries instead of `breakpoints` attributes. This is exactly how the built-in skins adapt:
|
|
242
|
+
|
|
243
|
+
```css
|
|
244
|
+
@container media-root (width > 40rem) {
|
|
245
|
+
.media-controls { /* wide layout */ }
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Default duration
|
|
250
|
+
|
|
251
|
+
There’s no player input for a pre-load duration. Use `preload="metadata"`, the default, so the real duration is known almost immediately; only `preload="none"` defers it. If you must defer loading, render your own static placeholder in markup.
|
|
252
|
+
|
|
253
|
+
### Preference persistence
|
|
254
|
+
|
|
255
|
+
Media Chrome remembers volume, muted state, and language across sessions. Video.js v10 persists nothing, so restore and save the values yourself.
|
|
256
|
+
|
|
257
|
+
```tsx
|
|
258
|
+
import { selectVolume, usePlayer } from '@videojs/react';
|
|
259
|
+
import { useEffect, useState } from 'react';
|
|
260
|
+
|
|
261
|
+
function PersistVolume() {
|
|
262
|
+
const volume = usePlayer(selectVolume);
|
|
263
|
+
const [readyToSave, setReadyToSave] = useState(false);
|
|
264
|
+
|
|
265
|
+
useEffect(() => {
|
|
266
|
+
const saved = localStorage.getItem('vjs:volume');
|
|
267
|
+
if (saved !== null) {
|
|
268
|
+
const savedVolume = Number(saved);
|
|
269
|
+
if (Number.isFinite(savedVolume)) volume.setVolume(savedVolume);
|
|
270
|
+
}
|
|
271
|
+
setReadyToSave(true);
|
|
272
|
+
}, []);
|
|
273
|
+
|
|
274
|
+
useEffect(() => {
|
|
275
|
+
if (!readyToSave) return;
|
|
276
|
+
localStorage.setItem('vjs:volume', String(volume.volume));
|
|
277
|
+
}, [readyToSave, volume.volume]);
|
|
278
|
+
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Live edge offsets
|
|
284
|
+
|
|
285
|
+
`seektoliveoffset` and `noautoseektolive` are governed by the playback engine rather than the UI layer, so there’s no attribute to tune them today. The escape hatch is a custom live control built against the `selectLive` and `selectTime` player state.
|
|
286
|
+
|
|
287
|
+
## See also
|
|
288
|
+
|
|
289
|
+
- [Installation](./installation.md)
|
|
290
|
+
- [UI components](./ui-components.md)
|
|
291
|
+
- [Skins](./skins.md) and [Customize skins](./customize-skins.md)
|