Dialog
edgecom/dialogFreeComponent
The Edgecom Dialog component.
Live preview
live · rendered by the registry
Rendered by edgecom on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://design.edgecom.ai/r/dialog.jsonSource
1"use client"23import * as React from "react"4import { Dialog as DialogPrimitive } from "@base-ui/react/dialog"56import { cn } from "@/lib/utils"7import { Button } from "@/components/ui/button"8import { XIcon } from "lucide-react"910function Dialog({ ...props }: DialogPrimitive.Root.Props) {11 return <DialogPrimitive.Root data-slot="dialog" {...props} />12}1314function DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) {15 return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />16}1718function DialogPortal({ ...props }: DialogPrimitive.Portal.Props) {19 return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />20}2122function DialogClose({ ...props }: DialogPrimitive.Close.Props) {23 return <DialogPrimitive.Close data-slot="dialog-close" {...props} />24}2526function DialogOverlay({27 className,28 ...props29}: DialogPrimitive.Backdrop.Props) {30 return (31 <DialogPrimitive.Backdrop32 data-slot="dialog-overlay"33 className={cn(34 "fixed inset-0 isolate z-50 bg-scrim duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",35 className36 )}37 {...props}38 />39 )40}4142function DialogContent({43 className,44 children,45 showCloseButton = true,46 ...props47}: DialogPrimitive.Popup.Props & {48 showCloseButton?: boolean49}) {50 return (51 <DialogPortal>52 <DialogOverlay />53 <DialogPrimitive.Popup54 data-slot="dialog-content"55 className={cn(56 "fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",57 className58 )}59 {...props}60 >61 {children}62 {showCloseButton && (63 <DialogPrimitive.Close64 data-slot="dialog-close"65 render={66 <Button67 variant="ghost"68 className="absolute top-2 right-2"69 size="icon-sm"70 />71 }72 >73 <XIcon74 />75 <span className="sr-only">Close</span>76 </DialogPrimitive.Close>77 )}78 </DialogPrimitive.Popup>79 </DialogPortal>80 )81}8283// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from edgecom
All 66 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | edgecom | Components | Free | 2 deps | |
| Alertalert | edgecom | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | edgecom | Components | Free | 1 dep | |
| Avataravatar | edgecom | Components | Free | 1 dep | |
| Badgebadge | edgecom | Components | Free | 2 deps | |
| Bannerbanner | edgecom | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | edgecom | Components | Free | 2 deps | |
| Buttonbutton | edgecom | Components | Free | 2 deps |
