FileUpload

A drag-and-drop file upload component that displays image previews in a grid. Supports multiple files, configurable file type acceptance, a maximum file limit, and drag-to-reorder functionality.

Import

import { FileUpload } from '@wavebooking/aqua-fusion';

Preview

Loading preview...

Usage

<FileUpload
  onFilesSelected={(files) => console.log(files)}
  accept="image/*"
  multiple
  maxFiles={8}
/>
 
<FileUpload
  onFilesSelected={handleFiles}
  accept=".pdf"
  multiple={false}
  maxFiles={1}
/>

Props

PropTypeDefaultDescription
onFilesSelected*(files: (File | string)[]) => void-Callback fired when files are added, removed, or reordered.
acceptstring'image/*'Accepted file types (e.g., 'image/*', '.pdf').
multiplebooleantrueWhether multiple files can be uploaded.
maxFilesnumber8Maximum number of files allowed.
value(File | string)[][]Controlled array of current files. Can include File objects or URL strings.
classNamestring-Additional CSS classes to apply to the upload area.