import type { CSSProperties, ImgHTMLAttributes } from 'react' type ImageSource = string | { src: string } export type ImageProps = Omit< ImgHTMLAttributes, 'src' | 'width' | 'height' > & { src: ImageSource width?: number height?: number fill?: boolean priority?: boolean placeholder?: string } const resolveSource = (src: ImageSource) => { return typeof src === 'string' ? src : src.src } export default function Image({ src, fill, priority, style, width, height, ...rest }: ImageProps) { const resolvedStyle: CSSProperties = fill ? { position: 'absolute', inset: 0, width: '100%', height: '100%', ...style, } : { ...style } return ( ) }