@videojs/react 10.0.0-beta.24 → 10.0.0-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/default/icons/dist/react/default/airplay-enter.js +16 -0
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js +28 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -0
- package/dist/default/icons/dist/react/default/captions-off.js +5 -0
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/gear.js +16 -0
- package/dist/default/icons/dist/react/default/gear.js.map +1 -0
- package/dist/default/icons/dist/react/default/quality.js +16 -0
- package/dist/default/icons/dist/react/default/quality.js.map +1 -0
- package/dist/default/icons/dist/react/default/speech.js +19 -0
- package/dist/default/icons/dist/react/default/speech.js.map +1 -0
- package/dist/default/icons/dist/react/default/speed.js +52 -0
- package/dist/default/icons/dist/react/default/speed.js.map +1 -0
- package/dist/default/icons/dist/react/default/switches.js +19 -0
- package/dist/default/icons/dist/react/default/switches.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/airplay-enter.js +16 -0
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +28 -0
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/captions-off.js +5 -0
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/gear.js +16 -0
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/quality.js +16 -0
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/speech.js +54 -0
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/speed.js +52 -0
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/switches.js +19 -0
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/default/icons/index.js +8 -1
- package/dist/default/icons/minimal/index.js +8 -1
- package/dist/default/index.js +21 -17
- package/dist/default/media/dash-video/index.js +5 -1
- package/dist/default/media/dash-video/index.js.map +1 -1
- package/dist/default/media/{hls-video → hlsjs-video}/index.js +9 -5
- package/dist/default/media/hlsjs-video/index.js.map +1 -0
- package/dist/default/media/mux-audio/index.js +9 -3
- package/dist/default/media/mux-audio/index.js.map +1 -1
- package/dist/default/media/mux-video/index.js +9 -3
- package/dist/default/media/mux-video/index.js.map +1 -1
- package/dist/default/media/native-hls-video/index.js +5 -1
- package/dist/default/media/native-hls-video/index.js.map +1 -1
- package/dist/default/media/simple-hls-audio-only/index.js +22 -0
- package/dist/default/media/simple-hls-audio-only/index.js.map +1 -0
- package/dist/default/media/simple-hls-video/index.js +1 -1
- package/dist/default/media/vimeo-video/index.js +37 -0
- package/dist/default/media/vimeo-video/index.js.map +1 -0
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +13 -4
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +414 -69
- package/dist/default/presets/audio/minimal-skin.js +69 -39
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +71 -42
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +419 -121
- package/dist/default/presets/audio/skin.js +70 -40
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +72 -42
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/index.js +2 -2
- package/dist/default/presets/live-audio/minimal-skin.css +414 -69
- package/dist/default/presets/live-audio/minimal-skin.js +26 -12
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +27 -14
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +419 -121
- package/dist/default/presets/live-audio/skin.js +32 -14
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +27 -13
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +566 -210
- package/dist/default/presets/live-video/minimal-skin.js +93 -12
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +94 -13
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +581 -264
- package/dist/default/presets/live-video/skin.js +95 -16
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +95 -17
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +566 -210
- package/dist/default/presets/video/minimal-skin.js +281 -53
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +284 -57
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +581 -264
- package/dist/default/presets/video/skin.js +282 -57
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +285 -61
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +8 -3
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js +6 -0
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -4
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +9 -9
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +26 -4
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -3
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +7 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +5 -3
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +26 -13
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +13 -3
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +9 -9
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +25 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +5 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +27 -11
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +17 -2
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/tailwind.css +0 -24
- package/dist/default/ui/airplay-button/airplay-button.js +17 -0
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -0
- package/dist/default/ui/airplay-button/index.js +2 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +1 -1
- package/dist/default/ui/audio-track/index.js +2 -0
- package/dist/default/ui/audio-track/use-audio-track-options.js +31 -0
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -0
- package/dist/default/ui/captions-radio-group/index.js +2 -0
- package/dist/default/ui/captions-radio-group/use-captions-options.js +37 -0
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -0
- package/dist/default/ui/create-media-button.js +23 -10
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-description.js +1 -1
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js +28 -0
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
- package/dist/default/ui/hotkey/use-hotkey.js +1 -2
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicators/use-input-indicator-root.js +2 -2
- package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +7 -4
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +1 -1
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js +16 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +4 -2
- package/dist/default/ui/menu/index.parts.js.map +1 -1
- package/dist/default/ui/menu/menu-back.js +0 -1
- package/dist/default/ui/menu/menu-back.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js +1 -2
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +23 -5
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-group-label.js +29 -0
- package/dist/default/ui/menu/menu-group-label.js.map +1 -0
- package/dist/default/ui/menu/menu-group.js +7 -9
- package/dist/default/ui/menu/menu-group.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js +1 -2
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/default/ui/menu/menu-item-setting-provider.js +72 -0
- package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -0
- package/dist/default/ui/menu/menu-item-value.js +28 -0
- package/dist/default/ui/menu/menu-item-value.js.map +1 -0
- package/dist/default/ui/menu/menu-item.js +44 -23
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group.js +6 -9
- package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-item.js +1 -2
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +1 -1
- package/dist/default/ui/menu/menu-separator.js +1 -2
- package/dist/default/ui/menu/menu-separator.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +85 -29
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/menu/use-menu-group.js +31 -0
- package/dist/default/ui/menu/use-menu-group.js.map +1 -0
- package/dist/default/ui/playback-rate/index.js +2 -0
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +34 -0
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -0
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/poster/poster.js +17 -3
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/index.js +2 -0
- package/dist/default/ui/quality/use-quality-options.js +37 -0
- package/dist/default/ui/quality/use-quality-options.js.map +1 -0
- package/dist/default/ui/seek-button/seek-button.js +3 -1
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/time/time-value.js +32 -5
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-root.js +18 -6
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/index.parts.js +4 -0
- package/dist/default/ui/tooltip/index.parts.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js +1 -1
- package/dist/default/ui/tooltip/tooltip-label.js +24 -0
- package/dist/default/ui/tooltip/tooltip-label.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-popup.js +7 -3
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js +25 -0
- package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -0
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/default/utils/use-attach-iframe.js +14 -0
- package/dist/default/utils/use-attach-iframe.js.map +1 -0
- package/dist/default/utils/use-media-instance.js +11 -3
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js +1 -1
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-enter.js +16 -0
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js +28 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/default/captions-off.js +5 -0
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/gear.js +16 -0
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -0
- package/dist/dev/icons/dist/react/default/index.d.ts +8 -1
- package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -1
- package/dist/dev/icons/dist/react/default/quality.js +16 -0
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -0
- package/dist/dev/icons/dist/react/default/speech.js +19 -0
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -0
- package/dist/dev/icons/dist/react/default/speed.js +52 -0
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -0
- package/dist/dev/icons/dist/react/default/switches.js +19 -0
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js +16 -0
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +28 -0
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/gear.js +16 -0
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/index.d.ts +8 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js +16 -0
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/speech.js +54 -0
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/speed.js +52 -0
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/switches.js +19 -0
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/dev/icons/index.d.ts +2 -2
- package/dist/dev/icons/index.js +8 -1
- package/dist/dev/icons/minimal/index.d.ts +2 -2
- package/dist/dev/icons/minimal/index.js +8 -1
- package/dist/dev/index.d.ts +19 -15
- package/dist/dev/index.js +21 -17
- package/dist/dev/media/dash-video/index.d.ts.map +1 -1
- package/dist/dev/media/dash-video/index.js +5 -1
- package/dist/dev/media/dash-video/index.js.map +1 -1
- package/dist/dev/media/hlsjs-video/index.d.ts +15 -0
- package/dist/dev/media/hlsjs-video/index.d.ts.map +1 -0
- package/dist/dev/media/{hls-video → hlsjs-video}/index.js +9 -5
- package/dist/dev/media/hlsjs-video/index.js.map +1 -0
- package/dist/dev/media/mux-audio/index.d.ts +2 -2
- package/dist/dev/media/mux-audio/index.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/index.js +9 -3
- package/dist/dev/media/mux-audio/index.js.map +1 -1
- package/dist/dev/media/mux-video/index.d.ts +2 -2
- package/dist/dev/media/mux-video/index.d.ts.map +1 -1
- package/dist/dev/media/mux-video/index.js +9 -3
- package/dist/dev/media/mux-video/index.js.map +1 -1
- package/dist/dev/media/native-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/native-hls-video/index.js +5 -1
- package/dist/dev/media/native-hls-video/index.js.map +1 -1
- package/dist/dev/media/simple-hls-audio-only/index.d.ts +15 -0
- package/dist/dev/media/simple-hls-audio-only/index.d.ts.map +1 -0
- package/dist/dev/media/simple-hls-audio-only/index.js +22 -0
- package/dist/dev/media/simple-hls-audio-only/index.js.map +1 -0
- package/dist/dev/media/simple-hls-video/index.js +1 -1
- package/dist/dev/media/vimeo-video/index.d.ts +15 -0
- package/dist/dev/media/vimeo-video/index.d.ts.map +1 -0
- package/dist/dev/media/vimeo-video/index.js +37 -0
- package/dist/dev/media/vimeo-video/index.js.map +1 -0
- package/dist/dev/player/context.d.ts +8 -0
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.js +13 -4
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +414 -69
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +69 -39
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.js +71 -42
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +419 -121
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +70 -40
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.js +72 -42
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/index.d.ts +2 -2
- package/dist/dev/presets/live-audio/index.js +2 -2
- package/dist/dev/presets/live-audio/minimal-skin.css +414 -69
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +26 -12
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +27 -14
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +419 -121
- package/dist/dev/presets/live-audio/skin.d.ts +3 -1
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +32 -14
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.js +27 -13
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +566 -210
- package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -7
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.js +93 -12
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js +94 -13
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +581 -264
- package/dist/dev/presets/live-video/skin.d.ts +0 -6
- package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.js +95 -16
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +95 -17
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +2 -1
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +566 -210
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +281 -53
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +284 -57
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +581 -264
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +282 -57
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +285 -61
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +8 -3
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +6 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +9 -9
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +26 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +7 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +5 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +26 -13
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +13 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +9 -9
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +25 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +5 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +27 -11
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +17 -2
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/tailwind.css +0 -24
- package/dist/dev/ui/airplay-button/airplay-button.d.ts +15 -0
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -0
- package/dist/dev/ui/airplay-button/airplay-button.js +17 -0
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -0
- package/dist/dev/ui/airplay-button/index.d.ts +2 -0
- package/dist/dev/ui/airplay-button/index.js +2 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +1 -1
- package/dist/dev/ui/audio-track/index.d.ts +2 -0
- package/dist/dev/ui/audio-track/index.js +2 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +25 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.js +34 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -0
- package/dist/dev/ui/captions-radio-group/index.d.ts +2 -0
- package/dist/dev/ui/captions-radio-group/index.js +2 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +26 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +40 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -0
- package/dist/dev/ui/create-media-button.js +23 -10
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.js +1 -1
- package/dist/dev/ui/hooks/use-button.d.ts +2 -1
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +7 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +28 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey.js +1 -2
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js +2 -2
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +7 -4
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.js +1 -1
- package/dist/dev/ui/live-button/live-button.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js +16 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/index.parts.d.ts +3 -2
- package/dist/dev/ui/menu/index.parts.js +4 -2
- package/dist/dev/ui/menu/index.parts.js.map +1 -1
- package/dist/dev/ui/menu/menu-back.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-back.js +0 -1
- package/dist/dev/ui/menu/menu-back.js.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js +1 -2
- package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +23 -5
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- package/dist/dev/ui/menu/menu-group-label.d.ts +15 -0
- package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-group-label.js +29 -0
- package/dist/dev/ui/menu/menu-group-label.js.map +1 -0
- package/dist/dev/ui/menu/menu-group.d.ts +1 -4
- package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group.js +7 -9
- package/dist/dev/ui/menu/menu-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.js +1 -2
- package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-setting-provider.js +72 -0
- package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -0
- package/dist/dev/ui/menu/menu-item-type.d.ts +5 -0
- package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-value.d.ts +14 -0
- package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-value.js +28 -0
- package/dist/dev/ui/menu/menu-item-value.js.map +1 -0
- package/dist/dev/ui/menu/menu-item.d.ts +3 -0
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +44 -23
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.d.ts +0 -2
- package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.js +6 -9
- package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js +1 -2
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +1 -1
- package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-separator.js +1 -2
- package/dist/dev/ui/menu/menu-separator.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +5 -2
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +85 -29
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/menu/use-menu-group.js +31 -0
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -0
- package/dist/dev/ui/playback-rate/index.d.ts +2 -0
- package/dist/dev/ui/playback-rate/index.js +2 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +28 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +37 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -0
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/dev/ui/poster/poster.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster.js +17 -3
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/index.d.ts +2 -0
- package/dist/dev/ui/quality/index.js +2 -0
- package/dist/dev/ui/quality/use-quality-options.d.ts +27 -0
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -0
- package/dist/dev/ui/quality/use-quality-options.js +40 -0
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -0
- package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.js +3 -1
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +32 -5
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.js +18 -6
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +7 -3
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/index.d.ts +2 -2
- package/dist/dev/ui/tooltip/index.parts.d.ts +3 -1
- package/dist/dev/ui/tooltip/index.parts.js +4 -0
- package/dist/dev/ui/tooltip/index.parts.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-label.js +24 -0
- package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +7 -3
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.js +25 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -0
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/dev/utils/use-attach-iframe.js +14 -0
- package/dist/dev/utils/use-attach-iframe.js.map +1 -0
- package/dist/dev/utils/use-media-instance.d.ts +7 -2
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +11 -3
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +1 -1
- package/dist/dev/utils/use-render.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/browser-support.md +1 -1
- package/docs/concepts/cast.md +162 -0
- package/docs/concepts/features.md +1 -1
- package/docs/concepts/overview.md +4 -4
- package/docs/concepts/presets.md +32 -6
- package/docs/concepts/skins.md +903 -318
- package/docs/concepts/why-videojs.md +1 -1
- package/docs/how-to/build-with-ai.md +7 -7
- package/docs/how-to/build-your-own-component.md +3 -3
- package/docs/how-to/customize-skins.md +2721 -847
- package/docs/how-to/installation.md +10 -10
- package/docs/llms.txt +23 -1
- package/docs/reference/airplay-button.md +264 -0
- package/docs/reference/audio-track-radio-group.md +59 -0
- package/docs/reference/background-video.md +76 -0
- package/docs/reference/captions-button.md +16 -0
- package/docs/reference/cast-button.md +236 -0
- package/docs/reference/dash-video.md +138 -0
- package/docs/reference/feature-audio-track.md +60 -0
- package/docs/reference/feature-fullscreen.md +20 -3
- package/docs/reference/feature-orientation-lock.md +35 -0
- package/docs/reference/feature-quality.md +70 -0
- package/docs/reference/feature-remote-playback.md +3 -1
- package/docs/reference/feature-text-tracks.md +10 -0
- package/docs/reference/hlsjs-video.md +274 -0
- package/docs/reference/menu.md +1194 -0
- package/docs/reference/mux-audio.md +218 -0
- package/docs/reference/mux-video.md +275 -0
- package/docs/reference/native-hls-video.md +212 -0
- package/docs/reference/play-button.md +1 -1
- package/docs/reference/playback-rate-button.md +16 -0
- package/docs/reference/player-container.md +9 -3
- package/docs/reference/player-provider.md +3 -1
- package/docs/reference/quality-radio-group.md +59 -0
- package/docs/reference/simple-hls-audio-only.md +93 -0
- package/docs/reference/simple-hls-video.md +150 -0
- package/docs/reference/time-slider.md +12 -0
- package/docs/reference/time.md +24 -0
- package/docs/reference/tooltip.md +89 -5
- package/docs/reference/use-media-attach.md +2 -2
- package/docs/reference/use-media.md +103 -2
- package/docs/reference/use-player-context.md +1 -1
- package/docs/reference/use-player.md +16 -1
- package/docs/reference/use-selector.md +1 -1
- package/docs/reference/use-snapshot.md +3 -3
- package/docs/reference/volume-slider.md +1 -1
- package/package.json +7 -7
- package/dist/default/media/hls-video/index.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js +0 -12
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +0 -16
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
- package/dist/default/ui/menu/menu-label.js +0 -23
- package/dist/default/ui/menu/menu-label.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/context.js +0 -20
- package/dist/default/ui/playback-rate-menu/context.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/index.js +0 -3
- package/dist/default/ui/playback-rate-menu/index.parts.js +0 -17
- package/dist/default/ui/playback-rate-menu/index.parts.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +0 -36
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
- package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
- package/dist/dev/media/hls-video/index.d.ts +0 -15
- package/dist/dev/media/hls-video/index.d.ts.map +0 -1
- package/dist/dev/media/hls-video/index.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +0 -12
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +0 -5
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +0 -16
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
- package/dist/dev/ui/menu/menu-label.d.ts +0 -15
- package/dist/dev/ui/menu/menu-label.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-label.js +0 -23
- package/dist/dev/ui/menu/menu-label.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/context.js +0 -20
- package/dist/dev/ui/playback-rate-menu/context.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/index.d.ts +0 -3
- package/dist/dev/ui/playback-rate-menu/index.js +0 -3
- package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +0 -12
- package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/index.parts.js +0 -17
- package/dist/dev/ui/playback-rate-menu/index.parts.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +0 -14
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +0 -23
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +0 -39
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +0 -14
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +0 -26
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import AirPlayEnterIcon from "../dist/react/minimal/airplay-enter.js";
|
|
2
|
+
import AirPlayExitIcon from "../dist/react/minimal/airplay-exit.js";
|
|
1
3
|
import CaptionsOffIcon from "../dist/react/minimal/captions-off.js";
|
|
2
4
|
import CaptionsOnIcon from "../dist/react/minimal/captions-on.js";
|
|
3
5
|
import CastEnterIcon from "../dist/react/minimal/cast-enter.js";
|
|
@@ -6,14 +8,19 @@ import CheckIcon from "../dist/react/minimal/check.js";
|
|
|
6
8
|
import ChevronIcon from "../dist/react/minimal/chevron.js";
|
|
7
9
|
import FullscreenEnterIcon from "../dist/react/minimal/fullscreen-enter.js";
|
|
8
10
|
import FullscreenExitIcon from "../dist/react/minimal/fullscreen-exit.js";
|
|
11
|
+
import GearIcon from "../dist/react/minimal/gear.js";
|
|
9
12
|
import PauseIcon from "../dist/react/minimal/pause.js";
|
|
10
13
|
import PipEnterIcon from "../dist/react/minimal/pip-enter.js";
|
|
11
14
|
import PipExitIcon from "../dist/react/minimal/pip-exit.js";
|
|
12
15
|
import PlayIcon from "../dist/react/minimal/play.js";
|
|
16
|
+
import QualityIcon from "../dist/react/minimal/quality.js";
|
|
13
17
|
import RestartIcon from "../dist/react/minimal/restart.js";
|
|
14
18
|
import SeekIcon from "../dist/react/minimal/seek.js";
|
|
19
|
+
import SpeechIcon from "../dist/react/minimal/speech.js";
|
|
20
|
+
import SpeedIcon from "../dist/react/minimal/speed.js";
|
|
15
21
|
import SpinnerIcon from "../dist/react/minimal/spinner.js";
|
|
22
|
+
import SwitchesIcon from "../dist/react/minimal/switches.js";
|
|
16
23
|
import VolumeHighIcon from "../dist/react/minimal/volume-high.js";
|
|
17
24
|
import VolumeLowIcon from "../dist/react/minimal/volume-low.js";
|
|
18
25
|
import VolumeOffIcon from "../dist/react/minimal/volume-off.js";
|
|
19
|
-
export { CaptionsOffIcon, CaptionsOnIcon, CastEnterIcon, CastExitIcon, CheckIcon, ChevronIcon, FullscreenEnterIcon, FullscreenExitIcon, PauseIcon, PipEnterIcon, PipExitIcon, PlayIcon, RestartIcon, SeekIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon };
|
|
26
|
+
export { AirPlayEnterIcon, AirPlayExitIcon, CaptionsOffIcon, CaptionsOnIcon, CastEnterIcon, CastExitIcon, CheckIcon, ChevronIcon, FullscreenEnterIcon, FullscreenExitIcon, GearIcon, PauseIcon, PipEnterIcon, PipExitIcon, PlayIcon, QualityIcon, RestartIcon, SeekIcon, SpeechIcon, SpeedIcon, SpinnerIcon, SwitchesIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon };
|
package/dist/default/index.js
CHANGED
|
@@ -4,15 +4,19 @@ import { Container, useContainer, useContainerAttach, useMedia, useMediaAttach,
|
|
|
4
4
|
import { useLatestRef } from "./utils/use-latest-ref.js";
|
|
5
5
|
import { useDestroy } from "./utils/use-destroy.js";
|
|
6
6
|
import { createPlayer } from "./player/create-player.js";
|
|
7
|
-
import { useAlertDialogContext } from "./ui/alert-dialog/context.js";
|
|
8
7
|
import { mergeProps } from "./utils/merge-props.js";
|
|
9
8
|
import { renderElement } from "./utils/use-render.js";
|
|
10
|
-
import { index_parts_exports } from "./ui/alert-dialog/index.parts.js";
|
|
11
|
-
import { BufferingIndicator } from "./ui/buffering-indicator/buffering-indicator.js";
|
|
12
9
|
import { useButton } from "./ui/hooks/use-button.js";
|
|
13
|
-
import {
|
|
10
|
+
import { useHotkeyShortcut } from "./ui/hotkey/use-hotkey-shortcut.js";
|
|
11
|
+
import { useMenuContext, useOptionalMenuContext } from "./ui/menu/context.js";
|
|
14
12
|
import { useTooltipContext } from "./ui/tooltip/context.js";
|
|
13
|
+
import { AirPlayButton } from "./ui/airplay-button/airplay-button.js";
|
|
14
|
+
import { useAlertDialogContext } from "./ui/alert-dialog/context.js";
|
|
15
|
+
import { index_parts_exports } from "./ui/alert-dialog/index.parts.js";
|
|
16
|
+
import { useAudioTrackOptions } from "./ui/audio-track/use-audio-track-options.js";
|
|
17
|
+
import { BufferingIndicator } from "./ui/buffering-indicator/buffering-indicator.js";
|
|
15
18
|
import { CaptionsButton } from "./ui/captions-button/captions-button.js";
|
|
19
|
+
import { useCaptionsOptions } from "./ui/captions-radio-group/use-captions-options.js";
|
|
16
20
|
import { CastButton } from "./ui/cast-button/cast-button.js";
|
|
17
21
|
import { index_parts_exports as index_parts_exports$1 } from "./ui/controls/index.parts.js";
|
|
18
22
|
import { useErrorDialogContext } from "./ui/error-dialog/context.js";
|
|
@@ -25,31 +29,31 @@ import { useSlider } from "./ui/hooks/use-slider.js";
|
|
|
25
29
|
import { Hotkey, MediaHotkey } from "./ui/hotkey/hotkey.js";
|
|
26
30
|
import { useHotkey } from "./ui/hotkey/use-hotkey.js";
|
|
27
31
|
import { LiveButton } from "./ui/live-button/live-button.js";
|
|
28
|
-
import {
|
|
32
|
+
import { usePlaybackRateOptions } from "./ui/playback-rate/use-playback-rate-options.js";
|
|
33
|
+
import { useQualityOptions } from "./ui/quality/use-quality-options.js";
|
|
29
34
|
import { index_parts_exports as index_parts_exports$3 } from "./ui/menu/index.parts.js";
|
|
30
35
|
import { MuteButton } from "./ui/mute-button/mute-button.js";
|
|
31
36
|
import { PiPButton } from "./ui/pip-button/pip-button.js";
|
|
32
37
|
import { PlayButton } from "./ui/play-button/play-button.js";
|
|
33
38
|
import { PlaybackRateButton } from "./ui/playback-rate-button/playback-rate-button.js";
|
|
34
|
-
import { usePlaybackRateMenu } from "./ui/playback-rate-menu/use-playback-rate-menu.js";
|
|
35
|
-
import { index_parts_exports as index_parts_exports$4 } from "./ui/playback-rate-menu/index.parts.js";
|
|
36
39
|
import { usePopoverContext } from "./ui/popover/context.js";
|
|
37
|
-
import { index_parts_exports as index_parts_exports$
|
|
40
|
+
import { index_parts_exports as index_parts_exports$4 } from "./ui/popover/index.parts.js";
|
|
38
41
|
import { Poster } from "./ui/poster/poster.js";
|
|
39
42
|
import { SeekButton } from "./ui/seek-button/seek-button.js";
|
|
40
|
-
import { index_parts_exports as index_parts_exports$
|
|
43
|
+
import { index_parts_exports as index_parts_exports$5 } from "./ui/seek-indicator/index.parts.js";
|
|
41
44
|
import { Thumbnail } from "./ui/thumbnail/thumbnail.js";
|
|
42
|
-
import { index_parts_exports as index_parts_exports$
|
|
45
|
+
import { index_parts_exports as index_parts_exports$6 } from "./ui/slider/index.parts.js";
|
|
43
46
|
import { StatusAnnouncer } from "./ui/status-announcer/status-announcer.js";
|
|
44
|
-
import { index_parts_exports as index_parts_exports$
|
|
45
|
-
import { index_parts_exports as index_parts_exports$
|
|
46
|
-
import { index_parts_exports as index_parts_exports$
|
|
47
|
-
import { index_parts_exports as index_parts_exports$
|
|
48
|
-
import { index_parts_exports as index_parts_exports$
|
|
49
|
-
import { index_parts_exports as index_parts_exports$
|
|
47
|
+
import { index_parts_exports as index_parts_exports$7 } from "./ui/status-indicator/index.parts.js";
|
|
48
|
+
import { index_parts_exports as index_parts_exports$8 } from "./ui/time/index.parts.js";
|
|
49
|
+
import { index_parts_exports as index_parts_exports$9 } from "./ui/time-slider/index.parts.js";
|
|
50
|
+
import { index_parts_exports as index_parts_exports$10 } from "./ui/tooltip/index.parts.js";
|
|
51
|
+
import { index_parts_exports as index_parts_exports$11 } from "./ui/volume-indicator/index.parts.js";
|
|
52
|
+
import { index_parts_exports as index_parts_exports$12 } from "./ui/volume-slider/index.parts.js";
|
|
50
53
|
import { useAttachMedia } from "./utils/use-attach-media.js";
|
|
51
54
|
import { useMediaInstance } from "./utils/use-media-instance.js";
|
|
52
55
|
import { createSelector, shallowEqual } from "@videojs/store";
|
|
53
56
|
import { useSelector, useStore } from "@videojs/store/react";
|
|
54
57
|
export * from "@videojs/core/dom";
|
|
55
|
-
export
|
|
58
|
+
export * from "@videojs/core/media/predicate";
|
|
59
|
+
export { AirPlayButton, index_parts_exports as AlertDialog, BufferingIndicator, CaptionsButton, CastButton, Container, index_parts_exports$1 as Controls, index_parts_exports$2 as ErrorDialog, FullscreenButton, Gesture, Hotkey, LiveButton, MediaGesture, MediaHotkey, index_parts_exports$3 as Menu, MuteButton, PiPButton, PlayButton, PlaybackRateButton, index_parts_exports$4 as Popover, Poster, SeekButton, index_parts_exports$5 as SeekIndicator, index_parts_exports$6 as Slider, StatusAnnouncer, index_parts_exports$7 as StatusIndicator, Thumbnail, index_parts_exports$8 as Time, index_parts_exports$9 as TimeSlider, index_parts_exports$10 as Tooltip, index_parts_exports$11 as VolumeIndicator, index_parts_exports$12 as VolumeSlider, composeRefs, createPlayer, createSelector, mergeProps, renderElement, shallowEqual, useAlertDialogContext, useAttachMedia, useAudioTrackOptions, useButton, useCaptionsOptions, useComposedRefs, useContainer, useContainerAttach, useDestroy, useDoubleTapGesture, useErrorDialogContext, useHotkey, useHotkeyShortcut, useLatestRef, useMedia, useMediaAttach, useMediaInstance, useMenuContext, useOptionalContainer, useOptionalMenuContext, useOptionalPlayer, usePlaybackRateOptions, usePlayer, usePlayerContext, usePopoverContext, useQualityOptions, useSelector, useSlider, useStore, useTapGesture, useTooltipContext };
|
|
@@ -6,9 +6,13 @@ import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
|
6
6
|
import { forwardRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
import { DashMedia, dashMediaDefaultProps } from "@videojs/core/dom/media/dash";
|
|
9
|
+
import { GoogleCast } from "@videojs/core/dom/media/google-cast";
|
|
10
|
+
import { addComponent } from "@videojs/core/dom/media/media-host";
|
|
9
11
|
//#region src/media/dash-video/index.tsx
|
|
10
12
|
const DashVideo = forwardRef(function DashVideo({ children, ...props }, ref) {
|
|
11
|
-
const media = useMediaInstance(DashMedia)
|
|
13
|
+
const media = useMediaInstance(DashMedia, (media) => {
|
|
14
|
+
addComponent(media, new GoogleCast());
|
|
15
|
+
});
|
|
12
16
|
return /* @__PURE__ */ jsx("video", {
|
|
13
17
|
ref: useComposedRefs(useAttachMedia(media), ref),
|
|
14
18
|
...useSyncProps(media, props, dashMediaDefaultProps),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/dash-video/index.tsx"],"sourcesContent":["'use client';\n\nimport type { DashMediaProps } from '@videojs/core/dom/media/dash';\nimport { DashMedia, dashMediaDefaultProps } from '@videojs/core/dom/media/dash';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface DashVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof DashMediaProps>,\n Partial<DashMediaProps> {\n children?: ReactNode;\n}\n\nexport const DashVideo = forwardRef<HTMLVideoElement, DashVideoProps>(function DashVideo({ children, ...props }, ref) {\n const media = useMediaInstance(DashMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, dashMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace DashVideo {\n export type Props = DashVideoProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/dash-video/index.tsx"],"sourcesContent":["'use client';\n\nimport type { DashMediaProps } from '@videojs/core/dom/media/dash';\nimport { DashMedia, dashMediaDefaultProps } from '@videojs/core/dom/media/dash';\nimport { GoogleCast } from '@videojs/core/dom/media/google-cast';\nimport { addComponent } from '@videojs/core/dom/media/media-host';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface DashVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof DashMediaProps>,\n Partial<DashMediaProps> {\n children?: ReactNode;\n}\n\nexport const DashVideo = forwardRef<HTMLVideoElement, DashVideoProps>(function DashVideo({ children, ...props }, ref) {\n const media = useMediaInstance(DashMedia, (media) => {\n addComponent(media, new GoogleCast());\n });\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, dashMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace DashVideo {\n export type Props = DashVideoProps;\n}\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,YAAY,WAA6C,SAAS,UAAU,EAAE,UAAU,GAAG,SAAS,KAAK;CACpH,MAAM,QAAQ,iBAAiB,YAAY,UAAU;AACnD,eAAa,OAAO,IAAI,YAAY,CAAC;GACrC;AAKF,QACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,MAAM,EACQ,IAAI;EAIxB,GAHT,aAAa,OAAO,OAAO,sBAAsB;EAI9D;EACK,CAAA;EAEV"}
|
|
@@ -5,10 +5,14 @@ import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
|
5
5
|
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
6
6
|
import { forwardRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
import { GoogleCast } from "@videojs/core/dom/media/google-cast";
|
|
9
|
+
import { addComponent } from "@videojs/core/dom/media/media-host";
|
|
10
|
+
import { HlsJsMedia, hlsMediaDefaultProps } from "@videojs/core/dom/media/hls-js";
|
|
11
|
+
//#region src/media/hlsjs-video/index.tsx
|
|
12
|
+
const HlsJsVideo = forwardRef(function HlsJsVideo({ children, ...props }, ref) {
|
|
13
|
+
const media = useMediaInstance(HlsJsMedia, (media) => {
|
|
14
|
+
addComponent(media, new GoogleCast());
|
|
15
|
+
});
|
|
12
16
|
return /* @__PURE__ */ jsx("video", {
|
|
13
17
|
ref: useComposedRefs(useAttachMedia(media), ref),
|
|
14
18
|
...useSyncProps(media, props, hlsMediaDefaultProps),
|
|
@@ -16,6 +20,6 @@ const HlsVideo = forwardRef(function HlsVideo({ children, ...props }, ref) {
|
|
|
16
20
|
});
|
|
17
21
|
});
|
|
18
22
|
//#endregion
|
|
19
|
-
export {
|
|
23
|
+
export { HlsJsVideo };
|
|
20
24
|
|
|
21
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/hlsjs-video/index.tsx"],"sourcesContent":["'use client';\n\nimport { GoogleCast } from '@videojs/core/dom/media/google-cast';\nimport type { HlsMediaProps } from '@videojs/core/dom/media/hls-js';\nimport { HlsJsMedia, hlsMediaDefaultProps } from '@videojs/core/dom/media/hls-js';\nimport { addComponent } from '@videojs/core/dom/media/media-host';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface HlsJsVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof HlsMediaProps>,\n Partial<HlsMediaProps> {\n children?: ReactNode;\n}\n\nexport const HlsJsVideo = forwardRef<HTMLVideoElement, HlsJsVideoProps>(function HlsJsVideo(\n { children, ...props },\n ref\n) {\n const media = useMediaInstance(HlsJsMedia, (media) => {\n addComponent(media, new GoogleCast());\n });\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, hlsMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace HlsJsVideo {\n export type Props = HlsJsVideoProps;\n}\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,aAAa,WAA8C,SAAS,WAC/E,EAAE,UAAU,GAAG,SACf,KACA;CACA,MAAM,QAAQ,iBAAiB,aAAa,UAAU;AACpD,eAAa,OAAO,IAAI,YAAY,CAAC;GACrC;AAKF,QACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,MAAM,EACQ,IAAI;EAIxB,GAHT,aAAa,OAAO,OAAO,qBAAqB;EAI7D;EACK,CAAA;EAEV"}
|
|
@@ -5,13 +5,19 @@ import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
|
5
5
|
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
6
6
|
import { forwardRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
import {
|
|
8
|
+
import { GoogleCast } from "@videojs/core/dom/media/google-cast";
|
|
9
|
+
import { addComponent } from "@videojs/core/dom/media/media-host";
|
|
10
|
+
import { HlsJsMedia, hlsMediaDefaultProps } from "@videojs/core/dom/media/hls-js";
|
|
11
|
+
import { MuxData } from "@videojs/core/dom/media/mux";
|
|
9
12
|
//#region src/media/mux-audio/index.tsx
|
|
10
13
|
const MuxAudio = forwardRef(function MuxAudio({ children, ...props }, ref) {
|
|
11
|
-
const media = useMediaInstance(
|
|
14
|
+
const media = useMediaInstance(HlsJsMedia, (media) => {
|
|
15
|
+
addComponent(media, new MuxData({ playerSoftwareName: "mux-audio" }));
|
|
16
|
+
addComponent(media, new GoogleCast());
|
|
17
|
+
});
|
|
12
18
|
return /* @__PURE__ */ jsx("audio", {
|
|
13
19
|
ref: useComposedRefs(useAttachMedia(media), ref),
|
|
14
|
-
...useSyncProps(media, props,
|
|
20
|
+
...useSyncProps(media, props, hlsMediaDefaultProps),
|
|
15
21
|
children
|
|
16
22
|
});
|
|
17
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/mux-audio/index.tsx"],"sourcesContent":["'use client';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/mux-audio/index.tsx"],"sourcesContent":["'use client';\n\nimport { GoogleCast } from '@videojs/core/dom/media/google-cast';\nimport type { HlsMediaProps } from '@videojs/core/dom/media/hls-js';\nimport { HlsJsMedia, hlsMediaDefaultProps } from '@videojs/core/dom/media/hls-js';\nimport { addComponent } from '@videojs/core/dom/media/media-host';\nimport { MuxData } from '@videojs/core/dom/media/mux';\nimport type { AudioHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface MuxAudioProps\n extends Omit<AudioHTMLAttributes<HTMLAudioElement>, keyof HlsMediaProps>,\n Partial<HlsMediaProps> {\n children?: ReactNode;\n}\n\nexport const MuxAudio = forwardRef<HTMLAudioElement, MuxAudioProps>(function MuxAudio({ children, ...props }, ref) {\n const media = useMediaInstance(HlsJsMedia, (media) => {\n addComponent(media, new MuxData({ playerSoftwareName: 'mux-audio' }));\n addComponent(media, new GoogleCast());\n });\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, hlsMediaDefaultProps);\n\n return (\n <audio ref={composedRef} {...htmlProps}>\n {children}\n </audio>\n );\n});\n\nexport namespace MuxAudio {\n export type Props = MuxAudioProps;\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,aAAa,UAAU;AACpD,eAAa,OAAO,IAAI,QAAQ,EAAE,oBAAoB,aAAa,CAAC,CAAC;AACrE,eAAa,OAAO,IAAI,YAAY,CAAC;GACrC;AAKF,QACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,MAAM,EACQ,IAAI;EAIxB,GAHT,aAAa,OAAO,OAAO,qBAAqB;EAI7D;EACK,CAAA;EAEV"}
|
|
@@ -5,13 +5,19 @@ import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
|
5
5
|
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
6
6
|
import { forwardRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
import {
|
|
8
|
+
import { GoogleCast } from "@videojs/core/dom/media/google-cast";
|
|
9
|
+
import { addComponent } from "@videojs/core/dom/media/media-host";
|
|
10
|
+
import { HlsJsMedia, hlsMediaDefaultProps } from "@videojs/core/dom/media/hls-js";
|
|
11
|
+
import { MuxData } from "@videojs/core/dom/media/mux";
|
|
9
12
|
//#region src/media/mux-video/index.tsx
|
|
10
13
|
const MuxVideo = forwardRef(function MuxVideo({ children, ...props }, ref) {
|
|
11
|
-
const media = useMediaInstance(
|
|
14
|
+
const media = useMediaInstance(HlsJsMedia, (media) => {
|
|
15
|
+
addComponent(media, new MuxData({ playerSoftwareName: "mux-video" }));
|
|
16
|
+
addComponent(media, new GoogleCast());
|
|
17
|
+
});
|
|
12
18
|
return /* @__PURE__ */ jsx("video", {
|
|
13
19
|
ref: useComposedRefs(useAttachMedia(media), ref),
|
|
14
|
-
...useSyncProps(media, props,
|
|
20
|
+
...useSyncProps(media, props, hlsMediaDefaultProps),
|
|
15
21
|
children
|
|
16
22
|
});
|
|
17
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/mux-video/index.tsx"],"sourcesContent":["'use client';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/mux-video/index.tsx"],"sourcesContent":["'use client';\n\nimport { GoogleCast } from '@videojs/core/dom/media/google-cast';\nimport type { HlsMediaProps } from '@videojs/core/dom/media/hls-js';\nimport { HlsJsMedia, hlsMediaDefaultProps } from '@videojs/core/dom/media/hls-js';\nimport { addComponent } from '@videojs/core/dom/media/media-host';\nimport { MuxData } from '@videojs/core/dom/media/mux';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface MuxVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof HlsMediaProps>,\n Partial<HlsMediaProps> {\n children?: ReactNode;\n}\n\nexport const MuxVideo = forwardRef<HTMLVideoElement, MuxVideoProps>(function MuxVideo({ children, ...props }, ref) {\n const media = useMediaInstance(HlsJsMedia, (media) => {\n addComponent(media, new MuxData({ playerSoftwareName: 'mux-video' }));\n addComponent(media, new GoogleCast());\n });\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, hlsMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace MuxVideo {\n export type Props = MuxVideoProps;\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,aAAa,UAAU;AACpD,eAAa,OAAO,IAAI,QAAQ,EAAE,oBAAoB,aAAa,CAAC,CAAC;AACrE,eAAa,OAAO,IAAI,YAAY,CAAC;GACrC;AAKF,QACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,MAAM,EACQ,IAAI;EAIxB,GAHT,aAAa,OAAO,OAAO,qBAAqB;EAI7D;EACK,CAAA;EAEV"}
|
|
@@ -5,10 +5,14 @@ import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
|
5
5
|
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
6
6
|
import { forwardRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { GoogleCast } from "@videojs/core/dom/media/google-cast";
|
|
9
|
+
import { addComponent } from "@videojs/core/dom/media/media-host";
|
|
8
10
|
import { NativeHlsMedia, nativeHlsMediaDefaultProps } from "@videojs/core/dom/media/native-hls";
|
|
9
11
|
//#region src/media/native-hls-video/index.tsx
|
|
10
12
|
const NativeHlsVideo = forwardRef(function NativeHlsVideo({ children, ...props }, ref) {
|
|
11
|
-
const media = useMediaInstance(NativeHlsMedia)
|
|
13
|
+
const media = useMediaInstance(NativeHlsMedia, (media) => {
|
|
14
|
+
addComponent(media, new GoogleCast());
|
|
15
|
+
});
|
|
12
16
|
return /* @__PURE__ */ jsx("video", {
|
|
13
17
|
ref: useComposedRefs(useAttachMedia(media), ref),
|
|
14
18
|
...useSyncProps(media, props, nativeHlsMediaDefaultProps),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/native-hls-video/index.tsx"],"sourcesContent":["'use client';\n\nimport type { NativeHlsMediaProps } from '@videojs/core/dom/media/native-hls';\nimport { NativeHlsMedia, nativeHlsMediaDefaultProps } from '@videojs/core/dom/media/native-hls';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface NativeHlsVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof NativeHlsMediaProps>,\n Partial<NativeHlsMediaProps> {\n children?: ReactNode;\n}\n\nexport const NativeHlsVideo = forwardRef<HTMLVideoElement, NativeHlsVideoProps>(function NativeHlsVideo(\n { children, ...props },\n ref\n) {\n const media = useMediaInstance(NativeHlsMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, nativeHlsMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace NativeHlsVideo {\n export type Props = NativeHlsVideoProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/native-hls-video/index.tsx"],"sourcesContent":["'use client';\n\nimport { GoogleCast } from '@videojs/core/dom/media/google-cast';\nimport { addComponent } from '@videojs/core/dom/media/media-host';\nimport type { NativeHlsMediaProps } from '@videojs/core/dom/media/native-hls';\nimport { NativeHlsMedia, nativeHlsMediaDefaultProps } from '@videojs/core/dom/media/native-hls';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface NativeHlsVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof NativeHlsMediaProps>,\n Partial<NativeHlsMediaProps> {\n children?: ReactNode;\n}\n\nexport const NativeHlsVideo = forwardRef<HTMLVideoElement, NativeHlsVideoProps>(function NativeHlsVideo(\n { children, ...props },\n ref\n) {\n const media = useMediaInstance(NativeHlsMedia, (media) => {\n addComponent(media, new GoogleCast());\n });\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, nativeHlsMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace NativeHlsVideo {\n export type Props = NativeHlsVideoProps;\n}\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,iBAAiB,WAAkD,SAAS,eACvF,EAAE,UAAU,GAAG,SACf,KACA;CACA,MAAM,QAAQ,iBAAiB,iBAAiB,UAAU;AACxD,eAAa,OAAO,IAAI,YAAY,CAAC;GACrC;AAKF,QACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,MAAM,EACQ,IAAI;EAIxB,GAHT,aAAa,OAAO,OAAO,2BAA2B;EAInE;EACK,CAAA;EAEV"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useComposedRefs } from "../../utils/use-composed-refs.js";
|
|
3
|
+
import { useAttachMedia } from "../../utils/use-attach-media.js";
|
|
4
|
+
import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
5
|
+
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
6
|
+
import { forwardRef } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { SimpleHlsAudioOnlyMedia } from "@videojs/core/dom/media/simple-hls-audio-only";
|
|
9
|
+
import { simpleHlsAudioOnlyMediaDefaultProps } from "@videojs/spf/hls";
|
|
10
|
+
//#region src/media/simple-hls-audio-only/index.tsx
|
|
11
|
+
const SimpleHlsAudioOnly = forwardRef(function SimpleHlsAudioOnly({ children, ...props }, ref) {
|
|
12
|
+
const media = useMediaInstance(SimpleHlsAudioOnlyMedia);
|
|
13
|
+
return /* @__PURE__ */ jsx("audio", {
|
|
14
|
+
ref: useComposedRefs(useAttachMedia(media), ref),
|
|
15
|
+
...useSyncProps(media, props, simpleHlsAudioOnlyMediaDefaultProps),
|
|
16
|
+
children
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { SimpleHlsAudioOnly };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/simple-hls-audio-only/index.tsx"],"sourcesContent":["'use client';\n\nimport { SimpleHlsAudioOnlyMedia } from '@videojs/core/dom/media/simple-hls-audio-only';\nimport type { SimpleHlsAudioOnlyMediaProps } from '@videojs/spf/hls';\nimport { simpleHlsAudioOnlyMediaDefaultProps } from '@videojs/spf/hls';\nimport type { AudioHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface SimpleHlsAudioOnlyProps\n extends Omit<AudioHTMLAttributes<HTMLAudioElement>, keyof SimpleHlsAudioOnlyMediaProps>,\n Partial<SimpleHlsAudioOnlyMediaProps> {\n children?: ReactNode;\n}\n\nexport const SimpleHlsAudioOnly = forwardRef<HTMLAudioElement, SimpleHlsAudioOnlyProps>(function SimpleHlsAudioOnly(\n { children, ...props },\n ref\n) {\n const media = useMediaInstance(SimpleHlsAudioOnlyMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, simpleHlsAudioOnlyMediaDefaultProps);\n\n return (\n <audio ref={composedRef} {...htmlProps}>\n {children}\n </audio>\n );\n});\n\nexport namespace SimpleHlsAudioOnly {\n export type Props = SimpleHlsAudioOnlyProps;\n}\n"],"mappings":";;;;;;;;;;AAkBA,MAAa,qBAAqB,WAAsD,SAAS,mBAC/F,EAAE,UAAU,GAAG,SACf,KACA;CACA,MAAM,QAAQ,iBAAiB,wBAAwB;AAKvD,QACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,MAAM,EACQ,IAAI;EAIxB,GAHT,aAAa,OAAO,OAAO,oCAAoC;EAI5E;EACK,CAAA;EAEV"}
|
|
@@ -5,8 +5,8 @@ import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
|
5
5
|
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
6
6
|
import { forwardRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
import { SimpleHlsMedia } from "@videojs/core/dom/media/simple-hls";
|
|
9
8
|
import { simpleHlsMediaDefaultProps } from "@videojs/spf/hls";
|
|
9
|
+
import { SimpleHlsMedia } from "@videojs/core/dom/media/simple-hls";
|
|
10
10
|
//#region src/media/simple-hls-video/index.tsx
|
|
11
11
|
const SimpleHlsVideo = forwardRef(function SimpleHlsVideo({ children, ...props }, ref) {
|
|
12
12
|
const media = useMediaInstance(SimpleHlsMedia);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useComposedRefs } from "../../utils/use-composed-refs.js";
|
|
3
|
+
import { useMediaInstance } from "../../utils/use-media-instance.js";
|
|
4
|
+
import { useSyncProps } from "../../utils/use-sync-props.js";
|
|
5
|
+
import { useAttachIframe } from "../../utils/use-attach-iframe.js";
|
|
6
|
+
import { forwardRef, useState } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { VimeoMedia, buildVimeoIframeSrc, vimeoMediaDefaultProps } from "@videojs/core/dom/media/vimeo";
|
|
9
|
+
//#region src/media/vimeo-video/index.tsx
|
|
10
|
+
const VimeoVideo = forwardRef(function VimeoVideo({ children, ...rawProps }, ref) {
|
|
11
|
+
const media = useMediaInstance(VimeoMedia);
|
|
12
|
+
const props = { ...rawProps };
|
|
13
|
+
const composedRef = useComposedRefs(useAttachIframe(media), ref);
|
|
14
|
+
const [initialSrc] = useState(() => buildVimeoIframeSrc(props.src ?? "", {
|
|
15
|
+
...vimeoMediaDefaultProps,
|
|
16
|
+
...props
|
|
17
|
+
}));
|
|
18
|
+
const iframeProps = useSyncProps(media, props, vimeoMediaDefaultProps);
|
|
19
|
+
return /* @__PURE__ */ jsx("iframe", {
|
|
20
|
+
title: "Vimeo video player",
|
|
21
|
+
src: initialSrc,
|
|
22
|
+
"data-cross-origin-frame": true,
|
|
23
|
+
allow: "accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture",
|
|
24
|
+
allowFullScreen: true,
|
|
25
|
+
frameBorder: 0,
|
|
26
|
+
width: "100%",
|
|
27
|
+
height: "100%",
|
|
28
|
+
referrerPolicy: props.config?.referrerPolicy,
|
|
29
|
+
...iframeProps,
|
|
30
|
+
ref: composedRef,
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
export { VimeoVideo };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/media/vimeo-video/index.tsx"],"sourcesContent":["'use client';\n\nimport type { VimeoMediaProps } from '@videojs/core/dom/media/vimeo';\nimport { buildVimeoIframeSrc, VimeoMedia, vimeoMediaDefaultProps } from '@videojs/core/dom/media/vimeo';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { useAttachIframe } from '../../utils/use-attach-iframe';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface VimeoVideoProps extends Partial<VimeoMediaProps> {\n children?: ReactNode;\n}\n\nexport const VimeoVideo = forwardRef<HTMLIFrameElement, VimeoVideoProps>(function VimeoVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(VimeoMedia);\n const props: Partial<VimeoMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() => buildVimeoIframeSrc(props.src ?? '', { ...vimeoMediaDefaultProps, ...props }));\n const iframeProps = useSyncProps<VimeoMediaProps, Record<string, unknown>>(media, props, vimeoMediaDefaultProps);\n\n return (\n <iframe\n title=\"Vimeo video player\"\n src={initialSrc}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.config?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace VimeoVideo {\n export type Props = VimeoVideoProps;\n}\n"],"mappings":";;;;;;;;;AAeA,MAAa,aAAa,WAA+C,SAAS,WAChF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,WAAW;CAC1C,MAAM,QAA4D,EAAE,GAAG,UAAU;CAEjF,MAAM,cAAc,gBADF,gBAAgB,MAAM,EACO,IAAI;CACnD,MAAM,CAAC,cAAc,eAAe,oBAAoB,MAAM,OAAO,IAAI;EAAE,GAAG;EAAwB,GAAG;EAAO,CAAC,CAAC;CAClH,MAAM,cAAc,aAAuD,OAAO,OAAO,uBAAuB;AAEhH,QACE,oBAAC,UAAD;EACE,OAAM;EACN,KAAK;EACL,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ;EAC9B,GAAI;EACJ,KAAK;EAEJ;EACM,CAAA;EAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.tsx"],"sourcesContent":["'use client';\n\nimport type { Media } from '@videojs/core';\nimport type { MediaContainer, PopupGroup } from '@videojs/core/dom';\nimport type { UnknownState, UnknownStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport type { Dispatch, HTMLAttributes, ReactNode, PointerEvent as ReactPointerEvent, SetStateAction } from 'react';\nimport { createContext, forwardRef, useContext, useEffect, useRef } from 'react';\n\nimport { useComposedRefs } from '../utils/use-composed-refs';\n\nexport interface PlayerContextValue {\n store: UnknownStore;\n media: Media | null;\n setMedia: Dispatch<SetStateAction<Media | null>>;\n container: MediaContainer | null;\n setContainer: Dispatch<SetStateAction<HTMLElement | null>>;\n popupGroup?: PopupGroup;\n}\n\nconst PlayerContext = createContext<PlayerContextValue | null>(null);\nconst EMPTY_UNSUBSCRIBE = () => {};\nconst EMPTY_STORE = {\n state: {} as UnknownState,\n subscribe: () => EMPTY_UNSUBSCRIBE,\n} as Pick<UnknownStore, 'state' | 'subscribe'>;\n\nexport function PlayerContextProvider({\n value,\n children,\n}: {\n value: PlayerContextValue;\n children: ReactNode;\n}): ReactNode {\n return <PlayerContext.Provider value={value}>{children}</PlayerContext.Provider>;\n}\n\n/** Access the full player context value. Throws if used outside a Player Provider. */\nexport function usePlayerContext(): PlayerContextValue {\n const ctx = useContext(PlayerContext);\n if (!ctx) throw new Error('usePlayerContext must be used within a Player Provider');\n return ctx;\n}\n\n/**\n * Access the player store from within a Player Provider.\n *\n * @label Without Selector\n */\nexport function usePlayer(): UnknownStore;\n/**\n * Select a value from the player store. Re-renders when the selected value changes.\n *\n * @label With Selector\n * @param selector - Derives a value from the player store state.\n */\nexport function usePlayer<R>(selector: (state: UnknownState) => R): R;\nexport function usePlayer<R>(selector?: (state: UnknownState) => R) {\n const { store } = usePlayerContext();\n return useStore(store, selector as any);\n}\n\n/**\n * Access player state when available, but return `undefined` outside Provider.\n *\n * This is useful for components that can operate without player context\n * (e.g. they accept fully explicit props as a fallback).\n */\n/** @label Without Selector */\nexport function useOptionalPlayer(): UnknownStore | undefined;\n/** @label With Selector */\nexport function useOptionalPlayer<R>(selector: (state: UnknownState) => R): R | undefined;\nexport function useOptionalPlayer<R>(selector?: (state: UnknownState) => R) {\n const ctx = useContext(PlayerContext);\n const store = (ctx?.store ?? (EMPTY_STORE as unknown as UnknownStore)) as UnknownStore;\n const value = useStore(store, (ctx ? selector : undefined) as any);\n return ctx ? value : undefined;\n}\n\n/** Access the media element from within a Player Provider. */\nexport function useMedia(): Media | null {\n const { media } = usePlayerContext();\n return media;\n}\n\n/** Access the container element from within a Player Provider. */\nexport function useContainer(): MediaContainer | null {\n const { container } = usePlayerContext();\n return container;\n}\n\n/** Access the container element when a Player Provider is available. */\nexport function useOptionalContainer(): MediaContainer | null {\n const ctx = useContext(PlayerContext);\n return ctx?.container ?? null;\n}\n\n/** Access the interactive popup group when a Player Provider is available. */\nexport function useOptionalPopupGroup(): PopupGroup | undefined {\n const ctx = useContext(PlayerContext);\n return ctx?.popupGroup;\n}\n\n/** Access the media attach setter for connecting a media element to the player. */\nexport function useMediaAttach(): Dispatch<SetStateAction<Media | null>> | undefined {\n const ctx = useContext(PlayerContext);\n return ctx?.setMedia;\n}\n\n/** Access the container attach setter for connecting a container element to the player. */\nexport function useContainerAttach(): Dispatch<SetStateAction<HTMLElement | null>> | undefined {\n const ctx = useContext(PlayerContext);\n return ctx?.setContainer;\n}\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n { children, tabIndex = 0, ...props },\n ref\n) {\n const setContainer = useContainerAttach();\n const internalRef = useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(ref, internalRef);\n\n useEffect(() => {\n setContainer?.(internalRef.current);\n return () => setContainer?.(null);\n }, [setContainer]);\n\n const handlePointerUp = (event: ReactPointerEvent<HTMLDivElement>) => {\n props.onPointerUp?.(event);\n const el = internalRef.current;\n if (!el) return;\n // If nothing inside has focus, grab it so keyboard events reach hotkey listeners.\n if (!el.contains(document.activeElement) || document.activeElement === document.body) {\n el.focus({ preventScroll: true });\n }\n };\n\n return (\n <div ref={composedRef} tabIndex={tabIndex} {...props} onPointerUp={handlePointerUp}>\n {children}\n </div>\n );\n});\n\nexport namespace Container {\n export type Props = ContainerProps;\n}\n"],"mappings":";;;;;;AAoBA,MAAM,gBAAgB,cAAyC,KAAK;AACpE,MAAM,0BAA0B;AAChC,MAAM,cAAc;CAClB,OAAO,EAAE;CACT,iBAAiB;CAClB;AAED,SAAgB,sBAAsB,EACpC,OACA,YAIY;AACZ,QAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;EAAkC,CAAA;;;AAIlF,SAAgB,mBAAuC;CACrD,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,yDAAyD;AACnF,QAAO;;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.tsx"],"sourcesContent":["'use client';\n\nimport type { Media } from '@videojs/core';\nimport type { MediaContainer, PopupGroup } from '@videojs/core/dom';\nimport type { UnknownState, UnknownStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport type { Dispatch, HTMLAttributes, ReactNode, PointerEvent as ReactPointerEvent, SetStateAction } from 'react';\nimport { createContext, forwardRef, useContext, useEffect, useRef } from 'react';\n\nimport { useComposedRefs } from '../utils/use-composed-refs';\n\nexport interface PlayerContextValue {\n store: UnknownStore;\n media: Media | null;\n setMedia: Dispatch<SetStateAction<Media | null>>;\n container: MediaContainer | null;\n setContainer: Dispatch<SetStateAction<HTMLElement | null>>;\n popupGroup?: PopupGroup;\n}\n\nconst PlayerContext = createContext<PlayerContextValue | null>(null);\nconst EMPTY_UNSUBSCRIBE = () => {};\nconst EMPTY_STORE = {\n state: {} as UnknownState,\n subscribe: () => EMPTY_UNSUBSCRIBE,\n} as Pick<UnknownStore, 'state' | 'subscribe'>;\n\nexport function PlayerContextProvider({\n value,\n children,\n}: {\n value: PlayerContextValue;\n children: ReactNode;\n}): ReactNode {\n return <PlayerContext.Provider value={value}>{children}</PlayerContext.Provider>;\n}\n\n/** Access the full player context value. Throws if used outside a Player Provider. */\nexport function usePlayerContext(): PlayerContextValue {\n const ctx = useContext(PlayerContext);\n if (!ctx) throw new Error('usePlayerContext must be used within a Player Provider');\n return ctx;\n}\n\n/**\n * Access the player store from within a Player Provider.\n *\n * This standalone hook has no knowledge of your configured features, so it\n * returns an untyped `UnknownStore` whose state properties are typed as\n * `unknown`. For typed access, use the `usePlayer` returned by `createPlayer()`,\n * or pass a premade selector to recover the type from its return value.\n *\n * @label Without Selector\n */\nexport function usePlayer(): UnknownStore;\n/**\n * Select a value from the player store. Re-renders when the selected value changes.\n *\n * The selector receives `UnknownState`, so an inline selector returns `unknown`.\n * Pass a premade selector (e.g. `selectPlayback`) to get a typed result.\n *\n * @label With Selector\n * @param selector - Derives a value from the player store state.\n */\nexport function usePlayer<R>(selector: (state: UnknownState) => R): R;\nexport function usePlayer<R>(selector?: (state: UnknownState) => R) {\n const { store } = usePlayerContext();\n return useStore(store, selector as any);\n}\n\n/**\n * Access player state when available, but return `undefined` outside Provider.\n *\n * This is useful for components that can operate without player context\n * (e.g. they accept fully explicit props as a fallback).\n */\n/** @label Without Selector */\nexport function useOptionalPlayer(): UnknownStore | undefined;\n/** @label With Selector */\nexport function useOptionalPlayer<R>(selector: (state: UnknownState) => R): R | undefined;\nexport function useOptionalPlayer<R>(selector?: (state: UnknownState) => R) {\n const ctx = useContext(PlayerContext);\n const store = (ctx?.store ?? (EMPTY_STORE as unknown as UnknownStore)) as UnknownStore;\n const value = useStore(store, (ctx ? selector : undefined) as any);\n return ctx ? value : undefined;\n}\n\n/** Access the media element from within a Player Provider. */\nexport function useMedia(): Media | null {\n const { media } = usePlayerContext();\n return media;\n}\n\n/** Access the container element from within a Player Provider. */\nexport function useContainer(): MediaContainer | null {\n const { container } = usePlayerContext();\n return container;\n}\n\n/** Access the container element when a Player Provider is available. */\nexport function useOptionalContainer(): MediaContainer | null {\n const ctx = useContext(PlayerContext);\n return ctx?.container ?? null;\n}\n\n/** Access the interactive popup group when a Player Provider is available. */\nexport function useOptionalPopupGroup(): PopupGroup | undefined {\n const ctx = useContext(PlayerContext);\n return ctx?.popupGroup;\n}\n\n/** Access the media attach setter for connecting a media element to the player. */\nexport function useMediaAttach(): Dispatch<SetStateAction<Media | null>> | undefined {\n const ctx = useContext(PlayerContext);\n return ctx?.setMedia;\n}\n\n/** Access the container attach setter for connecting a container element to the player. */\nexport function useContainerAttach(): Dispatch<SetStateAction<HTMLElement | null>> | undefined {\n const ctx = useContext(PlayerContext);\n return ctx?.setContainer;\n}\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n { children, tabIndex = 0, ...props },\n ref\n) {\n const setContainer = useContainerAttach();\n const internalRef = useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(ref, internalRef);\n\n useEffect(() => {\n setContainer?.(internalRef.current);\n return () => setContainer?.(null);\n }, [setContainer]);\n\n const handlePointerUp = (event: ReactPointerEvent<HTMLDivElement>) => {\n props.onPointerUp?.(event);\n const el = internalRef.current;\n if (!el) return;\n // If nothing inside has focus, grab it so keyboard events reach hotkey listeners.\n if (!el.contains(document.activeElement) || document.activeElement === document.body) {\n el.focus({ preventScroll: true });\n }\n };\n\n return (\n <div ref={composedRef} tabIndex={tabIndex} {...props} onPointerUp={handlePointerUp}>\n {children}\n </div>\n );\n});\n\nexport namespace Container {\n export type Props = ContainerProps;\n}\n"],"mappings":";;;;;;AAoBA,MAAM,gBAAgB,cAAyC,KAAK;AACpE,MAAM,0BAA0B;AAChC,MAAM,cAAc;CAClB,OAAO,EAAE;CACT,iBAAiB;CAClB;AAED,SAAgB,sBAAsB,EACpC,OACA,YAIY;AACZ,QAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;EAAkC,CAAA;;;AAIlF,SAAgB,mBAAuC;CACrD,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,yDAAyD;AACnF,QAAO;;AAwBT,SAAgB,UAAa,UAAuC;CAClE,MAAM,EAAE,UAAU,kBAAkB;AACpC,QAAO,SAAS,OAAO,SAAgB;;AAazC,SAAgB,kBAAqB,UAAuC;CAC1E,MAAM,MAAM,WAAW,cAAc;CAErC,MAAM,QAAQ,SADC,KAAK,SAAU,aACC,MAAM,WAAW,KAAA,EAAkB;AAClE,QAAO,MAAM,QAAQ,KAAA;;;AAIvB,SAAgB,WAAyB;CACvC,MAAM,EAAE,UAAU,kBAAkB;AACpC,QAAO;;;AAIT,SAAgB,eAAsC;CACpD,MAAM,EAAE,cAAc,kBAAkB;AACxC,QAAO;;;AAIT,SAAgB,uBAA8C;AAE5D,QADY,WAAW,cAAc,EACzB,aAAa;;;AAI3B,SAAgB,wBAAgD;AAE9D,QADY,WAAW,cAAc,EACzB;;;AAId,SAAgB,iBAAqE;AAEnF,QADY,WAAW,cAAc,EACzB;;;AAId,SAAgB,qBAA+E;AAE7F,QADY,WAAW,cAAc,EACzB;;AAOd,MAAa,YAAY,WAA2C,SAAS,UAC3E,EAAE,UAAU,WAAW,GAAG,GAAG,SAC7B,KACA;CACA,MAAM,eAAe,oBAAoB;CACzC,MAAM,cAAc,OAAuB,KAAK;CAChD,MAAM,cAAc,gBAAgB,KAAK,YAAY;AAErD,iBAAgB;AACd,iBAAe,YAAY,QAAQ;AACnC,eAAa,eAAe,KAAK;IAChC,CAAC,aAAa,CAAC;CAElB,MAAM,mBAAmB,UAA6C;AACpE,QAAM,cAAc,MAAM;EAC1B,MAAM,KAAK,YAAY;AACvB,MAAI,CAAC,GAAI;AAET,MAAI,CAAC,GAAG,SAAS,SAAS,cAAc,IAAI,SAAS,kBAAkB,SAAS,KAC9E,IAAG,MAAM,EAAE,eAAe,MAAM,CAAC;;AAIrC,QACE,oBAAC,OAAD;EAAK,KAAK;EAAuB;EAAU,GAAI;EAAO,aAAa;EAChE;EACG,CAAA;EAER"}
|
|
@@ -4,18 +4,22 @@ import { useDestroy } from "../utils/use-destroy.js";
|
|
|
4
4
|
import { createPopupGroup } from "@videojs/core/dom";
|
|
5
5
|
import { combine, createStore } from "@videojs/store";
|
|
6
6
|
import { useStore } from "@videojs/store/react";
|
|
7
|
-
import { useEffect, useState } from "react";
|
|
7
|
+
import { useEffect, useMemo, useState } from "react";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
//#region src/player/create-player.tsx
|
|
10
10
|
function createPlayer(config) {
|
|
11
11
|
function Provider({ children }) {
|
|
12
|
-
const [store] = useState(() => createStore()(combine(...config.features)));
|
|
12
|
+
const [store, setStore] = useState(() => createStore()(combine(...config.features)));
|
|
13
13
|
const [popupGroup] = useState(() => createPopupGroup());
|
|
14
14
|
const [media, setMedia] = useState(null);
|
|
15
15
|
const [container, setContainer] = useState(null);
|
|
16
16
|
useDestroy(store);
|
|
17
17
|
useEffect(() => {
|
|
18
18
|
if (!media) return;
|
|
19
|
+
if (store.destroyed) {
|
|
20
|
+
setStore(createStore()(combine(...config.features)));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
19
23
|
return store.attach({
|
|
20
24
|
media,
|
|
21
25
|
container
|
|
@@ -26,14 +30,19 @@ function createPlayer(config) {
|
|
|
26
30
|
store
|
|
27
31
|
]);
|
|
28
32
|
return /* @__PURE__ */ jsx(PlayerContextProvider, {
|
|
29
|
-
value: {
|
|
33
|
+
value: useMemo(() => ({
|
|
30
34
|
store,
|
|
31
35
|
media,
|
|
32
36
|
setMedia,
|
|
33
37
|
container,
|
|
34
38
|
setContainer,
|
|
35
39
|
popupGroup
|
|
36
|
-
},
|
|
40
|
+
}), [
|
|
41
|
+
store,
|
|
42
|
+
media,
|
|
43
|
+
container,
|
|
44
|
+
popupGroup
|
|
45
|
+
]),
|
|
37
46
|
children
|
|
38
47
|
});
|
|
39
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-player.js","names":[],"sources":["../../../src/player/create-player.tsx"],"sourcesContent":["'use client';\n\nimport type {\n AnyPlayerFeature,\n AnyPlayerStore,\n AudioFeatures,\n AudioPlayerStore,\n Media,\n PlayerStore,\n PlayerTarget,\n VideoFeatures,\n VideoPlayerStore,\n} from '@videojs/core/dom';\nimport { createPopupGroup } from '@videojs/core/dom';\nimport type { InferStoreState } from '@videojs/store';\nimport { combine, createStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport type { FC, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { useDestroy } from '../utils/use-destroy';\nimport { Container, PlayerContextProvider, useMedia, usePlayerContext } from './context';\n\nexport interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {\n features: Features;\n displayName?: string;\n}\n\nexport interface ProviderProps {\n children: ReactNode;\n}\n\nexport interface CreatePlayerResult<Store extends PlayerStore> {\n Provider: FC<ProviderProps>;\n Container: typeof Container;\n usePlayer: UsePlayerHook<Store>;\n useMedia: () => Media | null;\n}\n\nexport type UsePlayerHook<Store extends PlayerStore> = {\n (): Store;\n <R>(selector: (state: InferStoreState<Store>) => R): R;\n};\n\n/**\n * Create a player instance with typed store, Provider component, Container, and hooks.\n *\n * @label Video\n * @param config - Player configuration with features and optional display name.\n */\nexport function createPlayer(config: CreatePlayerConfig<VideoFeatures>): CreatePlayerResult<VideoPlayerStore>;\n\n/**\n * Create a player for audio media.\n *\n * @label Audio\n * @param config - Player configuration with features and optional display name.\n */\nexport function createPlayer(config: CreatePlayerConfig<AudioFeatures>): CreatePlayerResult<AudioPlayerStore>;\n\n/**\n * Create a player with custom features.\n *\n * @label Generic\n * @param config - Player configuration with features and optional display name.\n */\nexport function createPlayer<const Features extends AnyPlayerFeature[]>(\n config: CreatePlayerConfig<Features>\n): CreatePlayerResult<PlayerStore<Features>>;\n\nexport function createPlayer(config: CreatePlayerConfig<AnyPlayerFeature[]>): CreatePlayerResult<AnyPlayerStore> {\n function Provider({ children }: ProviderProps): ReactNode {\n const [store] = useState(() => createStore<PlayerTarget>()(combine(...config.features)));\n const [popupGroup] = useState(() => createPopupGroup());\n const [media, setMedia] = useState<Media | null>(null);\n const [container, setContainer] = useState<HTMLElement | null>(null);\n\n useDestroy(store);\n\n useEffect(() => {\n if (!media) return;\n return store.attach({ media, container });\n }, [media, container, store]);\n\n
|
|
1
|
+
{"version":3,"file":"create-player.js","names":[],"sources":["../../../src/player/create-player.tsx"],"sourcesContent":["'use client';\n\nimport type {\n AnyPlayerFeature,\n AnyPlayerStore,\n AudioFeatures,\n AudioPlayerStore,\n Media,\n PlayerStore,\n PlayerTarget,\n VideoFeatures,\n VideoPlayerStore,\n} from '@videojs/core/dom';\nimport { createPopupGroup } from '@videojs/core/dom';\nimport type { InferStoreState } from '@videojs/store';\nimport { combine, createStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport type { FC, ReactNode } from 'react';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { useDestroy } from '../utils/use-destroy';\nimport { Container, PlayerContextProvider, useMedia, usePlayerContext } from './context';\n\nexport interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {\n features: Features;\n displayName?: string;\n}\n\nexport interface ProviderProps {\n children: ReactNode;\n}\n\nexport interface CreatePlayerResult<Store extends PlayerStore> {\n Provider: FC<ProviderProps>;\n Container: typeof Container;\n usePlayer: UsePlayerHook<Store>;\n useMedia: () => Media | null;\n}\n\nexport type UsePlayerHook<Store extends PlayerStore> = {\n (): Store;\n <R>(selector: (state: InferStoreState<Store>) => R): R;\n};\n\n/**\n * Create a player instance with typed store, Provider component, Container, and hooks.\n *\n * @label Video\n * @param config - Player configuration with features and optional display name.\n */\nexport function createPlayer(config: CreatePlayerConfig<VideoFeatures>): CreatePlayerResult<VideoPlayerStore>;\n\n/**\n * Create a player for audio media.\n *\n * @label Audio\n * @param config - Player configuration with features and optional display name.\n */\nexport function createPlayer(config: CreatePlayerConfig<AudioFeatures>): CreatePlayerResult<AudioPlayerStore>;\n\n/**\n * Create a player with custom features.\n *\n * @label Generic\n * @param config - Player configuration with features and optional display name.\n */\nexport function createPlayer<const Features extends AnyPlayerFeature[]>(\n config: CreatePlayerConfig<Features>\n): CreatePlayerResult<PlayerStore<Features>>;\n\nexport function createPlayer(config: CreatePlayerConfig<AnyPlayerFeature[]>): CreatePlayerResult<AnyPlayerStore> {\n function Provider({ children }: ProviderProps): ReactNode {\n const [store, setStore] = useState(() => createStore<PlayerTarget>()(combine(...config.features)));\n const [popupGroup] = useState(() => createPopupGroup());\n const [media, setMedia] = useState<Media | null>(null);\n const [container, setContainer] = useState<HTMLElement | null>(null);\n\n useDestroy(store);\n\n useEffect(() => {\n if (!media) return;\n\n // The store may have been destroyed during an asynchronous gap between React\n // effect cleanup and re-setup (e.g., React <Activity> hide → reveal). The\n // useState initializer does not re-run in this case.\n if (store.destroyed) {\n setStore(createStore<PlayerTarget>()(combine(...config.features)));\n return;\n }\n\n return store.attach({ media, container });\n }, [media, container, store]);\n\n const value = useMemo(\n () => ({ store, media, setMedia, container, setContainer, popupGroup }),\n [store, media, container, popupGroup]\n );\n\n return <PlayerContextProvider value={value}>{children}</PlayerContextProvider>;\n }\n\n if (__DEV__ && config.displayName) {\n Provider.displayName = `${config.displayName}.Provider`;\n }\n\n function usePlayer<R>(selector?: (state: object) => R): AnyPlayerStore | R {\n const { store } = usePlayerContext();\n return useStore(store, selector as any);\n }\n\n return {\n Provider,\n Container,\n usePlayer,\n useMedia,\n };\n}\n"],"mappings":";;;;;;;;;AAsEA,SAAgB,aAAa,QAAoF;CAC/G,SAAS,SAAS,EAAE,YAAsC;EACxD,MAAM,CAAC,OAAO,YAAY,eAAe,aAA2B,CAAC,QAAQ,GAAG,OAAO,SAAS,CAAC,CAAC;EAClG,MAAM,CAAC,cAAc,eAAe,kBAAkB,CAAC;EACvD,MAAM,CAAC,OAAO,YAAY,SAAuB,KAAK;EACtD,MAAM,CAAC,WAAW,gBAAgB,SAA6B,KAAK;AAEpE,aAAW,MAAM;AAEjB,kBAAgB;AACd,OAAI,CAAC,MAAO;AAKZ,OAAI,MAAM,WAAW;AACnB,aAAS,aAA2B,CAAC,QAAQ,GAAG,OAAO,SAAS,CAAC,CAAC;AAClE;;AAGF,UAAO,MAAM,OAAO;IAAE;IAAO;IAAW,CAAC;KACxC;GAAC;GAAO;GAAW;GAAM,CAAC;AAO7B,SAAO,oBAAC,uBAAD;GAAuB,OALhB,eACL;IAAE;IAAO;IAAO;IAAU;IAAW;IAAc;IAAY,GACtE;IAAC;IAAO;IAAO;IAAW;IAAW,CACtC;GAE4C;GAAiC,CAAA;;CAOhF,SAAS,UAAa,UAAqD;EACzE,MAAM,EAAE,UAAU,kBAAkB;AACpC,SAAO,SAAS,OAAO,SAAgB;;AAGzC,QAAO;EACL;EACA;EACA;EACA;EACD"}
|