@videojs/react 10.0.0-beta.24 → 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 +16 -0
- package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js +28 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -0
- package/dist/default/icons/dist/react/default/captions-off.js +5 -0
- package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/default/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 +16 -0
- package/dist/default/icons/dist/react/default/gear.js.map +1 -0
- 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 +16 -0
- package/dist/default/icons/dist/react/default/quality.js.map +1 -0
- 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 +19 -0
- package/dist/default/icons/dist/react/default/speech.js.map +1 -0
- package/dist/default/icons/dist/react/default/speed.js +52 -0
- package/dist/default/icons/dist/react/default/speed.js.map +1 -0
- package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/default/switches.js +19 -0
- package/dist/default/icons/dist/react/default/switches.js.map +1 -0
- package/dist/default/icons/dist/react/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 +16 -0
- package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +28 -0
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/captions-off.js +5 -0
- package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/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 +16 -0
- package/dist/default/icons/dist/react/minimal/gear.js.map +1 -0
- 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 +16 -0
- package/dist/default/icons/dist/react/minimal/quality.js.map +1 -0
- 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 +54 -0
- package/dist/default/icons/dist/react/minimal/speech.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/speed.js +52 -0
- package/dist/default/icons/dist/react/minimal/speed.js.map +1 -0
- package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/switches.js +19 -0
- package/dist/default/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/default/icons/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/icons/index.js +8 -1
- package/dist/default/icons/minimal/index.js +8 -1
- package/dist/default/index.js +28 -18
- 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 -20
- 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 +2 -0
- package/dist/{dev/media/hls-video/index.js → default/media/hlsjs-video/media.js} +6 -6
- package/dist/default/media/hlsjs-video/media.js.map +1 -0
- package/dist/default/media/mux-audio/index.js +1 -20
- 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 -20
- 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 -20
- 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 +2 -0
- 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 +2 -0
- 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 +15 -5
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +592 -232
- package/dist/default/presets/audio/minimal-skin.js +81 -53
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +82 -55
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +618 -290
- package/dist/default/presets/audio/skin.js +81 -53
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +85 -58
- 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/index.js +2 -2
- package/dist/default/presets/live-audio/minimal-skin.css +592 -232
- package/dist/default/presets/live-audio/minimal-skin.js +33 -24
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +35 -27
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +618 -290
- package/dist/default/presets/live-audio/skin.js +39 -26
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +35 -26
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +816 -426
- package/dist/default/presets/live-video/minimal-skin.js +121 -39
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +123 -41
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +913 -506
- package/dist/default/presets/live-video/skin.js +156 -76
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +156 -77
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +816 -426
- package/dist/default/presets/video/minimal-skin.js +305 -108
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +309 -113
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +913 -506
- package/dist/default/presets/video/skin.js +374 -161
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +342 -142
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +24 -13
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js +6 -0
- package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -4
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/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 +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 +11 -11
- 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 +30 -4
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -3
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +7 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/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 +7 -5
- 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 +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +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 +42 -25
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +25 -13
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/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 +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 +13 -13
- 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 +29 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/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 +6 -4
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +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 +40 -23
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +17 -2
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/tailwind.css +0 -24
- package/dist/default/ui/airplay-button/airplay-button.js +18 -0
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -0
- package/dist/default/ui/airplay-button/index.js +2 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-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 +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/index.js +2 -0
- package/dist/default/ui/audio-track/use-audio-track-options.js +40 -0
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -0
- 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/index.js +2 -0
- package/dist/default/ui/captions-radio-group/use-captions-options.js +48 -0
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -0
- 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 +41 -15
- 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 +8 -3
- 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 +28 -0
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
- package/dist/default/ui/hotkey/use-hotkey.js +1 -2
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicators/use-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 +2 -2
- package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +7 -4
- package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +10 -6
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js +16 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/index.parts.js +5 -3
- package/dist/default/ui/menu/index.parts.js.map +1 -1
- package/dist/default/ui/menu/menu-back.js +6 -3
- package/dist/default/ui/menu/menu-back.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js +1 -2
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +44 -12
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-group-label.js +29 -0
- package/dist/default/ui/menu/menu-group-label.js.map +1 -0
- package/dist/default/ui/menu/menu-group.js +7 -9
- package/dist/default/ui/menu/menu-group.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js +1 -2
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/default/ui/menu/menu-item-setting-provider.js +77 -0
- package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -0
- package/dist/default/ui/menu/menu-item-value.js +28 -0
- package/dist/default/ui/menu/menu-item-value.js.map +1 -0
- package/dist/default/ui/menu/menu-item.js +44 -23
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group.js +6 -9
- package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-item.js +1 -2
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +8 -3
- package/dist/default/ui/menu/menu-root.js.map +1 -1
- package/dist/default/ui/menu/menu-separator.js +1 -2
- package/dist/default/ui/menu/menu-separator.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +85 -29
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/menu/menu-view.js.map +1 -1
- package/dist/default/ui/menu/use-menu-group.js +31 -0
- package/dist/default/ui/menu/use-menu-group.js.map +1 -0
- package/dist/default/ui/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/index.js +2 -0
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +40 -0
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -0
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/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 +17 -3
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/index.js +2 -0
- package/dist/default/ui/quality/use-quality-options.js +47 -0
- package/dist/default/ui/quality/use-quality-options.js.map +1 -0
- package/dist/default/ui/seek-button/seek-button.js +3 -1
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/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 +41 -5
- 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 +32 -7
- 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 +5 -1
- package/dist/default/ui/tooltip/index.parts.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js +1 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-label.js +24 -0
- package/dist/default/ui/tooltip/tooltip-label.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-popup.js +28 -14
- 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 +7 -3
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js +25 -0
- package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -0
- package/dist/default/ui/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 +14 -0
- package/dist/default/utils/use-attach-iframe.js.map +1 -0
- 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 +11 -3
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js +1 -1
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/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 +16 -0
- package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js +28 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/default/captions-off.js +5 -0
- package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/default/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 +16 -0
- package/dist/dev/icons/dist/react/default/gear.js.map +1 -0
- package/dist/dev/icons/dist/react/default/index.d.ts +8 -1
- package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -1
- package/dist/dev/icons/dist/react/default/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 +16 -0
- package/dist/dev/icons/dist/react/default/quality.js.map +1 -0
- 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 +19 -0
- package/dist/dev/icons/dist/react/default/speech.js.map +1 -0
- package/dist/dev/icons/dist/react/default/speed.js +52 -0
- package/dist/dev/icons/dist/react/default/speed.js.map +1 -0
- package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/default/switches.js +19 -0
- package/dist/dev/icons/dist/react/default/switches.js.map +1 -0
- package/dist/dev/icons/dist/react/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 +16 -0
- package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +28 -0
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -0
- package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/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 +16 -0
- package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/index.d.ts +8 -1
- package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -1
- package/dist/dev/icons/dist/react/minimal/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 +16 -0
- package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -0
- 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 +54 -0
- package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/speed.js +52 -0
- package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -0
- package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/switches.js +19 -0
- package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -0
- package/dist/dev/icons/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/icons/index.d.ts +2 -2
- package/dist/dev/icons/index.js +8 -1
- package/dist/dev/icons/minimal/index.d.ts +2 -2
- package/dist/dev/icons/minimal/index.js +8 -1
- package/dist/dev/index.d.ts +43 -16
- package/dist/dev/index.js +28 -18
- 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 -20
- 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 -0
- package/dist/dev/media/hlsjs-video/index.js +2 -0
- 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/{default/media/hls-video/index.js → dev/media/hlsjs-video/media.js} +6 -6
- 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 -20
- 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 -20
- 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 -20
- 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 -0
- package/dist/dev/media/simple-hls-audio-only/index.js +2 -0
- 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 -0
- package/dist/dev/media/vimeo-video/index.js +2 -0
- 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 +15 -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 +15 -5
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +592 -232
- 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 +81 -53
- 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 +82 -55
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/skin.css +618 -290
- 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 +81 -53
- 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 +85 -58
- 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/index.d.ts +2 -2
- package/dist/dev/presets/live-audio/index.js +2 -2
- package/dist/dev/presets/live-audio/minimal-skin.css +592 -232
- 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 +33 -24
- 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 +35 -27
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.css +618 -290
- package/dist/dev/presets/live-audio/skin.d.ts +4 -2
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +39 -26
- 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 +35 -26
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +816 -426
- package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -8
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.js +121 -39
- 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 +123 -41
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +913 -506
- package/dist/dev/presets/live-video/skin.d.ts +0 -7
- package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-video/skin.js +156 -76
- 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 +156 -77
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +3 -1
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +816 -426
- 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 +305 -108
- 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 +309 -113
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +913 -506
- 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 +374 -161
- 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 +342 -142
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +24 -13
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +6 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/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 +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 +11 -11
- 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 +30 -4
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +7 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/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 +7 -5
- 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 +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +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 +42 -25
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +25 -13
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/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 +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 +13 -13
- 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 +29 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/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 +6 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +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 +40 -23
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +17 -2
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/tailwind.css +0 -24
- package/dist/dev/ui/airplay-button/airplay-button.d.ts +13 -0
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -0
- package/dist/dev/ui/airplay-button/airplay-button.js +18 -0
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -0
- package/dist/dev/ui/airplay-button/index.d.ts +2 -0
- package/dist/dev/ui/airplay-button/index.js +2 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.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 +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 +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/index.d.ts +2 -0
- package/dist/dev/ui/audio-track/index.js +2 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +30 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.js +43 -0
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/dev/ui/captions-radio-group/index.js +2 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +32 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +51 -0
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -0
- 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 +43 -15
- 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 +8 -3
- 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 +3 -3
- 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 +6 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +28 -0
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.js +1 -2
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-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 +2 -2
- package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +7 -4
- package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.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 +10 -6
- 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 +16 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/index.parts.d.ts +4 -5
- package/dist/dev/ui/menu/index.parts.js +5 -3
- package/dist/dev/ui/menu/index.parts.js.map +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 -3
- 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 +1 -2
- 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 +44 -12
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- package/dist/dev/ui/menu/menu-group-label.d.ts +13 -0
- package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-group-label.js +29 -0
- package/dist/dev/ui/menu/menu-group-label.js.map +1 -0
- package/dist/dev/ui/menu/menu-group.d.ts +2 -7
- package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group.js +7 -9
- package/dist/dev/ui/menu/menu-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.d.ts +1 -3
- package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.js +1 -2
- package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-setting-provider.js +77 -0
- package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -0
- package/dist/dev/ui/menu/menu-item-type.d.ts +5 -0
- package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-value.d.ts +12 -0
- package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -0
- package/dist/dev/ui/menu/menu-item-value.js +28 -0
- package/dist/dev/ui/menu/menu-item-value.js.map +1 -0
- package/dist/dev/ui/menu/menu-item.d.ts +4 -3
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +44 -23
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.d.ts +1 -5
- package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.js +6 -9
- package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.d.ts +1 -3
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js +1 -2
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.d.ts +1 -10
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +8 -3
- 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 +1 -2
- package/dist/dev/ui/menu/menu-separator.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts +6 -5
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +85 -29
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/menu/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 +31 -0
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/dev/ui/playback-rate/index.js +2 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +33 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +43 -0
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -0
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +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 +2 -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 +17 -3
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/index.d.ts +2 -0
- package/dist/dev/ui/quality/index.js +2 -0
- package/dist/dev/ui/quality/use-quality-options.d.ts +33 -0
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -0
- package/dist/dev/ui/quality/use-quality-options.js +50 -0
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -0
- 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 +3 -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 +41 -5
- 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 +32 -7
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +9 -4
- 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.d.ts +2 -2
- package/dist/dev/ui/tooltip/index.parts.d.ts +4 -4
- package/dist/dev/ui/tooltip/index.parts.js +5 -1
- package/dist/dev/ui/tooltip/index.parts.js.map +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 +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.d.ts +13 -0
- package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-label.js +24 -0
- package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts +1 -3
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +28 -14
- 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 +7 -3
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +13 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.js +25 -0
- package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -0
- package/dist/dev/ui/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 +14 -0
- package/dist/dev/utils/use-attach-iframe.js.map +1 -0
- 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 +8 -4
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +11 -3
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts +1 -2
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +1 -1
- package/dist/dev/utils/use-render.js.map +1 -1
- package/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/browser-support.md +1 -1
- package/docs/concepts/cast.md +131 -0
- package/docs/concepts/features.md +13 -5
- package/docs/concepts/i18n.md +327 -0
- package/docs/concepts/mux-data.md +84 -0
- package/docs/concepts/overview.md +4 -4
- package/docs/concepts/presets.md +32 -6
- package/docs/concepts/security.md +32 -0
- package/docs/concepts/skins.md +1350 -658
- package/docs/concepts/why-videojs.md +1 -1
- package/docs/how-to/build-with-ai.md +7 -7
- package/docs/how-to/build-your-own-component.md +3 -3
- package/docs/how-to/customize-skins.md +3869 -1790
- 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 +18 -37
- package/docs/llms.txt +52 -3
- package/docs/reference/airplay-button.md +298 -0
- package/docs/reference/audio-track-radio-group.md +194 -0
- package/docs/reference/background-video.md +76 -0
- package/docs/reference/buffering-indicator.md +1 -7
- package/docs/reference/captions-button.md +71 -18
- package/docs/reference/captions-radio-group.md +195 -0
- package/docs/reference/cast-button.md +283 -0
- 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 +55 -0
- package/docs/reference/feature-audio-track.md +60 -0
- package/docs/reference/feature-error.md +1 -1
- package/docs/reference/feature-fullscreen.md +20 -3
- package/docs/reference/feature-orientation-lock.md +35 -0
- package/docs/reference/feature-quality.md +70 -0
- package/docs/reference/feature-remote-playback.md +3 -1
- package/docs/reference/feature-text-tracks.md +13 -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 +91 -0
- package/docs/reference/i18n-provider.md +25 -0
- package/docs/reference/menu.md +1296 -0
- package/docs/reference/mute-button.md +5 -17
- package/docs/reference/mux-audio.md +153 -0
- package/docs/reference/mux-data.md +93 -0
- package/docs/reference/mux-video.md +226 -0
- package/docs/reference/native-hls-video.md +79 -0
- package/docs/reference/on-i18n-registry-change.md +49 -0
- package/docs/reference/pip-button.md +52 -23
- package/docs/reference/play-button.md +6 -11
- package/docs/reference/playback-rate-button.md +20 -10
- package/docs/reference/playback-rate-radio-group.md +194 -0
- package/docs/reference/player-container.md +9 -3
- package/docs/reference/player-provider.md +3 -1
- package/docs/reference/popover.md +20 -13
- package/docs/reference/poster.md +1 -4
- package/docs/reference/quality-radio-group.md +208 -0
- package/docs/reference/register-i18n.md +64 -0
- package/docs/reference/seek-button.md +4 -10
- package/docs/reference/simple-hls-audio-only.md +41 -0
- package/docs/reference/simple-hls-video.md +41 -0
- package/docs/reference/slider.md +2 -2
- package/docs/reference/thumbnail.md +1 -1
- package/docs/reference/time-slider.md +17 -11
- package/docs/reference/time.md +31 -37
- package/docs/reference/tooltip.md +99 -13
- 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-attach.md +2 -2
- package/docs/reference/use-media.md +97 -2
- package/docs/reference/use-playback-rate-options.md +59 -0
- package/docs/reference/use-player-context.md +6 -4
- package/docs/reference/use-player.md +18 -15
- package/docs/reference/use-quality-options.md +59 -0
- package/docs/reference/use-selector.md +1 -1
- package/docs/reference/use-snapshot.md +3 -3
- package/docs/reference/use-store.md +2 -14
- package/docs/reference/use-translator.md +119 -0
- package/docs/reference/volume-slider.md +6 -12
- package/package.json +26 -13
- package/dist/default/media/dash-video/index.js.map +0 -1
- package/dist/default/media/hls-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-video/index.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js +0 -12
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +0 -16
- package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
- package/dist/default/ui/menu/menu-label.js +0 -23
- package/dist/default/ui/menu/menu-label.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/context.js +0 -20
- package/dist/default/ui/playback-rate-menu/context.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/index.js +0 -3
- package/dist/default/ui/playback-rate-menu/index.parts.js +0 -17
- package/dist/default/ui/playback-rate-menu/index.parts.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +0 -36
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
- package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
- package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
- package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
- package/dist/dev/media/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/hls-video/index.d.ts +0 -15
- package/dist/dev/media/hls-video/index.d.ts.map +0 -1
- package/dist/dev/media/hls-video/index.js.map +0 -1
- package/dist/dev/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-video/index.d.ts.map +0 -1
- package/dist/dev/media/simple-hls-video/index.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +0 -12
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +0 -5
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +0 -16
- package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
- package/dist/dev/ui/menu/menu-label.d.ts +0 -15
- package/dist/dev/ui/menu/menu-label.d.ts.map +0 -1
- package/dist/dev/ui/menu/menu-label.js +0 -23
- package/dist/dev/ui/menu/menu-label.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/context.js +0 -20
- package/dist/dev/ui/playback-rate-menu/context.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/index.d.ts +0 -3
- package/dist/dev/ui/playback-rate-menu/index.js +0 -3
- package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +0 -12
- package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/index.parts.js +0 -17
- package/dist/dev/ui/playback-rate-menu/index.parts.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +0 -14
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +0 -23
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +0 -39
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +0 -14
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
- package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +0 -26
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
- package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
|
@@ -2,10 +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, 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
8
|
import { supportsAnchorPositioning } from "@videojs/utils/dom";
|
|
9
|
+
import { PopoverCSSVars } from "@videojs/core";
|
|
9
10
|
import { createPortal } from "react-dom";
|
|
10
11
|
//#region src/ui/menu/menu-content.tsx
|
|
11
12
|
const POPOVER_RESET = {
|
|
@@ -68,7 +69,7 @@ function callKeyDownHandler(handler, event) {
|
|
|
68
69
|
}
|
|
69
70
|
/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */
|
|
70
71
|
const MenuContent = forwardRef(function MenuContent({ render, className, style, onKeyDown, onBlur, ...elementProps }, forwardedRef) {
|
|
71
|
-
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();
|
|
72
73
|
const subMenuCtx = useSubMenuContext();
|
|
73
74
|
const isSubmenu = state.isSubmenu;
|
|
74
75
|
const parentMenu = subMenuCtx?.parentMenu ?? null;
|
|
@@ -85,6 +86,8 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
85
86
|
const menuViewTransitionState = useSnapshot(menuViewTransition.input);
|
|
86
87
|
const menuViewElementRef = useRef(null);
|
|
87
88
|
const parentContentElementRef = useRef(null);
|
|
89
|
+
const activeSubMenuIdRef = useRef(activeSubMenuId);
|
|
90
|
+
activeSubMenuIdRef.current = activeSubMenuId;
|
|
88
91
|
useLayoutEffect(() => {
|
|
89
92
|
return () => menuViewTransition.destroy();
|
|
90
93
|
}, [menuViewTransition]);
|
|
@@ -146,7 +149,7 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
146
149
|
anchorName
|
|
147
150
|
]), internalRef);
|
|
148
151
|
const menuViewComposedRef = useComposedRefs(forwardedRef, setMenuViewElement);
|
|
149
|
-
const positionOptions = useMemo(() => getRootPositionOptions(
|
|
152
|
+
const positionOptions = useMemo(() => getRootPositionOptions(preferredSide, state.align), [preferredSide, state.align]);
|
|
150
153
|
const anchorStyle = useMemo(() => {
|
|
151
154
|
if (isSubmenu || !positionOptions || !supportsAnchorPositioning()) return null;
|
|
152
155
|
const { positionAnchor: _, ...rest } = getAnchorPositionStyle(anchorName, positionOptions);
|
|
@@ -156,11 +159,16 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
156
159
|
anchorName,
|
|
157
160
|
positionOptions
|
|
158
161
|
]);
|
|
159
|
-
const [
|
|
162
|
+
const [position, setPosition] = useState(null);
|
|
160
163
|
useLayoutEffect(() => {
|
|
161
164
|
if (isSubmenu) return;
|
|
162
165
|
if (!state.open) return;
|
|
163
166
|
syncMenuViewRoot(internalRef.current, activeSubMenuId !== null);
|
|
167
|
+
const contentElement = internalRef.current;
|
|
168
|
+
if (!contentElement) return;
|
|
169
|
+
return observeMenuViewContent(contentElement, () => {
|
|
170
|
+
syncMenuViewRoot(contentElement, activeSubMenuId !== null);
|
|
171
|
+
});
|
|
164
172
|
}, [
|
|
165
173
|
isSubmenu,
|
|
166
174
|
state.open,
|
|
@@ -174,9 +182,12 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
174
182
|
});
|
|
175
183
|
useLayoutEffect(() => {
|
|
176
184
|
if (isSubmenu) return;
|
|
177
|
-
if (!positionOptions) return;
|
|
178
185
|
if (!state.open) {
|
|
179
|
-
|
|
186
|
+
setPosition(null);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (!positionOptions) {
|
|
190
|
+
syncMenuViewRoot(internalRef.current, activeSubMenuIdRef.current !== null);
|
|
180
191
|
return;
|
|
181
192
|
}
|
|
182
193
|
const rootPositionOptions = positionOptions;
|
|
@@ -185,12 +196,33 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
185
196
|
const contentElement = internalRef.current;
|
|
186
197
|
if (!triggerElement || !contentElement) return;
|
|
187
198
|
const triggerRect = triggerElement.getBoundingClientRect();
|
|
199
|
+
const root = contentElement.getRootNode();
|
|
188
200
|
const boundaryElement = resolvePositioningBoundary(boundary, {
|
|
189
201
|
container,
|
|
190
|
-
root
|
|
202
|
+
root
|
|
191
203
|
});
|
|
192
|
-
const
|
|
193
|
-
|
|
204
|
+
const anchorSupported = supportsAnchorPositioning();
|
|
205
|
+
let contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);
|
|
206
|
+
const boundaryRect = getPositioningBoundaryRect(boundaryElement);
|
|
207
|
+
const offsets = resolveOffsets(contentElement);
|
|
208
|
+
let side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);
|
|
209
|
+
let nextStyle = getAnchorPositionStyle(anchorName, {
|
|
210
|
+
...rootPositionOptions,
|
|
211
|
+
side
|
|
212
|
+
}, triggerRect, anchorSupported ? void 0 : contentRect, boundaryRect, offsets);
|
|
213
|
+
const availableWidth = nextStyle[PopoverCSSVars.availableWidth];
|
|
214
|
+
syncMenuViewRoot(contentElement, activeSubMenuIdRef.current !== null, availableWidth ? { availableWidth } : void 0);
|
|
215
|
+
if (!anchorSupported) {
|
|
216
|
+
contentRect = getPopupPositionRect(contentElement, rootPositionOptions.side);
|
|
217
|
+
side = getPositionedSide(triggerRect, contentRect, boundaryRect, rootPositionOptions, offsets);
|
|
218
|
+
nextStyle = getAnchorPositionStyle(anchorName, {
|
|
219
|
+
...rootPositionOptions,
|
|
220
|
+
side
|
|
221
|
+
}, triggerRect, contentRect, boundaryRect, offsets);
|
|
222
|
+
}
|
|
223
|
+
const { positionAnchor: _, ...rootStyle } = nextStyle;
|
|
224
|
+
setPosition(rootStyle);
|
|
225
|
+
setPositionedSide(side);
|
|
194
226
|
}
|
|
195
227
|
measure();
|
|
196
228
|
const triggerElement = menu.triggerElement;
|
|
@@ -228,7 +260,8 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
228
260
|
positionOptions,
|
|
229
261
|
menu,
|
|
230
262
|
boundary,
|
|
231
|
-
container
|
|
263
|
+
container,
|
|
264
|
+
setPositionedSide
|
|
232
265
|
]);
|
|
233
266
|
if (isSubmenu) {
|
|
234
267
|
if (menuViewTransitionState.phase === "hidden") return null;
|
|
@@ -238,7 +271,6 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
238
271
|
style
|
|
239
272
|
}, {
|
|
240
273
|
state,
|
|
241
|
-
stateAttrMap,
|
|
242
274
|
ref: menuViewComposedRef,
|
|
243
275
|
props: [{
|
|
244
276
|
...getMenuViewTransitionAttrs(menuViewTransitionState),
|
|
@@ -265,7 +297,7 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
|
|
|
265
297
|
props: [
|
|
266
298
|
{
|
|
267
299
|
id: contentId,
|
|
268
|
-
style:
|
|
300
|
+
style: position ?? anchorStyle ?? POPOVER_RESET,
|
|
269
301
|
...core.getContentAttrs(state),
|
|
270
302
|
...getMenuViewportAttrs()
|
|
271
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 } 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 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\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 }, [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 (!positionOptions) return;\n if (!state.open) {\n setManualStyle(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 contentRect = supportsAnchorPositioning() ? undefined : getPopupPositionRect(contentElement);\n const boundaryRect = getPositioningBoundaryRect(boundaryElement);\n const offsets = resolveOffsets(contentElement);\n\n const { positionAnchor: _, ...nextStyle } = getAnchorPositionStyle(\n anchorName,\n rootPositionOptions,\n triggerRect,\n contentRect,\n boundaryRect,\n offsets\n );\n\n setManualStyle(nextStyle 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 stateAttrMap,\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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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useMenuContext, useMenuGroupContext } from "./context.js";
|
|
4
|
+
import { useSafeId } from "../../utils/use-safe-id.js";
|
|
5
|
+
import { forwardRef, useLayoutEffect } from "react";
|
|
6
|
+
//#region src/ui/menu/menu-group-label.tsx
|
|
7
|
+
/** Non-interactive label for a group of items. Renders a `<div>`. */
|
|
8
|
+
const MenuGroupLabel = forwardRef(function MenuGroupLabel({ render, className, style, id: idProp, ...elementProps }, forwardedRef) {
|
|
9
|
+
const { state } = useMenuContext();
|
|
10
|
+
const group = useMenuGroupContext();
|
|
11
|
+
const generatedId = useSafeId("menu-group-label");
|
|
12
|
+
const id = idProp ?? generatedId;
|
|
13
|
+
useLayoutEffect(() => {
|
|
14
|
+
return group?.registerLabel(id);
|
|
15
|
+
}, [group, id]);
|
|
16
|
+
return renderElement("div", {
|
|
17
|
+
render,
|
|
18
|
+
className,
|
|
19
|
+
style
|
|
20
|
+
}, {
|
|
21
|
+
state,
|
|
22
|
+
ref: [forwardedRef],
|
|
23
|
+
props: [{ id }, elementProps]
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
export { MenuGroupLabel };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=menu-group-label.js.map
|
|
@@ -0,0 +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,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,24 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
3
3
|
import { useMenuContext } from "./context.js";
|
|
4
|
+
import { MenuGroupProvider, getMenuGroupProps } from "./use-menu-group.js";
|
|
4
5
|
import { forwardRef } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
7
|
//#region src/ui/menu/menu-group.tsx
|
|
6
8
|
/** Groups related menu items. Renders a `<div>` with `role="group"`. */
|
|
7
|
-
const MenuGroup = forwardRef(function MenuGroup({ render, className, style,
|
|
8
|
-
const { state
|
|
9
|
-
return renderElement("div", {
|
|
9
|
+
const MenuGroup = forwardRef(function MenuGroup({ render, className, style, ...elementProps }, forwardedRef) {
|
|
10
|
+
const { state } = useMenuContext();
|
|
11
|
+
return /* @__PURE__ */ jsx(MenuGroupProvider, { children: (labelId) => renderElement("div", {
|
|
10
12
|
render,
|
|
11
13
|
className,
|
|
12
14
|
style
|
|
13
15
|
}, {
|
|
14
16
|
state,
|
|
15
|
-
stateAttrMap,
|
|
16
17
|
ref: [forwardedRef],
|
|
17
|
-
props: [
|
|
18
|
-
|
|
19
|
-
"aria-label": label
|
|
20
|
-
}, elementProps]
|
|
21
|
-
});
|
|
18
|
+
props: [getMenuGroupProps(labelId, elementProps), elementProps]
|
|
19
|
+
}) });
|
|
22
20
|
});
|
|
23
21
|
//#endregion
|
|
24
22
|
export { MenuGroup };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-group.js","names":[],"sources":["../../../../src/ui/menu/menu-group.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuGroupProps extends UIComponentProps<'div', MenuState> {
|
|
1
|
+
{"version":3,"file":"menu-group.js","names":[],"sources":["../../../../src/ui/menu/menu-group.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\nimport { getMenuGroupProps, MenuGroupProvider } from './use-menu-group';\n\nexport interface MenuGroupProps extends UIComponentProps<'div', MenuState> {}\n\n/** Groups related menu items. Renders a `<div>` with `role=\"group\"`. */\nexport const MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(function MenuGroup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { state } = useMenuContext();\n\n return (\n <MenuGroupProvider>\n {(labelId) =>\n renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [getMenuGroupProps(labelId, elementProps), elementProps],\n }\n )\n }\n </MenuGroupProvider>\n );\n});\n\nexport namespace MenuGroup {\n export type Props = MenuGroupProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;;AAaA,MAAa,YAAY,WAA2C,SAAS,UAC3E,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,UAAU,eAAe;CAEjC,OACE,oBAAC,mBAAD,EAAA,WACI,YACA,cACE,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC,kBAAkB,SAAS,YAAY,GAAG,YAAY;CAChE,CACF,EAEe,CAAA;AAEvB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { forwardRef } from "react";
|
|
|
5
5
|
//#region src/ui/menu/menu-item-indicator.tsx
|
|
6
6
|
/** Visual indicator for a checked state. Only renders when `checked` is `true` (or `forceMount` is set). */
|
|
7
7
|
const MenuItemIndicator = forwardRef(function MenuItemIndicator({ render, className, style, checked, forceMount = false, ...elementProps }, forwardedRef) {
|
|
8
|
-
const { state
|
|
8
|
+
const { state } = useMenuContext();
|
|
9
9
|
if (!checked && !forceMount) return null;
|
|
10
10
|
return renderElement("span", {
|
|
11
11
|
render,
|
|
@@ -13,7 +13,6 @@ const MenuItemIndicator = forwardRef(function MenuItemIndicator({ render, classN
|
|
|
13
13
|
style
|
|
14
14
|
}, {
|
|
15
15
|
state,
|
|
16
|
-
stateAttrMap,
|
|
17
16
|
ref: [forwardedRef],
|
|
18
17
|
props: [{ "aria-hidden": true }, elementProps]
|
|
19
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item-indicator.js","names":[],"sources":["../../../../src/ui/menu/menu-item-indicator.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuItemIndicatorProps extends UIComponentProps<'span', MenuState> {\n /** Whether the indicator is currently shown. Typically bound to the parent item's checked state. */\n checked?: boolean;\n /** When `true`, renders even when unchecked (useful for animating out). Defaults to `false`. */\n forceMount?: boolean;\n}\n\n/** Visual indicator for a checked state. Only renders when `checked` is `true` (or `forceMount` is set). */\nexport const MenuItemIndicator = forwardRef<HTMLSpanElement, MenuItemIndicatorProps>(function MenuItemIndicator(\n { render, className, style, checked, forceMount = false, ...elementProps },\n forwardedRef\n) {\n const { state
|
|
1
|
+
{"version":3,"file":"menu-item-indicator.js","names":[],"sources":["../../../../src/ui/menu/menu-item-indicator.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuItemIndicatorProps extends UIComponentProps<'span', MenuState> {\n /** Whether the indicator is currently shown. Typically bound to the parent item's checked state. */\n checked?: boolean;\n /** When `true`, renders even when unchecked (useful for animating out). Defaults to `false`. */\n forceMount?: boolean;\n}\n\n/** Visual indicator for a checked state. Only renders when `checked` is `true` (or `forceMount` is set). */\nexport const MenuItemIndicator = forwardRef<HTMLSpanElement, MenuItemIndicatorProps>(function MenuItemIndicator(\n { render, className, style, checked, forceMount = false, ...elementProps },\n forwardedRef\n) {\n const { state } = useMenuContext();\n\n if (!checked && !forceMount) return null;\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ 'aria-hidden': true }, elementProps],\n }\n );\n});\n\nexport namespace MenuItemIndicator {\n export type Props = MenuItemIndicatorProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;AAiBA,MAAa,oBAAoB,WAAoD,SAAS,kBAC5F,EAAE,QAAQ,WAAW,OAAO,SAAS,aAAa,OAAO,GAAG,gBAC5D,cACA;CACA,MAAM,EAAE,UAAU,eAAe;CAEjC,IAAI,CAAC,WAAW,CAAC,YAAY,OAAO;CAEpC,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC,EAAE,eAAe,KAAK,GAAG,YAAY;CAC/C,CACF;AACF,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useTranslator } from "../../i18n/context.js";
|
|
3
|
+
import { MenuItemSettingContextProvider } from "./context.js";
|
|
4
|
+
import { useAudioTrackOptions } from "../audio-track/use-audio-track-options.js";
|
|
5
|
+
import { useCaptionsOptions } from "../captions-radio-group/use-captions-options.js";
|
|
6
|
+
import { usePlaybackRateOptions } from "../playback-rate/use-playback-rate-options.js";
|
|
7
|
+
import { useQualityOptions } from "../quality/use-quality-options.js";
|
|
8
|
+
import { translateText } from "@videojs/core/i18n";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
import { CAPTIONS_OFF_VALUE } from "@videojs/core";
|
|
11
|
+
import { autoText, offText } from "@videojs/core/i18n/text/menu";
|
|
12
|
+
//#region src/ui/menu/menu-item-setting-provider.tsx
|
|
13
|
+
function PlaybackRateMenuItemSettingProvider({ children }) {
|
|
14
|
+
const playbackRate = usePlaybackRateOptions();
|
|
15
|
+
if (!playbackRate) return children;
|
|
16
|
+
const { state, options, value } = playbackRate;
|
|
17
|
+
return /* @__PURE__ */ jsx(MenuItemSettingContextProvider, {
|
|
18
|
+
value: {
|
|
19
|
+
type: "playback-rate",
|
|
20
|
+
label: options.find((option) => option.value === value)?.label ?? "",
|
|
21
|
+
availability: state.availability
|
|
22
|
+
},
|
|
23
|
+
children
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function CaptionsMenuItemSettingProvider({ children }) {
|
|
27
|
+
const captions = useCaptionsOptions();
|
|
28
|
+
const t = useTranslator();
|
|
29
|
+
if (!captions) return children;
|
|
30
|
+
const { state, options, value } = captions;
|
|
31
|
+
return /* @__PURE__ */ jsx(MenuItemSettingContextProvider, {
|
|
32
|
+
value: {
|
|
33
|
+
type: "captions",
|
|
34
|
+
label: value === CAPTIONS_OFF_VALUE ? translateText(offText, t) : options.find((option) => option.value === value)?.label ?? translateText(offText, t),
|
|
35
|
+
availability: state.availability
|
|
36
|
+
},
|
|
37
|
+
children
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function QualityMenuItemSettingProvider({ children }) {
|
|
41
|
+
const quality = useQualityOptions();
|
|
42
|
+
const t = useTranslator();
|
|
43
|
+
if (!quality) return children;
|
|
44
|
+
const { state, options, value } = quality;
|
|
45
|
+
return /* @__PURE__ */ jsx(MenuItemSettingContextProvider, {
|
|
46
|
+
value: {
|
|
47
|
+
type: "quality",
|
|
48
|
+
label: options.find((option) => option.value === value)?.label ?? translateText(autoText, t),
|
|
49
|
+
availability: state.availability
|
|
50
|
+
},
|
|
51
|
+
children
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function AudioTrackMenuItemSettingProvider({ children }) {
|
|
55
|
+
const audioTrack = useAudioTrackOptions();
|
|
56
|
+
if (!audioTrack) return children;
|
|
57
|
+
const { state, options, value } = audioTrack;
|
|
58
|
+
return /* @__PURE__ */ jsx(MenuItemSettingContextProvider, {
|
|
59
|
+
value: {
|
|
60
|
+
type: "audio-track",
|
|
61
|
+
label: options.find((option) => option.value === value)?.label ?? "",
|
|
62
|
+
availability: state.availability
|
|
63
|
+
},
|
|
64
|
+
children
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function MenuItemSettingProvider({ type, children }) {
|
|
68
|
+
if (type === "playback-rate") return /* @__PURE__ */ jsx(PlaybackRateMenuItemSettingProvider, { children });
|
|
69
|
+
if (type === "quality") return /* @__PURE__ */ jsx(QualityMenuItemSettingProvider, { children });
|
|
70
|
+
if (type === "audio-track") return /* @__PURE__ */ jsx(AudioTrackMenuItemSettingProvider, { children });
|
|
71
|
+
if (type === "captions") return /* @__PURE__ */ jsx(CaptionsMenuItemSettingProvider, { children });
|
|
72
|
+
return children;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
export { MenuItemSettingProvider };
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=menu-item-setting-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item-setting-provider.js","names":[],"sources":["../../../../src/ui/menu/menu-item-setting-provider.tsx"],"sourcesContent":["'use client';\n\nimport { CAPTIONS_OFF_VALUE } from '@videojs/core';\nimport { translateText } from '@videojs/core/i18n';\nimport { autoText, offText } from '@videojs/core/i18n/text/menu';\nimport type { ReactNode } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport { useAudioTrackOptions } from '../audio-track/use-audio-track-options';\nimport { useCaptionsOptions } from '../captions-radio-group/use-captions-options';\nimport { usePlaybackRateOptions } from '../playback-rate/use-playback-rate-options';\nimport { useQualityOptions } from '../quality/use-quality-options';\nimport { MenuItemSettingContextProvider } from './context';\nimport type { MenuItemSettingType } from './menu-item-type';\n\nexport interface MenuItemSettingProviderProps {\n type: MenuItemSettingType;\n children: ReactNode;\n}\n\nfunction PlaybackRateMenuItemSettingProvider({ children }: { children: ReactNode }): ReactNode {\n const playbackRate = usePlaybackRateOptions();\n if (!playbackRate) return children;\n\n const { state, options, value } = playbackRate;\n const label = options.find((option) => option.value === value)?.label ?? '';\n\n return (\n <MenuItemSettingContextProvider value={{ type: 'playback-rate', label, availability: state.availability }}>\n {children}\n </MenuItemSettingContextProvider>\n );\n}\n\nfunction CaptionsMenuItemSettingProvider({ children }: { children: ReactNode }): ReactNode {\n const captions = useCaptionsOptions();\n const t = useTranslator();\n if (!captions) return children;\n\n const { state, options, value } = captions;\n const label =\n value === CAPTIONS_OFF_VALUE\n ? translateText(offText, t)\n : (options.find((option) => option.value === value)?.label ?? translateText(offText, t));\n\n return (\n <MenuItemSettingContextProvider value={{ type: 'captions', label, availability: state.availability }}>\n {children}\n </MenuItemSettingContextProvider>\n );\n}\n\nfunction QualityMenuItemSettingProvider({ children }: { children: ReactNode }): ReactNode {\n const quality = useQualityOptions();\n const t = useTranslator();\n if (!quality) return children;\n\n const { state, options, value } = quality;\n const label = options.find((option) => option.value === value)?.label ?? translateText(autoText, t);\n\n return (\n <MenuItemSettingContextProvider value={{ type: 'quality', label, availability: state.availability }}>\n {children}\n </MenuItemSettingContextProvider>\n );\n}\n\nfunction AudioTrackMenuItemSettingProvider({ children }: { children: ReactNode }): ReactNode {\n const audioTrack = useAudioTrackOptions();\n if (!audioTrack) return children;\n\n const { state, options, value } = audioTrack;\n const label = options.find((option) => option.value === value)?.label ?? '';\n\n return (\n <MenuItemSettingContextProvider value={{ type: 'audio-track', label, availability: state.availability }}>\n {children}\n </MenuItemSettingContextProvider>\n );\n}\n\nexport function MenuItemSettingProvider({ type, children }: MenuItemSettingProviderProps): ReactNode {\n if (type === 'playback-rate')\n return <PlaybackRateMenuItemSettingProvider>{children}</PlaybackRateMenuItemSettingProvider>;\n if (type === 'quality') return <QualityMenuItemSettingProvider>{children}</QualityMenuItemSettingProvider>;\n if (type === 'audio-track') return <AudioTrackMenuItemSettingProvider>{children}</AudioTrackMenuItemSettingProvider>;\n if (type === 'captions') return <CaptionsMenuItemSettingProvider>{children}</CaptionsMenuItemSettingProvider>;\n return children;\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,SAAS,oCAAoC,EAAE,YAAgD;CAC7F,MAAM,eAAe,uBAAuB;CAC5C,IAAI,CAAC,cAAc,OAAO;CAE1B,MAAM,EAAE,OAAO,SAAS,UAAU;CAGlC,OACE,oBAAC,gCAAD;EAAgC,OAAO;GAAE,MAAM;GAAiB,OAHpD,QAAQ,MAAM,WAAW,OAAO,UAAU,KAAK,CAAC,EAAE,SAAS;GAGA,cAAc,MAAM;EAAa;EACrG;CAC6B,CAAA;AAEpC;AAEA,SAAS,gCAAgC,EAAE,YAAgD;CACzF,MAAM,WAAW,mBAAmB;CACpC,MAAM,IAAI,cAAc;CACxB,IAAI,CAAC,UAAU,OAAO;CAEtB,MAAM,EAAE,OAAO,SAAS,UAAU;CAMlC,OACE,oBAAC,gCAAD;EAAgC,OAAO;GAAE,MAAM;GAAY,OAL3D,UAAU,qBACN,cAAc,SAAS,CAAC,IACvB,QAAQ,MAAM,WAAW,OAAO,UAAU,KAAK,CAAC,EAAE,SAAS,cAAc,SAAS,CAAC;GAGtB,cAAc,MAAM;EAAa;EAChG;CAC6B,CAAA;AAEpC;AAEA,SAAS,+BAA+B,EAAE,YAAgD;CACxF,MAAM,UAAU,kBAAkB;CAClC,MAAM,IAAI,cAAc;CACxB,IAAI,CAAC,SAAS,OAAO;CAErB,MAAM,EAAE,OAAO,SAAS,UAAU;CAGlC,OACE,oBAAC,gCAAD;EAAgC,OAAO;GAAE,MAAM;GAAW,OAH9C,QAAQ,MAAM,WAAW,OAAO,UAAU,KAAK,CAAC,EAAE,SAAS,cAAc,UAAU,CAAC;GAG/B,cAAc,MAAM;EAAa;EAC/F;CAC6B,CAAA;AAEpC;AAEA,SAAS,kCAAkC,EAAE,YAAgD;CAC3F,MAAM,aAAa,qBAAqB;CACxC,IAAI,CAAC,YAAY,OAAO;CAExB,MAAM,EAAE,OAAO,SAAS,UAAU;CAGlC,OACE,oBAAC,gCAAD;EAAgC,OAAO;GAAE,MAAM;GAAe,OAHlD,QAAQ,MAAM,WAAW,OAAO,UAAU,KAAK,CAAC,EAAE,SAAS;GAGF,cAAc,MAAM;EAAa;EACnG;CAC6B,CAAA;AAEpC;AAEA,SAAgB,wBAAwB,EAAE,MAAM,YAAqD;CACnG,IAAI,SAAS,iBACX,OAAO,oBAAC,qCAAD,EAAsC,SAA8C,CAAA;CAC7F,IAAI,SAAS,WAAW,OAAO,oBAAC,gCAAD,EAAiC,SAAyC,CAAA;CACzG,IAAI,SAAS,eAAe,OAAO,oBAAC,mCAAD,EAAoC,SAA4C,CAAA;CACnH,IAAI,SAAS,YAAY,OAAO,oBAAC,iCAAD,EAAkC,SAA0C,CAAA;CAC5G,OAAO;AACT"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
+
import { useMenuContext, useOptionalMenuItemSettingContext } from "./context.js";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
//#region src/ui/menu/menu-item-value.tsx
|
|
6
|
+
/** Displays the current value for a settings menu item from `Menu.Item` or `Menu.Trigger` context. */
|
|
7
|
+
const MenuItemValue = forwardRef(function MenuItemValue({ render, className, style, ...elementProps }, forwardedRef) {
|
|
8
|
+
const { state, stateAttrMap } = useMenuContext();
|
|
9
|
+
const setting = useOptionalMenuItemSettingContext();
|
|
10
|
+
if (!setting) return null;
|
|
11
|
+
return renderElement("span", {
|
|
12
|
+
render,
|
|
13
|
+
className,
|
|
14
|
+
style
|
|
15
|
+
}, {
|
|
16
|
+
state,
|
|
17
|
+
stateAttrMap,
|
|
18
|
+
ref: forwardedRef,
|
|
19
|
+
props: [{
|
|
20
|
+
"aria-live": "off",
|
|
21
|
+
children: setting.label
|
|
22
|
+
}, elementProps]
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
export { MenuItemValue };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=menu-item-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item-value.js","names":[],"sources":["../../../../src/ui/menu/menu-item-value.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useOptionalMenuItemSettingContext } from './context';\n\nexport interface MenuItemValueProps extends UIComponentProps<'span', MenuState> {}\n\n/** Displays the current value for a settings menu item from `Menu.Item` or `Menu.Trigger` context. */\nexport const MenuItemValue = forwardRef<HTMLSpanElement, MenuItemValueProps>(function MenuItemValue(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { state, stateAttrMap } = useMenuContext();\n const setting = useOptionalMenuItemSettingContext();\n if (!setting) return null;\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [{ 'aria-live': 'off' as const, children: setting.label }, elementProps],\n }\n );\n});\n\nexport namespace MenuItemValue {\n export type Props = MenuItemValueProps;\n}\n"],"mappings":";;;;;;AAYA,MAAa,gBAAgB,WAAgD,SAAS,cACpF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,OAAO,iBAAiB,eAAe;CAC/C,MAAM,UAAU,kCAAkC;CAClD,IAAI,CAAC,SAAS,OAAO;CAErB,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC;GAAE,aAAa;GAAgB,UAAU,QAAQ;EAAM,GAAG,YAAY;CAChF,CACF;AACF,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
3
|
-
import { useMenuContext, useSubMenuContext } from "./context.js";
|
|
3
|
+
import { useMenuContext, useOptionalMenuItemSettingContext, useSubMenuContext } from "./context.js";
|
|
4
|
+
import { MenuItemSettingProvider } from "./menu-item-setting-provider.js";
|
|
4
5
|
import { completeMenuItemSelection } from "@videojs/core/dom";
|
|
5
6
|
import { forwardRef, useCallback, useEffect, useRef } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
8
|
//#region src/ui/menu/menu-item.tsx
|
|
7
9
|
/** A single action in the menu. Renders a `<div>` with `role="menuitem"`. */
|
|
8
|
-
const MenuItem = forwardRef(function MenuItem({ render, className, style, onSelect, disabled, onClick, ...elementProps }, forwardedRef) {
|
|
9
|
-
const { menu, state
|
|
10
|
+
const MenuItem = forwardRef(function MenuItem({ render, className, style, onSelect, disabled, type, onClick, ...elementProps }, forwardedRef) {
|
|
11
|
+
const { menu, state } = useMenuContext();
|
|
10
12
|
const parentMenu = useSubMenuContext()?.parentMenu.menu ?? null;
|
|
11
13
|
const elementRef = useRef(null);
|
|
12
14
|
useEffect(() => {
|
|
@@ -14,39 +16,58 @@ const MenuItem = forwardRef(function MenuItem({ render, className, style, onSele
|
|
|
14
16
|
if (!element) return;
|
|
15
17
|
return menu.registerItem(element);
|
|
16
18
|
}, [menu]);
|
|
17
|
-
const
|
|
18
|
-
if (disabled) return;
|
|
19
|
-
onClick?.(event);
|
|
20
|
-
onSelect?.();
|
|
21
|
-
completeMenuItemSelection(menu, parentMenu);
|
|
22
|
-
}, [
|
|
19
|
+
const item = /* @__PURE__ */ jsx(MenuItemContent, {
|
|
23
20
|
disabled,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
elementProps,
|
|
22
|
+
onClick: useCallback((event) => {
|
|
23
|
+
if (disabled) return;
|
|
24
|
+
onClick?.(event);
|
|
25
|
+
onSelect?.();
|
|
26
|
+
completeMenuItemSelection(menu, parentMenu);
|
|
27
|
+
}, [
|
|
28
|
+
disabled,
|
|
29
|
+
onClick,
|
|
30
|
+
onSelect,
|
|
31
|
+
menu,
|
|
32
|
+
parentMenu
|
|
33
|
+
]),
|
|
34
|
+
onPointerEnter: useCallback(() => {
|
|
35
|
+
const element = elementRef.current;
|
|
36
|
+
if (!element || disabled) return;
|
|
37
|
+
menu.highlight(element, { focus: false });
|
|
38
|
+
}, [menu, disabled]),
|
|
39
|
+
render,
|
|
40
|
+
className,
|
|
41
|
+
style,
|
|
42
|
+
state,
|
|
43
|
+
forwardedRef,
|
|
44
|
+
elementRef
|
|
45
|
+
});
|
|
46
|
+
if (!type) return item;
|
|
47
|
+
return /* @__PURE__ */ jsx(MenuItemSettingProvider, {
|
|
48
|
+
type,
|
|
49
|
+
children: item
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
function MenuItemContent({ disabled, elementProps, onClick, onPointerEnter, render, className, style, state, forwardedRef, elementRef }) {
|
|
53
|
+
const setting = useOptionalMenuItemSettingContext();
|
|
54
|
+
const settingAttrs = setting ? { "data-availability": setting.availability } : void 0;
|
|
34
55
|
return renderElement("div", {
|
|
35
56
|
render,
|
|
36
57
|
className,
|
|
37
58
|
style
|
|
38
59
|
}, {
|
|
39
60
|
state,
|
|
40
|
-
stateAttrMap,
|
|
41
61
|
ref: [forwardedRef, elementRef],
|
|
42
62
|
props: [{
|
|
43
63
|
role: "menuitem",
|
|
44
64
|
"aria-disabled": disabled ? true : void 0,
|
|
45
|
-
onClick
|
|
46
|
-
onPointerEnter
|
|
65
|
+
onClick,
|
|
66
|
+
onPointerEnter,
|
|
67
|
+
...settingAttrs
|
|
47
68
|
}, elementProps]
|
|
48
69
|
});
|
|
49
|
-
}
|
|
70
|
+
}
|
|
50
71
|
//#endregion
|
|
51
72
|
export { MenuItem };
|
|
52
73
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.js","names":[],"sources":["../../../../src/ui/menu/menu-item.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { completeMenuItemSelection } from '@videojs/core/dom';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useSubMenuContext } from './context';\n\nexport interface MenuItemProps extends UIComponentProps<'div', MenuState> {\n /** Called when the item is selected. */\n onSelect?: () => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A single action in the menu. Renders a `<div>` with `role=\"menuitem\"`. */\nexport const MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(function MenuItem(\n { render, className, style, onSelect, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state
|
|
1
|
+
{"version":3,"file":"menu-item.js","names":[],"sources":["../../../../src/ui/menu/menu-item.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuState } from '@videojs/core';\nimport { completeMenuItemSelection } from '@videojs/core/dom';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useOptionalMenuItemSettingContext, useSubMenuContext } from './context';\nimport { MenuItemSettingProvider } from './menu-item-setting-provider';\nimport type { MenuItemSettingType } from './menu-item-type';\n\nexport interface MenuItemProps extends UIComponentProps<'div', MenuState> {\n /** Called when the item is selected. */\n onSelect?: () => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n /** Setting kind for submenu triggers (`playback-rate`, `quality`, `audio-track`, or `captions`). */\n type?: MenuItemSettingType | undefined;\n}\n\n/** A single action in the menu. Renders a `<div>` with `role=\"menuitem\"`. */\nexport const MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(function MenuItem(\n { render, className, style, onSelect, disabled, type, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const subMenuCtx = useSubMenuContext();\n const parentMenu = subMenuCtx?.parentMenu.menu ?? null;\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 onSelect?.();\n completeMenuItemSelection(menu, parentMenu);\n },\n [disabled, onClick, onSelect, menu, parentMenu]\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 const item = (\n <MenuItemContent\n disabled={disabled}\n elementProps={elementProps}\n onClick={handleClick}\n onPointerEnter={handlePointerEnter}\n render={render}\n className={className}\n style={style}\n state={state}\n forwardedRef={forwardedRef}\n elementRef={elementRef}\n />\n );\n\n if (!type) return item;\n\n return <MenuItemSettingProvider type={type}>{item}</MenuItemSettingProvider>;\n});\n\ninterface MenuItemContentProps {\n disabled: boolean | undefined;\n elementProps: Record<string, unknown>;\n onClick: (event: React.MouseEvent<HTMLDivElement>) => void;\n onPointerEnter: () => void;\n render: MenuItemProps['render'];\n className: MenuItemProps['className'];\n style: MenuItemProps['style'];\n state: MenuState;\n forwardedRef: React.ForwardedRef<HTMLDivElement>;\n elementRef: React.RefObject<HTMLDivElement | null>;\n}\n\nfunction MenuItemContent({\n disabled,\n elementProps,\n onClick,\n onPointerEnter,\n render,\n className,\n style,\n state,\n forwardedRef,\n elementRef,\n}: MenuItemContentProps) {\n const setting = useOptionalMenuItemSettingContext();\n const settingAttrs = setting ? { 'data-availability': setting.availability } : undefined;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitem' as const,\n 'aria-disabled': disabled ? true : undefined,\n onClick,\n onPointerEnter,\n ...settingAttrs,\n },\n elementProps,\n ],\n }\n );\n}\n\nexport namespace MenuItem {\n export type Props = MenuItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;;;AAsBA,MAAa,WAAW,WAA0C,SAAS,SACzE,EAAE,QAAQ,WAAW,OAAO,UAAU,UAAU,MAAM,SAAS,GAAG,gBAClE,cACA;CACA,MAAM,EAAE,MAAM,UAAU,eAAe;CAEvC,MAAM,aADa,kBACS,CAAC,EAAE,WAAW,QAAQ;CAClD,MAAM,aAAa,OAAuB,IAAI;CAE9C,gBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,SAAS;EACd,OAAO,KAAK,aAAa,OAAO;CAClC,GAAG,CAAC,IAAI,CAAC;CAkBT,MAAM,OACJ,oBAAC,iBAAD;EACY;EACI;EACd,SApBgB,aACjB,UAA4C;GAC3C,IAAI,UAAU;GACd,UAAU,KAAK;GACf,WAAW;GACX,0BAA0B,MAAM,UAAU;EAC5C,GACA;GAAC;GAAU;GAAS;GAAU;GAAM;EAAU,CAazB;EACnB,gBAXuB,kBAAkB;GAC3C,MAAM,UAAU,WAAW;GAC3B,IAAI,CAAC,WAAW,UAAU;GAC1B,KAAK,UAAU,SAAS,EAAE,OAAO,MAAM,CAAC;EAC1C,GAAG,CAAC,MAAM,QAAQ,CAOmB;EACzB;EACG;EACJ;EACA;EACO;EACF;CACb,CAAA;CAGH,IAAI,CAAC,MAAM,OAAO;CAElB,OAAO,oBAAC,yBAAD;EAA+B;EAAO,UAAA;CAA8B,CAAA;AAC7E,CAAC;AAeD,SAAS,gBAAgB,EACvB,UACA,cACA,SACA,gBACA,QACA,WACA,OACA,OACA,cACA,cACuB;CACvB,MAAM,UAAU,kCAAkC;CAClD,MAAM,eAAe,UAAU,EAAE,qBAAqB,QAAQ,aAAa,IAAI,KAAA;CAE/E,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,iBAAiB,WAAW,OAAO,KAAA;GACnC;GACA;GACA,GAAG;EACL,GACA,YACF;CACF,CACF;AACF"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { renderElement } from "../../utils/use-render.js";
|
|
3
3
|
import { MenuRadioGroupContextProvider, useMenuContext } from "./context.js";
|
|
4
|
+
import { MenuGroupProvider, getMenuGroupProps } from "./use-menu-group.js";
|
|
4
5
|
import { forwardRef } from "react";
|
|
5
6
|
import { jsx } from "react/jsx-runtime";
|
|
6
7
|
//#region src/ui/menu/menu-radio-group.tsx
|
|
7
8
|
/** A group of mutually exclusive radio items. Renders a `<div>` with `role="group"`. */
|
|
8
|
-
const MenuRadioGroup = forwardRef(function MenuRadioGroup({ render, className, style, value, onValueChange,
|
|
9
|
-
const { state
|
|
10
|
-
return /* @__PURE__ */ jsx(MenuRadioGroupContextProvider, {
|
|
9
|
+
const MenuRadioGroup = forwardRef(function MenuRadioGroup({ render, className, style, value, onValueChange, ...elementProps }, forwardedRef) {
|
|
10
|
+
const { state } = useMenuContext();
|
|
11
|
+
return /* @__PURE__ */ jsx(MenuGroupProvider, { children: (labelId) => /* @__PURE__ */ jsx(MenuRadioGroupContextProvider, {
|
|
11
12
|
value: {
|
|
12
13
|
value,
|
|
13
14
|
onValueChange
|
|
@@ -18,14 +19,10 @@ const MenuRadioGroup = forwardRef(function MenuRadioGroup({ render, className, s
|
|
|
18
19
|
style
|
|
19
20
|
}, {
|
|
20
21
|
state,
|
|
21
|
-
stateAttrMap,
|
|
22
22
|
ref: [forwardedRef],
|
|
23
|
-
props: [
|
|
24
|
-
role: "group",
|
|
25
|
-
"aria-label": label
|
|
26
|
-
}, elementProps]
|
|
23
|
+
props: [getMenuGroupProps(labelId, elementProps), elementProps]
|
|
27
24
|
})
|
|
28
|
-
});
|
|
25
|
+
}) });
|
|
29
26
|
});
|
|
30
27
|
//#endregion
|
|
31
28
|
export { MenuRadioGroup };
|