Skip to content

FileUpload

<ts-file-upload> vv0.6.3

The ts-file-upload component.

Open in Storybook for interactive demos.

<ts-file-upload label="Drop files here or click to upload">Content</ts-file-upload>
PropertyAttributeTypeDefaultDescription
acceptacceptstring | undefinedAccepted file types (e.g. ‘.jpg,.png’).
disableddisabledbooleanfalseWhether the file upload is disabled.
labellabelstring'Drop files here or click to upload'Label text for the dropzone.
maxFilesmax-filesnumber | undefinedMaximum number of files allowed.
maxSizemax-sizenumber | undefinedMaximum file size in bytes.
multiplemultiplebooleanfalseWhether multiple files can be selected.
namenamestring | undefinedForm field name.
showFileListshow-file-listbooleantrueWhether to show the file list below the dropzone.
EventDetailBubblesComposedDescription
tsChange\{ files: File[]; \}YesYesEmitted when files are selected or dropped.
tsRemove\{ file: File; files: File[]; \}YesYesEmitted when a file is removed from the list.
NameDescription
*(default)*Default slot for custom dropzone content.

Use ::part() to style internal elements:

PartDescription
dropzoneThe dropzone area.
file-itemAn individual file item.
file-listThe file list container.
file-removeThe remove button for a file item.
inputThe hidden file input.
labelThe label text.
ts-file-upload::part(dropzone) {
/* your custom styles */
}
<ts-file-upload label="Drop files here or click to upload">Content</ts-file-upload>
import { TsFileUpload } from '@tessera-ui/react';
<TsFileUpload label="Drop files here or click to upload" showFileList>Content</TsFileUpload>