File input (UI SDK): Accepted types and limits
accept takes MIME types, wildcards and extensions. maxFiles, minSize and maxSize set the limits, and validate adds checks of your own. FileInputRejections lists each file that was left out with every reason, until the next accepted file.
Drop up to 3 PDFs
2 MB each, no empty files and no duplicates.
This adds the example as components/examples/ui-sdk-file-input/limits.tsx, together with the File input component and the HextaUI theme tokens it needs.
pnpm dlx shadcn@latest add https://hextaui.com/r/ui-sdk-file-input-limits.jsonTo add only the component, follow the File input installation.
Props in this example
The File input props this example sets, from the API reference.
| Prop | Type | Default |
|---|---|---|
accept | string | string[] | – |
multiple | boolean | false |
maxFiles | number | – |
maxSizeIn bytes. | number | – |
minSizeIn bytes. | number | – |
validateReturn a reason to reject the file, after the built-in checks. | (file: File) => string | null | – |
controllerFrom createFileInputController(). | FileInputController | – |
Every prop is in the File input API reference.
- Image previews
- Upload button
- Prompt attachments
- Page-wide drop
- Folders
- Controlled
- Form
- Invalid
- Disabled
- Right to left
See them all, with keyboard support and accessibility notes, on the File input page.
- ButtonButtons in every variant and size, with a built-in loading, success and error flow that skips the spinner for fast requests.
- CalendarA date grid for single, range and multiple selection, with sliding months, range previews and touch-sized days.
- CheckboxA checkbox whose check draws in, with indeterminate parents, groups and labels that share its hover.
- ComboboxA filterable select with chips, groups and async results, in a popup that resizes as you type.
- Date pickerA button that opens a calendar in a popover, or a bottom sheet on phones, for single dates and ranges.
- FieldLabels, descriptions and errors wired to their control, with validation states and layouts for forms.