{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "file-upload-demo", "dependencies": [ "lucide-react" ], "registryDependencies": [ "https://reusables.vercel.app/r/use-file-upload", "progress", "button" ], "files": [ { "path": "registry/example/file-upload-demo.tsx", "content": "\"use client\"\n\nimport Image from \"next/image\"\nimport { Upload, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { useFileUpload } from \"@/hooks/use-file-upload\"\nimport { Button } from \"@/components/ui/button\"\nimport { Progress } from \"@/components/ui/progress\"\n\nexport default function FileUploadDemo() {\n const {\n handleFileUpload,\n cancelUpload,\n selectedFile,\n isUploading,\n progress,\n error,\n data,\n } = useFileUpload()\n\n return (\n
\n {selectedFile?.name}\n
\n\n {(selectedFile?.size! / 1024 / 1024).toFixed(2)} MB\n
\n