{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "dialog-tailwind",
  "type": "registry:item",
  "title": "Dialog (Tailwind)",
  "description": "A modal dialog component.",
  "files": [
    {
      "path": "registry/brook/tailwind/ui/dialog.tsx",
      "content": "\"use client\";\n\nimport { Dialog } from \"@base-ui/react/dialog\";\nimport type React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nfunction DialogRoot({ ...props }: Dialog.Root.Props) {\n  return <Dialog.Root {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: Dialog.Trigger.Props) {\n  return <Dialog.Trigger {...props} />;\n}\n\nconst DialogPortal = Dialog.Portal;\n\nfunction DialogOverlay({ className, ...props }: Dialog.Backdrop.Props) {\n  return (\n    <Dialog.Backdrop\n      className={cn(\n        \"fixed inset-0 z-[var(--dialog-z)] bg-[var(--dialog-overlay)] transition-opacity duration-150\",\n        \"data-[ending-style]:opacity-0 data-[starting-style]:opacity-0\",\n        className\n      )}\n      data-slot=\"dialog-backdrop\"\n      {...props}\n    />\n  );\n}\n\nfunction DialogPopup({ className, ...props }: Dialog.Popup.Props) {\n  return (\n    <Dialog.Popup\n      className={cn(\n        \"-translate-x-1/2 -translate-y-1/2 fixed top-1/2 left-1/2 z-[101] grid w-full gap-4 overflow-y-auto\",\n        \"rounded-[var(--radius)] bg-[var(--mix-card-5-bg)] p-6\",\n        \"shadow-[0_0_0_1px_oklch(from_var(--border)_l_c_h_/_0.5),var(--shadow-border-stack)]\",\n        \"transition-all duration-150\",\n        \"data-[starting-style]:scale-95 data-[starting-style]:opacity-0\",\n        \"data-[ending-style]:scale-95 data-[ending-style]:opacity-0\",\n        \"max-sm:w-[calc(100vw-2rem)]\",\n        className\n      )}\n      data-slot=\"dialog-popup\"\n      {...props}\n    />\n  );\n}\n\nfunction DialogTitle({ className, ...props }: Dialog.Title.Props) {\n  return (\n    <Dialog.Title\n      className={cn(\"m-0 font-semibold text-foreground text-lg leading-none tracking-[-0.008em]\", className)}\n      data-slot=\"dialog-title\"\n      {...props}\n    />\n  );\n}\n\nfunction DialogDescription({ className, ...props }: Dialog.Description.Props) {\n  return (\n    <Dialog.Description\n      className={cn(\"m-0 text-muted-foreground text-sm leading-normal\", className)}\n      data-slot=\"dialog-description\"\n      {...props}\n    />\n  );\n}\n\nfunction DialogClose({ ...props }: Dialog.Close.Props) {\n  return <Dialog.Close {...props} />;\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n  return <div className={cn(\"flex flex-col gap-1.5\", className)} {...props} />;\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      className={cn(\n        \"flex flex-col-reverse gap-2\",\n        \"sm:flex-row sm:justify-end\",\n        \"[&>:last-child]:mt-2 sm:[&>:last-child]:mt-0\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n\nexport {\n  DialogRoot as Dialog,\n  DialogClose,\n  DialogDescription,\n  DialogFooter,\n  DialogHeader,\n  DialogOverlay,\n  DialogPopup,\n  DialogPortal,\n  DialogRoot,\n  DialogTitle,\n  DialogTrigger,\n};\n",
      "type": "registry:file",
      "target": "~/components/ui/dialog/dialog.tsx"
    }
  ]
}