UNPKG

point-focus

Version:

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

51 lines (50 loc) 1.95 kB
import React from 'react'; import { IImageTypes, ZoomFallbackBoundaryProps, ZoomFallbackBoundaryState } from '../ImageMagnifier.types'; export type PageCoords = { x: number; y: number; }; export type OffSetCoords = { left: number; top: number; }; export type PageDimensions = { width: number; height: number; }; export declare function isTouchEvent(e: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent | React.KeyboardEvent | KeyboardEvent): e is TouchEvent | React.TouchEvent; export declare function getPageCoords(e: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent | React.KeyboardEvent | KeyboardEvent, fallbackElement?: HTMLElement | null): PageCoords; export declare const getOffsets: (pageX: number, pageY: number, left: number, top: number) => PageCoords; export declare const getBounds: (container: HTMLDivElement | null) => DOMRect | { width: number; height: number; left: number; top: number; }; export declare const getRatios: (bounds: { width: number; height: number; }, natural: { width: number; height: number; }, zoomScale: number) => PageCoords; export declare function clampToBounds(left: number, top: number, bounds: { minLeft: number; maxLeft: number; minTop: number; maxTop: number; }): OffSetCoords; export declare function calculateDragPosition(pageX: number, pageY: number, offsets: { x: number; y: number; }): OffSetCoords; export declare const getScaledDimensions: (zoomedImgRef: HTMLImageElement, zoomScale: number) => PageDimensions; export declare const getDefaults: () => IImageTypes; export declare class ZoomFallbackBoundary extends React.Component<ZoomFallbackBoundaryProps, ZoomFallbackBoundaryState> { constructor(props: ZoomFallbackBoundaryProps); static getDerivedStateFromError(): { hasError: boolean; }; componentDidCatch(error: any, info: any): void; render(): React.ReactNode; }