The Upload component is a drop zone that wraps a consumer-provided native
input[type=file]. You project the input as content and configure its native
features there (accept, multiple, name, …) — the control discovers it,
hides it, and drives it for both click-to-select and drag-and-drop.
The control owns the list of tracked files and their lifecycle state, but it
cannot observe the actual transfer — your app runs the request. Report progress
and status back through the exportAs="jigUpload" handle
(setProgress, markDone, markFailed).
Files upload the instant they are selected or dropped.
Files queue as pending until the rendered Upload button is pressed.
Files queue as pending with no rendered trigger — uploading starts only from
code via the control's uploadAll() / uploadFile(id) methods.
Restrict adding files to click, drag, or both (default). Click-only zones
drop the dashed "droppable" outline.
Place the file list top, bottom (default), left, or right of the zone.
Each list item exposes cancel, retry, and remove depending on its state.
jig