UNPKG

@spaced-out/ui-design-system

Version:
65 lines 2.25 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 interface FileObject { file: File; id: string; reject?: boolean; rejectReason?: string; progress?: FileProgress; success?: boolean; successMessage?: string; showReUpload?: boolean; [key: string]: unknown; } export interface FileError { code: string; } export interface FileRejection { errors: Array<FileError>; file: File; } export interface 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 interface FileUploadBaseProps { maxFiles?: number; maxSize?: number; accept?: { [key: string]: string[]; }; disabled?: boolean; error?: boolean; onValidFilesDrop?: (acceptedFiles: Array<FileObject>) => unknown; onRejectedFilesDrop?: (fileRejections: Array<FileObject>) => unknown; onFileClear?: (id: string) => unknown; onClear?: () => unknown; } export interface FileUploadProps extends Omit<FileUploadBaseProps, 'classNames' | 'label' | 'instruction' | 'draggingInstruction' | 'secondaryInstruction' | 'required' | 'handleFileDeletionExternally' | 'onFileRefreshClick'> { classNames?: ClassNames; label?: React.ReactNode; instruction?: React.ReactNode; draggingInstruction?: React.ReactNode; secondaryInstruction?: React.ReactNode; required?: boolean; handleFileDeletionExternally?: boolean; onFileRefreshClick?: (file: FileObject) => unknown; testId?: string; } export declare const FileUpload: Flow.AbstractComponent<FileUploadProps, FileUploadRef>; export {}; //# sourceMappingURL=FileUpload.d.ts.map