@videojs/react 10.0.0-beta.2 → 10.0.0-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/default/_virtual/_rolldown/runtime.js +6 -11
- package/dist/default/icons/dist/react/default/captions-off.js +1 -3
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-on.js +1 -3
- package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-enter.js +32 -0
- package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -0
- package/dist/default/icons/dist/react/default/cast-exit.js +36 -0
- package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -0
- package/dist/default/icons/dist/react/default/fullscreen-enter.js +1 -3
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js +1 -3
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/pause.js +1 -3
- package/dist/default/icons/dist/react/default/pause.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-enter.js +32 -0
- package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -0
- package/dist/default/icons/dist/react/default/pip-exit.js +32 -0
- package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -0
- package/dist/default/icons/dist/react/default/play.js +1 -3
- package/dist/default/icons/dist/react/default/play.js.map +1 -1
- package/dist/default/icons/dist/react/default/restart.js +1 -3
- package/dist/default/icons/dist/react/default/restart.js.map +1 -1
- package/dist/default/icons/dist/react/default/seek.js +1 -3
- package/dist/default/icons/dist/react/default/seek.js.map +1 -1
- package/dist/default/icons/dist/react/default/spinner.js +1 -3
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-high.js +1 -3
- package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-low.js +1 -3
- package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-off.js +1 -3
- package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-off.js +1 -3
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js +1 -3
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js +28 -0
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/cast-exit.js +32 -0
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +1 -3
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +1 -3
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pause.js +1 -3
- package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js +36 -0
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/pip-exit.js +36 -0
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/play.js +1 -3
- package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/restart.js +1 -3
- package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/seek.js +1 -3
- package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/spinner.js +1 -3
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-high.js +1 -3
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js +1 -3
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js +1 -3
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/default/index.js +26 -14
- package/dist/default/media/audio.js +5 -10
- package/dist/default/media/audio.js.map +1 -1
- package/dist/default/media/background-video/index.js +4 -6
- package/dist/default/media/background-video/index.js.map +1 -1
- package/dist/default/media/dash-video/index.js +21 -0
- package/dist/default/media/dash-video/index.js.map +1 -0
- package/dist/default/media/hls-video/index.js +8 -13
- package/dist/default/media/hls-video/index.js.map +1 -1
- package/dist/default/media/mux-audio/index.js +20 -0
- package/dist/default/media/mux-audio/index.js.map +1 -0
- package/dist/default/media/mux-video/index.js +21 -0
- package/dist/default/media/mux-video/index.js.map +1 -0
- package/dist/default/media/native-hls-video/index.js +21 -0
- package/dist/default/media/native-hls-video/index.js.map +1 -0
- package/dist/default/media/simple-hls-video/index.js +8 -12
- package/dist/default/media/simple-hls-video/index.js.map +1 -1
- package/dist/default/media/video.js +5 -10
- package/dist/default/media/video.js.map +1 -1
- package/dist/default/player/context.js +27 -15
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +18 -6
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/index.js +1 -2
- package/dist/default/presets/audio/minimal-skin.css +293 -194
- package/dist/default/presets/audio/minimal-skin.js +144 -123
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +156 -137
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +276 -186
- package/dist/default/presets/audio/skin.js +218 -126
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +166 -141
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/background/index.js +1 -2
- package/dist/default/presets/background/skin.js +1 -2
- package/dist/default/presets/background/skin.js.map +1 -1
- package/dist/default/presets/video/index.js +1 -2
- package/dist/default/presets/video/minimal-skin.css +593 -340
- package/dist/default/presets/video/minimal-skin.js +149 -122
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +160 -138
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +561 -323
- package/dist/default/presets/video/skin.js +310 -171
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +215 -186
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -32
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +5 -5
- 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 +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +4 -5
- package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
- 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 +5 -6
- 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 +15 -0
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
- 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 +2 -3
- 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 +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- 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 +41 -25
- 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 +18 -27
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- 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-group.js +1 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +5 -5
- 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 +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +4 -5
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
- 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 +15 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
- 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 +2 -3
- 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 +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
- 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 +44 -23
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +2 -4
- package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description.js +2 -4
- package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +2 -4
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-root.js +5 -7
- package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title.js +2 -4
- package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/default/ui/alert-dialog/context.js +2 -4
- package/dist/default/ui/alert-dialog/context.js.map +1 -1
- package/dist/default/ui/alert-dialog/index.js +1 -2
- package/dist/default/ui/alert-dialog/index.parts.js +1 -2
- package/dist/default/ui/buffering-indicator/buffering-indicator.js +4 -4
- package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/default/ui/buffering-indicator/index.js +1 -2
- package/dist/default/ui/captions-button/captions-button.js +4 -5
- package/dist/default/ui/captions-button/captions-button.js.map +1 -1
- package/dist/default/ui/captions-button/index.js +1 -2
- package/dist/default/ui/cast-button/cast-button.js +17 -0
- package/dist/default/ui/cast-button/cast-button.js.map +1 -0
- package/dist/default/ui/cast-button/index.js +2 -0
- package/dist/default/ui/controls/context.js +2 -4
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/controls/controls-group.js +2 -4
- package/dist/default/ui/controls/controls-group.js.map +1 -1
- package/dist/default/ui/controls/controls-root.js +2 -4
- package/dist/default/ui/controls/controls-root.js.map +1 -1
- package/dist/default/ui/controls/index.js +1 -2
- package/dist/default/ui/controls/index.parts.js +1 -2
- package/dist/default/ui/create-context-part.js +2 -4
- package/dist/default/ui/create-context-part.js.map +1 -1
- package/dist/default/ui/create-media-button.js +22 -10
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/error-dialog/context.js +14 -0
- package/dist/default/ui/error-dialog/context.js.map +1 -0
- package/dist/default/ui/error-dialog/error-dialog-description.js +28 -0
- package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -0
- package/dist/default/ui/error-dialog/error-dialog-root.js +57 -0
- package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -0
- package/dist/default/ui/error-dialog/index.js +3 -0
- package/dist/default/ui/error-dialog/index.parts.js +18 -0
- package/dist/default/ui/error-dialog/index.parts.js.map +1 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button.js +4 -5
- package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/default/ui/fullscreen-button/index.js +1 -2
- package/dist/default/ui/gesture/media-gesture.js +42 -0
- package/dist/default/ui/gesture/media-gesture.js.map +1 -0
- package/dist/default/ui/gesture/use-doubletap-gesture.js +29 -0
- package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -0
- package/dist/default/ui/gesture/use-tap-gesture.js +29 -0
- package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -0
- package/dist/default/ui/hooks/use-button.js +2 -4
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hooks/use-slider.js +4 -6
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/default/ui/hotkey/media-hotkey.js +41 -0
- package/dist/default/ui/hotkey/media-hotkey.js.map +1 -0
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +16 -0
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +1 -0
- package/dist/default/ui/hotkey/use-hotkey.js +32 -0
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -0
- package/dist/default/ui/mute-button/index.js +1 -2
- package/dist/default/ui/mute-button/mute-button.js +4 -5
- package/dist/default/ui/mute-button/mute-button.js.map +1 -1
- package/dist/default/ui/pip-button/index.js +1 -2
- package/dist/default/ui/pip-button/pip-button.js +4 -5
- package/dist/default/ui/pip-button/pip-button.js.map +1 -1
- package/dist/default/ui/play-button/index.js +1 -2
- package/dist/default/ui/play-button/play-button.js +4 -5
- package/dist/default/ui/play-button/play-button.js.map +1 -1
- package/dist/default/ui/playback-rate-button/index.js +1 -2
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -4
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/popover/context.js +2 -4
- package/dist/default/ui/popover/context.js.map +1 -1
- package/dist/default/ui/popover/index.js +1 -2
- package/dist/default/ui/popover/index.parts.js +1 -2
- package/dist/default/ui/popover/popover-arrow.js +2 -4
- package/dist/default/ui/popover/popover-arrow.js.map +1 -1
- package/dist/default/ui/popover/popover-popup.js +13 -6
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +4 -6
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/popover-trigger.js +2 -4
- package/dist/default/ui/popover/popover-trigger.js.map +1 -1
- package/dist/default/ui/poster/index.js +1 -2
- package/dist/default/ui/poster/poster.js +2 -4
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/seek-button/index.js +1 -2
- package/dist/default/ui/seek-button/seek-button.js +2 -4
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/slider/context.js +2 -4
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/index.js +1 -2
- package/dist/default/ui/slider/index.parts.js +1 -2
- package/dist/default/ui/slider/slider-buffer.js +2 -4
- package/dist/default/ui/slider/slider-buffer.js.map +1 -1
- package/dist/default/ui/slider/slider-fill.js +2 -4
- package/dist/default/ui/slider/slider-fill.js.map +1 -1
- package/dist/default/ui/slider/slider-preview.js +2 -4
- package/dist/default/ui/slider/slider-preview.js.map +1 -1
- package/dist/default/ui/slider/slider-root.js +2 -4
- package/dist/default/ui/slider/slider-root.js.map +1 -1
- package/dist/default/ui/slider/slider-thumb.js +2 -4
- package/dist/default/ui/slider/slider-thumb.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail.js +2 -4
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/default/ui/slider/slider-track.js +2 -4
- package/dist/default/ui/slider/slider-track.js.map +1 -1
- package/dist/default/ui/slider/slider-value.js +2 -4
- package/dist/default/ui/slider/slider-value.js.map +1 -1
- package/dist/default/ui/thumbnail/index.js +2 -0
- package/dist/default/ui/thumbnail/thumbnail.js +3 -6
- package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/default/ui/time/index.js +1 -2
- package/dist/default/ui/time/index.parts.js +1 -2
- package/dist/default/ui/time/time-group.js +2 -4
- package/dist/default/ui/time/time-group.js.map +1 -1
- package/dist/default/ui/time/time-separator.js +2 -4
- package/dist/default/ui/time/time-separator.js.map +1 -1
- package/dist/default/ui/time/time-value.js +2 -4
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/index.js +1 -2
- package/dist/default/ui/time-slider/index.parts.js +1 -2
- package/dist/default/ui/time-slider/time-slider-root.js +6 -8
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/tooltip/context.js +6 -5
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/group-context.js +2 -4
- package/dist/default/ui/tooltip/group-context.js.map +1 -1
- package/dist/default/ui/tooltip/index.js +2 -3
- package/dist/default/ui/tooltip/index.parts.js +1 -2
- package/dist/default/ui/tooltip/tooltip-arrow.js +2 -4
- package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-popup.js +15 -7
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-provider.js +2 -4
- package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +9 -7
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-trigger.js +4 -9
- package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/default/ui/volume-slider/index.js +1 -2
- package/dist/default/ui/volume-slider/index.parts.js +1 -2
- package/dist/default/ui/volume-slider/volume-slider-root.js +36 -20
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/default/utils/attach-media-element.js +1 -1
- package/dist/default/utils/media-props.js +14 -6
- package/dist/default/utils/media-props.js.map +1 -1
- package/dist/default/utils/merge-props.js +2 -3
- package/dist/default/utils/merge-props.js.map +1 -1
- package/dist/default/utils/use-composed-refs.js +2 -4
- package/dist/default/utils/use-composed-refs.js.map +1 -1
- package/dist/default/utils/use-destroy.js +14 -8
- package/dist/default/utils/use-destroy.js.map +1 -1
- package/dist/default/utils/use-force-render.js +2 -4
- package/dist/default/utils/use-force-render.js.map +1 -1
- package/dist/default/utils/use-latest-ref.js +2 -4
- package/dist/default/utils/use-latest-ref.js.map +1 -1
- package/dist/default/utils/use-media-instance.js +22 -0
- package/dist/default/utils/use-media-instance.js.map +1 -0
- package/dist/default/utils/use-render.js +7 -5
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/default/utils/use-safe-id.js +3 -5
- package/dist/default/utils/use-safe-id.js.map +1 -1
- package/dist/dev/_virtual/_rolldown/runtime.js +6 -11
- package/dist/dev/icons/dist/react/default/captions-off.js +1 -3
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-on.js +1 -3
- package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-enter.js +32 -0
- package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/default/cast-exit.js +36 -0
- package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js +1 -3
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js +1 -3
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pause.js +1 -3
- package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-enter.js +32 -0
- package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/default/pip-exit.js +32 -0
- package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/default/play.js +1 -3
- package/dist/dev/icons/dist/react/default/play.js.map +1 -1
- package/dist/dev/icons/dist/react/default/restart.js +1 -3
- package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/default/seek.js +1 -3
- package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/default/spinner.js +1 -3
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-high.js +1 -3
- package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-low.js +1 -3
- package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-off.js +1 -3
- package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -3
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-on.js +1 -3
- package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-enter.js +28 -0
- package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/cast-exit.js +32 -0
- package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +1 -3
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +1 -3
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pause.js +1 -3
- package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-enter.js +36 -0
- package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/pip-exit.js +36 -0
- package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/play.js +1 -3
- package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/restart.js +1 -3
- package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/seek.js +1 -3
- package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/spinner.js +1 -3
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-high.js +1 -3
- package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-low.js +1 -3
- package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-off.js +1 -3
- package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/dev/index.d.ts +23 -8
- package/dist/dev/index.js +26 -14
- package/dist/dev/media/audio.d.ts.map +1 -1
- package/dist/dev/media/audio.js +5 -10
- package/dist/dev/media/audio.js.map +1 -1
- package/dist/dev/media/background-video/index.js +4 -6
- package/dist/dev/media/background-video/index.js.map +1 -1
- package/dist/dev/media/dash-video/index.d.ts +16 -0
- package/dist/dev/media/dash-video/index.d.ts.map +1 -0
- package/dist/dev/media/dash-video/index.js +21 -0
- package/dist/dev/media/dash-video/index.js.map +1 -0
- package/dist/dev/media/hls-video/index.d.ts +8 -3
- package/dist/dev/media/hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/hls-video/index.js +8 -13
- package/dist/dev/media/hls-video/index.js.map +1 -1
- package/dist/dev/media/mux-audio/index.d.ts +13 -0
- package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
- package/dist/dev/media/mux-audio/index.js +20 -0
- package/dist/dev/media/mux-audio/index.js.map +1 -0
- package/dist/dev/media/mux-video/index.d.ts +16 -0
- package/dist/dev/media/mux-video/index.d.ts.map +1 -0
- package/dist/dev/media/mux-video/index.js +21 -0
- package/dist/dev/media/mux-video/index.js.map +1 -0
- package/dist/dev/media/native-hls-video/index.d.ts +16 -0
- package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
- package/dist/dev/media/native-hls-video/index.js +21 -0
- package/dist/dev/media/native-hls-video/index.js.map +1 -0
- package/dist/dev/media/simple-hls-video/index.d.ts +4 -1
- package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/simple-hls-video/index.js +8 -12
- package/dist/dev/media/simple-hls-video/index.js.map +1 -1
- package/dist/dev/media/video.d.ts.map +1 -1
- package/dist/dev/media/video.js +5 -10
- package/dist/dev/media/video.js.map +1 -1
- package/dist/dev/player/context.d.ts +24 -7
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +27 -15
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.js +18 -6
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/index.js +1 -2
- package/dist/dev/presets/audio/minimal-skin.css +293 -194
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +144 -123
- 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 +156 -137
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +276 -186
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +218 -126
- 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 +166 -141
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/background/index.js +1 -2
- package/dist/dev/presets/background/skin.js +1 -2
- package/dist/dev/presets/background/skin.js.map +1 -1
- package/dist/dev/presets/types.d.ts +6 -1
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/index.js +1 -2
- package/dist/dev/presets/video/minimal-skin.css +593 -340
- package/dist/dev/presets/video/minimal-skin.d.ts +2 -2
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +149 -122
- 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 +160 -138
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +561 -323
- package/dist/dev/presets/video/skin.d.ts +2 -2
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +310 -171
- 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 +215 -186
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -32
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +5 -5
- 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 +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +4 -5
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
- 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 +5 -6
- 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 +15 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
- 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 +2 -3
- 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 +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- 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 +41 -25
- 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 +18 -27
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- 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-group.js +1 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +5 -5
- 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 +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +4 -5
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
- 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 +15 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
- 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 +2 -3
- 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 +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
- 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 +44 -23
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/{default/skins/dist/default/default/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +2 -4
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js +2 -4
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +2 -4
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js +5 -7
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js +2 -4
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/dev/ui/alert-dialog/context.js +2 -4
- package/dist/dev/ui/alert-dialog/context.js.map +1 -1
- package/dist/dev/ui/alert-dialog/index.js +1 -2
- package/dist/dev/ui/alert-dialog/index.parts.js +1 -2
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js +4 -4
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/index.js +1 -2
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.js +4 -5
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
- package/dist/dev/ui/captions-button/index.js +1 -2
- package/dist/dev/ui/cast-button/cast-button.d.ts +15 -0
- package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -0
- package/dist/dev/ui/cast-button/cast-button.js +17 -0
- package/dist/dev/ui/cast-button/cast-button.js.map +1 -0
- package/dist/dev/ui/cast-button/index.d.ts +2 -0
- package/dist/dev/ui/cast-button/index.js +2 -0
- package/dist/dev/ui/controls/context.js +2 -4
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/controls/controls-group.js +2 -4
- package/dist/dev/ui/controls/controls-group.js.map +1 -1
- package/dist/dev/ui/controls/controls-root.js +2 -4
- package/dist/dev/ui/controls/controls-root.js.map +1 -1
- package/dist/dev/ui/controls/index.js +1 -2
- package/dist/dev/ui/controls/index.parts.js +1 -2
- package/dist/dev/ui/create-context-part.js +2 -4
- package/dist/dev/ui/create-context-part.js.map +1 -1
- package/dist/dev/ui/create-media-button.js +22 -10
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/error-dialog/context.d.ts +10 -0
- package/dist/dev/ui/error-dialog/context.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/context.js +14 -0
- package/dist/dev/ui/error-dialog/context.js.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +14 -0
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-description.js +28 -0
- package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +15 -0
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-root.js +57 -0
- package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -0
- package/dist/dev/ui/error-dialog/index.d.ts +3 -0
- package/dist/dev/ui/error-dialog/index.js +3 -0
- package/dist/dev/ui/error-dialog/index.parts.d.ts +13 -0
- package/dist/dev/ui/error-dialog/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/index.parts.js +18 -0
- package/dist/dev/ui/error-dialog/index.parts.js.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js +4 -5
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/index.js +1 -2
- package/dist/dev/ui/gesture/media-gesture.d.ts +23 -0
- package/dist/dev/ui/gesture/media-gesture.d.ts.map +1 -0
- package/dist/dev/ui/gesture/media-gesture.js +42 -0
- package/dist/dev/ui/gesture/media-gesture.js.map +1 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +14 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.js +29 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -0
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts +14 -0
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -0
- package/dist/dev/ui/gesture/use-tap-gesture.js +29 -0
- package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -0
- package/dist/dev/ui/hooks/use-button.js +2 -4
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.d.ts +1 -1
- package/dist/dev/ui/hooks/use-slider.js +4 -6
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/hotkey/media-hotkey.d.ts +21 -0
- package/dist/dev/ui/hotkey/media-hotkey.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/media-hotkey.js +41 -0
- package/dist/dev/ui/hotkey/media-hotkey.js.map +1 -0
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +5 -0
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +16 -0
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey.d.ts +12 -0
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey.js +32 -0
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -0
- package/dist/dev/ui/mute-button/index.js +1 -2
- package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.js +4 -5
- package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
- package/dist/dev/ui/pip-button/index.js +1 -2
- package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
- package/dist/dev/ui/pip-button/pip-button.js +4 -5
- package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
- package/dist/dev/ui/play-button/index.js +1 -2
- package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
- package/dist/dev/ui/play-button/play-button.js +4 -5
- package/dist/dev/ui/play-button/play-button.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/index.js +1 -2
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -4
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/dev/ui/popover/context.js +2 -4
- package/dist/dev/ui/popover/context.js.map +1 -1
- package/dist/dev/ui/popover/index.js +1 -2
- package/dist/dev/ui/popover/index.parts.js +1 -2
- package/dist/dev/ui/popover/popover-arrow.js +2 -4
- package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +13 -6
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +4 -6
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.js +2 -4
- package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
- package/dist/dev/ui/poster/index.js +1 -2
- package/dist/dev/ui/poster/poster.js +2 -4
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/seek-button/index.js +1 -2
- package/dist/dev/ui/seek-button/seek-button.js +2 -4
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
- package/dist/dev/ui/slider/context.js +2 -4
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/index.js +1 -2
- package/dist/dev/ui/slider/index.parts.js +1 -2
- package/dist/dev/ui/slider/slider-buffer.js +2 -4
- package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
- package/dist/dev/ui/slider/slider-fill.js +2 -4
- package/dist/dev/ui/slider/slider-fill.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview.js +2 -4
- package/dist/dev/ui/slider/slider-preview.js.map +1 -1
- package/dist/dev/ui/slider/slider-root.js +2 -4
- package/dist/dev/ui/slider/slider-root.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumb.js +2 -4
- package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.js +2 -4
- package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/dev/ui/slider/slider-track.js +2 -4
- package/dist/dev/ui/slider/slider-track.js.map +1 -1
- package/dist/dev/ui/slider/slider-value.js +2 -4
- package/dist/dev/ui/slider/slider-value.js.map +1 -1
- package/dist/dev/ui/thumbnail/index.d.ts +2 -0
- package/dist/dev/ui/thumbnail/index.js +2 -0
- package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.js +3 -6
- package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/dev/ui/time/index.js +1 -2
- package/dist/dev/ui/time/index.parts.js +1 -2
- package/dist/dev/ui/time/time-group.js +2 -4
- package/dist/dev/ui/time/time-group.js.map +1 -1
- package/dist/dev/ui/time/time-separator.js +2 -4
- package/dist/dev/ui/time/time-separator.js.map +1 -1
- package/dist/dev/ui/time/time-value.js +2 -4
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/index.js +1 -2
- package/dist/dev/ui/time-slider/index.parts.js +1 -2
- package/dist/dev/ui/time-slider/time-slider-root.js +6 -8
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +4 -1
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js +6 -5
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/group-context.js +2 -4
- package/dist/dev/ui/tooltip/group-context.js.map +1 -1
- package/dist/dev/ui/tooltip/index.d.ts +2 -2
- package/dist/dev/ui/tooltip/index.js +2 -3
- package/dist/dev/ui/tooltip/index.parts.js +1 -2
- package/dist/dev/ui/tooltip/tooltip-arrow.js +2 -4
- package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +15 -7
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.js +2 -4
- package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +9 -7
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-trigger.js +4 -9
- package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/dev/ui/volume-slider/index.js +1 -2
- package/dist/dev/ui/volume-slider/index.parts.js +1 -2
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js +36 -20
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/utils/attach-media-element.d.ts +9 -0
- package/dist/dev/utils/attach-media-element.d.ts.map +1 -0
- package/dist/dev/utils/attach-media-element.js +1 -1
- package/dist/dev/utils/media-props.d.ts +8 -0
- package/dist/dev/utils/media-props.d.ts.map +1 -0
- package/dist/dev/utils/media-props.js +14 -6
- package/dist/dev/utils/media-props.js.map +1 -1
- package/dist/dev/utils/merge-props.js +2 -3
- package/dist/dev/utils/merge-props.js.map +1 -1
- package/dist/dev/utils/use-composed-refs.d.ts +29 -0
- package/dist/dev/utils/use-composed-refs.d.ts.map +1 -0
- package/dist/dev/utils/use-composed-refs.js +2 -4
- package/dist/dev/utils/use-composed-refs.js.map +1 -1
- package/dist/dev/utils/use-destroy.d.ts +22 -0
- package/dist/dev/utils/use-destroy.d.ts.map +1 -0
- package/dist/dev/utils/use-destroy.js +14 -8
- package/dist/dev/utils/use-destroy.js.map +1 -1
- package/dist/dev/utils/use-force-render.js +2 -4
- package/dist/dev/utils/use-force-render.js.map +1 -1
- package/dist/dev/utils/use-latest-ref.d.ts +18 -0
- package/dist/dev/utils/use-latest-ref.d.ts.map +1 -0
- package/dist/dev/utils/use-latest-ref.js +2 -4
- package/dist/dev/utils/use-latest-ref.js.map +1 -1
- package/dist/dev/utils/use-media-instance.d.ts +16 -0
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -0
- package/dist/dev/utils/use-media-instance.js +22 -0
- package/dist/dev/utils/use-media-instance.js.map +1 -0
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +7 -5
- package/dist/dev/utils/use-render.js.map +1 -1
- package/dist/dev/utils/use-safe-id.js +3 -5
- package/dist/dev/utils/use-safe-id.js.map +1 -1
- package/package.json +15 -15
- package/dist/default/icons/dist/react/default/pip.js +0 -27
- package/dist/default/icons/dist/react/default/pip.js.map +0 -1
- package/dist/default/icons/dist/react/minimal/pip.js +0 -27
- package/dist/default/icons/dist/react/minimal/pip.js.map +0 -1
- package/dist/default/presets/video/error-dialog.js +0 -51
- package/dist/default/presets/video/error-dialog.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
- package/dist/dev/icons/dist/react/default/pip.js +0 -27
- package/dist/dev/icons/dist/react/default/pip.js.map +0 -1
- package/dist/dev/icons/dist/react/minimal/pip.js +0 -27
- package/dist/dev/icons/dist/react/minimal/pip.js.map +0 -1
- package/dist/dev/presets/video/error-dialog.js +0 -51
- package/dist/dev/presets/video/error-dialog.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContainer, usePlayer } from "../../player/context.js";
|
|
3
|
+
import { createDoubleTapGesture, createTapGesture, resolveGestureAction } from "@videojs/core/dom";
|
|
4
|
+
import { useEffect } from "react";
|
|
5
|
+
//#region src/ui/gesture/media-gesture.tsx
|
|
6
|
+
function MediaGesture({ type, action, value, pointer, region, disabled }) {
|
|
7
|
+
const store = usePlayer();
|
|
8
|
+
const container = useContainer();
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!container || !type || !action || disabled) return;
|
|
11
|
+
const resolver = resolveGestureAction(action);
|
|
12
|
+
if (!resolver) return;
|
|
13
|
+
const onActivate = (event) => {
|
|
14
|
+
resolver({
|
|
15
|
+
store,
|
|
16
|
+
value,
|
|
17
|
+
event
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
const options = {
|
|
21
|
+
pointer,
|
|
22
|
+
region,
|
|
23
|
+
action
|
|
24
|
+
};
|
|
25
|
+
if (type === "doubletap") return createDoubleTapGesture(container, onActivate, options);
|
|
26
|
+
return createTapGesture(container, onActivate, options);
|
|
27
|
+
}, [
|
|
28
|
+
container,
|
|
29
|
+
store,
|
|
30
|
+
type,
|
|
31
|
+
action,
|
|
32
|
+
value,
|
|
33
|
+
pointer,
|
|
34
|
+
region,
|
|
35
|
+
disabled
|
|
36
|
+
]);
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { MediaGesture };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=media-gesture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-gesture.js","names":[],"sources":["../../../../src/ui/gesture/media-gesture.tsx"],"sourcesContent":["'use client';\n\nimport {\n type AnyPlayerStore,\n createDoubleTapGesture,\n createTapGesture,\n type GestureActionName,\n type GesturePointerType,\n type GestureRegion,\n resolveGestureAction,\n} from '@videojs/core/dom';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\n\nimport { useContainer, usePlayer } from '../../player/context';\n\nexport interface MediaGestureProps {\n type: 'tap' | 'doubletap' | (string & {});\n action: GestureActionName | (string & {});\n value?: number;\n pointer?: GesturePointerType;\n region?: GestureRegion;\n disabled?: boolean;\n}\n\nexport function MediaGesture({ type, action, value, pointer, region, disabled }: MediaGestureProps): ReactNode {\n const store = usePlayer() as AnyPlayerStore;\n const container = useContainer();\n\n useEffect(() => {\n if (!container || !type || !action || disabled) return;\n\n const resolver = resolveGestureAction(action);\n if (!resolver) return;\n\n const onActivate = (event: PointerEvent) => {\n resolver({ store, value, event });\n };\n\n const options = { pointer, region, action };\n\n if (type === 'doubletap') {\n return createDoubleTapGesture(container, onActivate, options);\n }\n\n return createTapGesture(container, onActivate, options);\n }, [container, store, type, action, value, pointer, region, disabled]);\n\n return null;\n}\n"],"mappings":";;;;;AAyBA,SAAgB,aAAa,EAAE,MAAM,QAAQ,OAAO,SAAS,QAAQ,YAA0C;CAC7G,MAAM,QAAQ,WAAW;CACzB,MAAM,YAAY,cAAc;AAEhC,iBAAgB;AACd,MAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,SAAU;EAEhD,MAAM,WAAW,qBAAqB,OAAO;AAC7C,MAAI,CAAC,SAAU;EAEf,MAAM,cAAc,UAAwB;AAC1C,YAAS;IAAE;IAAO;IAAO;IAAO,CAAC;;EAGnC,MAAM,UAAU;GAAE;GAAS;GAAQ;GAAQ;AAE3C,MAAI,SAAS,YACX,QAAO,uBAAuB,WAAW,YAAY,QAAQ;AAG/D,SAAO,iBAAiB,WAAW,YAAY,QAAQ;IACtD;EAAC;EAAW;EAAO;EAAM;EAAQ;EAAO;EAAS;EAAQ;EAAS,CAAC;AAEtE,QAAO"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GesturePointerType, GestureRegion } from "@videojs/core/dom";
|
|
2
|
+
import { RefObject } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/ui/gesture/use-doubletap-gesture.d.ts
|
|
5
|
+
interface UseDoubleTapGestureOptions {
|
|
6
|
+
pointer?: GesturePointerType;
|
|
7
|
+
region?: GestureRegion;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
target?: RefObject<HTMLElement | null>;
|
|
10
|
+
}
|
|
11
|
+
declare function useDoubleTapGesture(onActivate: (event: PointerEvent) => void, options?: UseDoubleTapGestureOptions): void;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { UseDoubleTapGestureOptions, useDoubleTapGesture };
|
|
14
|
+
//# sourceMappingURL=use-doubletap-gesture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-doubletap-gesture.d.ts","names":[],"sources":["../../../../src/ui/gesture/use-doubletap-gesture.ts"],"mappings":";;;;UASiB,0BAAA;EACf,OAAA,GAAU,kBAAA;EACV,MAAA,GAAS,aAAA;EACT,QAAA;EACA,MAAA,GAAS,SAAA,CAAU,WAAA;AAAA;AAAA,iBAGL,mBAAA,CACd,UAAA,GAAa,KAAA,EAAO,YAAA,WACpB,OAAA,GAAU,0BAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContainer } from "../../player/context.js";
|
|
3
|
+
import { useLatestRef } from "../../utils/use-latest-ref.js";
|
|
4
|
+
import { createDoubleTapGesture } from "@videojs/core/dom";
|
|
5
|
+
import { useEffect } from "react";
|
|
6
|
+
//#region src/ui/gesture/use-doubletap-gesture.ts
|
|
7
|
+
function useDoubleTapGesture(onActivate, options) {
|
|
8
|
+
const { pointer, region, disabled = false, target } = options ?? {};
|
|
9
|
+
const contextContainer = useContainer();
|
|
10
|
+
const container = target?.current ?? contextContainer;
|
|
11
|
+
const onActivateRef = useLatestRef(onActivate);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (!container || disabled) return;
|
|
14
|
+
return createDoubleTapGesture(container, (event) => onActivateRef.current(event), {
|
|
15
|
+
pointer,
|
|
16
|
+
region
|
|
17
|
+
});
|
|
18
|
+
}, [
|
|
19
|
+
container,
|
|
20
|
+
disabled,
|
|
21
|
+
pointer,
|
|
22
|
+
region,
|
|
23
|
+
onActivateRef
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { useDoubleTapGesture };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=use-doubletap-gesture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-doubletap-gesture.js","names":[],"sources":["../../../../src/ui/gesture/use-doubletap-gesture.ts"],"sourcesContent":["'use client';\n\nimport { createDoubleTapGesture, type GesturePointerType, type GestureRegion } from '@videojs/core/dom';\nimport type { RefObject } from 'react';\nimport { useEffect } from 'react';\n\nimport { useContainer } from '../../player/context';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseDoubleTapGestureOptions {\n pointer?: GesturePointerType;\n region?: GestureRegion;\n disabled?: boolean;\n target?: RefObject<HTMLElement | null>;\n}\n\nexport function useDoubleTapGesture(\n onActivate: (event: PointerEvent) => void,\n options?: UseDoubleTapGestureOptions\n): void {\n const { pointer, region, disabled = false, target } = options ?? {};\n const contextContainer = useContainer();\n const container = target?.current ?? contextContainer;\n const onActivateRef = useLatestRef(onActivate);\n\n useEffect(() => {\n if (!container || disabled) return;\n\n return createDoubleTapGesture(container, (event) => onActivateRef.current(event), { pointer, region });\n }, [container, disabled, pointer, region, onActivateRef]);\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,oBACd,YACA,SACM;CACN,MAAM,EAAE,SAAS,QAAQ,WAAW,OAAO,WAAW,WAAW,EAAE;CACnE,MAAM,mBAAmB,cAAc;CACvC,MAAM,YAAY,QAAQ,WAAW;CACrC,MAAM,gBAAgB,aAAa,WAAW;AAE9C,iBAAgB;AACd,MAAI,CAAC,aAAa,SAAU;AAE5B,SAAO,uBAAuB,YAAY,UAAU,cAAc,QAAQ,MAAM,EAAE;GAAE;GAAS;GAAQ,CAAC;IACrG;EAAC;EAAW;EAAU;EAAS;EAAQ;EAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GesturePointerType, GestureRegion } from "@videojs/core/dom";
|
|
2
|
+
import { RefObject } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/ui/gesture/use-tap-gesture.d.ts
|
|
5
|
+
interface UseTapGestureOptions {
|
|
6
|
+
pointer?: GesturePointerType;
|
|
7
|
+
region?: GestureRegion;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
target?: RefObject<HTMLElement | null>;
|
|
10
|
+
}
|
|
11
|
+
declare function useTapGesture(onActivate: (event: PointerEvent) => void, options?: UseTapGestureOptions): void;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { UseTapGestureOptions, useTapGesture };
|
|
14
|
+
//# sourceMappingURL=use-tap-gesture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tap-gesture.d.ts","names":[],"sources":["../../../../src/ui/gesture/use-tap-gesture.ts"],"mappings":";;;;UASiB,oBAAA;EACf,OAAA,GAAU,kBAAA;EACV,MAAA,GAAS,aAAA;EACT,QAAA;EACA,MAAA,GAAS,SAAA,CAAU,WAAA;AAAA;AAAA,iBAGL,aAAA,CAAc,UAAA,GAAa,KAAA,EAAO,YAAA,WAAuB,OAAA,GAAU,oBAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContainer } from "../../player/context.js";
|
|
3
|
+
import { useLatestRef } from "../../utils/use-latest-ref.js";
|
|
4
|
+
import { createTapGesture } from "@videojs/core/dom";
|
|
5
|
+
import { useEffect } from "react";
|
|
6
|
+
//#region src/ui/gesture/use-tap-gesture.ts
|
|
7
|
+
function useTapGesture(onActivate, options) {
|
|
8
|
+
const { pointer, region, disabled = false, target } = options ?? {};
|
|
9
|
+
const contextContainer = useContainer();
|
|
10
|
+
const container = target?.current ?? contextContainer;
|
|
11
|
+
const onActivateRef = useLatestRef(onActivate);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (!container || disabled) return;
|
|
14
|
+
return createTapGesture(container, (event) => onActivateRef.current(event), {
|
|
15
|
+
pointer,
|
|
16
|
+
region
|
|
17
|
+
});
|
|
18
|
+
}, [
|
|
19
|
+
container,
|
|
20
|
+
disabled,
|
|
21
|
+
pointer,
|
|
22
|
+
region,
|
|
23
|
+
onActivateRef
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { useTapGesture };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=use-tap-gesture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tap-gesture.js","names":[],"sources":["../../../../src/ui/gesture/use-tap-gesture.ts"],"sourcesContent":["'use client';\n\nimport { createTapGesture, type GesturePointerType, type GestureRegion } from '@videojs/core/dom';\nimport type { RefObject } from 'react';\nimport { useEffect } from 'react';\n\nimport { useContainer } from '../../player/context';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseTapGestureOptions {\n pointer?: GesturePointerType;\n region?: GestureRegion;\n disabled?: boolean;\n target?: RefObject<HTMLElement | null>;\n}\n\nexport function useTapGesture(onActivate: (event: PointerEvent) => void, options?: UseTapGestureOptions): void {\n const { pointer, region, disabled = false, target } = options ?? {};\n const contextContainer = useContainer();\n const container = target?.current ?? contextContainer;\n const onActivateRef = useLatestRef(onActivate);\n\n useEffect(() => {\n if (!container || disabled) return;\n\n return createTapGesture(container, (event) => onActivateRef.current(event), { pointer, region });\n }, [container, disabled, pointer, region, onActivateRef]);\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,cAAc,YAA2C,SAAsC;CAC7G,MAAM,EAAE,SAAS,QAAQ,WAAW,OAAO,WAAW,WAAW,EAAE;CACnE,MAAM,mBAAmB,cAAc;CACvC,MAAM,YAAY,QAAQ,WAAW;CACrC,MAAM,gBAAgB,aAAa,WAAW;AAE9C,iBAAgB;AACd,MAAI,CAAC,aAAa,SAAU;AAE5B,SAAO,iBAAiB,YAAY,UAAU,cAAc,QAAQ,MAAM,EAAE;GAAE;GAAS;GAAQ,CAAC;IAC/F;EAAC;EAAW;EAAU;EAAS;EAAQ;EAAc,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { mergeProps } from "../../utils/merge-props.js";
|
|
4
3
|
import { createButton } from "@videojs/core/dom";
|
|
5
4
|
import { useCallback } from "react";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/hooks/use-button.ts
|
|
8
6
|
/**
|
|
9
7
|
* Hook for button behavior with keyboard and pointer interaction.
|
|
@@ -40,7 +38,7 @@ function useButton(params) {
|
|
|
40
38
|
buttonRef
|
|
41
39
|
};
|
|
42
40
|
}
|
|
43
|
-
|
|
44
41
|
//#endregion
|
|
45
42
|
export { useButton };
|
|
43
|
+
|
|
46
44
|
//# sourceMappingURL=use-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-button.js","names":[],"sources":["../../../../src/ui/hooks/use-button.ts"],"sourcesContent":["'use client';\n\nimport { createButton } from '@videojs/core/dom';\nimport type { ComponentPropsWithRef, Ref } from 'react';\nimport { useCallback } from 'react';\nimport { mergeProps } from '../../utils/merge-props';\n\nexport interface UseButtonParameters {\n displayName: string;\n onActivate: () => void;\n isDisabled: () => boolean;\n}\n\nexport interface UseButtonReturnValue {\n getButtonProps: (externalProps?: ComponentPropsWithRef<'button'>) => ComponentPropsWithRef<'button'>;\n buttonRef: Ref<HTMLElement>;\n}\n\n/**\n * Hook for button behavior with keyboard and pointer interaction.\n *\n * @example\n * ```tsx\n * const { getButtonProps, buttonRef } = useButton({\n * displayName: 'PlayButton',\n * onActivate: () => togglePlayback(),\n * isDisabled: () => disabled,\n * });\n *\n * return useRender('button', componentProps, {\n * state,\n * ref: [forwardedRef, buttonRef],\n * props: [elementProps, getButtonProps],\n * });\n * ```\n *\n * @param params - Button configuration with activation handler and disabled check.\n */\nexport function useButton(params: UseButtonParameters): UseButtonReturnValue {\n const { displayName, onActivate, isDisabled } = params;\n\n const buttonRef = useCallback(\n (element: HTMLElement | null) => {\n if (__DEV__ && element && element.tagName !== 'BUTTON') {\n console.warn(`${displayName} should render a <button> element for accessibility`);\n }\n },\n [displayName]\n );\n\n const getButtonProps = useCallback(\n (externalProps?: ComponentPropsWithRef<'button'>): ComponentPropsWithRef<'button'> => {\n const buttonProps = createButton({ onActivate, isDisabled });\n return mergeProps(buttonProps, externalProps);\n },\n [onActivate, isDisabled]\n );\n\n return { getButtonProps, buttonRef };\n}\n\nexport namespace useButton {\n export type Parameters = UseButtonParameters;\n export type ReturnValue = UseButtonReturnValue;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-button.js","names":[],"sources":["../../../../src/ui/hooks/use-button.ts"],"sourcesContent":["'use client';\n\nimport { createButton } from '@videojs/core/dom';\nimport type { ComponentPropsWithRef, Ref } from 'react';\nimport { useCallback } from 'react';\nimport { mergeProps } from '../../utils/merge-props';\n\nexport interface UseButtonParameters {\n displayName: string;\n onActivate: () => void;\n isDisabled: () => boolean;\n}\n\nexport interface UseButtonReturnValue {\n getButtonProps: (externalProps?: ComponentPropsWithRef<'button'>) => ComponentPropsWithRef<'button'>;\n buttonRef: Ref<HTMLElement>;\n}\n\n/**\n * Hook for button behavior with keyboard and pointer interaction.\n *\n * @example\n * ```tsx\n * const { getButtonProps, buttonRef } = useButton({\n * displayName: 'PlayButton',\n * onActivate: () => togglePlayback(),\n * isDisabled: () => disabled,\n * });\n *\n * return useRender('button', componentProps, {\n * state,\n * ref: [forwardedRef, buttonRef],\n * props: [elementProps, getButtonProps],\n * });\n * ```\n *\n * @param params - Button configuration with activation handler and disabled check.\n */\nexport function useButton(params: UseButtonParameters): UseButtonReturnValue {\n const { displayName, onActivate, isDisabled } = params;\n\n const buttonRef = useCallback(\n (element: HTMLElement | null) => {\n if (__DEV__ && element && element.tagName !== 'BUTTON') {\n console.warn(`${displayName} should render a <button> element for accessibility`);\n }\n },\n [displayName]\n );\n\n const getButtonProps = useCallback(\n (externalProps?: ComponentPropsWithRef<'button'>): ComponentPropsWithRef<'button'> => {\n const buttonProps = createButton({ onActivate, isDisabled });\n return mergeProps(buttonProps, externalProps);\n },\n [onActivate, isDisabled]\n );\n\n return { getButtonProps, buttonRef };\n}\n\nexport namespace useButton {\n export type Parameters = UseButtonParameters;\n export type ReturnValue = UseButtonReturnValue;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,UAAU,QAAmD;CAC3E,MAAM,EAAE,aAAa,YAAY,eAAe;CAEhD,MAAM,YAAY,aACf,YAAgC;AAC/B,MAAe,WAAW,QAAQ,YAAY,SAC5C,SAAQ,KAAK,GAAG,YAAY,qDAAqD;IAGrF,CAAC,YAAY,CACd;AAUD,QAAO;EAAE,gBARc,aACpB,kBAAqF;AAEpF,UAAO,WADa,aAAa;IAAE;IAAY;IAAY,CAAC,EAC7B,cAAc;KAE/C,CAAC,YAAY,WAAW,CACzB;EAEwB;EAAW"}
|
|
@@ -2,7 +2,7 @@ import { SliderOptions, SliderRootProps, SliderRootStyle, SliderThumbProps } fro
|
|
|
2
2
|
import { SliderInput, SliderState } from "@videojs/core";
|
|
3
3
|
|
|
4
4
|
//#region src/ui/hooks/use-slider.d.ts
|
|
5
|
-
interface UseSliderOptions<State extends SliderState = SliderState> extends Pick<SliderOptions, 'getPercent' | 'getStepPercent' | 'getLargeStepPercent' | '
|
|
5
|
+
interface UseSliderOptions<State extends SliderState = SliderState> extends Pick<SliderOptions, 'getPercent' | 'getStepPercent' | 'getLargeStepPercent' | 'changeThrottle' | 'onValueChange' | 'onValueCommit' | 'onDragStart' | 'onDragEnd'> {
|
|
6
6
|
computeState: (input: SliderInput) => State;
|
|
7
7
|
orientation?: 'horizontal' | 'vertical' | undefined;
|
|
8
8
|
disabled?: boolean | undefined;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { useDestroy } from "../../utils/use-destroy.js";
|
|
1
|
+
"use client";
|
|
4
2
|
import { useLatestRef } from "../../utils/use-latest-ref.js";
|
|
3
|
+
import { useDestroy } from "../../utils/use-destroy.js";
|
|
5
4
|
import { useForceRender } from "../../utils/use-force-render.js";
|
|
6
5
|
import { createSlider } from "@videojs/core/dom";
|
|
7
6
|
import { useSnapshot } from "@videojs/store/react";
|
|
8
7
|
import { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
9
8
|
import { isRTL } from "@videojs/utils/dom";
|
|
10
|
-
|
|
11
9
|
//#region src/ui/hooks/use-slider.ts
|
|
12
10
|
/**
|
|
13
11
|
* Manages slider input lifecycle for React.
|
|
@@ -31,7 +29,7 @@ function useSlider(options) {
|
|
|
31
29
|
getPercent: () => optionsRef.current.getPercent(),
|
|
32
30
|
getStepPercent: () => optionsRef.current.getStepPercent(),
|
|
33
31
|
getLargeStepPercent: () => optionsRef.current.getLargeStepPercent(),
|
|
34
|
-
|
|
32
|
+
changeThrottle: optionsRef.current.changeThrottle,
|
|
35
33
|
adjustPercent: optionsRef.current.adjustPercent,
|
|
36
34
|
onValueChange: (percent) => optionsRef.current.onValueChange?.(percent),
|
|
37
35
|
onValueCommit: (percent) => optionsRef.current.onValueCommit?.(percent),
|
|
@@ -59,7 +57,7 @@ function useSlider(options) {
|
|
|
59
57
|
thumbProps: slider.thumbProps
|
|
60
58
|
};
|
|
61
59
|
}
|
|
62
|
-
|
|
63
60
|
//#endregion
|
|
64
61
|
export { useSlider };
|
|
62
|
+
|
|
65
63
|
//# sourceMappingURL=use-slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-slider.js","names":[],"sources":["../../../../src/ui/hooks/use-slider.ts"],"sourcesContent":["'use client';\n\nimport type { SliderInput, SliderState } from '@videojs/core';\nimport {\n createSlider,\n type SliderApi,\n type SliderOptions,\n type SliderRootProps,\n type SliderRootStyle,\n type SliderThumbProps,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isRTL } from '@videojs/utils/dom';\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useForceRender } from '../../utils/use-force-render';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseSliderOptions<State extends SliderState = SliderState>\n extends Pick<\n SliderOptions,\n | 'getPercent'\n | 'getStepPercent'\n | 'getLargeStepPercent'\n | '
|
|
1
|
+
{"version":3,"file":"use-slider.js","names":[],"sources":["../../../../src/ui/hooks/use-slider.ts"],"sourcesContent":["'use client';\n\nimport type { SliderInput, SliderState } from '@videojs/core';\nimport {\n createSlider,\n type SliderApi,\n type SliderOptions,\n type SliderRootProps,\n type SliderRootStyle,\n type SliderThumbProps,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isRTL } from '@videojs/utils/dom';\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useForceRender } from '../../utils/use-force-render';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseSliderOptions<State extends SliderState = SliderState>\n extends Pick<\n SliderOptions,\n | 'getPercent'\n | 'getStepPercent'\n | 'getLargeStepPercent'\n | 'changeThrottle'\n | 'onValueChange'\n | 'onValueCommit'\n | 'onDragStart'\n | 'onDragEnd'\n > {\n computeState: (input: SliderInput) => State;\n orientation?: 'horizontal' | 'vertical' | undefined;\n disabled?: boolean | undefined;\n /** Adjust a raw 0–100 percent for thumb alignment. Called for fill and pointer percents. */\n adjustPercent?: ((rawPercent: number, thumbSize: number, trackSize: number) => number) | undefined;\n /** Compute CSS variable map from the (possibly alignment-adjusted) state. */\n getCSSVars: (state: State) => Record<string, string>;\n}\n\nexport interface UseSliderReturnValue<State extends SliderState = SliderState> {\n state: State;\n cssVars: Record<string, string>;\n rootRef: React.RefCallback<HTMLElement>;\n thumbRef: React.RefCallback<HTMLElement>;\n rootProps: SliderRootProps;\n rootStyle: SliderRootStyle;\n thumbProps: SliderThumbProps;\n}\n\n/**\n * Manages slider input lifecycle for React.\n *\n * Wraps `createSlider()` from `@videojs/core/dom` and subscribes to its\n * input state via `useSnapshot`. Returns split props for the root\n * (pointer events) and thumb (keyboard/focus) elements.\n */\nexport function useSlider<State extends SliderState = SliderState>(\n options: UseSliderOptions<State>\n): UseSliderReturnValue<State> {\n const optionsRef = useLatestRef(options);\n\n const rootElementRef = useRef<HTMLElement | null>(null);\n const thumbElementRef = useRef<HTMLElement | null>(null);\n const forceRender = useForceRender();\n\n // Lazy-init the slider handle. Stable across re-renders.\n const [slider] = useState<SliderApi>(() => {\n const stableOptions: SliderOptions = {\n getElement: () => rootElementRef.current!,\n getThumbElement: () => thumbElementRef.current,\n getOrientation: () => optionsRef.current.orientation ?? 'horizontal',\n isRTL: () => (rootElementRef.current ? isRTL(rootElementRef.current) : false),\n isDisabled: () => optionsRef.current.disabled ?? false,\n getPercent: () => optionsRef.current.getPercent(),\n getStepPercent: () => optionsRef.current.getStepPercent(),\n getLargeStepPercent: () => optionsRef.current.getLargeStepPercent(),\n changeThrottle: optionsRef.current.changeThrottle,\n adjustPercent: optionsRef.current.adjustPercent,\n onValueChange: (percent) => optionsRef.current.onValueChange?.(percent),\n onValueCommit: (percent) => optionsRef.current.onValueCommit?.(percent),\n onDragStart: () => optionsRef.current.onDragStart?.(),\n onDragEnd: () => optionsRef.current.onDragEnd?.(),\n };\n\n return createSlider(stableOptions);\n });\n\n useDestroy(slider);\n\n // Subscribe to slider input state.\n const input = useSnapshot(slider.input);\n\n // Compute derived state from input + caller-provided projection.\n const state = options.computeState(input);\n\n // Force a synchronous re-render after mount so edge thumb alignment\n // can read DOM measurements from the now-populated element refs.\n useLayoutEffect(() => {\n if (state.thumbAlignment === 'edge' && rootElementRef.current && thumbElementRef.current) {\n forceRender();\n }\n }, [state.thumbAlignment]);\n\n // Adjust CSS var percents for edge thumb alignment using live DOM measurements.\n const cssVars = options.getCSSVars(slider.adjustForAlignment(state));\n\n // Ref callbacks for root and thumb elements.\n const rootRef = useCallback((element: HTMLElement | null) => {\n rootElementRef.current = element;\n }, []);\n\n const thumbRef = useCallback((element: HTMLElement | null) => {\n thumbElementRef.current = element;\n }, []);\n\n return {\n state,\n cssVars,\n rootRef,\n thumbRef,\n rootProps: slider.rootProps,\n rootStyle: slider.rootStyle,\n thumbProps: slider.thumbProps,\n };\n}\n\nexport namespace useSlider {\n export type Options = UseSliderOptions;\n export type ReturnValue = UseSliderReturnValue;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwDA,SAAgB,UACd,SAC6B;CAC7B,MAAM,aAAa,aAAa,QAAQ;CAExC,MAAM,iBAAiB,OAA2B,KAAK;CACvD,MAAM,kBAAkB,OAA2B,KAAK;CACxD,MAAM,cAAc,gBAAgB;CAGpC,MAAM,CAAC,UAAU,eAA0B;AAkBzC,SAAO,aAjB8B;GACnC,kBAAkB,eAAe;GACjC,uBAAuB,gBAAgB;GACvC,sBAAsB,WAAW,QAAQ,eAAe;GACxD,aAAc,eAAe,UAAU,MAAM,eAAe,QAAQ,GAAG;GACvE,kBAAkB,WAAW,QAAQ,YAAY;GACjD,kBAAkB,WAAW,QAAQ,YAAY;GACjD,sBAAsB,WAAW,QAAQ,gBAAgB;GACzD,2BAA2B,WAAW,QAAQ,qBAAqB;GACnE,gBAAgB,WAAW,QAAQ;GACnC,eAAe,WAAW,QAAQ;GAClC,gBAAgB,YAAY,WAAW,QAAQ,gBAAgB,QAAQ;GACvE,gBAAgB,YAAY,WAAW,QAAQ,gBAAgB,QAAQ;GACvE,mBAAmB,WAAW,QAAQ,eAAe;GACrD,iBAAiB,WAAW,QAAQ,aAAa;GAClD,CAEiC;GAClC;AAEF,YAAW,OAAO;CAGlB,MAAM,QAAQ,YAAY,OAAO,MAAM;CAGvC,MAAM,QAAQ,QAAQ,aAAa,MAAM;AAIzC,uBAAsB;AACpB,MAAI,MAAM,mBAAmB,UAAU,eAAe,WAAW,gBAAgB,QAC/E,cAAa;IAEd,CAAC,MAAM,eAAe,CAAC;AAc1B,QAAO;EACL;EACA,SAbc,QAAQ,WAAW,OAAO,mBAAmB,MAAM,CAAC;EAclE,SAXc,aAAa,YAAgC;AAC3D,kBAAe,UAAU;KACxB,EAAE,CAAC;EAUJ,UARe,aAAa,YAAgC;AAC5D,mBAAgB,UAAU;KACzB,EAAE,CAAC;EAOJ,WAAW,OAAO;EAClB,WAAW,OAAO;EAClB,YAAY,OAAO;EACpB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HotkeyActionName } from "@videojs/core/dom";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/ui/hotkey/media-hotkey.d.ts
|
|
5
|
+
interface MediaHotkeyProps {
|
|
6
|
+
keys: string;
|
|
7
|
+
action: HotkeyActionName | (string & {});
|
|
8
|
+
value?: number;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
target?: 'player' | 'document';
|
|
11
|
+
}
|
|
12
|
+
declare function MediaHotkey({
|
|
13
|
+
keys,
|
|
14
|
+
action,
|
|
15
|
+
value,
|
|
16
|
+
disabled,
|
|
17
|
+
target
|
|
18
|
+
}: MediaHotkeyProps): ReactNode;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { MediaHotkey, MediaHotkeyProps };
|
|
21
|
+
//# sourceMappingURL=media-hotkey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-hotkey.d.ts","names":[],"sources":["../../../../src/ui/hotkey/media-hotkey.tsx"],"mappings":";;;;UAciB,gBAAA;EACf,IAAA;EACA,MAAA,EAAQ,gBAAA;EACR,KAAA;EACA,QAAA;EACA,MAAA;AAAA;AAAA,iBAGc,WAAA,CAAA;EAAc,IAAA;EAAM,MAAA;EAAQ,KAAA;EAAO,QAAA;EAAU;AAAA,GAAU,gBAAA,GAAmB,SAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContainer, usePlayer } from "../../player/context.js";
|
|
3
|
+
import { createHotkey, isHotkeyToggleAction, resolveHotkeyAction } from "@videojs/core/dom";
|
|
4
|
+
import { useEffect } from "react";
|
|
5
|
+
//#region src/ui/hotkey/media-hotkey.tsx
|
|
6
|
+
function MediaHotkey({ keys, action, value, disabled, target }) {
|
|
7
|
+
const store = usePlayer();
|
|
8
|
+
const container = useContainer();
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!container || !keys || !action || disabled) return;
|
|
11
|
+
const resolver = resolveHotkeyAction(action);
|
|
12
|
+
if (!resolver) return;
|
|
13
|
+
return createHotkey(container, {
|
|
14
|
+
keys,
|
|
15
|
+
action,
|
|
16
|
+
target,
|
|
17
|
+
disabled,
|
|
18
|
+
repeatable: !isHotkeyToggleAction(action),
|
|
19
|
+
onActivate: (_event, key) => {
|
|
20
|
+
resolver({
|
|
21
|
+
store,
|
|
22
|
+
key,
|
|
23
|
+
value
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}, [
|
|
28
|
+
container,
|
|
29
|
+
store,
|
|
30
|
+
keys,
|
|
31
|
+
action,
|
|
32
|
+
value,
|
|
33
|
+
disabled,
|
|
34
|
+
target
|
|
35
|
+
]);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { MediaHotkey };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=media-hotkey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-hotkey.js","names":[],"sources":["../../../../src/ui/hotkey/media-hotkey.tsx"],"sourcesContent":["'use client';\n\nimport {\n type AnyPlayerStore,\n createHotkey,\n type HotkeyActionName,\n isHotkeyToggleAction,\n resolveHotkeyAction,\n} from '@videojs/core/dom';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\n\nimport { useContainer, usePlayer } from '../../player/context';\n\nexport interface MediaHotkeyProps {\n keys: string;\n action: HotkeyActionName | (string & {});\n value?: number;\n disabled?: boolean;\n target?: 'player' | 'document';\n}\n\nexport function MediaHotkey({ keys, action, value, disabled, target }: MediaHotkeyProps): ReactNode {\n const store = usePlayer() as AnyPlayerStore;\n const container = useContainer();\n\n useEffect(() => {\n if (!container || !keys || !action || disabled) return;\n\n const resolver = resolveHotkeyAction(action);\n if (!resolver) return;\n\n return createHotkey(container, {\n keys,\n action,\n target,\n disabled,\n repeatable: !isHotkeyToggleAction(action),\n onActivate: (_event, key) => {\n resolver({ store, key, value });\n },\n });\n }, [container, store, keys, action, value, disabled, target]);\n\n return null;\n}\n"],"mappings":";;;;;AAsBA,SAAgB,YAAY,EAAE,MAAM,QAAQ,OAAO,UAAU,UAAuC;CAClG,MAAM,QAAQ,WAAW;CACzB,MAAM,YAAY,cAAc;AAEhC,iBAAgB;AACd,MAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,SAAU;EAEhD,MAAM,WAAW,oBAAoB,OAAO;AAC5C,MAAI,CAAC,SAAU;AAEf,SAAO,aAAa,WAAW;GAC7B;GACA;GACA;GACA;GACA,YAAY,CAAC,qBAAqB,OAAO;GACzC,aAAa,QAAQ,QAAQ;AAC3B,aAAS;KAAE;KAAO;KAAK;KAAO,CAAC;;GAElC,CAAC;IACD;EAAC;EAAW;EAAO;EAAM;EAAQ;EAAO;EAAU;EAAO,CAAC;AAE7D,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-aria-key-shortcuts.d.ts","names":[],"sources":["../../../../src/ui/hotkey/use-aria-key-shortcuts.ts"],"mappings":";iBAOgB,mBAAA,CAAoB,MAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContainer } from "../../player/context.js";
|
|
3
|
+
import { findHotkeyCoordinator } from "@videojs/core/dom";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
//#region src/ui/hotkey/use-aria-key-shortcuts.ts
|
|
6
|
+
function useAriaKeyShortcuts(action) {
|
|
7
|
+
const container = useContainer();
|
|
8
|
+
return useMemo(() => {
|
|
9
|
+
if (!container || !action) return void 0;
|
|
10
|
+
return findHotkeyCoordinator(container)?.getAriaKeys(action);
|
|
11
|
+
}, [container, action]);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { useAriaKeyShortcuts };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=use-aria-key-shortcuts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-aria-key-shortcuts.js","names":[],"sources":["../../../../src/ui/hotkey/use-aria-key-shortcuts.ts"],"sourcesContent":["'use client';\n\nimport { findHotkeyCoordinator } from '@videojs/core/dom';\nimport { useMemo } from 'react';\n\nimport { useContainer } from '../../player/context';\n\nexport function useAriaKeyShortcuts(action: string | undefined): string | undefined {\n const container = useContainer();\n return useMemo(() => {\n if (!container || !action) return undefined;\n return findHotkeyCoordinator(container)?.getAriaKeys(action);\n }, [container, action]);\n}\n"],"mappings":";;;;;AAOA,SAAgB,oBAAoB,QAAgD;CAClF,MAAM,YAAY,cAAc;AAChC,QAAO,cAAc;AACnB,MAAI,CAAC,aAAa,CAAC,OAAQ,QAAO,KAAA;AAClC,SAAO,sBAAsB,UAAU,EAAE,YAAY,OAAO;IAC3D,CAAC,WAAW,OAAO,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/ui/hotkey/use-hotkey.d.ts
|
|
2
|
+
interface UseHotkeyOptions {
|
|
3
|
+
keys: string;
|
|
4
|
+
onActivate: (event: KeyboardEvent, key: string) => void;
|
|
5
|
+
target?: 'player' | 'document';
|
|
6
|
+
repeatable?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare function useHotkey(options: UseHotkeyOptions): void;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { UseHotkeyOptions, useHotkey };
|
|
12
|
+
//# sourceMappingURL=use-hotkey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-hotkey.d.ts","names":[],"sources":["../../../../src/ui/hotkey/use-hotkey.ts"],"mappings":";UAQiB,gBAAA;EACf,IAAA;EACA,UAAA,GAAa,KAAA,EAAO,aAAA,EAAe,GAAA;EACnC,MAAA;EACA,UAAA;EACA,QAAA;AAAA;AAAA,iBAGc,SAAA,CAAU,OAAA,EAAS,gBAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContainer } from "../../player/context.js";
|
|
3
|
+
import { useLatestRef } from "../../utils/use-latest-ref.js";
|
|
4
|
+
import { createHotkey } from "@videojs/core/dom";
|
|
5
|
+
import { useEffect } from "react";
|
|
6
|
+
//#region src/ui/hotkey/use-hotkey.ts
|
|
7
|
+
function useHotkey(options) {
|
|
8
|
+
const { keys, target = "player", repeatable = true, disabled = false } = options;
|
|
9
|
+
const container = useContainer();
|
|
10
|
+
const onActivateRef = useLatestRef(options.onActivate);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!container || !keys || disabled) return;
|
|
13
|
+
return createHotkey(container, {
|
|
14
|
+
keys,
|
|
15
|
+
target,
|
|
16
|
+
repeatable,
|
|
17
|
+
disabled,
|
|
18
|
+
onActivate: (event, key) => onActivateRef.current(event, key)
|
|
19
|
+
});
|
|
20
|
+
}, [
|
|
21
|
+
container,
|
|
22
|
+
keys,
|
|
23
|
+
target,
|
|
24
|
+
repeatable,
|
|
25
|
+
disabled,
|
|
26
|
+
onActivateRef
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { useHotkey };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=use-hotkey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-hotkey.js","names":[],"sources":["../../../../src/ui/hotkey/use-hotkey.ts"],"sourcesContent":["'use client';\n\nimport { createHotkey } from '@videojs/core/dom';\nimport { useEffect } from 'react';\n\nimport { useContainer } from '../../player/context';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseHotkeyOptions {\n keys: string;\n onActivate: (event: KeyboardEvent, key: string) => void;\n target?: 'player' | 'document';\n repeatable?: boolean;\n disabled?: boolean;\n}\n\nexport function useHotkey(options: UseHotkeyOptions): void {\n const { keys, target = 'player', repeatable = true, disabled = false } = options;\n const container = useContainer();\n const onActivateRef = useLatestRef(options.onActivate);\n\n useEffect(() => {\n if (!container || !keys || disabled) return;\n\n return createHotkey(container, {\n keys,\n target,\n repeatable,\n disabled,\n onActivate: (event, key) => onActivateRef.current(event, key),\n });\n }, [container, keys, target, repeatable, disabled, onActivateRef]);\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,UAAU,SAAiC;CACzD,MAAM,EAAE,MAAM,SAAS,UAAU,aAAa,MAAM,WAAW,UAAU;CACzE,MAAM,YAAY,cAAc;CAChC,MAAM,gBAAgB,aAAa,QAAQ,WAAW;AAEtD,iBAAgB;AACd,MAAI,CAAC,aAAa,CAAC,QAAQ,SAAU;AAErC,SAAO,aAAa,WAAW;GAC7B;GACA;GACA;GACA;GACA,aAAa,OAAO,QAAQ,cAAc,QAAQ,OAAO,IAAI;GAC9D,CAAC;IACD;EAAC;EAAW;EAAM;EAAQ;EAAY;EAAU;EAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mute-button.d.ts","names":[],"sources":["../../../../src/ui/mute-button/mute-button.tsx"],"mappings":";;;;;UAQiB,eAAA,SAAwB,gBAAA,WAA2B,cAAA,CAAe,KAAA,GAAQ,cAAA,CAAe,KAAA;;cAG7F,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,eAAA,GAAA,KAAA,CAAA,aAAA,CAAA,iBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"mute-button.d.ts","names":[],"sources":["../../../../src/ui/mute-button/mute-button.tsx"],"mappings":";;;;;UAQiB,eAAA,SAAwB,gBAAA,WAA2B,cAAA,CAAe,KAAA,GAAQ,cAAA,CAAe,KAAA;;cAG7F,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,eAAA,GAAA,KAAA,CAAA,aAAA,CAAA,iBAAA;AAAA,kBASN,UAAA;EAAA,KACH,KAAA,GAAQ,eAAA;EAAA,KACR,KAAA,GAAQ,cAAA,CAAe,KAAA;AAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createMediaButton } from "../create-media-button.js";
|
|
4
3
|
import { selectVolume } from "@videojs/core/dom";
|
|
5
4
|
import { MuteButtonCore, MuteButtonDataAttrs } from "@videojs/core";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/mute-button/mute-button.tsx
|
|
8
6
|
/** A button that toggles mute state. */
|
|
9
7
|
const MuteButton = createMediaButton({
|
|
@@ -11,9 +9,10 @@ const MuteButton = createMediaButton({
|
|
|
11
9
|
core: MuteButtonCore,
|
|
12
10
|
stateAttrMap: MuteButtonDataAttrs,
|
|
13
11
|
selector: selectVolume,
|
|
14
|
-
action: (core, state) => core.toggle(state)
|
|
12
|
+
action: (core, state) => core.toggle(state),
|
|
13
|
+
hotkeyAction: "toggleMuted"
|
|
15
14
|
});
|
|
16
|
-
|
|
17
15
|
//#endregion
|
|
18
16
|
export { MuteButton };
|
|
17
|
+
|
|
19
18
|
//# sourceMappingURL=mute-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mute-button.js","names":[],"sources":["../../../../src/ui/mute-button/mute-button.tsx"],"sourcesContent":["'use client';\n\nimport { MuteButtonCore, MuteButtonDataAttrs } from '@videojs/core';\nimport { selectVolume } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface MuteButtonProps extends UIComponentProps<'button', MuteButtonCore.State>, MuteButtonCore.Props {}\n\n/** A button that toggles mute state. */\nexport const MuteButton = createMediaButton<MuteButtonCore, MuteButtonProps>({\n displayName: 'MuteButton',\n core: MuteButtonCore,\n stateAttrMap: MuteButtonDataAttrs,\n selector: selectVolume,\n action: (core, state) => core.toggle(state),\n});\n\nexport namespace MuteButton {\n export type Props = MuteButtonProps;\n export type State = MuteButtonCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"mute-button.js","names":[],"sources":["../../../../src/ui/mute-button/mute-button.tsx"],"sourcesContent":["'use client';\n\nimport { MuteButtonCore, MuteButtonDataAttrs } from '@videojs/core';\nimport { selectVolume } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface MuteButtonProps extends UIComponentProps<'button', MuteButtonCore.State>, MuteButtonCore.Props {}\n\n/** A button that toggles mute state. */\nexport const MuteButton = createMediaButton<MuteButtonCore, MuteButtonProps>({\n displayName: 'MuteButton',\n core: MuteButtonCore,\n stateAttrMap: MuteButtonDataAttrs,\n selector: selectVolume,\n action: (core, state) => core.toggle(state),\n hotkeyAction: 'toggleMuted',\n});\n\nexport namespace MuteButton {\n export type Props = MuteButtonProps;\n export type State = MuteButtonCore.State;\n}\n"],"mappings":";;;;;;AAWA,MAAa,aAAa,kBAAmD;CAC3E,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,OAAO,MAAM;CAC3C,cAAc;CACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pip-button.d.ts","names":[],"sources":["../../../../src/ui/pip-button/pip-button.tsx"],"mappings":";;;;;UAQiB,cAAA,SAAuB,gBAAA,WAA2B,aAAA,CAAc,KAAA,GAAQ,aAAA,CAAc,KAAA;;cAG1F,SAAA,EAAS,KAAA,CAAA,yBAAA,CAAA,cAAA,GAAA,KAAA,CAAA,aAAA,CAAA,iBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"pip-button.d.ts","names":[],"sources":["../../../../src/ui/pip-button/pip-button.tsx"],"mappings":";;;;;UAQiB,cAAA,SAAuB,gBAAA,WAA2B,aAAA,CAAc,KAAA,GAAQ,aAAA,CAAc,KAAA;;cAG1F,SAAA,EAAS,KAAA,CAAA,yBAAA,CAAA,cAAA,GAAA,KAAA,CAAA,aAAA,CAAA,iBAAA;AAAA,kBASL,SAAA;EAAA,KACH,KAAA,GAAQ,cAAA;EAAA,KACR,KAAA,GAAQ,aAAA,CAAc,KAAA;AAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createMediaButton } from "../create-media-button.js";
|
|
4
3
|
import { selectPiP } from "@videojs/core/dom";
|
|
5
4
|
import { PiPButtonCore, PiPButtonDataAttrs } from "@videojs/core";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/pip-button/pip-button.tsx
|
|
8
6
|
/** A button that toggles picture-in-picture. */
|
|
9
7
|
const PiPButton = createMediaButton({
|
|
@@ -11,9 +9,10 @@ const PiPButton = createMediaButton({
|
|
|
11
9
|
core: PiPButtonCore,
|
|
12
10
|
stateAttrMap: PiPButtonDataAttrs,
|
|
13
11
|
selector: selectPiP,
|
|
14
|
-
action: (core, state) => core.toggle(state)
|
|
12
|
+
action: (core, state) => core.toggle(state),
|
|
13
|
+
hotkeyAction: "togglePictureInPicture"
|
|
15
14
|
});
|
|
16
|
-
|
|
17
15
|
//#endregion
|
|
18
16
|
export { PiPButton };
|
|
17
|
+
|
|
19
18
|
//# sourceMappingURL=pip-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pip-button.js","names":[],"sources":["../../../../src/ui/pip-button/pip-button.tsx"],"sourcesContent":["'use client';\n\nimport { PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface PiPButtonProps extends UIComponentProps<'button', PiPButtonCore.State>, PiPButtonCore.Props {}\n\n/** A button that toggles picture-in-picture. */\nexport const PiPButton = createMediaButton<PiPButtonCore, PiPButtonProps>({\n displayName: 'PiPButton',\n core: PiPButtonCore,\n stateAttrMap: PiPButtonDataAttrs,\n selector: selectPiP,\n action: (core, state) => core.toggle(state),\n});\n\nexport namespace PiPButton {\n export type Props = PiPButtonProps;\n export type State = PiPButtonCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"pip-button.js","names":[],"sources":["../../../../src/ui/pip-button/pip-button.tsx"],"sourcesContent":["'use client';\n\nimport { PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface PiPButtonProps extends UIComponentProps<'button', PiPButtonCore.State>, PiPButtonCore.Props {}\n\n/** A button that toggles picture-in-picture. */\nexport const PiPButton = createMediaButton<PiPButtonCore, PiPButtonProps>({\n displayName: 'PiPButton',\n core: PiPButtonCore,\n stateAttrMap: PiPButtonDataAttrs,\n selector: selectPiP,\n action: (core, state) => core.toggle(state),\n hotkeyAction: 'togglePictureInPicture',\n});\n\nexport namespace PiPButton {\n export type Props = PiPButtonProps;\n export type State = PiPButtonCore.State;\n}\n"],"mappings":";;;;;;AAWA,MAAa,YAAY,kBAAiD;CACxE,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,OAAO,MAAM;CAC3C,cAAc;CACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"play-button.d.ts","names":[],"sources":["../../../../src/ui/play-button/play-button.tsx"],"mappings":";;;;;UAQiB,eAAA,SAAwB,gBAAA,WAA2B,cAAA,CAAe,KAAA,GAAQ,cAAA,CAAe,KAAA;;AAA1G;;;;;;;;;;;;;;;cAkBa,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,eAAA,GAAA,KAAA,CAAA,aAAA,CAAA,iBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"play-button.d.ts","names":[],"sources":["../../../../src/ui/play-button/play-button.tsx"],"mappings":";;;;;UAQiB,eAAA,SAAwB,gBAAA,WAA2B,cAAA,CAAe,KAAA,GAAQ,cAAA,CAAe,KAAA;;AAA1G;;;;;;;;;;;;;;;cAkBa,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,eAAA,GAAA,KAAA,CAAA,aAAA,CAAA,iBAAA;AAAA,kBASN,UAAA;EAAA,KACH,KAAA,GAAQ,eAAA;EAAA,KACR,KAAA,GAAQ,cAAA,CAAe,KAAA;AAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createMediaButton } from "../create-media-button.js";
|
|
4
3
|
import { selectPlayback } from "@videojs/core/dom";
|
|
5
4
|
import { PlayButtonCore, PlayButtonDataAttrs } from "@videojs/core";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/play-button/play-button.tsx
|
|
8
6
|
/**
|
|
9
7
|
* A button that toggles playback.
|
|
@@ -26,9 +24,10 @@ const PlayButton = createMediaButton({
|
|
|
26
24
|
core: PlayButtonCore,
|
|
27
25
|
stateAttrMap: PlayButtonDataAttrs,
|
|
28
26
|
selector: selectPlayback,
|
|
29
|
-
action: (core, state) => core.toggle(state)
|
|
27
|
+
action: (core, state) => core.toggle(state),
|
|
28
|
+
hotkeyAction: "togglePaused"
|
|
30
29
|
});
|
|
31
|
-
|
|
32
30
|
//#endregion
|
|
33
31
|
export { PlayButton };
|
|
32
|
+
|
|
34
33
|
//# sourceMappingURL=play-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"play-button.js","names":[],"sources":["../../../../src/ui/play-button/play-button.tsx"],"sourcesContent":["'use client';\n\nimport { PlayButtonCore, PlayButtonDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface PlayButtonProps extends UIComponentProps<'button', PlayButtonCore.State>, PlayButtonCore.Props {}\n\n/**\n * A button that toggles playback.\n *\n * @example\n * ```tsx\n * <PlayButton />\n *\n * <PlayButton\n * render={(props, state) => (\n * <button {...props}>\n * {state.paused ? <PlayIcon /> : <PauseIcon />}\n * </button>\n * )}\n * />\n * ```\n */\nexport const PlayButton = createMediaButton<PlayButtonCore, PlayButtonProps>({\n displayName: 'PlayButton',\n core: PlayButtonCore,\n stateAttrMap: PlayButtonDataAttrs,\n selector: selectPlayback,\n action: (core, state) => core.toggle(state),\n});\n\nexport namespace PlayButton {\n export type Props = PlayButtonProps;\n export type State = PlayButtonCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"play-button.js","names":[],"sources":["../../../../src/ui/play-button/play-button.tsx"],"sourcesContent":["'use client';\n\nimport { PlayButtonCore, PlayButtonDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface PlayButtonProps extends UIComponentProps<'button', PlayButtonCore.State>, PlayButtonCore.Props {}\n\n/**\n * A button that toggles playback.\n *\n * @example\n * ```tsx\n * <PlayButton />\n *\n * <PlayButton\n * render={(props, state) => (\n * <button {...props}>\n * {state.paused ? <PlayIcon /> : <PauseIcon />}\n * </button>\n * )}\n * />\n * ```\n */\nexport const PlayButton = createMediaButton<PlayButtonCore, PlayButtonProps>({\n displayName: 'PlayButton',\n core: PlayButtonCore,\n stateAttrMap: PlayButtonDataAttrs,\n selector: selectPlayback,\n action: (core, state) => core.toggle(state),\n hotkeyAction: 'togglePaused',\n});\n\nexport namespace PlayButton {\n export type Props = PlayButtonProps;\n export type State = PlayButtonCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA0BA,MAAa,aAAa,kBAAmD;CAC3E,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,OAAO,MAAM;CAC3C,cAAc;CACf,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createMediaButton } from "../create-media-button.js";
|
|
4
3
|
import { selectPlaybackRate } from "@videojs/core/dom";
|
|
5
4
|
import { PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from "@videojs/core";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/playback-rate-button/playback-rate-button.tsx
|
|
8
6
|
/**
|
|
9
7
|
* A button that cycles through playback rates.
|
|
@@ -28,7 +26,7 @@ const PlaybackRateButton = createMediaButton({
|
|
|
28
26
|
selector: selectPlaybackRate,
|
|
29
27
|
action: (core, state) => core.cycle(state)
|
|
30
28
|
});
|
|
31
|
-
|
|
32
29
|
//#endregion
|
|
33
30
|
export { PlaybackRateButton };
|
|
31
|
+
|
|
34
32
|
//# sourceMappingURL=playback-rate-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playback-rate-button.js","names":[],"sources":["../../../../src/ui/playback-rate-button/playback-rate-button.tsx"],"sourcesContent":["'use client';\n\nimport { PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from '@videojs/core';\nimport { selectPlaybackRate } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface PlaybackRateButtonProps\n extends UIComponentProps<'button', PlaybackRateButtonCore.State>,\n PlaybackRateButtonCore.Props {}\n\n/**\n * A button that cycles through playback rates.\n *\n * @example\n * ```tsx\n * <PlaybackRateButton />\n *\n * <PlaybackRateButton\n * render={(props, state) => (\n * <button {...props}>\n * {state.rate}×\n * </button>\n * )}\n * />\n * ```\n */\nexport const PlaybackRateButton = createMediaButton<PlaybackRateButtonCore, PlaybackRateButtonProps>({\n displayName: 'PlaybackRateButton',\n core: PlaybackRateButtonCore,\n stateAttrMap: PlaybackRateButtonDataAttrs,\n selector: selectPlaybackRate,\n action: (core, state) => core.cycle(state),\n});\n\nexport namespace PlaybackRateButton {\n export type Props = PlaybackRateButtonProps;\n export type State = PlaybackRateButtonCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"playback-rate-button.js","names":[],"sources":["../../../../src/ui/playback-rate-button/playback-rate-button.tsx"],"sourcesContent":["'use client';\n\nimport { PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from '@videojs/core';\nimport { selectPlaybackRate } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface PlaybackRateButtonProps\n extends UIComponentProps<'button', PlaybackRateButtonCore.State>,\n PlaybackRateButtonCore.Props {}\n\n/**\n * A button that cycles through playback rates.\n *\n * @example\n * ```tsx\n * <PlaybackRateButton />\n *\n * <PlaybackRateButton\n * render={(props, state) => (\n * <button {...props}>\n * {state.rate}×\n * </button>\n * )}\n * />\n * ```\n */\nexport const PlaybackRateButton = createMediaButton<PlaybackRateButtonCore, PlaybackRateButtonProps>({\n displayName: 'PlaybackRateButton',\n core: PlaybackRateButtonCore,\n stateAttrMap: PlaybackRateButtonDataAttrs,\n selector: selectPlaybackRate,\n action: (core, state) => core.cycle(state),\n});\n\nexport namespace PlaybackRateButton {\n export type Props = PlaybackRateButtonProps;\n export type State = PlaybackRateButtonCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA,MAAa,qBAAqB,kBAAmE;CACnG,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,MAAM,MAAM;CAC3C,CAAC"}
|