UNPKG

@spaced-out/ui-design-system

Version:
62 lines 1.99 kB
import * as React from 'react'; import type { Flow } from 'flow-to-typescript-codemod'; type ClassNames = Readonly<{ wrapper?: string; instruction?: string; secondaryInstruction?: string; dropZone?: string; files?: string; }>; export type FileProgress = number | 'indeterminate'; export type FileObject = { file: File; id: string; reject?: boolean; rejectReason?: string; progress?: FileProgress; success?: boolean; successMessage?: string; showReUpload?: boolean; }; export type FileError = { code: string; }; export type FileRejection = { errors: Array<FileError>; file: File; }; export type FileUploadRef = { moveFileToProgress: (id: string, progress: FileProgress) => unknown; moveFileToSuccess: (id: string, successMessage?: string) => unknown; moveFileToReject: (id: string, rejectReason?: string) => unknown; setShowReUpload: (id: string, showReUpload?: boolean) => unknown; handleFileClear: (id: string) => unknown; validFiles: Array<FileObject>; rejectedFiles: Array<FileObject>; files: Array<FileObject>; }; export type FileUploadBaseProps = { maxFiles?: number; maxSize?: number; accept?: { [key: string]: string[]; }; disabled?: boolean; onValidFilesDrop?: (acceptedFiles: Array<FileObject>) => unknown; onRejectedFilesDrop?: (fileRejections: Array<FileObject>) => unknown; onFileClear?: (id: string) => unknown; onClear?: () => unknown; }; export type FileUploadProps = FileUploadBaseProps & { classNames?: ClassNames; label?: React.ReactNode; instruction?: React.ReactNode; draggingInstruction?: React.ReactNode; secondaryInstruction?: React.ReactNode; required?: boolean; handleFileDeletionExternally?: boolean; onFileRefreshClick?: (file: FileObject) => unknown; }; export declare const FileUpload: Flow.AbstractComponent<FileUploadProps, FileUploadRef>; export {}; //# sourceMappingURL=FileUpload.d.ts.map