vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
106 lines (105 loc) • 5.17 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { BeforeSelect, BeforeUpload, RenderFn, UploadFetchMethod, UploadFileOptions, UploadFileSlots, UploadFileState, UploadHttpError, UploadListSlots, UploadSlots } from './symbol';
export declare const uploadProps: {
inherit: PropType<boolean>;
state: PropType<"default" | "success" | "error" | "warning">;
locale: PropType<Partial<{
upload: string;
uploading: string;
dragOrClick: string;
ariaLabel: {
preview: string;
delete: string;
};
}>>;
url: PropType<string>;
fileList: PropType<UploadFileOptions[]>;
multiple: PropType<boolean>;
tip: PropType<string>;
accept: PropType<string | string[]>;
filter: PropType<string | string[]>;
maxSize: PropType<number>;
field: PropType<string>;
data: PropType<Record<string, string | Blob>>;
headers: PropType<Record<string, string>>;
withCredentials: PropType<boolean>;
manual: PropType<boolean>;
hiddenFiles: PropType<boolean>;
countLimit: PropType<number>;
allowDrag: PropType<boolean>;
onBeforeUpload: PropType<BeforeUpload>;
onBeforeSelect: PropType<BeforeSelect>;
iconRenderer: PropType<RenderFn>;
selectToAdd: PropType<boolean>;
listType: PropType<"name" | "card" | "detail" | "thumbnail">;
block: PropType<boolean>;
loadingText: PropType<string>;
directory: PropType<boolean>;
pathField: PropType<string>;
disabledClick: PropType<boolean>;
buttonLabel: PropType<string>;
disabled: PropType<boolean>;
loading: PropType<boolean>;
loadingIcon: PropType<any>;
loadingLock: PropType<boolean>;
loadingEffect: PropType<string>;
image: PropType<boolean>;
defaultFiles: PropType<UploadFileOptions[]>;
canPreview: PropType<(file: UploadFileState) => boolean>;
listStyle: PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
name: PropType<string>;
customFetch: PropType<UploadFetchMethod>;
slots: PropType<UploadSlots>;
onExceed: PropType<((files: UploadFileState[]) => void) | ((files: UploadFileState[]) => void)[]>;
onChange: PropType<((files: UploadFileState[]) => void) | ((files: UploadFileState[]) => void)[]>;
onFilterError: PropType<((files: UploadFileState) => void) | ((files: UploadFileState) => void)[]>;
onSizeError: PropType<((files: UploadFileState) => void) | ((files: UploadFileState) => void)[]>;
onDelete: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
onPreview: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
onProgress: PropType<((file: UploadFileState, percent: number) => void) | ((file: UploadFileState, percent: number) => void)[]>;
onSuccess: PropType<((file: UploadFileState, response: any) => void) | ((file: UploadFileState, response: any) => void)[]>;
onError: PropType<((file: UploadFileState, error: UploadHttpError) => void) | ((file: UploadFileState, error: UploadHttpError) => void)[]>;
};
export type UploadProps = ExtractPropTypes<typeof uploadProps>;
export type UploadCProps = ConfigurableProps<UploadProps, 'url' | 'fileList', 'onBeforeUpload' | 'onBeforeSelect'>;
export declare const uploadListProps: {
inherit: PropType<boolean>;
files: PropType<UploadFileState[]>;
selectToAdd: PropType<boolean>;
iconRenderer: PropType<RenderFn>;
type: PropType<"name" | "card" | "detail" | "thumbnail">;
loadingText: PropType<string>;
style: PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
precision: PropType<number>;
canPreview: PropType<(file: UploadFileState) => boolean>;
slots: PropType<UploadListSlots>;
onDelete: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
onPreview: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
};
export type UploadListProps = ExtractPropTypes<typeof uploadListProps>;
export type UploadListCProps = ConfigurableProps<UploadListProps, 'files'>;
export declare const uploadFileProps: {
inherit: PropType<boolean>;
locale: PropType<Partial<{
upload: string;
uploading: string;
dragOrClick: string;
ariaLabel: {
preview: string;
delete: string;
};
}>>;
file: PropType<UploadFileState>;
iconRenderer: PropType<RenderFn>;
listType: PropType<"name" | "card" | "detail" | "thumbnail">;
loadingText: PropType<string>;
selectToAdd: PropType<boolean>;
precision: PropType<number>;
canPreview: PropType<(file: UploadFileState) => boolean>;
slots: PropType<UploadFileSlots>;
onDelete: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
onPreview: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
};
export type UploadFileProps = ExtractPropTypes<typeof uploadFileProps>;
export type UploadFileCProps = ConfigurableProps<UploadFileProps, 'file'>;