@gravity-ui/graph
Version:
Modern graph editor component
61 lines (60 loc) • 2.13 kB
TypeScript
import React from "react";
import { TBlock } from "../components/canvas/blocks/Block";
import { Graph } from "../graph";
import "./Block.css";
export type TGraphBlockProps<T extends TBlock> = {
/**
* Graph instance
*/
graph: Graph;
/**
* Block instance
*/
block: T;
/**
* Class name for wrapper div
* * The difference between the "containerClassName" and "className" props:
* - containerClassName is applied to the container div
* - className is applied to the wrapper div
* ```jsx
* // container for position and size
* <div className={`graph-block-container ${containerClassName}`}>
* // wrapper for block content
* <div className={`graph-block-wrapper ${className}`}>
* {children}
* </div>
* </div>
* ```
*/
className?: string;
/**
* Class name for container div
* * The difference between the "containerClassName" and "className" props:
* - containerClassName is applied to the container div
* - className is applied to the wrapper div
* ```jsx
* // container for position and size
* <div className={`graph-block-container ${containerClassName}`}>
* // wrapper for block content
* <div className={`graph-block-wrapper ${className}`}>
* {children}
* </div>
* </div>
* ```
*/
containerClassName?: string;
/**
* Flag to hide canvas block automatically when react will render the block.
* If you want to manage canvas block visibility manually, you can set `autoHideCanvas` to `false`, and pass `canvasVisible` prop to control it.
*/
autoHideCanvas?: boolean;
/**
* Flag to manage visibility of canvas block.
* If you want to manage visibility of canvas block manually, you can set `autoHideCanvas` to `false`, and pass `canvasVisible` prop to control it.
*/
canvasVisible?: boolean;
children: React.ReactNode;
};
export declare const GraphBlock: <T extends TBlock>(props: TGraphBlockProps<T> & {
ref?: React.Ref<HTMLDivElement>;
}) => React.ReactElement | null;