fybdp-d3-kg
Version:
Knowledge Graph using React and D3.js
90 lines (89 loc) • 2.66 kB
TypeScript
import React, { Component, ReactElement } from 'react';
import { Tooltip, TooltipProps } from '../../common/Tooltip';
import { NodeExtra, Link } from '../utils';
export interface SankeyLinkProps extends Link {
/**
* Whether the element is active or not. Set internally by `Sankey`.
*/
active: boolean;
/**
* Whether to animate the enter/update/exit.
*/
animated: boolean;
/**
* Id of Sankey chart. Set internally by `Sankey`.
*/
chartId: string;
/**
* CSS class to apply.
*/
className?: string;
/**
* Whether the node is disabled. Set internally by `Sankey`.
*/
disabled: boolean;
/**
* Whether to use gradient or not.
*/
gradient?: boolean;
/**
* Opacity callback for the link.
*/
opacity: (active: boolean, disabled: boolean) => number;
/**
* CSS styles to apply.
*/
style?: object;
/**
* Tooltip element.
*/
tooltip: ReactElement<TooltipProps, typeof Tooltip>;
/**
* Width of the link. Set internally by `Sankey`.
*/
width: number;
/**
* Event for when the link is clicked.
*/
onClick: (event: React.MouseEvent<SVGPathElement>) => void;
/**
* Event for when the link has mouse enter.
*/
onMouseEnter: (event: React.MouseEvent<SVGPathElement>) => void;
/**
* Event for when the link has mouse leave.
*/
onMouseLeave: (event: React.MouseEvent<SVGPathElement>) => void;
}
interface SankeyLinkState {
hovered?: boolean;
}
export declare class SankeyLink extends Component<SankeyLinkProps, SankeyLinkState> {
static defaultProps: Partial<SankeyLinkProps>;
link: React.RefObject<SVGPathElement>;
state: SankeyLinkState;
getEnter(): {
d: string;
strokeWidth: number;
};
getExit(): {
d: string;
strokeWidth: number;
};
getLink(): {
index: number | undefined;
y0: number | undefined;
y1: number | undefined;
value: number;
width: number;
source: string | number | import("d3-sankey").SankeyNode<NodeExtra, import("../utils").LinkExtra>;
target: string | number | import("d3-sankey").SankeyNode<NodeExtra, import("../utils").LinkExtra>;
};
getStroke(): string | undefined;
onMouseEnter(event: React.MouseEvent<SVGPathElement>): void;
onMouseLeave(event: React.MouseEvent<SVGPathElement>): void;
renderLink(): JSX.Element;
renderTooltipContent(): JSX.Element;
render(): JSX.Element;
}
export {};