@videojs/react 10.0.0-beta.26 → 10.0.0-beta.27
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/__generated__/skins/default-video/styles/base.css +25 -0
- package/dist/default/__generated__/skins/default-video/styles/buttons.css +152 -0
- package/dist/default/__generated__/skins/default-video/styles/container.css +45 -0
- package/dist/default/__generated__/skins/default-video/styles/controls.css +45 -0
- package/dist/default/__generated__/skins/default-video/styles/overlays.css +11 -0
- package/dist/default/__generated__/skins/default-video/styles/popups.css +45 -0
- package/dist/default/__generated__/skins/default-video/styles/poster.css +47 -0
- package/dist/default/__generated__/skins/default-video/styles/sliders.css +112 -0
- package/dist/default/__generated__/skins/default-video/styles/styles.css +514 -0
- package/dist/default/__generated__/skins/default-video/styles/theme.css +22 -0
- package/dist/default/i18n/context.js +3 -3
- package/dist/default/i18n/context.js.map +1 -1
- package/dist/default/i18n/locales/id/register.js +8 -0
- package/dist/default/i18n/locales/id/register.js.map +1 -0
- package/dist/default/i18n/locales/id.js +2 -0
- package/dist/default/i18n/locales/lt/register.js +8 -0
- package/dist/default/i18n/locales/lt/register.js.map +1 -0
- package/dist/default/i18n/locales/lt.js +2 -0
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/airplay-exit.js +1 -2
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-enter.js +2 -45
- package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-exit.js +4 -61
- package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/check.js.map +1 -1
- package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/gear.js.map +1 -1
- package/dist/default/icons/dist/react/default/pause.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/play.js.map +1 -1
- package/dist/default/icons/dist/react/default/quality.js +1 -1
- package/dist/default/icons/dist/react/default/quality.js.map +1 -1
- package/dist/default/icons/dist/react/default/restart.js.map +1 -1
- package/dist/default/icons/dist/react/default/seek.js.map +1 -1
- package/dist/default/icons/dist/react/default/speech.js.map +1 -1
- package/dist/default/icons/dist/react/default/speed.js.map +1 -1
- package/dist/default/icons/dist/react/default/spinner.js +1 -1
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/switches.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +1 -2
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js +2 -45
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-exit.js +4 -61
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/quality.js +1 -1
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speech.js +7 -40
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/spinner.js +1 -1
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/default/index.js +7 -3
- package/dist/default/media/cloudflare-video/index.js +2 -0
- package/dist/default/media/cloudflare-video/media.js +38 -0
- package/dist/default/media/cloudflare-video/media.js.map +1 -0
- package/dist/default/media/google-cast/google-cast.js +3 -3
- package/dist/default/media/google-cast/google-cast.js.map +1 -1
- package/dist/default/media/hls-audio/index.js +2 -0
- package/dist/default/media/hls-audio/media.js +21 -0
- package/dist/default/media/hls-audio/media.js.map +1 -0
- package/dist/default/media/hls-background-video/index.js +2 -0
- package/dist/default/media/hls-background-video/media.js +45 -0
- package/dist/default/media/hls-background-video/media.js.map +1 -0
- package/dist/default/media/hls-video/index.js +2 -0
- package/dist/{dev/media/simple-hls-video → default/media/hls-video}/media.js +6 -7
- package/dist/default/media/hls-video/media.js.map +1 -0
- package/dist/default/media/mux-audio/{media.js → hls-js.js} +2 -2
- package/dist/default/media/mux-audio/hls-js.js.map +1 -0
- package/dist/default/media/mux-audio/index.js +1 -1
- package/dist/default/media/mux-audio/spf.js +26 -0
- package/dist/default/media/mux-audio/spf.js.map +1 -0
- package/dist/default/media/mux-background-video/index.js +2 -0
- package/dist/default/media/mux-data/mux-data.js +7 -3
- package/dist/default/media/mux-data/mux-data.js.map +1 -1
- package/dist/default/media/mux-video/hls-js.js +27 -0
- package/dist/default/media/mux-video/hls-js.js.map +1 -0
- package/dist/default/media/mux-video/index.js +1 -1
- package/dist/default/media/mux-video/spf.js +27 -0
- package/dist/default/media/mux-video/spf.js.map +1 -0
- package/dist/default/media/mux-video/storyboard.js +43 -0
- package/dist/default/media/mux-video/storyboard.js.map +1 -0
- package/dist/default/media/spotify-audio/index.js +2 -0
- package/dist/default/media/spotify-audio/media.js +40 -0
- package/dist/default/media/spotify-audio/media.js.map +1 -0
- package/dist/default/media/tiktok-video/index.js +2 -0
- package/dist/default/media/tiktok-video/media.js +38 -0
- package/dist/default/media/tiktok-video/media.js.map +1 -0
- package/dist/default/media/twitch-video/index.js +2 -0
- package/dist/default/media/twitch-video/media.js +38 -0
- package/dist/default/media/twitch-video/media.js.map +1 -0
- package/dist/default/media/vimeo-video/media.js +4 -4
- package/dist/default/media/vimeo-video/media.js.map +1 -1
- package/dist/default/media/youtube-video/index.js +2 -0
- package/dist/default/media/youtube-video/media.js +37 -0
- package/dist/default/media/youtube-video/media.js.map +1 -0
- package/dist/default/player/container.js +8 -3
- package/dist/default/player/container.js.map +1 -1
- package/dist/default/player/context.js +6 -10
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +44 -13
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/player/popup-group-context.js +18 -0
- package/dist/default/player/popup-group-context.js.map +1 -0
- package/dist/default/presets/audio/index.js +8 -1
- package/dist/default/presets/audio/index.js.map +1 -0
- package/dist/default/presets/audio/minimal-skin.css +426 -295
- package/dist/default/presets/audio/minimal-skin.js +12 -19
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +81 -20
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/player.js +13 -0
- package/dist/default/presets/audio/player.js.map +1 -0
- package/dist/default/presets/audio/skin.css +458 -341
- package/dist/default/presets/audio/skin.js +13 -19
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +14 -19
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/background/index.js +8 -1
- package/dist/default/presets/background/index.js.map +1 -0
- package/dist/default/presets/background/player.js +13 -0
- package/dist/default/presets/background/player.js.map +1 -0
- package/dist/default/presets/background/skin.css +3 -3
- package/dist/default/presets/live-audio/index.js +8 -1
- package/dist/default/presets/live-audio/index.js.map +1 -0
- package/dist/default/presets/live-audio/minimal-skin.css +426 -295
- package/dist/default/presets/live-audio/minimal-skin.js +2 -2
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +4 -4
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/player.js +13 -0
- package/dist/default/presets/live-audio/player.js.map +1 -0
- package/dist/default/presets/live-audio/skin.css +458 -341
- package/dist/default/presets/live-audio/skin.js +2 -2
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +4 -4
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/index.js +8 -1
- package/dist/default/presets/live-video/index.js.map +1 -0
- package/dist/default/presets/live-video/minimal-skin.css +655 -588
- package/dist/default/presets/live-video/minimal-skin.js +12 -12
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +27 -26
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/player.js +13 -0
- package/dist/default/presets/live-video/player.js.map +1 -0
- package/dist/default/presets/live-video/skin.css +656 -618
- package/dist/default/presets/live-video/skin.js +11 -11
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +24 -112
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/index.js +8 -1
- package/dist/default/presets/video/index.js.map +1 -0
- package/dist/default/presets/video/minimal-skin.css +655 -588
- package/dist/default/presets/video/minimal-skin.js +212 -211
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +226 -233
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/player.js +13 -0
- package/dist/default/presets/video/player.js.map +1 -0
- package/dist/default/presets/video/skin.css +656 -618
- package/dist/default/presets/video/skin.js +212 -207
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +224 -227
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
- 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.js +4 -4
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/container.js +8 -0
- package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
- 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 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -12
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +1 -1
- 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 +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +17 -9
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
- package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
- package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
- 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 +6 -6
- 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.js +4 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +8 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +1 -1
- 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 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +22 -20
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js +8 -23
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
- package/dist/default/ui/audio-track-radio-group/index.js +2 -0
- package/dist/default/ui/captions-radio-group/captions-radio-group.js +65 -0
- package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -0
- package/dist/default/ui/captions-radio-group/index.js +2 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js +12 -29
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/default/ui/hooks/create-radio-options-hook.js +43 -0
- package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -0
- package/dist/default/ui/hooks/use-slider.js +49 -13
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/{dev/ui/input-indicators → default/ui/input-indicator}/use-indicator-visibility.js +1 -1
- package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -0
- package/dist/default/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
- package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +1 -0
- package/dist/default/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -0
- package/dist/default/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
- package/dist/default/ui/menu/context.js +1 -11
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +3 -9
- package/dist/default/ui/menu/index.parts.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js +4 -1
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +78 -236
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-item.js +11 -18
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-keyboard.js +31 -0
- package/dist/default/ui/menu/menu-keyboard.js.map +1 -0
- package/dist/default/ui/menu/menu-radio-item.js +8 -6
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +46 -61
- package/dist/default/ui/menu/menu-root.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +50 -87
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/mute-button/mute-button.js +2 -1
- package/dist/default/ui/mute-button/mute-button.js.map +1 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +14 -22
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/default/ui/playback-rate-radio-group/index.js +2 -0
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
- package/dist/default/ui/popover/popover-popup.js +10 -80
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +2 -1
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/popover-trigger.js +4 -5
- package/dist/default/ui/popover/popover-trigger.js.map +1 -1
- package/dist/default/ui/popover/use-popup-position.js +34 -0
- package/dist/default/ui/popover/use-popup-position.js.map +1 -0
- package/dist/default/ui/poster/poster.js +8 -4
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/use-quality-options.js +9 -30
- package/dist/default/ui/quality/use-quality-options.js.map +1 -1
- package/dist/default/ui/quality-radio-group/index.js +2 -0
- package/dist/default/ui/quality-radio-group/quality-radio-group.js +66 -0
- package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -0
- package/dist/default/ui/seek-indicator/seek-indicator-root.js +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/default/ui/slider/context.js +7 -2
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/slider-preview.js +2 -3
- package/dist/default/ui/slider/slider-preview.js.map +1 -1
- package/dist/default/ui/slider/slider-root.js +3 -1
- package/dist/default/ui/slider/slider-root.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail.js +2 -2
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/default/ui/slider/slider-value.js +3 -2
- package/dist/default/ui/slider/slider-value.js.map +1 -1
- package/dist/default/ui/status-announcer/status-announcer.js +7 -4
- package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js +2 -2
- package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/default/ui/time/time-value.js +13 -5
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/index.parts.js +5 -1
- package/dist/default/ui/time-slider/index.parts.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
- package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
- package/dist/default/ui/time-slider/time-slider-root.js +6 -4
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-popup.js +13 -82
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +5 -1
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
- package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/default/ui/volume-slider/volume-slider-root.js +10 -4
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/__generated__/skins/default-video/styles/base.css +25 -0
- package/dist/dev/__generated__/skins/default-video/styles/buttons.css +152 -0
- package/dist/dev/__generated__/skins/default-video/styles/container.css +45 -0
- package/dist/dev/__generated__/skins/default-video/styles/controls.css +45 -0
- package/dist/dev/__generated__/skins/default-video/styles/overlays.css +11 -0
- package/dist/dev/__generated__/skins/default-video/styles/popups.css +45 -0
- package/dist/dev/__generated__/skins/default-video/styles/poster.css +47 -0
- package/dist/dev/__generated__/skins/default-video/styles/sliders.css +112 -0
- package/dist/dev/__generated__/skins/default-video/styles/styles.css +514 -0
- package/dist/dev/__generated__/skins/default-video/styles/theme.css +22 -0
- package/dist/dev/_virtual/_rolldown/runtime.js +15 -1
- package/dist/dev/i18n/context.d.ts.map +1 -1
- package/dist/dev/i18n/context.js +3 -3
- package/dist/dev/i18n/context.js.map +1 -1
- package/dist/dev/i18n/locales/id/register.d.ts +1 -0
- package/dist/dev/i18n/locales/id/register.js +8 -0
- package/dist/dev/i18n/locales/id/register.js.map +1 -0
- package/dist/dev/i18n/locales/id.d.ts +2 -0
- package/dist/dev/i18n/locales/id.js +2 -0
- package/dist/dev/i18n/locales/lt/register.d.ts +1 -0
- package/dist/dev/i18n/locales/lt/register.js +8 -0
- package/dist/dev/i18n/locales/lt/register.js.map +1 -0
- package/dist/dev/i18n/locales/lt.d.ts +2 -0
- package/dist/dev/i18n/locales/lt.js +2 -0
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-exit.js +1 -2
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-enter.js +2 -45
- package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-exit.js +4 -61
- package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/check.js.map +1 -1
- package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/play.js.map +1 -1
- package/dist/dev/icons/dist/react/default/quality.js +1 -1
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/default/spinner.js +1 -1
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +1 -2
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-enter.js +2 -45
- package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-exit.js +4 -61
- package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speech.js +7 -40
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/spinner.js +1 -1
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/dev/index.d.ts +18 -2
- package/dist/dev/index.d.ts.map +1 -0
- package/dist/dev/index.js +7 -3
- package/dist/dev/media/cloudflare-video/index.d.ts +2 -0
- package/dist/dev/media/cloudflare-video/index.js +2 -0
- package/dist/dev/media/cloudflare-video/media.d.ts +13 -0
- package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -0
- package/dist/dev/media/cloudflare-video/media.js +38 -0
- package/dist/dev/media/cloudflare-video/media.js.map +1 -0
- package/dist/dev/media/google-cast/google-cast.d.ts +3 -3
- package/dist/dev/media/google-cast/google-cast.js +3 -3
- package/dist/dev/media/google-cast/google-cast.js.map +1 -1
- package/dist/dev/media/hls-audio/index.d.ts +2 -0
- package/dist/dev/media/hls-audio/index.js +2 -0
- package/dist/dev/media/hls-audio/media.d.ts +13 -0
- package/dist/dev/media/hls-audio/media.d.ts.map +1 -0
- package/dist/dev/media/hls-audio/media.js +21 -0
- package/dist/dev/media/hls-audio/media.js.map +1 -0
- package/dist/dev/media/hls-background-video/index.d.ts +2 -0
- package/dist/dev/media/hls-background-video/index.js +2 -0
- package/dist/dev/media/hls-background-video/media.d.ts +28 -0
- package/dist/dev/media/hls-background-video/media.d.ts.map +1 -0
- package/dist/dev/media/hls-background-video/media.js +45 -0
- package/dist/dev/media/hls-background-video/media.js.map +1 -0
- package/dist/dev/media/hls-video/index.d.ts +2 -0
- package/dist/dev/media/hls-video/index.js +2 -0
- package/dist/dev/media/hls-video/media.d.ts +13 -0
- package/dist/dev/media/hls-video/media.d.ts.map +1 -0
- package/dist/{default/media/simple-hls-video → dev/media/hls-video}/media.js +6 -7
- package/dist/dev/media/hls-video/media.js.map +1 -0
- package/dist/dev/media/mux-audio/{media.d.ts → hls-js.d.ts} +3 -3
- package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -0
- package/dist/dev/media/mux-audio/{media.js → hls-js.js} +2 -2
- package/dist/dev/media/mux-audio/hls-js.js.map +1 -0
- package/dist/dev/media/mux-audio/index.d.ts +1 -1
- package/dist/dev/media/mux-audio/index.js +1 -1
- package/dist/dev/media/mux-audio/spf.d.ts +14 -0
- package/dist/dev/media/mux-audio/spf.d.ts.map +1 -0
- package/dist/dev/media/mux-audio/spf.js +26 -0
- package/dist/dev/media/mux-audio/spf.js.map +1 -0
- package/dist/dev/media/mux-background-video/index.d.ts +3 -0
- package/dist/dev/media/mux-background-video/index.js +2 -0
- package/dist/dev/media/mux-data/mux-data.d.ts +7 -3
- package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
- package/dist/dev/media/mux-data/mux-data.js +7 -3
- package/dist/dev/media/mux-data/mux-data.js.map +1 -1
- package/dist/dev/media/mux-video/{media.d.ts → hls-js.d.ts} +3 -3
- package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -0
- package/dist/dev/media/mux-video/hls-js.js +27 -0
- package/dist/dev/media/mux-video/hls-js.js.map +1 -0
- package/dist/dev/media/mux-video/index.d.ts +1 -1
- package/dist/dev/media/mux-video/index.js +1 -1
- package/dist/dev/media/mux-video/spf.d.ts +14 -0
- package/dist/dev/media/mux-video/spf.d.ts.map +1 -0
- package/dist/dev/media/mux-video/spf.js +27 -0
- package/dist/dev/media/mux-video/spf.js.map +1 -0
- package/dist/dev/media/mux-video/storyboard.js +43 -0
- package/dist/dev/media/mux-video/storyboard.js.map +1 -0
- package/dist/dev/media/spotify-audio/index.d.ts +2 -0
- package/dist/dev/media/spotify-audio/index.js +2 -0
- package/dist/dev/media/spotify-audio/media.d.ts +13 -0
- package/dist/dev/media/spotify-audio/media.d.ts.map +1 -0
- package/dist/dev/media/spotify-audio/media.js +40 -0
- package/dist/dev/media/spotify-audio/media.js.map +1 -0
- package/dist/dev/media/tiktok-video/index.d.ts +2 -0
- package/dist/dev/media/tiktok-video/index.js +2 -0
- package/dist/dev/media/tiktok-video/media.d.ts +13 -0
- package/dist/dev/media/tiktok-video/media.d.ts.map +1 -0
- package/dist/dev/media/tiktok-video/media.js +38 -0
- package/dist/dev/media/tiktok-video/media.js.map +1 -0
- package/dist/dev/media/twitch-video/index.d.ts +2 -0
- package/dist/dev/media/twitch-video/index.js +2 -0
- package/dist/dev/media/twitch-video/media.d.ts +13 -0
- package/dist/dev/media/twitch-video/media.d.ts.map +1 -0
- package/dist/dev/media/twitch-video/media.js +38 -0
- package/dist/dev/media/twitch-video/media.js.map +1 -0
- package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
- package/dist/dev/media/vimeo-video/media.js +4 -4
- package/dist/dev/media/vimeo-video/media.js.map +1 -1
- package/dist/dev/media/youtube-video/index.d.ts +2 -0
- package/dist/dev/media/youtube-video/index.js +2 -0
- package/dist/dev/media/youtube-video/media.d.ts +13 -0
- package/dist/dev/media/youtube-video/media.d.ts.map +1 -0
- package/dist/dev/media/youtube-video/media.js +37 -0
- package/dist/dev/media/youtube-video/media.js.map +1 -0
- package/dist/dev/player/container.d.ts.map +1 -1
- package/dist/dev/player/container.js +8 -3
- package/dist/dev/player/container.js.map +1 -1
- package/dist/dev/player/context.d.ts +7 -8
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +6 -10
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts +6 -8
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +45 -14
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/player/popup-group-context.js +18 -0
- package/dist/dev/player/popup-group-context.js.map +1 -0
- package/dist/dev/presets/audio/index.d.ts +2 -1
- package/dist/dev/presets/audio/index.js +8 -1
- package/dist/dev/presets/audio/index.js.map +1 -0
- package/dist/dev/presets/audio/minimal-skin.css +426 -295
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +12 -19
- 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 +81 -20
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/player.d.ts +13 -0
- package/dist/dev/presets/audio/player.d.ts.map +1 -0
- package/dist/dev/presets/audio/player.js +13 -0
- package/dist/dev/presets/audio/player.js.map +1 -0
- package/dist/dev/presets/audio/skin.css +458 -341
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +13 -19
- 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 +14 -19
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/background/index.d.ts +2 -1
- package/dist/dev/presets/background/index.js +8 -1
- package/dist/dev/presets/background/index.js.map +1 -0
- package/dist/dev/presets/background/player.d.ts +10 -0
- package/dist/dev/presets/background/player.d.ts.map +1 -0
- package/dist/dev/presets/background/player.js +13 -0
- package/dist/dev/presets/background/player.js.map +1 -0
- package/dist/dev/presets/background/skin.css +3 -3
- package/dist/dev/presets/live-audio/index.d.ts +2 -1
- package/dist/dev/presets/live-audio/index.js +8 -1
- package/dist/dev/presets/live-audio/index.js.map +1 -0
- package/dist/dev/presets/live-audio/minimal-skin.css +426 -295
- package/dist/dev/presets/live-audio/minimal-skin.js +2 -2
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +4 -4
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/player.d.ts +13 -0
- package/dist/dev/presets/live-audio/player.d.ts.map +1 -0
- package/dist/dev/presets/live-audio/player.js +13 -0
- package/dist/dev/presets/live-audio/player.js.map +1 -0
- package/dist/dev/presets/live-audio/skin.css +458 -341
- package/dist/dev/presets/live-audio/skin.js +2 -2
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.js +4 -4
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/index.d.ts +2 -1
- package/dist/dev/presets/live-video/index.js +8 -1
- package/dist/dev/presets/live-video/index.js.map +1 -0
- package/dist/dev/presets/live-video/minimal-skin.css +655 -588
- package/dist/dev/presets/live-video/minimal-skin.js +12 -12
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js +27 -26
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/player.d.ts +13 -0
- package/dist/dev/presets/live-video/player.d.ts.map +1 -0
- package/dist/dev/presets/live-video/player.js +13 -0
- package/dist/dev/presets/live-video/player.js.map +1 -0
- package/dist/dev/presets/live-video/skin.css +656 -618
- package/dist/dev/presets/live-video/skin.js +11 -11
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +24 -112
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/index.d.ts +2 -1
- package/dist/dev/presets/video/index.js +8 -1
- package/dist/dev/presets/video/index.js.map +1 -0
- package/dist/dev/presets/video/minimal-skin.css +655 -588
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +212 -211
- 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 +226 -233
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/player.d.ts +13 -0
- package/dist/dev/presets/video/player.d.ts.map +1 -0
- package/dist/dev/presets/video/player.js +13 -0
- package/dist/dev/presets/video/player.js.map +1 -0
- package/dist/dev/presets/video/skin.css +656 -618
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +212 -207
- 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 +224 -227
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
- 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.js +4 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/container.js +8 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
- 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 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +8 -12
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +1 -1
- 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 +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +17 -9
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
- 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 +6 -6
- 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.js +4 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +8 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +1 -1
- 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 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +22 -20
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +6 -6
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.js +9 -27
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +43 -0
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -0
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
- package/dist/dev/ui/audio-track-radio-group/index.d.ts +2 -0
- package/dist/dev/ui/audio-track-radio-group/index.js +2 -0
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +43 -0
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -0
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js +65 -0
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -0
- package/dist/dev/ui/captions-radio-group/index.d.ts +2 -1
- package/dist/dev/ui/captions-radio-group/index.js +2 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +6 -6
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +13 -33
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.d.ts +11 -0
- package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +1 -0
- package/dist/dev/ui/hooks/create-radio-options-hook.js +46 -0
- package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -0
- package/dist/dev/ui/hooks/use-slider.d.ts +2 -1
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js +49 -13
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/{default/ui/input-indicators → dev/ui/input-indicator}/use-indicator-visibility.js +1 -1
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -0
- package/dist/dev/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
- package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -0
- package/dist/dev/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -0
- package/dist/dev/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
- package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
- package/dist/dev/ui/menu/context.d.ts +1 -10
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js +1 -11
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/index.parts.d.ts +3 -6
- package/dist/dev/ui/menu/index.parts.js +3 -9
- package/dist/dev/ui/menu/index.parts.js.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js +4 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +78 -236
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- package/dist/dev/ui/menu/menu-item.d.ts +0 -3
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +11 -18
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-keyboard.js +31 -0
- package/dist/dev/ui/menu/menu-keyboard.js.map +1 -0
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js +8 -6
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +46 -61
- package/dist/dev/ui/menu/menu-root.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +5 -5
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +50 -87
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.js +2 -1
- package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +6 -7
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +15 -26
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/index.d.ts +2 -0
- package/dist/dev/ui/playback-rate-radio-group/index.js +2 -0
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +43 -0
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -0
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +10 -80
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +2 -1
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.js +4 -5
- package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
- package/dist/dev/ui/popover/use-popup-position.js +34 -0
- package/dist/dev/ui/popover/use-popup-position.js.map +1 -0
- package/dist/dev/ui/poster/poster.js +8 -4
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts +6 -8
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.js +10 -34
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/index.d.ts +2 -0
- package/dist/dev/ui/quality-radio-group/index.js +2 -0
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +44 -0
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -0
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js +66 -0
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -0
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/dev/ui/slider/context.js +7 -2
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-preview.js +2 -3
- package/dist/dev/ui/slider/slider-preview.js.map +1 -1
- package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-root.js +3 -1
- package/dist/dev/ui/slider/slider-root.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.js +2 -2
- package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-value.js +3 -2
- package/dist/dev/ui/slider/slider-value.js.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.js +7 -4
- package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -2
- package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +13 -5
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/index.parts.d.ts +4 -2
- package/dist/dev/ui/time-slider/index.parts.js +5 -1
- package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts +19 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts +22 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.js +6 -4
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +13 -82
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +5 -1
- 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 +2 -4
- package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js +10 -4
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/cast.md +6 -6
- package/docs/concepts/features.md +9 -6
- package/docs/concepts/i18n.md +16 -26
- package/docs/concepts/media-sources.md +383 -0
- package/docs/concepts/mux-data.md +9 -7
- package/docs/concepts/overview.md +15 -18
- package/docs/concepts/presets.md +18 -19
- package/docs/concepts/skins.md +864 -859
- package/docs/concepts/ui-components.md +3 -3
- package/docs/concepts/why-videojs.md +4 -4
- package/docs/how-to/build-your-own-component.md +7 -5
- package/docs/how-to/customize-skins.md +2677 -2363
- package/docs/how-to/i18n-override-translations.md +3 -3
- package/docs/how-to/i18n-register-locale.md +3 -3
- package/docs/how-to/i18n-ssr.md +3 -3
- package/docs/how-to/i18n-switch-locale.md +3 -3
- package/docs/how-to/installation.md +3 -8
- package/docs/llms.txt +42 -39
- package/docs/reference/airplay-button.md +6 -6
- package/docs/reference/audio-track-radio-group.md +198 -29
- package/docs/reference/buffering-indicator.md +6 -6
- package/docs/reference/captions-button.md +6 -6
- package/docs/reference/captions-radio-group.md +206 -29
- package/docs/reference/cast-button.md +6 -6
- package/docs/reference/controls.md +6 -6
- package/docs/reference/create-player.md +22 -31
- package/docs/reference/create-translator.md +1 -1
- package/docs/reference/dash-video.md +14 -0
- package/docs/reference/feature-controls.md +13 -1
- package/docs/reference/feature-fullscreen.md +1 -1
- package/docs/reference/feature-orientation-lock.md +2 -2
- package/docs/reference/feature-text-tracks.md +3 -1
- package/docs/reference/feature-volume.md +10 -0
- package/docs/reference/fullscreen-button.md +6 -6
- package/docs/reference/get-i18n-translations.md +1 -1
- package/docs/reference/has-registered-locale.md +1 -1
- package/docs/reference/{simple-hls-audio-only.md → hls-audio.md} +5 -5
- package/docs/reference/{simple-hls-video.md → hls-video.md} +4 -4
- package/docs/reference/hlsjs-video.md +17 -9
- package/docs/reference/menu.md +65 -157
- package/docs/reference/mute-button.md +60 -18
- package/docs/reference/mux-audio.md +1 -107
- package/docs/reference/mux-video.md +1 -107
- package/docs/reference/native-hls-video.md +24 -0
- package/docs/reference/pip-button.md +6 -6
- package/docs/reference/play-button.md +6 -6
- package/docs/reference/playback-rate-button.md +6 -6
- package/docs/reference/playback-rate-radio-group.md +200 -29
- package/docs/reference/player-container.md +25 -25
- package/docs/reference/player-provider.md +24 -24
- package/docs/reference/popover.md +6 -6
- package/docs/reference/poster.md +6 -6
- package/docs/reference/quality-radio-group.md +200 -31
- package/docs/reference/register-i18n.md +1 -1
- package/docs/reference/seek-button.md +6 -6
- package/docs/reference/slider.md +1 -1
- package/docs/reference/thumbnail.md +7 -7
- package/docs/reference/time-slider.md +251 -7
- package/docs/reference/time.md +78 -34
- package/docs/reference/translation-phrases.md +27 -3
- package/docs/reference/use-container-attach.md +5 -5
- package/docs/reference/use-locale.md +1 -1
- package/docs/reference/use-media-attach.md +2 -2
- package/docs/reference/use-media.md +16 -10
- package/docs/reference/use-player-context.md +2 -7
- package/docs/reference/use-player.md +25 -19
- package/docs/reference/use-store.md +15 -15
- package/docs/reference/volume-slider.md +13 -11
- package/package.json +28 -8
- package/dist/default/media/mux-audio/media.js.map +0 -1
- package/dist/default/media/mux-video/media.js +0 -56
- package/dist/default/media/mux-video/media.js.map +0 -1
- package/dist/default/media/simple-hls-audio-only/index.js +0 -2
- package/dist/default/media/simple-hls-audio-only/media.js +0 -22
- package/dist/default/media/simple-hls-audio-only/media.js.map +0 -1
- package/dist/default/media/simple-hls-video/index.js +0 -2
- package/dist/default/media/simple-hls-video/media.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +0 -8
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +0 -8
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
- package/dist/default/tailwind.css +0 -42
- package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +0 -1
- package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +0 -1
- package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +0 -1
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
- package/dist/default/ui/menu/menu-back.js +0 -34
- package/dist/default/ui/menu/menu-back.js.map +0 -1
- package/dist/default/ui/menu/menu-item-setting-provider.js +0 -77
- package/dist/default/ui/menu/menu-item-setting-provider.js.map +0 -1
- package/dist/default/ui/menu/menu-item-value.js +0 -28
- package/dist/default/ui/menu/menu-item-value.js.map +0 -1
- package/dist/default/ui/menu/menu-view.js +0 -23
- package/dist/default/ui/menu/menu-view.js.map +0 -1
- package/dist/dev/media/mux-audio/media.d.ts.map +0 -1
- package/dist/dev/media/mux-audio/media.js.map +0 -1
- package/dist/dev/media/mux-video/media.d.ts.map +0 -1
- package/dist/dev/media/mux-video/media.js +0 -56
- package/dist/dev/media/mux-video/media.js.map +0 -1
- package/dist/dev/media/simple-hls-audio-only/index.d.ts +0 -2
- package/dist/dev/media/simple-hls-audio-only/index.js +0 -2
- package/dist/dev/media/simple-hls-audio-only/media.d.ts +0 -13
- package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +0 -1
- package/dist/dev/media/simple-hls-audio-only/media.js +0 -22
- package/dist/dev/media/simple-hls-audio-only/media.js.map +0 -1
- package/dist/dev/media/simple-hls-video/index.d.ts +0 -2
- package/dist/dev/media/simple-hls-video/index.js +0 -2
- package/dist/dev/media/simple-hls-video/media.d.ts +0 -13
- package/dist/dev/media/simple-hls-video/media.d.ts.map +0 -1
- package/dist/dev/media/simple-hls-video/media.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +0 -8
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +0 -8
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
- package/dist/dev/tailwind.css +0 -42
- package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +0 -1
- package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +0 -1
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +0 -1
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
- package/dist/dev/ui/menu/menu-back.d.ts +0 -17
- package/dist/dev/ui/menu/menu-back.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-back.js +0 -34
- package/dist/dev/ui/menu/menu-back.js.map +0 -1
- package/dist/dev/ui/menu/menu-item-setting-provider.js +0 -77
- package/dist/dev/ui/menu/menu-item-setting-provider.js.map +0 -1
- package/dist/dev/ui/menu/menu-item-type.d.ts +0 -5
- package/dist/dev/ui/menu/menu-item-type.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-item-value.d.ts +0 -12
- package/dist/dev/ui/menu/menu-item-value.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-item-value.js +0 -28
- package/dist/dev/ui/menu/menu-item-value.js.map +0 -1
- package/dist/dev/ui/menu/menu-view.d.ts +0 -13
- package/dist/dev/ui/menu/menu-view.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-view.js +0 -23
- package/dist/dev/ui/menu/menu-view.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-rendered-indicator-state.js","names":[],"sources":["../../../../src/ui/input-indicator/use-rendered-indicator-state.ts"],"sourcesContent":["'use client';\n\nimport { getRenderedIndicatorState, type IndicatorLifecycleState, isIndicatorPresent } from '@videojs/core';\nimport { createTransition } from '@videojs/core/dom';\nimport { useLayoutEffect, useRef, useState, useSyncExternalStore } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\n\nexport interface RenderedIndicatorOptions {\n replayOnUpdate?: boolean | undefined;\n}\n\nexport function useRenderedIndicatorState<State extends IndicatorLifecycleState>(\n currentState: State,\n options: RenderedIndicatorOptions = {}\n) {\n const elementRef = useRef<HTMLElement>(null);\n const currentStateRef = useRef(currentState);\n const snapshotRef = useRef(currentState);\n const [transition] = useState(() => createTransition());\n useDestroy(transition);\n currentStateRef.current = currentState;\n\n const transitionState = useSyncExternalStore(\n (callback) => transition.state.subscribe(callback),\n () => transition.state.current,\n () => transition.state.current\n );\n\n const { generation, open } = currentState;\n\n useLayoutEffect(() => {\n if (open) {\n const nextState = currentStateRef.current;\n if (nextState.generation !== generation) return;\n\n snapshotRef.current = nextState;\n const transitionState = transition.state.current;\n if (!transitionState.active || options.replayOnUpdate !== false) {\n void transition.open(elementRef.current);\n } else if (transitionState.status === 'ending') {\n transition.cancel();\n }\n return;\n }\n\n const { active, status } = transition.state.current;\n if (active && status !== 'ending') {\n void transition.close(elementRef.current);\n }\n }, [generation, open, options.replayOnUpdate, transition]);\n\n return {\n elementRef,\n present: isIndicatorPresent(currentState, transitionState),\n state: getRenderedIndicatorState(currentState, snapshotRef.current, transitionState),\n };\n}\n"],"mappings":";;;;;;AAYA,SAAgB,0BACd,cACA,UAAoC,CAAC,GACrC;CACA,MAAM,aAAa,OAAoB,IAAI;CAC3C,MAAM,kBAAkB,OAAO,YAAY;CAC3C,MAAM,cAAc,OAAO,YAAY;CACvC,MAAM,CAAC,cAAc,eAAe,iBAAiB,CAAC;CACtD,WAAW,UAAU;CACrB,gBAAgB,UAAU;CAE1B,MAAM,kBAAkB,sBACrB,aAAa,WAAW,MAAM,UAAU,QAAQ,SAC3C,WAAW,MAAM,eACjB,WAAW,MAAM,OACzB;CAEA,MAAM,EAAE,YAAY,SAAS;CAE7B,sBAAsB;EACpB,IAAI,MAAM;GACR,MAAM,YAAY,gBAAgB;GAClC,IAAI,UAAU,eAAe,YAAY;GAEzC,YAAY,UAAU;GACtB,MAAM,kBAAkB,WAAW,MAAM;GACzC,IAAI,CAAC,gBAAgB,UAAU,QAAQ,mBAAmB,OACxD,WAAgB,KAAK,WAAW,OAAO;QAClC,IAAI,gBAAgB,WAAW,UACpC,WAAW,OAAO;GAEpB;EACF;EAEA,MAAM,EAAE,QAAQ,WAAW,WAAW,MAAM;EAC5C,IAAI,UAAU,WAAW,UACvB,WAAgB,MAAM,WAAW,OAAO;CAE5C,GAAG;EAAC;EAAY;EAAM,QAAQ;EAAgB;CAAU,CAAC;CAEzD,OAAO;EACL;EACA,SAAS,mBAAmB,cAAc,eAAe;EACzD,OAAO,0BAA0B,cAAc,YAAY,SAAS,eAAe;CACrF;AACF"}
|
|
@@ -4,6 +4,7 @@ import { MenuCore, MenuState, StateAttrMap as StateAttrMap$1 } from "@videojs/co
|
|
|
4
4
|
interface MenuContextValue {
|
|
5
5
|
core: MenuCore;
|
|
6
6
|
menu: MenuApi;
|
|
7
|
+
parent: MenuContextValue | null;
|
|
7
8
|
state: MenuState;
|
|
8
9
|
preferredSide: MenuState['side'];
|
|
9
10
|
setPositionedSide: (side: MenuState['side']) => void;
|
|
@@ -12,16 +13,6 @@ interface MenuContextValue {
|
|
|
12
13
|
anchorName: string;
|
|
13
14
|
boundary: PositioningBoundary;
|
|
14
15
|
container: MediaContainer | null;
|
|
15
|
-
/** ID of the currently visible submenu, or null when at root view. */
|
|
16
|
-
activeSubMenuId: string | null;
|
|
17
|
-
/** Triggerer ID of the active submenu entry (for focus restoration on pop). */
|
|
18
|
-
activeSubMenuTriggerId: string | null;
|
|
19
|
-
/** Direction of the most recent navigation. */
|
|
20
|
-
navigationDirection: 'forward' | 'back';
|
|
21
|
-
/** Push a submenu onto the navigation stack. */
|
|
22
|
-
push: (menuId: string, triggerId: string) => void;
|
|
23
|
-
/** Pop the current submenu from the navigation stack. */
|
|
24
|
-
pop: () => void;
|
|
25
16
|
}
|
|
26
17
|
declare function useMenuContext(): MenuContextValue;
|
|
27
18
|
declare function useOptionalMenuContext(): MenuContextValue | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"mappings":";;;UAMiB;EACf,MAAM;EACN,MAAM;EACN,QAAQ;EACR,OAAO;EACP,eAAe;EACf,oBAAoB,MAAM;EAC1B,cAAc,eAAa;EAC3B;EACA;EACA,UAAU;EACV,WAAW;;iBAOG,kBAAkB;iBAMlB,0BAA0B"}
|
|
@@ -11,11 +11,6 @@ function useMenuContext() {
|
|
|
11
11
|
function useOptionalMenuContext() {
|
|
12
12
|
return useContext(MenuContext);
|
|
13
13
|
}
|
|
14
|
-
const SubMenuContext = createContext(null);
|
|
15
|
-
const SubMenuContextProvider = SubMenuContext.Provider;
|
|
16
|
-
function useSubMenuContext() {
|
|
17
|
-
return useContext(SubMenuContext);
|
|
18
|
-
}
|
|
19
14
|
const MenuGroupContext = createContext(null);
|
|
20
15
|
const MenuGroupContextProvider = MenuGroupContext.Provider;
|
|
21
16
|
function useMenuGroupContext() {
|
|
@@ -33,12 +28,7 @@ const MenuTriggerChildContextProvider = MenuTriggerChildContext.Provider;
|
|
|
33
28
|
function useOptionalMenuTriggerChildContext() {
|
|
34
29
|
return useContext(MenuTriggerChildContext);
|
|
35
30
|
}
|
|
36
|
-
const MenuItemSettingContext = createContext(null);
|
|
37
|
-
const MenuItemSettingContextProvider = MenuItemSettingContext.Provider;
|
|
38
|
-
function useOptionalMenuItemSettingContext() {
|
|
39
|
-
return useContext(MenuItemSettingContext);
|
|
40
|
-
}
|
|
41
31
|
//#endregion
|
|
42
|
-
export { MenuContextProvider, MenuGroupContextProvider,
|
|
32
|
+
export { MenuContextProvider, MenuGroupContextProvider, MenuRadioGroupContextProvider, MenuTriggerChildContextProvider, useMenuContext, useMenuGroupContext, useMenuRadioGroupContext, useOptionalMenuContext, useOptionalMenuTriggerChildContext };
|
|
43
33
|
|
|
44
34
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuCore, MenuState, StateAttrMap } from '@videojs/core';\nimport type { MediaContainer, MenuApi, PositioningBoundary } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuCore, MenuState, StateAttrMap } from '@videojs/core';\nimport type { MediaContainer, MenuApi, PositioningBoundary } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface MenuContextValue {\n core: MenuCore;\n menu: MenuApi;\n parent: MenuContextValue | null;\n state: MenuState;\n preferredSide: MenuState['side'];\n setPositionedSide: (side: MenuState['side']) => void;\n stateAttrMap: StateAttrMap<MenuState>;\n contentId: string;\n anchorName: string;\n boundary: PositioningBoundary;\n container: MediaContainer | null;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nexport const MenuContextProvider = MenuContext.Provider;\n\nexport function useMenuContext(): MenuContextValue {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu compound components must be used within a Menu.Root');\n return ctx;\n}\n\nexport function useOptionalMenuContext(): MenuContextValue | null {\n return useContext(MenuContext);\n}\n\n// ---------------------------------------------------------------------------\n// Group context — shared by group-like parts and MenuGroupLabel\n// ---------------------------------------------------------------------------\n\nexport interface MenuGroupContextValue {\n registerLabel: (id: string) => () => void;\n}\n\nconst MenuGroupContext = createContext<MenuGroupContextValue | null>(null);\n\nexport const MenuGroupContextProvider = MenuGroupContext.Provider;\n\nexport function useMenuGroupContext(): MenuGroupContextValue | null {\n return useContext(MenuGroupContext);\n}\n\n// ---------------------------------------------------------------------------\n// Radio group context — shared between MenuRadioGroup and MenuRadioItem\n// ---------------------------------------------------------------------------\n\nexport interface MenuRadioGroupContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst MenuRadioGroupContext = createContext<MenuRadioGroupContextValue | null>(null);\n\nexport const MenuRadioGroupContextProvider = MenuRadioGroupContext.Provider;\n\nexport function useMenuRadioGroupContext(): MenuRadioGroupContextValue {\n const ctx = useContext(MenuRadioGroupContext);\n if (!ctx) throw new Error('Menu.RadioItem must be used within a Menu.RadioGroup');\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// Root trigger render context — provided by Menu.Trigger for render children.\n// ---------------------------------------------------------------------------\n\nconst MenuTriggerChildContext = createContext(false);\n\nexport const MenuTriggerChildContextProvider = MenuTriggerChildContext.Provider;\n\nexport function useOptionalMenuTriggerChildContext(): boolean {\n return useContext(MenuTriggerChildContext);\n}\n"],"mappings":";;;AAoBA,MAAM,cAAc,cAAuC,IAAI;AAE/D,MAAa,sBAAsB,YAAY;AAE/C,SAAgB,iBAAmC;CACjD,MAAM,MAAM,WAAW,WAAW;CAClC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,0DAA0D;CACpF,OAAO;AACT;AAEA,SAAgB,yBAAkD;CAChE,OAAO,WAAW,WAAW;AAC/B;AAUA,MAAM,mBAAmB,cAA4C,IAAI;AAEzE,MAAa,2BAA2B,iBAAiB;AAEzD,SAAgB,sBAAoD;CAClE,OAAO,WAAW,gBAAgB;AACpC;AAWA,MAAM,wBAAwB,cAAiD,IAAI;AAEnF,MAAa,gCAAgC,sBAAsB;AAEnE,SAAgB,2BAAuD;CACrE,MAAM,MAAM,WAAW,qBAAqB;CAC5C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,sDAAsD;CAChF,OAAO;AACT;AAMA,MAAM,0BAA0B,cAAc,KAAK;AAEnD,MAAa,kCAAkC,wBAAwB;AAEvE,SAAgB,qCAA8C;CAC5D,OAAO,WAAW,uBAAuB;AAC3C"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MenuRadioItem, MenuRadioItemProps } from "./menu-radio-item.js";
|
|
2
2
|
import { MenuCheckboxItem, MenuCheckboxItemProps } from "./menu-checkbox-item.js";
|
|
3
3
|
import { MenuContent, MenuContentProps } from "./menu-content.js";
|
|
4
4
|
import { MenuGroup, MenuGroupProps } from "./menu-group.js";
|
|
5
5
|
import { MenuGroupLabel, MenuGroupLabelProps } from "./menu-group-label.js";
|
|
6
6
|
import { MenuItem, MenuItemProps } from "./menu-item.js";
|
|
7
7
|
import { MenuItemIndicator, MenuItemIndicatorProps } from "./menu-item-indicator.js";
|
|
8
|
-
import { MenuItemValue, MenuItemValueProps } from "./menu-item-value.js";
|
|
9
8
|
import { MenuRadioGroup, MenuRadioGroupProps } from "./menu-radio-group.js";
|
|
10
|
-
import { MenuRadioItem, MenuRadioItemProps } from "./menu-radio-item.js";
|
|
11
9
|
import { MenuRoot, MenuRootProps } from "./menu-root.js";
|
|
12
10
|
import { MenuSeparator, MenuSeparatorProps } from "./menu-separator.js";
|
|
13
11
|
import { MenuTrigger, MenuTriggerProps } from "./menu-trigger.js";
|
|
14
|
-
import { MenuView, MenuViewProps } from "./menu-view.js";
|
|
15
12
|
declare namespace index_parts_d_exports {
|
|
16
|
-
export {
|
|
13
|
+
export { MenuCheckboxItem as CheckboxItem, MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuGroupLabelProps as GroupLabelProps, MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuItemIndicatorProps as ItemIndicatorProps, MenuItemProps as ItemProps, MenuRadioGroup as RadioGroup, MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, MenuRadioItemProps as RadioItemProps, MenuRoot as Root, MenuRootProps as RootProps, MenuSeparator as Separator, MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, MenuTriggerProps as TriggerProps };
|
|
17
14
|
}
|
|
18
15
|
//#endregion
|
|
19
|
-
export {
|
|
16
|
+
export { MenuCheckboxItem as CheckboxItem, type MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, type MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps, type MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, type MenuItemIndicatorProps as ItemIndicatorProps, type MenuItemProps as ItemProps, MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps, MenuRoot as Root, type MenuRootProps as RootProps, MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps, index_parts_d_exports };
|
|
20
17
|
//# sourceMappingURL=index.parts.d.ts.map
|
|
@@ -1,36 +1,30 @@
|
|
|
1
1
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
-
import {
|
|
2
|
+
import { MenuRadioGroup } from "./menu-radio-group.js";
|
|
3
3
|
import { MenuCheckboxItem } from "./menu-checkbox-item.js";
|
|
4
4
|
import { MenuContent } from "./menu-content.js";
|
|
5
5
|
import { MenuGroup } from "./menu-group.js";
|
|
6
6
|
import { MenuGroupLabel } from "./menu-group-label.js";
|
|
7
7
|
import { MenuItem } from "./menu-item.js";
|
|
8
8
|
import { MenuItemIndicator } from "./menu-item-indicator.js";
|
|
9
|
-
import { MenuItemValue } from "./menu-item-value.js";
|
|
10
|
-
import { MenuRadioGroup } from "./menu-radio-group.js";
|
|
11
9
|
import { MenuRadioItem } from "./menu-radio-item.js";
|
|
12
10
|
import { MenuRoot } from "./menu-root.js";
|
|
13
11
|
import { MenuSeparator } from "./menu-separator.js";
|
|
14
12
|
import { MenuTrigger } from "./menu-trigger.js";
|
|
15
|
-
import { MenuView } from "./menu-view.js";
|
|
16
13
|
//#region src/ui/menu/index.parts.ts
|
|
17
14
|
var index_parts_exports = /* @__PURE__ */ __exportAll({
|
|
18
|
-
Back: () => MenuBack,
|
|
19
15
|
CheckboxItem: () => MenuCheckboxItem,
|
|
20
16
|
Content: () => MenuContent,
|
|
21
17
|
Group: () => MenuGroup,
|
|
22
18
|
GroupLabel: () => MenuGroupLabel,
|
|
23
19
|
Item: () => MenuItem,
|
|
24
20
|
ItemIndicator: () => MenuItemIndicator,
|
|
25
|
-
ItemValue: () => MenuItemValue,
|
|
26
21
|
RadioGroup: () => MenuRadioGroup,
|
|
27
22
|
RadioItem: () => MenuRadioItem,
|
|
28
23
|
Root: () => MenuRoot,
|
|
29
24
|
Separator: () => MenuSeparator,
|
|
30
|
-
Trigger: () => MenuTrigger
|
|
31
|
-
View: () => MenuView
|
|
25
|
+
Trigger: () => MenuTrigger
|
|
32
26
|
});
|
|
33
27
|
//#endregion
|
|
34
|
-
export {
|
|
28
|
+
export { MenuCheckboxItem as CheckboxItem, MenuContent as Content, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuRadioGroup as RadioGroup, MenuRadioItem as RadioItem, MenuRoot as Root, MenuSeparator as Separator, MenuTrigger as Trigger, index_parts_exports };
|
|
35
29
|
|
|
36
30
|
//# sourceMappingURL=index.parts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/menu/index.parts.ts"],"sourcesContent":["export {
|
|
1
|
+
{"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/menu/index.parts.ts"],"sourcesContent":["export {\n MenuCheckboxItem as CheckboxItem,\n type MenuCheckboxItemProps as CheckboxItemProps,\n} from './menu-checkbox-item';\nexport { MenuContent as Content, type MenuContentProps as ContentProps } from './menu-content';\nexport { MenuGroup as Group, type MenuGroupProps as GroupProps } from './menu-group';\nexport { MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps } from './menu-group-label';\nexport { MenuItem as Item, type MenuItemProps as ItemProps } from './menu-item';\nexport {\n MenuItemIndicator as ItemIndicator,\n type MenuItemIndicatorProps as ItemIndicatorProps,\n} from './menu-item-indicator';\nexport { MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps } from './menu-radio-group';\nexport { MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps } from './menu-radio-item';\nexport { MenuRoot as Root, type MenuRootProps as RootProps } from './menu-root';\nexport { MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps } from './menu-separator';\nexport { MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps } from './menu-trigger';\n"],"mappings":""}
|
|
@@ -25,7 +25,10 @@ const MenuCheckboxItem = forwardRef(function MenuCheckboxItem({ render, classNam
|
|
|
25
25
|
const handlePointerEnter = useCallback(() => {
|
|
26
26
|
const element = elementRef.current;
|
|
27
27
|
if (!element || disabled) return;
|
|
28
|
-
menu.highlight(element, {
|
|
28
|
+
menu.highlight(element, {
|
|
29
|
+
focus: false,
|
|
30
|
+
pointer: true
|
|
31
|
+
});
|
|
29
32
|
}, [menu, disabled]);
|
|
30
33
|
return renderElement("div", {
|
|
31
34
|
render,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-checkbox-item.js","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {\n /** Whether the item is currently checked. */\n checked: boolean;\n /** Called when the checked state should change. */\n onCheckedChange: (checked: boolean) => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A checkbox-style menu item. Renders a `<div>` with `role=\"menuitemcheckbox\"`. */\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n { render, className, style, checked, onCheckedChange, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const elementRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n return menu.registerItem(element);\n }, [menu]);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n onClick?.(event);\n onCheckedChange(!checked);\n },\n [disabled, onClick, onCheckedChange, checked]\n );\n\n const handlePointerEnter = useCallback(() => {\n const element = elementRef.current;\n if (!element || disabled) return;\n menu.highlight(element, { focus: false });\n }, [menu, disabled]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitemcheckbox' as const,\n 'aria-checked': checked,\n 'aria-disabled': disabled ? true : undefined,\n onClick: handleClick,\n onPointerEnter: handlePointerEnter,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuCheckboxItem {\n export type Props = MenuCheckboxItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;AAmBA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,SAAS,iBAAiB,UAAU,SAAS,GAAG,gBAC5E,cACA;CACA,MAAM,EAAE,MAAM,UAAU,eAAe;CACvC,MAAM,aAAa,OAAuB,IAAI;CAE9C,gBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,SAAS;EACd,OAAO,KAAK,aAAa,OAAO;CAClC,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,cAAc,aACjB,UAA4C;EAC3C,IAAI,UAAU;EACd,UAAU,KAAK;EACf,gBAAgB,CAAC,OAAO;CAC1B,GACA;EAAC;EAAU;EAAS;EAAiB;CAAO,CAC9C;CAEA,MAAM,qBAAqB,kBAAkB;EAC3C,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,WAAW,UAAU;EAC1B,KAAK,UAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"menu-checkbox-item.js","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {\n /** Whether the item is currently checked. */\n checked: boolean;\n /** Called when the checked state should change. */\n onCheckedChange: (checked: boolean) => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A checkbox-style menu item. Renders a `<div>` with `role=\"menuitemcheckbox\"`. */\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n { render, className, style, checked, onCheckedChange, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const elementRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n return menu.registerItem(element);\n }, [menu]);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n onClick?.(event);\n onCheckedChange(!checked);\n },\n [disabled, onClick, onCheckedChange, checked]\n );\n\n const handlePointerEnter = useCallback(() => {\n const element = elementRef.current;\n if (!element || disabled) return;\n menu.highlight(element, { focus: false, pointer: true });\n }, [menu, disabled]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitemcheckbox' as const,\n 'aria-checked': checked,\n 'aria-disabled': disabled ? true : undefined,\n onClick: handleClick,\n onPointerEnter: handlePointerEnter,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuCheckboxItem {\n export type Props = MenuCheckboxItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;AAmBA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,SAAS,iBAAiB,UAAU,SAAS,GAAG,gBAC5E,cACA;CACA,MAAM,EAAE,MAAM,UAAU,eAAe;CACvC,MAAM,aAAa,OAAuB,IAAI;CAE9C,gBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,SAAS;EACd,OAAO,KAAK,aAAa,OAAO;CAClC,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,cAAc,aACjB,UAA4C;EAC3C,IAAI,UAAU;EACd,UAAU,KAAK;EACf,gBAAgB,CAAC,OAAO;CAC1B,GACA;EAAC;EAAU;EAAS;EAAiB;CAAO,CAC9C;CAEA,MAAM,qBAAqB,kBAAkB;EAC3C,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,WAAW,UAAU;EAC1B,KAAK,UAAU,SAAS;GAAE,OAAO;GAAO,SAAS;EAAK,CAAC;CACzD,GAAG,CAAC,MAAM,QAAQ,CAAC;CAEnB,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,gBAAgB;GAChB,iBAAiB,WAAW,OAAO,KAAA;GACnC,SAAS;GACT,gBAAgB;EAClB,GACA,YACF;CACF,CACF;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-content.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"menu-content.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"mappings":";;;UAoBiB,yBAAyB,wBAAwB;;cAGrD,6BAAW,0BAAA,KAAA,2CAAA,cAAA;kBA2MP;OACH,QAAQ;OACR,QAAQ"}
|
|
@@ -1,291 +1,134 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useComposedRefs } from "../../utils/use-composed-refs.js";
|
|
3
3
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
|
-
import { useMenuContext
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { PopoverCSSVars } from "@videojs/core";
|
|
4
|
+
import { useMenuContext } from "./context.js";
|
|
5
|
+
import { usePopupPosition } from "../popover/use-popup-position.js";
|
|
6
|
+
import { callKeyDownHandler, preventMenuKeyDefault } from "./menu-keyboard.js";
|
|
7
|
+
import { MenuPositioningCSSVars, getRootPositionOptions, isMenuNavigationKey, observeMenuSize, syncMenuSizeChain } from "@videojs/core/dom";
|
|
8
|
+
import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef } from "react";
|
|
10
9
|
import { createPortal } from "react-dom";
|
|
11
10
|
//#region src/ui/menu/menu-content.tsx
|
|
12
|
-
const POPOVER_RESET = {
|
|
13
|
-
position: "fixed",
|
|
14
|
-
inset: "auto",
|
|
15
|
-
margin: 0
|
|
16
|
-
};
|
|
17
|
-
const menuPreventedNativeEvents = /* @__PURE__ */ new WeakSet();
|
|
18
|
-
function toUIKeyboardEvent(event) {
|
|
19
|
-
return {
|
|
20
|
-
get defaultPrevented() {
|
|
21
|
-
return event.defaultPrevented;
|
|
22
|
-
},
|
|
23
|
-
key: event.key,
|
|
24
|
-
shiftKey: event.shiftKey,
|
|
25
|
-
ctrlKey: event.ctrlKey,
|
|
26
|
-
altKey: event.altKey,
|
|
27
|
-
metaKey: event.metaKey,
|
|
28
|
-
target: event.target instanceof Node ? event.target : event.currentTarget,
|
|
29
|
-
currentTarget: event.currentTarget,
|
|
30
|
-
preventDefault: () => event.preventDefault(),
|
|
31
|
-
stopPropagation: () => event.stopPropagation()
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
function toUIFocusEvent(event) {
|
|
35
|
-
return {
|
|
36
|
-
get defaultPrevented() {
|
|
37
|
-
return event.defaultPrevented;
|
|
38
|
-
},
|
|
39
|
-
relatedTarget: event.relatedTarget,
|
|
40
|
-
preventDefault: () => event.preventDefault(),
|
|
41
|
-
stopPropagation: () => event.stopPropagation()
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function preventMenuKeyDefault(event) {
|
|
45
|
-
const keyboardEvent = toUIKeyboardEvent(event);
|
|
46
|
-
if (event.key !== "Escape" && isMenuNavigationKey(keyboardEvent) && !event.defaultPrevented) {
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
menuPreventedNativeEvents.add(event.nativeEvent);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function wasDefaultPreventedByMenu(event) {
|
|
52
|
-
return menuPreventedNativeEvents.has(event.nativeEvent);
|
|
53
|
-
}
|
|
54
|
-
function callKeyDownHandler(handler, event) {
|
|
55
|
-
const defaultPreventedBeforeHandler = event.defaultPrevented && !wasDefaultPreventedByMenu(event);
|
|
56
|
-
if (!handler) return defaultPreventedBeforeHandler;
|
|
57
|
-
let defaultPreventedByHandler = false;
|
|
58
|
-
const preventDefault = event.preventDefault;
|
|
59
|
-
event.preventDefault = () => {
|
|
60
|
-
defaultPreventedByHandler = true;
|
|
61
|
-
preventDefault.call(event);
|
|
62
|
-
};
|
|
63
|
-
try {
|
|
64
|
-
handler(event);
|
|
65
|
-
} finally {
|
|
66
|
-
event.preventDefault = preventDefault;
|
|
67
|
-
}
|
|
68
|
-
return defaultPreventedBeforeHandler || defaultPreventedByHandler;
|
|
69
|
-
}
|
|
70
11
|
/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */
|
|
71
12
|
const MenuContent = forwardRef(function MenuContent({ render, className, style, onKeyDown, onBlur, ...elementProps }, forwardedRef) {
|
|
72
|
-
const { core, menu, state, preferredSide, setPositionedSide, stateAttrMap, anchorName, contentId, boundary, container
|
|
73
|
-
const subMenuCtx = useSubMenuContext();
|
|
13
|
+
const { core, menu, parent, state, preferredSide, setPositionedSide, stateAttrMap, anchorName, contentId, boundary, container } = useMenuContext();
|
|
74
14
|
const isSubmenu = state.isSubmenu;
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
const isActive = isSubmenu && parentMenu !== null && subMenuId !== null ? parentMenu.activeSubMenuId === subMenuId : false;
|
|
78
|
-
const [menuViewTransition] = useState(() => createMenuViewTransition({
|
|
79
|
-
focusFirstItem() {
|
|
80
|
-
menu.highlightFirstItem({ preventScroll: true });
|
|
81
|
-
},
|
|
82
|
-
restoreFocus(triggerId) {
|
|
83
|
-
if (triggerId) document.getElementById(triggerId)?.focus({ preventScroll: true });
|
|
84
|
-
}
|
|
85
|
-
}));
|
|
86
|
-
const menuViewTransitionState = useSnapshot(menuViewTransition.input);
|
|
87
|
-
const menuViewElementRef = useRef(null);
|
|
88
|
-
const parentContentElementRef = useRef(null);
|
|
89
|
-
const activeSubMenuIdRef = useRef(activeSubMenuId);
|
|
90
|
-
activeSubMenuIdRef.current = activeSubMenuId;
|
|
15
|
+
const isActive = isSubmenu && state.open;
|
|
16
|
+
const wasActiveRef = useRef(false);
|
|
91
17
|
useLayoutEffect(() => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (!
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
triggerId: parentMenu?.activeSubMenuTriggerId ?? null
|
|
100
|
-
});
|
|
18
|
+
if (!isSubmenu) return void 0;
|
|
19
|
+
const wasActive = wasActiveRef.current;
|
|
20
|
+
wasActiveRef.current = isActive;
|
|
21
|
+
if (isActive && !wasActive) {
|
|
22
|
+
const frame = requestAnimationFrame(() => menu.highlightFirstItem({ preventScroll: true }));
|
|
23
|
+
return () => cancelAnimationFrame(frame);
|
|
24
|
+
}
|
|
101
25
|
}, [
|
|
102
26
|
isActive,
|
|
103
27
|
isSubmenu,
|
|
104
|
-
|
|
105
|
-
menuViewTransition
|
|
28
|
+
menu
|
|
106
29
|
]);
|
|
107
|
-
const
|
|
108
|
-
menuViewElementRef.current = element;
|
|
30
|
+
const setSubmenuContentElement = useCallback((element) => {
|
|
109
31
|
menu.setContentElement(element);
|
|
110
|
-
|
|
111
|
-
|
|
32
|
+
if (!element) requestAnimationFrame(() => {
|
|
33
|
+
syncMenuSizeChain(parent?.menu.contentElement ?? null);
|
|
34
|
+
if (!menu.input.current.active) menu.restoreFocus({ preventScroll: true });
|
|
35
|
+
});
|
|
36
|
+
}, [menu, parent]);
|
|
112
37
|
const handleSubMenuKeyDown = useCallback((event) => {
|
|
113
38
|
const defaultPreventedByUser = callKeyDownHandler(onKeyDown, event);
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const isBackNavigationKey = event.key === "ArrowLeft" || event.key === "Escape";
|
|
118
|
-
const ownsActiveSubmenu = parentMenu !== null && subMenuId !== null && parentMenu.menu.navigationInput.current.stack[parentMenu.menu.navigationInput.current.stack.length - 1]?.menuId === subMenuId;
|
|
119
|
-
if (isBackNavigationKey && ownsActiveSubmenu && !defaultPreventedByUser) {
|
|
39
|
+
const isNavigationKey = isMenuNavigationKey(event);
|
|
40
|
+
menu.contentProps.onKeyDown(event);
|
|
41
|
+
if ((event.key === "ArrowLeft" || event.key === "Escape") && !defaultPreventedByUser) {
|
|
120
42
|
event.preventDefault();
|
|
121
|
-
|
|
43
|
+
menu.close("escape");
|
|
122
44
|
}
|
|
123
|
-
if (isNavigationKey
|
|
124
|
-
}, [
|
|
125
|
-
onKeyDown,
|
|
126
|
-
parentMenu,
|
|
127
|
-
subMenuId,
|
|
128
|
-
menu
|
|
129
|
-
]);
|
|
45
|
+
if (isNavigationKey) event.stopPropagation();
|
|
46
|
+
}, [onKeyDown, menu]);
|
|
130
47
|
const handleRootMenuKeyDown = useCallback((event) => {
|
|
131
48
|
onKeyDown?.(event);
|
|
132
|
-
|
|
133
|
-
menu.contentProps.onKeyDown(keyboardEvent);
|
|
49
|
+
menu.contentProps.onKeyDown(event);
|
|
134
50
|
if (event.key === "Escape") return;
|
|
135
|
-
if (isMenuNavigationKey(
|
|
51
|
+
if (isMenuNavigationKey(event)) event.stopPropagation();
|
|
136
52
|
}, [onKeyDown, menu]);
|
|
137
53
|
const handleRootMenuBlur = useCallback((event) => {
|
|
138
54
|
onBlur?.(event);
|
|
139
|
-
menu.contentProps.onFocusOut(
|
|
55
|
+
menu.contentProps.onFocusOut(event);
|
|
56
|
+
}, [onBlur, menu]);
|
|
57
|
+
const handleSubMenuBlur = useCallback((event) => {
|
|
58
|
+
onBlur?.(event);
|
|
59
|
+
menu.contentProps.onFocusOut(event);
|
|
140
60
|
}, [onBlur, menu]);
|
|
141
61
|
const internalRef = useRef(null);
|
|
142
62
|
const rootComposedRef = useComposedRefs(forwardedRef, useCallback((element) => {
|
|
143
|
-
if (isSubmenu)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}, [
|
|
147
|
-
isSubmenu,
|
|
148
|
-
menu,
|
|
149
|
-
anchorName
|
|
150
|
-
]), internalRef);
|
|
151
|
-
const menuViewComposedRef = useComposedRefs(forwardedRef, setMenuViewElement);
|
|
63
|
+
if (!isSubmenu) menu.setContentElement(element);
|
|
64
|
+
}, [isSubmenu, menu]), internalRef);
|
|
65
|
+
const submenuComposedRef = useComposedRefs(forwardedRef, setSubmenuContentElement);
|
|
152
66
|
const positionOptions = useMemo(() => getRootPositionOptions(preferredSide, state.align), [preferredSide, state.align]);
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, positionOptions);
|
|
156
|
-
return rest;
|
|
157
|
-
}, [
|
|
158
|
-
isSubmenu,
|
|
67
|
+
const positioningStyle = usePopupPosition({
|
|
68
|
+
open: state.open && !isSubmenu,
|
|
159
69
|
anchorName,
|
|
160
|
-
positionOptions
|
|
161
|
-
|
|
162
|
-
|
|
70
|
+
position: positionOptions,
|
|
71
|
+
triggerSource: menu,
|
|
72
|
+
popupRef: internalRef,
|
|
73
|
+
boundary,
|
|
74
|
+
container,
|
|
75
|
+
cssVars: MenuPositioningCSSVars,
|
|
76
|
+
onSideChange: setPositionedSide
|
|
77
|
+
});
|
|
163
78
|
useLayoutEffect(() => {
|
|
164
|
-
if (isSubmenu) return;
|
|
165
|
-
if (!state.open) return;
|
|
166
|
-
syncMenuViewRoot(internalRef.current, activeSubMenuId !== null);
|
|
79
|
+
if (isSubmenu || !state.open) return;
|
|
167
80
|
const contentElement = internalRef.current;
|
|
168
81
|
if (!contentElement) return;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
82
|
+
const sync = () => syncMenuSizeChain(contentElement);
|
|
83
|
+
sync();
|
|
84
|
+
const frame = requestAnimationFrame(sync);
|
|
85
|
+
const stopObserving = observeMenuSize(contentElement, sync);
|
|
86
|
+
return () => {
|
|
87
|
+
cancelAnimationFrame(frame);
|
|
88
|
+
stopObserving();
|
|
89
|
+
};
|
|
90
|
+
}, [isSubmenu, state.open]);
|
|
177
91
|
useLayoutEffect(() => {
|
|
178
92
|
if (!isSubmenu) return;
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (!state.open) {
|
|
186
|
-
setPosition(null);
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
if (!positionOptions) {
|
|
190
|
-
syncMenuViewRoot(internalRef.current, activeSubMenuIdRef.current !== null);
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
const rootPositionOptions = positionOptions;
|
|
194
|
-
function measure() {
|
|
195
|
-
const triggerElement = menu.triggerElement;
|
|
196
|
-
const contentElement = internalRef.current;
|
|
197
|
-
if (!triggerElement || !contentElement) return;
|
|
198
|
-
const triggerRect = triggerElement.getBoundingClientRect();
|
|
199
|
-
const root = contentElement.getRootNode();
|
|
200
|
-
const boundaryElement = resolvePositioningBoundary(boundary, {
|
|
201
|
-
container,
|
|
202
|
-
root
|
|
203
|
-
});
|
|
204
|
-
const anchorSupported = supportsAnchorPositioning();
|
|
205
|
-
let contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);
|
|
206
|
-
const boundaryRect = getPositioningBoundaryRect(boundaryElement);
|
|
207
|
-
const offsets = resolveOffsets(contentElement);
|
|
208
|
-
let side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);
|
|
209
|
-
let nextStyle = getAnchorPositionStyle(anchorName, {
|
|
210
|
-
...rootPositionOptions,
|
|
211
|
-
side
|
|
212
|
-
}, triggerRect, anchorSupported ? void 0 : contentRect, boundaryRect, offsets);
|
|
213
|
-
const availableWidth = nextStyle[PopoverCSSVars.availableWidth];
|
|
214
|
-
syncMenuViewRoot(contentElement, activeSubMenuIdRef.current !== null, availableWidth ? { availableWidth } : void 0);
|
|
215
|
-
if (!anchorSupported) {
|
|
216
|
-
contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);
|
|
217
|
-
side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);
|
|
218
|
-
nextStyle = getAnchorPositionStyle(anchorName, {
|
|
219
|
-
...rootPositionOptions,
|
|
220
|
-
side
|
|
221
|
-
}, triggerRect, contentRect, boundaryRect, offsets);
|
|
222
|
-
}
|
|
223
|
-
const { positionAnchor: _, ...rootStyle } = nextStyle;
|
|
224
|
-
setPosition(rootStyle);
|
|
225
|
-
setPositionedSide(side);
|
|
226
|
-
}
|
|
227
|
-
measure();
|
|
228
|
-
const triggerElement = menu.triggerElement;
|
|
229
|
-
const contentElement = internalRef.current;
|
|
230
|
-
const boundaryElement = contentElement ? resolvePositioningBoundary(boundary, {
|
|
231
|
-
container,
|
|
232
|
-
root: contentElement.getRootNode()
|
|
233
|
-
}) : null;
|
|
234
|
-
let animationFrameId = 0;
|
|
235
|
-
function reposition(event) {
|
|
236
|
-
if (event && isEventWithinElement(event, internalRef.current)) return;
|
|
237
|
-
cancelAnimationFrame(animationFrameId);
|
|
238
|
-
animationFrameId = requestAnimationFrame(measure);
|
|
239
|
-
}
|
|
240
|
-
reposition();
|
|
241
|
-
const resizeObserver = typeof ResizeObserver === "function" ? new ResizeObserver(() => reposition()) : null;
|
|
242
|
-
if (triggerElement && resizeObserver) resizeObserver.observe(triggerElement);
|
|
243
|
-
if (contentElement && resizeObserver) resizeObserver.observe(contentElement);
|
|
244
|
-
if (boundaryElement && resizeObserver) resizeObserver.observe(boundaryElement);
|
|
245
|
-
window.addEventListener("scroll", reposition, {
|
|
246
|
-
capture: true,
|
|
247
|
-
passive: true
|
|
248
|
-
});
|
|
249
|
-
window.addEventListener("resize", reposition);
|
|
93
|
+
const isEnding = state.status === "ending";
|
|
94
|
+
const parentContentElement = parent?.menu.contentElement ?? null;
|
|
95
|
+
const sync = () => syncMenuSizeChain(parentContentElement);
|
|
96
|
+
sync();
|
|
97
|
+
const frame = requestAnimationFrame(sync);
|
|
98
|
+
const stopObserving = state.open && !isEnding && parentContentElement ? observeMenuSize(parentContentElement, sync) : null;
|
|
250
99
|
return () => {
|
|
251
|
-
cancelAnimationFrame(
|
|
252
|
-
|
|
253
|
-
window.removeEventListener("scroll", reposition, true);
|
|
254
|
-
window.removeEventListener("resize", reposition);
|
|
100
|
+
cancelAnimationFrame(frame);
|
|
101
|
+
stopObserving?.();
|
|
255
102
|
};
|
|
256
103
|
}, [
|
|
257
104
|
isSubmenu,
|
|
105
|
+
parent,
|
|
258
106
|
state.open,
|
|
259
|
-
|
|
260
|
-
positionOptions,
|
|
261
|
-
menu,
|
|
262
|
-
boundary,
|
|
263
|
-
container,
|
|
264
|
-
setPositionedSide
|
|
107
|
+
state.status
|
|
265
108
|
]);
|
|
266
109
|
if (isSubmenu) {
|
|
267
|
-
if (
|
|
110
|
+
if (!isActive && state.status !== "ending") return null;
|
|
268
111
|
const subMenuContent = renderElement("div", {
|
|
269
112
|
render,
|
|
270
113
|
className,
|
|
271
114
|
style
|
|
272
115
|
}, {
|
|
273
116
|
state,
|
|
274
|
-
|
|
117
|
+
stateAttrMap,
|
|
118
|
+
ref: submenuComposedRef,
|
|
275
119
|
props: [{
|
|
276
|
-
|
|
120
|
+
id: contentId,
|
|
277
121
|
role: "menu",
|
|
278
122
|
tabIndex: -1,
|
|
279
|
-
"data-submenu": "",
|
|
280
123
|
onKeyDownCapture: preventMenuKeyDefault,
|
|
281
124
|
onKeyDown: handleSubMenuKeyDown,
|
|
282
|
-
onBlur
|
|
125
|
+
onBlur: handleSubMenuBlur
|
|
283
126
|
}, elementProps]
|
|
284
127
|
});
|
|
285
|
-
const
|
|
286
|
-
return
|
|
128
|
+
const parentContentElement = parent?.menu.contentElement ?? null;
|
|
129
|
+
return parentContentElement ? createPortal(subMenuContent, parentContentElement) : subMenuContent;
|
|
287
130
|
}
|
|
288
|
-
if (!state.open) return null;
|
|
131
|
+
if (!state.open && state.status !== "ending") return null;
|
|
289
132
|
return renderElement("div", {
|
|
290
133
|
render,
|
|
291
134
|
className,
|
|
@@ -297,9 +140,8 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
297
140
|
props: [
|
|
298
141
|
{
|
|
299
142
|
id: contentId,
|
|
300
|
-
style:
|
|
301
|
-
...core.getContentAttrs(state)
|
|
302
|
-
...getMenuViewportAttrs()
|
|
143
|
+
style: positioningStyle,
|
|
144
|
+
...core.getContentAttrs(state)
|
|
303
145
|
},
|
|
304
146
|
{
|
|
305
147
|
onKeyDownCapture: preventMenuKeyDefault,
|