fix(BOOK-486): suppress hotjar firstname lastname and initials * fix(BOOK-486): suppress hotjar firstname lastname and initials Approved-by: Joakim Jäderberg Approved-by: Anton Gunnarsson
36 lines
953 B
TypeScript
36 lines
953 B
TypeScript
import { MaterialIcon } from '../Icons/MaterialIcon'
|
|
import { Typography } from '../Typography'
|
|
import Image from '../Image'
|
|
|
|
import { variants } from './variants'
|
|
import type { AvatarProps } from './types'
|
|
|
|
export function Avatar({
|
|
src,
|
|
alt,
|
|
initials,
|
|
size = 'md',
|
|
className,
|
|
}: AvatarProps) {
|
|
const classNames = variants({ size, className })
|
|
const pixelSize = size === 'sm' ? 24 : size === 'md' ? 32 : 55
|
|
const iconSize = size === 'sm' ? 16 : 24
|
|
|
|
return (
|
|
<div className={classNames}>
|
|
{src ? (
|
|
<Image src={src} alt={alt || ''} width={pixelSize} height={pixelSize} />
|
|
) : initials ? (
|
|
<Typography
|
|
variant={size === 'lg' ? 'Title/Overline/sm' : 'Tag/sm'}
|
|
className={variants.initials}
|
|
>
|
|
<span data-hj-suppress>{initials}</span>
|
|
</Typography>
|
|
) : (
|
|
<MaterialIcon icon="person" color="Icon/Inverted" size={iconSize} />
|
|
)}
|
|
</div>
|
|
)
|
|
}
|