gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/components/ui/dialog.tsx · v0.3.0-alpha5
Source
1 88bd1b0 Mrdn 2y ago import * as React from "react"
2 88bd1b0 Mrdn 2y ago import * as DialogPrimitive from "@radix-ui/react-dialog"
3 88bd1b0 Mrdn 2y ago import { X } from "lucide-react"
4 88bd1b0 Mrdn 2y ago
5 88bd1b0 Mrdn 2y ago import { cn } from "@marzneshin/utils"
6 88bd1b0 Mrdn 2y ago
7 88bd1b0 Mrdn 2y ago const Dialog = DialogPrimitive.Root
8 88bd1b0 Mrdn 2y ago
9 88bd1b0 Mrdn 2y ago const DialogTrigger = DialogPrimitive.Trigger
10 88bd1b0 Mrdn 2y ago
11 88bd1b0 Mrdn 2y ago const DialogPortal = DialogPrimitive.Portal
12 88bd1b0 Mrdn 2y ago
13 88bd1b0 Mrdn 2y ago const DialogClose = DialogPrimitive.Close
14 88bd1b0 Mrdn 2y ago
15 88bd1b0 Mrdn 2y ago const DialogOverlay = React.forwardRef<
16 88bd1b0 Mrdn 2y ago React.ElementRef<typeof DialogPrimitive.Overlay>,
17 88bd1b0 Mrdn 2y ago React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
18 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
19 88bd1b0 Mrdn 2y ago <DialogPrimitive.Overlay
20 88bd1b0 Mrdn 2y ago ref={ref}
21 88bd1b0 Mrdn 2y ago className={cn(
22 88bd1b0 Mrdn 2y ago "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
23 88bd1b0 Mrdn 2y ago className
24 88bd1b0 Mrdn 2y ago )}
25 88bd1b0 Mrdn 2y ago {...props}
26 88bd1b0 Mrdn 2y ago />
27 88bd1b0 Mrdn 2y ago ))
28 88bd1b0 Mrdn 2y ago DialogOverlay.displayName = DialogPrimitive.Overlay.displayName
29 88bd1b0 Mrdn 2y ago
30 88bd1b0 Mrdn 2y ago const DialogContent = React.forwardRef<
31 88bd1b0 Mrdn 2y ago React.ElementRef<typeof DialogPrimitive.Content>,
32 88bd1b0 Mrdn 2y ago React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
33 88bd1b0 Mrdn 2y ago >(({ className, children, ...props }, ref) => (
34 88bd1b0 Mrdn 2y ago <DialogPortal>
35 88bd1b0 Mrdn 2y ago <DialogOverlay />
36 88bd1b0 Mrdn 2y ago <DialogPrimitive.Content
37 88bd1b0 Mrdn 2y ago ref={ref}
38 88bd1b0 Mrdn 2y ago className={cn(
39 88bd1b0 Mrdn 2y ago "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
40 88bd1b0 Mrdn 2y ago className
41 88bd1b0 Mrdn 2y ago )}
42 88bd1b0 Mrdn 2y ago {...props}
43 88bd1b0 Mrdn 2y ago >
44 88bd1b0 Mrdn 2y ago {children}
45 88bd1b0 Mrdn 2y ago <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
46 88bd1b0 Mrdn 2y ago <X className="h-4 w-4" />
47 88bd1b0 Mrdn 2y ago <span className="sr-only">Close</span>
48 88bd1b0 Mrdn 2y ago </DialogPrimitive.Close>
49 88bd1b0 Mrdn 2y ago </DialogPrimitive.Content>
50 88bd1b0 Mrdn 2y ago </DialogPortal>
51 88bd1b0 Mrdn 2y ago ))
52 88bd1b0 Mrdn 2y ago DialogContent.displayName = DialogPrimitive.Content.displayName
53 88bd1b0 Mrdn 2y ago
54 88bd1b0 Mrdn 2y ago const DialogHeader = ({
55 88bd1b0 Mrdn 2y ago className,
56 88bd1b0 Mrdn 2y ago ...props
57 88bd1b0 Mrdn 2y ago }: React.HTMLAttributes<HTMLDivElement>) => (
58 88bd1b0 Mrdn 2y ago <div
59 88bd1b0 Mrdn 2y ago className={cn(
60 88bd1b0 Mrdn 2y ago "flex flex-col space-y-1.5 text-center sm:text-left",
61 88bd1b0 Mrdn 2y ago className
62 88bd1b0 Mrdn 2y ago )}
63 88bd1b0 Mrdn 2y ago {...props}
64 88bd1b0 Mrdn 2y ago />
65 88bd1b0 Mrdn 2y ago )
66 88bd1b0 Mrdn 2y ago DialogHeader.displayName = "DialogHeader"
67 88bd1b0 Mrdn 2y ago
68 88bd1b0 Mrdn 2y ago const DialogFooter = ({
69 88bd1b0 Mrdn 2y ago className,
70 88bd1b0 Mrdn 2y ago ...props
71 88bd1b0 Mrdn 2y ago }: React.HTMLAttributes<HTMLDivElement>) => (
72 88bd1b0 Mrdn 2y ago <div
73 88bd1b0 Mrdn 2y ago className={cn(
74 88bd1b0 Mrdn 2y ago "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
75 88bd1b0 Mrdn 2y ago className
76 88bd1b0 Mrdn 2y ago )}
77 88bd1b0 Mrdn 2y ago {...props}
78 88bd1b0 Mrdn 2y ago />
79 88bd1b0 Mrdn 2y ago )
80 88bd1b0 Mrdn 2y ago DialogFooter.displayName = "DialogFooter"
81 88bd1b0 Mrdn 2y ago
82 88bd1b0 Mrdn 2y ago const DialogTitle = React.forwardRef<
83 88bd1b0 Mrdn 2y ago React.ElementRef<typeof DialogPrimitive.Title>,
84 88bd1b0 Mrdn 2y ago React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
85 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
86 88bd1b0 Mrdn 2y ago <DialogPrimitive.Title
87 88bd1b0 Mrdn 2y ago ref={ref}
88 88bd1b0 Mrdn 2y ago className={cn(
89 88bd1b0 Mrdn 2y ago "text-lg font-semibold leading-none tracking-tight",
90 88bd1b0 Mrdn 2y ago className
91 88bd1b0 Mrdn 2y ago )}
92 88bd1b0 Mrdn 2y ago {...props}
93 88bd1b0 Mrdn 2y ago />
94 88bd1b0 Mrdn 2y ago ))
95 88bd1b0 Mrdn 2y ago DialogTitle.displayName = DialogPrimitive.Title.displayName
96 88bd1b0 Mrdn 2y ago
97 88bd1b0 Mrdn 2y ago const DialogDescription = React.forwardRef<
98 88bd1b0 Mrdn 2y ago React.ElementRef<typeof DialogPrimitive.Description>,
99 88bd1b0 Mrdn 2y ago React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
100 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
101 88bd1b0 Mrdn 2y ago <DialogPrimitive.Description
102 88bd1b0 Mrdn 2y ago ref={ref}
103 88bd1b0 Mrdn 2y ago className={cn("text-sm text-muted-foreground", className)}
104 88bd1b0 Mrdn 2y ago {...props}
105 88bd1b0 Mrdn 2y ago />
106 88bd1b0 Mrdn 2y ago ))
107 88bd1b0 Mrdn 2y ago DialogDescription.displayName = DialogPrimitive.Description.displayName
108 88bd1b0 Mrdn 2y ago
109 88bd1b0 Mrdn 2y ago export {
110 88bd1b0 Mrdn 2y ago Dialog,
111 88bd1b0 Mrdn 2y ago DialogPortal,
112 88bd1b0 Mrdn 2y ago DialogOverlay,
113 88bd1b0 Mrdn 2y ago DialogClose,
114 88bd1b0 Mrdn 2y ago DialogTrigger,
115 88bd1b0 Mrdn 2y ago DialogContent,
116 88bd1b0 Mrdn 2y ago DialogHeader,
117 88bd1b0 Mrdn 2y ago DialogFooter,
118 88bd1b0 Mrdn 2y ago DialogTitle,
119 88bd1b0 Mrdn 2y ago DialogDescription,
120 88bd1b0 Mrdn 2y ago }