UNPKG

tdesign-mobile-vue

Version:
46 lines (45 loc) 1.35 kB
import { SwiperToOptions } from '../swiper'; import type { TNode } from '../common'; export interface TdImageViewerProps { closeBtn?: boolean | TNode; cover?: TNode; deleteBtn?: boolean | TNode; image?: TNode<ImageSlotParams>; images?: Array<string | ImageInfo>; index?: number; defaultIndex?: number; loop?: boolean; maxZoom?: number; showIndex?: boolean; visible?: boolean; defaultVisible?: boolean; modelValue?: boolean; onClose?: (context: { trigger: ImageViewerCloseTrigger; visible: boolean; index: number; }) => void; onDelete?: (index: number) => void; onIndexChange?: (index: number, context: { trigger: 'prev' | 'next'; }) => void; } export interface ImageViewerInstanceFunctions { swipeTo?: (index: number, options?: SwiperToOptions) => void; } export interface ImageSlotParams { src: string; index?: number; extra?: Record<string, any>; className?: string; style?: string; onLoad?: (e: Event) => void; onTransitionstart?: (e: TransitionEvent) => void; onTransitionend?: (e: TransitionEvent) => void; } export interface ImageInfo { url: string; align: 'start' | 'center' | 'end'; extra?: Record<string, any>; } export type ImageViewerCloseTrigger = 'image' | 'overlay' | 'close-btn';