import React, {ReactNode, forwardRef, HTMLAttributes} from 'react'
import {styled} from '@karma.run/react'
import {themeMiddleware, Theme} from '../style/themeContext'
import {
BorderWidth,
MarginProps,
FlexChildProps,
extractStyleProps,
WidthProps,
HeightProps
} from '../style/helpers'
interface AvatarElementProps extends MarginProps, WidthProps, HeightProps, FlexChildProps {
theme: Theme
}
const AvatarElement = styled(
'div',
({theme, ...props}: AvatarElementProps) => ({
_className: process.env.NODE_ENV !== 'production' ? 'Avatar' : undefined,
overflow: 'hidden',
borderStyle: 'solid',
borderWidth: BorderWidth.Small,
borderColor: theme.colors.grayLight,
borderRadius: '100%',
backgroundColor: theme.colors.white,
...props
}),
themeMiddleware
)
export interface AvatarProps
extends HTMLAttributes,
MarginProps,
WidthProps,
HeightProps,
FlexChildProps {
children?: ReactNode
}
export const Avatar = forwardRef(function Avatar(
{children, ...props},
ref
) {
const [styleProps, elementProps] = extractStyleProps(props)
return (
{children}
)
})