@videojs/react 10.0.0-beta.30 → 10.0.0-beta.32
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/i18n/context.js.map +1 -1
- package/dist/default/i18n/create-i18n.js +10 -5
- package/dist/default/i18n/create-i18n.js.map +1 -1
- package/dist/default/i18n/get-provider-root-props.js +4 -2
- package/dist/default/i18n/get-provider-root-props.js.map +1 -1
- package/dist/default/i18n/locales/all/register.js.map +1 -1
- package/dist/default/i18n/locales/ar/register.js.map +1 -1
- package/dist/default/i18n/locales/az/register.js.map +1 -1
- package/dist/default/i18n/locales/bg/register.js.map +1 -1
- package/dist/default/i18n/locales/bn/register.js.map +1 -1
- package/dist/default/i18n/locales/bs/register.js.map +1 -1
- package/dist/default/i18n/locales/ca/register.js.map +1 -1
- package/dist/default/i18n/locales/cs/register.js.map +1 -1
- package/dist/default/i18n/locales/cy/register.js.map +1 -1
- package/dist/default/i18n/locales/da/register.js.map +1 -1
- package/dist/default/i18n/locales/de/register.js.map +1 -1
- package/dist/default/i18n/locales/el/register.js.map +1 -1
- package/dist/default/i18n/locales/en/register.js.map +1 -1
- package/dist/default/i18n/locales/es/register.js.map +1 -1
- package/dist/default/i18n/locales/et/register.js.map +1 -1
- package/dist/default/i18n/locales/eu/register.js.map +1 -1
- package/dist/default/i18n/locales/fa/register.js.map +1 -1
- package/dist/default/i18n/locales/fi/register.js.map +1 -1
- package/dist/default/i18n/locales/fr/register.js.map +1 -1
- package/dist/default/i18n/locales/gd/register.js.map +1 -1
- package/dist/default/i18n/locales/gl/register.js.map +1 -1
- package/dist/default/i18n/locales/he/register.js.map +1 -1
- package/dist/default/i18n/locales/hi/register.js.map +1 -1
- package/dist/default/i18n/locales/hr/register.js.map +1 -1
- package/dist/default/i18n/locales/hu/register.js.map +1 -1
- package/dist/default/i18n/locales/id/register.js.map +1 -1
- package/dist/default/i18n/locales/it/register.js.map +1 -1
- package/dist/default/i18n/locales/ja/register.js.map +1 -1
- package/dist/default/i18n/locales/ko/register.js.map +1 -1
- package/dist/default/i18n/locales/lt/register.js.map +1 -1
- package/dist/default/i18n/locales/lv/register.js.map +1 -1
- package/dist/default/i18n/locales/mr/register.js.map +1 -1
- package/dist/default/i18n/locales/nb/register.js.map +1 -1
- package/dist/default/i18n/locales/ne/register.js.map +1 -1
- package/dist/default/i18n/locales/nl/register.js.map +1 -1
- package/dist/default/i18n/locales/nn/register.js.map +1 -1
- package/dist/default/i18n/locales/oc/register.js.map +1 -1
- package/dist/default/i18n/locales/pl/register.js.map +1 -1
- package/dist/default/i18n/locales/pt/register.js.map +1 -1
- package/dist/default/i18n/locales/pt-BR/register.js.map +1 -1
- package/dist/default/i18n/locales/pt-PT/register.js.map +1 -1
- package/dist/default/i18n/locales/ro/register.js.map +1 -1
- package/dist/default/i18n/locales/ru/register.js.map +1 -1
- package/dist/default/i18n/locales/sk/register.js.map +1 -1
- package/dist/default/i18n/locales/sl/register.js.map +1 -1
- package/dist/default/i18n/locales/sr/register.js.map +1 -1
- package/dist/default/i18n/locales/sv/register.js.map +1 -1
- package/dist/default/i18n/locales/te/register.js.map +1 -1
- package/dist/default/i18n/locales/th/register.js.map +1 -1
- package/dist/default/i18n/locales/tr/register.js.map +1 -1
- package/dist/default/i18n/locales/uk/register.js.map +1 -1
- package/dist/default/i18n/locales/vi/register.js.map +1 -1
- package/dist/default/i18n/locales/zh/register.js.map +1 -1
- package/dist/default/i18n/locales/zh-CN/register.js.map +1 -1
- package/dist/default/i18n/locales/zh-TW/register.js.map +1 -1
- package/dist/default/i18n/text.js.map +1 -1
- package/dist/default/i18n/use-ambient-lang.js.map +1 -1
- package/dist/default/i18n/use-lang-root-element.js.map +1 -1
- package/dist/default/i18n/use-lazy-translations.js.map +1 -1
- package/dist/default/i18n/use-locale-root-notifications.js.map +1 -1
- package/dist/default/i18n/use-merged-translations.js +4 -2
- package/dist/default/i18n/use-merged-translations.js.map +1 -1
- package/dist/default/icons/dist/react/default/airplay-enter.js +5 -2
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/airplay-exit.js +5 -2
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-off.js +5 -2
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-on.js +5 -2
- package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-enter.js +5 -2
- package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-exit.js +5 -2
- package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/check.js +5 -2
- package/dist/default/icons/dist/react/default/check.js.map +1 -1
- package/dist/default/icons/dist/react/default/chevron.js +5 -2
- package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-enter.js +5 -2
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js +5 -2
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/gear.js +5 -2
- package/dist/default/icons/dist/react/default/gear.js.map +1 -1
- package/dist/default/icons/dist/react/default/pause.js +5 -2
- package/dist/default/icons/dist/react/default/pause.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-enter.js +5 -2
- package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-exit.js +5 -2
- package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/play.js +5 -2
- package/dist/default/icons/dist/react/default/play.js.map +1 -1
- package/dist/default/icons/dist/react/default/quality.js +5 -2
- package/dist/default/icons/dist/react/default/quality.js.map +1 -1
- package/dist/default/icons/dist/react/default/restart.js +5 -2
- package/dist/default/icons/dist/react/default/restart.js.map +1 -1
- package/dist/default/icons/dist/react/default/seek.js +5 -2
- package/dist/default/icons/dist/react/default/seek.js.map +1 -1
- package/dist/default/icons/dist/react/default/speech.js +5 -2
- package/dist/default/icons/dist/react/default/speech.js.map +1 -1
- package/dist/default/icons/dist/react/default/speed.js +5 -2
- package/dist/default/icons/dist/react/default/speed.js.map +1 -1
- package/dist/default/icons/dist/react/default/spinner.js +5 -2
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/switches.js +5 -2
- package/dist/default/icons/dist/react/default/switches.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-high.js +5 -2
- package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-low.js +5 -2
- package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-off.js +5 -2
- package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-off.js +5 -2
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js +5 -2
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/check.js +5 -2
- package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/chevron.js +5 -2
- package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/gear.js +5 -2
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pause.js +5 -2
- package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -2
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -2
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/play.js +5 -2
- package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/quality.js +5 -2
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/restart.js +5 -2
- package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/seek.js +5 -2
- package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speech.js +5 -2
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speed.js +5 -2
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/spinner.js +5 -2
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/switches.js +5 -2
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-high.js +5 -2
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js +5 -2
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js +5 -2
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/default/icons/index.js +26 -26
- package/dist/default/icons/minimal/index.js +26 -26
- package/dist/default/index.js +15 -13
- package/dist/default/media/audio.js +3 -1
- package/dist/default/media/audio.js.map +1 -1
- package/dist/default/media/background-video/media.js +5 -3
- package/dist/default/media/background-video/media.js.map +1 -1
- package/dist/default/media/cloudflare-video/media.js +2 -1
- package/dist/default/media/cloudflare-video/media.js.map +1 -1
- package/dist/default/media/dash-video/media.js +5 -2
- package/dist/default/media/dash-video/media.js.map +1 -1
- package/dist/default/media/google-cast/google-cast.js +10 -10
- package/dist/default/media/google-cast/google-cast.js.map +1 -1
- package/dist/default/media/hls-audio/media.js +5 -2
- package/dist/default/media/hls-audio/media.js.map +1 -1
- package/dist/default/media/hls-background-video/media.js +15 -20
- package/dist/default/media/hls-background-video/media.js.map +1 -1
- package/dist/default/media/hls-video/media.js +5 -2
- package/dist/default/media/hls-video/media.js.map +1 -1
- package/dist/default/media/hlsjs-video/media.js +5 -2
- package/dist/default/media/hlsjs-video/media.js.map +1 -1
- package/dist/default/media/mux-audio/hls-js.js +5 -2
- package/dist/default/media/mux-audio/hls-js.js.map +1 -1
- package/dist/default/media/mux-audio/spf.js +5 -2
- package/dist/default/media/mux-audio/spf.js.map +1 -1
- package/dist/default/media/mux-data/mux-data.js +13 -17
- package/dist/default/media/mux-data/mux-data.js.map +1 -1
- package/dist/default/media/mux-video/hls-js.js +5 -2
- package/dist/default/media/mux-video/hls-js.js.map +1 -1
- package/dist/default/media/mux-video/spf.js +5 -2
- package/dist/default/media/mux-video/spf.js.map +1 -1
- package/dist/default/media/mux-video/storyboard.js +1 -4
- package/dist/default/media/mux-video/storyboard.js.map +1 -1
- package/dist/default/media/native-hls-video/media.js +5 -2
- package/dist/default/media/native-hls-video/media.js.map +1 -1
- package/dist/default/media/shaka-video/media.js +5 -2
- package/dist/default/media/shaka-video/media.js.map +1 -1
- package/dist/default/media/spotify-audio/media.js +2 -1
- package/dist/default/media/spotify-audio/media.js.map +1 -1
- package/dist/default/media/tiktok-video/media.js +2 -1
- package/dist/default/media/tiktok-video/media.js.map +1 -1
- package/dist/default/media/twitch-video/media.js +2 -1
- package/dist/default/media/twitch-video/media.js.map +1 -1
- package/dist/default/media/video.js +9 -1
- package/dist/default/media/video.js.map +1 -1
- package/dist/default/media/vimeo-video/media.js +2 -1
- package/dist/default/media/vimeo-video/media.js.map +1 -1
- package/dist/default/media/youtube-video/media.js +2 -1
- package/dist/default/media/youtube-video/media.js.map +1 -1
- package/dist/default/player/container.js +24 -9
- package/dist/default/player/container.js.map +1 -1
- package/dist/default/player/context.js +2 -1
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +12 -11
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +347 -250
- package/dist/default/presets/audio/minimal-skin.js +66 -38
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +65 -38
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/player.js.map +1 -1
- package/dist/default/presets/audio/skin.css +328 -238
- package/dist/default/presets/audio/skin.js +48 -36
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +46 -35
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/background/player.js.map +1 -1
- package/dist/default/presets/background/skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.css +347 -250
- package/dist/default/presets/live-audio/minimal-skin.js +42 -28
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +41 -25
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/player.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +328 -238
- package/dist/default/presets/live-audio/skin.js +24 -25
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +22 -22
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +435 -365
- package/dist/default/presets/live-video/minimal-skin.js +103 -83
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +104 -83
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/player.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +385 -320
- package/dist/default/presets/live-video/skin.js +87 -81
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +87 -81
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +435 -365
- package/dist/default/presets/video/minimal-skin.js +131 -91
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +127 -96
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/player.js.map +1 -1
- package/dist/default/presets/video/skin.css +385 -320
- package/dist/default/presets/video/skin.js +115 -91
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +111 -95
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
- 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 +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +6 -6
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/container.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/dialog.js +15 -0
- package/dist/default/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +16 -11
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -4
- 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 +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
- 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 +10 -10
- 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 +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +6 -6
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +16 -11
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
- 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 +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
- 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 +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +3 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-root.js +14 -45
- package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/default/ui/alert-dialog/index.js +1 -2
- package/dist/default/ui/alert-dialog/index.parts.js +11 -9
- package/dist/default/ui/alert-dialog/index.parts.js.map +1 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js +2 -2
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator.js +7 -7
- package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/default/ui/captions-button/captions-button.js.map +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group.js +11 -11
- package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js +2 -3
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/controls/controls-backdrop.js +28 -0
- package/dist/default/ui/controls/controls-backdrop.js.map +1 -0
- package/dist/default/ui/controls/controls-content.js +27 -0
- package/dist/default/ui/controls/controls-content.js.map +1 -0
- package/dist/default/ui/controls/controls-root.js +5 -20
- package/dist/default/ui/controls/controls-root.js.map +1 -1
- package/dist/default/ui/controls/index.parts.js +5 -1
- package/dist/default/ui/controls/index.parts.js.map +1 -1
- package/dist/default/ui/create-context-part.js.map +1 -1
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/dialog/context.js +17 -0
- package/dist/default/ui/dialog/context.js.map +1 -0
- package/dist/default/ui/dialog/dialog-backdrop.js +26 -0
- package/dist/default/ui/dialog/dialog-backdrop.js.map +1 -0
- package/dist/default/ui/dialog/dialog-close.js +29 -0
- package/dist/default/ui/dialog/dialog-close.js.map +1 -0
- package/dist/default/ui/dialog/dialog-description.js +14 -0
- package/dist/default/ui/dialog/dialog-description.js.map +1 -0
- package/dist/default/ui/dialog/dialog-popup.js +28 -0
- package/dist/default/ui/dialog/dialog-popup.js.map +1 -0
- package/dist/default/ui/dialog/dialog-root.js +23 -0
- package/dist/default/ui/dialog/dialog-root.js.map +1 -0
- package/dist/default/ui/dialog/dialog-title.js +14 -0
- package/dist/default/ui/dialog/dialog-title.js.map +1 -0
- package/dist/default/ui/dialog/dialog-trigger.js +30 -0
- package/dist/default/ui/dialog/dialog-trigger.js.map +1 -0
- package/dist/default/ui/dialog/index.js +3 -0
- package/dist/default/ui/dialog/index.parts.js +22 -0
- package/dist/default/ui/dialog/index.parts.js.map +1 -0
- package/dist/default/ui/dialog/use-dialog-root.js +59 -0
- package/dist/default/ui/dialog/use-dialog-root.js.map +1 -0
- package/dist/default/ui/error-dialog/context.js +1 -0
- package/dist/default/ui/error-dialog/context.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-close.js +3 -2
- package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-description.js +3 -2
- package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-root.js +19 -34
- package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-title.js +3 -2
- package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -1
- package/dist/default/ui/error-dialog/index.parts.js +5 -3
- package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/default/ui/gesture/use-doubletap-gesture.js +6 -0
- package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/default/ui/gesture/use-tap-gesture.js +6 -0
- package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -1
- package/dist/default/ui/hooks/use-button.js +15 -14
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hooks/use-slider.js +6 -7
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js +6 -0
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey.js +5 -0
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js +2 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +7 -10
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js +10 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +3 -1
- package/dist/default/ui/menu/index.parts.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +44 -106
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/default/ui/menu/menu-item.js +22 -20
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-keyboard.js.map +1 -1
- package/dist/default/ui/menu/menu-popup.js +69 -0
- package/dist/default/ui/menu/menu-popup.js.map +1 -0
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +28 -27
- package/dist/default/ui/menu/menu-root.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +2 -3
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/menu/use-menu-group.js +2 -1
- package/dist/default/ui/menu/use-menu-group.js.map +1 -1
- package/dist/default/ui/play-button/play-button.js +8 -8
- package/dist/default/ui/play-button/play-button.js.map +1 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +2 -2
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +8 -8
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
- package/dist/default/ui/popover/context.js +1 -0
- package/dist/default/ui/popover/context.js.map +1 -1
- package/dist/default/ui/popover/popover-popup.js +7 -3
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +1 -1
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/use-popup-position.js +2 -1
- package/dist/default/ui/popover/use-popup-position.js.map +1 -1
- package/dist/default/ui/poster/poster.js +11 -13
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/use-quality-options.js +2 -3
- package/dist/default/ui/quality/use-quality-options.js.map +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group.js +12 -12
- package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -1
- package/dist/default/ui/seek-button/seek-button.js +8 -8
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/seek-indicator/context.js.map +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/slider-root.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/default/ui/status-indicator/context.js.map +1 -1
- package/dist/default/ui/status-indicator/index.parts.js.map +1 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js +2 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/default/ui/thumbnail/thumbnail.js +5 -6
- package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/default/ui/time/time-group.js +7 -7
- package/dist/default/ui/time/time-group.js.map +1 -1
- package/dist/default/ui/time/time-separator.js +4 -4
- package/dist/default/ui/time/time-separator.js.map +1 -1
- package/dist/default/ui/time/time-value.js +5 -5
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/title/title.js +5 -6
- package/dist/default/ui/title/title.js.map +1 -1
- package/dist/default/ui/tooltip/context.js +1 -0
- package/dist/default/ui/tooltip/context.js.map +1 -1
- 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-provider.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +4 -2
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
- package/dist/default/ui/volume-indicator/context.js.map +1 -1
- package/dist/default/ui/volume-indicator/index.parts.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js +3 -2
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +2 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/default/ui/volume-popover/context.js +13 -0
- package/dist/default/ui/volume-popover/context.js.map +1 -0
- package/dist/default/ui/volume-popover/index.js +2 -0
- package/dist/default/ui/volume-popover/index.parts.js +14 -0
- package/dist/default/ui/volume-popover/index.parts.js.map +1 -0
- package/dist/default/ui/volume-popover/volume-popover-popup.js +21 -0
- package/dist/default/ui/volume-popover/volume-popover-popup.js.map +1 -0
- package/dist/default/ui/volume-popover/volume-popover-root.js +47 -0
- package/dist/default/ui/volume-popover/volume-popover-root.js.map +1 -0
- package/dist/default/ui/volume-popover/volume-popover-trigger.js +32 -0
- package/dist/default/ui/volume-popover/volume-popover-trigger.js.map +1 -0
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/default/utils/merge-props.js +20 -30
- package/dist/default/utils/merge-props.js.map +1 -1
- package/dist/default/utils/use-attach-iframe.js.map +1 -1
- package/dist/default/utils/use-attach-media.js +5 -0
- package/dist/default/utils/use-attach-media.js.map +1 -1
- package/dist/default/utils/use-composed-refs.js +10 -8
- package/dist/default/utils/use-composed-refs.js.map +1 -1
- package/dist/default/utils/use-destroy.js +7 -9
- package/dist/default/utils/use-destroy.js.map +1 -1
- package/dist/default/utils/use-force-render.js.map +1 -1
- package/dist/default/utils/use-latest-ref.js +4 -2
- package/dist/default/utils/use-latest-ref.js.map +1 -1
- package/dist/default/utils/use-media-component.js +7 -6
- package/dist/default/utils/use-media-component.js.map +1 -1
- package/dist/default/utils/use-media-instance.js +8 -7
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js +13 -15
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/default/utils/use-safe-id.js +3 -4
- package/dist/default/utils/use-safe-id.js.map +1 -1
- package/dist/default/utils/use-sync-props.js.map +1 -1
- package/dist/dev/i18n/context.d.ts +3 -1
- package/dist/dev/i18n/context.d.ts.map +1 -1
- package/dist/dev/i18n/context.js.map +1 -1
- package/dist/dev/i18n/create-i18n.d.ts +15 -16
- package/dist/dev/i18n/create-i18n.d.ts.map +1 -1
- package/dist/dev/i18n/create-i18n.js +10 -5
- package/dist/dev/i18n/create-i18n.js.map +1 -1
- package/dist/dev/i18n/get-provider-root-props.js +4 -2
- package/dist/dev/i18n/get-provider-root-props.js.map +1 -1
- package/dist/dev/i18n/locales/all/register.js.map +1 -1
- package/dist/dev/i18n/locales/ar/register.js.map +1 -1
- package/dist/dev/i18n/locales/az/register.js.map +1 -1
- package/dist/dev/i18n/locales/bg/register.js.map +1 -1
- package/dist/dev/i18n/locales/bn/register.js.map +1 -1
- package/dist/dev/i18n/locales/bs/register.js.map +1 -1
- package/dist/dev/i18n/locales/ca/register.js.map +1 -1
- package/dist/dev/i18n/locales/cs/register.js.map +1 -1
- package/dist/dev/i18n/locales/cy/register.js.map +1 -1
- package/dist/dev/i18n/locales/da/register.js.map +1 -1
- package/dist/dev/i18n/locales/de/register.js.map +1 -1
- package/dist/dev/i18n/locales/el/register.js.map +1 -1
- package/dist/dev/i18n/locales/en/register.js.map +1 -1
- package/dist/dev/i18n/locales/es/register.js.map +1 -1
- package/dist/dev/i18n/locales/et/register.js.map +1 -1
- package/dist/dev/i18n/locales/eu/register.js.map +1 -1
- package/dist/dev/i18n/locales/fa/register.js.map +1 -1
- package/dist/dev/i18n/locales/fi/register.js.map +1 -1
- package/dist/dev/i18n/locales/fr/register.js.map +1 -1
- package/dist/dev/i18n/locales/gd/register.js.map +1 -1
- package/dist/dev/i18n/locales/gl/register.js.map +1 -1
- package/dist/dev/i18n/locales/he/register.js.map +1 -1
- package/dist/dev/i18n/locales/hi/register.js.map +1 -1
- package/dist/dev/i18n/locales/hr/register.js.map +1 -1
- package/dist/dev/i18n/locales/hu/register.js.map +1 -1
- package/dist/dev/i18n/locales/id/register.js.map +1 -1
- package/dist/dev/i18n/locales/it/register.js.map +1 -1
- package/dist/dev/i18n/locales/ja/register.js.map +1 -1
- package/dist/dev/i18n/locales/ko/register.js.map +1 -1
- package/dist/dev/i18n/locales/lt/register.js.map +1 -1
- package/dist/dev/i18n/locales/lv/register.js.map +1 -1
- package/dist/dev/i18n/locales/mr/register.js.map +1 -1
- package/dist/dev/i18n/locales/nb/register.js.map +1 -1
- package/dist/dev/i18n/locales/ne/register.js.map +1 -1
- package/dist/dev/i18n/locales/nl/register.js.map +1 -1
- package/dist/dev/i18n/locales/nn/register.js.map +1 -1
- package/dist/dev/i18n/locales/oc/register.js.map +1 -1
- package/dist/dev/i18n/locales/pl/register.js.map +1 -1
- package/dist/dev/i18n/locales/pt/register.js.map +1 -1
- package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -1
- package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -1
- package/dist/dev/i18n/locales/ro/register.js.map +1 -1
- package/dist/dev/i18n/locales/ru/register.js.map +1 -1
- package/dist/dev/i18n/locales/sk/register.js.map +1 -1
- package/dist/dev/i18n/locales/sl/register.js.map +1 -1
- package/dist/dev/i18n/locales/sr/register.js.map +1 -1
- package/dist/dev/i18n/locales/sv/register.js.map +1 -1
- package/dist/dev/i18n/locales/te/register.js.map +1 -1
- package/dist/dev/i18n/locales/th/register.js.map +1 -1
- package/dist/dev/i18n/locales/tr/register.js.map +1 -1
- package/dist/dev/i18n/locales/uk/register.js.map +1 -1
- package/dist/dev/i18n/locales/vi/register.js.map +1 -1
- package/dist/dev/i18n/locales/zh/register.js.map +1 -1
- package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -1
- package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -1
- package/dist/dev/i18n/text.d.ts.map +1 -1
- package/dist/dev/i18n/text.js.map +1 -1
- package/dist/dev/i18n/use-ambient-lang.js.map +1 -1
- package/dist/dev/i18n/use-lang-root-element.js.map +1 -1
- package/dist/dev/i18n/use-lazy-translations.js.map +1 -1
- package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -1
- package/dist/dev/i18n/use-merged-translations.js +4 -2
- package/dist/dev/i18n/use-merged-translations.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-off.js +5 -2
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-on.js +5 -2
- package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/check.js +5 -2
- package/dist/dev/icons/dist/react/default/check.js.map +1 -1
- package/dist/dev/icons/dist/react/default/chevron.js +5 -2
- package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/gear.js +5 -2
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/default/index.d.ts +1 -1
- package/dist/dev/icons/dist/react/default/pause.js +5 -2
- package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-enter.js +5 -2
- package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-exit.js +5 -2
- package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/play.js +5 -2
- package/dist/dev/icons/dist/react/default/play.js.map +1 -1
- package/dist/dev/icons/dist/react/default/quality.js +5 -2
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/default/restart.js +5 -2
- package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/default/seek.js +5 -2
- package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speech.js +5 -2
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speed.js +5 -2
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/default/spinner.js +5 -2
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/switches.js +5 -2
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-high.js +5 -2
- package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-low.js +5 -2
- package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-off.js +5 -2
- package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -2
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-on.js +5 -2
- package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/check.js +5 -2
- package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/chevron.js +5 -2
- package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/gear.js +5 -2
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts +1 -1
- package/dist/dev/icons/dist/react/minimal/pause.js +5 -2
- package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -2
- package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -2
- package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/play.js +5 -2
- package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js +5 -2
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/restart.js +5 -2
- package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/seek.js +5 -2
- package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speech.js +5 -2
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speed.js +5 -2
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/spinner.js +5 -2
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/switches.js +5 -2
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-high.js +5 -2
- package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-low.js +5 -2
- package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-off.js +5 -2
- package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/dev/icons/index.js +26 -26
- package/dist/dev/icons/minimal/index.js +26 -26
- package/dist/dev/index.d.ts +19 -14
- package/dist/dev/index.js +15 -13
- package/dist/dev/media/audio.js +3 -1
- package/dist/dev/media/audio.js.map +1 -1
- package/dist/dev/media/background-video/media.js +5 -3
- package/dist/dev/media/background-video/media.js.map +1 -1
- package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -1
- package/dist/dev/media/cloudflare-video/media.js +2 -1
- package/dist/dev/media/cloudflare-video/media.js.map +1 -1
- package/dist/dev/media/dash-video/media.d.ts.map +1 -1
- package/dist/dev/media/dash-video/media.js +5 -2
- package/dist/dev/media/dash-video/media.js.map +1 -1
- package/dist/dev/media/google-cast/google-cast.d.ts +8 -9
- package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -1
- package/dist/dev/media/google-cast/google-cast.js +10 -10
- package/dist/dev/media/google-cast/google-cast.js.map +1 -1
- package/dist/dev/media/hls-audio/media.d.ts.map +1 -1
- package/dist/dev/media/hls-audio/media.js +5 -2
- package/dist/dev/media/hls-audio/media.js.map +1 -1
- package/dist/dev/media/hls-background-video/media.d.ts +13 -19
- package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-background-video/media.js +15 -20
- package/dist/dev/media/hls-background-video/media.js.map +1 -1
- package/dist/dev/media/hls-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-video/media.js +5 -2
- package/dist/dev/media/hls-video/media.js.map +1 -1
- package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -1
- package/dist/dev/media/hlsjs-video/media.js +5 -2
- package/dist/dev/media/hlsjs-video/media.js.map +1 -1
- package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/hls-js.js +5 -2
- package/dist/dev/media/mux-audio/hls-js.js.map +1 -1
- package/dist/dev/media/mux-audio/spf.d.ts.map +1 -1
- package/dist/dev/media/mux-audio/spf.js +5 -2
- package/dist/dev/media/mux-audio/spf.js.map +1 -1
- package/dist/dev/media/mux-data/mux-data.d.ts +13 -17
- package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
- package/dist/dev/media/mux-data/mux-data.js +13 -17
- package/dist/dev/media/mux-data/mux-data.js.map +1 -1
- package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -1
- package/dist/dev/media/mux-video/hls-js.js +5 -2
- package/dist/dev/media/mux-video/hls-js.js.map +1 -1
- package/dist/dev/media/mux-video/spf.d.ts.map +1 -1
- package/dist/dev/media/mux-video/spf.js +5 -2
- package/dist/dev/media/mux-video/spf.js.map +1 -1
- package/dist/dev/media/mux-video/storyboard.js +1 -4
- package/dist/dev/media/mux-video/storyboard.js.map +1 -1
- package/dist/dev/media/native-hls-video/media.d.ts.map +1 -1
- package/dist/dev/media/native-hls-video/media.js +5 -2
- package/dist/dev/media/native-hls-video/media.js.map +1 -1
- package/dist/dev/media/shaka-video/media.d.ts.map +1 -1
- package/dist/dev/media/shaka-video/media.js +5 -2
- package/dist/dev/media/shaka-video/media.js.map +1 -1
- package/dist/dev/media/spotify-audio/media.d.ts.map +1 -1
- package/dist/dev/media/spotify-audio/media.js +2 -1
- package/dist/dev/media/spotify-audio/media.js.map +1 -1
- package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
- package/dist/dev/media/tiktok-video/media.js +2 -1
- package/dist/dev/media/tiktok-video/media.js.map +1 -1
- package/dist/dev/media/twitch-video/media.d.ts.map +1 -1
- package/dist/dev/media/twitch-video/media.js +2 -1
- package/dist/dev/media/twitch-video/media.js.map +1 -1
- package/dist/dev/media/video.d.ts +7 -0
- package/dist/dev/media/video.d.ts.map +1 -1
- package/dist/dev/media/video.js +9 -1
- package/dist/dev/media/video.js.map +1 -1
- package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
- package/dist/dev/media/vimeo-video/media.js +2 -1
- package/dist/dev/media/vimeo-video/media.js.map +1 -1
- package/dist/dev/media/youtube-video/media.d.ts.map +1 -1
- package/dist/dev/media/youtube-video/media.js +2 -1
- package/dist/dev/media/youtube-video/media.js.map +1 -1
- package/dist/dev/player/container.d.ts.map +1 -1
- package/dist/dev/player/container.js +24 -9
- package/dist/dev/player/container.js.map +1 -1
- package/dist/dev/player/context.d.ts +14 -12
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +2 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts +19 -3
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +12 -11
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +347 -250
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +66 -38
- 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 +65 -38
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/player.d.ts.map +1 -1
- package/dist/dev/presets/audio/player.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +328 -238
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +48 -36
- 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 +46 -35
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/background/player.d.ts.map +1 -1
- package/dist/dev/presets/background/player.js.map +1 -1
- package/dist/dev/presets/background/skin.d.ts.map +1 -1
- package/dist/dev/presets/background/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.css +347 -250
- package/dist/dev/presets/live-audio/minimal-skin.d.ts +3 -5
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +42 -28
- 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 +41 -25
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/player.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/player.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +328 -238
- package/dist/dev/presets/live-audio/skin.d.ts +3 -4
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +24 -25
- 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 +22 -22
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +435 -365
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.js +103 -83
- 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 +104 -83
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/player.d.ts.map +1 -1
- package/dist/dev/presets/live-video/player.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +385 -320
- package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.js +87 -81
- 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 +87 -81
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +13 -10
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +435 -365
- package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +131 -91
- 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 +127 -96
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/player.d.ts.map +1 -1
- package/dist/dev/presets/video/player.js.map +1 -1
- package/dist/dev/presets/video/skin.css +385 -320
- package/dist/dev/presets/video/skin.d.ts +8 -0
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +115 -91
- 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 +111 -95
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
- 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 +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +6 -6
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/container.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js +15 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +16 -11
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -4
- 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 +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
- 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 +10 -10
- 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 +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +6 -6
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +16 -11
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
- 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 +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
- 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 +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +3 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +4 -3
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js +14 -45
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/dev/ui/alert-dialog/index.d.ts +1 -2
- package/dist/dev/ui/alert-dialog/index.js +1 -2
- package/dist/dev/ui/alert-dialog/index.parts.d.ts +8 -6
- package/dist/dev/ui/alert-dialog/index.parts.js +11 -9
- package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +2 -2
- package/dist/dev/ui/audio-track/use-audio-track-options.js +2 -2
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +10 -10
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +7 -7
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js +7 -7
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +10 -10
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js +11 -11
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +2 -3
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +2 -3
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/controls/controls-backdrop.d.ts +16 -0
- package/dist/dev/ui/controls/controls-backdrop.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-backdrop.js +28 -0
- package/dist/dev/ui/controls/controls-backdrop.js.map +1 -0
- package/dist/dev/ui/controls/controls-content.d.ts +16 -0
- package/dist/dev/ui/controls/controls-content.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-content.js +27 -0
- package/dist/dev/ui/controls/controls-content.js.map +1 -0
- package/dist/dev/ui/controls/controls-root.d.ts +3 -4
- package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-root.js +5 -20
- package/dist/dev/ui/controls/controls-root.js.map +1 -1
- package/dist/dev/ui/controls/index.parts.d.ts +4 -2
- package/dist/dev/ui/controls/index.parts.js +5 -1
- package/dist/dev/ui/controls/index.parts.js.map +1 -1
- package/dist/dev/ui/create-context-part.js.map +1 -1
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/dialog/context.d.ts +15 -0
- package/dist/dev/ui/dialog/context.d.ts.map +1 -0
- package/dist/dev/ui/dialog/context.js +17 -0
- package/dist/dev/ui/dialog/context.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-backdrop.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-backdrop.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-backdrop.js +26 -0
- package/dist/dev/ui/dialog/dialog-backdrop.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-close.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-close.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-close.js +29 -0
- package/dist/dev/ui/dialog/dialog-close.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-description.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-description.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-description.js +14 -0
- package/dist/dev/ui/dialog/dialog-description.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-popup.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-popup.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-popup.js +28 -0
- package/dist/dev/ui/dialog/dialog-popup.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-root.d.ts +18 -0
- package/dist/dev/ui/dialog/dialog-root.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-root.js +23 -0
- package/dist/dev/ui/dialog/dialog-root.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-title.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-title.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-title.js +14 -0
- package/dist/dev/ui/dialog/dialog-title.js.map +1 -0
- package/dist/dev/ui/dialog/dialog-trigger.d.ts +13 -0
- package/dist/dev/ui/dialog/dialog-trigger.d.ts.map +1 -0
- package/dist/dev/ui/dialog/dialog-trigger.js +30 -0
- package/dist/dev/ui/dialog/dialog-trigger.js.map +1 -0
- package/dist/dev/ui/dialog/index.d.ts +3 -0
- package/dist/dev/ui/dialog/index.js +3 -0
- package/dist/dev/ui/dialog/index.parts.d.ts +13 -0
- package/dist/dev/ui/dialog/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/dialog/index.parts.js +22 -0
- package/dist/dev/ui/dialog/index.parts.js.map +1 -0
- package/dist/dev/ui/dialog/use-dialog-root.js +59 -0
- package/dist/dev/ui/dialog/use-dialog-root.js.map +1 -0
- package/dist/dev/ui/error-dialog/context.d.ts +1 -0
- package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/context.js +1 -0
- package/dist/dev/ui/error-dialog/context.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +4 -3
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.js +3 -2
- package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +4 -3
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.js +3 -2
- package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.js +19 -34
- package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +4 -3
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.js +3 -2
- package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -1
- package/dist/dev/ui/error-dialog/index.parts.d.ts +5 -3
- package/dist/dev/ui/error-dialog/index.parts.js +5 -3
- package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +6 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.js +6 -0
- package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts +6 -0
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.js +6 -0
- package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -1
- package/dist/dev/ui/hooks/use-button.d.ts +12 -12
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-button.js +15 -14
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.d.ts +2 -3
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js +6 -7
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +6 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +6 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.d.ts +5 -0
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.js +5 -0
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js +2 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.d.ts +7 -10
- package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
- package/dist/dev/ui/live-button/live-button.js +7 -10
- package/dist/dev/ui/live-button/live-button.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts +3 -2
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js +10 -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 +3 -1
- package/dist/dev/ui/menu/index.parts.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.map +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +44 -106
- package/dist/dev/ui/menu/menu-content.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.map +1 -1
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +22 -20
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-keyboard.js.map +1 -1
- package/dist/dev/ui/menu/menu-popup.d.ts +13 -0
- package/dist/dev/ui/menu/menu-popup.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-popup.js +70 -0
- package/dist/dev/ui/menu/menu-popup.js.map +1 -0
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +28 -27
- package/dist/dev/ui/menu/menu-root.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +2 -3
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +2 -3
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/menu/use-menu-group.js +2 -1
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
- package/dist/dev/ui/play-button/play-button.d.ts +8 -8
- package/dist/dev/ui/play-button/play-button.js +8 -8
- package/dist/dev/ui/play-button/play-button.js.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +2 -2
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +2 -2
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +8 -8
- 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 +8 -8
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +10 -10
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
- package/dist/dev/ui/popover/context.d.ts +1 -0
- package/dist/dev/ui/popover/context.d.ts.map +1 -1
- package/dist/dev/ui/popover/context.js +1 -0
- package/dist/dev/ui/popover/context.js.map +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts +4 -1
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +7 -3
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +1 -1
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/use-popup-position.js +2 -1
- package/dist/dev/ui/popover/use-popup-position.js.map +1 -1
- package/dist/dev/ui/poster/poster.d.ts +11 -13
- package/dist/dev/ui/poster/poster.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster.js +11 -13
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts +2 -3
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.js +2 -3
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +11 -11
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js +12 -12
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.d.ts +8 -8
- package/dist/dev/ui/seek-button/seek-button.js +8 -8
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
- package/dist/dev/ui/seek-indicator/context.js.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-root.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/dev/ui/status-indicator/context.js.map +1 -1
- package/dist/dev/ui/status-indicator/index.parts.js.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.js +5 -6
- package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/dev/ui/time/time-group.d.ts +7 -7
- package/dist/dev/ui/time/time-group.js +7 -7
- package/dist/dev/ui/time/time-group.js.map +1 -1
- package/dist/dev/ui/time/time-separator.d.ts +4 -4
- package/dist/dev/ui/time/time-separator.js +4 -4
- package/dist/dev/ui/time/time-separator.js.map +1 -1
- package/dist/dev/ui/time/time-value.d.ts +5 -5
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +5 -5
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +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.map +1 -1
- package/dist/dev/ui/title/title.d.ts +5 -6
- package/dist/dev/ui/title/title.d.ts.map +1 -1
- package/dist/dev/ui/title/title.js +5 -6
- package/dist/dev/ui/title/title.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +1 -0
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js +1 -0
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts +4 -1
- 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-provider.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +4 -2
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
- package/dist/dev/ui/volume-indicator/context.js.map +1 -1
- package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +3 -2
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +2 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/dev/ui/volume-popover/context.js +13 -0
- package/dist/dev/ui/volume-popover/context.js.map +1 -0
- package/dist/dev/ui/volume-popover/index.d.ts +2 -0
- package/dist/dev/ui/volume-popover/index.js +2 -0
- package/dist/dev/ui/volume-popover/index.parts.d.ts +9 -0
- package/dist/dev/ui/volume-popover/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/index.parts.js +14 -0
- package/dist/dev/ui/volume-popover/index.parts.js.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts +11 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.js +21 -0
- package/dist/dev/ui/volume-popover/volume-popover-popup.js.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.d.ts +14 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.js +47 -0
- package/dist/dev/ui/volume-popover/volume-popover-root.js.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts +11 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts.map +1 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.js +32 -0
- package/dist/dev/ui/volume-popover/volume-popover-trigger.js.map +1 -0
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/utils/merge-props.d.ts +14 -12
- package/dist/dev/utils/merge-props.d.ts.map +1 -1
- package/dist/dev/utils/merge-props.js +20 -30
- package/dist/dev/utils/merge-props.js.map +1 -1
- package/dist/dev/utils/types.d.ts +2 -4
- package/dist/dev/utils/types.d.ts.map +1 -1
- package/dist/dev/utils/use-attach-iframe.js.map +1 -1
- package/dist/dev/utils/use-attach-media.d.ts +5 -0
- package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
- package/dist/dev/utils/use-attach-media.js +5 -0
- package/dist/dev/utils/use-attach-media.js.map +1 -1
- package/dist/dev/utils/use-composed-refs.d.ts +10 -8
- package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
- package/dist/dev/utils/use-composed-refs.js +10 -8
- package/dist/dev/utils/use-composed-refs.js.map +1 -1
- package/dist/dev/utils/use-destroy.d.ts +7 -9
- package/dist/dev/utils/use-destroy.d.ts.map +1 -1
- package/dist/dev/utils/use-destroy.js +7 -9
- package/dist/dev/utils/use-destroy.js.map +1 -1
- package/dist/dev/utils/use-force-render.js.map +1 -1
- package/dist/dev/utils/use-latest-ref.d.ts +4 -2
- package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
- package/dist/dev/utils/use-latest-ref.js +4 -2
- package/dist/dev/utils/use-latest-ref.js.map +1 -1
- package/dist/dev/utils/use-media-component.d.ts +7 -6
- package/dist/dev/utils/use-media-component.d.ts.map +1 -1
- package/dist/dev/utils/use-media-component.js +7 -6
- package/dist/dev/utils/use-media-component.js.map +1 -1
- package/dist/dev/utils/use-media-instance.d.ts +8 -7
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +8 -7
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts +11 -14
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +13 -15
- package/dist/dev/utils/use-render.js.map +1 -1
- package/dist/dev/utils/use-safe-id.js +3 -4
- package/dist/dev/utils/use-safe-id.js.map +1 -1
- package/dist/dev/utils/use-sync-props.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/browser-support.md +16 -8
- package/docs/concepts/bundlers.md +43 -0
- package/docs/concepts/media-sources.md +28 -4
- package/docs/concepts/mux-data.md +3 -3
- package/docs/concepts/overview.md +9 -25
- package/docs/concepts/presets.md +2 -1
- package/docs/concepts/skins.md +538 -465
- package/docs/concepts/typescript.md +34 -0
- package/docs/concepts/ui-components.md +12 -5
- package/docs/concepts/why-videojs.md +14 -8
- package/docs/how-to/add-a-background-video.md +210 -0
- package/docs/how-to/add-a-poster-and-loading-placeholder.md +187 -0
- package/docs/how-to/add-keyboard-shortcuts-and-gestures.md +97 -0
- package/docs/how-to/add-quality-selector.md +249 -0
- package/docs/how-to/autoplay.md +172 -0
- package/docs/how-to/build-with-ai.md +2 -2
- package/docs/how-to/build-your-own-component.md +131 -4
- package/docs/how-to/cast-to-airplay-and-chromecast.md +158 -0
- package/docs/how-to/customize-skins.md +10009 -1574
- package/docs/how-to/go-fullscreen-and-lock-orientation.md +153 -0
- package/docs/how-to/handle-playback-errors.md +92 -0
- package/docs/how-to/installation.md +57 -15
- package/docs/how-to/internationalize-the-player.md +358 -0
- package/docs/how-to/migrate-from-media-chrome.md +94 -63
- package/docs/how-to/migrate-from-mux-player.md +180 -54
- package/docs/how-to/migrate-from-plyr.md +52 -33
- package/docs/how-to/migrate-from-video-js-8.md +42 -34
- package/docs/how-to/play-live-streams.md +135 -0
- package/docs/how-to/remember-user-preferences.md +180 -0
- package/docs/how-to/show-and-hide-controls.md +174 -0
- package/docs/how-to/show-captions-and-subtitles.md +156 -0
- package/docs/how-to/show-timeline-thumbnail-previews.md +163 -0
- package/docs/how-to/use-picture-in-picture.md +150 -0
- package/docs/llms.txt +70 -17
- package/docs/reference/airplay-button.md +18 -18
- package/docs/reference/alert-dialog.md +649 -0
- package/docs/reference/audio-track-radio-group.md +32 -22
- package/docs/reference/audio.md +78 -0
- package/docs/reference/background-video.md +17 -45
- package/docs/reference/buffering-indicator.md +8 -0
- package/docs/reference/captions-button.md +24 -16
- package/docs/reference/captions-radio-group.md +32 -22
- package/docs/reference/cast-button.md +21 -19
- package/docs/reference/cloudflare-video.md +223 -0
- package/docs/reference/controls.md +252 -20
- package/docs/reference/create-i18n.md +7 -3
- package/docs/reference/create-player.md +81 -9
- package/docs/reference/create-selector.md +4 -6
- package/docs/reference/create-translator.md +15 -5
- package/docs/reference/dash-video.md +57 -2
- package/docs/reference/dialog.md +833 -0
- package/docs/reference/error-dialog.md +586 -0
- package/docs/reference/feature-buffer.md +10 -4
- package/docs/reference/feature-controls.md +1 -1
- package/docs/reference/feature-error.md +1 -1
- package/docs/reference/feature-live.md +62 -7
- package/docs/reference/feature-metadata.md +6 -4
- package/docs/reference/feature-orientation-lock.md +1 -1
- package/docs/reference/feature-quality.md +1 -1
- package/docs/reference/feature-remote-playback.md +1 -1
- package/docs/reference/feature-source.md +1 -1
- package/docs/reference/feature-stream-type.md +14 -5
- package/docs/reference/feature-text-tracks.md +5 -3
- package/docs/reference/feature-time.md +1 -1
- package/docs/reference/fullscreen-button.md +23 -23
- package/docs/reference/gesture.md +201 -0
- package/docs/reference/get-i18n-translations.md +5 -5
- package/docs/reference/google-cast.md +4 -4
- package/docs/reference/has-registered-locale.md +2 -2
- package/docs/reference/hls-audio.md +33 -1
- package/docs/reference/hls-background-video.md +75 -0
- package/docs/reference/hls-video.md +45 -1
- package/docs/reference/hlsjs-video.md +648 -3
- package/docs/reference/hotkey.md +188 -0
- package/docs/reference/i-18-n-context.md +92 -0
- package/docs/reference/i18n-provider.md +2 -2
- package/docs/reference/menu.md +476 -132
- package/docs/reference/merge-props.md +56 -0
- package/docs/reference/mute-button.md +26 -26
- package/docs/reference/mux-audio.md +711 -3
- package/docs/reference/mux-background-video.md +34 -0
- package/docs/reference/mux-video.md +759 -12
- package/docs/reference/native-hls-video.md +44 -3
- package/docs/reference/pip-button.md +23 -23
- package/docs/reference/play-button.md +11 -3
- package/docs/reference/playback-rate-button.md +14 -6
- package/docs/reference/playback-rate-radio-group.md +30 -20
- package/docs/reference/player-container.md +22 -31
- package/docs/reference/{player-provider.md → player.md} +11 -9
- package/docs/reference/popover.md +173 -25
- package/docs/reference/poster.md +8 -0
- package/docs/reference/quality-radio-group.md +36 -26
- package/docs/reference/register-i18n.md +2 -2
- package/docs/reference/render-element.md +14 -2
- package/docs/reference/seek-button.md +14 -6
- package/docs/reference/seek-indicator.md +448 -0
- package/docs/reference/shaka-video.md +395 -0
- package/docs/reference/slider.md +316 -6
- package/docs/reference/spotify-audio.md +188 -0
- package/docs/reference/status-announcer.md +341 -0
- package/docs/reference/status-indicator.md +535 -0
- package/docs/reference/thumbnail.md +30 -2
- package/docs/reference/tiktok-video.md +280 -0
- package/docs/reference/time-slider.md +354 -20
- package/docs/reference/time.md +83 -3
- package/docs/reference/title.md +10 -2
- package/docs/reference/tooltip.md +281 -75
- package/docs/reference/translation-phrases.md +1 -1
- package/docs/reference/twitch-video.md +211 -0
- package/docs/reference/use-attach-media.md +59 -0
- package/docs/reference/use-audio-track-options.md +44 -2
- package/docs/reference/use-button.md +6 -2
- package/docs/reference/use-captions-options.md +48 -2
- package/docs/reference/use-composed-refs.md +59 -0
- package/docs/reference/use-container.md +39 -0
- package/docs/reference/use-destroy.md +89 -0
- package/docs/reference/use-dialog-context.md +63 -0
- package/docs/reference/use-double-tap-gesture.md +75 -0
- package/docs/reference/use-error-dialog-context.md +41 -0
- package/docs/reference/use-hotkey-shortcut.md +79 -0
- package/docs/reference/use-hotkey.md +62 -0
- package/docs/reference/use-latest-ref.md +73 -0
- package/docs/reference/use-locale.md +3 -2
- package/docs/reference/use-media-component.md +62 -0
- package/docs/reference/use-media-instance.md +79 -0
- package/docs/reference/use-media.md +31 -2
- package/docs/reference/use-menu-context.md +101 -0
- package/docs/reference/use-optional-container.md +33 -0
- package/docs/reference/use-optional-menu-context.md +101 -0
- package/docs/reference/use-optional-player.md +77 -0
- package/docs/reference/use-playback-rate-options.md +58 -2
- package/docs/reference/use-player-context.md +2 -2
- package/docs/reference/use-player.md +1 -1
- package/docs/reference/use-popover-context.md +95 -0
- package/docs/reference/use-quality-options.md +44 -2
- package/docs/reference/use-selector.md +7 -3
- package/docs/reference/use-slider.md +133 -0
- package/docs/reference/use-snapshot.md +25 -7
- package/docs/reference/use-store.md +10 -6
- package/docs/reference/use-tap-gesture.md +75 -0
- package/docs/reference/use-tooltip-context.md +115 -0
- package/docs/reference/video.md +82 -0
- package/docs/reference/vimeo-video.md +734 -0
- package/docs/reference/volume-indicator.md +601 -0
- package/docs/reference/volume-popover.md +556 -0
- package/docs/reference/volume-slider.md +237 -35
- package/docs/reference/youtube-video.md +339 -0
- package/package.json +33 -38
- package/dist/default/__generated__/skins/default-video/styles/base.css +0 -25
- package/dist/default/__generated__/skins/default-video/styles/buttons.css +0 -266
- package/dist/default/__generated__/skins/default-video/styles/captions.css +0 -22
- package/dist/default/__generated__/skins/default-video/styles/container.css +0 -158
- package/dist/default/__generated__/skins/default-video/styles/controls.css +0 -460
- package/dist/default/__generated__/skins/default-video/styles/dialog.css +0 -169
- package/dist/default/__generated__/skins/default-video/styles/indicator.css +0 -459
- package/dist/default/__generated__/skins/default-video/styles/menus.css +0 -254
- package/dist/default/__generated__/skins/default-video/styles/overlays.css +0 -35
- package/dist/default/__generated__/skins/default-video/styles/popups.css +0 -371
- package/dist/default/__generated__/skins/default-video/styles/poster.css +0 -47
- package/dist/default/__generated__/skins/default-video/styles/sliders.css +0 -436
- package/dist/default/__generated__/skins/default-video/styles/styles.css +0 -2753
- package/dist/default/__generated__/skins/default-video/styles/theme.css +0 -7
- package/dist/default/__generated__/skins/default-video/styles/video.css +0 -29
- package/dist/default/__generated__/skins/minimal-video/styles/base.css +0 -25
- package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +0 -266
- package/dist/default/__generated__/skins/minimal-video/styles/captions.css +0 -22
- package/dist/default/__generated__/skins/minimal-video/styles/container.css +0 -158
- package/dist/default/__generated__/skins/minimal-video/styles/controls.css +0 -182
- package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +0 -77
- package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +0 -322
- package/dist/default/__generated__/skins/minimal-video/styles/menus.css +0 -254
- package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +0 -35
- package/dist/default/__generated__/skins/minimal-video/styles/popups.css +0 -371
- package/dist/default/__generated__/skins/minimal-video/styles/poster.css +0 -47
- package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +0 -436
- package/dist/default/__generated__/skins/minimal-video/styles/styles.css +0 -2246
- package/dist/default/__generated__/skins/minimal-video/styles/theme.css +0 -7
- package/dist/default/__generated__/skins/minimal-video/styles/video.css +0 -29
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +0 -14
- package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +0 -7
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -14
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +0 -28
- package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description.js +0 -13
- package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +0 -29
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title.js +0 -13
- package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +0 -1
- package/dist/default/ui/alert-dialog/context.js +0 -13
- package/dist/default/ui/alert-dialog/context.js.map +0 -1
- package/dist/dev/__generated__/skins/default-video/styles/base.css +0 -25
- package/dist/dev/__generated__/skins/default-video/styles/buttons.css +0 -266
- package/dist/dev/__generated__/skins/default-video/styles/captions.css +0 -22
- package/dist/dev/__generated__/skins/default-video/styles/container.css +0 -158
- package/dist/dev/__generated__/skins/default-video/styles/controls.css +0 -460
- package/dist/dev/__generated__/skins/default-video/styles/dialog.css +0 -169
- package/dist/dev/__generated__/skins/default-video/styles/indicator.css +0 -459
- package/dist/dev/__generated__/skins/default-video/styles/menus.css +0 -254
- package/dist/dev/__generated__/skins/default-video/styles/overlays.css +0 -35
- package/dist/dev/__generated__/skins/default-video/styles/popups.css +0 -371
- package/dist/dev/__generated__/skins/default-video/styles/poster.css +0 -47
- package/dist/dev/__generated__/skins/default-video/styles/sliders.css +0 -436
- package/dist/dev/__generated__/skins/default-video/styles/styles.css +0 -2753
- package/dist/dev/__generated__/skins/default-video/styles/theme.css +0 -7
- package/dist/dev/__generated__/skins/default-video/styles/video.css +0 -29
- package/dist/dev/__generated__/skins/minimal-video/styles/base.css +0 -25
- package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +0 -266
- package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +0 -22
- package/dist/dev/__generated__/skins/minimal-video/styles/container.css +0 -158
- package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +0 -182
- package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +0 -77
- package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +0 -322
- package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +0 -254
- package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +0 -35
- package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +0 -371
- package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +0 -47
- package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +0 -436
- package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +0 -2246
- package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +0 -7
- package/dist/dev/__generated__/skins/minimal-video/styles/video.css +0 -29
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +0 -14
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +0 -7
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -14
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +0 -28
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js +0 -13
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +0 -29
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +0 -12
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js +0 -13
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +0 -1
- package/dist/dev/ui/alert-dialog/context.d.ts +0 -13
- package/dist/dev/ui/alert-dialog/context.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/context.js +0 -13
- package/dist/dev/ui/alert-dialog/context.js.map +0 -1
- package/docs/concepts/cast.md +0 -131
- package/docs/concepts/i18n.md +0 -317
- package/docs/how-to/add-a-poster-placeholder.md +0 -133
- package/docs/how-to/i18n-override-translations.md +0 -114
- package/docs/how-to/i18n-register-locale.md +0 -74
- package/docs/how-to/i18n-ssr.md +0 -104
- package/docs/how-to/i18n-switch-locale.md +0 -170
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/native-hls-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { NativeHlsMediaProps } from '@videojs/media/dom/native-hls';\nimport { NativeHlsMedia, nativeHlsMediaDefaultProps } from '@videojs/media/dom/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
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/native-hls-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { NativeHlsMediaProps } from '@videojs/media/dom/native-hls';\nimport { NativeHlsMedia, nativeHlsMediaDefaultProps } from '@videojs/media/dom/native-hls';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\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>, 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":";;;;;;;;;AAiBA,MAAa,iBAAiB,WAAkD,SAAS,eACvF,EAAE,UAAU,GAAG,SACf,KACA;CACA,MAAM,QAAQ,iBAAiB,cAAc;CAC7C,MAAM,YAAY,eAAe,KAAK;CACtC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,YAAY,aAAa,OAAO,OAAO,0BAA0B;CAEvE,OACE,oBAAC,SAAD;EAAO,KAAK;EAAa,GAAI;EAC1B;CACI,CAAA;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/shaka-video/media.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/shaka-video/media.tsx"],"mappings":";;;UAYiB,wBACP,KAAK,oBAAoB,yBAAyB,kBAAkB,QAAQ;EACpF,WAAW;;cAGA,4BAAU,0BAAA,kCAAA,cAAA;kBAgBN;OACH,QAAQ"}
|
|
@@ -9,9 +9,12 @@ import { ShakaMedia, shakaMediaDefaultProps } from "@videojs/media/dom/shaka";
|
|
|
9
9
|
//#region src/media/shaka-video/media.tsx
|
|
10
10
|
const ShakaVideo = forwardRef(function ShakaVideo({ children, ...props }, ref) {
|
|
11
11
|
const media = useMediaInstance(ShakaMedia);
|
|
12
|
+
const attachRef = useAttachMedia(media);
|
|
13
|
+
const composedRef = useComposedRefs(attachRef, ref);
|
|
14
|
+
const htmlProps = useSyncProps(media, props, shakaMediaDefaultProps);
|
|
12
15
|
return /* @__PURE__ */ jsx("video", {
|
|
13
|
-
ref:
|
|
14
|
-
...
|
|
16
|
+
ref: composedRef,
|
|
17
|
+
...htmlProps,
|
|
15
18
|
children
|
|
16
19
|
});
|
|
17
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/shaka-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { ShakaMediaProps } from '@videojs/media/dom/shaka';\nimport { ShakaMedia, shakaMediaDefaultProps } from '@videojs/media/dom/shaka';\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 ShakaVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof ShakaMediaProps
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/shaka-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { ShakaMediaProps } from '@videojs/media/dom/shaka';\nimport { ShakaMedia, shakaMediaDefaultProps } from '@videojs/media/dom/shaka';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\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 ShakaVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof ShakaMediaProps>, Partial<ShakaMediaProps> {\n children?: ReactNode;\n}\n\nexport const ShakaVideo = forwardRef<HTMLVideoElement, ShakaVideoProps>(function ShakaVideo(\n { children, ...props },\n ref\n) {\n const media = useMediaInstance(ShakaMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, shakaMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace ShakaVideo {\n export type Props = ShakaVideoProps;\n}\n"],"mappings":";;;;;;;;;AAiBA,MAAa,aAAa,WAA8C,SAAS,WAC/E,EAAE,UAAU,GAAG,SACf,KACA;CACA,MAAM,QAAQ,iBAAiB,UAAU;CACzC,MAAM,YAAY,eAAe,KAAK;CACtC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,YAAY,aAAa,OAAO,OAAO,sBAAsB;CAEnE,OACE,oBAAC,SAAD;EAAO,KAAK;EAAa,GAAI;EAC1B;CACI,CAAA;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/spotify-audio/media.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/spotify-audio/media.tsx"],"mappings":";;;UAYiB,0BAA0B,QAAQ;EACjD,WAAW;;cAGA,8BAAY,0BAAA,oCAAA,cAAA;kBA2CR;OACH,QAAQ"}
|
|
@@ -10,7 +10,8 @@ import { SpotifyMedia, buildSpotifyIframeSrc, spotifyMediaDefaultProps } from "@
|
|
|
10
10
|
const SpotifyAudio = forwardRef(function SpotifyAudio({ children, ...rawProps }, ref) {
|
|
11
11
|
const media = useMediaInstance(SpotifyMedia);
|
|
12
12
|
const props = { ...rawProps };
|
|
13
|
-
const
|
|
13
|
+
const attachRef = useAttachIframe(media);
|
|
14
|
+
const composedRef = useComposedRefs(attachRef, ref);
|
|
14
15
|
const [initialSrc] = useState(() => buildSpotifyIframeSrc(props.src || props.source?.src || "", {
|
|
15
16
|
...spotifyMediaDefaultProps,
|
|
16
17
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/spotify-audio/media.tsx"],"sourcesContent":["'use client';\n\nimport type { SpotifyMediaProps } from '@videojs/media/dom/spotify';\nimport { buildSpotifyIframeSrc, SpotifyMedia, spotifyMediaDefaultProps } from '@videojs/media/dom/spotify';\nimport type { CSSProperties, 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 SpotifyAudioProps extends Partial<SpotifyMediaProps> {\n children?: ReactNode;\n}\n\nexport const SpotifyAudio = forwardRef<HTMLIFrameElement, SpotifyAudioProps>(function SpotifyAudio(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(SpotifyMedia);\n const props: Partial<SpotifyMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name an entity, so honor it when `src` is absent.\n buildSpotifyIframeSrc(props.src || props.source?.src || '', { ...spotifyMediaDefaultProps, ...props })\n );\n const { style, ...iframeProps } = useSyncProps<SpotifyMediaProps, Record<string, unknown>>(\n media,\n props,\n spotifyMediaDefaultProps\n ) as Record<string, unknown> & { style?: CSSProperties };\n\n return (\n <iframe\n title=\"Spotify audio player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\"\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.spotify?.referrerPolicy}\n {...iframeProps}\n // Without Spotify's own chrome the embed is a transport and nothing else:\n // its player UI would otherwise show through whatever skin is drawn over it.\n // Inline so a `className` cannot put it back on screen, merged so a\n // consumer's own styles survive. A hidden iframe still loads and plays.\n style={props.controls ? style : { ...style, display: 'none' }}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace SpotifyAudio {\n export type Props = SpotifyAudioProps;\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/spotify-audio/media.tsx"],"sourcesContent":["'use client';\n\nimport type { SpotifyMediaProps } from '@videojs/media/dom/spotify';\nimport { buildSpotifyIframeSrc, SpotifyMedia, spotifyMediaDefaultProps } from '@videojs/media/dom/spotify';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\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 SpotifyAudioProps extends Partial<SpotifyMediaProps> {\n children?: ReactNode;\n}\n\nexport const SpotifyAudio = forwardRef<HTMLIFrameElement, SpotifyAudioProps>(function SpotifyAudio(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(SpotifyMedia);\n const props: Partial<SpotifyMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name an entity, so honor it when `src` is absent.\n buildSpotifyIframeSrc(props.src || props.source?.src || '', { ...spotifyMediaDefaultProps, ...props })\n );\n const { style, ...iframeProps } = useSyncProps<SpotifyMediaProps, Record<string, unknown>>(\n media,\n props,\n spotifyMediaDefaultProps\n ) as Record<string, unknown> & { style?: CSSProperties };\n\n return (\n <iframe\n title=\"Spotify audio player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\"\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.spotify?.referrerPolicy}\n {...iframeProps}\n // Without Spotify's own chrome the embed is a transport and nothing else:\n // its player UI would otherwise show through whatever skin is drawn over it.\n // Inline so a `className` cannot put it back on screen, merged so a\n // consumer's own styles survive. A hidden iframe still loads and plays.\n style={props.controls ? style : { ...style, display: 'none' }}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace SpotifyAudio {\n export type Props = SpotifyAudioProps;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAa,eAAe,WAAiD,SAAS,aACpF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,YAAY;CAC3C,MAAM,QAA8D,EAAE,GAAG,SAAS;CAClF,MAAM,YAAY,gBAAgB,KAAK;CACvC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,sBAAsB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAA0B,GAAG;CAAM,CAAC,CACvG;CACA,MAAM,EAAE,OAAO,GAAG,gBAAgB,aAChC,OACA,OACA,wBACF;CAEA,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,SAAS;EAC/C,GAAI;EAKJ,OAAO,MAAM,WAAW,QAAQ;GAAE,GAAG;GAAO,SAAS;EAAO;EAC5D,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/tiktok-video/media.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/tiktok-video/media.tsx"],"mappings":";;;UAYiB,yBAAyB,QAAQ;EAChD,WAAW;;cAGA,6BAAW,0BAAA,mCAAA,cAAA;kBA0CP;OACH,QAAQ"}
|
|
@@ -10,7 +10,8 @@ import { TikTokMedia, buildTikTokIframeSrc, tiktokMediaDefaultProps } from "@vid
|
|
|
10
10
|
const TikTokVideo = forwardRef(function TikTokVideo({ children, ...rawProps }, ref) {
|
|
11
11
|
const media = useMediaInstance(TikTokMedia);
|
|
12
12
|
const props = { ...rawProps };
|
|
13
|
-
const
|
|
13
|
+
const attachRef = useAttachIframe(media);
|
|
14
|
+
const composedRef = useComposedRefs(attachRef, ref);
|
|
14
15
|
const [initialSrc] = useState(() => buildTikTokIframeSrc(props.src || props.source?.src || "", {
|
|
15
16
|
...tiktokMediaDefaultProps,
|
|
16
17
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/tiktok-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { TikTokMediaProps } from '@videojs/media/dom/tiktok';\nimport { buildTikTokIframeSrc, TikTokMedia, tiktokMediaDefaultProps } from '@videojs/media/dom/tiktok';\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 TikTokVideoProps extends Partial<TikTokMediaProps> {\n children?: ReactNode;\n}\n\nexport const TikTokVideo = forwardRef<HTMLIFrameElement, TikTokVideoProps>(function TikTokVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(TikTokMedia);\n const props: Partial<TikTokMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildTikTokIframeSrc(props.src || props.source?.src || '', {\n ...tiktokMediaDefaultProps,\n ...props,\n // The frame reads mute once, out of the URL it is rendered with, and either\n // prop says to start muted. Rendering it any other way than the media\n // builds it would have the media rebuild the frame on mount.\n defaultMuted: !!(props.defaultMuted || props.muted),\n })\n );\n const iframeProps = useSyncProps<TikTokMediaProps, Record<string, unknown>>(media, props, tiktokMediaDefaultProps);\n\n return (\n <iframe\n title=\"TikTok video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\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.source?.engine?.tiktok?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace TikTokVideo {\n export type Props = TikTokVideoProps;\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/tiktok-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { TikTokMediaProps } from '@videojs/media/dom/tiktok';\nimport { buildTikTokIframeSrc, TikTokMedia, tiktokMediaDefaultProps } from '@videojs/media/dom/tiktok';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\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 TikTokVideoProps extends Partial<TikTokMediaProps> {\n children?: ReactNode;\n}\n\nexport const TikTokVideo = forwardRef<HTMLIFrameElement, TikTokVideoProps>(function TikTokVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(TikTokMedia);\n const props: Partial<TikTokMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildTikTokIframeSrc(props.src || props.source?.src || '', {\n ...tiktokMediaDefaultProps,\n ...props,\n // The frame reads mute once, out of the URL it is rendered with, and either\n // prop says to start muted. Rendering it any other way than the media\n // builds it would have the media rebuild the frame on mount.\n defaultMuted: !!(props.defaultMuted || props.muted),\n })\n );\n const iframeProps = useSyncProps<TikTokMediaProps, Record<string, unknown>>(media, props, tiktokMediaDefaultProps);\n\n return (\n <iframe\n title=\"TikTok video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\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.source?.engine?.tiktok?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace TikTokVideo {\n export type Props = TikTokVideoProps;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAa,cAAc,WAAgD,SAAS,YAClF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,WAAW;CAC1C,MAAM,QAA6D,EAAE,GAAG,SAAS;CACjF,MAAM,YAAY,gBAAgB,KAAK;CACvC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,qBAAqB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EACzD,GAAG;EACH,GAAG;EAIH,cAAc,CAAC,EAAE,MAAM,gBAAgB,MAAM;CAC/C,CAAC,CACH;CACA,MAAM,cAAc,aAAwD,OAAO,OAAO,uBAAuB;CAEjH,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,QAAQ;EAC9C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/twitch-video/media.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/twitch-video/media.tsx"],"mappings":";;;UAYiB,yBAAyB,QAAQ;EAChD,WAAW;;cAGA,6BAAW,0BAAA,mCAAA,cAAA;kBAyCP;OACH,QAAQ"}
|
|
@@ -10,7 +10,8 @@ import { TwitchMedia, buildTwitchIframeSrc, twitchMediaDefaultProps } from "@vid
|
|
|
10
10
|
const TwitchVideo = forwardRef(function TwitchVideo({ children, ...rawProps }, ref) {
|
|
11
11
|
const media = useMediaInstance(TwitchMedia);
|
|
12
12
|
const props = { ...rawProps };
|
|
13
|
-
const
|
|
13
|
+
const attachRef = useAttachIframe(media);
|
|
14
|
+
const composedRef = useComposedRefs(attachRef, ref);
|
|
14
15
|
const [initialSrc] = useState(() => globalThis.location ? buildTwitchIframeSrc(props.src || props.source?.src || "", {
|
|
15
16
|
...twitchMediaDefaultProps,
|
|
16
17
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/twitch-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { TwitchMediaProps } from '@videojs/media/dom/twitch';\nimport { buildTwitchIframeSrc, TwitchMedia, twitchMediaDefaultProps } from '@videojs/media/dom/twitch';\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 TwitchVideoProps extends Partial<TwitchMediaProps> {\n children?: ReactNode;\n}\n\nexport const TwitchVideo = forwardRef<HTMLIFrameElement, TwitchVideoProps>(function TwitchVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(TwitchMedia);\n const props: Partial<TwitchMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // Server rendering has no `location` to name as the embed's parent, and Twitch\n // refuses to play in a page its URL never named. Rendering no `src` leaves the\n // URL to `attach()`, which builds it where there is a hostname to name.\n globalThis.location\n ? // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildTwitchIframeSrc(props.src || props.source?.src || '', { ...twitchMediaDefaultProps, ...props })\n : ''\n );\n const iframeProps = useSyncProps<TwitchMediaProps, Record<string, unknown>>(media, props, twitchMediaDefaultProps);\n\n return (\n <iframe\n title=\"Twitch video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;\"\n sandbox=\"allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"\n scrolling=\"no\"\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.twitch?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace TwitchVideo {\n export type Props = TwitchVideoProps;\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/twitch-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { TwitchMediaProps } from '@videojs/media/dom/twitch';\nimport { buildTwitchIframeSrc, TwitchMedia, twitchMediaDefaultProps } from '@videojs/media/dom/twitch';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\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 TwitchVideoProps extends Partial<TwitchMediaProps> {\n children?: ReactNode;\n}\n\nexport const TwitchVideo = forwardRef<HTMLIFrameElement, TwitchVideoProps>(function TwitchVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(TwitchMedia);\n const props: Partial<TwitchMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // Server rendering has no `location` to name as the embed's parent, and Twitch\n // refuses to play in a page its URL never named. Rendering no `src` leaves the\n // URL to `attach()`, which builds it where there is a hostname to name.\n globalThis.location\n ? // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildTwitchIframeSrc(props.src || props.source?.src || '', { ...twitchMediaDefaultProps, ...props })\n : ''\n );\n const iframeProps = useSyncProps<TwitchMediaProps, Record<string, unknown>>(media, props, twitchMediaDefaultProps);\n\n return (\n <iframe\n title=\"Twitch video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;\"\n sandbox=\"allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"\n scrolling=\"no\"\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.twitch?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace TwitchVideo {\n export type Props = TwitchVideoProps;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAa,cAAc,WAAgD,SAAS,YAClF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,WAAW;CAC1C,MAAM,QAA6D,EAAE,GAAG,SAAS;CACjF,MAAM,YAAY,gBAAgB,KAAK;CACvC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,CAAC,cAAc,eAInB,WAAW,WAEP,qBAAqB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAAyB,GAAG;CAAM,CAAC,IACnG,EACN;CACA,MAAM,cAAc,aAAwD,OAAO,OAAO,uBAAuB;CAEjH,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,SAAQ;EACR,WAAU;EACV,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,QAAQ;EAC9C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { VideoHTMLAttributes } from "react";
|
|
2
2
|
//#region src/media/video.d.ts
|
|
3
|
+
/** Native `<video>` attributes and children forwarded to the rendered media element. */
|
|
3
4
|
interface VideoProps extends VideoHTMLAttributes<HTMLVideoElement> {}
|
|
5
|
+
/**
|
|
6
|
+
* Renders a native `<video>` element and forwards its element ref.
|
|
7
|
+
*
|
|
8
|
+
* Inside a Player, the element is registered as the player's current media on mount and detached on unmount. It can
|
|
9
|
+
* also render independently when no Player context is present.
|
|
10
|
+
*/
|
|
4
11
|
declare const Video: import("react").ForwardRefExoticComponent<VideoProps & import("react").RefAttributes<HTMLVideoElement>>;
|
|
5
12
|
declare namespace Video {
|
|
6
13
|
type Props = VideoProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.d.ts","names":[],"sources":["../../../src/media/video.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"video.d.ts","names":[],"sources":["../../../src/media/video.tsx"],"mappings":";;;UAOiB,mBAAmB,oBAAoB;;;;;;;cAQ3C,uBAAK,0BAAA,6BAAA,cAAA;kBAWD;OACH,QAAQ"}
|
package/dist/dev/media/video.js
CHANGED
|
@@ -3,9 +3,17 @@ import { useMediaAttach } from "../player/context.js";
|
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/media/video.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Renders a native `<video>` element and forwards its element ref.
|
|
8
|
+
*
|
|
9
|
+
* Inside a Player, the element is registered as the player's current media on mount and detached on unmount. It can
|
|
10
|
+
* also render independently when no Player context is present.
|
|
11
|
+
*/
|
|
6
12
|
const Video = forwardRef(function Video({ children, ...props }, ref) {
|
|
13
|
+
const setMedia = useMediaAttach();
|
|
14
|
+
const composedRef = useComposedRefs(ref, setMedia);
|
|
7
15
|
return /* @__PURE__ */ jsx("video", {
|
|
8
|
-
ref:
|
|
16
|
+
ref: composedRef,
|
|
9
17
|
...props,
|
|
10
18
|
children
|
|
11
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","names":[],"sources":["../../../src/media/video.tsx"],"sourcesContent":["import type { VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useMediaAttach } from '../player/context';\nimport { useComposedRefs } from '../utils/use-composed-refs';\n\nexport interface VideoProps extends VideoHTMLAttributes<HTMLVideoElement> {}\n\nexport const Video = forwardRef<HTMLVideoElement, VideoProps>(function Video({ children, ...props }, ref) {\n const setMedia = useMediaAttach();\n const composedRef = useComposedRefs(ref, setMedia);\n\n return (\n <video ref={composedRef} {...props}>\n {children}\n </video>\n );\n});\n\nexport namespace Video {\n export type Props = VideoProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"video.js","names":[],"sources":["../../../src/media/video.tsx"],"sourcesContent":["import type { VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useMediaAttach } from '../player/context';\nimport { useComposedRefs } from '../utils/use-composed-refs';\n\n/** Native `<video>` attributes and children forwarded to the rendered media element. */\nexport interface VideoProps extends VideoHTMLAttributes<HTMLVideoElement> {}\n\n/**\n * Renders a native `<video>` element and forwards its element ref.\n *\n * Inside a Player, the element is registered as the player's current media on mount and detached on unmount. It can\n * also render independently when no Player context is present.\n */\nexport const Video = forwardRef<HTMLVideoElement, VideoProps>(function Video({ children, ...props }, ref) {\n const setMedia = useMediaAttach();\n const composedRef = useComposedRefs(ref, setMedia);\n\n return (\n <video ref={composedRef} {...props}>\n {children}\n </video>\n );\n});\n\nexport namespace Video {\n export type Props = VideoProps;\n}\n"],"mappings":";;;;;;;;;;;AAeA,MAAa,QAAQ,WAAyC,SAAS,MAAM,EAAE,UAAU,GAAG,SAAS,KAAK;CACxG,MAAM,WAAW,eAAe;CAChC,MAAM,cAAc,gBAAgB,KAAK,QAAQ;CAEjD,OACE,oBAAC,SAAD;EAAO,KAAK;EAAa,GAAI;EAC1B;CACI,CAAA;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/vimeo-video/media.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/vimeo-video/media.tsx"],"mappings":";;;UAYiB,wBAAwB,QAAQ;EAC/C,WAAW;;cAGA,4BAAU,0BAAA,kCAAA,cAAA;kBAmCN;OACH,QAAQ"}
|
|
@@ -10,7 +10,8 @@ import { VimeoMedia, buildVimeoIframeSrc, vimeoMediaDefaultProps } from "@videoj
|
|
|
10
10
|
const VimeoVideo = forwardRef(function VimeoVideo({ children, ...rawProps }, ref) {
|
|
11
11
|
const media = useMediaInstance(VimeoMedia);
|
|
12
12
|
const props = { ...rawProps };
|
|
13
|
-
const
|
|
13
|
+
const attachRef = useAttachIframe(media);
|
|
14
|
+
const composedRef = useComposedRefs(attachRef, ref);
|
|
14
15
|
const [initialSrc] = useState(() => buildVimeoIframeSrc(props.src || props.source?.src || "", {
|
|
15
16
|
...vimeoMediaDefaultProps,
|
|
16
17
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/vimeo-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { VimeoMediaProps } from '@videojs/media/dom/vimeo';\nimport { buildVimeoIframeSrc, VimeoMedia, vimeoMediaDefaultProps } from '@videojs/media/dom/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(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildVimeoIframeSrc(props.src || props.source?.src || '', { ...vimeoMediaDefaultProps, ...props })\n );\n const iframeProps = useSyncProps<VimeoMediaProps, Record<string, unknown>>(media, props, vimeoMediaDefaultProps);\n\n return (\n <iframe\n title=\"Vimeo video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\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.source?.engine?.vimeo?.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":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/vimeo-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { VimeoMediaProps } from '@videojs/media/dom/vimeo';\nimport { buildVimeoIframeSrc, VimeoMedia, vimeoMediaDefaultProps } from '@videojs/media/dom/vimeo';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\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(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildVimeoIframeSrc(props.src || props.source?.src || '', { ...vimeoMediaDefaultProps, ...props })\n );\n const iframeProps = useSyncProps<VimeoMediaProps, Record<string, unknown>>(media, props, vimeoMediaDefaultProps);\n\n return (\n <iframe\n title=\"Vimeo video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\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.source?.engine?.vimeo?.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":";;;;;;;;;AAgBA,MAAa,aAAa,WAA+C,SAAS,WAChF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,UAAU;CACzC,MAAM,QAA4D,EAAE,GAAG,SAAS;CAChF,MAAM,YAAY,gBAAgB,KAAK;CACvC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,oBAAoB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAAwB,GAAG;CAAM,CAAC,CACnG;CACA,MAAM,cAAc,aAAuD,OAAO,OAAO,sBAAsB;CAE/G,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,OAAO;EAC7C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/youtube-video/media.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"media.d.ts","names":[],"sources":["../../../../src/media/youtube-video/media.tsx"],"mappings":";;;UAYiB,0BAA0B,QAAQ;EACjD,WAAW;;cAGA,8BAAY,0BAAA,oCAAA,cAAA;kBAmCR;OACH,QAAQ"}
|
|
@@ -10,7 +10,8 @@ import { YouTubeMedia, buildYouTubeIframeSrc, youtubeMediaDefaultProps } from "@
|
|
|
10
10
|
const YouTubeVideo = forwardRef(function YouTubeVideo({ children, ...rawProps }, ref) {
|
|
11
11
|
const media = useMediaInstance(YouTubeMedia);
|
|
12
12
|
const props = { ...rawProps };
|
|
13
|
-
const
|
|
13
|
+
const attachRef = useAttachIframe(media);
|
|
14
|
+
const composedRef = useComposedRefs(attachRef, ref);
|
|
14
15
|
const [initialSrc] = useState(() => buildYouTubeIframeSrc(props.src || props.source?.src || "", {
|
|
15
16
|
...youtubeMediaDefaultProps,
|
|
16
17
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/youtube-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { YouTubeMediaProps } from '@videojs/media/dom/youtube';\nimport { buildYouTubeIframeSrc, YouTubeMedia, youtubeMediaDefaultProps } from '@videojs/media/dom/youtube';\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 YouTubeVideoProps extends Partial<YouTubeMediaProps> {\n children?: ReactNode;\n}\n\nexport const YouTubeVideo = forwardRef<HTMLIFrameElement, YouTubeVideoProps>(function YouTubeVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(YouTubeMedia);\n const props: Partial<YouTubeMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildYouTubeIframeSrc(props.src || props.source?.src || '', { ...youtubeMediaDefaultProps, ...props })\n );\n const iframeProps = useSyncProps<YouTubeMediaProps, Record<string, unknown>>(media, props, youtubeMediaDefaultProps);\n\n return (\n <iframe\n title=\"YouTube video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\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.source?.engine?.youtube?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace YouTubeVideo {\n export type Props = YouTubeVideoProps;\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/youtube-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { YouTubeMediaProps } from '@videojs/media/dom/youtube';\nimport { buildYouTubeIframeSrc, YouTubeMedia, youtubeMediaDefaultProps } from '@videojs/media/dom/youtube';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\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 YouTubeVideoProps extends Partial<YouTubeMediaProps> {\n children?: ReactNode;\n}\n\nexport const YouTubeVideo = forwardRef<HTMLIFrameElement, YouTubeVideoProps>(function YouTubeVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(YouTubeMedia);\n const props: Partial<YouTubeMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildYouTubeIframeSrc(props.src || props.source?.src || '', { ...youtubeMediaDefaultProps, ...props })\n );\n const iframeProps = useSyncProps<YouTubeMediaProps, Record<string, unknown>>(media, props, youtubeMediaDefaultProps);\n\n return (\n <iframe\n title=\"YouTube video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\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.source?.engine?.youtube?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace YouTubeVideo {\n export type Props = YouTubeVideoProps;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAa,eAAe,WAAiD,SAAS,aACpF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,YAAY;CAC3C,MAAM,QAA8D,EAAE,GAAG,SAAS;CAClF,MAAM,YAAY,gBAAgB,KAAK;CACvC,MAAM,cAAc,gBAAgB,WAAW,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,sBAAsB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAA0B,GAAG;CAAM,CAAC,CACvG;CACA,MAAM,cAAc,aAAyD,OAAO,OAAO,wBAAwB;CAEnH,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,SAAS;EAC/C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","names":[],"sources":["../../../src/player/container.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"container.d.ts","names":[],"sources":["../../../src/player/container.tsx"],"mappings":";;UA2BiB,uBAAuB,eAAe;EACrD,WAAW;;cAGA,2BAAS,0BAAA,iCAAA,cAAA;kBAmEL;OACH,QAAQ"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import { useTranslator } from "../i18n/context.js";
|
|
1
|
+
import { I18nContext, useTranslator } from "../i18n/context.js";
|
|
2
2
|
import { useComposedRefs } from "../utils/use-composed-refs.js";
|
|
3
|
-
import { useContainerAttach } from "./context.js";
|
|
3
|
+
import { useContainerAttach, usePlayer } from "./context.js";
|
|
4
4
|
import { PopupGroupProvider } from "./popup-group-context.js";
|
|
5
|
-
import { DEFAULT_CONTAINER_ROLE, DEFAULT_CONTAINER_TAB_INDEX, createPopupGroup, focusContainer } from "@videojs/core/dom";
|
|
6
|
-
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
5
|
+
import { DEFAULT_CONTAINER_ROLE, DEFAULT_CONTAINER_TAB_INDEX, createPopupGroup, focusContainer, getStateDataAttrs, selectControls } from "@videojs/core/dom";
|
|
6
|
+
import { forwardRef, useContext, useEffect, useRef, useState } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { ContainerCore, ContainerDataAttrs } from "@videojs/core";
|
|
8
9
|
import { labelText } from "@videojs/core/i18n/text/container";
|
|
10
|
+
import { getTextDirection } from "@videojs/utils/i18n";
|
|
9
11
|
//#region src/player/container.tsx
|
|
10
|
-
const Container = forwardRef(function Container({ children, tabIndex = DEFAULT_CONTAINER_TAB_INDEX, role = DEFAULT_CONTAINER_ROLE, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...props }, ref) {
|
|
12
|
+
const Container = forwardRef(function Container({ children, tabIndex = DEFAULT_CONTAINER_TAB_INDEX, role = DEFAULT_CONTAINER_ROLE, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, lang: langProp, dir: dirProp, ...props }, ref) {
|
|
11
13
|
const setContainer = useContainerAttach();
|
|
12
14
|
const translator = useTranslator();
|
|
15
|
+
const i18n = useContext(I18nContext);
|
|
16
|
+
const controls = usePlayer(selectControls);
|
|
17
|
+
const [core] = useState(() => new ContainerCore());
|
|
13
18
|
const [popupGroup] = useState(() => createPopupGroup());
|
|
14
19
|
const internalRef = useRef(null);
|
|
15
20
|
const composedRef = useComposedRefs(ref, internalRef);
|
|
@@ -23,15 +28,25 @@ const Container = forwardRef(function Container({ children, tabIndex = DEFAULT_C
|
|
|
23
28
|
if (!el) return;
|
|
24
29
|
focusContainer(el);
|
|
25
30
|
};
|
|
31
|
+
const accessibleNameProps = ariaLabel !== void 0 || ariaLabelledBy !== void 0 ? {
|
|
32
|
+
"aria-label": ariaLabel,
|
|
33
|
+
"aria-labelledby": ariaLabelledBy
|
|
34
|
+
} : { "aria-label": translator(labelText) };
|
|
35
|
+
const lang = langProp ?? (i18n?.localeFromProp ? i18n.locale : void 0);
|
|
36
|
+
const localeProps = {
|
|
37
|
+
lang,
|
|
38
|
+
dir: dirProp ?? (lang ? getTextDirection(lang) : void 0)
|
|
39
|
+
};
|
|
40
|
+
if (controls) core.setMedia(controls);
|
|
41
|
+
const stateAttrs = controls ? getStateDataAttrs(core.getState(), ContainerDataAttrs) : void 0;
|
|
26
42
|
return /* @__PURE__ */ jsx("div", {
|
|
27
43
|
ref: composedRef,
|
|
28
44
|
role,
|
|
29
45
|
tabIndex,
|
|
30
|
-
...
|
|
31
|
-
|
|
32
|
-
"aria-labelledby": ariaLabelledBy
|
|
33
|
-
} : { "aria-label": translator(labelText) },
|
|
46
|
+
...accessibleNameProps,
|
|
47
|
+
...localeProps,
|
|
34
48
|
...props,
|
|
49
|
+
...stateAttrs,
|
|
35
50
|
onPointerUp: handlePointerUp,
|
|
36
51
|
children: /* @__PURE__ */ jsx(PopupGroupProvider, {
|
|
37
52
|
value: popupGroup,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","names":[],"sources":["../../../src/player/container.tsx"],"sourcesContent":["import {\n createPopupGroup,\n DEFAULT_CONTAINER_ROLE,\n DEFAULT_CONTAINER_TAB_INDEX,\n focusContainer,\n} from '@videojs/core/dom';\nimport { labelText } from '@videojs/core/i18n/text/container';\nimport {\n forwardRef,\n type HTMLAttributes,\n type PointerEventHandler,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useTranslator } from '../i18n/context';\nimport { useComposedRefs } from '../utils/use-composed-refs';\nimport { useContainerAttach } from './context';\nimport { PopupGroupProvider } from './popup-group-context';\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n {\n children,\n tabIndex = DEFAULT_CONTAINER_TAB_INDEX,\n role = DEFAULT_CONTAINER_ROLE,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n },\n ref\n) {\n const setContainer = useContainerAttach();\n const translator = useTranslator();\n const [popupGroup] = useState(() => createPopupGroup());\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: PointerEventHandler<HTMLDivElement> = (event) => {\n props.onPointerUp?.(event);\n const el = internalRef.current;\n if (!el) return;\n focusContainer(el);\n };\n\n const accessibleNameProps =\n ariaLabel !== undefined || ariaLabelledBy !== undefined\n ? { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy }\n : { 'aria-label': translator(labelText) };\n\n return (\n <div\n ref={composedRef}\n role={role}\n tabIndex={tabIndex}\n {...accessibleNameProps}\n {...props}\n onPointerUp={handlePointerUp}\n >\n <PopupGroupProvider value={popupGroup}>{children}</PopupGroupProvider>\n </div>\n );\n});\n\nexport namespace Container {\n export type Props = ContainerProps;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"container.js","names":[],"sources":["../../../src/player/container.tsx"],"sourcesContent":["import { ContainerCore, ContainerDataAttrs } from '@videojs/core';\nimport {\n createPopupGroup,\n DEFAULT_CONTAINER_ROLE,\n DEFAULT_CONTAINER_TAB_INDEX,\n focusContainer,\n getStateDataAttrs,\n selectControls,\n} from '@videojs/core/dom';\nimport { labelText } from '@videojs/core/i18n/text/container';\nimport { getTextDirection } from '@videojs/utils/i18n';\nimport {\n forwardRef,\n type HTMLAttributes,\n type PointerEventHandler,\n type ReactNode,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { I18nContext, useTranslator } from '../i18n/context';\nimport { useComposedRefs } from '../utils/use-composed-refs';\nimport { useContainerAttach, usePlayer } from './context';\nimport { PopupGroupProvider } from './popup-group-context';\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n {\n children,\n tabIndex = DEFAULT_CONTAINER_TAB_INDEX,\n role = DEFAULT_CONTAINER_ROLE,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n lang: langProp,\n dir: dirProp,\n ...props\n },\n ref\n) {\n const setContainer = useContainerAttach();\n const translator = useTranslator();\n const i18n = useContext(I18nContext);\n const controls = usePlayer(selectControls);\n const [core] = useState(() => new ContainerCore());\n\n const [popupGroup] = useState(() => createPopupGroup());\n\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: PointerEventHandler<HTMLDivElement> = (event) => {\n props.onPointerUp?.(event);\n const el = internalRef.current;\n if (!el) return;\n\n focusContainer(el);\n };\n\n const accessibleNameProps =\n ariaLabel !== undefined || ariaLabelledBy !== undefined\n ? { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy }\n : { 'aria-label': translator(labelText) };\n const lang = langProp ?? (i18n?.localeFromProp ? i18n.locale : undefined);\n const localeProps = {\n lang,\n dir: dirProp ?? (lang ? getTextDirection(lang) : undefined),\n };\n\n if (controls) core.setMedia(controls);\n\n const stateAttrs = controls ? getStateDataAttrs(core.getState(), ContainerDataAttrs) : undefined;\n\n return (\n <div\n ref={composedRef}\n role={role}\n tabIndex={tabIndex}\n {...accessibleNameProps}\n {...localeProps}\n {...props}\n {...stateAttrs}\n onPointerUp={handlePointerUp}\n >\n <PopupGroupProvider value={popupGroup}>{children}</PopupGroupProvider>\n </div>\n );\n});\n\nexport namespace Container {\n export type Props = ContainerProps;\n}\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,YAAY,WAA2C,SAAS,UAC3E,EACE,UACA,WAAW,6BACX,OAAO,wBACP,cAAc,WACd,mBAAmB,gBACnB,MAAM,UACN,KAAK,SACL,GAAG,SAEL,KACA;CACA,MAAM,eAAe,mBAAmB;CACxC,MAAM,aAAa,cAAc;CACjC,MAAM,OAAO,WAAW,WAAW;CACnC,MAAM,WAAW,UAAU,cAAc;CACzC,MAAM,CAAC,QAAQ,eAAe,IAAI,cAAc,CAAC;CAEjD,MAAM,CAAC,cAAc,eAAe,iBAAiB,CAAC;CAEtD,MAAM,cAAc,OAAuB,IAAI;CAC/C,MAAM,cAAc,gBAAgB,KAAK,WAAW;CAEpD,gBAAgB;EACd,eAAe,YAAY,OAAO;EAClC,aAAa,eAAe,IAAI;CAClC,GAAG,CAAC,YAAY,CAAC;CAEjB,MAAM,mBAAwD,UAAU;EACtE,MAAM,cAAc,KAAK;EACzB,MAAM,KAAK,YAAY;EACvB,IAAI,CAAC,IAAI;EAET,eAAe,EAAE;CACnB;CAEA,MAAM,sBACJ,cAAc,KAAA,KAAa,mBAAmB,KAAA,IAC1C;EAAE,cAAc;EAAW,mBAAmB;CAAe,IAC7D,EAAE,cAAc,WAAW,SAAS,EAAE;CAC5C,MAAM,OAAO,aAAa,MAAM,iBAAiB,KAAK,SAAS,KAAA;CAC/D,MAAM,cAAc;EAClB;EACA,KAAK,YAAY,OAAO,iBAAiB,IAAI,IAAI,KAAA;CACnD;CAEA,IAAI,UAAU,KAAK,SAAS,QAAQ;CAEpC,MAAM,aAAa,WAAW,kBAAkB,KAAK,SAAS,GAAG,kBAAkB,IAAI,KAAA;CAEvF,OACE,oBAAC,OAAD;EACE,KAAK;EACC;EACI;EACV,GAAI;EACJ,GAAI;EACJ,GAAI;EACJ,GAAI;EACJ,aAAa;EAEb,UAAA,oBAAC,oBAAD;GAAoB,OAAO;GAAa;EAA6B,CAAA;CAClE,CAAA;AAET,CAAC"}
|
|
@@ -15,10 +15,9 @@ declare function usePlayerContext(): PlayerContextValue;
|
|
|
15
15
|
/**
|
|
16
16
|
* Access the player store from within a Player.
|
|
17
17
|
*
|
|
18
|
-
* This standalone hook has no knowledge of your configured features, so it
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* or pass a premade selector to recover the type from its return value.
|
|
18
|
+
* This standalone hook has no knowledge of your configured features, so it returns an untyped `UnknownStore` whose
|
|
19
|
+
* state properties are typed as `unknown`. For typed access, use the `usePlayer` returned by `createPlayer()`, or pass
|
|
20
|
+
* a premade selector to recover the type from its return value.
|
|
22
21
|
*
|
|
23
22
|
* @label Without Selector
|
|
24
23
|
*/
|
|
@@ -26,22 +25,25 @@ declare function usePlayer(): UnknownStore;
|
|
|
26
25
|
/**
|
|
27
26
|
* Select a value from the player store. Re-renders when the selected value changes.
|
|
28
27
|
*
|
|
29
|
-
* The selector receives `UnknownState`, so an inline selector returns `unknown`.
|
|
30
|
-
*
|
|
28
|
+
* The selector receives `UnknownState`, so an inline selector returns `unknown`. Pass a premade selector (e.g.
|
|
29
|
+
* `selectPlayback`) to get a typed result.
|
|
31
30
|
*
|
|
32
|
-
* @label With Selector
|
|
33
31
|
* @param selector - Derives a value from the player store state.
|
|
32
|
+
* @label With Selector
|
|
34
33
|
*/
|
|
35
34
|
declare function usePlayer<R>(selector: (state: UnknownState) => R): R;
|
|
36
35
|
/**
|
|
37
|
-
*
|
|
36
|
+
* Returns the player store when available, or `undefined` outside a Player.
|
|
38
37
|
*
|
|
39
|
-
*
|
|
40
|
-
* (e.g. they accept fully explicit props as a fallback).
|
|
38
|
+
* @label Without Selector
|
|
41
39
|
*/
|
|
42
|
-
/** @label Without Selector */
|
|
43
40
|
declare function useOptionalPlayer(): UnknownStore | undefined;
|
|
44
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Selects a player value when available, or returns `undefined` outside a Player.
|
|
43
|
+
*
|
|
44
|
+
* @param selector - Derives a value from the player store state.
|
|
45
|
+
* @label With Selector
|
|
46
|
+
*/
|
|
45
47
|
declare function useOptionalPlayer<R>(selector: (state: UnknownState) => R): R | undefined;
|
|
46
48
|
/** Access the media element from within a Player. */
|
|
47
49
|
declare function useMedia(): Media | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/player/context.tsx"],"mappings":";;;;;UAOiB;EACf,OAAO;EACP,OAAO;EACP,UAAU,SAAS,eAAe;EAClC,WAAW;EACX,cAAc,SAAS,eAAe;;;iBAqBxB,oBAAoB
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/player/context.tsx"],"mappings":";;;;;UAOiB;EACf,OAAO;EACP,OAAO;EACP,UAAU,SAAS,eAAe;EAClC,WAAW;EACX,cAAc,SAAS,eAAe;;;iBAqBxB,oBAAoB;;;;;;;;;;iBAgBpB,aAAa;;;;;;;;;;iBAUb,UAAU,GAAG,WAAW,OAAO,iBAAiB,IAAI;;;;;;iBAYpD,qBAAqB;;;;;;;iBAOrB,kBAAkB,GAAG,WAAW,OAAO,iBAAiB,IAAI;;iBAU5D,YAAY;;iBAOZ,gBAAgB;;iBAOhB,wBAAwB;;iBAOxB,kBAAkB,SAAS,eAAe;;iBAO1C,sBAAsB,SAAS,eAAe"}
|
|
@@ -26,7 +26,8 @@ function usePlayer(selector) {
|
|
|
26
26
|
}
|
|
27
27
|
function useOptionalPlayer(selector) {
|
|
28
28
|
const ctx = useContext(PlayerContext);
|
|
29
|
-
const
|
|
29
|
+
const store = ctx?.store ?? EMPTY_STORE;
|
|
30
|
+
const value = useStore(store, ctx ? selector : void 0);
|
|
30
31
|
return ctx ? value : void 0;
|
|
31
32
|
}
|
|
32
33
|
/** Access the media element from within a Player. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.tsx"],"sourcesContent":["import type { MediaContainer } from '@videojs/core/dom';\nimport type { Media } from '@videojs/media';\nimport type { UnknownState, UnknownStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { createContext, useContext } from 'react';\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}\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. */\nexport function usePlayerContext(): PlayerContextValue {\n const ctx = useContext(PlayerContext);\n if (!ctx) throw new Error('usePlayerContext must be used within a Player');\n return ctx;\n}\n\n/**\n * Access the player store from within a Player.\n *\n * This standalone hook has no knowledge of your configured features, so it
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.tsx"],"sourcesContent":["import type { MediaContainer } from '@videojs/core/dom';\nimport type { Media } from '@videojs/media';\nimport type { UnknownState, UnknownStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { createContext, useContext } from 'react';\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}\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. */\nexport function usePlayerContext(): PlayerContextValue {\n const ctx = useContext(PlayerContext);\n if (!ctx) throw new Error('usePlayerContext must be used within a Player');\n\n return ctx;\n}\n\n/**\n * Access the player store from within a Player.\n *\n * This standalone hook has no knowledge of your configured features, so it returns an untyped `UnknownStore` whose\n * state properties are typed as `unknown`. For typed access, use the `usePlayer` returned by `createPlayer()`, or pass\n * 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`. Pass a premade selector (e.g.\n * `selectPlayback`) to get a typed result.\n *\n * @param selector - Derives a value from the player store state.\n * @label With Selector\n */\nexport function usePlayer<R>(selector: (state: UnknownState) => R): R;\nexport function usePlayer<R>(selector?: (state: UnknownState) => R) {\n const { store } = usePlayerContext();\n\n return useStore(store, selector as any);\n}\n\n/**\n * Returns the player store when available, or `undefined` outside a Player.\n *\n * @label Without Selector\n */\nexport function useOptionalPlayer(): UnknownStore | undefined;\n/**\n * Selects a player value when available, or returns `undefined` outside a Player.\n *\n * @param selector - Derives a value from the player store state.\n * @label With Selector\n */\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\n return ctx ? value : undefined;\n}\n\n/** Access the media element from within a Player. */\nexport function useMedia(): Media | null {\n const { media } = usePlayerContext();\n\n return media;\n}\n\n/** Access the container element from within a Player. */\nexport function useContainer(): MediaContainer | null {\n const { container } = usePlayerContext();\n\n return container;\n}\n\n/** Access the container element when a Player is available. */\nexport function useOptionalContainer(): MediaContainer | null {\n const ctx = useContext(PlayerContext);\n\n return ctx?.container ?? null;\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\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\n return ctx?.setContainer;\n}\n"],"mappings":";;;;AAeA,MAAM,gBAAgB,cAAyC,IAAI;AACnE,MAAM,0BAA0B,CAAC;AACjC,MAAM,cAAc;CAClB,OAAO,CAAC;CACR,iBAAiB;AACnB;AAEA,SAAgB,sBAAsB,EACpC,OACA,YAIY;CACZ,OAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;CAAiC,CAAA;AACjF;;AAGA,SAAgB,mBAAuC;CACrD,MAAM,MAAM,WAAW,aAAa;CACpC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,+CAA+C;CAEzE,OAAO;AACT;AAsBA,SAAgB,UAAa,UAAuC;CAClE,MAAM,EAAE,UAAU,iBAAiB;CAEnC,OAAO,SAAS,OAAO,QAAe;AACxC;AAeA,SAAgB,kBAAqB,UAAuC;CAC1E,MAAM,MAAM,WAAW,aAAa;CACpC,MAAM,QAAS,KAAK,SAAU;CAC9B,MAAM,QAAQ,SAAS,OAAQ,MAAM,WAAW,KAAA,CAAiB;CAEjE,OAAO,MAAM,QAAQ,KAAA;AACvB;;AAGA,SAAgB,WAAyB;CACvC,MAAM,EAAE,UAAU,iBAAiB;CAEnC,OAAO;AACT;;AAGA,SAAgB,eAAsC;CACpD,MAAM,EAAE,cAAc,iBAAiB;CAEvC,OAAO;AACT;;AAGA,SAAgB,uBAA8C;CAG5D,OAFY,WAAW,aAEd,CAAC,EAAE,aAAa;AAC3B;;AAGA,SAAgB,iBAAqE;CAGnF,OAFY,WAAW,aAEd,CAAC,EAAE;AACd;;AAGA,SAAgB,qBAA+E;CAG7F,OAFY,WAAW,aAEd,CAAC,EAAE;AACd"}
|
|
@@ -3,41 +3,57 @@ import { Media } from "@videojs/media/dom";
|
|
|
3
3
|
import { InferStoreState } from "@videojs/store";
|
|
4
4
|
import { FC, ReactNode } from "react";
|
|
5
5
|
//#region src/player/create-player.d.ts
|
|
6
|
+
/** Configures the feature-backed store and provider component created by {@link createPlayer}. */
|
|
6
7
|
interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {
|
|
8
|
+
/** Features combined into the player's store, state, actions, and configuration props. */
|
|
7
9
|
features: Features;
|
|
10
|
+
/** Name shown for the generated provider component in development tools. */
|
|
8
11
|
displayName?: string;
|
|
9
12
|
}
|
|
13
|
+
/** Props accepted by a generated Player provider. */
|
|
10
14
|
type PlayerProps<Config = object> = { [Key in keyof Config]?: Config[Key] | undefined; } & {
|
|
15
|
+
/** Content placed inside the player context. The provider does not render a host element of its own. */
|
|
11
16
|
children: ReactNode;
|
|
12
17
|
};
|
|
18
|
+
/** The provider component and typed hooks produced by {@link createPlayer}. */
|
|
13
19
|
interface CreatePlayerResult<Store extends PlayerStore> {
|
|
20
|
+
/** Provides a new player store to its descendants without adding a layout element. */
|
|
14
21
|
Player: FC<PlayerProps<InferPlayerConfig<Store>>>;
|
|
22
|
+
/** Accesses the configured store, or subscribes to a selected value from it. */
|
|
15
23
|
usePlayer: UsePlayerHook<Store>;
|
|
24
|
+
/** Returns the media currently attached beneath the generated Player, or `null` before attachment. */
|
|
16
25
|
useMedia: () => Media | null;
|
|
17
26
|
}
|
|
27
|
+
/** Typed player-store hook returned by {@link createPlayer}. */
|
|
18
28
|
type UsePlayerHook<Store extends PlayerStore> = {
|
|
29
|
+
/** Returns the configured player store. */
|
|
19
30
|
(): Store;
|
|
31
|
+
/**
|
|
32
|
+
* Subscribes to a value derived from the player state.
|
|
33
|
+
*
|
|
34
|
+
* @param selector - Derives the value consumed by the calling component.
|
|
35
|
+
*/
|
|
20
36
|
<R>(selector: (state: InferStoreState<Store>) => R): R;
|
|
21
37
|
};
|
|
22
38
|
/**
|
|
23
39
|
* Create a player instance with a typed Player component and hooks.
|
|
24
40
|
*
|
|
25
|
-
* @label Video
|
|
26
41
|
* @param config - Player configuration with features and optional display name.
|
|
42
|
+
* @label Video
|
|
27
43
|
*/
|
|
28
44
|
declare function createPlayer(config: CreatePlayerConfig<VideoFeatures>): CreatePlayerResult<VideoPlayerStore>;
|
|
29
45
|
/**
|
|
30
46
|
* Create a player for audio media.
|
|
31
47
|
*
|
|
32
|
-
* @label Audio
|
|
33
48
|
* @param config - Player configuration with features and optional display name.
|
|
49
|
+
* @label Audio
|
|
34
50
|
*/
|
|
35
51
|
declare function createPlayer(config: CreatePlayerConfig<AudioFeatures>): CreatePlayerResult<AudioPlayerStore>;
|
|
36
52
|
/**
|
|
37
53
|
* Create a player with custom features.
|
|
38
54
|
*
|
|
39
|
-
* @label Generic
|
|
40
55
|
* @param config - Player configuration with features and optional display name.
|
|
56
|
+
* @label Generic
|
|
41
57
|
*/
|
|
42
58
|
declare function createPlayer<const Features extends AnyPlayerFeature[]>(config: CreatePlayerConfig<Features>): CreatePlayerResult<PlayerStore<Features>>;
|
|
43
59
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-player.d.ts","names":[],"sources":["../../../src/player/create-player.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-player.d.ts","names":[],"sources":["../../../src/player/create-player.tsx"],"mappings":";;;;;;UA0BiB,mBAAmB,iBAAiB;;EAEnD,UAAU;;EAGV;;;KAIU,YAAY,sBACrB,aAAa,UAAU,OAAO;;EAG/B,UAAU;;;UAIK,mBAAmB,cAAc;;EAEhD,QAAQ,GAAG,YAAY,kBAAkB;;EAGzC,WAAW,cAAc;;EAGzB,gBAAgB;;;KAIN,cAAc,cAAc;;MAElC;;;;;;GAOH,GAAG,WAAW,OAAO,gBAAgB,WAAW,IAAI;;;;;;;;iBASvC,aAAa,QAAQ,mBAAmB,iBAAiB,mBAAmB;;;;;;;iBAQ5E,aAAa,QAAQ,mBAAmB,iBAAiB,mBAAmB;;;;;;;iBAQ5E,mBAAmB,iBAAiB,oBAClD,QAAQ,mBAAmB,YAC1B,mBAAmB,YAAY"}
|
|
@@ -60,18 +60,19 @@ function createPlayer(config) {
|
|
|
60
60
|
container,
|
|
61
61
|
store
|
|
62
62
|
]);
|
|
63
|
+
const value = useMemo(() => ({
|
|
64
|
+
store,
|
|
65
|
+
media,
|
|
66
|
+
setMedia,
|
|
67
|
+
container,
|
|
68
|
+
setContainer
|
|
69
|
+
}), [
|
|
70
|
+
store,
|
|
71
|
+
media,
|
|
72
|
+
container
|
|
73
|
+
]);
|
|
63
74
|
return /* @__PURE__ */ jsx(PlayerContextProvider, {
|
|
64
|
-
value
|
|
65
|
-
store,
|
|
66
|
-
media,
|
|
67
|
-
setMedia,
|
|
68
|
-
container,
|
|
69
|
-
setContainer
|
|
70
|
-
}), [
|
|
71
|
-
store,
|
|
72
|
-
media,
|
|
73
|
-
container
|
|
74
|
-
]),
|
|
75
|
+
value,
|
|
75
76
|
children
|
|
76
77
|
});
|
|
77
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-player.js","names":[],"sources":["../../../src/player/create-player.tsx"],"sourcesContent":["import {\n type AnyPlayerFeature,\n type AnyPlayerStore,\n type AudioFeatures,\n type AudioPlayerStore,\n combinePlayerFeatureConfigs,\n type InferPlayerConfig,\n type PlayerFeatureConfig,\n type PlayerStore,\n type PlayerTarget,\n setPlayerConfigValue,\n type VideoFeatures,\n type VideoPlayerStore,\n} from '@videojs/core/dom';\nimport type { Media } from '@videojs/media/dom';\nimport type { InferStoreState } from '@videojs/store';\nimport { combine, createStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport { pick } from '@videojs/utils/object';\nimport type { FC, ReactNode } from 'react';\nimport { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { useDestroy } from '../utils/use-destroy';\nimport { PlayerContextProvider, useMedia, usePlayerContext } from './context';\n\nexport interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {\n features: Features;\n displayName?: string;\n}\n\nexport type PlayerProps<Config = object> = {\n [Key in keyof Config]?: Config[Key] | undefined;\n} & {\n children: ReactNode;\n};\n\nexport interface CreatePlayerResult<Store extends PlayerStore> {\n Player: FC<PlayerProps<InferPlayerConfig<Store>>>;\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 a typed Player component and hooks.\n *\n * @
|
|
1
|
+
{"version":3,"file":"create-player.js","names":[],"sources":["../../../src/player/create-player.tsx"],"sourcesContent":["import {\n type AnyPlayerFeature,\n type AnyPlayerStore,\n type AudioFeatures,\n type AudioPlayerStore,\n combinePlayerFeatureConfigs,\n type InferPlayerConfig,\n type PlayerFeatureConfig,\n type PlayerStore,\n type PlayerTarget,\n setPlayerConfigValue,\n type VideoFeatures,\n type VideoPlayerStore,\n} from '@videojs/core/dom';\nimport type { Media } from '@videojs/media/dom';\nimport type { InferStoreState } from '@videojs/store';\nimport { combine, createStore } from '@videojs/store';\nimport { useStore } from '@videojs/store/react';\nimport { pick } from '@videojs/utils/object';\nimport type { FC, ReactNode } from 'react';\nimport { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { useDestroy } from '../utils/use-destroy';\nimport { PlayerContextProvider, useMedia, usePlayerContext } from './context';\n\n/** Configures the feature-backed store and provider component created by {@link createPlayer}. */\nexport interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {\n /** Features combined into the player's store, state, actions, and configuration props. */\n features: Features;\n\n /** Name shown for the generated provider component in development tools. */\n displayName?: string;\n}\n\n/** Props accepted by a generated Player provider. */\nexport type PlayerProps<Config = object> = {\n [Key in keyof Config]?: Config[Key] | undefined;\n} & {\n /** Content placed inside the player context. The provider does not render a host element of its own. */\n children: ReactNode;\n};\n\n/** The provider component and typed hooks produced by {@link createPlayer}. */\nexport interface CreatePlayerResult<Store extends PlayerStore> {\n /** Provides a new player store to its descendants without adding a layout element. */\n Player: FC<PlayerProps<InferPlayerConfig<Store>>>;\n\n /** Accesses the configured store, or subscribes to a selected value from it. */\n usePlayer: UsePlayerHook<Store>;\n\n /** Returns the media currently attached beneath the generated Player, or `null` before attachment. */\n useMedia: () => Media | null;\n}\n\n/** Typed player-store hook returned by {@link createPlayer}. */\nexport type UsePlayerHook<Store extends PlayerStore> = {\n /** Returns the configured player store. */\n (): Store;\n\n /**\n * Subscribes to a value derived from the player state.\n *\n * @param selector - Derives the value consumed by the calling component.\n */\n <R>(selector: (state: InferStoreState<Store>) => R): R;\n};\n\n/**\n * Create a player instance with a typed Player component and hooks.\n *\n * @param config - Player configuration with features and optional display name.\n * @label Video\n */\nexport function createPlayer(config: CreatePlayerConfig<VideoFeatures>): CreatePlayerResult<VideoPlayerStore>;\n\n/**\n * Create a player for audio media.\n *\n * @param config - Player configuration with features and optional display name.\n * @label Audio\n */\nexport function createPlayer(config: CreatePlayerConfig<AudioFeatures>): CreatePlayerResult<AudioPlayerStore>;\n\n/**\n * Create a player with custom features.\n *\n * @param config - Player configuration with features and optional display name.\n * @label Generic\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 const slice = combine(...config.features);\n const featureConfig = combinePlayerFeatureConfigs(config.features);\n const configKeys = Object.keys(featureConfig);\n\n function createConfiguredStore(values: Record<string, unknown>) {\n const store = createStore<PlayerTarget>()(slice);\n\n applyConfigValues(store, featureConfig, values);\n return store;\n }\n\n function Player(props: PlayerProps<any>): ReactNode {\n const { children } = props;\n // Only inputs declared by selected features are forwarded to store actions.\n const configValues = pick(props, configKeys);\n const [store, setStore] = useState(() => createConfiguredStore(configValues));\n const syncedValues = useRef({ store, values: configValues });\n\n const [media, setMedia] = useState<Media | null>(null);\n const [container, setContainer] = useState<HTMLElement | null>(null);\n\n useDestroy(store);\n\n // Sync committed configuration props to the existing store.\n useLayoutEffect(() => {\n const previous = syncedValues.current;\n\n // Replacement stores are seeded from this render's props during creation.\n if (previous.store !== store) {\n syncedValues.current = { store, values: configValues };\n return;\n }\n\n for (const key of configKeys) {\n if (Object.is(previous.values[key], configValues[key])) continue;\n\n setPlayerConfigValue(store, featureConfig[key]!, configValues[key]);\n }\n\n syncedValues.current = { store, values: configValues };\n });\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(createConfiguredStore(syncedValues.current.values));\n return;\n }\n\n return store.attach({ media, container });\n }, [media, container, store]);\n\n const value = useMemo(() => ({ store, media, setMedia, container, setContainer }), [store, media, container]);\n\n return <PlayerContextProvider value={value}>{children}</PlayerContextProvider>;\n }\n\n if (__DEV__ && config.displayName) {\n Player.displayName = config.displayName;\n }\n\n function usePlayer<R>(selector?: (state: object) => R): AnyPlayerStore | R {\n const { store } = usePlayerContext();\n\n return useStore(store, selector as any);\n }\n\n return {\n Player,\n usePlayer,\n useMedia,\n };\n}\n\nfunction applyConfigValues(store: object, config: PlayerFeatureConfig, values: Record<string, unknown>): void {\n for (const key of Object.keys(config)) {\n setPlayerConfigValue(store, config[key]!, values[key]);\n }\n}\n"],"mappings":";;;;;;;;;AA6FA,SAAgB,aAAa,QAAoF;CAC/G,MAAM,QAAQ,QAAQ,GAAG,OAAO,QAAQ;CACxC,MAAM,gBAAgB,4BAA4B,OAAO,QAAQ;CACjE,MAAM,aAAa,OAAO,KAAK,aAAa;CAE5C,SAAS,sBAAsB,QAAiC;EAC9D,MAAM,QAAQ,YAA0B,CAAC,CAAC,KAAK;EAE/C,kBAAkB,OAAO,eAAe,MAAM;EAC9C,OAAO;CACT;CAEA,SAAS,OAAO,OAAoC;EAClD,MAAM,EAAE,aAAa;EAErB,MAAM,eAAe,KAAK,OAAO,UAAU;EAC3C,MAAM,CAAC,OAAO,YAAY,eAAe,sBAAsB,YAAY,CAAC;EAC5E,MAAM,eAAe,OAAO;GAAE;GAAO,QAAQ;EAAa,CAAC;EAE3D,MAAM,CAAC,OAAO,YAAY,SAAuB,IAAI;EACrD,MAAM,CAAC,WAAW,gBAAgB,SAA6B,IAAI;EAEnE,WAAW,KAAK;EAGhB,sBAAsB;GACpB,MAAM,WAAW,aAAa;GAG9B,IAAI,SAAS,UAAU,OAAO;IAC5B,aAAa,UAAU;KAAE;KAAO,QAAQ;IAAa;IACrD;GACF;GAEA,KAAK,MAAM,OAAO,YAAY;IAC5B,IAAI,OAAO,GAAG,SAAS,OAAO,MAAM,aAAa,IAAI,GAAG;IAExD,qBAAqB,OAAO,cAAc,MAAO,aAAa,IAAI;GACpE;GAEA,aAAa,UAAU;IAAE;IAAO,QAAQ;GAAa;EACvD,CAAC;EAED,gBAAgB;GACd,IAAI,CAAC,OAAO;GAKZ,IAAI,MAAM,WAAW;IACnB,SAAS,sBAAsB,aAAa,QAAQ,MAAM,CAAC;IAC3D;GACF;GAEA,OAAO,MAAM,OAAO;IAAE;IAAO;GAAU,CAAC;EAC1C,GAAG;GAAC;GAAO;GAAW;EAAK,CAAC;EAE5B,MAAM,QAAQ,eAAe;GAAE;GAAO;GAAO;GAAU;GAAW;EAAa,IAAI;GAAC;GAAO;GAAO;EAAS,CAAC;EAE5G,OAAO,oBAAC,uBAAD;GAA8B;GAAQ;EAAgC,CAAA;CAC/E;CAEA,IAAe,OAAO,aACpB,OAAO,cAAc,OAAO;CAG9B,SAAS,UAAa,UAAqD;EACzE,MAAM,EAAE,UAAU,iBAAiB;EAEnC,OAAO,SAAS,OAAO,QAAe;CACxC;CAEA,OAAO;EACL;EACA;EACA;CACF;AACF;AAEA,SAAS,kBAAkB,OAAe,QAA6B,QAAuC;CAC5G,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAClC,qBAAqB,OAAO,OAAO,MAAO,OAAO,IAAI;AAEzD"}
|