@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,323 @@
|
|
|
1
|
+
# Internationalize the player
|
|
2
|
+
|
|
3
|
+
Translate player labels and announcements: shipped locale packs, custom translations, runtime switching, and server rendering.
|
|
4
|
+
|
|
5
|
+
Translate every player label, tooltip, and screen-reader announcement. The player ships translations for more than 50 locales and loads them on demand.
|
|
6
|
+
|
|
7
|
+
## Recommended approach
|
|
8
|
+
|
|
9
|
+
Wrap the player in the i18n provider. It resolves the locale from your page’s `lang` attribute (or an explicit override), lazy-loads the matching locale pack, and every component label follows.
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import { Container } from '@videojs/react';
|
|
13
|
+
import { I18nProvider } from '@videojs/react/i18n';
|
|
14
|
+
import { Video, VideoPlayer } from '@videojs/react/video';
|
|
15
|
+
|
|
16
|
+
export default function App() {
|
|
17
|
+
return (
|
|
18
|
+
<I18nProvider locale="ja">
|
|
19
|
+
<VideoPlayer>
|
|
20
|
+
<Container>
|
|
21
|
+
<Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" muted playsInline />
|
|
22
|
+
</Container>
|
|
23
|
+
</VideoPlayer>
|
|
24
|
+
</I18nProvider>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Omit `locale` to follow the nearest ancestor `lang` attribute (usually `<html lang>`).
|
|
30
|
+
|
|
31
|
+
Pick a language and every label follows — no remount:
|
|
32
|
+
|
|
33
|
+
**App.tsx**
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { createPlayer } from '@videojs/react';
|
|
37
|
+
import { I18nProvider, LOCALES } from '@videojs/react/i18n';
|
|
38
|
+
import { Video, VideoSkin, videoFeatures } from '@videojs/react/video';
|
|
39
|
+
import { useState } from 'react';
|
|
40
|
+
|
|
41
|
+
import '@videojs/react/video/skin.css';
|
|
42
|
+
import './Language.css';
|
|
43
|
+
|
|
44
|
+
const { Player } = createPlayer({ features: videoFeatures });
|
|
45
|
+
const locales = ['en', ...LOCALES] as const;
|
|
46
|
+
|
|
47
|
+
type Locale = (typeof locales)[number];
|
|
48
|
+
const languageNames = new Intl.DisplayNames(['en'], { type: 'language' });
|
|
49
|
+
|
|
50
|
+
export default function Language() {
|
|
51
|
+
const [locale, setLocale] = useState<Locale>('en');
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<div className="react-i18n-language">
|
|
55
|
+
<label>
|
|
56
|
+
Language
|
|
57
|
+
<select value={locale} onChange={(event) => setLocale(event.currentTarget.value as Locale)}>
|
|
58
|
+
{locales.map((value) => (
|
|
59
|
+
<option key={value} value={value}>
|
|
60
|
+
{languageNames.of(value) ?? value}
|
|
61
|
+
</option>
|
|
62
|
+
))}
|
|
63
|
+
</select>
|
|
64
|
+
</label>
|
|
65
|
+
<Player>
|
|
66
|
+
<I18nProvider locale={locale}>
|
|
67
|
+
<VideoSkin className="react-i18n-language__player">
|
|
68
|
+
<Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" muted playsInline />
|
|
69
|
+
</VideoSkin>
|
|
70
|
+
</I18nProvider>
|
|
71
|
+
</Player>
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**App.css**
|
|
78
|
+
|
|
79
|
+
```css
|
|
80
|
+
.react-i18n-language {
|
|
81
|
+
display: grid;
|
|
82
|
+
gap: 16px;
|
|
83
|
+
padding: 16px;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.react-i18n-language label {
|
|
87
|
+
display: flex;
|
|
88
|
+
gap: 8px;
|
|
89
|
+
align-items: center;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.react-i18n-language select {
|
|
93
|
+
padding: 4px 8px;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.react-i18n-language__player {
|
|
97
|
+
width: 100%;
|
|
98
|
+
aspect-ratio: 16 / 9;
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## How it works
|
|
103
|
+
|
|
104
|
+
- Component labels are text descriptors — a translation key plus its English default — so everything renders in English with no setup and switches language when a translator is present. Keys are stable: `buttons.play` stays `buttons.play` even if the English wording changes.
|
|
105
|
+
- The provider resolves the locale: explicit `locale` first, then the nearest ancestor `lang` attribute, then `'en'`. It re-resolves when the page’s `lang` changes.
|
|
106
|
+
- The provider lazy-loads the pack for the resolved locale automatically and keeps it in a layer above the shared registry ([`registerI18n`](../reference/api/register-i18n.md)). Translations merge along a fallback chain that follows the [BCP 47](https://www.rfc-editor.org/rfc/rfc5646) parent tags — `es-MX` checks `es`, then `en` — so a regional pack only has to carry the text that differs from its parent.
|
|
107
|
+
- Each piece of text resolves from the first source that has it:
|
|
108
|
+
1. Overrides supplied to the current player (the `translations` prop)
|
|
109
|
+
2. Registered custom translations
|
|
110
|
+
3. A built-in locale pack
|
|
111
|
+
4. The component’s English fallback
|
|
112
|
+
- `registerI18n(locale, translations)` **merges**: each call adds or replaces keys for that locale without wiping prior registrations, and later registrations win for the same key. Register a locale before the provider resolves it — a pack the provider already lazy-loaded sits above the registry and hides registry entries for that locale. Overriding a handful of strings is the same call as registering a full locale.
|
|
113
|
+
- When no shipped pack matches the locale, the provider can fall back to the browser’s on-device Translation API to machine-translate the English catalogue, with placeholders preserved.
|
|
114
|
+
|
|
115
|
+
Translate your own UI with the same machinery:
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
import { useTranslator } from '@videojs/react/i18n';
|
|
119
|
+
|
|
120
|
+
function StartButton() {
|
|
121
|
+
const t = useTranslator();
|
|
122
|
+
return <button type="button">{t('buttons.play', { default: 'Play' })}</button>;
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The `default` is the English text — English ships inside component descriptors, not as a pack, so a bare `t(key)` renders the key itself under `en`. The key selects the translation once a pack is active.
|
|
127
|
+
|
|
128
|
+
## Availability and constraints
|
|
129
|
+
|
|
130
|
+
- English is built in; every other locale is a lazy-loaded pack. Server rendering needs an explicit `locale` since there’s no DOM to resolve from.
|
|
131
|
+
- Locale tags are [BCP 47](https://www.rfc-editor.org/rfc/rfc5646) (`es`, `pt-BR`).
|
|
132
|
+
- Translation keys are namespaced strings (`buttons.play`, `errors.network`, `menu.quality`); the full list lives at [Translation phrases](../reference/api/translation-phrases.md) and is typed, so typos in `registerI18n` objects fail in TypeScript. The translator itself accepts any string; a mistyped `t()` key falls back to its `default`.
|
|
133
|
+
- Some strings interpolate parameters; custom translations must keep the placeholders:
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
// ✅
|
|
137
|
+
registerI18n('es', { seek: { forward: 'Adelantar {seconds} segundos' } });
|
|
138
|
+
|
|
139
|
+
// ❌ The interpolated value is lost
|
|
140
|
+
registerI18n('es', { seek: { forward: 'Adelantar' } });
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- The Browser Translation API fallback needs Chrome with `globalThis.Translator` and downloads an on-device model on first use. It’s best-effort; ship a real pack for languages you support officially.
|
|
144
|
+
|
|
145
|
+
## Common variations
|
|
146
|
+
|
|
147
|
+
### Override specific strings
|
|
148
|
+
|
|
149
|
+
Pass `translations` on [`I18nProvider`](../reference/api/i18n-provider.md) to scope overrides to one subtree. This layer sits above the registry and lazy packs:
|
|
150
|
+
|
|
151
|
+
```tsx
|
|
152
|
+
<I18nProvider locale="ja" translations={{ buttons: { play: '再生', pause: '一時停止' } }}>
|
|
153
|
+
{/* player */}
|
|
154
|
+
</I18nProvider>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Nested providers inherit the parent locale when you only pass `translations`. For global overrides, call `registerI18n` instead — it merges, so only the keys you pass change.
|
|
158
|
+
|
|
159
|
+
### Register your own locale
|
|
160
|
+
|
|
161
|
+
Registered packs are partial: missing keys fall back through the locale chain to a shipped pack or English.
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
import { registerI18n, type Translations } from '@videojs/react/i18n';
|
|
165
|
+
|
|
166
|
+
const es = {
|
|
167
|
+
buttons: {
|
|
168
|
+
play: 'Reproducir',
|
|
169
|
+
pause: 'Pausa',
|
|
170
|
+
mute: 'Silenciar',
|
|
171
|
+
unmute: 'Activar sonido',
|
|
172
|
+
},
|
|
173
|
+
} satisfies Partial<Translations>;
|
|
174
|
+
|
|
175
|
+
registerI18n('es', es);
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Register a pack with the bundle
|
|
179
|
+
|
|
180
|
+
Skip lazy loading by registering a shipped locale at startup with a side-effect import. First paint is synchronous in that language:
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
import '@videojs/react/i18n/locales/ja/register';
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Switch locale at runtime
|
|
187
|
+
|
|
188
|
+
The simplest switch updates the document language and lets providers pick it up — no remount required:
|
|
189
|
+
|
|
190
|
+
```ts
|
|
191
|
+
document.documentElement.lang = 'fr';
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Ambient switching only applies when `I18nProvider` has no explicit `locale`. To drive it from state:
|
|
195
|
+
|
|
196
|
+
```tsx
|
|
197
|
+
const [locale, setLocale] = useState<'en' | 'es' | 'fr'>('en');
|
|
198
|
+
|
|
199
|
+
<I18nProvider locale={locale}>{/* player */}</I18nProvider>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Changing `locale` lazy-loads the pack, which can briefly show English. Preload the locales your picker offers:
|
|
203
|
+
|
|
204
|
+
```tsx
|
|
205
|
+
import '@videojs/react/i18n/locales/es/register';
|
|
206
|
+
import '@videojs/react/i18n/locales/fr/register';
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Or prefetch and register right before switching when you can’t register everything up front:
|
|
210
|
+
|
|
211
|
+
```tsx
|
|
212
|
+
import { registerI18n } from '@videojs/react/i18n';
|
|
213
|
+
|
|
214
|
+
const loaders = {
|
|
215
|
+
es: () => import('@videojs/react/i18n/locales/es'),
|
|
216
|
+
fr: () => import('@videojs/react/i18n/locales/fr'),
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
async function switchTo(next: keyof typeof loaders) {
|
|
220
|
+
const { default: translations } = await loaders[next]();
|
|
221
|
+
registerI18n(next, translations);
|
|
222
|
+
setLocale(next);
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Set text direction
|
|
227
|
+
|
|
228
|
+
`lang` identifies the content language. `dir` controls text and layout direction. Browsers do not infer one from the other, so set both when the locale applies to the whole document:
|
|
229
|
+
|
|
230
|
+
```ts
|
|
231
|
+
document.documentElement.lang = 'ar';
|
|
232
|
+
document.documentElement.dir = 'rtl';
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Set `dir` back to `ltr` when you switch to a left-to-right language. This prevents the previous direction from remaining active.
|
|
236
|
+
|
|
237
|
+
When `I18nProvider` has an explicit `locale`, the player applies its resolved `lang` and `dir` to the container. A `lang` or `dir` passed to that container overrides the rendered DOM boundary only; translations still come from `I18nProvider locale`.
|
|
238
|
+
|
|
239
|
+
Providers without an explicit locale inherit ambient document language and direction. In that case, set `lang` and `dir` on `<html>` or another ancestor:
|
|
240
|
+
|
|
241
|
+
```html
|
|
242
|
+
<html lang="ar" dir="rtl">
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
RTL preserves playback control ordering and time-semantic media icons while mirroring menu motion and navigation chevrons. Horizontal time and volume sliders retain a physical left-to-right value scale: Left Arrow decreases the value, Right Arrow increases it, and the minimum remains on the left.
|
|
246
|
+
|
|
247
|
+
### Replace a component’s visible text
|
|
248
|
+
|
|
249
|
+
Translation overrides change built-in labels everywhere they appear. To replace only one component’s visible content, set its children — and use the translation machinery when that content should still follow the active locale:
|
|
250
|
+
|
|
251
|
+
```tsx
|
|
252
|
+
import { LiveButton } from '@videojs/react';
|
|
253
|
+
|
|
254
|
+
<LiveButton>On air</LiveButton>
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Authored children are literal; use `useTranslator` when custom children also need localization. For state-dependent text, render one element per state and show or hide them with the component’s `data-*` state attributes (the same pattern used for icons).
|
|
258
|
+
|
|
259
|
+
The component still derives its accessible name from media state unless you also set its label API. Keep custom visible text consistent with that name.
|
|
260
|
+
|
|
261
|
+
### Server rendering
|
|
262
|
+
|
|
263
|
+
Render the document language on the server (`<html lang="es">`) and make translations available before first paint so labels match on server and client:
|
|
264
|
+
|
|
265
|
+
Import the pack on the server and pass it to the provider — `translations` on first render skips the async lazy layer entirely:
|
|
266
|
+
|
|
267
|
+
```tsx
|
|
268
|
+
const loaders = {
|
|
269
|
+
es: () => import('@videojs/react/i18n/locales/es'),
|
|
270
|
+
fr: () => import('@videojs/react/i18n/locales/fr'),
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
export async function Player({ locale }: { locale: string }) {
|
|
274
|
+
const load = loaders[locale as keyof typeof loaders];
|
|
275
|
+
if (!load) throw new Error(`Unsupported locale: ${locale}`);
|
|
276
|
+
const { default: translations } = await load();
|
|
277
|
+
|
|
278
|
+
return (
|
|
279
|
+
<I18nProvider locale={locale} translations={translations}>
|
|
280
|
+
{/* player */}
|
|
281
|
+
</I18nProvider>
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Pass `locale` explicitly on the server — there’s no DOM to resolve `lang` from, and an explicit value avoids hydration mismatches. With app routers, pass the tag your framework negotiates (for next-intl, `await getLocale()`); Video.js doesn’t replace framework i18n, it consumes the tag you give it.
|
|
287
|
+
|
|
288
|
+
## Troubleshooting
|
|
289
|
+
|
|
290
|
+
### Labels stay in English
|
|
291
|
+
|
|
292
|
+
No provider is mounted, or the locale never resolved: check the `locale`/`lang` value and that it matches a shipped pack (regional tags fall back — `pt-BR` works; a bare unknown tag falls through to English).
|
|
293
|
+
|
|
294
|
+
### Some strings are translated, others aren’t
|
|
295
|
+
|
|
296
|
+
A partial override or partial pack: missing keys fall back through the locale chain to English. Fill in the missing keys with `registerI18n`.
|
|
297
|
+
|
|
298
|
+
### Translations flash in after load or after switching
|
|
299
|
+
|
|
300
|
+
The lazy pack loads after first paint (or after the switch). Register the pack with the bundle (the `/register` side-effect import), or prefetch and register before changing the locale.
|
|
301
|
+
|
|
302
|
+
### Server-rendered labels don’t match the client
|
|
303
|
+
|
|
304
|
+
The provider resolved different locales on server and client. Pass an explicit `locale` and first-render `translations` instead of relying on ambient `lang`.
|
|
305
|
+
|
|
306
|
+
## Related pages
|
|
307
|
+
|
|
308
|
+
### Components
|
|
309
|
+
|
|
310
|
+
- [I18nProvider](../reference/api/i18n-provider.md): React provider that resolves locale and supplies a typed translator to descendants
|
|
311
|
+
|
|
312
|
+
### API
|
|
313
|
+
|
|
314
|
+
- [registerI18n](../reference/api/register-i18n.md): Register or merge translation strings for a BCP 47 locale tag in the global i18n registry
|
|
315
|
+
- [Translation phrases](../reference/api/translation-phrases.md): Semantic i18n keys, their English defaults, and the player UI that uses them
|
|
316
|
+
- [useTranslator](../reference/api/use-translator.md): React hook that returns the typed translator for the nearest I18nProvider
|
|
317
|
+
- [useLocale](../reference/api/use-locale.md): React hook that returns the active BCP 47 locale from the nearest I18nProvider
|
|
318
|
+
- [getI18nTranslations](../reference/api/get-i18n-translations.md): Read the merged translation map for a locale using BCP 47 parent-chain fallback
|
|
319
|
+
|
|
320
|
+
### Guides
|
|
321
|
+
|
|
322
|
+
- [Show captions and subtitles](./captions.md): Show captions and subtitles, and let users turn them on and pick a language.
|
|
323
|
+
- [Accessibility](./accessibility.md): How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Add keyboard shortcuts and gestures
|
|
2
|
+
|
|
3
|
+
Add keyboard shortcuts, tap and double-tap gestures, and on-screen feedback for input actions.
|
|
4
|
+
|
|
5
|
+
Add keyboard shortcuts and pointer gestures to the player declaratively, with on-screen feedback and screen-reader announcements.
|
|
6
|
+
|
|
7
|
+
> **Note**
|
|
8
|
+
>
|
|
9
|
+
> Using a pre-built [skin](./skins.md)? It already includes the controls shown here. You may still need the media or player setup in this guide. The component examples are for building your own player UI from individual [components](./ui-components.md).
|
|
10
|
+
|
|
11
|
+
## Recommended approach
|
|
12
|
+
|
|
13
|
+
Declare shortcuts with `Hotkey` and gestures with `Gesture` inside the player container. Each maps an input to a player action; the prebuilt skins ship a full set.
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { Container, Gesture, Hotkey } from '@videojs/react';
|
|
17
|
+
import { Video, VideoPlayer } from '@videojs/react/video';
|
|
18
|
+
|
|
19
|
+
export default function App() {
|
|
20
|
+
return (
|
|
21
|
+
<VideoPlayer>
|
|
22
|
+
<Container>
|
|
23
|
+
<Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" muted playsInline />
|
|
24
|
+
|
|
25
|
+
<Hotkey keys="Space" action="togglePaused" />
|
|
26
|
+
<Hotkey keys="m" action="toggleMuted" />
|
|
27
|
+
<Hotkey keys="f" action="toggleFullscreen" />
|
|
28
|
+
<Hotkey keys="ArrowRight" action="seekStep" value={5} />
|
|
29
|
+
<Hotkey keys="ArrowLeft" action="seekStep" value={-5} />
|
|
30
|
+
|
|
31
|
+
<Gesture type="tap" action="togglePaused" pointer="mouse" region="center" />
|
|
32
|
+
<Gesture type="tap" action="toggleControls" pointer="touch" />
|
|
33
|
+
<Gesture type="doubletap" action="seekStep" value={-10} region="left" />
|
|
34
|
+
<Gesture type="doubletap" action="seekStep" value={10} region="right" />
|
|
35
|
+
</Container>
|
|
36
|
+
</VideoPlayer>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## How it works
|
|
42
|
+
|
|
43
|
+
- `Hotkey` binds keys to player actions: `togglePaused`, `toggleMuted`, `toggleFullscreen`, `toggleSubtitles`, `togglePictureInPicture`, `seekStep`, `volumeStep`, `seekToPercent`, `speedUp`, and `speedDown`. Step actions have shared defaults and accept a custom `value`. The actions call the same feature state actions your components use.
|
|
44
|
+
- `Gesture` binds pointer input — `tap` and `doubletap` — to the same actions, minus `seekToPercent` and plus `toggleControls`. Bindings are scoped by `pointer` (`mouse` or `touch`) and `region` (`left`, `center`, `right`) — regions split the container’s width, not the rendered video’s — so double-tap-left rewinds while double-tap-right skips forward.
|
|
45
|
+
- `StatusAnnouncer` announces action results to screen readers, and the input indicator components render transient on-screen feedback (volume level, captions on/off) the way native players do. The prebuilt skins wire these up.
|
|
46
|
+
|
|
47
|
+
The prebuilt skins bind the conventional set: Space and `k` toggle playback, `m` mutes, `f` fullscreens, `c` toggles captions, `i` toggles picture-in-picture, arrows seek and change volume, `j`/`l` seek in larger steps, `0`–`9` jump to a percentage, and `<`/`>` change speed.
|
|
48
|
+
|
|
49
|
+
## Availability and constraints
|
|
50
|
+
|
|
51
|
+
- Hotkeys listen on the player container by default, so multiple players on a page don’t fight over keys. Pass `target="document"` on a hotkey to make it page-wide — appropriate only when one player owns the page.
|
|
52
|
+
- Typing is protected: while focus is in an editable field, single-key bindings are skipped automatically. Modifier combinations (for example `Ctrl+Shift+f`) still fire.
|
|
53
|
+
- Repeatable actions (seeking, volume) fire on held keys; toggle actions don’t repeat.
|
|
54
|
+
- Touch tap-to-toggle-controls and tap-to-pause are mutually exclusive per pointer type — the skins pause on mouse tap and toggle controls on touch tap, matching platform conventions.
|
|
55
|
+
- Gestures and the built-in touch handling coordinate through one recognizer; register gestures declaratively instead of adding raw pointer listeners next to them.
|
|
56
|
+
|
|
57
|
+
## Common variations
|
|
58
|
+
|
|
59
|
+
### Customize a shortcut
|
|
60
|
+
|
|
61
|
+
Render your own `Hotkey` set instead of a skin’s: every binding is just an element, so add, remove, or re-key them freely.
|
|
62
|
+
|
|
63
|
+
### Seek step size
|
|
64
|
+
|
|
65
|
+
`seekStep` takes its step from `value` — match your content: 5 seconds for short clips, 15 or 30 for long-form.
|
|
66
|
+
|
|
67
|
+
## Troubleshooting
|
|
68
|
+
|
|
69
|
+
### Shortcuts don’t fire
|
|
70
|
+
|
|
71
|
+
Focus is outside the player container. Click the player first, or move focus into it; hotkeys are player-scoped by design.
|
|
72
|
+
|
|
73
|
+
### Double-tap seek also toggles pause
|
|
74
|
+
|
|
75
|
+
Regions overlap: keep single-tap `togglePaused` on `center` only, and double-tap seek on `left` and `right`, as in the skin defaults.
|
|
76
|
+
|
|
77
|
+
### No visual feedback on keyboard actions
|
|
78
|
+
|
|
79
|
+
The input indicator components render that feedback; use a prebuilt skin or add `StatusAnnouncer` and the indicator components from the skin source to a custom UI.
|
|
80
|
+
|
|
81
|
+
## Related pages
|
|
82
|
+
|
|
83
|
+
### Components
|
|
84
|
+
|
|
85
|
+
- [Controls](../reference/components/controls.md): Container component for composing and auto-hiding video player controls on user interaction
|
|
86
|
+
- [Tooltip](../reference/components/tooltip.md): A tooltip component for displaying contextual labels on hover and focus
|
|
87
|
+
|
|
88
|
+
### API
|
|
89
|
+
|
|
90
|
+
- [Playback](../reference/api/feature-playback.md): Play/pause state and actions for the player store
|
|
91
|
+
- [Volume](../reference/api/feature-volume.md): Volume level and mute state for the player store
|
|
92
|
+
- [Fullscreen](../reference/api/feature-fullscreen.md): Fullscreen state and actions for the player store
|
|
93
|
+
|
|
94
|
+
### Guides
|
|
95
|
+
|
|
96
|
+
- [Automatically show and hide controls](./controls.md): Show controls while the user is active, hide them during playback, and toggle them by touch.
|
|
97
|
+
- [Accessibility](./accessibility.md): How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Play live streams
|
|
2
|
+
|
|
3
|
+
Play live streams with live-edge tracking, DVR windows, and stream-type detection.
|
|
4
|
+
|
|
5
|
+
> **Note**
|
|
6
|
+
>
|
|
7
|
+
> Using a pre-built [skin](./skins.md)? It already includes the controls shown here. You may still need the media or player setup in this guide. The component examples are for building your own player UI from individual [components](./ui-components.md).
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
The examples use HlsJsVideo, so install hls.js with the framework façade:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm add @videojs/react @videojs/hlsjs-video
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Recommended approach
|
|
18
|
+
|
|
19
|
+
Use the live feature bundle with a streaming media element, and give users a `LiveButton`: it shows whether playback is at the live edge and seeks back to it when activated.
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import { Container, LiveButton } from '@videojs/react';
|
|
23
|
+
import { LiveVideoPlayer } from '@videojs/react/live-video';
|
|
24
|
+
import { HlsJsVideo } from '@videojs/react/media/hlsjs-video';
|
|
25
|
+
|
|
26
|
+
export default function App() {
|
|
27
|
+
return (
|
|
28
|
+
<LiveVideoPlayer>
|
|
29
|
+
<Container>
|
|
30
|
+
<HlsJsVideo src="https://your-stream.example.com/live.m3u8" autoPlay muted playsInline />
|
|
31
|
+
<LiveButton render={(props, state) => <button {...props}>{state.liveEdge ? 'LIVE' : 'Go live'}</button>} />
|
|
32
|
+
</Container>
|
|
33
|
+
</LiveVideoPlayer>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The examples use [`HlsJsVideo`](../reference/components/hlsjs-video.md) for broad compatibility, but any streaming media component works here, including the smaller [`HlsVideo`](../reference/components/hls-video.md). Use `HlsVideo` when its supported feature set fits your stream.
|
|
39
|
+
|
|
40
|
+
The `liveVideoFeatures` bundle mirrors [`videoFeatures`](./features.md) but adds the live feature and drops playback rate (not meaningful for live), quality selection, and audio-track selection. The live presets also ship skins without a time slider, duration display, or current-time display.
|
|
41
|
+
|
|
42
|
+
Both bundles are plain arrays, so extending one is a spread:
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { createPlayer, streamTypeFeature } from '@videojs/react';
|
|
46
|
+
import { liveVideoFeatures } from '@videojs/react/live-video';
|
|
47
|
+
|
|
48
|
+
const { Player } = createPlayer({ features: [...liveVideoFeatures, streamTypeFeature] });
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## How it works
|
|
52
|
+
|
|
53
|
+
Two features describe liveness:
|
|
54
|
+
|
|
55
|
+
- The [stream type feature](../reference/api/feature-stream-type.md) reports `streamType`: `'live'`, `'on-demand'`, or `'unknown'`. Streaming media derives it from manifest metadata; plain media elements fall back to duration-based detection. `liveVideoFeatures` does not include it; add `streamTypeFeature` to the player’s features when you need `streamType`.
|
|
56
|
+
- The [live feature](../reference/api/feature-live.md) reports two values:
|
|
57
|
+
- `liveEdgeStart` is where “live” begins on the timeline. When the playhead is at or past this time, the viewer is watching live; behind it, they’re watching earlier moments of the stream.
|
|
58
|
+
- `targetLiveWindow` is how far back the stream lets viewers rewind. `0` means a plain live stream that stays at the edge. `Infinity` means full DVR: rewind as far as the recording goes. `NaN` means the stream isn’t live, or the player doesn’t know yet.
|
|
59
|
+
|
|
60
|
+
The [time feature](../reference/api/feature-time.md) adjusts for live playback: `duration` reports the live edge (the end of the seekable range) and keeps growing as the stream continues.
|
|
61
|
+
|
|
62
|
+
LiveButton reads this state: it renders as an active “go to live” control while playback is behind the edge, seeks to the edge on activation, and goes inactive at the edge. Until the media reports a `seekable` range — before metadata loads, or for non-live media — the button is disabled (`data-disabled`) because there is no edge to seek to. Custom live UIs should treat “behind the edge” and “actionable” as separate states.
|
|
63
|
+
|
|
64
|
+
## Availability and constraints
|
|
65
|
+
|
|
66
|
+
- `liveEdgeStart` and `targetLiveWindow` come from media that implements the live capability — the hls.js-based media elements. With plain media elements, stream type falls back to duration-based detection and `liveEdgeStart` stays `NaN`.
|
|
67
|
+
- Live playback drifts behind the edge when the network stalls or the tab is backgrounded. Always give users a path back to the edge.
|
|
68
|
+
- Seeking makes sense only for DVR streams (`targetLiveWindow` of `Infinity`). For standard-latency streams, omit the time slider.
|
|
69
|
+
- Playback rate control isn’t meaningful for live; `liveVideoFeatures` omits it.
|
|
70
|
+
|
|
71
|
+
## Common variations
|
|
72
|
+
|
|
73
|
+
### DVR: let users scrub back
|
|
74
|
+
|
|
75
|
+
For streams with a DVR window, give users a [TimeSlider](../reference/components/time-slider.md). The live preset skins don’t include one, so add it to your custom UI or [add the live skin source to your project](./customize-skins.md#style-skin-source). The slider tracks the sliding window automatically because `duration` follows the live edge.
|
|
76
|
+
|
|
77
|
+
### Switch UI by stream type
|
|
78
|
+
|
|
79
|
+
Render live or on-demand controls from `streamType` when one player handles both kinds of content. Add `streamTypeFeature` to the player’s features; `liveVideoFeatures` does not include it:
|
|
80
|
+
|
|
81
|
+
The preset `LiveVideoPlayer` comes with a fixed feature set. To change it, build the player yourself with [`createPlayer`](../reference/api/create-player.md) — the escape hatch for custom feature sets:
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
import { Container, createPlayer, LiveButton, streamTypeFeature } from '@videojs/react';
|
|
85
|
+
import { liveVideoFeatures } from '@videojs/react/live-video';
|
|
86
|
+
import { HlsJsVideo } from '@videojs/react/media/hlsjs-video';
|
|
87
|
+
|
|
88
|
+
const { Player, usePlayer } = createPlayer({ features: [...liveVideoFeatures, streamTypeFeature] });
|
|
89
|
+
|
|
90
|
+
function LiveBadge() {
|
|
91
|
+
const streamType = usePlayer((s) => s.streamType);
|
|
92
|
+
if (streamType !== 'live') return null;
|
|
93
|
+
|
|
94
|
+
return <LiveButton render={(props, state) => <button {...props}>{state.liveEdge ? 'LIVE' : 'Go live'}</button>} />;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export default function App() {
|
|
98
|
+
return (
|
|
99
|
+
<Player>
|
|
100
|
+
<Container>
|
|
101
|
+
<HlsJsVideo src="https://your-stream.example.com/live.m3u8" autoPlay muted playsInline />
|
|
102
|
+
<LiveBadge />
|
|
103
|
+
</Container>
|
|
104
|
+
</Player>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Troubleshooting
|
|
110
|
+
|
|
111
|
+
### The live badge never activates
|
|
112
|
+
|
|
113
|
+
`streamType` isn’t `'live'`. Confirm the player’s features include `streamTypeFeature` (`liveVideoFeatures` does not include it, so `streamType` reads as `undefined`), the source is a live manifest, and it plays through a live-capable media element such as [HlsJsVideo](../reference/components/hlsjs-video.md).
|
|
114
|
+
|
|
115
|
+
### Playback keeps falling behind the edge
|
|
116
|
+
|
|
117
|
+
Network throughput can’t sustain the stream, or the tab was backgrounded. LiveButton returns users to the edge; for lower drift, review the stream’s latency configuration on the encoder side.
|
|
118
|
+
|
|
119
|
+
### The time slider behaves oddly on a live stream
|
|
120
|
+
|
|
121
|
+
Standard-latency live streams have no meaningful seek range. Show the slider only for DVR streams (`targetLiveWindow` of `Infinity`).
|
|
122
|
+
|
|
123
|
+
## Related pages
|
|
124
|
+
|
|
125
|
+
### Components
|
|
126
|
+
|
|
127
|
+
- [TimeSlider](../reference/components/time-slider.md): A slider component for seeking through media playback time
|
|
128
|
+
- [BufferingIndicator](../reference/components/buffering-indicator.md): Loading indicator that displays when the video player is buffering or waiting for data
|
|
129
|
+
|
|
130
|
+
### API
|
|
131
|
+
|
|
132
|
+
- [Live](../reference/api/feature-live.md): Live edge state for the player store
|
|
133
|
+
- [Stream type](../reference/api/feature-stream-type.md): Stream delivery type (live / on-demand) state for the player store
|
|
134
|
+
- [Time](../reference/api/feature-time.md): Playback position and duration state for the player store
|
|
135
|
+
- [HlsJsVideo](../reference/components/hlsjs-video.md): HLS video element powered by hls.js for adaptive bitrate streaming
|
|
136
|
+
|
|
137
|
+
### Guides
|
|
138
|
+
|
|
139
|
+
- [Media sources](./media-sources.md): Set what a media element plays and how its engine plays it with the structured source property
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Video.js v10 — React Guides
|
|
2
|
+
|
|
3
|
+
> Installation, migration, concepts, playback guides, customization, and tooling for Video.js. Bundled with `@videojs/react` v10.0.0-rc.3. Links are relative paths to files in this directory.
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
Install Video.js, customize a skin, understand its main pieces, check browser and AI tool support, and contribute.
|
|
8
|
+
|
|
9
|
+
- [React Installation Guide](./installation.md): Install Video.js in React and build an accessible, customizable video player with composable controls
|
|
10
|
+
- [Shadcn Installation Guide](./installation-shadcn.md): Add editable React or HTML skin source with the Shadcn registry
|
|
11
|
+
- [Build your own UI component](./build-your-own-component.md): Create custom player controls that read state, dispatch actions, and stay accessible.
|
|
12
|
+
- [Architecture](./architecture.md): How Video.js players are structured — state, UI, media, and extensions
|
|
13
|
+
- [Customize skins](./customize-skins.md): Style a packaged Video.js skin or add its source to change controls, layout, styles, and interactions
|
|
14
|
+
- [Why Video.js?](./why-videojs.md): The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.
|
|
15
|
+
- [Browser support](./browser-support.md): Browsers and rendering environments supported by Video.js 10, and what the stylesheets need from them
|
|
16
|
+
- [Build with AI](./build-with-ai.md): Install the Video.js skill and give AI coding agents version-matched docs for building and migrating players
|
|
17
|
+
- [v10 Roadmap](./v10-roadmap.md): Timeline and milestones for Video.js v10 rebuild and the future of v8
|
|
18
|
+
- [Contribute to Video.js](https://github.com/videojs/v10/blob/main/CONTRIBUTING.md)
|
|
19
|
+
|
|
20
|
+
## Environment
|
|
21
|
+
|
|
22
|
+
TypeScript, bundlers, and Content Security Policy.
|
|
23
|
+
|
|
24
|
+
- [TypeScript](./typescript.md): TypeScript version and module resolution requirements for Video.js packages
|
|
25
|
+
- [Bundlers](./bundlers.md): Bundler requirements for Video.js package exports, CSS, and wrapper libraries
|
|
26
|
+
- [Content Security Policy](./content-security-policy.md): Allow the media, images, workers, and styles a Video.js player needs when your page enforces a Content Security Policy
|
|
27
|
+
|
|
28
|
+
## Concepts
|
|
29
|
+
|
|
30
|
+
Understanding-oriented pages that explain how and why things work. Read these to build a mental model of the library.
|
|
31
|
+
|
|
32
|
+
- [Features](./features.md): The state and actions each feature adds to the player
|
|
33
|
+
- [Skins](./skins.md): Packaged player designs that include both UI components and their styles.
|
|
34
|
+
- [Presets](./presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
|
|
35
|
+
- [UI components](./ui-components.md): How Video.js UI components use focused elements, data attributes for state, and compound composition.
|
|
36
|
+
- [Accessibility](./accessibility.md): How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
|
|
37
|
+
- [Media sources](./media-sources.md): Set what a media element plays and how its engine plays it with the structured source property
|
|
38
|
+
|
|
39
|
+
## Playback
|
|
40
|
+
|
|
41
|
+
Guides for one player capability each: the recommended setup, how it works, browser constraints, variations, and troubleshooting.
|
|
42
|
+
|
|
43
|
+
- [Autoplay](./autoplay.md): Start playback automatically and handle browser autoplay restrictions.
|
|
44
|
+
- [Automatically show and hide controls](./controls.md): Show controls while the user is active, hide them during playback, and toggle them by touch.
|
|
45
|
+
- [Add a poster and loading placeholder](./poster.md): Set the image shown before playback, then add a lightweight placeholder while it loads
|
|
46
|
+
- [Show captions and subtitles](./captions.md): Show captions and subtitles, and let users turn them on and pick a language.
|
|
47
|
+
- [Add keyboard shortcuts and gestures](./keyboard-shortcuts.md): Add keyboard shortcuts, tap and double-tap gestures, and on-screen feedback for input actions.
|
|
48
|
+
- [Play live streams](./live-streams.md): Play live streams with live-edge tracking, DVR windows, and stream-type detection.
|
|
49
|
+
- [Add a quality selector](./quality.md): Read available renditions, let the engine adapt automatically, and offer manual quality selection.
|
|
50
|
+
- [Go fullscreen and lock orientation](./fullscreen.md): Present the player fullscreen with custom controls intact, and lock screen orientation on mobile.
|
|
51
|
+
- [Use picture-in-picture](./picture-in-picture.md): Pop the video into a floating window, with availability detection and state that tracks every entry path.
|
|
52
|
+
- [Show timeline thumbnail previews](./thumbnails.md): Preview frames along the timeline while the user scrubs, powered by a storyboard track.
|
|
53
|
+
- [Cast to AirPlay and Chromecast](./casting.md): Send playback to AirPlay and Google Cast devices, with availability detection and connection state.
|
|
54
|
+
- [Handle playback errors](./playback-errors.md): Display playback failures, report them, and choose a useful recovery action.
|
|
55
|
+
- [Remember user preferences](./user-preferences.md): Persist volume, caption, and quality preferences across sessions by subscribing to player state.
|
|
56
|
+
- [Add a background video](./background-video.md): Add an accessible background video from an MP4, WebM, HLS, or Mux source
|
|
57
|
+
- [Internationalize the player](./internationalization.md): Translate player labels and announcements: shipped locale packs, custom translations, runtime switching, and server rendering.
|
|
58
|
+
- [Monitor playback with Mux Data](./mux-data.md): Measure startup time, rebuffering, failures, and watch time by adding the Mux Data extension to a player
|
|
59
|
+
|
|
60
|
+
## Migrate
|
|
61
|
+
|
|
62
|
+
Guides for moving an existing player integration to Video.js v10, one per player you might be coming from.
|
|
63
|
+
|
|
64
|
+
- [Migrate from Video.js 8](./migrate-from-video-js-8.md): Move a Video.js 8 integration to v10, mapping the options object, techs, plugins, and player API onto composed components
|
|
65
|
+
- [Migrate from Mux Player](./migrate-from-mux-player.md): Move a Mux Player embed to Video.js v10, splitting one element into a player, a media, and a skin
|
|
66
|
+
- [Migrate from Plyr](./migrate-from-plyr.md): Move an existing Plyr integration to Video.js v10, mapping Plyr options and its instance API onto components and player state
|
|
67
|
+
- [Migrate from Media Chrome](./migrate-from-media-chrome.md): Map Media Chrome's controller, elements, and attributes onto Video.js v10, where most of the work is renaming and reshaping rather than rewriting
|