@videojs/react 10.0.0-beta.2 → 10.0.0-beta.21
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/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/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 +25 -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 +587 -340
- package/dist/default/presets/video/minimal-skin.js +139 -123
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +149 -138
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +555 -323
- package/dist/default/presets/video/skin.js +299 -171
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +204 -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 +7 -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/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/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/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 +22 -8
- package/dist/dev/index.js +25 -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 +587 -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 +139 -123
- 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 +149 -138
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +555 -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 +299 -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 +204 -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 +7 -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/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
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createContextPart } from "../create-context-part.js";
|
|
4
3
|
import { usePopoverContext } from "./context.js";
|
|
5
|
-
|
|
6
4
|
//#region src/ui/popover/popover-arrow.tsx
|
|
7
5
|
/** Decorative arrow pointing from the popup toward the trigger. Hidden from assistive technology. */
|
|
8
6
|
const PopoverArrow = createContextPart({
|
|
@@ -11,7 +9,7 @@ const PopoverArrow = createContextPart({
|
|
|
11
9
|
useContext: usePopoverContext,
|
|
12
10
|
staticProps: { "aria-hidden": "true" }
|
|
13
11
|
});
|
|
14
|
-
|
|
15
12
|
//#endregion
|
|
16
13
|
export { PopoverArrow };
|
|
14
|
+
|
|
17
15
|
//# sourceMappingURL=popover-arrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-arrow.js","names":[],"sources":["../../../../src/ui/popover/popover-arrow.tsx"],"sourcesContent":["'use client';\n\nimport type { PopoverState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { usePopoverContext } from './context';\n\nexport interface PopoverArrowProps extends UIComponentProps<'div', PopoverState> {}\n\n/** Decorative arrow pointing from the popup toward the trigger. Hidden from assistive technology. */\nexport const PopoverArrow = createContextPart<PopoverArrowProps, PopoverState>({\n displayName: 'PopoverArrow',\n tag: 'div',\n useContext: usePopoverContext,\n staticProps: { 'aria-hidden': 'true' as const },\n});\n\nexport namespace PopoverArrow {\n export type Props = PopoverArrowProps;\n export type State = PopoverState;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"popover-arrow.js","names":[],"sources":["../../../../src/ui/popover/popover-arrow.tsx"],"sourcesContent":["'use client';\n\nimport type { PopoverState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { usePopoverContext } from './context';\n\nexport interface PopoverArrowProps extends UIComponentProps<'div', PopoverState> {}\n\n/** Decorative arrow pointing from the popup toward the trigger. Hidden from assistive technology. */\nexport const PopoverArrow = createContextPart<PopoverArrowProps, PopoverState>({\n displayName: 'PopoverArrow',\n tag: 'div',\n useContext: usePopoverContext,\n staticProps: { 'aria-hidden': 'true' as const },\n});\n\nexport namespace PopoverArrow {\n export type Props = PopoverArrowProps;\n export type State = PopoverState;\n}\n"],"mappings":";;;;;AAWA,MAAa,eAAe,kBAAmD;CAC7E,aAAa;CACb,KAAK;CACL,YAAY;CACZ,aAAa,EAAE,eAAe,QAAiB;CAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-popup.d.ts","names":[],"sources":["../../../../src/ui/popover/popover-popup.tsx"],"mappings":";;;;;UAaiB,iBAAA,SAA0B,gBAAA,QAAwB,YAAA;;cAKtD,YAAA,EAAY,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,iBAAA,WAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"popover-popup.d.ts","names":[],"sources":["../../../../src/ui/popover/popover-popup.tsx"],"mappings":";;;;;UAaiB,iBAAA,SAA0B,gBAAA,QAAwB,YAAA;;cAKtD,YAAA,EAAY,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,iBAAA,WAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAkIR,YAAA;EAAA,KACH,KAAA,GAAQ,iBAAA;EAAA,KACR,KAAA,GAAQ,YAAA;AAAA"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { useComposedRefs } from "../../utils/use-composed-refs.js";
|
|
4
3
|
import { renderElement } from "../../utils/use-render.js";
|
|
5
4
|
import { usePopoverContext } from "./context.js";
|
|
6
|
-
import { getAnchorPositionStyle, resolveOffsets } from "@videojs/core/dom";
|
|
5
|
+
import { getAnchorPositionStyle, getPopupPositionRect, resolveOffsets } from "@videojs/core/dom";
|
|
7
6
|
import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
8
7
|
import { supportsAnchorPositioning } from "@videojs/utils/dom";
|
|
9
|
-
|
|
10
8
|
//#region src/ui/popover/popover-popup.tsx
|
|
11
9
|
const POPOVER_RESET = {
|
|
12
10
|
position: "fixed",
|
|
@@ -41,14 +39,22 @@ const PopoverPopup = forwardRef(function PopoverPopup({ render, className, style
|
|
|
41
39
|
const triggerEl = popover.triggerElement;
|
|
42
40
|
const popupEl = internalRef.current;
|
|
43
41
|
if (!triggerEl || !popupEl) return;
|
|
44
|
-
setManualStyle(getAnchorPositionStyle(anchorName, posOpts, triggerEl.getBoundingClientRect(), popupEl
|
|
42
|
+
setManualStyle(getAnchorPositionStyle(anchorName, posOpts, triggerEl.getBoundingClientRect(), getPopupPositionRect(popupEl), document.documentElement.getBoundingClientRect(), resolveOffsets(popupEl)));
|
|
45
43
|
}
|
|
46
44
|
measure();
|
|
45
|
+
const triggerEl = popover.triggerElement;
|
|
46
|
+
const popupEl = internalRef.current;
|
|
47
47
|
let rafId = 0;
|
|
48
48
|
function reposition() {
|
|
49
49
|
cancelAnimationFrame(rafId);
|
|
50
50
|
rafId = requestAnimationFrame(measure);
|
|
51
51
|
}
|
|
52
|
+
reposition();
|
|
53
|
+
const resizeObserver = typeof ResizeObserver === "function" ? new ResizeObserver(() => {
|
|
54
|
+
reposition();
|
|
55
|
+
}) : null;
|
|
56
|
+
if (triggerEl && resizeObserver) resizeObserver.observe(triggerEl);
|
|
57
|
+
if (popupEl && resizeObserver) resizeObserver.observe(popupEl);
|
|
52
58
|
window.addEventListener("scroll", reposition, {
|
|
53
59
|
capture: true,
|
|
54
60
|
passive: true
|
|
@@ -56,6 +62,7 @@ const PopoverPopup = forwardRef(function PopoverPopup({ render, className, style
|
|
|
56
62
|
window.addEventListener("resize", reposition);
|
|
57
63
|
return () => {
|
|
58
64
|
cancelAnimationFrame(rafId);
|
|
65
|
+
resizeObserver?.disconnect();
|
|
59
66
|
window.removeEventListener("scroll", reposition, true);
|
|
60
67
|
window.removeEventListener("resize", reposition);
|
|
61
68
|
};
|
|
@@ -90,7 +97,7 @@ const PopoverPopup = forwardRef(function PopoverPopup({ render, className, style
|
|
|
90
97
|
]
|
|
91
98
|
});
|
|
92
99
|
});
|
|
93
|
-
|
|
94
100
|
//#endregion
|
|
95
101
|
export { PopoverPopup };
|
|
102
|
+
|
|
96
103
|
//# sourceMappingURL=popover-popup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-popup.js","names":[],"sources":["../../../../src/ui/popover/popover-popup.tsx"],"sourcesContent":["'use client';\n\nimport type { PopoverState } from '@videojs/core';\nimport { getAnchorPositionStyle, resolveOffsets } from '@videojs/core/dom';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { usePopoverContext } from './context';\n\nexport interface PopoverPopupProps extends UIComponentProps<'div', PopoverState> {}\n\nconst POPOVER_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\n\n/** Container for the popover content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */\nexport const PopoverPopup = forwardRef<HTMLDivElement, PopoverPopupProps>(function PopoverPopup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, popover, state, stateAttrMap, anchorName, popupId } = usePopoverContext();\n const internalRef = useRef<HTMLDivElement>(null);\n\n const popupRef = useCallback(\n (el: HTMLDivElement | null) => {\n popover.setPopupElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [popover, anchorName]\n );\n\n const composedRef = useComposedRefs(forwardedRef, popupRef, internalRef);\n\n // --- Positioning ---\n\n const posOpts = useMemo(() => ({ side: state.side, align: state.align }), [state.side, state.align]);\n\n // CSS Anchor Positioning — computed from state, no measurement needed.\n // `position-anchor` is set imperatively in the ref callback above\n // because React's style prop silently drops unrecognised CSS properties.\n const anchorStyle = useMemo(() => {\n if (!supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, posOpts);\n return rest as CSSProperties;\n }, [anchorName, posOpts]);\n\n // Manual fallback — measure rects after layout, before paint.\n const [manualStyle, setManualStyle] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (supportsAnchorPositioning()) return;\n if (!state.open) {\n setManualStyle(null);\n return;\n }\n\n function measure(): void {\n const triggerEl = popover.triggerElement;\n const popupEl = internalRef.current;\n if (!triggerEl || !popupEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popupRect = popupEl
|
|
1
|
+
{"version":3,"file":"popover-popup.js","names":[],"sources":["../../../../src/ui/popover/popover-popup.tsx"],"sourcesContent":["'use client';\n\nimport type { PopoverState } from '@videojs/core';\nimport { getAnchorPositionStyle, getPopupPositionRect, resolveOffsets } from '@videojs/core/dom';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { usePopoverContext } from './context';\n\nexport interface PopoverPopupProps extends UIComponentProps<'div', PopoverState> {}\n\nconst POPOVER_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\n\n/** Container for the popover content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */\nexport const PopoverPopup = forwardRef<HTMLDivElement, PopoverPopupProps>(function PopoverPopup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, popover, state, stateAttrMap, anchorName, popupId } = usePopoverContext();\n const internalRef = useRef<HTMLDivElement>(null);\n\n const popupRef = useCallback(\n (el: HTMLDivElement | null) => {\n popover.setPopupElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [popover, anchorName]\n );\n\n const composedRef = useComposedRefs(forwardedRef, popupRef, internalRef);\n\n // --- Positioning ---\n\n const posOpts = useMemo(() => ({ side: state.side, align: state.align }), [state.side, state.align]);\n\n // CSS Anchor Positioning — computed from state, no measurement needed.\n // `position-anchor` is set imperatively in the ref callback above\n // because React's style prop silently drops unrecognised CSS properties.\n const anchorStyle = useMemo(() => {\n if (!supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, posOpts);\n return rest as CSSProperties;\n }, [anchorName, posOpts]);\n\n // Manual fallback — measure rects after layout, before paint.\n const [manualStyle, setManualStyle] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (supportsAnchorPositioning()) return;\n if (!state.open) {\n setManualStyle(null);\n return;\n }\n\n function measure(): void {\n const triggerEl = popover.triggerElement;\n const popupEl = internalRef.current;\n if (!triggerEl || !popupEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popupRect = getPopupPositionRect(popupEl);\n const boundaryRect = document.documentElement.getBoundingClientRect();\n const offsets = resolveOffsets(popupEl);\n\n setManualStyle(\n getAnchorPositionStyle(anchorName, posOpts, triggerRect, popupRect, boundaryRect, offsets) as CSSProperties\n );\n }\n\n measure();\n const triggerEl = popover.triggerElement;\n const popupEl = internalRef.current;\n\n let rafId = 0;\n function reposition(): void {\n cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(measure);\n }\n\n // Re-measure after the popover has entered the top layer and whenever\n // its own size or the trigger size changes.\n reposition();\n\n const resizeObserver =\n typeof ResizeObserver === 'function'\n ? new ResizeObserver(() => {\n reposition();\n })\n : null;\n\n if (triggerEl && resizeObserver) {\n resizeObserver.observe(triggerEl);\n }\n\n if (popupEl && resizeObserver) {\n resizeObserver.observe(popupEl);\n }\n\n window.addEventListener('scroll', reposition, { capture: true, passive: true });\n window.addEventListener('resize', reposition);\n\n return () => {\n cancelAnimationFrame(rafId);\n resizeObserver?.disconnect();\n window.removeEventListener('scroll', reposition, true);\n window.removeEventListener('resize', reposition);\n };\n }, [state.open, anchorName, posOpts, popover]);\n\n // Anchor path uses computed styles; manual path uses measured styles;\n // fallback resets UA [popover] defaults until positioning is computed.\n const positioningStyle = anchorStyle ?? manualStyle ?? POPOVER_RESET;\n\n // --- Visibility ---\n\n if (!state.open) {\n return null;\n }\n\n // Remap DOM focus events to React synthetic event names.\n const { onFocusOut, ...restPopupProps } = popover.popupProps;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: composedRef,\n props: [\n {\n id: popupId,\n style: positioningStyle,\n ...core.getPopupAttrs(state),\n },\n { ...restPopupProps, onBlur: onFocusOut },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace PopoverPopup {\n export type Props = PopoverPopupProps;\n export type State = PopoverState;\n}\n"],"mappings":";;;;;;;;AAeA,MAAM,gBAA+B;CAAE,UAAU;CAAS,OAAO;CAAQ,QAAQ;CAAG;;AAGpF,MAAa,eAAe,WAA8C,SAAS,aACjF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,MAAM,SAAS,OAAO,cAAc,YAAY,YAAY,mBAAmB;CACvF,MAAM,cAAc,OAAuB,KAAK;CAYhD,MAAM,cAAc,gBAAgB,cAVnB,aACd,OAA8B;AAC7B,UAAQ,gBAAgB,GAAG;AAC3B,MAAI,MAAM,2BAA2B,CACnC,IAAG,MAAM,YAAY,mBAAmB,KAAK,aAAa;IAG9D,CAAC,SAAS,WAAW,CACtB,EAE2D,YAAY;CAIxE,MAAM,UAAU,eAAe;EAAE,MAAM,MAAM;EAAM,OAAO,MAAM;EAAO,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC;CAKpG,MAAM,cAAc,cAAc;AAChC,MAAI,CAAC,2BAA2B,CAAE,QAAO;EACzC,MAAM,EAAE,gBAAgB,GAAG,GAAG,SAAS,uBAAuB,YAAY,QAAQ;AAClF,SAAO;IACN,CAAC,YAAY,QAAQ,CAAC;CAGzB,MAAM,CAAC,aAAa,kBAAkB,SAA+B,KAAK;AAE1E,uBAAsB;AACpB,MAAI,2BAA2B,CAAE;AACjC,MAAI,CAAC,MAAM,MAAM;AACf,kBAAe,KAAK;AACpB;;EAGF,SAAS,UAAgB;GACvB,MAAM,YAAY,QAAQ;GAC1B,MAAM,UAAU,YAAY;AAC5B,OAAI,CAAC,aAAa,CAAC,QAAS;AAO5B,kBACE,uBAAuB,YAAY,SANjB,UAAU,uBAAuB,EACnC,qBAAqB,QAAQ,EAC1B,SAAS,gBAAgB,uBAAuB,EACrD,eAAe,QAAQ,CAGqD,CAC3F;;AAGH,WAAS;EACT,MAAM,YAAY,QAAQ;EAC1B,MAAM,UAAU,YAAY;EAE5B,IAAI,QAAQ;EACZ,SAAS,aAAmB;AAC1B,wBAAqB,MAAM;AAC3B,WAAQ,sBAAsB,QAAQ;;AAKxC,cAAY;EAEZ,MAAM,iBACJ,OAAO,mBAAmB,aACtB,IAAI,qBAAqB;AACvB,eAAY;IACZ,GACF;AAEN,MAAI,aAAa,eACf,gBAAe,QAAQ,UAAU;AAGnC,MAAI,WAAW,eACb,gBAAe,QAAQ,QAAQ;AAGjC,SAAO,iBAAiB,UAAU,YAAY;GAAE,SAAS;GAAM,SAAS;GAAM,CAAC;AAC/E,SAAO,iBAAiB,UAAU,WAAW;AAE7C,eAAa;AACX,wBAAqB,MAAM;AAC3B,mBAAgB,YAAY;AAC5B,UAAO,oBAAoB,UAAU,YAAY,KAAK;AACtD,UAAO,oBAAoB,UAAU,WAAW;;IAEjD;EAAC,MAAM;EAAM;EAAY;EAAS;EAAQ,CAAC;CAI9C,MAAM,mBAAmB,eAAe,eAAe;AAIvD,KAAI,CAAC,MAAM,KACT,QAAO;CAIT,MAAM,EAAE,YAAY,GAAG,mBAAmB,QAAQ;AAElD,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO;GACL;IACE,IAAI;IACJ,OAAO;IACP,GAAG,KAAK,cAAc,MAAM;IAC7B;GACD;IAAE,GAAG;IAAgB,QAAQ;IAAY;GACzC;GACD;EACF,CACF;EACD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
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 { useSafeId } from "../../utils/use-safe-id.js";
|
|
6
5
|
import { PopoverContextProvider } from "./context.js";
|
|
7
6
|
import { createPopover, createTransition } from "@videojs/core/dom";
|
|
@@ -9,7 +8,6 @@ import { useSnapshot } from "@videojs/store/react";
|
|
|
9
8
|
import { useEffect, useState } from "react";
|
|
10
9
|
import { jsx } from "react/jsx-runtime";
|
|
11
10
|
import { PopoverCore, PopoverDataAttrs } from "@videojs/core";
|
|
12
|
-
|
|
13
11
|
//#region src/ui/popover/popover-root.tsx
|
|
14
12
|
function PopoverRoot({ open: controlledOpen, defaultOpen = PopoverCore.defaultProps.defaultOpen, onOpenChange: onOpenChangeProp, onOpenChangeComplete: onOpenChangeCompleteProp, openOnHover = PopoverCore.defaultProps.openOnHover, delay = PopoverCore.defaultProps.delay, closeDelay = PopoverCore.defaultProps.closeDelay, children, ...coreProps }) {
|
|
15
13
|
const [core] = useState(() => new PopoverCore(coreProps));
|
|
@@ -41,7 +39,7 @@ function PopoverRoot({ open: controlledOpen, defaultOpen = PopoverCore.defaultPr
|
|
|
41
39
|
return instance;
|
|
42
40
|
});
|
|
43
41
|
const anchorName = useSafeId();
|
|
44
|
-
const popupId = useSafeId("popup
|
|
42
|
+
const popupId = useSafeId("popup");
|
|
45
43
|
useEffect(() => {
|
|
46
44
|
if (controlledOpen === void 0) return;
|
|
47
45
|
const { active: inputOpen } = popover.input.current;
|
|
@@ -64,7 +62,7 @@ function PopoverRoot({ open: controlledOpen, defaultOpen = PopoverCore.defaultPr
|
|
|
64
62
|
children
|
|
65
63
|
});
|
|
66
64
|
}
|
|
67
|
-
|
|
68
65
|
//#endregion
|
|
69
66
|
export { PopoverRoot };
|
|
67
|
+
|
|
70
68
|
//# sourceMappingURL=popover-root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-root.js","names":[],"sources":["../../../../src/ui/popover/popover-root.tsx"],"sourcesContent":["'use client';\n\nimport { type PopoverProps as CorePopoverProps, PopoverCore, PopoverDataAttrs } from '@videojs/core';\nimport { createPopover, createTransition, type PopoverChangeDetails } from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { PopoverContextProvider } from './context';\n\nexport interface PopoverRootProps extends CorePopoverProps {\n /** Called when the popover open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean, details: PopoverChangeDetails) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function PopoverRoot({\n open: controlledOpen,\n defaultOpen = PopoverCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n openOnHover = PopoverCore.defaultProps.openOnHover,\n delay = PopoverCore.defaultProps.delay,\n closeDelay = PopoverCore.defaultProps.closeDelay,\n children,\n ...coreProps\n}: PopoverRootProps): ReactNode {\n const [core] = useState(() => new PopoverCore(coreProps));\n core.setProps(coreProps);\n\n const isControlled = controlledOpen !== undefined;\n\n // Keep refs that always point to the latest values so the\n // createPopover closure never reads stale props.\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n const closeOnEscapeRef = useLatestRef(coreProps.closeOnEscape);\n const closeOnOutsideClickRef = useLatestRef(coreProps.closeOnOutsideClick);\n const openOnHoverRef = useLatestRef(openOnHover);\n const delayRef = useLatestRef(delay);\n const closeDelayRef = useLatestRef(closeDelay);\n\n const [popover] = useState(() => {\n const instance = createPopover({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean, details: PopoverChangeDetails) => {\n onOpenChangeRef.current?.(nextOpen, details);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n closeOnEscape: () => closeOnEscapeRef.current ?? PopoverCore.defaultProps.closeOnEscape,\n closeOnOutsideClick: () => closeOnOutsideClickRef.current ?? PopoverCore.defaultProps.closeOnOutsideClick,\n openOnHover: () => openOnHoverRef.current,\n delay: () => delayRef.current,\n closeDelay: () => closeDelayRef.current,\n });\n\n // Apply defaultOpen on creation (uncontrolled only)\n if (!isControlled && defaultOpen) {\n instance.open('click');\n }\n\n return instance;\n });\n\n const anchorName = useSafeId();\n const popupId = useSafeId('popup
|
|
1
|
+
{"version":3,"file":"popover-root.js","names":[],"sources":["../../../../src/ui/popover/popover-root.tsx"],"sourcesContent":["'use client';\n\nimport { type PopoverProps as CorePopoverProps, PopoverCore, PopoverDataAttrs } from '@videojs/core';\nimport { createPopover, createTransition, type PopoverChangeDetails } from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { PopoverContextProvider } from './context';\n\nexport interface PopoverRootProps extends CorePopoverProps {\n /** Called when the popover open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean, details: PopoverChangeDetails) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function PopoverRoot({\n open: controlledOpen,\n defaultOpen = PopoverCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n openOnHover = PopoverCore.defaultProps.openOnHover,\n delay = PopoverCore.defaultProps.delay,\n closeDelay = PopoverCore.defaultProps.closeDelay,\n children,\n ...coreProps\n}: PopoverRootProps): ReactNode {\n const [core] = useState(() => new PopoverCore(coreProps));\n core.setProps(coreProps);\n\n const isControlled = controlledOpen !== undefined;\n\n // Keep refs that always point to the latest values so the\n // createPopover closure never reads stale props.\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n const closeOnEscapeRef = useLatestRef(coreProps.closeOnEscape);\n const closeOnOutsideClickRef = useLatestRef(coreProps.closeOnOutsideClick);\n const openOnHoverRef = useLatestRef(openOnHover);\n const delayRef = useLatestRef(delay);\n const closeDelayRef = useLatestRef(closeDelay);\n\n const [popover] = useState(() => {\n const instance = createPopover({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean, details: PopoverChangeDetails) => {\n onOpenChangeRef.current?.(nextOpen, details);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n closeOnEscape: () => closeOnEscapeRef.current ?? PopoverCore.defaultProps.closeOnEscape,\n closeOnOutsideClick: () => closeOnOutsideClickRef.current ?? PopoverCore.defaultProps.closeOnOutsideClick,\n openOnHover: () => openOnHoverRef.current,\n delay: () => delayRef.current,\n closeDelay: () => closeDelayRef.current,\n });\n\n // Apply defaultOpen on creation (uncontrolled only)\n if (!isControlled && defaultOpen) {\n instance.open('click');\n }\n\n return instance;\n });\n\n const anchorName = useSafeId();\n const popupId = useSafeId('popup');\n\n // Sync controlled open prop -> internal input state.\n useEffect(() => {\n if (controlledOpen === undefined) return;\n\n const { active: inputOpen } = popover.input.current;\n if (controlledOpen === inputOpen) return;\n\n if (controlledOpen) {\n popover.open('click');\n } else {\n popover.close('click');\n }\n }, [controlledOpen, popover]);\n\n useDestroy(popover);\n\n const input = useSnapshot(popover.input);\n core.setInput(input);\n const state = core.getState();\n\n return (\n <PopoverContextProvider value={{ core, popover, state, stateAttrMap: PopoverDataAttrs, anchorName, popupId }}>\n {children}\n </PopoverContextProvider>\n );\n}\n\nexport namespace PopoverRoot {\n export type Props = PopoverRootProps;\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgB,YAAY,EAC1B,MAAM,gBACN,cAAc,YAAY,aAAa,aACvC,cAAc,kBACd,sBAAsB,0BACtB,cAAc,YAAY,aAAa,aACvC,QAAQ,YAAY,aAAa,OACjC,aAAa,YAAY,aAAa,YACtC,UACA,GAAG,aAC2B;CAC9B,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,UAAU,CAAC;AACzD,MAAK,SAAS,UAAU;CAExB,MAAM,eAAe,mBAAmB,KAAA;CAIxC,MAAM,kBAAkB,aAAa,iBAAiB;CACtD,MAAM,0BAA0B,aAAa,yBAAyB;CACtE,MAAM,mBAAmB,aAAa,UAAU,cAAc;CAC9D,MAAM,yBAAyB,aAAa,UAAU,oBAAoB;CAC1E,MAAM,iBAAiB,aAAa,YAAY;CAChD,MAAM,WAAW,aAAa,MAAM;CACpC,MAAM,gBAAgB,aAAa,WAAW;CAE9C,MAAM,CAAC,WAAW,eAAe;EAC/B,MAAM,WAAW,cAAc;GAC7B,YAAY,kBAAkB;GAC9B,eAAe,UAAmB,YAAkC;AAClE,oBAAgB,UAAU,UAAU,QAAQ;;GAE9C,uBAAuB,aAAsB;AAC3C,4BAAwB,UAAU,SAAS;;GAE7C,qBAAqB,iBAAiB,WAAW,YAAY,aAAa;GAC1E,2BAA2B,uBAAuB,WAAW,YAAY,aAAa;GACtF,mBAAmB,eAAe;GAClC,aAAa,SAAS;GACtB,kBAAkB,cAAc;GACjC,CAAC;AAGF,MAAI,CAAC,gBAAgB,YACnB,UAAS,KAAK,QAAQ;AAGxB,SAAO;GACP;CAEF,MAAM,aAAa,WAAW;CAC9B,MAAM,UAAU,UAAU,QAAQ;AAGlC,iBAAgB;AACd,MAAI,mBAAmB,KAAA,EAAW;EAElC,MAAM,EAAE,QAAQ,cAAc,QAAQ,MAAM;AAC5C,MAAI,mBAAmB,UAAW;AAElC,MAAI,eACF,SAAQ,KAAK,QAAQ;MAErB,SAAQ,MAAM,QAAQ;IAEvB,CAAC,gBAAgB,QAAQ,CAAC;AAE7B,YAAW,QAAQ;CAEnB,MAAM,QAAQ,YAAY,QAAQ,MAAM;AACxC,MAAK,SAAS,MAAM;AAGpB,QACE,oBAAC,wBAAD;EAAwB,OAAO;GAAE;GAAM;GAAS,OAHpC,KAAK,UAAU;GAG4B,cAAc;GAAkB;GAAY;GAAS;EACzG;EACsB,CAAA"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
3
|
import { usePopoverContext } from "./context.js";
|
|
5
4
|
import { forwardRef, useCallback } from "react";
|
|
6
5
|
import { supportsAnchorPositioning } from "@videojs/utils/dom";
|
|
7
|
-
|
|
8
6
|
//#region src/ui/popover/popover-trigger.tsx
|
|
9
7
|
/** Button that toggles the popover visibility. Renders a `<button>` element. */
|
|
10
8
|
const PopoverTrigger = forwardRef(function PopoverTrigger({ render, className, style, ...elementProps }, forwardedRef) {
|
|
@@ -36,7 +34,7 @@ const PopoverTrigger = forwardRef(function PopoverTrigger({ render, className, s
|
|
|
36
34
|
]
|
|
37
35
|
});
|
|
38
36
|
});
|
|
39
|
-
|
|
40
37
|
//#endregion
|
|
41
38
|
export { PopoverTrigger };
|
|
39
|
+
|
|
42
40
|
//# sourceMappingURL=popover-trigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-trigger.js","names":[],"sources":["../../../../src/ui/popover/popover-trigger.tsx"],"sourcesContent":["'use client';\n\nimport type { PopoverState } from '@videojs/core';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport { forwardRef, useCallback } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { usePopoverContext } from './context';\n\nexport interface PopoverTriggerProps extends UIComponentProps<'button', PopoverState> {}\n\n/** Button that toggles the popover visibility. Renders a `<button>` element. */\nexport const PopoverTrigger = forwardRef<HTMLButtonElement, PopoverTriggerProps>(function PopoverTrigger(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, popover, state, stateAttrMap, anchorName, popupId } = usePopoverContext();\n\n const triggerRef = useCallback(\n (el: HTMLButtonElement | null) => {\n popover.setTriggerElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('anchor-name', `--${anchorName}`);\n }\n },\n [popover, anchorName]\n );\n\n // Remap DOM focus events to React synthetic event names.\n // createPopover() uses onFocusIn/onFocusOut (matching DOM focusin/focusout),\n // but React maps those to onFocus/onBlur.\n const { onFocusIn, onFocusOut, ...restTriggerProps } = popover.triggerProps;\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: [forwardedRef, triggerRef],\n props: [\n {\n type: 'button' as const,\n ...core.getTriggerAttrs(state, popupId),\n },\n { ...restTriggerProps, onFocus: onFocusIn, onBlur: onFocusOut },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace PopoverTrigger {\n export type Props = PopoverTriggerProps;\n export type State = PopoverState;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"popover-trigger.js","names":[],"sources":["../../../../src/ui/popover/popover-trigger.tsx"],"sourcesContent":["'use client';\n\nimport type { PopoverState } from '@videojs/core';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport { forwardRef, useCallback } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { usePopoverContext } from './context';\n\nexport interface PopoverTriggerProps extends UIComponentProps<'button', PopoverState> {}\n\n/** Button that toggles the popover visibility. Renders a `<button>` element. */\nexport const PopoverTrigger = forwardRef<HTMLButtonElement, PopoverTriggerProps>(function PopoverTrigger(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, popover, state, stateAttrMap, anchorName, popupId } = usePopoverContext();\n\n const triggerRef = useCallback(\n (el: HTMLButtonElement | null) => {\n popover.setTriggerElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('anchor-name', `--${anchorName}`);\n }\n },\n [popover, anchorName]\n );\n\n // Remap DOM focus events to React synthetic event names.\n // createPopover() uses onFocusIn/onFocusOut (matching DOM focusin/focusout),\n // but React maps those to onFocus/onBlur.\n const { onFocusIn, onFocusOut, ...restTriggerProps } = popover.triggerProps;\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: [forwardedRef, triggerRef],\n props: [\n {\n type: 'button' as const,\n ...core.getTriggerAttrs(state, popupId),\n },\n { ...restTriggerProps, onFocus: onFocusIn, onBlur: onFocusOut },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace PopoverTrigger {\n export type Props = PopoverTriggerProps;\n export type State = PopoverState;\n}\n"],"mappings":";;;;;;;AAaA,MAAa,iBAAiB,WAAmD,SAAS,eACxF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,MAAM,SAAS,OAAO,cAAc,YAAY,YAAY,mBAAmB;CAEvF,MAAM,aAAa,aAChB,OAAiC;AAChC,UAAQ,kBAAkB,GAAG;AAC7B,MAAI,MAAM,2BAA2B,CACnC,IAAG,MAAM,YAAY,eAAe,KAAK,aAAa;IAG1D,CAAC,SAAS,WAAW,CACtB;CAKD,MAAM,EAAE,WAAW,YAAY,GAAG,qBAAqB,QAAQ;AAE/D,QAAO,cACL,UACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK,CAAC,cAAc,WAAW;EAC/B,OAAO;GACL;IACE,MAAM;IACN,GAAG,KAAK,gBAAgB,OAAO,QAAQ;IACxC;GACD;IAAE,GAAG;IAAkB,SAAS;IAAW,QAAQ;IAAY;GAC/D;GACD;EACF,CACF;EACD"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { usePlayer } from "../../player/context.js";
|
|
4
3
|
import { renderElement } from "../../utils/use-render.js";
|
|
5
4
|
import { logMissingFeature, selectPlayback } from "@videojs/core/dom";
|
|
6
5
|
import { forwardRef, useState } from "react";
|
|
7
6
|
import { PosterCore, PosterDataAttrs } from "@videojs/core";
|
|
8
|
-
|
|
9
7
|
//#region src/ui/poster/poster.tsx
|
|
10
8
|
/**
|
|
11
9
|
* Displays the video poster image. Shows before playback starts, hides after.
|
|
@@ -41,7 +39,7 @@ const Poster = forwardRef(function Poster(componentProps, forwardedRef) {
|
|
|
41
39
|
props: [elementProps]
|
|
42
40
|
});
|
|
43
41
|
});
|
|
44
|
-
|
|
45
42
|
//#endregion
|
|
46
43
|
export { Poster };
|
|
44
|
+
|
|
47
45
|
//# sourceMappingURL=poster.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poster.js","names":[],"sources":["../../../../src/ui/poster/poster.tsx"],"sourcesContent":["'use client';\n\nimport { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface PosterProps extends UIComponentProps<'img', PosterCore.State> {}\n\n/**\n * Displays the video poster image. Shows before playback starts, hides after.\n *\n * @example\n * ```tsx\n * <Poster src=\"poster.jpg\" alt=\"Video description\" />\n *\n * <Poster\n * src=\"poster.jpg\"\n * alt=\"Video description\"\n * className={(state) => state.visible ? 'visible' : 'hidden'}\n * />\n * ```\n */\nexport const Poster = forwardRef(function Poster(\n componentProps: PosterProps,\n forwardedRef: ForwardedRef<HTMLImageElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n\n const playback = usePlayer(selectPlayback);\n\n const [core] = useState(() => new PosterCore());\n\n if (!playback) {\n if (__DEV__) logMissingFeature('Poster', 'playback');\n return null;\n }\n\n core.setMedia(playback);\n\n return renderElement(\n 'img',\n { render, className, style },\n {\n state: core.getState(),\n stateAttrMap: PosterDataAttrs,\n ref: [forwardedRef],\n props: [elementProps],\n }\n );\n});\n\nexport namespace Poster {\n export type Props = PosterProps;\n export type State = PosterCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"poster.js","names":[],"sources":["../../../../src/ui/poster/poster.tsx"],"sourcesContent":["'use client';\n\nimport { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface PosterProps extends UIComponentProps<'img', PosterCore.State> {}\n\n/**\n * Displays the video poster image. Shows before playback starts, hides after.\n *\n * @example\n * ```tsx\n * <Poster src=\"poster.jpg\" alt=\"Video description\" />\n *\n * <Poster\n * src=\"poster.jpg\"\n * alt=\"Video description\"\n * className={(state) => state.visible ? 'visible' : 'hidden'}\n * />\n * ```\n */\nexport const Poster = forwardRef(function Poster(\n componentProps: PosterProps,\n forwardedRef: ForwardedRef<HTMLImageElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n\n const playback = usePlayer(selectPlayback);\n\n const [core] = useState(() => new PosterCore());\n\n if (!playback) {\n if (__DEV__) logMissingFeature('Poster', 'playback');\n return null;\n }\n\n core.setMedia(playback);\n\n return renderElement(\n 'img',\n { render, className, style },\n {\n state: core.getState(),\n stateAttrMap: PosterDataAttrs,\n ref: [forwardedRef],\n props: [elementProps],\n }\n );\n});\n\nexport namespace Poster {\n export type Props = PosterProps;\n export type State = PosterCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2BA,MAAa,SAAS,WAAW,SAAS,OACxC,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CAEtD,MAAM,WAAW,UAAU,eAAe;CAE1C,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,CAAC;AAE/C,KAAI,CAAC,UAAU;AACA,oBAAkB,UAAU,WAAW;AACpD,SAAO;;AAGT,MAAK,SAAS,SAAS;AAEvB,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE,OAAO,KAAK,UAAU;EACtB,cAAc;EACd,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC,aAAa;EACtB,CACF;EACD"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createMediaButton } from "../create-media-button.js";
|
|
4
3
|
import { selectTime } from "@videojs/core/dom";
|
|
5
4
|
import { SeekButtonCore, SeekButtonDataAttrs } from "@videojs/core";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/seek-button/seek-button.tsx
|
|
8
6
|
/**
|
|
9
7
|
* A button that seeks forward or backward by a configurable number of seconds.
|
|
@@ -29,7 +27,7 @@ const SeekButton = createMediaButton({
|
|
|
29
27
|
selector: selectTime,
|
|
30
28
|
action: (core, state) => core.seek(state)
|
|
31
29
|
});
|
|
32
|
-
|
|
33
30
|
//#endregion
|
|
34
31
|
export { SeekButton };
|
|
32
|
+
|
|
35
33
|
//# sourceMappingURL=seek-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seek-button.js","names":[],"sources":["../../../../src/ui/seek-button/seek-button.tsx"],"sourcesContent":["'use client';\n\nimport { SeekButtonCore, SeekButtonDataAttrs } from '@videojs/core';\nimport { selectTime } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface SeekButtonProps extends UIComponentProps<'button', SeekButtonCore.State>, SeekButtonCore.Props {}\n\n/**\n * A button that seeks forward or backward by a configurable number of seconds.\n *\n * @example\n * ```tsx\n * <SeekButton seconds={-10} />\n *\n * <SeekButton\n * seconds={30}\n * render={(props, state) => (\n * <button {...props}>\n * {state.direction === 'backward' ? <RewindIcon /> : <FastForwardIcon />}\n * </button>\n * )}\n * />\n * ```\n */\nexport const SeekButton = createMediaButton<SeekButtonCore, SeekButtonProps>({\n displayName: 'SeekButton',\n core: SeekButtonCore,\n stateAttrMap: SeekButtonDataAttrs,\n selector: selectTime,\n action: (core, state) => core.seek(state),\n});\n\nexport namespace SeekButton {\n export type Props = SeekButtonProps;\n export type State = SeekButtonCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"seek-button.js","names":[],"sources":["../../../../src/ui/seek-button/seek-button.tsx"],"sourcesContent":["'use client';\n\nimport { SeekButtonCore, SeekButtonDataAttrs } from '@videojs/core';\nimport { selectTime } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface SeekButtonProps extends UIComponentProps<'button', SeekButtonCore.State>, SeekButtonCore.Props {}\n\n/**\n * A button that seeks forward or backward by a configurable number of seconds.\n *\n * @example\n * ```tsx\n * <SeekButton seconds={-10} />\n *\n * <SeekButton\n * seconds={30}\n * render={(props, state) => (\n * <button {...props}>\n * {state.direction === 'backward' ? <RewindIcon /> : <FastForwardIcon />}\n * </button>\n * )}\n * />\n * ```\n */\nexport const SeekButton = createMediaButton<SeekButtonCore, SeekButtonProps>({\n displayName: 'SeekButton',\n core: SeekButtonCore,\n stateAttrMap: SeekButtonDataAttrs,\n selector: selectTime,\n action: (core, state) => core.seek(state),\n});\n\nexport namespace SeekButton {\n export type Props = SeekButtonProps;\n export type State = SeekButtonCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAa,aAAa,kBAAmD;CAC3E,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,KAAK,MAAM;CAC1C,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createContext, useContext } from "react";
|
|
4
3
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
|
|
6
4
|
//#region src/ui/slider/context.tsx
|
|
7
5
|
const SliderContext = createContext(null);
|
|
8
6
|
function SliderProvider({ value, children }) {
|
|
@@ -16,7 +14,7 @@ function useSliderContext() {
|
|
|
16
14
|
if (!ctx) throw new Error("Slider compound components must be used within a Slider.Root");
|
|
17
15
|
return ctx;
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
//#endregion
|
|
21
18
|
export { SliderProvider, useSliderContext };
|
|
19
|
+
|
|
22
20
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/slider/context.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState, StateAttrMap } from '@videojs/core';\nimport type { SliderThumbProps } from '@videojs/core/dom';\nimport type { RefCallback } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport interface SliderContextValue {\n state: SliderState;\n /** Pointer position converted to the value domain (not 0–100 percent). */\n pointerValue: number;\n thumbRef: RefCallback<HTMLElement>;\n thumbProps: SliderThumbProps;\n stateAttrMap: StateAttrMap<SliderState>;\n getAttrs: (state: SliderState) => object;\n formatValue?: ((value: number, type: 'current' | 'pointer') => string) | undefined;\n}\n\nconst SliderContext = createContext<SliderContextValue | null>(null);\n\nexport function SliderProvider({ value, children }: { value: SliderContextValue; children: React.ReactNode }) {\n return <SliderContext.Provider value={value}>{children}</SliderContext.Provider>;\n}\n\nexport function useSliderContext(): SliderContextValue {\n const ctx = useContext(SliderContext);\n if (!ctx) throw new Error('Slider compound components must be used within a Slider.Root');\n return ctx;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/slider/context.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState, StateAttrMap } from '@videojs/core';\nimport type { SliderThumbProps } from '@videojs/core/dom';\nimport type { RefCallback } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport interface SliderContextValue {\n state: SliderState;\n /** Pointer position converted to the value domain (not 0–100 percent). */\n pointerValue: number;\n thumbRef: RefCallback<HTMLElement>;\n thumbProps: SliderThumbProps;\n stateAttrMap: StateAttrMap<SliderState>;\n getAttrs: (state: SliderState) => object;\n formatValue?: ((value: number, type: 'current' | 'pointer') => string) | undefined;\n}\n\nconst SliderContext = createContext<SliderContextValue | null>(null);\n\nexport function SliderProvider({ value, children }: { value: SliderContextValue; children: React.ReactNode }) {\n return <SliderContext.Provider value={value}>{children}</SliderContext.Provider>;\n}\n\nexport function useSliderContext(): SliderContextValue {\n const ctx = useContext(SliderContext);\n if (!ctx) throw new Error('Slider compound components must be used within a Slider.Root');\n return ctx;\n}\n"],"mappings":";;;;AAkBA,MAAM,gBAAgB,cAAyC,KAAK;AAEpE,SAAgB,eAAe,EAAE,OAAO,YAAsE;AAC5G,QAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;EAAkC,CAAA;;AAGlF,SAAgB,mBAAuC;CACrD,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,+DAA+D;AACzF,QAAO"}
|
|
@@ -7,7 +7,6 @@ import { SliderThumb } from "./slider-thumb.js";
|
|
|
7
7
|
import { SliderThumbnail } from "./slider-thumbnail.js";
|
|
8
8
|
import { SliderTrack } from "./slider-track.js";
|
|
9
9
|
import { SliderValue } from "./slider-value.js";
|
|
10
|
-
|
|
11
10
|
//#region src/ui/slider/index.parts.ts
|
|
12
11
|
var index_parts_exports = /* @__PURE__ */ __exportAll({
|
|
13
12
|
Buffer: () => SliderBuffer,
|
|
@@ -19,7 +18,7 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
|
|
|
19
18
|
Track: () => SliderTrack,
|
|
20
19
|
Value: () => SliderValue
|
|
21
20
|
});
|
|
22
|
-
|
|
23
21
|
//#endregion
|
|
24
22
|
export { index_parts_exports };
|
|
23
|
+
|
|
25
24
|
//# sourceMappingURL=index.parts.js.map
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createContextPart } from "../create-context-part.js";
|
|
4
3
|
import { useSliderContext } from "./context.js";
|
|
5
|
-
|
|
6
4
|
//#region src/ui/slider/slider-buffer.tsx
|
|
7
5
|
/** Displays the buffered range on the slider track. */
|
|
8
6
|
const SliderBuffer = createContextPart({
|
|
@@ -10,7 +8,7 @@ const SliderBuffer = createContextPart({
|
|
|
10
8
|
tag: "div",
|
|
11
9
|
useContext: useSliderContext
|
|
12
10
|
});
|
|
13
|
-
|
|
14
11
|
//#endregion
|
|
15
12
|
export { SliderBuffer };
|
|
13
|
+
|
|
16
14
|
//# sourceMappingURL=slider-buffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-buffer.js","names":[],"sources":["../../../../src/ui/slider/slider-buffer.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useSliderContext } from './context';\n\nexport interface SliderBufferProps extends UIComponentProps<'div', SliderState> {}\n\n/** Displays the buffered range on the slider track. */\nexport const SliderBuffer = createContextPart<SliderBufferProps, SliderState>({\n displayName: 'SliderBuffer',\n tag: 'div',\n useContext: useSliderContext,\n});\n\nexport namespace SliderBuffer {\n export type Props = SliderBufferProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-buffer.js","names":[],"sources":["../../../../src/ui/slider/slider-buffer.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useSliderContext } from './context';\n\nexport interface SliderBufferProps extends UIComponentProps<'div', SliderState> {}\n\n/** Displays the buffered range on the slider track. */\nexport const SliderBuffer = createContextPart<SliderBufferProps, SliderState>({\n displayName: 'SliderBuffer',\n tag: 'div',\n useContext: useSliderContext,\n});\n\nexport namespace SliderBuffer {\n export type Props = SliderBufferProps;\n}\n"],"mappings":";;;;;AAWA,MAAa,eAAe,kBAAkD;CAC5E,aAAa;CACb,KAAK;CACL,YAAY;CACb,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createContextPart } from "../create-context-part.js";
|
|
4
3
|
import { useSliderContext } from "./context.js";
|
|
5
|
-
|
|
6
4
|
//#region src/ui/slider/slider-fill.tsx
|
|
7
5
|
/** Displays the filled portion from start to the current value. */
|
|
8
6
|
const SliderFill = createContextPart({
|
|
@@ -10,7 +8,7 @@ const SliderFill = createContextPart({
|
|
|
10
8
|
tag: "div",
|
|
11
9
|
useContext: useSliderContext
|
|
12
10
|
});
|
|
13
|
-
|
|
14
11
|
//#endregion
|
|
15
12
|
export { SliderFill };
|
|
13
|
+
|
|
16
14
|
//# sourceMappingURL=slider-fill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-fill.js","names":[],"sources":["../../../../src/ui/slider/slider-fill.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useSliderContext } from './context';\n\nexport interface SliderFillProps extends UIComponentProps<'div', SliderState> {}\n\n/** Displays the filled portion from start to the current value. */\nexport const SliderFill = createContextPart<SliderFillProps, SliderState>({\n displayName: 'SliderFill',\n tag: 'div',\n useContext: useSliderContext,\n});\n\nexport namespace SliderFill {\n export type Props = SliderFillProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-fill.js","names":[],"sources":["../../../../src/ui/slider/slider-fill.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useSliderContext } from './context';\n\nexport interface SliderFillProps extends UIComponentProps<'div', SliderState> {}\n\n/** Displays the filled portion from start to the current value. */\nexport const SliderFill = createContextPart<SliderFillProps, SliderState>({\n displayName: 'SliderFill',\n tag: 'div',\n useContext: useSliderContext,\n});\n\nexport namespace SliderFill {\n export type Props = SliderFillProps;\n}\n"],"mappings":";;;;;AAWA,MAAa,aAAa,kBAAgD;CACxE,aAAa;CACb,KAAK;CACL,YAAY;CACb,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
3
|
import { useSliderContext } from "./context.js";
|
|
5
4
|
import { getSliderPreviewStyle } from "@videojs/core/dom";
|
|
6
5
|
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
7
|
-
|
|
8
6
|
//#region src/ui/slider/slider-preview.tsx
|
|
9
7
|
/** Positioning container for preview content that tracks the pointer along the slider. */
|
|
10
8
|
const SliderPreview = forwardRef(function SliderPreview(componentProps, forwardedRef) {
|
|
@@ -34,7 +32,7 @@ const SliderPreview = forwardRef(function SliderPreview(componentProps, forwarde
|
|
|
34
32
|
props: [{ style: positionStyle }, elementProps]
|
|
35
33
|
});
|
|
36
34
|
});
|
|
37
|
-
|
|
38
35
|
//#endregion
|
|
39
36
|
export { SliderPreview };
|
|
37
|
+
|
|
40
38
|
//# sourceMappingURL=slider-preview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-preview.js","names":[],"sources":["../../../../src/ui/slider/slider-preview.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\nimport type { SliderPreviewOverflow } from '@videojs/core/dom';\nimport { getSliderPreviewStyle } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSliderContext } from './context';\n\nexport interface SliderPreviewProps extends UIComponentProps<'div', SliderState> {\n /** How the preview handles the slider boundaries. `'clamp'` keeps the preview within bounds, `'visible'` allows it to extend beyond the edges. */\n overflow?: SliderPreviewOverflow | undefined;\n}\n\n/** Positioning container for preview content that tracks the pointer along the slider. */\nexport const SliderPreview = forwardRef(function SliderPreview(\n componentProps: SliderPreviewProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, overflow = 'clamp', ...elementProps } = componentProps;\n\n const context = useSliderContext();\n const { state } = context;\n\n const measureRef = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const el = measureRef.current;\n if (!el) return;\n\n const observer = new ResizeObserver(([entry]) => {\n setWidth(entry!.contentRect.width);\n });\n\n observer.observe(el);\n return () => observer.disconnect();\n }, []);\n\n const positionStyle = getSliderPreviewStyle(width, overflow);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: context.stateAttrMap,\n ref: [forwardedRef, measureRef],\n props: [{ style: positionStyle }, elementProps],\n }\n );\n});\n\nexport namespace SliderPreview {\n export type Props = SliderPreviewProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-preview.js","names":[],"sources":["../../../../src/ui/slider/slider-preview.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\nimport type { SliderPreviewOverflow } from '@videojs/core/dom';\nimport { getSliderPreviewStyle } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSliderContext } from './context';\n\nexport interface SliderPreviewProps extends UIComponentProps<'div', SliderState> {\n /** How the preview handles the slider boundaries. `'clamp'` keeps the preview within bounds, `'visible'` allows it to extend beyond the edges. */\n overflow?: SliderPreviewOverflow | undefined;\n}\n\n/** Positioning container for preview content that tracks the pointer along the slider. */\nexport const SliderPreview = forwardRef(function SliderPreview(\n componentProps: SliderPreviewProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, overflow = 'clamp', ...elementProps } = componentProps;\n\n const context = useSliderContext();\n const { state } = context;\n\n const measureRef = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const el = measureRef.current;\n if (!el) return;\n\n const observer = new ResizeObserver(([entry]) => {\n setWidth(entry!.contentRect.width);\n });\n\n observer.observe(el);\n return () => observer.disconnect();\n }, []);\n\n const positionStyle = getSliderPreviewStyle(width, overflow);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: context.stateAttrMap,\n ref: [forwardedRef, measureRef],\n props: [{ style: positionStyle }, elementProps],\n }\n );\n});\n\nexport namespace SliderPreview {\n export type Props = SliderPreviewProps;\n}\n"],"mappings":";;;;;;;AAkBA,MAAa,gBAAgB,WAAW,SAAS,cAC/C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,WAAW,SAAS,GAAG,iBAAiB;CAE1E,MAAM,UAAU,kBAAkB;CAClC,MAAM,EAAE,UAAU;CAElB,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,OAAO,YAAY,SAAS,EAAE;AAErC,iBAAgB;EACd,MAAM,KAAK,WAAW;AACtB,MAAI,CAAC,GAAI;EAET,MAAM,WAAW,IAAI,gBAAgB,CAAC,WAAW;AAC/C,YAAS,MAAO,YAAY,MAAM;IAClC;AAEF,WAAS,QAAQ,GAAG;AACpB,eAAa,SAAS,YAAY;IACjC,EAAE,CAAC;CAEN,MAAM,gBAAgB,sBAAsB,OAAO,SAAS;AAE5D,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,cAAc,QAAQ;EACtB,KAAK,CAAC,cAAc,WAAW;EAC/B,OAAO,CAAC,EAAE,OAAO,eAAe,EAAE,aAAa;EAChD,CACF;EACD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
3
|
import { useSlider } from "../hooks/use-slider.js";
|
|
5
4
|
import { SliderProvider } from "./context.js";
|
|
@@ -7,7 +6,6 @@ import { getSliderCSSVars } from "@videojs/core/dom";
|
|
|
7
6
|
import { forwardRef, useState } from "react";
|
|
8
7
|
import { jsx } from "react/jsx-runtime";
|
|
9
8
|
import { SliderCore, SliderDataAttrs } from "@videojs/core";
|
|
10
|
-
|
|
11
9
|
//#region src/ui/slider/slider-root.tsx
|
|
12
10
|
const SliderRoot = forwardRef(function SliderRoot(componentProps, forwardedRef) {
|
|
13
11
|
const { render, className, style, label, min, max, step, largeStep, orientation, disabled, thumbAlignment, value = 0, onValueChange, onValueCommit, onDragStart, onDragEnd, ...elementProps } = componentProps;
|
|
@@ -68,7 +66,7 @@ const SliderRoot = forwardRef(function SliderRoot(componentProps, forwardedRef)
|
|
|
68
66
|
})
|
|
69
67
|
});
|
|
70
68
|
});
|
|
71
|
-
|
|
72
69
|
//#endregion
|
|
73
70
|
export { SliderRoot };
|
|
71
|
+
|
|
74
72
|
//# sourceMappingURL=slider-root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-root.js","names":[],"sources":["../../../../src/ui/slider/slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { SliderCore, SliderDataAttrs } from '@videojs/core';\nimport { getSliderCSSVars } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from './context';\n\nexport interface SliderRootProps extends UIComponentProps<'div', SliderCore.State>, SliderCore.Props {\n onValueChange?: ((value: number) => void) | undefined;\n onValueCommit?: ((value: number) => void) | undefined;\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const SliderRoot = forwardRef(function SliderRoot(\n componentProps: SliderRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const {\n render,\n className,\n style,\n label,\n min,\n max,\n step,\n largeStep,\n orientation,\n disabled,\n thumbAlignment,\n value = 0,\n onValueChange,\n onValueCommit,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const [core] = useState(() => new SliderCore());\n core.setProps({ label, min, max, step, largeStep, orientation, disabled, thumbAlignment });\n\n const {\n state,\n cssVars,\n rootRef,\n thumbRef: sliderThumbRef,\n rootProps,\n rootStyle,\n thumbProps,\n } = useSlider({\n computeState: (input) => {\n core.setInput(input);\n return core.getSliderState(value);\n },\n getPercent: () => core.percentFromValue(value),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: (percent) => onValueChange?.(core.valueFromPercent(percent)),\n onValueCommit: (percent) => onValueCommit?.(core.valueFromPercent(percent)),\n onDragStart,\n onDragEnd,\n });\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef: sliderThumbRef,\n thumbProps,\n stateAttrMap: SliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState),\n formatValue: undefined,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n});\n\nexport namespace SliderRoot {\n export type Props = SliderRootProps;\n export type State = SliderCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-root.js","names":[],"sources":["../../../../src/ui/slider/slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { SliderCore, SliderDataAttrs } from '@videojs/core';\nimport { getSliderCSSVars } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from './context';\n\nexport interface SliderRootProps extends UIComponentProps<'div', SliderCore.State>, SliderCore.Props {\n onValueChange?: ((value: number) => void) | undefined;\n onValueCommit?: ((value: number) => void) | undefined;\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const SliderRoot = forwardRef(function SliderRoot(\n componentProps: SliderRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const {\n render,\n className,\n style,\n label,\n min,\n max,\n step,\n largeStep,\n orientation,\n disabled,\n thumbAlignment,\n value = 0,\n onValueChange,\n onValueCommit,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const [core] = useState(() => new SliderCore());\n core.setProps({ label, min, max, step, largeStep, orientation, disabled, thumbAlignment });\n\n const {\n state,\n cssVars,\n rootRef,\n thumbRef: sliderThumbRef,\n rootProps,\n rootStyle,\n thumbProps,\n } = useSlider({\n computeState: (input) => {\n core.setInput(input);\n return core.getSliderState(value);\n },\n getPercent: () => core.percentFromValue(value),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: (percent) => onValueChange?.(core.valueFromPercent(percent)),\n onValueCommit: (percent) => onValueCommit?.(core.valueFromPercent(percent)),\n onDragStart,\n onDragEnd,\n });\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef: sliderThumbRef,\n thumbProps,\n stateAttrMap: SliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState),\n formatValue: undefined,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n});\n\nexport namespace SliderRoot {\n export type Props = SliderRootProps;\n export type State = SliderCore.State;\n}\n"],"mappings":";;;;;;;;;AAmBA,MAAa,aAAa,WAAW,SAAS,WAC5C,gBACA,cACA;CACA,MAAM,EACJ,QACA,WACA,OACA,OACA,KACA,KACA,MACA,WACA,aACA,UACA,gBACA,QAAQ,GACR,eACA,eACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,CAAC;AAC/C,MAAK,SAAS;EAAE;EAAO;EAAK;EAAK;EAAM;EAAW;EAAa;EAAU;EAAgB,CAAC;CAE1F,MAAM,EACJ,OACA,SACA,SACA,UAAU,gBACV,WACA,WACA,eACE,UAAU;EACZ,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,UAAO,KAAK,eAAe,MAAM;;EAEnC,kBAAkB,KAAK,iBAAiB,MAAM;EAC9C,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY,gBAAgB,KAAK,iBAAiB,QAAQ,CAAC;EAC3E,gBAAgB,YAAY,gBAAgB,KAAK,iBAAiB,QAAQ,CAAC;EAC3E;EACA;EACD,CAAC;AAEF,QACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD,UAAU;GACV;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAY;GACrD,aAAa,KAAA;GACd;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;KAAW,EAAE;IAAE;IAAW;IAAa;GAC1E,CACF;EACc,CAAA;EAEnB"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
3
|
import { useSliderContext } from "./context.js";
|
|
5
4
|
import { forwardRef } from "react";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/slider/slider-thumb.tsx
|
|
8
6
|
/** Draggable handle for setting the slider value. Receives focus and handles keyboard interaction. */
|
|
9
7
|
const SliderThumb = forwardRef(function SliderThumb(componentProps, forwardedRef) {
|
|
@@ -26,7 +24,7 @@ const SliderThumb = forwardRef(function SliderThumb(componentProps, forwardedRef
|
|
|
26
24
|
]
|
|
27
25
|
});
|
|
28
26
|
});
|
|
29
|
-
|
|
30
27
|
//#endregion
|
|
31
28
|
export { SliderThumb };
|
|
29
|
+
|
|
32
30
|
//# sourceMappingURL=slider-thumb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-thumb.js","names":[],"sources":["../../../../src/ui/slider/slider-thumb.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSliderContext } from './context';\n\nexport interface SliderThumbProps extends UIComponentProps<'div', SliderState> {}\n\n/** Draggable handle for setting the slider value. Receives focus and handles keyboard interaction. */\nexport const SliderThumb = forwardRef(function SliderThumb(\n componentProps: SliderThumbProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n\n const context = useSliderContext();\n const { state, thumbRef, thumbProps, getAttrs } = context;\n const attrs = getAttrs(state);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: context.stateAttrMap,\n ref: [forwardedRef, thumbRef],\n props: [attrs, thumbProps, elementProps],\n }\n );\n});\n\nexport namespace SliderThumb {\n export type Props = SliderThumbProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-thumb.js","names":[],"sources":["../../../../src/ui/slider/slider-thumb.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSliderContext } from './context';\n\nexport interface SliderThumbProps extends UIComponentProps<'div', SliderState> {}\n\n/** Draggable handle for setting the slider value. Receives focus and handles keyboard interaction. */\nexport const SliderThumb = forwardRef(function SliderThumb(\n componentProps: SliderThumbProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n\n const context = useSliderContext();\n const { state, thumbRef, thumbProps, getAttrs } = context;\n const attrs = getAttrs(state);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: context.stateAttrMap,\n ref: [forwardedRef, thumbRef],\n props: [attrs, thumbProps, elementProps],\n }\n );\n});\n\nexport namespace SliderThumb {\n export type Props = SliderThumbProps;\n}\n"],"mappings":";;;;;;AAaA,MAAa,cAAc,WAAW,SAAS,YAC7C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CAEtD,MAAM,UAAU,kBAAkB;CAClC,MAAM,EAAE,OAAO,UAAU,YAAY,aAAa;CAClD,MAAM,QAAQ,SAAS,MAAM;AAE7B,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,cAAc,QAAQ;EACtB,KAAK,CAAC,cAAc,SAAS;EAC7B,OAAO;GAAC;GAAO;GAAY;GAAa;EACzC,CACF;EACD"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { useSliderContext } from "./context.js";
|
|
4
3
|
import { Thumbnail } from "../thumbnail/thumbnail.js";
|
|
5
4
|
import { forwardRef } from "react";
|
|
6
5
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
8
6
|
//#region src/ui/slider/slider-thumbnail.tsx
|
|
9
7
|
const SliderThumbnail = forwardRef(function SliderThumbnail(componentProps, forwardedRef) {
|
|
10
8
|
const { pointerValue } = useSliderContext();
|
|
@@ -14,7 +12,7 @@ const SliderThumbnail = forwardRef(function SliderThumbnail(componentProps, forw
|
|
|
14
12
|
time: pointerValue
|
|
15
13
|
});
|
|
16
14
|
});
|
|
17
|
-
|
|
18
15
|
//#endregion
|
|
19
16
|
export { SliderThumbnail };
|
|
17
|
+
|
|
20
18
|
//# sourceMappingURL=slider-thumbnail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-thumbnail.js","names":[],"sources":["../../../../src/ui/slider/slider-thumbnail.tsx"],"sourcesContent":["'use client';\n\nimport type { ThumbnailCore } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport { Thumbnail, type ThumbnailProps } from '../thumbnail/thumbnail';\nimport { useSliderContext } from './context';\n\nexport interface SliderThumbnailProps extends Omit<ThumbnailProps, 'time'> {}\n\nexport const SliderThumbnail = forwardRef<HTMLDivElement, SliderThumbnailProps>(\n function SliderThumbnail(componentProps, forwardedRef) {\n const { pointerValue } = useSliderContext();\n return <Thumbnail ref={forwardedRef} {...componentProps} time={pointerValue} />;\n }\n);\n\nexport namespace SliderThumbnail {\n export type Props = SliderThumbnailProps;\n export type State = ThumbnailCore.State;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-thumbnail.js","names":[],"sources":["../../../../src/ui/slider/slider-thumbnail.tsx"],"sourcesContent":["'use client';\n\nimport type { ThumbnailCore } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport { Thumbnail, type ThumbnailProps } from '../thumbnail/thumbnail';\nimport { useSliderContext } from './context';\n\nexport interface SliderThumbnailProps extends Omit<ThumbnailProps, 'time'> {}\n\nexport const SliderThumbnail = forwardRef<HTMLDivElement, SliderThumbnailProps>(\n function SliderThumbnail(componentProps, forwardedRef) {\n const { pointerValue } = useSliderContext();\n return <Thumbnail ref={forwardedRef} {...componentProps} time={pointerValue} />;\n }\n);\n\nexport namespace SliderThumbnail {\n export type Props = SliderThumbnailProps;\n export type State = ThumbnailCore.State;\n}\n"],"mappings":";;;;;;AAUA,MAAa,kBAAkB,WAC7B,SAAS,gBAAgB,gBAAgB,cAAc;CACrD,MAAM,EAAE,iBAAiB,kBAAkB;AAC3C,QAAO,oBAAC,WAAD;EAAW,KAAK;EAAc,GAAI;EAAgB,MAAM;EAAgB,CAAA;EAElF"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { createContextPart } from "../create-context-part.js";
|
|
4
3
|
import { useSliderContext } from "./context.js";
|
|
5
|
-
|
|
6
4
|
//#region src/ui/slider/slider-track.tsx
|
|
7
5
|
/** Contains the slider's visual track and interactive hit zone. */
|
|
8
6
|
const SliderTrack = createContextPart({
|
|
@@ -10,7 +8,7 @@ const SliderTrack = createContextPart({
|
|
|
10
8
|
tag: "div",
|
|
11
9
|
useContext: useSliderContext
|
|
12
10
|
});
|
|
13
|
-
|
|
14
11
|
//#endregion
|
|
15
12
|
export { SliderTrack };
|
|
13
|
+
|
|
16
14
|
//# sourceMappingURL=slider-track.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-track.js","names":[],"sources":["../../../../src/ui/slider/slider-track.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useSliderContext } from './context';\n\nexport interface SliderTrackProps extends UIComponentProps<'div', SliderState> {}\n\n/** Contains the slider's visual track and interactive hit zone. */\nexport const SliderTrack = createContextPart<SliderTrackProps, SliderState>({\n displayName: 'SliderTrack',\n tag: 'div',\n useContext: useSliderContext,\n});\n\nexport namespace SliderTrack {\n export type Props = SliderTrackProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-track.js","names":[],"sources":["../../../../src/ui/slider/slider-track.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useSliderContext } from './context';\n\nexport interface SliderTrackProps extends UIComponentProps<'div', SliderState> {}\n\n/** Contains the slider's visual track and interactive hit zone. */\nexport const SliderTrack = createContextPart<SliderTrackProps, SliderState>({\n displayName: 'SliderTrack',\n tag: 'div',\n useContext: useSliderContext,\n});\n\nexport namespace SliderTrack {\n export type Props = SliderTrackProps;\n}\n"],"mappings":";;;;;AAWA,MAAa,cAAc,kBAAiD;CAC1E,aAAa;CACb,KAAK;CACL,YAAY;CACb,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
3
|
import { useSliderContext } from "./context.js";
|
|
5
4
|
import { forwardRef } from "react";
|
|
6
|
-
|
|
7
5
|
//#region src/ui/slider/slider-value.tsx
|
|
8
6
|
/** Displays a formatted text representation of the slider value. Renders an `<output>` element. */
|
|
9
7
|
const SliderValue = forwardRef(function SliderValue(componentProps, forwardedRef) {
|
|
@@ -26,7 +24,7 @@ const SliderValue = forwardRef(function SliderValue(componentProps, forwardedRef
|
|
|
26
24
|
}, elementProps]
|
|
27
25
|
});
|
|
28
26
|
});
|
|
29
|
-
|
|
30
27
|
//#endregion
|
|
31
28
|
export { SliderValue };
|
|
29
|
+
|
|
32
30
|
//# sourceMappingURL=slider-value.js.map
|