File Uploader

A bold red dropzone for any file, with gallery tiles and progress after upload.

elite micro interactionsfileuploaderframer motiontabler icons react
File Uploader component preview

Props

PropTypeDefaultDescription
valueUploadFile[]-Controlled file list.
defaultValueUploadFile[]-Seed files for uncontrolled usage.
onChange(files: UploadFile[]) => void-Fired whenever the file list changes.
onUpload(file: File, onProgress: (percent: number) => void) => Promise<void>-Custom upload handler. When omitted, progress is simulated locally.
onRemove(file: UploadFile) => void-Fired when a file is removed from the list.
acceptstring-HTML accept string. Omit to allow all file types.
maxFilesnumber8Maximum number of files. Extra picks are ignored.
maxSizenumber10485760Maximum bytes per file. Oversized files land as errors.
buttonLabelstring"Choose files"Label inside the solid choose button.
descriptionstring"or drop files here"Supporting line under the button.
colorstring"#DC2F2F"Dropzone accent color. Hover/drag uses a darker mix.
multiplebooleantrueAllow selecting multiple files.
disabledbooleanfalseDisable interaction.