Homelogologo
Sponsor

FileUpload

A component that allows users to select one or more files from their device.

Usage

The component provides a way for users to select files. It supports single or multiple file selection, and can be used with a standard trigger or a dropzone.

import { FileUpload } from "@elemnts-ui/react"; <FileUpload.Root> <FileUpload.Label>Upload File</FileUpload.Label> <FileUpload.Trigger /> <FileUpload.ItemGroup> <FileUpload.Context> {({ acceptedFiles }) => acceptedFiles.map((file, id) => ( <FileUpload.Item key={id} file={file} /> )) } </FileUpload.Context> </FileUpload.ItemGroup> <FileUpload.HiddenInput /> </FileUpload.Root>;

Dropzone

Use the FileUploadDropzone component to create a drag and drop area for file uploads.

API Reference

FileUploadRoot

The root component for the file upload.

PropTypeDefault
acceptRecord<string, string[]> | FileMimeType | FileMimeType[]-
acceptedFilesFile[]-
allowDropbooleantrue
asChildbooleanfalse
capture'user' | 'environment'-
defaultAcceptedFilesFile[]-
directoryboolean-
disabledboolean-
idsPartial<{ root: string; dropzone: string; hiddenInput: string; trigger: string; label: string; item: (id: string) => string; itemName: (id: string) => string; itemSizeText: (id: string) => string; itemPreview: (id: string) => string; itemDeleteTrigger: (id: string) => string }>-
invalidboolean-
localestring"en-US"
maxFilesnumber1
maxFileSizenumberInfinity
minFileSizenumber0
namestring-
onFileAccept(details: FileAcceptDetails) => void-
onFileChange(details: FileChangeDetails) => void-
onFileReject(details: FileRejectDetails) => void-
preventDocumentDropbooleantrue
readOnlyboolean-
requiredboolean-
transformFiles(files: File[]) => Promise<File[]>-
translationsIntlTranslations-
validate(file: File, details: FileValidateDetails) => FileError[] | null-

FileUploadRootProvider

Provides the file upload state returned by useFileUpload.

PropTypeDefault
valueUseFileUploadReturnrequired
asChildbooleanfalse

FileUploadClearTrigger

Clears all accepted files.

PropTypeDefault
asChildbooleanfalse

FileUploadDropzone

The dropzone component for the file upload.

PropTypeDefault
asChildbooleanfalse
disableClickboolean-

FileUploadHiddenInput

The hidden native file input.

PropTypeDefault
asChildbooleanfalse

FileUploadItem

Renders an accepted file.

PropTypeDefault
fileFilerequired
asChildbooleanfalse

FileUploadItemDeleteTrigger

Removes the associated file from the accepted files.

PropTypeDefault
asChildbooleanfalse

FileUploadItemGroup

Groups file upload items.

PropTypeDefault
asChildbooleanfalse
typeItemType-

FileUploadItemName

Displays the associated file name.

PropTypeDefault
asChildbooleanfalse

FileUploadItemPreview

Displays a preview for the associated file.

PropTypeDefault
asChildbooleanfalse
typestring.*

FileUploadItemPreviewImage

Displays an image preview for the associated file.

PropTypeDefault
asChildbooleanfalse

FileUploadItemSizeText

Displays the associated file size.

PropTypeDefault
asChildbooleanfalse

FileUploadLabel

The label for the file upload.

PropTypeDefault
asChildbooleanfalse

FileUploadTrigger

Opens the file picker.

PropTypeDefault
asChildbooleanfalse