vue-devui
Version:
DevUI components based on Vite and Vue3
140 lines (139 loc) • 4.06 kB
TypeScript
import type { PropType, ExtractPropTypes, UnwrapRef } from 'vue';
import { FileUploader } from './file-uploader';
export declare class IUploadOptions {
uri: string | URL;
method?: string;
maximumSize?: number;
headers?: {
[key: string]: string;
};
authToken?: string;
authTokenHeader?: string;
additionalParameter?: {
[key: string]: string | Blob;
};
fileFieldName?: string;
checkSameName?: boolean;
withCredentials?: boolean;
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
}
export declare class IFileOptions {
accept?: string;
multiple?: boolean;
webkitdirectory?: boolean;
}
export declare enum UploadStatus {
preLoad = 0,
uploading = 1,
uploaded = 2,
failed = 3
}
export interface IFileResponse<T = unknown> {
file: File;
response: T;
}
type DynamicUploadOptionsFn = (files: unknown, uploadOptions: unknown) => IUploadOptions;
type ChangeFn = (files: File[], uploadFiles: File[]) => void;
type BeforeUploadFn = (file: UnwrapRef<FileUploader[]>) => boolean | Promise<boolean>;
export declare const uploadProps: {
readonly accept: {
readonly type: StringConstructor;
};
readonly webkitdirectory: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly uploadOptions: {
readonly type: PropType<IUploadOptions>;
};
readonly multiple: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly autoUpload: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
readonly modelValue: {
readonly type: PropType<File[]>;
readonly default: () => never[];
};
readonly droppable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly beforeUpload: {
readonly type: PropType<BeforeUploadFn>;
};
/** @deprecated */
readonly dynamicUploadOptionsFn: {
readonly type: PropType<DynamicUploadOptionsFn>;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly onChange: {
readonly type: PropType<ChangeFn>;
};
readonly fileDrop: {
readonly type: PropType<(v: unknown) => void>;
readonly default: undefined;
};
readonly fileOver: {
readonly type: PropType<(v: boolean) => void>;
readonly default: undefined;
};
readonly fileSelect: {
readonly type: PropType<(v: File) => void>;
readonly default: undefined;
};
readonly deleteUploadedFile: {
readonly type: PropType<(v: string) => void>;
readonly default: undefined;
};
readonly onError: {
readonly type: PropType<(v: {
file: File;
response: unknown;
}) => void>;
readonly default: undefined;
};
readonly onSuccess: {
readonly type: PropType<(v: {
file: File;
response: unknown;
}[]) => void>;
readonly default: undefined;
};
readonly onExceed: {
readonly type: PropType<(files: File[], uploadFiles: File[]) => void>;
readonly default: undefined;
};
readonly onProgress: {
readonly type: PropType<(files: File[], uploadFiles: File[]) => void>;
readonly default: undefined;
};
readonly onPreview: {
readonly type: PropType<(file: File) => void>;
readonly default: undefined;
};
readonly oneTimeUpload: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly limit: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly httpRequest: {
readonly type: PropType<(files: File[]) => void>;
readonly default: undefined;
};
};
export type UploadProps = ExtractPropTypes<typeof uploadProps>;
export {};