@videojs/react 10.0.0-beta.25 → 10.0.0-beta.26
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 +36 -0
- package/dist/default/i18n/context.js.map +1 -0
- package/dist/default/i18n/create-i18n.js +76 -0
- package/dist/default/i18n/create-i18n.js.map +1 -0
- package/dist/default/i18n/get-provider-root-props.js +40 -0
- package/dist/default/i18n/get-provider-root-props.js.map +1 -0
- package/dist/default/i18n/index.js +5 -0
- package/dist/default/i18n/locales/all/register.js +8 -0
- package/dist/default/i18n/locales/all/register.js.map +1 -0
- package/dist/default/i18n/locales/all.js +2 -0
- package/dist/default/i18n/locales/ar/register.js +8 -0
- package/dist/default/i18n/locales/ar/register.js.map +1 -0
- package/dist/default/i18n/locales/ar.js +2 -0
- package/dist/default/i18n/locales/az/register.js +8 -0
- package/dist/default/i18n/locales/az/register.js.map +1 -0
- package/dist/default/i18n/locales/az.js +2 -0
- package/dist/default/i18n/locales/bg/register.js +8 -0
- package/dist/default/i18n/locales/bg/register.js.map +1 -0
- package/dist/default/i18n/locales/bg.js +2 -0
- package/dist/default/i18n/locales/bn/register.js +8 -0
- package/dist/default/i18n/locales/bn/register.js.map +1 -0
- package/dist/default/i18n/locales/bn.js +2 -0
- package/dist/default/i18n/locales/bs/register.js +8 -0
- package/dist/default/i18n/locales/bs/register.js.map +1 -0
- package/dist/default/i18n/locales/bs.js +2 -0
- package/dist/default/i18n/locales/ca/register.js +8 -0
- package/dist/default/i18n/locales/ca/register.js.map +1 -0
- package/dist/default/i18n/locales/ca.js +2 -0
- package/dist/default/i18n/locales/cs/register.js +8 -0
- package/dist/default/i18n/locales/cs/register.js.map +1 -0
- package/dist/default/i18n/locales/cs.js +2 -0
- package/dist/default/i18n/locales/cy/register.js +8 -0
- package/dist/default/i18n/locales/cy/register.js.map +1 -0
- package/dist/default/i18n/locales/cy.js +2 -0
- package/dist/default/i18n/locales/da/register.js +8 -0
- package/dist/default/i18n/locales/da/register.js.map +1 -0
- package/dist/default/i18n/locales/da.js +2 -0
- package/dist/default/i18n/locales/de/register.js +8 -0
- package/dist/default/i18n/locales/de/register.js.map +1 -0
- package/dist/default/i18n/locales/de.js +2 -0
- package/dist/default/i18n/locales/el/register.js +8 -0
- package/dist/default/i18n/locales/el/register.js.map +1 -0
- package/dist/default/i18n/locales/el.js +2 -0
- package/dist/default/i18n/locales/en/register.js +8 -0
- package/dist/default/i18n/locales/en/register.js.map +1 -0
- package/dist/default/i18n/locales/en.js +2 -0
- package/dist/default/i18n/locales/es/register.js +8 -0
- package/dist/default/i18n/locales/es/register.js.map +1 -0
- package/dist/default/i18n/locales/es.js +2 -0
- package/dist/default/i18n/locales/et/register.js +8 -0
- package/dist/default/i18n/locales/et/register.js.map +1 -0
- package/dist/default/i18n/locales/et.js +2 -0
- package/dist/default/i18n/locales/eu/register.js +8 -0
- package/dist/default/i18n/locales/eu/register.js.map +1 -0
- package/dist/default/i18n/locales/eu.js +2 -0
- package/dist/default/i18n/locales/fa/register.js +8 -0
- package/dist/default/i18n/locales/fa/register.js.map +1 -0
- package/dist/default/i18n/locales/fa.js +2 -0
- package/dist/default/i18n/locales/fi/register.js +8 -0
- package/dist/default/i18n/locales/fi/register.js.map +1 -0
- package/dist/default/i18n/locales/fi.js +2 -0
- package/dist/default/i18n/locales/fr/register.js +8 -0
- package/dist/default/i18n/locales/fr/register.js.map +1 -0
- package/dist/default/i18n/locales/fr.js +2 -0
- package/dist/default/i18n/locales/gd/register.js +8 -0
- package/dist/default/i18n/locales/gd/register.js.map +1 -0
- package/dist/default/i18n/locales/gd.js +2 -0
- package/dist/default/i18n/locales/gl/register.js +8 -0
- package/dist/default/i18n/locales/gl/register.js.map +1 -0
- package/dist/default/i18n/locales/gl.js +2 -0
- package/dist/default/i18n/locales/he/register.js +8 -0
- package/dist/default/i18n/locales/he/register.js.map +1 -0
- package/dist/default/i18n/locales/he.js +2 -0
- package/dist/default/i18n/locales/hi/register.js +8 -0
- package/dist/default/i18n/locales/hi/register.js.map +1 -0
- package/dist/default/i18n/locales/hi.js +2 -0
- package/dist/default/i18n/locales/hr/register.js +8 -0
- package/dist/default/i18n/locales/hr/register.js.map +1 -0
- package/dist/default/i18n/locales/hr.js +2 -0
- package/dist/default/i18n/locales/hu/register.js +8 -0
- package/dist/default/i18n/locales/hu/register.js.map +1 -0
- package/dist/default/i18n/locales/hu.js +2 -0
- package/dist/default/i18n/locales/it/register.js +8 -0
- package/dist/default/i18n/locales/it/register.js.map +1 -0
- package/dist/default/i18n/locales/it.js +2 -0
- package/dist/default/i18n/locales/ja/register.js +8 -0
- package/dist/default/i18n/locales/ja/register.js.map +1 -0
- package/dist/default/i18n/locales/ja.js +2 -0
- package/dist/default/i18n/locales/ko/register.js +8 -0
- package/dist/default/i18n/locales/ko/register.js.map +1 -0
- package/dist/default/i18n/locales/ko.js +2 -0
- package/dist/default/i18n/locales/lv/register.js +8 -0
- package/dist/default/i18n/locales/lv/register.js.map +1 -0
- package/dist/default/i18n/locales/lv.js +2 -0
- package/dist/default/i18n/locales/mr/register.js +8 -0
- package/dist/default/i18n/locales/mr/register.js.map +1 -0
- package/dist/default/i18n/locales/mr.js +2 -0
- package/dist/default/i18n/locales/nb/register.js +8 -0
- package/dist/default/i18n/locales/nb/register.js.map +1 -0
- package/dist/default/i18n/locales/nb.js +2 -0
- package/dist/default/i18n/locales/ne/register.js +8 -0
- package/dist/default/i18n/locales/ne/register.js.map +1 -0
- package/dist/default/i18n/locales/ne.js +2 -0
- package/dist/default/i18n/locales/nl/register.js +8 -0
- package/dist/default/i18n/locales/nl/register.js.map +1 -0
- package/dist/default/i18n/locales/nl.js +2 -0
- package/dist/default/i18n/locales/nn/register.js +8 -0
- package/dist/default/i18n/locales/nn/register.js.map +1 -0
- package/dist/default/i18n/locales/nn.js +2 -0
- package/dist/default/i18n/locales/oc/register.js +8 -0
- package/dist/default/i18n/locales/oc/register.js.map +1 -0
- package/dist/default/i18n/locales/oc.js +2 -0
- package/dist/default/i18n/locales/pl/register.js +8 -0
- package/dist/default/i18n/locales/pl/register.js.map +1 -0
- package/dist/default/i18n/locales/pl.js +2 -0
- package/dist/default/i18n/locales/pt/register.js +8 -0
- package/dist/default/i18n/locales/pt/register.js.map +1 -0
- package/dist/default/i18n/locales/pt-BR/register.js +8 -0
- package/dist/default/i18n/locales/pt-BR/register.js.map +1 -0
- package/dist/default/i18n/locales/pt-BR.js +2 -0
- package/dist/default/i18n/locales/pt-PT/register.js +8 -0
- package/dist/default/i18n/locales/pt-PT/register.js.map +1 -0
- package/dist/default/i18n/locales/pt-PT.js +2 -0
- package/dist/default/i18n/locales/pt.js +2 -0
- package/dist/default/i18n/locales/ro/register.js +8 -0
- package/dist/default/i18n/locales/ro/register.js.map +1 -0
- package/dist/default/i18n/locales/ro.js +2 -0
- package/dist/default/i18n/locales/ru/register.js +8 -0
- package/dist/default/i18n/locales/ru/register.js.map +1 -0
- package/dist/default/i18n/locales/ru.js +2 -0
- package/dist/default/i18n/locales/sk/register.js +8 -0
- package/dist/default/i18n/locales/sk/register.js.map +1 -0
- package/dist/default/i18n/locales/sk.js +2 -0
- package/dist/default/i18n/locales/sl/register.js +8 -0
- package/dist/default/i18n/locales/sl/register.js.map +1 -0
- package/dist/default/i18n/locales/sl.js +2 -0
- package/dist/default/i18n/locales/sr/register.js +8 -0
- package/dist/default/i18n/locales/sr/register.js.map +1 -0
- package/dist/default/i18n/locales/sr.js +2 -0
- package/dist/default/i18n/locales/sv/register.js +8 -0
- package/dist/default/i18n/locales/sv/register.js.map +1 -0
- package/dist/default/i18n/locales/sv.js +2 -0
- package/dist/default/i18n/locales/te/register.js +8 -0
- package/dist/default/i18n/locales/te/register.js.map +1 -0
- package/dist/default/i18n/locales/te.js +2 -0
- package/dist/default/i18n/locales/th/register.js +8 -0
- package/dist/default/i18n/locales/th/register.js.map +1 -0
- package/dist/default/i18n/locales/th.js +2 -0
- package/dist/default/i18n/locales/tr/register.js +8 -0
- package/dist/default/i18n/locales/tr/register.js.map +1 -0
- package/dist/default/i18n/locales/tr.js +2 -0
- package/dist/default/i18n/locales/uk/register.js +8 -0
- package/dist/default/i18n/locales/uk/register.js.map +1 -0
- package/dist/default/i18n/locales/uk.js +2 -0
- package/dist/default/i18n/locales/vi/register.js +8 -0
- package/dist/default/i18n/locales/vi/register.js.map +1 -0
- package/dist/default/i18n/locales/vi.js +2 -0
- package/dist/default/i18n/locales/zh/register.js +8 -0
- package/dist/default/i18n/locales/zh/register.js.map +1 -0
- package/dist/default/i18n/locales/zh-CN/register.js +8 -0
- package/dist/default/i18n/locales/zh-CN/register.js.map +1 -0
- package/dist/default/i18n/locales/zh-CN.js +2 -0
- package/dist/default/i18n/locales/zh-TW/register.js +8 -0
- package/dist/default/i18n/locales/zh-TW/register.js.map +1 -0
- package/dist/default/i18n/locales/zh-TW.js +2 -0
- package/dist/default/i18n/locales/zh.js +2 -0
- package/dist/default/i18n/use-ambient-lang.js +15 -0
- package/dist/default/i18n/use-ambient-lang.js.map +1 -0
- package/dist/default/i18n/use-lang-root-element.js +28 -0
- package/dist/default/i18n/use-lang-root-element.js.map +1 -0
- package/dist/default/i18n/use-lazy-translations.js +37 -0
- package/dist/default/i18n/use-lazy-translations.js.map +1 -0
- package/dist/default/i18n/use-locale-root-notifications.js +27 -0
- package/dist/default/i18n/use-locale-root-notifications.js.map +1 -0
- package/dist/default/i18n/use-merged-translations.js +22 -0
- package/dist/default/i18n/use-merged-translations.js.map +1 -0
- package/dist/default/i18n/use-registry-epoch.js +14 -0
- package/dist/default/i18n/use-registry-epoch.js.map +1 -0
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/check.js.map +1 -1
- package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/gear.js.map +1 -1
- package/dist/default/icons/dist/react/default/pause.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/default/play.js.map +1 -1
- package/dist/default/icons/dist/react/default/quality.js.map +1 -1
- package/dist/default/icons/dist/react/default/restart.js.map +1 -1
- package/dist/default/icons/dist/react/default/seek.js.map +1 -1
- package/dist/default/icons/dist/react/default/speech.js.map +1 -1
- package/dist/default/icons/dist/react/default/speed.js.map +1 -1
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/switches.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/default/index.js +9 -3
- package/dist/default/media/audio.js.map +1 -1
- package/dist/default/media/background-video/index.js +1 -25
- package/dist/default/media/background-video/media.js +26 -0
- package/dist/default/media/background-video/{index.js.map → media.js.map} +1 -1
- package/dist/default/media/dash-video/index.js +1 -24
- package/dist/default/media/dash-video/media.js +21 -0
- package/dist/default/media/dash-video/media.js.map +1 -0
- package/dist/default/media/google-cast/google-cast.js +28 -0
- package/dist/default/media/google-cast/google-cast.js.map +1 -0
- package/dist/default/media/google-cast/index.js +2 -0
- package/dist/default/media/hlsjs-video/index.js +1 -24
- package/dist/default/media/hlsjs-video/media.js +21 -0
- package/dist/default/media/hlsjs-video/media.js.map +1 -0
- package/dist/default/media/mux-audio/index.js +1 -26
- package/dist/default/media/mux-audio/media.js +26 -0
- package/dist/default/media/mux-audio/media.js.map +1 -0
- package/dist/default/media/mux-data/index.js +2 -0
- package/dist/default/media/mux-data/mux-data.js +37 -0
- package/dist/default/media/mux-data/mux-data.js.map +1 -0
- package/dist/default/media/mux-video/index.js +1 -26
- package/dist/default/media/mux-video/media.js +56 -0
- package/dist/default/media/mux-video/media.js.map +1 -0
- package/dist/default/media/native-hls-video/index.js +1 -24
- package/dist/default/media/native-hls-video/media.js +21 -0
- package/dist/default/media/native-hls-video/media.js.map +1 -0
- package/dist/default/media/simple-hls-audio-only/index.js +1 -21
- package/dist/default/media/simple-hls-audio-only/media.js +22 -0
- package/dist/default/media/simple-hls-audio-only/media.js.map +1 -0
- package/dist/default/media/simple-hls-video/index.js +1 -21
- package/dist/default/media/simple-hls-video/media.js +22 -0
- package/dist/default/media/simple-hls-video/media.js.map +1 -0
- package/dist/default/media/video.js.map +1 -1
- package/dist/default/media/vimeo-video/index.js +1 -36
- package/dist/default/media/vimeo-video/media.js +37 -0
- package/dist/default/media/vimeo-video/media.js.map +1 -0
- package/dist/default/player/container.js +41 -0
- package/dist/default/player/container.js.map +1 -0
- package/dist/default/player/context.js +2 -25
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +2 -1
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +269 -254
- package/dist/default/presets/audio/minimal-skin.js +14 -16
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +13 -15
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +286 -256
- package/dist/default/presets/audio/skin.js +12 -14
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +15 -18
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/background/index.js +1 -1
- package/dist/default/presets/background/skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.css +269 -254
- package/dist/default/presets/live-audio/minimal-skin.js +7 -12
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +9 -14
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +286 -256
- package/dist/default/presets/live-audio/skin.js +7 -12
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +9 -14
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +361 -327
- package/dist/default/presets/live-video/minimal-skin.js +33 -32
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +35 -34
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +440 -350
- package/dist/default/presets/live-video/skin.js +85 -84
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +86 -85
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +361 -327
- package/dist/default/presets/video/minimal-skin.js +56 -87
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +62 -93
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +440 -350
- package/dist/default/presets/video/skin.js +148 -160
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +98 -122
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -11
- 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.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -2
- 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 +8 -3
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +11 -7
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +2 -2
- 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.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -2
- 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 +3 -3
- 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 +25 -21
- 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 +14 -12
- 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/button-group.js +1 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +13 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +4 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +11 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -3
- 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.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
- 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 +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +22 -21
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/ui/airplay-button/airplay-button.js +2 -1
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/default/ui/alert-dialog/context.js.map +1 -1
- package/dist/default/ui/alert-dialog/index.parts.js +1 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js +10 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/default/ui/captions-button/captions-button.js +2 -1
- package/dist/default/ui/captions-button/captions-button.js.map +1 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js +13 -2
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/default/ui/cast-button/cast-button.js +2 -1
- package/dist/default/ui/cast-button/cast-button.js.map +1 -1
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/controls/controls-group.js.map +1 -1
- package/dist/default/ui/controls/controls-root.js +5 -1
- package/dist/default/ui/controls/controls-root.js.map +1 -1
- package/dist/default/ui/controls/index.parts.js +1 -1
- package/dist/default/ui/create-context-part.js.map +1 -1
- package/dist/default/ui/create-media-button.js +21 -8
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/error-dialog/context.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-close.js +36 -0
- package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -0
- package/dist/default/ui/error-dialog/error-dialog-description.js +7 -2
- package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-title.js +30 -0
- package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -0
- package/dist/default/ui/error-dialog/index.parts.js +5 -5
- package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button.js +2 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/default/ui/gesture/gesture.js.map +1 -1
- package/dist/default/ui/gesture/use-doubletap-gesture.js +1 -2
- package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/default/ui/gesture/use-tap-gesture.js +1 -2
- package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hooks/use-positioned-state.js +39 -0
- package/dist/default/ui/hooks/use-positioned-state.js.map +1 -0
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/default/ui/hotkey/hotkey.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -1
- package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -1
- package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +9 -5
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +1 -1
- package/dist/default/ui/menu/menu-back.js +6 -2
- package/dist/default/ui/menu/menu-back.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +27 -13
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-group-label.js.map +1 -1
- package/dist/default/ui/menu/menu-group.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/default/ui/menu/menu-item-setting-provider.js +7 -2
- package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -1
- package/dist/default/ui/menu/menu-item-value.js.map +1 -1
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +7 -2
- package/dist/default/ui/menu/menu-root.js.map +1 -1
- package/dist/default/ui/menu/menu-separator.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +1 -1
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/menu/menu-view.js.map +1 -1
- package/dist/default/ui/menu/use-menu-group.js.map +1 -1
- package/dist/default/ui/mute-button/mute-button.js.map +1 -1
- package/dist/default/ui/pip-button/pip-button.js +2 -1
- package/dist/default/ui/pip-button/pip-button.js.map +1 -1
- package/dist/default/ui/play-button/play-button.js.map +1 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +6 -0
- 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.map +1 -1
- package/dist/default/ui/popover/context.js.map +1 -1
- package/dist/default/ui/popover/index.parts.js +1 -1
- package/dist/default/ui/popover/popover-arrow.js.map +1 -1
- package/dist/default/ui/popover/popover-popup.js +21 -11
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +6 -2
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/popover-trigger.js.map +1 -1
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/use-quality-options.js +12 -2
- package/dist/default/ui/quality/use-quality-options.js.map +1 -1
- 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/index.parts.js +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -1
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/index.parts.js +1 -1
- package/dist/default/ui/slider/slider-buffer.js.map +1 -1
- package/dist/default/ui/slider/slider-fill.js.map +1 -1
- package/dist/default/ui/slider/slider-preview.js.map +1 -1
- package/dist/default/ui/slider/slider-root.js +10 -1
- package/dist/default/ui/slider/slider-root.js.map +1 -1
- package/dist/default/ui/slider/slider-thumb.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/default/ui/slider/slider-track.js.map +1 -1
- package/dist/default/ui/slider/slider-value.js.map +1 -1
- package/dist/default/ui/status-announcer/status-announcer.js +19 -10
- 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 +1 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js +4 -3
- package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -1
- package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/default/ui/time/index.parts.js +1 -1
- package/dist/default/ui/time/time-group.js.map +1 -1
- package/dist/default/ui/time/time-separator.js.map +1 -1
- package/dist/default/ui/time/time-value.js +11 -2
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/index.parts.js +1 -1
- package/dist/default/ui/time-slider/time-slider-root.js +15 -2
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/group-context.js.map +1 -1
- package/dist/default/ui/tooltip/index.parts.js +1 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-label.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-popup.js +22 -12
- 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 +6 -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/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/default/ui/volume-indicator/context.js.map +1 -1
- package/dist/default/ui/volume-indicator/index.parts.js +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +6 -2
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -1
- package/dist/default/ui/volume-slider/index.parts.js +1 -1
- package/dist/default/ui/volume-slider/volume-slider-root.js +14 -2
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- 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.map +1 -1
- package/dist/default/utils/use-composed-refs.js.map +1 -1
- 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.map +1 -1
- package/dist/default/utils/use-media-component.js +29 -0
- package/dist/default/utils/use-media-component.js.map +1 -0
- package/dist/default/utils/use-media-instance.js +1 -1
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/default/utils/use-safe-id.js.map +1 -1
- package/dist/default/utils/use-sync-props.js +11 -2
- package/dist/default/utils/use-sync-props.js.map +1 -1
- package/dist/dev/i18n/context.d.ts +29 -0
- package/dist/dev/i18n/context.d.ts.map +1 -0
- package/dist/dev/i18n/context.js +36 -0
- package/dist/dev/i18n/context.js.map +1 -0
- package/dist/dev/i18n/create-i18n.d.ts +61 -0
- package/dist/dev/i18n/create-i18n.d.ts.map +1 -0
- package/dist/dev/i18n/create-i18n.js +76 -0
- package/dist/dev/i18n/create-i18n.js.map +1 -0
- package/dist/dev/i18n/get-provider-root-props.js +40 -0
- package/dist/dev/i18n/get-provider-root-props.js.map +1 -0
- package/dist/dev/i18n/index.d.ts +4 -0
- package/dist/dev/i18n/index.js +5 -0
- package/dist/dev/i18n/locales/all/register.d.ts +1 -0
- package/dist/dev/i18n/locales/all/register.js +8 -0
- package/dist/dev/i18n/locales/all/register.js.map +1 -0
- package/dist/dev/i18n/locales/all.d.ts +2 -0
- package/dist/dev/i18n/locales/all.js +2 -0
- package/dist/dev/i18n/locales/ar/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ar/register.js +8 -0
- package/dist/dev/i18n/locales/ar/register.js.map +1 -0
- package/dist/dev/i18n/locales/ar.d.ts +2 -0
- package/dist/dev/i18n/locales/ar.js +2 -0
- package/dist/dev/i18n/locales/az/register.d.ts +1 -0
- package/dist/dev/i18n/locales/az/register.js +8 -0
- package/dist/dev/i18n/locales/az/register.js.map +1 -0
- package/dist/dev/i18n/locales/az.d.ts +2 -0
- package/dist/dev/i18n/locales/az.js +2 -0
- package/dist/dev/i18n/locales/bg/register.d.ts +1 -0
- package/dist/dev/i18n/locales/bg/register.js +8 -0
- package/dist/dev/i18n/locales/bg/register.js.map +1 -0
- package/dist/dev/i18n/locales/bg.d.ts +2 -0
- package/dist/dev/i18n/locales/bg.js +2 -0
- package/dist/dev/i18n/locales/bn/register.d.ts +1 -0
- package/dist/dev/i18n/locales/bn/register.js +8 -0
- package/dist/dev/i18n/locales/bn/register.js.map +1 -0
- package/dist/dev/i18n/locales/bn.d.ts +2 -0
- package/dist/dev/i18n/locales/bn.js +2 -0
- package/dist/dev/i18n/locales/bs/register.d.ts +1 -0
- package/dist/dev/i18n/locales/bs/register.js +8 -0
- package/dist/dev/i18n/locales/bs/register.js.map +1 -0
- package/dist/dev/i18n/locales/bs.d.ts +2 -0
- package/dist/dev/i18n/locales/bs.js +2 -0
- package/dist/dev/i18n/locales/ca/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ca/register.js +8 -0
- package/dist/dev/i18n/locales/ca/register.js.map +1 -0
- package/dist/dev/i18n/locales/ca.d.ts +2 -0
- package/dist/dev/i18n/locales/ca.js +2 -0
- package/dist/dev/i18n/locales/cs/register.d.ts +1 -0
- package/dist/dev/i18n/locales/cs/register.js +8 -0
- package/dist/dev/i18n/locales/cs/register.js.map +1 -0
- package/dist/dev/i18n/locales/cs.d.ts +2 -0
- package/dist/dev/i18n/locales/cs.js +2 -0
- package/dist/dev/i18n/locales/cy/register.d.ts +1 -0
- package/dist/dev/i18n/locales/cy/register.js +8 -0
- package/dist/dev/i18n/locales/cy/register.js.map +1 -0
- package/dist/dev/i18n/locales/cy.d.ts +2 -0
- package/dist/dev/i18n/locales/cy.js +2 -0
- package/dist/dev/i18n/locales/da/register.d.ts +1 -0
- package/dist/dev/i18n/locales/da/register.js +8 -0
- package/dist/dev/i18n/locales/da/register.js.map +1 -0
- package/dist/dev/i18n/locales/da.d.ts +2 -0
- package/dist/dev/i18n/locales/da.js +2 -0
- package/dist/dev/i18n/locales/de/register.d.ts +1 -0
- package/dist/dev/i18n/locales/de/register.js +8 -0
- package/dist/dev/i18n/locales/de/register.js.map +1 -0
- package/dist/dev/i18n/locales/de.d.ts +2 -0
- package/dist/dev/i18n/locales/de.js +2 -0
- package/dist/dev/i18n/locales/el/register.d.ts +1 -0
- package/dist/dev/i18n/locales/el/register.js +8 -0
- package/dist/dev/i18n/locales/el/register.js.map +1 -0
- package/dist/dev/i18n/locales/el.d.ts +2 -0
- package/dist/dev/i18n/locales/el.js +2 -0
- package/dist/dev/i18n/locales/en/register.d.ts +1 -0
- package/dist/dev/i18n/locales/en/register.js +8 -0
- package/dist/dev/i18n/locales/en/register.js.map +1 -0
- package/dist/dev/i18n/locales/en.d.ts +2 -0
- package/dist/dev/i18n/locales/en.js +2 -0
- package/dist/dev/i18n/locales/es/register.d.ts +1 -0
- package/dist/dev/i18n/locales/es/register.js +8 -0
- package/dist/dev/i18n/locales/es/register.js.map +1 -0
- package/dist/dev/i18n/locales/es.d.ts +2 -0
- package/dist/dev/i18n/locales/es.js +2 -0
- package/dist/dev/i18n/locales/et/register.d.ts +1 -0
- package/dist/dev/i18n/locales/et/register.js +8 -0
- package/dist/dev/i18n/locales/et/register.js.map +1 -0
- package/dist/dev/i18n/locales/et.d.ts +2 -0
- package/dist/dev/i18n/locales/et.js +2 -0
- package/dist/dev/i18n/locales/eu/register.d.ts +1 -0
- package/dist/dev/i18n/locales/eu/register.js +8 -0
- package/dist/dev/i18n/locales/eu/register.js.map +1 -0
- package/dist/dev/i18n/locales/eu.d.ts +2 -0
- package/dist/dev/i18n/locales/eu.js +2 -0
- package/dist/dev/i18n/locales/fa/register.d.ts +1 -0
- package/dist/dev/i18n/locales/fa/register.js +8 -0
- package/dist/dev/i18n/locales/fa/register.js.map +1 -0
- package/dist/dev/i18n/locales/fa.d.ts +2 -0
- package/dist/dev/i18n/locales/fa.js +2 -0
- package/dist/dev/i18n/locales/fi/register.d.ts +1 -0
- package/dist/dev/i18n/locales/fi/register.js +8 -0
- package/dist/dev/i18n/locales/fi/register.js.map +1 -0
- package/dist/dev/i18n/locales/fi.d.ts +2 -0
- package/dist/dev/i18n/locales/fi.js +2 -0
- package/dist/dev/i18n/locales/fr/register.d.ts +1 -0
- package/dist/dev/i18n/locales/fr/register.js +8 -0
- package/dist/dev/i18n/locales/fr/register.js.map +1 -0
- package/dist/dev/i18n/locales/fr.d.ts +2 -0
- package/dist/dev/i18n/locales/fr.js +2 -0
- package/dist/dev/i18n/locales/gd/register.d.ts +1 -0
- package/dist/dev/i18n/locales/gd/register.js +8 -0
- package/dist/dev/i18n/locales/gd/register.js.map +1 -0
- package/dist/dev/i18n/locales/gd.d.ts +2 -0
- package/dist/dev/i18n/locales/gd.js +2 -0
- package/dist/dev/i18n/locales/gl/register.d.ts +1 -0
- package/dist/dev/i18n/locales/gl/register.js +8 -0
- package/dist/dev/i18n/locales/gl/register.js.map +1 -0
- package/dist/dev/i18n/locales/gl.d.ts +2 -0
- package/dist/dev/i18n/locales/gl.js +2 -0
- package/dist/dev/i18n/locales/he/register.d.ts +1 -0
- package/dist/dev/i18n/locales/he/register.js +8 -0
- package/dist/dev/i18n/locales/he/register.js.map +1 -0
- package/dist/dev/i18n/locales/he.d.ts +2 -0
- package/dist/dev/i18n/locales/he.js +2 -0
- package/dist/dev/i18n/locales/hi/register.d.ts +1 -0
- package/dist/dev/i18n/locales/hi/register.js +8 -0
- package/dist/dev/i18n/locales/hi/register.js.map +1 -0
- package/dist/dev/i18n/locales/hi.d.ts +2 -0
- package/dist/dev/i18n/locales/hi.js +2 -0
- package/dist/dev/i18n/locales/hr/register.d.ts +1 -0
- package/dist/dev/i18n/locales/hr/register.js +8 -0
- package/dist/dev/i18n/locales/hr/register.js.map +1 -0
- package/dist/dev/i18n/locales/hr.d.ts +2 -0
- package/dist/dev/i18n/locales/hr.js +2 -0
- package/dist/dev/i18n/locales/hu/register.d.ts +1 -0
- package/dist/dev/i18n/locales/hu/register.js +8 -0
- package/dist/dev/i18n/locales/hu/register.js.map +1 -0
- package/dist/dev/i18n/locales/hu.d.ts +2 -0
- package/dist/dev/i18n/locales/hu.js +2 -0
- package/dist/dev/i18n/locales/it/register.d.ts +1 -0
- package/dist/dev/i18n/locales/it/register.js +8 -0
- package/dist/dev/i18n/locales/it/register.js.map +1 -0
- package/dist/dev/i18n/locales/it.d.ts +2 -0
- package/dist/dev/i18n/locales/it.js +2 -0
- package/dist/dev/i18n/locales/ja/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ja/register.js +8 -0
- package/dist/dev/i18n/locales/ja/register.js.map +1 -0
- package/dist/dev/i18n/locales/ja.d.ts +2 -0
- package/dist/dev/i18n/locales/ja.js +2 -0
- package/dist/dev/i18n/locales/ko/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ko/register.js +8 -0
- package/dist/dev/i18n/locales/ko/register.js.map +1 -0
- package/dist/dev/i18n/locales/ko.d.ts +2 -0
- package/dist/dev/i18n/locales/ko.js +2 -0
- package/dist/dev/i18n/locales/lv/register.d.ts +1 -0
- package/dist/dev/i18n/locales/lv/register.js +8 -0
- package/dist/dev/i18n/locales/lv/register.js.map +1 -0
- package/dist/dev/i18n/locales/lv.d.ts +2 -0
- package/dist/dev/i18n/locales/lv.js +2 -0
- package/dist/dev/i18n/locales/mr/register.d.ts +1 -0
- package/dist/dev/i18n/locales/mr/register.js +8 -0
- package/dist/dev/i18n/locales/mr/register.js.map +1 -0
- package/dist/dev/i18n/locales/mr.d.ts +2 -0
- package/dist/dev/i18n/locales/mr.js +2 -0
- package/dist/dev/i18n/locales/nb/register.d.ts +1 -0
- package/dist/dev/i18n/locales/nb/register.js +8 -0
- package/dist/dev/i18n/locales/nb/register.js.map +1 -0
- package/dist/dev/i18n/locales/nb.d.ts +2 -0
- package/dist/dev/i18n/locales/nb.js +2 -0
- package/dist/dev/i18n/locales/ne/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ne/register.js +8 -0
- package/dist/dev/i18n/locales/ne/register.js.map +1 -0
- package/dist/dev/i18n/locales/ne.d.ts +2 -0
- package/dist/dev/i18n/locales/ne.js +2 -0
- package/dist/dev/i18n/locales/nl/register.d.ts +1 -0
- package/dist/dev/i18n/locales/nl/register.js +8 -0
- package/dist/dev/i18n/locales/nl/register.js.map +1 -0
- package/dist/dev/i18n/locales/nl.d.ts +2 -0
- package/dist/dev/i18n/locales/nl.js +2 -0
- package/dist/dev/i18n/locales/nn/register.d.ts +1 -0
- package/dist/dev/i18n/locales/nn/register.js +8 -0
- package/dist/dev/i18n/locales/nn/register.js.map +1 -0
- package/dist/dev/i18n/locales/nn.d.ts +2 -0
- package/dist/dev/i18n/locales/nn.js +2 -0
- package/dist/dev/i18n/locales/oc/register.d.ts +1 -0
- package/dist/dev/i18n/locales/oc/register.js +8 -0
- package/dist/dev/i18n/locales/oc/register.js.map +1 -0
- package/dist/dev/i18n/locales/oc.d.ts +2 -0
- package/dist/dev/i18n/locales/oc.js +2 -0
- package/dist/dev/i18n/locales/pl/register.d.ts +1 -0
- package/dist/dev/i18n/locales/pl/register.js +8 -0
- package/dist/dev/i18n/locales/pl/register.js.map +1 -0
- package/dist/dev/i18n/locales/pl.d.ts +2 -0
- package/dist/dev/i18n/locales/pl.js +2 -0
- package/dist/dev/i18n/locales/pt/register.d.ts +1 -0
- package/dist/dev/i18n/locales/pt/register.js +8 -0
- package/dist/dev/i18n/locales/pt/register.js.map +1 -0
- package/dist/dev/i18n/locales/pt-BR/register.d.ts +1 -0
- package/dist/dev/i18n/locales/pt-BR/register.js +8 -0
- package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -0
- package/dist/dev/i18n/locales/pt-BR.d.ts +2 -0
- package/dist/dev/i18n/locales/pt-BR.js +2 -0
- package/dist/dev/i18n/locales/pt-PT/register.d.ts +1 -0
- package/dist/dev/i18n/locales/pt-PT/register.js +8 -0
- package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -0
- package/dist/dev/i18n/locales/pt-PT.d.ts +2 -0
- package/dist/dev/i18n/locales/pt-PT.js +2 -0
- package/dist/dev/i18n/locales/pt.d.ts +2 -0
- package/dist/dev/i18n/locales/pt.js +2 -0
- package/dist/dev/i18n/locales/ro/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ro/register.js +8 -0
- package/dist/dev/i18n/locales/ro/register.js.map +1 -0
- package/dist/dev/i18n/locales/ro.d.ts +2 -0
- package/dist/dev/i18n/locales/ro.js +2 -0
- package/dist/dev/i18n/locales/ru/register.d.ts +1 -0
- package/dist/dev/i18n/locales/ru/register.js +8 -0
- package/dist/dev/i18n/locales/ru/register.js.map +1 -0
- package/dist/dev/i18n/locales/ru.d.ts +2 -0
- package/dist/dev/i18n/locales/ru.js +2 -0
- package/dist/dev/i18n/locales/sk/register.d.ts +1 -0
- package/dist/dev/i18n/locales/sk/register.js +8 -0
- package/dist/dev/i18n/locales/sk/register.js.map +1 -0
- package/dist/dev/i18n/locales/sk.d.ts +2 -0
- package/dist/dev/i18n/locales/sk.js +2 -0
- package/dist/dev/i18n/locales/sl/register.d.ts +1 -0
- package/dist/dev/i18n/locales/sl/register.js +8 -0
- package/dist/dev/i18n/locales/sl/register.js.map +1 -0
- package/dist/dev/i18n/locales/sl.d.ts +2 -0
- package/dist/dev/i18n/locales/sl.js +2 -0
- package/dist/dev/i18n/locales/sr/register.d.ts +1 -0
- package/dist/dev/i18n/locales/sr/register.js +8 -0
- package/dist/dev/i18n/locales/sr/register.js.map +1 -0
- package/dist/dev/i18n/locales/sr.d.ts +2 -0
- package/dist/dev/i18n/locales/sr.js +2 -0
- package/dist/dev/i18n/locales/sv/register.d.ts +1 -0
- package/dist/dev/i18n/locales/sv/register.js +8 -0
- package/dist/dev/i18n/locales/sv/register.js.map +1 -0
- package/dist/dev/i18n/locales/sv.d.ts +2 -0
- package/dist/dev/i18n/locales/sv.js +2 -0
- package/dist/dev/i18n/locales/te/register.d.ts +1 -0
- package/dist/dev/i18n/locales/te/register.js +8 -0
- package/dist/dev/i18n/locales/te/register.js.map +1 -0
- package/dist/dev/i18n/locales/te.d.ts +2 -0
- package/dist/dev/i18n/locales/te.js +2 -0
- package/dist/dev/i18n/locales/th/register.d.ts +1 -0
- package/dist/dev/i18n/locales/th/register.js +8 -0
- package/dist/dev/i18n/locales/th/register.js.map +1 -0
- package/dist/dev/i18n/locales/th.d.ts +2 -0
- package/dist/dev/i18n/locales/th.js +2 -0
- package/dist/dev/i18n/locales/tr/register.d.ts +1 -0
- package/dist/dev/i18n/locales/tr/register.js +8 -0
- package/dist/dev/i18n/locales/tr/register.js.map +1 -0
- package/dist/dev/i18n/locales/tr.d.ts +2 -0
- package/dist/dev/i18n/locales/tr.js +2 -0
- package/dist/dev/i18n/locales/uk/register.d.ts +1 -0
- package/dist/dev/i18n/locales/uk/register.js +8 -0
- package/dist/dev/i18n/locales/uk/register.js.map +1 -0
- package/dist/dev/i18n/locales/uk.d.ts +2 -0
- package/dist/dev/i18n/locales/uk.js +2 -0
- package/dist/dev/i18n/locales/vi/register.d.ts +1 -0
- package/dist/dev/i18n/locales/vi/register.js +8 -0
- package/dist/dev/i18n/locales/vi/register.js.map +1 -0
- package/dist/dev/i18n/locales/vi.d.ts +2 -0
- package/dist/dev/i18n/locales/vi.js +2 -0
- package/dist/dev/i18n/locales/zh/register.d.ts +1 -0
- package/dist/dev/i18n/locales/zh/register.js +8 -0
- package/dist/dev/i18n/locales/zh/register.js.map +1 -0
- package/dist/dev/i18n/locales/zh-CN/register.d.ts +1 -0
- package/dist/dev/i18n/locales/zh-CN/register.js +8 -0
- package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -0
- package/dist/dev/i18n/locales/zh-CN.d.ts +2 -0
- package/dist/dev/i18n/locales/zh-CN.js +2 -0
- package/dist/dev/i18n/locales/zh-TW/register.d.ts +1 -0
- package/dist/dev/i18n/locales/zh-TW/register.js +8 -0
- package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -0
- package/dist/dev/i18n/locales/zh-TW.d.ts +2 -0
- package/dist/dev/i18n/locales/zh-TW.js +2 -0
- package/dist/dev/i18n/locales/zh.d.ts +2 -0
- package/dist/dev/i18n/locales/zh.js +2 -0
- package/dist/dev/i18n/use-ambient-lang.js +15 -0
- package/dist/dev/i18n/use-ambient-lang.js.map +1 -0
- package/dist/dev/i18n/use-lang-root-element.js +28 -0
- package/dist/dev/i18n/use-lang-root-element.js.map +1 -0
- package/dist/dev/i18n/use-lazy-translations.js +37 -0
- package/dist/dev/i18n/use-lazy-translations.js.map +1 -0
- package/dist/dev/i18n/use-locale-root-notifications.js +27 -0
- package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -0
- package/dist/dev/i18n/use-merged-translations.js +22 -0
- package/dist/dev/i18n/use-merged-translations.js.map +1 -0
- package/dist/dev/i18n/use-registry-epoch.js +14 -0
- package/dist/dev/i18n/use-registry-epoch.js.map +1 -0
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/check.js.map +1 -1
- package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -1
- package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/default/play.js.map +1 -1
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
- package/dist/dev/index.d.ts +26 -3
- package/dist/dev/index.js +9 -3
- package/dist/dev/media/audio.d.ts +1 -3
- package/dist/dev/media/audio.d.ts.map +1 -1
- package/dist/dev/media/audio.js.map +1 -1
- package/dist/dev/media/background-video/index.d.ts +2 -12
- package/dist/dev/media/background-video/index.js +1 -25
- package/dist/dev/media/background-video/media.d.ts +10 -0
- package/dist/dev/media/background-video/media.d.ts.map +1 -0
- package/dist/dev/media/background-video/media.js +26 -0
- package/dist/dev/media/background-video/{index.js.map → media.js.map} +1 -1
- package/dist/dev/media/dash-video/index.d.ts +2 -15
- package/dist/dev/media/dash-video/index.js +1 -24
- package/dist/dev/media/dash-video/media.d.ts +13 -0
- package/dist/dev/media/dash-video/media.d.ts.map +1 -0
- package/dist/dev/media/dash-video/media.js +21 -0
- package/dist/dev/media/dash-video/media.js.map +1 -0
- package/dist/dev/media/google-cast/google-cast.d.ts +26 -0
- package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -0
- package/dist/dev/media/google-cast/google-cast.js +28 -0
- package/dist/dev/media/google-cast/google-cast.js.map +1 -0
- package/dist/dev/media/google-cast/index.d.ts +2 -0
- package/dist/dev/media/google-cast/index.js +2 -0
- package/dist/dev/media/hlsjs-video/index.d.ts +2 -15
- package/dist/dev/media/hlsjs-video/index.js +1 -24
- package/dist/dev/media/hlsjs-video/media.d.ts +13 -0
- package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -0
- package/dist/dev/media/hlsjs-video/media.js +21 -0
- package/dist/dev/media/hlsjs-video/media.js.map +1 -0
- package/dist/dev/media/mux-audio/index.d.ts +2 -15
- package/dist/dev/media/mux-audio/index.js +1 -26
- package/dist/dev/media/mux-audio/media.d.ts +14 -0
- package/dist/dev/media/mux-audio/media.d.ts.map +1 -0
- package/dist/dev/media/mux-audio/media.js +26 -0
- package/dist/dev/media/mux-audio/media.js.map +1 -0
- package/dist/dev/media/mux-data/index.d.ts +2 -0
- package/dist/dev/media/mux-data/index.js +2 -0
- package/dist/dev/media/mux-data/mux-data.d.ts +31 -0
- package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -0
- package/dist/dev/media/mux-data/mux-data.js +37 -0
- package/dist/dev/media/mux-data/mux-data.js.map +1 -0
- package/dist/dev/media/mux-video/index.d.ts +2 -15
- package/dist/dev/media/mux-video/index.js +1 -26
- package/dist/dev/media/mux-video/media.d.ts +14 -0
- package/dist/dev/media/mux-video/media.d.ts.map +1 -0
- package/dist/dev/media/mux-video/media.js +56 -0
- package/dist/dev/media/mux-video/media.js.map +1 -0
- package/dist/dev/media/native-hls-video/index.d.ts +2 -15
- package/dist/dev/media/native-hls-video/index.js +1 -24
- package/dist/dev/media/native-hls-video/media.d.ts +13 -0
- package/dist/dev/media/native-hls-video/media.d.ts.map +1 -0
- package/dist/dev/media/native-hls-video/media.js +21 -0
- package/dist/dev/media/native-hls-video/media.js.map +1 -0
- package/dist/dev/media/simple-hls-audio-only/index.d.ts +2 -15
- package/dist/dev/media/simple-hls-audio-only/index.js +1 -21
- package/dist/dev/media/simple-hls-audio-only/media.d.ts +13 -0
- package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +1 -0
- package/dist/dev/media/simple-hls-audio-only/media.js +22 -0
- package/dist/dev/media/simple-hls-audio-only/media.js.map +1 -0
- package/dist/dev/media/simple-hls-video/index.d.ts +2 -15
- package/dist/dev/media/simple-hls-video/index.js +1 -21
- package/dist/dev/media/simple-hls-video/media.d.ts +13 -0
- package/dist/dev/media/simple-hls-video/media.d.ts.map +1 -0
- package/dist/dev/media/simple-hls-video/media.js +22 -0
- package/dist/dev/media/simple-hls-video/media.js.map +1 -0
- package/dist/dev/media/video.d.ts +1 -3
- package/dist/dev/media/video.d.ts.map +1 -1
- package/dist/dev/media/video.js.map +1 -1
- package/dist/dev/media/vimeo-video/index.d.ts +2 -15
- package/dist/dev/media/vimeo-video/index.js +1 -36
- package/dist/dev/media/vimeo-video/media.d.ts +13 -0
- package/dist/dev/media/vimeo-video/media.d.ts.map +1 -0
- package/dist/dev/media/vimeo-video/media.js +37 -0
- package/dist/dev/media/vimeo-video/media.js.map +1 -0
- package/dist/dev/player/container.d.ts +12 -0
- package/dist/dev/player/container.d.ts.map +1 -0
- package/dist/dev/player/container.js +41 -0
- package/dist/dev/player/container.js.map +1 -0
- package/dist/dev/player/context.d.ts +7 -16
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +2 -25
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts +4 -4
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +2 -1
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +269 -254
- package/dist/dev/presets/audio/minimal-skin.d.ts +0 -1
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +14 -16
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts +0 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.js +13 -15
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +286 -256
- package/dist/dev/presets/audio/skin.d.ts +0 -1
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +12 -14
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.d.ts +0 -1
- package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.js +15 -18
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/background/index.d.ts +2 -1
- package/dist/dev/presets/background/index.js +1 -1
- package/dist/dev/presets/background/skin.d.ts +1 -3
- 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 +269 -254
- package/dist/dev/presets/live-audio/minimal-skin.d.ts +0 -1
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +7 -12
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts +0 -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 +9 -14
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +286 -256
- package/dist/dev/presets/live-audio/skin.d.ts +1 -1
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +7 -12
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.d.ts +0 -1
- package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.js +9 -14
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +361 -327
- package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -1
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.js +33 -32
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts +0 -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 +35 -34
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +440 -350
- package/dist/dev/presets/live-video/skin.d.ts +0 -1
- package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.js +85 -84
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.d.ts +0 -1
- package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +86 -85
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +3 -2
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +361 -327
- package/dist/dev/presets/video/minimal-skin.d.ts +0 -1
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +56 -87
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +0 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +62 -93
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +440 -350
- package/dist/dev/presets/video/skin.d.ts +0 -1
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +148 -160
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts +0 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +98 -122
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -11
- 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.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +1 -2
- 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 +8 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +2 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +11 -7
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +2 -2
- 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.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -2
- 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 +3 -3
- 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 +25 -21
- 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 +14 -12
- 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/button-group.js +1 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +13 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +4 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +11 -7
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -3
- 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.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
- 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 +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +22 -21
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.d.ts +1 -3
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.js +2 -1
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +1 -3
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +1 -3
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +1 -3
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +1 -8
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +1 -3
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/dev/ui/alert-dialog/context.d.ts +0 -1
- package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/context.js.map +1 -1
- package/dist/dev/ui/alert-dialog/index.parts.d.ts +1 -3
- package/dist/dev/ui/alert-dialog/index.parts.js +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +6 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.js +10 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +1 -3
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.d.ts +1 -3
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.js +2 -1
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +7 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +13 -2
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/dev/ui/cast-button/cast-button.d.ts +1 -3
- package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -1
- package/dist/dev/ui/cast-button/cast-button.js +2 -1
- package/dist/dev/ui/cast-button/cast-button.js.map +1 -1
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/controls/controls-group.d.ts +1 -3
- package/dist/dev/ui/controls/controls-group.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-group.js.map +1 -1
- package/dist/dev/ui/controls/controls-root.d.ts +1 -3
- package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-root.js +5 -1
- package/dist/dev/ui/controls/controls-root.js.map +1 -1
- package/dist/dev/ui/controls/index.parts.d.ts +1 -3
- package/dist/dev/ui/controls/index.parts.js +1 -1
- package/dist/dev/ui/create-context-part.js.map +1 -1
- package/dist/dev/ui/create-media-button.js +23 -8
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/error-dialog/context.d.ts +2 -3
- package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/context.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +12 -0
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-close.js +36 -0
- package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +1 -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 +7 -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 -4
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +12 -0
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-title.js +30 -0
- package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -0
- package/dist/dev/ui/error-dialog/index.parts.d.ts +4 -6
- package/dist/dev/ui/error-dialog/index.parts.js +5 -5
- package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +1 -3
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js +2 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/dev/ui/gesture/gesture.d.ts +1 -9
- package/dist/dev/ui/gesture/gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +0 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.js +1 -2
- package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts +0 -1
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.js +1 -2
- package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/dev/ui/hooks/use-button.d.ts +1 -2
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hooks/use-positioned-state.js +39 -0
- package/dist/dev/ui/hooks/use-positioned-state.js.map +1 -0
- package/dist/dev/ui/hooks/use-slider.d.ts +1 -2
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/hotkey/hotkey.d.ts +1 -8
- package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +0 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.d.ts +2 -5
- package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
- package/dist/dev/ui/live-button/live-button.js +9 -5
- package/dist/dev/ui/live-button/live-button.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts +2 -1
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/index.parts.d.ts +1 -3
- package/dist/dev/ui/menu/index.parts.js +1 -1
- package/dist/dev/ui/menu/menu-back.d.ts +3 -4
- package/dist/dev/ui/menu/menu-back.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-back.js +6 -2
- package/dist/dev/ui/menu/menu-back.js.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts +1 -3
- 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 -3
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +27 -13
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- package/dist/dev/ui/menu/menu-group-label.d.ts +1 -3
- package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group-label.js.map +1 -1
- package/dist/dev/ui/menu/menu-group.d.ts +1 -3
- package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.d.ts +1 -3
- 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-setting-provider.js +7 -2
- package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-value.d.ts +1 -3
- package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-value.js.map +1 -1
- package/dist/dev/ui/menu/menu-item.d.ts +1 -3
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.d.ts +1 -3
- package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.d.ts +1 -3
- 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 +1 -10
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +7 -2
- package/dist/dev/ui/menu/menu-root.js.map +1 -1
- package/dist/dev/ui/menu/menu-separator.d.ts +1 -3
- package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-separator.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +1 -3
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +1 -1
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/menu/menu-view.d.ts +1 -3
- package/dist/dev/ui/menu/menu-view.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-view.js.map +1 -1
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.d.ts +1 -3
- package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
- package/dist/dev/ui/pip-button/pip-button.d.ts +1 -3
- package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
- package/dist/dev/ui/pip-button/pip-button.js +2 -1
- package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
- package/dist/dev/ui/play-button/play-button.d.ts +1 -3
- package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
- package/dist/dev/ui/play-button/play-button.js.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +6 -1
- 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 +6 -0
- 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 +1 -3
- 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.map +1 -1
- package/dist/dev/ui/popover/context.d.ts +2 -1
- package/dist/dev/ui/popover/context.d.ts.map +1 -1
- package/dist/dev/ui/popover/context.js.map +1 -1
- package/dist/dev/ui/popover/index.parts.d.ts +1 -3
- package/dist/dev/ui/popover/index.parts.js +1 -1
- package/dist/dev/ui/popover/popover-arrow.d.ts +1 -3
- package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts +1 -3
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +21 -11
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts +1 -13
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +6 -2
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.d.ts +1 -3
- package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
- package/dist/dev/ui/poster/poster.d.ts +1 -3
- package/dist/dev/ui/poster/poster.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts +7 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.js +12 -2
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.d.ts +1 -3
- package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
- 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/index.parts.d.ts +1 -3
- package/dist/dev/ui/seek-indicator/index.parts.js +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +1 -3
- 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/seek-indicator/seek-indicator-value.d.ts +1 -3
- package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -1
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/index.parts.d.ts +1 -3
- package/dist/dev/ui/slider/index.parts.js +1 -1
- package/dist/dev/ui/slider/slider-buffer.d.ts +1 -3
- package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
- package/dist/dev/ui/slider/slider-fill.d.ts +1 -3
- package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-fill.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview.d.ts +1 -3
- package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-preview.js.map +1 -1
- package/dist/dev/ui/slider/slider-root.d.ts +1 -3
- package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-root.js +10 -1
- package/dist/dev/ui/slider/slider-root.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumb.d.ts +1 -3
- package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.d.ts +1 -3
- 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/slider/slider-track.d.ts +1 -3
- package/dist/dev/ui/slider/slider-track.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-track.js.map +1 -1
- package/dist/dev/ui/slider/slider-value.d.ts +1 -3
- package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-value.js.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.d.ts +2 -4
- package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.js +19 -10
- 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.d.ts +1 -3
- package/dist/dev/ui/status-indicator/index.parts.js +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +2 -4
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js +4 -3
- package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +1 -3
- package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.d.ts +1 -3
- package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/dev/ui/time/index.parts.d.ts +1 -3
- package/dist/dev/ui/time/index.parts.js +1 -1
- package/dist/dev/ui/time/time-group.d.ts +1 -3
- package/dist/dev/ui/time/time-group.d.ts.map +1 -1
- package/dist/dev/ui/time/time-group.js.map +1 -1
- package/dist/dev/ui/time/time-separator.d.ts +1 -3
- package/dist/dev/ui/time/time-separator.d.ts.map +1 -1
- package/dist/dev/ui/time/time-separator.js.map +1 -1
- package/dist/dev/ui/time/time-value.d.ts +1 -3
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +11 -2
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/index.parts.d.ts +2 -3
- package/dist/dev/ui/time-slider/index.parts.js +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.d.ts +1 -3
- package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.js +15 -2
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +2 -1
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/group-context.js.map +1 -1
- package/dist/dev/ui/tooltip/index.parts.d.ts +1 -3
- package/dist/dev/ui/tooltip/index.parts.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +1 -3
- package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.d.ts +1 -3
- package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts +1 -3
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +22 -12
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.d.ts +1 -7
- 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 -14
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +6 -2
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +1 -3
- 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/tooltip/tooltip-trigger.d.ts +1 -3
- package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/dev/ui/volume-indicator/context.js.map +1 -1
- package/dist/dev/ui/volume-indicator/index.parts.d.ts +1 -3
- package/dist/dev/ui/volume-indicator/index.parts.js +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +1 -3
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +2 -4
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +6 -2
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +1 -3
- package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -1
- package/dist/dev/ui/volume-slider/index.parts.d.ts +2 -3
- package/dist/dev/ui/volume-slider/index.parts.js +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts +1 -3
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js +14 -2
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/utils/merge-props.d.ts +0 -1
- package/dist/dev/utils/merge-props.d.ts.map +1 -1
- package/dist/dev/utils/merge-props.js.map +1 -1
- package/dist/dev/utils/types.d.ts +5 -3
- 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 +1 -2
- package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
- package/dist/dev/utils/use-attach-media.js.map +1 -1
- package/dist/dev/utils/use-composed-refs.d.ts +0 -1
- package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
- package/dist/dev/utils/use-composed-refs.js.map +1 -1
- package/dist/dev/utils/use-destroy.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/dev/utils/use-latest-ref.js.map +1 -1
- package/dist/dev/utils/use-media-component.d.ts +17 -0
- package/dist/dev/utils/use-media-component.d.ts.map +1 -0
- package/dist/dev/utils/use-media-component.js +29 -0
- package/dist/dev/utils/use-media-component.js.map +1 -0
- package/dist/dev/utils/use-media-instance.d.ts +2 -3
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +1 -1
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts +1 -2
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js.map +1 -1
- package/dist/dev/utils/use-safe-id.js.map +1 -1
- package/dist/dev/utils/use-sync-props.js +11 -2
- package/dist/dev/utils/use-sync-props.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/accessibility.md +8 -0
- package/docs/concepts/cast.md +58 -89
- package/docs/concepts/features.md +12 -4
- package/docs/concepts/i18n.md +327 -0
- package/docs/concepts/mux-data.md +84 -0
- package/docs/concepts/security.md +32 -0
- package/docs/concepts/skins.md +614 -507
- package/docs/how-to/customize-skins.md +1625 -1420
- package/docs/how-to/i18n-override-translations.md +114 -0
- package/docs/how-to/i18n-register-locale.md +74 -0
- package/docs/how-to/i18n-ssr.md +104 -0
- package/docs/how-to/i18n-switch-locale.md +170 -0
- package/docs/how-to/installation.md +8 -27
- package/docs/llms.txt +30 -3
- package/docs/reference/airplay-button.md +65 -31
- package/docs/reference/audio-track-radio-group.md +147 -12
- package/docs/reference/buffering-indicator.md +1 -7
- package/docs/reference/captions-button.md +55 -18
- package/docs/reference/captions-radio-group.md +195 -0
- package/docs/reference/cast-button.md +69 -22
- package/docs/reference/controls.md +1 -7
- package/docs/reference/create-i18n.md +84 -0
- package/docs/reference/create-player.md +1 -6
- package/docs/reference/create-translator.md +63 -0
- package/docs/reference/dash-video.md +8 -91
- package/docs/reference/feature-error.md +1 -1
- package/docs/reference/feature-text-tracks.md +3 -3
- package/docs/reference/fullscreen-button.md +52 -23
- package/docs/reference/get-i18n-translations.md +58 -0
- package/docs/reference/google-cast.md +69 -0
- package/docs/reference/has-registered-locale.md +47 -0
- package/docs/reference/hlsjs-video.md +8 -191
- package/docs/reference/i18n-provider.md +25 -0
- package/docs/reference/menu.md +110 -8
- package/docs/reference/mute-button.md +5 -17
- package/docs/reference/mux-audio.md +48 -113
- package/docs/reference/mux-data.md +93 -0
- package/docs/reference/mux-video.md +110 -159
- package/docs/reference/native-hls-video.md +8 -141
- package/docs/reference/on-i18n-registry-change.md +49 -0
- package/docs/reference/pip-button.md +52 -23
- package/docs/reference/play-button.md +5 -10
- package/docs/reference/playback-rate-button.md +4 -10
- package/docs/reference/playback-rate-radio-group.md +194 -0
- package/docs/reference/popover.md +20 -13
- package/docs/reference/poster.md +1 -4
- package/docs/reference/quality-radio-group.md +161 -12
- package/docs/reference/register-i18n.md +64 -0
- package/docs/reference/seek-button.md +4 -10
- package/docs/reference/simple-hls-audio-only.md +6 -58
- package/docs/reference/simple-hls-video.md +6 -115
- package/docs/reference/slider.md +2 -2
- package/docs/reference/thumbnail.md +1 -1
- package/docs/reference/time-slider.md +5 -11
- package/docs/reference/time.md +7 -37
- package/docs/reference/tooltip.md +20 -18
- package/docs/reference/translation-phrases.md +429 -0
- package/docs/reference/use-audio-track-options.md +59 -0
- package/docs/reference/use-captions-options.md +59 -0
- package/docs/reference/use-locale.md +124 -0
- package/docs/reference/use-media.md +1 -7
- package/docs/reference/use-playback-rate-options.md +59 -0
- package/docs/reference/use-player-context.md +5 -3
- package/docs/reference/use-player.md +2 -14
- package/docs/reference/use-quality-options.md +59 -0
- package/docs/reference/use-store.md +2 -14
- package/docs/reference/use-translator.md +119 -0
- package/docs/reference/volume-slider.md +5 -11
- package/package.json +26 -13
- package/dist/default/media/dash-video/index.js.map +0 -1
- package/dist/default/media/hlsjs-video/index.js.map +0 -1
- package/dist/default/media/mux-audio/index.js.map +0 -1
- package/dist/default/media/mux-video/index.js.map +0 -1
- package/dist/default/media/native-hls-video/index.js.map +0 -1
- package/dist/default/media/simple-hls-audio-only/index.js.map +0 -1
- package/dist/default/media/simple-hls-video/index.js.map +0 -1
- package/dist/default/media/vimeo-video/index.js.map +0 -1
- package/dist/dev/media/background-video/index.d.ts.map +0 -1
- package/dist/dev/media/dash-video/index.d.ts.map +0 -1
- package/dist/dev/media/dash-video/index.js.map +0 -1
- package/dist/dev/media/hlsjs-video/index.d.ts.map +0 -1
- package/dist/dev/media/hlsjs-video/index.js.map +0 -1
- package/dist/dev/media/mux-audio/index.d.ts.map +0 -1
- package/dist/dev/media/mux-audio/index.js.map +0 -1
- package/dist/dev/media/mux-video/index.d.ts.map +0 -1
- package/dist/dev/media/mux-video/index.js.map +0 -1
- package/dist/dev/media/native-hls-video/index.d.ts.map +0 -1
- package/dist/dev/media/native-hls-video/index.js.map +0 -1
- package/dist/dev/media/simple-hls-audio-only/index.d.ts.map +0 -1
- package/dist/dev/media/simple-hls-audio-only/index.js.map +0 -1
- package/dist/dev/media/simple-hls-video/index.d.ts.map +0 -1
- package/dist/dev/media/simple-hls-video/index.js.map +0 -1
- package/dist/dev/media/vimeo-video/index.d.ts.map +0 -1
- package/dist/dev/media/vimeo-video/index.js.map +0 -1
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import * as _$react from "react";
|
|
3
2
|
import { LiveButtonCore } from "@videojs/core";
|
|
4
|
-
|
|
5
3
|
//#region src/ui/live-button/live-button.d.ts
|
|
6
4
|
interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.State>, LiveButtonCore.Props {}
|
|
7
5
|
/**
|
|
@@ -14,8 +12,7 @@ interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.Stat
|
|
|
14
12
|
* itself rather than going through `createMediaButton`, since the LiveButton
|
|
15
13
|
* needs three feature slices to detect the live edge and seek.
|
|
16
14
|
*
|
|
17
|
-
*
|
|
18
|
-
* children are provided. Override the static field globally for i18n.
|
|
15
|
+
* Displays the translated live badge when no children are provided.
|
|
19
16
|
*
|
|
20
17
|
* @example
|
|
21
18
|
* ```tsx
|
|
@@ -24,7 +21,7 @@ interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.Stat
|
|
|
24
21
|
*
|
|
25
22
|
* @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md
|
|
26
23
|
*/
|
|
27
|
-
declare const LiveButton:
|
|
24
|
+
declare const LiveButton: import("react").ForwardRefExoticComponent<Omit<LiveButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
28
25
|
declare namespace LiveButton {
|
|
29
26
|
type Props = LiveButtonProps;
|
|
30
27
|
type State = LiveButtonCore.State;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-button.d.ts","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"live-button.d.ts","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"mappings":";;;UAgBiB,wBAAwB,2BAA2B,eAAe,QAAQ,eAAe;;;;;;;;;;;;;;;;;;;;cAqB7F,4BAAU,0BAAA,KAAA,0CAAA,cAAA;kBA0EN;OACH,QAAQ;OACR,QAAQ,eAAe"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useTranslator } from "../../i18n/context.js";
|
|
2
3
|
import { usePlayer } from "../../player/context.js";
|
|
3
4
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
5
|
import { useButton } from "../hooks/use-button.js";
|
|
5
6
|
import { useOptionalTooltipContext } from "../tooltip/context.js";
|
|
6
7
|
import { logMissingFeature, selectBuffer, selectLive, selectTime } from "@videojs/core/dom";
|
|
8
|
+
import { translateText } from "@videojs/core/i18n";
|
|
7
9
|
import { forwardRef, useLayoutEffect, useState } from "react";
|
|
8
10
|
import { LiveButtonCore, LiveButtonDataAttrs } from "@videojs/core";
|
|
9
11
|
//#region src/ui/live-button/live-button.tsx
|
|
@@ -18,8 +20,7 @@ const DISPLAY_NAME = "LiveButton";
|
|
|
18
20
|
* itself rather than going through `createMediaButton`, since the LiveButton
|
|
19
21
|
* needs three feature slices to detect the live edge and seek.
|
|
20
22
|
*
|
|
21
|
-
*
|
|
22
|
-
* children are provided. Override the static field globally for i18n.
|
|
23
|
+
* Displays the translated live badge when no children are provided.
|
|
23
24
|
*
|
|
24
25
|
* @example
|
|
25
26
|
* ```tsx
|
|
@@ -41,6 +42,7 @@ const LiveButton = forwardRef(function LiveButton(componentProps, forwardedRef)
|
|
|
41
42
|
targetLiveWindow: live.targetLiveWindow
|
|
42
43
|
} : null;
|
|
43
44
|
const tooltipCtx = useOptionalTooltipContext();
|
|
45
|
+
const translator = useTranslator();
|
|
44
46
|
const [core] = useState(() => new LiveButtonCore());
|
|
45
47
|
core.setProps({
|
|
46
48
|
label,
|
|
@@ -55,7 +57,7 @@ const LiveButton = forwardRef(function LiveButton(componentProps, forwardedRef)
|
|
|
55
57
|
});
|
|
56
58
|
if (media) core.setMedia(media);
|
|
57
59
|
const state = media ? core.getState() : null;
|
|
58
|
-
const labelText = state ? core.getLabel(state) : void 0;
|
|
60
|
+
const labelText = state ? translateText(core.getLabel(state), translator) : void 0;
|
|
59
61
|
useLayoutEffect(() => {
|
|
60
62
|
if (!tooltipCtx) return;
|
|
61
63
|
tooltipCtx.setContent(labelText ? { label: labelText } : void 0);
|
|
@@ -66,7 +68,8 @@ const LiveButton = forwardRef(function LiveButton(componentProps, forwardedRef)
|
|
|
66
68
|
return null;
|
|
67
69
|
}
|
|
68
70
|
const attrs = core.getAttrs(state);
|
|
69
|
-
const
|
|
71
|
+
const labelAttr = attrs["aria-label"];
|
|
72
|
+
const content = children ?? translateText(LiveButtonCore.defaultText, translator);
|
|
70
73
|
return renderElement("button", {
|
|
71
74
|
render,
|
|
72
75
|
className,
|
|
@@ -79,7 +82,8 @@ const LiveButton = forwardRef(function LiveButton(componentProps, forwardedRef)
|
|
|
79
82
|
attrs,
|
|
80
83
|
{
|
|
81
84
|
children: content,
|
|
82
|
-
...elementProps
|
|
85
|
+
...elementProps,
|
|
86
|
+
"aria-label": labelAttr ? translateText(labelAttr, translator) : labelAttr
|
|
83
87
|
},
|
|
84
88
|
getButtonProps()
|
|
85
89
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-button.js","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"sourcesContent":["'use client';\n\nimport { LiveButtonCore, LiveButtonDataAttrs, type LiveButtonMediaState } from '@videojs/core';\nimport { logMissingFeature, selectBuffer, selectLive, selectTime } from '@videojs/core/dom';\nimport { forwardRef, type ReactNode, useLayoutEffect, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useButton } from '../hooks/use-button';\nimport { useOptionalTooltipContext } from '../tooltip/context';\n\nconst DISPLAY_NAME = 'LiveButton';\n\nexport interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.State>, LiveButtonCore.Props {}\n\n/**\n * A button that indicates live status and seeks to the live edge when\n * pressed. Exposes `data-live` while the stream is live (or DVR) and\n * `data-live-edge` while playing at the live edge so skins can style a\n * red-dot ↔ grey-dot treatment.\n *\n * Selects from `live`, `time`, and `buffer` features and composes them\n * itself rather than going through `createMediaButton`, since the LiveButton\n * needs three feature slices to detect the live edge and seek.\n *\n *
|
|
1
|
+
{"version":3,"file":"live-button.js","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"sourcesContent":["'use client';\n\nimport { LiveButtonCore, LiveButtonDataAttrs, type LiveButtonMediaState } from '@videojs/core';\nimport { logMissingFeature, selectBuffer, selectLive, selectTime } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { forwardRef, type ReactNode, useLayoutEffect, useState } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useButton } from '../hooks/use-button';\nimport { useOptionalTooltipContext } from '../tooltip/context';\n\nconst DISPLAY_NAME = 'LiveButton';\n\nexport interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.State>, LiveButtonCore.Props {}\n\n/**\n * A button that indicates live status and seeks to the live edge when\n * pressed. Exposes `data-live` while the stream is live (or DVR) and\n * `data-live-edge` while playing at the live edge so skins can style a\n * red-dot ↔ grey-dot treatment.\n *\n * Selects from `live`, `time`, and `buffer` features and composes them\n * itself rather than going through `createMediaButton`, since the LiveButton\n * needs three feature slices to detect the live edge and seek.\n *\n * Displays the translated live badge when no children are provided.\n *\n * @example\n * ```tsx\n * <LiveButton />\n * ```\n *\n * @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md\n */\nexport const LiveButton = forwardRef<HTMLButtonElement, LiveButtonProps>(\n function LiveButton(componentProps, forwardedRef): ReactNode {\n const { children, render, className, style, label, disabled, ...elementProps } = componentProps;\n\n const live = usePlayer(selectLive);\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n\n const media: LiveButtonMediaState | null =\n live && time && buffer\n ? {\n currentTime: time.currentTime,\n seek: time.seek,\n seekable: buffer.seekable,\n liveEdgeStart: live.liveEdgeStart,\n targetLiveWindow: live.targetLiveWindow,\n }\n : null;\n\n const tooltipCtx = useOptionalTooltipContext();\n const translator = useTranslator();\n const [core] = useState(() => new LiveButtonCore());\n core.setProps({ label, disabled });\n\n const { getButtonProps, buttonRef } = useButton({\n displayName: DISPLAY_NAME,\n onActivate: () => {\n if (media) core.seekToLive(media);\n },\n isDisabled: () => !!disabled || !media,\n });\n\n if (media) core.setMedia(media);\n const state = media ? core.getState() : null;\n const labelText = state ? translateText(core.getLabel(state), translator) : undefined;\n\n useLayoutEffect(() => {\n if (!tooltipCtx) return;\n tooltipCtx.setContent(labelText ? { label: labelText } : undefined);\n return () => tooltipCtx.setContent(undefined);\n }, [tooltipCtx, labelText]);\n\n if (!media || !state) {\n if (__DEV__) logMissingFeature(DISPLAY_NAME, selectLive.displayName ?? 'live');\n return null;\n }\n\n const attrs = core.getAttrs(state);\n const labelAttr = attrs['aria-label'];\n const content = children ?? translateText(LiveButtonCore.defaultText, translator);\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state,\n stateAttrMap: LiveButtonDataAttrs,\n ref: [forwardedRef, buttonRef],\n props: [\n attrs,\n {\n children: content,\n ...elementProps,\n 'aria-label': labelAttr ? translateText(labelAttr, translator) : labelAttr,\n },\n getButtonProps(),\n ],\n }\n );\n }\n);\n\nLiveButton.displayName = DISPLAY_NAME;\n\nexport namespace LiveButton {\n export type Props = LiveButtonProps;\n export type State = LiveButtonCore.State;\n}\n"],"mappings":";;;;;;;;;;;AAcA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;AAuBrB,MAAa,aAAa,WACxB,SAAS,WAAW,gBAAgB,cAAyB;CAC3D,MAAM,EAAE,UAAU,QAAQ,WAAW,OAAO,OAAO,UAAU,GAAG,iBAAiB;CAEjF,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,SAAS,UAAU,YAAY;CAErC,MAAM,QACJ,QAAQ,QAAQ,SACZ;EACE,aAAa,KAAK;EAClB,MAAM,KAAK;EACX,UAAU,OAAO;EACjB,eAAe,KAAK;EACpB,kBAAkB,KAAK;CACzB,IACA;CAEN,MAAM,aAAa,0BAA0B;CAC7C,MAAM,aAAa,cAAc;CACjC,MAAM,CAAC,QAAQ,eAAe,IAAI,eAAe,CAAC;CAClD,KAAK,SAAS;EAAE;EAAO;CAAS,CAAC;CAEjC,MAAM,EAAE,gBAAgB,cAAc,UAAU;EAC9C,aAAa;EACb,kBAAkB;GAChB,IAAI,OAAO,KAAK,WAAW,KAAK;EAClC;EACA,kBAAkB,CAAC,CAAC,YAAY,CAAC;CACnC,CAAC;CAED,IAAI,OAAO,KAAK,SAAS,KAAK;CAC9B,MAAM,QAAQ,QAAQ,KAAK,SAAS,IAAI;CACxC,MAAM,YAAY,QAAQ,cAAc,KAAK,SAAS,KAAK,GAAG,UAAU,IAAI,KAAA;CAE5E,sBAAsB;EACpB,IAAI,CAAC,YAAY;EACjB,WAAW,WAAW,YAAY,EAAE,OAAO,UAAU,IAAI,KAAA,CAAS;EAClE,aAAa,WAAW,WAAW,KAAA,CAAS;CAC9C,GAAG,CAAC,YAAY,SAAS,CAAC;CAE1B,IAAI,CAAC,SAAS,CAAC,OAAO;EACP,kBAAkB,cAAc,WAAW,eAAe,MAAM;EAC7E,OAAO;CACT;CAEA,MAAM,QAAQ,KAAK,SAAS,KAAK;CACjC,MAAM,YAAY,MAAM;CACxB,MAAM,UAAU,YAAY,cAAc,eAAe,aAAa,UAAU;CAEhF,OAAO,cACL,UACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,cAAc;EACd,KAAK,CAAC,cAAc,SAAS;EAC7B,OAAO;GACL;GACA;IACE,UAAU;IACV,GAAG;IACH,cAAc,YAAY,cAAc,WAAW,UAAU,IAAI;GACnE;GACA,eAAe;EACjB;CACF,CACF;AACF,CACF;AAEA,WAAW,cAAc"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { MediaContainer, MenuApi, PositioningBoundary } from "@videojs/core/dom";
|
|
2
2
|
import { MenuCore, MenuState, StateAttrMap as StateAttrMap$1 } from "@videojs/core";
|
|
3
|
-
|
|
4
3
|
//#region src/ui/menu/context.d.ts
|
|
5
4
|
interface MenuContextValue {
|
|
6
5
|
core: MenuCore;
|
|
7
6
|
menu: MenuApi;
|
|
8
7
|
state: MenuState;
|
|
8
|
+
preferredSide: MenuState['side'];
|
|
9
|
+
setPositionedSide: (side: MenuState['side']) => void;
|
|
9
10
|
stateAttrMap: StateAttrMap$1<MenuState>;
|
|
10
11
|
contentId: string;
|
|
11
12
|
anchorName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"mappings":";;;UAQiB;EACf,MAAM;EACN,MAAM;EACN,OAAO;EACP,eAAe;EACf,oBAAoB,MAAM;EAC1B,cAAc,eAAa;EAC3B;EACA;EACA,UAAU;EACV,WAAW;;EAEX;;EAEA;;EAEA;;EAEA,OAAO,gBAAgB;;EAEvB;;iBAOc,kBAAkB;iBAMlB,0BAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuCore, MenuState, StateAttrMap } from '@videojs/core';\nimport type { MediaContainer, MenuApi, PositioningBoundary } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nimport type { MenuItemSettingType } from './menu-item-type';\n\nexport interface MenuContextValue {\n core: MenuCore;\n menu: MenuApi;\n state: MenuState;\n stateAttrMap: StateAttrMap<MenuState>;\n contentId: string;\n anchorName: string;\n boundary: PositioningBoundary;\n container: MediaContainer | null;\n /** ID of the currently visible submenu, or null when at root view. */\n activeSubMenuId: string | null;\n /** Triggerer ID of the active submenu entry (for focus restoration on pop). */\n activeSubMenuTriggerId: string | null;\n /** Direction of the most recent navigation. */\n navigationDirection: 'forward' | 'back';\n /** Push a submenu onto the navigation stack. */\n push: (menuId: string, triggerId: string) => void;\n /** Pop the current submenu from the navigation stack. */\n pop: () => void;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nexport const MenuContextProvider = MenuContext.Provider;\n\nexport function useMenuContext(): MenuContextValue {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu compound components must be used within a Menu.Root');\n return ctx;\n}\n\nexport function useOptionalMenuContext(): MenuContextValue | null {\n return useContext(MenuContext);\n}\n\n// ---------------------------------------------------------------------------\n// Sub-menu identity context — provided by a nested Menu.Root so child parts\n// (Trigger, Content) can read the submenu ID and access the parent menu for\n// push/pop and item registration.\n// ---------------------------------------------------------------------------\n\nexport interface SubMenuContextValue {\n /** Stable ID for this submenu (matches the contentId of the nested Root). */\n subMenuId: string;\n /** The parent menu's context — used by Trigger to register and push. */\n parentMenu: MenuContextValue;\n}\n\nconst SubMenuContext = createContext<SubMenuContextValue | null>(null);\n\nexport const SubMenuContextProvider = SubMenuContext.Provider;\n\nexport function useSubMenuContext(): SubMenuContextValue | null {\n return useContext(SubMenuContext);\n}\n\n// ---------------------------------------------------------------------------\n// Group context — shared by group-like parts and MenuGroupLabel\n// ---------------------------------------------------------------------------\n\nexport interface MenuGroupContextValue {\n registerLabel: (id: string) => () => void;\n}\n\nconst MenuGroupContext = createContext<MenuGroupContextValue | null>(null);\n\nexport const MenuGroupContextProvider = MenuGroupContext.Provider;\n\nexport function useMenuGroupContext(): MenuGroupContextValue | null {\n return useContext(MenuGroupContext);\n}\n\n// ---------------------------------------------------------------------------\n// Radio group context — shared between MenuRadioGroup and MenuRadioItem\n// ---------------------------------------------------------------------------\n\nexport interface MenuRadioGroupContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst MenuRadioGroupContext = createContext<MenuRadioGroupContextValue | null>(null);\n\nexport const MenuRadioGroupContextProvider = MenuRadioGroupContext.Provider;\n\nexport function useMenuRadioGroupContext(): MenuRadioGroupContextValue {\n const ctx = useContext(MenuRadioGroupContext);\n if (!ctx) throw new Error('Menu.RadioItem must be used within a Menu.RadioGroup');\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// Root trigger render context — provided by Menu.Trigger for render children.\n// ---------------------------------------------------------------------------\n\nconst MenuTriggerChildContext = createContext(false);\n\nexport const MenuTriggerChildContextProvider = MenuTriggerChildContext.Provider;\n\nexport function useOptionalMenuTriggerChildContext(): boolean {\n return useContext(MenuTriggerChildContext);\n}\n\n// ---------------------------------------------------------------------------\n// Menu item setting context — provided by Menu.Item or Menu.Trigger when `type`\n// is set; consumed by Menu.ItemValue.\n// ---------------------------------------------------------------------------\n\nexport interface MenuItemSettingContextValue {\n type: MenuItemSettingType;\n label: string;\n availability: 'available' | 'unavailable';\n}\n\nconst MenuItemSettingContext = createContext<MenuItemSettingContextValue | null>(null);\n\nexport const MenuItemSettingContextProvider = MenuItemSettingContext.Provider;\n\nexport function useMenuItemSettingContext(): MenuItemSettingContextValue {\n const ctx = useContext(MenuItemSettingContext);\n if (!ctx) throw new Error('Menu.ItemValue must be used within a Menu.Item or Menu.Trigger with `type` set');\n return ctx;\n}\n\nexport function useOptionalMenuItemSettingContext(): MenuItemSettingContextValue | null {\n return useContext(MenuItemSettingContext);\n}\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuCore, MenuState, StateAttrMap } from '@videojs/core';\nimport type { MediaContainer, MenuApi, PositioningBoundary } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nimport type { MenuItemSettingType } from './menu-item-type';\n\nexport interface MenuContextValue {\n core: MenuCore;\n menu: MenuApi;\n state: MenuState;\n preferredSide: MenuState['side'];\n setPositionedSide: (side: MenuState['side']) => void;\n stateAttrMap: StateAttrMap<MenuState>;\n contentId: string;\n anchorName: string;\n boundary: PositioningBoundary;\n container: MediaContainer | null;\n /** ID of the currently visible submenu, or null when at root view. */\n activeSubMenuId: string | null;\n /** Triggerer ID of the active submenu entry (for focus restoration on pop). */\n activeSubMenuTriggerId: string | null;\n /** Direction of the most recent navigation. */\n navigationDirection: 'forward' | 'back';\n /** Push a submenu onto the navigation stack. */\n push: (menuId: string, triggerId: string) => void;\n /** Pop the current submenu from the navigation stack. */\n pop: () => void;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nexport const MenuContextProvider = MenuContext.Provider;\n\nexport function useMenuContext(): MenuContextValue {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu compound components must be used within a Menu.Root');\n return ctx;\n}\n\nexport function useOptionalMenuContext(): MenuContextValue | null {\n return useContext(MenuContext);\n}\n\n// ---------------------------------------------------------------------------\n// Sub-menu identity context — provided by a nested Menu.Root so child parts\n// (Trigger, Content) can read the submenu ID and access the parent menu for\n// push/pop and item registration.\n// ---------------------------------------------------------------------------\n\nexport interface SubMenuContextValue {\n /** Stable ID for this submenu (matches the contentId of the nested Root). */\n subMenuId: string;\n /** The parent menu's context — used by Trigger to register and push. */\n parentMenu: MenuContextValue;\n}\n\nconst SubMenuContext = createContext<SubMenuContextValue | null>(null);\n\nexport const SubMenuContextProvider = SubMenuContext.Provider;\n\nexport function useSubMenuContext(): SubMenuContextValue | null {\n return useContext(SubMenuContext);\n}\n\n// ---------------------------------------------------------------------------\n// Group context — shared by group-like parts and MenuGroupLabel\n// ---------------------------------------------------------------------------\n\nexport interface MenuGroupContextValue {\n registerLabel: (id: string) => () => void;\n}\n\nconst MenuGroupContext = createContext<MenuGroupContextValue | null>(null);\n\nexport const MenuGroupContextProvider = MenuGroupContext.Provider;\n\nexport function useMenuGroupContext(): MenuGroupContextValue | null {\n return useContext(MenuGroupContext);\n}\n\n// ---------------------------------------------------------------------------\n// Radio group context — shared between MenuRadioGroup and MenuRadioItem\n// ---------------------------------------------------------------------------\n\nexport interface MenuRadioGroupContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst MenuRadioGroupContext = createContext<MenuRadioGroupContextValue | null>(null);\n\nexport const MenuRadioGroupContextProvider = MenuRadioGroupContext.Provider;\n\nexport function useMenuRadioGroupContext(): MenuRadioGroupContextValue {\n const ctx = useContext(MenuRadioGroupContext);\n if (!ctx) throw new Error('Menu.RadioItem must be used within a Menu.RadioGroup');\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// Root trigger render context — provided by Menu.Trigger for render children.\n// ---------------------------------------------------------------------------\n\nconst MenuTriggerChildContext = createContext(false);\n\nexport const MenuTriggerChildContextProvider = MenuTriggerChildContext.Provider;\n\nexport function useOptionalMenuTriggerChildContext(): boolean {\n return useContext(MenuTriggerChildContext);\n}\n\n// ---------------------------------------------------------------------------\n// Menu item setting context — provided by Menu.Item or Menu.Trigger when `type`\n// is set; consumed by Menu.ItemValue.\n// ---------------------------------------------------------------------------\n\nexport interface MenuItemSettingContextValue {\n type: MenuItemSettingType;\n label: string;\n availability: 'available' | 'unavailable';\n}\n\nconst MenuItemSettingContext = createContext<MenuItemSettingContextValue | null>(null);\n\nexport const MenuItemSettingContextProvider = MenuItemSettingContext.Provider;\n\nexport function useMenuItemSettingContext(): MenuItemSettingContextValue {\n const ctx = useContext(MenuItemSettingContext);\n if (!ctx) throw new Error('Menu.ItemValue must be used within a Menu.Item or Menu.Trigger with `type` set');\n return ctx;\n}\n\nexport function useOptionalMenuItemSettingContext(): MenuItemSettingContextValue | null {\n return useContext(MenuItemSettingContext);\n}\n"],"mappings":";;;AA+BA,MAAM,cAAc,cAAuC,IAAI;AAE/D,MAAa,sBAAsB,YAAY;AAE/C,SAAgB,iBAAmC;CACjD,MAAM,MAAM,WAAW,WAAW;CAClC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,0DAA0D;CACpF,OAAO;AACT;AAEA,SAAgB,yBAAkD;CAChE,OAAO,WAAW,WAAW;AAC/B;AAeA,MAAM,iBAAiB,cAA0C,IAAI;AAErE,MAAa,yBAAyB,eAAe;AAErD,SAAgB,oBAAgD;CAC9D,OAAO,WAAW,cAAc;AAClC;AAUA,MAAM,mBAAmB,cAA4C,IAAI;AAEzE,MAAa,2BAA2B,iBAAiB;AAEzD,SAAgB,sBAAoD;CAClE,OAAO,WAAW,gBAAgB;AACpC;AAWA,MAAM,wBAAwB,cAAiD,IAAI;AAEnF,MAAa,gCAAgC,sBAAsB;AAEnE,SAAgB,2BAAuD;CACrE,MAAM,MAAM,WAAW,qBAAqB;CAC5C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,sDAAsD;CAChF,OAAO;AACT;AAMA,MAAM,0BAA0B,cAAc,KAAK;AAEnD,MAAa,kCAAkC,wBAAwB;AAEvE,SAAgB,qCAA8C;CAC5D,OAAO,WAAW,uBAAuB;AAC3C;AAaA,MAAM,yBAAyB,cAAkD,IAAI;AAErF,MAAa,iCAAiC,uBAAuB;AAQrE,SAAgB,oCAAwE;CACtF,OAAO,WAAW,sBAAsB;AAC1C"}
|
|
@@ -12,11 +12,9 @@ import { MenuRoot, MenuRootProps } from "./menu-root.js";
|
|
|
12
12
|
import { MenuSeparator, MenuSeparatorProps } from "./menu-separator.js";
|
|
13
13
|
import { MenuTrigger, MenuTriggerProps } from "./menu-trigger.js";
|
|
14
14
|
import { MenuView, MenuViewProps } from "./menu-view.js";
|
|
15
|
-
|
|
16
|
-
//#region src/ui/menu/index.parts.d.ts
|
|
17
15
|
declare namespace index_parts_d_exports {
|
|
18
16
|
export { MenuBack as Back, MenuBackProps as BackProps, MenuCheckboxItem as CheckboxItem, MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuGroupLabelProps as GroupLabelProps, MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuItemIndicatorProps as ItemIndicatorProps, MenuItemProps as ItemProps, MenuItemValue as ItemValue, MenuItemValueProps as ItemValueProps, MenuRadioGroup as RadioGroup, MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, MenuRadioItemProps as RadioItemProps, MenuRoot as Root, MenuRootProps as RootProps, MenuSeparator as Separator, MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, MenuTriggerProps as TriggerProps, MenuView as View, MenuViewProps as ViewProps };
|
|
19
17
|
}
|
|
20
18
|
//#endregion
|
|
21
|
-
export { index_parts_d_exports };
|
|
19
|
+
export { MenuBack as Back, type MenuBackProps as BackProps, MenuCheckboxItem as CheckboxItem, type MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, type MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps, type MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, type MenuItemIndicatorProps as ItemIndicatorProps, type MenuItemProps as ItemProps, MenuItemValue as ItemValue, type MenuItemValueProps as ItemValueProps, MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps, MenuRoot as Root, type MenuRootProps as RootProps, MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps, MenuView as View, type MenuViewProps as ViewProps, index_parts_d_exports };
|
|
22
20
|
//# sourceMappingURL=index.parts.d.ts.map
|
|
@@ -31,6 +31,6 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
|
|
|
31
31
|
View: () => MenuView
|
|
32
32
|
});
|
|
33
33
|
//#endregion
|
|
34
|
-
export { index_parts_exports };
|
|
34
|
+
export { MenuBack as Back, MenuCheckboxItem as CheckboxItem, MenuContent as Content, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuItemValue as ItemValue, MenuRadioGroup as RadioGroup, MenuRadioItem as RadioItem, MenuRoot as Root, MenuSeparator as Separator, MenuTrigger as Trigger, MenuView as View, index_parts_exports };
|
|
35
35
|
|
|
36
36
|
//# sourceMappingURL=index.parts.js.map
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import
|
|
2
|
+
import { Text } from "@videojs/core/i18n";
|
|
3
3
|
import { MenuState } from "@videojs/core";
|
|
4
|
-
|
|
5
4
|
//#region src/ui/menu/menu-back.d.ts
|
|
6
5
|
interface MenuBackProps extends UIComponentProps<'button', MenuState> {
|
|
7
6
|
/** Accessible label for the back button. */
|
|
8
|
-
label?: string;
|
|
7
|
+
label?: Text | string;
|
|
9
8
|
}
|
|
10
9
|
/** Button that navigates back to the parent menu view. Place at the top of a submenu Content. */
|
|
11
|
-
declare const MenuBack:
|
|
10
|
+
declare const MenuBack: import("react").ForwardRefExoticComponent<Omit<MenuBackProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
12
11
|
declare namespace MenuBack {
|
|
13
12
|
type Props = MenuBackProps;
|
|
14
13
|
type State = MenuState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-back.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-back.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu-back.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-back.tsx"],"mappings":";;;;UAYiB,sBAAsB,2BAA2B;;EAEhE,QAAQ;;;cAIG,0BAAQ,0BAAA,KAAA,wCAAA,cAAA;kBAkCJ;OACH,QAAQ;OACR,QAAQ"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useTranslator } from "../../i18n/context.js";
|
|
2
3
|
import { renderElement } from "../../utils/use-render.js";
|
|
3
4
|
import { useSubMenuContext } from "./context.js";
|
|
5
|
+
import { translateText } from "@videojs/core/i18n";
|
|
4
6
|
import { forwardRef, useCallback } from "react";
|
|
7
|
+
import { backText } from "@videojs/core/i18n/text/menu";
|
|
5
8
|
//#region src/ui/menu/menu-back.tsx
|
|
6
9
|
/** Button that navigates back to the parent menu view. Place at the top of a submenu Content. */
|
|
7
|
-
const MenuBack = forwardRef(function MenuBack({ render, className, style, label =
|
|
10
|
+
const MenuBack = forwardRef(function MenuBack({ render, className, style, label = backText, onClick, ...elementProps }, forwardedRef) {
|
|
11
|
+
const t = useTranslator();
|
|
8
12
|
const parentMenu = useSubMenuContext()?.parentMenu ?? null;
|
|
9
13
|
const handleClick = useCallback((event) => {
|
|
10
14
|
onClick?.(event);
|
|
@@ -19,7 +23,7 @@ const MenuBack = forwardRef(function MenuBack({ render, className, style, label
|
|
|
19
23
|
ref: forwardedRef,
|
|
20
24
|
props: [{
|
|
21
25
|
type: "button",
|
|
22
|
-
"aria-label": label,
|
|
26
|
+
"aria-label": translateText(label, t),
|
|
23
27
|
onClick: handleClick
|
|
24
28
|
}, elementProps]
|
|
25
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-back.js","names":[],"sources":["../../../../src/ui/menu/menu-back.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSubMenuContext } from './context';\n\nexport interface MenuBackProps extends UIComponentProps<'button', MenuState> {\n /** Accessible label for the back button. */\n label?: string;\n}\n\n/** Button that navigates back to the parent menu view. Place at the top of a submenu Content. */\nexport const MenuBack = forwardRef<HTMLButtonElement, MenuBackProps>(function MenuBack(\n { render, className, style, label =
|
|
1
|
+
{"version":3,"file":"menu-back.js","names":[],"sources":["../../../../src/ui/menu/menu-back.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport { backText } from '@videojs/core/i18n/text/menu';\nimport { forwardRef, useCallback } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSubMenuContext } from './context';\n\nexport interface MenuBackProps extends UIComponentProps<'button', MenuState> {\n /** Accessible label for the back button. */\n label?: Text | string;\n}\n\n/** Button that navigates back to the parent menu view. Place at the top of a submenu Content. */\nexport const MenuBack = forwardRef<HTMLButtonElement, MenuBackProps>(function MenuBack(\n { render, className, style, label = backText, onClick, ...elementProps },\n forwardedRef\n) {\n const t = useTranslator();\n const subMenuCtx = useSubMenuContext();\n const parentMenu = subMenuCtx?.parentMenu ?? null;\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n parentMenu?.pop();\n },\n [onClick, parentMenu]\n );\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state: parentMenu?.state ?? ({} as MenuState),\n ref: forwardedRef,\n props: [\n {\n type: 'button' as const,\n 'aria-label': translateText(label, t),\n onClick: handleClick,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuBack {\n export type Props = MenuBackProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;;;AAkBA,MAAa,WAAW,WAA6C,SAAS,SAC5E,EAAE,QAAQ,WAAW,OAAO,QAAQ,UAAU,SAAS,GAAG,gBAC1D,cACA;CACA,MAAM,IAAI,cAAc;CAExB,MAAM,aADa,kBACS,CAAC,EAAE,cAAc;CAE7C,MAAM,cAAc,aACjB,UAA+C;EAC9C,UAAU,KAAK;EACf,YAAY,IAAI;CAClB,GACA,CAAC,SAAS,UAAU,CACtB;CAEA,OAAO,cACL,UACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE,OAAO,YAAY,SAAU,CAAC;EAC9B,KAAK;EACL,OAAO,CACL;GACE,MAAM;GACN,cAAc,cAAc,OAAO,CAAC;GACpC,SAAS;EACX,GACA,YACF;CACF,CACF;AACF,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import * as _$react from "react";
|
|
3
2
|
import { MenuState } from "@videojs/core";
|
|
4
|
-
|
|
5
3
|
//#region src/ui/menu/menu-checkbox-item.d.ts
|
|
6
4
|
interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {
|
|
7
5
|
/** Whether the item is currently checked. */
|
|
@@ -12,7 +10,7 @@ interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {
|
|
|
12
10
|
disabled?: boolean;
|
|
13
11
|
}
|
|
14
12
|
/** A checkbox-style menu item. Renders a `<div>` with `role="menuitemcheckbox"`. */
|
|
15
|
-
declare const MenuCheckboxItem:
|
|
13
|
+
declare const MenuCheckboxItem: import("react").ForwardRefExoticComponent<Omit<MenuCheckboxItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
16
14
|
declare namespace MenuCheckboxItem {
|
|
17
15
|
type Props = MenuCheckboxItemProps;
|
|
18
16
|
type State = MenuState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-checkbox-item.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu-checkbox-item.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"mappings":";;;UASiB,8BAA8B,wBAAwB;;EAErE;;EAEA,kBAAkB;;EAElB;;;cAIW,kCAAgB,0BAAA,KAAA,gDAAA,cAAA;kBAgDZ;OACH,QAAQ;OACR,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-checkbox-item.js","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {\n /** Whether the item is currently checked. */\n checked: boolean;\n /** Called when the checked state should change. */\n onCheckedChange: (checked: boolean) => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A checkbox-style menu item. Renders a `<div>` with `role=\"menuitemcheckbox\"`. */\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n { render, className, style, checked, onCheckedChange, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const elementRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n return menu.registerItem(element);\n }, [menu]);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n onClick?.(event);\n onCheckedChange(!checked);\n },\n [disabled, onClick, onCheckedChange, checked]\n );\n\n const handlePointerEnter = useCallback(() => {\n const element = elementRef.current;\n if (!element || disabled) return;\n menu.highlight(element, { focus: false });\n }, [menu, disabled]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitemcheckbox' as const,\n 'aria-checked': checked,\n 'aria-disabled': disabled ? true : undefined,\n onClick: handleClick,\n onPointerEnter: handlePointerEnter,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuCheckboxItem {\n export type Props = MenuCheckboxItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;AAmBA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,SAAS,iBAAiB,UAAU,SAAS,GAAG,gBAC5E,cACA;CACA,MAAM,EAAE,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"menu-checkbox-item.js","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {\n /** Whether the item is currently checked. */\n checked: boolean;\n /** Called when the checked state should change. */\n onCheckedChange: (checked: boolean) => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A checkbox-style menu item. Renders a `<div>` with `role=\"menuitemcheckbox\"`. */\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n { render, className, style, checked, onCheckedChange, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const elementRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n return menu.registerItem(element);\n }, [menu]);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n onClick?.(event);\n onCheckedChange(!checked);\n },\n [disabled, onClick, onCheckedChange, checked]\n );\n\n const handlePointerEnter = useCallback(() => {\n const element = elementRef.current;\n if (!element || disabled) return;\n menu.highlight(element, { focus: false });\n }, [menu, disabled]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitemcheckbox' as const,\n 'aria-checked': checked,\n 'aria-disabled': disabled ? true : undefined,\n onClick: handleClick,\n onPointerEnter: handlePointerEnter,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuCheckboxItem {\n export type Props = MenuCheckboxItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;AAmBA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,SAAS,iBAAiB,UAAU,SAAS,GAAG,gBAC5E,cACA;CACA,MAAM,EAAE,MAAM,UAAU,eAAe;CACvC,MAAM,aAAa,OAAuB,IAAI;CAE9C,gBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,SAAS;EACd,OAAO,KAAK,aAAa,OAAO;CAClC,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,cAAc,aACjB,UAA4C;EAC3C,IAAI,UAAU;EACd,UAAU,KAAK;EACf,gBAAgB,CAAC,OAAO;CAC1B,GACA;EAAC;EAAU;EAAS;EAAiB;CAAO,CAC9C;CAEA,MAAM,qBAAqB,kBAAkB;EAC3C,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,WAAW,UAAU;EAC1B,KAAK,UAAU,SAAS,EAAE,OAAO,MAAM,CAAC;CAC1C,GAAG,CAAC,MAAM,QAAQ,CAAC;CAEnB,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,gBAAgB;GAChB,iBAAiB,WAAW,OAAO,KAAA;GACnC,SAAS;GACT,gBAAgB;EAClB,GACA,YACF;CACF,CACF;AACF,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import * as _$react from "react";
|
|
3
2
|
import { MenuState } from "@videojs/core";
|
|
4
|
-
|
|
5
3
|
//#region src/ui/menu/menu-content.d.ts
|
|
6
4
|
interface MenuContentProps extends UIComponentProps<'div', MenuState> {}
|
|
7
5
|
/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */
|
|
8
|
-
declare const MenuContent:
|
|
6
|
+
declare const MenuContent: import("react").ForwardRefExoticComponent<Omit<MenuContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
7
|
declare namespace MenuContent {
|
|
10
8
|
type Props = MenuContentProps;
|
|
11
9
|
type State = MenuState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-content.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu-content.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"mappings":";;;UAkCiB,yBAAyB,wBAAwB;;cA0ErD,6BAAW,0BAAA,KAAA,2CAAA,cAAA;kBAyUP;OACH,QAAQ;OACR,QAAQ"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import { useComposedRefs } from "../../utils/use-composed-refs.js";
|
|
3
3
|
import { renderElement } from "../../utils/use-render.js";
|
|
4
4
|
import { useMenuContext, useSubMenuContext } from "./context.js";
|
|
5
|
-
import { createMenuViewTransition, getAnchorPositionStyle, getMenuViewTransitionAttrs, getMenuViewportAttrs, getMenuViewportElement, getPopupPositionRect, getPositioningBoundaryRect, getRootPositionOptions, isEventWithinElement, isMenuNavigationKey, observeMenuViewContent, resolveOffsets, resolvePositioningBoundary, syncMenuViewRoot, syncMenuViewTransition } from "@videojs/core/dom";
|
|
5
|
+
import { createMenuViewTransition, getAnchorPositionStyle, getMenuViewTransitionAttrs, getMenuViewportAttrs, getMenuViewportElement, getPopupPositionRect, getPositionedSide, getPositioningBoundaryRect, getRootPositionOptions, isEventWithinElement, isMenuNavigationKey, observeMenuViewContent, resolveOffsets, resolvePositioningBoundary, syncMenuViewRoot, syncMenuViewTransition } from "@videojs/core/dom";
|
|
6
6
|
import { useSnapshot } from "@videojs/store/react";
|
|
7
7
|
import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
8
|
-
import { PopoverCSSVars } from "@videojs/core";
|
|
9
8
|
import { supportsAnchorPositioning } from "@videojs/utils/dom";
|
|
9
|
+
import { PopoverCSSVars } from "@videojs/core";
|
|
10
10
|
import { createPortal } from "react-dom";
|
|
11
11
|
//#region src/ui/menu/menu-content.tsx
|
|
12
12
|
const POPOVER_RESET = {
|
|
@@ -69,7 +69,7 @@ function callKeyDownHandler(handler, event) {
|
|
|
69
69
|
}
|
|
70
70
|
/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */
|
|
71
71
|
const MenuContent = forwardRef(function MenuContent({ render, className, style, onKeyDown, onBlur, ...elementProps }, forwardedRef) {
|
|
72
|
-
const { core, menu, state, stateAttrMap, anchorName, contentId, boundary, container, activeSubMenuId } = useMenuContext();
|
|
72
|
+
const { core, menu, state, preferredSide, setPositionedSide, stateAttrMap, anchorName, contentId, boundary, container, activeSubMenuId } = useMenuContext();
|
|
73
73
|
const subMenuCtx = useSubMenuContext();
|
|
74
74
|
const isSubmenu = state.isSubmenu;
|
|
75
75
|
const parentMenu = subMenuCtx?.parentMenu ?? null;
|
|
@@ -149,7 +149,7 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
149
149
|
anchorName
|
|
150
150
|
]), internalRef);
|
|
151
151
|
const menuViewComposedRef = useComposedRefs(forwardedRef, setMenuViewElement);
|
|
152
|
-
const positionOptions = useMemo(() => getRootPositionOptions(
|
|
152
|
+
const positionOptions = useMemo(() => getRootPositionOptions(preferredSide, state.align), [preferredSide, state.align]);
|
|
153
153
|
const anchorStyle = useMemo(() => {
|
|
154
154
|
if (isSubmenu || !positionOptions || !supportsAnchorPositioning()) return null;
|
|
155
155
|
const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, positionOptions);
|
|
@@ -159,7 +159,7 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
159
159
|
anchorName,
|
|
160
160
|
positionOptions
|
|
161
161
|
]);
|
|
162
|
-
const [
|
|
162
|
+
const [position, setPosition] = useState(null);
|
|
163
163
|
useLayoutEffect(() => {
|
|
164
164
|
if (isSubmenu) return;
|
|
165
165
|
if (!state.open) return;
|
|
@@ -183,7 +183,7 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
183
183
|
useLayoutEffect(() => {
|
|
184
184
|
if (isSubmenu) return;
|
|
185
185
|
if (!state.open) {
|
|
186
|
-
|
|
186
|
+
setPosition(null);
|
|
187
187
|
return;
|
|
188
188
|
}
|
|
189
189
|
if (!positionOptions) {
|
|
@@ -196,20 +196,33 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
196
196
|
const contentElement = internalRef.current;
|
|
197
197
|
if (!triggerElement || !contentElement) return;
|
|
198
198
|
const triggerRect = triggerElement.getBoundingClientRect();
|
|
199
|
+
const root = contentElement.getRootNode();
|
|
199
200
|
const boundaryElement = resolvePositioningBoundary(boundary, {
|
|
200
201
|
container,
|
|
201
|
-
root
|
|
202
|
+
root
|
|
202
203
|
});
|
|
203
204
|
const anchorSupported = supportsAnchorPositioning();
|
|
204
|
-
|
|
205
|
+
let contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);
|
|
205
206
|
const boundaryRect = getPositioningBoundaryRect(boundaryElement);
|
|
206
207
|
const offsets = resolveOffsets(contentElement);
|
|
207
|
-
let
|
|
208
|
+
let side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);
|
|
209
|
+
let nextStyle = getAnchorPositionStyle(anchorName, {
|
|
210
|
+
...rootPositionOptions,
|
|
211
|
+
side
|
|
212
|
+
}, triggerRect, anchorSupported ? void 0 : contentRect, boundaryRect, offsets);
|
|
208
213
|
const availableWidth = nextStyle[PopoverCSSVars.availableWidth];
|
|
209
214
|
syncMenuViewRoot(contentElement, activeSubMenuIdRef.current !== null, availableWidth ? { availableWidth } : void 0);
|
|
210
|
-
if (!anchorSupported)
|
|
215
|
+
if (!anchorSupported) {
|
|
216
|
+
contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);
|
|
217
|
+
side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);
|
|
218
|
+
nextStyle = getAnchorPositionStyle(anchorName, {
|
|
219
|
+
...rootPositionOptions,
|
|
220
|
+
side
|
|
221
|
+
}, triggerRect, contentRect, boundaryRect, offsets);
|
|
222
|
+
}
|
|
211
223
|
const { positionAnchor: _, ...rootStyle } = nextStyle;
|
|
212
|
-
|
|
224
|
+
setPosition(rootStyle);
|
|
225
|
+
setPositionedSide(side);
|
|
213
226
|
}
|
|
214
227
|
measure();
|
|
215
228
|
const triggerElement = menu.triggerElement;
|
|
@@ -247,7 +260,8 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
247
260
|
positionOptions,
|
|
248
261
|
menu,
|
|
249
262
|
boundary,
|
|
250
|
-
container
|
|
263
|
+
container,
|
|
264
|
+
setPositionedSide
|
|
251
265
|
]);
|
|
252
266
|
if (isSubmenu) {
|
|
253
267
|
if (menuViewTransitionState.phase === "hidden") return null;
|
|
@@ -283,7 +297,7 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
283
297
|
props: [
|
|
284
298
|
{
|
|
285
299
|
id: contentId,
|
|
286
|
-
style:
|
|
300
|
+
style: position ?? anchorStyle ?? POPOVER_RESET,
|
|
287
301
|
...core.getContentAttrs(state),
|
|
288
302
|
...getMenuViewportAttrs()
|
|
289
303
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-content.js","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"sourcesContent":["'use client';\n\nimport { type MenuState, PopoverCSSVars } from '@videojs/core';\nimport {\n createMenuViewTransition,\n getAnchorPositionStyle,\n getMenuViewportAttrs,\n getMenuViewportElement,\n getMenuViewTransitionAttrs,\n getPopupPositionRect,\n getPositioningBoundaryRect,\n getRootPositionOptions,\n isEventWithinElement,\n isMenuNavigationKey,\n observeMenuViewContent,\n resolveOffsets,\n resolvePositioningBoundary,\n syncMenuViewRoot,\n syncMenuViewTransition,\n type UIFocusEvent,\n type UIKeyboardEvent,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useSubMenuContext } from './context';\n\nexport interface MenuContentProps extends UIComponentProps<'div', MenuState> {}\n\nconst POPOVER_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\nconst menuPreventedNativeEvents = new WeakSet<Event>();\n\nfunction toUIKeyboardEvent(event: React.KeyboardEvent<HTMLDivElement>): UIKeyboardEvent {\n return {\n get defaultPrevented() {\n return event.defaultPrevented;\n },\n key: event.key,\n shiftKey: event.shiftKey,\n ctrlKey: event.ctrlKey,\n altKey: event.altKey,\n metaKey: event.metaKey,\n target: event.target instanceof Node ? event.target : event.currentTarget,\n currentTarget: event.currentTarget,\n preventDefault: () => event.preventDefault(),\n stopPropagation: () => event.stopPropagation(),\n };\n}\n\nfunction toUIFocusEvent(event: React.FocusEvent<HTMLDivElement>): UIFocusEvent {\n return {\n get defaultPrevented() {\n return event.defaultPrevented;\n },\n relatedTarget: event.relatedTarget,\n preventDefault: () => event.preventDefault(),\n stopPropagation: () => event.stopPropagation(),\n };\n}\n\nfunction preventMenuKeyDefault(event: React.KeyboardEvent<HTMLDivElement>): void {\n const keyboardEvent = toUIKeyboardEvent(event);\n\n if (event.key !== 'Escape' && isMenuNavigationKey(keyboardEvent) && !event.defaultPrevented) {\n event.preventDefault();\n menuPreventedNativeEvents.add(event.nativeEvent);\n }\n}\n\nfunction wasDefaultPreventedByMenu(event: React.KeyboardEvent<HTMLDivElement>): boolean {\n return menuPreventedNativeEvents.has(event.nativeEvent);\n}\n\nfunction callKeyDownHandler(\n handler: React.KeyboardEventHandler<HTMLDivElement> | undefined,\n event: React.KeyboardEvent<HTMLDivElement>\n): boolean {\n const defaultPreventedBeforeHandler = event.defaultPrevented && !wasDefaultPreventedByMenu(event);\n\n if (!handler) return defaultPreventedBeforeHandler;\n\n let defaultPreventedByHandler = false;\n const preventDefault = event.preventDefault;\n\n // Capture-phase menu handling may have already prevented default; track\n // whether the consumer also calls preventDefault while their handler runs.\n event.preventDefault = () => {\n defaultPreventedByHandler = true;\n preventDefault.call(event);\n };\n\n try {\n handler(event);\n } finally {\n event.preventDefault = preventDefault;\n }\n\n return defaultPreventedBeforeHandler || defaultPreventedByHandler;\n}\n\n/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */\nexport const MenuContent = forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { render, className, style, onKeyDown, onBlur, ...elementProps },\n forwardedRef\n) {\n const { core, menu, state, stateAttrMap, anchorName, contentId, boundary, container, activeSubMenuId } =\n useMenuContext();\n const subMenuCtx = useSubMenuContext();\n const isSubmenu = state.isSubmenu;\n\n const parentMenu = subMenuCtx?.parentMenu ?? null;\n const subMenuId = subMenuCtx?.subMenuId ?? null;\n\n const isActive =\n isSubmenu && parentMenu !== null && subMenuId !== null ? parentMenu.activeSubMenuId === subMenuId : false;\n\n const [menuViewTransition] = useState(() =>\n createMenuViewTransition({\n focusFirstItem() {\n menu.highlightFirstItem({ preventScroll: true });\n },\n restoreFocus(triggerId) {\n if (triggerId) {\n document.getElementById(triggerId)?.focus({ preventScroll: true });\n }\n },\n })\n );\n const menuViewTransitionState = useSnapshot(menuViewTransition.input);\n const menuViewElementRef = useRef<HTMLDivElement | null>(null);\n const parentContentElementRef = useRef<HTMLElement | null>(null);\n const activeSubMenuIdRef = useRef(activeSubMenuId);\n\n activeSubMenuIdRef.current = activeSubMenuId;\n\n useLayoutEffect(() => {\n return () => menuViewTransition.destroy();\n }, [menuViewTransition]);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return;\n\n menuViewTransition.sync({\n active: isActive,\n direction: parentMenu?.navigationDirection ?? 'forward',\n triggerId: parentMenu?.activeSubMenuTriggerId ?? null,\n });\n }, [isActive, isSubmenu, parentMenu, menuViewTransition]);\n\n const setMenuViewElement = useCallback(\n (element: HTMLDivElement | null) => {\n menuViewElementRef.current = element;\n menu.setContentElement(element);\n menuViewTransition.setElement(element);\n },\n [menu, menuViewTransition]\n );\n\n const handleSubMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const defaultPreventedByUser = callKeyDownHandler(\n onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined,\n event\n );\n const keyboardEvent = toUIKeyboardEvent(event);\n const isNavigationKey = isMenuNavigationKey(keyboardEvent);\n menu.contentProps.onKeyDown(keyboardEvent);\n const isBackNavigationKey = event.key === 'ArrowLeft' || event.key === 'Escape';\n\n const ownsActiveSubmenu =\n parentMenu !== null &&\n subMenuId !== null &&\n parentMenu.menu.navigationInput.current.stack[parentMenu.menu.navigationInput.current.stack.length - 1]\n ?.menuId === subMenuId;\n\n if (isBackNavigationKey && ownsActiveSubmenu && !defaultPreventedByUser) {\n event.preventDefault();\n parentMenu.pop();\n }\n\n if (isNavigationKey && (!isBackNavigationKey || ownsActiveSubmenu)) {\n event.stopPropagation();\n }\n },\n [onKeyDown, parentMenu, subMenuId, menu]\n );\n\n const handleRootMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n (onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined)?.(event);\n const keyboardEvent = toUIKeyboardEvent(event);\n menu.contentProps.onKeyDown(keyboardEvent);\n if (event.key === 'Escape') return;\n if (isMenuNavigationKey(keyboardEvent)) {\n event.stopPropagation();\n }\n },\n [onKeyDown, menu]\n );\n\n const handleRootMenuBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n (onBlur as React.FocusEventHandler<HTMLDivElement> | undefined)?.(event);\n menu.contentProps.onFocusOut(toUIFocusEvent(event));\n },\n [onBlur, menu]\n );\n\n // ─── Root content state (always declared — Rules of Hooks) ───────────────\n const internalRef = useRef<HTMLDivElement>(null);\n\n const contentRef = useCallback(\n (element: HTMLDivElement | null) => {\n if (isSubmenu) return;\n menu.setContentElement(element);\n if (element && supportsAnchorPositioning()) {\n element.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [isSubmenu, menu, anchorName]\n );\n\n const rootComposedRef = useComposedRefs(forwardedRef, contentRef, internalRef);\n const menuViewComposedRef = useComposedRefs(forwardedRef, setMenuViewElement);\n\n const positionOptions = useMemo(() => getRootPositionOptions(state.side, state.align), [state.side, state.align]);\n\n const anchorStyle = useMemo(() => {\n if (isSubmenu || !positionOptions || !supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, positionOptions);\n return rest as CSSProperties;\n }, [isSubmenu, anchorName, positionOptions]);\n\n const [manualStyle, setManualStyle] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (isSubmenu) return;\n if (!state.open) return;\n\n syncMenuViewRoot(internalRef.current, activeSubMenuId !== null);\n\n const contentElement = internalRef.current;\n if (!contentElement) return;\n\n return observeMenuViewContent(contentElement, () => {\n syncMenuViewRoot(contentElement, activeSubMenuId !== null);\n });\n }, [isSubmenu, state.open, activeSubMenuId]);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return;\n\n const parentContentElement = parentMenu?.menu.contentElement ?? parentContentElementRef.current;\n parentContentElementRef.current = parentContentElement;\n syncMenuViewTransition(parentContentElement, menuViewElementRef.current, menuViewTransitionState);\n });\n\n useLayoutEffect(() => {\n if (isSubmenu) return;\n if (!state.open) {\n setManualStyle(null);\n return;\n }\n\n if (!positionOptions) {\n syncMenuViewRoot(internalRef.current, activeSubMenuIdRef.current !== null);\n return;\n }\n\n const rootPositionOptions = positionOptions;\n\n function measure(): void {\n const triggerElement = menu.triggerElement;\n const contentElement = internalRef.current;\n if (!triggerElement || !contentElement) return;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const root = contentElement.getRootNode() as Document | ShadowRoot;\n const boundaryElement = resolvePositioningBoundary(boundary, { container, root });\n const anchorSupported = supportsAnchorPositioning();\n const contentRect = anchorSupported ? undefined : getPopupPositionRect(contentElement);\n const boundaryRect = getPositioningBoundaryRect(boundaryElement);\n const offsets = resolveOffsets(contentElement);\n\n let nextStyle = getAnchorPositionStyle(\n anchorName,\n rootPositionOptions,\n triggerRect,\n contentRect,\n boundaryRect,\n offsets\n );\n\n const availableWidth = nextStyle[PopoverCSSVars.availableWidth];\n syncMenuViewRoot(\n contentElement,\n activeSubMenuIdRef.current !== null,\n availableWidth ? { availableWidth } : undefined\n );\n\n if (!anchorSupported) {\n nextStyle = getAnchorPositionStyle(\n anchorName,\n rootPositionOptions,\n triggerRect,\n getPopupPositionRect(contentElement),\n boundaryRect,\n offsets\n );\n }\n\n const { positionAnchor: _, ...rootStyle } = nextStyle;\n\n setManualStyle(rootStyle as CSSProperties);\n }\n\n measure();\n\n const triggerElement = menu.triggerElement;\n const contentElement = internalRef.current;\n const boundaryElement = contentElement\n ? resolvePositioningBoundary(boundary, {\n container,\n root: contentElement.getRootNode() as Document | ShadowRoot,\n })\n : null;\n\n let animationFrameId = 0;\n function reposition(event?: Event): void {\n if (event && isEventWithinElement(event, internalRef.current)) return;\n\n cancelAnimationFrame(animationFrameId);\n animationFrameId = requestAnimationFrame(measure);\n }\n\n reposition();\n\n const resizeObserver = typeof ResizeObserver === 'function' ? new ResizeObserver(() => reposition()) : null;\n\n if (triggerElement && resizeObserver) resizeObserver.observe(triggerElement);\n if (contentElement && resizeObserver) resizeObserver.observe(contentElement);\n if (boundaryElement && resizeObserver) resizeObserver.observe(boundaryElement);\n\n window.addEventListener('scroll', reposition, { capture: true, passive: true });\n window.addEventListener('resize', reposition);\n\n return () => {\n cancelAnimationFrame(animationFrameId);\n resizeObserver?.disconnect();\n window.removeEventListener('scroll', reposition, true);\n window.removeEventListener('resize', reposition);\n };\n }, [isSubmenu, state.open, anchorName, positionOptions, menu, boundary, container]);\n\n // ─── Render ───────────────────────────────────────────────────────────────\n\n if (isSubmenu) {\n if (menuViewTransitionState.phase === 'hidden') return null;\n\n const subMenuContent = renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: menuViewComposedRef,\n props: [\n {\n ...getMenuViewTransitionAttrs(menuViewTransitionState),\n role: 'menu' as const,\n tabIndex: -1,\n 'data-submenu': '',\n onKeyDownCapture: preventMenuKeyDefault,\n onKeyDown: handleSubMenuKeyDown,\n onBlur,\n },\n elementProps,\n ],\n }\n );\n\n const parentContentElement = parentMenu?.menu.contentElement ?? parentContentElementRef.current;\n\n const parentViewportElement = getMenuViewportElement(parentContentElement);\n\n return parentViewportElement ? createPortal(subMenuContent, parentViewportElement) : subMenuContent;\n }\n\n if (!state.open) return null;\n\n const positioningStyle = manualStyle ?? anchorStyle ?? POPOVER_RESET;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: rootComposedRef,\n props: [\n {\n id: contentId,\n style: positioningStyle,\n ...core.getContentAttrs(state),\n ...getMenuViewportAttrs(),\n },\n { onKeyDownCapture: preventMenuKeyDefault, onKeyDown: handleRootMenuKeyDown, onBlur: handleRootMenuBlur },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuContent {\n export type Props = MenuContentProps;\n export type State = MenuState;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu-content.js","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"sourcesContent":["'use client';\n\nimport { type MenuState, PopoverCSSVars } from '@videojs/core';\nimport {\n createMenuViewTransition,\n getAnchorPositionStyle,\n getMenuViewportAttrs,\n getMenuViewportElement,\n getMenuViewTransitionAttrs,\n getPopupPositionRect,\n getPositionedSide,\n getPositioningBoundaryRect,\n getRootPositionOptions,\n isEventWithinElement,\n isMenuNavigationKey,\n observeMenuViewContent,\n resolveOffsets,\n resolvePositioningBoundary,\n syncMenuViewRoot,\n syncMenuViewTransition,\n type UIFocusEvent,\n type UIKeyboardEvent,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useSubMenuContext } from './context';\n\nexport interface MenuContentProps extends UIComponentProps<'div', MenuState> {}\n\nconst POPOVER_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\nconst menuPreventedNativeEvents = new WeakSet<Event>();\n\nfunction toUIKeyboardEvent(event: React.KeyboardEvent<HTMLDivElement>): UIKeyboardEvent {\n return {\n get defaultPrevented() {\n return event.defaultPrevented;\n },\n key: event.key,\n shiftKey: event.shiftKey,\n ctrlKey: event.ctrlKey,\n altKey: event.altKey,\n metaKey: event.metaKey,\n target: event.target instanceof Node ? event.target : event.currentTarget,\n currentTarget: event.currentTarget,\n preventDefault: () => event.preventDefault(),\n stopPropagation: () => event.stopPropagation(),\n };\n}\n\nfunction toUIFocusEvent(event: React.FocusEvent<HTMLDivElement>): UIFocusEvent {\n return {\n get defaultPrevented() {\n return event.defaultPrevented;\n },\n relatedTarget: event.relatedTarget,\n preventDefault: () => event.preventDefault(),\n stopPropagation: () => event.stopPropagation(),\n };\n}\n\nfunction preventMenuKeyDefault(event: React.KeyboardEvent<HTMLDivElement>): void {\n const keyboardEvent = toUIKeyboardEvent(event);\n\n if (event.key !== 'Escape' && isMenuNavigationKey(keyboardEvent) && !event.defaultPrevented) {\n event.preventDefault();\n menuPreventedNativeEvents.add(event.nativeEvent);\n }\n}\n\nfunction wasDefaultPreventedByMenu(event: React.KeyboardEvent<HTMLDivElement>): boolean {\n return menuPreventedNativeEvents.has(event.nativeEvent);\n}\n\nfunction callKeyDownHandler(\n handler: React.KeyboardEventHandler<HTMLDivElement> | undefined,\n event: React.KeyboardEvent<HTMLDivElement>\n): boolean {\n const defaultPreventedBeforeHandler = event.defaultPrevented && !wasDefaultPreventedByMenu(event);\n\n if (!handler) return defaultPreventedBeforeHandler;\n\n let defaultPreventedByHandler = false;\n const preventDefault = event.preventDefault;\n\n // Capture-phase menu handling may have already prevented default; track\n // whether the consumer also calls preventDefault while their handler runs.\n event.preventDefault = () => {\n defaultPreventedByHandler = true;\n preventDefault.call(event);\n };\n\n try {\n handler(event);\n } finally {\n event.preventDefault = preventDefault;\n }\n\n return defaultPreventedBeforeHandler || defaultPreventedByHandler;\n}\n\n/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */\nexport const MenuContent = forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { render, className, style, onKeyDown, onBlur, ...elementProps },\n forwardedRef\n) {\n const {\n core,\n menu,\n state,\n preferredSide,\n setPositionedSide,\n stateAttrMap,\n anchorName,\n contentId,\n boundary,\n container,\n activeSubMenuId,\n } = useMenuContext();\n const subMenuCtx = useSubMenuContext();\n const isSubmenu = state.isSubmenu;\n\n const parentMenu = subMenuCtx?.parentMenu ?? null;\n const subMenuId = subMenuCtx?.subMenuId ?? null;\n\n const isActive =\n isSubmenu && parentMenu !== null && subMenuId !== null ? parentMenu.activeSubMenuId === subMenuId : false;\n\n const [menuViewTransition] = useState(() =>\n createMenuViewTransition({\n focusFirstItem() {\n menu.highlightFirstItem({ preventScroll: true });\n },\n restoreFocus(triggerId) {\n if (triggerId) {\n document.getElementById(triggerId)?.focus({ preventScroll: true });\n }\n },\n })\n );\n const menuViewTransitionState = useSnapshot(menuViewTransition.input);\n const menuViewElementRef = useRef<HTMLDivElement | null>(null);\n const parentContentElementRef = useRef<HTMLElement | null>(null);\n const activeSubMenuIdRef = useRef(activeSubMenuId);\n\n activeSubMenuIdRef.current = activeSubMenuId;\n\n useLayoutEffect(() => {\n return () => menuViewTransition.destroy();\n }, [menuViewTransition]);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return;\n\n menuViewTransition.sync({\n active: isActive,\n direction: parentMenu?.navigationDirection ?? 'forward',\n triggerId: parentMenu?.activeSubMenuTriggerId ?? null,\n });\n }, [isActive, isSubmenu, parentMenu, menuViewTransition]);\n\n const setMenuViewElement = useCallback(\n (element: HTMLDivElement | null) => {\n menuViewElementRef.current = element;\n menu.setContentElement(element);\n menuViewTransition.setElement(element);\n },\n [menu, menuViewTransition]\n );\n\n const handleSubMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const defaultPreventedByUser = callKeyDownHandler(\n onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined,\n event\n );\n const keyboardEvent = toUIKeyboardEvent(event);\n const isNavigationKey = isMenuNavigationKey(keyboardEvent);\n menu.contentProps.onKeyDown(keyboardEvent);\n const isBackNavigationKey = event.key === 'ArrowLeft' || event.key === 'Escape';\n\n const ownsActiveSubmenu =\n parentMenu !== null &&\n subMenuId !== null &&\n parentMenu.menu.navigationInput.current.stack[parentMenu.menu.navigationInput.current.stack.length - 1]\n ?.menuId === subMenuId;\n\n if (isBackNavigationKey && ownsActiveSubmenu && !defaultPreventedByUser) {\n event.preventDefault();\n parentMenu.pop();\n }\n\n if (isNavigationKey && (!isBackNavigationKey || ownsActiveSubmenu)) {\n event.stopPropagation();\n }\n },\n [onKeyDown, parentMenu, subMenuId, menu]\n );\n\n const handleRootMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n (onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined)?.(event);\n const keyboardEvent = toUIKeyboardEvent(event);\n menu.contentProps.onKeyDown(keyboardEvent);\n if (event.key === 'Escape') return;\n if (isMenuNavigationKey(keyboardEvent)) {\n event.stopPropagation();\n }\n },\n [onKeyDown, menu]\n );\n\n const handleRootMenuBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n (onBlur as React.FocusEventHandler<HTMLDivElement> | undefined)?.(event);\n menu.contentProps.onFocusOut(toUIFocusEvent(event));\n },\n [onBlur, menu]\n );\n\n // ─── Root content state (always declared — Rules of Hooks) ───────────────\n const internalRef = useRef<HTMLDivElement>(null);\n\n const contentRef = useCallback(\n (element: HTMLDivElement | null) => {\n if (isSubmenu) return;\n menu.setContentElement(element);\n if (element && supportsAnchorPositioning()) {\n element.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [isSubmenu, menu, anchorName]\n );\n\n const rootComposedRef = useComposedRefs(forwardedRef, contentRef, internalRef);\n const menuViewComposedRef = useComposedRefs(forwardedRef, setMenuViewElement);\n\n const positionOptions = useMemo(\n () => getRootPositionOptions(preferredSide, state.align),\n [preferredSide, state.align]\n );\n\n const anchorStyle = useMemo(() => {\n if (isSubmenu || !positionOptions || !supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, positionOptions);\n return rest as CSSProperties;\n }, [isSubmenu, anchorName, positionOptions]);\n\n const [position, setPosition] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (isSubmenu) return;\n if (!state.open) return;\n\n syncMenuViewRoot(internalRef.current, activeSubMenuId !== null);\n\n const contentElement = internalRef.current;\n if (!contentElement) return;\n\n return observeMenuViewContent(contentElement, () => {\n syncMenuViewRoot(contentElement, activeSubMenuId !== null);\n });\n }, [isSubmenu, state.open, activeSubMenuId]);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return;\n\n const parentContentElement = parentMenu?.menu.contentElement ?? parentContentElementRef.current;\n parentContentElementRef.current = parentContentElement;\n syncMenuViewTransition(parentContentElement, menuViewElementRef.current, menuViewTransitionState);\n });\n\n useLayoutEffect(() => {\n if (isSubmenu) return;\n if (!state.open) {\n setPosition(null);\n return;\n }\n\n if (!positionOptions) {\n syncMenuViewRoot(internalRef.current, activeSubMenuIdRef.current !== null);\n return;\n }\n\n const rootPositionOptions = positionOptions;\n\n function measure(): void {\n const triggerElement = menu.triggerElement;\n const contentElement = internalRef.current;\n if (!triggerElement || !contentElement) return;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const root = contentElement.getRootNode() as Document | ShadowRoot;\n const boundaryElement = resolvePositioningBoundary(boundary, { container, root });\n const anchorSupported = supportsAnchorPositioning();\n let contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);\n const boundaryRect = getPositioningBoundaryRect(boundaryElement);\n const offsets = resolveOffsets(contentElement);\n let side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);\n\n let nextStyle = getAnchorPositionStyle(\n anchorName,\n { ...rootPositionOptions, side },\n triggerRect,\n anchorSupported ? undefined : contentRect,\n boundaryRect,\n offsets\n );\n\n const availableWidth = nextStyle[PopoverCSSVars.availableWidth];\n syncMenuViewRoot(\n contentElement,\n activeSubMenuIdRef.current !== null,\n availableWidth ? { availableWidth } : undefined\n );\n\n if (!anchorSupported) {\n contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);\n side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);\n nextStyle = getAnchorPositionStyle(\n anchorName,\n { ...rootPositionOptions, side },\n triggerRect,\n contentRect,\n boundaryRect,\n offsets\n );\n }\n\n const { positionAnchor: _, ...rootStyle } = nextStyle;\n\n setPosition(rootStyle as CSSProperties);\n setPositionedSide(side);\n }\n\n measure();\n\n const triggerElement = menu.triggerElement;\n const contentElement = internalRef.current;\n const boundaryElement = contentElement\n ? resolvePositioningBoundary(boundary, {\n container,\n root: contentElement.getRootNode() as Document | ShadowRoot,\n })\n : null;\n\n let animationFrameId = 0;\n function reposition(event?: Event): void {\n if (event && isEventWithinElement(event, internalRef.current)) return;\n\n cancelAnimationFrame(animationFrameId);\n animationFrameId = requestAnimationFrame(measure);\n }\n\n reposition();\n\n const resizeObserver = typeof ResizeObserver === 'function' ? new ResizeObserver(() => reposition()) : null;\n\n if (triggerElement && resizeObserver) resizeObserver.observe(triggerElement);\n if (contentElement && resizeObserver) resizeObserver.observe(contentElement);\n if (boundaryElement && resizeObserver) resizeObserver.observe(boundaryElement);\n\n window.addEventListener('scroll', reposition, { capture: true, passive: true });\n window.addEventListener('resize', reposition);\n\n return () => {\n cancelAnimationFrame(animationFrameId);\n resizeObserver?.disconnect();\n window.removeEventListener('scroll', reposition, true);\n window.removeEventListener('resize', reposition);\n };\n }, [isSubmenu, state.open, anchorName, positionOptions, menu, boundary, container, setPositionedSide]);\n\n // ─── Render ───────────────────────────────────────────────────────────────\n\n if (isSubmenu) {\n if (menuViewTransitionState.phase === 'hidden') return null;\n\n const subMenuContent = renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: menuViewComposedRef,\n props: [\n {\n ...getMenuViewTransitionAttrs(menuViewTransitionState),\n role: 'menu' as const,\n tabIndex: -1,\n 'data-submenu': '',\n onKeyDownCapture: preventMenuKeyDefault,\n onKeyDown: handleSubMenuKeyDown,\n onBlur,\n },\n elementProps,\n ],\n }\n );\n\n const parentContentElement = parentMenu?.menu.contentElement ?? parentContentElementRef.current;\n\n const parentViewportElement = getMenuViewportElement(parentContentElement);\n\n return parentViewportElement ? createPortal(subMenuContent, parentViewportElement) : subMenuContent;\n }\n\n if (!state.open) return null;\n\n const positioningStyle = position ?? anchorStyle ?? POPOVER_RESET;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: rootComposedRef,\n props: [\n {\n id: contentId,\n style: positioningStyle,\n ...core.getContentAttrs(state),\n ...getMenuViewportAttrs(),\n },\n { onKeyDownCapture: preventMenuKeyDefault, onKeyDown: handleRootMenuKeyDown, onBlur: handleRootMenuBlur },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuContent {\n export type Props = MenuContentProps;\n export type State = MenuState;\n}\n"],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import * as _$react from "react";
|
|
3
2
|
import { MenuState } from "@videojs/core";
|
|
4
|
-
|
|
5
3
|
//#region src/ui/menu/menu-group-label.d.ts
|
|
6
4
|
interface MenuGroupLabelProps extends UIComponentProps<'div', MenuState> {}
|
|
7
5
|
/** Non-interactive label for a group of items. Renders a `<div>`. */
|
|
8
|
-
declare const MenuGroupLabel:
|
|
6
|
+
declare const MenuGroupLabel: import("react").ForwardRefExoticComponent<Omit<MenuGroupLabelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
7
|
declare namespace MenuGroupLabel {
|
|
10
8
|
type Props = MenuGroupLabelProps;
|
|
11
9
|
type State = MenuState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-group-label.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-group-label.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu-group-label.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-group-label.tsx"],"mappings":";;;UAUiB,4BAA4B,wBAAwB;;cAGxD,gCAAc,0BAAA,KAAA,8CAAA,cAAA;kBAwBV;OACH,QAAQ;OACR,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-group-label.js","names":[],"sources":["../../../../src/ui/menu/menu-group-label.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useLayoutEffect } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { useMenuContext, useMenuGroupContext } from './context';\n\nexport interface MenuGroupLabelProps extends UIComponentProps<'div', MenuState> {}\n\n/** Non-interactive label for a group of items. Renders a `<div>`. */\nexport const MenuGroupLabel = forwardRef<HTMLDivElement, MenuGroupLabelProps>(function MenuGroupLabel(\n { render, className, style, id: idProp, ...elementProps },\n forwardedRef\n) {\n const { state } = useMenuContext();\n const group = useMenuGroupContext();\n const generatedId = useSafeId('menu-group-label');\n const id = idProp ?? generatedId;\n\n useLayoutEffect(() => {\n return group?.registerLabel(id);\n }, [group, id]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ id }, elementProps],\n }\n );\n});\n\nexport namespace MenuGroupLabel {\n export type Props = MenuGroupLabelProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;AAaA,MAAa,iBAAiB,WAAgD,SAAS,eACrF,EAAE,QAAQ,WAAW,OAAO,IAAI,QAAQ,GAAG,gBAC3C,cACA;CACA,MAAM,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"menu-group-label.js","names":[],"sources":["../../../../src/ui/menu/menu-group-label.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef, useLayoutEffect } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { useMenuContext, useMenuGroupContext } from './context';\n\nexport interface MenuGroupLabelProps extends UIComponentProps<'div', MenuState> {}\n\n/** Non-interactive label for a group of items. Renders a `<div>`. */\nexport const MenuGroupLabel = forwardRef<HTMLDivElement, MenuGroupLabelProps>(function MenuGroupLabel(\n { render, className, style, id: idProp, ...elementProps },\n forwardedRef\n) {\n const { state } = useMenuContext();\n const group = useMenuGroupContext();\n const generatedId = useSafeId('menu-group-label');\n const id = idProp ?? generatedId;\n\n useLayoutEffect(() => {\n return group?.registerLabel(id);\n }, [group, id]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ id }, elementProps],\n }\n );\n});\n\nexport namespace MenuGroupLabel {\n export type Props = MenuGroupLabelProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;AAaA,MAAa,iBAAiB,WAAgD,SAAS,eACrF,EAAE,QAAQ,WAAW,OAAO,IAAI,QAAQ,GAAG,gBAC3C,cACA;CACA,MAAM,EAAE,UAAU,eAAe;CACjC,MAAM,QAAQ,oBAAoB;CAClC,MAAM,cAAc,UAAU,kBAAkB;CAChD,MAAM,KAAK,UAAU;CAErB,sBAAsB;EACpB,OAAO,OAAO,cAAc,EAAE;CAChC,GAAG,CAAC,OAAO,EAAE,CAAC;CAEd,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC,EAAE,GAAG,GAAG,YAAY;CAC9B,CACF;AACF,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import * as _$react from "react";
|
|
3
2
|
import { MenuState } from "@videojs/core";
|
|
4
|
-
|
|
5
3
|
//#region src/ui/menu/menu-group.d.ts
|
|
6
4
|
interface MenuGroupProps extends UIComponentProps<'div', MenuState> {}
|
|
7
5
|
/** Groups related menu items. Renders a `<div>` with `role="group"`. */
|
|
8
|
-
declare const MenuGroup:
|
|
6
|
+
declare const MenuGroup: import("react").ForwardRefExoticComponent<Omit<MenuGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
7
|
declare namespace MenuGroup {
|
|
10
8
|
type Props = MenuGroupProps;
|
|
11
9
|
type State = MenuState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-group.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-group.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu-group.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-group.tsx"],"mappings":";;;UAUiB,uBAAuB,wBAAwB;;cAGnD,2BAAS,0BAAA,KAAA,yCAAA,cAAA;kBAuBL;OACH,QAAQ;OACR,QAAQ"}
|