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