vue3-photo-preview
Version:
184 lines (183 loc) • 5.61 kB
TypeScript
import { PropType } from 'vue';
import PhotoView from '../PhotoView/index.vue';
import { ItemType, ShowAnimateEnum, TouchTypeEnum, EdgeTypeEnum } from '../types';
declare const _default: import("vue").DefineComponent<{
/**
* 图片列表
*/
items: {
type: PropType<ItemType[]>;
required: true;
};
/**
* 图片当前索引
*/
index: {
type: NumberConstructor;
required: true;
};
/**
* 是否显示模态框
*/
visible: {
type: BooleanConstructor;
required: true;
};
/**
* 箭头切换是否需要过渡
*/
shouldTransition: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否切换显隐覆盖物
*/
toggleOverlay: {
type: BooleanConstructor;
default: boolean;
};
/**
* 默认背景透明度
*/
defaultBackdropOpacity: {
type: NumberConstructor;
default: number;
};
/**
* 是否循环显示预览图
*/
loop: {
type: BooleanConstructor;
default: boolean;
};
/**
* 下载图片方法,不传使用内置的下载方法
*/
downloadMethod: {
type: PropType<(item: ItemType) => void | null>;
default: null;
};
}, {
innerWidth: import("vue").Ref<number>;
currentItem: import("vue").ComputedRef<ItemType>;
photoVisible: import("vue").Ref<boolean>;
showAnimateType: import("vue").Ref<ShowAnimateEnum>;
originRect: import("vue").Ref<import("../types").OriginRectType>;
onShowAnimateEnd: () => void;
}, {
horizontalOffset: number;
ShowAnimateEnum: typeof ShowAnimateEnum;
isTouchDevice: boolean;
touched: boolean;
hasMove: boolean;
needTransition: boolean;
clientX: number;
clientY: number;
touchMoveX: number;
backdropOpacity: number;
overlayVisible: boolean;
virtualIndex: number;
photoViewRefs: {
[key: string]: any;
};
}, {
showItems(): ItemType[];
}, {
defaultDownloadMethod(item: ItemType): void;
handleDownload(): void;
toggleFlipHorizontal(): void;
toggleFlipVertical(): void;
handleRotateLeft(): void;
handleRotateRight(): void;
setPhotoViewRef(key: string, ref: InstanceType<typeof PhotoView>): void;
handleKeyDown(e: KeyboardEvent): void;
handleSingleTap(_clientX: number, _clientY: number, e: MouseEvent | TouchEvent): void;
handleTouchStart(clientX: number, clientY: number): void;
handleTouchMove(touchType: TouchTypeEnum, clientX: number, clientY: number, lastScale: number, edgeTypes: EdgeTypeEnum[]): void;
handleTouchScaleMove(clientX: number, edgeTypes: EdgeTypeEnum[]): void;
handleTouchHorizontalMove(clientX: number): void;
handleTouchVerticalMove(clientX: number, clientY: number): void;
handleTouchEnd(touchType: TouchTypeEnum, clientX: number, clientY: number, lastScale: number, edgeTypes: EdgeTypeEnum[]): void;
handleTouchScaleEnd(clientX: number, edgeTypes: EdgeTypeEnum[]): void;
handleTouchHorizontalEnd(clientX: number): void;
handleTouchVerticalEnd(clientY: number): void;
resetBackdropOpacity(): void;
resetNeedTransition(): void;
handlePrevious(): void;
handleNext(): void;
handleClickMask(e: MouseEvent | TouchEvent): void;
handleClickClose(): void;
getItemLeft(currentIndex: number): string;
getItemTransition(): "transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1)" | undefined;
getItemTransform(): string;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clickPhoto" | "clickMask" | "changeIndex" | "closeModal")[], "clickPhoto" | "clickMask" | "changeIndex" | "closeModal", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
/**
* 图片列表
*/
items: {
type: PropType<ItemType[]>;
required: true;
};
/**
* 图片当前索引
*/
index: {
type: NumberConstructor;
required: true;
};
/**
* 是否显示模态框
*/
visible: {
type: BooleanConstructor;
required: true;
};
/**
* 箭头切换是否需要过渡
*/
shouldTransition: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否切换显隐覆盖物
*/
toggleOverlay: {
type: BooleanConstructor;
default: boolean;
};
/**
* 默认背景透明度
*/
defaultBackdropOpacity: {
type: NumberConstructor;
default: number;
};
/**
* 是否循环显示预览图
*/
loop: {
type: BooleanConstructor;
default: boolean;
};
/**
* 下载图片方法,不传使用内置的下载方法
*/
downloadMethod: {
type: PropType<(item: ItemType) => void | null>;
default: null;
};
}>> & {
onClickPhoto?: ((...args: any[]) => any) | undefined;
onClickMask?: ((...args: any[]) => any) | undefined;
onChangeIndex?: ((...args: any[]) => any) | undefined;
onCloseModal?: ((...args: any[]) => any) | undefined;
}, {
shouldTransition: boolean;
toggleOverlay: boolean;
defaultBackdropOpacity: number;
loop: boolean;
downloadMethod: (item: ItemType) => void | null;
}>;
export default _default;