@videojs/react 10.0.0-beta.23 → 10.0.0-beta.25
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 +6 -0
- package/dist/default/icons/dist/react/default/airplay-enter.js +16 -0
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js +28 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -0
- package/dist/default/icons/dist/react/default/captions-off.js +6 -0
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-on.js +3 -5
- package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-enter.js +38 -11
- package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-exit.js +55 -14
- package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/check.js +22 -0
- package/dist/default/icons/dist/react/default/check.js.map +1 -0
- package/dist/default/icons/dist/react/default/chevron.js +21 -0
- package/dist/default/icons/dist/react/default/chevron.js.map +1 -0
- package/dist/default/icons/dist/react/default/fullscreen-enter.js +3 -5
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js +3 -5
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/gear.js +16 -0
- package/dist/default/icons/dist/react/default/gear.js.map +1 -0
- package/dist/default/icons/dist/react/default/pause.js +2 -3
- package/dist/default/icons/dist/react/default/pause.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-enter.js +4 -10
- package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-exit.js +4 -10
- package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/play.js +3 -5
- package/dist/default/icons/dist/react/default/play.js.map +1 -1
- package/dist/default/icons/dist/react/default/quality.js +16 -0
- package/dist/default/icons/dist/react/default/quality.js.map +1 -0
- package/dist/default/icons/dist/react/default/restart.js +3 -8
- package/dist/default/icons/dist/react/default/restart.js.map +1 -1
- package/dist/default/icons/dist/react/default/seek.js +3 -5
- package/dist/default/icons/dist/react/default/seek.js.map +1 -1
- package/dist/default/icons/dist/react/default/speech.js +19 -0
- package/dist/default/icons/dist/react/default/speech.js.map +1 -0
- package/dist/default/icons/dist/react/default/speed.js +52 -0
- package/dist/default/icons/dist/react/default/speed.js.map +1 -0
- package/dist/default/icons/dist/react/default/spinner.js +38 -117
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/switches.js +19 -0
- package/dist/default/icons/dist/react/default/switches.js.map +1 -0
- package/dist/default/icons/dist/react/default/volume-high.js +3 -8
- package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-low.js +3 -5
- package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-off.js +3 -5
- package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-enter.js +16 -0
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +28 -0
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/captions-off.js +6 -0
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js +3 -5
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js +38 -7
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-exit.js +56 -11
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/check.js +22 -0
- package/dist/default/icons/dist/react/minimal/check.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/chevron.js +21 -0
- package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -13
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -13
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/gear.js +16 -0
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/pause.js +2 -3
- package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -14
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -14
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/play.js +3 -5
- package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/quality.js +16 -0
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/restart.js +3 -8
- package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/seek.js +3 -5
- package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speech.js +54 -0
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/speed.js +52 -0
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/spinner.js +38 -117
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/switches.js +19 -0
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/volume-high.js +3 -8
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js +3 -5
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js +3 -5
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/default/icons/index.js +26 -0
- package/dist/default/icons/minimal/index.js +26 -0
- package/dist/default/index.js +25 -12
- package/dist/default/media/dash-video/index.js +5 -1
- package/dist/default/media/dash-video/index.js.map +1 -1
- package/dist/default/media/{hls-video → hlsjs-video}/index.js +9 -5
- package/dist/default/media/hlsjs-video/index.js.map +1 -0
- package/dist/default/media/mux-audio/index.js +9 -3
- package/dist/default/media/mux-audio/index.js.map +1 -1
- package/dist/default/media/mux-video/index.js +9 -3
- package/dist/default/media/mux-video/index.js.map +1 -1
- package/dist/default/media/native-hls-video/index.js +5 -1
- package/dist/default/media/native-hls-video/index.js.map +1 -1
- package/dist/default/media/simple-hls-audio-only/index.js +22 -0
- package/dist/default/media/simple-hls-audio-only/index.js.map +1 -0
- package/dist/default/media/simple-hls-video/index.js +2 -2
- package/dist/default/media/simple-hls-video/index.js.map +1 -1
- package/dist/default/media/vimeo-video/index.js +37 -0
- package/dist/default/media/vimeo-video/index.js.map +1 -0
- package/dist/default/player/context.js +9 -1
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +17 -5
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +569 -114
- package/dist/default/presets/audio/minimal-skin.js +163 -33
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +98 -35
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +550 -116
- package/dist/default/presets/audio/skin.js +99 -34
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +173 -42
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/index.js +2 -2
- package/dist/default/presets/live-audio/minimal-skin.css +569 -114
- package/dist/default/presets/live-audio/minimal-skin.js +56 -14
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +57 -16
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +550 -116
- package/dist/default/presets/live-audio/skin.js +39 -16
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +61 -19
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +949 -178
- package/dist/default/presets/live-video/minimal-skin.js +205 -16
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +208 -17
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +926 -182
- package/dist/default/presets/live-video/skin.js +150 -19
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +295 -24
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +949 -178
- package/dist/default/presets/video/minimal-skin.js +450 -40
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +455 -43
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +926 -182
- package/dist/default/presets/video/skin.js +346 -49
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +454 -51
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +11 -5
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js +6 -0
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -4
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -2
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +34 -0
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -3
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +7 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/reset.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +5 -3
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +35 -13
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +17 -5
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +3 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +33 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +5 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +30 -11
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +17 -2
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/tailwind.css +42 -0
- package/dist/default/ui/airplay-button/airplay-button.js +17 -0
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -0
- package/dist/default/ui/airplay-button/index.js +2 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +1 -1
- package/dist/default/ui/audio-track/index.js +2 -0
- package/dist/default/ui/audio-track/use-audio-track-options.js +31 -0
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -0
- package/dist/default/ui/captions-radio-group/index.js +2 -0
- package/dist/default/ui/captions-radio-group/use-captions-options.js +37 -0
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -0
- package/dist/default/ui/controls/context.js +4 -1
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/create-media-button.js +23 -10
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-description.js +1 -1
- package/dist/default/ui/gesture/gesture.js +2 -1
- package/dist/default/ui/gesture/gesture.js.map +1 -1
- package/dist/default/ui/gesture/index.js +2 -0
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hotkey/hotkey.js +1 -0
- package/dist/default/ui/hotkey/hotkey.js.map +1 -1
- package/dist/default/ui/hotkey/index.js +2 -0
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js +28 -0
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
- package/dist/default/ui/hotkey/use-hotkey.js +1 -2
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicators/use-indicator-visibility.js +25 -0
- package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -0
- package/dist/default/ui/input-indicators/use-input-action-subscription.js +22 -0
- package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -0
- package/dist/default/ui/input-indicators/use-input-indicator-root.js +21 -0
- package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -0
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +43 -0
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
- package/dist/default/ui/live-button/index.js +2 -0
- package/dist/default/ui/live-button/live-button.js +89 -0
- package/dist/default/ui/live-button/live-button.js.map +1 -0
- package/dist/default/ui/menu/context.js +44 -0
- package/dist/default/ui/menu/context.js.map +1 -0
- package/dist/default/ui/menu/index.js +3 -0
- package/dist/default/ui/menu/index.parts.js +36 -0
- package/dist/default/ui/menu/index.parts.js.map +1 -0
- package/dist/default/ui/menu/menu-back.js +30 -0
- package/dist/default/ui/menu/menu-back.js.map +1 -0
- package/dist/default/ui/menu/menu-checkbox-item.js +49 -0
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -0
- package/dist/default/ui/menu/menu-content.js +302 -0
- package/dist/default/ui/menu/menu-content.js.map +1 -0
- package/dist/default/ui/menu/menu-group-label.js +29 -0
- package/dist/default/ui/menu/menu-group-label.js.map +1 -0
- package/dist/default/ui/menu/menu-group.js +24 -0
- package/dist/default/ui/menu/menu-group.js.map +1 -0
- package/dist/default/ui/menu/menu-item-indicator.js +23 -0
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -0
- package/dist/default/ui/menu/menu-item-setting-provider.js +72 -0
- package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -0
- package/dist/default/ui/menu/menu-item-value.js +28 -0
- package/dist/default/ui/menu/menu-item-value.js.map +1 -0
- package/dist/default/ui/menu/menu-item.js +74 -0
- package/dist/default/ui/menu/menu-item.js.map +1 -0
- package/dist/default/ui/menu/menu-radio-group.js +30 -0
- package/dist/default/ui/menu/menu-radio-group.js.map +1 -0
- package/dist/default/ui/menu/menu-radio-item.js +56 -0
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -0
- package/dist/default/ui/menu/menu-root.js +136 -0
- package/dist/default/ui/menu/menu-root.js.map +1 -0
- package/dist/default/ui/menu/menu-separator.js +22 -0
- package/dist/default/ui/menu/menu-separator.js.map +1 -0
- package/dist/default/ui/menu/menu-trigger.js +180 -0
- package/dist/default/ui/menu/menu-trigger.js.map +1 -0
- package/dist/default/ui/menu/menu-view.js +23 -0
- package/dist/default/ui/menu/menu-view.js.map +1 -0
- package/dist/default/ui/menu/use-menu-group.js +31 -0
- package/dist/default/ui/menu/use-menu-group.js.map +1 -0
- package/dist/default/ui/playback-rate/index.js +2 -0
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +34 -0
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -0
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/popover/context.js.map +1 -1
- package/dist/default/ui/popover/popover-popup.js +20 -7
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +20 -5
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/poster/poster.js +17 -3
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/index.js +2 -0
- package/dist/default/ui/quality/use-quality-options.js +37 -0
- package/dist/default/ui/quality/use-quality-options.js.map +1 -0
- package/dist/default/ui/seek-button/seek-button.js +3 -1
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/seek-indicator/context.js +20 -0
- package/dist/default/ui/seek-indicator/context.js.map +1 -0
- package/dist/default/ui/seek-indicator/index.js +2 -0
- package/dist/default/ui/seek-indicator/index.parts.js +12 -0
- package/dist/default/ui/seek-indicator/index.parts.js.map +1 -0
- package/dist/default/ui/seek-indicator/seek-indicator-root.js +30 -0
- package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -0
- package/dist/default/ui/seek-indicator/seek-indicator-value.js +23 -0
- package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -0
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/status-announcer/index.js +2 -0
- package/dist/default/ui/status-announcer/status-announcer.js +36 -0
- package/dist/default/ui/status-announcer/status-announcer.js.map +1 -0
- package/dist/default/ui/status-indicator/context.js +20 -0
- package/dist/default/ui/status-indicator/context.js.map +1 -0
- package/dist/default/ui/status-indicator/index.js +2 -0
- package/dist/default/ui/status-indicator/index.parts.js +12 -0
- package/dist/default/ui/status-indicator/index.parts.js.map +1 -0
- package/dist/default/ui/status-indicator/status-indicator-root.js +34 -0
- package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -0
- package/dist/default/ui/status-indicator/status-indicator-value.js +23 -0
- package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -0
- package/dist/default/ui/time/time-value.js +32 -5
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-root.js +18 -6
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/index.parts.js +4 -0
- package/dist/default/ui/tooltip/index.parts.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js +1 -1
- package/dist/default/ui/tooltip/tooltip-label.js +24 -0
- package/dist/default/ui/tooltip/tooltip-label.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-popup.js +26 -9
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +17 -5
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js +25 -0
- package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -0
- package/dist/default/ui/volume-indicator/context.js +20 -0
- package/dist/default/ui/volume-indicator/context.js.map +1 -0
- package/dist/default/ui/volume-indicator/index.js +2 -0
- package/dist/default/ui/volume-indicator/index.parts.js +14 -0
- package/dist/default/ui/volume-indicator/index.parts.js.map +1 -0
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js +36 -0
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +30 -0
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -0
- package/dist/default/ui/volume-indicator/volume-indicator-value.js +23 -0
- package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -0
- package/dist/default/utils/use-attach-iframe.js +14 -0
- package/dist/default/utils/use-attach-iframe.js.map +1 -0
- package/dist/default/utils/use-media-instance.js +11 -3
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js +1 -1
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-enter.js +16 -0
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js +28 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/default/captions-off.js +6 -0
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-on.js +3 -5
- package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-enter.js +38 -11
- package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-exit.js +55 -14
- package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/check.js +22 -0
- package/dist/dev/icons/dist/react/default/check.js.map +1 -0
- package/dist/dev/icons/dist/react/default/chevron.js +21 -0
- package/dist/dev/icons/dist/react/default/chevron.js.map +1 -0
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js +3 -5
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js +3 -5
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/gear.js +16 -0
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -0
- package/dist/dev/icons/dist/react/default/index.d.ts +30 -0
- package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -0
- package/dist/dev/icons/dist/react/default/pause.js +2 -3
- package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-enter.js +4 -10
- package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-exit.js +4 -10
- package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/play.js +3 -5
- package/dist/dev/icons/dist/react/default/play.js.map +1 -1
- package/dist/dev/icons/dist/react/default/quality.js +16 -0
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -0
- package/dist/dev/icons/dist/react/default/restart.js +3 -8
- package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/default/seek.js +3 -5
- package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speech.js +19 -0
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -0
- package/dist/dev/icons/dist/react/default/speed.js +52 -0
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -0
- package/dist/dev/icons/dist/react/default/spinner.js +38 -117
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/switches.js +19 -0
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -0
- package/dist/dev/icons/dist/react/default/volume-high.js +3 -8
- package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-low.js +3 -5
- package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-off.js +3 -5
- package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js +16 -0
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +28 -0
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.js +6 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-on.js +3 -5
- package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-enter.js +38 -7
- package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-exit.js +56 -11
- package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/check.js +22 -0
- package/dist/dev/icons/dist/react/minimal/check.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/chevron.js +21 -0
- package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -13
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -13
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/gear.js +16 -0
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/index.d.ts +30 -0
- package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -0
- package/dist/dev/icons/dist/react/minimal/pause.js +2 -3
- package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -14
- package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -14
- package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/play.js +3 -5
- package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js +16 -0
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/restart.js +3 -8
- package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/seek.js +3 -5
- package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speech.js +54 -0
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/speed.js +52 -0
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/spinner.js +38 -117
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/switches.js +19 -0
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/volume-high.js +3 -8
- package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-low.js +3 -5
- package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-off.js +3 -5
- package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/dev/icons/index.d.ts +2 -0
- package/dist/dev/icons/index.js +26 -0
- package/dist/dev/icons/minimal/index.d.ts +2 -0
- package/dist/dev/icons/minimal/index.js +26 -0
- package/dist/dev/index.d.ts +32 -11
- package/dist/dev/index.js +25 -12
- package/dist/dev/media/dash-video/index.d.ts.map +1 -1
- package/dist/dev/media/dash-video/index.js +5 -1
- package/dist/dev/media/dash-video/index.js.map +1 -1
- package/dist/dev/media/hlsjs-video/index.d.ts +15 -0
- package/dist/dev/media/hlsjs-video/index.d.ts.map +1 -0
- package/dist/dev/media/{hls-video → hlsjs-video}/index.js +9 -5
- package/dist/dev/media/hlsjs-video/index.js.map +1 -0
- package/dist/dev/media/mux-audio/index.d.ts +2 -2
- package/dist/dev/media/mux-audio/index.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/index.js +9 -3
- package/dist/dev/media/mux-audio/index.js.map +1 -1
- package/dist/dev/media/mux-video/index.d.ts +2 -2
- package/dist/dev/media/mux-video/index.d.ts.map +1 -1
- package/dist/dev/media/mux-video/index.js +9 -3
- package/dist/dev/media/mux-video/index.js.map +1 -1
- package/dist/dev/media/native-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/native-hls-video/index.js +5 -1
- package/dist/dev/media/native-hls-video/index.js.map +1 -1
- package/dist/dev/media/simple-hls-audio-only/index.d.ts +15 -0
- package/dist/dev/media/simple-hls-audio-only/index.d.ts.map +1 -0
- package/dist/dev/media/simple-hls-audio-only/index.js +22 -0
- package/dist/dev/media/simple-hls-audio-only/index.js.map +1 -0
- package/dist/dev/media/simple-hls-video/index.d.ts +2 -2
- package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/simple-hls-video/index.js +2 -2
- package/dist/dev/media/simple-hls-video/index.js.map +1 -1
- package/dist/dev/media/vimeo-video/index.d.ts +15 -0
- package/dist/dev/media/vimeo-video/index.d.ts.map +1 -0
- package/dist/dev/media/vimeo-video/index.js +37 -0
- package/dist/dev/media/vimeo-video/index.js.map +1 -0
- package/dist/dev/player/context.d.ts +13 -2
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +9 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +17 -5
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +569 -114
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +163 -33
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.js +98 -35
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +550 -116
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +99 -34
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.js +173 -42
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/index.d.ts +2 -2
- package/dist/dev/presets/live-audio/index.js +2 -2
- package/dist/dev/presets/live-audio/minimal-skin.css +569 -114
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +56 -14
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +57 -16
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +550 -116
- package/dist/dev/presets/live-audio/skin.d.ts +3 -1
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +39 -16
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.js +61 -19
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +949 -178
- package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -7
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.js +205 -16
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js +208 -17
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +926 -182
- package/dist/dev/presets/live-video/skin.d.ts +0 -6
- package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.js +150 -19
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +295 -24
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +2 -1
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +949 -178
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +450 -40
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +455 -43
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +926 -182
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +346 -49
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +454 -51
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +11 -5
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +6 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +34 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +7 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/reset.js +7 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +5 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +35 -13
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +17 -5
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +3 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +33 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +5 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +30 -11
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +17 -2
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/tailwind.css +42 -0
- package/dist/dev/ui/airplay-button/airplay-button.d.ts +15 -0
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -0
- package/dist/dev/ui/airplay-button/airplay-button.js +17 -0
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -0
- package/dist/dev/ui/airplay-button/index.d.ts +2 -0
- package/dist/dev/ui/airplay-button/index.js +2 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +1 -1
- package/dist/dev/ui/audio-track/index.d.ts +2 -0
- package/dist/dev/ui/audio-track/index.js +2 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +25 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.js +34 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -0
- package/dist/dev/ui/captions-radio-group/index.d.ts +2 -0
- package/dist/dev/ui/captions-radio-group/index.js +2 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +26 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +40 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -0
- package/dist/dev/ui/controls/context.js +4 -1
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/create-media-button.js +23 -10
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.js +1 -1
- package/dist/dev/ui/gesture/gesture.js +2 -1
- package/dist/dev/ui/gesture/gesture.js.map +1 -1
- package/dist/dev/ui/gesture/index.d.ts +2 -0
- package/dist/dev/ui/gesture/index.js +2 -0
- package/dist/dev/ui/hooks/use-button.d.ts +2 -1
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/hotkey.js +1 -0
- package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
- package/dist/dev/ui/hotkey/index.d.ts +2 -0
- package/dist/dev/ui/hotkey/index.js +2 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +7 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +28 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey.js +1 -2
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-indicator-visibility.js +25 -0
- package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -0
- package/dist/dev/ui/input-indicators/use-input-action-subscription.js +22 -0
- package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -0
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js +21 -0
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -0
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +43 -0
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
- package/dist/dev/ui/live-button/index.d.ts +2 -0
- package/dist/dev/ui/live-button/index.js +2 -0
- package/dist/dev/ui/live-button/live-button.d.ts +34 -0
- package/dist/dev/ui/live-button/live-button.d.ts.map +1 -0
- package/dist/dev/ui/live-button/live-button.js +92 -0
- package/dist/dev/ui/live-button/live-button.js.map +1 -0
- package/dist/dev/ui/menu/context.d.ts +29 -0
- package/dist/dev/ui/menu/context.d.ts.map +1 -0
- package/dist/dev/ui/menu/context.js +44 -0
- package/dist/dev/ui/menu/context.js.map +1 -0
- package/dist/dev/ui/menu/index.d.ts +3 -0
- package/dist/dev/ui/menu/index.js +3 -0
- package/dist/dev/ui/menu/index.parts.d.ts +22 -0
- package/dist/dev/ui/menu/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/menu/index.parts.js +36 -0
- package/dist/dev/ui/menu/index.parts.js.map +1 -0
- package/dist/dev/ui/menu/menu-back.d.ts +18 -0
- package/dist/dev/ui/menu/menu-back.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-back.js +30 -0
- package/dist/dev/ui/menu/menu-back.js.map +1 -0
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts +22 -0
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-checkbox-item.js +49 -0
- package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -0
- package/dist/dev/ui/menu/menu-content.d.ts +15 -0
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-content.js +302 -0
- package/dist/dev/ui/menu/menu-content.js.map +1 -0
- package/dist/dev/ui/menu/menu-group-label.d.ts +15 -0
- package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-group-label.js +29 -0
- package/dist/dev/ui/menu/menu-group-label.js.map +1 -0
- package/dist/dev/ui/menu/menu-group.d.ts +15 -0
- package/dist/dev/ui/menu/menu-group.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-group.js +24 -0
- package/dist/dev/ui/menu/menu-group.js.map +1 -0
- package/dist/dev/ui/menu/menu-item-indicator.d.ts +20 -0
- package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-indicator.js +23 -0
- package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -0
- package/dist/dev/ui/menu/menu-item-setting-provider.js +72 -0
- package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -0
- package/dist/dev/ui/menu/menu-item-type.d.ts +5 -0
- package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-value.d.ts +14 -0
- package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-value.js +28 -0
- package/dist/dev/ui/menu/menu-item-value.js.map +1 -0
- package/dist/dev/ui/menu/menu-item.d.ts +23 -0
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item.js +74 -0
- package/dist/dev/ui/menu/menu-item.js.map +1 -0
- package/dist/dev/ui/menu/menu-radio-group.d.ts +20 -0
- package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-radio-group.js +30 -0
- package/dist/dev/ui/menu/menu-radio-group.js.map +1 -0
- package/dist/dev/ui/menu/menu-radio-item.d.ts +20 -0
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-radio-item.js +56 -0
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -0
- package/dist/dev/ui/menu/menu-root.d.ts +29 -0
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-root.js +136 -0
- package/dist/dev/ui/menu/menu-root.js.map +1 -0
- package/dist/dev/ui/menu/menu-separator.d.ts +15 -0
- package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-separator.js +22 -0
- package/dist/dev/ui/menu/menu-separator.js.map +1 -0
- package/dist/dev/ui/menu/menu-trigger.d.ts +25 -0
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-trigger.js +180 -0
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -0
- package/dist/dev/ui/menu/menu-view.d.ts +15 -0
- package/dist/dev/ui/menu/menu-view.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-view.js +23 -0
- package/dist/dev/ui/menu/menu-view.js.map +1 -0
- package/dist/dev/ui/menu/use-menu-group.js +31 -0
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -0
- package/dist/dev/ui/playback-rate/index.d.ts +2 -0
- package/dist/dev/ui/playback-rate/index.js +2 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +28 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +37 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -0
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/dev/ui/popover/context.d.ts +3 -1
- package/dist/dev/ui/popover/context.d.ts.map +1 -1
- package/dist/dev/ui/popover/context.js.map +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +20 -7
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts +4 -1
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +20 -5
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/poster/poster.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster.js +17 -3
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/index.d.ts +2 -0
- package/dist/dev/ui/quality/index.js +2 -0
- package/dist/dev/ui/quality/use-quality-options.d.ts +27 -0
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -0
- package/dist/dev/ui/quality/use-quality-options.js +40 -0
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -0
- package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.js +3 -1
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
- package/dist/dev/ui/seek-indicator/context.js +20 -0
- package/dist/dev/ui/seek-indicator/context.js.map +1 -0
- package/dist/dev/ui/seek-indicator/index.d.ts +2 -0
- package/dist/dev/ui/seek-indicator/index.js +2 -0
- package/dist/dev/ui/seek-indicator/index.parts.d.ts +10 -0
- package/dist/dev/ui/seek-indicator/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/seek-indicator/index.parts.js +12 -0
- package/dist/dev/ui/seek-indicator/index.parts.js.map +1 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +14 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js +30 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +13 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-value.js +23 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -0
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/status-announcer/index.d.ts +2 -0
- package/dist/dev/ui/status-announcer/index.js +2 -0
- package/dist/dev/ui/status-announcer/status-announcer.d.ts +14 -0
- package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -0
- package/dist/dev/ui/status-announcer/status-announcer.js +36 -0
- package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -0
- package/dist/dev/ui/status-indicator/context.js +20 -0
- package/dist/dev/ui/status-indicator/context.js.map +1 -0
- package/dist/dev/ui/status-indicator/index.d.ts +2 -0
- package/dist/dev/ui/status-indicator/index.js +2 -0
- package/dist/dev/ui/status-indicator/index.parts.d.ts +10 -0
- package/dist/dev/ui/status-indicator/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/status-indicator/index.parts.js +12 -0
- package/dist/dev/ui/status-indicator/index.parts.js.map +1 -0
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +14 -0
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -0
- package/dist/dev/ui/status-indicator/status-indicator-root.js +34 -0
- package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -0
- package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +13 -0
- package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -0
- package/dist/dev/ui/status-indicator/status-indicator-value.js +23 -0
- package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -0
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +32 -5
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.js +18 -6
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +10 -4
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/index.d.ts +2 -2
- package/dist/dev/ui/tooltip/index.parts.d.ts +3 -1
- package/dist/dev/ui/tooltip/index.parts.js +4 -0
- package/dist/dev/ui/tooltip/index.parts.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-label.js +24 -0
- package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +26 -9
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts +4 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +17 -5
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.js +25 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -0
- package/dist/dev/ui/volume-indicator/context.js +20 -0
- package/dist/dev/ui/volume-indicator/context.js.map +1 -0
- package/dist/dev/ui/volume-indicator/index.d.ts +2 -0
- package/dist/dev/ui/volume-indicator/index.js +2 -0
- package/dist/dev/ui/volume-indicator/index.parts.d.ts +11 -0
- package/dist/dev/ui/volume-indicator/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/volume-indicator/index.parts.js +14 -0
- package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +13 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +36 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +14 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +30 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +13 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-value.js +23 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -0
- package/dist/dev/utils/use-attach-iframe.js +14 -0
- package/dist/dev/utils/use-attach-iframe.js.map +1 -0
- package/dist/dev/utils/use-media-instance.d.ts +7 -2
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +11 -3
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +1 -1
- package/dist/dev/utils/use-render.js.map +1 -1
- package/docs/README.md +7 -0
- package/docs/concepts/accessibility.md +60 -0
- package/docs/concepts/browser-support.md +37 -0
- package/docs/concepts/cast.md +162 -0
- package/docs/concepts/features.md +131 -0
- package/docs/concepts/overview.md +119 -0
- package/docs/concepts/presets.md +230 -0
- package/docs/concepts/skins.md +2679 -0
- package/docs/concepts/ui-components.md +83 -0
- package/docs/concepts/v10-roadmap.md +75 -0
- package/docs/concepts/why-videojs.md +113 -0
- package/docs/how-to/build-with-ai.md +39 -0
- package/docs/how-to/build-your-own-component.md +142 -0
- package/docs/how-to/customize-skins.md +7864 -0
- package/docs/how-to/installation.md +170 -0
- package/docs/llms.txt +113 -0
- package/docs/reference/airplay-button.md +264 -0
- package/docs/reference/audio-track-radio-group.md +59 -0
- package/docs/reference/background-video.md +76 -0
- package/docs/reference/buffering-indicator.md +152 -0
- package/docs/reference/captions-button.md +216 -0
- package/docs/reference/cast-button.md +236 -0
- package/docs/reference/controls.md +238 -0
- package/docs/reference/create-player.md +261 -0
- package/docs/reference/create-selector.md +59 -0
- package/docs/reference/dash-video.md +138 -0
- package/docs/reference/feature-audio-track.md +60 -0
- package/docs/reference/feature-buffer.md +54 -0
- package/docs/reference/feature-controls.md +74 -0
- package/docs/reference/feature-error.md +65 -0
- package/docs/reference/feature-fullscreen.md +111 -0
- package/docs/reference/feature-live.md +62 -0
- package/docs/reference/feature-orientation-lock.md +35 -0
- package/docs/reference/feature-pip.md +94 -0
- package/docs/reference/feature-playback-rate.md +70 -0
- package/docs/reference/feature-playback.md +109 -0
- package/docs/reference/feature-quality.md +70 -0
- package/docs/reference/feature-remote-playback.md +76 -0
- package/docs/reference/feature-source.md +70 -0
- package/docs/reference/feature-stream-type.md +46 -0
- package/docs/reference/feature-text-tracks.md +114 -0
- package/docs/reference/feature-time.md +84 -0
- package/docs/reference/feature-volume.md +99 -0
- package/docs/reference/fullscreen-button.md +212 -0
- package/docs/reference/hlsjs-video.md +274 -0
- package/docs/reference/menu.md +1194 -0
- package/docs/reference/mute-button.md +276 -0
- package/docs/reference/mux-audio.md +218 -0
- package/docs/reference/mux-video.md +275 -0
- package/docs/reference/native-hls-video.md +212 -0
- package/docs/reference/pip-button.md +212 -0
- package/docs/reference/play-button.md +224 -0
- package/docs/reference/playback-rate-button.md +185 -0
- package/docs/reference/player-container.md +109 -0
- package/docs/reference/player-provider.md +104 -0
- package/docs/reference/popover.md +527 -0
- package/docs/reference/poster.md +137 -0
- package/docs/reference/quality-radio-group.md +59 -0
- package/docs/reference/render-element.md +196 -0
- package/docs/reference/seek-button.md +213 -0
- package/docs/reference/simple-hls-audio-only.md +93 -0
- package/docs/reference/simple-hls-video.md +150 -0
- package/docs/reference/slider.md +826 -0
- package/docs/reference/thumbnail.md +322 -0
- package/docs/reference/time-slider.md +753 -0
- package/docs/reference/time.md +519 -0
- package/docs/reference/tooltip.md +715 -0
- package/docs/reference/use-button.md +124 -0
- package/docs/reference/use-container-attach.md +42 -0
- package/docs/reference/use-media-attach.md +46 -0
- package/docs/reference/use-media.md +112 -0
- package/docs/reference/use-player-context.md +93 -0
- package/docs/reference/use-player.md +241 -0
- package/docs/reference/use-selector.md +132 -0
- package/docs/reference/use-snapshot.md +127 -0
- package/docs/reference/use-store.md +257 -0
- package/docs/reference/volume-slider.md +716 -0
- package/package.json +23 -10
- package/dist/default/media/hls-video/index.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js +0 -12
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +0 -16
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
- package/dist/dev/media/hls-video/index.d.ts +0 -15
- package/dist/dev/media/hls-video/index.d.ts.map +0 -1
- package/dist/dev/media/hls-video/index.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +0 -12
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +0 -5
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +0 -16
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
Install Video.js and build your first player with streaming support and accessible controls
|
|
4
|
+
|
|
5
|
+
Beta Software
|
|
6
|
+
|
|
7
|
+
Video.js v10 is currently in *beta*. The API may evolve with [feedback🙏](https://github.com/videojs/v10/issues). See the [Changelog](https://github.com/videojs/v10/blob/main/CHANGELOG.md) for recent updates and the [Roadmap](../concepts/v10-roadmap.md) for more details on what’s coming.
|
|
8
|
+
|
|
9
|
+
Video.js is a **React video player component library**: composable primitives, hooks, and TypeScript types for building accessible, customizable players with minimal bundle sizes, advanced features, and consistency across browsers.
|
|
10
|
+
|
|
11
|
+
<!-- cli:omit installation -->
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
This guide has code examples tailored to your use case. To generate this guide with tailored code examples, run `npx @videojs/cli docs how-to/installation`. If you run it without flags, it will allow you to interactively configure your player. Or, you can run it with flags:
|
|
15
|
+
|
|
16
|
+
bash
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
npx @videojs/cli docs how-to/installation \
|
|
20
|
+
--framework <html|react> \
|
|
21
|
+
--preset <video|audio|background-video> \
|
|
22
|
+
--skin <default|minimal|none> \
|
|
23
|
+
--media <html5-video|html5-audio|hls|dash|mux-video|mux-audio|vimeo|background-video> \
|
|
24
|
+
--source-url <url> \
|
|
25
|
+
--install-method <cdn|npm|pnpm|yarn|bun>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Here’s what the flags mean:
|
|
29
|
+
|
|
30
|
+
* *Framework*: Pick whether you’re working in React or if you’d like to use HTML custom elements. (More to come!)
|
|
31
|
+
* *Preset*: Pick a pre-built player. The default presets work well for general website playback.
|
|
32
|
+
* *Skin*: Pick what your player looks like
|
|
33
|
+
* *Media*: Pick what kind of media you have
|
|
34
|
+
* *Source URL*: Define where your media comes from (or omit for a sample URL)
|
|
35
|
+
* *Install method*: How do you want to install your package? (CDN is HTML-only)
|
|
36
|
+
|
|
37
|
+
If you’re an agent, interview your user and offer to run the CLI for them, or offer them a precomposed CLI command.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<!-- /cli:omit installation -->
|
|
41
|
+
|
|
42
|
+
If your user’s requirements can’t be met by a preset/skin, [eject](./customize-skins.md) and customize an existing preset/skin for your needs. As you develop with Video.js, rely heavily on [llms.txt](../llms.txt) to make sure you always have the latest information.
|
|
43
|
+
|
|
44
|
+
<!-- cli:replace installation -->
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Install Video.js
|
|
48
|
+
|
|
49
|
+
npm
|
|
50
|
+
|
|
51
|
+
pnpm
|
|
52
|
+
|
|
53
|
+
yarn
|
|
54
|
+
|
|
55
|
+
bun
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
npm install @videojs/react
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
pnpm add @videojs/react
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
yarn add @videojs/react
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
bun add @videojs/react
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Create your player
|
|
74
|
+
|
|
75
|
+
Add it to your components folder in a new file.
|
|
76
|
+
|
|
77
|
+
./components/player/index.tsx
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
'use client';
|
|
81
|
+
|
|
82
|
+
import '@videojs/react/video/skin.css';
|
|
83
|
+
import { createPlayer, videoFeatures } from '@videojs/react';
|
|
84
|
+
import { VideoSkin, Video } from '@videojs/react/video';
|
|
85
|
+
|
|
86
|
+
const Player = createPlayer({ features: videoFeatures });
|
|
87
|
+
|
|
88
|
+
interface MyPlayerProps {
|
|
89
|
+
src: string;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export const MyPlayer = ({ src }: MyPlayerProps) => {
|
|
93
|
+
return (
|
|
94
|
+
<Player.Provider>
|
|
95
|
+
<VideoSkin>
|
|
96
|
+
<Video src={src} playsInline />
|
|
97
|
+
</VideoSkin>
|
|
98
|
+
</Player.Provider>
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Use your player
|
|
104
|
+
|
|
105
|
+
./app/page.tsx
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
import { MyPlayer } from '../components/player';
|
|
109
|
+
|
|
110
|
+
export const HomePage = () => {
|
|
111
|
+
return (
|
|
112
|
+
<div>
|
|
113
|
+
<h1>Welcome to My App</h1>
|
|
114
|
+
<MyPlayer src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" />
|
|
115
|
+
</div>
|
|
116
|
+
);
|
|
117
|
+
};
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
<!-- /cli:replace installation -->
|
|
128
|
+
|
|
129
|
+
## CSP
|
|
130
|
+
|
|
131
|
+
If your application uses a Content Security Policy, you may need to allow additional sources for player features to work correctly.
|
|
132
|
+
|
|
133
|
+
### Common requirements
|
|
134
|
+
|
|
135
|
+
* `media-src` must allow your media URLs.
|
|
136
|
+
* `img-src` must allow any poster or thumbnail image URLs.
|
|
137
|
+
* `connect-src` must allow HLS manifests, playlists, captions, and segment requests when using HLS playback.
|
|
138
|
+
* `media-src blob:` is required when using the HLS player variants, which use MSE-backed playback.
|
|
139
|
+
* `worker-src blob:` is required when using the `hls.js` player variants.
|
|
140
|
+
* `style-src 'unsafe-inline'` is currently required for some player UI and HTML player styling behavior.
|
|
141
|
+
|
|
142
|
+
### Example
|
|
143
|
+
|
|
144
|
+
http
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
Content-Security-Policy:
|
|
148
|
+
script-src 'self';
|
|
149
|
+
style-src 'self' 'unsafe-inline';
|
|
150
|
+
img-src 'self' https: data: blob:;
|
|
151
|
+
media-src 'self' https: blob:;
|
|
152
|
+
connect-src 'self' https:;
|
|
153
|
+
worker-src 'self' blob:;
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## See also
|
|
157
|
+
|
|
158
|
+
[
|
|
159
|
+
|
|
160
|
+
Skins
|
|
161
|
+
|
|
162
|
+
Some skins expose CSS custom properties
|
|
163
|
+
|
|
164
|
+
](../concepts/skins.md)
|
|
165
|
+
|
|
166
|
+
* * *
|
|
167
|
+
|
|
168
|
+
That’s it! You now have a fully functional Video.js player. Go forth and play.
|
|
169
|
+
|
|
170
|
+
Something not quite right? You can [submit an issue](https://github.com/videojs/v10/issues) and ask for help, or explore [other support options](/html5-video-support).
|
package/docs/llms.txt
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Video.js v10 — React Documentation
|
|
2
|
+
|
|
3
|
+
## Getting started
|
|
4
|
+
|
|
5
|
+
Installation, project setup, and introductory guides.
|
|
6
|
+
|
|
7
|
+
- [Installation](./how-to/installation.md): Install Video.js and build your first player with streaming support and accessible controls
|
|
8
|
+
- [Why Video.js?](./concepts/why-videojs.md): The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.
|
|
9
|
+
- [Overview](./concepts/overview.md): How Video.js players are structured — state, UI, and media
|
|
10
|
+
- [Build with AI](./how-to/build-with-ai.md): How to give AI tools the context they need to build Video.js players alongside you
|
|
11
|
+
- [v10 Roadmap](./concepts/v10-roadmap.md): Timeline and milestones for Video.js v10 rebuild and the future of v8
|
|
12
|
+
- [Browser Support](./concepts/browser-support.md): Which browsers Video.js 10 supports and how it handles newer platform features
|
|
13
|
+
|
|
14
|
+
## Concepts
|
|
15
|
+
|
|
16
|
+
Understanding-oriented pages that explain how and why things work. Read these to build a mental model of the library.
|
|
17
|
+
|
|
18
|
+
- [Google Cast](./concepts/cast.md): How to add Chromecast support to your Video.js player — lazy SDK loading, session lifecycle, and configuration options
|
|
19
|
+
- [Features](./concepts/features.md): The state and actions each feature adds to the player
|
|
20
|
+
- [Skins](./concepts/skins.md): Packaged player designs that include both UI components and their styles.
|
|
21
|
+
- [Presets](./concepts/presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
|
|
22
|
+
- [UI components](./concepts/ui-components.md): How Video.js UI components work — one element per component, data attributes for state, and compound composition.
|
|
23
|
+
- [Accessibility](./concepts/accessibility.md): How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
|
|
24
|
+
|
|
25
|
+
## How to
|
|
26
|
+
|
|
27
|
+
Task-oriented guides with step-by-step instructions to achieve a specific outcome by applying one or more concepts. Each guide may assume you already understand the relevant concepts.
|
|
28
|
+
|
|
29
|
+
- [Customize skins](./how-to/customize-skins.md): Learn how to customize Video.js v10 skins by copying and modifying them
|
|
30
|
+
- [Build your own UI component](./how-to/build-your-own-component.md): Create custom player controls that read state, dispatch actions, and stay accessible.
|
|
31
|
+
|
|
32
|
+
## Components
|
|
33
|
+
|
|
34
|
+
API Reference for UI components for building media player interfaces.
|
|
35
|
+
|
|
36
|
+
- [Player.Provider](./reference/player-provider.md): The state boundary — creates a store and broadcasts it to all descendants.
|
|
37
|
+
- [Player.Container](./reference/player-container.md): The player's interaction surface — handles layout, fullscreen, media attachment, and user activity detection.
|
|
38
|
+
- [AirPlayButton](./reference/airplay-button.md): Accessible AirPlay toggle button that opens the WebKit playback target picker and reflects session state
|
|
39
|
+
- [AudioTrackRadioGroup](./reference/audio-track-radio-group.md): A menu radio group for selecting an audio track
|
|
40
|
+
- [BufferingIndicator](./reference/buffering-indicator.md): Loading indicator that displays when the video player is buffering or waiting for data
|
|
41
|
+
- [CaptionsButton](./reference/captions-button.md): Accessible captions toggle button with availability detection and state reflection
|
|
42
|
+
- [CastButton](./reference/cast-button.md): Accessible Cast toggle button with state reflection and keyboard support
|
|
43
|
+
- [Controls](./reference/controls.md): Container component for composing and auto-hiding video player controls on user interaction
|
|
44
|
+
- [FullscreenButton](./reference/fullscreen-button.md): Accessible fullscreen toggle button with keyboard support and state reflection
|
|
45
|
+
- [Menu](./reference/menu.md): A composable menu component for settings, option selection, and actions
|
|
46
|
+
- [MuteButton](./reference/mute-button.md): Accessible mute/unmute button with keyboard support and volume state reflection
|
|
47
|
+
- [PiPButton](./reference/pip-button.md): Accessible picture-in-picture toggle button with keyboard support and state reflection
|
|
48
|
+
- [PlayButton](./reference/play-button.md): Accessible play/pause button with keyboard support and customizable rendering
|
|
49
|
+
- [PlaybackRateButton](./reference/playback-rate-button.md): A button that cycles through playback speed rates
|
|
50
|
+
- [Popover](./reference/popover.md): A popover component for displaying contextual content anchored to a trigger
|
|
51
|
+
- [Poster](./reference/poster.md): Poster image component that displays a thumbnail until video playback starts
|
|
52
|
+
- [QualityRadioGroup](./reference/quality-radio-group.md): A menu radio group for selecting video quality
|
|
53
|
+
- [SeekButton](./reference/seek-button.md): Accessible seek button for skipping forward or backward by a configurable number of seconds
|
|
54
|
+
- [Slider](./reference/slider.md): A composable slider component with track, fill, thumb, preview, and value parts
|
|
55
|
+
- [Thumbnail](./reference/thumbnail.md): Time-based thumbnail preview component for timeline scrubbing and hover previews
|
|
56
|
+
- [Time](./reference/time.md): Time display components for showing current time, duration, and remaining time in a video player
|
|
57
|
+
- [TimeSlider](./reference/time-slider.md): A slider component for seeking through media playback time
|
|
58
|
+
- [Tooltip](./reference/tooltip.md): A tooltip component for displaying contextual labels on hover and focus
|
|
59
|
+
- [VolumeSlider](./reference/volume-slider.md): A slider component for controlling media playback volume
|
|
60
|
+
|
|
61
|
+
## Media Elements
|
|
62
|
+
|
|
63
|
+
API Reference for media elements that handle streaming protocols and media playback.
|
|
64
|
+
|
|
65
|
+
- [BackgroundVideo](./reference/background-video.md): Decorative background video element with automatic muting and looping
|
|
66
|
+
- [DashVideo](./reference/dash-video.md): DASH video element powered by dash.js for adaptive bitrate streaming
|
|
67
|
+
- [HlsJsVideo](./reference/hlsjs-video.md): HLS video element powered by hls.js for adaptive bitrate streaming
|
|
68
|
+
- [MuxAudio](./reference/mux-audio.md): Audio element for Mux-hosted HLS streams
|
|
69
|
+
- [MuxVideo](./reference/mux-video.md): Video element for Mux-hosted HLS streams
|
|
70
|
+
- [NativeHlsVideo](./reference/native-hls-video.md): HLS video element using the browser's built-in HLS support
|
|
71
|
+
- [SimpleHlsAudioOnly](./reference/simple-hls-audio-only.md): Audio-only HLS element that plays the audio rendition of an HLS stream
|
|
72
|
+
- [SimpleHlsVideo](./reference/simple-hls-video.md): Lightweight HLS video element with minimal bundle size
|
|
73
|
+
|
|
74
|
+
## Hooks & Utilities
|
|
75
|
+
|
|
76
|
+
API Reference for React hooks and utilities for player integration.
|
|
77
|
+
|
|
78
|
+
- [createPlayer](./reference/create-player.md): Factory function that creates a player instance with typed store, Provider component, Container, and hooks
|
|
79
|
+
- [Player.usePlayer](./reference/use-player.md): Hook to access the player store from within a Player.Provider
|
|
80
|
+
- [Player.useMedia](./reference/use-media.md): Hook to access the media object from within a Player.Provider
|
|
81
|
+
- [useStore](./reference/use-store.md): Hook to access store state and actions with optional selector-based subscriptions
|
|
82
|
+
### Advanced
|
|
83
|
+
|
|
84
|
+
- [renderElement](./reference/render-element.md): Utility for rendering UI component elements with state-driven props and render prop support
|
|
85
|
+
- [useButton](./reference/use-button.md): Hook for creating accessible button components with keyboard and pointer interaction
|
|
86
|
+
- [useContainerAttach](./reference/use-container-attach.md): Hook to register a custom container element with the player context
|
|
87
|
+
- [useMediaAttach](./reference/use-media-attach.md): Hook to register a custom media element with the player context
|
|
88
|
+
- [usePlayerContext](./reference/use-player-context.md): Hook to access the full player context including store, media element, and media setter
|
|
89
|
+
- [useSelector](./reference/use-selector.md): Low-level hook for subscribing to derived state with customizable equality checks
|
|
90
|
+
- [useSnapshot](./reference/use-snapshot.md): Hook to subscribe to a State container's current value
|
|
91
|
+
|
|
92
|
+
## Features
|
|
93
|
+
|
|
94
|
+
API reference for feature modules that provide player capabilities and state.
|
|
95
|
+
|
|
96
|
+
- [createSelector](./reference/create-selector.md): Create a type-safe selector for a store slice's state
|
|
97
|
+
- [Buffer](./reference/feature-buffer.md): Buffered and seekable time range state for the player store
|
|
98
|
+
- [Controls](./reference/feature-controls.md): User activity and controls visibility state for the player store
|
|
99
|
+
- [Error](./reference/feature-error.md): Media error state and actions for the player store
|
|
100
|
+
- [Fullscreen](./reference/feature-fullscreen.md): Fullscreen state and actions for the player store
|
|
101
|
+
- [Live](./reference/feature-live.md): Live edge state for the player store
|
|
102
|
+
- [Orientation lock](./reference/feature-orientation-lock.md): Screen orientation locking while fullscreen is active
|
|
103
|
+
- [Picture-in-picture](./reference/feature-pip.md): Picture-in-picture state and actions for the player store
|
|
104
|
+
- [Playback](./reference/feature-playback.md): Play/pause state and actions for the player store
|
|
105
|
+
- [Playback rate](./reference/feature-playback-rate.md): Playback speed state and actions for the player store
|
|
106
|
+
- [Quality](./reference/feature-quality.md): Video rendition state and actions for the player store
|
|
107
|
+
- [Audio track](./reference/feature-audio-track.md): Audio track state and actions for the player store
|
|
108
|
+
- [Remote Playback](./reference/feature-remote-playback.md): Remote playback state and actions for the player store
|
|
109
|
+
- [Source](./reference/feature-source.md): Media source state and actions for the player store
|
|
110
|
+
- [Stream type](./reference/feature-stream-type.md): Stream delivery type (live / on-demand) state for the player store
|
|
111
|
+
- [Text tracks](./reference/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
|
|
112
|
+
- [Time](./reference/feature-time.md): Playback position and duration state for the player store
|
|
113
|
+
- [Volume](./reference/feature-volume.md): Volume level and mute state for the player store
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
# AirPlayButton
|
|
2
|
+
|
|
3
|
+
Accessible AirPlay toggle button that opens the WebKit playback target picker and reflects session state
|
|
4
|
+
|
|
5
|
+
## Anatomy
|
|
6
|
+
|
|
7
|
+
tsx
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
<AirPlayButton />
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Behavior
|
|
14
|
+
|
|
15
|
+
Opens the WebKit AirPlay playback target picker and reflects session state. AirPlay is a WebKit-only feature, so the button reports `availability: "unsupported"` outside Safari (macOS and iOS). On supported platforms availability flips to `"available"` once Safari discovers at least one AirPlay receiver on the local network, and `"unavailable"` otherwise.
|
|
16
|
+
|
|
17
|
+
The toggle is a no-op unless `availability` is `"available"` — clicking the button while `"unsupported"` or `"unavailable"` will not open the picker. Style the button accordingly (see [Styling](#styling) below) so its appearance matches its actual behavior.
|
|
18
|
+
|
|
19
|
+
The component consumes the unified [`remotePlayback`](./feature-remote-playback.md) store feature alongside `CastButton`: both buttons drive their state from the same feature, but each only surfaces on its supported platform (WebKit for AirPlay, Chromium for Cast).
|
|
20
|
+
|
|
21
|
+
WebKit does not expose a `"connecting"` intermediate state — the `state` slice flips directly between `"disconnected"` and `"connected"` when the AirPlay session changes. When connected, the picker itself acts as the disconnect UI.
|
|
22
|
+
|
|
23
|
+
## Styling
|
|
24
|
+
|
|
25
|
+
Attribute
|
|
26
|
+
|
|
27
|
+
Values
|
|
28
|
+
|
|
29
|
+
Description
|
|
30
|
+
|
|
31
|
+
`data-airplay-state`
|
|
32
|
+
|
|
33
|
+
`"disconnected"` | `"connecting"` | `"connected"`
|
|
34
|
+
|
|
35
|
+
Current AirPlay session state
|
|
36
|
+
|
|
37
|
+
`data-availability`
|
|
38
|
+
|
|
39
|
+
`"available"` | `"unavailable"` | `"unsupported"`
|
|
40
|
+
|
|
41
|
+
Whether AirPlay is reachable on the current platform
|
|
42
|
+
|
|
43
|
+
Use `data-airplay-state` to swap icons or labels based on the session state:
|
|
44
|
+
|
|
45
|
+
React renders a `<button>` element. Add a `className` and use it as the selector:
|
|
46
|
+
|
|
47
|
+
css
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
/* AirPlay active */
|
|
51
|
+
.airplay-button[data-airplay-state="connected"] {
|
|
52
|
+
color: var(--accent);
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Consider hiding the button on platforms where AirPlay isn’t supported:
|
|
57
|
+
|
|
58
|
+
css
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
.airplay-button[data-availability="unsupported"] {
|
|
62
|
+
display: none;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Accessibility
|
|
67
|
+
|
|
68
|
+
Renders a `<button>` with an automatic `aria-label`: “Start AirPlay” when disconnected, “Stop AirPlay” when connected. (The component also supports a `"Connecting"` label, but WebKit AirPlay never emits a `connecting` state, so that label is unreachable in practice.) Override with the `label` prop — either a string or a function that receives the current state. Keyboard activation: Enter / Space.
|
|
69
|
+
|
|
70
|
+
## Examples
|
|
71
|
+
|
|
72
|
+
### Basic Usage
|
|
73
|
+
|
|
74
|
+
AirPlay not supported
|
|
75
|
+
|
|
76
|
+
App.tsx
|
|
77
|
+
|
|
78
|
+
App.css
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
import { AirPlayButton, createPlayer } from '@videojs/react';
|
|
82
|
+
import { Video, videoFeatures } from '@videojs/react/video';
|
|
83
|
+
|
|
84
|
+
const Player = createPlayer({ features: videoFeatures });
|
|
85
|
+
|
|
86
|
+
export default function BasicUsage() {
|
|
87
|
+
return (
|
|
88
|
+
<Player.Provider>
|
|
89
|
+
<Player.Container className="media-container">
|
|
90
|
+
<Video
|
|
91
|
+
src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4"
|
|
92
|
+
autoPlay
|
|
93
|
+
muted
|
|
94
|
+
playsInline
|
|
95
|
+
loop
|
|
96
|
+
/>
|
|
97
|
+
<AirPlayButton
|
|
98
|
+
className="media-airplay-button"
|
|
99
|
+
render={(props, state) => {
|
|
100
|
+
const label =
|
|
101
|
+
state.availability === 'unsupported'
|
|
102
|
+
? 'AirPlay not supported'
|
|
103
|
+
: state.state === 'connected'
|
|
104
|
+
? 'Stop AirPlay'
|
|
105
|
+
: state.availability === 'unavailable'
|
|
106
|
+
? 'No AirPlay devices found'
|
|
107
|
+
: 'Start AirPlay';
|
|
108
|
+
return <button {...props}>{label}</button>;
|
|
109
|
+
}}
|
|
110
|
+
/>
|
|
111
|
+
</Player.Container>
|
|
112
|
+
</Player.Provider>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
```
|
|
117
|
+
.media-container {
|
|
118
|
+
position: relative;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.media-container video {
|
|
122
|
+
width: 100%;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.media-airplay-button {
|
|
126
|
+
position: absolute;
|
|
127
|
+
right: 10px;
|
|
128
|
+
bottom: 10px;
|
|
129
|
+
padding-block: 8px;
|
|
130
|
+
padding-inline: 20px;
|
|
131
|
+
color: black;
|
|
132
|
+
cursor: pointer;
|
|
133
|
+
background: rgba(255, 255, 255, 0.7);
|
|
134
|
+
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
135
|
+
border-radius: 9999px;
|
|
136
|
+
backdrop-filter: blur(10px);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* Inactive states: the toggle is a no-op unless availability is "available". */
|
|
140
|
+
.media-airplay-button[data-availability="unavailable"],
|
|
141
|
+
.media-airplay-button[data-availability="unsupported"] {
|
|
142
|
+
cursor: not-allowed;
|
|
143
|
+
opacity: 0.5;
|
|
144
|
+
filter: grayscale(1);
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## API Reference
|
|
149
|
+
|
|
150
|
+
### Props
|
|
151
|
+
|
|
152
|
+
Prop
|
|
153
|
+
|
|
154
|
+
Type
|
|
155
|
+
|
|
156
|
+
Default
|
|
157
|
+
|
|
158
|
+
Details
|
|
159
|
+
|
|
160
|
+
`disabled`
|
|
161
|
+
|
|
162
|
+
`boolean`
|
|
163
|
+
|
|
164
|
+
`false`
|
|
165
|
+
|
|
166
|
+
▸
|
|
167
|
+
|
|
168
|
+
Description
|
|
169
|
+
|
|
170
|
+
Whether the button is disabled.
|
|
171
|
+
|
|
172
|
+
`label`
|
|
173
|
+
|
|
174
|
+
`string | function`
|
|
175
|
+
|
|
176
|
+
`''`
|
|
177
|
+
|
|
178
|
+
▸
|
|
179
|
+
|
|
180
|
+
Description
|
|
181
|
+
|
|
182
|
+
Custom label for the button.
|
|
183
|
+
|
|
184
|
+
Type
|
|
185
|
+
|
|
186
|
+
`string | ((state: AirPlayButtonState) => string)`
|
|
187
|
+
|
|
188
|
+
### State
|
|
189
|
+
|
|
190
|
+
State is accessible via the `render`, `className`, and `style` props.
|
|
191
|
+
|
|
192
|
+
Property
|
|
193
|
+
|
|
194
|
+
Type
|
|
195
|
+
|
|
196
|
+
Details
|
|
197
|
+
|
|
198
|
+
`state`
|
|
199
|
+
|
|
200
|
+
`'disconnected' | 'connecting' | 'conn...`
|
|
201
|
+
|
|
202
|
+
▸
|
|
203
|
+
|
|
204
|
+
Description
|
|
205
|
+
|
|
206
|
+
Current AirPlay connection state.
|
|
207
|
+
|
|
208
|
+
Type
|
|
209
|
+
|
|
210
|
+
`'disconnected' | 'connecting' | 'connected'`
|
|
211
|
+
|
|
212
|
+
`availability`
|
|
213
|
+
|
|
214
|
+
`'available' | 'unavailable' | 'unsupp...`
|
|
215
|
+
|
|
216
|
+
▸
|
|
217
|
+
|
|
218
|
+
Description
|
|
219
|
+
|
|
220
|
+
Whether AirPlay is available on the active platform and media.
|
|
221
|
+
|
|
222
|
+
Type
|
|
223
|
+
|
|
224
|
+
`'available' | 'unavailable' | 'unsupported'`
|
|
225
|
+
|
|
226
|
+
`label`
|
|
227
|
+
|
|
228
|
+
`string`
|
|
229
|
+
|
|
230
|
+
### Data attributes
|
|
231
|
+
|
|
232
|
+
Attribute
|
|
233
|
+
|
|
234
|
+
Type
|
|
235
|
+
|
|
236
|
+
Details
|
|
237
|
+
|
|
238
|
+
`data-airplay-state`
|
|
239
|
+
|
|
240
|
+
`'disconnected' | 'connecting' | 'conn...`
|
|
241
|
+
|
|
242
|
+
▸
|
|
243
|
+
|
|
244
|
+
Description
|
|
245
|
+
|
|
246
|
+
Current AirPlay connection state. @see [https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state](https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state)
|
|
247
|
+
|
|
248
|
+
Type
|
|
249
|
+
|
|
250
|
+
`'disconnected' | 'connecting' | 'connected'`
|
|
251
|
+
|
|
252
|
+
`data-availability`
|
|
253
|
+
|
|
254
|
+
`'available' | 'unavailable' | 'unsupp...`
|
|
255
|
+
|
|
256
|
+
▸
|
|
257
|
+
|
|
258
|
+
Description
|
|
259
|
+
|
|
260
|
+
Whether AirPlay is available on the active platform and media. @see [https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback](https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback)
|
|
261
|
+
|
|
262
|
+
Type
|
|
263
|
+
|
|
264
|
+
`'available' | 'unavailable' | 'unsupported'`
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# AudioTrackRadioGroup
|
|
2
|
+
|
|
3
|
+
A menu radio group for selecting an audio track
|
|
4
|
+
|
|
5
|
+
Creates radio items from the player audio track state and selects the enabled track.
|
|
6
|
+
|
|
7
|
+
## Anatomy
|
|
8
|
+
|
|
9
|
+
tsx
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
const audioTrack = useAudioTrackOptions();
|
|
13
|
+
|
|
14
|
+
<Menu.RadioGroup value={audioTrack.value} onValueChange={audioTrack.setValue}>
|
|
15
|
+
<Menu.GroupLabel>Audio</Menu.GroupLabel>
|
|
16
|
+
{audioTrack.options.map((option) => (
|
|
17
|
+
<Menu.RadioItem key={option.value} value={option.value} disabled={option.disabled}>
|
|
18
|
+
{option.label}
|
|
19
|
+
<Menu.ItemIndicator checked={option.value === audioTrack.value} />
|
|
20
|
+
</Menu.RadioItem>
|
|
21
|
+
))}
|
|
22
|
+
</Menu.RadioGroup>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Behavior
|
|
26
|
+
|
|
27
|
+
The group is available when the configured media exposes more than one audio track. Labels use the track label, then language, then kind. Pass `formatTrack` to customize the visible labels.
|
|
28
|
+
|
|
29
|
+
`useAudioTrackOptions` returns `null` when the [audio track feature](./feature-audio-track.md) is not configured. Use the returned options with [`Menu.RadioGroup`](./menu.md).
|
|
30
|
+
|
|
31
|
+
## Styling
|
|
32
|
+
|
|
33
|
+
Attribute
|
|
34
|
+
|
|
35
|
+
Values
|
|
36
|
+
|
|
37
|
+
Description
|
|
38
|
+
|
|
39
|
+
`data-audio-track`
|
|
40
|
+
|
|
41
|
+
`string`
|
|
42
|
+
|
|
43
|
+
Current audio track value.
|
|
44
|
+
|
|
45
|
+
`data-disabled`
|
|
46
|
+
|
|
47
|
+
Present / absent
|
|
48
|
+
|
|
49
|
+
Present when audio track selection is disabled.
|
|
50
|
+
|
|
51
|
+
`data-availability`
|
|
52
|
+
|
|
53
|
+
`"available"` / `"unavailable"`
|
|
54
|
+
|
|
55
|
+
Whether multiple audio tracks are available.
|
|
56
|
+
|
|
57
|
+
## Accessibility
|
|
58
|
+
|
|
59
|
+
The group uses the menu radio group pattern. It receives an accessible label from the `label` prop or defaults to `Audio`.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# BackgroundVideo
|
|
2
|
+
|
|
3
|
+
Decorative background video element with automatic muting and looping
|
|
4
|
+
|
|
5
|
+
Decorative background video. By default it’s muted, looped, and autoplaying — use the opt-out attributes below to change that. Renders a `<video>` inside a shadow DOM, positioned to fill its container.
|
|
6
|
+
|
|
7
|
+
## Examples
|
|
8
|
+
|
|
9
|
+
### Basic Usage
|
|
10
|
+
|
|
11
|
+
App.tsx
|
|
12
|
+
|
|
13
|
+
App.css
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
import { BackgroundVideo } from '@videojs/react/media/background-video';
|
|
17
|
+
|
|
18
|
+
export default function BasicUsage() {
|
|
19
|
+
return (
|
|
20
|
+
<div className="container">
|
|
21
|
+
<BackgroundVideo src="https://stream.mux.com/601n4w1fq88NJiVpzvrQQeQfNnnjjfKMIN7dCGAEarTs/highest.mp4" />
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
```
|
|
27
|
+
.container {
|
|
28
|
+
position: relative;
|
|
29
|
+
width: 100%;
|
|
30
|
+
aspect-ratio: 16 / 9;
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## API Reference
|
|
35
|
+
|
|
36
|
+
### Attributes
|
|
37
|
+
|
|
38
|
+
Attribute
|
|
39
|
+
|
|
40
|
+
Description
|
|
41
|
+
|
|
42
|
+
`src`
|
|
43
|
+
|
|
44
|
+
URL of the video source.
|
|
45
|
+
|
|
46
|
+
`nomuted`
|
|
47
|
+
|
|
48
|
+
Opt out of muted playback. By default the video is muted.
|
|
49
|
+
|
|
50
|
+
`noloop`
|
|
51
|
+
|
|
52
|
+
Opt out of looped playback. By default the video loops.
|
|
53
|
+
|
|
54
|
+
`noautoplay`
|
|
55
|
+
|
|
56
|
+
Opt out of autoplay. By default the video autoplays.
|
|
57
|
+
|
|
58
|
+
### CSS Custom Properties
|
|
59
|
+
|
|
60
|
+
Variable
|
|
61
|
+
|
|
62
|
+
Default
|
|
63
|
+
|
|
64
|
+
Description
|
|
65
|
+
|
|
66
|
+
`–media-object-fit`
|
|
67
|
+
|
|
68
|
+
`inherit`
|
|
69
|
+
|
|
70
|
+
Controls how the video fits its container.
|
|
71
|
+
|
|
72
|
+
`–media-object-position`
|
|
73
|
+
|
|
74
|
+
`50% 50%`
|
|
75
|
+
|
|
76
|
+
Controls the position of the video within its container.
|