@videojs/react 10.0.0-beta.24 → 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/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 +5 -0
- package/dist/default/icons/dist/react/default/captions-off.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/quality.js +16 -0
- package/dist/default/icons/dist/react/default/quality.js.map +1 -0
- 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/switches.js +19 -0
- package/dist/default/icons/dist/react/default/switches.js.map +1 -0
- 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 +5 -0
- package/dist/default/icons/dist/react/minimal/captions-off.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/quality.js +16 -0
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -0
- 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/switches.js +19 -0
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/default/icons/index.js +8 -1
- package/dist/default/icons/minimal/index.js +8 -1
- package/dist/default/index.js +21 -17
- 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 +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.map +1 -1
- package/dist/default/player/create-player.js +13 -4
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +414 -69
- package/dist/default/presets/audio/minimal-skin.js +69 -39
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +71 -42
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +419 -121
- package/dist/default/presets/audio/skin.js +70 -40
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +72 -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 +414 -69
- package/dist/default/presets/live-audio/minimal-skin.js +26 -12
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +27 -14
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +419 -121
- package/dist/default/presets/live-audio/skin.js +32 -14
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +27 -13
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +566 -210
- package/dist/default/presets/live-video/minimal-skin.js +93 -12
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +94 -13
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +581 -264
- package/dist/default/presets/live-video/skin.js +95 -16
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +95 -17
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +566 -210
- package/dist/default/presets/video/minimal-skin.js +281 -53
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +284 -57
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +581 -264
- package/dist/default/presets/video/skin.js +282 -57
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +285 -61
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +8 -3
- 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/icon.js +1 -1
- 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 +9 -9
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +26 -4
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- 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/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/root.js +1 -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 +26 -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 +13 -3
- 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/icon.js +1 -1
- 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 +9 -9
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +25 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- 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/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/root.js +1 -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 +27 -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 +0 -24
- 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/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/hooks/use-button.js.map +1 -1
- 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-input-indicator-root.js +2 -2
- package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +7 -4
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +1 -1
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js +16 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +4 -2
- package/dist/default/ui/menu/index.parts.js.map +1 -1
- package/dist/default/ui/menu/menu-back.js +0 -1
- package/dist/default/ui/menu/menu-back.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js +1 -2
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +23 -5
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- 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 +7 -9
- package/dist/default/ui/menu/menu-group.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js +1 -2
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- 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 +44 -23
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group.js +6 -9
- package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-item.js +1 -2
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +1 -1
- package/dist/default/ui/menu/menu-separator.js +1 -2
- package/dist/default/ui/menu/menu-separator.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +85 -29
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- 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/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/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 +7 -3
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +1 -1
- 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/volume-indicator-root.js +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- 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 +5 -0
- package/dist/dev/icons/dist/react/default/captions-off.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 +8 -1
- package/dist/dev/icons/dist/react/default/index.d.ts.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/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/switches.js +19 -0
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -0
- 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 +5 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.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 +8 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts.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/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/switches.js +19 -0
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/dev/icons/index.d.ts +2 -2
- package/dist/dev/icons/index.js +8 -1
- package/dist/dev/icons/minimal/index.d.ts +2 -2
- package/dist/dev/icons/minimal/index.js +8 -1
- package/dist/dev/index.d.ts +19 -15
- package/dist/dev/index.js +21 -17
- 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.js +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 +8 -0
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.js +13 -4
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +414 -69
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +69 -39
- 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 +71 -42
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +419 -121
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +70 -40
- 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 +72 -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 +414 -69
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +26 -12
- 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 +27 -14
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +419 -121
- 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 +32 -14
- 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 +27 -13
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +566 -210
- 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 +93 -12
- 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 +94 -13
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +581 -264
- 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 +95 -16
- 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 +95 -17
- 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 +566 -210
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +281 -53
- 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 +284 -57
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +581 -264
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +282 -57
- 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 +285 -61
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +8 -3
- 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/icon.js +1 -1
- 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 +9 -9
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +26 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- 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/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/root.js +1 -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 +26 -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 +13 -3
- 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/icon.js +1 -1
- 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 +9 -9
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +25 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- 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/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/root.js +1 -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 +27 -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 +0 -24
- 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/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/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/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-input-indicator-root.js +2 -2
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +7 -4
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.js +1 -1
- package/dist/dev/ui/live-button/live-button.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js +16 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/index.parts.d.ts +3 -2
- package/dist/dev/ui/menu/index.parts.js +4 -2
- package/dist/dev/ui/menu/index.parts.js.map +1 -1
- package/dist/dev/ui/menu/menu-back.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-back.js +0 -1
- package/dist/dev/ui/menu/menu-back.js.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js +1 -2
- package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +23 -5
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- 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 +1 -4
- package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group.js +7 -9
- package/dist/dev/ui/menu/menu-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.js +1 -2
- package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
- 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 +3 -0
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +44 -23
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.d.ts +0 -2
- package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.js +6 -9
- package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js +1 -2
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +1 -1
- package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-separator.js +1 -2
- package/dist/dev/ui/menu/menu-separator.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +5 -2
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +85 -29
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- 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/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/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 +7 -3
- 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 +7 -3
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +1 -1
- 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/volume-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- 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 +1 -1
- package/docs/concepts/browser-support.md +1 -1
- package/docs/concepts/cast.md +162 -0
- package/docs/concepts/features.md +1 -1
- package/docs/concepts/overview.md +4 -4
- package/docs/concepts/presets.md +32 -6
- package/docs/concepts/skins.md +903 -318
- package/docs/concepts/why-videojs.md +1 -1
- package/docs/how-to/build-with-ai.md +7 -7
- package/docs/how-to/build-your-own-component.md +3 -3
- package/docs/how-to/customize-skins.md +2721 -847
- package/docs/how-to/installation.md +10 -10
- package/docs/llms.txt +23 -1
- 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/captions-button.md +16 -0
- package/docs/reference/cast-button.md +236 -0
- package/docs/reference/dash-video.md +138 -0
- package/docs/reference/feature-audio-track.md +60 -0
- package/docs/reference/feature-fullscreen.md +20 -3
- package/docs/reference/feature-orientation-lock.md +35 -0
- package/docs/reference/feature-quality.md +70 -0
- package/docs/reference/feature-remote-playback.md +3 -1
- package/docs/reference/feature-text-tracks.md +10 -0
- package/docs/reference/hlsjs-video.md +274 -0
- package/docs/reference/menu.md +1194 -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/play-button.md +1 -1
- package/docs/reference/playback-rate-button.md +16 -0
- package/docs/reference/player-container.md +9 -3
- package/docs/reference/player-provider.md +3 -1
- package/docs/reference/quality-radio-group.md +59 -0
- package/docs/reference/simple-hls-audio-only.md +93 -0
- package/docs/reference/simple-hls-video.md +150 -0
- package/docs/reference/time-slider.md +12 -0
- package/docs/reference/time.md +24 -0
- package/docs/reference/tooltip.md +89 -5
- package/docs/reference/use-media-attach.md +2 -2
- package/docs/reference/use-media.md +103 -2
- package/docs/reference/use-player-context.md +1 -1
- package/docs/reference/use-player.md +16 -1
- package/docs/reference/use-selector.md +1 -1
- package/docs/reference/use-snapshot.md +3 -3
- package/docs/reference/volume-slider.md +1 -1
- package/package.json +7 -7
- 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/default/ui/menu/menu-label.js +0 -23
- package/dist/default/ui/menu/menu-label.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/context.js +0 -20
- package/dist/default/ui/playback-rate-menu/context.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/index.js +0 -3
- package/dist/default/ui/playback-rate-menu/index.parts.js +0 -17
- package/dist/default/ui/playback-rate-menu/index.parts.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +0 -36
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
- package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.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
- package/dist/dev/ui/menu/menu-label.d.ts +0 -15
- package/dist/dev/ui/menu/menu-label.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-label.js +0 -23
- package/dist/dev/ui/menu/menu-label.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/context.js +0 -20
- package/dist/dev/ui/playback-rate-menu/context.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/index.d.ts +0 -3
- package/dist/dev/ui/playback-rate-menu/index.js +0 -3
- package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +0 -12
- package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/index.parts.js +0 -17
- package/dist/dev/ui/playback-rate-menu/index.parts.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +0 -14
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +0 -23
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +0 -39
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +0 -14
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +0 -26
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
|
@@ -14,6 +14,8 @@ tsx
|
|
|
14
14
|
|
|
15
15
|
Cycles through playback rates on click. The default rate list is `[0.2, 0.5, 0.7, 1, 1.2, 1.5, 1.7, 2]`. After the last rate, it wraps back to the first. If the current rate isn’t in the list (e.g., set programmatically), the button jumps to the next rate greater than the current one.
|
|
16
16
|
|
|
17
|
+
When `menuTrigger` is enabled, activation opens the linked playback-rate menu instead of cycling through rates. Use this mode when the button is the trigger for a `Menu` that contains playback-rate options.
|
|
18
|
+
|
|
17
19
|
## Styling
|
|
18
20
|
|
|
19
21
|
Display the current rate using the `data-rate` attribute:
|
|
@@ -32,6 +34,8 @@ tsx
|
|
|
32
34
|
|
|
33
35
|
Renders a `<button>` with an automatic `aria-label` of `"Playback rate {rate}"` (e.g., `"Playback rate 1.5"`). Override with the `label` prop. Keyboard activation: Enter / Space.
|
|
34
36
|
|
|
37
|
+
In menu-trigger mode, the button behaves as a menu trigger and reflects menu state through the trigger attributes.
|
|
38
|
+
|
|
35
39
|
## Examples
|
|
36
40
|
|
|
37
41
|
### Basic Usage
|
|
@@ -132,6 +136,18 @@ Type
|
|
|
132
136
|
|
|
133
137
|
`string | ((state: PlaybackRateButtonState) => string)`
|
|
134
138
|
|
|
139
|
+
`menuTrigger`
|
|
140
|
+
|
|
141
|
+
`boolean`
|
|
142
|
+
|
|
143
|
+
`false`
|
|
144
|
+
|
|
145
|
+
▸
|
|
146
|
+
|
|
147
|
+
Description
|
|
148
|
+
|
|
149
|
+
When true, pointer activation opens a menu instead of cycling. React sets this automatically inside `Menu.Trigger`.
|
|
150
|
+
|
|
135
151
|
### State
|
|
136
152
|
|
|
137
153
|
State is accessible via the `render`, `className`, and `style` props.
|
|
@@ -10,7 +10,9 @@ tsx
|
|
|
10
10
|
<Player.Provider>
|
|
11
11
|
<Player.Container>
|
|
12
12
|
<video src="video.mp4" />
|
|
13
|
-
<Controls
|
|
13
|
+
<Controls.Root>
|
|
14
|
+
{/* ... */}
|
|
15
|
+
</Controls.Root>
|
|
14
16
|
</Player.Container>
|
|
15
17
|
</Player.Provider>
|
|
16
18
|
```
|
|
@@ -41,7 +43,9 @@ tsx
|
|
|
41
43
|
```
|
|
42
44
|
<Player.Container style={{ width: 640, aspectRatio: '16/9' }}>
|
|
43
45
|
<video src="video.mp4" />
|
|
44
|
-
<Controls
|
|
46
|
+
<Controls.Root>
|
|
47
|
+
{/* ... */}
|
|
48
|
+
</Controls.Root>
|
|
45
49
|
</Player.Container>
|
|
46
50
|
```
|
|
47
51
|
|
|
@@ -92,7 +96,9 @@ tsx
|
|
|
92
96
|
<Player.Provider>
|
|
93
97
|
<Player.Container>
|
|
94
98
|
<video src="video.mp4" />
|
|
95
|
-
<Controls
|
|
99
|
+
<Controls.Root> {/* fullscreen, activity detection, gestures */}
|
|
100
|
+
{/* ... */}
|
|
101
|
+
</Controls.Root>
|
|
96
102
|
</Player.Container>
|
|
97
103
|
|
|
98
104
|
<Transcript /> {/* state & actions, but no container behaviors */}
|
|
@@ -93,7 +93,9 @@ tsx
|
|
|
93
93
|
<Player.Provider>
|
|
94
94
|
<Player.Container>
|
|
95
95
|
<video src="video.mp4" />
|
|
96
|
-
<Controls
|
|
96
|
+
<Controls.Root> {/* goes fullscreen with the video */}
|
|
97
|
+
{/* ... */}
|
|
98
|
+
</Controls.Root>
|
|
97
99
|
</Player.Container>
|
|
98
100
|
|
|
99
101
|
<Transcript /> {/* outside container — still has store access */}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# QualityRadioGroup
|
|
2
|
+
|
|
3
|
+
A menu radio group for selecting video quality
|
|
4
|
+
|
|
5
|
+
Creates radio items from the player video rendition state and selects automatic or manual quality.
|
|
6
|
+
|
|
7
|
+
## Anatomy
|
|
8
|
+
|
|
9
|
+
tsx
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
const quality = useQualityOptions();
|
|
13
|
+
|
|
14
|
+
<Menu.RadioGroup value={quality.value} onValueChange={quality.setValue}>
|
|
15
|
+
<Menu.GroupLabel>Quality</Menu.GroupLabel>
|
|
16
|
+
{quality.options.map((option) => (
|
|
17
|
+
<Menu.RadioItem key={option.value} value={option.value} disabled={option.disabled}>
|
|
18
|
+
{option.label}
|
|
19
|
+
<Menu.ItemIndicator checked={option.value === quality.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 video rendition. The first generated option is `Auto`; selecting it returns control to adaptive bitrate selection. Pass `formatRendition` to customize visible rendition labels.
|
|
28
|
+
|
|
29
|
+
`useQualityOptions` returns `null` when the [quality feature](./feature-quality.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-quality`
|
|
40
|
+
|
|
41
|
+
`string`
|
|
42
|
+
|
|
43
|
+
Current quality value.
|
|
44
|
+
|
|
45
|
+
`data-disabled`
|
|
46
|
+
|
|
47
|
+
Present / absent
|
|
48
|
+
|
|
49
|
+
Present when quality selection is disabled.
|
|
50
|
+
|
|
51
|
+
`data-availability`
|
|
52
|
+
|
|
53
|
+
`"available"` / `"unavailable"`
|
|
54
|
+
|
|
55
|
+
Whether multiple renditions 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 `Quality`.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# SimpleHlsAudioOnly
|
|
2
|
+
|
|
3
|
+
Audio-only HLS element that plays the audio rendition of an HLS stream
|
|
4
|
+
|
|
5
|
+
Audio-only HLS element that plays just the audio rendition of an HLS stream — even when the source is a mixed audio/video manifest. Useful for audio podcast players, background audio, and bandwidth-constrained contexts where downloading video data would be wasted. For full audio/video HLS playback, see [SimpleHlsVideo](/docs/framework/html/reference/simple-hls-video/).
|
|
6
|
+
|
|
7
|
+
## Examples
|
|
8
|
+
|
|
9
|
+
### Basic Usage
|
|
10
|
+
|
|
11
|
+
App.tsx
|
|
12
|
+
|
|
13
|
+
App.css
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
import { SimpleHlsAudioOnly } from '@videojs/react/media/simple-hls-audio-only';
|
|
17
|
+
|
|
18
|
+
export default function BasicUsage() {
|
|
19
|
+
return (
|
|
20
|
+
<SimpleHlsAudioOnly
|
|
21
|
+
className="simple-hls-audio-only"
|
|
22
|
+
src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8"
|
|
23
|
+
controls
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
```
|
|
29
|
+
.simple-hls-audio-only {
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: 54px;
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## API Reference
|
|
36
|
+
|
|
37
|
+
### Host Properties
|
|
38
|
+
|
|
39
|
+
Property
|
|
40
|
+
|
|
41
|
+
Type
|
|
42
|
+
|
|
43
|
+
Default
|
|
44
|
+
|
|
45
|
+
Details
|
|
46
|
+
|
|
47
|
+
`engine`
|
|
48
|
+
|
|
49
|
+
`Composition<SimpleHlsAudioOnlyEngineState, SimpleHlsAudioOnlyEngineContext>`
|
|
50
|
+
|
|
51
|
+
`—`
|
|
52
|
+
|
|
53
|
+
▸
|
|
54
|
+
|
|
55
|
+
Description
|
|
56
|
+
|
|
57
|
+
Read-only. Underlying playback engine — the low-level SPF reactive composition that drives playback. An advanced escape hatch for direct engine access; normal playback is driven through this element's own properties and methods.
|
|
58
|
+
|
|
59
|
+
`preload`
|
|
60
|
+
|
|
61
|
+
`'' | 'none' | 'metadata' | 'auto'`
|
|
62
|
+
|
|
63
|
+
`''`
|
|
64
|
+
|
|
65
|
+
▸
|
|
66
|
+
|
|
67
|
+
Description
|
|
68
|
+
|
|
69
|
+
Preload type (`'none'` / `'metadata'` / `'auto'`).
|
|
70
|
+
|
|
71
|
+
`src`
|
|
72
|
+
|
|
73
|
+
`string`
|
|
74
|
+
|
|
75
|
+
`''`
|
|
76
|
+
|
|
77
|
+
### Attributes
|
|
78
|
+
|
|
79
|
+
Renders a native `<audio>` element and accepts these media attributes as React props. The standard ones behave as described in the [MDN media attributes reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio): `autopictureinpicture``autoPlay``controls``controlslist``crossOrigin``disablepictureinpicture``disableremoteplayback``loading``loop``muted``playsInline``poster``preload``src``stream-type`
|
|
80
|
+
|
|
81
|
+
### Events
|
|
82
|
+
|
|
83
|
+
Handle these media events with React event props (e.g. `onPlay`, `onTimeUpdate`). See [media events](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#events): `abort``canplay``canplaythrough``durationchange``emptied``ended``error``loadeddata``loadedmetadata``loadstart``pause``play``playing``progress``ratechange``seeked``seeking``stalled``suspend``timeupdate``volumechange``waiting`
|
|
84
|
+
|
|
85
|
+
These media events have no React prop — attach a listener through a `ref` with `addEventListener`: `addtrack``change``removetrack`
|
|
86
|
+
|
|
87
|
+
This element dispatches no events beyond the media events above.
|
|
88
|
+
|
|
89
|
+
### Methods
|
|
90
|
+
|
|
91
|
+
Supports these methods from the native media API. See [HTMLMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) for the core methods: `addTextTrack``canPlayType``load``pause``play`
|
|
92
|
+
|
|
93
|
+
In React, call these through a `ref` to the element.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# SimpleHlsVideo
|
|
2
|
+
|
|
3
|
+
Lightweight HLS video element with minimal bundle size
|
|
4
|
+
|
|
5
|
+
Lightweight HLS video element optimized for minimal bundle size. For full hls.js feature support, use [HlsJsVideo](/docs/framework/html/reference/hlsjs-video/) instead.
|
|
6
|
+
|
|
7
|
+
## Examples
|
|
8
|
+
|
|
9
|
+
### Basic Usage
|
|
10
|
+
|
|
11
|
+
App.tsx
|
|
12
|
+
|
|
13
|
+
App.css
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
import { SimpleHlsVideo } from '@videojs/react/media/simple-hls-video';
|
|
17
|
+
|
|
18
|
+
export default function BasicUsage() {
|
|
19
|
+
return (
|
|
20
|
+
<SimpleHlsVideo
|
|
21
|
+
className="simple-hls-video"
|
|
22
|
+
src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8"
|
|
23
|
+
autoPlay
|
|
24
|
+
muted
|
|
25
|
+
playsInline
|
|
26
|
+
loop
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
```
|
|
32
|
+
.simple-hls-video {
|
|
33
|
+
width: 100%;
|
|
34
|
+
aspect-ratio: 16 / 9;
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## API Reference
|
|
39
|
+
|
|
40
|
+
### Host Properties
|
|
41
|
+
|
|
42
|
+
Property
|
|
43
|
+
|
|
44
|
+
Type
|
|
45
|
+
|
|
46
|
+
Default
|
|
47
|
+
|
|
48
|
+
Details
|
|
49
|
+
|
|
50
|
+
`engine`
|
|
51
|
+
|
|
52
|
+
`Composition<SimpleHlsEngineState, SimpleHlsEngineContext>`
|
|
53
|
+
|
|
54
|
+
`—`
|
|
55
|
+
|
|
56
|
+
▸
|
|
57
|
+
|
|
58
|
+
Description
|
|
59
|
+
|
|
60
|
+
Read-only. Underlying playback engine — the low-level SPF reactive composition that drives playback. An advanced escape hatch for direct engine access; normal playback is driven through this element's own properties and methods.
|
|
61
|
+
|
|
62
|
+
`preload`
|
|
63
|
+
|
|
64
|
+
`'' | 'none' | 'metadata' | 'auto'`
|
|
65
|
+
|
|
66
|
+
`''`
|
|
67
|
+
|
|
68
|
+
▸
|
|
69
|
+
|
|
70
|
+
Description
|
|
71
|
+
|
|
72
|
+
Preload type (`'none'` / `'metadata'` / `'auto'`).
|
|
73
|
+
|
|
74
|
+
`src`
|
|
75
|
+
|
|
76
|
+
`string`
|
|
77
|
+
|
|
78
|
+
`''`
|
|
79
|
+
|
|
80
|
+
### Attributes
|
|
81
|
+
|
|
82
|
+
Renders a native `<video>` element and accepts these media attributes as React props. The standard ones behave as described in the [MDN media attributes reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video): `autopictureinpicture``autoPlay``controls``controlslist``crossOrigin``disablepictureinpicture``disableremoteplayback``loading``loop``muted``playsInline``poster``preload``src``stream-type`
|
|
83
|
+
|
|
84
|
+
### Events
|
|
85
|
+
|
|
86
|
+
Handle these media events with React event props (e.g. `onPlay`, `onTimeUpdate`). See [media events](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#events): `abort``canplay``canplaythrough``durationchange``emptied``ended``error``loadeddata``loadedmetadata``loadstart``pause``play``playing``progress``ratechange``resize``seeked``seeking``stalled``suspend``timeupdate``volumechange``waiting`
|
|
87
|
+
|
|
88
|
+
These media events have no React prop — attach a listener through a `ref` with `addEventListener`: `addtrack``change``enterpictureinpicture``leavepictureinpicture``removetrack`
|
|
89
|
+
|
|
90
|
+
This element dispatches no events beyond the media events above.
|
|
91
|
+
|
|
92
|
+
### Methods
|
|
93
|
+
|
|
94
|
+
Supports these methods from the native media API. See [HTMLMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) for the core methods: `addTextTrack``canPlayType``exitFullscreen``exitPictureInPicture``load``pause``play``requestFullscreen``requestPictureInPicture`
|
|
95
|
+
|
|
96
|
+
In React, call these through a `ref` to the element.
|
|
97
|
+
|
|
98
|
+
### CSS Custom Properties
|
|
99
|
+
|
|
100
|
+
Variable
|
|
101
|
+
|
|
102
|
+
Details
|
|
103
|
+
|
|
104
|
+
`--media-video-border-radius`
|
|
105
|
+
|
|
106
|
+
▸
|
|
107
|
+
|
|
108
|
+
Description
|
|
109
|
+
|
|
110
|
+
Border radius of the video element.
|
|
111
|
+
|
|
112
|
+
`--media-object-fit`
|
|
113
|
+
|
|
114
|
+
▸
|
|
115
|
+
|
|
116
|
+
Description
|
|
117
|
+
|
|
118
|
+
Object fit for the video.
|
|
119
|
+
|
|
120
|
+
`--media-object-position`
|
|
121
|
+
|
|
122
|
+
▸
|
|
123
|
+
|
|
124
|
+
Description
|
|
125
|
+
|
|
126
|
+
Object position for the video.
|
|
127
|
+
|
|
128
|
+
`--media-caption-track-duration`
|
|
129
|
+
|
|
130
|
+
▸
|
|
131
|
+
|
|
132
|
+
Description
|
|
133
|
+
|
|
134
|
+
Duration of the caption track transition.
|
|
135
|
+
|
|
136
|
+
`--media-caption-track-delay`
|
|
137
|
+
|
|
138
|
+
▸
|
|
139
|
+
|
|
140
|
+
Description
|
|
141
|
+
|
|
142
|
+
Delay before the caption track transition.
|
|
143
|
+
|
|
144
|
+
`--media-caption-track-y`
|
|
145
|
+
|
|
146
|
+
▸
|
|
147
|
+
|
|
148
|
+
Description
|
|
149
|
+
|
|
150
|
+
Vertical offset of the caption track.
|
|
@@ -282,6 +282,18 @@ Description
|
|
|
282
282
|
|
|
283
283
|
Axis of slider movement.
|
|
284
284
|
|
|
285
|
+
`pauseOnDrag`
|
|
286
|
+
|
|
287
|
+
`boolean`
|
|
288
|
+
|
|
289
|
+
`false`
|
|
290
|
+
|
|
291
|
+
▸
|
|
292
|
+
|
|
293
|
+
Description
|
|
294
|
+
|
|
295
|
+
When true, pause playback while the user is dragging the thumb, resuming on release if it was playing before.
|
|
296
|
+
|
|
285
297
|
`step`
|
|
286
298
|
|
|
287
299
|
`number`
|
package/docs/reference/time.md
CHANGED
|
@@ -24,6 +24,16 @@ Three display types — `current`, `duration`, and `remaining` — in digital fo
|
|
|
24
24
|
|
|
25
25
|
Hour display is triggered when either the current value or the duration exceeds 1 hour, ensuring consistency within a Group. Remaining time displays a negative sign (customizable via the `negativeSign` prop).
|
|
26
26
|
|
|
27
|
+
Use `toggle` to let current displays switch between elapsed and remaining time, or remaining and duration displays switch between those two values. The initial display comes from `type`.
|
|
28
|
+
|
|
29
|
+
tsx
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
<Time.Value toggle />
|
|
33
|
+
<Time.Value toggle type="remaining" />
|
|
34
|
+
<Time.Value toggle type="duration" />
|
|
35
|
+
```
|
|
36
|
+
|
|
27
37
|
## Styling
|
|
28
38
|
|
|
29
39
|
The negative sign is rendered inside `<span aria-hidden="true">` and can be hidden with CSS:
|
|
@@ -45,6 +55,8 @@ Each `<Time.Value>` has:
|
|
|
45
55
|
|
|
46
56
|
No `aria-live` region is used — time updates too frequently and might overwhelm screen readers. The separator is `aria-hidden="true"` since screen readers already hear each time value separately. The negative sign is also `aria-hidden` because `aria-valuetext` already conveys “remaining”. In React, `<time datetime>` provides machine-readable time for parsers.
|
|
47
57
|
|
|
58
|
+
Toggleable time displays receive `role="button"` and keyboard support for Enter and Space.
|
|
59
|
+
|
|
48
60
|
## Examples
|
|
49
61
|
|
|
50
62
|
### Current Time
|
|
@@ -382,6 +394,18 @@ Description
|
|
|
382
394
|
|
|
383
395
|
Symbol prepended to remaining time.
|
|
384
396
|
|
|
397
|
+
`toggle`
|
|
398
|
+
|
|
399
|
+
`boolean`
|
|
400
|
+
|
|
401
|
+
`false`
|
|
402
|
+
|
|
403
|
+
▸
|
|
404
|
+
|
|
405
|
+
Description
|
|
406
|
+
|
|
407
|
+
Whether the time display can be toggled.
|
|
408
|
+
|
|
385
409
|
`type`
|
|
386
410
|
|
|
387
411
|
`'current' | 'duration' | 'remaining'`
|
|
@@ -87,7 +87,7 @@ export default function BasicUsage() {
|
|
|
87
87
|
<Tooltip.Trigger className="trigger">Hover me</Tooltip.Trigger>
|
|
88
88
|
<Tooltip.Popup className="media-tooltip">
|
|
89
89
|
<Tooltip.Arrow className="arrow" />
|
|
90
|
-
Tooltip content
|
|
90
|
+
<Tooltip.Label>Tooltip content</Tooltip.Label>
|
|
91
91
|
</Tooltip.Popup>
|
|
92
92
|
</Tooltip.Root>
|
|
93
93
|
</div>
|
|
@@ -152,21 +152,21 @@ export default function Grouping() {
|
|
|
152
152
|
<Tooltip.Trigger className="trigger">Play</Tooltip.Trigger>
|
|
153
153
|
<Tooltip.Popup className="media-tooltip">
|
|
154
154
|
<Tooltip.Arrow className="arrow" />
|
|
155
|
-
Play video
|
|
155
|
+
<Tooltip.Label>Play video</Tooltip.Label>
|
|
156
156
|
</Tooltip.Popup>
|
|
157
157
|
</Tooltip.Root>
|
|
158
158
|
<Tooltip.Root>
|
|
159
159
|
<Tooltip.Trigger className="trigger">Mute</Tooltip.Trigger>
|
|
160
160
|
<Tooltip.Popup className="media-tooltip">
|
|
161
161
|
<Tooltip.Arrow className="arrow" />
|
|
162
|
-
Mute audio
|
|
162
|
+
<Tooltip.Label>Mute audio</Tooltip.Label>
|
|
163
163
|
</Tooltip.Popup>
|
|
164
164
|
</Tooltip.Root>
|
|
165
165
|
<Tooltip.Root>
|
|
166
166
|
<Tooltip.Trigger className="trigger">Fullscreen</Tooltip.Trigger>
|
|
167
167
|
<Tooltip.Popup className="media-tooltip">
|
|
168
168
|
<Tooltip.Arrow className="arrow" />
|
|
169
|
-
Enter fullscreen
|
|
169
|
+
<Tooltip.Label>Enter fullscreen</Tooltip.Label>
|
|
170
170
|
</Tooltip.Popup>
|
|
171
171
|
</Tooltip.Root>
|
|
172
172
|
</Tooltip.Provider>
|
|
@@ -628,4 +628,88 @@ Indicates how the tooltip is aligned relative to the specified side.
|
|
|
628
628
|
|
|
629
629
|
Arrow
|
|
630
630
|
|
|
631
|
-
Decorative arrow pointing from the tooltip toward the trigger. Hidden from assistive technology.
|
|
631
|
+
Decorative arrow pointing from the tooltip toward the trigger. Hidden from assistive technology.
|
|
632
|
+
|
|
633
|
+
###
|
|
634
|
+
|
|
635
|
+
Label
|
|
636
|
+
|
|
637
|
+
Tooltip body label; defaults to context `content.label` from the linked trigger.
|
|
638
|
+
|
|
639
|
+
#### Data attributes
|
|
640
|
+
|
|
641
|
+
Attribute
|
|
642
|
+
|
|
643
|
+
Type
|
|
644
|
+
|
|
645
|
+
Details
|
|
646
|
+
|
|
647
|
+
`data-open`
|
|
648
|
+
|
|
649
|
+
▸
|
|
650
|
+
|
|
651
|
+
Description
|
|
652
|
+
|
|
653
|
+
Present when the tooltip is open.
|
|
654
|
+
|
|
655
|
+
`data-side`
|
|
656
|
+
|
|
657
|
+
`'top' | 'bottom' | 'left' | 'right'`
|
|
658
|
+
|
|
659
|
+
▸
|
|
660
|
+
|
|
661
|
+
Description
|
|
662
|
+
|
|
663
|
+
Indicates which side the tooltip is positioned relative to the trigger.
|
|
664
|
+
|
|
665
|
+
`data-align`
|
|
666
|
+
|
|
667
|
+
`'start' | 'center' | 'end'`
|
|
668
|
+
|
|
669
|
+
▸
|
|
670
|
+
|
|
671
|
+
Description
|
|
672
|
+
|
|
673
|
+
Indicates how the tooltip is aligned relative to the specified side.
|
|
674
|
+
|
|
675
|
+
###
|
|
676
|
+
|
|
677
|
+
Shortcut
|
|
678
|
+
|
|
679
|
+
Keyboard shortcut hint; apply skin `className` (CSS: `media-tooltip__kbd`; Tailwind: `popup.tooltipShortcut`).
|
|
680
|
+
|
|
681
|
+
#### Data attributes
|
|
682
|
+
|
|
683
|
+
Attribute
|
|
684
|
+
|
|
685
|
+
Type
|
|
686
|
+
|
|
687
|
+
Details
|
|
688
|
+
|
|
689
|
+
`data-open`
|
|
690
|
+
|
|
691
|
+
▸
|
|
692
|
+
|
|
693
|
+
Description
|
|
694
|
+
|
|
695
|
+
Present when the tooltip is open.
|
|
696
|
+
|
|
697
|
+
`data-side`
|
|
698
|
+
|
|
699
|
+
`'top' | 'bottom' | 'left' | 'right'`
|
|
700
|
+
|
|
701
|
+
▸
|
|
702
|
+
|
|
703
|
+
Description
|
|
704
|
+
|
|
705
|
+
Indicates which side the tooltip is positioned relative to the trigger.
|
|
706
|
+
|
|
707
|
+
`data-align`
|
|
708
|
+
|
|
709
|
+
`'start' | 'center' | 'end'`
|
|
710
|
+
|
|
711
|
+
▸
|
|
712
|
+
|
|
713
|
+
Description
|
|
714
|
+
|
|
715
|
+
Indicates how the tooltip is aligned relative to the specified side.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Hook to register a custom media element with the player context
|
|
4
4
|
|
|
5
|
-
`useMediaAttach` returns a setter function for attaching a media element to the player context. The built-in `<Video>` and `<Audio>` components use this internally
|
|
5
|
+
`useMediaAttach` returns a setter function for attaching a media element to the player context. The built-in `<Video>` and `<Audio>` components use this internally – you only need it when building a custom media element.
|
|
6
6
|
|
|
7
7
|
CustomMedia.tsx
|
|
8
8
|
|
|
@@ -27,7 +27,7 @@ For standard `<video>` and `<audio>` playback, use the built-in components.
|
|
|
27
27
|
|
|
28
28
|
## Safe outside Provider
|
|
29
29
|
|
|
30
|
-
Returns `undefined` when called outside a Player `Provider`. Check the return value before using it
|
|
30
|
+
Returns `undefined` when called outside a Player `Provider`. Check the return value before using it – this avoids crashes in components that may render outside the player tree.
|
|
31
31
|
|
|
32
32
|
## API Reference
|
|
33
33
|
|
|
@@ -1,8 +1,109 @@
|
|
|
1
1
|
# Player.useMedia
|
|
2
2
|
|
|
3
|
-
Hook to access the
|
|
3
|
+
Hook to access the media object from within a Player.Provider
|
|
4
4
|
|
|
5
|
-
`Player.useMedia` returns the current `
|
|
5
|
+
`Player.useMedia` (from [`createPlayer`](./create-player.md)) returns the current `Media` object (or `null` if no media has been registered yet). `Media` is a runtime-agnostic playback interface — any instance that conforms to it, including an `HTMLVideoElement`, can be the media. It exposes capabilities like `play()` and event subscription rather than assuming a native element. It must be called within a `Player.Provider`. The media object becomes available after a `<Video>` or `<Audio>` component mounts inside the provider tree. To attach a custom media element instead of the built-in components, see [`useMediaAttach`](./use-media-attach.md).
|
|
6
|
+
|
|
7
|
+
## Examples
|
|
8
|
+
|
|
9
|
+
### Basic Usage
|
|
10
|
+
|
|
11
|
+
App.tsx
|
|
12
|
+
|
|
13
|
+
App.css
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
import { createPlayer, isMediaSourceCapable, isMediaVideoDimensionsCapable } from '@videojs/react';
|
|
17
|
+
import { Video, videoFeatures } from '@videojs/react/video';
|
|
18
|
+
|
|
19
|
+
const Player = createPlayer({
|
|
20
|
+
features: videoFeatures,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
function MediaInfo() {
|
|
24
|
+
const media = Player.useMedia();
|
|
25
|
+
|
|
26
|
+
if (!media) return null;
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<dl className="info-panel">
|
|
30
|
+
{isMediaSourceCapable(media) && (
|
|
31
|
+
<div>
|
|
32
|
+
<dt>src</dt>
|
|
33
|
+
<dd>{media.currentSrc || '—'}</dd>
|
|
34
|
+
</div>
|
|
35
|
+
)}
|
|
36
|
+
{isMediaVideoDimensionsCapable(media) && (
|
|
37
|
+
<>
|
|
38
|
+
<div>
|
|
39
|
+
<dt>videoWidth</dt>
|
|
40
|
+
<dd>{media.videoWidth}px</dd>
|
|
41
|
+
</div>
|
|
42
|
+
<div>
|
|
43
|
+
<dt>videoHeight</dt>
|
|
44
|
+
<dd>{media.videoHeight}px</dd>
|
|
45
|
+
</div>
|
|
46
|
+
</>
|
|
47
|
+
)}
|
|
48
|
+
</dl>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export default function BasicUsage() {
|
|
53
|
+
return (
|
|
54
|
+
<Player.Provider>
|
|
55
|
+
<Player.Container className="media-container">
|
|
56
|
+
<Video
|
|
57
|
+
src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4"
|
|
58
|
+
autoPlay
|
|
59
|
+
muted
|
|
60
|
+
playsInline
|
|
61
|
+
loop
|
|
62
|
+
/>
|
|
63
|
+
<MediaInfo />
|
|
64
|
+
</Player.Container>
|
|
65
|
+
</Player.Provider>
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
```
|
|
70
|
+
.media-container {
|
|
71
|
+
position: relative;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.media-container video {
|
|
75
|
+
width: 100%;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.info-panel {
|
|
79
|
+
display: flex;
|
|
80
|
+
flex-direction: column;
|
|
81
|
+
gap: 4px;
|
|
82
|
+
padding: 12px;
|
|
83
|
+
margin: 0;
|
|
84
|
+
font-size: 0.8125rem;
|
|
85
|
+
background: rgba(0, 0, 0, 0.05);
|
|
86
|
+
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.info-panel div {
|
|
90
|
+
display: flex;
|
|
91
|
+
gap: 8px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.info-panel dt {
|
|
95
|
+
min-width: 80px;
|
|
96
|
+
color: #6b7280;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.info-panel dd {
|
|
100
|
+
margin: 0;
|
|
101
|
+
overflow: hidden;
|
|
102
|
+
text-overflow: ellipsis;
|
|
103
|
+
font-variant-numeric: tabular-nums;
|
|
104
|
+
white-space: nowrap;
|
|
105
|
+
}
|
|
106
|
+
```
|
|
6
107
|
|
|
7
108
|
## API Reference
|
|
8
109
|
|