UNPKG

@gravity-ui/graph

Version:

Modern graph editor component

61 lines (60 loc) 2.13 kB
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;