{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "prompt-input-attachments",
  "type": "registry:ui",
  "title": "Prompt input attachments",
  "description": "The AI prompt composer with an Attach file button and helper text above it, forwarding every PromptInput prop. For chat apps that accept documents or images.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "https://ui.minidev.pro/r/button.json",
    "https://ui.minidev.pro/r/prompt-input.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/prompt-input-attachments.tsx",
      "type": "registry:ui",
      "target": "components/ui/prompt-input-attachments.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { PaperclipIcon } from \"lucide-react\"\nimport { PromptInput } from \"@/components/ui/prompt-input\"\nimport { Button } from \"@/components/ui/button\"\nimport { cn } from \"@/lib/utils\"\nfunction PromptInputWithAttachments({ className, ...props }: React.ComponentProps<typeof PromptInput> & { onAttach?: () => void }) {\n  const { onAttach, ...rest } = props as React.ComponentProps<typeof PromptInput> & { onAttach?: () => void }\n  return (\n    <div data-slot=\"prompt-input-attachments\" className={cn(\"space-y-2\", className)}>\n      <div className=\"flex items-center gap-2\">\n        <Button type=\"button\" size=\"icon-sm\" variant=\"outline\" aria-label=\"Attach file\" onClick={onAttach}><PaperclipIcon /></Button>\n        <span className=\"text-xs text-fg-muted\">Attachments optional</span>\n      </div>\n      <PromptInput {...rest} />\n    </div>\n  )\n}\nexport { PromptInputWithAttachments }\n"
    }
  ]
}
