@delove/reaflow
Version:
Node-based Visualizations for React
41 lines (40 loc) • 1.53 kB
TypeScript
import React from 'react';
import { LayoutResult } from '../layout/useLayout';
import { NodeData, PortData } from '../types';
import { EdgeDragResult } from './useEdgeDrag';
import { ZoomResult } from './useZoom';
export interface CanvasProviderValue extends EdgeDragResult, LayoutResult, ZoomResult {
selections?: string[];
readonly?: boolean;
pannable: boolean;
panType: 'scroll' | 'drag';
}
export declare const CanvasContext: React.Context<CanvasProviderValue>;
export interface CanvasProviderProps {
onNodeLink?: (event: any, fromNode: NodeData, toNode: NodeData, fromPort?: PortData) => void;
onNodeLinkCheck?: (event: any, fromNode: NodeData, toNode: NodeData, fromPort?: PortData) => undefined | boolean;
}
export declare const CanvasProvider: ({ selections, onNodeLink, readonly, children, nodes, edges, maxHeight, fit, maxWidth, direction, layoutOptions, pannable, panType, defaultPosition, zoomable, zoom, minZoom, maxZoom, onNodeLinkCheck, onLayoutChange, onZoomChange }: {
selections: any;
onNodeLink: any;
readonly: any;
children: any;
nodes: any;
edges: any;
maxHeight: any;
fit: any;
maxWidth: any;
direction: any;
layoutOptions: any;
pannable: any;
panType: any;
defaultPosition: any;
zoomable: any;
zoom: any;
minZoom: any;
maxZoom: any;
onNodeLinkCheck: any;
onLayoutChange: any;
onZoomChange: any;
}) => import("react/jsx-runtime").JSX.Element;
export declare const useCanvas: () => CanvasProviderValue;