import { cn } from '@/utils/twMerge' import { type VariantProps, cva } from 'class-variance-authority' import { type HTMLAttributes, forwardRef } from 'react' const alertVariants = cva( 'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground', { variants: { variant: { default: 'bg-background text-foreground', destructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive' } }, defaultVariants: { variant: 'default' } } ) const Alert = forwardRef< HTMLDivElement, HTMLAttributes & VariantProps >(({ className, variant, ...props }, ref) => (
)) Alert.displayName = 'Alert' const AlertTitle = forwardRef< HTMLParagraphElement, HTMLAttributes >(({ className, ...props }, ref) => (
)) AlertTitle.displayName = 'AlertTitle' const AlertDescription = forwardRef< HTMLParagraphElement, HTMLAttributes >(({ className, ...props }, ref) => (
)) AlertDescription.displayName = 'AlertDescription' export { Alert, AlertDescription, AlertTitle }