UNPKG

@gravity-ui/graph

Version:

Modern graph editor component

29 lines (28 loc) 1.18 kB
import React from "react"; import type { Layer, LayerPublicProps } from "../services/Layer"; /** * Extracts layer instance type from constructor */ type LayerInstanceForConstructor<TLayer extends Constructor<Layer>> = TLayer extends Constructor<infer LayerInstance> ? LayerInstance : never; /** * Props for GraphLayer component */ export interface GraphLayerProps<TLayer extends Constructor<Layer> = Constructor<Layer>> { /** * Layer constructor class */ layer: TLayer; /** * Props to pass to layer constructor */ props?: LayerPublicProps<TLayer>; /** * Ref to access layer instance */ ref?: React.Ref<LayerInstanceForConstructor<TLayer>>; } /** * GraphLayer component provides declarative way to add existing Layer classes to the graph */ export declare const GraphLayer: React.ForwardRefExoticComponent<Omit<GraphLayerProps<Constructor<Layer<import("../services/Layer").LayerProps, import("../services/Layer").LayerContext, import("..").TComponentState>>>, "ref"> & React.RefAttributes<Layer<import("../services/Layer").LayerProps, import("../services/Layer").LayerContext, import("..").TComponentState>>>; export {};