import * as React from "react" import { cva, type VariantProps } from "class-variance-authority" import { cn } from "@/lib/utils" // Variants: default (neutral), info (blue), success (green), warning (yellow), danger (red) const alertVariants = cva( "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-5 [&>svg]:translate-y-0.5 [&>svg]:text-current", { variants: { variant: { default: "bg-card text-card-foreground border-border [&>svg]:text-muted-foreground", info: "bg-card text-card-foreground border-blue-500 [&>svg]:text-blue-500", success: "bg-card text-card-foreground border-green-500 [&>svg]:text-green-500", warning: "bg-card text-card-foreground border-yellow-500 [&>svg]:text-yellow-500", danger: "bg-card text-card-foreground border-red-500 [&>svg]:text-red-500", destructive: "text-destructive bg-card border-destructive [&>svg]:text-destructive *:data-[slot=alert-description]:text-destructive/90", }, }, defaultVariants: { variant: "default", }, } ) function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps) { return (
) } function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { return (
) } function AlertDescription({ className, ...props }: React.ComponentProps<"div">) { return (
) } export { Alert, AlertTitle, AlertDescription }