baseui
Version:
A React Component library implementing the Base design language
55 lines (54 loc) • 1.96 kB
TypeScript
import type { Override } from '../helpers/overrides';
import type { FILE_STATUS } from './constants';
import type { FileUploaderBasicOverrides, FileUploaderBasicProps, StyleProps as FileUploaderBasicStyleProps } from '../file-uploader-basic/types';
export type StyleProps = FileUploaderBasicStyleProps & {
$alt: string;
$color: string;
$fileCount: number;
$src: string;
};
export type FileUploaderOverrides = {
CircleCheckFilledIcon?: Override;
CircleExclamationPointFilledIcon?: Override;
DeleteButtonComponent?: Override;
FileRow?: Override;
FileRowColumn?: Override;
FileRowContent?: Override;
FileRowFileName?: Override;
FileRowText?: Override;
FileRowUploadMessage?: Override;
FileRowUploadText?: Override;
FileRows?: Override;
Hint?: Override;
ImagePreviewThumbnail?: Override;
ItemPreviewContainer?: Override;
Label?: Override;
PaperclipFilledIcon?: Override;
ParentRoot?: Override;
TrashCanFilledIcon?: Override;
};
export type FileRow = {
errorMessage: string | null;
file: File;
id: string;
fileInfo?: any;
imagePreviewThumbnail?: any;
progressAmount: number;
/** Defines the status of a file */
status: keyof typeof FILE_STATUS;
};
export type FileUploaderProps = Omit<FileUploaderBasicProps, 'onDrop' | 'onDropAccepted' | 'onDropRejected' | 'overrides'> & {
fileRows: FileRow[];
hint?: string;
itemPreview?: boolean;
label?: string;
maxFiles?: number;
overrides?: FileUploaderBasicOverrides & FileUploaderOverrides;
/** Function to run on each file, returns "errorMessage: null" on success and "errorMessage: string" for failures */
processFileOnDrop?: (fileToProcess: File, fileToProcessId: string, fileRows: FileRow[]) => Promise<{
errorMessage: string | null;
fileInfo?: any;
}>;
progressAmountStartValue?: number;
setFileRows: (fileRows: FileRow[]) => void;
};