fybdp-d3-kg
Version:
Knowledge Graph using React and D3.js
88 lines (87 loc) • 2.54 kB
TypeScript
import React, { PureComponent } from 'react';
import { InterpolationTypes } from '../../common/utils/interpolation';
import { ChartInternalDataShape, ChartInternalShallowDataShape } from '../../common/data';
import { PropFunctionTypes } from '../../common/utils/functions';
export interface LineProps extends PropFunctionTypes {
/**
* Id set internally by `AreaChart`.
*/
id: string;
/**
* Parsed data shape. Set internally by `AreaChart`.
*/
data: ChartInternalDataShape[];
/**
* Width of the chart. Set internally by `AreaChart`.
*/
width: number;
/**
* Interpolation for the area. Set internally by `AreaSeries`.
*/
interpolation: InterpolationTypes;
/**
* Color for the area. Set internally by `AreaSeries`.
*/
color: any;
/**
* D3 scale for X Axis. Set internally by `AreaChart`.
*/
xScale: any;
/**
* D3 scale for Y Axis. Set internally by `AreaChart`.
*/
yScale: any;
/**
* Index of the area in the series. Set internally by `AreaSeries`.
*/
index: number;
/**
* Whether to animate the enter/update/exit. Set internally by `AreaSeries`.
*/
animated: boolean;
/**
* Stroke width of the line.
*/
strokeWidth: number;
/**
* Show the stroke if there is no value.
*/
showZeroStroke: boolean;
/**
* Internal property to identify if there is a area or not.
*/
hasArea: boolean;
}
interface LineState {
pathLength?: number;
}
export declare class Line extends PureComponent<LineProps, LineState> {
static defaultProps: Partial<LineProps>;
state: LineState;
ghostPathRef: React.RefObject<SVGPathElement>;
componentDidMount(): void;
componentDidUpdate(prevProps: LineProps): void;
getLinePath(data: ChartInternalShallowDataShape[]): string | null;
getCoords(): ChartInternalShallowDataShape[];
getLineEnter(coords: ChartInternalShallowDataShape[]): {
d: string | undefined;
strokeDashoffset: number;
strokeDasharray: string;
};
getLineExit(): {
d: string | undefined;
strokeDasharray: string;
strokeDashoffset: number;
};
getTransition(): {
delay: number;
type: string;
velocity: number;
damping: number;
} | {
type: boolean;
delay: number;
};
render(): JSX.Element;
}
export {};