import type { CoordinateExtent, NodeBase, NodeOrigin, OnError, NodeProps as NodePropsBase, InternalNodeBase } from '@xyflow/system'; import { NodeTypes } from './general'; import { JSX } from 'solid-js'; /** * The node data structure that gets used for the nodes prop. * @public */ export type Node = Record, NodeType extends string = string> = NodeBase & { style?: JSX.CSSProperties; className?: string; resizing?: boolean; focusable?: boolean; }; /** * The node data structure that gets used for internal nodes. * There are some data structures added under node.internal * that are needed for tracking some properties * @public */ export type InternalNode = InternalNodeBase; export type NodeMouseHandler = (event: MouseEvent, node: NodeType) => void; export type SelectionDragHandler = (event: MouseEvent, nodes: NodeType[]) => void; export type OnNodeDrag = (event: MouseEvent, node: NodeType, nodes: NodeType[]) => void; export type NodeWrapperProps = { id: string; nodesConnectable: boolean; elementsSelectable: boolean; nodesDraggable: boolean; nodesFocusable: boolean; onClick?: NodeMouseHandler; onDoubleClick?: NodeMouseHandler; onMouseEnter?: NodeMouseHandler; onMouseMove?: NodeMouseHandler; onMouseLeave?: NodeMouseHandler; onContextMenu?: NodeMouseHandler; resizeObserver: ResizeObserver | null; noDragClassName?: string; noPanClassName: string; rfId: string; disableKeyboardA11y: boolean; nodeTypes?: NodeTypes; nodeExtent?: CoordinateExtent; nodeOrigin: NodeOrigin; onError?: OnError; }; export type BuiltInNode = Node<{ label: string; }, 'input' | 'output' | 'default'>; export type NodeProps = NodePropsBase; //# sourceMappingURL=nodes.d.ts.map