Component React API
Ready-to-use React components for file uploads.
UploadButton
File selection button.
tsx
import { UploadButton } from "@chunkflowjs/upload-component-react";
<UploadButton
accept="image/*,video/*"
maxSize={100 * 1024 * 1024}
multiple
onSelect={(files) => console.log(files)}
>
Select Files
</UploadButton>;Props
accept?: string- File types to acceptmultiple?: boolean- Allow multiple filesmaxSize?: number- Maximum file size in bytesonSelect?: (files: File[]) => void- File selection callbackchildren?: ReactNode- Button contentclassName?: string- CSS class name
UploadProgress
Progress bar component.
tsx
import { UploadProgress } from "@chunkflowjs/upload-component-react";
<UploadProgress task={task} showSpeed showRemainingTime />;Props
task: UploadTask- Upload taskshowSpeed?: boolean- Show upload speedshowRemainingTime?: boolean- Show remaining timeclassName?: string- CSS class name
UploadList
Task list component.
tsx
import { UploadList } from "@chunkflowjs/upload-component-react";
<UploadList renderItem={(task) => <CustomItem task={task} />} />;Props
className?: string- CSS class namerenderItem?: (task: UploadTask) => ReactNode- Custom item renderer
UploadDropzone
Drag and drop zone.
tsx
import { UploadDropzone } from "@chunkflowjs/upload-component-react";
<UploadDropzone accept="image/*" maxSize={50 * 1024 * 1024} onDrop={(files) => console.log(files)}>
<p>Drag files here or click to select</p>
</UploadDropzone>;Props
accept?: string- File types to acceptmaxSize?: number- Maximum file sizeonDrop?: (files: File[]) => void- Drop callbackchildren?: ReactNode- Dropzone contentclassName?: string- CSS class name
