import classNames from 'classnames'; import { type FunctionComponent, type HTMLProps, type ReactNode, type SVGAttributes } from 'react'; import Check from '@/icons/Check.svg'; import CrossCircleFill from '@/icons/CrossCircleFill.svg'; import ExclamationTriangleFill from '@/icons/ExclamationTriangleFill.svg'; import InfoCircleFill from '@/icons/InfoCircleFill.svg'; import styles from './Alert.module.scss'; interface Props extends HTMLProps { children: ReactNode; className?: string; variant: 'error' | 'info' | 'success' | 'warning'; } const ICON_PER_TYPE: Record>> = { error: CrossCircleFill, info: InfoCircleFill, success: Check, warning: ExclamationTriangleFill, }; export const Alert: FunctionComponent = ({ children, className, variant, ...props }) => { const Icon = ICON_PER_TYPE[variant]; return (
{children}
); };