@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,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useTooltipContext } from "./context.js";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
//#region src/ui/tooltip/tooltip-label.tsx
|
|
6
|
+
/** Tooltip body label; defaults to context `content.label` from the linked trigger. */
|
|
7
|
+
const TooltipLabel = forwardRef(function TooltipLabel({ render, className, style, children, ...elementProps }, forwardedRef) {
|
|
8
|
+
const { state, stateAttrMap, content } = useTooltipContext();
|
|
9
|
+
const body = children !== void 0 ? children : content?.label ?? "";
|
|
10
|
+
return renderElement("span", {
|
|
11
|
+
render,
|
|
12
|
+
className,
|
|
13
|
+
style
|
|
14
|
+
}, {
|
|
15
|
+
state,
|
|
16
|
+
stateAttrMap,
|
|
17
|
+
ref: forwardedRef,
|
|
18
|
+
props: [elementProps, { children: body }]
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { TooltipLabel };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=tooltip-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-label.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-label.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipLabelProps extends UIComponentProps<'span', TooltipState> {}\n\n/** Tooltip body label; defaults to context `content.label` from the linked trigger. */\nexport const TooltipLabel = forwardRef<HTMLSpanElement, TooltipLabelProps>(function TooltipLabel(\n { render, className, style, children, ...elementProps },\n forwardedRef\n) {\n const { state, stateAttrMap, content } = useTooltipContext();\n const body = children !== undefined ? children : (content?.label ?? '');\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [elementProps, { children: body }],\n }\n );\n});\n\nexport namespace TooltipLabel {\n export type Props = TooltipLabelProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;;AAYA,MAAa,eAAe,WAA+C,SAAS,aAClF,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBACzC,cACA;CACA,MAAM,EAAE,OAAO,cAAc,YAAY,mBAAmB;CAC5D,MAAM,OAAO,aAAa,KAAA,IAAY,WAAY,SAAS,SAAS;AAEpE,QAAO,cACL,QACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC,cAAc,EAAE,UAAU,MAAM,CAAC;EAC1C,CACF;EACD"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
import { useComposedRefs } from "../../utils/use-composed-refs.js";
|
|
3
3
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
4
|
import { useTooltipContext } from "./context.js";
|
|
5
|
-
import {
|
|
5
|
+
import { TooltipLabel } from "./tooltip-label.js";
|
|
6
|
+
import { TooltipShortcut } from "./tooltip-shortcut.js";
|
|
7
|
+
import { getAnchorPositionStyle, getPopupPositionRect, getPositioningBoundaryRect, isEventWithinElement, resolveOffsets, resolvePositioningBoundary } from "@videojs/core/dom";
|
|
6
8
|
import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
9
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
10
|
import { TooltipCSSVars } from "@videojs/core";
|
|
8
11
|
import { supportsAnchorPositioning } from "@videojs/utils/dom";
|
|
9
12
|
//#region src/ui/tooltip/tooltip-popup.tsx
|
|
@@ -13,8 +16,8 @@ const POPUP_RESET = {
|
|
|
13
16
|
margin: 0
|
|
14
17
|
};
|
|
15
18
|
/** Container for the tooltip content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */
|
|
16
|
-
const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style, ...elementProps }, forwardedRef) {
|
|
17
|
-
const { core, tooltip, state, stateAttrMap, anchorName, popupId,
|
|
19
|
+
const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style, children, ...elementProps }, forwardedRef) {
|
|
20
|
+
const { core, tooltip, state, stateAttrMap, anchorName, popupId, boundary, container } = useTooltipContext();
|
|
18
21
|
const internalRef = useRef(null);
|
|
19
22
|
const composedRef = useComposedRefs(forwardedRef, useCallback((el) => {
|
|
20
23
|
tooltip.setPopupElement(el);
|
|
@@ -31,7 +34,6 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
|
|
|
31
34
|
}, [anchorName, posOpts]);
|
|
32
35
|
const [manualStyle, setManualStyle] = useState(null);
|
|
33
36
|
useLayoutEffect(() => {
|
|
34
|
-
if (supportsAnchorPositioning()) return;
|
|
35
37
|
if (!state.open) {
|
|
36
38
|
setManualStyle(null);
|
|
37
39
|
return;
|
|
@@ -40,13 +42,24 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
|
|
|
40
42
|
const triggerEl = tooltip.triggerElement;
|
|
41
43
|
const popupEl = internalRef.current;
|
|
42
44
|
if (!triggerEl || !popupEl) return;
|
|
43
|
-
|
|
45
|
+
const triggerRect = triggerEl.getBoundingClientRect();
|
|
46
|
+
const boundaryElement = resolvePositioningBoundary(boundary, {
|
|
47
|
+
container,
|
|
48
|
+
root: popupEl.getRootNode()
|
|
49
|
+
});
|
|
50
|
+
const { positionAnchor: _, ...nextStyle } = getAnchorPositionStyle(anchorName, posOpts, triggerRect, supportsAnchorPositioning() ? void 0 : getPopupPositionRect(popupEl), getPositioningBoundaryRect(boundaryElement), resolveOffsets(popupEl, TooltipCSSVars), TooltipCSSVars);
|
|
51
|
+
setManualStyle(nextStyle);
|
|
44
52
|
}
|
|
45
53
|
measure();
|
|
46
54
|
const triggerEl = tooltip.triggerElement;
|
|
47
55
|
const popupEl = internalRef.current;
|
|
56
|
+
const boundaryElement = popupEl ? resolvePositioningBoundary(boundary, {
|
|
57
|
+
container,
|
|
58
|
+
root: popupEl.getRootNode()
|
|
59
|
+
}) : null;
|
|
48
60
|
let rafId = 0;
|
|
49
|
-
function reposition() {
|
|
61
|
+
function reposition(event) {
|
|
62
|
+
if (event && isEventWithinElement(event, internalRef.current)) return;
|
|
50
63
|
cancelAnimationFrame(rafId);
|
|
51
64
|
rafId = requestAnimationFrame(measure);
|
|
52
65
|
}
|
|
@@ -56,6 +69,7 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
|
|
|
56
69
|
}) : null;
|
|
57
70
|
if (triggerEl && resizeObserver) resizeObserver.observe(triggerEl);
|
|
58
71
|
if (popupEl && resizeObserver) resizeObserver.observe(popupEl);
|
|
72
|
+
if (boundaryElement && resizeObserver) resizeObserver.observe(boundaryElement);
|
|
59
73
|
window.addEventListener("scroll", reposition, {
|
|
60
74
|
capture: true,
|
|
61
75
|
passive: true
|
|
@@ -71,10 +85,13 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
|
|
|
71
85
|
state.open,
|
|
72
86
|
anchorName,
|
|
73
87
|
posOpts,
|
|
74
|
-
tooltip
|
|
88
|
+
tooltip,
|
|
89
|
+
boundary,
|
|
90
|
+
container
|
|
75
91
|
]);
|
|
76
|
-
const positioningStyle =
|
|
92
|
+
const positioningStyle = manualStyle ?? anchorStyle ?? POPUP_RESET;
|
|
77
93
|
if (!state.open) return null;
|
|
94
|
+
const body = children !== void 0 ? children : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(TooltipLabel, {}), /* @__PURE__ */ jsx(TooltipShortcut, {})] });
|
|
78
95
|
const { onFocusOut, ...restPopupProps } = tooltip.popupProps;
|
|
79
96
|
return renderElement("div", {
|
|
80
97
|
render,
|
|
@@ -90,7 +107,7 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
|
|
|
90
107
|
style: positioningStyle,
|
|
91
108
|
...core.getPopupAttrs(state)
|
|
92
109
|
},
|
|
93
|
-
{ children:
|
|
110
|
+
{ children: body },
|
|
94
111
|
{
|
|
95
112
|
...restPopupProps,
|
|
96
113
|
onBlur: onFocusOut
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-popup.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-popup.tsx"],"sourcesContent":["'use client';\n\nimport
|
|
1
|
+
{"version":3,"file":"tooltip-popup.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-popup.tsx"],"sourcesContent":["'use client';\n\nimport { TooltipCSSVars, type TooltipState } from '@videojs/core';\nimport {\n getAnchorPositionStyle,\n getPopupPositionRect,\n getPositioningBoundaryRect,\n isEventWithinElement,\n resolveOffsets,\n resolvePositioningBoundary,\n} from '@videojs/core/dom';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\nimport { TooltipLabel } from './tooltip-label';\nimport { TooltipShortcut } from './tooltip-shortcut';\n\nexport interface TooltipPopupProps extends UIComponentProps<'div', TooltipState> {}\n\nconst POPUP_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\n\n/** Container for the tooltip content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */\nexport const TooltipPopup = forwardRef<HTMLDivElement, TooltipPopupProps>(function TooltipPopup(\n { render, className, style, children, ...elementProps },\n forwardedRef\n) {\n const { core, tooltip, state, stateAttrMap, anchorName, popupId, boundary, container } = useTooltipContext();\n const internalRef = useRef<HTMLDivElement>(null);\n\n const popupRef = useCallback(\n (el: HTMLDivElement | null) => {\n tooltip.setPopupElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [tooltip, anchorName]\n );\n\n const composedRef = useComposedRefs(forwardedRef, popupRef, internalRef);\n\n // --- Positioning ---\n\n const posOpts = useMemo(() => ({ side: state.side, align: state.align }), [state.side, state.align]);\n\n // CSS Anchor Positioning — computed from state, no measurement needed.\n // `position-anchor` is set imperatively in the ref callback above\n // because React's style prop silently drops unrecognized CSS properties.\n const anchorStyle = useMemo(() => {\n if (!supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(\n anchorName,\n posOpts,\n undefined,\n undefined,\n undefined,\n undefined,\n TooltipCSSVars\n );\n return rest as CSSProperties;\n }, [anchorName, posOpts]);\n\n // Manual fallback — measure rects after layout, before paint.\n const [manualStyle, setManualStyle] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (!state.open) {\n setManualStyle(null);\n return;\n }\n\n function measure(): void {\n const triggerEl = tooltip.triggerElement;\n const popupEl = internalRef.current;\n if (!triggerEl || !popupEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const root = popupEl.getRootNode() as Document | ShadowRoot;\n const boundaryElement = resolvePositioningBoundary(boundary, { container, root });\n const popupRect = supportsAnchorPositioning() ? undefined : getPopupPositionRect(popupEl);\n const boundaryRect = getPositioningBoundaryRect(boundaryElement);\n const offsets = resolveOffsets(popupEl, TooltipCSSVars);\n\n const { positionAnchor: _, ...nextStyle } = getAnchorPositionStyle(\n anchorName,\n posOpts,\n triggerRect,\n popupRect,\n boundaryRect,\n offsets,\n TooltipCSSVars\n );\n\n setManualStyle(nextStyle as CSSProperties);\n }\n\n measure();\n const triggerEl = tooltip.triggerElement;\n const popupEl = internalRef.current;\n const boundaryElement = popupEl\n ? resolvePositioningBoundary(boundary, {\n container,\n root: popupEl.getRootNode() as Document | ShadowRoot,\n })\n : null;\n\n let rafId = 0;\n function reposition(event?: Event): void {\n if (event && isEventWithinElement(event, internalRef.current)) return;\n\n cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(measure);\n }\n\n // Re-measure after the tooltip has entered the top layer and whenever\n // its own size or the trigger size changes.\n reposition();\n\n const resizeObserver =\n typeof ResizeObserver === 'function'\n ? new ResizeObserver(() => {\n reposition();\n })\n : null;\n\n if (triggerEl && resizeObserver) {\n resizeObserver.observe(triggerEl);\n }\n\n if (popupEl && resizeObserver) {\n resizeObserver.observe(popupEl);\n }\n if (boundaryElement && resizeObserver) {\n resizeObserver.observe(boundaryElement);\n }\n\n window.addEventListener('scroll', reposition, { capture: true, passive: true });\n window.addEventListener('resize', reposition);\n\n return () => {\n cancelAnimationFrame(rafId);\n resizeObserver?.disconnect();\n window.removeEventListener('scroll', reposition, true);\n window.removeEventListener('resize', reposition);\n };\n }, [state.open, anchorName, posOpts, tooltip, boundary, container]);\n\n // Anchor path uses computed styles; manual path uses measured styles;\n // fallback resets UA [popover] defaults until positioning is computed.\n const positioningStyle = manualStyle ?? anchorStyle ?? POPUP_RESET;\n\n // --- Visibility ---\n\n if (!state.open) {\n return null;\n }\n\n const body =\n children !== undefined ? (\n children\n ) : (\n <>\n <TooltipLabel />\n <TooltipShortcut />\n </>\n );\n\n // Remap DOM focus events to React synthetic event names.\n const { onFocusOut, ...restPopupProps } = tooltip.popupProps;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: composedRef,\n props: [\n {\n id: popupId,\n style: positioningStyle,\n ...core.getPopupAttrs(state),\n },\n { children: body },\n { ...restPopupProps, onBlur: onFocusOut },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace TooltipPopup {\n export type Props = TooltipPopupProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;;;;;;;;AAwBA,MAAM,cAA6B;CAAE,UAAU;CAAS,OAAO;CAAQ,QAAQ;CAAG;;AAGlF,MAAa,eAAe,WAA8C,SAAS,aACjF,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBACzC,cACA;CACA,MAAM,EAAE,MAAM,SAAS,OAAO,cAAc,YAAY,SAAS,UAAU,cAAc,mBAAmB;CAC5G,MAAM,cAAc,OAAuB,KAAK;CAYhD,MAAM,cAAc,gBAAgB,cAVnB,aACd,OAA8B;AAC7B,UAAQ,gBAAgB,GAAG;AAC3B,MAAI,MAAM,2BAA2B,CACnC,IAAG,MAAM,YAAY,mBAAmB,KAAK,aAAa;IAG9D,CAAC,SAAS,WAAW,CACtB,EAE2D,YAAY;CAIxE,MAAM,UAAU,eAAe;EAAE,MAAM,MAAM;EAAM,OAAO,MAAM;EAAO,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC;CAKpG,MAAM,cAAc,cAAc;AAChC,MAAI,CAAC,2BAA2B,CAAE,QAAO;EACzC,MAAM,EAAE,gBAAgB,GAAG,GAAG,SAAS,uBACrC,YACA,SACA,KAAA,GACA,KAAA,GACA,KAAA,GACA,KAAA,GACA,eACD;AACD,SAAO;IACN,CAAC,YAAY,QAAQ,CAAC;CAGzB,MAAM,CAAC,aAAa,kBAAkB,SAA+B,KAAK;AAE1E,uBAAsB;AACpB,MAAI,CAAC,MAAM,MAAM;AACf,kBAAe,KAAK;AACpB;;EAGF,SAAS,UAAgB;GACvB,MAAM,YAAY,QAAQ;GAC1B,MAAM,UAAU,YAAY;AAC5B,OAAI,CAAC,aAAa,CAAC,QAAS;GAE5B,MAAM,cAAc,UAAU,uBAAuB;GAErD,MAAM,kBAAkB,2BAA2B,UAAU;IAAE;IAAW,MAD7D,QAAQ,aAAa;IAC8C,CAAC;GAKjF,MAAM,EAAE,gBAAgB,GAAG,GAAG,cAAc,uBAC1C,YACA,SACA,aAPgB,2BAA2B,GAAG,KAAA,IAAY,qBAAqB,QAAQ,EACpE,2BAA2B,gBAAgB,EAChD,eAAe,SAAS,eAAe,EASrD,eACD;AAED,kBAAe,UAA2B;;AAG5C,WAAS;EACT,MAAM,YAAY,QAAQ;EAC1B,MAAM,UAAU,YAAY;EAC5B,MAAM,kBAAkB,UACpB,2BAA2B,UAAU;GACnC;GACA,MAAM,QAAQ,aAAa;GAC5B,CAAC,GACF;EAEJ,IAAI,QAAQ;EACZ,SAAS,WAAW,OAAqB;AACvC,OAAI,SAAS,qBAAqB,OAAO,YAAY,QAAQ,CAAE;AAE/D,wBAAqB,MAAM;AAC3B,WAAQ,sBAAsB,QAAQ;;AAKxC,cAAY;EAEZ,MAAM,iBACJ,OAAO,mBAAmB,aACtB,IAAI,qBAAqB;AACvB,eAAY;IACZ,GACF;AAEN,MAAI,aAAa,eACf,gBAAe,QAAQ,UAAU;AAGnC,MAAI,WAAW,eACb,gBAAe,QAAQ,QAAQ;AAEjC,MAAI,mBAAmB,eACrB,gBAAe,QAAQ,gBAAgB;AAGzC,SAAO,iBAAiB,UAAU,YAAY;GAAE,SAAS;GAAM,SAAS;GAAM,CAAC;AAC/E,SAAO,iBAAiB,UAAU,WAAW;AAE7C,eAAa;AACX,wBAAqB,MAAM;AAC3B,mBAAgB,YAAY;AAC5B,UAAO,oBAAoB,UAAU,YAAY,KAAK;AACtD,UAAO,oBAAoB,UAAU,WAAW;;IAEjD;EAAC,MAAM;EAAM;EAAY;EAAS;EAAS;EAAU;EAAU,CAAC;CAInE,MAAM,mBAAmB,eAAe,eAAe;AAIvD,KAAI,CAAC,MAAM,KACT,QAAO;CAGT,MAAM,OACJ,aAAa,KAAA,IACX,WAEA,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,cAAD,EAAgB,CAAA,EAChB,oBAAC,iBAAD,EAAmB,CAAA,CAClB,EAAA,CAAA;CAIP,MAAM,EAAE,YAAY,GAAG,mBAAmB,QAAQ;AAElD,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO;GACL;IACE,IAAI;IACJ,OAAO;IACP,GAAG,KAAK,cAAc,MAAM;IAC7B;GACD,EAAE,UAAU,MAAM;GAClB;IAAE,GAAG;IAAgB,QAAQ;IAAY;GACzC;GACD;EACF,CACF;EACD"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useOptionalContainer } from "../../player/context.js";
|
|
2
3
|
import { useLatestRef } from "../../utils/use-latest-ref.js";
|
|
3
4
|
import { useDestroy } from "../../utils/use-destroy.js";
|
|
4
|
-
import { useSafeId } from "../../utils/use-safe-id.js";
|
|
5
5
|
import { TooltipContextProvider } from "./context.js";
|
|
6
|
+
import { useSafeId } from "../../utils/use-safe-id.js";
|
|
7
|
+
import { useOptionalControlsContext } from "../controls/context.js";
|
|
6
8
|
import { useTooltipGroup } from "./group-context.js";
|
|
7
9
|
import { createTooltip, createTransition } from "@videojs/core/dom";
|
|
8
10
|
import { useSnapshot } from "@videojs/store/react";
|
|
9
11
|
import { useEffect, useState } from "react";
|
|
12
|
+
import { isUndefined } from "@videojs/utils/predicate";
|
|
10
13
|
import { jsx } from "react/jsx-runtime";
|
|
11
14
|
import { TooltipCore, TooltipDataAttrs } from "@videojs/core";
|
|
12
15
|
//#region src/ui/tooltip/tooltip-root.tsx
|
|
13
|
-
function TooltipRoot({ open: controlledOpen, defaultOpen = TooltipCore.defaultProps.defaultOpen, onOpenChange: onOpenChangeProp, onOpenChangeComplete: onOpenChangeCompleteProp, delay = TooltipCore.defaultProps.delay, closeDelay = TooltipCore.defaultProps.closeDelay, disableHoverablePopup = TooltipCore.defaultProps.disableHoverablePopup, disabled = TooltipCore.defaultProps.disabled, children, ...coreProps }) {
|
|
16
|
+
function TooltipRoot({ open: controlledOpen, defaultOpen = TooltipCore.defaultProps.defaultOpen, onOpenChange: onOpenChangeProp, onOpenChangeComplete: onOpenChangeCompleteProp, delay = TooltipCore.defaultProps.delay, closeDelay = TooltipCore.defaultProps.closeDelay, disableHoverablePopup = TooltipCore.defaultProps.disableHoverablePopup, disabled = TooltipCore.defaultProps.disabled, boundary = "container", children, ...coreProps }) {
|
|
17
|
+
const container = useOptionalContainer();
|
|
18
|
+
const controls = useOptionalControlsContext();
|
|
14
19
|
const [core] = useState(() => new TooltipCore(coreProps));
|
|
15
20
|
core.setProps(coreProps);
|
|
16
|
-
const isControlled = controlledOpen
|
|
21
|
+
const isControlled = !isUndefined(controlledOpen);
|
|
17
22
|
const groupFromContext = useTooltipGroup();
|
|
18
23
|
const onOpenChangeRef = useLatestRef(onOpenChangeProp);
|
|
19
24
|
const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);
|
|
@@ -44,12 +49,17 @@ function TooltipRoot({ open: controlledOpen, defaultOpen = TooltipCore.defaultPr
|
|
|
44
49
|
const anchorName = useSafeId();
|
|
45
50
|
const popupId = useSafeId("tooltip");
|
|
46
51
|
useEffect(() => {
|
|
47
|
-
if (controlledOpen
|
|
52
|
+
if (isUndefined(controlledOpen)) return;
|
|
48
53
|
const { active: inputOpen } = tooltip.input.current;
|
|
49
54
|
if (controlledOpen === inputOpen) return;
|
|
50
55
|
if (controlledOpen) tooltip.open();
|
|
51
56
|
else tooltip.close();
|
|
52
57
|
}, [controlledOpen, tooltip]);
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (isUndefined(controls?.state.visible)) return;
|
|
60
|
+
if (controls.state.visible) return;
|
|
61
|
+
tooltip.close("imperative-action");
|
|
62
|
+
}, [controls?.state.visible, tooltip]);
|
|
53
63
|
useDestroy(tooltip);
|
|
54
64
|
const input = useSnapshot(tooltip.input);
|
|
55
65
|
core.setInput(input);
|
|
@@ -62,7 +72,9 @@ function TooltipRoot({ open: controlledOpen, defaultOpen = TooltipCore.defaultPr
|
|
|
62
72
|
anchorName,
|
|
63
73
|
popupId,
|
|
64
74
|
content,
|
|
65
|
-
setContent
|
|
75
|
+
setContent,
|
|
76
|
+
boundary,
|
|
77
|
+
container
|
|
66
78
|
},
|
|
67
79
|
children
|
|
68
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-root.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-root.tsx"],"sourcesContent":["'use client';\n\nimport { type TooltipProps as CoreTooltipProps, TooltipCore, TooltipDataAttrs } from '@videojs/core';\nimport {
|
|
1
|
+
{"version":3,"file":"tooltip-root.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-root.tsx"],"sourcesContent":["'use client';\n\nimport { type TooltipProps as CoreTooltipProps, TooltipCore, TooltipDataAttrs } from '@videojs/core';\nimport {\n createTooltip,\n createTransition,\n type PositioningBoundary,\n type TooltipChangeDetails,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isUndefined } from '@videojs/utils/predicate';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { useOptionalContainer } from '../../player/context';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { useOptionalControlsContext } from '../controls/context';\nimport { type TooltipContent, TooltipContextProvider } from './context';\nimport { useTooltipGroup } from './group-context';\n\nexport interface TooltipRootProps extends CoreTooltipProps {\n /** Boundary used to constrain the popup size. */\n boundary?: PositioningBoundary;\n /** Called when the tooltip open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean, details: TooltipChangeDetails) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function TooltipRoot({\n open: controlledOpen,\n defaultOpen = TooltipCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n delay = TooltipCore.defaultProps.delay,\n closeDelay = TooltipCore.defaultProps.closeDelay,\n disableHoverablePopup = TooltipCore.defaultProps.disableHoverablePopup,\n disabled = TooltipCore.defaultProps.disabled,\n boundary = 'container',\n children,\n ...coreProps\n}: TooltipRootProps): ReactNode {\n const container = useOptionalContainer();\n const controls = useOptionalControlsContext();\n const [core] = useState(() => new TooltipCore(coreProps));\n core.setProps(coreProps);\n\n const isControlled = !isUndefined(controlledOpen);\n\n const groupFromContext = useTooltipGroup();\n\n // Keep refs that always point to the latest values so the\n // createTooltip closure never reads stale props.\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n const delayRef = useLatestRef(delay);\n const closeDelayRef = useLatestRef(closeDelay);\n const disableHoverablePopupRef = useLatestRef(disableHoverablePopup);\n const disabledRef = useLatestRef(disabled);\n const groupRef = useLatestRef(groupFromContext);\n\n const [tooltip] = useState(() => {\n const instance = createTooltip({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean, details: TooltipChangeDetails) => {\n onOpenChangeRef.current?.(nextOpen, details);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n delay: () => delayRef.current,\n closeDelay: () => closeDelayRef.current,\n disableHoverablePopup: () => disableHoverablePopupRef.current,\n disabled: () => disabledRef.current,\n group: () => groupRef.current,\n });\n\n // Apply defaultOpen on creation (uncontrolled only)\n if (!isControlled && defaultOpen) {\n instance.open();\n }\n\n return instance;\n });\n\n const [content, setContent] = useState<TooltipContent | undefined>();\n\n const anchorName = useSafeId();\n const popupId = useSafeId('tooltip');\n\n // Sync controlled open prop -> internal input state.\n useEffect(() => {\n if (isUndefined(controlledOpen)) return;\n\n const { active: inputOpen } = tooltip.input.current;\n if (controlledOpen === inputOpen) return;\n\n if (controlledOpen) {\n tooltip.open();\n } else {\n tooltip.close();\n }\n }, [controlledOpen, tooltip]);\n\n useEffect(() => {\n if (isUndefined(controls?.state.visible)) return;\n if (controls.state.visible) return;\n\n tooltip.close('imperative-action');\n }, [controls?.state.visible, tooltip]);\n\n useDestroy(tooltip);\n\n const input = useSnapshot(tooltip.input);\n core.setInput(input);\n const state = core.getState();\n\n return (\n <TooltipContextProvider\n value={{\n core,\n tooltip,\n state,\n stateAttrMap: TooltipDataAttrs,\n anchorName,\n popupId,\n content,\n setContent,\n boundary,\n container,\n }}\n >\n {children}\n </TooltipContextProvider>\n );\n}\n\nexport namespace TooltipRoot {\n export type Props = TooltipRootProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA+BA,SAAgB,YAAY,EAC1B,MAAM,gBACN,cAAc,YAAY,aAAa,aACvC,cAAc,kBACd,sBAAsB,0BACtB,QAAQ,YAAY,aAAa,OACjC,aAAa,YAAY,aAAa,YACtC,wBAAwB,YAAY,aAAa,uBACjD,WAAW,YAAY,aAAa,UACpC,WAAW,aACX,UACA,GAAG,aAC2B;CAC9B,MAAM,YAAY,sBAAsB;CACxC,MAAM,WAAW,4BAA4B;CAC7C,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,UAAU,CAAC;AACzD,MAAK,SAAS,UAAU;CAExB,MAAM,eAAe,CAAC,YAAY,eAAe;CAEjD,MAAM,mBAAmB,iBAAiB;CAI1C,MAAM,kBAAkB,aAAa,iBAAiB;CACtD,MAAM,0BAA0B,aAAa,yBAAyB;CACtE,MAAM,WAAW,aAAa,MAAM;CACpC,MAAM,gBAAgB,aAAa,WAAW;CAC9C,MAAM,2BAA2B,aAAa,sBAAsB;CACpE,MAAM,cAAc,aAAa,SAAS;CAC1C,MAAM,WAAW,aAAa,iBAAiB;CAE/C,MAAM,CAAC,WAAW,eAAe;EAC/B,MAAM,WAAW,cAAc;GAC7B,YAAY,kBAAkB;GAC9B,eAAe,UAAmB,YAAkC;AAClE,oBAAgB,UAAU,UAAU,QAAQ;;GAE9C,uBAAuB,aAAsB;AAC3C,4BAAwB,UAAU,SAAS;;GAE7C,aAAa,SAAS;GACtB,kBAAkB,cAAc;GAChC,6BAA6B,yBAAyB;GACtD,gBAAgB,YAAY;GAC5B,aAAa,SAAS;GACvB,CAAC;AAGF,MAAI,CAAC,gBAAgB,YACnB,UAAS,MAAM;AAGjB,SAAO;GACP;CAEF,MAAM,CAAC,SAAS,cAAc,UAAsC;CAEpE,MAAM,aAAa,WAAW;CAC9B,MAAM,UAAU,UAAU,UAAU;AAGpC,iBAAgB;AACd,MAAI,YAAY,eAAe,CAAE;EAEjC,MAAM,EAAE,QAAQ,cAAc,QAAQ,MAAM;AAC5C,MAAI,mBAAmB,UAAW;AAElC,MAAI,eACF,SAAQ,MAAM;MAEd,SAAQ,OAAO;IAEhB,CAAC,gBAAgB,QAAQ,CAAC;AAE7B,iBAAgB;AACd,MAAI,YAAY,UAAU,MAAM,QAAQ,CAAE;AAC1C,MAAI,SAAS,MAAM,QAAS;AAE5B,UAAQ,MAAM,oBAAoB;IACjC,CAAC,UAAU,MAAM,SAAS,QAAQ,CAAC;AAEtC,YAAW,QAAQ;CAEnB,MAAM,QAAQ,YAAY,QAAQ,MAAM;AACxC,MAAK,SAAS,MAAM;AAGpB,QACE,oBAAC,wBAAD;EACE,OAAO;GACL;GACA;GACA,OAPQ,KAAK,UAAU;GAQvB,cAAc;GACd;GACA;GACA;GACA;GACA;GACA;GACD;EAEA;EACsB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useTooltipContext } from "./context.js";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
//#region src/ui/tooltip/tooltip-shortcut.tsx
|
|
6
|
+
/** Keyboard shortcut hint; apply skin `className` (CSS: `media-tooltip__kbd`; Tailwind: `popup.tooltipShortcut`). */
|
|
7
|
+
const TooltipShortcut = forwardRef(function TooltipShortcut({ render, className, style, children, ...elementProps }, forwardedRef) {
|
|
8
|
+
const { state, stateAttrMap, content } = useTooltipContext();
|
|
9
|
+
const shortcut = children !== void 0 && children !== null ? children : content?.shortcut ?? null;
|
|
10
|
+
if (!shortcut) return null;
|
|
11
|
+
return renderElement("kbd", {
|
|
12
|
+
render,
|
|
13
|
+
className,
|
|
14
|
+
style
|
|
15
|
+
}, {
|
|
16
|
+
state,
|
|
17
|
+
stateAttrMap,
|
|
18
|
+
ref: forwardedRef,
|
|
19
|
+
props: [elementProps, { children: shortcut }]
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { TooltipShortcut };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=tooltip-shortcut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-shortcut.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-shortcut.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipShortcutProps extends UIComponentProps<'kbd', TooltipState> {}\n\n/** Keyboard shortcut hint; apply skin `className` (CSS: `media-tooltip__kbd`; Tailwind: `popup.tooltipShortcut`). */\nexport const TooltipShortcut = forwardRef<HTMLElement, TooltipShortcutProps>(function TooltipShortcut(\n { render, className, style, children, ...elementProps },\n forwardedRef\n) {\n const { state, stateAttrMap, content } = useTooltipContext();\n const shortcut = children !== undefined && children !== null ? children : (content?.shortcut ?? null);\n\n if (!shortcut) {\n return null;\n }\n\n return renderElement(\n 'kbd',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [elementProps, { children: shortcut }],\n }\n );\n});\n\nexport namespace TooltipShortcut {\n export type Props = TooltipShortcutProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;;AAYA,MAAa,kBAAkB,WAA8C,SAAS,gBACpF,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBACzC,cACA;CACA,MAAM,EAAE,OAAO,cAAc,YAAY,mBAAmB;CAC5D,MAAM,WAAW,aAAa,KAAA,KAAa,aAAa,OAAO,WAAY,SAAS,YAAY;AAEhG,KAAI,CAAC,SACH,QAAO;AAGT,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC,cAAc,EAAE,UAAU,UAAU,CAAC;EAC9C,CACF;EACD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/ui/volume-indicator/context.tsx
|
|
5
|
+
const VolumeIndicatorContext = createContext(null);
|
|
6
|
+
function VolumeIndicatorProvider({ value, children }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(VolumeIndicatorContext.Provider, {
|
|
8
|
+
value,
|
|
9
|
+
children
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function useVolumeIndicatorContext() {
|
|
13
|
+
const ctx = useContext(VolumeIndicatorContext);
|
|
14
|
+
if (!ctx) throw new Error("VolumeIndicator child compounds must be used within a VolumeIndicator.Root");
|
|
15
|
+
return ctx;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { VolumeIndicatorProvider, useVolumeIndicatorContext };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/volume-indicator/context.tsx"],"sourcesContent":["'use client';\n\nimport type { VolumeIndicatorCore } from '@videojs/core';\nimport { createContext, type ProviderProps, useContext } from 'react';\n\nexport interface VolumeIndicatorContextValue {\n state: VolumeIndicatorCore.State;\n}\n\nconst VolumeIndicatorContext = createContext<VolumeIndicatorContextValue | null>(null);\n\nexport function VolumeIndicatorProvider({ value, children }: ProviderProps<VolumeIndicatorContextValue>) {\n return <VolumeIndicatorContext.Provider value={value}>{children}</VolumeIndicatorContext.Provider>;\n}\n\nexport function useVolumeIndicatorContext(): VolumeIndicatorContextValue {\n const ctx = useContext(VolumeIndicatorContext);\n if (!ctx) throw new Error('VolumeIndicator child compounds must be used within a VolumeIndicator.Root');\n return ctx;\n}\n"],"mappings":";;;;AASA,MAAM,yBAAyB,cAAkD,KAAK;AAEtF,SAAgB,wBAAwB,EAAE,OAAO,YAAwD;AACvG,QAAO,oBAAC,uBAAuB,UAAxB;EAAwC;EAAQ;EAA2C,CAAA;;AAGpG,SAAgB,4BAAyD;CACvE,MAAM,MAAM,WAAW,uBAAuB;AAC9C,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,6EAA6E;AACvG,QAAO"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { VolumeIndicatorFill } from "./volume-indicator-fill.js";
|
|
3
|
+
import { VolumeIndicatorRoot } from "./volume-indicator-root.js";
|
|
4
|
+
import { VolumeIndicatorValue } from "./volume-indicator-value.js";
|
|
5
|
+
//#region src/ui/volume-indicator/index.parts.ts
|
|
6
|
+
var index_parts_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
Fill: () => VolumeIndicatorFill,
|
|
8
|
+
Root: () => VolumeIndicatorRoot,
|
|
9
|
+
Value: () => VolumeIndicatorValue
|
|
10
|
+
});
|
|
11
|
+
//#endregion
|
|
12
|
+
export { index_parts_exports };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=index.parts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/volume-indicator/index.parts.ts"],"sourcesContent":["export { VolumeIndicatorFill as Fill, type VolumeIndicatorFillProps as FillProps } from './volume-indicator-fill';\nexport { VolumeIndicatorRoot as Root, type VolumeIndicatorRootProps as RootProps } from './volume-indicator-root';\nexport {\n VolumeIndicatorValue as Value,\n type VolumeIndicatorValueProps as ValueProps,\n} from './volume-indicator-value';\n"],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useVolumeIndicatorContext } from "./context.js";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { isFunction } from "@videojs/utils/predicate";
|
|
6
|
+
import { VolumeIndicatorCSSVars } from "@videojs/core";
|
|
7
|
+
//#region src/ui/volume-indicator/volume-indicator-fill.tsx
|
|
8
|
+
const VolumeIndicatorFill = forwardRef(function VolumeIndicatorFill(componentProps, forwardedRef) {
|
|
9
|
+
const { render, className, style, ...elementProps } = componentProps;
|
|
10
|
+
const { state } = useVolumeIndicatorContext();
|
|
11
|
+
return renderElement("div", {
|
|
12
|
+
render,
|
|
13
|
+
className,
|
|
14
|
+
style: getVolumeIndicatorFillStyle(state, style)
|
|
15
|
+
}, {
|
|
16
|
+
state,
|
|
17
|
+
ref: forwardedRef,
|
|
18
|
+
props: [elementProps]
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
function getVolumeIndicatorFillStyle(state, style) {
|
|
22
|
+
const vars = state.fill ? { [VolumeIndicatorCSSVars.fill]: state.fill } : void 0;
|
|
23
|
+
if (!vars) return style;
|
|
24
|
+
if (isFunction(style)) return (nextState) => ({
|
|
25
|
+
...style(nextState),
|
|
26
|
+
...vars
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
...style,
|
|
30
|
+
...vars
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { VolumeIndicatorFill };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=volume-indicator-fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume-indicator-fill.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-fill.tsx"],"sourcesContent":["'use client';\n\nimport { type VolumeIndicatorCore, VolumeIndicatorCSSVars } from '@videojs/core';\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { CSSProperties, ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useVolumeIndicatorContext } from './context';\n\nexport interface VolumeIndicatorFillProps extends UIComponentProps<'div', VolumeIndicatorCore.State> {}\n\nexport const VolumeIndicatorFill = forwardRef(function VolumeIndicatorFill(\n componentProps: VolumeIndicatorFillProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const { state } = useVolumeIndicatorContext();\n const fillStyle = getVolumeIndicatorFillStyle(state, style);\n\n return renderElement(\n 'div',\n { render, className, style: fillStyle },\n {\n state,\n ref: forwardedRef,\n props: [elementProps],\n }\n );\n});\n\nexport namespace VolumeIndicatorFill {\n export type Props = VolumeIndicatorFillProps;\n}\n\nfunction getVolumeIndicatorFillStyle(\n state: VolumeIndicatorCore.State,\n style: VolumeIndicatorFillProps['style']\n): VolumeIndicatorFillProps['style'] {\n const vars = state.fill\n ? ({\n [VolumeIndicatorCSSVars.fill]: state.fill,\n } as CSSProperties)\n : undefined;\n\n if (!vars) return style;\n\n if (isFunction(style)) {\n return (nextState) => ({\n ...style(nextState),\n ...vars,\n });\n }\n\n return {\n ...style,\n ...vars,\n };\n}\n"],"mappings":";;;;;;;AAaA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,EAAE,UAAU,2BAA2B;AAG7C,QAAO,cACL,OACA;EAAE;EAAQ;EAAW,OAJL,4BAA4B,OAAO,MAAM;EAIlB,EACvC;EACE;EACA,KAAK;EACL,OAAO,CAAC,aAAa;EACtB,CACF;EACD;AAMF,SAAS,4BACP,OACA,OACmC;CACnC,MAAM,OAAO,MAAM,OACd,GACE,uBAAuB,OAAO,MAAM,MACtC,GACD,KAAA;AAEJ,KAAI,CAAC,KAAM,QAAO;AAElB,KAAI,WAAW,MAAM,CACnB,SAAQ,eAAe;EACrB,GAAG,MAAM,UAAU;EACnB,GAAG;EACJ;AAGH,QAAO;EACL,GAAG;EACH,GAAG;EACJ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useInputIndicatorRoot } from "../input-indicators/use-input-indicator-root.js";
|
|
4
|
+
import { VolumeIndicatorProvider } from "./context.js";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { VolumeIndicatorCore, VolumeIndicatorDataAttrs } from "@videojs/core";
|
|
8
|
+
//#region src/ui/volume-indicator/volume-indicator-root.tsx
|
|
9
|
+
const VolumeIndicatorRoot = forwardRef(function VolumeIndicatorRoot(componentProps, forwardedRef) {
|
|
10
|
+
const { render, className, style, closeDelay, ...elementProps } = componentProps;
|
|
11
|
+
const { elementRef, present, state } = useInputIndicatorRoot(() => new VolumeIndicatorCore(), { closeDelay }, { replayOnUpdate: false });
|
|
12
|
+
if (!present) return null;
|
|
13
|
+
return /* @__PURE__ */ jsx(VolumeIndicatorProvider, {
|
|
14
|
+
value: { state },
|
|
15
|
+
children: renderElement("div", {
|
|
16
|
+
render,
|
|
17
|
+
className,
|
|
18
|
+
style
|
|
19
|
+
}, {
|
|
20
|
+
state,
|
|
21
|
+
stateAttrMap: VolumeIndicatorDataAttrs,
|
|
22
|
+
ref: [forwardedRef, elementRef],
|
|
23
|
+
props: [elementProps]
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//#endregion
|
|
28
|
+
export { VolumeIndicatorRoot };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=volume-indicator-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume-indicator-root.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-root.tsx"],"sourcesContent":["'use client';\n\nimport { VolumeIndicatorCore, VolumeIndicatorDataAttrs } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useInputIndicatorRoot } from '../input-indicators/use-input-indicator-root';\nimport { VolumeIndicatorProvider } from './context';\n\nexport interface VolumeIndicatorRootProps\n extends UIComponentProps<'div', VolumeIndicatorCore.State>,\n VolumeIndicatorCore.Props {}\n\nexport const VolumeIndicatorRoot = forwardRef(function VolumeIndicatorRoot(\n componentProps: VolumeIndicatorRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, closeDelay, ...elementProps } = componentProps;\n const { elementRef, present, state } = useInputIndicatorRoot(\n () => new VolumeIndicatorCore(),\n { closeDelay },\n { replayOnUpdate: false }\n );\n\n if (!present) return null;\n\n return (\n <VolumeIndicatorProvider value={{ state }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: VolumeIndicatorDataAttrs,\n ref: [forwardedRef, elementRef],\n props: [elementProps],\n }\n )}\n </VolumeIndicatorProvider>\n );\n});\n\nexport namespace VolumeIndicatorRoot {\n export type Props = VolumeIndicatorRootProps;\n export type State = VolumeIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;AAeA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,YAAY,GAAG,iBAAiB;CAClE,MAAM,EAAE,YAAY,SAAS,UAAU,4BAC/B,IAAI,qBAAqB,EAC/B,EAAE,YAAY,EACd,EAAE,gBAAgB,OAAO,CAC1B;AAED,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAAC,yBAAD;EAAyB,OAAO,EAAE,OAAO;YACtC,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,WAAW;GAC/B,OAAO,CAAC,aAAa;GACtB,CACF;EACuB,CAAA;EAE5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useVolumeIndicatorContext } from "./context.js";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { getVolumeIndicatorDisplayValue } from "@videojs/core";
|
|
6
|
+
//#region src/ui/volume-indicator/volume-indicator-value.tsx
|
|
7
|
+
const VolumeIndicatorValue = forwardRef(function VolumeIndicatorValue(componentProps, forwardedRef) {
|
|
8
|
+
const { render, className, style, ...elementProps } = componentProps;
|
|
9
|
+
const { state } = useVolumeIndicatorContext();
|
|
10
|
+
return renderElement("span", {
|
|
11
|
+
render,
|
|
12
|
+
className,
|
|
13
|
+
style
|
|
14
|
+
}, {
|
|
15
|
+
state,
|
|
16
|
+
ref: forwardedRef,
|
|
17
|
+
props: [{ children: getVolumeIndicatorDisplayValue(state) }, elementProps]
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { VolumeIndicatorValue };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=volume-indicator-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume-indicator-value.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-value.tsx"],"sourcesContent":["'use client';\n\nimport { getVolumeIndicatorDisplayValue, type VolumeIndicatorCore } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useVolumeIndicatorContext } from './context';\n\nexport interface VolumeIndicatorValueProps extends UIComponentProps<'span', VolumeIndicatorCore.State> {}\n\nexport const VolumeIndicatorValue = forwardRef(function VolumeIndicatorValue(\n componentProps: VolumeIndicatorValueProps,\n forwardedRef: ForwardedRef<HTMLSpanElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const { state } = useVolumeIndicatorContext();\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: forwardedRef,\n props: [{ children: getVolumeIndicatorDisplayValue(state) }, elementProps],\n }\n );\n});\n\nexport namespace VolumeIndicatorValue {\n export type Props = VolumeIndicatorValueProps;\n}\n"],"mappings":";;;;;;AAYA,MAAa,uBAAuB,WAAW,SAAS,qBACtD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,EAAE,UAAU,2BAA2B;AAE7C,QAAO,cACL,QACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,KAAK;EACL,OAAO,CAAC,EAAE,UAAU,+BAA+B,MAAM,EAAE,EAAE,aAAa;EAC3E,CACF;EACD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
//#region src/utils/use-attach-iframe.ts
|
|
4
|
+
function useAttachIframe(media) {
|
|
5
|
+
return useCallback((element) => {
|
|
6
|
+
if (element) media.attach?.(element);
|
|
7
|
+
else media.detach?.();
|
|
8
|
+
return () => media.detach?.();
|
|
9
|
+
}, [media]);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { useAttachIframe };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=use-attach-iframe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-attach-iframe.js","names":[],"sources":["../../../src/utils/use-attach-iframe.ts"],"sourcesContent":["'use client';\n\nimport type { MediaEngineHost } from '@videojs/core';\nimport type { RefCallback } from 'react';\nimport { useCallback } from 'react';\n\nexport function useAttachIframe<T extends HTMLIFrameElement>(media: MediaEngineHost): RefCallback<T> {\n return useCallback(\n (element: T | null) => {\n if (element) media.attach?.(element);\n else media.detach?.();\n return () => media.detach?.();\n },\n [media]\n );\n}\n"],"mappings":";;;AAMA,SAAgB,gBAA6C,OAAwC;AACnG,QAAO,aACJ,YAAsB;AACrB,MAAI,QAAS,OAAM,SAAS,QAAQ;MAC/B,OAAM,UAAU;AACrB,eAAa,MAAM,UAAU;IAE/B,CAAC,MAAM,CACR"}
|
|
@@ -8,12 +8,20 @@ import { useState } from "react";
|
|
|
8
8
|
*
|
|
9
9
|
* Instantiates the media class once, attaches it to the player on mount,
|
|
10
10
|
* and safely detaches on unmount using a functional updater to avoid race
|
|
11
|
-
* conditions when swapping media components (e.g. DashVideo →
|
|
11
|
+
* conditions when swapping media components (e.g. DashVideo → HlsJsVideo).
|
|
12
|
+
*
|
|
13
|
+
* An optional `setup` callback runs once on mount — e.g. to add media
|
|
14
|
+
* components via `addComponent`. Components registered there are destroyed
|
|
15
|
+
* together with the media instance on unmount (`media.destroy()` destroys
|
|
16
|
+
* all of its registered components).
|
|
12
17
|
*/
|
|
13
|
-
function useMediaInstance(MediaClass) {
|
|
18
|
+
function useMediaInstance(MediaClass, setup) {
|
|
14
19
|
const [instance] = useState(() => new MediaClass());
|
|
15
20
|
const setMedia = useMediaAttach();
|
|
16
|
-
useDestroy(instance, () =>
|
|
21
|
+
useDestroy(instance, () => {
|
|
22
|
+
setup?.(instance);
|
|
23
|
+
setMedia?.(instance);
|
|
24
|
+
}, () => setMedia?.((prev) => prev === instance ? null : prev));
|
|
17
25
|
return instance;
|
|
18
26
|
}
|
|
19
27
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-media-instance.js","names":[],"sources":["../../../src/utils/use-media-instance.ts"],"sourcesContent":["'use client';\n\nimport type { Media } from '@videojs/core';\nimport { useState } from 'react';\n\nimport { useMediaAttach } from '../player/context';\nimport { useDestroy } from './use-destroy';\n\n/**\n * Create and manage a media instance lifecycle within a player context.\n *\n * Instantiates the media class once, attaches it to the player on mount,\n * and safely detaches on unmount using a functional updater to avoid race\n * conditions when swapping media components (e.g. DashVideo →
|
|
1
|
+
{"version":3,"file":"use-media-instance.js","names":[],"sources":["../../../src/utils/use-media-instance.ts"],"sourcesContent":["'use client';\n\nimport type { Media } from '@videojs/core';\nimport { useState } from 'react';\n\nimport { useMediaAttach } from '../player/context';\nimport { useDestroy } from './use-destroy';\n\n/**\n * Create and manage a media instance lifecycle within a player context.\n *\n * Instantiates the media class once, attaches it to the player on mount,\n * and safely detaches on unmount using a functional updater to avoid race\n * conditions when swapping media components (e.g. DashVideo → HlsJsVideo).\n *\n * An optional `setup` callback runs once on mount — e.g. to add media\n * components via `addComponent`. Components registered there are destroyed\n * together with the media instance on unmount (`media.destroy()` destroys\n * all of its registered components).\n */\nexport function useMediaInstance<Instance extends Media & { destroy(): void }>(\n MediaClass: new () => Instance,\n setup?: (media: Instance) => void\n): Instance {\n const [instance] = useState(() => new MediaClass());\n const setMedia = useMediaAttach();\n\n useDestroy(\n instance,\n () => {\n setup?.(instance);\n setMedia?.(instance);\n },\n () => setMedia?.((prev) => (prev === instance ? null : prev))\n );\n\n return instance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,SAAgB,iBACd,YACA,OACU;CACV,MAAM,CAAC,YAAY,eAAe,IAAI,YAAY,CAAC;CACnD,MAAM,WAAW,gBAAgB;AAEjC,YACE,gBACM;AACJ,UAAQ,SAAS;AACjB,aAAW,SAAS;UAEhB,YAAY,SAAU,SAAS,WAAW,OAAO,KAAM,CAC9D;AAED,QAAO"}
|
|
@@ -44,7 +44,7 @@ function renderElement(element, componentProps, params) {
|
|
|
44
44
|
const { state, ref, props, stateAttrMap } = params;
|
|
45
45
|
const className = resolveClassName(classNameProp, state);
|
|
46
46
|
const style = resolveStyle(styleProp, state);
|
|
47
|
-
const mergedProps = mergeProps(getStateDataAttrs(state, stateAttrMap), ...Array.isArray(props) ? props : props ? [props] : []);
|
|
47
|
+
const mergedProps = mergeProps(stateAttrMap ? getStateDataAttrs(state, stateAttrMap) : {}, ...Array.isArray(props) ? props : props ? [props] : []);
|
|
48
48
|
if (className !== void 0) mergedProps.className = mergedProps.className ? `${mergedProps.className} ${className}` : className;
|
|
49
49
|
if (style !== void 0) mergedProps.style = mergedProps.style ? {
|
|
50
50
|
...mergedProps.style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-render.js","names":[],"sources":["../../../src/utils/use-render.tsx"],"sourcesContent":["'use client';\n\nimport { getStateDataAttrs, type StateAttrMap } from '@videojs/core/dom';\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { CSSProperties, ReactElement, Ref } from 'react';\nimport { cloneElement, createElement, isValidElement } from 'react';\nimport { mergeProps } from './merge-props';\nimport type { HTMLProps, RenderProp } from './types';\nimport { composeRefs } from './use-composed-refs';\n\n/** Check if a value is a render prop (function or React element). */\nexport function isRenderProp(value: unknown): value is RenderProp<
|
|
1
|
+
{"version":3,"file":"use-render.js","names":[],"sources":["../../../src/utils/use-render.tsx"],"sourcesContent":["'use client';\n\nimport { getStateDataAttrs, type StateAttrMap } from '@videojs/core/dom';\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { CSSProperties, ReactElement, Ref } from 'react';\nimport { cloneElement, createElement, isValidElement } from 'react';\nimport { mergeProps } from './merge-props';\nimport type { HTMLProps, RenderProp } from './types';\nimport { composeRefs } from './use-composed-refs';\n\n/** Check if a value is a render prop (function or React element). */\nexport function isRenderProp(value: unknown): value is RenderProp<unknown> {\n return isFunction(value) || isValidElement(value);\n}\n\ntype IntrinsicTagName = keyof React.JSX.IntrinsicElements;\n\nexport interface UseRenderComponentProps<State> {\n className?: string | ((state: State) => string | undefined) | undefined;\n style?: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined;\n render?: RenderProp<State> | undefined;\n}\n\nexport interface UseRenderParameters<State, RenderedElementType extends Element> {\n state: State;\n ref?: Ref<RenderedElementType> | Ref<RenderedElementType>[] | undefined;\n props?: object | object[] | undefined;\n stateAttrMap?: StateAttrMap<State> | undefined;\n}\n\nfunction resolveClassName<State>(\n className: string | ((state: State) => string | undefined) | undefined,\n state: State\n): string | undefined {\n return isFunction(className) ? className(state) : className;\n}\n\nfunction resolveStyle<State>(\n style: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined,\n state: State\n): CSSProperties | undefined {\n return isFunction(style) ? style(state) : style;\n}\n\nfunction getElementRef(element: ReactElement): Ref<unknown> | undefined {\n // React 19+ uses element.props.ref, older versions use element.ref\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const elementAny = element as any;\n return elementAny.ref ?? elementAny.props?.ref;\n}\n\n/**\n * Render a UI component element.\n *\n * Handles:\n * - Default tag rendering\n * - Render prop (element or function)\n * - Props merging (event handlers chained, className concatenated, style merged)\n * - Ref composition\n * - className/style as functions of state\n *\n * @public\n * @example\n * ```tsx\n * return renderElement('button', componentProps, {\n * state,\n * ref: [forwardedRef, buttonRef],\n * props: [{ type: 'button' }, elementProps, getButtonProps],\n * });\n * ```\n */\nexport function renderElement<\n State extends object,\n RenderedElementType extends Element,\n TagName extends IntrinsicTagName,\n>(\n element: TagName,\n componentProps: UseRenderComponentProps<State>,\n params: UseRenderParameters<State, RenderedElementType>\n): ReactElement | null {\n const { className: classNameProp, style: styleProp, render } = componentProps;\n const { state, ref, props, stateAttrMap } = params;\n\n // Resolve className and style if they're functions\n const className = resolveClassName(classNameProp, state);\n const style = resolveStyle(styleProp, state);\n\n // Generate data attributes only when a component explicitly opts in with a\n // mapping. State is still passed to render/className/style callbacks.\n const stateDataAttrs = stateAttrMap ? getStateDataAttrs(state, stateAttrMap) : {};\n\n // Merge: state data attrs first, then props (so props can override)\n const propsArray = Array.isArray(props) ? props : props ? [props] : [];\n const mergedProps = mergeProps(stateDataAttrs, ...(propsArray as Record<string, unknown>[]));\n\n if (className !== undefined) {\n // Add resolved className and style\n mergedProps.className = mergedProps.className ? `${mergedProps.className} ${className}` : className;\n }\n\n if (style !== undefined) {\n mergedProps.style = mergedProps.style ? { ...(mergedProps.style as CSSProperties), ...style } : style;\n }\n\n if (isFunction(render)) {\n // Render function: call with props and state\n const mergedRef = composeRefs(ref, mergedProps.ref);\n return render({ ...mergedProps, ref: mergedRef } as HTMLProps, state);\n }\n\n if (isValidElement(render)) {\n const elementRef = getElementRef(render);\n\n const mergedRef = composeRefs(ref, mergedProps.ref, elementRef);\n\n const elementProps = mergeProps(mergedProps, render.props as Record<string, unknown>);\n elementProps.ref = mergedRef;\n\n return cloneElement(render, elementProps);\n }\n\n // Default tag\n const mergedRef = composeRefs(ref, mergedProps.ref);\n mergedProps.ref = mergedRef;\n\n return createElement(element, mergedProps);\n}\n\nexport namespace renderElement {\n export type ComponentProps<State> = UseRenderComponentProps<State>;\n export type Parameters<State, RenderedElementType extends Element> = UseRenderParameters<State, RenderedElementType>;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgB,aAAa,OAA8C;AACzE,QAAO,WAAW,MAAM,IAAI,eAAe,MAAM;;AAkBnD,SAAS,iBACP,WACA,OACoB;AACpB,QAAO,WAAW,UAAU,GAAG,UAAU,MAAM,GAAG;;AAGpD,SAAS,aACP,OACA,OAC2B;AAC3B,QAAO,WAAW,MAAM,GAAG,MAAM,MAAM,GAAG;;AAG5C,SAAS,cAAc,SAAiD;CAGtE,MAAM,aAAa;AACnB,QAAO,WAAW,OAAO,WAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;AAuB7C,SAAgB,cAKd,SACA,gBACA,QACqB;CACrB,MAAM,EAAE,WAAW,eAAe,OAAO,WAAW,WAAW;CAC/D,MAAM,EAAE,OAAO,KAAK,OAAO,iBAAiB;CAG5C,MAAM,YAAY,iBAAiB,eAAe,MAAM;CACxD,MAAM,QAAQ,aAAa,WAAW,MAAM;CAQ5C,MAAM,cAAc,WAJG,eAAe,kBAAkB,OAAO,aAAa,GAAG,EAAE,EAIlC,GAD5B,MAAM,QAAQ,MAAM,GAAG,QAAQ,QAAQ,CAAC,MAAM,GAAG,EAAE,CACsB;AAE5F,KAAI,cAAc,KAAA,EAEhB,aAAY,YAAY,YAAY,YAAY,GAAG,YAAY,UAAU,GAAG,cAAc;AAG5F,KAAI,UAAU,KAAA,EACZ,aAAY,QAAQ,YAAY,QAAQ;EAAE,GAAI,YAAY;EAAyB,GAAG;EAAO,GAAG;AAGlG,KAAI,WAAW,OAAO,EAAE;EAEtB,MAAM,YAAY,YAAY,KAAK,YAAY,IAAI;AACnD,SAAO,OAAO;GAAE,GAAG;GAAa,KAAK;GAAW,EAAe,MAAM;;AAGvE,KAAI,eAAe,OAAO,EAAE;EAC1B,MAAM,aAAa,cAAc,OAAO;EAExC,MAAM,YAAY,YAAY,KAAK,YAAY,KAAK,WAAW;EAE/D,MAAM,eAAe,WAAW,aAAa,OAAO,MAAiC;AACrF,eAAa,MAAM;AAEnB,SAAO,aAAa,QAAQ,aAAa;;AAK3C,aAAY,MADM,YAAY,KAAK,YAAY,IAAI;AAGnD,QAAO,cAAc,SAAS,YAAY"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
//#region ../icons/dist/react/default/airplay-enter.js
|
|
3
|
+
const AirPlayEnterIcon = (props) => /* @__PURE__ */ jsxs("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
width: 18,
|
|
6
|
+
height: 18,
|
|
7
|
+
fill: "currentColor",
|
|
8
|
+
"aria-hidden": "true",
|
|
9
|
+
viewBox: "0 0 18 18",
|
|
10
|
+
...props,
|
|
11
|
+
children: [/* @__PURE__ */ jsx("path", { d: "M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13 12h1.5a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 4h-11A1.5 1.5 0 0 0 2 5.5v5A1.5 1.5 0 0 0 3.5 12H5l-1.968 1.967A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z" }), /* @__PURE__ */ jsx("path", { d: "M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z" })]
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { AirPlayEnterIcon as default };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=airplay-enter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"airplay-enter.js","names":[],"sources":["../../../../../../../icons/dist/react/default/airplay-enter.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nconst AirPlayEnterIcon = (props) => /* @__PURE__ */ jsxs(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 18, height: 18, fill: \"currentColor\", \"aria-hidden\": \"true\", viewBox: \"0 0 18 18\", ...props, children: [\n /* @__PURE__ */ jsx(\"path\", { d: \"M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13 12h1.5a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 4h-11A1.5 1.5 0 0 0 2 5.5v5A1.5 1.5 0 0 0 3.5 12H5l-1.968 1.967A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z\" }),\n /* @__PURE__ */ jsx(\"path\", { d: \"M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z\" })\n] });\nexport default AirPlayEnterIcon;\n"],"mappings":";;AACA,MAAM,oBAAoB,UAA0B,qBAAK,OAAO;CAAE,OAAO;CAA8B,OAAO;CAAI,QAAQ;CAAI,MAAM;CAAgB,eAAe;CAAQ,SAAS;CAAa,GAAG;CAAO,UAAU,CACnM,oBAAI,QAAQ,EAAE,GAAG,wOAAwO,CAAC,EAC1P,oBAAI,QAAQ,EAAE,GAAG,8FAA8F,CAAC,CACjI;CAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
//#region ../icons/dist/react/default/airplay-exit.js
|
|
3
|
+
const AirPlayExitIcon = (props) => /* @__PURE__ */ jsxs("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
width: 18,
|
|
6
|
+
height: 18,
|
|
7
|
+
fill: "currentColor",
|
|
8
|
+
"aria-hidden": "true",
|
|
9
|
+
viewBox: "0 0 18 18",
|
|
10
|
+
...props,
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ jsx("style", { children: "@keyframes media-icon--airplay__triangle{0%{translate:0 0}to{translate:0-2px}}@keyframes media-icon--airplay__fill{0%{fill-opacity:0}to{fill-opacity:.2}}" }),
|
|
13
|
+
/* @__PURE__ */ jsx("path", {
|
|
14
|
+
fillOpacity: .2,
|
|
15
|
+
d: "M14.5 2A3.5 3.5 0 0 1 18 5.5v5a3.5 3.5 0 0 1-3.032 3.468L9.354 8.354a.5.5 0 0 0-.708 0l-5.615 5.614A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z",
|
|
16
|
+
style: { animation: "var(--media-icon--airplay__fill-animation, media-icon--airplay__fill 1s ease-in-out infinite alternate)" }
|
|
17
|
+
}),
|
|
18
|
+
/* @__PURE__ */ jsx("path", { d: "M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13 12h1.5a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 4h-11A1.5 1.5 0 0 0 2 5.5v5A1.5 1.5 0 0 0 3.5 12H5l-1.968 1.967A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z" }),
|
|
19
|
+
/* @__PURE__ */ jsx("path", {
|
|
20
|
+
d: "M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z",
|
|
21
|
+
style: { animation: "var(--media-icon--airplay__triangle-animation, media-icon--airplay__triangle 1s ease-in-out infinite alternate)" }
|
|
22
|
+
})
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
export { AirPlayExitIcon as default };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=airplay-exit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"airplay-exit.js","names":[],"sources":["../../../../../../../icons/dist/react/default/airplay-exit.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nconst AirPlayExitIcon = (props) => /* @__PURE__ */ jsxs(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 18, height: 18, fill: \"currentColor\", \"aria-hidden\": \"true\", viewBox: \"0 0 18 18\", ...props, children: [\n /* @__PURE__ */ jsx(\"style\", { children: \"@keyframes media-icon--airplay__triangle{0%{translate:0 0}to{translate:0-2px}}@keyframes media-icon--airplay__fill{0%{fill-opacity:0}to{fill-opacity:.2}}\" }),\n /* @__PURE__ */ jsx(\"path\", { fillOpacity: 0.2, d: \"M14.5 2A3.5 3.5 0 0 1 18 5.5v5a3.5 3.5 0 0 1-3.032 3.468L9.354 8.354a.5.5 0 0 0-.708 0l-5.615 5.614A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z\", style: {\n animation: \"var(--media-icon--airplay__fill-animation, media-icon--airplay__fill 1s ease-in-out infinite alternate)\"\n } }),\n /* @__PURE__ */ jsx(\"path\", { d: \"M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13 12h1.5a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 4h-11A1.5 1.5 0 0 0 2 5.5v5A1.5 1.5 0 0 0 3.5 12H5l-1.968 1.967A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z\" }),\n /* @__PURE__ */ jsx(\"path\", { d: \"M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z\", style: {\n animation: \"var(--media-icon--airplay__triangle-animation, media-icon--airplay__triangle 1s ease-in-out infinite alternate)\"\n } })\n] });\nexport default AirPlayExitIcon;\n"],"mappings":";;AACA,MAAM,mBAAmB,UAA0B,qBAAK,OAAO;CAAE,OAAO;CAA8B,OAAO;CAAI,QAAQ;CAAI,MAAM;CAAgB,eAAe;CAAQ,SAAS;CAAa,GAAG;CAAO,UAAU;EAClM,oBAAI,SAAS,EAAE,UAAU,6JAA6J,CAAC;EACvL,oBAAI,QAAQ;GAAE,aAAa;GAAK,GAAG;GAAoJ,OAAO,EAC5M,WAAW,2GACZ;GAAE,CAAC;EACY,oBAAI,QAAQ,EAAE,GAAG,wOAAwO,CAAC;EAC1P,oBAAI,QAAQ;GAAE,GAAG;GAA8F,OAAO,EACpI,WAAW,mHACZ;GAAE,CAAC;EACL;CAAE,CAAC"}
|