Skip to main content

File Upload

Drag-and-drop file picker with keyboard activation and native file input.

Dropzone (default)

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Compact

Choose files or drag here

PDF, PNG, or JPG — max 10 MB each

Compact (small)

Add attachment

Max 5 MB

Icon only

Custom icon and copy (dropzone)

Drop your cover art here

SVG, PNG, or JPG — max 5 MB

Optional label

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Multiple files

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Disabled

Uploads paused

Maintenance in progress.

Error

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Animation variants

animationVariant — click each control to compare press feedback.

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

Drop files here or browse

PNG, JPG, or PDF up to 10 MB

API

PropRequiredTypeDefaultDescription
themeOptionalSiteThemeatelierVisual theme.
variantOptional"dropzone" | "compact" | "icon-only"dropzoneFull dropzone, horizontal row, or icon-only trigger.
sizeOptional"sm" | "md"mdScale for compact and icon-only.
onFilesOptional(files: File[]) => voidSelected or dropped files.
accept / multipleOptionalstring + booleanNative file input constraints.
ariaLabelOptionalstringAccessible name when variant is icon-only.
disabledOptionalbooleanDisables interaction.
animationVariantOptionalPressAnimationVariantdefaultPress animation — default, none, ripple, scale, sink, lift, pulse, or glow.