Skip to main content

Starwind UI v3.0 beta is now available! Read the migration guide

Installation

Framework Availability

Astro Available React Available

Dropzone is available for Astro and React.

Usage

Info

No dropped files on this page are uploaded anywhere.

Default

The default Dropzone component displays a cloud upload icon with a prompt to upload files, and shows what files have been selected.

Custom Content

The dropzone components can be customized through slots. The default <Dropzone /> component has the following three components in the slot if nothing is passed:

<DropzoneUploadIndicator />
<DropzoneLoadingIndicator />
<DropzoneFilesList />

The DropzoneUploadIndicator and DropzoneLoadingIndicator each have their own slots to customize the upload and loading indicators. The DropzoneFilesList component can be passed any classes to use.

Loading

Nothing is actually uploaded when a file is selected, as internally a standard html <input type="file"> is used. To show a loading indication initially, you can use the isUploading prop.

You can also use the data-is-uploading attribute to show or hide a loading indicator at any time. This is useful if you want to show a loading indicator while a file is actually being uploaded (like on form submission).

Accept Specific File Types

You can limit the types of files that users can select by using the accept attribute.

Multiple Files

Allow users to select multiple files by using the multiple attribute.

API Reference

Primitive And Runtime API

Use these references when you need the lower-level behavior APIs behind Dropzone.

Primitive API

Runtime API

Dropzone primitive
createDropzone from @starwind-ui/runtime/dropzone

Changelog

v2.0.0

  • Rebuilt Dropzone on Starwind Runtime for drag-and-drop, file input, and component state handling.
  • See the Dropzone Primitive for the underlying unstyled anatomy and behavior API.