reaviz
Version:
Data Visualization using React
74 lines (73 loc) • 1.93 kB
TypeScript
import { FC, PropsWithChildren } from 'react';
import { ChartInternalDataShape, ChartDataTypes } from '../data';
export interface ZoomPanChangeEvent {
domain: [ChartDataTypes, ChartDataTypes];
isZoomed: boolean;
}
export interface ChartZoomPanProps extends PropsWithChildren {
/**
* Data the chart is rendering. Set internally by the parent chart.
*/
data: ChartInternalDataShape[];
/**
* Current zoom domain on the axis being zoomed.
*/
domain?: [ChartDataTypes, ChartDataTypes];
/**
* Type of the axis being zoomed. Set internally by the parent chart.
*/
axisType: 'value' | 'time' | 'category' | 'duration';
/**
* Whether the axis is rounding domains. Set internally by the parent chart.
*/
roundDomains: boolean;
/**
* Height of the zoom-pan area. Set internally by the parent chart.
*/
height: number;
/**
* Width of the zoom-pan area. Set internally by the parent chart.
*/
width: number;
/**
* Current zoom scale factor.
*/
scale: number;
/**
* Current pan offset.
*/
offset: number;
/**
* Whether panning is enabled.
*/
pannable: boolean;
/**
* Whether zooming is enabled.
*/
zoomable: boolean;
/**
* Whether the gestures are disabled.
*/
disabled?: boolean;
/**
* Maximum allowed zoom scale.
*/
maxZoom: number;
/**
* Incremental step applied on zoom gestures.
*/
zoomStep: number;
/**
* Whether to ignore mouse wheel events for zoom.
*/
disableMouseWheel?: boolean;
/**
* Whether a modifier key is required to trigger zoom.
*/
requireZoomModifier?: boolean;
/**
* Fires when the user zooms or pans.
*/
onZoomPan?: (event: ZoomPanChangeEvent) => void;
}
export declare const ChartZoomPan: FC<Partial<ChartZoomPanProps>>;