@videojs/react 10.0.0-beta.27 → 10.0.0-beta.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/default/__generated__/skins/default-video/styles/buttons.css +132 -18
- package/dist/default/__generated__/skins/default-video/styles/captions.css +22 -0
- package/dist/default/__generated__/skins/default-video/styles/container.css +121 -8
- package/dist/default/__generated__/skins/default-video/styles/controls.css +436 -21
- package/dist/default/__generated__/skins/default-video/styles/dialog.css +169 -0
- package/dist/default/__generated__/skins/default-video/styles/indicator.css +459 -0
- package/dist/default/__generated__/skins/default-video/styles/menus.css +254 -0
- package/dist/default/__generated__/skins/default-video/styles/overlays.css +26 -2
- package/dist/default/__generated__/skins/default-video/styles/popups.css +338 -12
- package/dist/default/__generated__/skins/default-video/styles/poster.css +4 -4
- package/dist/default/__generated__/skins/default-video/styles/sliders.css +355 -31
- package/dist/default/__generated__/skins/default-video/styles/styles.css +2455 -216
- package/dist/default/__generated__/skins/default-video/styles/theme.css +4 -19
- package/dist/default/__generated__/skins/default-video/styles/video.css +29 -0
- package/dist/default/__generated__/skins/minimal-video/styles/base.css +25 -0
- package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +266 -0
- package/dist/default/__generated__/skins/minimal-video/styles/captions.css +22 -0
- package/dist/default/__generated__/skins/minimal-video/styles/container.css +158 -0
- package/dist/default/__generated__/skins/minimal-video/styles/controls.css +182 -0
- package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +77 -0
- package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +322 -0
- package/dist/default/__generated__/skins/minimal-video/styles/menus.css +254 -0
- package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +35 -0
- package/dist/default/__generated__/skins/minimal-video/styles/popups.css +371 -0
- package/dist/default/__generated__/skins/minimal-video/styles/poster.css +47 -0
- package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +436 -0
- package/dist/default/__generated__/skins/minimal-video/styles/styles.css +2246 -0
- package/dist/default/__generated__/skins/minimal-video/styles/theme.css +7 -0
- package/dist/default/__generated__/skins/minimal-video/styles/video.css +29 -0
- package/dist/default/i18n/context.js +0 -1
- package/dist/default/i18n/context.js.map +1 -1
- package/dist/default/i18n/create-i18n.js +0 -1
- package/dist/default/i18n/create-i18n.js.map +1 -1
- package/dist/default/i18n/index.js +2 -1
- package/dist/default/i18n/text.js +20 -0
- package/dist/default/i18n/text.js.map +1 -0
- package/dist/default/icons/dist/react/default/airplay-exit.js +3 -3
- package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/react/minimal/airplay-exit.js +3 -3
- package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/default/index.js +2 -1
- package/dist/default/media/audio.js +0 -1
- package/dist/default/media/audio.js.map +1 -1
- package/dist/default/media/hls-background-video/media.js +18 -3
- package/dist/default/media/hls-background-video/media.js.map +1 -1
- package/dist/default/media/video.js +0 -1
- package/dist/default/media/video.js.map +1 -1
- package/dist/default/player/container.js +0 -1
- package/dist/default/player/container.js.map +1 -1
- package/dist/default/player/context.js +0 -1
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +0 -1
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/player/popup-group-context.js +0 -1
- package/dist/default/player/popup-group-context.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +117 -118
- package/dist/default/presets/audio/minimal-skin.js +2 -1
- package/dist/default/presets/audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js +2 -1
- package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/audio/skin.css +95 -99
- package/dist/default/presets/audio/skin.js +2 -1
- package/dist/default/presets/audio/skin.js.map +1 -1
- package/dist/default/presets/audio/skin.tailwind.js +2 -1
- package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/background/skin.js +1 -0
- package/dist/default/presets/background/skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.css +117 -118
- package/dist/default/presets/live-audio/minimal-skin.js +1 -0
- package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js +1 -0
- package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-audio/skin.css +95 -99
- package/dist/default/presets/live-audio/skin.js +1 -0
- package/dist/default/presets/live-audio/skin.js.map +1 -1
- package/dist/default/presets/live-audio/skin.tailwind.js +1 -0
- package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.css +158 -137
- package/dist/default/presets/live-video/minimal-skin.js +4 -8
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +6 -8
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +120 -106
- package/dist/default/presets/live-video/skin.js +4 -8
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +8 -10
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +158 -137
- package/dist/default/presets/video/minimal-skin.js +4 -8
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +6 -8
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +120 -106
- package/dist/default/presets/video/skin.js +4 -8
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +7 -9
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +8 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +3 -3
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -6
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +4 -4
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/ui/airplay-button/airplay-button.js +0 -1
- package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description.js +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-root.js +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title.js +0 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/default/ui/alert-dialog/context.js +0 -1
- package/dist/default/ui/alert-dialog/context.js.map +1 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js +0 -1
- package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +0 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator.js +0 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/default/ui/captions-button/captions-button.js +0 -1
- package/dist/default/ui/captions-button/captions-button.js.map +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group.js +0 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js +0 -1
- package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/default/ui/cast-button/cast-button.js +0 -1
- package/dist/default/ui/cast-button/cast-button.js.map +1 -1
- package/dist/default/ui/controls/context.js +0 -1
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/controls/controls-group.js +0 -1
- package/dist/default/ui/controls/controls-group.js.map +1 -1
- package/dist/default/ui/controls/controls-root.js +0 -1
- package/dist/default/ui/controls/controls-root.js.map +1 -1
- package/dist/default/ui/create-context-part.js +0 -1
- package/dist/default/ui/create-context-part.js.map +1 -1
- package/dist/default/ui/create-media-button.js +0 -1
- package/dist/default/ui/create-media-button.js.map +1 -1
- package/dist/default/ui/error-dialog/context.js +0 -1
- package/dist/default/ui/error-dialog/context.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-close.js +0 -1
- package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-description.js +0 -1
- package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-root.js +0 -1
- package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-title.js +0 -1
- package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button.js +0 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/default/ui/gesture/gesture.js +0 -1
- package/dist/default/ui/gesture/gesture.js.map +1 -1
- package/dist/default/ui/gesture/use-doubletap-gesture.js +0 -1
- package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/default/ui/gesture/use-tap-gesture.js +0 -1
- package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/default/ui/hooks/create-radio-options-hook.js +0 -1
- package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -1
- package/dist/default/ui/hooks/use-button.js +0 -1
- package/dist/default/ui/hooks/use-button.js.map +1 -1
- package/dist/default/ui/hooks/use-positioned-state.js +0 -1
- package/dist/default/ui/hooks/use-positioned-state.js.map +1 -1
- package/dist/default/ui/hooks/use-slider.js +0 -1
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/default/ui/hotkey/hotkey.js +0 -1
- package/dist/default/ui/hotkey/hotkey.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js +0 -1
- package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/default/ui/hotkey/use-hotkey.js +0 -1
- package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/default/ui/input-indicator/use-indicator-visibility.js +0 -1
- package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/default/ui/input-indicator/use-input-action-subscription.js +0 -1
- package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +1 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js +0 -1
- package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js +0 -1
- package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
- package/dist/default/ui/live-button/live-button.js +0 -1
- package/dist/default/ui/live-button/live-button.js.map +1 -1
- package/dist/default/ui/menu/context.js +6 -2
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/menu-checkbox-item.js +0 -1
- package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/default/ui/menu/menu-content.js +0 -1
- package/dist/default/ui/menu/menu-content.js.map +1 -1
- package/dist/default/ui/menu/menu-group-label.js +0 -1
- package/dist/default/ui/menu/menu-group-label.js.map +1 -1
- package/dist/default/ui/menu/menu-group.js +0 -1
- package/dist/default/ui/menu/menu-group.js.map +1 -1
- package/dist/default/ui/menu/menu-item-indicator.js +3 -3
- package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/default/ui/menu/menu-item.js +0 -1
- package/dist/default/ui/menu/menu-item.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group.js +0 -1
- package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-item.js +19 -16
- package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/default/ui/menu/menu-root.js +5 -7
- package/dist/default/ui/menu/menu-root.js.map +1 -1
- package/dist/default/ui/menu/menu-separator.js +0 -1
- package/dist/default/ui/menu/menu-separator.js.map +1 -1
- package/dist/default/ui/menu/menu-trigger.js +26 -12
- package/dist/default/ui/menu/menu-trigger.js.map +1 -1
- package/dist/default/ui/menu/use-menu-group.js +0 -1
- package/dist/default/ui/menu/use-menu-group.js.map +1 -1
- package/dist/default/ui/mute-button/mute-button.js +0 -1
- package/dist/default/ui/mute-button/mute-button.js.map +1 -1
- package/dist/default/ui/pip-button/pip-button.js +0 -1
- package/dist/default/ui/pip-button/pip-button.js.map +1 -1
- package/dist/default/ui/play-button/play-button.js +0 -1
- package/dist/default/ui/play-button/play-button.js.map +1 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js +0 -1
- package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js +0 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +0 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
- package/dist/default/ui/popover/context.js +0 -1
- package/dist/default/ui/popover/context.js.map +1 -1
- package/dist/default/ui/popover/popover-arrow.js +0 -1
- package/dist/default/ui/popover/popover-arrow.js.map +1 -1
- package/dist/default/ui/popover/popover-popup.js +0 -1
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +0 -1
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/popover-trigger.js +0 -1
- package/dist/default/ui/popover/popover-trigger.js.map +1 -1
- package/dist/default/ui/popover/use-popup-position.js +0 -1
- package/dist/default/ui/popover/use-popup-position.js.map +1 -1
- package/dist/default/ui/poster/poster.js +64 -18
- package/dist/default/ui/poster/poster.js.map +1 -1
- package/dist/default/ui/quality/use-quality-options.js +0 -1
- package/dist/default/ui/quality/use-quality-options.js.map +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group.js +0 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -1
- package/dist/default/ui/seek-button/seek-button.js +0 -1
- package/dist/default/ui/seek-button/seek-button.js.map +1 -1
- package/dist/default/ui/seek-indicator/context.js +0 -1
- package/dist/default/ui/seek-indicator/context.js.map +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-root.js +0 -1
- package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/default/ui/seek-indicator/seek-indicator-value.js +0 -1
- package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -1
- package/dist/default/ui/slider/context.js +0 -1
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/slider-buffer.js +0 -1
- package/dist/default/ui/slider/slider-buffer.js.map +1 -1
- package/dist/default/ui/slider/slider-fill.js +0 -1
- package/dist/default/ui/slider/slider-fill.js.map +1 -1
- package/dist/default/ui/slider/slider-preview.js +0 -1
- package/dist/default/ui/slider/slider-preview.js.map +1 -1
- package/dist/default/ui/slider/slider-root.js +0 -1
- package/dist/default/ui/slider/slider-root.js.map +1 -1
- package/dist/default/ui/slider/slider-thumb.js +0 -1
- package/dist/default/ui/slider/slider-thumb.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail.js +0 -1
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/default/ui/slider/slider-track.js +0 -1
- package/dist/default/ui/slider/slider-track.js.map +1 -1
- package/dist/default/ui/slider/slider-value.js +0 -1
- package/dist/default/ui/slider/slider-value.js.map +1 -1
- package/dist/default/ui/status-announcer/status-announcer.js +0 -1
- package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/default/ui/status-indicator/context.js +0 -1
- package/dist/default/ui/status-indicator/context.js.map +1 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js +0 -1
- package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/default/ui/status-indicator/status-indicator-value.js +0 -1
- package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -1
- package/dist/default/ui/thumbnail/thumbnail.js +0 -1
- package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/default/ui/time/time-group.js +0 -1
- package/dist/default/ui/time/time-group.js.map +1 -1
- package/dist/default/ui/time/time-separator.js +0 -1
- package/dist/default/ui/time/time-separator.js.map +1 -1
- package/dist/default/ui/time/time-value.js +0 -1
- package/dist/default/ui/time/time-value.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js +0 -1
- package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +0 -1
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +0 -1
- package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-root.js +0 -1
- package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/default/ui/tooltip/context.js +0 -1
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/group-context.js +0 -1
- package/dist/default/ui/tooltip/group-context.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js +0 -1
- package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-label.js +0 -1
- package/dist/default/ui/tooltip/tooltip-label.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-popup.js +0 -1
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-provider.js +0 -1
- package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-root.js +0 -1
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js +0 -1
- package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-trigger.js +0 -1
- package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/default/ui/volume-indicator/context.js +0 -1
- package/dist/default/ui/volume-indicator/context.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js +0 -1
- package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js +0 -1
- package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/default/ui/volume-indicator/volume-indicator-value.js +0 -1
- package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -1
- package/dist/default/ui/volume-slider/volume-slider-root.js +0 -1
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/default/utils/merge-props.js +0 -1
- package/dist/default/utils/merge-props.js.map +1 -1
- package/dist/default/utils/use-attach-iframe.js +0 -1
- package/dist/default/utils/use-attach-iframe.js.map +1 -1
- package/dist/default/utils/use-attach-media.js +0 -1
- package/dist/default/utils/use-attach-media.js.map +1 -1
- package/dist/default/utils/use-composed-refs.js +0 -1
- package/dist/default/utils/use-composed-refs.js.map +1 -1
- package/dist/default/utils/use-destroy.js +0 -1
- package/dist/default/utils/use-destroy.js.map +1 -1
- package/dist/default/utils/use-force-render.js +0 -1
- package/dist/default/utils/use-force-render.js.map +1 -1
- package/dist/default/utils/use-latest-ref.js +0 -1
- package/dist/default/utils/use-latest-ref.js.map +1 -1
- package/dist/default/utils/use-media-component.js +0 -1
- package/dist/default/utils/use-media-component.js.map +1 -1
- package/dist/default/utils/use-media-instance.js +0 -1
- package/dist/default/utils/use-media-instance.js.map +1 -1
- package/dist/default/utils/use-render.js +2 -9
- package/dist/default/utils/use-render.js.map +1 -1
- package/dist/default/utils/use-safe-id.js +0 -1
- package/dist/default/utils/use-safe-id.js.map +1 -1
- package/dist/dev/__generated__/skins/default-video/styles/buttons.css +132 -18
- package/dist/dev/__generated__/skins/default-video/styles/captions.css +22 -0
- package/dist/dev/__generated__/skins/default-video/styles/container.css +121 -8
- package/dist/dev/__generated__/skins/default-video/styles/controls.css +436 -21
- package/dist/dev/__generated__/skins/default-video/styles/dialog.css +169 -0
- package/dist/dev/__generated__/skins/default-video/styles/indicator.css +459 -0
- package/dist/dev/__generated__/skins/default-video/styles/menus.css +254 -0
- package/dist/dev/__generated__/skins/default-video/styles/overlays.css +26 -2
- package/dist/dev/__generated__/skins/default-video/styles/popups.css +338 -12
- package/dist/dev/__generated__/skins/default-video/styles/poster.css +4 -4
- package/dist/dev/__generated__/skins/default-video/styles/sliders.css +355 -31
- package/dist/dev/__generated__/skins/default-video/styles/styles.css +2455 -216
- package/dist/dev/__generated__/skins/default-video/styles/theme.css +4 -19
- package/dist/dev/__generated__/skins/default-video/styles/video.css +29 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/base.css +25 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +266 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +22 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/container.css +158 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +182 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +77 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +322 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +254 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +35 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +371 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +47 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +436 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +2246 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +7 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/video.css +29 -0
- package/dist/dev/i18n/context.d.ts.map +1 -1
- package/dist/dev/i18n/context.js +0 -1
- package/dist/dev/i18n/context.js.map +1 -1
- package/dist/dev/i18n/create-i18n.d.ts.map +1 -1
- package/dist/dev/i18n/create-i18n.js +0 -1
- package/dist/dev/i18n/create-i18n.js.map +1 -1
- package/dist/dev/i18n/index.d.ts +2 -1
- package/dist/dev/i18n/index.js +2 -1
- package/dist/dev/i18n/text.d.ts +11 -0
- package/dist/dev/i18n/text.d.ts.map +1 -0
- package/dist/dev/i18n/text.js +20 -0
- package/dist/dev/i18n/text.js.map +1 -0
- package/dist/dev/icons/dist/react/default/airplay-exit.js +3 -3
- package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js +3 -3
- package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/icons/index.d.ts +6 -1
- package/dist/dev/icons/index.d.ts.map +1 -0
- package/dist/dev/icons/minimal/index.d.ts +6 -1
- package/dist/dev/icons/minimal/index.d.ts.map +1 -0
- package/dist/dev/index.d.ts +3 -2
- package/dist/dev/index.js +2 -1
- package/dist/dev/media/audio.d.ts.map +1 -1
- package/dist/dev/media/audio.js +0 -1
- package/dist/dev/media/audio.js.map +1 -1
- package/dist/dev/media/hls-background-video/media.d.ts +8 -0
- package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-background-video/media.js +18 -3
- package/dist/dev/media/hls-background-video/media.js.map +1 -1
- package/dist/dev/media/video.d.ts.map +1 -1
- package/dist/dev/media/video.js +0 -1
- package/dist/dev/media/video.js.map +1 -1
- package/dist/dev/player/container.d.ts.map +1 -1
- package/dist/dev/player/container.js +0 -1
- package/dist/dev/player/container.js.map +1 -1
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +0 -1
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +0 -1
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/player/popup-group-context.js +0 -1
- package/dist/dev/player/popup-group-context.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +117 -118
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.js +2 -1
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.js +2 -1
- package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/audio/player.d.ts +2 -2
- package/dist/dev/presets/audio/skin.css +95 -99
- package/dist/dev/presets/audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.js +2 -1
- package/dist/dev/presets/audio/skin.js.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/audio/skin.tailwind.js +2 -1
- package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/background/skin.d.ts.map +1 -1
- package/dist/dev/presets/background/skin.js +1 -0
- package/dist/dev/presets/background/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.css +117 -118
- package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.js +1 -0
- package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +1 -0
- package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-audio/player.d.ts +2 -2
- package/dist/dev/presets/live-audio/skin.css +95 -99
- package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.js +1 -0
- package/dist/dev/presets/live-audio/skin.js.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/live-audio/skin.tailwind.js +1 -0
- package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.css +158 -137
- package/dist/dev/presets/live-video/minimal-skin.js +4 -8
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js +6 -8
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/player.d.ts +2 -2
- package/dist/dev/presets/live-video/skin.css +120 -106
- package/dist/dev/presets/live-video/skin.js +4 -8
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +8 -10
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/types.d.ts +15 -2
- package/dist/dev/presets/types.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +158 -137
- package/dist/dev/presets/video/minimal-skin.js +4 -8
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +6 -8
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/player.d.ts +2 -2
- package/dist/dev/presets/video/skin.css +120 -106
- package/dist/dev/presets/video/skin.js +4 -8
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +7 -9
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +8 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +13 -13
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +3 -3
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -6
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +4 -4
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
- package/dist/dev/ui/airplay-button/airplay-button.js +0 -1
- package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js +0 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/context.js +0 -1
- package/dist/dev/ui/alert-dialog/context.js.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.js +0 -1
- package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +0 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js +0 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.js +0 -1
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js +0 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.js +0 -1
- package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
- package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -1
- package/dist/dev/ui/cast-button/cast-button.js +0 -1
- package/dist/dev/ui/cast-button/cast-button.js.map +1 -1
- package/dist/dev/ui/controls/context.js +0 -1
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/controls/controls-group.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-group.js +0 -1
- package/dist/dev/ui/controls/controls-group.js.map +1 -1
- package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-root.js +0 -1
- package/dist/dev/ui/controls/controls-root.js.map +1 -1
- package/dist/dev/ui/create-context-part.js +0 -1
- package/dist/dev/ui/create-context-part.js.map +1 -1
- package/dist/dev/ui/create-media-button.js +0 -1
- package/dist/dev/ui/create-media-button.js.map +1 -1
- package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/context.js +0 -1
- package/dist/dev/ui/error-dialog/context.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.js +0 -1
- package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.js +0 -1
- package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.js +0 -1
- package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.js +0 -1
- package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js +0 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
- package/dist/dev/ui/gesture/gesture.d.ts +6 -13
- package/dist/dev/ui/gesture/gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/gesture.js +0 -1
- package/dist/dev/ui/gesture/gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +2 -5
- package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.js +0 -1
- package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts +2 -5
- package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
- package/dist/dev/ui/gesture/use-tap-gesture.js +0 -1
- package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +1 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.js +0 -1
- package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -1
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-button.js +0 -1
- package/dist/dev/ui/hooks/use-button.js.map +1 -1
- package/dist/dev/ui/hooks/use-positioned-state.js +0 -1
- package/dist/dev/ui/hooks/use-positioned-state.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js +0 -1
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/hotkey/hotkey.d.ts +6 -12
- package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/hotkey.js +0 -1
- package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +0 -1
- package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/use-hotkey.js +0 -1
- package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js +0 -1
- package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-input-action-subscription.js +0 -1
- package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js +0 -1
- package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -1
- package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js +0 -1
- package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
- package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
- package/dist/dev/ui/live-button/live-button.js +0 -1
- package/dist/dev/ui/live-button/live-button.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js +6 -2
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js +0 -1
- package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-content.js +0 -1
- package/dist/dev/ui/menu/menu-content.js.map +1 -1
- package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group-label.js +0 -1
- package/dist/dev/ui/menu/menu-group-label.js.map +1 -1
- package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-group.js +0 -1
- package/dist/dev/ui/menu/menu-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item-indicator.js +3 -3
- package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
- package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-item.js +0 -1
- package/dist/dev/ui/menu/menu-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group.js +0 -1
- package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-item.js +19 -16
- package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
- package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-root.js +5 -7
- package/dist/dev/ui/menu/menu-root.js.map +1 -1
- package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-separator.js +0 -1
- package/dist/dev/ui/menu/menu-separator.js.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-trigger.js +26 -12
- package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
- package/dist/dev/ui/menu/use-menu-group.js +0 -1
- package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button.js +0 -1
- package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
- package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
- package/dist/dev/ui/pip-button/pip-button.js +0 -1
- package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
- package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
- package/dist/dev/ui/play-button/play-button.js +0 -1
- package/dist/dev/ui/play-button/play-button.js.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js +0 -1
- package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js +0 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +0 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
- package/dist/dev/ui/popover/context.d.ts.map +1 -1
- package/dist/dev/ui/popover/context.js +0 -1
- package/dist/dev/ui/popover/context.js.map +1 -1
- package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-arrow.js +0 -1
- package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +0 -1
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +0 -1
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.js +0 -1
- package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
- package/dist/dev/ui/popover/use-popup-position.js +0 -1
- package/dist/dev/ui/popover/use-popup-position.js.map +1 -1
- package/dist/dev/ui/poster/poster.d.ts +15 -4
- package/dist/dev/ui/poster/poster.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster.js +64 -18
- package/dist/dev/ui/poster/poster.js.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
- package/dist/dev/ui/quality/use-quality-options.js +0 -1
- package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js +0 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
- package/dist/dev/ui/seek-button/seek-button.js +0 -1
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
- package/dist/dev/ui/seek-indicator/context.js +0 -1
- package/dist/dev/ui/seek-indicator/context.js.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js +0 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-value.js +0 -1
- package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -1
- package/dist/dev/ui/slider/context.js +0 -1
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-buffer.js +0 -1
- package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
- package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-fill.js +0 -1
- package/dist/dev/ui/slider/slider-fill.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview.d.ts +5 -9
- package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-preview.js +0 -1
- package/dist/dev/ui/slider/slider-preview.js.map +1 -1
- package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-root.js +0 -1
- package/dist/dev/ui/slider/slider-root.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-thumb.js +0 -1
- package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail.js +0 -1
- package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
- package/dist/dev/ui/slider/slider-track.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-track.js +0 -1
- package/dist/dev/ui/slider/slider-track.js.map +1 -1
- package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-value.js +0 -1
- package/dist/dev/ui/slider/slider-value.js.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
- package/dist/dev/ui/status-announcer/status-announcer.js +0 -1
- package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
- package/dist/dev/ui/status-indicator/context.js +0 -1
- package/dist/dev/ui/status-indicator/context.js.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js +0 -1
- package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -1
- package/dist/dev/ui/status-indicator/status-indicator-value.js +0 -1
- package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.js +0 -1
- package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/dev/ui/time/time-group.d.ts.map +1 -1
- package/dist/dev/ui/time/time-group.js +0 -1
- package/dist/dev/ui/time/time-group.js.map +1 -1
- package/dist/dev/ui/time/time-separator.d.ts.map +1 -1
- package/dist/dev/ui/time/time-separator.js +0 -1
- package/dist/dev/ui/time/time-separator.js.map +1 -1
- package/dist/dev/ui/time/time-value.d.ts.map +1 -1
- package/dist/dev/ui/time/time-value.js +0 -1
- package/dist/dev/ui/time/time-value.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js +0 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +0 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +0 -1
- package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-root.js +0 -1
- package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/context.js +0 -1
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/group-context.js +0 -1
- package/dist/dev/ui/tooltip/group-context.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-label.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-provider.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-root.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-trigger.js +0 -1
- package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/dev/ui/volume-indicator/context.js +0 -1
- package/dist/dev/ui/volume-indicator/context.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +0 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js +0 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-value.js +0 -1
- package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js +0 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/utils/merge-props.d.ts.map +1 -1
- package/dist/dev/utils/merge-props.js +0 -1
- package/dist/dev/utils/merge-props.js.map +1 -1
- package/dist/dev/utils/use-attach-iframe.js +0 -1
- package/dist/dev/utils/use-attach-iframe.js.map +1 -1
- package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
- package/dist/dev/utils/use-attach-media.js +0 -1
- package/dist/dev/utils/use-attach-media.js.map +1 -1
- package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
- package/dist/dev/utils/use-composed-refs.js +0 -1
- package/dist/dev/utils/use-composed-refs.js.map +1 -1
- package/dist/dev/utils/use-destroy.d.ts.map +1 -1
- package/dist/dev/utils/use-destroy.js +0 -1
- package/dist/dev/utils/use-destroy.js.map +1 -1
- package/dist/dev/utils/use-force-render.js +0 -1
- package/dist/dev/utils/use-force-render.js.map +1 -1
- package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
- package/dist/dev/utils/use-latest-ref.js +0 -1
- package/dist/dev/utils/use-latest-ref.js.map +1 -1
- package/dist/dev/utils/use-media-component.d.ts.map +1 -1
- package/dist/dev/utils/use-media-component.js +0 -1
- package/dist/dev/utils/use-media-component.js.map +1 -1
- package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
- package/dist/dev/utils/use-media-instance.js +0 -1
- package/dist/dev/utils/use-media-instance.js.map +1 -1
- package/dist/dev/utils/use-render.d.ts.map +1 -1
- package/dist/dev/utils/use-render.js +2 -9
- package/dist/dev/utils/use-render.js.map +1 -1
- package/dist/dev/utils/use-safe-id.js +0 -1
- package/dist/dev/utils/use-safe-id.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/features.md +2 -2
- package/docs/concepts/media-sources.md +79 -1
- package/docs/concepts/skins.md +128 -126
- package/docs/how-to/build-your-own-component.md +1 -1
- package/docs/how-to/customize-skins.md +511 -505
- package/docs/how-to/migrate-from-media-chrome.md +412 -0
- package/docs/how-to/migrate-from-mux-player.md +551 -0
- package/docs/how-to/migrate-from-plyr.md +385 -0
- package/docs/how-to/migrate-from-video-js-8.md +594 -0
- package/docs/llms.txt +9 -0
- package/docs/reference/create-player.md +2 -2
- package/docs/reference/feature-volume.md +4 -2
- package/docs/reference/menu.md +6 -18
- package/docs/reference/mute-button.md +34 -0
- package/docs/reference/popover.md +6 -6
- package/docs/reference/poster.md +187 -13
- package/docs/reference/slider.md +1 -1
- package/docs/reference/time-slider.md +1 -1
- package/docs/reference/tooltip.md +10 -10
- package/docs/reference/volume-slider.md +2 -2
- package/package.json +13 -8
|
@@ -93,10 +93,10 @@ skin.css
|
|
|
93
93
|
```
|
|
94
94
|
'use client';
|
|
95
95
|
|
|
96
|
-
import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode
|
|
96
|
+
import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode } from 'react';
|
|
97
97
|
import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from '@videojs/core/i18n/text/menu';
|
|
98
98
|
import { AirPlayEnterIcon, AirPlayExitIcon, CaptionsOffIcon, CaptionsOnIcon, CastEnterIcon, CastExitIcon, CheckIcon, ChevronIcon, FullscreenEnterIcon, FullscreenExitIcon, GearIcon, PauseIcon, PipEnterIcon, PipExitIcon, PlayIcon, QualityIcon, RestartIcon, SpeechIcon, SpeedIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon } from '@videojs/react/icons';
|
|
99
|
-
import { Poster, useTranslator, Container, usePlayer, AirPlayButton, useAudioTrackOptions, AudioTrackRadioGroup, BufferingIndicator, CaptionsButton, CaptionsRadioGroup, useCaptionsOptions, CastButton, Controls, ErrorDialog, FullscreenButton, Gesture, Hotkey, Menu, MuteButton, PiPButton, PlayButton, usePlaybackRateOptions, PlaybackRateRadioGroup, Popover, useQualityOptions, QualityRadioGroup, SeekIndicator, Slider, StatusAnnouncer, StatusIndicator, Time, TimeSlider, Tooltip, VolumeIndicator, VolumeSlider
|
|
99
|
+
import { Poster, useTranslator, Container, usePlayer, AirPlayButton, useAudioTrackOptions, AudioTrackRadioGroup, BufferingIndicator, CaptionsButton, CaptionsRadioGroup, useCaptionsOptions, CastButton, Controls, ErrorDialog, FullscreenButton, Gesture, Hotkey, Menu, MuteButton, PiPButton, PlayButton, usePlaybackRateOptions, PlaybackRateRadioGroup, Popover, useQualityOptions, QualityRadioGroup, SeekIndicator, Slider, StatusAnnouncer, StatusIndicator, Time, TimeSlider, Tooltip, VolumeIndicator, VolumeSlider } from '@videojs/react';
|
|
100
100
|
import { Video } from '@videojs/react/video';
|
|
101
101
|
import './player.css';
|
|
102
102
|
import { Player } from './player';
|
|
@@ -379,9 +379,11 @@ const SEEK_TIME = 10;
|
|
|
379
379
|
|
|
380
380
|
export interface VideoPlayerProps {
|
|
381
381
|
src: string;
|
|
382
|
+
poster?: string | undefined;
|
|
382
383
|
style?: CSSProperties;
|
|
383
384
|
className?: string;
|
|
384
|
-
|
|
385
|
+
renderPoster?: Poster.Props['render'];
|
|
386
|
+
placeholder?: string | undefined;
|
|
385
387
|
}
|
|
386
388
|
|
|
387
389
|
/**
|
|
@@ -393,13 +395,13 @@ export interface VideoPlayerProps {
|
|
|
393
395
|
* />
|
|
394
396
|
* ```
|
|
395
397
|
*/
|
|
396
|
-
export function VideoPlayer({ src, className,
|
|
398
|
+
export function VideoPlayer({ src, poster, className, renderPoster, placeholder, style, ...rest }: VideoPlayerProps): ReactNode {
|
|
397
399
|
const containerStyle = placeholder
|
|
398
400
|
? ({ '--media-poster-placeholder': `url(${placeholder})`, ...style } as CSSProperties)
|
|
399
401
|
: style;
|
|
400
402
|
|
|
401
403
|
return (
|
|
402
|
-
<Player>
|
|
404
|
+
<Player poster={poster}>
|
|
403
405
|
<Container
|
|
404
406
|
className={`media-default-skin media-default-skin--video ${className ?? ''}`}
|
|
405
407
|
style={containerStyle}
|
|
@@ -407,9 +409,7 @@ export function VideoPlayer({ src, className, poster, placeholder, style, ...res
|
|
|
407
409
|
>
|
|
408
410
|
<Video src={src} playsInline />
|
|
409
411
|
|
|
410
|
-
{
|
|
411
|
-
<Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />
|
|
412
|
-
)}
|
|
412
|
+
<Poster render={renderPoster} />
|
|
413
413
|
|
|
414
414
|
<BufferingIndicator
|
|
415
415
|
render={(props) => (
|
|
@@ -633,18 +633,6 @@ function VolumePopover(): ReactNode {
|
|
|
633
633
|
</Popover.Root>
|
|
634
634
|
);
|
|
635
635
|
}
|
|
636
|
-
|
|
637
|
-
// ================================================================
|
|
638
|
-
// Utilities
|
|
639
|
-
// ================================================================
|
|
640
|
-
|
|
641
|
-
function isString(value: unknown): value is string {
|
|
642
|
-
return typeof value === 'string';
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
function isRenderProp(value: unknown): value is RenderProp<unknown> {
|
|
646
|
-
return typeof value === 'function' || isValidElement(value);
|
|
647
|
-
}
|
|
648
636
|
```
|
|
649
637
|
```
|
|
650
638
|
import { createPlayer } from '@videojs/react';
|
|
@@ -1212,7 +1200,7 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1212
1200
|
position: relative;
|
|
1213
1201
|
display: block;
|
|
1214
1202
|
max-width: var(--thumbnail-max-width);
|
|
1215
|
-
max-height: var(--max-height);
|
|
1203
|
+
max-height: var(--thumbnail-max-height);
|
|
1216
1204
|
overflow: clip;
|
|
1217
1205
|
border-radius: inherit;
|
|
1218
1206
|
|
|
@@ -1264,9 +1252,13 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1264
1252
|
}
|
|
1265
1253
|
|
|
1266
1254
|
.media-default-skin .media-slider {
|
|
1267
|
-
--
|
|
1268
|
-
--
|
|
1269
|
-
--track-border-radius:
|
|
1255
|
+
--track-size: calc(var(--spacing) * 1);
|
|
1256
|
+
--track-highlighted-size: calc(var(--spacing) * 1.75);
|
|
1257
|
+
--track-border-radius: 99px;
|
|
1258
|
+
--thumb-size: calc(var(--spacing) * 3);
|
|
1259
|
+
--chapter-gap: calc(var(--spacing) * 1);
|
|
1260
|
+
--chapter-inset-start: calc(var(--chapter-gap) / 2);
|
|
1261
|
+
--chapter-inset-end: calc(var(--chapter-gap) / 2);
|
|
1270
1262
|
|
|
1271
1263
|
position: relative;
|
|
1272
1264
|
display: flex;
|
|
@@ -1297,10 +1289,10 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1297
1289
|
|
|
1298
1290
|
&[data-orientation="horizontal"] {
|
|
1299
1291
|
width: 100%;
|
|
1300
|
-
height:
|
|
1292
|
+
height: var(--track-size);
|
|
1301
1293
|
}
|
|
1302
1294
|
&[data-orientation="vertical"] {
|
|
1303
|
-
width:
|
|
1295
|
+
width: var(--track-size);
|
|
1304
1296
|
height: 100%;
|
|
1305
1297
|
}
|
|
1306
1298
|
}
|
|
@@ -1316,13 +1308,22 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1316
1308
|
inset-block: 0;
|
|
1317
1309
|
left: 0;
|
|
1318
1310
|
width: 100%;
|
|
1319
|
-
transition-property: clip-path;
|
|
1320
1311
|
}
|
|
1321
1312
|
&[data-orientation="vertical"] {
|
|
1322
1313
|
inset-inline: 0;
|
|
1323
1314
|
bottom: 0;
|
|
1324
1315
|
height: 100%;
|
|
1325
|
-
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
1319
|
+
transition: clip-path 200ms ease-out;
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
&[data-dragging],
|
|
1323
|
+
&[data-seeking] {
|
|
1324
|
+
.media-slider__fill,
|
|
1325
|
+
.media-slider__buffer {
|
|
1326
|
+
transition-duration: 0ms;
|
|
1326
1327
|
}
|
|
1327
1328
|
}
|
|
1328
1329
|
|
|
@@ -1349,6 +1350,14 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1349
1350
|
clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
|
|
1350
1351
|
}
|
|
1351
1352
|
}
|
|
1353
|
+
&[data-dragging] {
|
|
1354
|
+
.media-slider__fill[data-orientation="horizontal"] {
|
|
1355
|
+
clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
|
|
1356
|
+
}
|
|
1357
|
+
.media-slider__fill[data-orientation="vertical"] {
|
|
1358
|
+
clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1352
1361
|
|
|
1353
1362
|
/* Chapters */
|
|
1354
1363
|
.media-slider__chapters {
|
|
@@ -1372,10 +1381,6 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1372
1381
|
}
|
|
1373
1382
|
|
|
1374
1383
|
.media-slider__chapter {
|
|
1375
|
-
--chapter-gap: calc(var(--spacing) * 1);
|
|
1376
|
-
--chapter-inset-start: 0.5;
|
|
1377
|
-
--chapter-inset-end: 0.5;
|
|
1378
|
-
|
|
1379
1384
|
position: absolute;
|
|
1380
1385
|
inset: 0;
|
|
1381
1386
|
display: flex;
|
|
@@ -1386,16 +1391,13 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1386
1391
|
border-radius: inherit;
|
|
1387
1392
|
|
|
1388
1393
|
&:first-child {
|
|
1389
|
-
--chapter-inset-start:
|
|
1394
|
+
--chapter-inset-start: 0px;
|
|
1390
1395
|
}
|
|
1391
1396
|
&:last-child {
|
|
1392
|
-
--chapter-inset-end:
|
|
1397
|
+
--chapter-inset-end: 0px;
|
|
1393
1398
|
}
|
|
1394
1399
|
|
|
1395
1400
|
.media-slider__chapter-track {
|
|
1396
|
-
--chapter-track-size: calc(var(--spacing) * 1);
|
|
1397
|
-
--chapter-track-highlighted-size: calc(var(--spacing) * 1.75);
|
|
1398
|
-
|
|
1399
1401
|
border-radius: inherit;
|
|
1400
1402
|
|
|
1401
1403
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -1408,16 +1410,15 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1408
1410
|
clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
|
|
1409
1411
|
|
|
1410
1412
|
.media-slider__chapter-track {
|
|
1411
|
-
height: var(--
|
|
1413
|
+
height: var(--track-size);
|
|
1412
1414
|
clip-path: inset(
|
|
1413
|
-
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
1414
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
1415
|
-
var(--track-border-radius)
|
|
1415
|
+
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
1416
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)
|
|
1416
1417
|
);
|
|
1417
1418
|
}
|
|
1418
1419
|
|
|
1419
1420
|
&[data-highlighted] .media-slider__chapter-track {
|
|
1420
|
-
height: var(--
|
|
1421
|
+
height: var(--track-highlighted-size);
|
|
1421
1422
|
}
|
|
1422
1423
|
}
|
|
1423
1424
|
|
|
@@ -1425,59 +1426,19 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1425
1426
|
clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
|
|
1426
1427
|
|
|
1427
1428
|
.media-slider__chapter-track {
|
|
1428
|
-
width: var(--
|
|
1429
|
+
width: var(--track-size);
|
|
1429
1430
|
clip-path: inset(
|
|
1430
|
-
calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
1431
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
1432
|
-
var(--track-border-radius)
|
|
1431
|
+
calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
1432
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)
|
|
1433
1433
|
);
|
|
1434
1434
|
}
|
|
1435
1435
|
|
|
1436
1436
|
&[data-highlighted] .media-slider__chapter-track {
|
|
1437
|
-
width: var(--
|
|
1437
|
+
width: var(--track-highlighted-size);
|
|
1438
1438
|
}
|
|
1439
1439
|
}
|
|
1440
1440
|
}
|
|
1441
1441
|
|
|
1442
|
-
/* Dragging — thumb and fill follow the pointer position */
|
|
1443
|
-
&[data-dragging] {
|
|
1444
|
-
.media-slider__thumb[data-orientation="horizontal"] {
|
|
1445
|
-
left: var(--media-slider-pointer);
|
|
1446
|
-
}
|
|
1447
|
-
.media-slider__thumb[data-orientation="vertical"] {
|
|
1448
|
-
top: calc(100% - var(--media-slider-pointer));
|
|
1449
|
-
}
|
|
1450
|
-
.media-slider__fill[data-orientation="horizontal"] {
|
|
1451
|
-
clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
|
|
1452
|
-
}
|
|
1453
|
-
.media-slider__fill[data-orientation="vertical"] {
|
|
1454
|
-
clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
|
|
1455
|
-
}
|
|
1456
|
-
}
|
|
1457
|
-
|
|
1458
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
1459
|
-
.media-slider__thumb {
|
|
1460
|
-
transition-property: opacity, height, width, outline-offset, left, top;
|
|
1461
|
-
}
|
|
1462
|
-
.media-slider__fill {
|
|
1463
|
-
transition-timing-function: linear;
|
|
1464
|
-
transition-duration: 200ms;
|
|
1465
|
-
}
|
|
1466
|
-
.media-slider__buffer {
|
|
1467
|
-
transition-timing-function: ease-out;
|
|
1468
|
-
transition-duration: 250ms;
|
|
1469
|
-
}
|
|
1470
|
-
}
|
|
1471
|
-
|
|
1472
|
-
&[data-dragging],
|
|
1473
|
-
&[data-seeking] {
|
|
1474
|
-
.media-slider__thumb,
|
|
1475
|
-
.media-slider__fill,
|
|
1476
|
-
.media-slider__buffer {
|
|
1477
|
-
transition-duration: 0ms;
|
|
1478
|
-
}
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
1442
|
/* Thumb */
|
|
1482
1443
|
.media-slider__thumb {
|
|
1483
1444
|
position: absolute;
|
|
@@ -1494,10 +1455,8 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1494
1455
|
0 1px 3px 0 oklch(0 0 0 / 0.35),
|
|
1495
1456
|
0 1px 2px -1px oklch(0 0 0 / 0.35);
|
|
1496
1457
|
opacity: 0;
|
|
1458
|
+
scale: 0.8;
|
|
1497
1459
|
translate: -50% -50%;
|
|
1498
|
-
transition-timing-function: ease-out;
|
|
1499
|
-
transition-duration: 150ms;
|
|
1500
|
-
transition-property: opacity, height, width, outline-offset;
|
|
1501
1460
|
|
|
1502
1461
|
&[data-orientation="horizontal"] {
|
|
1503
1462
|
top: 50%;
|
|
@@ -1514,22 +1473,12 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1514
1473
|
opacity: 1;
|
|
1515
1474
|
}
|
|
1516
1475
|
|
|
1517
|
-
@media (hover: hover) and (pointer: fine) {
|
|
1518
|
-
&:hover {
|
|
1519
|
-
outline-color: oklch(from currentColor l c h / 0.15);
|
|
1520
|
-
outline-offset: 0;
|
|
1521
|
-
}
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
1476
|
&::after {
|
|
1525
1477
|
position: absolute;
|
|
1526
1478
|
inset: -4px;
|
|
1527
1479
|
content: "";
|
|
1528
1480
|
border-radius: inherit;
|
|
1529
1481
|
box-shadow: 0 0 0 2px currentColor;
|
|
1530
|
-
transition-timing-function: ease-out;
|
|
1531
|
-
transition-duration: 150ms;
|
|
1532
|
-
transition-property: opacity, scale;
|
|
1533
1482
|
}
|
|
1534
1483
|
|
|
1535
1484
|
&:not(:focus-visible)::after {
|
|
@@ -1538,37 +1487,70 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1538
1487
|
}
|
|
1539
1488
|
|
|
1540
1489
|
&.media-slider__thumb--persistent {
|
|
1541
|
-
width: var(--thumb-active-size);
|
|
1542
|
-
height: var(--thumb-active-size);
|
|
1543
1490
|
opacity: 1;
|
|
1491
|
+
scale: 1;
|
|
1544
1492
|
}
|
|
1545
|
-
}
|
|
1546
1493
|
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1494
|
+
@media (hover: hover) and (pointer: fine) {
|
|
1495
|
+
&:hover {
|
|
1496
|
+
outline-color: oklch(from currentColor l c h / 0.15);
|
|
1497
|
+
outline-offset: 0;
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
1502
|
+
transition-timing-function: ease-out;
|
|
1503
|
+
transition-duration: 150ms;
|
|
1504
|
+
transition-property: opacity, outline-offset, left, top, scale;
|
|
1505
|
+
|
|
1506
|
+
&::after {
|
|
1507
|
+
transition-timing-function: ease-out;
|
|
1508
|
+
transition-duration: 150ms;
|
|
1509
|
+
transition-property: opacity, scale;
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1551
1512
|
}
|
|
1552
1513
|
|
|
1553
1514
|
@media (hover: hover) and (pointer: fine) {
|
|
1554
1515
|
&:hover .media-slider__thumb {
|
|
1555
1516
|
opacity: 1;
|
|
1517
|
+
scale: 1;
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
&[data-dragging] .media-slider__thumb {
|
|
1522
|
+
opacity: 1;
|
|
1523
|
+
scale: 0.9;
|
|
1524
|
+
|
|
1525
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
1526
|
+
transition-property: opacity, outline-offset, scale;
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
&[data-orientation="horizontal"] {
|
|
1530
|
+
left: var(--media-slider-pointer);
|
|
1531
|
+
}
|
|
1532
|
+
&[data-orientation="vertical"] {
|
|
1533
|
+
top: calc(100% - var(--media-slider-pointer));
|
|
1556
1534
|
}
|
|
1557
1535
|
}
|
|
1558
1536
|
|
|
1559
1537
|
/* Preview */
|
|
1560
1538
|
.media-slider__preview {
|
|
1561
|
-
--max-
|
|
1562
|
-
--max-
|
|
1539
|
+
--max-size-factor: 36;
|
|
1540
|
+
--max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
|
|
1563
1541
|
|
|
1564
|
-
min-width: var(--max-
|
|
1542
|
+
min-width: var(--max-size);
|
|
1565
1543
|
height: calc(var(--spacing) * 1);
|
|
1566
1544
|
|
|
1545
|
+
@container media-root (width > 42rem) {
|
|
1546
|
+
--max-size-factor: 48;
|
|
1547
|
+
}
|
|
1548
|
+
|
|
1567
1549
|
.media-slider__thumbnail,
|
|
1568
1550
|
.media-slider__value {
|
|
1569
1551
|
position: absolute;
|
|
1570
1552
|
left: 50%;
|
|
1571
|
-
max-width: var(--max-
|
|
1553
|
+
max-width: var(--max-size);
|
|
1572
1554
|
opacity: 0;
|
|
1573
1555
|
filter: blur(8px);
|
|
1574
1556
|
transform-origin: bottom;
|
|
@@ -1579,7 +1561,8 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1579
1561
|
}
|
|
1580
1562
|
|
|
1581
1563
|
.media-slider__thumbnail {
|
|
1582
|
-
--thumbnail-max-width: var(--max-
|
|
1564
|
+
--thumbnail-max-width: var(--max-size);
|
|
1565
|
+
--thumbnail-max-height: var(--max-size);
|
|
1583
1566
|
bottom: calc(100% + (var(--spacing) * 9));
|
|
1584
1567
|
}
|
|
1585
1568
|
|
|
@@ -1593,8 +1576,8 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1593
1576
|
|
|
1594
1577
|
.media-slider__chapter-title {
|
|
1595
1578
|
min-width: 0;
|
|
1596
|
-
max-width: var(--max-
|
|
1597
|
-
padding-inline: calc(var(--spacing) *
|
|
1579
|
+
max-width: var(--max-size);
|
|
1580
|
+
padding-inline: calc(var(--spacing) * 6);
|
|
1598
1581
|
overflow: hidden;
|
|
1599
1582
|
text-overflow: ellipsis;
|
|
1600
1583
|
white-space: nowrap;
|
|
@@ -1625,14 +1608,15 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
1625
1608
|
transition-duration: 200ms;
|
|
1626
1609
|
transition-property: opacity, scale;
|
|
1627
1610
|
}
|
|
1611
|
+
}
|
|
1628
1612
|
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1613
|
+
&:is([data-pointing], :has(:focus-visible))
|
|
1614
|
+
.media-slider__preview
|
|
1615
|
+
:is(.media-slider__value, .media-slider__thumbnail),
|
|
1616
|
+
.media-slider__preview[data-pointing]:not([data-dragging])::before {
|
|
1617
|
+
opacity: 1;
|
|
1618
|
+
filter: blur(0);
|
|
1619
|
+
scale: 1;
|
|
1636
1620
|
}
|
|
1637
1621
|
}
|
|
1638
1622
|
|
|
@@ -2339,8 +2323,8 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
2339
2323
|
still in the DOM — just `display: none` — so its animations would keep
|
|
2340
2324
|
running. Set the variables to `none` to short-circuit the keyframes. */
|
|
2341
2325
|
.media-button--airplay:not([data-airplay-state="connected"]) {
|
|
2342
|
-
--media-icon
|
|
2343
|
-
--media-icon
|
|
2326
|
+
--media-icon-airplay-fill-animation: none;
|
|
2327
|
+
--media-icon-airplay-triangle-animation: none;
|
|
2344
2328
|
}
|
|
2345
2329
|
|
|
2346
2330
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -2436,6 +2420,10 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
2436
2420
|
--scale: 1.75;
|
|
2437
2421
|
}
|
|
2438
2422
|
}
|
|
2423
|
+
|
|
2424
|
+
* {
|
|
2425
|
+
--focus-ring-color: oklch(1 0 0);
|
|
2426
|
+
}
|
|
2439
2427
|
}
|
|
2440
2428
|
|
|
2441
2429
|
/* Error Dialog */
|
|
@@ -2503,6 +2491,12 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
2503
2491
|
.media-controls--primary,
|
|
2504
2492
|
.media-controls--secondary {
|
|
2505
2493
|
position: absolute;
|
|
2494
|
+
}
|
|
2495
|
+
/* Primary must be higher for the preview/thumbnail */
|
|
2496
|
+
.media-controls--primary {
|
|
2497
|
+
z-index: 20;
|
|
2498
|
+
}
|
|
2499
|
+
.media-controls--secondary {
|
|
2506
2500
|
z-index: 10;
|
|
2507
2501
|
}
|
|
2508
2502
|
|
|
@@ -2519,6 +2513,11 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
2519
2513
|
transform-origin: top;
|
|
2520
2514
|
}
|
|
2521
2515
|
|
|
2516
|
+
.media-time-controls {
|
|
2517
|
+
flex: 1;
|
|
2518
|
+
padding-inline: calc(var(--spacing) * 2);
|
|
2519
|
+
}
|
|
2520
|
+
|
|
2522
2521
|
@container media-root (width < 32rem) {
|
|
2523
2522
|
.media-controls--primary,
|
|
2524
2523
|
.media-controls--secondary {
|
|
@@ -2569,6 +2568,10 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
2569
2568
|
}
|
|
2570
2569
|
}
|
|
2571
2570
|
}
|
|
2571
|
+
|
|
2572
|
+
.media-button--captions {
|
|
2573
|
+
display: none;
|
|
2574
|
+
}
|
|
2572
2575
|
}
|
|
2573
2576
|
|
|
2574
2577
|
@container media-root (width >= 32rem) {
|
|
@@ -2605,11 +2608,10 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
2605
2608
|
translate: 0 4px;
|
|
2606
2609
|
}
|
|
2607
2610
|
}
|
|
2608
|
-
}
|
|
2609
2611
|
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2612
|
+
.media-time-controls {
|
|
2613
|
+
padding-inline: calc(var(--spacing) * 3);
|
|
2614
|
+
}
|
|
2613
2615
|
}
|
|
2614
2616
|
|
|
2615
2617
|
@media (pointer: fine) {
|
|
@@ -2658,7 +2660,7 @@ skin.css
|
|
|
2658
2660
|
import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode } from 'react';
|
|
2659
2661
|
import { playbackRateText } from '@videojs/core/i18n/text/menu';
|
|
2660
2662
|
import { CheckIcon, PauseIcon, PlayIcon, RestartIcon, SeekIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon } from '@videojs/react/icons';
|
|
2661
|
-
import { useTranslator, Container, usePlayer, BufferingIndicator, ErrorDialog, Hotkey, Menu, MuteButton, PlayButton, usePlaybackRateOptions, PlaybackRateButton, PlaybackRateRadioGroup as PlaybackRateRadioGroupComponent, Popover, SeekButton, StatusAnnouncer, Time, TimeSlider, Tooltip, VolumeSlider, type Poster
|
|
2663
|
+
import { useTranslator, Container, usePlayer, BufferingIndicator, ErrorDialog, Hotkey, Menu, MuteButton, PlayButton, usePlaybackRateOptions, PlaybackRateButton, PlaybackRateRadioGroup as PlaybackRateRadioGroupComponent, Popover, SeekButton, StatusAnnouncer, Time, TimeSlider, Tooltip, VolumeSlider, type Poster } from '@videojs/react';
|
|
2662
2664
|
import { Audio } from '@videojs/react/audio';
|
|
2663
2665
|
import './player.css';
|
|
2664
2666
|
import { Player } from './player';
|
|
@@ -3336,9 +3338,13 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3336
3338
|
}
|
|
3337
3339
|
|
|
3338
3340
|
.media-default-skin .media-slider {
|
|
3339
|
-
--
|
|
3340
|
-
--
|
|
3341
|
-
--track-border-radius:
|
|
3341
|
+
--track-size: calc(var(--spacing) * 1);
|
|
3342
|
+
--track-highlighted-size: calc(var(--spacing) * 1.75);
|
|
3343
|
+
--track-border-radius: 99px;
|
|
3344
|
+
--thumb-size: calc(var(--spacing) * 3);
|
|
3345
|
+
--chapter-gap: calc(var(--spacing) * 1);
|
|
3346
|
+
--chapter-inset-start: calc(var(--chapter-gap) / 2);
|
|
3347
|
+
--chapter-inset-end: calc(var(--chapter-gap) / 2);
|
|
3342
3348
|
|
|
3343
3349
|
position: relative;
|
|
3344
3350
|
display: flex;
|
|
@@ -3369,10 +3375,10 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3369
3375
|
|
|
3370
3376
|
&[data-orientation="horizontal"] {
|
|
3371
3377
|
width: 100%;
|
|
3372
|
-
height:
|
|
3378
|
+
height: var(--track-size);
|
|
3373
3379
|
}
|
|
3374
3380
|
&[data-orientation="vertical"] {
|
|
3375
|
-
width:
|
|
3381
|
+
width: var(--track-size);
|
|
3376
3382
|
height: 100%;
|
|
3377
3383
|
}
|
|
3378
3384
|
}
|
|
@@ -3388,13 +3394,22 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3388
3394
|
inset-block: 0;
|
|
3389
3395
|
left: 0;
|
|
3390
3396
|
width: 100%;
|
|
3391
|
-
transition-property: clip-path;
|
|
3392
3397
|
}
|
|
3393
3398
|
&[data-orientation="vertical"] {
|
|
3394
3399
|
inset-inline: 0;
|
|
3395
3400
|
bottom: 0;
|
|
3396
3401
|
height: 100%;
|
|
3397
|
-
|
|
3402
|
+
}
|
|
3403
|
+
|
|
3404
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
3405
|
+
transition: clip-path 200ms ease-out;
|
|
3406
|
+
}
|
|
3407
|
+
}
|
|
3408
|
+
&[data-dragging],
|
|
3409
|
+
&[data-seeking] {
|
|
3410
|
+
.media-slider__fill,
|
|
3411
|
+
.media-slider__buffer {
|
|
3412
|
+
transition-duration: 0ms;
|
|
3398
3413
|
}
|
|
3399
3414
|
}
|
|
3400
3415
|
|
|
@@ -3421,6 +3436,14 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3421
3436
|
clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
|
|
3422
3437
|
}
|
|
3423
3438
|
}
|
|
3439
|
+
&[data-dragging] {
|
|
3440
|
+
.media-slider__fill[data-orientation="horizontal"] {
|
|
3441
|
+
clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
|
|
3442
|
+
}
|
|
3443
|
+
.media-slider__fill[data-orientation="vertical"] {
|
|
3444
|
+
clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
|
|
3445
|
+
}
|
|
3446
|
+
}
|
|
3424
3447
|
|
|
3425
3448
|
/* Chapters */
|
|
3426
3449
|
.media-slider__chapters {
|
|
@@ -3444,10 +3467,6 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3444
3467
|
}
|
|
3445
3468
|
|
|
3446
3469
|
.media-slider__chapter {
|
|
3447
|
-
--chapter-gap: calc(var(--spacing) * 1);
|
|
3448
|
-
--chapter-inset-start: 0.5;
|
|
3449
|
-
--chapter-inset-end: 0.5;
|
|
3450
|
-
|
|
3451
3470
|
position: absolute;
|
|
3452
3471
|
inset: 0;
|
|
3453
3472
|
display: flex;
|
|
@@ -3458,16 +3477,13 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3458
3477
|
border-radius: inherit;
|
|
3459
3478
|
|
|
3460
3479
|
&:first-child {
|
|
3461
|
-
--chapter-inset-start:
|
|
3480
|
+
--chapter-inset-start: 0px;
|
|
3462
3481
|
}
|
|
3463
3482
|
&:last-child {
|
|
3464
|
-
--chapter-inset-end:
|
|
3483
|
+
--chapter-inset-end: 0px;
|
|
3465
3484
|
}
|
|
3466
3485
|
|
|
3467
3486
|
.media-slider__chapter-track {
|
|
3468
|
-
--chapter-track-size: calc(var(--spacing) * 1);
|
|
3469
|
-
--chapter-track-highlighted-size: calc(var(--spacing) * 1.75);
|
|
3470
|
-
|
|
3471
3487
|
border-radius: inherit;
|
|
3472
3488
|
|
|
3473
3489
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -3480,16 +3496,15 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3480
3496
|
clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
|
|
3481
3497
|
|
|
3482
3498
|
.media-slider__chapter-track {
|
|
3483
|
-
height: var(--
|
|
3499
|
+
height: var(--track-size);
|
|
3484
3500
|
clip-path: inset(
|
|
3485
|
-
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
3486
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
3487
|
-
var(--track-border-radius)
|
|
3501
|
+
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
3502
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)
|
|
3488
3503
|
);
|
|
3489
3504
|
}
|
|
3490
3505
|
|
|
3491
3506
|
&[data-highlighted] .media-slider__chapter-track {
|
|
3492
|
-
height: var(--
|
|
3507
|
+
height: var(--track-highlighted-size);
|
|
3493
3508
|
}
|
|
3494
3509
|
}
|
|
3495
3510
|
|
|
@@ -3497,59 +3512,19 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3497
3512
|
clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
|
|
3498
3513
|
|
|
3499
3514
|
.media-slider__chapter-track {
|
|
3500
|
-
width: var(--
|
|
3515
|
+
width: var(--track-size);
|
|
3501
3516
|
clip-path: inset(
|
|
3502
|
-
calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
3503
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
3504
|
-
var(--track-border-radius)
|
|
3517
|
+
calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
3518
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)
|
|
3505
3519
|
);
|
|
3506
3520
|
}
|
|
3507
3521
|
|
|
3508
3522
|
&[data-highlighted] .media-slider__chapter-track {
|
|
3509
|
-
width: var(--
|
|
3523
|
+
width: var(--track-highlighted-size);
|
|
3510
3524
|
}
|
|
3511
3525
|
}
|
|
3512
3526
|
}
|
|
3513
3527
|
|
|
3514
|
-
/* Dragging — thumb and fill follow the pointer position */
|
|
3515
|
-
&[data-dragging] {
|
|
3516
|
-
.media-slider__thumb[data-orientation="horizontal"] {
|
|
3517
|
-
left: var(--media-slider-pointer);
|
|
3518
|
-
}
|
|
3519
|
-
.media-slider__thumb[data-orientation="vertical"] {
|
|
3520
|
-
top: calc(100% - var(--media-slider-pointer));
|
|
3521
|
-
}
|
|
3522
|
-
.media-slider__fill[data-orientation="horizontal"] {
|
|
3523
|
-
clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
|
|
3524
|
-
}
|
|
3525
|
-
.media-slider__fill[data-orientation="vertical"] {
|
|
3526
|
-
clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
|
|
3527
|
-
}
|
|
3528
|
-
}
|
|
3529
|
-
|
|
3530
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
3531
|
-
.media-slider__thumb {
|
|
3532
|
-
transition-property: opacity, height, width, outline-offset, left, top;
|
|
3533
|
-
}
|
|
3534
|
-
.media-slider__fill {
|
|
3535
|
-
transition-timing-function: linear;
|
|
3536
|
-
transition-duration: 200ms;
|
|
3537
|
-
}
|
|
3538
|
-
.media-slider__buffer {
|
|
3539
|
-
transition-timing-function: ease-out;
|
|
3540
|
-
transition-duration: 250ms;
|
|
3541
|
-
}
|
|
3542
|
-
}
|
|
3543
|
-
|
|
3544
|
-
&[data-dragging],
|
|
3545
|
-
&[data-seeking] {
|
|
3546
|
-
.media-slider__thumb,
|
|
3547
|
-
.media-slider__fill,
|
|
3548
|
-
.media-slider__buffer {
|
|
3549
|
-
transition-duration: 0ms;
|
|
3550
|
-
}
|
|
3551
|
-
}
|
|
3552
|
-
|
|
3553
3528
|
/* Thumb */
|
|
3554
3529
|
.media-slider__thumb {
|
|
3555
3530
|
position: absolute;
|
|
@@ -3566,10 +3541,8 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3566
3541
|
0 1px 3px 0 oklch(0 0 0 / 0.35),
|
|
3567
3542
|
0 1px 2px -1px oklch(0 0 0 / 0.35);
|
|
3568
3543
|
opacity: 0;
|
|
3544
|
+
scale: 0.8;
|
|
3569
3545
|
translate: -50% -50%;
|
|
3570
|
-
transition-timing-function: ease-out;
|
|
3571
|
-
transition-duration: 150ms;
|
|
3572
|
-
transition-property: opacity, height, width, outline-offset;
|
|
3573
3546
|
|
|
3574
3547
|
&[data-orientation="horizontal"] {
|
|
3575
3548
|
top: 50%;
|
|
@@ -3586,22 +3559,12 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3586
3559
|
opacity: 1;
|
|
3587
3560
|
}
|
|
3588
3561
|
|
|
3589
|
-
@media (hover: hover) and (pointer: fine) {
|
|
3590
|
-
&:hover {
|
|
3591
|
-
outline-color: oklch(from currentColor l c h / 0.15);
|
|
3592
|
-
outline-offset: 0;
|
|
3593
|
-
}
|
|
3594
|
-
}
|
|
3595
|
-
|
|
3596
3562
|
&::after {
|
|
3597
3563
|
position: absolute;
|
|
3598
3564
|
inset: -4px;
|
|
3599
3565
|
content: "";
|
|
3600
3566
|
border-radius: inherit;
|
|
3601
3567
|
box-shadow: 0 0 0 2px currentColor;
|
|
3602
|
-
transition-timing-function: ease-out;
|
|
3603
|
-
transition-duration: 150ms;
|
|
3604
|
-
transition-property: opacity, scale;
|
|
3605
3568
|
}
|
|
3606
3569
|
|
|
3607
3570
|
&:not(:focus-visible)::after {
|
|
@@ -3610,37 +3573,70 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3610
3573
|
}
|
|
3611
3574
|
|
|
3612
3575
|
&.media-slider__thumb--persistent {
|
|
3613
|
-
width: var(--thumb-active-size);
|
|
3614
|
-
height: var(--thumb-active-size);
|
|
3615
3576
|
opacity: 1;
|
|
3577
|
+
scale: 1;
|
|
3616
3578
|
}
|
|
3617
|
-
}
|
|
3618
3579
|
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3580
|
+
@media (hover: hover) and (pointer: fine) {
|
|
3581
|
+
&:hover {
|
|
3582
|
+
outline-color: oklch(from currentColor l c h / 0.15);
|
|
3583
|
+
outline-offset: 0;
|
|
3584
|
+
}
|
|
3585
|
+
}
|
|
3586
|
+
|
|
3587
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
3588
|
+
transition-timing-function: ease-out;
|
|
3589
|
+
transition-duration: 150ms;
|
|
3590
|
+
transition-property: opacity, outline-offset, left, top, scale;
|
|
3591
|
+
|
|
3592
|
+
&::after {
|
|
3593
|
+
transition-timing-function: ease-out;
|
|
3594
|
+
transition-duration: 150ms;
|
|
3595
|
+
transition-property: opacity, scale;
|
|
3596
|
+
}
|
|
3597
|
+
}
|
|
3623
3598
|
}
|
|
3624
3599
|
|
|
3625
3600
|
@media (hover: hover) and (pointer: fine) {
|
|
3626
3601
|
&:hover .media-slider__thumb {
|
|
3627
3602
|
opacity: 1;
|
|
3603
|
+
scale: 1;
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
|
|
3607
|
+
&[data-dragging] .media-slider__thumb {
|
|
3608
|
+
opacity: 1;
|
|
3609
|
+
scale: 0.9;
|
|
3610
|
+
|
|
3611
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
3612
|
+
transition-property: opacity, outline-offset, scale;
|
|
3613
|
+
}
|
|
3614
|
+
|
|
3615
|
+
&[data-orientation="horizontal"] {
|
|
3616
|
+
left: var(--media-slider-pointer);
|
|
3617
|
+
}
|
|
3618
|
+
&[data-orientation="vertical"] {
|
|
3619
|
+
top: calc(100% - var(--media-slider-pointer));
|
|
3628
3620
|
}
|
|
3629
3621
|
}
|
|
3630
3622
|
|
|
3631
3623
|
/* Preview */
|
|
3632
3624
|
.media-slider__preview {
|
|
3633
|
-
--max-
|
|
3634
|
-
--max-
|
|
3625
|
+
--max-size-factor: 36;
|
|
3626
|
+
--max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
|
|
3635
3627
|
|
|
3636
|
-
min-width: var(--max-
|
|
3628
|
+
min-width: var(--max-size);
|
|
3637
3629
|
height: calc(var(--spacing) * 1);
|
|
3638
3630
|
|
|
3631
|
+
@container media-root (width > 42rem) {
|
|
3632
|
+
--max-size-factor: 48;
|
|
3633
|
+
}
|
|
3634
|
+
|
|
3639
3635
|
.media-slider__thumbnail,
|
|
3640
3636
|
.media-slider__value {
|
|
3641
3637
|
position: absolute;
|
|
3642
3638
|
left: 50%;
|
|
3643
|
-
max-width: var(--max-
|
|
3639
|
+
max-width: var(--max-size);
|
|
3644
3640
|
opacity: 0;
|
|
3645
3641
|
filter: blur(8px);
|
|
3646
3642
|
transform-origin: bottom;
|
|
@@ -3651,7 +3647,8 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3651
3647
|
}
|
|
3652
3648
|
|
|
3653
3649
|
.media-slider__thumbnail {
|
|
3654
|
-
--thumbnail-max-width: var(--max-
|
|
3650
|
+
--thumbnail-max-width: var(--max-size);
|
|
3651
|
+
--thumbnail-max-height: var(--max-size);
|
|
3655
3652
|
bottom: calc(100% + (var(--spacing) * 9));
|
|
3656
3653
|
}
|
|
3657
3654
|
|
|
@@ -3665,8 +3662,8 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3665
3662
|
|
|
3666
3663
|
.media-slider__chapter-title {
|
|
3667
3664
|
min-width: 0;
|
|
3668
|
-
max-width: var(--max-
|
|
3669
|
-
padding-inline: calc(var(--spacing) *
|
|
3665
|
+
max-width: var(--max-size);
|
|
3666
|
+
padding-inline: calc(var(--spacing) * 6);
|
|
3670
3667
|
overflow: hidden;
|
|
3671
3668
|
text-overflow: ellipsis;
|
|
3672
3669
|
white-space: nowrap;
|
|
@@ -3697,14 +3694,15 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
3697
3694
|
transition-duration: 200ms;
|
|
3698
3695
|
transition-property: opacity, scale;
|
|
3699
3696
|
}
|
|
3697
|
+
}
|
|
3700
3698
|
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3699
|
+
&:is([data-pointing], :has(:focus-visible))
|
|
3700
|
+
.media-slider__preview
|
|
3701
|
+
:is(.media-slider__value, .media-slider__thumbnail),
|
|
3702
|
+
.media-slider__preview[data-pointing]:not([data-dragging])::before {
|
|
3703
|
+
opacity: 1;
|
|
3704
|
+
filter: blur(0);
|
|
3705
|
+
scale: 1;
|
|
3708
3706
|
}
|
|
3709
3707
|
}
|
|
3710
3708
|
|
|
@@ -4245,10 +4243,10 @@ skin.css
|
|
|
4245
4243
|
```
|
|
4246
4244
|
'use client';
|
|
4247
4245
|
|
|
4248
|
-
import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode
|
|
4246
|
+
import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode } from 'react';
|
|
4249
4247
|
import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from '@videojs/core/i18n/text/menu';
|
|
4250
4248
|
import { AirPlayEnterIcon, AirPlayExitIcon, CaptionsOffIcon, CaptionsOnIcon, CastEnterIcon, CastExitIcon, CheckIcon, ChevronIcon, FullscreenEnterIcon, FullscreenExitIcon, GearIcon, PauseIcon, PipEnterIcon, PipExitIcon, PlayIcon, QualityIcon, RestartIcon, SpeechIcon, SpeedIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon } from '@videojs/react/icons/minimal';
|
|
4251
|
-
import { Poster, useTranslator, Container, usePlayer, AirPlayButton, useAudioTrackOptions, AudioTrackRadioGroup, BufferingIndicator, CaptionsButton, CaptionsRadioGroup, useCaptionsOptions, CastButton, Controls, ErrorDialog, FullscreenButton, Gesture, Hotkey, Menu, MuteButton, PiPButton, PlayButton, usePlaybackRateOptions, PlaybackRateRadioGroup, Popover, useQualityOptions, QualityRadioGroup, SeekIndicator, Slider, StatusAnnouncer, StatusIndicator, Time, TimeSlider, Tooltip, VolumeIndicator, VolumeSlider
|
|
4249
|
+
import { Poster, useTranslator, Container, usePlayer, AirPlayButton, useAudioTrackOptions, AudioTrackRadioGroup, BufferingIndicator, CaptionsButton, CaptionsRadioGroup, useCaptionsOptions, CastButton, Controls, ErrorDialog, FullscreenButton, Gesture, Hotkey, Menu, MuteButton, PiPButton, PlayButton, usePlaybackRateOptions, PlaybackRateRadioGroup, Popover, useQualityOptions, QualityRadioGroup, SeekIndicator, Slider, StatusAnnouncer, StatusIndicator, Time, TimeSlider, Tooltip, VolumeIndicator, VolumeSlider } from '@videojs/react';
|
|
4252
4250
|
import { Video } from '@videojs/react/video';
|
|
4253
4251
|
import './player.css';
|
|
4254
4252
|
import { Player } from './player';
|
|
@@ -4455,9 +4453,11 @@ const SEEK_TIME = 10;
|
|
|
4455
4453
|
|
|
4456
4454
|
export interface VideoPlayerProps {
|
|
4457
4455
|
src: string;
|
|
4456
|
+
poster?: string | undefined;
|
|
4458
4457
|
style?: CSSProperties;
|
|
4459
4458
|
className?: string;
|
|
4460
|
-
|
|
4459
|
+
renderPoster?: Poster.Props['render'];
|
|
4460
|
+
placeholder?: string | undefined;
|
|
4461
4461
|
}
|
|
4462
4462
|
|
|
4463
4463
|
/**
|
|
@@ -4469,13 +4469,13 @@ export interface VideoPlayerProps {
|
|
|
4469
4469
|
* />
|
|
4470
4470
|
* ```
|
|
4471
4471
|
*/
|
|
4472
|
-
export function VideoPlayer({ src, className,
|
|
4472
|
+
export function VideoPlayer({ src, poster, className, renderPoster, placeholder, style, ...rest }: VideoPlayerProps): ReactNode {
|
|
4473
4473
|
const containerStyle = placeholder
|
|
4474
4474
|
? ({ '--media-poster-placeholder': `url(${placeholder})`, ...style } as CSSProperties)
|
|
4475
4475
|
: style;
|
|
4476
4476
|
|
|
4477
4477
|
return (
|
|
4478
|
-
<Player>
|
|
4478
|
+
<Player poster={poster}>
|
|
4479
4479
|
<Container
|
|
4480
4480
|
className={`media-minimal-skin media-minimal-skin--video ${className ?? ''}`}
|
|
4481
4481
|
style={containerStyle}
|
|
@@ -4483,9 +4483,7 @@ export function VideoPlayer({ src, className, poster, placeholder, style, ...res
|
|
|
4483
4483
|
>
|
|
4484
4484
|
<Video src={src} playsInline />
|
|
4485
4485
|
|
|
4486
|
-
{
|
|
4487
|
-
<Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />
|
|
4488
|
-
)}
|
|
4486
|
+
<Poster render={renderPoster} />
|
|
4489
4487
|
|
|
4490
4488
|
<BufferingIndicator
|
|
4491
4489
|
render={(props) => (
|
|
@@ -4763,18 +4761,6 @@ function VolumePopover(): ReactNode {
|
|
|
4763
4761
|
</Popover.Root>
|
|
4764
4762
|
);
|
|
4765
4763
|
}
|
|
4766
|
-
|
|
4767
|
-
// ================================================================
|
|
4768
|
-
// Utilities
|
|
4769
|
-
// ================================================================
|
|
4770
|
-
|
|
4771
|
-
function isString(value: unknown): value is string {
|
|
4772
|
-
return typeof value === 'string';
|
|
4773
|
-
}
|
|
4774
|
-
|
|
4775
|
-
function isRenderProp(value: unknown): value is RenderProp<unknown> {
|
|
4776
|
-
return typeof value === 'function' || isValidElement(value);
|
|
4777
|
-
}
|
|
4778
4764
|
```
|
|
4779
4765
|
```
|
|
4780
4766
|
import { createPlayer } from '@videojs/react';
|
|
@@ -5367,7 +5353,7 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5367
5353
|
position: relative;
|
|
5368
5354
|
display: block;
|
|
5369
5355
|
max-width: var(--thumbnail-max-width);
|
|
5370
|
-
max-height: var(--max-height);
|
|
5356
|
+
max-height: var(--thumbnail-max-height);
|
|
5371
5357
|
overflow: clip;
|
|
5372
5358
|
border-radius: inherit;
|
|
5373
5359
|
}
|
|
@@ -5411,9 +5397,13 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5411
5397
|
}
|
|
5412
5398
|
|
|
5413
5399
|
.media-minimal-skin .media-slider {
|
|
5400
|
+
--track-size: calc(var(--spacing) * 1);
|
|
5401
|
+
--track-highlighted-size: calc(var(--spacing) * 1.75);
|
|
5402
|
+
--track-border-radius: 99px;
|
|
5414
5403
|
--thumb-size: calc(var(--spacing) * 3);
|
|
5415
|
-
--
|
|
5416
|
-
--
|
|
5404
|
+
--chapter-gap: calc(var(--spacing) * 1);
|
|
5405
|
+
--chapter-inset-start: calc(var(--chapter-gap) / 2);
|
|
5406
|
+
--chapter-inset-end: calc(var(--chapter-gap) / 2);
|
|
5417
5407
|
|
|
5418
5408
|
position: relative;
|
|
5419
5409
|
display: flex;
|
|
@@ -5445,71 +5435,17 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5445
5435
|
|
|
5446
5436
|
&[data-orientation="horizontal"] {
|
|
5447
5437
|
width: 100%;
|
|
5448
|
-
height:
|
|
5438
|
+
height: var(--track-size);
|
|
5449
5439
|
}
|
|
5450
5440
|
&[data-orientation="vertical"] {
|
|
5451
|
-
width:
|
|
5441
|
+
width: var(--track-size);
|
|
5452
5442
|
height: 100%;
|
|
5453
5443
|
}
|
|
5454
5444
|
}
|
|
5455
5445
|
|
|
5456
|
-
/*
|
|
5457
|
-
.media-
|
|
5458
|
-
|
|
5459
|
-
z-index: 10;
|
|
5460
|
-
width: var(--thumb-size);
|
|
5461
|
-
height: var(--thumb-size);
|
|
5462
|
-
user-select: none;
|
|
5463
|
-
outline: 2px solid transparent;
|
|
5464
|
-
outline-offset: -2px;
|
|
5465
|
-
background-color: currentColor;
|
|
5466
|
-
border-radius: calc(Infinity * 1px);
|
|
5467
|
-
box-shadow:
|
|
5468
|
-
0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
|
|
5469
|
-
0 1px 3px 0 oklch(0 0 0 / 0.15),
|
|
5470
|
-
0 1px 2px -1px oklch(0 0 0 / 0.15);
|
|
5471
|
-
opacity: 0;
|
|
5472
|
-
transform-origin: center;
|
|
5473
|
-
scale: 0.7;
|
|
5474
|
-
translate: -50% -50%;
|
|
5475
|
-
transition-timing-function: ease-out;
|
|
5476
|
-
transition-duration: 150ms;
|
|
5477
|
-
|
|
5478
|
-
&[data-orientation="horizontal"] {
|
|
5479
|
-
top: 50%;
|
|
5480
|
-
left: var(--media-slider-fill);
|
|
5481
|
-
}
|
|
5482
|
-
&[data-orientation="vertical"] {
|
|
5483
|
-
top: calc(100% - var(--media-slider-fill));
|
|
5484
|
-
left: 50%;
|
|
5485
|
-
}
|
|
5486
|
-
|
|
5487
|
-
&:focus-visible {
|
|
5488
|
-
outline-color: var(--focus-ring-color);
|
|
5489
|
-
outline-offset: 2px;
|
|
5490
|
-
}
|
|
5491
|
-
}
|
|
5492
|
-
|
|
5493
|
-
&:focus-within .media-slider__thumb,
|
|
5494
|
-
.media-slider__thumb--persistent {
|
|
5495
|
-
width: var(--thumb-active-size);
|
|
5496
|
-
height: var(--thumb-active-size);
|
|
5497
|
-
opacity: 1;
|
|
5498
|
-
scale: 1;
|
|
5499
|
-
}
|
|
5500
|
-
|
|
5501
|
-
@media (hover: hover) and (pointer: fine) {
|
|
5502
|
-
&:hover .media-slider__thumb {
|
|
5503
|
-
width: var(--thumb-active-size);
|
|
5504
|
-
height: var(--thumb-active-size);
|
|
5505
|
-
opacity: 1;
|
|
5506
|
-
scale: 1;
|
|
5507
|
-
}
|
|
5508
|
-
}
|
|
5509
|
-
|
|
5510
|
-
/* Shared track fills */
|
|
5511
|
-
.media-slider__buffer,
|
|
5512
|
-
.media-slider__fill {
|
|
5446
|
+
/* Shared track fills */
|
|
5447
|
+
.media-slider__buffer,
|
|
5448
|
+
.media-slider__fill {
|
|
5513
5449
|
position: absolute;
|
|
5514
5450
|
pointer-events: none;
|
|
5515
5451
|
border-radius: inherit;
|
|
@@ -5518,13 +5454,22 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5518
5454
|
inset-block: 0;
|
|
5519
5455
|
left: 0;
|
|
5520
5456
|
width: 100%;
|
|
5521
|
-
transition-property: clip-path;
|
|
5522
5457
|
}
|
|
5523
5458
|
&[data-orientation="vertical"] {
|
|
5524
5459
|
inset-inline: 0;
|
|
5525
5460
|
bottom: 0;
|
|
5526
5461
|
height: 100%;
|
|
5527
|
-
|
|
5462
|
+
}
|
|
5463
|
+
|
|
5464
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
5465
|
+
transition: clip-path 200ms ease-out;
|
|
5466
|
+
}
|
|
5467
|
+
}
|
|
5468
|
+
&[data-dragging],
|
|
5469
|
+
&[data-seeking] {
|
|
5470
|
+
.media-slider__fill,
|
|
5471
|
+
.media-slider__buffer {
|
|
5472
|
+
transition-duration: 0ms;
|
|
5528
5473
|
}
|
|
5529
5474
|
}
|
|
5530
5475
|
|
|
@@ -5551,6 +5496,14 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5551
5496
|
clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
|
|
5552
5497
|
}
|
|
5553
5498
|
}
|
|
5499
|
+
&[data-dragging] {
|
|
5500
|
+
.media-slider__fill[data-orientation="horizontal"] {
|
|
5501
|
+
clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
|
|
5502
|
+
}
|
|
5503
|
+
.media-slider__fill[data-orientation="vertical"] {
|
|
5504
|
+
clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
|
|
5505
|
+
}
|
|
5506
|
+
}
|
|
5554
5507
|
|
|
5555
5508
|
/* Chapters */
|
|
5556
5509
|
.media-slider__chapters {
|
|
@@ -5574,9 +5527,6 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5574
5527
|
}
|
|
5575
5528
|
|
|
5576
5529
|
.media-slider__chapter {
|
|
5577
|
-
--chapter-gap: calc(var(--spacing) * 1);
|
|
5578
|
-
--chapter-inset-start: 0.5;
|
|
5579
|
-
--chapter-inset-end: 0.5;
|
|
5580
5530
|
position: absolute;
|
|
5581
5531
|
inset: 0;
|
|
5582
5532
|
display: flex;
|
|
@@ -5586,15 +5536,13 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5586
5536
|
min-height: 0;
|
|
5587
5537
|
|
|
5588
5538
|
&:first-child {
|
|
5589
|
-
--chapter-inset-start:
|
|
5539
|
+
--chapter-inset-start: 0px;
|
|
5590
5540
|
}
|
|
5591
5541
|
&:last-child {
|
|
5592
|
-
--chapter-inset-end:
|
|
5542
|
+
--chapter-inset-end: 0px;
|
|
5593
5543
|
}
|
|
5594
5544
|
|
|
5595
5545
|
.media-slider__chapter-track {
|
|
5596
|
-
--chapter-track-size: calc(var(--spacing) * 0.75);
|
|
5597
|
-
--chapter-track-highlighted-size: calc(var(--spacing) * 1.25);
|
|
5598
5546
|
border-radius: var(--track-border-radius);
|
|
5599
5547
|
|
|
5600
5548
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -5607,16 +5555,15 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5607
5555
|
clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
|
|
5608
5556
|
|
|
5609
5557
|
.media-slider__chapter-track {
|
|
5610
|
-
height: var(--
|
|
5558
|
+
height: var(--track-size);
|
|
5611
5559
|
clip-path: inset(
|
|
5612
|
-
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
5613
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
5614
|
-
var(--track-border-radius)
|
|
5560
|
+
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
5561
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)
|
|
5615
5562
|
);
|
|
5616
5563
|
}
|
|
5617
5564
|
|
|
5618
5565
|
&[data-highlighted] .media-slider__chapter-track {
|
|
5619
|
-
height: var(--
|
|
5566
|
+
height: var(--track-highlighted-size);
|
|
5620
5567
|
}
|
|
5621
5568
|
}
|
|
5622
5569
|
|
|
@@ -5624,72 +5571,110 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5624
5571
|
clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
|
|
5625
5572
|
|
|
5626
5573
|
.media-slider__chapter-track {
|
|
5627
|
-
width: var(--
|
|
5574
|
+
width: var(--track-size);
|
|
5628
5575
|
clip-path: inset(
|
|
5629
|
-
calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
5630
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
5631
|
-
var(--track-border-radius)
|
|
5576
|
+
calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
5577
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)
|
|
5632
5578
|
);
|
|
5633
5579
|
}
|
|
5634
5580
|
|
|
5635
5581
|
&[data-highlighted] .media-slider__chapter-track {
|
|
5636
|
-
width: var(--
|
|
5582
|
+
width: var(--track-highlighted-size);
|
|
5637
5583
|
}
|
|
5638
5584
|
}
|
|
5639
5585
|
}
|
|
5640
5586
|
|
|
5641
|
-
/*
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
|
|
5649
|
-
|
|
5650
|
-
|
|
5587
|
+
/* Thumb */
|
|
5588
|
+
.media-slider__thumb {
|
|
5589
|
+
position: absolute;
|
|
5590
|
+
z-index: 10;
|
|
5591
|
+
width: var(--thumb-size);
|
|
5592
|
+
height: var(--thumb-size);
|
|
5593
|
+
user-select: none;
|
|
5594
|
+
outline: 2px solid transparent;
|
|
5595
|
+
outline-offset: -2px;
|
|
5596
|
+
background-color: currentColor;
|
|
5597
|
+
border-radius: calc(Infinity * 1px);
|
|
5598
|
+
box-shadow:
|
|
5599
|
+
0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
|
|
5600
|
+
0 1px 3px 0 oklch(0 0 0 / 0.15),
|
|
5601
|
+
0 1px 2px -1px oklch(0 0 0 / 0.15);
|
|
5602
|
+
opacity: 0;
|
|
5603
|
+
transform-origin: center;
|
|
5604
|
+
scale: 0.7;
|
|
5605
|
+
translate: -50% -50%;
|
|
5606
|
+
|
|
5607
|
+
&[data-orientation="horizontal"] {
|
|
5608
|
+
top: 50%;
|
|
5609
|
+
left: var(--media-slider-fill);
|
|
5651
5610
|
}
|
|
5652
|
-
|
|
5653
|
-
|
|
5611
|
+
&[data-orientation="vertical"] {
|
|
5612
|
+
top: calc(100% - var(--media-slider-fill));
|
|
5613
|
+
left: 50%;
|
|
5654
5614
|
}
|
|
5655
|
-
}
|
|
5656
5615
|
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5616
|
+
&:focus-visible {
|
|
5617
|
+
outline-color: var(--focus-ring-color);
|
|
5618
|
+
outline-offset: 2px;
|
|
5660
5619
|
}
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5620
|
+
|
|
5621
|
+
&:focus-visible,
|
|
5622
|
+
&.media-slider__thumb--persistent {
|
|
5623
|
+
opacity: 1;
|
|
5624
|
+
scale: 1;
|
|
5664
5625
|
}
|
|
5665
|
-
|
|
5626
|
+
|
|
5627
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
5666
5628
|
transition-timing-function: ease-out;
|
|
5667
|
-
transition-duration:
|
|
5629
|
+
transition-duration: 150ms;
|
|
5630
|
+
transition-property: opacity, outline-offset, left, top, scale;
|
|
5668
5631
|
}
|
|
5669
5632
|
}
|
|
5670
5633
|
|
|
5671
|
-
|
|
5672
|
-
|
|
5673
|
-
|
|
5674
|
-
|
|
5675
|
-
|
|
5676
|
-
|
|
5634
|
+
@media (hover: hover) and (pointer: fine) {
|
|
5635
|
+
&:hover .media-slider__thumb {
|
|
5636
|
+
opacity: 1;
|
|
5637
|
+
scale: 1;
|
|
5638
|
+
}
|
|
5639
|
+
}
|
|
5640
|
+
|
|
5641
|
+
&[data-dragging] .media-slider__thumb {
|
|
5642
|
+
opacity: 1;
|
|
5643
|
+
scale: 0.9;
|
|
5644
|
+
|
|
5645
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
5646
|
+
transition-property: opacity, outline-offset, scale;
|
|
5647
|
+
}
|
|
5648
|
+
|
|
5649
|
+
&[data-orientation="horizontal"] {
|
|
5650
|
+
left: var(--media-slider-pointer);
|
|
5651
|
+
}
|
|
5652
|
+
&[data-orientation="vertical"] {
|
|
5653
|
+
top: calc(100% - var(--media-slider-pointer));
|
|
5677
5654
|
}
|
|
5678
5655
|
}
|
|
5679
5656
|
|
|
5680
5657
|
/* Preview */
|
|
5681
5658
|
.media-slider__preview {
|
|
5682
|
-
--max-
|
|
5683
|
-
--max-
|
|
5659
|
+
--max-size-factor: 28;
|
|
5660
|
+
--max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
|
|
5684
5661
|
|
|
5685
5662
|
min-width: 100%;
|
|
5686
5663
|
height: calc(var(--spacing) * 1);
|
|
5687
5664
|
|
|
5665
|
+
@container media-root (width > 32rem) {
|
|
5666
|
+
--max-size-factor: 36;
|
|
5667
|
+
}
|
|
5668
|
+
|
|
5669
|
+
@container media-root (width > 42rem) {
|
|
5670
|
+
--max-size-factor: 48;
|
|
5671
|
+
}
|
|
5672
|
+
|
|
5688
5673
|
.media-slider__thumbnail,
|
|
5689
5674
|
.media-slider__value {
|
|
5690
5675
|
position: absolute;
|
|
5691
5676
|
left: var(--preview-left, var(--media-slider-pointer));
|
|
5692
|
-
max-width: var(--max-
|
|
5677
|
+
max-width: var(--max-size);
|
|
5693
5678
|
opacity: 0;
|
|
5694
5679
|
filter: blur(8px);
|
|
5695
5680
|
transform-origin: bottom;
|
|
@@ -5701,8 +5686,9 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5701
5686
|
}
|
|
5702
5687
|
|
|
5703
5688
|
.media-slider__thumbnail {
|
|
5704
|
-
--thumbnail-max-width: var(--max-
|
|
5705
|
-
|
|
5689
|
+
--thumbnail-max-width: var(--max-size);
|
|
5690
|
+
--thumbnail-max-height: var(--max-size);
|
|
5691
|
+
bottom: calc(100% + (var(--spacing) * 11));
|
|
5706
5692
|
}
|
|
5707
5693
|
|
|
5708
5694
|
.media-slider__value {
|
|
@@ -5740,15 +5726,6 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5740
5726
|
transition-property: opacity, scale;
|
|
5741
5727
|
}
|
|
5742
5728
|
|
|
5743
|
-
&[data-pointing] .media-slider__value,
|
|
5744
|
-
&[data-pointing] .media-slider__thumbnail,
|
|
5745
|
-
&[data-interactive]:not([data-pointing]):not([data-dragging]) .media-slider__value,
|
|
5746
|
-
&[data-interactive]:not([data-pointing]):not([data-dragging]) .media-slider__thumbnail {
|
|
5747
|
-
opacity: 1;
|
|
5748
|
-
filter: blur(0);
|
|
5749
|
-
scale: 1;
|
|
5750
|
-
}
|
|
5751
|
-
|
|
5752
5729
|
&[data-orientation="horizontal"]::before {
|
|
5753
5730
|
top: 50%;
|
|
5754
5731
|
left: var(--media-slider-pointer);
|
|
@@ -5767,6 +5744,14 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
5767
5744
|
scale: 1;
|
|
5768
5745
|
}
|
|
5769
5746
|
}
|
|
5747
|
+
|
|
5748
|
+
&:is([data-pointing], :has(:focus-visible))
|
|
5749
|
+
.media-slider__preview
|
|
5750
|
+
:is(.media-slider__value, .media-slider__thumbnail) {
|
|
5751
|
+
opacity: 1;
|
|
5752
|
+
filter: blur(0);
|
|
5753
|
+
scale: 1;
|
|
5754
|
+
}
|
|
5770
5755
|
}
|
|
5771
5756
|
|
|
5772
5757
|
.media-minimal-skin {
|
|
@@ -6503,8 +6488,8 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
6503
6488
|
still in the DOM — just `display: none` — so its animations would keep
|
|
6504
6489
|
running. Set the variables to `none` to short-circuit the keyframes. */
|
|
6505
6490
|
.media-button--airplay:not([data-airplay-state="connected"]) {
|
|
6506
|
-
--media-icon
|
|
6507
|
-
--media-icon
|
|
6491
|
+
--media-icon-airplay-fill-animation: none;
|
|
6492
|
+
--media-icon-airplay-triangle-animation: none;
|
|
6508
6493
|
}
|
|
6509
6494
|
|
|
6510
6495
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -6604,6 +6589,10 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
6604
6589
|
--scale: 1.75;
|
|
6605
6590
|
}
|
|
6606
6591
|
}
|
|
6592
|
+
|
|
6593
|
+
* {
|
|
6594
|
+
--focus-ring-color: oklch(1 0 0);
|
|
6595
|
+
}
|
|
6607
6596
|
}
|
|
6608
6597
|
|
|
6609
6598
|
/* Error Dialog */
|
|
@@ -6662,6 +6651,7 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
6662
6651
|
--base-boundary-offset: 1;
|
|
6663
6652
|
--inset-factor: 1;
|
|
6664
6653
|
--inset: calc(var(--spacing) * var(--inset-factor));
|
|
6654
|
+
--volume-mask: linear-gradient(to right, transparent 10%, #000 25%, #000 100%);
|
|
6665
6655
|
|
|
6666
6656
|
position: absolute;
|
|
6667
6657
|
inset-inline: var(--inset);
|
|
@@ -6717,6 +6707,37 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
6717
6707
|
justify-content: end;
|
|
6718
6708
|
}
|
|
6719
6709
|
|
|
6710
|
+
:is(.media-time-controls, .media-button-group:last-child) {
|
|
6711
|
+
mask-image: var(--volume-mask-image, none);
|
|
6712
|
+
mask-repeat: no-repeat;
|
|
6713
|
+
mask-position: var(--volume-mask-position, 100% 0);
|
|
6714
|
+
mask-size: var(--volume-mask-size, 200% 100%);
|
|
6715
|
+
transition: mask-position 50ms ease-out;
|
|
6716
|
+
}
|
|
6717
|
+
|
|
6718
|
+
@container media-root (width <= 42rem) {
|
|
6719
|
+
.media-popover--volume {
|
|
6720
|
+
--media-popover-side-offset: calc(var(--spacing) * 3);
|
|
6721
|
+
}
|
|
6722
|
+
}
|
|
6723
|
+
|
|
6724
|
+
&:has(.media-button--mute[aria-expanded="true"]) {
|
|
6725
|
+
@container media-root (width <= 42rem) {
|
|
6726
|
+
.media-button-group:last-child {
|
|
6727
|
+
--volume-mask-image: var(--volume-mask);
|
|
6728
|
+
--volume-mask-position: 0 0;
|
|
6729
|
+
--volume-mask-size: 400% 100%;
|
|
6730
|
+
}
|
|
6731
|
+
}
|
|
6732
|
+
|
|
6733
|
+
@container media-root (width > 42rem) {
|
|
6734
|
+
.media-time-controls {
|
|
6735
|
+
--volume-mask-image: var(--volume-mask);
|
|
6736
|
+
--volume-mask-position: 0 0;
|
|
6737
|
+
}
|
|
6738
|
+
}
|
|
6739
|
+
}
|
|
6740
|
+
|
|
6720
6741
|
@container media-root (width > 42rem) {
|
|
6721
6742
|
--inset-factor: 2;
|
|
6722
6743
|
--base-side-offset: 2;
|
|
@@ -6734,20 +6755,6 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
6734
6755
|
.media-button-group:last-child {
|
|
6735
6756
|
flex: 0 0 auto;
|
|
6736
6757
|
}
|
|
6737
|
-
|
|
6738
|
-
.media-time-controls {
|
|
6739
|
-
mask-position: 100% 0;
|
|
6740
|
-
mask-size: 200% 100%;
|
|
6741
|
-
transition: mask-position 50ms ease-out;
|
|
6742
|
-
}
|
|
6743
|
-
|
|
6744
|
-
&:has(.media-button--mute[aria-expanded="true"]) .media-time-controls {
|
|
6745
|
-
mask-image: linear-gradient(to right, transparent 10%, #000 25%, #000 100%);
|
|
6746
|
-
}
|
|
6747
|
-
|
|
6748
|
-
&:has(.media-button--mute[aria-expanded="true"]) .media-time-controls {
|
|
6749
|
-
mask-position: 0 0;
|
|
6750
|
-
}
|
|
6751
6758
|
}
|
|
6752
6759
|
}
|
|
6753
6760
|
|
|
@@ -6772,9 +6779,9 @@ export const { Player } = createPlayer({ features: videoFeatures });
|
|
|
6772
6779
|
.media-minimal-skin--video .media-slider .media-slider__preview {
|
|
6773
6780
|
--preview-end-inset: calc(100cqi - 100%);
|
|
6774
6781
|
--preview-left: clamp(
|
|
6775
|
-
calc(var(--max-
|
|
6782
|
+
calc(var(--max-size) / 2),
|
|
6776
6783
|
var(--media-slider-pointer),
|
|
6777
|
-
calc(100% - var(--max-
|
|
6784
|
+
calc(100% - var(--max-size) / 2 + var(--preview-end-inset))
|
|
6778
6785
|
);
|
|
6779
6786
|
|
|
6780
6787
|
@container media-root (width > 42rem) {
|
|
@@ -6798,7 +6805,7 @@ skin.css
|
|
|
6798
6805
|
import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode } from 'react';
|
|
6799
6806
|
import { playbackRateText } from '@videojs/core/i18n/text/menu';
|
|
6800
6807
|
import { CheckIcon, PauseIcon, PlayIcon, RestartIcon, SeekIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon } from '@videojs/react/icons/minimal';
|
|
6801
|
-
import { useTranslator, Container, usePlayer, BufferingIndicator, ErrorDialog, Hotkey, Menu, MuteButton, PlayButton, usePlaybackRateOptions, PlaybackRateButton, PlaybackRateRadioGroup as PlaybackRateRadioGroupComponent, Popover, SeekButton, StatusAnnouncer, Time, TimeSlider, Tooltip, VolumeSlider, type Poster
|
|
6808
|
+
import { useTranslator, Container, usePlayer, BufferingIndicator, ErrorDialog, Hotkey, Menu, MuteButton, PlayButton, usePlaybackRateOptions, PlaybackRateButton, PlaybackRateRadioGroup as PlaybackRateRadioGroupComponent, Popover, SeekButton, StatusAnnouncer, Time, TimeSlider, Tooltip, VolumeSlider, type Poster } from '@videojs/react';
|
|
6802
6809
|
import { Audio } from '@videojs/react/audio';
|
|
6803
6810
|
import './player.css';
|
|
6804
6811
|
import { Player } from './player';
|
|
@@ -7489,9 +7496,13 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7489
7496
|
}
|
|
7490
7497
|
|
|
7491
7498
|
.media-minimal-skin .media-slider {
|
|
7499
|
+
--track-size: calc(var(--spacing) * 1);
|
|
7500
|
+
--track-highlighted-size: calc(var(--spacing) * 1.75);
|
|
7501
|
+
--track-border-radius: 99px;
|
|
7492
7502
|
--thumb-size: calc(var(--spacing) * 3);
|
|
7493
|
-
--
|
|
7494
|
-
--
|
|
7503
|
+
--chapter-gap: calc(var(--spacing) * 1);
|
|
7504
|
+
--chapter-inset-start: calc(var(--chapter-gap) / 2);
|
|
7505
|
+
--chapter-inset-end: calc(var(--chapter-gap) / 2);
|
|
7495
7506
|
|
|
7496
7507
|
position: relative;
|
|
7497
7508
|
display: flex;
|
|
@@ -7523,68 +7534,14 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7523
7534
|
|
|
7524
7535
|
&[data-orientation="horizontal"] {
|
|
7525
7536
|
width: 100%;
|
|
7526
|
-
height:
|
|
7537
|
+
height: var(--track-size);
|
|
7527
7538
|
}
|
|
7528
7539
|
&[data-orientation="vertical"] {
|
|
7529
|
-
width:
|
|
7540
|
+
width: var(--track-size);
|
|
7530
7541
|
height: 100%;
|
|
7531
7542
|
}
|
|
7532
7543
|
}
|
|
7533
7544
|
|
|
7534
|
-
/* Thumb */
|
|
7535
|
-
.media-slider__thumb {
|
|
7536
|
-
position: absolute;
|
|
7537
|
-
z-index: 10;
|
|
7538
|
-
width: var(--thumb-size);
|
|
7539
|
-
height: var(--thumb-size);
|
|
7540
|
-
user-select: none;
|
|
7541
|
-
outline: 2px solid transparent;
|
|
7542
|
-
outline-offset: -2px;
|
|
7543
|
-
background-color: currentColor;
|
|
7544
|
-
border-radius: calc(Infinity * 1px);
|
|
7545
|
-
box-shadow:
|
|
7546
|
-
0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
|
|
7547
|
-
0 1px 3px 0 oklch(0 0 0 / 0.15),
|
|
7548
|
-
0 1px 2px -1px oklch(0 0 0 / 0.15);
|
|
7549
|
-
opacity: 0;
|
|
7550
|
-
transform-origin: center;
|
|
7551
|
-
scale: 0.7;
|
|
7552
|
-
translate: -50% -50%;
|
|
7553
|
-
transition-timing-function: ease-out;
|
|
7554
|
-
transition-duration: 150ms;
|
|
7555
|
-
|
|
7556
|
-
&[data-orientation="horizontal"] {
|
|
7557
|
-
top: 50%;
|
|
7558
|
-
left: var(--media-slider-fill);
|
|
7559
|
-
}
|
|
7560
|
-
&[data-orientation="vertical"] {
|
|
7561
|
-
top: calc(100% - var(--media-slider-fill));
|
|
7562
|
-
left: 50%;
|
|
7563
|
-
}
|
|
7564
|
-
|
|
7565
|
-
&:focus-visible {
|
|
7566
|
-
outline-color: var(--focus-ring-color);
|
|
7567
|
-
outline-offset: 2px;
|
|
7568
|
-
}
|
|
7569
|
-
}
|
|
7570
|
-
|
|
7571
|
-
&:focus-within .media-slider__thumb,
|
|
7572
|
-
.media-slider__thumb--persistent {
|
|
7573
|
-
width: var(--thumb-active-size);
|
|
7574
|
-
height: var(--thumb-active-size);
|
|
7575
|
-
opacity: 1;
|
|
7576
|
-
scale: 1;
|
|
7577
|
-
}
|
|
7578
|
-
|
|
7579
|
-
@media (hover: hover) and (pointer: fine) {
|
|
7580
|
-
&:hover .media-slider__thumb {
|
|
7581
|
-
width: var(--thumb-active-size);
|
|
7582
|
-
height: var(--thumb-active-size);
|
|
7583
|
-
opacity: 1;
|
|
7584
|
-
scale: 1;
|
|
7585
|
-
}
|
|
7586
|
-
}
|
|
7587
|
-
|
|
7588
7545
|
/* Shared track fills */
|
|
7589
7546
|
.media-slider__buffer,
|
|
7590
7547
|
.media-slider__fill {
|
|
@@ -7596,13 +7553,22 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7596
7553
|
inset-block: 0;
|
|
7597
7554
|
left: 0;
|
|
7598
7555
|
width: 100%;
|
|
7599
|
-
transition-property: clip-path;
|
|
7600
7556
|
}
|
|
7601
7557
|
&[data-orientation="vertical"] {
|
|
7602
7558
|
inset-inline: 0;
|
|
7603
7559
|
bottom: 0;
|
|
7604
7560
|
height: 100%;
|
|
7605
|
-
|
|
7561
|
+
}
|
|
7562
|
+
|
|
7563
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
7564
|
+
transition: clip-path 200ms ease-out;
|
|
7565
|
+
}
|
|
7566
|
+
}
|
|
7567
|
+
&[data-dragging],
|
|
7568
|
+
&[data-seeking] {
|
|
7569
|
+
.media-slider__fill,
|
|
7570
|
+
.media-slider__buffer {
|
|
7571
|
+
transition-duration: 0ms;
|
|
7606
7572
|
}
|
|
7607
7573
|
}
|
|
7608
7574
|
|
|
@@ -7629,6 +7595,14 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7629
7595
|
clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
|
|
7630
7596
|
}
|
|
7631
7597
|
}
|
|
7598
|
+
&[data-dragging] {
|
|
7599
|
+
.media-slider__fill[data-orientation="horizontal"] {
|
|
7600
|
+
clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
|
|
7601
|
+
}
|
|
7602
|
+
.media-slider__fill[data-orientation="vertical"] {
|
|
7603
|
+
clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
|
|
7604
|
+
}
|
|
7605
|
+
}
|
|
7632
7606
|
|
|
7633
7607
|
/* Chapters */
|
|
7634
7608
|
.media-slider__chapters {
|
|
@@ -7652,9 +7626,6 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7652
7626
|
}
|
|
7653
7627
|
|
|
7654
7628
|
.media-slider__chapter {
|
|
7655
|
-
--chapter-gap: calc(var(--spacing) * 1);
|
|
7656
|
-
--chapter-inset-start: 0.5;
|
|
7657
|
-
--chapter-inset-end: 0.5;
|
|
7658
7629
|
position: absolute;
|
|
7659
7630
|
inset: 0;
|
|
7660
7631
|
display: flex;
|
|
@@ -7664,15 +7635,13 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7664
7635
|
min-height: 0;
|
|
7665
7636
|
|
|
7666
7637
|
&:first-child {
|
|
7667
|
-
--chapter-inset-start:
|
|
7638
|
+
--chapter-inset-start: 0px;
|
|
7668
7639
|
}
|
|
7669
7640
|
&:last-child {
|
|
7670
|
-
--chapter-inset-end:
|
|
7641
|
+
--chapter-inset-end: 0px;
|
|
7671
7642
|
}
|
|
7672
7643
|
|
|
7673
7644
|
.media-slider__chapter-track {
|
|
7674
|
-
--chapter-track-size: calc(var(--spacing) * 0.75);
|
|
7675
|
-
--chapter-track-highlighted-size: calc(var(--spacing) * 1.25);
|
|
7676
7645
|
border-radius: var(--track-border-radius);
|
|
7677
7646
|
|
|
7678
7647
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -7685,16 +7654,15 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7685
7654
|
clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
|
|
7686
7655
|
|
|
7687
7656
|
.media-slider__chapter-track {
|
|
7688
|
-
height: var(--
|
|
7657
|
+
height: var(--track-size);
|
|
7689
7658
|
clip-path: inset(
|
|
7690
|
-
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
7691
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
7692
|
-
var(--track-border-radius)
|
|
7659
|
+
0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
7660
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)
|
|
7693
7661
|
);
|
|
7694
7662
|
}
|
|
7695
7663
|
|
|
7696
7664
|
&[data-highlighted] .media-slider__chapter-track {
|
|
7697
|
-
height: var(--
|
|
7665
|
+
height: var(--track-highlighted-size);
|
|
7698
7666
|
}
|
|
7699
7667
|
}
|
|
7700
7668
|
|
|
@@ -7702,72 +7670,110 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7702
7670
|
clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
|
|
7703
7671
|
|
|
7704
7672
|
.media-slider__chapter-track {
|
|
7705
|
-
width: var(--
|
|
7673
|
+
width: var(--track-size);
|
|
7706
7674
|
clip-path: inset(
|
|
7707
|
-
calc(100% - var(--media-slider-chapter-end) + var(--chapter-
|
|
7708
|
-
calc(var(--media-slider-chapter-start) + var(--chapter-
|
|
7709
|
-
var(--track-border-radius)
|
|
7675
|
+
calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
|
|
7676
|
+
calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)
|
|
7710
7677
|
);
|
|
7711
7678
|
}
|
|
7712
7679
|
|
|
7713
7680
|
&[data-highlighted] .media-slider__chapter-track {
|
|
7714
|
-
width: var(--
|
|
7681
|
+
width: var(--track-highlighted-size);
|
|
7715
7682
|
}
|
|
7716
7683
|
}
|
|
7717
7684
|
}
|
|
7718
7685
|
|
|
7719
|
-
/*
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7727
|
-
|
|
7728
|
-
|
|
7686
|
+
/* Thumb */
|
|
7687
|
+
.media-slider__thumb {
|
|
7688
|
+
position: absolute;
|
|
7689
|
+
z-index: 10;
|
|
7690
|
+
width: var(--thumb-size);
|
|
7691
|
+
height: var(--thumb-size);
|
|
7692
|
+
user-select: none;
|
|
7693
|
+
outline: 2px solid transparent;
|
|
7694
|
+
outline-offset: -2px;
|
|
7695
|
+
background-color: currentColor;
|
|
7696
|
+
border-radius: calc(Infinity * 1px);
|
|
7697
|
+
box-shadow:
|
|
7698
|
+
0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
|
|
7699
|
+
0 1px 3px 0 oklch(0 0 0 / 0.15),
|
|
7700
|
+
0 1px 2px -1px oklch(0 0 0 / 0.15);
|
|
7701
|
+
opacity: 0;
|
|
7702
|
+
transform-origin: center;
|
|
7703
|
+
scale: 0.7;
|
|
7704
|
+
translate: -50% -50%;
|
|
7705
|
+
|
|
7706
|
+
&[data-orientation="horizontal"] {
|
|
7707
|
+
top: 50%;
|
|
7708
|
+
left: var(--media-slider-fill);
|
|
7729
7709
|
}
|
|
7730
|
-
|
|
7731
|
-
|
|
7710
|
+
&[data-orientation="vertical"] {
|
|
7711
|
+
top: calc(100% - var(--media-slider-fill));
|
|
7712
|
+
left: 50%;
|
|
7732
7713
|
}
|
|
7733
|
-
}
|
|
7734
7714
|
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7715
|
+
&:focus-visible {
|
|
7716
|
+
outline-color: var(--focus-ring-color);
|
|
7717
|
+
outline-offset: 2px;
|
|
7738
7718
|
}
|
|
7739
|
-
|
|
7740
|
-
|
|
7741
|
-
|
|
7719
|
+
|
|
7720
|
+
&:focus-visible,
|
|
7721
|
+
&.media-slider__thumb--persistent {
|
|
7722
|
+
opacity: 1;
|
|
7723
|
+
scale: 1;
|
|
7742
7724
|
}
|
|
7743
|
-
|
|
7725
|
+
|
|
7726
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
7744
7727
|
transition-timing-function: ease-out;
|
|
7745
|
-
transition-duration:
|
|
7728
|
+
transition-duration: 150ms;
|
|
7729
|
+
transition-property: opacity, outline-offset, left, top, scale;
|
|
7746
7730
|
}
|
|
7747
7731
|
}
|
|
7748
7732
|
|
|
7749
|
-
|
|
7750
|
-
|
|
7751
|
-
|
|
7752
|
-
|
|
7753
|
-
|
|
7754
|
-
|
|
7733
|
+
@media (hover: hover) and (pointer: fine) {
|
|
7734
|
+
&:hover .media-slider__thumb {
|
|
7735
|
+
opacity: 1;
|
|
7736
|
+
scale: 1;
|
|
7737
|
+
}
|
|
7738
|
+
}
|
|
7739
|
+
|
|
7740
|
+
&[data-dragging] .media-slider__thumb {
|
|
7741
|
+
opacity: 1;
|
|
7742
|
+
scale: 0.9;
|
|
7743
|
+
|
|
7744
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
7745
|
+
transition-property: opacity, outline-offset, scale;
|
|
7746
|
+
}
|
|
7747
|
+
|
|
7748
|
+
&[data-orientation="horizontal"] {
|
|
7749
|
+
left: var(--media-slider-pointer);
|
|
7750
|
+
}
|
|
7751
|
+
&[data-orientation="vertical"] {
|
|
7752
|
+
top: calc(100% - var(--media-slider-pointer));
|
|
7755
7753
|
}
|
|
7756
7754
|
}
|
|
7757
7755
|
|
|
7758
7756
|
/* Preview */
|
|
7759
7757
|
.media-slider__preview {
|
|
7760
|
-
--max-
|
|
7761
|
-
--max-
|
|
7758
|
+
--max-size-factor: 28;
|
|
7759
|
+
--max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
|
|
7762
7760
|
|
|
7763
7761
|
min-width: 100%;
|
|
7764
7762
|
height: calc(var(--spacing) * 1);
|
|
7765
7763
|
|
|
7764
|
+
@container media-root (width > 32rem) {
|
|
7765
|
+
--max-size-factor: 36;
|
|
7766
|
+
}
|
|
7767
|
+
|
|
7768
|
+
@container media-root (width > 42rem) {
|
|
7769
|
+
--max-size-factor: 48;
|
|
7770
|
+
}
|
|
7771
|
+
|
|
7766
7772
|
.media-slider__thumbnail,
|
|
7767
7773
|
.media-slider__value {
|
|
7768
7774
|
position: absolute;
|
|
7769
7775
|
left: var(--preview-left, var(--media-slider-pointer));
|
|
7770
|
-
max-width: var(--max-
|
|
7776
|
+
max-width: var(--max-size);
|
|
7771
7777
|
opacity: 0;
|
|
7772
7778
|
filter: blur(8px);
|
|
7773
7779
|
transform-origin: bottom;
|
|
@@ -7779,8 +7785,9 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7779
7785
|
}
|
|
7780
7786
|
|
|
7781
7787
|
.media-slider__thumbnail {
|
|
7782
|
-
--thumbnail-max-width: var(--max-
|
|
7783
|
-
|
|
7788
|
+
--thumbnail-max-width: var(--max-size);
|
|
7789
|
+
--thumbnail-max-height: var(--max-size);
|
|
7790
|
+
bottom: calc(100% + (var(--spacing) * 11));
|
|
7784
7791
|
}
|
|
7785
7792
|
|
|
7786
7793
|
.media-slider__value {
|
|
@@ -7818,15 +7825,6 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7818
7825
|
transition-property: opacity, scale;
|
|
7819
7826
|
}
|
|
7820
7827
|
|
|
7821
|
-
&[data-pointing] .media-slider__value,
|
|
7822
|
-
&[data-pointing] .media-slider__thumbnail,
|
|
7823
|
-
&[data-interactive]:not([data-pointing]):not([data-dragging]) .media-slider__value,
|
|
7824
|
-
&[data-interactive]:not([data-pointing]):not([data-dragging]) .media-slider__thumbnail {
|
|
7825
|
-
opacity: 1;
|
|
7826
|
-
filter: blur(0);
|
|
7827
|
-
scale: 1;
|
|
7828
|
-
}
|
|
7829
|
-
|
|
7830
7828
|
&[data-orientation="horizontal"]::before {
|
|
7831
7829
|
top: 50%;
|
|
7832
7830
|
left: var(--media-slider-pointer);
|
|
@@ -7845,6 +7843,14 @@ export const { Player } = createPlayer({ features: audioFeatures });
|
|
|
7845
7843
|
scale: 1;
|
|
7846
7844
|
}
|
|
7847
7845
|
}
|
|
7846
|
+
|
|
7847
|
+
&:is([data-pointing], :has(:focus-visible))
|
|
7848
|
+
.media-slider__preview
|
|
7849
|
+
:is(.media-slider__value, .media-slider__thumbnail) {
|
|
7850
|
+
opacity: 1;
|
|
7851
|
+
filter: blur(0);
|
|
7852
|
+
scale: 1;
|
|
7853
|
+
}
|
|
7848
7854
|
}
|
|
7849
7855
|
|
|
7850
7856
|
.media-minimal-skin {
|