Copy to clipboard
Click to upload or drag and drop
PNG, JPG or PDF (max. 10MB)
Installation
Copy to clipboard
npx bearnie add file-upload
npx bearnie add file-upload
bunx bearnie add file-upload
bunx bearnie add file-upload
pnpm dlx bearnie add file-upload
pnpm dlx bearnie add file-upload
yarn dlx bearnie add file-upload
yarn dlx bearnie add file-upload
Copy to clipboard
import FileUpload from "@/components/ui/file-upload/FileUpload.astro";
import FileUploadTrigger from "@/components/ui/file-upload/FileUploadTrigger.astro";
import FileUploadInput from "@/components/ui/file-upload/FileUploadInput.astro";
import FileUploadDropzone from "@/components/ui/file-upload/FileUploadDropzone.astro";
import FileUploadPreview from "@/components/ui/file-upload/FileUploadPreview.astro";
Usage
import {
FileUpload,
FileUploadTrigger,
FileUploadInput,
FileUploadDropzone,
FileUploadPreview,
} from "@/components/ui/file-upload"
<FileUpload class="space-y-4">
<FileUploadInput name="file" />
<FileUploadDropzone />
<FileUploadPreview />
</FileUpload>
Examples
With button trigger
Copy to clipboard
Single file
Copy to clipboard
Upload a document
PDF, DOC, or DOCX
Multiple files
Copy to clipboard
Upload multiple images
Select multiple files or drag them here
Props
FileUpload
Root container that manages the file upload state.
| Prop | Type | Default | Description |
|---|---|---|---|
| multiple | boolean | false | Allow multiple file selection |
| accept | string | - | Accepted file types (MIME types) |
| maxSize | number | - | Maximum file size in bytes |
| disabled | boolean | false | Disable the upload |
| class | string | - | Additional CSS classes |
FileUploadInput
Hidden file input element.
| Prop | Type | Default | Description |
|---|---|---|---|
| name | string | - | Input name for form submission |
| multiple | boolean | false | Allow multiple files |
| accept | string | - | Accepted file types |
FileUploadDropzone
Visual drop area for drag and drop. Clicking also opens the file picker.
FileUploadTrigger
Optional button to trigger file selection without the dropzone.
FileUploadPreview
Displays selected files with name, size, and remove button.