fybdp-d3-kg
Version:
Knowledge Graph using React and D3.js
90 lines (89 loc) • 2.83 kB
TypeScript
import React, { Component, ReactElement } from 'react';
import { Tooltip, TooltipProps } from '../../common/Tooltip';
import { SankeyLabel, SankeyLabelProps } from '../SankeyLabel';
import { Node } from '../utils';
export interface SankeyNodeProps extends Node {
/**
* Whether the element is active or not. Set internally by `Sankey`.
*/
active: boolean;
/**
* Whether to animate the enter/update/exit.
*/
animated: boolean;
/**
* Width of the chart. Set internally by `Sankey`.
*/
chartWidth?: number;
/**
* CSS class to apply.
*/
className?: string;
/**
* Whether the node is disabled. Set internally by `Sankey`.
*/
disabled: boolean;
/**
* Label element.
*/
label: ReactElement<SankeyLabelProps, typeof SankeyLabel>;
/**
* Opacity callback for the node.
*/
opacity: (active: boolean, disabled: boolean) => number;
/**
* Whether to show the label or not.
*/
showLabel: boolean;
/**
* CSS styles to apply.
*/
style?: object;
/**
* Tooltip element.
*/
tooltip: ReactElement<TooltipProps, typeof Tooltip>;
/**
* Width of the node. Set internally by `Sankey`.
*/
width?: number;
/**
* Event for when the node is clicked.
*/
onClick: (event: React.MouseEvent<SVGRectElement>) => void;
/**
* Event for when the node has mouse enter.
*/
onMouseEnter: (event: React.MouseEvent<SVGRectElement>) => void;
/**
* Event for when the node has mouse leave.
*/
onMouseLeave: (event: React.MouseEvent<SVGRectElement>) => void;
}
interface SankeyNodeState {
hovered?: boolean;
}
export declare class SankeyNode extends Component<SankeyNodeProps, SankeyNodeState> {
static defaultProps: Partial<SankeyNodeProps>;
state: SankeyNodeState;
rect: React.RefObject<SVGRectElement>;
getNode(): {
id: string | undefined;
title: string;
color: string | undefined;
sourceLinks: import("d3-sankey").SankeyLink<import("../utils").NodeExtra, import("../utils").LinkExtra>[] | undefined;
targetLinks: import("d3-sankey").SankeyLink<import("../utils").NodeExtra, import("../utils").LinkExtra>[] | undefined;
value: number | undefined;
index: number | undefined;
x0: number | undefined;
x1: number | undefined;
y0: number | undefined;
y1: number | undefined;
};
onMouseEnter(event: React.MouseEvent<SVGRectElement>): void;
onMouseLeave(event: React.MouseEvent<SVGRectElement>): void;
renderNode(): JSX.Element;
renderTooltipContent(): JSX.Element;
render(): JSX.Element;
}
export {};