UNPKG

antd-mobile

Version:
46 lines (45 loc) 1.75 kB
import React, { FC, InputHTMLAttributes } from 'react'; import { NativeProps } from '../../utils/native-props'; import type { ImageProps } from '../image'; import { GridProps } from '../grid'; export declare type TaskStatus = 'pending' | 'fail' | 'success'; export interface ImageUploadItem { key?: string | number; url: string; thumbnailUrl?: string; extra?: any; } declare type Task = { id: number; url?: string; file: File; status: TaskStatus; }; export declare type UploadTask = Pick<Task, 'id' | 'status'>; export declare type ImageUploaderProps = { defaultValue?: ImageUploadItem[]; value?: ImageUploadItem[]; columns?: GridProps['columns']; onChange?: (items: ImageUploadItem[]) => void; onUploadQueueChange?: (tasks: UploadTask[]) => void; accept?: string; multiple?: boolean; maxCount?: number; onCountExceed?: (exceed: number) => void; disableUpload?: boolean; showUpload?: boolean; deletable?: boolean; deleteIcon?: React.ReactNode; capture?: InputHTMLAttributes<unknown>['capture']; onPreview?: (index: number, item: ImageUploadItem) => void; beforeUpload?: (file: File, files: File[]) => Promise<File | null> | File | null; upload: (file: File) => Promise<ImageUploadItem>; onDelete?: (item: ImageUploadItem) => boolean | Promise<boolean> | void; preview?: boolean; showFailed?: boolean; imageFit?: ImageProps['fit']; children?: React.ReactNode; renderItem?: (originNode: React.ReactElement, file: ImageUploadItem, fileList: ImageUploadItem[]) => React.ReactNode; } & NativeProps<'--cell-size' | '--gap' | '--gap-vertical' | '--gap-horizontal'>; export declare const ImageUploader: FC<ImageUploaderProps>; export {};