mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
feat(packages): add poster component to video skins (#994)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import { cn } from '@videojs/utils/style';
|
||||
|
||||
export const poster = (isShadowDOM: boolean) =>
|
||||
cn(
|
||||
'absolute inset-0 w-full h-full pointer-events-none',
|
||||
// Fade in/out with the `data-visible` attribute
|
||||
'transition-opacity duration-250',
|
||||
'not-data-visible:opacity-0',
|
||||
// In the shadow DOM, the class applies to the parent so we have to set styles on the slotted img.
|
||||
isShadowDOM
|
||||
? [
|
||||
'[&_::slotted(img)]:absolute',
|
||||
'[&_::slotted(img)]:inset-0',
|
||||
'[&_::slotted(img)]:w-full',
|
||||
'[&_::slotted(img)]:h-full',
|
||||
'[&_::slotted(img)]:[object-fit:var(--media-object-fit,contain)]',
|
||||
'[&_::slotted(img)]:[object-position:var(--media-object-position,center)]',
|
||||
'[&_::slotted(img)]:rounded-(--media-video-border-radius)',
|
||||
]
|
||||
: 'rounded-[inherit] [object-fit:var(--media-object-fit,contain)] [object-position:var(--media-object-position,center)]'
|
||||
);
|
||||
@@ -33,11 +33,6 @@ export const root = (isShadowDOM: boolean) =>
|
||||
'[@media(pointer:fine)]:has-[[data-controls]:not([data-visible])]:[--media-controls-transition-duration:300ms]',
|
||||
'[@media(pointer:coarse)]:has-[[data-controls]:not([data-visible])]:[--media-controls-transition-duration:150ms]',
|
||||
'motion-reduce:has-[[data-controls]:not([data-visible])]:[--media-controls-transition-duration:100ms]',
|
||||
// Poster image
|
||||
'[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]',
|
||||
'[&>img]:[object-fit:var(--media-object-fit,contain)] [&>img]:[object-position:var(--media-object-position,center)] [&>img]:pointer-events-none',
|
||||
'[&>img]:transition-opacity [&>img]:duration-250',
|
||||
'[&>img:not([data-visible])]:opacity-0',
|
||||
// Caption track CSS variables (consumed by the native caption bridge in light DOM)
|
||||
'[--media-caption-track-y:-0.5rem]',
|
||||
'[--media-caption-track-delay:calc(var(--media-controls-transition-delay)_+_25ms)]',
|
||||
@@ -171,5 +166,6 @@ export { button } from './components/button';
|
||||
export { icon, iconContainer, iconFlipped, iconHidden } from './components/icon';
|
||||
export { overlay } from './components/overlay';
|
||||
export { playbackRate } from './components/playback-rate';
|
||||
export { poster } from './components/poster';
|
||||
export { seek } from './components/seek';
|
||||
export { time } from './components/time';
|
||||
|
||||
Reference in New Issue
Block a user