{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "snapp-dialog", "title": "Snapp Dialog", "description": "The shared Snapp dialog UI primitive.", "dependencies": [ "lucide-react", "radix-ui" ], "registryDependencies": [ "@snapp/snapp-button", "@snapp/snapp-portal-container", "@snapp/snapp-utils" ], "files": [ { "path": "registry/radix-nova/ui/dialog.tsx", "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Dialog as DialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { XIcon } from \"lucide-react\"\nimport { usePortalContainer } from \"@/runtime/PortalContainer\"\n\ntype DialogSize = \"default\" | \"sm\" | \"form\"\ntype DialogSectionSize = \"default\" | \"form\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps) {\n return \n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps) {\n return \n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps) {\n const portalContainer = usePortalContainer()\n return \n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps) {\n return \n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction DialogContent({\n className,\n children,\n overlayClassName,\n showCloseButton = true,\n size = \"default\",\n ...props\n}: React.ComponentProps & {\n overlayClassName?: string\n showCloseButton?: boolean\n size?: DialogSize\n}) {\n return (\n \n \n \n {children}\n {showCloseButton && (\n \n \n \n Close\n \n \n )}\n \n \n )\n}\n\nfunction DialogHeader({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: DialogSectionSize }) {\n return (\n \n )\n}\n\nfunction DialogBody({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: DialogSectionSize }) {\n return (\n \n )\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean\n size?: DialogSectionSize\n}) {\n return (\n \n {children}\n {showCloseButton && (\n \n \n \n )}\n \n )\n}\n\nfunction DialogTitle({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps & {\n size?: DialogSectionSize\n}) {\n return (\n \n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nexport {\n Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n", "type": "registry:ui", "target": "@ui/dialog.tsx" } ], "type": "registry:ui" }