Upload

File selection trigger wired to a hidden native file input.

Upload wires a hidden file input to whatever trigger you provide — a button, icon, or UploadDragger drop zone. Set accept and multiple on UploadConfig, then handle selected files in on_change. Orbital does not upload to a server, show progress, or manage a file list. You own validation, preview, and network calls.

  • File selection with a custom trigger (button, drop zone, icon)
  • Drag-and-drop selection affordances via UploadDragger
  • Form-associated file inputs with config.name / config.id
  • Provide trigger UI as children (button or UploadDragger).
  • Handle selected files in on_change.
  • Set config.accept and config.multiple to constrain selection.
Basic button trigger

Hidden file input with a button trigger; on_change receives the selected files.

Multiple files

Input exposes the multiple attribute for multi-select dialogs.

Accept filter

Restricts the picker to image MIME types via accept.

Drop zone

UploadDragger provides a dashed drop target that highlights on drag-over.

Drop files here or click to browse
Custom trigger

UploadDragger can wrap any trigger content, including native buttons.

Callback with selected files

on_change receives the browser FileList when files are selected.

Choose files to populate the list

Theme stroke

Drop-zone border uses neutral stroke tokens from the theme.

Themed drop zone