(type: Type, data: IUploadErrorMessageConfigMap[Type]) => void;
export declare type IUploadTipConfig = P & {
formattedMaxSize: string | null;
};
export declare type IUploadTipsFunc = (config: IUploadTipConfig) => React.ReactNode;
export declare type IImageOnUploadSuccessReturn = undefined | null | string | {
src: string;
thumbSrc: string;
};
export declare type IImageUploadPreviewHandler = (file: IImageUploadFileItem, fileList: IImageUploadFileItem[]) => void;
export interface IAbstractUploadProps> {
className?: string;
beforeUpload?: (file: File) => boolean | Promise;
onUpload?: IUploadOnUploadHandler;
onError?: IUploadOnErrorHandler;
maxSize?: number;
accept?: string;
disabled?: boolean;
manualUpload?: boolean;
customUploadItem?: React.ComponentType;
}
export interface IAbstractMultiUploadProps> extends IAbstractUploadProps {
fileList?: UPLOAD_ITEM[];
defaultFileList?: UPLOAD_ITEM[];
onChange: IUploadOnChangeHandler>, UPLOAD_ITEM>;
multiple?: boolean;
maxAmount?: number;
sortable?: boolean;
}
export interface IUploadProps extends IAbstractMultiUploadProps {
tips?: React.ReactNode | IUploadTipsFunc;
pagination?: boolean;
pageSize?: number;
}
export interface IImageUploadProps extends IAbstractMultiUploadProps {
tips?: React.ReactNode | IUploadTipsFunc;
preview?: IImageUploadPreviewHandler;
getThumbSrcFromFile: (file: File) => string | Promise;
}
export interface ISingleUploadProps extends IAbstractUploadProps {
tips?: React.ReactNode | IUploadTipsFunc;
onChange: IUploadOnChangeHandler;
value?: IUploadFileItem | null;
}
export interface IAbstractUploadTriggerProps {
i18n: II18nLocaleUpload;
fileList?: UPLOAD_ITEM[];
disabled?: boolean;
accept?: string;
remainAmount?: number;
maxSize: number;
maxAmount: number;
multiple?: boolean;
onAddFile: (file: File) => Promise;
onError: IUploadOnErrorHandler;
}
export interface IFileInputProps {
accept?: string;
disabled?: boolean;
remainAmount: number;
multiple?: boolean;
onChange: (files: File[]) => void;
}
export interface IAbstractUploadListProps> {
i18n: II18nLocaleUpload;
fileList: UPLOAD_ITEM[];
onRetry: (retryItem: IUploadFileItemInner) => void;
onDelete: (retryItem: IUploadFileItemInner) => void;
sortable?: boolean;
onSortChange: (list: Array>) => void;
customUploadItem?: React.ComponentType;
}
export interface IUploadListProps extends IAbstractUploadListProps {
pagination: boolean;
pageSize: number;
}
export interface IImageUploadListProps extends IAbstractUploadListProps {
trigger: React.ReactNode;
onPreview: IImageUploadPreviewHandler;
}
export interface IUploadItemProps {
item: IUploadFileItemInner;
i18n: II18nLocaleUpload;
onRetry: IAbstractUploadListProps['onRetry'];
onDelete: IAbstractUploadListProps['onDelete'];
}
export declare type INormalUploadItemProps = IUploadItemProps;
export declare type ISingleUploadItemProps = IUploadItemProps;
export declare type IImageUploadItemProps = IUploadItemProps & {
onPreview: (file: IImageUploadFileItem) => void;
};