{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "node",
  "dependencies": [
    "@xyflow/react"
  ],
  "files": [
    {
      "path": "registry/new-york/ai-elements/node.tsx",
      "content": "import type { ComponentProps } from \"react\"\nimport { Handle, Position } from \"@xyflow/react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n  Card,\n  CardAction,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/new-york/ui/card\"\n\nexport type NodeProps = ComponentProps<typeof Card> & {\n  handles: {\n    target: boolean\n    source: boolean\n  }\n}\n\nexport const Node = ({ handles, className, ...props }: NodeProps) => (\n  <Card\n    className={cn(\n      \"node-container relative size-full h-auto w-sm gap-0 rounded-md p-0\",\n      className\n    )}\n    {...props}\n  >\n    {handles.target && <Handle position={Position.Left} type=\"target\" />}\n    {handles.source && <Handle position={Position.Right} type=\"source\" />}\n    {props.children}\n  </Card>\n)\n\nexport type NodeHeaderProps = ComponentProps<typeof CardHeader>\n\nexport const NodeHeader = ({ className, ...props }: NodeHeaderProps) => (\n  <CardHeader\n    className={cn(\"bg-secondary gap-0.5 rounded-t-md border-b p-3!\", className)}\n    {...props}\n  />\n)\n\nexport type NodeTitleProps = ComponentProps<typeof CardTitle>\n\nexport const NodeTitle = (props: NodeTitleProps) => <CardTitle {...props} />\n\nexport type NodeDescriptionProps = ComponentProps<typeof CardDescription>\n\nexport const NodeDescription = (props: NodeDescriptionProps) => (\n  <CardDescription {...props} />\n)\n\nexport type NodeActionProps = ComponentProps<typeof CardAction>\n\nexport const NodeAction = (props: NodeActionProps) => <CardAction {...props} />\n\nexport type NodeContentProps = ComponentProps<typeof CardContent>\n\nexport const NodeContent = ({ className, ...props }: NodeContentProps) => (\n  <CardContent className={cn(\"p-3\", className)} {...props} />\n)\n\nexport type NodeFooterProps = ComponentProps<typeof CardFooter>\n\nexport const NodeFooter = ({ className, ...props }: NodeFooterProps) => (\n  <CardFooter\n    className={cn(\"bg-secondary rounded-b-md border-t p-3!\", className)}\n    {...props}\n  />\n)\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}