import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js"; import { Awaitable, Mutable } from "../../../utils/typescript.js"; import "../../../utils/index.js"; import { UploadAjaxError } from "./ajax.js"; import { _default } from "./upload.vue.js"; import * as vue from "vue"; import { ExtractPublicPropTypes } from "vue"; //#region ../../packages/components/upload/src/upload.d.ts /** * @deprecated Removed after 3.0.0, Use `UploadProps` instead. */ declare const uploadListTypes: readonly ["text", "picture", "picture-card"]; declare const genFileId: () => number; type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'; interface UploadProgressEvent extends ProgressEvent { percent: number; } interface UploadRequestOptions { action: string; method: string; data: Record; filename: string; file: UploadRawFile; headers: Headers | Record; onError: (evt: UploadAjaxError) => void; onProgress: (evt: UploadProgressEvent) => void; onSuccess: (response: any) => void; withCredentials: boolean; } interface UploadFile { name: string; percentage?: number; status: UploadStatus; size?: number; response?: unknown; uid: number; url?: string; raw?: UploadRawFile; } type UploadUserFile = Omit & Partial>; type UploadFiles = UploadFile[]; interface UploadRawFile extends File { uid: number; isDirectory?: boolean; } type UploadRequestHandler = (options: UploadRequestOptions) => XMLHttpRequest | Promise; interface UploadHooks { beforeUpload: (rawFile: UploadRawFile) => Awaitable; beforeRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => Awaitable; 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; } type UploadData = Mutable>; type ListType = 'text' | 'picture' | 'picture-card'; type Crossorigin = 'anonymous' | 'use-credentials' | ''; interface UploadBaseProps { /** * @description request URL */ action?: string; /** * @description request headers */ headers?: Headers | Record; /** * @description set upload request method */ method?: string; /** * @description additions options of request */ data?: Awaitable | ((rawFile: UploadRawFile) => Awaitable); /** * @description whether uploading multiple files is permitted */ multiple?: boolean; /** * @description key name for uploaded file */ name?: string; /** * @description whether to activate drag and drop mode */ drag?: boolean; /** * @description whether cookies are sent */ withCredentials?: boolean; /** * @description whether to show the uploaded file list */ showFileList?: boolean; /** * @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true` */ accept?: string; /** * @description default uploaded files */ fileList?: UploadUserFile[]; /** * @description whether to auto upload file */ autoUpload?: boolean; /** * @description type of file list */ listType?: ListType; /** * @description override default xhr behavior, allowing you to implement your own upload-file's request */ httpRequest?: UploadRequestHandler; /** * @description whether to disable upload */ disabled?: boolean; /** * @description maximum number of uploads allowed */ limit?: number; /** * @description whether to support uploading directory */ directory?: boolean; } interface UploadProps extends UploadBaseProps { /** * @description hook function before uploading with the file to be uploaded as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, uploading will be aborted */ beforeUpload?: UploadHooks['beforeUpload']; /** * @description hook function before removing a file with the file and file list as its parameters. If `false` is returned or a `Promise` is returned and then is rejected, removing will be aborted */ beforeRemove?: UploadHooks['beforeRemove']; /** * @description hook function when files are removed */ onRemove?: UploadHooks['onRemove']; /** * @description hook function when select file or upload file success or upload file fail */ onChange?: UploadHooks['onChange']; /** * @description hook function when clicking the uploaded files */ onPreview?: UploadHooks['onPreview']; /** * @description hook function when uploaded successfully */ onSuccess?: UploadHooks['onSuccess']; /** * @description hook function when some progress occurs */ onProgress?: UploadHooks['onProgress']; /** * @description hook function when some errors occurs */ onError?: UploadHooks['onError']; /** * @description hook function when limit is exceeded */ onExceed?: UploadHooks['onExceed']; /** * @description set HTML attribute: crossorigin. */ crossorigin?: Crossorigin; } /** * @deprecated Removed after 3.0.0, Use `UploadBaseProps` instead. */ declare const uploadBaseProps: { readonly action: EpPropFinalized; readonly headers: { readonly type: vue.PropType Record | Headers) | (() => Record | Headers) | (((new (...args: any[]) => Record | Headers) | (() => Record | Headers)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly method: EpPropFinalized; readonly data: EpPropFinalized<(new (...args: any[]) => Mutable> | Promise>> | ((rawFile: UploadRawFile) => Awaitable)) | (() => Awaitable>> | ((rawFile: UploadRawFile) => Awaitable)) | (((new (...args: any[]) => Mutable> | Promise>> | ((rawFile: UploadRawFile) => Awaitable)) | (() => Awaitable>> | ((rawFile: UploadRawFile) => Awaitable))) | null)[], unknown, unknown, () => Mutable<{}>, boolean>; readonly multiple: BooleanConstructor; readonly name: EpPropFinalized; readonly drag: BooleanConstructor; readonly withCredentials: BooleanConstructor; readonly showFileList: EpPropFinalized; readonly accept: EpPropFinalized; readonly fileList: EpPropFinalized<(new (...args: any[]) => UploadUserFile[]) | (() => UploadUserFile[]) | (((new (...args: any[]) => UploadUserFile[]) | (() => UploadUserFile[])) | null)[], unknown, unknown, () => [], boolean>; readonly autoUpload: EpPropFinalized; readonly listType: EpPropFinalized; readonly httpRequest: EpPropFinalized<(new (...args: any[]) => UploadRequestHandler) | (() => UploadRequestHandler) | { (): UploadRequestHandler; new (): any; readonly prototype: any; } | (((new (...args: any[]) => UploadRequestHandler) | (() => UploadRequestHandler) | { (): UploadRequestHandler; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, UploadRequestHandler, boolean>; readonly disabled: EpPropFinalized; readonly limit: NumberConstructor; readonly directory: BooleanConstructor; }; /** * @deprecated Removed after 3.0.0, Use `UploadProps` instead. */ declare const uploadProps: { readonly beforeUpload: EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => Awaitable) | (() => (rawFile: UploadRawFile) => Awaitable) | { (): (rawFile: UploadRawFile) => Awaitable; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (rawFile: UploadRawFile) => Awaitable) | (() => (rawFile: UploadRawFile) => Awaitable) | { (): (rawFile: UploadRawFile) => Awaitable; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly beforeRemove: { readonly type: vue.PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => Awaitable>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly onRemove: EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly onChange: EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly onPreview: EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile) => void) | (() => (uploadFile: UploadFile) => void) | { (): (uploadFile: UploadFile) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (uploadFile: UploadFile) => void) | (() => (uploadFile: UploadFile) => void) | { (): (uploadFile: UploadFile) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly onSuccess: EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly onProgress: EpPropFinalized<(new (...args: any[]) => (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly onError: EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void) | { (): (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly onExceed: EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: UploadUserFile[]) => void) | { (): (files: File[], uploadFiles: UploadUserFile[]) => void; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (files: File[], uploadFiles: UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: UploadUserFile[]) => void) | { (): (files: File[], uploadFiles: UploadUserFile[]) => void; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => void, boolean>; readonly crossorigin: { readonly type: vue.PropType "" | "anonymous" | "use-credentials") | (() => "" | "anonymous" | "use-credentials") | (((new (...args: any[]) => "" | "anonymous" | "use-credentials") | (() => "" | "anonymous" | "use-credentials")) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly action: EpPropFinalized; readonly headers: { readonly type: vue.PropType Record | Headers) | (() => Record | Headers) | (((new (...args: any[]) => Record | Headers) | (() => Record | Headers)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly method: EpPropFinalized; readonly data: EpPropFinalized<(new (...args: any[]) => Mutable> | Promise>> | ((rawFile: UploadRawFile) => Awaitable)) | (() => Awaitable>> | ((rawFile: UploadRawFile) => Awaitable)) | (((new (...args: any[]) => Mutable> | Promise>> | ((rawFile: UploadRawFile) => Awaitable)) | (() => Awaitable>> | ((rawFile: UploadRawFile) => Awaitable))) | null)[], unknown, unknown, () => Mutable<{}>, boolean>; readonly multiple: BooleanConstructor; readonly name: EpPropFinalized; readonly drag: BooleanConstructor; readonly withCredentials: BooleanConstructor; readonly showFileList: EpPropFinalized; readonly accept: EpPropFinalized; readonly fileList: EpPropFinalized<(new (...args: any[]) => UploadUserFile[]) | (() => UploadUserFile[]) | (((new (...args: any[]) => UploadUserFile[]) | (() => UploadUserFile[])) | null)[], unknown, unknown, () => [], boolean>; readonly autoUpload: EpPropFinalized; readonly listType: EpPropFinalized; readonly httpRequest: EpPropFinalized<(new (...args: any[]) => UploadRequestHandler) | (() => UploadRequestHandler) | { (): UploadRequestHandler; new (): any; readonly prototype: any; } | (((new (...args: any[]) => UploadRequestHandler) | (() => UploadRequestHandler) | { (): UploadRequestHandler; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, UploadRequestHandler, boolean>; readonly disabled: EpPropFinalized; readonly limit: NumberConstructor; readonly directory: BooleanConstructor; }; /** * @deprecated Removed after 3.0.0, Use `UploadProps` instead. */ type UploadPropsPublic = ExtractPublicPropTypes; type UploadInstance = InstanceType & unknown; declare const uploadBasePropsDefaults: { readonly action: "#"; readonly method: "post"; readonly data: () => Mutable<{}>; readonly name: "file"; readonly showFileList: true; readonly accept: ""; readonly fileList: () => never[]; readonly autoUpload: true; readonly listType: "text"; readonly httpRequest: UploadRequestHandler; readonly disabled: undefined; }; declare const uploadPropsDefaults: { readonly beforeUpload: () => void; readonly onRemove: () => void; readonly onChange: () => void; readonly onPreview: () => void; readonly onSuccess: () => void; readonly onProgress: () => void; readonly onError: () => void; readonly onExceed: () => void; readonly action: "#"; readonly method: "post"; readonly data: () => Mutable<{}>; readonly name: "file"; readonly showFileList: true; readonly accept: ""; readonly fileList: () => never[]; readonly autoUpload: true; readonly listType: "text"; readonly httpRequest: UploadRequestHandler; readonly disabled: undefined; }; //#endregion export { Crossorigin, ListType, UploadBaseProps, UploadData, UploadFile, UploadFiles, UploadHooks, UploadInstance, UploadProgressEvent, UploadProps, UploadPropsPublic, UploadRawFile, UploadRequestHandler, UploadRequestOptions, UploadStatus, UploadUserFile, genFileId, uploadBaseProps, uploadBasePropsDefaults, uploadListTypes, uploadProps, uploadPropsDefaults };