xdesign-vue-next
Version:
XDesign Component for vue-next
44 lines (43 loc) • 1.14 kB
TypeScript
import { TNode } from '../common';
export interface TdImageViewerProps {
closeBtn?: boolean | TNode;
closeOnOverlay?: boolean;
draggable?: boolean;
imageScale?: ImageScale;
images?: Array<string | File | ImageInfo>;
index?: number;
defaultIndex?: number;
mode?: 'modal' | 'modeless';
navigationArrow?: boolean | TNode;
showOverlay?: boolean;
title?: string | TNode;
trigger?: string | TNode<{
open: () => void;
}>;
viewerScale?: ImageViewerScale;
visible?: boolean;
defaultVisible?: boolean;
modelValue?: boolean;
zIndex?: number;
onClose?: (context: {
trigger: 'close-btn' | 'overlay' | 'esc';
e: MouseEvent | KeyboardEvent;
}) => void;
onIndexChange?: (index: number, context: {
trigger: 'prev' | 'next' | 'current';
}) => void;
}
export interface ImageScale {
max: number;
min: number;
step: number;
}
export interface ImageInfo {
mainImage: string | File;
thumbnail?: string | File;
download?: boolean;
}
export interface ImageViewerScale {
minWidth: number;
minHeight: number;
}