@delove/reaflow
Version:
Node-based Visualizations for React
32 lines (31 loc) • 763 B
TypeScript
import { RefObject } from 'react';
export interface ZoomProps {
disabled?: boolean;
zoom?: number;
minZoom?: number;
maxZoom?: number;
onZoomChange: (zoom: number) => void;
}
export interface ZoomResult {
/**
* Factor of zoom.
*/
zoom: number;
/**
* SVG Ref for the Canvas.
*/
svgRef: RefObject<SVGSVGElement | null>;
/**
* Set a zoom factor of the canvas.
*/
setZoom?: (factor: number) => void;
/**
* Zoom in on the canvas.
*/
zoomIn?: (zoomFactor?: number) => void;
/**
* Zoom out on the canvas.
*/
zoomOut?: (zoomFactor?: number) => void;
}
export declare const useZoom: ({ disabled, zoom, minZoom, maxZoom, onZoomChange }: ZoomProps) => ZoomResult;