Skip to main content

File

File displays one file’s upload progress and lifecycle actions. The parent owns the upload state.

Usage

import File from "@repo/ui/File";

<File
file={file}
status="uploading"
percent={42}
onUpload={startUpload}
onCancel={cancelUpload}
onPause={pauseUpload}
onRemove={removeFile}
/>;

Installation

npx the-dig@latest add File

Props

PropTypeRequiredDescription
fileFileYesFile being uploaded.
status"uploading" | "paused" | "completed" | "cancelled"YesCurrent upload lifecycle state.
percentnumberYesUpload progress, normally from 0 to 100.
onUpload() => voidYesStarts or resumes uploading.
onCancel() => voidYesCancels the upload.
onPause() => voidYesPauses the upload.
onRemove() => voidNoRemoves the file from the list.

Provide accessible names for any action controls and expose progress through an appropriate live/progress announcement in the surrounding UI.