UNPKG

vue-previewable-image

Version:

A previewable image Vue component based on viewerjs.

83 lines (67 loc) 1.89 kB
import type { Component } from 'vue' import Viewer from 'viewerjs' type ViewerType = Viewer type ViewerOptions = Viewer.Options type ViewerOptionsTitle = Pick<ViewerOptions, 'title'> interface PreviewableSrcObject extends Record<string | number, any> { src: string alt?: string } interface PreviewableImageElement extends HTMLImageElement, PreviewableSrcObject {} type PreviewableSrcListItem = string | PreviewableSrcObject interface ViewerViewEvent extends CustomEvent { detail: { index: number } } type CustomViewerTitle = ( imgElement: PreviewableImageElement, detail: { index: number; total: number } ) => string interface PreviewableImageProps { width?: string height?: string src: string alt?: string referrerPolicy?: string fit?: string lazy?: boolean zIndex?: boolean | string previewSrcList?: PreviewableSrcListItem[] currentPreviewIndex?: number viewerOptions?: ViewerOptions viewerTitle?: CustomViewerTitle } interface ImageViewerProps { modelValue?: boolean zIndex?: boolean | string previewSrcList?: PreviewableSrcListItem[] currentPreviewIndex?: number viewerOptions?: ViewerOptions viewerTitle?: CustomViewerTitle } type ViewerSwitchEvent = (index: number, viewer: ViewerType) => void declare const PreviewableImage: Component<{}, {}, {}, PreviewableImageProps> declare const ImageViewer: Component<{}, {}, {}, ImageViewerProps> interface PreviewableImageOptions { componentName?: string defaultViewerOptions?: ViewerOptions } export { PreviewableImage, ImageViewer, Viewer, // types PreviewableImageOptions, ViewerType, ViewerOptions, ViewerViewEvent, PreviewableSrcObject, PreviewableImageElement, PreviewableSrcListItem, ViewerOptionsTitle, CustomViewerTitle, ViewerSwitchEvent, }