Aliases
upload field
FileUploadFile picker with validation limits and a selected-file list.
No files selected
Aliases
upload field
Foundations
FileUpload when the user needs to choose one or more local files through a standard file picker.FileUpload for drag-and-drop media workspaces or complex upload dashboards.field wrapper
root Carries the label, helper text, and chosen-file feedback.
file picker button
trigger Opens the native file chooser.
selected file summary
file-list Shows the chosen file names after selection.
| Name | Type | Default | Description |
|---|---|---|---|
label | string | — | Visible label used for the field or control. |
description | string | — | Provides field guidance associated with the control. |
error | string | — | Shows a validation error associated with the control. |
placeholder | string | — | Placeholder text shown before a user makes a selection or enters text. |
required | boolean | false | Marks the control as required. |
disabled | boolean | false | Prevents interaction and exposes the disabled state. |
name | string | — | Form field name used for native form submission. |
id | string | — | Sets the control ID for external labels and descriptions. |
size | 'sm' | 'md' | 'lg' | 'md' | Sets the component size. |
multiple | boolean | false | Allows selecting more than one file. |
accept | string | — | Native file accept filter. |
buttonLabel | string | 'Choose files' | Visible trigger label. |
onChange | (detail: { files: File[] }) => void | — | Receives the selected files. |
theme | ThemeContract | — | Sets the theme used to resolve component styles. |
| Name | Payload | Description |
|---|---|---|
change | { files: File[] } | Fires with the selected files. |
| Name | Description |
|---|---|
default | FileUpload is prop-driven and does not expose content slots. |
Variants
default: FileUpload uses one shell and varies mainly by size.Sizes
sm: Compact file picker.md: Default file picker.lg: Larger file picker.States
rest: No file has been selected.selected: One or more files have been selected.disabled: The upload control cannot be activated.Semantics
Keyboard
Screen readers
Checklist
Implementation notes
A file picker with format guidance.
<FileUpload label="Assets" description="Upload supporting files." /> Allow multiple files when the workflow expects a batch.
<FileUpload label="Attachments" multiple={true} /> Use accept when the workflow only supports known formats.
<FileUpload label="Brand assets" accept=".png,.svg,.pdf" buttonLabel="Choose assets" /> Calculated fixtures; browser evidence is not collected. Layout estimates use declared text behavior and maximum token values.
size=sm
size=md
size=lg
size=sm
size=md
size=lg