FileInput
MoleculeDrag-and-drop file upload with validation, file list, and individual remove actions. M1 adds paste-from-clipboard, `accept` MIME-pattern + extension validation, and `maxFiles` enforcement with i18n messages. Pixel-identical EJS sibling at modules/ui/FileInput/FileInput.ejs.
Drag & drop files here, or
PNG or JPG, max 2 MB
<FileInput id="photo" label="Profile photo" hint="PNG or JPG, max 2 MB"
accept="image/*" maxSizeBytes={2097152} />Drag & drop files here, or
Up to 5 MB each
<FileInput id="attachments" label="Attachments" multiple hint="Up to 5 MB each" maxSizeBytes={5242880} />Drag & drop files here, or
Up to 5 MB each
<FileInput id="attachments" label="Project attachments" multiple maxSizeBytes={5242880}
onUpload={uploadFiles} uploadLabel="Upload" />Drag & drop files here, or or paste
Drop, browse, or paste a screenshot from your clipboard (Cmd/Ctrl + V while this card is focused).
<FileInput id="screenshots" label="Screenshot drop" multiple enablePaste
accept="image/*" maxFiles={4} maxSizeBytes={4 * 1024 * 1024}
hint="Drop, browse, or paste a screenshot (Cmd/Ctrl + V)." />Drag & drop files here, or
<FileInput id="upload" label="Disabled upload" disabled />