"Upload a file, or record yourself going over it" — a file drop zone plus MediaCapture as one combined field
Attach a file, or record yourself going over it
Upload a file
Drag and drop files, folders, or ZIP archives, or click to browse
Accepted: .png, .jpg, .pdf
Max size: 8 MB · Max files: 1
You can drop a folder or ZIP archive
| Prop | Type | Default | Description |
|---|---|---|---|
onFileSelected | (file: File) => void | - | Fires once a valid file is picked/dropped |
onCapture | (result: MediaCaptureResult) => void | Promise<void> | - | Fires with the finished recording |
accept | string[] | image/pdf | File MIME allow-list |
maxFileSize | number | 8 * 1024 * 1024 | File size cap in bytes |
modes | ('audio'|'video'|'screen')[] | all three | Recording modes offered |
maxDurationMs | number | 120000 | Recording auto-stop ceiling |
file / fileUrl / fileName | File | null / string | - | Already-attached file to display |
recordingSummary | {kind, durationSeconds} | null | - | Already-attached recording to display |
onFileRemoved / onRecordingRemoved | () => void | - | Shows a remove (×) button when provided |