Documentation

Asgard

Getting started

Theming

Guides

Layout

Docking

Inputs & forms

Button

Switch

Checkbox

Radio

Select

Slider

TextBox

Upload

ImageCropper

Pickers

Color picker

Calendar

Time picker

DateTime input

Data display

Card

Accordion

Typography

Progress

DataTable

TreeView

SyntaxColor

MarkdownRenderer

Terminal

Layout & docking

Grid

Splitter

SDiv

Dock

Theme switcher

Media query

Feedback & overlays

Alert

Toast

Tooltip

Popups

Drawer

FloatingPanel

FloatingWindow

Navigation & chrome

Breadcrumb

Stepper

Toolbar

Ribbon

ContextMenu

FeatureTour

Documentation

Asgard

Getting started

Theming

Guides

Layout

Docking

Inputs & forms

Button

Switch

Checkbox

Radio

Select

Slider

TextBox

Upload

ImageCropper

Pickers

Color picker

Calendar

Time picker

DateTime input

Data display

Card

Accordion

Typography

Progress

DataTable

TreeView

SyntaxColor

MarkdownRenderer

Terminal

Layout & docking

Grid

Splitter

SDiv

Dock

Theme switcher

Media query

Feedback & overlays

Alert

Toast

Tooltip

Popups

Drawer

FloatingPanel

FloatingWindow

Navigation & chrome

Breadcrumb

Stepper

Toolbar

Ribbon

ContextMenu

FeatureTour

Inputs & forms

A full drag-and-drop upload system.

UploadZone provides a drag-and-drop file upload area with built-in validation, while UploadList displays file status.

Key features:

  • Drag-and-drop or click-to-browse file selection
  • config for maxFileSize, accept (MIME types), and maxFiles
  • Validation errors via onValidationError callback
  • UploadList companion for displaying upload progress
Loading preview…
When to use it
  • Attachment and document submission forms
  • Image gallery and product-photo uploads
  • Bulk asset import dashboards
  • Avatar pickers (pair with ImageCropper)
Properties
PropTypeDefaultDescription
configPartial<UploadConfig>Configuration object controlling maxFileSize, accept (MIME types), and maxFiles limits.
onFilesAdd(files: UploadFile[]) => voidCallback fired when valid files are added via drop or file dialog.
onValidationError(file: File, error: string) => voidCallback fired when a file fails validation (size, type, or count).
disabledbooleanfalseDisables the upload zone, preventing file drops and clicks.
heightnumber | stringHeight of the drop zone area.
titlestringMain title text displayed in the drop zone.
descriptionstringDescriptive text shown below the title in the drop zone.
iconReactNodeCustom icon displayed in the center of the drop zone.
Notes
  • UploadZone handles the drag-and-drop interaction and file dialog; UploadList is a separate component for displaying file status.
  • The config object supports maxFileSize (in bytes), accept (array of MIME types), and maxFiles to control validation.
  • Files that fail validation trigger onValidationError rather than onFilesAdd, allowing you to display custom error messages.
Presets