gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/components/ui/alert.tsx · v0.3.0-alpha11
Source
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 }