Skip to content
LyEve UI v0.60.1

Form controls

FileInput

A click-or-drop upload zone wrapping a hidden native file input. Reports drag-over state visually, accepts the same MIME / extension filters as the native input, and stays keyboard-accessible.

Basic

PNG or JPG, up to 1 MB.

Multiple files

Up to 10 files.

The drop target names the accepted types in a short line. Each entry of the accept list folds to the name a reader knows the format by, duplicates collapse, and the names join with "or", so .csv,.json,application/json reads "CSV or JSON" and image/* reads "images". A vendor type with no short form stays as written. The input's accept attribute keeps the list as given.

Error state

Pick at least one file.

From the keyboard

Tab reaches the hidden input, and the drop target closes its dashes into a solid line, in the focus color unless the field is in error, so a keyboard user sees where focus is. A click opens the file picker and leaves the dashes as they are.

API

PropTypeDefaultDescription
label string no defaultField label rendered above the dropzone.
accept string no defaultNative accept filter (MIME types or extensions).
multiple booleanfalseAccept more than one file.
disabled booleanfalseDisable the dropzone.
hint string no defaultHelp text shown below the dropzone.
error string no defaultError message. Reddens the border.
id string no defaultDOM id of the underlying input.
name string no defaultNative form name.
onchange (files: FileList | null) => void no defaultFires on click-and-pick or drag-and-drop.
class string no defaultExtra classes on the wrapper.
noAI booleanfalseKeep the value from an assistant: a FormAssist never reports it or fills it, and the control is marked data-no-ai for a browser agent.