fybdp-d3-kg
Version:
Knowledge Graph using React and D3.js
67 lines (66 loc) • 2.76 kB
TypeScript
import { Component, ReactElement } from 'react';
import { AreaSeries, AreaChartTypes, AreaSeriesProps } from './AreaSeries';
import { LinearAxisProps, LinearAxis } from '../common/Axis/LinearAxis';
import { GridlineSeries, GridlineSeriesProps } from '../common/Gridline';
import { ChartDataShape, ChartInternalDataShape, ChartDataTypes } from '../common/data';
import { ChartBrushProps, ChartBrush } from '../common/Brush';
import { ZoomPanChangeEvent, ChartZoomPanProps, ChartZoomPan } from '../common/ZoomPan';
import { ChartContainerChildProps, ChartProps } from '../common/containers/ChartContainer';
export interface AreaChartProps extends ChartProps {
/**
* Data the chart will receive to render.
*/
data: ChartDataShape[];
/**
* The series component that renders the area/line/circles components.
*/
series: ReactElement<AreaSeriesProps, typeof AreaSeries>;
/**
* The linear axis component for the Y Axis of the chart.
*/
yAxis: ReactElement<LinearAxisProps, typeof LinearAxis>;
/**
* The linear axis component for the X Axis of the chart.
*/
xAxis: ReactElement<LinearAxisProps, typeof LinearAxis>;
/**
* The chart's background gridlines component.
*/
gridlines: ReactElement<GridlineSeriesProps, typeof GridlineSeries> | null;
/**
* The chart's brush component.
*/
brush: ReactElement<ChartBrushProps, typeof ChartBrush> | null;
/**
* The chart's zoom pan component.
*/
zoomPan: ReactElement<ChartZoomPanProps, typeof ChartZoomPan> | null;
/**
* Any secondary axis components. Useful for multi-axis charts.
*/
secondaryAxis?: ReactElement<LinearAxisProps, typeof LinearAxis>[];
}
interface AreaChartState {
zoomDomain?: [ChartDataTypes, ChartDataTypes];
preventAnimation?: boolean;
isZoomed: boolean;
zoomControlled: boolean;
}
export declare class AreaChart extends Component<AreaChartProps, AreaChartState> {
static defaultProps: Partial<AreaChartProps>;
static getDerivedStateFromProps(props: AreaChartProps, state: AreaChartState): {
zoomDomain: [ChartDataTypes, ChartDataTypes] | undefined;
isZoomed: boolean;
} | null;
timeout: any;
constructor(props: AreaChartProps);
getData: (data: ChartDataShape[], type: AreaChartTypes) => ChartInternalDataShape[];
getScales(data: ChartInternalDataShape[], chartWidth: number, chartHeight: number, isMultiSeries: boolean): {
xScale: any;
yScale: any;
};
onZoomPan(event: ZoomPanChangeEvent): void;
renderChart(containerProps: ChartContainerChildProps): JSX.Element;
render(): JSX.Element;
}
export {};