@halka/react-medium-zoom
Version:
A thin wrapper on top of the amazing medium-zoom package to build great image display components in React.
16 lines (15 loc) • 982 B
TypeScript
import * as React from 'react';
import { ZoomOptions } from 'medium-zoom';
export declare type MediumZoomEventType = 'open' | 'opened' | 'close' | 'closed' | 'detach' | 'update';
export interface ZoomHandler {
open: () => Promise<void>;
close: () => Promise<void>;
toggle: () => Promise<void>;
on: (type: MediumZoomEventType, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void;
off: (type: MediumZoomEventType, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void;
}
export declare function useMediumZoom(imgRef: React.MutableRefObject<HTMLImageElement | undefined>, options?: ZoomOptions): ZoomHandler;
export interface MediumZoomProps extends React.ImgHTMLAttributes<HTMLImageElement> {
options?: ZoomOptions;
}
export declare const MediumZoom: React.ForwardRefExoticComponent<MediumZoomProps & React.RefAttributes<HTMLImageElement | undefined>>;