import React, {forwardRef, ImgHTMLAttributes, ReactNode} from 'react' import {styled} from '@karma.run/react' import {themeMiddleware, Theme} from '../style/themeContext' import { WidthProps, HeightProps, PositionProps, extractStyleProps, PaddingProps, hexToRgba, BlurStrength } from '../style/helpers' interface OverlayWrapperProps extends WidthProps, HeightProps, PaddingProps, PositionProps { theme: Theme } const OverlayElement = styled( 'div', ({theme, position, ...props}: OverlayWrapperProps) => ({ _className: process.env.NODE_ENV !== 'production' ? 'Overlay' : undefined, display: 'block', position: position ?? 'absolute', backgroundColor: hexToRgba(theme.colors.black, 0.8), color: theme.colors.white, backdropFilter: `blur(${BlurStrength.Strong})`, ...props }), themeMiddleware ) export interface OverlayProps extends WidthProps, HeightProps, PaddingProps, PositionProps, Omit, 'width' | 'height'> { children?: ReactNode } export const Overlay = forwardRef(function Image( {children, ...props}, ref ) { const [styleProps, elementProps] = extractStyleProps(props) return ( {children} ) })