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
+4 -14
View File
@@ -28,20 +28,10 @@
"default": "./dist/default/media/*/index.js"
},
"./*.css": "./dist/default/presets/*.css",
"./audio": {
"types": "./dist/dev/presets/audio/index.d.ts",
"development": "./dist/dev/presets/audio/index.js",
"default": "./dist/default/presets/audio/index.js"
},
"./background": {
"types": "./dist/dev/presets/background/index.d.ts",
"development": "./dist/dev/presets/background/index.js",
"default": "./dist/default/presets/background/index.js"
},
"./video": {
"types": "./dist/dev/presets/video/index.d.ts",
"development": "./dist/dev/presets/video/index.js",
"default": "./dist/default/presets/video/index.js"
"./*": {
"types": "./dist/dev/presets/*/index.d.ts",
"development": "./dist/dev/presets/*/index.js",
"default": "./dist/default/presets/*/index.js"
}
},
"scripts": {
@@ -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';