UNPKG

@sequencemedia/graphviz-react

Version:

React component for displaying Graphviz graphs

55 lines (54 loc) 1.86 kB
import type { JSX } from 'react'; import React from 'react'; import type { GraphvizOptions } from 'd3-graphviz'; export interface IGraphvizProps { /** * A React `ref` for the container */ graphRef?: React.RefObject<any>; /** * A string containing a graph representation using the Graphviz DOT language * * @see https://graphviz.org/doc/info/lang.html */ dot: string; /** * Configuration options */ options?: GraphvizOptions; /** * A `className` for the container */ className?: string; /** * A handler for `click` events */ onClick?: (event: React.MouseEvent<HTMLDivElement>) => void; /** * A handler for `start` events */ onStart?: () => void; /** * A handler for `renderStart` events */ onRenderStart?: () => void; /** * A handler for `renderEnd` events */ onRenderEnd?: () => void; /** * A handler for the `renderDot` callback */ onRenderDot?: () => void; /** * A handler for `end` events */ onEnd?: () => void; } export declare function hasEventTarget({ target }: React.MouseEvent<HTMLDivElement>): boolean; export declare function getEventTarget({ target }: React.MouseEvent<HTMLDivElement>): Element | null; export declare function hasEntryTarget({ target }: ResizeObserverEntry): boolean; export declare function getEntryTarget({ target }: ResizeObserverEntry): Element | null; export declare function hasCurrent(ref?: React.RefObject<any>): ref is React.RefObject<HTMLDivElement>; export declare function getCurrent({ current }: React.RefObject<HTMLDivElement>): Element; export default function GraphvizReact({ graphRef: ref, dot, className, options, onStart, onRenderStart, onRenderEnd, onRenderDot, onEnd, onClick }: IGraphvizProps): JSX.Element;