UNPKG

@douyinfe/semi-ui

Version:

A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.

66 lines (65 loc) 2.06 kB
import { ReactNode, CSSProperties, MouseEvent } from 'react'; import { BaseFileItem } from '@douyinfe/semi-foundation/lib/cjs/upload/foundation'; import { strings } from '@douyinfe/semi-foundation/lib/cjs/upload/constants'; import { ArrayElement } from '../_base/base'; export type PromptPositionType = ArrayElement<typeof strings.PROMPT_POSITION>; export type UploadListType = ArrayElement<typeof strings.LIST_TYPE>; export interface BeforeUploadProps { file: FileItem; fileList: Array<FileItem>; } export interface AfterUploadProps { file: FileItem; fileList: Array<FileItem>; response: any; } export interface OnChangeProps { fileList: Array<FileItem>; currentFile: FileItem; } export interface customRequestArgs { fileName: string; data: Record<string, any>; file: FileItem; fileInstance: File; onProgress: (e?: { total: number; loaded: number; }) => any; onError: (userXhr: { status?: number; }, e?: Event) => any; onSuccess: (response: any, e?: Event) => any; withCredentials: boolean; action: string; } export interface CustomError extends Error { status: number; method: string; url: string; } export interface FileItem extends BaseFileItem { validateMessage?: ReactNode; } export interface RenderFileItemProps extends FileItem { index?: number; previewFile?: (fileItem: RenderFileItemProps) => ReactNode; listType: UploadListType; onRemove: () => void; onRetry: () => void; onReplace: () => void; key: string; showPicInfo?: boolean; renderPicInfo?: (renderFileItemProps: RenderFileItemProps) => ReactNode; renderPicPreviewIcon?: (renderFileItemProps: RenderFileItemProps) => ReactNode; renderFileOperation?: (fileItem: RenderFileItemProps) => ReactNode; showRetry?: boolean; showReplace?: boolean; style?: CSSProperties; disabled: boolean; onPreviewClick: () => void; } export interface RenderPictureCloseProps { className: string; remove: (e: MouseEvent) => void; }