fix(skin): preserve poster class in generated skin

This commit is contained in:
Rahim
2026-06-24 12:30:25 -07:00
parent 5969680809
commit 4acc1bc10a
4 changed files with 10 additions and 3 deletions
+1
View File
@@ -62,6 +62,7 @@ export default defineConfig({
code.create.jsx.element(Poster, {
src: code.create.value.onlyIf({ value: 'poster', condition: isString }),
render: code.create.value.onlyIf({ value: 'poster', condition: isRenderProp }),
className: code.create.value.identifier('posterClass'),
})
);
},
@@ -47,7 +47,7 @@ describe('skins compiler config', () => {
expect(compactCode).toContain(compact('<Container className={cn(container, className)} {...rest}>'));
expect(compactCode).toContain(
compact(
'{poster && <Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />}'
'{poster && <Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} className={posterClass} />}'
)
);
expect(compactCode).toContain(compact('<BufferingIndicator className={bufferingIndicator.root}>'));
@@ -17,6 +17,7 @@ import {
pipIcon,
playIcon,
popup,
poster as posterClass,
seek,
slider,
time,
@@ -75,7 +76,11 @@ export function DefaultVideoSkin({ className, children, poster, ...rest }: Defau
{children}
{poster && (
<Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />
<Poster
src={isString(poster) ? poster : undefined}
render={isRenderProp(poster) ? poster : undefined}
className={posterClass}
/>
)}
<BufferingIndicator className={bufferingIndicator.root}>
+2 -1
View File
@@ -51,6 +51,7 @@ import {
pipIcon,
playIcon,
popup,
poster as posterClass,
seek,
slider,
time,
@@ -69,7 +70,7 @@ export function DefaultVideoSkin({ className, children }: DefaultVideoSkinProps)
<Container className={[container, className]}>
{children}
<Poster />
<Poster className={posterClass} />
<BufferingIndicator className={bufferingIndicator.root}>
<SpinnerIcon className={icon} />