Files
a37f030d-6e8a-4f3d-9f23-1ce…/research/lovable/alert.md
vitalijmulika fb5d40bc69 Initial commit
2026-04-29 13:20:41 +03:00

1.5 KiB

import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority";

import { cn } from "@/lib/utils";

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 = React.forwardRef< HTMLDivElement, React.HTMLAttributes & VariantProps

(({ className, variant, ...props }, ref) => (

)); Alert.displayName = "Alert";

const AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes>( ({ className, ...props }, ref) => ( <h5 ref={ref} className={cn("mb-1 font-medium leading-none tracking-tight", className)} {...props} /> ), ); AlertTitle.displayName = "AlertTitle";

const AlertDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes>( ({ className, ...props }, ref) => ( <div ref={ref} className={cn("text-sm [&_p]:leading-relaxed", className)} {...props} /> ), ); AlertDescription.displayName = "AlertDescription";

export { Alert, AlertTitle, AlertDescription };