@videojs/html 10.0.0-rc.2 → 10.0.0-rc.4
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/README.md +12 -2
- package/dist/default/define/audio/minimal-skin.css +663 -414
- package/dist/default/define/audio/minimal-skin.js +0 -2
- package/dist/default/define/audio/minimal-skin2.js +1 -3
- package/dist/default/define/audio/minimal-ui.js +0 -2
- package/dist/default/define/audio/player.js +0 -2
- package/dist/default/define/audio/skin.css +409 -205
- package/dist/default/define/audio/skin.js +0 -2
- package/dist/default/define/audio/skin2.js +1 -3
- package/dist/default/define/audio/ui.js +0 -2
- package/dist/default/define/background/player.js +0 -2
- package/dist/default/define/background/skin.js +0 -2
- package/dist/default/define/background/skin2.js +1 -3
- package/dist/default/define/extensions/google-cast.js +0 -2
- package/dist/default/define/extensions/mux-data.js +0 -2
- package/dist/default/define/global.css +13 -0
- package/dist/default/define/global.js +1 -3
- package/dist/default/define/i18n.js +0 -2
- package/dist/default/define/live-audio/minimal-skin.css +458 -368
- package/dist/default/define/live-audio/minimal-skin.js +0 -2
- package/dist/default/define/live-audio/minimal-skin2.js +1 -3
- package/dist/default/define/live-audio/minimal-ui.js +0 -2
- package/dist/default/define/live-audio/player.js +0 -2
- package/dist/default/define/live-audio/skin.css +221 -159
- package/dist/default/define/live-audio/skin.js +0 -2
- package/dist/default/define/live-audio/skin2.js +1 -3
- package/dist/default/define/live-audio/ui.js +0 -2
- package/dist/default/define/live-video/minimal-skin.css +1002 -863
- package/dist/default/define/live-video/minimal-skin.js +0 -2
- package/dist/default/define/live-video/minimal-skin2.js +1 -3
- package/dist/default/define/live-video/minimal-ui.js +0 -2
- package/dist/default/define/live-video/player.js +0 -2
- package/dist/default/define/live-video/skin.css +804 -687
- package/dist/default/define/live-video/skin.js +0 -2
- package/dist/default/define/live-video/skin2.js +1 -3
- package/dist/default/define/live-video/ui.js +0 -2
- package/dist/default/define/media/background-video.js +0 -2
- package/dist/default/define/media/cloudflare-video.js +0 -2
- package/dist/default/define/media/dash-video.js +0 -2
- package/dist/default/define/media/hls-audio.js +0 -2
- package/dist/default/define/media/hls-background-video.js +0 -2
- package/dist/default/define/media/hls-video.js +0 -2
- package/dist/default/define/media/hlsjs-video.js +0 -2
- package/dist/default/define/media/mux-audio/hls-js.js +0 -2
- package/dist/default/define/media/mux-audio/spf.js +0 -2
- package/dist/default/define/media/mux-background-video.js +0 -2
- package/dist/default/define/media/mux-video/hls-js.js +0 -2
- package/dist/default/define/media/mux-video/spf.js +0 -2
- package/dist/default/define/media/native-hls-video.js +0 -2
- package/dist/default/define/media/shaka-video.js +0 -2
- package/dist/default/define/media/spotify-audio.js +0 -2
- package/dist/default/define/media/tiktok-video.js +0 -2
- package/dist/default/define/media/twitch-video.js +0 -2
- package/dist/default/define/media/vimeo-video.js +0 -2
- package/dist/default/define/media/wistia-video.js +0 -2
- package/dist/default/define/media/youtube-video.js +0 -2
- package/dist/default/define/shadow.css +22 -0
- package/dist/default/define/shadow.js +4 -0
- package/dist/default/define/ui/airplay-button.js +0 -2
- package/dist/default/define/ui/alert-dialog.js +0 -2
- package/dist/default/define/ui/audio-track-radio-group.js +0 -2
- package/dist/default/define/ui/buffering-indicator.js +0 -2
- package/dist/default/define/ui/captions-button.js +0 -2
- package/dist/default/define/ui/captions-radio-group.js +0 -2
- package/dist/default/define/ui/cast-button.js +0 -2
- package/dist/default/define/ui/container.js +0 -2
- package/dist/default/define/ui/controls-backdrop.js +0 -2
- package/dist/default/define/ui/controls-content.js +0 -2
- package/dist/default/define/ui/controls-group.js +0 -2
- package/dist/default/define/ui/controls.js +0 -2
- package/dist/default/define/ui/dialog-backdrop.js +0 -2
- package/dist/default/define/ui/dialog-close.js +0 -2
- package/dist/default/define/ui/dialog-description.js +0 -2
- package/dist/default/define/ui/dialog-popup.js +0 -2
- package/dist/default/define/ui/dialog-title.js +0 -2
- package/dist/default/define/ui/dialog.js +0 -2
- package/dist/default/define/ui/error-dialog.js +0 -2
- package/dist/default/define/ui/fullscreen-button.js +0 -2
- package/dist/default/define/ui/gesture.js +0 -2
- package/dist/default/define/ui/hotkey.js +0 -2
- package/dist/default/define/ui/live-button.js +0 -2
- package/dist/default/define/ui/menu-checkbox-item.js +0 -2
- package/dist/default/define/ui/menu-content.js +0 -2
- package/dist/default/define/ui/menu-group-label.js +0 -2
- package/dist/default/define/ui/menu-group.js +0 -2
- package/dist/default/define/ui/menu-item-indicator.js +0 -2
- package/dist/default/define/ui/menu-item.js +0 -2
- package/dist/default/define/ui/menu-radio-group.js +0 -2
- package/dist/default/define/ui/menu-radio-item.js +0 -2
- package/dist/default/define/ui/menu-separator.js +0 -2
- package/dist/default/define/ui/menu.js +0 -2
- package/dist/default/define/ui/mute-button.js +0 -2
- package/dist/default/define/ui/pip-button.js +0 -2
- package/dist/default/define/ui/play-button.js +0 -2
- package/dist/default/define/ui/playback-rate-button.js +0 -2
- package/dist/default/define/ui/playback-rate-radio-group.js +0 -2
- package/dist/default/define/ui/popover.js +0 -2
- package/dist/default/define/ui/poster.js +0 -2
- package/dist/default/define/ui/quality-radio-group.js +0 -2
- package/dist/default/define/ui/seek-button.js +0 -2
- package/dist/default/define/ui/seek-indicator-value.js +0 -2
- package/dist/default/define/ui/seek-indicator.js +0 -2
- package/dist/default/define/ui/slider-buffer.js +0 -2
- package/dist/default/define/ui/slider-fill.js +0 -2
- package/dist/default/define/ui/slider-preview.js +0 -2
- package/dist/default/define/ui/slider-thumb.js +0 -2
- package/dist/default/define/ui/slider-thumbnail.js +0 -2
- package/dist/default/define/ui/slider-track.js +0 -2
- package/dist/default/define/ui/slider-value.js +0 -2
- package/dist/default/define/ui/slider.js +0 -2
- package/dist/default/define/ui/status-announcer.js +0 -2
- package/dist/default/define/ui/status-indicator-value.js +0 -2
- package/dist/default/define/ui/status-indicator.js +0 -2
- package/dist/default/define/ui/thumbnail.js +0 -2
- package/dist/default/define/ui/time-group.js +0 -2
- package/dist/default/define/ui/time-separator.js +0 -2
- package/dist/default/define/ui/time-slider-chapter-title.js +0 -2
- package/dist/default/define/ui/time-slider-chapters.js +0 -2
- package/dist/default/define/ui/time-slider.js +0 -2
- package/dist/default/define/ui/time.js +0 -2
- package/dist/default/define/ui/title.js +0 -2
- package/dist/default/define/ui/tooltip-group.js +0 -2
- package/dist/default/define/ui/tooltip-label.js +0 -2
- package/dist/default/define/ui/tooltip-shortcut.js +0 -2
- package/dist/default/define/ui/tooltip.js +0 -2
- package/dist/default/define/ui/volume-indicator-fill.js +0 -2
- package/dist/default/define/ui/volume-indicator-value.js +0 -2
- package/dist/default/define/ui/volume-indicator.js +0 -2
- package/dist/default/define/ui/volume-popover.js +0 -2
- package/dist/default/define/ui/volume-slider.js +0 -2
- package/dist/default/define/video/minimal-skin.css +764 -647
- package/dist/default/define/video/minimal-skin.js +0 -2
- package/dist/default/define/video/minimal-skin2.js +1 -3
- package/dist/default/define/video/minimal-ui.js +0 -2
- package/dist/default/define/video/player.js +0 -2
- package/dist/default/define/video/skin.css +528 -441
- package/dist/default/define/video/skin.js +0 -2
- package/dist/default/define/video/skin2.js +1 -3
- package/dist/default/define/video/ui.js +0 -2
- package/dist/default/extensions/google-cast/extension.js +0 -2
- package/dist/default/extensions/media-extension-element.js +0 -2
- package/dist/default/extensions/mux-data/extension.js +0 -2
- package/dist/default/i18n/cache-key.js +0 -2
- package/dist/default/i18n/context.js +0 -2
- package/dist/default/i18n/controller.js +0 -2
- package/dist/default/i18n/create-i18n.js +0 -2
- package/dist/default/i18n/index.js +2 -2
- package/dist/default/i18n/locale.js +0 -2
- package/dist/default/i18n/locales/all/register.js +0 -2
- package/dist/default/i18n/locales/ar/register.js +0 -2
- package/dist/default/i18n/locales/az/register.js +0 -2
- package/dist/default/i18n/locales/bg/register.js +0 -2
- package/dist/default/i18n/locales/bn/register.js +0 -2
- package/dist/default/i18n/locales/bs/register.js +0 -2
- package/dist/default/i18n/locales/ca/register.js +0 -2
- package/dist/default/i18n/locales/cs/register.js +0 -2
- package/dist/default/i18n/locales/cy/register.js +0 -2
- package/dist/default/i18n/locales/da/register.js +0 -2
- package/dist/default/i18n/locales/de/register.js +0 -2
- package/dist/default/i18n/locales/el/register.js +0 -2
- package/dist/default/i18n/locales/en/register.js +0 -2
- package/dist/default/i18n/locales/es/register.js +0 -2
- package/dist/default/i18n/locales/et/register.js +0 -2
- package/dist/default/i18n/locales/eu/register.js +0 -2
- package/dist/default/i18n/locales/fa/register.js +0 -2
- package/dist/default/i18n/locales/fi/register.js +0 -2
- package/dist/default/i18n/locales/fr/register.js +0 -2
- package/dist/default/i18n/locales/gd/register.js +0 -2
- package/dist/default/i18n/locales/gl/register.js +0 -2
- package/dist/default/i18n/locales/he/register.js +0 -2
- package/dist/default/i18n/locales/hi/register.js +0 -2
- package/dist/default/i18n/locales/hr/register.js +0 -2
- package/dist/default/i18n/locales/hu/register.js +0 -2
- package/dist/default/i18n/locales/id/register.js +0 -2
- package/dist/default/i18n/locales/it/register.js +0 -2
- package/dist/default/i18n/locales/ja/register.js +0 -2
- package/dist/default/i18n/locales/ko/register.js +0 -2
- package/dist/default/i18n/locales/lt/register.js +0 -2
- package/dist/default/i18n/locales/lv/register.js +0 -2
- package/dist/default/i18n/locales/mr/register.js +0 -2
- package/dist/default/i18n/locales/nb/register.js +0 -2
- package/dist/default/i18n/locales/ne/register.js +0 -2
- package/dist/default/i18n/locales/nl/register.js +0 -2
- package/dist/default/i18n/locales/nn/register.js +0 -2
- package/dist/default/i18n/locales/oc/register.js +0 -2
- package/dist/default/i18n/locales/pl/register.js +0 -2
- package/dist/default/i18n/locales/pt/register.js +0 -2
- package/dist/default/i18n/locales/pt-BR/register.js +0 -2
- package/dist/default/i18n/locales/pt-PT/register.js +0 -2
- package/dist/default/i18n/locales/ro/register.js +0 -2
- package/dist/default/i18n/locales/ru/register.js +0 -2
- package/dist/default/i18n/locales/sk/register.js +0 -2
- package/dist/default/i18n/locales/sl/register.js +0 -2
- package/dist/default/i18n/locales/sr/register.js +0 -2
- package/dist/default/i18n/locales/sv/register.js +0 -2
- package/dist/default/i18n/locales/te/register.js +0 -2
- package/dist/default/i18n/locales/th/register.js +0 -2
- package/dist/default/i18n/locales/tr/register.js +0 -2
- package/dist/default/i18n/locales/uk/register.js +0 -2
- package/dist/default/i18n/locales/vi/register.js +0 -2
- package/dist/default/i18n/locales/zh/register.js +0 -2
- package/dist/default/i18n/locales/zh-CN/register.js +0 -2
- package/dist/default/i18n/locales/zh-TW/register.js +0 -2
- package/dist/default/i18n/provider-element.js +0 -2
- package/dist/default/i18n/provider-mixin.js +0 -2
- package/dist/default/i18n/render-text.js +0 -2
- package/dist/default/i18n/text-mixin.js +0 -2
- package/dist/default/icons/dist/element/base.js +0 -2
- package/dist/default/icons/dist/element/default/icons.js +0 -2
- package/dist/default/icons/dist/element/default/index.js +0 -2
- package/dist/default/icons/dist/element/index.js +0 -2
- package/dist/default/icons/dist/element/minimal/icons.js +0 -2
- package/dist/default/icons/dist/element/minimal/index.js +0 -2
- package/dist/default/icons/dist/html/default/airplay-enter.js +0 -2
- package/dist/default/icons/dist/html/default/airplay-exit.js +0 -2
- package/dist/default/icons/dist/html/default/captions-off.js +0 -2
- package/dist/default/icons/dist/html/default/captions-on.js +0 -2
- package/dist/default/icons/dist/html/default/cast-enter.js +0 -2
- package/dist/default/icons/dist/html/default/cast-exit.js +0 -2
- package/dist/default/icons/dist/html/default/check.js +0 -2
- package/dist/default/icons/dist/html/default/chevron.js +0 -2
- package/dist/default/icons/dist/html/default/fullscreen-enter.js +0 -2
- package/dist/default/icons/dist/html/default/fullscreen-exit.js +0 -2
- package/dist/default/icons/dist/html/default/gear.js +0 -2
- package/dist/default/icons/dist/html/default/pause.js +0 -2
- package/dist/default/icons/dist/html/default/pip-enter.js +0 -2
- package/dist/default/icons/dist/html/default/pip-exit.js +0 -2
- package/dist/default/icons/dist/html/default/play.js +0 -2
- package/dist/default/icons/dist/html/default/quality.js +0 -2
- package/dist/default/icons/dist/html/default/restart.js +0 -2
- package/dist/default/icons/dist/html/default/seek.js +0 -2
- package/dist/default/icons/dist/html/default/speech.js +0 -2
- package/dist/default/icons/dist/html/default/speed.js +0 -2
- package/dist/default/icons/dist/html/default/spinner.js +0 -2
- package/dist/default/icons/dist/html/default/switches.js +0 -2
- package/dist/default/icons/dist/html/default/volume-high.js +0 -2
- package/dist/default/icons/dist/html/default/volume-low.js +0 -2
- package/dist/default/icons/dist/html/default/volume-off.js +0 -2
- package/dist/default/icons/dist/html/minimal/airplay-enter.js +0 -2
- package/dist/default/icons/dist/html/minimal/airplay-exit.js +0 -2
- package/dist/default/icons/dist/html/minimal/captions-off.js +0 -2
- package/dist/default/icons/dist/html/minimal/captions-on.js +0 -2
- package/dist/default/icons/dist/html/minimal/cast-enter.js +0 -2
- package/dist/default/icons/dist/html/minimal/cast-exit.js +0 -2
- package/dist/default/icons/dist/html/minimal/check.js +0 -2
- package/dist/default/icons/dist/html/minimal/chevron.js +0 -2
- package/dist/default/icons/dist/html/minimal/fullscreen-enter.js +0 -2
- package/dist/default/icons/dist/html/minimal/fullscreen-exit.js +0 -2
- package/dist/default/icons/dist/html/minimal/gear.js +0 -2
- package/dist/default/icons/dist/html/minimal/pause.js +0 -2
- package/dist/default/icons/dist/html/minimal/pip-enter.js +0 -2
- package/dist/default/icons/dist/html/minimal/pip-exit.js +0 -2
- package/dist/default/icons/dist/html/minimal/play.js +0 -2
- package/dist/default/icons/dist/html/minimal/quality.js +0 -2
- package/dist/default/icons/dist/html/minimal/restart.js +0 -2
- package/dist/default/icons/dist/html/minimal/seek.js +0 -2
- package/dist/default/icons/dist/html/minimal/speech.js +0 -2
- package/dist/default/icons/dist/html/minimal/speed.js +0 -2
- package/dist/default/icons/dist/html/minimal/spinner.js +0 -2
- package/dist/default/icons/dist/html/minimal/switches.js +0 -2
- package/dist/default/icons/dist/html/minimal/volume-high.js +0 -2
- package/dist/default/icons/dist/html/minimal/volume-low.js +0 -2
- package/dist/default/icons/dist/html/minimal/volume-off.js +0 -2
- package/dist/default/icons/element/register/index.js +0 -2
- package/dist/default/index.js +2 -2
- package/dist/default/internal/skins/default-audio/register.js +0 -2
- package/dist/default/internal/skins/default-audio/skin.css +387 -191
- package/dist/default/internal/skins/default-audio/template.js +12 -14
- package/dist/default/internal/skins/default-live-audio/register.js +0 -2
- package/dist/default/internal/skins/default-live-audio/skin.css +199 -145
- package/dist/default/internal/skins/default-live-audio/template.js +5 -7
- package/dist/default/internal/skins/default-live-video/register.js +1 -2
- package/dist/default/internal/skins/default-live-video/skin.css +713 -604
- package/dist/default/internal/skins/default-live-video/template.js +18 -19
- package/dist/default/internal/skins/default-video/register.js +1 -2
- package/dist/default/internal/skins/default-video/skin.css +506 -427
- package/dist/default/internal/skins/default-video/template.js +33 -33
- package/dist/default/internal/skins/minimal-audio/register.js +0 -2
- package/dist/default/internal/skins/minimal-audio/skin.css +641 -400
- package/dist/default/internal/skins/minimal-audio/template.js +12 -14
- package/dist/default/internal/skins/minimal-live-audio/register.js +0 -2
- package/dist/default/internal/skins/minimal-live-audio/skin.css +436 -354
- package/dist/default/internal/skins/minimal-live-audio/template.js +5 -7
- package/dist/default/internal/skins/minimal-live-video/register.js +1 -2
- package/dist/default/internal/skins/minimal-live-video/skin.css +916 -785
- package/dist/default/internal/skins/minimal-live-video/template.js +18 -19
- package/dist/default/internal/skins/minimal-video/register.js +1 -2
- package/dist/default/internal/skins/minimal-video/skin.css +742 -633
- package/dist/default/internal/skins/minimal-video/template.js +33 -33
- package/dist/default/internal/skins/properties.css +11 -0
- package/dist/default/media/background-video/adapter.js +0 -2
- package/dist/default/media/background-video/template.js +0 -2
- package/dist/default/media/cloudflare-video/adapter.js +0 -2
- package/dist/default/media/dash-video/adapter.js +0 -2
- package/dist/default/media/hls-audio/adapter.js +0 -2
- package/dist/default/media/hls-background-video/adapter.js +0 -2
- package/dist/default/media/hls-video/adapter.js +0 -2
- package/dist/default/media/hlsjs-video/adapter.js +0 -2
- package/dist/default/media/mux-audio/hls-js.js +0 -2
- package/dist/default/media/mux-audio/mixin.js +0 -2
- package/dist/default/media/mux-audio/spf.js +0 -2
- package/dist/default/media/mux-video/hls-js.js +0 -2
- package/dist/default/media/mux-video/mixin.js +0 -2
- package/dist/default/media/mux-video/spf.js +0 -2
- package/dist/default/media/native-hls-video/adapter.js +0 -2
- package/dist/default/media/shaka-video/adapter.js +0 -2
- package/dist/default/media/spotify-audio/adapter.js +0 -2
- package/dist/default/media/tiktok-video/adapter.js +0 -2
- package/dist/default/media/twitch-video/adapter.js +0 -2
- package/dist/default/media/vimeo-video/adapter.js +0 -2
- package/dist/default/media/wistia-video/adapter.js +0 -2
- package/dist/default/media/youtube-video/adapter.js +0 -2
- package/dist/default/player/context.js +0 -2
- package/dist/default/player/controller.js +0 -2
- package/dist/default/player/create-player.js +0 -2
- package/dist/default/player/element.js +0 -2
- package/dist/default/player/popup-group-context.js +0 -2
- package/dist/default/presets/audio/minimal-skin.js +0 -2
- package/dist/default/presets/audio/player.js +0 -2
- package/dist/default/presets/audio/skin.js +0 -2
- package/dist/default/presets/background/player.js +0 -2
- package/dist/default/presets/background/skin.js +2 -2
- package/dist/default/presets/live-audio/minimal-skin.js +0 -2
- package/dist/default/presets/live-audio/player.js +0 -2
- package/dist/default/presets/live-audio/skin.js +0 -2
- package/dist/default/presets/live-video/minimal-skin.js +0 -2
- package/dist/default/presets/live-video/player.js +0 -2
- package/dist/default/presets/live-video/skin.js +0 -2
- package/dist/default/presets/skin.js +14 -5
- package/dist/default/presets/video/minimal-skin.js +0 -2
- package/dist/default/presets/video/player.js +0 -2
- package/dist/default/presets/video/skin.js +0 -2
- package/dist/default/registration/safe-define.js +0 -2
- package/dist/default/registration/ui-compounds.js +0 -2
- package/dist/default/store/media-attach-mixin.js +0 -2
- package/dist/default/ui/airplay-button/element.js +0 -2
- package/dist/default/ui/alert-dialog/element.js +0 -2
- package/dist/default/ui/audio-track-radio-group/element.js +5 -2
- package/dist/default/ui/buffering-indicator/element.js +0 -2
- package/dist/default/ui/captions-button/element.js +0 -2
- package/dist/default/ui/captions-radio-group/element.js +5 -2
- package/dist/default/ui/cast-button/element.js +0 -2
- package/dist/default/ui/command-for.js +0 -2
- package/dist/default/ui/container/element.js +0 -2
- package/dist/default/ui/context-part-element.js +0 -2
- package/dist/default/ui/controls/backdrop.js +0 -2
- package/dist/default/ui/controls/content.js +0 -2
- package/dist/default/ui/controls/context.js +0 -2
- package/dist/default/ui/controls/element.js +4 -2
- package/dist/default/ui/controls/group.js +0 -2
- package/dist/default/ui/dialog/backdrop.js +0 -2
- package/dist/default/ui/dialog/close.js +1 -2
- package/dist/default/ui/dialog/context.js +0 -2
- package/dist/default/ui/dialog/description.js +4 -2
- package/dist/default/ui/dialog/element.js +0 -2
- package/dist/default/ui/dialog/popup.js +0 -2
- package/dist/default/ui/dialog/title.js +1 -2
- package/dist/default/ui/error-dialog/element.js +0 -2
- package/dist/default/ui/fullscreen-button/element.js +0 -2
- package/dist/default/ui/gesture/element.js +0 -2
- package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +0 -2
- package/dist/default/ui/hotkey/element.js +0 -2
- package/dist/default/ui/input-indicator/element.js +0 -2
- package/dist/default/ui/input-indicator/live-indicator.js +0 -2
- package/dist/default/ui/live-button/element.js +0 -2
- package/dist/default/ui/media-button-element.js +0 -2
- package/dist/default/ui/media-ui-element.js +0 -2
- package/dist/default/ui/menu/checkbox-item.js +6 -3
- package/dist/default/ui/menu/content.js +1 -3
- package/dist/default/ui/menu/context.js +0 -2
- package/dist/default/ui/menu/element.js +0 -2
- package/dist/default/ui/menu/group-controller.js +0 -2
- package/dist/default/ui/menu/group-label.js +1 -2
- package/dist/default/ui/menu/group.js +4 -2
- package/dist/default/ui/menu/item-indicator.js +4 -2
- package/dist/default/ui/menu/item.js +4 -2
- package/dist/default/ui/menu/radio-group.js +1 -2
- package/dist/default/ui/menu/radio-item.js +4 -2
- package/dist/default/ui/menu/separator.js +1 -2
- package/dist/default/ui/mute-button/element.js +0 -2
- package/dist/default/ui/pip-button/element.js +0 -2
- package/dist/default/ui/play-button/element.js +0 -2
- package/dist/default/ui/playback-rate-button/element.js +0 -2
- package/dist/default/ui/playback-rate-radio-group/element.js +5 -2
- package/dist/default/ui/popover/element.js +0 -2
- package/dist/default/ui/position-controller.js +0 -2
- package/dist/default/ui/poster/element.js +0 -2
- package/dist/default/ui/quality-radio-group/element.js +6 -2
- package/dist/default/ui/radio-group/context.js +0 -2
- package/dist/default/ui/radio-group/element.js +0 -2
- package/dist/default/ui/radio-options/controller.js +0 -2
- package/dist/default/ui/seek-button/element.js +0 -2
- package/dist/default/ui/seek-indicator/element.js +0 -2
- package/dist/default/ui/seek-indicator/value.js +0 -2
- package/dist/default/ui/slider/buffer.js +0 -2
- package/dist/default/ui/slider/context.js +0 -2
- package/dist/default/ui/slider/element.js +0 -2
- package/dist/default/ui/slider/fill.js +0 -2
- package/dist/default/ui/slider/preview.js +0 -2
- package/dist/default/ui/slider/thumb.js +0 -2
- package/dist/default/ui/slider/thumbnail.js +4 -2
- package/dist/default/ui/slider/track.js +0 -2
- package/dist/default/ui/slider/value.js +1 -2
- package/dist/default/ui/status-announcer/element.js +0 -2
- package/dist/default/ui/status-indicator/element.js +0 -2
- package/dist/default/ui/status-indicator/value.js +0 -2
- package/dist/default/ui/text/element.js +0 -2
- package/dist/default/ui/thumbnail/element.js +28 -8
- package/dist/default/ui/time/element.js +0 -2
- package/dist/default/ui/time/group.js +1 -2
- package/dist/default/ui/time/separator.js +0 -2
- package/dist/default/ui/time-slider/chapter-title.js +0 -2
- package/dist/default/ui/time-slider/chapters.js +0 -2
- package/dist/default/ui/time-slider/element.js +5 -4
- package/dist/default/ui/title/element.js +5 -9
- package/dist/default/ui/tooltip/context.js +0 -2
- package/dist/default/ui/tooltip/element.js +0 -2
- package/dist/default/ui/tooltip/group.js +0 -2
- package/dist/default/ui/tooltip/label.js +0 -2
- package/dist/default/ui/tooltip/shortcut.js +0 -2
- package/dist/default/ui/ui-element.js +0 -2
- package/dist/default/ui/volume-indicator/element.js +0 -2
- package/dist/default/ui/volume-indicator/fill.js +0 -2
- package/dist/default/ui/volume-indicator/value.js +0 -2
- package/dist/default/ui/volume-popover/element.js +0 -2
- package/dist/default/ui/volume-slider/element.js +0 -2
- package/dist/dev/define/audio/minimal-skin.css +663 -414
- package/dist/dev/define/audio/minimal-skin2.js +1 -1
- package/dist/dev/define/audio/minimal-skin2.js.map +1 -1
- package/dist/dev/define/audio/skin.css +409 -205
- package/dist/dev/define/audio/skin2.js +1 -1
- package/dist/dev/define/audio/skin2.js.map +1 -1
- package/dist/dev/define/global.css +13 -0
- package/dist/dev/define/global.js +1 -1
- package/dist/dev/define/global.js.map +1 -1
- package/dist/dev/define/live-audio/minimal-skin.css +458 -368
- package/dist/dev/define/live-audio/minimal-skin2.js +1 -1
- package/dist/dev/define/live-audio/minimal-skin2.js.map +1 -1
- package/dist/dev/define/live-audio/skin.css +221 -159
- 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/minimal-skin.css +1002 -863
- package/dist/dev/define/live-video/minimal-skin2.js +1 -1
- package/dist/dev/define/live-video/minimal-skin2.js.map +1 -1
- package/dist/dev/define/live-video/skin.css +804 -687
- 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/shadow.css +22 -0
- package/dist/dev/define/shadow.js +6 -0
- package/dist/dev/define/shadow.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.css +764 -647
- package/dist/dev/define/video/minimal-skin2.js +1 -1
- package/dist/dev/define/video/minimal-skin2.js.map +1 -1
- package/dist/dev/define/video/skin.css +528 -441
- package/dist/dev/define/video/skin2.js +1 -1
- package/dist/dev/define/video/skin2.js.map +1 -1
- package/dist/dev/i18n/index.d.ts +2 -2
- package/dist/dev/i18n/index.js +2 -2
- package/dist/dev/index.d.ts +3 -3
- package/dist/dev/index.js +2 -2
- package/dist/dev/internal/skins/default-audio/skin.css +387 -191
- package/dist/dev/internal/skins/default-audio/template.js +12 -12
- package/dist/dev/internal/skins/default-audio/template.js.map +1 -1
- package/dist/dev/internal/skins/default-live-audio/skin.css +199 -145
- package/dist/dev/internal/skins/default-live-audio/template.js +5 -5
- package/dist/dev/internal/skins/default-live-audio/template.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/register.d.ts +1 -0
- package/dist/dev/internal/skins/default-live-video/register.js +1 -0
- package/dist/dev/internal/skins/default-live-video/register.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/skin.css +713 -604
- package/dist/dev/internal/skins/default-live-video/template.js +18 -17
- package/dist/dev/internal/skins/default-live-video/template.js.map +1 -1
- package/dist/dev/internal/skins/default-video/register.d.ts +1 -0
- package/dist/dev/internal/skins/default-video/register.js +1 -0
- package/dist/dev/internal/skins/default-video/register.js.map +1 -1
- package/dist/dev/internal/skins/default-video/skin.css +506 -427
- package/dist/dev/internal/skins/default-video/template.js +33 -31
- package/dist/dev/internal/skins/default-video/template.js.map +1 -1
- package/dist/dev/internal/skins/minimal-audio/skin.css +641 -400
- package/dist/dev/internal/skins/minimal-audio/template.js +12 -12
- package/dist/dev/internal/skins/minimal-audio/template.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-audio/skin.css +436 -354
- package/dist/dev/internal/skins/minimal-live-audio/template.js +5 -5
- package/dist/dev/internal/skins/minimal-live-audio/template.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/register.d.ts +1 -0
- package/dist/dev/internal/skins/minimal-live-video/register.js +1 -0
- package/dist/dev/internal/skins/minimal-live-video/register.js.map +1 -1
- package/dist/dev/internal/skins/minimal-live-video/skin.css +916 -785
- package/dist/dev/internal/skins/minimal-live-video/template.js +18 -17
- package/dist/dev/internal/skins/minimal-live-video/template.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/register.d.ts +1 -0
- package/dist/dev/internal/skins/minimal-video/register.js +1 -0
- package/dist/dev/internal/skins/minimal-video/register.js.map +1 -1
- package/dist/dev/internal/skins/minimal-video/skin.css +742 -633
- package/dist/dev/internal/skins/minimal-video/template.js +33 -31
- package/dist/dev/internal/skins/minimal-video/template.js.map +1 -1
- package/dist/dev/internal/skins/properties.css +11 -0
- package/dist/dev/player/context.d.ts +1 -0
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/presets/background/skin.js +2 -0
- package/dist/dev/presets/background/skin.js.map +1 -1
- package/dist/dev/presets/skin.js +14 -3
- package/dist/dev/presets/skin.js.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/element.d.ts +5 -0
- package/dist/dev/ui/audio-track-radio-group/element.js +5 -0
- package/dist/dev/ui/audio-track-radio-group/element.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/element.d.ts +5 -0
- package/dist/dev/ui/captions-radio-group/element.js +5 -0
- package/dist/dev/ui/captions-radio-group/element.js.map +1 -1
- package/dist/dev/ui/controls/element.d.ts +4 -0
- package/dist/dev/ui/controls/element.js +4 -0
- package/dist/dev/ui/controls/element.js.map +1 -1
- package/dist/dev/ui/dialog/close.d.ts +1 -0
- package/dist/dev/ui/dialog/close.js +1 -0
- package/dist/dev/ui/dialog/close.js.map +1 -1
- package/dist/dev/ui/dialog/description.d.ts +4 -0
- package/dist/dev/ui/dialog/description.js +4 -0
- package/dist/dev/ui/dialog/description.js.map +1 -1
- package/dist/dev/ui/dialog/title.d.ts +1 -0
- package/dist/dev/ui/dialog/title.js +1 -0
- package/dist/dev/ui/dialog/title.js.map +1 -1
- package/dist/dev/ui/menu/checkbox-item.d.ts +6 -1
- package/dist/dev/ui/menu/checkbox-item.js +6 -1
- package/dist/dev/ui/menu/checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/content.js +1 -1
- package/dist/dev/ui/menu/content.js.map +1 -1
- package/dist/dev/ui/menu/group-label.d.ts +1 -0
- package/dist/dev/ui/menu/group-label.js +1 -0
- package/dist/dev/ui/menu/group-label.js.map +1 -1
- package/dist/dev/ui/menu/group.d.ts +4 -0
- package/dist/dev/ui/menu/group.js +4 -0
- package/dist/dev/ui/menu/group.js.map +1 -1
- package/dist/dev/ui/menu/item-indicator.d.ts +4 -0
- package/dist/dev/ui/menu/item-indicator.js +4 -0
- package/dist/dev/ui/menu/item-indicator.js.map +1 -1
- package/dist/dev/ui/menu/item.d.ts +4 -0
- package/dist/dev/ui/menu/item.js +4 -0
- package/dist/dev/ui/menu/item.js.map +1 -1
- package/dist/dev/ui/menu/radio-group.d.ts +1 -0
- package/dist/dev/ui/menu/radio-group.js +1 -0
- package/dist/dev/ui/menu/radio-group.js.map +1 -1
- package/dist/dev/ui/menu/radio-item.d.ts +4 -0
- package/dist/dev/ui/menu/radio-item.js +4 -0
- package/dist/dev/ui/menu/radio-item.js.map +1 -1
- package/dist/dev/ui/menu/separator.d.ts +1 -0
- package/dist/dev/ui/menu/separator.js +1 -0
- package/dist/dev/ui/menu/separator.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/element.d.ts +5 -0
- package/dist/dev/ui/playback-rate-radio-group/element.js +5 -0
- package/dist/dev/ui/playback-rate-radio-group/element.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/element.d.ts +6 -0
- package/dist/dev/ui/quality-radio-group/element.js +6 -0
- package/dist/dev/ui/quality-radio-group/element.js.map +1 -1
- package/dist/dev/ui/slider/thumbnail.d.ts +4 -0
- package/dist/dev/ui/slider/thumbnail.js +4 -0
- package/dist/dev/ui/slider/thumbnail.js.map +1 -1
- package/dist/dev/ui/slider/value.d.ts +1 -0
- package/dist/dev/ui/slider/value.js +1 -0
- package/dist/dev/ui/slider/value.js.map +1 -1
- package/dist/dev/ui/thumbnail/element.d.ts +3 -1
- package/dist/dev/ui/thumbnail/element.js +28 -6
- package/dist/dev/ui/thumbnail/element.js.map +1 -1
- package/dist/dev/ui/time/group.d.ts +1 -0
- package/dist/dev/ui/time/group.js +1 -0
- package/dist/dev/ui/time/group.js.map +1 -1
- package/dist/dev/ui/time-slider/element.js +5 -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 +5 -7
- package/dist/dev/ui/title/element.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/guides/accessibility.md +93 -0
- package/docs/{concepts/overview.md → guides/architecture.md} +20 -21
- package/docs/{how-to → guides}/autoplay.md +42 -47
- package/docs/{how-to/add-a-background-video.md → guides/background-video.md} +36 -51
- package/docs/guides/browser-support.md +145 -0
- package/docs/guides/build-with-ai.md +167 -0
- package/docs/guides/build-your-own-component.md +245 -0
- package/docs/{concepts → guides}/bundlers.md +13 -5
- package/docs/guides/captions.md +140 -0
- package/docs/{how-to/cast-to-airplay-and-chromecast.md → guides/casting.md} +40 -39
- package/docs/guides/cdn.md +102 -0
- package/docs/guides/content-security-policy.md +37 -0
- package/docs/{how-to/show-and-hide-controls.md → guides/controls.md} +38 -37
- package/docs/guides/customize-skins.md +141 -0
- package/docs/{concepts → guides}/features.md +22 -46
- package/docs/guides/fullscreen.md +145 -0
- package/docs/guides/installation-cdn.md +164 -0
- package/docs/guides/installation-shadcn.md +305 -0
- package/docs/guides/installation-svelte.md +198 -0
- package/docs/guides/installation-vue.md +229 -0
- package/docs/guides/installation.md +186 -0
- package/docs/{how-to/internationalize-the-player.md → guides/internationalization.md} +84 -103
- package/docs/guides/keyboard-shortcuts.md +98 -0
- package/docs/guides/live-streams.md +110 -0
- package/docs/guides/llms.txt +79 -0
- package/docs/{concepts → guides}/media-sources.md +66 -260
- package/docs/{how-to → guides}/migrate-from-media-chrome.md +79 -249
- package/docs/{how-to → guides}/migrate-from-mux-player.md +146 -321
- package/docs/guides/migrate-from-plyr.md +296 -0
- package/docs/guides/migrate-from-video-js-8.md +467 -0
- package/docs/{concepts → guides}/mux-data.md +26 -27
- package/docs/{how-to/use-picture-in-picture.md → guides/picture-in-picture.md} +31 -33
- package/docs/guides/playback-errors.md +129 -0
- package/docs/{how-to/add-a-poster-and-loading-placeholder.md → guides/poster.md} +24 -34
- package/docs/{concepts → guides}/presets.md +17 -131
- package/docs/{how-to/add-quality-selector.md → guides/quality.md} +41 -41
- package/docs/{how-to/self-host-the-player.md → guides/self-hosting.md} +31 -41
- package/docs/guides/skins.md +68 -0
- package/docs/{how-to/use-videojs-with-svelte.md → guides/svelte.md} +15 -18
- package/docs/guides/thumbnails.md +183 -0
- package/docs/{concepts → guides}/typescript.md +10 -3
- package/docs/{concepts → guides}/ui-components.md +8 -14
- package/docs/{how-to/remember-user-preferences.md → guides/user-preferences.md} +25 -28
- package/docs/guides/v10-roadmap.md +92 -0
- package/docs/{how-to/use-videojs-with-vue.md → guides/vue.md} +19 -22
- package/docs/{concepts → guides}/why-videojs.md +36 -17
- package/docs/llms.txt +253 -181
- package/docs/reference/api/aria-key-shortcuts-controller.md +50 -0
- package/docs/reference/{create-i18n.md → api/create-i18n.md} +13 -52
- package/docs/reference/{create-selector.md → api/create-selector.md} +11 -33
- package/docs/reference/api/create-translator.md +36 -0
- package/docs/reference/api/error-codes.md +25 -0
- package/docs/reference/{feature-audio-track.md → api/feature-audio-track.md} +10 -36
- package/docs/reference/{feature-buffer.md → api/feature-buffer.md} +8 -31
- package/docs/reference/{feature-controls.md → api/feature-controls.md} +12 -58
- package/docs/reference/{feature-error.md → api/feature-error.md} +10 -36
- package/docs/reference/{feature-fullscreen.md → api/feature-fullscreen.md} +14 -69
- package/docs/reference/{feature-live.md → api/feature-live.md} +15 -42
- package/docs/reference/{feature-metadata.md → api/feature-metadata.md} +20 -80
- package/docs/reference/{feature-orientation-lock.md → api/feature-orientation-lock.md} +16 -64
- package/docs/reference/{feature-pip.md → api/feature-pip.md} +13 -66
- package/docs/reference/{feature-playback-rate.md → api/feature-playback-rate.md} +11 -46
- package/docs/reference/{feature-playback.md → api/feature-playback.md} +15 -86
- package/docs/reference/{feature-quality.md → api/feature-quality.md} +11 -46
- package/docs/reference/{feature-remote-playback.md → api/feature-remote-playback.md} +12 -47
- package/docs/reference/{feature-source.md → api/feature-source.md} +11 -46
- package/docs/reference/{feature-stream-type.md → api/feature-stream-type.md} +7 -23
- package/docs/reference/api/feature-text-tracks.md +54 -0
- package/docs/reference/{feature-time.md → api/feature-time.md} +12 -56
- package/docs/reference/{feature-volume.md → api/feature-volume.md} +14 -76
- package/docs/reference/{get-i18n-translations.md → api/get-i18n-translations.md} +11 -41
- package/docs/reference/{has-registered-locale.md → api/has-registered-locale.md} +7 -29
- package/docs/reference/{html-create-player.md → api/html-create-player.md} +45 -203
- package/docs/reference/{i-18-n-controller.md → api/i18n-controller.md} +12 -62
- package/docs/reference/api/llms.txt +74 -0
- package/docs/reference/{media-i18n.md → api/media-i18n.md} +8 -16
- package/docs/reference/{media-text.md → api/media-text.md} +3 -7
- package/docs/reference/{on-i18n-registry-change.md → api/on-i18n-registry-change.md} +9 -37
- package/docs/reference/{player-controller.md → api/player-controller.md} +36 -142
- package/docs/reference/{register-i18n.md → api/register-i18n.md} +9 -42
- package/docs/reference/api/snapshot-controller.md +95 -0
- package/docs/reference/api/store-controller.md +85 -0
- package/docs/reference/{subscription-controller.md → api/subscription-controller.md} +12 -70
- package/docs/reference/api/translation-phrases.md +107 -0
- package/docs/reference/api/vjs8-legacy-component.md +21 -0
- package/docs/reference/api/vjs8-legacy-get-player.md +21 -0
- package/docs/reference/api/vjs8-legacy-init.md +21 -0
- package/docs/reference/api/vjs8-legacy-options.md +21 -0
- package/docs/reference/api/vjs8-legacy-plugin.md +21 -0
- package/docs/reference/{airplay-button.md → components/airplay-button.md} +41 -194
- package/docs/reference/{alert-dialog.md → components/alert-dialog.md} +91 -280
- package/docs/reference/components/audio-minimal-skin.md +39 -0
- package/docs/reference/components/audio-skin.md +39 -0
- package/docs/reference/{audio-track-radio-group.md → components/audio-track-radio-group.md} +47 -219
- package/docs/reference/{audio.md → components/audio.md} +16 -17
- package/docs/reference/components/background-video-skin.md +37 -0
- package/docs/reference/{background-video.md → components/background-video.md} +25 -53
- package/docs/reference/{buffering-indicator.md → components/buffering-indicator.md} +21 -65
- package/docs/reference/{captions-button.md → components/captions-button.md} +35 -171
- package/docs/reference/{captions-radio-group.md → components/captions-radio-group.md} +48 -227
- package/docs/reference/{cast-button.md → components/cast-button.md} +39 -179
- package/docs/reference/components/cloudflare-video.md +157 -0
- package/docs/reference/{controls.md → components/controls.md} +52 -171
- package/docs/reference/components/dash-video.md +111 -0
- package/docs/reference/{dialog.md → components/dialog.md} +101 -314
- package/docs/reference/{error-dialog.md → components/error-dialog.md} +66 -162
- package/docs/reference/{fullscreen-button.md → components/fullscreen-button.md} +35 -153
- package/docs/reference/{gesture.md → components/gesture.md} +28 -130
- package/docs/reference/components/google-cast.md +47 -0
- package/docs/reference/components/hls-audio.md +87 -0
- package/docs/reference/components/hls-background-video.md +51 -0
- package/docs/reference/components/hls-video.md +110 -0
- package/docs/reference/components/hlsjs-video.md +126 -0
- package/docs/reference/{hotkey.md → components/hotkey.md} +28 -115
- package/docs/reference/{live-audio-minimal-skin.md → components/live-audio-minimal-skin.md} +12 -16
- package/docs/reference/{live-audio-skin.md → components/live-audio-skin.md} +12 -16
- package/docs/reference/{live-button.md → components/live-button.md} +36 -156
- package/docs/reference/components/live-video-minimal-skin.md +47 -0
- package/docs/reference/components/live-video-skin.md +47 -0
- package/docs/reference/components/llms.txt +122 -0
- package/docs/reference/{menu.md → components/menu.md} +123 -541
- package/docs/reference/{mute-button.md → components/mute-button.md} +50 -200
- package/docs/reference/components/mux-audio.md +127 -0
- package/docs/reference/{mux-background-video.md → components/mux-background-video.md} +9 -15
- package/docs/reference/components/mux-data.md +51 -0
- package/docs/reference/components/mux-video.md +220 -0
- package/docs/reference/components/native-hls-video.md +128 -0
- package/docs/reference/{pip-button.md → components/pip-button.md} +35 -153
- package/docs/reference/{play-button.md → components/play-button.md} +30 -134
- package/docs/reference/{playback-rate-button.md → components/playback-rate-button.md} +25 -105
- package/docs/reference/{playback-rate-radio-group.md → components/playback-rate-radio-group.md} +47 -223
- package/docs/reference/{player-container.md → components/player-container.md} +16 -27
- package/docs/reference/{player.md → components/player.md} +14 -24
- package/docs/reference/components/popover.md +193 -0
- package/docs/reference/{poster.md → components/poster.md} +42 -162
- package/docs/reference/{quality-radio-group.md → components/quality-radio-group.md} +47 -219
- package/docs/reference/{seek-button.md → components/seek-button.md} +26 -127
- package/docs/reference/{seek-indicator.md → components/seek-indicator.md} +55 -233
- package/docs/reference/components/shaka-video.md +161 -0
- package/docs/reference/components/slider.md +414 -0
- package/docs/reference/components/spotify-audio.md +144 -0
- package/docs/reference/{status-announcer.md → components/status-announcer.md} +37 -122
- package/docs/reference/{status-indicator.md → components/status-indicator.md} +57 -278
- package/docs/reference/components/thumbnail.md +321 -0
- package/docs/reference/components/tiktok-video.md +165 -0
- package/docs/reference/{time-slider.md → components/time-slider.md} +136 -595
- package/docs/reference/{time.md → components/time.md} +96 -286
- package/docs/reference/{title.md → components/title.md} +31 -70
- package/docs/reference/components/tooltip.md +274 -0
- package/docs/reference/components/twitch-video.md +161 -0
- package/docs/reference/components/video-minimal-skin.md +51 -0
- package/docs/reference/components/video-skin.md +51 -0
- package/docs/reference/{video.md → components/video.md} +14 -17
- package/docs/reference/components/vimeo-video.md +173 -0
- package/docs/reference/{volume-indicator.md → components/volume-indicator.md} +78 -291
- package/docs/reference/components/volume-popover.md +232 -0
- package/docs/reference/components/volume-slider.md +331 -0
- package/docs/reference/{wistia-video.md → components/wistia-video.md} +22 -30
- package/docs/reference/components/youtube-video.md +163 -0
- package/package.json +39 -38
- package/dist/default/define/audio/minimal-skin.js.map +0 -1
- package/dist/default/define/audio/minimal-skin2.js.map +0 -1
- package/dist/default/define/audio/minimal-ui.js.map +0 -1
- package/dist/default/define/audio/player.js.map +0 -1
- package/dist/default/define/audio/skin.js.map +0 -1
- package/dist/default/define/audio/skin2.js.map +0 -1
- package/dist/default/define/audio/ui.js.map +0 -1
- package/dist/default/define/background/player.js.map +0 -1
- package/dist/default/define/background/skin.js.map +0 -1
- package/dist/default/define/background/skin2.js.map +0 -1
- package/dist/default/define/extensions/google-cast.js.map +0 -1
- package/dist/default/define/extensions/mux-data.js.map +0 -1
- package/dist/default/define/global.js.map +0 -1
- package/dist/default/define/i18n.js.map +0 -1
- package/dist/default/define/live-audio/minimal-skin.js.map +0 -1
- package/dist/default/define/live-audio/minimal-skin2.js.map +0 -1
- package/dist/default/define/live-audio/minimal-ui.js.map +0 -1
- package/dist/default/define/live-audio/player.js.map +0 -1
- package/dist/default/define/live-audio/skin.js.map +0 -1
- package/dist/default/define/live-audio/skin2.js.map +0 -1
- package/dist/default/define/live-audio/ui.js.map +0 -1
- package/dist/default/define/live-video/minimal-skin.js.map +0 -1
- package/dist/default/define/live-video/minimal-skin2.js.map +0 -1
- package/dist/default/define/live-video/minimal-ui.js.map +0 -1
- package/dist/default/define/live-video/player.js.map +0 -1
- package/dist/default/define/live-video/skin.js.map +0 -1
- package/dist/default/define/live-video/skin2.js.map +0 -1
- package/dist/default/define/live-video/ui.js.map +0 -1
- package/dist/default/define/media/background-video.js.map +0 -1
- package/dist/default/define/media/cloudflare-video.js.map +0 -1
- package/dist/default/define/media/dash-video.js.map +0 -1
- package/dist/default/define/media/hls-audio.js.map +0 -1
- package/dist/default/define/media/hls-background-video.js.map +0 -1
- package/dist/default/define/media/hls-video.js.map +0 -1
- package/dist/default/define/media/hlsjs-video.js.map +0 -1
- package/dist/default/define/media/mux-audio/hls-js.js.map +0 -1
- package/dist/default/define/media/mux-audio/spf.js.map +0 -1
- package/dist/default/define/media/mux-background-video.js.map +0 -1
- package/dist/default/define/media/mux-video/hls-js.js.map +0 -1
- package/dist/default/define/media/mux-video/spf.js.map +0 -1
- package/dist/default/define/media/native-hls-video.js.map +0 -1
- package/dist/default/define/media/shaka-video.js.map +0 -1
- package/dist/default/define/media/spotify-audio.js.map +0 -1
- package/dist/default/define/media/tiktok-video.js.map +0 -1
- package/dist/default/define/media/twitch-video.js.map +0 -1
- package/dist/default/define/media/vimeo-video.js.map +0 -1
- package/dist/default/define/media/wistia-video.js.map +0 -1
- package/dist/default/define/media/youtube-video.js.map +0 -1
- package/dist/default/define/shared.css +0 -27
- package/dist/default/define/shared.js +0 -6
- package/dist/default/define/shared.js.map +0 -1
- package/dist/default/define/ui/airplay-button.js.map +0 -1
- package/dist/default/define/ui/alert-dialog.js.map +0 -1
- package/dist/default/define/ui/audio-track-radio-group.js.map +0 -1
- package/dist/default/define/ui/buffering-indicator.js.map +0 -1
- package/dist/default/define/ui/captions-button.js.map +0 -1
- package/dist/default/define/ui/captions-radio-group.js.map +0 -1
- package/dist/default/define/ui/cast-button.js.map +0 -1
- package/dist/default/define/ui/container.js.map +0 -1
- package/dist/default/define/ui/controls-backdrop.js.map +0 -1
- package/dist/default/define/ui/controls-content.js.map +0 -1
- package/dist/default/define/ui/controls-group.js.map +0 -1
- package/dist/default/define/ui/controls.js.map +0 -1
- package/dist/default/define/ui/dialog-backdrop.js.map +0 -1
- package/dist/default/define/ui/dialog-close.js.map +0 -1
- package/dist/default/define/ui/dialog-description.js.map +0 -1
- package/dist/default/define/ui/dialog-popup.js.map +0 -1
- package/dist/default/define/ui/dialog-title.js.map +0 -1
- package/dist/default/define/ui/dialog.js.map +0 -1
- package/dist/default/define/ui/error-dialog.js.map +0 -1
- package/dist/default/define/ui/fullscreen-button.js.map +0 -1
- package/dist/default/define/ui/gesture.js.map +0 -1
- package/dist/default/define/ui/hotkey.js.map +0 -1
- package/dist/default/define/ui/live-button.js.map +0 -1
- package/dist/default/define/ui/menu-checkbox-item.js.map +0 -1
- package/dist/default/define/ui/menu-content.js.map +0 -1
- package/dist/default/define/ui/menu-group-label.js.map +0 -1
- package/dist/default/define/ui/menu-group.js.map +0 -1
- package/dist/default/define/ui/menu-item-indicator.js.map +0 -1
- package/dist/default/define/ui/menu-item.js.map +0 -1
- package/dist/default/define/ui/menu-radio-group.js.map +0 -1
- package/dist/default/define/ui/menu-radio-item.js.map +0 -1
- package/dist/default/define/ui/menu-separator.js.map +0 -1
- package/dist/default/define/ui/menu.js.map +0 -1
- package/dist/default/define/ui/mute-button.js.map +0 -1
- package/dist/default/define/ui/pip-button.js.map +0 -1
- package/dist/default/define/ui/play-button.js.map +0 -1
- package/dist/default/define/ui/playback-rate-button.js.map +0 -1
- package/dist/default/define/ui/playback-rate-radio-group.js.map +0 -1
- package/dist/default/define/ui/popover.js.map +0 -1
- package/dist/default/define/ui/poster.js.map +0 -1
- package/dist/default/define/ui/quality-radio-group.js.map +0 -1
- package/dist/default/define/ui/seek-button.js.map +0 -1
- package/dist/default/define/ui/seek-indicator-value.js.map +0 -1
- package/dist/default/define/ui/seek-indicator.js.map +0 -1
- package/dist/default/define/ui/slider-buffer.js.map +0 -1
- package/dist/default/define/ui/slider-fill.js.map +0 -1
- package/dist/default/define/ui/slider-preview.js.map +0 -1
- package/dist/default/define/ui/slider-thumb.js.map +0 -1
- package/dist/default/define/ui/slider-thumbnail.js.map +0 -1
- package/dist/default/define/ui/slider-track.js.map +0 -1
- package/dist/default/define/ui/slider-value.js.map +0 -1
- package/dist/default/define/ui/slider.js.map +0 -1
- package/dist/default/define/ui/status-announcer.js.map +0 -1
- package/dist/default/define/ui/status-indicator-value.js.map +0 -1
- package/dist/default/define/ui/status-indicator.js.map +0 -1
- package/dist/default/define/ui/thumbnail.js.map +0 -1
- package/dist/default/define/ui/time-group.js.map +0 -1
- package/dist/default/define/ui/time-separator.js.map +0 -1
- package/dist/default/define/ui/time-slider-chapter-title.js.map +0 -1
- package/dist/default/define/ui/time-slider-chapters.js.map +0 -1
- package/dist/default/define/ui/time-slider.js.map +0 -1
- package/dist/default/define/ui/time.js.map +0 -1
- package/dist/default/define/ui/title.js.map +0 -1
- package/dist/default/define/ui/tooltip-group.js.map +0 -1
- package/dist/default/define/ui/tooltip-label.js.map +0 -1
- package/dist/default/define/ui/tooltip-shortcut.js.map +0 -1
- package/dist/default/define/ui/tooltip.js.map +0 -1
- package/dist/default/define/ui/volume-indicator-fill.js.map +0 -1
- package/dist/default/define/ui/volume-indicator-value.js.map +0 -1
- package/dist/default/define/ui/volume-indicator.js.map +0 -1
- package/dist/default/define/ui/volume-popover.js.map +0 -1
- package/dist/default/define/ui/volume-slider.js.map +0 -1
- package/dist/default/define/video/minimal-skin.js.map +0 -1
- package/dist/default/define/video/minimal-skin2.js.map +0 -1
- package/dist/default/define/video/minimal-ui.js.map +0 -1
- package/dist/default/define/video/player.js.map +0 -1
- package/dist/default/define/video/skin.js.map +0 -1
- package/dist/default/define/video/skin2.js.map +0 -1
- package/dist/default/define/video/ui.js.map +0 -1
- package/dist/default/extensions/google-cast/extension.js.map +0 -1
- package/dist/default/extensions/media-extension-element.js.map +0 -1
- package/dist/default/extensions/mux-data/extension.js.map +0 -1
- package/dist/default/i18n/cache-key.js.map +0 -1
- package/dist/default/i18n/context.js.map +0 -1
- package/dist/default/i18n/controller.js.map +0 -1
- package/dist/default/i18n/create-i18n.js.map +0 -1
- package/dist/default/i18n/locale.js.map +0 -1
- package/dist/default/i18n/locales/all/register.js.map +0 -1
- package/dist/default/i18n/locales/ar/register.js.map +0 -1
- package/dist/default/i18n/locales/az/register.js.map +0 -1
- package/dist/default/i18n/locales/bg/register.js.map +0 -1
- package/dist/default/i18n/locales/bn/register.js.map +0 -1
- package/dist/default/i18n/locales/bs/register.js.map +0 -1
- package/dist/default/i18n/locales/ca/register.js.map +0 -1
- package/dist/default/i18n/locales/cs/register.js.map +0 -1
- package/dist/default/i18n/locales/cy/register.js.map +0 -1
- package/dist/default/i18n/locales/da/register.js.map +0 -1
- package/dist/default/i18n/locales/de/register.js.map +0 -1
- package/dist/default/i18n/locales/el/register.js.map +0 -1
- package/dist/default/i18n/locales/en/register.js.map +0 -1
- package/dist/default/i18n/locales/es/register.js.map +0 -1
- package/dist/default/i18n/locales/et/register.js.map +0 -1
- package/dist/default/i18n/locales/eu/register.js.map +0 -1
- package/dist/default/i18n/locales/fa/register.js.map +0 -1
- package/dist/default/i18n/locales/fi/register.js.map +0 -1
- package/dist/default/i18n/locales/fr/register.js.map +0 -1
- package/dist/default/i18n/locales/gd/register.js.map +0 -1
- package/dist/default/i18n/locales/gl/register.js.map +0 -1
- package/dist/default/i18n/locales/he/register.js.map +0 -1
- package/dist/default/i18n/locales/hi/register.js.map +0 -1
- package/dist/default/i18n/locales/hr/register.js.map +0 -1
- package/dist/default/i18n/locales/hu/register.js.map +0 -1
- package/dist/default/i18n/locales/id/register.js.map +0 -1
- package/dist/default/i18n/locales/it/register.js.map +0 -1
- package/dist/default/i18n/locales/ja/register.js.map +0 -1
- package/dist/default/i18n/locales/ko/register.js.map +0 -1
- package/dist/default/i18n/locales/lt/register.js.map +0 -1
- package/dist/default/i18n/locales/lv/register.js.map +0 -1
- package/dist/default/i18n/locales/mr/register.js.map +0 -1
- package/dist/default/i18n/locales/nb/register.js.map +0 -1
- package/dist/default/i18n/locales/ne/register.js.map +0 -1
- package/dist/default/i18n/locales/nl/register.js.map +0 -1
- package/dist/default/i18n/locales/nn/register.js.map +0 -1
- package/dist/default/i18n/locales/oc/register.js.map +0 -1
- package/dist/default/i18n/locales/pl/register.js.map +0 -1
- package/dist/default/i18n/locales/pt/register.js.map +0 -1
- package/dist/default/i18n/locales/pt-BR/register.js.map +0 -1
- package/dist/default/i18n/locales/pt-PT/register.js.map +0 -1
- package/dist/default/i18n/locales/ro/register.js.map +0 -1
- package/dist/default/i18n/locales/ru/register.js.map +0 -1
- package/dist/default/i18n/locales/sk/register.js.map +0 -1
- package/dist/default/i18n/locales/sl/register.js.map +0 -1
- package/dist/default/i18n/locales/sr/register.js.map +0 -1
- package/dist/default/i18n/locales/sv/register.js.map +0 -1
- package/dist/default/i18n/locales/te/register.js.map +0 -1
- package/dist/default/i18n/locales/th/register.js.map +0 -1
- package/dist/default/i18n/locales/tr/register.js.map +0 -1
- package/dist/default/i18n/locales/uk/register.js.map +0 -1
- package/dist/default/i18n/locales/vi/register.js.map +0 -1
- package/dist/default/i18n/locales/zh/register.js.map +0 -1
- package/dist/default/i18n/locales/zh-CN/register.js.map +0 -1
- package/dist/default/i18n/locales/zh-TW/register.js.map +0 -1
- package/dist/default/i18n/provider-element.js.map +0 -1
- package/dist/default/i18n/provider-mixin.js.map +0 -1
- package/dist/default/i18n/render-text.js.map +0 -1
- package/dist/default/i18n/text-mixin.js.map +0 -1
- package/dist/default/icons/dist/element/base.js.map +0 -1
- package/dist/default/icons/dist/element/default/icons.js.map +0 -1
- package/dist/default/icons/dist/element/default/index.js.map +0 -1
- package/dist/default/icons/dist/element/index.js.map +0 -1
- package/dist/default/icons/dist/element/minimal/icons.js.map +0 -1
- package/dist/default/icons/dist/element/minimal/index.js.map +0 -1
- package/dist/default/icons/dist/html/default/airplay-enter.js.map +0 -1
- package/dist/default/icons/dist/html/default/airplay-exit.js.map +0 -1
- package/dist/default/icons/dist/html/default/captions-off.js.map +0 -1
- package/dist/default/icons/dist/html/default/captions-on.js.map +0 -1
- package/dist/default/icons/dist/html/default/cast-enter.js.map +0 -1
- package/dist/default/icons/dist/html/default/cast-exit.js.map +0 -1
- package/dist/default/icons/dist/html/default/check.js.map +0 -1
- package/dist/default/icons/dist/html/default/chevron.js.map +0 -1
- package/dist/default/icons/dist/html/default/fullscreen-enter.js.map +0 -1
- package/dist/default/icons/dist/html/default/fullscreen-exit.js.map +0 -1
- package/dist/default/icons/dist/html/default/gear.js.map +0 -1
- package/dist/default/icons/dist/html/default/pause.js.map +0 -1
- package/dist/default/icons/dist/html/default/pip-enter.js.map +0 -1
- package/dist/default/icons/dist/html/default/pip-exit.js.map +0 -1
- package/dist/default/icons/dist/html/default/play.js.map +0 -1
- package/dist/default/icons/dist/html/default/quality.js.map +0 -1
- package/dist/default/icons/dist/html/default/restart.js.map +0 -1
- package/dist/default/icons/dist/html/default/seek.js.map +0 -1
- package/dist/default/icons/dist/html/default/speech.js.map +0 -1
- package/dist/default/icons/dist/html/default/speed.js.map +0 -1
- package/dist/default/icons/dist/html/default/spinner.js.map +0 -1
- package/dist/default/icons/dist/html/default/switches.js.map +0 -1
- package/dist/default/icons/dist/html/default/volume-high.js.map +0 -1
- package/dist/default/icons/dist/html/default/volume-low.js.map +0 -1
- package/dist/default/icons/dist/html/default/volume-off.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/airplay-enter.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/airplay-exit.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/captions-off.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/captions-on.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/cast-enter.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/cast-exit.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/check.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/chevron.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/fullscreen-enter.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/fullscreen-exit.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/gear.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/pause.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/pip-enter.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/pip-exit.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/play.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/quality.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/restart.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/seek.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/speech.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/speed.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/spinner.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/switches.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/volume-high.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/volume-low.js.map +0 -1
- package/dist/default/icons/dist/html/minimal/volume-off.js.map +0 -1
- package/dist/default/icons/element/register/index.js.map +0 -1
- package/dist/default/internal/skins/default-audio/register.js.map +0 -1
- package/dist/default/internal/skins/default-audio/template.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/register.js.map +0 -1
- package/dist/default/internal/skins/default-live-audio/template.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/register.js.map +0 -1
- package/dist/default/internal/skins/default-live-video/template.js.map +0 -1
- package/dist/default/internal/skins/default-video/register.js.map +0 -1
- package/dist/default/internal/skins/default-video/template.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/register.js.map +0 -1
- package/dist/default/internal/skins/minimal-audio/template.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/register.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-audio/template.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/register.js.map +0 -1
- package/dist/default/internal/skins/minimal-live-video/template.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/register.js.map +0 -1
- package/dist/default/internal/skins/minimal-video/template.js.map +0 -1
- package/dist/default/media/background-video/adapter.js.map +0 -1
- package/dist/default/media/background-video/template.js.map +0 -1
- package/dist/default/media/cloudflare-video/adapter.js.map +0 -1
- package/dist/default/media/dash-video/adapter.js.map +0 -1
- package/dist/default/media/hls-audio/adapter.js.map +0 -1
- package/dist/default/media/hls-background-video/adapter.js.map +0 -1
- package/dist/default/media/hls-video/adapter.js.map +0 -1
- package/dist/default/media/hlsjs-video/adapter.js.map +0 -1
- package/dist/default/media/mux-audio/hls-js.js.map +0 -1
- package/dist/default/media/mux-audio/mixin.js.map +0 -1
- package/dist/default/media/mux-audio/spf.js.map +0 -1
- package/dist/default/media/mux-video/hls-js.js.map +0 -1
- package/dist/default/media/mux-video/mixin.js.map +0 -1
- package/dist/default/media/mux-video/spf.js.map +0 -1
- package/dist/default/media/native-hls-video/adapter.js.map +0 -1
- package/dist/default/media/shaka-video/adapter.js.map +0 -1
- package/dist/default/media/spotify-audio/adapter.js.map +0 -1
- package/dist/default/media/tiktok-video/adapter.js.map +0 -1
- package/dist/default/media/twitch-video/adapter.js.map +0 -1
- package/dist/default/media/vimeo-video/adapter.js.map +0 -1
- package/dist/default/media/wistia-video/adapter.js.map +0 -1
- package/dist/default/media/youtube-video/adapter.js.map +0 -1
- package/dist/default/player/context.js.map +0 -1
- package/dist/default/player/controller.js.map +0 -1
- package/dist/default/player/create-player.js.map +0 -1
- package/dist/default/player/element.js.map +0 -1
- package/dist/default/player/popup-group-context.js.map +0 -1
- package/dist/default/presets/audio/minimal-skin.js.map +0 -1
- package/dist/default/presets/audio/player.js.map +0 -1
- package/dist/default/presets/audio/skin.js.map +0 -1
- package/dist/default/presets/background/player.js.map +0 -1
- package/dist/default/presets/background/skin.js.map +0 -1
- package/dist/default/presets/live-audio/minimal-skin.js.map +0 -1
- package/dist/default/presets/live-audio/player.js.map +0 -1
- package/dist/default/presets/live-audio/skin.js.map +0 -1
- package/dist/default/presets/live-video/minimal-skin.js.map +0 -1
- package/dist/default/presets/live-video/player.js.map +0 -1
- package/dist/default/presets/live-video/skin.js.map +0 -1
- package/dist/default/presets/skin.js.map +0 -1
- package/dist/default/presets/video/minimal-skin.js.map +0 -1
- package/dist/default/presets/video/player.js.map +0 -1
- package/dist/default/presets/video/skin.js.map +0 -1
- package/dist/default/registration/safe-define.js.map +0 -1
- package/dist/default/registration/ui-compounds.js.map +0 -1
- package/dist/default/store/media-attach-mixin.js.map +0 -1
- package/dist/default/ui/airplay-button/element.js.map +0 -1
- package/dist/default/ui/alert-dialog/element.js.map +0 -1
- package/dist/default/ui/audio-track-radio-group/element.js.map +0 -1
- package/dist/default/ui/buffering-indicator/element.js.map +0 -1
- package/dist/default/ui/captions-button/element.js.map +0 -1
- package/dist/default/ui/captions-radio-group/element.js.map +0 -1
- package/dist/default/ui/cast-button/element.js.map +0 -1
- package/dist/default/ui/command-for.js.map +0 -1
- package/dist/default/ui/container/element.js.map +0 -1
- package/dist/default/ui/context-part-element.js.map +0 -1
- package/dist/default/ui/controls/backdrop.js.map +0 -1
- package/dist/default/ui/controls/content.js.map +0 -1
- package/dist/default/ui/controls/context.js.map +0 -1
- package/dist/default/ui/controls/element.js.map +0 -1
- package/dist/default/ui/controls/group.js.map +0 -1
- package/dist/default/ui/dialog/backdrop.js.map +0 -1
- package/dist/default/ui/dialog/close.js.map +0 -1
- package/dist/default/ui/dialog/context.js.map +0 -1
- package/dist/default/ui/dialog/description.js.map +0 -1
- package/dist/default/ui/dialog/element.js.map +0 -1
- package/dist/default/ui/dialog/popup.js.map +0 -1
- package/dist/default/ui/dialog/title.js.map +0 -1
- package/dist/default/ui/error-dialog/element.js.map +0 -1
- package/dist/default/ui/fullscreen-button/element.js.map +0 -1
- package/dist/default/ui/gesture/element.js.map +0 -1
- package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +0 -1
- package/dist/default/ui/hotkey/element.js.map +0 -1
- package/dist/default/ui/input-indicator/element.js.map +0 -1
- package/dist/default/ui/input-indicator/live-indicator.js.map +0 -1
- package/dist/default/ui/live-button/element.js.map +0 -1
- package/dist/default/ui/media-button-element.js.map +0 -1
- package/dist/default/ui/media-ui-element.js.map +0 -1
- package/dist/default/ui/menu/checkbox-item.js.map +0 -1
- package/dist/default/ui/menu/content.js.map +0 -1
- package/dist/default/ui/menu/context.js.map +0 -1
- package/dist/default/ui/menu/element.js.map +0 -1
- package/dist/default/ui/menu/group-controller.js.map +0 -1
- package/dist/default/ui/menu/group-label.js.map +0 -1
- package/dist/default/ui/menu/group.js.map +0 -1
- package/dist/default/ui/menu/item-indicator.js.map +0 -1
- package/dist/default/ui/menu/item.js.map +0 -1
- package/dist/default/ui/menu/radio-group.js.map +0 -1
- package/dist/default/ui/menu/radio-item.js.map +0 -1
- package/dist/default/ui/menu/separator.js.map +0 -1
- package/dist/default/ui/mute-button/element.js.map +0 -1
- package/dist/default/ui/pip-button/element.js.map +0 -1
- package/dist/default/ui/play-button/element.js.map +0 -1
- package/dist/default/ui/playback-rate-button/element.js.map +0 -1
- package/dist/default/ui/playback-rate-radio-group/element.js.map +0 -1
- package/dist/default/ui/popover/element.js.map +0 -1
- package/dist/default/ui/position-controller.js.map +0 -1
- package/dist/default/ui/poster/element.js.map +0 -1
- package/dist/default/ui/quality-radio-group/element.js.map +0 -1
- package/dist/default/ui/radio-group/context.js.map +0 -1
- package/dist/default/ui/radio-group/element.js.map +0 -1
- package/dist/default/ui/radio-options/controller.js.map +0 -1
- package/dist/default/ui/seek-button/element.js.map +0 -1
- package/dist/default/ui/seek-indicator/element.js.map +0 -1
- package/dist/default/ui/seek-indicator/value.js.map +0 -1
- package/dist/default/ui/slider/buffer.js.map +0 -1
- package/dist/default/ui/slider/context.js.map +0 -1
- package/dist/default/ui/slider/element.js.map +0 -1
- package/dist/default/ui/slider/fill.js.map +0 -1
- package/dist/default/ui/slider/preview.js.map +0 -1
- package/dist/default/ui/slider/thumb.js.map +0 -1
- package/dist/default/ui/slider/thumbnail.js.map +0 -1
- package/dist/default/ui/slider/track.js.map +0 -1
- package/dist/default/ui/slider/value.js.map +0 -1
- package/dist/default/ui/status-announcer/element.js.map +0 -1
- package/dist/default/ui/status-indicator/element.js.map +0 -1
- package/dist/default/ui/status-indicator/value.js.map +0 -1
- package/dist/default/ui/text/element.js.map +0 -1
- package/dist/default/ui/thumbnail/element.js.map +0 -1
- package/dist/default/ui/time/element.js.map +0 -1
- package/dist/default/ui/time/group.js.map +0 -1
- package/dist/default/ui/time/separator.js.map +0 -1
- package/dist/default/ui/time-slider/chapter-title.js.map +0 -1
- package/dist/default/ui/time-slider/chapters.js.map +0 -1
- package/dist/default/ui/time-slider/element.js.map +0 -1
- package/dist/default/ui/title/element.js.map +0 -1
- package/dist/default/ui/tooltip/context.js.map +0 -1
- package/dist/default/ui/tooltip/element.js.map +0 -1
- package/dist/default/ui/tooltip/group.js.map +0 -1
- package/dist/default/ui/tooltip/label.js.map +0 -1
- package/dist/default/ui/tooltip/shortcut.js.map +0 -1
- package/dist/default/ui/ui-element.js.map +0 -1
- package/dist/default/ui/volume-indicator/element.js.map +0 -1
- package/dist/default/ui/volume-indicator/fill.js.map +0 -1
- package/dist/default/ui/volume-indicator/value.js.map +0 -1
- package/dist/default/ui/volume-popover/element.js.map +0 -1
- package/dist/default/ui/volume-slider/element.js.map +0 -1
- package/dist/dev/define/extensions/google-cast.d.ts.map +0 -1
- package/dist/dev/define/extensions/mux-data.d.ts.map +0 -1
- package/dist/dev/define/i18n.d.ts.map +0 -1
- package/dist/dev/define/media/background-video.d.ts.map +0 -1
- package/dist/dev/define/media/cloudflare-video.d.ts.map +0 -1
- package/dist/dev/define/media/dash-video.d.ts.map +0 -1
- package/dist/dev/define/media/hls-audio.d.ts.map +0 -1
- package/dist/dev/define/media/hls-background-video.d.ts.map +0 -1
- package/dist/dev/define/media/hls-video.d.ts.map +0 -1
- package/dist/dev/define/media/hlsjs-video.d.ts.map +0 -1
- package/dist/dev/define/media/mux-audio/hls-js.d.ts.map +0 -1
- package/dist/dev/define/media/mux-audio/spf.d.ts.map +0 -1
- package/dist/dev/define/media/mux-background-video.d.ts.map +0 -1
- package/dist/dev/define/media/mux-video/hls-js.d.ts.map +0 -1
- package/dist/dev/define/media/mux-video/spf.d.ts.map +0 -1
- package/dist/dev/define/media/native-hls-video.d.ts.map +0 -1
- package/dist/dev/define/media/shaka-video.d.ts.map +0 -1
- package/dist/dev/define/media/spotify-audio.d.ts.map +0 -1
- package/dist/dev/define/media/tiktok-video.d.ts.map +0 -1
- package/dist/dev/define/media/twitch-video.d.ts.map +0 -1
- package/dist/dev/define/media/vimeo-video.d.ts.map +0 -1
- package/dist/dev/define/media/wistia-video.d.ts.map +0 -1
- package/dist/dev/define/media/youtube-video.d.ts.map +0 -1
- package/dist/dev/define/shared.css +0 -27
- package/dist/dev/define/shared.js +0 -6
- package/dist/dev/define/shared.js.map +0 -1
- package/dist/dev/define/ui/airplay-button.d.ts.map +0 -1
- package/dist/dev/define/ui/alert-dialog.d.ts.map +0 -1
- package/dist/dev/define/ui/audio-track-radio-group.d.ts.map +0 -1
- package/dist/dev/define/ui/buffering-indicator.d.ts.map +0 -1
- package/dist/dev/define/ui/captions-button.d.ts.map +0 -1
- package/dist/dev/define/ui/captions-radio-group.d.ts.map +0 -1
- package/dist/dev/define/ui/cast-button.d.ts.map +0 -1
- package/dist/dev/define/ui/container.d.ts.map +0 -1
- package/dist/dev/define/ui/controls-backdrop.d.ts.map +0 -1
- package/dist/dev/define/ui/controls-content.d.ts.map +0 -1
- package/dist/dev/define/ui/controls-group.d.ts.map +0 -1
- package/dist/dev/define/ui/controls.d.ts.map +0 -1
- package/dist/dev/define/ui/dialog-backdrop.d.ts.map +0 -1
- package/dist/dev/define/ui/dialog-close.d.ts.map +0 -1
- package/dist/dev/define/ui/dialog-description.d.ts.map +0 -1
- package/dist/dev/define/ui/dialog-popup.d.ts.map +0 -1
- package/dist/dev/define/ui/dialog-title.d.ts.map +0 -1
- package/dist/dev/define/ui/dialog.d.ts.map +0 -1
- package/dist/dev/define/ui/error-dialog.d.ts.map +0 -1
- package/dist/dev/define/ui/fullscreen-button.d.ts.map +0 -1
- package/dist/dev/define/ui/gesture.d.ts.map +0 -1
- package/dist/dev/define/ui/hotkey.d.ts.map +0 -1
- package/dist/dev/define/ui/live-button.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-checkbox-item.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-content.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-group-label.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-group.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-item-indicator.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-item.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-radio-group.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-radio-item.d.ts.map +0 -1
- package/dist/dev/define/ui/menu-separator.d.ts.map +0 -1
- package/dist/dev/define/ui/menu.d.ts.map +0 -1
- package/dist/dev/define/ui/mute-button.d.ts.map +0 -1
- package/dist/dev/define/ui/pip-button.d.ts.map +0 -1
- package/dist/dev/define/ui/play-button.d.ts.map +0 -1
- package/dist/dev/define/ui/playback-rate-button.d.ts.map +0 -1
- package/dist/dev/define/ui/playback-rate-radio-group.d.ts.map +0 -1
- package/dist/dev/define/ui/popover.d.ts.map +0 -1
- package/dist/dev/define/ui/poster.d.ts.map +0 -1
- package/dist/dev/define/ui/quality-radio-group.d.ts.map +0 -1
- package/dist/dev/define/ui/seek-button.d.ts.map +0 -1
- package/dist/dev/define/ui/seek-indicator-value.d.ts.map +0 -1
- package/dist/dev/define/ui/seek-indicator.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-buffer.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-fill.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-preview.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-thumb.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-thumbnail.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-track.d.ts.map +0 -1
- package/dist/dev/define/ui/slider-value.d.ts.map +0 -1
- package/dist/dev/define/ui/slider.d.ts.map +0 -1
- package/dist/dev/define/ui/status-announcer.d.ts.map +0 -1
- package/dist/dev/define/ui/status-indicator-value.d.ts.map +0 -1
- package/dist/dev/define/ui/status-indicator.d.ts.map +0 -1
- package/dist/dev/define/ui/thumbnail.d.ts.map +0 -1
- package/dist/dev/define/ui/time-group.d.ts.map +0 -1
- package/dist/dev/define/ui/time-separator.d.ts.map +0 -1
- package/dist/dev/define/ui/time-slider-chapter-title.d.ts.map +0 -1
- package/dist/dev/define/ui/time-slider-chapters.d.ts.map +0 -1
- package/dist/dev/define/ui/time-slider.d.ts.map +0 -1
- package/dist/dev/define/ui/time.d.ts.map +0 -1
- package/dist/dev/define/ui/title.d.ts.map +0 -1
- package/dist/dev/define/ui/tooltip-group.d.ts.map +0 -1
- package/dist/dev/define/ui/tooltip-label.d.ts.map +0 -1
- package/dist/dev/define/ui/tooltip-shortcut.d.ts.map +0 -1
- package/dist/dev/define/ui/tooltip.d.ts.map +0 -1
- package/dist/dev/define/ui/volume-indicator-fill.d.ts.map +0 -1
- package/dist/dev/define/ui/volume-indicator-value.d.ts.map +0 -1
- package/dist/dev/define/ui/volume-indicator.d.ts.map +0 -1
- package/dist/dev/define/ui/volume-popover.d.ts.map +0 -1
- package/dist/dev/define/ui/volume-slider.d.ts.map +0 -1
- package/dist/dev/extensions/google-cast/extension.d.ts.map +0 -1
- package/dist/dev/extensions/media-extension-element.d.ts.map +0 -1
- package/dist/dev/extensions/mux-data/extension.d.ts.map +0 -1
- package/dist/dev/i18n/context.d.ts.map +0 -1
- package/dist/dev/i18n/controller.d.ts.map +0 -1
- package/dist/dev/i18n/create-i18n.d.ts.map +0 -1
- package/dist/dev/i18n/locale.d.ts.map +0 -1
- package/dist/dev/i18n/provider-element.d.ts.map +0 -1
- package/dist/dev/i18n/provider-mixin.d.ts.map +0 -1
- package/dist/dev/i18n/render-text.d.ts.map +0 -1
- package/dist/dev/i18n/text-mixin.d.ts.map +0 -1
- package/dist/dev/i18n/types.d.ts.map +0 -1
- package/dist/dev/icons/dist/element/base.d.ts.map +0 -1
- package/dist/dev/icons/dist/html/default/index.d.ts.map +0 -1
- package/dist/dev/icons/dist/html/minimal/index.d.ts.map +0 -1
- package/dist/dev/icons/element/register/index.d.ts.map +0 -1
- package/dist/dev/index.d.ts.map +0 -1
- package/dist/dev/media/background-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/background-video/template.d.ts.map +0 -1
- package/dist/dev/media/cloudflare-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/dash-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/hls-audio/adapter.d.ts.map +0 -1
- package/dist/dev/media/hls-background-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/hls-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/hlsjs-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/mux-audio/hls-js.d.ts.map +0 -1
- package/dist/dev/media/mux-audio/spf.d.ts.map +0 -1
- package/dist/dev/media/mux-video/hls-js.d.ts.map +0 -1
- package/dist/dev/media/mux-video/spf.d.ts.map +0 -1
- package/dist/dev/media/native-hls-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/shaka-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/spotify-audio/adapter.d.ts.map +0 -1
- package/dist/dev/media/tiktok-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/twitch-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/vimeo-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/wistia-video/adapter.d.ts.map +0 -1
- package/dist/dev/media/youtube-video/adapter.d.ts.map +0 -1
- package/dist/dev/player/context.d.ts.map +0 -1
- package/dist/dev/player/controller.d.ts.map +0 -1
- package/dist/dev/player/create-player.d.ts.map +0 -1
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/audio/player.d.ts.map +0 -1
- package/dist/dev/presets/audio/skin.d.ts.map +0 -1
- package/dist/dev/presets/background/player.d.ts.map +0 -1
- package/dist/dev/presets/background/skin.d.ts.map +0 -1
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/live-audio/player.d.ts.map +0 -1
- package/dist/dev/presets/live-audio/skin.d.ts.map +0 -1
- package/dist/dev/presets/live-video/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/live-video/player.d.ts.map +0 -1
- package/dist/dev/presets/live-video/skin.d.ts.map +0 -1
- package/dist/dev/presets/skin.d.ts.map +0 -1
- package/dist/dev/presets/video/minimal-skin.d.ts.map +0 -1
- package/dist/dev/presets/video/player.d.ts.map +0 -1
- package/dist/dev/presets/video/skin.d.ts.map +0 -1
- package/dist/dev/store/media-attach-mixin.d.ts.map +0 -1
- package/dist/dev/store/types.d.ts.map +0 -1
- package/dist/dev/ui/airplay-button/element.d.ts.map +0 -1
- package/dist/dev/ui/alert-dialog/element.d.ts.map +0 -1
- package/dist/dev/ui/audio-track-radio-group/element.d.ts.map +0 -1
- package/dist/dev/ui/buffering-indicator/element.d.ts.map +0 -1
- package/dist/dev/ui/captions-button/element.d.ts.map +0 -1
- package/dist/dev/ui/captions-radio-group/element.d.ts.map +0 -1
- package/dist/dev/ui/cast-button/element.d.ts.map +0 -1
- package/dist/dev/ui/container/element.d.ts.map +0 -1
- package/dist/dev/ui/context-part-element.d.ts.map +0 -1
- package/dist/dev/ui/controls/backdrop.d.ts.map +0 -1
- package/dist/dev/ui/controls/content.d.ts.map +0 -1
- package/dist/dev/ui/controls/context.d.ts.map +0 -1
- package/dist/dev/ui/controls/element.d.ts.map +0 -1
- package/dist/dev/ui/controls/group.d.ts.map +0 -1
- package/dist/dev/ui/dialog/backdrop.d.ts.map +0 -1
- package/dist/dev/ui/dialog/close.d.ts.map +0 -1
- package/dist/dev/ui/dialog/context.d.ts.map +0 -1
- package/dist/dev/ui/dialog/description.d.ts.map +0 -1
- package/dist/dev/ui/dialog/element.d.ts.map +0 -1
- package/dist/dev/ui/dialog/popup.d.ts.map +0 -1
- package/dist/dev/ui/dialog/title.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/element.d.ts.map +0 -1
- package/dist/dev/ui/fullscreen-button/element.d.ts.map +0 -1
- package/dist/dev/ui/gesture/element.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +0 -1
- package/dist/dev/ui/hotkey/element.d.ts.map +0 -1
- package/dist/dev/ui/input-indicator/element.d.ts.map +0 -1
- package/dist/dev/ui/input-indicator/live-indicator.d.ts.map +0 -1
- package/dist/dev/ui/live-button/element.d.ts.map +0 -1
- package/dist/dev/ui/media-button-element.d.ts.map +0 -1
- package/dist/dev/ui/media-ui-element.d.ts.map +0 -1
- package/dist/dev/ui/menu/checkbox-item.d.ts.map +0 -1
- package/dist/dev/ui/menu/content.d.ts.map +0 -1
- package/dist/dev/ui/menu/context.d.ts.map +0 -1
- package/dist/dev/ui/menu/element.d.ts.map +0 -1
- package/dist/dev/ui/menu/group-label.d.ts.map +0 -1
- package/dist/dev/ui/menu/group.d.ts.map +0 -1
- package/dist/dev/ui/menu/item-indicator.d.ts.map +0 -1
- package/dist/dev/ui/menu/item.d.ts.map +0 -1
- package/dist/dev/ui/menu/radio-group.d.ts.map +0 -1
- package/dist/dev/ui/menu/radio-item.d.ts.map +0 -1
- package/dist/dev/ui/menu/separator.d.ts.map +0 -1
- package/dist/dev/ui/mute-button/element.d.ts.map +0 -1
- package/dist/dev/ui/pip-button/element.d.ts.map +0 -1
- package/dist/dev/ui/play-button/element.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-button/element.d.ts.map +0 -1
- package/dist/dev/ui/playback-rate-radio-group/element.d.ts.map +0 -1
- package/dist/dev/ui/popover/element.d.ts.map +0 -1
- package/dist/dev/ui/poster/element.d.ts.map +0 -1
- package/dist/dev/ui/quality-radio-group/element.d.ts.map +0 -1
- package/dist/dev/ui/radio-group/context.d.ts.map +0 -1
- package/dist/dev/ui/radio-group/element.d.ts.map +0 -1
- package/dist/dev/ui/seek-button/element.d.ts.map +0 -1
- package/dist/dev/ui/seek-indicator/element.d.ts.map +0 -1
- package/dist/dev/ui/seek-indicator/value.d.ts.map +0 -1
- package/dist/dev/ui/slider/buffer.d.ts.map +0 -1
- package/dist/dev/ui/slider/context.d.ts.map +0 -1
- package/dist/dev/ui/slider/element.d.ts.map +0 -1
- package/dist/dev/ui/slider/events.d.ts.map +0 -1
- package/dist/dev/ui/slider/fill.d.ts.map +0 -1
- package/dist/dev/ui/slider/preview.d.ts.map +0 -1
- package/dist/dev/ui/slider/thumb.d.ts.map +0 -1
- package/dist/dev/ui/slider/thumbnail.d.ts.map +0 -1
- package/dist/dev/ui/slider/track.d.ts.map +0 -1
- package/dist/dev/ui/slider/value.d.ts.map +0 -1
- package/dist/dev/ui/status-announcer/element.d.ts.map +0 -1
- package/dist/dev/ui/status-indicator/element.d.ts.map +0 -1
- package/dist/dev/ui/status-indicator/value.d.ts.map +0 -1
- package/dist/dev/ui/text/element.d.ts.map +0 -1
- package/dist/dev/ui/thumbnail/element.d.ts.map +0 -1
- package/dist/dev/ui/time/element.d.ts.map +0 -1
- package/dist/dev/ui/time/group.d.ts.map +0 -1
- package/dist/dev/ui/time/separator.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/chapter-title.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/chapters.d.ts.map +0 -1
- package/dist/dev/ui/time-slider/element.d.ts.map +0 -1
- package/dist/dev/ui/title/element.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/context.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/element.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/group.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/label.d.ts.map +0 -1
- package/dist/dev/ui/tooltip/shortcut.d.ts.map +0 -1
- package/dist/dev/ui/ui-element.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/element.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/fill.d.ts.map +0 -1
- package/dist/dev/ui/volume-indicator/value.d.ts.map +0 -1
- package/dist/dev/ui/volume-popover/element.d.ts.map +0 -1
- package/dist/dev/ui/volume-slider/element.d.ts.map +0 -1
- package/docs/concepts/accessibility.md +0 -68
- package/docs/concepts/browser-support.md +0 -45
- package/docs/concepts/cdn.md +0 -119
- package/docs/concepts/custom-element-lifecycle.md +0 -115
- package/docs/concepts/security.md +0 -32
- package/docs/concepts/skins.md +0 -188
- package/docs/concepts/v10-roadmap.md +0 -75
- package/docs/how-to/add-keyboard-shortcuts-and-gestures.md +0 -98
- package/docs/how-to/build-with-ai.md +0 -39
- package/docs/how-to/build-your-own-component.md +0 -350
- package/docs/how-to/customize-skins.md +0 -358
- package/docs/how-to/go-fullscreen-and-lock-orientation.md +0 -147
- package/docs/how-to/handle-playback-errors.md +0 -88
- package/docs/how-to/installation.md +0 -165
- package/docs/how-to/migrate-from-plyr.md +0 -406
- package/docs/how-to/migrate-from-video-js-8.md +0 -626
- package/docs/how-to/play-live-streams.md +0 -116
- package/docs/how-to/show-captions-and-subtitles.md +0 -140
- package/docs/how-to/show-timeline-thumbnail-previews.md +0 -164
- package/docs/reference/aria-key-shortcuts-controller.md +0 -117
- package/docs/reference/audio-minimal-skin.md +0 -43
- package/docs/reference/audio-skin.md +0 -43
- package/docs/reference/background-video-skin.md +0 -39
- package/docs/reference/cloudflare-video.md +0 -513
- package/docs/reference/create-translator.md +0 -81
- package/docs/reference/dash-video.md +0 -363
- package/docs/reference/feature-text-tracks.md +0 -134
- package/docs/reference/google-cast.md +0 -83
- package/docs/reference/hls-audio.md +0 -212
- package/docs/reference/hls-background-video.md +0 -100
- package/docs/reference/hls-video.md +0 -339
- package/docs/reference/hlsjs-video.md +0 -1047
- package/docs/reference/html-i-18-n-context.md +0 -55
- package/docs/reference/live-video-minimal-skin.md +0 -51
- package/docs/reference/live-video-skin.md +0 -51
- package/docs/reference/media-attach-mixin.md +0 -101
- package/docs/reference/mux-audio.md +0 -951
- package/docs/reference/mux-data.md +0 -107
- package/docs/reference/mux-video.md +0 -1152
- package/docs/reference/native-hls-video.md +0 -375
- package/docs/reference/player-context.md +0 -60
- package/docs/reference/popover.md +0 -505
- package/docs/reference/shaka-video.md +0 -642
- package/docs/reference/slider.md +0 -859
- package/docs/reference/snapshot-controller.md +0 -244
- package/docs/reference/spotify-audio.md +0 -424
- package/docs/reference/store-controller.md +0 -208
- package/docs/reference/thumbnail.md +0 -386
- package/docs/reference/tiktok-video.md +0 -534
- package/docs/reference/tooltip.md +0 -631
- package/docs/reference/translation-phrases.md +0 -453
- package/docs/reference/twitch-video.md +0 -477
- package/docs/reference/video-minimal-skin.md +0 -49
- package/docs/reference/video-skin.md +0 -49
- package/docs/reference/vimeo-video.md +0 -1056
- package/docs/reference/volume-popover.md +0 -527
- package/docs/reference/volume-slider.md +0 -759
- package/docs/reference/youtube-video.md +0 -603
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Show timeline thumbnail previews
|
|
2
|
+
|
|
3
|
+
Preview frames along the timeline while the user scrubs, powered by a storyboard track.
|
|
4
|
+
|
|
5
|
+
Show preview frames along the timeline while the user scrubs, like YouTube’s seek previews.
|
|
6
|
+
|
|
7
|
+
> **Tip: Using Mux?**
|
|
8
|
+
>
|
|
9
|
+
> With [`<mux-video>`](../reference/components/mux-video.md), the storyboard track is wired up for you — skip adding the track and go straight to the slider thumbnail. For other services, generate the storyboard on their platform and add the track yourself.
|
|
10
|
+
|
|
11
|
+
> **Note**
|
|
12
|
+
>
|
|
13
|
+
> Using a pre-built [skin](./skins.md)? It already includes the controls shown here. You may still need the media or player setup in this guide. The component examples are for building your own player UI from individual [components](./ui-components.md).
|
|
14
|
+
|
|
15
|
+
## Recommended approach
|
|
16
|
+
|
|
17
|
+
Add a `kind="metadata"` track labeled `thumbnails` whose cues reference storyboard images, then put a slider thumbnail inside the [`<media-time-slider>`](../reference/components/time-slider.md). Scrubbing shows the frame under the pointer. The slider thumbnail reads the pointer time from the slider, so you never pass `time`; it otherwise accepts the same attributes as the standalone [`<media-thumbnail>`](../reference/components/thumbnail.md).
|
|
18
|
+
|
|
19
|
+
`<media-slider-thumbnail>` draws its own image unless you supply an `<img>` child; set `crossorigin`, `loading`, or `fetchpriority` on the element itself, or on the image you supply. Inside a packaged skin, an `<img slot="thumbnail">` replaces the image the skin carries, so those attributes go on it:
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<video-player>
|
|
23
|
+
<video-skin>
|
|
24
|
+
<video src="video.mp4" crossorigin="anonymous">
|
|
25
|
+
<track kind="metadata" label="thumbnails" src="storyboard.vtt" default />
|
|
26
|
+
</video>
|
|
27
|
+
<img slot="thumbnail" alt="" loading="lazy" fetchpriority="low" />
|
|
28
|
+
</video-skin>
|
|
29
|
+
</video-player>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**index.html**
|
|
33
|
+
|
|
34
|
+
```html
|
|
35
|
+
<video-player class="video-player">
|
|
36
|
+
<media-container>
|
|
37
|
+
<video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" autoplay muted playsinline loop crossorigin="anonymous">
|
|
38
|
+
<track kind="metadata" label="thumbnails" src="https://image.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/storyboard.vtt" default />
|
|
39
|
+
</video>
|
|
40
|
+
<media-time-slider class="media-time-slider">
|
|
41
|
+
<media-slider-track class="media-slider-track">
|
|
42
|
+
<media-slider-fill class="media-slider-fill"></media-slider-fill>
|
|
43
|
+
</media-slider-track>
|
|
44
|
+
<media-slider-thumbnail class="media-slider-thumbnail"></media-slider-thumbnail>
|
|
45
|
+
</media-time-slider>
|
|
46
|
+
</media-container>
|
|
47
|
+
</video-player>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**index.css**
|
|
51
|
+
|
|
52
|
+
```css
|
|
53
|
+
.video-player {
|
|
54
|
+
position: relative;
|
|
55
|
+
display: block;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.video-player video {
|
|
59
|
+
width: 100%;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.media-time-slider {
|
|
63
|
+
position: absolute;
|
|
64
|
+
right: 10px;
|
|
65
|
+
bottom: 6px;
|
|
66
|
+
left: 10px;
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
height: 20px;
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.media-slider-track {
|
|
74
|
+
position: absolute;
|
|
75
|
+
right: 0;
|
|
76
|
+
left: 0;
|
|
77
|
+
height: 4px;
|
|
78
|
+
background: rgba(255, 255, 255, 0.3);
|
|
79
|
+
border-radius: 9999px;
|
|
80
|
+
transition: height 150ms ease;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.media-time-slider[data-interactive] .media-slider-track {
|
|
84
|
+
height: 6px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.media-slider-fill {
|
|
88
|
+
position: absolute;
|
|
89
|
+
top: 0;
|
|
90
|
+
left: 0;
|
|
91
|
+
width: var(--media-slider-fill);
|
|
92
|
+
height: 100%;
|
|
93
|
+
background: white;
|
|
94
|
+
border-radius: 9999px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Reveal the preview over the pointer while it is on the slider. */
|
|
98
|
+
.media-slider-thumbnail {
|
|
99
|
+
position: absolute;
|
|
100
|
+
bottom: 100%;
|
|
101
|
+
left: var(--media-slider-pointer);
|
|
102
|
+
max-width: 160px;
|
|
103
|
+
margin-bottom: 8px;
|
|
104
|
+
pointer-events: none;
|
|
105
|
+
border-radius: 4px;
|
|
106
|
+
opacity: 0;
|
|
107
|
+
transform: translateX(-50%);
|
|
108
|
+
transition: opacity 150ms ease;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.media-time-slider[data-pointing] .media-slider-thumbnail {
|
|
112
|
+
opacity: 1;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.media-slider-thumbnail[data-hidden] {
|
|
116
|
+
display: none;
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**index.ts**
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import '@videojs/html/video/player';
|
|
124
|
+
import '@videojs/html/ui/container';
|
|
125
|
+
import '@videojs/html/ui/time-slider';
|
|
126
|
+
import '@videojs/html/ui/slider-track';
|
|
127
|
+
import '@videojs/html/ui/slider-fill';
|
|
128
|
+
import '@videojs/html/ui/slider-thumbnail';
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## How it works
|
|
132
|
+
|
|
133
|
+
- Previews come from a storyboard: a `kind="metadata"` text track labeled `thumbnails` whose WebVTT cues map time ranges to image URLs (optionally with sprite coordinates). The [text track feature](../reference/api/feature-text-tracks.md) exposes these as `thumbnailCues` and `thumbnailTrackSrc`.
|
|
134
|
+
- The slider thumbnail renders the storyboard frame for the slider’s pointer position. While the pointer is over the slider, the slider sets `data-pointing` and the `--media-slider-pointer` CSS variable; the example’s CSS uses them to reveal the preview and position it over the pointer.
|
|
135
|
+
- To render a storyboard frame outside the slider — a fixed preview for a chapter list, for example — use the standalone [`<media-thumbnail>`](../reference/components/thumbnail.md) element with an explicit `time`.
|
|
136
|
+
|
|
137
|
+
Each cue’s text is an image URL. An optional `#xywh=x,y,w,h` fragment crops one frame out of a sprite sheet:
|
|
138
|
+
|
|
139
|
+
**storyboard.vtt**
|
|
140
|
+
|
|
141
|
+
```txt
|
|
142
|
+
WEBVTT
|
|
143
|
+
|
|
144
|
+
00:00:00.000 --> 00:00:05.000
|
|
145
|
+
storyboard.jpg#xywh=0,0,256,160
|
|
146
|
+
|
|
147
|
+
00:00:05.000 --> 00:00:10.000
|
|
148
|
+
storyboard.jpg#xywh=256,0,256,160
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Availability and constraints
|
|
152
|
+
|
|
153
|
+
- Thumbnails require a storyboard asset generated alongside the media; the player doesn’t extract frames from the video itself.
|
|
154
|
+
- Cross-origin storyboards need CORS headers, and `crossorigin` on the media element for the track to load.
|
|
155
|
+
- Cues load asynchronously. The track appears before its cues are parsed, so previews fill in when the track finishes loading.
|
|
156
|
+
- Storyboard images download on demand; oversized sprite sheets hurt seek-preview responsiveness more than they help quality.
|
|
157
|
+
|
|
158
|
+
## Troubleshooting
|
|
159
|
+
|
|
160
|
+
### Thumbnails don’t appear while scrubbing
|
|
161
|
+
|
|
162
|
+
Confirm the storyboard track is `kind="metadata"` with `label="thumbnails"` and has the `default` attribute — the browser leaves a non-default track disabled and never loads its cues. Then confirm the VTT loads (network panel) and cross-origin assets have CORS headers with `crossorigin` set on the media element.
|
|
163
|
+
|
|
164
|
+
### Thumbnails are blurry or slow
|
|
165
|
+
|
|
166
|
+
Regenerate the storyboard with a larger frame size, or split giant sprite sheets into smaller images.
|
|
167
|
+
|
|
168
|
+
## Related pages
|
|
169
|
+
|
|
170
|
+
### Components
|
|
171
|
+
|
|
172
|
+
- [media-thumbnail](../reference/components/thumbnail.md): Time-based thumbnail preview component for timeline scrubbing and hover previews
|
|
173
|
+
- [media-slider](../reference/components/slider.md): A composable slider component with track, fill, thumb, preview, and value parts
|
|
174
|
+
- [media-time-slider](../reference/components/time-slider.md): A slider component for seeking through media playback time
|
|
175
|
+
|
|
176
|
+
### API
|
|
177
|
+
|
|
178
|
+
- [Text tracks](../reference/api/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
|
|
179
|
+
|
|
180
|
+
### Guides
|
|
181
|
+
|
|
182
|
+
- [Add a poster and loading placeholder](./poster.md): Set the image shown before playback, then add a lightweight placeholder while it loads
|
|
183
|
+
- [Show captions and subtitles](./captions.md): Show captions and subtitles, and let users turn them on and pick a language.
|
|
@@ -12,9 +12,9 @@ Video.js type files use syntax introduced in TypeScript 5.0. Older versions cann
|
|
|
12
12
|
|
|
13
13
|
Video.js packages define their supported import paths using [package exports](./bundlers.md). Most web applications should use the following configuration. It makes TypeScript follow the same package rules as the bundler that builds the application:
|
|
14
14
|
|
|
15
|
-
tsconfig.json
|
|
15
|
+
**tsconfig.json**
|
|
16
16
|
|
|
17
|
-
```
|
|
17
|
+
```json
|
|
18
18
|
{
|
|
19
19
|
"compilerOptions": {
|
|
20
20
|
"module": "ESNext",
|
|
@@ -31,4 +31,11 @@ Do not use the older `node` setting, now called `node10`. It does not understand
|
|
|
31
31
|
|
|
32
32
|
The older `node` setting allowed applications to import almost any file inside a dependency. Modern settings allow only the paths that dependency publishes. Changing the setting can therefore reveal an existing import into another package’s private files.
|
|
33
33
|
|
|
34
|
-
If the error names a package outside `@videojs/*`, update that dependency or use one of its supported import paths. A TypeScript `paths` override can be a temporary bridge when no supported replacement exists. Do not switch back to the older resolver because that also breaks Video.js type resolution.
|
|
34
|
+
If the error names a package outside `@videojs/*`, update that dependency or use one of its supported import paths. A TypeScript `paths` override can be a temporary bridge when no supported replacement exists. Do not switch back to the older resolver because that also breaks Video.js type resolution.
|
|
35
|
+
|
|
36
|
+
## Related pages
|
|
37
|
+
|
|
38
|
+
### Guides
|
|
39
|
+
|
|
40
|
+
- [Installation](./installation.md): Install Video.js packages and build an accessible, customizable video player with composable controls
|
|
41
|
+
- [Bundlers](./bundlers.md): Bundler requirements for Video.js package exports, CSS, and wrapper libraries
|
|
@@ -10,11 +10,13 @@ Individual controls provide interaction, accessible names, and state. You add th
|
|
|
10
10
|
|
|
11
11
|
## Where to put your components
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Each `@videojs/html/ui/*` import registers exactly one custom element. Compound components such as controls, sliders, menus, and dialogs need an import for the root and for every part you render, so a `<media-controls-content>` inside `<media-controls>` needs both `ui/controls` and `ui/controls-content`. Without its import, a part stays a plain element and never receives its state attributes. Each reference page lists the imports for its anatomy, and the skin entry points register everything their layout uses.
|
|
14
|
+
|
|
15
|
+
UI components can go anywhere inside a [`<video-player>`](../reference/components/player.md).
|
|
14
16
|
|
|
15
17
|
However, you should consider placing your components in `<media-container>`. Components in `<media-container>` will go fullscreen with the player, respond to user activity, and more.
|
|
16
18
|
|
|
17
|
-
- [Read more about
|
|
19
|
+
- [Read more about `<media-container>`](../reference/components/player-container.md)
|
|
18
20
|
|
|
19
21
|
## Styling and customization
|
|
20
22
|
|
|
@@ -24,15 +26,11 @@ For components you add yourself, select them by their custom element name. Use t
|
|
|
24
26
|
|
|
25
27
|
Import `@videojs/html/icons/element` once in your `app.ts` to register `<media-icon>`. Choose an icon with `name`. Set `family="minimal"` to use the Minimal skin’s icon designs. You can also use your own text or SVG.
|
|
26
28
|
|
|
27
|
-
ts
|
|
28
|
-
|
|
29
|
-
```
|
|
29
|
+
```ts
|
|
30
30
|
import '@videojs/html/icons/element';
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
html
|
|
34
|
-
|
|
35
|
-
```
|
|
33
|
+
```html
|
|
36
34
|
<media-play-button class="my-play-button">
|
|
37
35
|
<media-icon class="play-icon" name="play"></media-icon>
|
|
38
36
|
<media-icon class="pause-icon" name="pause"></media-icon>
|
|
@@ -43,9 +41,7 @@ html
|
|
|
43
41
|
|
|
44
42
|
Components add `data-*` attributes to describe their current state. For example, a play button adds `data-paused` while the media is paused. Use those attributes in CSS:
|
|
45
43
|
|
|
46
|
-
css
|
|
47
|
-
|
|
48
|
-
```
|
|
44
|
+
```css
|
|
49
45
|
.my-play-button .pause-icon {
|
|
50
46
|
display: none;
|
|
51
47
|
}
|
|
@@ -69,9 +65,7 @@ Some components also expose **CSS custom properties** for continuous values like
|
|
|
69
65
|
|
|
70
66
|
Complex interactions are split into composable parts. A parent manages shared state while children consume it. Each visible part owns at most one element.
|
|
71
67
|
|
|
72
|
-
html
|
|
73
|
-
|
|
74
|
-
```
|
|
68
|
+
```html
|
|
75
69
|
<media-volume-slider orientation="vertical">
|
|
76
70
|
<media-slider-track>
|
|
77
71
|
<media-slider-fill></media-slider-fill>
|
|
@@ -2,17 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Persist volume, caption, and quality preferences across sessions by subscribing to player state.
|
|
4
4
|
|
|
5
|
-
Persist player preferences — volume, muted, captions, quality — so returning users get the setup they left with.
|
|
6
|
-
|
|
7
5
|
The player doesn’t persist preferences itself today. Player state gives you everything needed to wire persistence to the storage you choose — local storage, your backend, or per-profile settings.
|
|
8
6
|
|
|
9
7
|
## Recommended approach
|
|
10
8
|
|
|
11
9
|
Subscribe to the state you want to remember, write it to storage when it changes, and restore it once the store attaches to the media.
|
|
12
10
|
|
|
13
|
-
html
|
|
14
|
-
|
|
15
|
-
```
|
|
11
|
+
```html
|
|
16
12
|
<video-player>
|
|
17
13
|
<media-container>
|
|
18
14
|
<video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" playsinline></video>
|
|
@@ -75,20 +71,19 @@ html
|
|
|
75
71
|
|
|
76
72
|
## How it works
|
|
77
73
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
* 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.
|
|
74
|
+
- 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. Notifications are batched per microtask, so rapid changes (a volume drag) produce one callback per tick, which keeps storage writes cheap. There is no per-key subscription on the store: read the state and diff the slice you care about.
|
|
76
|
+
- 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`, `toggleMuted`, `selectSubtitlesTrack`, `selectVideoRendition`) rather than poking the media element, so state and UI stay consistent.
|
|
78
|
+
- 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.
|
|
84
79
|
|
|
85
80
|
## Availability and constraints
|
|
86
81
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
- Nothing persists by default: volume resets to the media element’s value, captions to the track markup, quality to automatic, on every load.
|
|
83
|
+
- `setVolume` clamps to 0–1 and unmutes when setting a value above zero; restore volume first, then toggle `muted` back on when the saved preference is muted, as the examples do. Skip the toggle when the saved volume is zero: the player treats volume zero as muted, so toggling would unmute and raise the volume. Don’t compare against store state right after calling an action: notifications batch per microtask, so that state is still stale.
|
|
84
|
+
- Restore track and quality selections after the media exposes them: track and rendition lists arrive when the media loads, not at player creation. Subscribe and apply when the saved entry appears in the list.
|
|
85
|
+
- Programmatic volume control is unavailable on some platforms (after attach, iOS Safari reports `volumeAvailability: 'unsupported'`); volume persistence quietly does nothing there.
|
|
86
|
+
- Local storage is per-origin and can be unavailable (private modes, embedded contexts); guard reads and writes accordingly.
|
|
92
87
|
|
|
93
88
|
## Common variations
|
|
94
89
|
|
|
@@ -116,20 +111,22 @@ The track list wasn’t loaded yet when you restored, or you saved a generated t
|
|
|
116
111
|
|
|
117
112
|
Notifications batch per microtask, but a drag still produces many ticks. Debounce the write if the churn matters for your storage target.
|
|
118
113
|
|
|
119
|
-
## Related
|
|
114
|
+
## Related pages
|
|
115
|
+
|
|
116
|
+
### Components
|
|
120
117
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
- [media-volume-slider](../reference/components/volume-slider.md): A slider component for controlling media playback volume
|
|
119
|
+
- [media-captions-radio-group](../reference/components/captions-radio-group.md): A menu radio group for selecting caption and subtitle tracks
|
|
120
|
+
- [media-quality-radio-group](../reference/components/quality-radio-group.md): A menu radio group for selecting video quality
|
|
124
121
|
|
|
125
|
-
|
|
122
|
+
### API
|
|
126
123
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
124
|
+
- [PlayerController](../reference/api/player-controller.md): Reactive controller for accessing player store state in HTML custom elements
|
|
125
|
+
- [StoreController](../reference/api/store-controller.md): Reactive controller for subscribing to store state in HTML custom elements
|
|
126
|
+
- [Volume](../reference/api/feature-volume.md): Volume level and mute state for the player store
|
|
127
|
+
- [Text tracks](../reference/api/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
|
|
131
128
|
|
|
132
|
-
|
|
129
|
+
### Guides
|
|
133
130
|
|
|
134
|
-
|
|
135
|
-
|
|
131
|
+
- [Show captions and subtitles](./captions.md): Show captions and subtitles, and let users turn them on and pick a language.
|
|
132
|
+
- [Add a quality selector](./quality.md): Read available renditions, let the engine adapt automatically, and offer manual quality selection.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# v10 Roadmap
|
|
2
|
+
|
|
3
|
+
Timeline and milestones for Video.js v10 rebuild and the future of v8
|
|
4
|
+
|
|
5
|
+
Video.js v10 is a complete rebuild from the ground up, designed to be more modular, framework-flexible, and aligned with modern web development practices.
|
|
6
|
+
|
|
7
|
+
## Current versions
|
|
8
|
+
|
|
9
|
+
### Version 8
|
|
10
|
+
|
|
11
|
+
- Maintained with bug fixes and critical security patches only
|
|
12
|
+
- No new features will be planned
|
|
13
|
+
- Community contributions still welcome
|
|
14
|
+
- Documentation available at [legacy.videojs.org](https://legacy.videojs.org)
|
|
15
|
+
|
|
16
|
+
### Version 9
|
|
17
|
+
|
|
18
|
+
- Reserved only for urgent API-breaking changes that cannot be avoided
|
|
19
|
+
|
|
20
|
+
## March 2026: v10 Beta Release
|
|
21
|
+
|
|
22
|
+
Wider testing release to the community.
|
|
23
|
+
|
|
24
|
+
### Core feature parity target
|
|
25
|
+
|
|
26
|
+
- Basic control set (play, pause, seek, volume, fullscreen)
|
|
27
|
+
- Adaptive streaming support via existing community engines
|
|
28
|
+
- No plugin migrations yet, without plugin author contribution
|
|
29
|
+
|
|
30
|
+
### What to expect
|
|
31
|
+
|
|
32
|
+
- Close to stable, but API changes are still possible
|
|
33
|
+
- Intended for experimental adoption in real-world projects
|
|
34
|
+
- Developers encouraged to follow the [installation guide](./installation.md), try it out, and report issues
|
|
35
|
+
|
|
36
|
+
## September 2026: v10 Release Candidate
|
|
37
|
+
|
|
38
|
+
Feature-complete release ahead of GA.
|
|
39
|
+
|
|
40
|
+
### What to expect
|
|
41
|
+
|
|
42
|
+
- Close to stable. Remaining API changes are driven by feedback on the release candidate
|
|
43
|
+
- Intended for adoption in real-world projects
|
|
44
|
+
- Migration guides and reference documentation ready for review
|
|
45
|
+
|
|
46
|
+
## Fall 2026: v10 GA Release
|
|
47
|
+
|
|
48
|
+
**Stable release** of Video.js v10
|
|
49
|
+
|
|
50
|
+
### Feature targets
|
|
51
|
+
|
|
52
|
+
- Core feature parity with v8 in terms of fundamentals
|
|
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), and [Media Chrome](./migrate-from-media-chrome.md)
|
|
55
|
+
- Plugin ecosystem migration begins in earnest
|
|
56
|
+
|
|
57
|
+
### Engine development focus
|
|
58
|
+
|
|
59
|
+
- Lightweight adaptive streaming
|
|
60
|
+
- MoQ (Media over QUIC) support
|
|
61
|
+
|
|
62
|
+
## Late-2026: Feature parity with v8 Contrib
|
|
63
|
+
|
|
64
|
+
**Extended feature parity** with Video.js “contrib” plugins:
|
|
65
|
+
|
|
66
|
+
- Ads integration
|
|
67
|
+
- Analytics support
|
|
68
|
+
- Further community plugin migration dependent on contributions
|
|
69
|
+
|
|
70
|
+
## End-of-life plan for Video.js v8
|
|
71
|
+
|
|
72
|
+
### Mid-2026
|
|
73
|
+
|
|
74
|
+
- v8/v9 moved to “video.js-legacy” repository and package
|
|
75
|
+
- Documentation preserved at [legacy.videojs.org](https://legacy.videojs.org)
|
|
76
|
+
- Hosted CDN copies will remain available
|
|
77
|
+
|
|
78
|
+
### 2027 and beyond
|
|
79
|
+
|
|
80
|
+
- Security patches only
|
|
81
|
+
- Community contributions de-prioritized
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
**Want to contribute?** Check out the [v10 repository on GitHub](https://github.com/videojs/v10) to get involved in the rebuild
|
|
86
|
+
|
|
87
|
+
## Related pages
|
|
88
|
+
|
|
89
|
+
### Guides
|
|
90
|
+
|
|
91
|
+
- [Why Video.js?](./why-videojs.md): The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.
|
|
92
|
+
- [Installation](./installation.md): Install Video.js packages and build an accessible, customizable video player with composable controls
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Vue
|
|
2
2
|
|
|
3
3
|
Add Video.js to a Vue or Nuxt app
|
|
4
4
|
|
|
@@ -10,9 +10,9 @@ If Vue warns that it cannot resolve a Video.js tag, the compiler is treating tha
|
|
|
10
10
|
|
|
11
11
|
For a Vue app built with Vite:
|
|
12
12
|
|
|
13
|
-
vite.config.ts
|
|
13
|
+
**vite.config.ts**
|
|
14
14
|
|
|
15
|
-
```
|
|
15
|
+
```ts
|
|
16
16
|
import vue from '@vitejs/plugin-vue';
|
|
17
17
|
import { defineConfig } from 'vite';
|
|
18
18
|
|
|
@@ -33,9 +33,9 @@ export default defineConfig({
|
|
|
33
33
|
|
|
34
34
|
For Nuxt:
|
|
35
35
|
|
|
36
|
-
nuxt.config.ts
|
|
36
|
+
**nuxt.config.ts**
|
|
37
37
|
|
|
38
|
-
```
|
|
38
|
+
```ts
|
|
39
39
|
const videoJsElements = new Set(['video-player', 'video-skin', 'mux-video']);
|
|
40
40
|
|
|
41
41
|
export default defineNuxtConfig({
|
|
@@ -53,9 +53,7 @@ List only the tags that appear in your templates. Avoid broad rules such as allo
|
|
|
53
53
|
|
|
54
54
|
If your Vue component needs to react to player state or call a player action, wait until Vue has mounted `<video-player>`. The React API’s `usePlayer` hook is not part of `@videojs/html`, so use a template ref and subscribe to the element’s store:
|
|
55
55
|
|
|
56
|
-
vue
|
|
57
|
-
|
|
58
|
-
```
|
|
56
|
+
```vue
|
|
59
57
|
<script setup lang="ts">
|
|
60
58
|
import type { VideoPlayerElement } from '@videojs/html/video';
|
|
61
59
|
import { onMounted, onUnmounted, ref } from 'vue';
|
|
@@ -84,9 +82,7 @@ Use the store for player state and actions. Unsubscribe in `onUnmounted`.
|
|
|
84
82
|
|
|
85
83
|
When you need the native event itself, attach a listener to the `<video>`, `<audio>`, or media custom element:
|
|
86
84
|
|
|
87
|
-
vue
|
|
88
|
-
|
|
89
|
-
```
|
|
85
|
+
```vue
|
|
90
86
|
<script setup lang="ts">
|
|
91
87
|
function handleLoadedMetadata(event: Event) {
|
|
92
88
|
const media = event.currentTarget as HTMLVideoElement;
|
|
@@ -103,9 +99,7 @@ function handleLoadedMetadata(event: Event) {
|
|
|
103
99
|
|
|
104
100
|
If you want to hide an element until the browser loads it, use `:defined` in your component’s scoped styles:
|
|
105
101
|
|
|
106
|
-
vue
|
|
107
|
-
|
|
108
|
-
```
|
|
102
|
+
```vue
|
|
109
103
|
<style scoped>
|
|
110
104
|
video-skin:not(:defined) {
|
|
111
105
|
visibility: hidden;
|
|
@@ -113,7 +107,7 @@ video-skin:not(:defined) {
|
|
|
113
107
|
</style>
|
|
114
108
|
```
|
|
115
109
|
|
|
116
|
-
Scoped styles cannot reach controls inside a packaged skin. Use its CSS custom properties, or [
|
|
110
|
+
Scoped styles cannot reach controls inside a packaged skin. Use its CSS custom properties, or [add the skin source to your project](./customize-skins.md#style-skin-source) to change its markup and CSS.
|
|
117
111
|
|
|
118
112
|
## Pass objects as properties
|
|
119
113
|
|
|
@@ -121,15 +115,11 @@ If you need to pass structured data, such as a Mux source, an HTML attribute wil
|
|
|
121
115
|
|
|
122
116
|
The Mux media ships as its own adapter package, so add it to the HTML installation used by this example:
|
|
123
117
|
|
|
124
|
-
bash
|
|
125
|
-
|
|
126
|
-
```
|
|
118
|
+
```bash
|
|
127
119
|
pnpm add @videojs/html @videojs/mux-video
|
|
128
120
|
```
|
|
129
121
|
|
|
130
|
-
vue
|
|
131
|
-
|
|
132
|
-
```
|
|
122
|
+
```vue
|
|
133
123
|
<script setup lang="ts">
|
|
134
124
|
import '@videojs/html/video/player';
|
|
135
125
|
import '@videojs/html/video/skin';
|
|
@@ -156,4 +146,11 @@ Use `.prop` explicitly. An ordinary binding or render-function prop can become a
|
|
|
156
146
|
|
|
157
147
|
If you use server rendering, keep the element imports from the installation guide static. Nuxt renders the custom-element markup on the server, and the browser upgrades it when the page loads.
|
|
158
148
|
|
|
159
|
-
If you intentionally keep registration client-only, import the elements from a `.client.ts` plugin and wait for `customElements.whenDefined('video-player')` before reading its store or calling its methods. For custom tag or event types, follow Vue’s [TypeScript guidance for non-Vue custom elements](https://vuejs.org/guide/extras/web-components.html#non-vue-web-components-and-typescript).
|
|
149
|
+
If you intentionally keep registration client-only, import the elements from a `.client.ts` plugin and wait for `customElements.whenDefined('video-player')` before reading its store or calling its methods. For custom tag or event types, follow Vue’s [TypeScript guidance for non-Vue custom elements](https://vuejs.org/guide/extras/web-components.html#non-vue-web-components-and-typescript).
|
|
150
|
+
|
|
151
|
+
## Related pages
|
|
152
|
+
|
|
153
|
+
### Guides
|
|
154
|
+
|
|
155
|
+
- [Installation](./installation-vue.md): Install Video.js with Vue in Vite, Astro, or Nuxt and build a player with HTML custom elements
|
|
156
|
+
- [Customize skins](./customize-skins.md): Style a packaged Video.js skin or add its source to change controls, layout, styles, and interactions
|
|
@@ -8,24 +8,38 @@ Let’s dig into when you’d want to use Video.js, starting with the question w
|
|
|
8
8
|
|
|
9
9
|
## Why not `<video>`?
|
|
10
10
|
|
|
11
|
-
The native `<video>` tag is
|
|
11
|
+
The native `<video>` tag is enough for a short clip that plays without controls. Once viewers control playback, the gaps show up quickly.
|
|
12
12
|
|
|
13
13
|
### Cross-browser inconsistency
|
|
14
14
|
|
|
15
15
|
Chrome, Safari, and Firefox each render the default `<video>` controls differently. You can hide them, but you can’t deeply style or rearrange them. Building UI that matches your product means starting from scratch.
|
|
16
16
|
|
|
17
|
-

|
|
17
|
+

|
|
18
18
|
|
|
19
19
|
Chrome
|
|
20
20
|
|
|
21
|
-

|
|
21
|
+

|
|
22
22
|
|
|
23
23
|
Safari
|
|
24
24
|
|
|
25
|
-

|
|
25
|
+

|
|
26
26
|
|
|
27
27
|
Firefox
|
|
28
28
|
|
|
29
|
+
### Accessibility
|
|
30
|
+
|
|
31
|
+
The browser’s controls bring their own accessibility behavior, and it differs by browser. Once you replace them, accessibility is your job: ARIA roles and labels that follow player state, keyboard controls and shortcuts, focus management, screen reader announcements when playback changes, controls that work with touch, tooltips and menus that stay on screen, and respect for reduced-motion and contrast preferences. Video.js components and skins handle these by default, following the WAI-ARIA Authoring Practices.
|
|
32
|
+
|
|
33
|
+
- [Learn more about accessibility](./accessibility.md)
|
|
34
|
+
|
|
35
|
+
### Player state
|
|
36
|
+
|
|
37
|
+
Custom controls need to know what the media is doing. Even something as simple as “playing” or “buffering” comes from several events, behaves differently across browsers, streaming engines, and services like YouTube, and has to reset when the source changes. Wiring that by hand is fragile, and in React it quickly leads to tangled effects and extra renders.
|
|
38
|
+
|
|
39
|
+
Video.js keeps playback state in one player store that every component reads. Components reflect state as data attributes such as `data-paused`, so your CSS follows the player without extra code, and controls a browser can’t support, such as picture-in-picture, hide themselves. In React, `usePlayer` with a selector re-renders a component only when the state it selects changes.
|
|
40
|
+
|
|
41
|
+
- [Learn more about the architecture](./architecture.md)
|
|
42
|
+
|
|
29
43
|
### Video interactions
|
|
30
44
|
|
|
31
45
|
Video often involves more than an MP4 in `src`. Features like thumbnail previews, adaptive bitrate, quality selection, chapters, audio track switching, localized controls, error UI, live-streaming UI, AirPlay, and DRM are *possible* with the video element, but require complex wiring and careful work on maintainability and [accessibility](./accessibility.md).
|
|
@@ -50,9 +64,7 @@ Let’s dig into some of the design principles that help explain why we built Vi
|
|
|
50
64
|
|
|
51
65
|
Most player libraries ship every feature in one bundle, so you carry code you don’t run. If your video doesn’t need a feature like DRM, why ship that code? Video.js turns features into independent, *composable* modules. You hand `createPlayer` the array you actually want, and what you don’t import doesn’t ship.
|
|
52
66
|
|
|
53
|
-
ts
|
|
54
|
-
|
|
55
|
-
```
|
|
67
|
+
```ts
|
|
56
68
|
import { createPlayer, playbackFeature, timeFeature } from '@videojs/html';
|
|
57
69
|
|
|
58
70
|
const { PlayerElement, PlayerController } = createPlayer({
|
|
@@ -72,11 +84,9 @@ Many player libraries wrap a single web component for every framework. That work
|
|
|
72
84
|
|
|
73
85
|
The player feels like the rest of your app.
|
|
74
86
|
|
|
75
|
-
React
|
|
76
|
-
|
|
77
|
-
HTML
|
|
87
|
+
**React**
|
|
78
88
|
|
|
79
|
-
```
|
|
89
|
+
```tsx
|
|
80
90
|
import { VideoPlayer, Video, VideoSkin } from '@videojs/react/video';
|
|
81
91
|
import '@videojs/react/video/skin.css';
|
|
82
92
|
|
|
@@ -91,7 +101,9 @@ function MyPlayer() {
|
|
|
91
101
|
}
|
|
92
102
|
```
|
|
93
103
|
|
|
94
|
-
|
|
104
|
+
**HTML**
|
|
105
|
+
|
|
106
|
+
```html
|
|
95
107
|
<script type="module">
|
|
96
108
|
import '@videojs/html/video/player';
|
|
97
109
|
import '@videojs/html/video/skin';
|
|
@@ -104,16 +116,23 @@ function MyPlayer() {
|
|
|
104
116
|
</video-player>
|
|
105
117
|
```
|
|
106
118
|
|
|
107
|
-
###
|
|
119
|
+
### Source you can change
|
|
108
120
|
|
|
109
|
-
Most player libraries draw a line between “configurable through props” and “fork the source.” Cross the line and you’re on your own. Video.js lets you
|
|
121
|
+
Most player libraries draw a line between “configurable through props” and “fork the source.” Cross the line and you’re on your own. Video.js lets you add the files for any skin to your project: components in your framework’s language that you can read and change. The rest of the player keeps working underneath it.
|
|
110
122
|
|
|
111
|
-
We don’t want to cram every possible player into one configuration API. Packaged skins cover common visual changes. For everything else,
|
|
123
|
+
We don’t want to cram every possible player into one configuration API. Packaged skins cover common visual changes. For everything else, add the skin source to your project and compose the UI you need.
|
|
112
124
|
|
|
113
|
-
- [Customize skins](
|
|
125
|
+
- [Customize skins](./customize-skins.md#style-skin-source)
|
|
114
126
|
|
|
115
127
|
### AI-native DX
|
|
116
128
|
|
|
117
129
|
Documentation aimed at human readers usually doesn’t help an agent. Video.js publishes an `llms.txt` index, ships every docs page as both HTML and Markdown, and has a dedicated guide for building with AI assistants. Drop the player into a Claude or Cursor session and the docs come along for the ride.
|
|
118
130
|
|
|
119
|
-
- [Build with AI](
|
|
131
|
+
- [Build with AI](./build-with-ai.md)
|
|
132
|
+
|
|
133
|
+
## Related pages
|
|
134
|
+
|
|
135
|
+
### Guides
|
|
136
|
+
|
|
137
|
+
- [Installation](./installation.md): Install Video.js packages and build an accessible, customizable video player with composable controls
|
|
138
|
+
- [Architecture](./architecture.md): How Video.js players are structured — state, UI, media, and extensions
|