import { ImageProps } from '../image/index';
|
export interface TdUploadProps {
|
addContent?: {
|
type: StringConstructor;
|
value?: string;
|
};
|
allowUploadDuplicateFile?: {
|
type: BooleanConstructor;
|
value?: boolean;
|
};
|
config?: {
|
type: ObjectConstructor;
|
value?: UploadMpConfig;
|
};
|
disabled?: {
|
type: BooleanConstructor;
|
value?: boolean;
|
};
|
style?: {
|
type: StringConstructor;
|
value?: string;
|
};
|
files?: {
|
type: ArrayConstructor;
|
value?: Array<UploadFile>;
|
};
|
defaultFiles?: {
|
type: ArrayConstructor;
|
value?: Array<UploadFile>;
|
};
|
gridConfig?: {
|
type: ObjectConstructor;
|
value?: {
|
column?: number;
|
width?: number;
|
height?: number;
|
};
|
};
|
gutter?: {
|
type: NumberConstructor;
|
value?: number;
|
};
|
imageProps?: {
|
type: ObjectConstructor;
|
value?: ImageProps;
|
};
|
max?: {
|
type: NumberConstructor;
|
value?: number;
|
};
|
mediaType?: {
|
type: ArrayConstructor;
|
value?: Array<MediaType>;
|
};
|
requestMethod?: {
|
type: null;
|
value?: null;
|
};
|
sizeLimit?: {
|
type: null;
|
value?: number | SizeLimitObj;
|
};
|
source?: {
|
type: StringConstructor;
|
value?: 'media' | 'messageFile';
|
};
|
draggable?: {
|
type: null;
|
value?: boolean | Draggable;
|
};
|
transition?: {
|
type: ObjectConstructor;
|
value: Transition;
|
};
|
}
|
export declare type UploadMpConfig = ImageConfig | VideoConfig;
|
export interface ImageConfig {
|
count?: number;
|
sizeType?: Array<SizeTypeValues>;
|
sourceType?: Array<SourceTypeValues>;
|
}
|
export declare type SizeTypeValues = 'original' | 'compressed';
|
export declare type SourceTypeValues = 'album' | 'camera';
|
export interface VideoConfig {
|
sourceType?: Array<SourceTypeValues>;
|
compressed?: boolean;
|
maxDuration?: number;
|
camera?: 'back' | 'front';
|
}
|
export interface UploadDisplayDragEvents {
|
onDrop?: (event: DragEvent) => void;
|
onDragenter?: (event: DragEvent) => void;
|
onDragover?: (event: DragEvent) => void;
|
onDragleave?: (event: DragEvent) => void;
|
}
|
export interface UploadFile {
|
url: string;
|
name?: string;
|
size?: number;
|
type?: 'image' | 'video';
|
percent?: number;
|
status: 'loading' | 'reload' | 'failed' | 'done';
|
}
|
export declare type MediaType = 'image' | 'video';
|
export interface SizeLimitObj {
|
size: number;
|
unit: SizeUnit;
|
message?: string;
|
}
|
export declare type SizeUnitArray = ['B', 'KB', 'MB', 'GB'];
|
export declare type SizeUnit = SizeUnitArray[number];
|
export interface Draggable {
|
vibrate?: boolean;
|
collisionVibrate?: boolean;
|
}
|
export interface Transition {
|
backTransition?: boolean;
|
duration?: number;
|
timingFunction?: string;
|
}
|