UNPKG

point-focus

Version:

A React component for zooming and focusing on image points via click, drag, or cursor.

91 lines (87 loc) 3.38 kB
import * as react_jsx_runtime from 'react/jsx-runtime'; type ImageSource = React.SourceHTMLAttributes<HTMLSourceElement>; type IInteractionTYpe = 'click' | 'hover' | 'keyboard' | 'external'; interface IImageMagnifierTypes { src: string; sources?: ImageSource[]; width?: number | undefined; height?: number | undefined; zoomSrc?: string | undefined; zoomScale?: number | undefined; zoomPreload?: boolean | undefined; fadeDuration?: number | undefined; moveType?: 'follow' | 'drag' | 'pinch'; zoomType?: 'click' | 'hover'; externalZoomState?: boolean | undefined; setExternalZoomState?: (value: boolean) => void | undefined; clickToZoomOut?: boolean | undefined; containerClassName?: string | undefined; baseImageClassName?: string | undefined; zoomImageClassName?: string | undefined; closeButtonClassName?: string | undefined; alt: string; containerAriaLabel?: string; closeButtonAriaLabel?: string; zoomImageAriaLabel?: string; tabIndex?: number; hideCloseButton?: boolean | undefined; closeButtonContent?: React.ReactNode | undefined; overlay?: React.ReactNode | undefined; baseImageStyle?: React.CSSProperties | undefined; onMouseEnter?: (info: { source: 'mouse' | 'touch'; }) => void; onMouseLeave?: (info: { source: 'mouse' | 'touch'; }) => void; onClickImage?: (info: { x: number; y: number; source: 'mouse' | 'touch'; }) => void; onZoom?: (info: { at: { x: number; y: number; }; method: IInteractionTYpe; }) => void; onClose?: (info: { triggeredBy: IInteractionTYpe; }) => void; afterZoomImgLoaded?: () => void; afterZoomOut?: () => void; onBaseImageError?: () => void; onZoomImageError?: () => void; onDragStart?: (info: { start: { x: number; y: number; }; source: 'mouse' | 'touch'; }) => void; onDragEnd?: (info: { velocity: { vx: number; vy: number; }; final: { x: number; y: number; }; }) => void; onZoomedMouseMove?: (info: { x: number; y: number; bounds: DOMRect; }) => void; disableMobile?: boolean; disableDrag?: boolean; disableInertia?: boolean; loadingPlaceholder?: React.ReactNode; disableLoadingFallbacks?: boolean; errorPlaceholder?: React.ReactNode; disableErrorFallbacks?: boolean; } declare const ImageMagnifier: ({ src, sources, width, height, zoomSrc, zoomScale, zoomPreload, fadeDuration, moveType, zoomType, baseImageStyle, hideCloseButton, containerClassName, baseImageClassName, zoomImageClassName, closeButtonClassName, onMouseEnter, onZoomedMouseMove, onMouseLeave, onClickImage, onZoom, onClose, afterZoomImgLoaded, afterZoomOut, onBaseImageError, onZoomImageError, onDragStart, onDragEnd, alt, containerAriaLabel, closeButtonAriaLabel, zoomImageAriaLabel, tabIndex, closeButtonContent, overlay, disableDrag, disableInertia, loadingPlaceholder, errorPlaceholder, clickToZoomOut, externalZoomState, setExternalZoomState, disableMobile, disableLoadingFallbacks, disableErrorFallbacks, }: IImageMagnifierTypes) => react_jsx_runtime.JSX.Element; export { ImageMagnifier as default };