@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":"root.js","names":["Popover.Root"],"sources":["../../../../src/ui/volume-popover/root.tsx"],"sourcesContent":["import { VolumePopoverCore } from '@videojs/core';\nimport { selectVolume } from '@videojs/core/dom';\nimport type { MediaVolumeState } from '@videojs/media';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport { Popover } from '../popover';\nimport { usePopoverContext } from '../popover/context';\nimport type { PopoverRootProps } from '../popover/root';\nimport { VolumePopoverContextProvider } from './context';\n\nconst unavailableVolume: MediaVolumeState = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported',\n mutedAvailability: 'unsupported',\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumePopoverRootProps extends PopoverRootProps {}\n\n/** Owns volume availability
|
|
1
|
+
{"version":3,"file":"root.js","names":["{ children, ...props }: VolumePopoverRootProps","<VolumePopoverState {...props}>{children}</VolumePopoverState>","<Popover.Root {...props}>\n <VolumePopoverState {...props}>{children}</VolumePopoverState>\n </Popover.Root>","Popover.Root"],"sources":["../../../../src/ui/volume-popover/root.tsx"],"sourcesContent":["import { VolumePopoverCore } from '@videojs/core';\nimport { selectVolume } from '@videojs/core/dom';\nimport type { MediaVolumeState } from '@videojs/media';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport { Popover } from '../popover';\nimport { usePopoverContext } from '../popover/context';\nimport type { PopoverRootProps } from '../popover/root';\nimport { VolumePopoverContextProvider } from './context';\n\nconst unavailableVolume: MediaVolumeState = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported',\n mutedAvailability: 'unsupported',\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumePopoverRootProps extends PopoverRootProps {}\n\n/** Owns the popover interaction lifecycle and provides volume availability to the parts. */\nexport function VolumePopoverRoot({ children, ...props }: VolumePopoverRootProps): ReactNode {\n return (\n <Popover.Root {...props}>\n <VolumePopoverState {...props}>{children}</VolumePopoverState>\n </Popover.Root>\n );\n}\n\n/**\n * Derives the volume-aware state inside the popover context. It subscribes to volume, owns the core, and reads the\n * core's state all in one component: a core mutated in one component and read in another is invisible to React\n * Compiler, which memoised the reading element and left the trigger in its mute-only fallback after volume became\n * available.\n */\nfunction VolumePopoverState({ children, ...props }: VolumePopoverRootProps): ReactNode {\n // React Compiler cannot track state read through the mutable core instance.\n 'use no memo';\n\n const volume = usePlayer(selectVolume);\n const { popover, state: popoverState } = usePopoverContext();\n const [core] = useState(() => new VolumePopoverCore(props));\n\n core.setProps(props);\n core.setMedia(volume ?? unavailableVolume);\n core.setInput({ active: popoverState.open, status: popoverState.status });\n const state = core.getState();\n\n useEffect(() => {\n if (state.hidden) popover.close('imperative-action');\n }, [popover, state.hidden]);\n\n return <VolumePopoverContextProvider value={{ state }}>{children}</VolumePopoverContextProvider>;\n}\n\nexport namespace VolumePopoverRoot {\n export type Props = VolumePopoverRootProps;\n export type State = VolumePopoverCore.State;\n}\n"],"mappings":";;;;;;;;;;AAYA,MAAM,oBAAsC;CAC1C,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;AACrB;;AAKA,SAAgB,kBAAA,IAA6E;;CAAzD,IAAA;CAAa,IAAA;CAAfA,IAAAA,EAAAA,OAAAA,IAAAA;EAAE,CAAA,CAAA,aAAU,SAAZA;;;;;;;;CAG5BC,IAAAA;CAAgC,IAAA,EAAA,OAAA,YAAA,EAAA,OAAR,OAAA;EAAxB,KAAA,oBAAC,oBAAD;GAAoB,GAAI;GAAQ;EAA6B,CAAA;EAA7B,EAAA,KAAA;EAAR,EAAA,KAAA;;;CAD1BC,IAAAA;CAAkB,IAAA,EAAA,OAAA,SAAA,EAAA,OAChBD,IAAAA;EADF,KAAA,oBAACE,aAAD;GAAc,GAAI;GAChBF,UAAAA;EACY,CAAA;EAFI,EAAA,KAAA;EAChBA,EAAAA,KAAAA;;;CAFJ,OACEC;AAIJ;;;;;;;AAQA,SAAS,mBAAmB,EAAE,UAAU,GAAG,SAA4C;CAErF;CAEA,MAAM,SAAS,UAAU,YAAY;CACrC,MAAM,EAAE,SAAS,OAAO,iBAAiB,kBAAkB;CAC3D,MAAM,CAAC,QAAQ,eAAe,IAAI,kBAAkB,KAAK,CAAC;CAE1D,KAAK,SAAS,KAAK;CACnB,KAAK,SAAS,UAAU,iBAAiB;CACzC,KAAK,SAAS;EAAE,QAAQ,aAAa;EAAM,QAAQ,aAAa;CAAO,CAAC;CACxE,MAAM,QAAQ,KAAK,SAAS;CAE5B,gBAAgB;EACd,IAAI,MAAM,QAAQ,QAAQ,MAAM,mBAAmB;CACrD,GAAG,CAAC,SAAS,MAAM,MAAM,CAAC;CAE1B,OAAO,oBAAC,8BAAD;EAA8B,OAAO,EAAE,MAAM;EAAI;CAAuC,CAAA;AACjG"}
|
|
@@ -2,11 +2,17 @@ import { EngineAdapter } from "@videojs/media";
|
|
|
2
2
|
import { RefCallback } from "react";
|
|
3
3
|
//#region src/utils/use-attach-media.d.ts
|
|
4
4
|
/**
|
|
5
|
-
* Returns a callback ref that attaches an
|
|
5
|
+
* Returns a callback ref that attaches an element to a playback adapter and detaches it when the element or the adapter
|
|
6
|
+
* changes, when the element goes away, and on unmount.
|
|
7
|
+
*
|
|
8
|
+
* React hands a callback ref `null` and then the same element again whenever the ref changes identity, which happens
|
|
9
|
+
* every render when it is composed with an inline `ref={(el) => ...}` from a parent. Attaching only when the element or
|
|
10
|
+
* the adapter actually changed, and deferring detach to a layout effect that runs after the commit's refs, keeps that
|
|
11
|
+
* from tearing the engine down and rebuilding it.
|
|
6
12
|
*
|
|
7
13
|
* @param media - Playback adapter to attach and detach.
|
|
8
14
|
*/
|
|
9
|
-
declare function useAttachMedia<T extends
|
|
15
|
+
declare function useAttachMedia<T extends Element>(media: EngineAdapter): RefCallback<T>;
|
|
10
16
|
//#endregion
|
|
11
17
|
export { useAttachMedia };
|
|
12
18
|
//# sourceMappingURL=use-attach-media.d.ts.map
|
|
@@ -1,16 +1,73 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c } from "react-compiler-runtime";
|
|
2
|
+
import { useLayoutEffect, useRef } from "react";
|
|
2
3
|
//#region src/utils/use-attach-media.ts
|
|
3
4
|
/**
|
|
4
|
-
* Returns a callback ref that attaches an
|
|
5
|
+
* Returns a callback ref that attaches an element to a playback adapter and detaches it when the element or the adapter
|
|
6
|
+
* changes, when the element goes away, and on unmount.
|
|
7
|
+
*
|
|
8
|
+
* React hands a callback ref `null` and then the same element again whenever the ref changes identity, which happens
|
|
9
|
+
* every render when it is composed with an inline `ref={(el) => ...}` from a parent. Attaching only when the element or
|
|
10
|
+
* the adapter actually changed, and deferring detach to a layout effect that runs after the commit's refs, keeps that
|
|
11
|
+
* from tearing the engine down and rebuilding it.
|
|
5
12
|
*
|
|
6
13
|
* @param media - Playback adapter to attach and detach.
|
|
7
14
|
*/
|
|
8
15
|
function useAttachMedia(media) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
const $ = c(7);
|
|
17
|
+
const elementRef = useRef(null);
|
|
18
|
+
const attachedRef = useRef(null);
|
|
19
|
+
let t0;
|
|
20
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
21
|
+
t0 = () => {
|
|
22
|
+
const attached = attachedRef.current;
|
|
23
|
+
attachedRef.current = null;
|
|
24
|
+
attached?.media.detach?.();
|
|
25
|
+
};
|
|
26
|
+
$[0] = t0;
|
|
27
|
+
} else t0 = $[0];
|
|
28
|
+
const detach = t0;
|
|
29
|
+
let t1;
|
|
30
|
+
if ($[1] !== media) {
|
|
31
|
+
t1 = () => {
|
|
32
|
+
const element = elementRef.current;
|
|
33
|
+
const attached_0 = attachedRef.current;
|
|
34
|
+
if (attached_0 && (attached_0.element !== element || attached_0.media !== media)) detach();
|
|
35
|
+
if (element && !attachedRef.current) {
|
|
36
|
+
media.attach?.(element);
|
|
37
|
+
attachedRef.current = {
|
|
38
|
+
media,
|
|
39
|
+
element
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
$[1] = media;
|
|
44
|
+
$[2] = t1;
|
|
45
|
+
} else t1 = $[2];
|
|
46
|
+
const sync = t1;
|
|
47
|
+
let t2;
|
|
48
|
+
if ($[3] !== sync) {
|
|
49
|
+
t2 = (element_0) => {
|
|
50
|
+
elementRef.current = element_0;
|
|
51
|
+
if (element_0) sync();
|
|
52
|
+
};
|
|
53
|
+
$[3] = sync;
|
|
54
|
+
$[4] = t2;
|
|
55
|
+
} else t2 = $[4];
|
|
56
|
+
const ref = t2;
|
|
57
|
+
useLayoutEffect(sync);
|
|
58
|
+
let t3;
|
|
59
|
+
let t4;
|
|
60
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
61
|
+
t3 = () => detach;
|
|
62
|
+
t4 = [detach];
|
|
63
|
+
$[5] = t3;
|
|
64
|
+
$[6] = t4;
|
|
65
|
+
} else {
|
|
66
|
+
t3 = $[5];
|
|
67
|
+
t4 = $[6];
|
|
68
|
+
}
|
|
69
|
+
useLayoutEffect(t3, t4);
|
|
70
|
+
return ref;
|
|
14
71
|
}
|
|
15
72
|
//#endregion
|
|
16
73
|
export { useAttachMedia };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-attach-media.js","names":[],"sources":["../../../src/utils/use-attach-media.ts"],"sourcesContent":["import type { EngineAdapter } from '@videojs/media';\nimport type { RefCallback } from 'react';\nimport { useCallback } from 'react';\n\n/**\n * Returns a callback ref that attaches an
|
|
1
|
+
{"version":3,"file":"use-attach-media.js","names":["() => {\n const attached = attachedRef.current;\n\n attachedRef.current = null;\n attached?.media.detach?.();\n }","useCallback(() => {\n const attached = attachedRef.current;\n\n attachedRef.current = null;\n attached?.media.detach?.();\n }, [])","() => {\n const element = elementRef.current;\n const attached = attachedRef.current;\n\n if (attached && (attached.element !== element || attached.media !== media)) detach();\n\n if (element && !attachedRef.current) {\n media.attach?.(element);\n attachedRef.current = { media, element };\n }\n }","attached","useCallback(() => {\n const element = elementRef.current;\n const attached = attachedRef.current;\n\n if (attached && (attached.element !== element || attached.media !== media)) detach();\n\n if (element && !attachedRef.current) {\n media.attach?.(element);\n attachedRef.current = { media, element };\n }\n }, [media, detach])","(element) => {\n elementRef.current = element;\n\n if (element) sync();\n }","element","useCallback<RefCallback<T>>(\n (element) => {\n elementRef.current = element;\n\n if (element) sync();\n },\n [sync]\n )","() => detach","[detach]"],"sources":["../../../src/utils/use-attach-media.ts"],"sourcesContent":["import type { EngineAdapter } from '@videojs/media';\nimport type { RefCallback } from 'react';\nimport { useCallback, useLayoutEffect, useRef } from 'react';\n\n/**\n * Returns a callback ref that attaches an element to a playback adapter and detaches it when the element or the adapter\n * changes, when the element goes away, and on unmount.\n *\n * React hands a callback ref `null` and then the same element again whenever the ref changes identity, which happens\n * every render when it is composed with an inline `ref={(el) => ...}` from a parent. Attaching only when the element or\n * the adapter actually changed, and deferring detach to a layout effect that runs after the commit's refs, keeps that\n * from tearing the engine down and rebuilding it.\n *\n * @param media - Playback adapter to attach and detach.\n */\nexport function useAttachMedia<T extends Element>(media: EngineAdapter): RefCallback<T> {\n const elementRef = useRef<T | null>(null);\n const attachedRef = useRef<{ media: EngineAdapter; element: T } | null>(null);\n\n const detach = useCallback(() => {\n const attached = attachedRef.current;\n\n attachedRef.current = null;\n attached?.media.detach?.();\n }, []);\n\n // Reconciles what the adapter is attached to with the element React last handed the ref.\n const sync = useCallback(() => {\n const element = elementRef.current;\n const attached = attachedRef.current;\n\n if (attached && (attached.element !== element || attached.media !== media)) detach();\n\n if (element && !attachedRef.current) {\n media.attach?.(element);\n attachedRef.current = { media, element };\n }\n }, [media, detach]);\n\n // Attach while the refs run so it lands before this commit's effects. A `null` only records the element as gone; the\n // layout effect decides whether it was really removed or is about to be handed back.\n const ref = useCallback<RefCallback<T>>(\n (element) => {\n elementRef.current = element;\n\n if (element) sync();\n },\n [sync]\n );\n\n // Runs after this commit's refs: detaches when the element was removed, and re-attaches after a StrictMode simulated\n // unmount. Unmount itself runs the cleanup before the ref is handed `null`, so that detaches outright.\n useLayoutEffect(sync);\n useLayoutEffect(() => detach, [detach]);\n\n return ref;\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,eAAkC,OAAsC;;CACtF,MAAM,aAAa,OAAiB,IAAI;CACxC,MAAM,cAAc,OAAoD,IAAI;CAEjDA,IAAAA;;EAAM,WAAA;GAC/B,MAAM,WAAW,YAAY;GAE7B,YAAY,UAAU;GACtB,UAAU,MAAM,SAAS;EAC3B;;;CALA,MAAM,SAASC;CAQUC,IAAAA;CAI6C,IAAA,EAAA,OAAA,OAAA;EAJ7C,WAAM;GAC7B,MAAM,UAAU,WAAW;GAC3B,MAAMC,aAAW,YAAY;GAE7B,IAAIA,eAAaA,WAAS,YAAY,WAAWA,WAAS,UAAU,QAAQ,OAAO;GAEnF,IAAI,WAAW,CAAC,YAAY,SAAS;IACnC,MAAM,SAAS,OAAO;IACtB,YAAY,UAAU;KAAE;KAAO;IAAQ;GACzC;EACF;EANsE,EAAA,KAAA;;;CAJtE,MAAM,OAAOC;CAeXC,IAAAA;CAGe,IAAA,EAAA,OAAA,MAAA;EAHf,MAAC,cAAY;GACX,WAAW,UAAUC;GAErB,IAAIA,WAAS,KAAK;EACpB;EADe,EAAA,KAAA;;;CAJjB,MAAM,MAAMC;CAWZ,gBAAgB,IAAI;CACJC,IAAAA;CAAcC,IAAAA;;EAAd,WAAM;EAAQ,KAAA,CAAC,MAAM;;;;;;;CAArC,gBAAgBD,IAAcC,EAAQ;CAEtC,OAAO;AACT"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useLatestRef } from "./use-latest-ref.js";
|
|
2
|
+
import { c } from "react-compiler-runtime";
|
|
2
3
|
import { useEffect, useRef } from "react";
|
|
3
4
|
//#region src/utils/use-destroy.ts
|
|
4
5
|
/**
|
|
@@ -14,21 +15,36 @@ import { useEffect, useRef } from "react";
|
|
|
14
15
|
* unmount.
|
|
15
16
|
*/
|
|
16
17
|
function useDestroy(instance, setup, teardown) {
|
|
18
|
+
const $ = c(6);
|
|
17
19
|
const pendingRef = useRef(null);
|
|
18
20
|
const setupRef = useLatestRef(setup);
|
|
19
21
|
const teardownRef = useLatestRef(teardown);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
pendingRef.current
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
let t0;
|
|
23
|
+
if ($[0] !== instance || $[1] !== setupRef || $[2] !== teardownRef) {
|
|
24
|
+
t0 = () => {
|
|
25
|
+
if (pendingRef.current !== null) {
|
|
26
|
+
clearTimeout(pendingRef.current);
|
|
27
|
+
pendingRef.current = null;
|
|
28
|
+
} else setupRef.current?.();
|
|
29
|
+
return () => {
|
|
30
|
+
pendingRef.current = setTimeout(() => {
|
|
31
|
+
teardownRef.current?.();
|
|
32
|
+
instance.destroy();
|
|
33
|
+
}, 0);
|
|
34
|
+
};
|
|
30
35
|
};
|
|
31
|
-
|
|
36
|
+
$[0] = instance;
|
|
37
|
+
$[1] = setupRef;
|
|
38
|
+
$[2] = teardownRef;
|
|
39
|
+
$[3] = t0;
|
|
40
|
+
} else t0 = $[3];
|
|
41
|
+
let t1;
|
|
42
|
+
if ($[4] !== instance) {
|
|
43
|
+
t1 = [instance];
|
|
44
|
+
$[4] = instance;
|
|
45
|
+
$[5] = t1;
|
|
46
|
+
} else t1 = $[5];
|
|
47
|
+
useEffect(t0, t1);
|
|
32
48
|
}
|
|
33
49
|
//#endregion
|
|
34
50
|
export { useDestroy };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-destroy.js","names":[],"sources":["../../../src/utils/use-destroy.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useLatestRef } from './use-latest-ref';\n\ninterface Destroyable {\n destroy(): void;\n}\n\n/**\n * Destroy an instance on unmount, deferring destruction to survive React StrictMode's simulated unmount/re-mount cycle.\n *\n * StrictMode runs effects, then immediately runs cleanup, then re-runs effects — all synchronously. By deferring\n * `destroy()` to a macrotask, the re-mount effect can cancel it before it fires.\n *\n * @param instance - Object with a `destroy()` method.\n * @param setup - Optional setup called on first mount. Skipped on StrictMode re-mount since the previous setup was\n * never torn down.\n * @param teardown - Optional teardown called right before `destroy()` on real unmount. Skipped on StrictMode simulated\n * unmount.\n */\nexport function useDestroy(instance: Destroyable, setup?: () => void, teardown?: () => void): void {\n const pendingRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const setupRef = useLatestRef(setup);\n const teardownRef = useLatestRef(teardown);\n\n useEffect(() => {\n if (pendingRef.current !== null) {\n clearTimeout(pendingRef.current);\n pendingRef.current = null;\n } else {\n setupRef.current?.();\n }\n\n return () => {\n pendingRef.current = setTimeout(() => {\n teardownRef.current?.();\n instance.destroy();\n }, 0);\n };\n }, [instance]);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-destroy.js","names":["() => {\n if (pendingRef.current !== null) {\n clearTimeout(pendingRef.current);\n pendingRef.current = null;\n } else {\n setupRef.current?.();\n }\n\n return () => {\n pendingRef.current = setTimeout(() => {\n teardownRef.current?.();\n instance.destroy();\n }, 0);\n };\n }","setupRef.current","teardownRef.current","[instance]"],"sources":["../../../src/utils/use-destroy.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useLatestRef } from './use-latest-ref';\n\ninterface Destroyable {\n destroy(): void;\n}\n\n/**\n * Destroy an instance on unmount, deferring destruction to survive React StrictMode's simulated unmount/re-mount cycle.\n *\n * StrictMode runs effects, then immediately runs cleanup, then re-runs effects — all synchronously. By deferring\n * `destroy()` to a macrotask, the re-mount effect can cancel it before it fires.\n *\n * @param instance - Object with a `destroy()` method.\n * @param setup - Optional setup called on first mount. Skipped on StrictMode re-mount since the previous setup was\n * never torn down.\n * @param teardown - Optional teardown called right before `destroy()` on real unmount. Skipped on StrictMode simulated\n * unmount.\n */\nexport function useDestroy(instance: Destroyable, setup?: () => void, teardown?: () => void): void {\n const pendingRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const setupRef = useLatestRef(setup);\n const teardownRef = useLatestRef(teardown);\n\n useEffect(() => {\n if (pendingRef.current !== null) {\n clearTimeout(pendingRef.current);\n pendingRef.current = null;\n } else {\n setupRef.current?.();\n }\n\n return () => {\n pendingRef.current = setTimeout(() => {\n teardownRef.current?.();\n instance.destroy();\n }, 0);\n };\n }, [instance]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAoBA,SAAgB,WAAW,UAAuB,OAAoB,UAA6B;;CACjG,MAAM,aAAa,OAA6C,IAAI;CACpE,MAAM,WAAW,aAAa,KAAK;CACnC,MAAM,cAAc,aAAa,QAAQ;CAE/BA,IAAAA;CAWJ,IAAA,EAAA,OAAA,YAAA,EAAA,OANFC,YAAAA,EAAAA,OAKEC,aAAAA;EAVI,WAAM;GACd,IAAI,WAAW,YAAY,MAAM;IAC/B,aAAa,WAAW,OAAO;IAC/B,WAAW,UAAU;GACvB,OACE,SAAS,UAAU;GAGrB,aAAa;IACX,WAAW,UAAU,iBAAiB;KACpC,YAAY,UAAU;KACtB,SAAS,QAAQ;IACnB,GAAG,CAAC;GACN;EACF;EAHM,EAAA,KAAA;EANFD,EAAAA,KAAAA;EAKEC,EAAAA,KAAAA;;;CAIHC,IAAAA;CAAC,IAAA,EAAA,OAAA,UAAA;EAAD,KAAA,CAAC,QAAQ;EAAR,EAAA,KAAA;;;CAdJ,UAAUH,IAcPG,EAAU;AACf"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { useReducer } from "react";
|
|
2
2
|
//#region src/utils/use-force-render.ts
|
|
3
3
|
function useForceRender() {
|
|
4
|
-
const [, forceRender] = useReducer(
|
|
4
|
+
const [, forceRender] = useReducer(_temp, 0);
|
|
5
5
|
return forceRender;
|
|
6
6
|
}
|
|
7
|
+
function _temp(c) {
|
|
8
|
+
return c + 1;
|
|
9
|
+
}
|
|
7
10
|
//#endregion
|
|
8
11
|
export { useForceRender };
|
|
9
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-force-render.js","names":[],"sources":["../../../src/utils/use-force-render.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nexport function useForceRender() {\n const [, forceRender] = useReducer((c: number) => c + 1, 0);\n\n return forceRender;\n}\n\nexport namespace useForceRender {\n export type Result = () => void;\n}\n"],"mappings":";;AAEA,SAAgB,iBAAiB;CAC/B,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"use-force-render.js","names":["(c: number) => c + 1"],"sources":["../../../src/utils/use-force-render.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nexport function useForceRender() {\n const [, forceRender] = useReducer((c: number) => c + 1, 0);\n\n return forceRender;\n}\n\nexport namespace useForceRender {\n export type Result = () => void;\n}\n"],"mappings":";;AAEA,SAAgB,iBAAiB;CAC/B,MAAM,GAAG,eAAe,WAAWA,OAAsB,CAAC;CAE1D,OAAO;AACT;AAHqC,SAAA,MAAC,GAAA;CAAc,OAAA,IAAI"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { RefCallback } from "react";
|
|
2
|
+
//#region src/utils/use-media-events.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* React event prop names for the standard media events, mapped to the event type each one handles. Mirrors the media
|
|
5
|
+
* subset of React's `DOMAttributes` so a handler written for `<video>` reads the same on an embed.
|
|
6
|
+
*/
|
|
7
|
+
declare const MEDIA_EVENT_PROPS: {
|
|
8
|
+
readonly onAbort: 'abort';
|
|
9
|
+
readonly onCanPlay: 'canplay';
|
|
10
|
+
readonly onCanPlayThrough: 'canplaythrough';
|
|
11
|
+
readonly onDurationChange: 'durationchange';
|
|
12
|
+
readonly onEmptied: 'emptied';
|
|
13
|
+
readonly onEnded: 'ended';
|
|
14
|
+
readonly onError: 'error';
|
|
15
|
+
readonly onLoadedData: 'loadeddata';
|
|
16
|
+
readonly onLoadedMetadata: 'loadedmetadata';
|
|
17
|
+
readonly onLoadStart: 'loadstart';
|
|
18
|
+
readonly onPause: 'pause';
|
|
19
|
+
readonly onPlay: 'play';
|
|
20
|
+
readonly onPlaying: 'playing';
|
|
21
|
+
readonly onProgress: 'progress';
|
|
22
|
+
readonly onRateChange: 'ratechange';
|
|
23
|
+
readonly onSeeked: 'seeked';
|
|
24
|
+
readonly onSeeking: 'seeking';
|
|
25
|
+
readonly onStalled: 'stalled';
|
|
26
|
+
readonly onSuspend: 'suspend';
|
|
27
|
+
readonly onTimeUpdate: 'timeupdate';
|
|
28
|
+
readonly onVolumeChange: 'volumechange';
|
|
29
|
+
readonly onWaiting: 'waiting';
|
|
30
|
+
};
|
|
31
|
+
type MediaEventPropName = keyof typeof MEDIA_EVENT_PROPS;
|
|
32
|
+
/**
|
|
33
|
+
* Handler for a standard media event dispatched by a playback adapter.
|
|
34
|
+
*
|
|
35
|
+
* The event is the plain `Event` the adapter dispatched on itself, so `currentTarget` is the adapter rather than a DOM
|
|
36
|
+
* element; read playback state such as `currentTime` or `paused` from it the way a `<video>` handler would.
|
|
37
|
+
*/
|
|
38
|
+
type MediaEventHandler<Target extends EventTarget = EventTarget> = (event: Event & {
|
|
39
|
+
readonly currentTarget: Target;
|
|
40
|
+
}) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Standard media event props for a media component whose playback engine is not an `HTMLMediaElement`, such as an
|
|
43
|
+
* iframe embed. Named after the React props on `<video>` (`onPlay`, `onTimeUpdate`, …) so handlers port across.
|
|
44
|
+
*/
|
|
45
|
+
type MediaEventProps<Target extends EventTarget = EventTarget> = { [Prop in MediaEventPropName]?: MediaEventHandler<Target> | undefined; };
|
|
46
|
+
/**
|
|
47
|
+
* Route standard media event props to a playback adapter that dispatches media events on itself.
|
|
48
|
+
*
|
|
49
|
+
* React only wires `onPlay`, `onTimeUpdate`, and friends to `<video>` and `<audio>`; on an `<iframe>` they go nowhere.
|
|
50
|
+
* This splits those props out, subscribes them on the adapter, and returns everything else for the rendered element
|
|
51
|
+
* along with a ref for that element. Listeners bind from the ref rather than an effect: adapters dispatch `loadstart`
|
|
52
|
+
* (or `error`) synchronously inside `attach()`, and effects run after every ref has fired, so an effect-bound
|
|
53
|
+
* `onLoadStart` would miss the initial load. Compose the ref ahead of the one that attaches the media so the listeners
|
|
54
|
+
* are in place first. Listeners bind once per adapter and always call the latest handler, so re-renders never
|
|
55
|
+
* resubscribe.
|
|
56
|
+
*
|
|
57
|
+
* @param props - Component props, which may include media event handlers.
|
|
58
|
+
* @param media - Adapter that dispatches the standard media events. Omit it when the rendered element is the media
|
|
59
|
+
* itself, such as a third-party web component; the listeners then bind to whatever the ref receives.
|
|
60
|
+
*/
|
|
61
|
+
declare function useMediaEvents<Props extends Record<string, unknown>>(props: Props, media?: EventTarget | null): useMediaEvents.Result<Props>;
|
|
62
|
+
declare namespace useMediaEvents {
|
|
63
|
+
interface Result<Props> {
|
|
64
|
+
/** Ref for the rendered element; compose it ahead of the ref that attaches the media. */
|
|
65
|
+
ref: RefCallback<EventTarget>;
|
|
66
|
+
/** The props left over once the media event handlers are taken out. */
|
|
67
|
+
props: Omit<Props, MediaEventPropName>;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
export { MediaEventHandler, MediaEventPropName, MediaEventProps, useMediaEvents };
|
|
72
|
+
//# sourceMappingURL=use-media-events.d.ts.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { useLatestRef } from "./use-latest-ref.js";
|
|
2
|
+
import { c } from "react-compiler-runtime";
|
|
3
|
+
import { useRef } from "react";
|
|
4
|
+
import { isFunction } from "@videojs/utils/predicate";
|
|
5
|
+
//#region src/utils/use-media-events.ts
|
|
6
|
+
/**
|
|
7
|
+
* React event prop names for the standard media events, mapped to the event type each one handles. Mirrors the media
|
|
8
|
+
* subset of React's `DOMAttributes` so a handler written for `<video>` reads the same on an embed.
|
|
9
|
+
*/
|
|
10
|
+
const MEDIA_EVENT_PROPS = {
|
|
11
|
+
onAbort: "abort",
|
|
12
|
+
onCanPlay: "canplay",
|
|
13
|
+
onCanPlayThrough: "canplaythrough",
|
|
14
|
+
onDurationChange: "durationchange",
|
|
15
|
+
onEmptied: "emptied",
|
|
16
|
+
onEnded: "ended",
|
|
17
|
+
onError: "error",
|
|
18
|
+
onLoadedData: "loadeddata",
|
|
19
|
+
onLoadedMetadata: "loadedmetadata",
|
|
20
|
+
onLoadStart: "loadstart",
|
|
21
|
+
onPause: "pause",
|
|
22
|
+
onPlay: "play",
|
|
23
|
+
onPlaying: "playing",
|
|
24
|
+
onProgress: "progress",
|
|
25
|
+
onRateChange: "ratechange",
|
|
26
|
+
onSeeked: "seeked",
|
|
27
|
+
onSeeking: "seeking",
|
|
28
|
+
onStalled: "stalled",
|
|
29
|
+
onSuspend: "suspend",
|
|
30
|
+
onTimeUpdate: "timeupdate",
|
|
31
|
+
onVolumeChange: "volumechange",
|
|
32
|
+
onWaiting: "waiting"
|
|
33
|
+
};
|
|
34
|
+
const MEDIA_EVENT_PROP_NAMES = Object.keys(MEDIA_EVENT_PROPS);
|
|
35
|
+
/**
|
|
36
|
+
* Route standard media event props to a playback adapter that dispatches media events on itself.
|
|
37
|
+
*
|
|
38
|
+
* React only wires `onPlay`, `onTimeUpdate`, and friends to `<video>` and `<audio>`; on an `<iframe>` they go nowhere.
|
|
39
|
+
* This splits those props out, subscribes them on the adapter, and returns everything else for the rendered element
|
|
40
|
+
* along with a ref for that element. Listeners bind from the ref rather than an effect: adapters dispatch `loadstart`
|
|
41
|
+
* (or `error`) synchronously inside `attach()`, and effects run after every ref has fired, so an effect-bound
|
|
42
|
+
* `onLoadStart` would miss the initial load. Compose the ref ahead of the one that attaches the media so the listeners
|
|
43
|
+
* are in place first. Listeners bind once per adapter and always call the latest handler, so re-renders never
|
|
44
|
+
* resubscribe.
|
|
45
|
+
*
|
|
46
|
+
* @param props - Component props, which may include media event handlers.
|
|
47
|
+
* @param media - Adapter that dispatches the standard media events. Omit it when the rendered element is the media
|
|
48
|
+
* itself, such as a third-party web component; the listeners then bind to whatever the ref receives.
|
|
49
|
+
*/
|
|
50
|
+
function useMediaEvents(props, media) {
|
|
51
|
+
const $ = c(9);
|
|
52
|
+
let handlers;
|
|
53
|
+
let rest;
|
|
54
|
+
if ($[0] !== props) {
|
|
55
|
+
handlers = {};
|
|
56
|
+
rest = {};
|
|
57
|
+
for (const key in props) if (key in MEDIA_EVENT_PROPS) handlers[key] = props[key];
|
|
58
|
+
else rest[key] = props[key];
|
|
59
|
+
$[0] = props;
|
|
60
|
+
$[1] = handlers;
|
|
61
|
+
$[2] = rest;
|
|
62
|
+
} else {
|
|
63
|
+
handlers = $[1];
|
|
64
|
+
rest = $[2];
|
|
65
|
+
}
|
|
66
|
+
const handlersRef = useLatestRef(handlers);
|
|
67
|
+
const controllerRef = useRef(null);
|
|
68
|
+
let t0;
|
|
69
|
+
if ($[3] !== handlersRef || $[4] !== media) {
|
|
70
|
+
t0 = (element) => {
|
|
71
|
+
controllerRef.current?.abort();
|
|
72
|
+
controllerRef.current = null;
|
|
73
|
+
const target = element && (media ?? element);
|
|
74
|
+
if (!target) return;
|
|
75
|
+
const controller = new AbortController();
|
|
76
|
+
controllerRef.current = controller;
|
|
77
|
+
for (const prop of MEDIA_EVENT_PROP_NAMES) {
|
|
78
|
+
const listener = (event) => {
|
|
79
|
+
const handler = handlersRef.current[prop];
|
|
80
|
+
if (isFunction(handler)) handler(event);
|
|
81
|
+
};
|
|
82
|
+
target.addEventListener(MEDIA_EVENT_PROPS[prop], listener, { signal: controller.signal });
|
|
83
|
+
}
|
|
84
|
+
return () => controller.abort();
|
|
85
|
+
};
|
|
86
|
+
$[3] = handlersRef;
|
|
87
|
+
$[4] = media;
|
|
88
|
+
$[5] = t0;
|
|
89
|
+
} else t0 = $[5];
|
|
90
|
+
const ref = t0;
|
|
91
|
+
const t1 = rest;
|
|
92
|
+
let t2;
|
|
93
|
+
if ($[6] !== ref || $[7] !== t1) {
|
|
94
|
+
t2 = {
|
|
95
|
+
ref,
|
|
96
|
+
props: t1
|
|
97
|
+
};
|
|
98
|
+
$[6] = ref;
|
|
99
|
+
$[7] = t1;
|
|
100
|
+
$[8] = t2;
|
|
101
|
+
} else t2 = $[8];
|
|
102
|
+
return t2;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
export { useMediaEvents };
|
|
106
|
+
|
|
107
|
+
//# sourceMappingURL=use-media-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-media-events.js","names":["(element) => {\n controllerRef.current?.abort();\n controllerRef.current = null;\n\n const target = element && (media ?? element);\n if (!target) return;\n\n const controller = new AbortController();\n\n controllerRef.current = controller;\n\n for (const prop of MEDIA_EVENT_PROP_NAMES) {\n const listener = (event: Event) => {\n const handler = handlersRef.current[prop];\n\n if (isFunction(handler)) handler(event);\n };\n\n target.addEventListener(MEDIA_EVENT_PROPS[prop], listener, { signal: controller.signal });\n }\n\n return () => controller.abort();\n }","handlersRef.current","useCallback<RefCallback<EventTarget>>(\n (element) => {\n controllerRef.current?.abort();\n controllerRef.current = null;\n\n const target = element && (media ?? element);\n if (!target) return;\n\n const controller = new AbortController();\n\n controllerRef.current = controller;\n\n for (const prop of MEDIA_EVENT_PROP_NAMES) {\n const listener = (event: Event) => {\n const handler = handlersRef.current[prop];\n\n if (isFunction(handler)) handler(event);\n };\n\n target.addEventListener(MEDIA_EVENT_PROPS[prop], listener, { signal: controller.signal });\n }\n\n return () => controller.abort();\n },\n [media, handlersRef]\n )","{ ref, props: rest as Omit<Props, MediaEventPropName> }","rest as Omit<Props, MediaEventPropName>"],"sources":["../../../src/utils/use-media-events.ts"],"sourcesContent":["import { isFunction } from '@videojs/utils/predicate';\nimport { type RefCallback, useCallback, useRef } from 'react';\n\nimport { useLatestRef } from './use-latest-ref';\n\n/**\n * React event prop names for the standard media events, mapped to the event type each one handles. Mirrors the media\n * subset of React's `DOMAttributes` so a handler written for `<video>` reads the same on an embed.\n */\nconst MEDIA_EVENT_PROPS = {\n onAbort: 'abort',\n onCanPlay: 'canplay',\n onCanPlayThrough: 'canplaythrough',\n onDurationChange: 'durationchange',\n onEmptied: 'emptied',\n onEnded: 'ended',\n onError: 'error',\n onLoadedData: 'loadeddata',\n onLoadedMetadata: 'loadedmetadata',\n onLoadStart: 'loadstart',\n onPause: 'pause',\n onPlay: 'play',\n onPlaying: 'playing',\n onProgress: 'progress',\n onRateChange: 'ratechange',\n onSeeked: 'seeked',\n onSeeking: 'seeking',\n onStalled: 'stalled',\n onSuspend: 'suspend',\n onTimeUpdate: 'timeupdate',\n onVolumeChange: 'volumechange',\n onWaiting: 'waiting',\n} as const;\n\nexport type MediaEventPropName = keyof typeof MEDIA_EVENT_PROPS;\n\nconst MEDIA_EVENT_PROP_NAMES = Object.keys(MEDIA_EVENT_PROPS) as MediaEventPropName[];\n\n/**\n * Handler for a standard media event dispatched by a playback adapter.\n *\n * The event is the plain `Event` the adapter dispatched on itself, so `currentTarget` is the adapter rather than a DOM\n * element; read playback state such as `currentTime` or `paused` from it the way a `<video>` handler would.\n */\nexport type MediaEventHandler<Target extends EventTarget = EventTarget> = (\n event: Event & { readonly currentTarget: Target }\n) => void;\n\n/**\n * Standard media event props for a media component whose playback engine is not an `HTMLMediaElement`, such as an\n * iframe embed. Named after the React props on `<video>` (`onPlay`, `onTimeUpdate`, …) so handlers port across.\n */\nexport type MediaEventProps<Target extends EventTarget = EventTarget> = {\n [Prop in MediaEventPropName]?: MediaEventHandler<Target> | undefined;\n};\n\n/**\n * Route standard media event props to a playback adapter that dispatches media events on itself.\n *\n * React only wires `onPlay`, `onTimeUpdate`, and friends to `<video>` and `<audio>`; on an `<iframe>` they go nowhere.\n * This splits those props out, subscribes them on the adapter, and returns everything else for the rendered element\n * along with a ref for that element. Listeners bind from the ref rather than an effect: adapters dispatch `loadstart`\n * (or `error`) synchronously inside `attach()`, and effects run after every ref has fired, so an effect-bound\n * `onLoadStart` would miss the initial load. Compose the ref ahead of the one that attaches the media so the listeners\n * are in place first. Listeners bind once per adapter and always call the latest handler, so re-renders never\n * resubscribe.\n *\n * @param props - Component props, which may include media event handlers.\n * @param media - Adapter that dispatches the standard media events. Omit it when the rendered element is the media\n * itself, such as a third-party web component; the listeners then bind to whatever the ref receives.\n */\nexport function useMediaEvents<Props extends Record<string, unknown>>(\n props: Props,\n media?: EventTarget | null\n): useMediaEvents.Result<Props> {\n const handlers: Partial<Record<MediaEventPropName, unknown>> = {};\n const rest: Record<string, unknown> = {};\n\n for (const key in props) {\n if (key in MEDIA_EVENT_PROPS) handlers[key as MediaEventPropName] = props[key];\n else rest[key] = props[key];\n }\n\n const handlersRef = useLatestRef(handlers);\n // React 18 signals detach by calling the ref with `null` and ignores the returned cleanup, so the controller is kept\n // where that call can reach it.\n const controllerRef = useRef<AbortController | null>(null);\n\n const ref = useCallback<RefCallback<EventTarget>>(\n (element) => {\n controllerRef.current?.abort();\n controllerRef.current = null;\n\n const target = element && (media ?? element);\n if (!target) return;\n\n const controller = new AbortController();\n\n controllerRef.current = controller;\n\n for (const prop of MEDIA_EVENT_PROP_NAMES) {\n const listener = (event: Event) => {\n const handler = handlersRef.current[prop];\n\n if (isFunction(handler)) handler(event);\n };\n\n target.addEventListener(MEDIA_EVENT_PROPS[prop], listener, { signal: controller.signal });\n }\n\n return () => controller.abort();\n },\n [media, handlersRef]\n );\n\n return { ref, props: rest as Omit<Props, MediaEventPropName> };\n}\n\nexport namespace useMediaEvents {\n export interface Result<Props> {\n /** Ref for the rendered element; compose it ahead of the ref that attaches the media. */\n ref: RefCallback<EventTarget>;\n /** The props left over once the media event handlers are taken out. */\n props: Omit<Props, MediaEventPropName>;\n }\n}\n"],"mappings":";;;;;;;;;AASA,MAAM,oBAAoB;CACxB,SAAS;CACT,WAAW;CACX,kBAAkB;CAClB,kBAAkB;CAClB,WAAW;CACX,SAAS;CACT,SAAS;CACT,cAAc;CACd,kBAAkB;CAClB,aAAa;CACb,SAAS;CACT,QAAQ;CACR,WAAW;CACX,YAAY;CACZ,cAAc;CACd,UAAU;CACV,WAAW;CACX,WAAW;CACX,WAAW;CACX,cAAc;CACd,gBAAgB;CAChB,WAAW;AACb;AAIA,MAAM,yBAAyB,OAAO,KAAK,iBAAiB;;;;;;;;;;;;;;;;AAmC5D,SAAgB,eACd,OACA,OAC8B;;CACxB,IAAA;CACA,IAAA;CAEY,IAAA,EAAA,OAAA,OAAA;EAHlB,WAA+D,CAAC;EAChE,OAAsC,CAAC;EAEvC,KAAK,MAAM,OAAO,OAChB,IAAI,OAAO,mBAAmB,SAAS,OAA6B,MAAM;OACrE,KAAK,OAAO,MAAM;EAFP,EAAA,KAAA;;;;;;;CAKlB,MAAM,cAAc,aAAa,QAAQ;CAGzC,MAAM,gBAAgB,OAA+B,IAAI;CAGvDA,IAAAA;CAasBC,IAAAA,EAAAA,OAAAA,eAAAA,EAAAA,OATO,OAAA;EAJ7B,MAAC,YAAY;GACX,cAAc,SAAS,MAAM;GAC7B,cAAc,UAAU;GAExB,MAAM,SAAS,YAAY,SAAS;GACpC,IAAI,CAAC,QAAQ;GAEb,MAAM,aAAa,IAAI,gBAAgB;GAEvC,cAAc,UAAU;GAExB,KAAK,MAAM,QAAQ,wBAAwB;IACzC,MAAM,YAAY,UAAiB;KACjC,MAAM,UAAU,YAAY,QAAQ;KAEpC,IAAI,WAAW,OAAO,GAAG,QAAQ,KAAK;IACxC;IAEA,OAAO,iBAAiB,kBAAkB,OAAO,UAAU,EAAE,QAAQ,WAAW,OAAO,CAAC;GAC1F;GAEA,aAAa,WAAW,MAAM;EAChC;EATsBA,EAAAA,KAAAA;EATO,EAAA,KAAA;;;CAL/B,MAAM,MAAMC;CA2BS,MAAA,KAAA;CAAdC,IAAAA;CAAE,IAAA,EAAA,OAAA,OAAA,EAAA,OAAYC,IAAAA;EAAd,KAAA;GAAE;GAAK,OAAOA;EAAwC;EAApD,EAAA,KAAA;EAAYA,EAAAA,KAAAA;;;CAArB,OAAOD;AACT"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useMedia } from "../player/context.js";
|
|
2
2
|
import { useDestroy } from "./use-destroy.js";
|
|
3
3
|
import { HTMLMediaAdapter, addMediaExtension } from "@videojs/media/dom";
|
|
4
|
+
import { c } from "react-compiler-runtime";
|
|
4
5
|
import { useEffect, useState } from "react";
|
|
5
6
|
//#region src/utils/use-media-extension.ts
|
|
6
7
|
/**
|
|
@@ -13,13 +14,33 @@ import { useEffect, useState } from "react";
|
|
|
13
14
|
* @param ExtensionClass - Media extension class to instantiate and register.
|
|
14
15
|
*/
|
|
15
16
|
function useMediaExtension(ExtensionClass) {
|
|
17
|
+
const $ = c(6);
|
|
16
18
|
const media = useMedia();
|
|
17
|
-
|
|
19
|
+
let t0;
|
|
20
|
+
if ($[0] !== ExtensionClass) {
|
|
21
|
+
t0 = () => new ExtensionClass();
|
|
22
|
+
$[0] = ExtensionClass;
|
|
23
|
+
$[1] = t0;
|
|
24
|
+
} else t0 = $[1];
|
|
25
|
+
const [component] = useState(t0);
|
|
18
26
|
useDestroy(component);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
let t1;
|
|
28
|
+
let t2;
|
|
29
|
+
if ($[2] !== component || $[3] !== media) {
|
|
30
|
+
t1 = () => {
|
|
31
|
+
if (!(media instanceof HTMLMediaAdapter)) return;
|
|
32
|
+
return addMediaExtension(media, component);
|
|
33
|
+
};
|
|
34
|
+
t2 = [media, component];
|
|
35
|
+
$[2] = component;
|
|
36
|
+
$[3] = media;
|
|
37
|
+
$[4] = t1;
|
|
38
|
+
$[5] = t2;
|
|
39
|
+
} else {
|
|
40
|
+
t1 = $[4];
|
|
41
|
+
t2 = $[5];
|
|
42
|
+
}
|
|
43
|
+
useEffect(t1, t2);
|
|
23
44
|
return component;
|
|
24
45
|
}
|
|
25
46
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-media-extension.js","names":[],"sources":["../../../src/utils/use-media-extension.ts"],"sourcesContent":["import { addMediaExtension, HTMLMediaAdapter, type HTMLMediaTargetLike, type MediaExtension } from '@videojs/media/dom';\nimport { useEffect, useState } from 'react';\n\nimport { useMedia } from '../player/context';\nimport { useDestroy } from './use-destroy';\n\n/**\n * Create a media extension and register it with the media provided by the surrounding player context.\n *\n * Instantiates the extension class once, registers it when a media adapter is available, follows the media when it\n * changes, and destroys the extension on unmount. Media that is not a media adapter (e.g. a plain `<video>` element)\n * cannot carry media extensions and is ignored.\n *\n * @param ExtensionClass - Media extension class to instantiate and register.\n */\nexport function useMediaExtension<Component extends MediaExtension & { destroy(): void }>(\n ExtensionClass: new () => Component\n): Component {\n const media = useMedia();\n const [component] = useState(() => new ExtensionClass());\n\n useDestroy(component);\n\n useEffect(() => {\n if (!(media instanceof HTMLMediaAdapter)) return;\n\n return addMediaExtension(media as HTMLMediaAdapter<HTMLMediaTargetLike, any>, component);\n }, [media, component]);\n\n return component;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-media-extension.js","names":["() => new ExtensionClass()","() => {\n if (!(media instanceof HTMLMediaAdapter)) return;\n\n return addMediaExtension(media as HTMLMediaAdapter<HTMLMediaTargetLike, any>, component);\n }","[media, component]"],"sources":["../../../src/utils/use-media-extension.ts"],"sourcesContent":["import { addMediaExtension, HTMLMediaAdapter, type HTMLMediaTargetLike, type MediaExtension } from '@videojs/media/dom';\nimport { useEffect, useState } from 'react';\n\nimport { useMedia } from '../player/context';\nimport { useDestroy } from './use-destroy';\n\n/**\n * Create a media extension and register it with the media provided by the surrounding player context.\n *\n * Instantiates the extension class once, registers it when a media adapter is available, follows the media when it\n * changes, and destroys the extension on unmount. Media that is not a media adapter (e.g. a plain `<video>` element)\n * cannot carry media extensions and is ignored.\n *\n * @param ExtensionClass - Media extension class to instantiate and register.\n */\nexport function useMediaExtension<Component extends MediaExtension & { destroy(): void }>(\n ExtensionClass: new () => Component\n): Component {\n const media = useMedia();\n const [component] = useState(() => new ExtensionClass());\n\n useDestroy(component);\n\n useEffect(() => {\n if (!(media instanceof HTMLMediaAdapter)) return;\n\n return addMediaExtension(media as HTMLMediaAdapter<HTMLMediaTargetLike, any>, component);\n }, [media, component]);\n\n return component;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,SAAgB,kBACd,gBACW;;CACX,MAAM,QAAQ,SAAS;CACMA,IAAAA;CAAU,IAAA,EAAA,OAAA,gBAAA;EAAV,WAAM,IAAI,eAAe;EAAf,EAAA,KAAA;;;CAAvC,MAAM,CAAC,aAAa,SAASA,EAA0B;CAEvD,WAAW,SAAS;CAEVC,IAAAA;CAIPC,IAAAA;CAD6E,IAAA,EAAA,OAAA,aAAA,EAAA,OAFxE,OAAA;EADE,WAAM;GACd,IAAI,EAAE,iBAAiB,mBAAmB;GAE1C,OAAO,kBAAkB,OAAqD,SAAS;EACzF;EAAG,KAAA,CAAC,OAAO,SAAS;EAD4D,EAAA,KAAA;EAFxE,EAAA,KAAA;;;;;;;CADR,UAAUD,IAIPC,EAAkB;CAErB,OAAO;AACT"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useMediaAttach } from "../player/context.js";
|
|
2
2
|
import { useDestroy } from "./use-destroy.js";
|
|
3
|
+
import { c } from "react-compiler-runtime";
|
|
3
4
|
import { useState } from "react";
|
|
4
5
|
//#region src/utils/use-media-instance.ts
|
|
5
6
|
/**
|
|
@@ -16,12 +17,34 @@ import { useState } from "react";
|
|
|
16
17
|
* @param setup - Optional callback run once before the instance is attached.
|
|
17
18
|
*/
|
|
18
19
|
function useMediaInstance(MediaClass, setup) {
|
|
19
|
-
const
|
|
20
|
+
const $ = c(9);
|
|
21
|
+
let t0;
|
|
22
|
+
if ($[0] !== MediaClass) {
|
|
23
|
+
t0 = () => new MediaClass();
|
|
24
|
+
$[0] = MediaClass;
|
|
25
|
+
$[1] = t0;
|
|
26
|
+
} else t0 = $[1];
|
|
27
|
+
const [instance] = useState(t0);
|
|
20
28
|
const setMedia = useMediaAttach();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
let t1;
|
|
30
|
+
if ($[2] !== instance || $[3] !== setMedia || $[4] !== setup) {
|
|
31
|
+
t1 = () => {
|
|
32
|
+
setup?.(instance);
|
|
33
|
+
setMedia?.(instance);
|
|
34
|
+
};
|
|
35
|
+
$[2] = instance;
|
|
36
|
+
$[3] = setMedia;
|
|
37
|
+
$[4] = setup;
|
|
38
|
+
$[5] = t1;
|
|
39
|
+
} else t1 = $[5];
|
|
40
|
+
let t2;
|
|
41
|
+
if ($[6] !== instance || $[7] !== setMedia) {
|
|
42
|
+
t2 = () => setMedia?.((prev) => prev === instance ? null : prev);
|
|
43
|
+
$[6] = instance;
|
|
44
|
+
$[7] = setMedia;
|
|
45
|
+
$[8] = t2;
|
|
46
|
+
} else t2 = $[8];
|
|
47
|
+
useDestroy(instance, t1, t2);
|
|
25
48
|
return instance;
|
|
26
49
|
}
|
|
27
50
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-media-instance.js","names":[],"sources":["../../../src/utils/use-media-instance.ts"],"sourcesContent":["import type { Media } from '@videojs/media';\nimport { useState } from 'react';\n\nimport { useMediaAttach } from '../player/context';\nimport { useDestroy } from './use-destroy';\n\n/**\n * Create and manage a media instance lifecycle within a player context.\n *\n * Instantiates the media class once, attaches it to the player on mount, and safely detaches on unmount using a\n * functional updater to avoid race conditions when swapping media components (e.g. DashVideo → HlsJsVideo).\n *\n * An optional `setup` callback runs once on mount — e.g. to add media components via `addMediaExtension`. Components\n * registered there are destroyed together with the media instance on unmount (`media.destroy()` destroys all of its\n * registered components).\n *\n * @param MediaClass - Media class to instantiate and attach to the current player.\n * @param setup - Optional callback run once before the instance is attached.\n */\nexport function useMediaInstance<Instance extends Media & { destroy(): void }>(\n MediaClass: new () => Instance,\n setup?: (media: Instance) => void\n): Instance {\n const [instance] = useState(() => new MediaClass());\n const setMedia = useMediaAttach();\n\n useDestroy(\n instance,\n () => {\n setup?.(instance);\n setMedia?.(instance);\n },\n () => setMedia?.((prev) => (prev === instance ? null : prev))\n );\n\n return instance;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-media-instance.js","names":["() => new MediaClass()","() => {\n setup?.(instance);\n setMedia?.(instance);\n }","() => setMedia?.((prev) => (prev === instance ? null : prev))"],"sources":["../../../src/utils/use-media-instance.ts"],"sourcesContent":["import type { Media } from '@videojs/media';\nimport { useState } from 'react';\n\nimport { useMediaAttach } from '../player/context';\nimport { useDestroy } from './use-destroy';\n\n/**\n * Create and manage a media instance lifecycle within a player context.\n *\n * Instantiates the media class once, attaches it to the player on mount, and safely detaches on unmount using a\n * functional updater to avoid race conditions when swapping media components (e.g. DashVideo → HlsJsVideo).\n *\n * An optional `setup` callback runs once on mount — e.g. to add media components via `addMediaExtension`. Components\n * registered there are destroyed together with the media instance on unmount (`media.destroy()` destroys all of its\n * registered components).\n *\n * @param MediaClass - Media class to instantiate and attach to the current player.\n * @param setup - Optional callback run once before the instance is attached.\n */\nexport function useMediaInstance<Instance extends Media & { destroy(): void }>(\n MediaClass: new () => Instance,\n setup?: (media: Instance) => void\n): Instance {\n const [instance] = useState(() => new MediaClass());\n const setMedia = useMediaAttach();\n\n useDestroy(\n instance,\n () => {\n setup?.(instance);\n setMedia?.(instance);\n },\n () => setMedia?.((prev) => (prev === instance ? null : prev))\n );\n\n return instance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,SAAgB,iBACd,YACA,OACU;;CACkBA,IAAAA;CAAU,IAAA,EAAA,OAAA,YAAA;EAAV,WAAM,IAAI,WAAW;EAAX,EAAA,KAAA;;;CAAtC,MAAM,CAAC,YAAY,SAASA,EAAsB;CAClD,MAAM,WAAW,eAAe;CAI9BC,IAAAA;CACU,IAAA,EAAA,OAAA,YAAA,EAAA,OACR,YAAA,EAAA,OADA,OAAA;EADF,WAAM;GACJ,QAAQ,QAAQ;GAChB,WAAW,QAAQ;EACrB;EAFU,EAAA,KAAA;EACR,EAAA,KAAA;EADA,EAAA,KAAA;;;CAGFC,IAAAA;CAAqC,IAAA,EAAA,OAAA,YAAA,EAAA,OAA/B,UAAA;EAAN,WAAM,YAAY,SAAU,SAAS,WAAW,OAAO,IAAK;EAAvB,EAAA,KAAA;EAA/B,EAAA,KAAA;;;CANR,WACE,UACAD,IAIAC,EACF;CAEA,OAAO;AACT"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { composeRefs } from "./use-composed-refs.js";
|
|
2
2
|
import { mergeProps } from "./merge-props.js";
|
|
3
3
|
import { getStateDataAttrs } from "@videojs/core/dom";
|
|
4
|
-
import { cloneElement, createElement, isValidElement } from "react";
|
|
5
|
-
import { isFunction } from "@videojs/utils/predicate";
|
|
4
|
+
import { cloneElement, createElement, forwardRef, isValidElement, memo, version } from "react";
|
|
5
|
+
import { isFunction, isObject } from "@videojs/utils/predicate";
|
|
6
6
|
import { resolveClassName } from "@videojs/utils/style";
|
|
7
7
|
//#region src/utils/use-render.tsx
|
|
8
8
|
function resolveStyle(style, state) {
|
|
@@ -12,6 +12,51 @@ function getElementRef(element) {
|
|
|
12
12
|
const elementAny = element;
|
|
13
13
|
return elementAny.ref ?? elementAny.props?.ref;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* React 19 passes `ref` to function components as a prop. React 18 and Preact compat only deliver it through
|
|
17
|
+
* `forwardRef`, so a plain function used as a render target needs wrapping there.
|
|
18
|
+
*/
|
|
19
|
+
const REF_AS_PROP = Number.parseInt(version, 10) >= 19;
|
|
20
|
+
const REACT_MEMO_TYPE = Symbol.for("react.memo");
|
|
21
|
+
/** Original component, or memo wrapper, to the ref-forwarding component created for it. */
|
|
22
|
+
const refForwardingCache = /* @__PURE__ */ new WeakMap();
|
|
23
|
+
function isPlainFunctionComponent(type) {
|
|
24
|
+
if (!isFunction(type) || "$$typeof" in type) return false;
|
|
25
|
+
const prototype = type.prototype;
|
|
26
|
+
return !(isObject(prototype) && "isReactComponent" in prototype);
|
|
27
|
+
}
|
|
28
|
+
function isMemoComponent(type) {
|
|
29
|
+
return isObject(type) && "$$typeof" in type && type.$$typeof === REACT_MEMO_TYPE;
|
|
30
|
+
}
|
|
31
|
+
/** Wrap a plain function component in `forwardRef` so it receives `ref` inside its props, as it would on React 19. */
|
|
32
|
+
function withForwardedRef(component) {
|
|
33
|
+
const cached = refForwardingCache.get(component);
|
|
34
|
+
if (cached) return cached;
|
|
35
|
+
const ForwardedComponent = forwardRef((props, ref) => {
|
|
36
|
+
return component({
|
|
37
|
+
...props,
|
|
38
|
+
ref
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
ForwardedComponent.displayName = component.displayName ?? component.name;
|
|
42
|
+
refForwardingCache.set(component, ForwardedComponent);
|
|
43
|
+
return ForwardedComponent;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Resolve the type to create a render element with so the host's composed ref reaches it. Intrinsic tags, classes, and
|
|
47
|
+
* `forwardRef` components already accept refs. Plain function components, bare or wrapped in `memo`, only do on
|
|
48
|
+
* renderers with ref-as-prop and are wrapped otherwise.
|
|
49
|
+
*/
|
|
50
|
+
function ensureRefForwarding(type) {
|
|
51
|
+
if (REF_AS_PROP) return type;
|
|
52
|
+
if (isPlainFunctionComponent(type)) return withForwardedRef(type);
|
|
53
|
+
if (!isMemoComponent(type) || !isPlainFunctionComponent(type.type)) return type;
|
|
54
|
+
const cached = refForwardingCache.get(type);
|
|
55
|
+
if (cached) return cached;
|
|
56
|
+
const forwarded = memo(withForwardedRef(type.type), type.compare);
|
|
57
|
+
refForwardingCache.set(type, forwarded);
|
|
58
|
+
return forwarded;
|
|
59
|
+
}
|
|
15
60
|
function mergeRefs(...refs) {
|
|
16
61
|
const flatRefs = refs.flat().filter((ref) => ref !== null && ref !== void 0);
|
|
17
62
|
if (flatRefs.length === 0) return void 0;
|
|
@@ -59,7 +104,10 @@ function renderElement(element, componentProps, params) {
|
|
|
59
104
|
const mergedRef = mergeRefs(ref, mergedProps.ref, elementRef);
|
|
60
105
|
const elementProps = mergeProps(mergedProps, render.props);
|
|
61
106
|
elementProps.ref = mergedRef;
|
|
62
|
-
|
|
107
|
+
const type = ensureRefForwarding(render.type);
|
|
108
|
+
if (type === render.type) return cloneElement(render, elementProps);
|
|
109
|
+
if (render.key != null) elementProps.key = render.key;
|
|
110
|
+
return createElement(type, elementProps);
|
|
63
111
|
}
|
|
64
112
|
mergedProps.ref = mergeRefs(ref, mergedProps.ref);
|
|
65
113
|
return createElement(element, mergedProps);
|