@videojs/html 10.0.0-rc.4 → 10.0.0-rc.5
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/define/audio/compat-skin.css +1923 -0
- package/dist/default/define/audio/compat-skin.js +6 -0
- package/dist/default/define/audio/compat-skin2.js +4 -0
- package/dist/default/define/audio/neutral-skin.css +1855 -0
- package/dist/default/define/audio/neutral-skin.js +6 -0
- package/dist/default/define/audio/neutral-skin2.js +4 -0
- package/dist/default/define/audio/{minimal-ui.js → neutral-ui.js} +1 -1
- package/dist/default/define/audio/skin.css +1220 -1411
- package/dist/default/define/audio/skin2.js +1 -1
- package/dist/default/define/background/skin.css +8 -19
- package/dist/default/define/global.css +5 -21
- package/dist/default/define/live-audio/compat-skin.css +1708 -0
- package/dist/default/define/live-audio/compat-skin.js +6 -0
- package/dist/default/define/live-audio/compat-skin2.js +4 -0
- package/dist/default/define/live-audio/neutral-skin.css +1270 -0
- package/dist/default/define/live-audio/neutral-skin.js +6 -0
- package/dist/default/define/live-audio/neutral-skin2.js +4 -0
- package/dist/default/define/live-audio/{minimal-ui.js → neutral-ui.js} +1 -1
- package/dist/default/define/live-audio/skin.css +849 -959
- package/dist/default/define/live-audio/skin2.js +1 -1
- package/dist/default/define/live-video/compat-skin.css +2251 -0
- package/dist/default/define/live-video/compat-skin.js +6 -0
- package/dist/default/define/live-video/compat-skin2.js +4 -0
- package/dist/default/define/live-video/neutral-skin.css +2101 -0
- package/dist/default/define/live-video/neutral-skin.js +6 -0
- package/dist/default/define/live-video/neutral-skin2.js +4 -0
- package/dist/default/define/live-video/{minimal-ui.js → neutral-ui.js} +1 -1
- package/dist/default/define/live-video/skin.css +1565 -1784
- package/dist/default/define/live-video/skin2.js +1 -1
- package/dist/default/define/media/dash-video.js +5 -1
- package/dist/default/define/media/shaka-video.js +1 -0
- package/dist/default/define/shadow.css +2 -12
- package/dist/default/define/video/compat-skin.css +2529 -0
- package/dist/default/define/video/compat-skin.js +6 -0
- package/dist/default/define/video/compat-skin2.js +4 -0
- package/dist/default/define/video/neutral-skin.css +2849 -0
- package/dist/default/define/video/neutral-skin.js +6 -0
- package/dist/default/define/video/neutral-skin2.js +4 -0
- package/dist/default/define/video/{minimal-ui.js → neutral-ui.js} +1 -1
- package/dist/default/define/video/skin.css +2046 -2454
- package/dist/default/define/video/skin2.js +1 -1
- package/dist/default/extensions/google-cast/extension.js +18 -17
- package/dist/default/extensions/mux-data/extension.js +24 -24
- package/dist/default/extensions/player-extension-element.js +49 -0
- package/dist/default/i18n/index.js +2 -2
- package/dist/default/i18n/locale.js +10 -2
- package/dist/default/i18n/provider-element.js +1 -0
- package/dist/default/i18n/provider-mixin.js +11 -9
- package/dist/default/i18n/render-text.js +5 -1
- package/dist/default/i18n/text/airplay.js +1 -0
- package/dist/default/i18n/text/buttons.js +1 -0
- package/dist/default/i18n/text/captions.js +1 -0
- package/dist/default/i18n/text/cast.js +1 -0
- package/dist/default/i18n/text/common.js +1 -0
- package/dist/default/i18n/text/container.js +1 -0
- package/dist/default/i18n/text/errors.js +1 -0
- package/dist/default/i18n/text/fullscreen.js +1 -0
- package/dist/default/i18n/text/live.js +1 -0
- package/dist/default/i18n/text/menu.js +1 -0
- package/dist/default/i18n/text/pip.js +1 -0
- package/dist/default/i18n/text/playback.js +1 -0
- package/dist/default/i18n/text/seek.js +1 -0
- package/dist/default/i18n/text/slider.js +1 -0
- package/dist/default/i18n/text/status.js +1 -0
- package/dist/default/i18n/text/time.js +1 -0
- package/dist/default/i18n/text/volume.js +1 -0
- package/dist/default/icons/compat/index.js +26 -0
- package/dist/default/icons/dist/element/compat/icons.js +30 -0
- package/dist/default/icons/dist/element/{minimal → compat}/index.js +2 -2
- package/dist/default/icons/dist/element/index.js +2 -1
- package/dist/default/icons/dist/element/{minimal → neutral}/icons.js +1 -1
- package/dist/default/icons/dist/element/neutral/index.js +8 -0
- package/dist/default/icons/dist/html/compat/airplay-enter.js +4 -0
- package/dist/default/icons/dist/html/compat/airplay-exit.js +4 -0
- package/dist/default/icons/dist/html/compat/captions-off.js +4 -0
- package/dist/default/icons/dist/html/compat/captions-on.js +4 -0
- package/dist/default/icons/dist/html/compat/cast-enter.js +4 -0
- package/dist/default/icons/dist/html/compat/cast-exit.js +4 -0
- package/dist/default/icons/dist/html/compat/check.js +4 -0
- package/dist/default/icons/dist/html/compat/chevron.js +4 -0
- package/dist/default/icons/dist/html/compat/fullscreen-enter.js +4 -0
- package/dist/default/icons/dist/html/compat/fullscreen-exit.js +4 -0
- package/dist/default/icons/dist/html/compat/gear.js +4 -0
- package/dist/default/icons/dist/html/compat/pause.js +4 -0
- package/dist/default/icons/dist/html/compat/pip-enter.js +4 -0
- package/dist/default/icons/dist/html/compat/pip-exit.js +4 -0
- package/dist/default/icons/dist/html/compat/play.js +4 -0
- package/dist/default/icons/dist/html/compat/quality.js +4 -0
- package/dist/default/icons/dist/html/compat/restart.js +4 -0
- package/dist/default/icons/dist/html/compat/seek.js +4 -0
- package/dist/default/icons/dist/html/compat/speech.js +4 -0
- package/dist/default/icons/dist/html/compat/speed.js +4 -0
- package/dist/default/icons/dist/html/{minimal → compat}/spinner.js +1 -1
- package/dist/default/icons/dist/html/compat/switches.js +4 -0
- package/dist/default/icons/dist/html/compat/volume-high.js +4 -0
- package/dist/default/icons/dist/html/compat/volume-low.js +4 -0
- package/dist/default/icons/dist/html/compat/volume-off.js +4 -0
- package/dist/default/icons/dist/html/{minimal → neutral}/airplay-enter.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/airplay-exit.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/captions-off.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/captions-on.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/cast-enter.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/cast-exit.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/check.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/chevron.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/fullscreen-enter.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/fullscreen-exit.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/gear.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/pause.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/pip-enter.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/pip-exit.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/play.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/quality.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/restart.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/seek.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/speech.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/speed.js +1 -1
- package/dist/default/icons/dist/html/neutral/spinner.js +4 -0
- package/dist/default/icons/dist/html/{minimal → neutral}/switches.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/volume-high.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/volume-low.js +1 -1
- package/dist/default/icons/dist/html/{minimal → neutral}/volume-off.js +1 -1
- package/dist/default/icons/element/compat/index.js +1 -0
- package/dist/default/icons/element/neutral/index.js +1 -0
- package/dist/default/icons/neutral/index.js +26 -0
- package/dist/default/index.js +4 -3
- package/dist/default/internal/skins/compat-audio/register.js +70 -0
- package/dist/default/internal/skins/compat-audio/skin.css +1891 -0
- package/dist/default/internal/skins/compat-audio/template.js +215 -0
- package/dist/default/internal/skins/compat-live-audio/register.js +50 -0
- package/dist/default/internal/skins/compat-live-audio/skin.css +1676 -0
- package/dist/default/internal/skins/compat-live-audio/template.js +112 -0
- package/dist/default/internal/skins/compat-live-video/register.js +86 -0
- package/dist/default/internal/skins/compat-live-video/skin.css +2219 -0
- package/dist/default/internal/skins/compat-live-video/template.js +237 -0
- package/dist/default/internal/skins/compat-video/register.js +115 -0
- package/dist/default/internal/skins/compat-video/skin.css +2497 -0
- package/dist/default/internal/skins/compat-video/template.js +457 -0
- package/dist/default/internal/skins/default-audio/register.js +8 -8
- package/dist/default/internal/skins/default-audio/skin.css +1213 -1365
- package/dist/default/internal/skins/default-live-audio/register.js +4 -4
- package/dist/default/internal/skins/default-live-audio/skin.css +842 -913
- package/dist/default/internal/skins/default-live-video/register.js +8 -8
- package/dist/default/internal/skins/default-live-video/skin.css +1548 -1728
- package/dist/default/internal/skins/default-video/register.js +13 -13
- package/dist/default/internal/skins/default-video/skin.css +2034 -2403
- package/dist/default/internal/skins/{minimal-audio → neutral-audio}/register.js +20 -20
- package/dist/default/internal/skins/neutral-audio/skin.css +1823 -0
- package/dist/default/internal/skins/{minimal-audio → neutral-audio}/template.js +24 -24
- package/dist/default/internal/skins/{minimal-live-audio → neutral-live-audio}/register.js +13 -13
- package/dist/default/internal/skins/neutral-live-audio/skin.css +1238 -0
- package/dist/default/internal/skins/{minimal-live-audio → neutral-live-audio}/template.js +14 -14
- package/dist/default/internal/skins/{minimal-live-video → neutral-live-video}/register.js +28 -28
- package/dist/default/internal/skins/neutral-live-video/skin.css +2069 -0
- package/dist/default/internal/skins/{minimal-live-video → neutral-live-video}/template.js +47 -47
- package/dist/default/internal/skins/{minimal-video → neutral-video}/register.js +40 -40
- package/dist/default/internal/skins/neutral-video/skin.css +2817 -0
- package/dist/default/internal/skins/{minimal-video → neutral-video}/template.js +75 -75
- package/dist/default/player/context.js +9 -1
- package/dist/default/player/create-player.js +2 -1
- package/dist/default/player/element.js +47 -10
- package/dist/default/presets/audio/compat-skin.js +19 -0
- package/dist/default/presets/audio/index.js +3 -2
- package/dist/default/presets/audio/neutral-skin.js +19 -0
- package/dist/default/presets/live-audio/compat-skin.js +19 -0
- package/dist/default/presets/live-audio/index.js +3 -2
- package/dist/default/presets/live-audio/neutral-skin.js +19 -0
- package/dist/default/presets/live-video/compat-skin.js +19 -0
- package/dist/default/presets/live-video/index.js +3 -2
- package/dist/default/presets/live-video/neutral-skin.js +19 -0
- package/dist/default/presets/video/compat-skin.js +19 -0
- package/dist/default/presets/video/index.js +3 -2
- package/dist/default/presets/video/neutral-skin.js +19 -0
- package/dist/default/store/media-attach-mixin.js +2 -0
- package/dist/default/ui/airplay-button/element.js +1 -1
- package/dist/default/ui/buffering-indicator/element.js +4 -0
- package/dist/default/ui/dialog/context.js +1 -0
- package/dist/default/ui/dialog/element.js +4 -2
- package/dist/default/ui/media-button-element.js +7 -6
- package/dist/default/ui/media-ui-element.js +6 -1
- package/dist/default/ui/menu/context.js +2 -0
- package/dist/default/ui/play-button/element.js +1 -1
- package/dist/default/ui/playback-rate-button/element.js +4 -2
- package/dist/default/ui/popover/element.js +4 -2
- package/dist/default/ui/radio-group/context.js +1 -0
- package/dist/default/ui/seek-indicator/element.js +7 -1
- package/dist/default/ui/slider/context.js +1 -0
- package/dist/default/ui/status-indicator/element.js +14 -1
- package/dist/default/ui/text/element.js +1 -0
- package/dist/default/ui/thumbnail/element.js +3 -2
- package/dist/default/ui/tooltip/context.js +1 -0
- package/dist/default/ui/tooltip/element.js +4 -2
- package/dist/default/ui/volume-popover/element.js +1 -1
- package/dist/default/ui/volume-slider/element.js +1 -1
- package/dist/default/version.js +27 -0
- package/dist/dev/define/audio/compat-skin.css +1923 -0
- package/dist/dev/define/audio/compat-skin.d.ts +1 -0
- package/dist/dev/define/audio/compat-skin.js +8 -0
- package/dist/dev/define/audio/compat-skin.js.map +1 -0
- package/dist/dev/define/audio/compat-skin2.js +6 -0
- package/dist/dev/define/audio/compat-skin2.js.map +1 -0
- package/dist/dev/define/audio/neutral-skin.css +1855 -0
- package/dist/dev/define/audio/neutral-skin.d.ts +1 -0
- package/dist/dev/define/audio/neutral-skin.js +8 -0
- package/dist/dev/define/audio/neutral-skin.js.map +1 -0
- package/dist/dev/define/audio/neutral-skin2.js +6 -0
- package/dist/dev/define/audio/neutral-skin2.js.map +1 -0
- package/dist/dev/define/audio/{minimal-ui.js → neutral-ui.js} +2 -2
- package/dist/dev/define/audio/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
- package/dist/dev/define/audio/skin.css +1220 -1411
- package/dist/dev/define/audio/skin2.js +1 -1
- package/dist/dev/define/audio/skin2.js.map +1 -1
- package/dist/dev/define/background/skin.css +8 -19
- package/dist/dev/define/global.css +5 -21
- package/dist/dev/define/live-audio/compat-skin.css +1708 -0
- package/dist/dev/define/live-audio/compat-skin.d.ts +1 -0
- package/dist/dev/define/live-audio/compat-skin.js +8 -0
- package/dist/dev/define/live-audio/compat-skin.js.map +1 -0
- package/dist/dev/define/live-audio/compat-skin2.js +6 -0
- package/dist/dev/define/live-audio/compat-skin2.js.map +1 -0
- package/dist/dev/define/live-audio/neutral-skin.css +1270 -0
- package/dist/dev/define/live-audio/neutral-skin.d.ts +1 -0
- package/dist/dev/define/live-audio/neutral-skin.js +8 -0
- package/dist/dev/define/live-audio/neutral-skin.js.map +1 -0
- package/dist/dev/define/live-audio/neutral-skin2.js +6 -0
- package/dist/dev/define/live-audio/neutral-skin2.js.map +1 -0
- package/dist/dev/define/live-audio/{minimal-ui.js → neutral-ui.js} +2 -2
- package/dist/dev/define/live-audio/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
- package/dist/dev/define/live-audio/skin.css +849 -959
- package/dist/dev/define/live-audio/skin2.js +1 -1
- package/dist/dev/define/live-audio/skin2.js.map +1 -1
- package/dist/dev/define/live-video/compat-skin.css +2251 -0
- package/dist/dev/define/live-video/compat-skin.d.ts +1 -0
- package/dist/dev/define/live-video/compat-skin.js +8 -0
- package/dist/dev/define/live-video/compat-skin.js.map +1 -0
- package/dist/dev/define/live-video/compat-skin2.js +6 -0
- package/dist/dev/define/live-video/compat-skin2.js.map +1 -0
- package/dist/dev/define/live-video/neutral-skin.css +2101 -0
- package/dist/dev/define/live-video/neutral-skin.d.ts +1 -0
- package/dist/dev/define/live-video/neutral-skin.js +8 -0
- package/dist/dev/define/live-video/neutral-skin.js.map +1 -0
- package/dist/dev/define/live-video/neutral-skin2.js +6 -0
- package/dist/dev/define/live-video/neutral-skin2.js.map +1 -0
- package/dist/dev/define/live-video/{minimal-ui.js → neutral-ui.js} +2 -2
- package/dist/dev/define/live-video/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
- package/dist/dev/define/live-video/skin.css +1565 -1784
- package/dist/dev/define/live-video/skin2.js +1 -1
- package/dist/dev/define/live-video/skin2.js.map +1 -1
- package/dist/dev/define/media/background-video.d.ts +1 -2
- package/dist/dev/define/media/cloudflare-video.d.ts +3 -2
- package/dist/dev/define/media/cloudflare-video.js.map +1 -1
- package/dist/dev/define/media/dash-video.d.ts +8 -3
- package/dist/dev/define/media/dash-video.js +5 -1
- package/dist/dev/define/media/dash-video.js.map +1 -1
- package/dist/dev/define/media/hls-audio.d.ts +1 -2
- package/dist/dev/define/media/hls-background-video.d.ts +1 -2
- package/dist/dev/define/media/hls-video.d.ts +1 -2
- package/dist/dev/define/media/hlsjs-video.d.ts +3 -2
- package/dist/dev/define/media/hlsjs-video.js.map +1 -1
- package/dist/dev/define/media/mux-audio/hls-js.d.ts +3 -2
- package/dist/dev/define/media/mux-audio/hls-js.js.map +1 -1
- package/dist/dev/define/media/mux-audio/index.d.ts +2 -2
- package/dist/dev/define/media/mux-audio/spf.d.ts +3 -2
- package/dist/dev/define/media/mux-audio/spf.js.map +1 -1
- package/dist/dev/define/media/mux-background-video.d.ts +1 -2
- package/dist/dev/define/media/mux-video/hls-js.d.ts +3 -2
- package/dist/dev/define/media/mux-video/hls-js.js.map +1 -1
- package/dist/dev/define/media/mux-video/index.d.ts +2 -2
- package/dist/dev/define/media/mux-video/spf.d.ts +3 -2
- package/dist/dev/define/media/mux-video/spf.js.map +1 -1
- package/dist/dev/define/media/native-hls-video.d.ts +3 -2
- package/dist/dev/define/media/native-hls-video.js.map +1 -1
- package/dist/dev/define/media/shaka-video.d.ts +4 -2
- package/dist/dev/define/media/shaka-video.js +1 -0
- package/dist/dev/define/media/shaka-video.js.map +1 -1
- package/dist/dev/define/media/spotify-audio.d.ts +3 -2
- package/dist/dev/define/media/spotify-audio.js.map +1 -1
- package/dist/dev/define/media/tiktok-video.d.ts +3 -2
- package/dist/dev/define/media/tiktok-video.js.map +1 -1
- package/dist/dev/define/media/twitch-video.d.ts +3 -2
- package/dist/dev/define/media/twitch-video.js.map +1 -1
- package/dist/dev/define/media/vimeo-video.d.ts +3 -2
- package/dist/dev/define/media/vimeo-video.js.map +1 -1
- package/dist/dev/define/media/wistia-video.d.ts +3 -2
- package/dist/dev/define/media/wistia-video.js.map +1 -1
- package/dist/dev/define/media/youtube-video.d.ts +3 -2
- package/dist/dev/define/media/youtube-video.js.map +1 -1
- package/dist/dev/define/shadow.css +2 -12
- package/dist/dev/define/ui/menu-radio-group.d.ts +1 -0
- package/dist/dev/define/ui/menu.d.ts +1 -0
- package/dist/dev/define/ui/popover.d.ts +1 -0
- package/dist/dev/define/video/compat-skin.css +2529 -0
- package/dist/dev/define/video/compat-skin.d.ts +1 -0
- package/dist/dev/define/video/compat-skin.js +8 -0
- package/dist/dev/define/video/compat-skin.js.map +1 -0
- package/dist/dev/define/video/compat-skin2.js +6 -0
- package/dist/dev/define/video/compat-skin2.js.map +1 -0
- package/dist/dev/define/video/neutral-skin.css +2849 -0
- package/dist/dev/define/video/neutral-skin.d.ts +1 -0
- package/dist/dev/define/video/neutral-skin.js +8 -0
- package/dist/dev/define/video/neutral-skin.js.map +1 -0
- package/dist/dev/define/video/neutral-skin2.js +6 -0
- package/dist/dev/define/video/neutral-skin2.js.map +1 -0
- package/dist/dev/define/video/{minimal-ui.js → neutral-ui.js} +2 -2
- package/dist/dev/define/video/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
- package/dist/dev/define/video/skin.css +2046 -2454
- package/dist/dev/define/video/skin2.js +1 -1
- package/dist/dev/define/video/skin2.js.map +1 -1
- package/dist/dev/extensions/google-cast/extension.d.ts +8 -7
- package/dist/dev/extensions/google-cast/extension.js +18 -17
- package/dist/dev/extensions/google-cast/extension.js.map +1 -1
- package/dist/dev/extensions/mux-data/extension.d.ts +6 -6
- package/dist/dev/extensions/mux-data/extension.js +24 -24
- package/dist/dev/extensions/mux-data/extension.js.map +1 -1
- package/dist/dev/extensions/player-extension-element.d.ts +30 -0
- package/dist/dev/extensions/player-extension-element.js +51 -0
- package/dist/dev/extensions/player-extension-element.js.map +1 -0
- package/dist/dev/i18n/context.d.ts +4 -5
- package/dist/dev/i18n/controller.d.ts +3 -4
- package/dist/dev/i18n/controller.js.map +1 -1
- package/dist/dev/i18n/create-i18n.d.ts +3 -4
- package/dist/dev/i18n/index.d.ts +2 -2
- package/dist/dev/i18n/index.js +2 -2
- package/dist/dev/i18n/locale.d.ts +12 -5
- package/dist/dev/i18n/locale.js +10 -2
- package/dist/dev/i18n/locale.js.map +1 -1
- package/dist/dev/i18n/provider-element.d.ts +4 -3
- package/dist/dev/i18n/provider-element.js +1 -0
- package/dist/dev/i18n/provider-element.js.map +1 -1
- package/dist/dev/i18n/provider-mixin.d.ts +1 -2
- package/dist/dev/i18n/provider-mixin.js +11 -9
- package/dist/dev/i18n/provider-mixin.js.map +1 -1
- package/dist/dev/i18n/render-text.d.ts +6 -3
- package/dist/dev/i18n/render-text.js +5 -1
- package/dist/dev/i18n/render-text.js.map +1 -1
- package/dist/dev/i18n/text/airplay.d.ts +1 -0
- package/dist/dev/i18n/text/airplay.js +1 -0
- package/dist/dev/i18n/text/buttons.d.ts +1 -0
- package/dist/dev/i18n/text/buttons.js +1 -0
- package/dist/dev/i18n/text/captions.d.ts +1 -0
- package/dist/dev/i18n/text/captions.js +1 -0
- package/dist/dev/i18n/text/cast.d.ts +1 -0
- package/dist/dev/i18n/text/cast.js +1 -0
- package/dist/dev/i18n/text/common.d.ts +1 -0
- package/dist/dev/i18n/text/common.js +1 -0
- package/dist/dev/i18n/text/container.d.ts +1 -0
- package/dist/dev/i18n/text/container.js +1 -0
- package/dist/dev/i18n/text/errors.d.ts +1 -0
- package/dist/dev/i18n/text/errors.js +1 -0
- package/dist/dev/i18n/text/fullscreen.d.ts +1 -0
- package/dist/dev/i18n/text/fullscreen.js +1 -0
- package/dist/dev/i18n/text/live.d.ts +1 -0
- package/dist/dev/i18n/text/live.js +1 -0
- package/dist/dev/i18n/text/menu.d.ts +1 -0
- package/dist/dev/i18n/text/menu.js +1 -0
- package/dist/dev/i18n/text/pip.d.ts +1 -0
- package/dist/dev/i18n/text/pip.js +1 -0
- package/dist/dev/i18n/text/playback.d.ts +1 -0
- package/dist/dev/i18n/text/playback.js +1 -0
- package/dist/dev/i18n/text/seek.d.ts +1 -0
- package/dist/dev/i18n/text/seek.js +1 -0
- package/dist/dev/i18n/text/slider.d.ts +1 -0
- package/dist/dev/i18n/text/slider.js +1 -0
- package/dist/dev/i18n/text/status.d.ts +1 -0
- package/dist/dev/i18n/text/status.js +1 -0
- package/dist/dev/i18n/text/time.d.ts +1 -0
- package/dist/dev/i18n/text/time.js +1 -0
- package/dist/dev/i18n/text/volume.d.ts +1 -0
- package/dist/dev/i18n/text/volume.js +1 -0
- package/dist/dev/i18n/text-mixin.d.ts +1 -2
- package/dist/dev/i18n/text-mixin.js.map +1 -1
- package/dist/dev/i18n/types.d.ts +2 -3
- package/dist/dev/icons/{minimal → compat}/index.d.ts +1 -1
- package/dist/dev/icons/compat/index.js +26 -0
- package/dist/dev/icons/dist/element/base.d.ts +1 -2
- package/dist/dev/icons/dist/element/base.js.map +1 -1
- package/dist/dev/icons/dist/element/compat/icons.js +32 -0
- package/dist/dev/icons/dist/element/compat/icons.js.map +1 -0
- package/dist/dev/icons/dist/element/{minimal → compat}/index.js +2 -2
- package/dist/dev/icons/dist/element/compat/index.js.map +1 -0
- package/dist/dev/icons/dist/element/index.js +2 -1
- package/dist/dev/icons/dist/element/index.js.map +1 -1
- package/dist/dev/icons/dist/element/{minimal → neutral}/icons.js +1 -1
- package/dist/dev/icons/dist/element/{minimal → neutral}/icons.js.map +1 -1
- package/dist/dev/icons/dist/element/neutral/index.d.ts +1 -0
- package/dist/dev/icons/dist/element/neutral/index.js +10 -0
- package/dist/dev/icons/dist/element/{minimal → neutral}/index.js.map +1 -1
- package/dist/dev/icons/dist/html/compat/airplay-enter.js +6 -0
- package/dist/dev/icons/dist/html/compat/airplay-enter.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/airplay-exit.js +6 -0
- package/dist/dev/icons/dist/html/compat/airplay-exit.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/captions-off.js +6 -0
- package/dist/dev/icons/dist/html/compat/captions-off.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/captions-on.js +6 -0
- package/dist/dev/icons/dist/html/compat/captions-on.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/cast-enter.js +6 -0
- package/dist/dev/icons/dist/html/compat/cast-enter.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/cast-exit.js +6 -0
- package/dist/dev/icons/dist/html/compat/cast-exit.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/check.js +6 -0
- package/dist/dev/icons/dist/html/compat/check.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/chevron.js +6 -0
- package/dist/dev/icons/dist/html/compat/chevron.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/fullscreen-enter.js +6 -0
- package/dist/dev/icons/dist/html/compat/fullscreen-enter.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/fullscreen-exit.js +6 -0
- package/dist/dev/icons/dist/html/compat/fullscreen-exit.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/gear.js +6 -0
- package/dist/dev/icons/dist/html/compat/gear.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/index.d.ts +28 -0
- package/dist/dev/icons/dist/html/compat/pause.js +6 -0
- package/dist/dev/icons/dist/html/compat/pause.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/pip-enter.js +6 -0
- package/dist/dev/icons/dist/html/compat/pip-enter.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/pip-exit.js +6 -0
- package/dist/dev/icons/dist/html/compat/pip-exit.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/play.js +6 -0
- package/dist/dev/icons/dist/html/compat/play.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/quality.js +6 -0
- package/dist/dev/icons/dist/html/compat/quality.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/restart.js +6 -0
- package/dist/dev/icons/dist/html/compat/restart.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/seek.js +6 -0
- package/dist/dev/icons/dist/html/compat/seek.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/speech.js +6 -0
- package/dist/dev/icons/dist/html/compat/speech.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/speed.js +6 -0
- package/dist/dev/icons/dist/html/compat/speed.js.map +1 -0
- package/dist/dev/icons/dist/html/{minimal → compat}/spinner.js +1 -1
- package/dist/dev/icons/dist/html/compat/spinner.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/switches.js +6 -0
- package/dist/dev/icons/dist/html/compat/switches.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/volume-high.js +6 -0
- package/dist/dev/icons/dist/html/compat/volume-high.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/volume-low.js +6 -0
- package/dist/dev/icons/dist/html/compat/volume-low.js.map +1 -0
- package/dist/dev/icons/dist/html/compat/volume-off.js +6 -0
- package/dist/dev/icons/dist/html/compat/volume-off.js.map +1 -0
- package/dist/dev/icons/dist/html/default/index.d.ts +25 -26
- package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-enter.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-enter.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-exit.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/captions-off.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/captions-off.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/captions-on.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/captions-on.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/cast-enter.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/cast-enter.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/cast-exit.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/cast-exit.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/check.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/check.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/chevron.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/chevron.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-enter.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-enter.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-exit.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-exit.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/gear.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/gear.js.map +1 -1
- package/dist/dev/icons/dist/html/neutral/index.d.ts +28 -0
- package/dist/dev/icons/dist/html/{minimal → neutral}/pause.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/pause.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/pip-enter.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/pip-enter.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/pip-exit.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/pip-exit.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/play.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/play.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/quality.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/quality.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/restart.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/restart.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/seek.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/seek.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/speech.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/speech.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/speed.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/speed.js.map +1 -1
- package/dist/dev/icons/dist/html/neutral/spinner.js +6 -0
- package/dist/dev/icons/dist/html/{minimal → neutral}/spinner.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/switches.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/switches.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/volume-high.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/volume-high.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/volume-low.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/volume-low.js.map +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/volume-off.js +1 -1
- package/dist/dev/icons/dist/html/{minimal → neutral}/volume-off.js.map +1 -1
- package/dist/dev/icons/element/compat/index.d.ts +1 -0
- package/dist/dev/icons/element/compat/index.js +1 -0
- package/dist/dev/icons/element/neutral/index.d.ts +1 -0
- package/dist/dev/icons/element/neutral/index.js +1 -0
- package/dist/dev/icons/element/register/index.d.ts +1 -2
- package/dist/dev/icons/neutral/index.d.ts +2 -0
- package/dist/dev/icons/neutral/index.js +26 -0
- package/dist/dev/index.d.ts +12 -7
- package/dist/dev/index.js +4 -3
- package/dist/dev/internal/skins/compat-audio/register.d.ts +43 -0
- package/dist/dev/internal/skins/compat-audio/register.js +72 -0
- package/dist/dev/internal/skins/compat-audio/register.js.map +1 -0
- package/dist/dev/internal/skins/compat-audio/skin.css +1891 -0
- package/dist/dev/internal/skins/compat-audio/template.js +217 -0
- package/dist/dev/internal/skins/compat-audio/template.js.map +1 -0
- package/dist/dev/internal/skins/compat-live-audio/register.d.ts +27 -0
- package/dist/dev/internal/skins/compat-live-audio/register.js +52 -0
- package/dist/dev/internal/skins/compat-live-audio/register.js.map +1 -0
- package/dist/dev/internal/skins/compat-live-audio/skin.css +1676 -0
- package/dist/dev/internal/skins/compat-live-audio/template.js +114 -0
- package/dist/dev/internal/skins/compat-live-audio/template.js.map +1 -0
- package/dist/dev/internal/skins/compat-live-video/register.d.ts +45 -0
- package/dist/dev/internal/skins/compat-live-video/register.js +88 -0
- package/dist/dev/internal/skins/compat-live-video/register.js.map +1 -0
- package/dist/dev/internal/skins/compat-live-video/skin.css +2219 -0
- package/dist/dev/internal/skins/compat-live-video/template.js +239 -0
- package/dist/dev/internal/skins/compat-live-video/template.js.map +1 -0
- package/dist/dev/internal/skins/compat-video/register.d.ts +62 -0
- package/dist/dev/internal/skins/compat-video/register.js +117 -0
- package/dist/dev/internal/skins/compat-video/register.js.map +1 -0
- package/dist/dev/internal/skins/compat-video/skin.css +2497 -0
- package/dist/dev/internal/skins/compat-video/template.js +459 -0
- package/dist/dev/internal/skins/compat-video/template.js.map +1 -0
- package/dist/dev/internal/skins/default-audio/register.d.ts +12 -12
- package/dist/dev/internal/skins/default-audio/register.js +8 -8
- package/dist/dev/internal/skins/default-audio/skin.css +1213 -1365
- package/dist/dev/internal/skins/default-live-audio/register.d.ts +4 -4
- package/dist/dev/internal/skins/default-live-audio/register.js +4 -4
- package/dist/dev/internal/skins/default-live-audio/skin.css +842 -913
- package/dist/dev/internal/skins/default-live-video/register.d.ts +10 -10
- package/dist/dev/internal/skins/default-live-video/register.js +8 -8
- package/dist/dev/internal/skins/default-live-video/skin.css +1548 -1728
- package/dist/dev/internal/skins/default-video/register.d.ts +18 -18
- package/dist/dev/internal/skins/default-video/register.js +13 -13
- package/dist/dev/internal/skins/default-video/skin.css +2034 -2403
- package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/register.d.ts +14 -14
- package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/register.js +20 -20
- package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/register.js.map +1 -1
- package/dist/dev/internal/skins/neutral-audio/skin.css +1823 -0
- package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/template.js +24 -24
- package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/template.js.map +1 -1
- package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/register.d.ts +4 -4
- package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/register.js +13 -13
- package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/register.js.map +1 -1
- package/dist/dev/internal/skins/neutral-live-audio/skin.css +1238 -0
- package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/template.js +14 -14
- package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/template.js.map +1 -1
- package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/register.d.ts +10 -10
- package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/register.js +28 -28
- package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/register.js.map +1 -1
- package/dist/dev/internal/skins/neutral-live-video/skin.css +2069 -0
- package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/template.js +47 -47
- package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/template.js.map +1 -1
- package/dist/dev/internal/skins/{minimal-video → neutral-video}/register.d.ts +20 -20
- package/dist/dev/internal/skins/{minimal-video → neutral-video}/register.js +40 -40
- package/dist/dev/internal/skins/{minimal-video → neutral-video}/register.js.map +1 -1
- package/dist/dev/internal/skins/neutral-video/skin.css +2817 -0
- package/dist/dev/internal/skins/{minimal-video → neutral-video}/template.js +75 -75
- package/dist/dev/internal/skins/{minimal-video → neutral-video}/template.js.map +1 -1
- package/dist/dev/media/background-video/adapter.d.ts +1 -2
- package/dist/dev/media/background-video/template.d.ts +1 -2
- package/dist/dev/media/cloudflare-video/adapter.d.ts +3 -15
- package/dist/dev/media/dash-video/adapter.d.ts +3 -15
- package/dist/dev/media/hls-audio/adapter.d.ts +3 -15
- package/dist/dev/media/hls-background-video/adapter.d.ts +8 -5
- package/dist/dev/media/hls-background-video/adapter.js.map +1 -1
- package/dist/dev/media/hls-video/adapter.d.ts +3 -15
- package/dist/dev/media/hlsjs-video/adapter.d.ts +3 -15
- package/dist/dev/media/mux-audio/hls-js.d.ts +3 -15
- package/dist/dev/media/mux-audio/mixin.js.map +1 -1
- package/dist/dev/media/mux-audio/spf.d.ts +3 -15
- package/dist/dev/media/mux-video/hls-js.d.ts +3 -15
- package/dist/dev/media/mux-video/mixin.js.map +1 -1
- package/dist/dev/media/mux-video/spf.d.ts +3 -15
- package/dist/dev/media/native-hls-video/adapter.d.ts +3 -15
- package/dist/dev/media/shaka-video/adapter.d.ts +3 -15
- package/dist/dev/media/spotify-audio/adapter.d.ts +3 -15
- package/dist/dev/media/tiktok-video/adapter.d.ts +3 -15
- package/dist/dev/media/twitch-video/adapter.d.ts +3 -15
- package/dist/dev/media/vimeo-video/adapter.d.ts +3 -15
- package/dist/dev/media/wistia-video/adapter.d.ts +1 -2
- package/dist/dev/media/youtube-video/adapter.d.ts +3 -15
- package/dist/dev/player/context.d.ts +34 -15
- package/dist/dev/player/context.js +9 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/controller.d.ts +3 -4
- package/dist/dev/player/controller.js.map +1 -1
- package/dist/dev/player/create-player.d.ts +5 -6
- package/dist/dev/player/create-player.js +2 -1
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/player/element.js +47 -10
- package/dist/dev/player/element.js.map +1 -1
- package/dist/dev/presets/audio/compat-skin.d.ts +15 -0
- package/dist/dev/presets/audio/compat-skin.js +21 -0
- package/dist/dev/presets/audio/compat-skin.js.map +1 -0
- package/dist/dev/presets/audio/index.d.ts +3 -2
- package/dist/dev/presets/audio/index.js +3 -2
- package/dist/dev/presets/audio/neutral-skin.d.ts +15 -0
- package/dist/dev/presets/audio/neutral-skin.js +21 -0
- package/dist/dev/presets/audio/neutral-skin.js.map +1 -0
- package/dist/dev/presets/audio/player.d.ts +2 -3
- package/dist/dev/presets/audio/skin.d.ts +2 -3
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/background/player.d.ts +2 -3
- package/dist/dev/presets/background/skin.d.ts +1 -2
- package/dist/dev/presets/live-audio/compat-skin.d.ts +15 -0
- package/dist/dev/presets/live-audio/compat-skin.js +21 -0
- package/dist/dev/presets/live-audio/compat-skin.js.map +1 -0
- package/dist/dev/presets/live-audio/index.d.ts +3 -2
- package/dist/dev/presets/live-audio/index.js +3 -2
- package/dist/dev/presets/live-audio/neutral-skin.d.ts +15 -0
- package/dist/dev/presets/live-audio/neutral-skin.js +21 -0
- package/dist/dev/presets/live-audio/neutral-skin.js.map +1 -0
- package/dist/dev/presets/live-audio/player.d.ts +2 -3
- package/dist/dev/presets/live-audio/skin.d.ts +2 -3
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-video/compat-skin.d.ts +15 -0
- package/dist/dev/presets/live-video/compat-skin.js +21 -0
- package/dist/dev/presets/live-video/compat-skin.js.map +1 -0
- package/dist/dev/presets/live-video/index.d.ts +3 -2
- package/dist/dev/presets/live-video/index.js +3 -2
- package/dist/dev/presets/live-video/neutral-skin.d.ts +15 -0
- package/dist/dev/presets/live-video/neutral-skin.js +21 -0
- package/dist/dev/presets/live-video/neutral-skin.js.map +1 -0
- package/dist/dev/presets/live-video/player.d.ts +2 -3
- package/dist/dev/presets/live-video/skin.d.ts +2 -3
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/skin.d.ts +1 -2
- package/dist/dev/presets/video/compat-skin.d.ts +15 -0
- package/dist/dev/presets/video/compat-skin.js +21 -0
- package/dist/dev/presets/video/compat-skin.js.map +1 -0
- package/dist/dev/presets/video/index.d.ts +3 -2
- package/dist/dev/presets/video/index.js +3 -2
- package/dist/dev/presets/video/neutral-skin.d.ts +15 -0
- package/dist/dev/presets/video/neutral-skin.js +21 -0
- package/dist/dev/presets/video/neutral-skin.js.map +1 -0
- package/dist/dev/presets/video/player.d.ts +2 -3
- package/dist/dev/presets/video/skin.d.ts +2 -3
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/store/media-attach-mixin.d.ts +6 -4
- package/dist/dev/store/media-attach-mixin.js +2 -0
- package/dist/dev/store/media-attach-mixin.js.map +1 -1
- package/dist/dev/store/types.d.ts +2 -4
- package/dist/dev/ui/airplay-button/element.d.ts +4 -5
- package/dist/dev/ui/airplay-button/element.js +1 -1
- package/dist/dev/ui/airplay-button/element.js.map +1 -1
- package/dist/dev/ui/alert-dialog/element.d.ts +1 -2
- package/dist/dev/ui/audio-track-radio-group/element.d.ts +4 -5
- package/dist/dev/ui/audio-track-radio-group/element.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/element.d.ts +2 -2
- package/dist/dev/ui/buffering-indicator/element.js +4 -0
- package/dist/dev/ui/buffering-indicator/element.js.map +1 -1
- package/dist/dev/ui/captions-button/element.d.ts +7 -10
- package/dist/dev/ui/captions-button/element.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/element.d.ts +4 -5
- package/dist/dev/ui/captions-radio-group/element.js.map +1 -1
- package/dist/dev/ui/cast-button/element.d.ts +3 -4
- package/dist/dev/ui/cast-button/element.js.map +1 -1
- package/dist/dev/ui/container/element.d.ts +1 -2
- package/dist/dev/ui/container/element.js.map +1 -1
- package/dist/dev/ui/context-part-element.d.ts +2 -3
- package/dist/dev/ui/context-part-element.js.map +1 -1
- package/dist/dev/ui/controls/backdrop.d.ts +1 -2
- package/dist/dev/ui/controls/content.d.ts +1 -2
- package/dist/dev/ui/controls/context.d.ts +1 -2
- package/dist/dev/ui/controls/element.d.ts +1 -2
- package/dist/dev/ui/controls/element.js.map +1 -1
- package/dist/dev/ui/controls/group.d.ts +1 -2
- package/dist/dev/ui/dialog/backdrop.d.ts +1 -2
- package/dist/dev/ui/dialog/close.d.ts +1 -2
- package/dist/dev/ui/dialog/close.js.map +1 -1
- package/dist/dev/ui/dialog/context.d.ts +4 -3
- package/dist/dev/ui/dialog/context.js +1 -0
- package/dist/dev/ui/dialog/context.js.map +1 -1
- package/dist/dev/ui/dialog/description.d.ts +1 -2
- package/dist/dev/ui/dialog/element.d.ts +5 -4
- package/dist/dev/ui/dialog/element.js +4 -2
- package/dist/dev/ui/dialog/element.js.map +1 -1
- package/dist/dev/ui/dialog/popup.d.ts +1 -2
- package/dist/dev/ui/dialog/popup.js.map +1 -1
- package/dist/dev/ui/dialog/title.d.ts +1 -2
- package/dist/dev/ui/error-dialog/element.d.ts +1 -2
- package/dist/dev/ui/error-dialog/element.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/element.d.ts +3 -5
- package/dist/dev/ui/fullscreen-button/element.js.map +1 -1
- package/dist/dev/ui/gesture/element.d.ts +1 -2
- package/dist/dev/ui/gesture/element.js.map +1 -1
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +2 -3
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -1
- package/dist/dev/ui/hotkey/element.d.ts +1 -2
- package/dist/dev/ui/hotkey/element.js.map +1 -1
- package/dist/dev/ui/input-indicator/element.d.ts +5 -4
- package/dist/dev/ui/input-indicator/element.js.map +1 -1
- package/dist/dev/ui/input-indicator/live-indicator.d.ts +2 -3
- package/dist/dev/ui/input-indicator/live-indicator.js.map +1 -1
- package/dist/dev/ui/live-button/element.d.ts +4 -4
- package/dist/dev/ui/live-button/element.js.map +1 -1
- package/dist/dev/ui/media-button-element.d.ts +17 -8
- package/dist/dev/ui/media-button-element.js +7 -6
- package/dist/dev/ui/media-button-element.js.map +1 -1
- package/dist/dev/ui/media-ui-element.d.ts +15 -7
- package/dist/dev/ui/media-ui-element.js +6 -1
- package/dist/dev/ui/media-ui-element.js.map +1 -1
- package/dist/dev/ui/menu/checkbox-item.d.ts +1 -2
- package/dist/dev/ui/menu/checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/content.d.ts +1 -2
- package/dist/dev/ui/menu/content.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts +9 -5
- package/dist/dev/ui/menu/context.js +2 -0
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/element.d.ts +1 -2
- package/dist/dev/ui/menu/element.js.map +1 -1
- package/dist/dev/ui/menu/group-controller.js.map +1 -1
- package/dist/dev/ui/menu/group-label.d.ts +1 -2
- package/dist/dev/ui/menu/group-label.js.map +1 -1
- package/dist/dev/ui/menu/group.d.ts +1 -2
- package/dist/dev/ui/menu/group.js.map +1 -1
- package/dist/dev/ui/menu/item-indicator.d.ts +1 -2
- package/dist/dev/ui/menu/item.d.ts +1 -2
- package/dist/dev/ui/menu/item.js.map +1 -1
- package/dist/dev/ui/menu/radio-group.d.ts +1 -2
- package/dist/dev/ui/menu/radio-group.js.map +1 -1
- package/dist/dev/ui/menu/radio-item.d.ts +1 -2
- package/dist/dev/ui/menu/radio-item.js.map +1 -1
- package/dist/dev/ui/menu/separator.d.ts +1 -2
- package/dist/dev/ui/mute-button/element.d.ts +3 -4
- package/dist/dev/ui/mute-button/element.js.map +1 -1
- package/dist/dev/ui/pip-button/element.d.ts +4 -6
- package/dist/dev/ui/pip-button/element.js.map +1 -1
- package/dist/dev/ui/play-button/element.d.ts +3 -5
- package/dist/dev/ui/play-button/element.js +1 -1
- package/dist/dev/ui/play-button/element.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/element.d.ts +4 -5
- package/dist/dev/ui/playback-rate-button/element.js +4 -2
- package/dist/dev/ui/playback-rate-button/element.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/element.d.ts +4 -5
- package/dist/dev/ui/playback-rate-radio-group/element.js.map +1 -1
- package/dist/dev/ui/popover/element.d.ts +1 -2
- package/dist/dev/ui/popover/element.js +4 -2
- package/dist/dev/ui/popover/element.js.map +1 -1
- package/dist/dev/ui/position-controller.js.map +1 -1
- package/dist/dev/ui/poster/element.d.ts +1 -2
- package/dist/dev/ui/poster/element.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/element.d.ts +4 -5
- package/dist/dev/ui/quality-radio-group/element.js.map +1 -1
- package/dist/dev/ui/radio-group/context.d.ts +4 -3
- package/dist/dev/ui/radio-group/context.js +1 -0
- package/dist/dev/ui/radio-group/context.js.map +1 -1
- package/dist/dev/ui/radio-group/element.d.ts +1 -2
- package/dist/dev/ui/radio-group/element.js.map +1 -1
- package/dist/dev/ui/radio-options/controller.js.map +1 -1
- package/dist/dev/ui/seek-button/element.d.ts +2 -3
- package/dist/dev/ui/seek-button/element.js.map +1 -1
- package/dist/dev/ui/seek-indicator/element.d.ts +3 -4
- package/dist/dev/ui/seek-indicator/element.js +7 -1
- package/dist/dev/ui/seek-indicator/element.js.map +1 -1
- package/dist/dev/ui/seek-indicator/value.d.ts +1 -2
- package/dist/dev/ui/slider/buffer.d.ts +1 -2
- package/dist/dev/ui/slider/context.d.ts +4 -3
- package/dist/dev/ui/slider/context.js +1 -0
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/element.d.ts +1 -2
- package/dist/dev/ui/slider/element.js.map +1 -1
- package/dist/dev/ui/slider/events.d.ts +4 -3
- package/dist/dev/ui/slider/fill.d.ts +1 -2
- package/dist/dev/ui/slider/preview.d.ts +1 -2
- package/dist/dev/ui/slider/preview.js.map +1 -1
- package/dist/dev/ui/slider/thumb.d.ts +1 -2
- package/dist/dev/ui/slider/thumb.js.map +1 -1
- package/dist/dev/ui/slider/thumbnail.d.ts +1 -2
- package/dist/dev/ui/slider/thumbnail.js.map +1 -1
- package/dist/dev/ui/slider/track.d.ts +1 -2
- package/dist/dev/ui/slider/value.d.ts +1 -2
- package/dist/dev/ui/slider/value.js.map +1 -1
- package/dist/dev/ui/status-announcer/element.d.ts +1 -2
- package/dist/dev/ui/status-announcer/element.js.map +1 -1
- package/dist/dev/ui/status-indicator/element.d.ts +9 -4
- package/dist/dev/ui/status-indicator/element.js +14 -1
- package/dist/dev/ui/status-indicator/element.js.map +1 -1
- package/dist/dev/ui/status-indicator/value.d.ts +1 -2
- package/dist/dev/ui/text/element.d.ts +4 -3
- package/dist/dev/ui/text/element.js +1 -0
- package/dist/dev/ui/text/element.js.map +1 -1
- package/dist/dev/ui/thumbnail/element.d.ts +5 -6
- package/dist/dev/ui/thumbnail/element.js +3 -2
- package/dist/dev/ui/thumbnail/element.js.map +1 -1
- package/dist/dev/ui/time/element.d.ts +1 -2
- package/dist/dev/ui/time/element.js.map +1 -1
- package/dist/dev/ui/time/group.d.ts +1 -2
- package/dist/dev/ui/time/separator.d.ts +1 -2
- package/dist/dev/ui/time-slider/chapter-title.d.ts +1 -2
- package/dist/dev/ui/time-slider/chapter-title.js.map +1 -1
- package/dist/dev/ui/time-slider/chapters.d.ts +1 -2
- package/dist/dev/ui/time-slider/chapters.js.map +1 -1
- package/dist/dev/ui/time-slider/element.d.ts +1 -2
- package/dist/dev/ui/time-slider/element.js.map +1 -1
- package/dist/dev/ui/title/element.d.ts +1 -2
- package/dist/dev/ui/title/element.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +2 -2
- package/dist/dev/ui/tooltip/context.js +1 -0
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/element.d.ts +1 -2
- package/dist/dev/ui/tooltip/element.js +4 -2
- package/dist/dev/ui/tooltip/element.js.map +1 -1
- package/dist/dev/ui/tooltip/group.d.ts +1 -2
- package/dist/dev/ui/tooltip/group.js.map +1 -1
- package/dist/dev/ui/tooltip/label.d.ts +1 -2
- package/dist/dev/ui/tooltip/label.js.map +1 -1
- package/dist/dev/ui/tooltip/shortcut.d.ts +1 -2
- package/dist/dev/ui/ui-element.d.ts +3 -3
- package/dist/dev/ui/ui-element.js.map +1 -1
- package/dist/dev/ui/volume-indicator/element.d.ts +3 -4
- package/dist/dev/ui/volume-indicator/element.js.map +1 -1
- package/dist/dev/ui/volume-indicator/fill.d.ts +1 -2
- package/dist/dev/ui/volume-indicator/value.d.ts +1 -2
- package/dist/dev/ui/volume-popover/element.d.ts +1 -2
- package/dist/dev/ui/volume-popover/element.js +1 -1
- package/dist/dev/ui/volume-popover/element.js.map +1 -1
- package/dist/dev/ui/volume-slider/element.d.ts +1 -2
- package/dist/dev/ui/volume-slider/element.js +1 -1
- package/dist/dev/ui/volume-slider/element.js.map +1 -1
- package/dist/dev/version.d.ts +21 -0
- package/dist/dev/version.js +29 -0
- package/dist/dev/version.js.map +1 -0
- package/docs/README.md +1 -1
- package/docs/guides/autoplay.md +10 -21
- package/docs/guides/background-video.md +74 -7
- package/docs/guides/browser-support.md +48 -36
- package/docs/guides/build-your-own-component.md +5 -5
- package/docs/guides/captions.md +46 -6
- package/docs/guides/casting.md +24 -8
- package/docs/guides/cdn.md +11 -10
- package/docs/guides/content-security-policy.md +29 -5
- package/docs/guides/controls.md +25 -10
- package/docs/guides/customize-skins.md +2 -2
- package/docs/guides/features.md +3 -1
- package/docs/guides/fullscreen.md +35 -8
- package/docs/guides/installation-cdn.md +5 -5
- package/docs/guides/installation-shadcn.md +4 -4
- package/docs/guides/installation-svelte.md +5 -5
- package/docs/guides/installation-vue.md +5 -5
- package/docs/guides/installation.md +5 -5
- package/docs/guides/internationalization.md +37 -28
- package/docs/guides/keyboard-shortcuts.md +27 -15
- package/docs/guides/live-streams.md +51 -13
- package/docs/guides/llms.txt +6 -5
- package/docs/guides/media-sources.md +8 -5
- package/docs/guides/migrate-from-media-chrome.md +182 -51
- package/docs/guides/migrate-from-mux-player.md +191 -116
- package/docs/guides/migrate-from-plyr.md +171 -81
- package/docs/guides/migrate-from-video-js-8.md +255 -190
- package/docs/guides/migrate-from-vidstack.md +865 -0
- package/docs/guides/mux-data.md +23 -9
- package/docs/guides/picture-in-picture.md +22 -16
- package/docs/guides/playback-errors.md +10 -7
- package/docs/guides/poster.md +32 -11
- package/docs/guides/presets.md +15 -5
- package/docs/guides/quality.md +44 -5
- package/docs/guides/self-hosting.md +5 -5
- package/docs/guides/skins.md +6 -4
- package/docs/guides/thumbnails.md +24 -14
- package/docs/guides/ui-components.md +1 -1
- package/docs/guides/user-preferences.md +38 -15
- package/docs/guides/v10-roadmap.md +1 -1
- package/docs/llms.txt +45 -11
- package/docs/reference/api/create-i18n.md +3 -3
- package/docs/reference/api/create-translator.md +1 -1
- package/docs/reference/api/feature-audio-track.md +1 -1
- package/docs/reference/api/feature-controls.md +2 -2
- package/docs/reference/api/feature-fullscreen.md +1 -2
- package/docs/reference/api/feature-pip.md +3 -4
- package/docs/reference/api/feature-playback.md +2 -3
- package/docs/reference/api/feature-quality.md +2 -2
- package/docs/reference/api/feature-remote-playback.md +1 -1
- package/docs/reference/api/feature-source.md +2 -8
- package/docs/reference/api/feature-text-tracks.md +6 -8
- package/docs/reference/api/feature-volume.md +1 -1
- package/docs/reference/api/find-locale-keys.md +32 -0
- package/docs/reference/api/get-locale-key.md +32 -0
- package/docs/reference/api/html-create-player.md +24 -26
- package/docs/reference/api/i18n-controller.md +1 -1
- package/docs/reference/api/is-text.md +33 -0
- package/docs/reference/api/llms.txt +23 -2
- package/docs/reference/api/load-locale.md +36 -0
- package/docs/reference/api/media-capabilities.md +255 -0
- package/docs/reference/api/player-controller.md +39 -20
- package/docs/reference/api/player-store.md +112 -0
- package/docs/reference/api/preset-audio.md +116 -0
- package/docs/reference/api/preset-background.md +103 -0
- package/docs/reference/api/preset-live-audio.md +119 -0
- package/docs/reference/api/preset-live-video.md +124 -0
- package/docs/reference/api/preset-video.md +123 -0
- package/docs/reference/api/register-i18n.md +13 -0
- package/docs/reference/api/resolve-adapter-type.md +98 -0
- package/docs/reference/api/resolve-mime-type.md +48 -0
- package/docs/reference/api/resolve-translation.md +36 -0
- package/docs/reference/api/translate-text.md +56 -0
- package/docs/reference/api/translation-phrases.md +13 -0
- package/docs/reference/api/ui-element.md +296 -0
- package/docs/reference/components/audio-compat-skin.md +33 -0
- package/docs/reference/components/{audio-minimal-skin.md → audio-neutral-skin.md} +6 -6
- package/docs/reference/components/audio-skin.md +2 -2
- package/docs/reference/components/background-video-skin.md +1 -1
- package/docs/reference/components/background-video.md +1 -1
- package/docs/reference/components/captions-button.md +1 -1
- package/docs/reference/components/captions-radio-group.md +1 -1
- package/docs/reference/components/cloudflare-video.md +1 -1
- package/docs/reference/components/controls.md +2 -2
- package/docs/reference/components/dash-video.md +1 -1
- package/docs/reference/components/fullscreen-button.md +1 -1
- package/docs/reference/components/google-cast.md +4 -4
- package/docs/reference/components/hls-audio.md +1 -1
- package/docs/reference/components/hls-background-video.md +1 -1
- package/docs/reference/components/hls-video.md +1 -1
- package/docs/reference/components/hlsjs-video.md +2 -2
- package/docs/reference/components/icons.md +130 -0
- package/docs/reference/components/live-audio-compat-skin.md +35 -0
- package/docs/reference/components/{live-audio-minimal-skin.md → live-audio-neutral-skin.md} +6 -6
- package/docs/reference/components/live-audio-skin.md +2 -2
- package/docs/reference/components/live-video-compat-skin.md +41 -0
- package/docs/reference/components/{live-video-minimal-skin.md → live-video-neutral-skin.md} +6 -6
- package/docs/reference/components/live-video-skin.md +2 -2
- package/docs/reference/components/llms.txt +16 -6
- package/docs/reference/components/menu.md +7 -2
- package/docs/reference/components/mux-audio.md +2 -2
- package/docs/reference/components/mux-background-video.md +1 -1
- package/docs/reference/components/mux-data.md +4 -4
- package/docs/reference/components/mux-video.md +4 -4
- package/docs/reference/components/native-hls-video.md +1 -1
- package/docs/reference/components/pip-button.md +2 -2
- package/docs/reference/components/player.md +26 -2
- package/docs/reference/components/popover.md +6 -8
- package/docs/reference/components/shaka-video.md +1 -1
- package/docs/reference/components/spotify-audio.md +1 -1
- package/docs/reference/components/status-indicator.md +27 -4
- package/docs/reference/components/thumbnail.md +1 -1
- package/docs/reference/components/tiktok-video.md +1 -1
- package/docs/reference/components/twitch-video.md +1 -1
- package/docs/reference/components/video-compat-skin.md +45 -0
- package/docs/reference/components/{video-minimal-skin.md → video-neutral-skin.md} +6 -6
- package/docs/reference/components/video-skin.md +2 -2
- package/docs/reference/components/vimeo-video.md +1 -1
- package/docs/reference/components/wistia-video.md +1 -1
- package/docs/reference/components/youtube-video.md +1 -1
- package/package.json +54 -42
- package/dist/default/define/audio/minimal-skin.css +0 -2048
- package/dist/default/define/audio/minimal-skin.js +0 -6
- package/dist/default/define/audio/minimal-skin2.js +0 -4
- package/dist/default/define/live-audio/minimal-skin.css +0 -1378
- package/dist/default/define/live-audio/minimal-skin.js +0 -6
- package/dist/default/define/live-audio/minimal-skin2.js +0 -4
- package/dist/default/define/live-video/minimal-skin.css +0 -2311
- package/dist/default/define/live-video/minimal-skin.js +0 -6
- package/dist/default/define/live-video/minimal-skin2.js +0 -4
- package/dist/default/define/video/minimal-skin.css +0 -3232
- package/dist/default/define/video/minimal-skin.js +0 -6
- package/dist/default/define/video/minimal-skin2.js +0 -4
- package/dist/default/extensions/media-extension-element.js +0 -54
- package/dist/default/icons/element/minimal/index.js +0 -1
- package/dist/default/icons/minimal/index.js +0 -26
- package/dist/default/internal/skins/minimal-audio/skin.css +0 -1977
- package/dist/default/internal/skins/minimal-live-audio/skin.css +0 -1307
- package/dist/default/internal/skins/minimal-live-video/skin.css +0 -2240
- package/dist/default/internal/skins/minimal-video/skin.css +0 -3161
- package/dist/default/presets/audio/minimal-skin.js +0 -19
- package/dist/default/presets/live-audio/minimal-skin.js +0 -19
- package/dist/default/presets/live-video/minimal-skin.js +0 -19
- package/dist/default/presets/video/minimal-skin.js +0 -19
- package/dist/dev/define/audio/minimal-skin.css +0 -2048
- package/dist/dev/define/audio/minimal-skin.d.ts +0 -1
- package/dist/dev/define/audio/minimal-skin.js +0 -8
- package/dist/dev/define/audio/minimal-skin.js.map +0 -1
- package/dist/dev/define/audio/minimal-skin2.js +0 -6
- package/dist/dev/define/audio/minimal-skin2.js.map +0 -1
- package/dist/dev/define/live-audio/minimal-skin.css +0 -1378
- package/dist/dev/define/live-audio/minimal-skin.d.ts +0 -1
- package/dist/dev/define/live-audio/minimal-skin.js +0 -8
- package/dist/dev/define/live-audio/minimal-skin.js.map +0 -1
- package/dist/dev/define/live-audio/minimal-skin2.js +0 -6
- package/dist/dev/define/live-audio/minimal-skin2.js.map +0 -1
- package/dist/dev/define/live-video/minimal-skin.css +0 -2311
- package/dist/dev/define/live-video/minimal-skin.d.ts +0 -1
- package/dist/dev/define/live-video/minimal-skin.js +0 -8
- package/dist/dev/define/live-video/minimal-skin.js.map +0 -1
- package/dist/dev/define/live-video/minimal-skin2.js +0 -6
- package/dist/dev/define/live-video/minimal-skin2.js.map +0 -1
- package/dist/dev/define/video/minimal-skin.css +0 -3232
- package/dist/dev/define/video/minimal-skin.d.ts +0 -1
- package/dist/dev/define/video/minimal-skin.js +0 -8
- package/dist/dev/define/video/minimal-skin.js.map +0 -1
- package/dist/dev/define/video/minimal-skin2.js +0 -6
- package/dist/dev/define/video/minimal-skin2.js.map +0 -1
- package/dist/dev/extensions/media-extension-element.d.ts +0 -29
- package/dist/dev/extensions/media-extension-element.js +0 -56
- package/dist/dev/extensions/media-extension-element.js.map +0 -1
- package/dist/dev/icons/dist/html/minimal/index.d.ts +0 -29
- package/dist/dev/icons/element/minimal/index.d.ts +0 -1
- package/dist/dev/icons/element/minimal/index.js +0 -1
- package/dist/dev/icons/minimal/index.js +0 -26
- package/dist/dev/internal/skins/minimal-audio/skin.css +0 -1977
- package/dist/dev/internal/skins/minimal-live-audio/skin.css +0 -1307
- package/dist/dev/internal/skins/minimal-live-video/skin.css +0 -2240
- package/dist/dev/internal/skins/minimal-video/skin.css +0 -3161
- package/dist/dev/presets/audio/minimal-skin.d.ts +0 -16
- package/dist/dev/presets/audio/minimal-skin.js +0 -21
- package/dist/dev/presets/audio/minimal-skin.js.map +0 -1
- package/dist/dev/presets/live-audio/minimal-skin.d.ts +0 -16
- package/dist/dev/presets/live-audio/minimal-skin.js +0 -21
- package/dist/dev/presets/live-audio/minimal-skin.js.map +0 -1
- package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -16
- package/dist/dev/presets/live-video/minimal-skin.js +0 -21
- package/dist/dev/presets/live-video/minimal-skin.js.map +0 -1
- package/dist/dev/presets/video/minimal-skin.d.ts +0 -16
- package/dist/dev/presets/video/minimal-skin.js +0 -21
- package/dist/dev/presets/video/minimal-skin.js.map +0 -1
- /package/dist/dev/define/audio/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
- /package/dist/dev/define/live-audio/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
- /package/dist/dev/define/live-video/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
- /package/dist/dev/define/video/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
- /package/dist/dev/icons/dist/element/{minimal → compat}/index.d.ts +0 -0
|
@@ -24,7 +24,7 @@ For components you add yourself, select them by their custom element name. Use t
|
|
|
24
24
|
|
|
25
25
|
### Add icons
|
|
26
26
|
|
|
27
|
-
Import `@videojs/html/icons/element` once in your `app.ts` to register `<media-icon>`. Choose an icon with `name`. Set `family="
|
|
27
|
+
Import `@videojs/html/icons/element` once in your `app.ts` to register `<media-icon>`. Choose an icon with `name`. Set `family="neutral"` or `family="compat"` to use the Neutral or Compat skin’s icon designs. You can also use your own text or SVG.
|
|
28
28
|
|
|
29
29
|
```ts
|
|
30
30
|
import '@videojs/html/icons/element';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Remember user preferences
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Save volume and caption preferences, restore them after loading, and adapt the pattern for quality selection.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Save preferences from player state to local storage or your backend. Video.js leaves storage and per-profile settings to your application.
|
|
6
6
|
|
|
7
7
|
## Recommended approach
|
|
8
8
|
|
|
@@ -16,16 +16,18 @@ Subscribe to the state you want to remember, write it to storage when it changes
|
|
|
16
16
|
</video-player>
|
|
17
17
|
<script type="module">
|
|
18
18
|
import '@videojs/html/video/player';
|
|
19
|
+
import '@videojs/html/ui/container';
|
|
19
20
|
import { selectVolume } from '@videojs/html';
|
|
20
21
|
|
|
21
22
|
const STORAGE_KEY = 'player:volume';
|
|
22
23
|
const player = document.querySelector('video-player');
|
|
23
24
|
const store = player.store;
|
|
24
25
|
|
|
25
|
-
//
|
|
26
|
+
// Guard storage access so playback still works when storage is blocked.
|
|
26
27
|
function readSaved() {
|
|
27
28
|
try {
|
|
28
|
-
|
|
29
|
+
const value = JSON.parse(localStorage.getItem(STORAGE_KEY) ?? 'null');
|
|
30
|
+
return Number.isFinite(value?.volume) && typeof value?.muted === 'boolean' ? value : null;
|
|
29
31
|
} catch {
|
|
30
32
|
return null;
|
|
31
33
|
}
|
|
@@ -46,9 +48,8 @@ Subscribe to the state you want to remember, write it to storage when it changes
|
|
|
46
48
|
if (!store.target) return false;
|
|
47
49
|
const v = selectVolume(store.state);
|
|
48
50
|
v?.setVolume(saved.volume);
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
if (v && saved.muted && saved.volume > 0) v.toggleMuted();
|
|
51
|
+
// Apply saved mute after setVolume, which unmutes above zero.
|
|
52
|
+
if (saved.muted) v?.setMuted(true);
|
|
52
53
|
return true;
|
|
53
54
|
};
|
|
54
55
|
if (!restore()) {
|
|
@@ -72,26 +73,48 @@ Subscribe to the state you want to remember, write it to storage when it changes
|
|
|
72
73
|
## How it works
|
|
73
74
|
|
|
74
75
|
- Player state is the single source of truth: it already reflects every change, whatever caused it — your UI, keyboard shortcuts, native controls, or scripts.
|
|
75
|
-
- `store.subscribe(callback)` fires on any state change.
|
|
76
|
+
- `store.subscribe(callback)` fires on any state change. The store batches notifications per microtask, so changes made in the same tick produce one callback. There is no per-key subscription on the store: read the state and diff the slice you care about.
|
|
76
77
|
- Feature selectors exported by `@videojs/html` (`selectVolume`, `selectTextTrack`, `selectQuality`, and the rest) read a feature’s slice from any store, returning `undefined` when the feature isn’t present.
|
|
77
|
-
- Restore through the feature actions (`setVolume`, `
|
|
78
|
+
- Restore through the feature actions (`setVolume`, `setMuted`, `selectSubtitlesTrack`, `selectVideoRendition`) rather than poking the media element, so state and UI stay consistent.
|
|
78
79
|
- Actions need an attached media target: calling one before the store attaches throws. Check `store.target` and defer the restore until it is set, as the examples do.
|
|
79
80
|
|
|
80
81
|
## Availability and constraints
|
|
81
82
|
|
|
82
|
-
-
|
|
83
|
-
- `setVolume` clamps to 0–1 and unmutes
|
|
84
|
-
-
|
|
85
|
-
-
|
|
83
|
+
- Video.js does not write preferences to storage. Initial values come from the media element, track markup, and playback engine.
|
|
84
|
+
- `setVolume` clamps to 0–1 and unmutes above zero. Restore volume first, then call `setMuted(true)` if the saved preference is muted. Calling `setMuted(false)` at zero raises the volume to 0.25.
|
|
85
|
+
- The volume examples leave autoplay off. For muted autoplay, defer volume restoration until a user action: restoring a positive volume unmutes the media and can interrupt autoplay, even if you immediately mute it again.
|
|
86
|
+
- `setVolume` and `setMuted` update `store.state` immediately. A React hook’s selected value updates on the next render.
|
|
87
|
+
- Track and rendition lists arrive when the media loads, not when the player is created. Subscribe and restore a saved selection when its entry appears in the list.
|
|
88
|
+
- On iOS Safari, `volumeAvailability` is `'unsupported'` after attachment. Restoring the volume level has no effect there; mute can still be restored.
|
|
86
89
|
- Local storage is per-origin and can be unavailable (private modes, embedded contexts); guard reads and writes accordingly.
|
|
87
90
|
|
|
88
91
|
## Common variations
|
|
89
92
|
|
|
90
93
|
### Persist caption preference
|
|
91
94
|
|
|
92
|
-
Save the showing track’s `language`
|
|
95
|
+
Save the showing track’s `language` because track ids can change between sources. Save `'off'` when captions are off. Restore once when the first caption or subtitle list arrives, then save later selection changes. Do not wait for `canPlay`. With limited preloading, `canPlay` can stay `false` until playback starts. Repeated restoration would override a selection the user already made.
|
|
93
96
|
|
|
94
|
-
|
|
97
|
+
If the saved language is absent from that first list, leave the stored preference intact until the selection changes. This example does not retry restoration when more tracks arrive; adapt the initial loading step if your engine exposes languages in several batches. Browser selection changes after restoration are saved just like user changes.
|
|
98
|
+
|
|
99
|
+
Apply the same pattern in a store subscription:
|
|
100
|
+
|
|
101
|
+
1. Inside `store.subscribe`, read the track state with `selectTextTrack(store.state)`.
|
|
102
|
+
2. When the first caption or subtitle list arrives, record the current selection and mark restoration complete. If the saved language is present, call `selectSubtitlesTrack` with that track’s `id`. If the saved value is `'off'`, pass `null`. Do not save during this first pass.
|
|
103
|
+
3. After that, save selection changes. If the saved language was absent from the first list, keep the stored preference until the selection changes.
|
|
104
|
+
4. Guard `localStorage` reads and writes, and restart restoration for each new source.
|
|
105
|
+
|
|
106
|
+
Omit `default` from the tracks when persisting caption preferences. A default track can turn on after restoration, causing the subscription to save its language over a stored `'off'` preference.
|
|
107
|
+
|
|
108
|
+
### Remember a quality selection
|
|
109
|
+
|
|
110
|
+
Adapt the same restore-then-save pattern to the [quality feature](../reference/api/feature-quality.md):
|
|
111
|
+
|
|
112
|
+
1. Save `'auto'` or the resolution of the selected entry in `videoRenditionList`. Read `selected`; `activeVideoRendition` can change during automatic playback and does not identify a manual preference.
|
|
113
|
+
2. Wait for the next source’s rendition list, then match the saved resolution to an entry. Rendition ids belong to that source, so do not reuse a saved id across sources.
|
|
114
|
+
3. Call `selectVideoRendition` with the matching entry’s id, or `'auto'` if no match exists. Every entry in `videoRenditionList` has an id; use it directly.
|
|
115
|
+
4. Do not save until restoration finishes; otherwise the source’s default selection overwrites the saved choice. After that, save each change the user makes.
|
|
116
|
+
|
|
117
|
+
To remember a data-saving limit while preserving automatic switching, persist `maxAutoResolution` and pass it on the next source. It needs the hls.js engine; native HLS playback ignores it. See [Options Video.js normalizes](./media-sources.md#options-videojs-normalizes).
|
|
95
118
|
|
|
96
119
|
### Persist to your backend
|
|
97
120
|
|
|
@@ -51,7 +51,7 @@ Feature-complete release ahead of GA.
|
|
|
51
51
|
|
|
52
52
|
- Core feature parity with v8 in terms of fundamentals
|
|
53
53
|
- Feature parity with Media Chrome, Vidstack, Plyr, and Mux Player
|
|
54
|
-
- Community encouraged to begin full reintegration projects, following the migration guides for [Video.js 8](./migrate-from-video-js-8.md), [Mux Player](./migrate-from-mux-player.md), [Plyr](./migrate-from-plyr.md),
|
|
54
|
+
- Community encouraged to begin full reintegration projects, following the migration guides for [Video.js 8](./migrate-from-video-js-8.md), [Mux Player](./migrate-from-mux-player.md), [Plyr](./migrate-from-plyr.md), [Media Chrome](./migrate-from-media-chrome.md), and [Vidstack](./migrate-from-vidstack.md)
|
|
55
55
|
- Plugin ecosystem migration begins in earnest
|
|
56
56
|
|
|
57
57
|
### Engine development focus
|
package/docs/llms.txt
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# Video.js v10 — HTML Documentation
|
|
2
2
|
|
|
3
|
-
> Bundled with `@videojs/html` v10.0.0-rc.
|
|
3
|
+
> Bundled with `@videojs/html` v10.0.0-rc.5. Links are relative paths to files in this directory.
|
|
4
4
|
|
|
5
5
|
> Install the [Video.js skill](https://github.com/videojs/skills) to help AI coding agents find version-matched pages from this index.
|
|
6
6
|
|
|
7
7
|
> The `video.js` package on npm is still Video.js 8. Video.js 10 ships as `@videojs/html`; to move existing Video.js 8 code, read https://videojs.org/docs/framework/html/guides/migrate-from-video-js-8.md
|
|
8
8
|
|
|
9
|
+
> Vidstack Player is in security-only maintenance. To move existing `vidstack` code, read https://videojs.org/docs/framework/html/guides/migrate-from-vidstack.md
|
|
10
|
+
|
|
9
11
|
> Print version-matched installation options without changing files: `npx @videojs/cli agents init`, then pass `--framework html` with the other choices. Installation guide index: https://videojs.org/docs/guides/installation.md
|
|
10
12
|
|
|
11
13
|
## Guides
|
|
@@ -27,7 +29,7 @@ Install Video.js, customize a skin, understand its main pieces, check browser an
|
|
|
27
29
|
- [Architecture](./guides/architecture.md): How Video.js players are structured — state, UI, media, and extensions
|
|
28
30
|
- [Customize skins](./guides/customize-skins.md): Style a packaged Video.js skin or add its source to change controls, layout, styles, and interactions
|
|
29
31
|
- [Why Video.js?](./guides/why-videojs.md): The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.
|
|
30
|
-
- [Browser support](./guides/browser-support.md): Browsers and rendering environments supported by Video.js 10, and
|
|
32
|
+
- [Browser support](./guides/browser-support.md): Browsers and rendering environments supported by Video.js 10, and how the packaged skins reach them
|
|
31
33
|
- [Build with AI](./guides/build-with-ai.md): Install the Video.js skill and give AI coding agents version-matched docs for building and migrating players
|
|
32
34
|
- [v10 Roadmap](./guides/v10-roadmap.md): Timeline and milestones for Video.js v10 rebuild and the future of v8
|
|
33
35
|
- [Contribute to Video.js](https://github.com/videojs/v10/blob/main/CONTRIBUTING.md)
|
|
@@ -76,7 +78,7 @@ Guides for one player capability each: the recommended setup, how it works, brow
|
|
|
76
78
|
- [Show timeline thumbnail previews](./guides/thumbnails.md): Preview frames along the timeline while the user scrubs, powered by a storyboard track.
|
|
77
79
|
- [Cast to AirPlay and Chromecast](./guides/casting.md): Send playback to AirPlay and Google Cast devices, with availability detection and connection state.
|
|
78
80
|
- [Handle playback errors](./guides/playback-errors.md): Display playback failures, report them, and choose a useful recovery action.
|
|
79
|
-
- [Remember user preferences](./guides/user-preferences.md):
|
|
81
|
+
- [Remember user preferences](./guides/user-preferences.md): Save volume and caption preferences, restore them after loading, and adapt the pattern for quality selection.
|
|
80
82
|
- [Add a background video](./guides/background-video.md): Add an accessible background video from an MP4, WebM, HLS, or Mux source
|
|
81
83
|
- [Internationalize the player](./guides/internationalization.md): Translate player labels and announcements: shipped locale packs, custom translations, runtime switching, and server rendering.
|
|
82
84
|
- [Monitor playback with Mux Data](./guides/mux-data.md): Measure startup time, rebuffering, failures, and watch time by adding the Mux Data extension to a player
|
|
@@ -86,9 +88,10 @@ Guides for one player capability each: the recommended setup, how it works, brow
|
|
|
86
88
|
Guides for moving an existing player integration to Video.js v10, one per player you might be coming from.
|
|
87
89
|
|
|
88
90
|
- [Migrate from Video.js 8](./guides/migrate-from-video-js-8.md): Move a Video.js 8 integration to v10, mapping the options object, techs, plugins, and player API onto composed components
|
|
89
|
-
- [Migrate from Mux Player](./guides/migrate-from-mux-player.md): Move a Mux Player embed to Video.js v10
|
|
91
|
+
- [Migrate from Mux Player](./guides/migrate-from-mux-player.md): Move a Mux Player embed to Video.js v10 using a player, media component, skin, and analytics extension
|
|
90
92
|
- [Migrate from Plyr](./guides/migrate-from-plyr.md): Move an existing Plyr integration to Video.js v10, mapping Plyr options and its instance API onto components and player state
|
|
91
|
-
- [Migrate from Media Chrome](./guides/migrate-from-media-chrome.md):
|
|
93
|
+
- [Migrate from Media Chrome](./guides/migrate-from-media-chrome.md): Move a Media Chrome player to Video.js v10, mapping its controller, controls, styles, and imperative calls
|
|
94
|
+
- [Migrate from Vidstack](./guides/migrate-from-vidstack.md): Move a Vidstack Player integration to Video.js 10, mapping the player, providers, layouts, and media store onto composed components
|
|
92
95
|
|
|
93
96
|
## Components
|
|
94
97
|
|
|
@@ -109,13 +112,17 @@ API reference for the components that establish a player and lay out its interfa
|
|
|
109
112
|
API reference for the packaged skins each preset ships.
|
|
110
113
|
|
|
111
114
|
- [video-skin](./reference/components/video-skin.md): The video preset's default skin with the modern, frosted look
|
|
112
|
-
- [video-
|
|
115
|
+
- [video-neutral-skin](./reference/components/video-neutral-skin.md): The video preset's visually lighter skin, closer to a classic control bar
|
|
116
|
+
- [video-compat-skin](./reference/components/video-compat-skin.md): A video skin designed for broader browser compatibility
|
|
113
117
|
- [audio-skin](./reference/components/audio-skin.md): The audio preset's default skin with the modern, frosted look
|
|
114
|
-
- [audio-
|
|
118
|
+
- [audio-neutral-skin](./reference/components/audio-neutral-skin.md): The audio preset's visually lighter skin, closer to a classic control bar
|
|
119
|
+
- [audio-compat-skin](./reference/components/audio-compat-skin.md): An audio skin designed for broader browser compatibility
|
|
115
120
|
- [live-video-skin](./reference/components/live-video-skin.md): The live video preset's default skin, which swaps time controls for a Live button
|
|
116
|
-
- [live-video-
|
|
121
|
+
- [live-video-neutral-skin](./reference/components/live-video-neutral-skin.md): The live video preset's visually lighter skin, closer to a classic control bar
|
|
122
|
+
- [live-video-compat-skin](./reference/components/live-video-compat-skin.md): A live video skin designed for broader browser compatibility
|
|
117
123
|
- [live-audio-skin](./reference/components/live-audio-skin.md): The live audio preset's default skin, which swaps time controls for a Live button
|
|
118
|
-
- [live-audio-
|
|
124
|
+
- [live-audio-neutral-skin](./reference/components/live-audio-neutral-skin.md): The live audio preset's visually lighter skin, closer to a classic control bar
|
|
125
|
+
- [live-audio-compat-skin](./reference/components/live-audio-compat-skin.md): A live audio skin designed for broader browser compatibility
|
|
119
126
|
- [background-video-skin](./reference/components/background-video-skin.md): The background preset's chrome-less skin for ambient video
|
|
120
127
|
|
|
121
128
|
### Media
|
|
@@ -215,9 +222,15 @@ API reference for the non-visual components that add gestures, hotkeys, and anno
|
|
|
215
222
|
- [media-hotkey](./reference/components/hotkey.md): Register a keyboard shortcut that invokes a player action
|
|
216
223
|
- [media-status-announcer](./reference/components/status-announcer.md): Announce player state changes through a persistent status live region
|
|
217
224
|
|
|
225
|
+
### Icons
|
|
226
|
+
|
|
227
|
+
API reference for the icon sets the skins use, available for your own controls.
|
|
228
|
+
|
|
229
|
+
- [Icons](./reference/components/icons.md): The SVG icon sets used by the packaged skins, as React components, SVG strings, and the media-icon element
|
|
230
|
+
|
|
218
231
|
## API
|
|
219
232
|
|
|
220
|
-
API reference for the player factory, store controllers, features, translation tools, and utilities.
|
|
233
|
+
API reference for the player factory, presets, store controllers, features, translation tools, and utilities.
|
|
221
234
|
|
|
222
235
|
Section index: [reference/api/llms.txt](./reference/api/llms.txt).
|
|
223
236
|
|
|
@@ -227,11 +240,24 @@ API reference for creating a player and reaching it and its container from your
|
|
|
227
240
|
|
|
228
241
|
- [createPlayer](./reference/api/html-create-player.md): Factory function that creates a typed player element and controller for HTML custom elements
|
|
229
242
|
- [PlayerController](./reference/api/player-controller.md): Reactive controller for accessing player store state in HTML custom elements
|
|
243
|
+
- [UIElement](./reference/api/ui-element.md): Base class for custom elements that read player state through reactive controllers
|
|
244
|
+
- [Media capability guards](./reference/api/media-capabilities.md): Type guards that narrow a Media object to the capabilities it supports
|
|
245
|
+
|
|
246
|
+
### Presets
|
|
247
|
+
|
|
248
|
+
API reference for the presets: each bundles a player, feature bundle, skins, and media for one use case.
|
|
249
|
+
|
|
250
|
+
- [Video preset](./reference/api/preset-video.md): The general-purpose video preset — a player, feature bundle, skins, and media for on-demand video
|
|
251
|
+
- [Audio preset](./reference/api/preset-audio.md): The audio-only preset — a player, feature bundle, skins, and media for on-demand audio
|
|
252
|
+
- [Live video preset](./reference/api/preset-live-video.md): The live video preset — a player, feature bundle, skins, and media for live video streams
|
|
253
|
+
- [Live audio preset](./reference/api/preset-live-audio.md): The live audio preset — a player, feature bundle, skins, and media for live audio streams
|
|
254
|
+
- [Background preset](./reference/api/preset-background.md): The background video preset — a player, feature bundle, skin, and media for ambient video with no controls
|
|
230
255
|
|
|
231
256
|
### Store
|
|
232
257
|
|
|
233
258
|
API reference for reading and subscribing to player state: selectors and the store controllers.
|
|
234
259
|
|
|
260
|
+
- [Player store](./reference/api/player-store.md): Every state field and action on the player store, grouped by the feature that adds it
|
|
235
261
|
- [createSelector](./reference/api/create-selector.md): Create a type-safe selector for a store slice's state
|
|
236
262
|
- [StoreController](./reference/api/store-controller.md): Reactive controller for subscribing to store state in HTML custom elements
|
|
237
263
|
- [SnapshotController](./reference/api/snapshot-controller.md): Reactive controller for subscribing to a State container in HTML custom elements
|
|
@@ -273,12 +299,20 @@ API reference for translating the player: the i18n elements, controller, and the
|
|
|
273
299
|
- [hasRegisteredLocale](./reference/api/has-registered-locale.md): Check whether an exact locale tag exists in the global i18n registry
|
|
274
300
|
- [onI18nRegistryChange](./reference/api/on-i18n-registry-change.md): Subscribe to global i18n registry mutations
|
|
275
301
|
- [createTranslator](./reference/api/create-translator.md): Build a typed translator from a resolved translation map
|
|
302
|
+
- [translateText](./reference/api/translate-text.md): Translate a text descriptor, or fall back to its English default
|
|
303
|
+
- [resolveTranslation](./reference/api/resolve-translation.md): Translate a key with the params its English default requires
|
|
304
|
+
- [isText](./reference/api/is-text.md): Check whether a value is a text descriptor
|
|
305
|
+
- [loadLocale](./reference/api/load-locale.md): Lazy-load the built-in translation pack for a locale
|
|
306
|
+
- [getLocaleKey](./reference/api/get-locale-key.md): Normalize a locale tag to the key the i18n registry stores it under
|
|
307
|
+
- [findLocaleKeys](./reference/api/find-locale-keys.md): List the locale tags a lookup falls back through, most specific first
|
|
276
308
|
- [I18nController](./reference/api/i18n-controller.md): Reactive controller for consuming translator and locale values from an HTML i18n context
|
|
277
309
|
|
|
278
310
|
### Utils
|
|
279
311
|
|
|
280
|
-
Lower-level building blocks
|
|
312
|
+
Lower-level building blocks: adapter and MIME type resolution, and the keyboard shortcut controller for custom components.
|
|
281
313
|
|
|
314
|
+
- [resolveAdapterType](./reference/api/resolve-adapter-type.md): Resolve which type of adapter plays a source URL, from its host, MIME type, or file extension
|
|
315
|
+
- [resolveMimeType](./reference/api/resolve-mime-type.md): Resolve a source's MIME type from its file extension
|
|
282
316
|
- [AriaKeyShortcutsController](./reference/api/aria-key-shortcuts-controller.md): Reactive controller that exposes registered hotkey shortcut metadata
|
|
283
317
|
|
|
284
318
|
### Error codes
|
|
@@ -11,13 +11,13 @@ import { createI18n } from "@videojs/html/i18n";
|
|
|
11
11
|
`createI18n` returns a context-bound `ProviderMixin`, `TextMixin`, and `I18nController` for custom elements. Use it when you need a custom locale loader or custom i18n elements. Most apps use `<media-i18n>` and `<media-text>` from `@videojs/html/i18n`.
|
|
12
12
|
|
|
13
13
|
```ts
|
|
14
|
-
import {
|
|
14
|
+
import { UIElement } from '@videojs/html';
|
|
15
15
|
import { createI18n } from '@videojs/html/i18n';
|
|
16
16
|
|
|
17
17
|
const { ProviderMixin, TextMixin } = createI18n();
|
|
18
18
|
|
|
19
|
-
class LocalizedRoot extends ProviderMixin(
|
|
20
|
-
class LocalizedText extends TextMixin(
|
|
19
|
+
class LocalizedRoot extends ProviderMixin(UIElement) {}
|
|
20
|
+
class LocalizedText extends TextMixin(UIElement) {}
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## API Reference
|
|
@@ -8,7 +8,7 @@ Build a typed translator from a resolved translation map
|
|
|
8
8
|
import { createTranslator } from "@videojs/html/i18n";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
`createTranslator` wraps the flat map returned by `getI18nTranslations` and returns a typed
|
|
11
|
+
`createTranslator` wraps the flat map returned by `getI18nTranslations` and returns a typed `Translator` function. Providers call this internally after merging registry, lazy-loaded built-in packs, browser-translated fallback copy, and provider layers. Use it directly for custom UI outside built-in controls.
|
|
12
12
|
|
|
13
13
|
```ts
|
|
14
14
|
import { createTranslator, getI18nTranslations } from '@videojs/html/i18n';
|
|
@@ -24,7 +24,7 @@ The `videoFeatures` [feature bundle](../../guides/presets.md) includes this feat
|
|
|
24
24
|
|
|
25
25
|
| Action | Type | Description |
|
|
26
26
|
| --- | --- | --- |
|
|
27
|
-
| `selectAudioTrack` | `(
|
|
27
|
+
| `selectAudioTrack` | `(id: string) => void` | Select an audio track by `id`. |
|
|
28
28
|
|
|
29
29
|
### Selector
|
|
30
30
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
User activity and controls visibility state for the player store
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Tracks user activity for showing and hiding controls, with actions to toggle visibility and keep controls shown.
|
|
6
6
|
|
|
7
7
|
## Import
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
|
|
|
26
26
|
| Action | Type | Description |
|
|
27
27
|
| --- | --- | --- |
|
|
28
28
|
| `requestControlsLock` | `() => (() => void)` | Keep controls visible during a sustained interaction. The returned function releases the lock. Multiple concurrent locks are supported and each release function is idempotent. |
|
|
29
|
-
| `toggleControls` | `() => boolean` | Toggle controls visibility
|
|
29
|
+
| `toggleControls` | `(forceShow?: boolean) => boolean` | Toggle controls visibility, or force it with `forceShow`. Returns the new `controlsVisible` value. |
|
|
30
30
|
|
|
31
31
|
### Selector
|
|
32
32
|
|
|
@@ -18,7 +18,7 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
|
|
|
18
18
|
|
|
19
19
|
| Property | Type | Description |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
| `
|
|
21
|
+
| `isFullscreen` | `boolean` | Whether fullscreen mode is currently active. |
|
|
22
22
|
| `fullscreenAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | Whether fullscreen can be requested on this platform. |
|
|
23
23
|
|
|
24
24
|
### Actions
|
|
@@ -27,7 +27,6 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
|
|
|
27
27
|
| --- | --- | --- |
|
|
28
28
|
| `requestFullscreen` | `() => Promise<void>` | Enter fullscreen mode. Tries container first, falls back to media element. |
|
|
29
29
|
| `exitFullscreen` | `() => Promise<void>` | Exit fullscreen mode. |
|
|
30
|
-
| `toggleFullscreen` | `() => Promise<void>` | Toggle fullscreen mode. |
|
|
31
30
|
|
|
32
31
|
### Selector
|
|
33
32
|
|
|
@@ -18,16 +18,15 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
|
|
|
18
18
|
|
|
19
19
|
| Property | Type | Description |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
21
|
+
| `isPictureInPicture` | `boolean` | Whether picture-in-picture mode is currently active. |
|
|
22
|
+
| `pictureInPictureAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | Whether picture-in-picture can be requested on this platform. |
|
|
23
23
|
|
|
24
24
|
### Actions
|
|
25
25
|
|
|
26
26
|
| Action | Type | Description |
|
|
27
27
|
| --- | --- | --- |
|
|
28
|
-
| `requestPictureInPicture` | `() => Promise<void>` | Enter picture-in-picture mode. |
|
|
28
|
+
| `requestPictureInPicture` | `() => Promise<void>` | Enter picture-in-picture mode, exiting fullscreen first. Rejects before metadata is loaded. |
|
|
29
29
|
| `exitPictureInPicture` | `() => Promise<void>` | Exit picture-in-picture mode. |
|
|
30
|
-
| `togglePictureInPicture` | `() => Promise<void>` | Toggle picture-in-picture mode. |
|
|
31
30
|
|
|
32
31
|
### Selector
|
|
33
32
|
|
|
@@ -27,9 +27,8 @@ The `audioFeatures`, `liveAudioFeatures`, `liveVideoFeatures`, and `videoFeature
|
|
|
27
27
|
|
|
28
28
|
| Action | Type | Description |
|
|
29
29
|
| --- | --- | --- |
|
|
30
|
-
| `play` | `() => Promise<void>` | Start playback. |
|
|
31
|
-
| `pause` | `() => void` | Pause playback. |
|
|
32
|
-
| `togglePaused` | `() => boolean` | Toggle play/pause. Returns `true` if playback started. |
|
|
30
|
+
| `play` | `() => Promise<void>` | Start playback. Updates `paused` immediately when the media starts. |
|
|
31
|
+
| `pause` | `() => void` | Pause playback. Updates `paused` immediately. |
|
|
33
32
|
|
|
34
33
|
### Selector
|
|
35
34
|
|
|
@@ -19,13 +19,13 @@ The `videoFeatures` [feature bundle](../../guides/presets.md) includes this feat
|
|
|
19
19
|
| Property | Type | Description |
|
|
20
20
|
| --- | --- | --- |
|
|
21
21
|
| `videoRenditionList` | `MediaVideoRendition[]` | Video renditions available for manual quality selection. |
|
|
22
|
-
| `activeVideoRendition` | `{ id
|
|
22
|
+
| `activeVideoRendition` | `{ id: string; width?: number; height?: number; bitrate?: number; frameRate?: number; codec?: string; selected: boolean } \| null` | Video rendition currently playing, including when automatic ABR is selected. |
|
|
23
23
|
|
|
24
24
|
### Actions
|
|
25
25
|
|
|
26
26
|
| Action | Type | Description |
|
|
27
27
|
| --- | --- | --- |
|
|
28
|
-
| `selectVideoRendition` | `(
|
|
28
|
+
| `selectVideoRendition` | `(id: string) => void` | Select a video rendition by `id`, or automatic ABR with `"auto"`. |
|
|
29
29
|
|
|
30
30
|
### Selector
|
|
31
31
|
|
|
@@ -27,7 +27,7 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
|
|
|
27
27
|
|
|
28
28
|
| Action | Type | Description |
|
|
29
29
|
| --- | --- | --- |
|
|
30
|
-
| `
|
|
30
|
+
| `promptRemotePlayback` | `() => Promise<void>` | Prompt the user to pick a remote playback device. Exits fullscreen first when connecting. |
|
|
31
31
|
|
|
32
32
|
### Selector
|
|
33
33
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Media source state and actions for the player store
|
|
4
4
|
|
|
5
|
-
Tracks the
|
|
5
|
+
Tracks the loaded media resource and how much of it is ready. To change the source, set `src` or `source` on the media element, which also carries type and engine configuration.
|
|
6
6
|
|
|
7
7
|
## Import
|
|
8
8
|
|
|
@@ -18,15 +18,9 @@ The `audioFeatures`, `liveAudioFeatures`, `liveVideoFeatures`, and `videoFeature
|
|
|
18
18
|
|
|
19
19
|
| Property | Type | Description |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
| `
|
|
21
|
+
| `currentSrc` | `string` | Current media source URL (empty string if none). |
|
|
22
22
|
| `canPlay` | `boolean` | Whether enough data is loaded to begin playback. |
|
|
23
23
|
|
|
24
|
-
### Actions
|
|
25
|
-
|
|
26
|
-
| Action | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| `loadSource` | `(src: string) => string` | Load a new media source. Returns the new source URL. |
|
|
29
|
-
|
|
30
24
|
### Selector
|
|
31
25
|
|
|
32
26
|
Pass `selectSource` to [`PlayerController`](./player-controller.md) to subscribe to source state. Returns `undefined` if the source feature is not configured.
|
|
@@ -6,7 +6,7 @@ Manages subtitles, captions, chapters, and thumbnail tracks.
|
|
|
6
6
|
|
|
7
7
|
A default `kind="chapters"` track can also divide the [time slider](../components/time-slider.md) into chapter ranges and label the chapter at the current interaction position.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
`thumbnailsTrack` is the first `kind="metadata"` track labeled `thumbnails`, or `null` when there is none. Its `crossOrigin` reports the media element’s CORS mode, or `null` when the media is not CORS-enabled. [Thumbnail](../components/thumbnail.md) reads it to fetch sprite sheets the same way the browser fetched the track.
|
|
10
10
|
|
|
11
11
|
## Import
|
|
12
12
|
|
|
@@ -22,19 +22,17 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
|
|
|
22
22
|
|
|
23
23
|
| Property | Type | Description |
|
|
24
24
|
| --- | --- | --- |
|
|
25
|
-
| `chaptersCues` | `MediaTextCue[]` | Cues from the first `kind="chapters"` track. |
|
|
26
|
-
| `thumbnailCues` | `MediaTextCue[]` | Cues from the first `kind="metadata" label="thumbnails"` track. |
|
|
27
|
-
| `thumbnailTrackSrc` | `string \| null` | The `<track>` element's `src` for resolving relative cue text URLs. |
|
|
28
|
-
| `thumbnailTrackCrossOrigin` | `'anonymous' \| 'use-credentials' \| null` | The media element's CORS mode, mapped through the CORS-settings-attribute rules, or `null` when it is not in CORS mode. Thumbnail UI fetches the sprite sheets the cues point at with this mode, since a cross-origin `<track>` only loads at all when the media element is CORS-enabled. |
|
|
29
25
|
| `textTrackList` | `MediaTextTrack[]` | All text tracks available on the media element. |
|
|
30
|
-
| `subtitlesShowing` | `boolean` | Whether captions/subtitles
|
|
26
|
+
| `subtitlesShowing` | `boolean` | Whether a captions/subtitles track is showing. |
|
|
27
|
+
| `chaptersCues` | `MediaTextCue[]` | Cues from the first `kind="chapters"` track, with cue ends clamped to a finite media duration. |
|
|
28
|
+
| `thumbnailsTrack` | `{ cues: MediaTextCue[]; src: string \| null; crossOrigin: 'anonymous' \| 'use-credentials' \| null } \| null` | The first thumbnails track, or `null` when there is none. |
|
|
31
29
|
|
|
32
30
|
### Actions
|
|
33
31
|
|
|
34
32
|
| Action | Type | Description |
|
|
35
33
|
| --- | --- | --- |
|
|
36
|
-
| `toggleSubtitles` | `(forceShow?: boolean) => boolean` | Toggle captions/subtitles visibility. Showing
|
|
37
|
-
| `selectSubtitlesTrack` | `(
|
|
34
|
+
| `toggleSubtitles` | `(forceShow?: boolean) => boolean` | Toggle captions/subtitles visibility. Showing enables one caption/subtitle track. A track already showing stays selected. Otherwise, selection prefers the last track shown, then a track matching the browser language, then the first available track. Returns whether a track is showing. |
|
|
35
|
+
| `selectSubtitlesTrack` | `(id: string \| null) => void` | Show the captions/subtitles track with `id`, or turn captions/subtitles off with `null`. |
|
|
38
36
|
|
|
39
37
|
### Selector
|
|
40
38
|
|
|
@@ -28,7 +28,7 @@ The `audioFeatures`, `liveAudioFeatures`, `liveVideoFeatures`, and `videoFeature
|
|
|
28
28
|
| Action | Type | Description |
|
|
29
29
|
| --- | --- | --- |
|
|
30
30
|
| `setVolume` | `(volume: number) => number` | Set volume (clamped 0-1). Returns the clamped value. |
|
|
31
|
-
| `
|
|
31
|
+
| `setMuted` | `(muted: boolean) => boolean` | Set the muted state, updating the store immediately. Unmuting at volume 0 restores volume to 0.25. Returns the new muted value. |
|
|
32
32
|
|
|
33
33
|
### Selector
|
|
34
34
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# findLocaleKeys
|
|
2
|
+
|
|
3
|
+
List the locale tags a lookup falls back through, most specific first
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { findLocaleKeys } from "@videojs/html/i18n";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
`findLocaleKeys` returns the fallback chain the player resolves a locale through: the normalized tag from [`getLocaleKey`](./get-locale-key.md), then each shorter prefix, ending with `en`. A Chinese tag with a script, such as `zh-Hant-HK`, also falls back through `zh-tw` or `zh-cn` before `zh`. A translation missing from one locale is looked up in the next.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { findLocaleKeys } from '@videojs/html/i18n';
|
|
15
|
+
|
|
16
|
+
findLocaleKeys('es-419-u-nu-latn'); // ['es-419', 'es', 'en']
|
|
17
|
+
findLocaleKeys('fr'); // ['fr', 'en']
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## API Reference
|
|
21
|
+
|
|
22
|
+
`findLocaleKeys(locale): Locale[]`
|
|
23
|
+
|
|
24
|
+
### Parameters
|
|
25
|
+
|
|
26
|
+
| Parameter | Type | Default | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| `locale` (required) | `(typeof LOCALES)[number] \| string & {}` | — | BCP 47 tag to resolve. |
|
|
29
|
+
|
|
30
|
+
### Return Value
|
|
31
|
+
|
|
32
|
+
`Locale[]`
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# getLocaleKey
|
|
2
|
+
|
|
3
|
+
Normalize a locale tag to the key the i18n registry stores it under
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { getLocaleKey } from "@videojs/html/i18n";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
`getLocaleKey` lowercases a BCP 47 tag, replaces underscores with hyphens, and removes Unicode extensions such as `-u-nu-latn`. The registry stores [`registerI18n`](./register-i18n.md) layers under this key, so use it to compare a tag with one you have registered or to key your own per-locale data the same way.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { getLocaleKey } from '@videojs/html/i18n';
|
|
15
|
+
|
|
16
|
+
getLocaleKey('en_US-u-nu-latn'); // 'en-us'
|
|
17
|
+
getLocaleKey('zh-Hant'); // 'zh-hant'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## API Reference
|
|
21
|
+
|
|
22
|
+
`getLocaleKey(locale): Locale`
|
|
23
|
+
|
|
24
|
+
### Parameters
|
|
25
|
+
|
|
26
|
+
| Parameter | Type | Default | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| `locale` (required) | `(typeof LOCALES)[number] \| string & {}` | — | BCP 47 tag to normalize. |
|
|
29
|
+
|
|
30
|
+
### Return Value
|
|
31
|
+
|
|
32
|
+
`(typeof LOCALES)[number] | string & {}`
|