UNPKG

hongluan-ui

Version:
121 lines (120 loc) 8.51 kB
import type { UploadAjaxError } from './ajax'; import type { Awaitable, Mutable } from 'hongluan-ui/es/utils'; import type { ExtractPropTypes } from 'vue'; import type Upload from './upload.vue'; export declare const uploadListTypes: readonly ["text", "picture", "card"]; export declare const genFileId: () => number; export declare type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'; export interface UploadProgressEvent extends ProgressEvent { percent: number; } export interface UploadRequestOptions { action: string; method: string; data: Record<string, string | Blob | [string | Blob, string]>; filename: string; file: UploadRawFile; headers: Headers | Record<string, string | number | null | undefined>; onError: (evt: UploadAjaxError) => void; onProgress: (evt: UploadProgressEvent) => void; onSuccess: (response: any) => void; withCredentials: boolean; } export interface UploadFile { name: string; percentage?: number; status: UploadStatus; size?: number; response?: unknown; uid: number; url?: string; raw?: UploadRawFile; } export declare type UploadUserFile = Omit<UploadFile, 'status' | 'uid'> & Partial<Pick<UploadFile, 'status' | 'uid'>>; export declare type UploadFiles = UploadFile[]; export interface UploadRawFile extends File { uid: number; } export declare type UploadRequestHandler = (options: UploadRequestOptions) => XMLHttpRequest | Promise<unknown>; export interface UploadHooks { beforeUpload: (rawFile: UploadRawFile) => Awaitable<void | undefined | null | boolean | File | Blob>; beforeRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => Awaitable<boolean>; onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void; onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void; onPreview: (uploadFile: UploadFile) => void; onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; onProgress: (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void; } export declare type UploadData = Mutable<Record<string, any>>; export declare const uploadBaseProps: { readonly action: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "#", boolean>; readonly headers: { readonly type: import("vue").PropType<unknown>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly method: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "post", boolean>; readonly data: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<((rawFile: UploadRawFile) => Awaitable<UploadData>) | Awaitable<Mutable<Record<string, any>>>>, unknown, unknown, () => Mutable<{}>, boolean>; readonly multiple: BooleanConstructor; readonly name: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "file", boolean>; readonly drag: BooleanConstructor; readonly withCredentials: BooleanConstructor; readonly showFileList: import("hongluan-ui/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly accept: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly fileList: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<UploadUserFile[]>, unknown, unknown, () => [], boolean>; readonly autoUpload: import("hongluan-ui/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly listType: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, "text" | "card" | "picture", unknown, "text", boolean>; readonly httpRequest: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<UploadRequestHandler>, unknown, unknown, UploadRequestHandler, boolean>; readonly disabled: BooleanConstructor; readonly limit: NumberConstructor; readonly gap: StringConstructor; }; export declare const uploadProps: { readonly beforeUpload: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(rawFile: UploadRawFile) => Awaitable<void | undefined | null | boolean | File | Blob>>, unknown, unknown, () => void, boolean>; readonly beforeRemove: { readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => Awaitable<boolean>>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly onRemove: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => void>, unknown, unknown, () => void, boolean>; readonly onChange: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => void>, unknown, unknown, () => void, boolean>; readonly onPreview: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(uploadFile: UploadFile) => void>, unknown, unknown, () => void, boolean>; readonly onSuccess: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>, unknown, unknown, () => void, boolean>; readonly onProgress: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>, unknown, unknown, () => void, boolean>; readonly onError: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>, unknown, unknown, () => void, boolean>; readonly onExceed: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<(files: File[], uploadFiles: UploadUserFile[]) => void>, unknown, unknown, () => void, boolean>; readonly crossorigin: { readonly type: import("vue").PropType<import("hongluan-ui/es/utils").EpPropMergeType<import("vue").PropType<"" | "anonymous" | "use-credentials">, unknown, unknown>>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly action: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "#", boolean>; readonly headers: { readonly type: import("vue").PropType<unknown>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly method: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "post", boolean>; readonly data: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<((rawFile: UploadRawFile) => Awaitable<UploadData>) | Awaitable<Mutable<Record<string, any>>>>, unknown, unknown, () => Mutable<{}>, boolean>; readonly multiple: BooleanConstructor; readonly name: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "file", boolean>; readonly drag: BooleanConstructor; readonly withCredentials: BooleanConstructor; readonly showFileList: import("hongluan-ui/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly accept: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly fileList: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<UploadUserFile[]>, unknown, unknown, () => [], boolean>; readonly autoUpload: import("hongluan-ui/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly listType: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, "text" | "card" | "picture", unknown, "text", boolean>; readonly httpRequest: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<UploadRequestHandler>, unknown, unknown, UploadRequestHandler, boolean>; readonly disabled: BooleanConstructor; readonly limit: NumberConstructor; readonly gap: StringConstructor; }; export declare type UploadProps = ExtractPropTypes<typeof uploadProps>; export declare type UploadInstance = InstanceType<typeof Upload>;