feat: add background video preset (#607)

This commit is contained in:
Wesley Luyten
2026-02-26 16:00:36 -06:00
committed by GitHub
parent 0a641e90e2
commit c2bc488366
22 changed files with 241 additions and 44 deletions
@@ -1,3 +1,10 @@
import { createPlayer, features } from '../..';
const { Provider: AudioProvider } = createPlayer({
features: features.audio,
});
export { AudioProvider };
export { Audio, type AudioProps } from '@/media/audio';
export * from './minimal-skin';
export * from './skin';
@@ -1,2 +1,9 @@
import { createPlayer, features } from '../..';
const { Provider: BackgroundVideoProvider } = createPlayer({
features: features.background,
});
export { BackgroundVideoProvider };
export { BackgroundVideo, type BackgroundVideoProps } from '@/media/background-video';
export * from './skin';
+20 -2
View File
@@ -1,3 +1,21 @@
.media-skin {
color: var(--media-color, red);
.media-background-skin {
position: relative;
width: 100%;
height: 100%;
object-fit: cover;
}
.media-background-skin > video,
.media-background-skin > .media {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: inherit;
}
.media-background-skin > :where(img, picture) {
width: 100%;
height: 100%;
object-fit: inherit;
}
@@ -1,8 +1,13 @@
import { cn } from '@videojs/utils/style';
import type { BaseSkinProps } from '../types';
export type BackgroundVideoSkinProps = BaseSkinProps;
export function BackgroundVideoSkin(props: BackgroundVideoSkinProps) {
const { children } = props;
return <div>{children}</div>;
const { children, className, ...rest } = props;
return (
<div className={cn('media-background-skin', className)} {...rest}>
{children}
</div>
);
}
@@ -1,3 +1,10 @@
import { createPlayer, features } from '../..';
const { Provider: VideoProvider } = createPlayer({
features: features.video,
});
export { VideoProvider };
export { Video, type VideoProps } from '@/media/video';
export * from './minimal-skin';
export * from './minimal-skin.tailwind';