| 1 |
88bd1b0 |
Mrdn |
2y ago |
import * as React from "react" |
| 2 |
88bd1b0 |
Mrdn |
2y ago |
import { cva, type VariantProps } from "class-variance-authority" |
| 3 |
88bd1b0 |
Mrdn |
2y ago |
|
| 4 |
88bd1b0 |
Mrdn |
2y ago |
import { cn } from "@marzneshin/utils" |
| 5 |
88bd1b0 |
Mrdn |
2y ago |
|
| 6 |
88bd1b0 |
Mrdn |
2y ago |
const alertVariants = cva( |
| 7 |
88bd1b0 |
Mrdn |
2y ago |
"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", |
| 8 |
88bd1b0 |
Mrdn |
2y ago |
{ |
| 9 |
88bd1b0 |
Mrdn |
2y ago |
variants: { |
| 10 |
88bd1b0 |
Mrdn |
2y ago |
variant: { |
| 11 |
88bd1b0 |
Mrdn |
2y ago |
default: "bg-background text-foreground", |
| 12 |
88bd1b0 |
Mrdn |
2y ago |
destructive: |
| 13 |
88bd1b0 |
Mrdn |
2y ago |
"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive", |
| 14 |
88bd1b0 |
Mrdn |
2y ago |
}, |
| 15 |
88bd1b0 |
Mrdn |
2y ago |
}, |
| 16 |
88bd1b0 |
Mrdn |
2y ago |
defaultVariants: { |
| 17 |
88bd1b0 |
Mrdn |
2y ago |
variant: "default", |
| 18 |
88bd1b0 |
Mrdn |
2y ago |
}, |
| 19 |
88bd1b0 |
Mrdn |
2y ago |
} |
| 20 |
88bd1b0 |
Mrdn |
2y ago |
) |
| 21 |
88bd1b0 |
Mrdn |
2y ago |
|
| 22 |
88bd1b0 |
Mrdn |
2y ago |
const Alert = React.forwardRef< |
| 23 |
88bd1b0 |
Mrdn |
2y ago |
HTMLDivElement, |
| 24 |
88bd1b0 |
Mrdn |
2y ago |
React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants> |
| 25 |
88bd1b0 |
Mrdn |
2y ago |
>(({ className, variant, ...props }, ref) => ( |
| 26 |
88bd1b0 |
Mrdn |
2y ago |
<div |
| 27 |
88bd1b0 |
Mrdn |
2y ago |
ref={ref} |
| 28 |
88bd1b0 |
Mrdn |
2y ago |
role="alert" |
| 29 |
88bd1b0 |
Mrdn |
2y ago |
className={cn(alertVariants({ variant }), className)} |
| 30 |
88bd1b0 |
Mrdn |
2y ago |
{...props} |
| 31 |
88bd1b0 |
Mrdn |
2y ago |
/> |
| 32 |
88bd1b0 |
Mrdn |
2y ago |
)) |
| 33 |
88bd1b0 |
Mrdn |
2y ago |
Alert.displayName = "Alert" |
| 34 |
88bd1b0 |
Mrdn |
2y ago |
|
| 35 |
88bd1b0 |
Mrdn |
2y ago |
const AlertTitle = React.forwardRef< |
| 36 |
88bd1b0 |
Mrdn |
2y ago |
HTMLParagraphElement, |
| 37 |
88bd1b0 |
Mrdn |
2y ago |
React.HTMLAttributes<HTMLHeadingElement> |
| 38 |
88bd1b0 |
Mrdn |
2y ago |
>(({ className, ...props }, ref) => ( |
| 39 |
88bd1b0 |
Mrdn |
2y ago |
<h5 |
| 40 |
88bd1b0 |
Mrdn |
2y ago |
ref={ref} |
| 41 |
88bd1b0 |
Mrdn |
2y ago |
className={cn("mb-1 font-medium leading-none tracking-tight", className)} |
| 42 |
88bd1b0 |
Mrdn |
2y ago |
{...props} |
| 43 |
88bd1b0 |
Mrdn |
2y ago |
/> |
| 44 |
88bd1b0 |
Mrdn |
2y ago |
)) |
| 45 |
88bd1b0 |
Mrdn |
2y ago |
AlertTitle.displayName = "AlertTitle" |
| 46 |
88bd1b0 |
Mrdn |
2y ago |
|
| 47 |
88bd1b0 |
Mrdn |
2y ago |
const AlertDescription = React.forwardRef< |
| 48 |
88bd1b0 |
Mrdn |
2y ago |
HTMLParagraphElement, |
| 49 |
88bd1b0 |
Mrdn |
2y ago |
React.HTMLAttributes<HTMLParagraphElement> |
| 50 |
88bd1b0 |
Mrdn |
2y ago |
>(({ className, ...props }, ref) => ( |
| 51 |
88bd1b0 |
Mrdn |
2y ago |
<div |
| 52 |
88bd1b0 |
Mrdn |
2y ago |
ref={ref} |
| 53 |
88bd1b0 |
Mrdn |
2y ago |
className={cn("text-sm [&_p]:leading-relaxed", className)} |
| 54 |
88bd1b0 |
Mrdn |
2y ago |
{...props} |
| 55 |
88bd1b0 |
Mrdn |
2y ago |
/> |
| 56 |
88bd1b0 |
Mrdn |
2y ago |
)) |
| 57 |
88bd1b0 |
Mrdn |
2y ago |
AlertDescription.displayName = "AlertDescription" |
| 58 |
88bd1b0 |
Mrdn |
2y ago |
|
| 59 |
88bd1b0 |
Mrdn |
2y ago |
export { Alert, AlertTitle, AlertDescription } |