diff --git a/src/Card/CardMedia.js b/src/Card/CardMedia.js index 0651dd01390197..71fbb4be84220d 100644 --- a/src/Card/CardMedia.js +++ b/src/Card/CardMedia.js @@ -17,6 +17,8 @@ export const styles = { }, }; +const mediaComponents = ['video', 'audio', 'picture', 'iframe', 'img']; + type DefaultProps = { classes: Object, component: ElementType, @@ -55,11 +57,11 @@ export type Props = { function CardMedia(props: DefaultProps & Props) { const { classes, className, image, style, src, component: ComponentProp, ...other } = props; - warning(image || src, 'Material-UI: Either `image` or `src` prop must be specified'); - const mediaComponents = ['video', 'audio', 'picture', 'iframe', 'img']; - const isMediaComponent = mediaComponents.includes(ComponentProp); - const composedStyle = !isMediaComponent ? { backgroundImage: `url(${image})`, ...style } : style; + warning(image || src, 'Material-UI: either `image` or `src` prop must be specified'); + + const isMediaComponent = mediaComponents.indexOf(ComponentProp) !== -1; + const composedStyle = isMediaComponent ? style : { backgroundImage: `url(${image})`, ...style }; const composedClassName = classNames( { [classes.root]: !isMediaComponent,