import * as Icons from '@heroicons/react/24/solid' import classNames from '~/lib/classNames' export type AlertProps = React.HTMLAttributes & { title: string message?: string type: 'warning' | 'error' | 'success' | 'info' children?: React.ReactNode dismissible?: boolean onDismiss?: () => void icon?: keyof typeof Icons variant?: 'standard' | 'bordered' | 'solid' } export default function Alert({ title, message, type, children, dismissible = false, onDismiss, icon, variant = 'standard', ...props }: AlertProps) { const getDefaultIcon = (): keyof typeof Icons => { switch (type) { case 'warning': return 'ExclamationTriangleIcon' case 'error': return 'XCircleIcon' case 'success': return 'CheckCircleIcon' case 'info': return 'InformationCircleIcon' default: return 'InformationCircleIcon' } } const IconComponent = () => { const iconName = icon || getDefaultIcon() const Icon = Icons[iconName] if (!Icon) return null return