UNPKG

@delove/reaflow

Version:

Node-based Visualizations for React

43 lines (42 loc) 1.37 kB
import React, { ReactNode } from 'react'; import { PortData } from '../../types'; import { NodeDragEvents } from '../../utils/useNodeDrag'; export interface ElkPortProperties { index: number; width: number; height: number; 'port.side': string; 'port.alignment': string; } export interface PortChildProps { port: PortData; isDisabled: boolean; isDragging: boolean; isHovered: boolean; x: number; y: number; rx: number; ry: number; offsetX: number; offsetY: number; } export type PortChildrenAsFunction = (portChildProps: PortChildProps) => ReactNode; export interface PortProps extends NodeDragEvents<PortData> { id: string; x: number; y: number; rx: number; ry: number; offsetX: number; offsetY: number; disabled?: boolean; className?: string; properties: ElkPortProperties & PortData; style?: any; children?: ReactNode | PortChildrenAsFunction; active?: boolean; onEnter?: (event: React.MouseEvent<SVGGElement, MouseEvent>, port: PortData) => void; onLeave?: (event: React.MouseEvent<SVGGElement, MouseEvent>, port: PortData) => void; onClick?: (event: React.MouseEvent<SVGGElement, MouseEvent>, port: PortData) => void; } export declare const Port: React.ForwardRefExoticComponent<Partial<PortProps> & React.RefAttributes<SVGRectElement>>;