UNPKG

reaviz

Version:

Data Visualization using React

74 lines (73 loc) 1.93 kB
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>>;