Upload filesDrop PDFs, images, or source packets.
Q2_report.pdf2.3 MB - 72%
Default
Dropzone with a completed file row.
/render stateLocal upload queue composition with dropzone, file validation, progress rows, and remove actions.
File upload owns local selection and value shape only. Applications own signed URLs, transport, retries, virus scanning, and persistence.
Controls update query params directly. Complex slots use curated fixtures so component states stay deterministic, linkable, and screenshot-ready.
Every state maps to the same component render route through the `state` query param.
Dropzone with a completed file row.
/render stateEmpty drop target.
/render stateRejected file row with validation copy.
/render state| Name | Type | Default | Description |
|---|---|---|---|
value | readonly UploadItemValue[] | - | Controlled upload queue. |
defaultValue | readonly UploadItemValue[] | [] | Uncontrolled initial upload queue. |
accept | string | - | Native accept filter for selected files. |
maxSize | number | - | Maximum file size in bytes. |
multiple | boolean | true | Allows multiple files in the queue. |
previewImages | boolean | false | Creates local object URLs for image previews. |
onValueChange | (value: readonly UploadItemValue[]) => void | - | Receives queue values. |
onFilesChange | (files: readonly File[]) => void | - | Receives raw dropped or selected files. |
label | ReactNode | - | Field label. |