@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-render.js","names":[],"sources":["../../../src/utils/use-render.tsx"],"sourcesContent":["import { getStateDataAttrs, type StateAttrMap } from '@videojs/core/dom';\nimport { isFunction } from '@videojs/utils/predicate';\nimport { resolveClassName } from '@videojs/utils/style';\nimport type { CSSProperties, ReactElement, Ref } from 'react';\nimport { cloneElement, createElement, isValidElement } from 'react';\n\nimport { mergeProps } from './merge-props';\nimport type { HTMLProps, RenderProp } from './types';\nimport { composeRefs } from './use-composed-refs';\n\n/** Check if a value is a render prop (function or React element). */\nexport function isRenderProp(value: unknown): value is RenderProp<unknown> {\n return isFunction(value) || isValidElement(value);\n}\n\ntype IntrinsicTagName = keyof React.JSX.IntrinsicElements;\n\nexport interface UseRenderComponentProps<State> {\n className?: string | ((state: State) => string | undefined) | undefined;\n style?: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined;\n render?: RenderProp<State> | undefined;\n}\n\nexport interface UseRenderParameters<State, RenderedElementType extends Element> {\n state: State;\n ref?: Ref<RenderedElementType> | Ref<RenderedElementType>[] | undefined;\n props?: object | object[] | undefined;\n stateAttrMap?: StateAttrMap<State> | undefined;\n}\n\nfunction resolveStyle<State>(\n style: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined,\n state: State\n): CSSProperties | undefined {\n return isFunction(style) ? style(state) : style;\n}\n\nfunction getElementRef(element: ReactElement): Ref<unknown> | undefined {\n // React 19+ uses element.props.ref, older versions use element.ref\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const elementAny = element as any;\n\n return elementAny.ref ?? elementAny.props?.ref;\n}\n\nfunction mergeRefs<T>(...refs: (Ref<T> | Ref<T>[] | undefined)[]): Ref<T> | undefined {\n const flatRefs = refs.flat().filter((ref): ref is Ref<T> => ref !== null && ref !== undefined);\n if (flatRefs.length === 0) return undefined;\n\n if (flatRefs.length === 1) return flatRefs[0];\n\n return composeRefs(...flatRefs);\n}\n\n/**\n * Render a UI component element.\n *\n * Handles: - Default tag rendering - Render prop (element or function) - Props merging (event handlers chained,\n * className concatenated, style merged) - Ref composition - className/style as functions of state\n *\n * @example\n * ```tsx\n * return renderElement('button', componentProps, {\n * state,\n * ref: [forwardedRef, buttonRef],\n * props: [{ type: 'button' }, elementProps, getButtonProps],\n * });\n * ```;\n *\n * @public\n */\nexport function renderElement<\n State extends object,\n RenderedElementType extends Element,\n TagName extends IntrinsicTagName,\n>(\n element: TagName,\n componentProps: UseRenderComponentProps<State>,\n params: UseRenderParameters<State, RenderedElementType>\n): ReactElement | null {\n const { className: classNameProp, style: styleProp, render } = componentProps;\n const { state, ref, props, stateAttrMap } = params;\n\n // Resolve className and style if they're functions\n const className = resolveClassName(classNameProp, state);\n const style = resolveStyle(styleProp, state);\n\n // Generate data attributes only when a component explicitly opts in with a\n // mapping. State is still passed to render/className/style callbacks.\n const stateDataAttrs = stateAttrMap ? getStateDataAttrs(state, stateAttrMap) : {};\n\n // Merge: state data attrs first, then props (so props can override)\n const propsArray = Array.isArray(props) ? props : props ? [props] : [];\n const mergedProps = mergeProps(stateDataAttrs, ...(propsArray as Record<string, unknown>[]));\n\n if (className !== undefined) {\n // Add resolved className and style\n mergedProps.className = mergedProps.className ? `${mergedProps.className} ${className}` : className;\n }\n\n if (style !== undefined) {\n mergedProps.style = mergedProps.style ? { ...(mergedProps.style as CSSProperties), ...style } : style;\n }\n\n if (isFunction(render)) {\n // Render function: call with props and state\n const mergedRef = mergeRefs(ref, mergedProps.ref);\n\n return render({ ...mergedProps, ref: mergedRef } as HTMLProps, state);\n }\n\n if (isValidElement(render)) {\n const elementRef = getElementRef(render);\n\n const mergedRef = mergeRefs(ref, mergedProps.ref, elementRef);\n\n const elementProps = mergeProps(mergedProps, render.props as Record<string, unknown>);\n\n elementProps.ref = mergedRef;\n\n return cloneElement(render, elementProps);\n }\n\n // Default tag\n const mergedRef = mergeRefs(ref, mergedProps.ref);\n\n mergedProps.ref = mergedRef;\n\n return createElement(element, mergedProps);\n}\n\nexport namespace renderElement {\n export type ComponentProps<State> = UseRenderComponentProps<State>;\n export type Parameters<State, RenderedElementType extends Element> = UseRenderParameters<State, RenderedElementType>;\n}\n"],"mappings":";;;;;;;AA8BA,SAAS,aACP,OACA,OAC2B;CAC3B,OAAO,WAAW,KAAK,IAAI,MAAM,KAAK,IAAI;AAC5C;AAEA,SAAS,cAAc,SAAiD;CAGtE,MAAM,aAAa;CAEnB,OAAO,WAAW,OAAO,WAAW,OAAO;AAC7C;AAEA,SAAS,UAAa,GAAG,MAA6D;CACpF,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC,QAAQ,QAAuB,QAAQ,QAAQ,QAAQ,KAAA,CAAS;CAC7F,IAAI,SAAS,WAAW,GAAG,OAAO,KAAA;CAElC,IAAI,SAAS,WAAW,GAAG,OAAO,SAAS;CAE3C,OAAO,YAAY,GAAG,QAAQ;AAChC;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,cAKd,SACA,gBACA,QACqB;CACrB,MAAM,EAAE,WAAW,eAAe,OAAO,WAAW,WAAW;CAC/D,MAAM,EAAE,OAAO,KAAK,OAAO,iBAAiB;CAG5C,MAAM,YAAY,iBAAiB,eAAe,KAAK;CACvD,MAAM,QAAQ,aAAa,WAAW,KAAK;CAI3C,MAAM,iBAAiB,eAAe,kBAAkB,OAAO,YAAY,IAAI,CAAC;CAIhF,MAAM,cAAc,WAAW,gBAAgB,GAD5B,MAAM,QAAQ,KAAK,IAAI,QAAQ,QAAQ,CAAC,KAAK,IAAI,CAAC,CACsB;CAE3F,IAAI,cAAc,KAAA,GAEhB,YAAY,YAAY,YAAY,YAAY,GAAG,YAAY,UAAU,GAAG,cAAc;CAG5F,IAAI,UAAU,KAAA,GACZ,YAAY,QAAQ,YAAY,QAAQ;EAAE,GAAI,YAAY;EAAyB,GAAG;CAAM,IAAI;CAGlG,IAAI,WAAW,MAAM,GAAG;EAEtB,MAAM,YAAY,UAAU,KAAK,YAAY,GAAG;EAEhD,OAAO,OAAO;GAAE,GAAG;GAAa,KAAK;EAAU,GAAgB,KAAK;CACtE;CAEA,IAAI,eAAe,MAAM,GAAG;EAC1B,MAAM,aAAa,cAAc,MAAM;EAEvC,MAAM,YAAY,UAAU,KAAK,YAAY,KAAK,UAAU;EAE5D,MAAM,eAAe,WAAW,aAAa,OAAO,KAAgC;EAEpF,aAAa,MAAM;EAEnB,OAAO,aAAa,QAAQ,YAAY;CAC1C;CAKA,YAAY,MAFM,UAAU,KAAK,YAAY,GAEnB;CAE1B,OAAO,cAAc,SAAS,WAAW;AAC3C"}
|
|
1
|
+
{"version":3,"file":"use-render.js","names":[],"sources":["../../../src/utils/use-render.tsx"],"sourcesContent":["import { getStateDataAttrs, type StateAttrMap } from '@videojs/core/dom';\nimport { isFunction, isObject } from '@videojs/utils/predicate';\nimport { resolveClassName } from '@videojs/utils/style';\nimport type { CSSProperties, FunctionComponent, ReactElement, ReactNode, Ref } from 'react';\nimport { cloneElement, createElement, forwardRef, isValidElement, memo, version } from 'react';\n\nimport { mergeProps } from './merge-props';\nimport type { HTMLProps, RenderProp } from './types';\nimport { composeRefs } from './use-composed-refs';\n\n/** Check if a value is a render prop (function or React element). */\nexport function isRenderProp(value: unknown): value is RenderProp<unknown> {\n return isFunction(value) || isValidElement(value);\n}\n\ntype IntrinsicTagName = keyof React.JSX.IntrinsicElements;\n\nexport interface UseRenderComponentProps<State> {\n className?: string | ((state: State) => string | undefined) | undefined;\n style?: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined;\n render?: RenderProp<State> | undefined;\n}\n\nexport interface UseRenderParameters<State, RenderedElementType extends Element> {\n state: State;\n ref?: Ref<RenderedElementType> | Ref<RenderedElementType>[] | undefined;\n props?: object | object[] | undefined;\n stateAttrMap?: StateAttrMap<State> | undefined;\n}\n\nfunction resolveStyle<State>(\n style: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined,\n state: State\n): CSSProperties | undefined {\n return isFunction(style) ? style(state) : style;\n}\n\nfunction getElementRef(element: ReactElement): Ref<unknown> | undefined {\n // React 19+ uses element.props.ref, older versions use element.ref\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const elementAny = element as any;\n\n return elementAny.ref ?? elementAny.props?.ref;\n}\n\n/**\n * React 19 passes `ref` to function components as a prop. React 18 and Preact compat only deliver it through\n * `forwardRef`, so a plain function used as a render target needs wrapping there.\n */\nconst REF_AS_PROP = Number.parseInt(version, 10) >= 19;\nconst REACT_MEMO_TYPE = Symbol.for('react.memo');\n\n/** What a React element's `type` can be: an intrinsic tag name or a component. */\ntype ComponentOrTag = ReactElement['type'];\ntype UnknownProps = Record<string, unknown>;\n\n/** The runtime shape of a `memo()` result. */\ninterface MemoComponent {\n readonly type: ComponentOrTag;\n readonly compare?: ((prev: Readonly<UnknownProps>, next: Readonly<UnknownProps>) => boolean) | undefined;\n}\n\n/** Original component, or memo wrapper, to the ref-forwarding component created for it. */\nconst refForwardingCache = new WeakMap<object, ComponentOrTag>();\n\nfunction isPlainFunctionComponent(type: unknown): type is FunctionComponent<UnknownProps> {\n if (!isFunction(type) || '$$typeof' in type) return false;\n\n const prototype: unknown = type.prototype;\n\n return !(isObject(prototype) && 'isReactComponent' in prototype);\n}\n\nfunction isMemoComponent(type: unknown): type is object & MemoComponent {\n return isObject(type) && '$$typeof' in type && type.$$typeof === REACT_MEMO_TYPE;\n}\n\n/** Wrap a plain function component in `forwardRef` so it receives `ref` inside its props, as it would on React 19. */\nfunction withForwardedRef(component: FunctionComponent<UnknownProps>): ComponentOrTag {\n const cached = refForwardingCache.get(component);\n if (cached) return cached;\n\n const ForwardedComponent = forwardRef<unknown, UnknownProps>((props, ref) => {\n // SAFETY: a render target is invoked synchronously during render, so it cannot be an async component.\n return component({ ...props, ref }) as ReactNode;\n });\n\n if (__DEV__) ForwardedComponent.displayName = component.displayName ?? component.name;\n\n refForwardingCache.set(component, ForwardedComponent);\n\n return ForwardedComponent;\n}\n\n/**\n * Resolve the type to create a render element with so the host's composed ref reaches it. Intrinsic tags, classes, and\n * `forwardRef` components already accept refs. Plain function components, bare or wrapped in `memo`, only do on\n * renderers with ref-as-prop and are wrapped otherwise.\n */\nfunction ensureRefForwarding(type: ComponentOrTag): ComponentOrTag {\n if (REF_AS_PROP) return type;\n\n if (isPlainFunctionComponent(type)) return withForwardedRef(type);\n\n if (!isMemoComponent(type) || !isPlainFunctionComponent(type.type)) return type;\n\n const cached = refForwardingCache.get(type);\n if (cached) return cached;\n\n // SAFETY: the wrapper is a forwardRef component, which `memo` accepts wherever a function component is expected.\n const forwarded = memo(withForwardedRef(type.type) as FunctionComponent<UnknownProps>, type.compare);\n\n refForwardingCache.set(type, forwarded);\n\n return forwarded;\n}\n\nfunction mergeRefs<T>(...refs: (Ref<T> | Ref<T>[] | undefined)[]): Ref<T> | undefined {\n const flatRefs = refs.flat().filter((ref): ref is Ref<T> => ref !== null && ref !== undefined);\n if (flatRefs.length === 0) return undefined;\n\n if (flatRefs.length === 1) return flatRefs[0];\n\n return composeRefs(...flatRefs);\n}\n\n/**\n * Render a UI component element.\n *\n * Handles: - Default tag rendering - Render prop (element or function) - Props merging (event handlers chained,\n * className concatenated, style merged) - Ref composition - className/style as functions of state\n *\n * @example\n * ```tsx\n * return renderElement('button', componentProps, {\n * state,\n * ref: [forwardedRef, buttonRef],\n * props: [{ type: 'button' }, elementProps, getButtonProps],\n * });\n * ```;\n *\n * @public\n */\nexport function renderElement<\n State extends object,\n RenderedElementType extends Element,\n TagName extends IntrinsicTagName,\n>(\n element: TagName,\n componentProps: UseRenderComponentProps<State>,\n params: UseRenderParameters<State, RenderedElementType>\n): ReactElement | null {\n const { className: classNameProp, style: styleProp, render } = componentProps;\n const { state, ref, props, stateAttrMap } = params;\n\n // Resolve className and style if they're functions\n const className = resolveClassName(classNameProp, state);\n const style = resolveStyle(styleProp, state);\n\n // Generate data attributes only when a component explicitly opts in with a\n // mapping. State is still passed to render/className/style callbacks.\n const stateDataAttrs = stateAttrMap ? getStateDataAttrs(state, stateAttrMap) : {};\n\n // Merge: state data attrs first, then props (so props can override)\n const propsArray = Array.isArray(props) ? props : props ? [props] : [];\n const mergedProps = mergeProps(stateDataAttrs, ...(propsArray as Record<string, unknown>[]));\n\n if (className !== undefined) {\n // Add resolved className and style\n mergedProps.className = mergedProps.className ? `${mergedProps.className} ${className}` : className;\n }\n\n if (style !== undefined) {\n mergedProps.style = mergedProps.style ? { ...(mergedProps.style as CSSProperties), ...style } : style;\n }\n\n if (isFunction(render)) {\n // Render function: call with props and state\n const mergedRef = mergeRefs(ref, mergedProps.ref);\n\n return render({ ...mergedProps, ref: mergedRef } as HTMLProps, state);\n }\n\n if (isValidElement(render)) {\n const elementRef = getElementRef(render);\n\n const mergedRef = mergeRefs(ref, mergedProps.ref, elementRef);\n\n const elementProps = mergeProps(mergedProps, render.props as Record<string, unknown>);\n\n elementProps.ref = mergedRef;\n\n const type = ensureRefForwarding(render.type);\n if (type === render.type) return cloneElement(render, elementProps);\n\n if (render.key != null) elementProps.key = render.key;\n\n return createElement(type, elementProps);\n }\n\n // Default tag\n const mergedRef = mergeRefs(ref, mergedProps.ref);\n\n mergedProps.ref = mergedRef;\n\n return createElement(element, mergedProps);\n}\n\nexport namespace renderElement {\n export type ComponentProps<State> = UseRenderComponentProps<State>;\n export type Parameters<State, RenderedElementType extends Element> = UseRenderParameters<State, RenderedElementType>;\n}\n"],"mappings":";;;;;;;AA8BA,SAAS,aACP,OACA,OAC2B;CAC3B,OAAO,WAAW,KAAK,IAAI,MAAM,KAAK,IAAI;AAC5C;AAEA,SAAS,cAAc,SAAiD;CAGtE,MAAM,aAAa;CAEnB,OAAO,WAAW,OAAO,WAAW,OAAO;AAC7C;;;;;AAMA,MAAM,cAAc,OAAO,SAAS,SAAS,EAAE,KAAK;AACpD,MAAM,kBAAkB,OAAO,IAAI,YAAY;;AAa/C,MAAM,qCAAqB,IAAI,QAAgC;AAE/D,SAAS,yBAAyB,MAAwD;CACxF,IAAI,CAAC,WAAW,IAAI,KAAK,cAAc,MAAM,OAAO;CAEpD,MAAM,YAAqB,KAAK;CAEhC,OAAO,EAAE,SAAS,SAAS,KAAK,sBAAsB;AACxD;AAEA,SAAS,gBAAgB,MAA+C;CACtE,OAAO,SAAS,IAAI,KAAK,cAAc,QAAQ,KAAK,aAAa;AACnE;;AAGA,SAAS,iBAAiB,WAA4D;CACpF,MAAM,SAAS,mBAAmB,IAAI,SAAS;CAC/C,IAAI,QAAQ,OAAO;CAEnB,MAAM,qBAAqB,YAAmC,OAAO,QAAQ;EAE3E,OAAO,UAAU;GAAE,GAAG;GAAO;EAAI,CAAC;CACpC,CAAC;CAEY,mBAAmB,cAAc,UAAU,eAAe,UAAU;CAEjF,mBAAmB,IAAI,WAAW,kBAAkB;CAEpD,OAAO;AACT;;;;;;AAOA,SAAS,oBAAoB,MAAsC;CACjE,IAAI,aAAa,OAAO;CAExB,IAAI,yBAAyB,IAAI,GAAG,OAAO,iBAAiB,IAAI;CAEhE,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,yBAAyB,KAAK,IAAI,GAAG,OAAO;CAE3E,MAAM,SAAS,mBAAmB,IAAI,IAAI;CAC1C,IAAI,QAAQ,OAAO;CAGnB,MAAM,YAAY,KAAK,iBAAiB,KAAK,IAAI,GAAsC,KAAK,OAAO;CAEnG,mBAAmB,IAAI,MAAM,SAAS;CAEtC,OAAO;AACT;AAEA,SAAS,UAAa,GAAG,MAA6D;CACpF,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC,QAAQ,QAAuB,QAAQ,QAAQ,QAAQ,KAAA,CAAS;CAC7F,IAAI,SAAS,WAAW,GAAG,OAAO,KAAA;CAElC,IAAI,SAAS,WAAW,GAAG,OAAO,SAAS;CAE3C,OAAO,YAAY,GAAG,QAAQ;AAChC;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,cAKd,SACA,gBACA,QACqB;CACrB,MAAM,EAAE,WAAW,eAAe,OAAO,WAAW,WAAW;CAC/D,MAAM,EAAE,OAAO,KAAK,OAAO,iBAAiB;CAG5C,MAAM,YAAY,iBAAiB,eAAe,KAAK;CACvD,MAAM,QAAQ,aAAa,WAAW,KAAK;CAI3C,MAAM,iBAAiB,eAAe,kBAAkB,OAAO,YAAY,IAAI,CAAC;CAIhF,MAAM,cAAc,WAAW,gBAAgB,GAD5B,MAAM,QAAQ,KAAK,IAAI,QAAQ,QAAQ,CAAC,KAAK,IAAI,CAAC,CACsB;CAE3F,IAAI,cAAc,KAAA,GAEhB,YAAY,YAAY,YAAY,YAAY,GAAG,YAAY,UAAU,GAAG,cAAc;CAG5F,IAAI,UAAU,KAAA,GACZ,YAAY,QAAQ,YAAY,QAAQ;EAAE,GAAI,YAAY;EAAyB,GAAG;CAAM,IAAI;CAGlG,IAAI,WAAW,MAAM,GAAG;EAEtB,MAAM,YAAY,UAAU,KAAK,YAAY,GAAG;EAEhD,OAAO,OAAO;GAAE,GAAG;GAAa,KAAK;EAAU,GAAgB,KAAK;CACtE;CAEA,IAAI,eAAe,MAAM,GAAG;EAC1B,MAAM,aAAa,cAAc,MAAM;EAEvC,MAAM,YAAY,UAAU,KAAK,YAAY,KAAK,UAAU;EAE5D,MAAM,eAAe,WAAW,aAAa,OAAO,KAAgC;EAEpF,aAAa,MAAM;EAEnB,MAAM,OAAO,oBAAoB,OAAO,IAAI;EAC5C,IAAI,SAAS,OAAO,MAAM,OAAO,aAAa,QAAQ,YAAY;EAElE,IAAI,OAAO,OAAO,MAAM,aAAa,MAAM,OAAO;EAElD,OAAO,cAAc,MAAM,YAAY;CACzC;CAKA,YAAY,MAFM,UAAU,KAAK,YAAY,GAE3B;CAElB,OAAO,cAAc,SAAS,WAAW;AAC3C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { c } from "react-compiler-runtime";
|
|
1
2
|
import { useId } from "react";
|
|
2
3
|
//#region src/utils/use-safe-id.ts
|
|
3
4
|
const UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g;
|
|
@@ -9,7 +10,15 @@ const UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g;
|
|
|
9
10
|
* prepends a prefix.
|
|
10
11
|
*/
|
|
11
12
|
function useSafeId(prefix) {
|
|
12
|
-
const
|
|
13
|
+
const $ = c(2);
|
|
14
|
+
const t0 = useId();
|
|
15
|
+
let t1;
|
|
16
|
+
if ($[0] !== t0) {
|
|
17
|
+
t1 = t0.replace(UNSAFE_CHARS, "");
|
|
18
|
+
$[0] = t0;
|
|
19
|
+
$[1] = t1;
|
|
20
|
+
} else t1 = $[1];
|
|
21
|
+
const raw = t1;
|
|
13
22
|
return prefix ? `${prefix}-${raw}` : raw;
|
|
14
23
|
}
|
|
15
24
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-safe-id.js","names":[],"sources":["../../../src/utils/use-safe-id.ts"],"sourcesContent":["import { useId } from 'react';\n\nconst UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g;\n\n/**\n * Generate a CSS-safe identifier from React's `useId()`.\n *\n * `useId()` returns values like `:r0:` which contain colons — invalid in CSS `<dashed-ident>` tokens (used by\n * `anchor-name` / `position-anchor`). This hook strips non-alphanumeric/underscore/hyphen characters and optionally\n * prepends a prefix.\n */\nexport function useSafeId(prefix?: string): string {\n const raw = useId().replace(UNSAFE_CHARS, '');\n\n return prefix ? `${prefix}-${raw}` : raw;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-safe-id.js","names":["useId().replace(UNSAFE_CHARS, '')","useId()"],"sources":["../../../src/utils/use-safe-id.ts"],"sourcesContent":["import { useId } from 'react';\n\nconst UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g;\n\n/**\n * Generate a CSS-safe identifier from React's `useId()`.\n *\n * `useId()` returns values like `:r0:` which contain colons — invalid in CSS `<dashed-ident>` tokens (used by\n * `anchor-name` / `position-anchor`). This hook strips non-alphanumeric/underscore/hyphen characters and optionally\n * prepends a prefix.\n */\nexport function useSafeId(prefix?: string): string {\n const raw = useId().replace(UNSAFE_CHARS, '');\n\n return prefix ? `${prefix}-${raw}` : raw;\n}\n"],"mappings":";;;AAEA,MAAM,eAAe;;;;;;;;AASrB,SAAgB,UAAU,QAAyB;;CACrC,MAAA,KAAA,MAAM;CAANA,IAAAA;;EAAQ,KAAA,GAAA,QAAQ,cAAc,EAAE;EAAhCC,EAAAA,KAAAA;;;CAAZ,MAAM,MAAMD;CAEZ,OAAO,SAAS,GAAG,OAAO,GAAG,QAAQ;AACvC"}
|
package/docs/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @videojs/react documentation
|
|
2
2
|
|
|
3
|
-
Bundled markdown documentation for `@videojs/react` v10.0.0-rc.
|
|
3
|
+
Bundled markdown documentation for `@videojs/react` v10.0.0-rc.3.
|
|
4
4
|
|
|
5
5
|
Start at [`./llms.txt`](./llms.txt) — it's the structured index of every page in this directory.
|
|
6
6
|
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Accessibility
|
|
2
|
+
|
|
3
|
+
How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
|
|
4
|
+
|
|
5
|
+
Video.js is built with accessibility in mind so your player can reach the widest possible audience.
|
|
6
|
+
|
|
7
|
+
Here are some of the accessibility aspects we consider. You should consider them too if you’re performing deeper customization.
|
|
8
|
+
|
|
9
|
+
## Standards we target
|
|
10
|
+
|
|
11
|
+
- [**WAI-ARIA 1.2**](https://www.w3.org/TR/wai-aria-1.2/) defines roles, states, and properties that [assistive technologies](https://www.w3.org/WAI/people-use-web/tools-techniques/) use to understand controls.
|
|
12
|
+
- [**WCAG 2.2**](https://www.w3.org/TR/WCAG22/) provides success criteria for perceivable, operable, understandable, and robust web content.
|
|
13
|
+
- [**CVAA**](https://www.fcc.gov/consumers/guides/21st-century-communications-and-video-accessibility-act-cvaa) is a U.S. federal law requiring closed captioning and accessible controls for video content.
|
|
14
|
+
- [**ADA**](https://www.ada.gov/) is a U.S. civil rights law that prohibits disability discrimination. Courts increasingly apply it to websites, including video players.
|
|
15
|
+
- [**European Accessibility Act**](https://eur-lex.europa.eu/eli/dir/2019/882/oj) applies across the EU from June 28, 2025, and covers services such as e-commerce and audiovisual media. [**EN 301 549**](https://www.etsi.org/human-factors-accessibility/en-301-549-v3-the-harmonized-european-standard-for-ict-accessibility) is the European standard for meeting it, and it incorporates WCAG.
|
|
16
|
+
|
|
17
|
+
These standards and laws are listed for context, not as legal advice. Check which ones apply to your product.
|
|
18
|
+
|
|
19
|
+
## ARIA roles and labels
|
|
20
|
+
|
|
21
|
+
Components set ARIA roles and attributes automatically. For example, sliders render with `role="slider"` and value attributes, buttons update their `aria-label` based on player state, and decorative elements like time separators are hidden with `aria-hidden="true"`.
|
|
22
|
+
|
|
23
|
+
Built-in labels are translated. See [Internationalize the player](./internationalization.md) to add or switch locales, and verify that labels are contextually correct for your content. Each component’s reference page documents the attributes it sets.
|
|
24
|
+
|
|
25
|
+
Tooltips are visual only. They are not linked to their trigger with `aria-describedby`, so a custom trigger needs its own accessible name. Built-in media buttons already have one.
|
|
26
|
+
|
|
27
|
+
## Keyboard interaction
|
|
28
|
+
|
|
29
|
+
All interactive components support keyboard control. For example, buttons activate with Enter and Space, sliders respond to Arrow keys, Home, End, and Page Up/Page Down, and popovers close with Escape. Each component’s reference page lists its full keyboard support. We follow the patterns in the [WAI-ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/).
|
|
30
|
+
|
|
31
|
+
Player-wide shortcuts, such as Space to play or M to mute, and tap gestures come from hotkey and gesture components. The skins ship a full set, and custom UI declares its own. See [Add keyboard shortcuts and gestures](./keyboard-shortcuts.md).
|
|
32
|
+
|
|
33
|
+
## Focus management
|
|
34
|
+
|
|
35
|
+
Interactive elements are focusable when enabled and leave the [tab order](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) when disabled. Popover triggers link to their popups with `aria-controls` and `aria-expanded`. Menus and popovers close when focus moves away.
|
|
36
|
+
|
|
37
|
+
Dialogs move focus inside when they open, keep Tab within the dialog, and make the content behind them inert. Closing a dialog returns focus to its trigger, or to the element that had focus before it opened.
|
|
38
|
+
|
|
39
|
+
The player container is focusable and labeled: it takes `role="group"`, `tabindex="0"`, and an `aria-label` you can override. Keyboard users can tab to the player as a whole, and screen readers announce it as a named group.
|
|
40
|
+
|
|
41
|
+
## Status announcements
|
|
42
|
+
|
|
43
|
+
The player announces confirmed state changes through a visually hidden live region (`role="status"`), so screen reader users hear when playback starts or pauses, captions turn on or off, fullscreen, picture-in-picture, playback rate, or volume change, and where a seek lands.
|
|
44
|
+
|
|
45
|
+
Announcements follow confirmed state from the player store rather than requested changes, so routine time updates never reach the live region. Rapid volume and seek changes are grouped into a single announcement, and the player stays quiet while one of its sliders has focus, since the slider already announces its own value. The skins include the [status announcer](../reference/components/status-announcer.md). A custom layout needs to add it. State the store tracks is covered once it’s there; a custom control that tracks its own state needs its own live region.
|
|
46
|
+
|
|
47
|
+
## Captions and subtitles
|
|
48
|
+
|
|
49
|
+
The [text tracks feature](../reference/api/feature-text-tracks.md) supports captions and subtitles. Closed captions in the U.S. are governed by the [FCC](https://www.fcc.gov/) under the [CVAA](https://www.fcc.gov/consumers/guides/21st-century-communications-and-video-accessibility-act-cvaa), which requires both captioning and viewer control over caption appearance (font, size, color, opacity, and edge style). Non-compliance carries legal risk.
|
|
50
|
+
|
|
51
|
+
Video.js leaves caption rendering to the browser, and you style cues with the `::cue` pseudo-element. It doesn’t include a menu for caption appearance, so viewers rely on the caption preferences their browser and operating system provide. The [WebKit Caption Display Settings explainer](https://github.com/WebKit/explainers/tree/main/CaptionDisplaySettings) tracks how browsers are bringing these preferences into the web platform. See [Show captions and subtitles](./captions.md) to add tracks and a captions control.
|
|
52
|
+
|
|
53
|
+
## Transcripts and audio description
|
|
54
|
+
|
|
55
|
+
Captions don’t cover every viewer. [WCAG 2.2](https://www.w3.org/WAI/WCAG22/Understanding/audio-description-or-media-alternative-prerecorded) also expects audio description or a text alternative for prerecorded video. A transcript can live inside the [player](../reference/components/player.md) but outside its container, so it reads player state without going fullscreen with the video. When a stream includes a described audio track, an [audio track menu](../reference/components/audio-track-radio-group.md) lets viewers choose it.
|
|
56
|
+
|
|
57
|
+
## Color contrast
|
|
58
|
+
|
|
59
|
+
Skins respond to [`prefers-contrast: more`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast) by increasing background opacity on overlays and controls, and to [`prefers-reduced-transparency: reduce`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency) by raising baseline opacity so text stays readable over video.
|
|
60
|
+
|
|
61
|
+
Video is harder than most UI for contrast because the background is always changing. A control that passes checks over a dark frame can disappear over a bright title card. Automated tools won’t catch this, so test your controls against light, dark, and mixed video content. Custom components should test against [WCAG 1.4.3 (contrast minimum)](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum) and [1.4.11 (non-text contrast)](https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast).
|
|
62
|
+
|
|
63
|
+
## Touch targets
|
|
64
|
+
|
|
65
|
+
Skin controls size from `--media-scale-unit`, which defaults to `16px`, so they don’t grow with the user’s font size preference. Set it to `1rem` to scale with the document root font size. See [Customize skins](./customize-skins.md#scale-from-the-document-font-size).
|
|
66
|
+
|
|
67
|
+
Skin buttons set [`touch-action: manipulation`](https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action) to remove tap delay on touch devices, and sliders set `touch-action: none` so dragging doesn’t scroll the page. Skins use [`pointer: fine` and `pointer: coarse`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer) to adapt transitions for mouse and touch input.
|
|
68
|
+
|
|
69
|
+
If you build custom controls, target at least 24x24 CSS pixels per [WCAG 2.5.8 (target size minimum)](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum). Larger is better on touch-first surfaces.
|
|
70
|
+
|
|
71
|
+
## Color scheme
|
|
72
|
+
|
|
73
|
+
The audio skins switch their palette for light and dark mode with [`light-dark()`](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark), which follows the inherited [`color-scheme`](https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme), not the user’s preference directly. Set `color-scheme: light dark` on the page or the player to follow the user’s setting. The video skins keep dark controls in both schemes; only their border follows it. See [Customize skins](./customize-skins.md#set-the-color-scheme).
|
|
74
|
+
|
|
75
|
+
## Reduced motion
|
|
76
|
+
|
|
77
|
+
Skins respect [`prefers-reduced-motion`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) by simplifying or removing animations and transitions. Follow the same pattern in custom components.
|
|
78
|
+
|
|
79
|
+
That covers the controls, not the video. Video.js doesn’t pause or hide autoplaying video for reduced-motion users; your page decides that.
|
|
80
|
+
|
|
81
|
+
## Autoplay and moving video
|
|
82
|
+
|
|
83
|
+
[WCAG 2.2.2](https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide) requires a way to pause, stop, or hide motion that starts automatically and lasts more than five seconds. A muted, looping hero video counts. Give it a pause control, or keep it short.
|
|
84
|
+
|
|
85
|
+
A purely decorative video should be hidden from assistive technology with `aria-hidden="true"` on its wrapper. If the video carries information, give it an accessible name and controls, and use a regular player. See [Add a background video](./background-video.md) and [Autoplay](./autoplay.md).
|
|
86
|
+
|
|
87
|
+
## Test with assistive technology
|
|
88
|
+
|
|
89
|
+
Automated tools catch markup issues but miss real usability problems. Test your player with a [screen reader](https://www.w3.org/WAI/people-use-web/tools-techniques/) ([VoiceOver](https://support.apple.com/guide/voiceover/welcome/mac) on macOS, [NVDA](https://www.nvaccess.org/about-nvda/) or [JAWS](https://www.freedomscientific.com/products/software/jaws/) on Windows) and keyboard-only navigation. Verify that every control is reachable, operable, and announces its purpose and state. The [WAI “Easy Checks”](https://www.w3.org/WAI/test-evaluate/preliminary/) are a good starting point.
|
|
90
|
+
|
|
91
|
+
## Further reading
|
|
92
|
+
|
|
93
|
+
The W3C WAI guides on [making audio and video media accessible](https://www.w3.org/WAI/media/av/) and [accessible media players](https://www.w3.org/WAI/media/av/player/) go deeper on everything covered here.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
How Video.js players are structured — state, UI, media, and extensions
|
|
4
|
+
|
|
5
|
+
Video.js v10 separates player responsibilities into parts that work independently or together, so you can use as much or as little of Video.js as you need.
|
|
6
|
+
|
|
7
|
+
For the reasoning behind this design, see [Why Video.js?](./why-videojs.md).
|
|
8
|
+
|
|
9
|
+
## State management
|
|
10
|
+
|
|
11
|
+
State is handled by a preset player component, which creates a central state store that all components can access. When you wrap your player in `VideoPlayer`, the components automatically connect to the state.
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
{/* All components inside automatically connect to state */}
|
|
15
|
+
<VideoPlayer>
|
|
16
|
+
<VideoSkin>
|
|
17
|
+
<Video src="video.mp4" />
|
|
18
|
+
</VideoSkin>
|
|
19
|
+
</VideoPlayer>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
You can access state and actions from anywhere within `VideoPlayer` with the [`usePlayer` hook](../reference/api/use-player.md).
|
|
23
|
+
|
|
24
|
+
- [Learn more about state and actions](./features.md)
|
|
25
|
+
|
|
26
|
+
## User interface
|
|
27
|
+
|
|
28
|
+
Use a prebuilt **skin** or build your own from the individual **UI components**.
|
|
29
|
+
|
|
30
|
+
### Skins
|
|
31
|
+
|
|
32
|
+
Skins are complete, pre-designed player UIs that package components and styles together. They give you a polished starting point, with a small set of CSS custom properties for common visual changes. They don’t try to cover every player with options.
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
<VideoPlayer>
|
|
36
|
+
<VideoSkin>
|
|
37
|
+
<Video src="video.mp4" />
|
|
38
|
+
</VideoSkin>
|
|
39
|
+
</VideoPlayer>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
- [Learn more about skins](./skins.md)
|
|
43
|
+
|
|
44
|
+
### UI components
|
|
45
|
+
|
|
46
|
+
If you want more control than a packaged skin offers, build your own UI from our components. Add, remove, and rearrange them to build the player you need.
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<VideoPlayer>
|
|
50
|
+
<Container>
|
|
51
|
+
<Video src="video.mp4" />
|
|
52
|
+
<Controls.Root>
|
|
53
|
+
<Controls.Content>
|
|
54
|
+
<PlayButton />
|
|
55
|
+
{/* ... */}
|
|
56
|
+
</Controls.Content>
|
|
57
|
+
</Controls.Root>
|
|
58
|
+
</Container>
|
|
59
|
+
</VideoPlayer>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Skin source is a practical foundation for custom UI because it provides the same styled components as the packaged version. See [Customize skins](./customize-skins.md#style-skin-source) to add it to your project.
|
|
63
|
+
|
|
64
|
+
- [Learn more about UI components](./ui-components.md)
|
|
65
|
+
- [Build your own component](./build-your-own-component.md)
|
|
66
|
+
|
|
67
|
+
## Media
|
|
68
|
+
|
|
69
|
+
Media components are the components that actually display your media. They’re essentially “players with no UI”. They handle the video/audio rendering and expose a consistent API.
|
|
70
|
+
|
|
71
|
+
Media components can be format specific (HLS, DASH), service specific (YouTube, Vimeo, Mux), or use case specific (background video).
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
<VideoPlayer>
|
|
75
|
+
<VideoSkin>
|
|
76
|
+
<HlsJsVideo src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8" />
|
|
77
|
+
</VideoSkin>
|
|
78
|
+
</VideoPlayer>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- [Learn more about media](./media-sources.md)
|
|
82
|
+
|
|
83
|
+
## Extensions
|
|
84
|
+
|
|
85
|
+
Extensions add behavior to a player without rendering UI or playing media themselves.
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
<VideoPlayer>
|
|
89
|
+
<VideoSkin>
|
|
90
|
+
<MuxVideo source={{ playbackId: 'PLAYBACK_ID' }} />
|
|
91
|
+
<MuxData />
|
|
92
|
+
<GoogleCast />
|
|
93
|
+
</VideoSkin>
|
|
94
|
+
</VideoPlayer>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
An extension can provide behavior that a UI component controls: GoogleCast supplies the configurable Cast route, and [CastButton](../reference/components/cast-button.md) renders the control that starts and ends a session.
|
|
98
|
+
|
|
99
|
+
## Presets
|
|
100
|
+
|
|
101
|
+
**Presets** preconfigure the state, UI, and media for a specific use case. Extensions stay opt-in, so add them to a preset player when you need them.
|
|
102
|
+
|
|
103
|
+
The default presets are `@videojs/react/video` and `@videojs/react/audio`, covering the baseline set of controls you’d expect from the HTML `<video>` and `<audio>` tags.
|
|
104
|
+
|
|
105
|
+
Beyond the defaults, presets target more specific use cases. The `/background` preset combines a media element with autoplay, mute, and loop built in, a skin with no controls, and only the features needed to power it.
|
|
106
|
+
|
|
107
|
+
You can use it from `@videojs/react/background`.
|
|
108
|
+
|
|
109
|
+
- [Learn more about presets](./presets.md)
|
|
110
|
+
|
|
111
|
+
## Related pages
|
|
112
|
+
|
|
113
|
+
### Guides
|
|
114
|
+
|
|
115
|
+
- [Installation](./installation.md): Install Video.js packages and build an accessible, customizable video player with composable controls
|
|
116
|
+
- [Features](./features.md): The state and actions each feature adds to the player
|
|
117
|
+
- [Skins](./skins.md): Packaged player designs that include both UI components and their styles.
|
|
118
|
+
- [Presets](./presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Autoplay
|
|
2
|
+
|
|
3
|
+
Start playback automatically and handle browser autoplay restrictions.
|
|
4
|
+
|
|
5
|
+
For the best chance of autoplay succeeding, start playback muted and enable inline playback. Autoplay is a request, not a guarantee: browsers can block it based on audio state, prior interaction with your site, browser settings, and platform policy.
|
|
6
|
+
|
|
7
|
+
## Recommended approach
|
|
8
|
+
|
|
9
|
+
Set autoplay, muted, and inline playback on the media element, and keep a manual play control available for when autoplay is blocked.
|
|
10
|
+
|
|
11
|
+
**App.tsx**
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { Container, PlayButton } from '@videojs/react';
|
|
15
|
+
import { Video, VideoPlayer } from '@videojs/react/video';
|
|
16
|
+
|
|
17
|
+
export default function BasicUsage() {
|
|
18
|
+
return (
|
|
19
|
+
<VideoPlayer>
|
|
20
|
+
<Container className="media-container">
|
|
21
|
+
<Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" autoPlay muted playsInline />
|
|
22
|
+
<PlayButton
|
|
23
|
+
className="media-play-button"
|
|
24
|
+
render={(props, state) => (
|
|
25
|
+
<button {...props}>{state.ended ? 'Replay' : state.paused ? 'Play' : 'Pause'}</button>
|
|
26
|
+
)}
|
|
27
|
+
/>
|
|
28
|
+
</Container>
|
|
29
|
+
</VideoPlayer>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**App.css**
|
|
35
|
+
|
|
36
|
+
```css
|
|
37
|
+
.media-container {
|
|
38
|
+
position: relative;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.media-container video {
|
|
42
|
+
width: 100%;
|
|
43
|
+
aspect-ratio: 16 / 9;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.media-play-button {
|
|
47
|
+
position: absolute;
|
|
48
|
+
bottom: 10px;
|
|
49
|
+
left: 10px;
|
|
50
|
+
padding-block: 8px;
|
|
51
|
+
padding-inline: 20px;
|
|
52
|
+
color: black;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
background: rgba(255, 255, 255, 0.7);
|
|
55
|
+
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
56
|
+
border-radius: 9999px;
|
|
57
|
+
backdrop-filter: blur(10px);
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## How it works
|
|
62
|
+
|
|
63
|
+
The `autoPlay`, `muted`, and `playsInline` props on [`Video`](../reference/api/create-player.md) and similar media components pass through to the underlying media element. When the media element supports them, they’re applied, and playback is requested as soon as the media has enough data.
|
|
64
|
+
|
|
65
|
+
The [playback feature](../reference/api/feature-playback.md) reflects the result in player state. When autoplay succeeds, `paused` becomes `false` and `started` becomes `true`. When the browser blocks autoplay, the player stays `paused: true` with `started: false`, and the [Play button](../reference/components/play-button.md) renders its play state. There is no separate autoplay failure event: a blocked autoplay looks like media that never started.
|
|
66
|
+
|
|
67
|
+
Calling `play()` from player state returns the native promise from the media element. When the browser blocks playback, that promise rejects with a `NotAllowedError`.
|
|
68
|
+
|
|
69
|
+
## Availability and constraints
|
|
70
|
+
|
|
71
|
+
- Autoplay can fail. Browsers decide per page load based on audio state, whether the user has interacted with your site before, browser settings, and platform policy.
|
|
72
|
+
- Muted autoplay is broadly allowed. Unmuted autoplay is blocked on first visit in most browsers; do not rely on it.
|
|
73
|
+
- Without inline playback, iPhone Safari opens the video in fullscreen when playback starts.
|
|
74
|
+
- Low-power mode and data-saver settings can block even muted autoplay. This is why the recommended approach keeps a manual play control.
|
|
75
|
+
- Programmatic volume control is unsupported on some platforms. The [volume feature](../reference/api/feature-volume.md) exposes this as `volumeAvailability: 'available' | 'unavailable' | 'unsupported'`; iOS Safari reports `'unsupported'`, and `'unavailable'` means the feature hasn’t attached to a media element yet.
|
|
76
|
+
- This guide applies to media components that render a video element (Video, HlsJsVideo, DashVideo, MuxVideo, and the like). Embed components (YouTube, Vimeo, TikTok, Twitch) forward autoplay to the third-party player, which applies its own autoplay rules; muted and inline behavior varies by provider.
|
|
77
|
+
|
|
78
|
+
## Common variations
|
|
79
|
+
|
|
80
|
+
### Background video
|
|
81
|
+
|
|
82
|
+
Background video autoplays, loops, stays muted, and omits interactive controls. Use `HlsBackgroundVideo` instead of configuring these behaviors yourself: it applies them by default and streams an HLS source, picking one rendition that fits the screen for the whole session.
|
|
83
|
+
|
|
84
|
+
Install the SPF adapter with the React façade:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
pnpm add @videojs/react @videojs/spf
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```tsx
|
|
91
|
+
import { HlsBackgroundVideo } from '@videojs/react/media/hls-background-video';
|
|
92
|
+
|
|
93
|
+
export default function Hero() {
|
|
94
|
+
return <HlsBackgroundVideo src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8" />;
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If you have a progressive MP4 or WebM file instead of an HLS stream, `BackgroundVideo` is the same component without the streaming engine. See [BackgroundVideo](../reference/components/background-video.md) for opt-out props and sizing.
|
|
99
|
+
|
|
100
|
+
### Autoplay with sound
|
|
101
|
+
|
|
102
|
+
Do not rely on unmuted autoplay for a user’s first visit. Start playback from an explicit user action instead.
|
|
103
|
+
|
|
104
|
+
Call `play()` from the player store returned by [`usePlayer`](../reference/api/use-player.md):
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
import { Container } from '@videojs/react';
|
|
108
|
+
import { usePlayer, Video, VideoPlayer } from '@videojs/react/video';
|
|
109
|
+
|
|
110
|
+
function StartPlaybackButton() {
|
|
111
|
+
const store = usePlayer();
|
|
112
|
+
|
|
113
|
+
return (
|
|
114
|
+
<button type="button" onClick={() => store.play()}>
|
|
115
|
+
Play video
|
|
116
|
+
</button>
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export default function App() {
|
|
121
|
+
return (
|
|
122
|
+
<VideoPlayer>
|
|
123
|
+
<Container>
|
|
124
|
+
<Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" playsInline />
|
|
125
|
+
<StartPlaybackButton />
|
|
126
|
+
</Container>
|
|
127
|
+
</VideoPlayer>
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Because playback starts from a user gesture, the browser allows it unmuted.
|
|
133
|
+
|
|
134
|
+
## Troubleshooting
|
|
135
|
+
|
|
136
|
+
### Playback does not start
|
|
137
|
+
|
|
138
|
+
Confirm that:
|
|
139
|
+
|
|
140
|
+
- The media is muted.
|
|
141
|
+
- Inline playback is enabled.
|
|
142
|
+
- The source loads (check the network panel).
|
|
143
|
+
- A manual play control is available as a fallback.
|
|
144
|
+
|
|
145
|
+
If autoplay is blocked, the player stays paused and the Play button remains in its play state; there is no error state to handle.
|
|
146
|
+
|
|
147
|
+
### The video opens fullscreen on iPhone
|
|
148
|
+
|
|
149
|
+
Enable inline playback with the `playsInline` prop on the media component.
|
|
150
|
+
|
|
151
|
+
### The video starts without sound
|
|
152
|
+
|
|
153
|
+
Expected with muted autoplay. Let the user unmute through a [Mute button](../reference/components/mute-button.md) or [Volume slider](../reference/components/volume-slider.md) rather than unmuting programmatically; programmatic volume changes are unsupported on some platforms.
|
|
154
|
+
|
|
155
|
+
## Related pages
|
|
156
|
+
|
|
157
|
+
### Components
|
|
158
|
+
|
|
159
|
+
- [PlayButton](../reference/components/play-button.md): Accessible play/pause button with keyboard support and customizable rendering
|
|
160
|
+
- [MuteButton](../reference/components/mute-button.md): Accessible mute/unmute button with keyboard support and volume state reflection
|
|
161
|
+
- [BackgroundVideo](../reference/components/background-video.md): Decorative background video element with automatic muting and looping
|
|
162
|
+
- [Controls](../reference/components/controls.md): Container component for composing and auto-hiding video player controls on user interaction
|
|
163
|
+
|
|
164
|
+
### API
|
|
165
|
+
|
|
166
|
+
- [Playback](../reference/api/feature-playback.md): Play/pause state and actions for the player store
|
|
167
|
+
- [Volume](../reference/api/feature-volume.md): Volume level and mute state for the player store
|
|
168
|
+
- [usePlayer](../reference/api/use-player.md): Hook to access the player store from within a Player
|
|
169
|
+
|
|
170
|
+
### Guides
|
|
171
|
+
|
|
172
|
+
- [Features](./features.md): The state and actions each feature adds to the player
|
|
173
|
+
- [Browser support](./browser-support.md): Browsers and rendering environments supported by Video.js 10, and what the stylesheets need from them
|