@dschz/solid-flow 0.3.0-next.2 → 0.3.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  import { JSX } from "@solidjs/web";
2
- import { Align, Align as Align$1, AriaLabelConfig, AriaLabelConfig as AriaLabelConfig$1, BezierPathOptions, BezierPathOptions as BezierPathOptions$1, Box, ColorMode, ColorMode as ColorMode$1, ColorModeClass, ColorModeClass as ColorModeClass$1, Connection, Connection as Connection$1, ConnectionLineType, ConnectionLineType as ConnectionLineType$1, ConnectionMode, ConnectionMode as ConnectionMode$1, ConnectionState, ControlLinePosition, ControlPosition, ControlPosition as ControlPosition$1, CoordinateExtent, CoordinateExtent as CoordinateExtent$1, DefaultEdgeOptionsBase, Dimensions, EdgeBase, EdgeMarker, EdgeMarkerType, EdgePosition, EdgeToolbarBaseProps, FinalConnectionState, FitBounds, FitBoundsOptions, FitBoundsOptions as FitBoundsOptions$1, FitViewOptionsBase, GetBezierPathParams, GetSmoothStepPathParams, GetStraightPathParams, Handle as Handle$1, HandleConnection, HandleConnection as HandleConnection$1, HandleProps, HandleType, InternalNodeBase, IsValidConnection, MarkerProps, MarkerType, NodeBase, NodeConnection, NodeConnection as NodeConnection$1, NodeOrigin, NodeOrigin as NodeOrigin$1, NodeProps as NodeProps$1, OnBeforeDeleteBase, OnConnect, OnConnectEnd, OnConnectEnd as OnConnectEnd$1, OnConnectStart, OnConnectStart as OnConnectStart$1, OnConnectStartParams, OnError, OnError as OnError$1, OnMove, OnMove as OnMove$1, OnMoveEnd, OnMoveEnd as OnMoveEnd$1, OnMoveStart, OnMoveStart as OnMoveStart$1, OnReconnect, OnReconnect as OnReconnect$1, OnReconnectEnd, OnReconnectEnd as OnReconnectEnd$1, OnReconnectStart, OnReconnectStart as OnReconnectStart$1, OnResize, OnResize as OnResize$1, OnResizeEnd, OnResizeEnd as OnResizeEnd$1, OnResizeStart, OnResizeStart as OnResizeStart$1, OnSelectionDrag, PanOnScrollMode, PanOnScrollMode as PanOnScrollMode$1, PanelPosition, PanelPosition as PanelPosition$1, Position, Position as Position$1, ProOptions, ProOptions as ProOptions$1, Rect, Rect as Rect$1, ResizeControlVariant, ResizeControlVariant as ResizeControlVariant$1, ResizeDragEvent, ResizeParams, ResizeParamsWithDirection, SelectionMode, SelectionMode as SelectionMode$1, SelectionRect, SetCenter, SetCenterOptions, SetCenterOptions as SetCenterOptions$1, SetViewport, ShouldResize, ShouldResize as ShouldResize$1, SmoothStepPathOptions, SmoothStepPathOptions as SmoothStepPathOptions$1, SnapGrid, SnapGrid as SnapGrid$1, StepPathOptions, Transform, UpdateNodeInternals, Viewport, Viewport as Viewport$1, ViewportHelperFunctionOptions, ViewportHelperFunctionOptions as ViewportHelperFunctionOptions$1, XYPosition, XYPosition as XYPosition$1, XYZPosition, ZIndexMode, ZoomInOut, addEdge, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds } from "@xyflow/system";
2
+ import { Align as Align$1, AriaLabelConfig as AriaLabelConfig$1, BezierPathOptions as BezierPathOptions$1, Box as Box$1, ColorMode as ColorMode$1, ColorModeClass as ColorModeClass$1, Connection, Connection as Connection$1, ConnectionLineType, ConnectionLineType as ConnectionLineType$1, ConnectionMode, ConnectionMode as ConnectionMode$1, ConnectionState, ControlLinePosition, ControlPosition, ControlPosition as ControlPosition$1, CoordinateExtent, CoordinateExtent as CoordinateExtent$1, DefaultEdgeOptionsBase, Dimensions as Dimensions$1, EdgeBase, EdgeMarker, EdgeMarkerType as EdgeMarkerType$1, EdgePosition, EdgeToolbarBaseProps, FinalConnectionState, FitBounds, FitBoundsOptions as FitBoundsOptions$1, FitViewOptionsBase, GetBezierPathParams as GetBezierPathParams$1, GetSmoothStepPathParams as GetSmoothStepPathParams$1, GetStraightPathParams as GetStraightPathParams$1, Handle as Handle$1, HandleConnection, HandleConnection as HandleConnection$1, HandleProps, HandleType, InternalNodeBase, IsValidConnection as IsValidConnection$1, MarkerProps, MarkerType, NodeBase, NodeConnection, NodeConnection as NodeConnection$1, NodeOrigin, NodeOrigin as NodeOrigin$1, NodeProps as NodeProps$1, OnBeforeDeleteBase, OnConnect as OnConnect$1, OnConnectEnd as OnConnectEnd$1, OnConnectStart as OnConnectStart$1, OnConnectStartParams as OnConnectStartParams$1, OnError as OnError$1, OnMove, OnMove as OnMove$1, OnMoveEnd as OnMoveEnd$1, OnMoveStart as OnMoveStart$1, OnReconnect as OnReconnect$1, OnReconnectEnd as OnReconnectEnd$1, OnReconnectStart as OnReconnectStart$1, OnResize as OnResize$1, OnResizeEnd as OnResizeEnd$1, OnResizeStart as OnResizeStart$1, OnSelectionDrag as OnSelectionDrag$1, PanOnScrollMode, PanOnScrollMode as PanOnScrollMode$1, PanelPosition, PanelPosition as PanelPosition$1, Position, Position as Position$1, ProOptions as ProOptions$1, Rect as Rect$1, ResizeControlVariant, ResizeControlVariant as ResizeControlVariant$1, ResizeDragEvent as ResizeDragEvent$1, ResizeParams as ResizeParams$1, ResizeParamsWithDirection as ResizeParamsWithDirection$1, SelectionMode as SelectionMode$1, SelectionRect as SelectionRect$1, SetCenter, SetCenterOptions as SetCenterOptions$1, SetViewport, ShouldResize, ShouldResize as ShouldResize$1, SmoothStepPathOptions as SmoothStepPathOptions$1, SnapGrid as SnapGrid$1, StepPathOptions, Transform as Transform$1, UpdateNodeInternals, Viewport, Viewport as Viewport$1, ViewportHelperFunctionOptions as ViewportHelperFunctionOptions$1, XYPosition, XYPosition as XYPosition$1, XYZPosition as XYZPosition$1, ZIndexMode, ZoomInOut, addEdge, getBezierEdgeCenter as getBezierEdgeCenter$1, getBezierPath, getConnectedEdges, getEdgeCenter as getEdgeCenter$1, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds } from "@xyflow/system";
3
3
  import { Accessor, ParentComponent, ParentProps, Store, StoreSetter } from "solid-js";
4
4
  //#region src/types/custom.d.ts
5
+ /** An arbitrary string-keyed record — the unconstrained default for node/edge data. */
5
6
  type UnknownStruct = Record<string, unknown>;
6
7
  //#endregion
7
8
  //#region src/types/node.d.ts
@@ -26,10 +27,14 @@ type Node<NodeData extends UnknownStruct = UnknownStruct, NodeType extends strin
26
27
  */
27
28
  ariaRole?: JSX.HTMLAttributes<HTMLDivElement>["role"];
28
29
  /**
29
- * General escape hatch for adding custom attributes to the node's DOM element.
30
+ * General escape hatch for adding custom attributes to the node's DOM
31
+ * element. Event handlers, refs, and content-injection props are excluded
32
+ * (Svelte Flow parity: their omit of `keyof DOMAttributes`); interaction
33
+ * belongs on the node component, not here.
30
34
  */
31
- domAttributes?: Omit<JSX.HTMLAttributes<HTMLDivElement>, "id" | "style" | "class" | "draggable" | "role" | "aria-label" | keyof JSX.HTMLAttributes<HTMLDivElement>>;
35
+ domAttributes?: Omit<JSX.HTMLAttributes<HTMLDivElement>, "id" | "style" | "class" | "draggable" | "role" | "aria-label" | "innerHTML" | "textContent" | "children" | keyof JSX.CustomAttributes<HTMLDivElement> | keyof JSX.EventHandlersElement<HTMLDivElement> | keyof JSX.EventHandlersWindow<HTMLDivElement>>;
32
36
  };
37
+ /** Props passed to a node component (custom or built-in). */
33
38
  type NodeProps<TData extends UnknownStruct = UnknownStruct, TType extends string | undefined = string | undefined> = NodeProps$1<Node<TData, TType>>;
34
39
  /**
35
40
  * Map of node types to their components.
@@ -37,9 +42,11 @@ type NodeProps<TData extends UnknownStruct = UnknownStruct, TType extends string
37
42
  type NodeTypes = { [K in string]: {
38
43
  bivarianceHack(props: NodeProps<Record<string, unknown>, string | undefined>): JSX.Element;
39
44
  }["bivarianceHack"]; };
45
+ /** Union of the built-in node shapes (input, output, default, group). */
40
46
  type BuiltInNode = Node<{
41
47
  label: string;
42
48
  }, "input" | "output" | "default"> | Node<Record<string, never>, "group">;
49
+ /** The built-in node renderer map, keyed by node type. */
43
50
  type BuiltInNodeTypes = {
44
51
  input: (props: NodeProps<{
45
52
  label: string;
@@ -115,10 +122,13 @@ type BaseEdgeProps = {
115
122
  type BezierEdgeProps = EdgeProps<Record<string, unknown>, "default"> & {
116
123
  pathOptions?: BezierPathOptions$1;
117
124
  };
125
+ /** Props for the built-in straight edge. */
118
126
  type StraightEdgeProps = Omit<EdgeProps<Record<string, unknown>, "straight">, "sourcePosition" | "targetPosition">;
127
+ /** Props for the built-in step edge. */
119
128
  type StepEdgeProps = EdgeProps<Record<string, unknown>, "step"> & {
120
129
  pathOptions?: StepPathOptions;
121
130
  };
131
+ /** Props for the built-in smooth-step edge. */
122
132
  type SmoothStepEdgeProps = EdgeProps<Record<string, unknown>, "smoothstep"> & {
123
133
  pathOptions?: SmoothStepPathOptions$1;
124
134
  };
@@ -141,6 +151,7 @@ type BuiltInEdge = BezierEdgeProps | StraightEdgeProps | StepEdgeProps | SmoothS
141
151
  type EdgeTypes = { [K in string]: {
142
152
  bivarianceHack(props: EdgeProps<Record<string, unknown>, string | undefined>): JSX.Element;
143
153
  }["bivarianceHack"]; };
154
+ /** Defaults applied to every new edge added to the flow. */
144
155
  type DefaultEdgeOptions = DefaultEdgeOptionsBase<Edge>;
145
156
  type EdgeLayouted<EdgeType extends Edge = Edge> = EdgeType & EdgePosition & {
146
157
  sourceNode?: Node;
@@ -164,6 +175,7 @@ type NodeTargetEventWithPointer<T = PointerEvent, NodeType extends Node = Node>
164
175
  nodes: NodeType[];
165
176
  event: T;
166
177
  }) => void;
178
+ /** Node pointer and drag event handlers accepted by the flow. */
167
179
  type NodeEvents<NodeType extends Node = Node> = {
168
180
  /** This event handler is called when a user clicks on a node. */
169
181
  onNodeClick?: NodeEventWithPointer<MouseEvent | TouchEvent, NodeType>;
@@ -182,12 +194,14 @@ type NodeEvents<NodeType extends Node = Node> = {
182
194
  /** This event handler is called when the pointer of a user moves over a node. */
183
195
  onNodePointerMove?: NodeEventWithPointer<PointerEvent, NodeType>;
184
196
  };
197
+ /** Selection-box event handlers. */
185
198
  type NodeSelectionEvents<NodeType extends Node = Node> = {
186
199
  /** This event handler is called when a user right-clicks the selection box. */
187
200
  onSelectionContextMenu?: NodesEventWithPointer<PointerEvent, NodeType>;
188
201
  /** This event handler is called when a user clicks the selection box. */
189
202
  onSelectionClick?: NodesEventWithPointer<MouseEvent, NodeType>;
190
203
  };
204
+ /** Pane (background) event handlers. */
191
205
  type PaneEvents = {
192
206
  /** This event handler is called when a user clicks the pane. */
193
207
  onPaneClick?: ({ event }: {
@@ -198,6 +212,7 @@ type PaneEvents = {
198
212
  event: PointerEvent;
199
213
  }) => void;
200
214
  };
215
+ /** Edge pointer event handlers. */
201
216
  type EdgeEvents<EdgeType extends Edge = Edge> = {
202
217
  /** This event handler is called when a user clicks an edge. */
203
218
  onEdgeClick?: ({ edge, event }: {
@@ -220,10 +235,12 @@ type EdgeEvents<EdgeType extends Edge = Edge> = {
220
235
  event: PointerEvent;
221
236
  }) => void;
222
237
  };
238
+ /** Handlers fired after node/edge deletions. */
223
239
  type DeleteEvents<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
224
240
  onNodesDelete?: (nodes: NodeType[]) => void;
225
241
  onEdgesDelete?: (edges: EdgeType[]) => void;
226
242
  };
243
+ /** Handlers for edge reconnection gestures. */
227
244
  type EdgeReconnectEvents<EdgeType extends Edge = Edge> = {
228
245
  /**
229
246
  * This handler is called when the source or target of a reconnectable edge is dragged from the
@@ -241,7 +258,7 @@ type EdgeReconnectEvents<EdgeType extends Edge = Edge> = {
241
258
  */
242
259
  onReconnectEnd?: (event: MouseEvent | TouchEvent, edge: EdgeType, handleType: HandleType, connectionState: FinalConnectionState) => void;
243
260
  };
244
- type OnSelectionDrag$1<NodeType extends Node = Node> = (event: MouseEvent, nodes: NodeType[]) => void;
261
+ type OnSelectionDrag$2<NodeType extends Node = Node> = (event: MouseEvent, nodes: NodeType[]) => void;
245
262
  //#endregion
246
263
  //#region src/types/general.d.ts
247
264
  type Position$2 = `${Position$1}`;
@@ -272,25 +289,34 @@ type ConnectionLineComponentProps<NodeType extends Node = Node> = {
272
289
  type SelectionMode$2 = `${SelectionMode$1}`;
273
290
  type PanOnScrollMode$2 = `${PanOnScrollMode$1}`;
274
291
  type ResizeControlVariant$2 = `${ResizeControlVariant$1}`;
292
+ /** A single keyboard modifier key. */
275
293
  type ShortcutModifier = "alt" | "ctrl" | "meta" | "shift";
294
+ /** Modifier requirement for a shortcut: none (`null`/`false`), one modifier, or a list that must all be held. */
276
295
  type ShortcutModifierDefinition = null | false | ShortcutModifier | (ShortcutModifier | ShortcutModifier[])[];
296
+ /** Alias of `ShortcutModifierDefinition`. */
277
297
  type KeyModifier = ShortcutModifierDefinition;
298
+ /** A key name plus an optional modifier requirement. */
278
299
  type KeyDefinitionObject = {
279
300
  key: string;
280
301
  modifier?: KeyModifier;
281
302
  };
303
+ /** A shortcut key: a plain key name or a `KeyDefinitionObject`. */
282
304
  type KeyDefinition = string | KeyDefinitionObject;
305
+ /** Live state of an in-progress connection gesture. */
283
306
  type ConnectionData = {
284
307
  connectionPosition: XYPosition$1 | null;
285
308
  connectionStartHandle: Handle$1 | null;
286
309
  connectionEndHandle: Handle$1 | null;
287
310
  connectionStatus: string | null;
288
311
  };
312
+ /** Options for `fitView`: padding, zoom bounds, duration, and the node subset to fit. */
289
313
  type FitViewOptions<NodeType extends Node = Node> = FitViewOptionsBase<NodeType>;
314
+ /** Handler called after nodes and/or edges are deleted. */
290
315
  type OnDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
291
316
  nodes: NodeType[];
292
317
  edges: EdgeType[];
293
318
  }) => void;
319
+ /** A connection together with the id of the edge it produced. */
294
320
  type EdgeConnection = Connection$1 & {
295
321
  id: string;
296
322
  };
@@ -298,17 +324,22 @@ type EdgeConnection = Connection$1 & {
298
324
  type OnBeforeEdgeConnect<EdgeType extends Edge = Edge> = (connection: EdgeConnection) => EdgeType | EdgeConnection | undefined;
299
325
  /** Callback that gets called after a handle connection is created. */
300
326
  type OnEdgeConnect = (connection: EdgeConnection) => void;
327
+ /** Callback fired before a reconnect is applied; return the modified edge, or `undefined` to cancel. */
301
328
  type OnBeforeReconnect<EdgeType extends Edge = Edge> = (newEdge: EdgeType, oldEdge: EdgeType) => EdgeType | undefined;
329
+ /** Callback fired before nodes/edges are deleted; can abort or narrow the deletion. */
302
330
  type OnBeforeDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = OnBeforeDeleteBase<NodeType, EdgeType>;
303
- type IsValidConnection$1<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection$1) => boolean;
331
+ type IsValidConnection$2<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection$1) => boolean;
332
+ /** Handler called when the set of selected nodes and edges changes. */
304
333
  type OnSelectionChange<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
305
334
  nodes: NodeType[];
306
335
  edges: EdgeType[];
307
336
  }) => void;
337
+ /** A nodes + edges pair describing a (sub)graph. */
308
338
  type NodeGraph<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
309
339
  readonly nodes: NodeType[];
310
340
  readonly edges: EdgeType[];
311
341
  };
342
+ /** Callback that maps a completed connection to the edge to create. */
312
343
  type OnEdgeCreate<EdgeType extends Edge = Edge> = (connection: Connection$1) => EdgeType | Connection$1;
313
344
  //#endregion
314
345
  //#region src/components/connection/ConnectionLine.d.ts
@@ -318,6 +349,7 @@ type ConnectionLineProps<NodeType extends Node = Node> = {
318
349
  readonly component: (props: ConnectionLineComponentProps<NodeType>) => JSX.Element;
319
350
  readonly containerStyle: string | JSX.CSSProperties;
320
351
  };
352
+ /** Internal component rendering the in-progress connection line. */
321
353
  declare const ConnectionLine: <NodeType extends Node = Node>(props: ParentProps<Partial<ConnectionLineProps<NodeType>>>) => JSX.Element;
322
354
  //#endregion
323
355
  //#region src/components/container/EdgeRenderer.d.ts
@@ -325,12 +357,14 @@ type EdgeRendererProps<EdgeType extends Edge = Edge> = EdgeEvents<EdgeType> & {
325
357
  readonly defaultEdgeOptions?: DefaultEdgeOptions;
326
358
  readonly reconnectRadius: number;
327
359
  };
360
+ /** Internal renderer iterating the edge id list into `EdgeWrapper`s. */
328
361
  declare const EdgeRenderer: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: EdgeRendererProps<EdgeType>) => JSX.Element;
329
362
  //#endregion
330
363
  //#region src/components/container/NodeRenderer.d.ts
331
364
  type NodeRendererProps<NodeType extends Node = Node> = NodeEvents<NodeType> & {
332
365
  readonly nodeClickDistance: number;
333
366
  };
367
+ /** Internal renderer iterating the node id list into `NodeWrapper`s; owns the shared measurement `ResizeObserver`. */
334
368
  declare const NodeRenderer: <NodeType extends Node = Node>(props: NodeRendererProps<NodeType>) => JSX.Element;
335
369
  //#endregion
336
370
  //#region src/components/container/Pane.d.ts
@@ -342,6 +376,7 @@ type PaneProps = PaneEvents & {
342
376
  readonly onSelectionStart?: (event: PointerEvent) => void;
343
377
  readonly onSelectionEnd?: (event: PointerEvent) => void;
344
378
  };
379
+ /** Internal interaction surface handling pane clicks, the selection box, and pan gestures. */
345
380
  declare const Pane: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<PaneProps>) => JSX.Element;
346
381
  //#endregion
347
382
  //#region src/components/container/Panel.d.ts
@@ -354,9 +389,11 @@ type PanelProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
354
389
  readonly "data-testid"?: string;
355
390
  readonly "data-message"?: string;
356
391
  };
392
+ /** Positioned overlay container for UI placed above the flow (used by `Controls`, `MiniMap`, attribution). */
357
393
  declare const Panel: (props: ParentProps<PanelProps>) => JSX.Element;
358
394
  //#endregion
359
395
  //#region src/components/container/ViewportPortal.d.ts
396
+ /** Portals children into graph coordinate space so they pan and zoom with the viewport. */
360
397
  declare const ViewportPortal: (props: ParentProps) => JSX.Element;
361
398
  //#endregion
362
399
  //#region src/components/container/Zoom.d.ts
@@ -377,15 +414,19 @@ type ZoomProps = {
377
414
  readonly paneClickDistance: number;
378
415
  readonly selectionOnDrag?: boolean;
379
416
  };
417
+ /** Internal viewport controller wiring pan/zoom gestures (XYPanZoom) to the flow. */
380
418
  declare const Zoom: (props: ParentProps<ZoomProps>) => JSX.Element;
381
419
  //#endregion
382
420
  //#region src/components/edge/BaseEdge.d.ts
421
+ /** Lowest-level edge primitive: renders the SVG path, label, and interaction width. */
383
422
  declare const BaseEdge: (props: ParentProps<BaseEdgeProps>) => JSX.Element;
384
423
  //#endregion
385
424
  //#region src/components/edge/BezierEdge.d.ts
425
+ /** Built-in bezier edge component. */
386
426
  declare const BezierEdge: (props: BezierEdgeProps) => JSX.Element;
387
427
  //#endregion
388
428
  //#region src/components/edge/BezierEdgeInternal.d.ts
429
+ /** Renderer-internal bezier edge variant. */
389
430
  declare const BezierEdgeInternal: (props: BezierEdgeProps) => JSX.Element;
390
431
  //#endregion
391
432
  //#region src/components/edge/EdgeLabel.d.ts
@@ -398,9 +439,11 @@ type EdgeLabelProps = {
398
439
  readonly transparent?: boolean;
399
440
  readonly style?: JSX.CSSProperties;
400
441
  } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
442
+ /** Renders an edge label positioned in graph coordinates. */
401
443
  declare const EdgeLabel: (props: ParentProps<EdgeLabelProps>) => JSX.Element;
402
444
  //#endregion
403
445
  //#region src/components/edge/EdgeLabelRenderer.d.ts
446
+ /** Portals edge labels into a shared HTML layer rendered above the edge SVG. */
404
447
  declare const EdgeLabelRenderer: (props: ParentProps) => JSX.Element;
405
448
  //#endregion
406
449
  //#region src/components/edge/EdgeReconnectAnchor.d.ts
@@ -410,32 +453,45 @@ type EdgeReconnectAnchorProps = {
410
453
  readonly style?: JSX.CSSProperties;
411
454
  readonly position?: XYPosition$1;
412
455
  readonly size?: number;
456
+ /** Externally mark the anchor as reconnecting (hides its children), in
457
+ * addition to the gesture-driven internal state. */
413
458
  readonly reconnecting?: boolean;
459
+ /** Called when a reconnect gesture on this anchor starts/ends — the Solid
460
+ * translation of Svelte Flow's `bind:reconnecting`. */
461
+ readonly onReconnectingChange?: (reconnecting: boolean) => void;
414
462
  } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
463
+ /** Grab area that lets an edge end be dragged off its handle and reconnected. */
415
464
  declare const EdgeReconnectAnchor: (props: ParentProps<EdgeReconnectAnchorProps>) => JSX.Element;
416
465
  //#endregion
417
466
  //#region src/components/edge/EdgeWrapper.d.ts
418
467
  type EdgeWrapperProps<EdgeType extends Edge = Edge> = EdgeEvents<EdgeType> & {
419
468
  readonly edgeId: string;
420
469
  };
470
+ /** Internal per-edge wrapper: interaction, a11y, viewport culling, and the dynamic edge component. */
421
471
  declare const EdgeWrapper: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: EdgeWrapperProps<EdgeType>) => JSX.Element;
422
472
  //#endregion
423
473
  //#region src/components/edge/SmoothStepEdge.d.ts
474
+ /** Built-in smooth-step edge component. */
424
475
  declare const SmoothStepEdge: (props: SmoothStepEdgeProps) => JSX.Element;
425
476
  //#endregion
426
477
  //#region src/components/edge/SmoothStepEdgeInternal.d.ts
478
+ /** Renderer-internal smooth-step edge variant. */
427
479
  declare const SmoothStepEdgeInternal: (props: SmoothStepEdgeProps) => JSX.Element;
428
480
  //#endregion
429
481
  //#region src/components/edge/StepEdge.d.ts
482
+ /** Built-in step edge component. */
430
483
  declare const StepEdge: (props: StepEdgeProps) => JSX.Element;
431
484
  //#endregion
432
485
  //#region src/components/edge/StepEdgeInternal.d.ts
486
+ /** Renderer-internal step edge variant. */
433
487
  declare const StepEdgeInternal: (props: StepEdgeProps) => JSX.Element;
434
488
  //#endregion
435
489
  //#region src/components/edge/StraightEdge.d.ts
490
+ /** Built-in straight edge component. */
436
491
  declare const StraightEdge: (props: StraightEdgeProps) => JSX.Element;
437
492
  //#endregion
438
493
  //#region src/components/edge/StraightEdgeInternal.d.ts
494
+ /** Renderer-internal straight edge variant. */
439
495
  declare const StraightEdgeInternal: (props: Omit<StraightEdgeProps, "sourcePosition" | "targetPosition">) => JSX.Element;
440
496
  //#endregion
441
497
  //#region src/components/handle/Handle.d.ts
@@ -446,6 +502,7 @@ type HandleProps$1 = Omit<HandleProps, "position"> & {
446
502
  readonly onConnect?: (connections: Connection$1[]) => void;
447
503
  readonly onDisconnect?: (connections: Connection$1[]) => void;
448
504
  } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
505
+ /** Connection point on a node; place inside custom nodes to make them connectable. */
449
506
  declare const Handle: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<HandleProps$1>) => JSX.Element;
450
507
  //#endregion
451
508
  //#region src/components/marker/Marker.d.ts
@@ -453,20 +510,25 @@ type MarkerProps$1 = MarkerProps & {
453
510
  readonly markerUnits?: "strokeWidth" | "userSpaceOnUse";
454
511
  readonly strokeWidth?: number;
455
512
  };
513
+ /** Internal SVG `<marker>` definition for one edge marker configuration. */
456
514
  declare const Marker: (props: MarkerProps$1) => JSX.Element;
457
515
  //#endregion
458
516
  //#region src/components/marker/MarkerDefinition.d.ts
517
+ /** Internal collector rendering every unique edge marker into one SVG defs block. */
459
518
  declare const MarkerDefinition: () => JSX.Element;
460
519
  //#endregion
461
520
  //#region src/components/node/DefaultNode.d.ts
521
+ /** Built-in default node: label with source and target handles. */
462
522
  declare const DefaultNode: (props: NodeProps<{
463
523
  label: string;
464
524
  }, "default">) => JSX.Element;
465
525
  //#endregion
466
526
  //#region src/components/node/GroupNode.d.ts
527
+ /** Built-in group node: a plain container for child nodes. */
467
528
  declare const GroupNode: (props: NodeProps<Record<string, never>>) => JSX.Element;
468
529
  //#endregion
469
530
  //#region src/components/node/InputNode.d.ts
531
+ /** Built-in input node: label with a source handle only. */
470
532
  declare const InputNode: (props: NodeProps<{
471
533
  label: string;
472
534
  }>) => JSX.Element;
@@ -477,15 +539,18 @@ type NodeWrapperProps<NodeType extends Node = Node> = NodeEvents<NodeType> & {
477
539
  readonly resizeObserver: ResizeObserver | undefined;
478
540
  readonly nodeClickDistance: number;
479
541
  };
542
+ /** Internal per-node wrapper: dragging, selection, a11y, measurement, viewport culling, and the dynamic node component. */
480
543
  declare const NodeWrapper: <NodeType extends Node = Node>(props: NodeWrapperProps<NodeType>) => JSX.Element;
481
544
  //#endregion
482
545
  //#region src/components/node/OutputNode.d.ts
546
+ /** Built-in output node: label with a target handle only. */
483
547
  declare const OutputNode: (props: NodeProps<{
484
548
  label: string;
485
549
  }>) => JSX.Element;
486
550
  //#endregion
487
551
  //#region src/components/selection/NodeSelection.d.ts
488
552
  type NodeSelectionProps<NodeType extends Node = Node> = NodeSelectionEvents<NodeType> & Pick<NodeEvents<NodeType>, "onNodeDrag" | "onNodeDragStart" | "onNodeDragStop">;
553
+ /** Internal draggable bounding box rendered around multi-selected nodes. */
489
554
  declare const NodeSelection: <NodeType extends Node = Node>(props: NodeSelectionProps<NodeType>) => JSX.Element;
490
555
  //#endregion
491
556
  //#region src/components/selection/Selection.d.ts
@@ -496,9 +561,11 @@ type SelectionProps = {
496
561
  readonly height?: number | string;
497
562
  readonly isVisible?: boolean;
498
563
  };
564
+ /** Internal selection-rectangle visual. */
499
565
  declare const Selection: (props: SelectionProps) => JSX.Element;
500
566
  //#endregion
501
567
  //#region src/core/flowProps.d.ts
568
+ /** Initial (uncontrolled) values used to seed a flow before the first measure/fit. */
502
569
  type SolidFlowInitialProps = {
503
570
  readonly initialNodes: Node[];
504
571
  readonly initialEdges: Edge[];
@@ -507,6 +574,10 @@ type SolidFlowInitialProps = {
507
574
  readonly fitView: boolean;
508
575
  readonly nodeOrigin: NodeOrigin$1;
509
576
  };
577
+ /**
578
+ * Props accepted by the `SolidFlow` component — the full configuration surface
579
+ * of a flow, and the config contract of the headless core (`createFlowState`).
580
+ */
510
581
  type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = NodeEvents<NodeType> & NodeSelectionEvents<NodeType> & EdgeEvents<EdgeType> & DeleteEvents<NodeType, EdgeType> & PaneEvents & {
511
582
  /**
512
583
  * The id of the flow. This is necessary if you want to render multiple flows.
@@ -783,13 +854,25 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
783
854
  */
784
855
  readonly selectionOnDrag?: boolean;
785
856
  /**
786
- * Viewport culling: elements outside the (overscanned) viewport are hidden
787
- * with CSS (`visibility: hidden` + `pointer-events: none`). Everything
788
- * stays mounted custom nodes keep their DOM state off-screen, and
789
- * measurement/fitView/minimap are unaffected. Selected elements are never
790
- * culled. Set to `false` to keep every element visible; note that culled
791
- * elements leave the accessibility tree and tab order while off-screen.
792
- * @default true
857
+ * Only render (mount) elements inside the overscanned viewport: nodes and
858
+ * edges outside it are unmounted entirely, and remount as the viewport
859
+ * reaches them. This is the heavy-duty tier for very large graphs — at
860
+ * 10k nodes it cuts the DOM by ~16x, roughly halves memory, and makes
861
+ * node drags ~3.7x faster (fewer live subscribers).
862
+ *
863
+ * The flow's data graph is unaffected: positions, selection, and cached
864
+ * measurements live outside the components, so an unmounted node comes
865
+ * back exactly as it left (at its measured size, still selected).
866
+ * Component-LOCAL state does not survive — signals created inside a
867
+ * custom node, uncontrolled inputs, scroll positions of inner elements.
868
+ * Keep state you care about in `node.data`. Never unmounted: selected
869
+ * elements, unmeasured nodes, and the node holding DOM focus.
870
+ *
871
+ * Independent of this prop, off-viewport elements are always CSS-culled
872
+ * (`visibility: hidden` + `pointer-events: none`, everything stays
873
+ * mounted) — that tier has no user-visible semantics beyond leaving the
874
+ * accessibility tree and tab order while off-screen.
875
+ * @default false
793
876
  */
794
877
  readonly onlyRenderVisibleElements?: boolean;
795
878
  /**
@@ -896,7 +979,7 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
896
979
  * before doing so.
897
980
  */
898
981
  readonly proOptions?: ProOptions$1;
899
- readonly isValidConnection?: IsValidConnection$1<EdgeType>;
982
+ readonly isValidConnection?: IsValidConnection$2<EdgeType>;
900
983
  /** This event handler is called when the user begins to pan or zoom the viewport */
901
984
  readonly onMoveStart?: OnMoveStart$1;
902
985
  /** This event handler is called when the user pans or zooms the viewport */
@@ -944,11 +1027,11 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
944
1027
  /** This event handler gets called when the selected nodes & edges change */
945
1028
  readonly onSelectionChange?: OnSelectionChange<NodeType, EdgeType>;
946
1029
  /** This event handler gets called when a user starts to drag a selection box. */
947
- readonly onSelectionDragStart?: OnSelectionDrag$1<NodeType>;
1030
+ readonly onSelectionDragStart?: OnSelectionDrag$2<NodeType>;
948
1031
  /** This event handler gets called when a user drags a selection box. */
949
- readonly onSelectionDrag?: OnSelectionDrag$1<NodeType>;
1032
+ readonly onSelectionDrag?: OnSelectionDrag$2<NodeType>;
950
1033
  /** This event handler gets called when a user stops dragging a selection box. */
951
- readonly onSelectionDragStop?: OnSelectionDrag$1<NodeType>;
1034
+ readonly onSelectionDragStop?: OnSelectionDrag$2<NodeType>;
952
1035
  /** This event handler gets called when the user starts to drag a selection box */
953
1036
  readonly onSelectionStart?: (event: PointerEvent) => void;
954
1037
  /** This event handler gets called when the user finishes dragging a selection box */
@@ -960,20 +1043,33 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
960
1043
  readonly ariaLabelConfig?: Partial<AriaLabelConfig$1>;
961
1044
  };
962
1045
  //#endregion
963
- //#region src/components/SolidFlow/component.d.ts
1046
+ //#region src/components/SolidFlow.d.ts
964
1047
  type SolidFlowComponentProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = ParentProps<SolidFlowProps<NodeType, EdgeType>> & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style" | "onselectionchange" | "onSelectionChange">;
1048
+ /** The flow canvas component: renders nodes and edges and wires up viewport and interactions. */
965
1049
  declare const SolidFlow: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: SolidFlowComponentProps<NodeType, EdgeType>) => JSX.Element;
966
1050
  //#endregion
967
- //#region src/components/SolidFlow/provider.d.ts
1051
+ //#region src/components/SolidFlowProvider.d.ts
1052
+ /** Hoists flow state above `SolidFlow` so hooks work outside the component (multi-panel UIs). */
968
1053
  declare const SolidFlowProvider: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<SolidFlowProps<NodeType, EdgeType>>) => JSX.Element;
969
1054
  //#endregion
970
1055
  //#region src/core/createEdgeStore.d.ts
971
- type ExtractEdgeInfo<T> = T extends ((props: EdgeProps<infer TData, infer TType>) => unknown) ? {
972
- data: TData;
973
- type: TType;
974
- } : never;
1056
+ type EdgeDataOf<T> = T extends ((props: EdgeProps<infer TData, infer _TType>) => unknown) ? TData : UnknownStruct;
975
1057
  type AllEdgeTypes<TUserEdgeTypes extends EdgeTypes> = TUserEdgeTypes extends Record<string, never> ? BuiltInEdgeTypes : BuiltInEdgeTypes & TUserEdgeTypes;
976
- type EdgesInput<TUserEdgeTypes extends EdgeTypes> = { [K in keyof AllEdgeTypes<TUserEdgeTypes>]: Edge<ExtractEdgeInfo<AllEdgeTypes<TUserEdgeTypes>[K]>["data"], ExtractEdgeInfo<AllEdgeTypes<TUserEdgeTypes>[K]>["type"]>; }[keyof AllEdgeTypes<TUserEdgeTypes>];
1058
+ /**
1059
+ * The discriminated union of edge configurations for a renderer map: one
1060
+ * member per built-in and custom edge type, with `data` narrowed by the
1061
+ * `type` discriminant (the MAP KEY — what the renderer actually matches).
1062
+ * Use it to carry `createEdgeStore`'s guided typing anywhere a plain array
1063
+ * or vanilla store is typed:
1064
+ *
1065
+ * ```typescript
1066
+ * const initialEdges = [
1067
+ * { id: "e1", source: "1", target: "2", type: "labeled", data: { label: "hi" } },
1068
+ * ] satisfies EdgesFor<typeof edgeTypes>[];
1069
+ * ```
1070
+ */
1071
+ type EdgesFor<TUserEdgeTypes extends EdgeTypes = Record<string, never>> = { [K in keyof AllEdgeTypes<TUserEdgeTypes>]: Edge<EdgeDataOf<AllEdgeTypes<TUserEdgeTypes>[K]>, K & string>; }[keyof AllEdgeTypes<TUserEdgeTypes>];
1072
+ type EdgesInput<TUserEdgeTypes extends EdgeTypes> = EdgesFor<TUserEdgeTypes>;
977
1073
  /**
978
1074
  * Creates a type-safe reactive store of edges for use in Solid Flow.
979
1075
  *
@@ -1050,7 +1146,7 @@ type EdgesInput<TUserEdgeTypes extends EdgeTypes> = { [K in keyof AllEdgeTypes<T
1050
1146
  * - Works seamlessly with both built-in and custom node types
1051
1147
  * - Type errors prevent invalid type names or incorrect data structures
1052
1148
  */
1053
- declare const createEdgeStore: <TUserEdgeTypes extends EdgeTypes = Record<string, never>>(edges: EdgesInput<TUserEdgeTypes>[]) => readonly [Store<EdgesInput<TUserEdgeTypes>[]>, StoreSetter<EdgesInput<TUserEdgeTypes>[]>];
1149
+ declare const createEdgeStore: <TUserEdgeTypes extends EdgeTypes = Record<string, never>>(edges: NoInfer<EdgesInput<TUserEdgeTypes>>[]) => readonly [Store<EdgesInput<TUserEdgeTypes>[]>, StoreSetter<EdgesInput<TUserEdgeTypes>[]>];
1054
1150
  //#endregion
1055
1151
  //#region src/core/projections/connections.d.ts
1056
1152
  /**
@@ -1060,6 +1156,7 @@ declare const createEdgeStore: <TUserEdgeTypes extends EdgeTypes = Record<string
1060
1156
  * `${nodeId}` · `${nodeId}-${type}` · `${nodeId}-${type}-${handleId}`
1061
1157
  */
1062
1158
  declare const connectionKey: (nodeId: string, type?: HandleType, handleId?: string | null) => string;
1159
+ /** The connections index: a handle's `connectionKey` mapped to its live `HandleConnection`s. */
1063
1160
  type ConnectionsRecord = Record<string, Record<string, HandleConnection$1>>;
1064
1161
  //#endregion
1065
1162
  //#region src/core/flowState.d.ts
@@ -1205,12 +1302,23 @@ type FlowCommands<NodeType extends Node = Node, EdgeType extends Edge = Edge> =
1205
1302
  };
1206
1303
  //#endregion
1207
1304
  //#region src/core/createNodeStore.d.ts
1208
- type ExtractNodeInfo<T> = T extends ((props: NodeProps<infer TData, infer TType>) => unknown) ? {
1209
- data: TData;
1210
- type: TType;
1211
- } : never;
1305
+ type NodeDataOf<T> = T extends ((props: NodeProps<infer TData, infer _TType>) => unknown) ? TData : UnknownStruct;
1212
1306
  type AllNodeTypes<TUserNodeTypes extends NodeTypes> = TUserNodeTypes extends Record<string, never> ? BuiltInNodeTypes : BuiltInNodeTypes & TUserNodeTypes;
1213
- type NodesInput<TUserNodeTypes extends NodeTypes> = { [K in keyof AllNodeTypes<TUserNodeTypes>]: Node<ExtractNodeInfo<AllNodeTypes<TUserNodeTypes>[K]>["data"], ExtractNodeInfo<AllNodeTypes<TUserNodeTypes>[K]>["type"]>; }[keyof AllNodeTypes<TUserNodeTypes>];
1307
+ /**
1308
+ * The discriminated union of node configurations for a renderer map: one
1309
+ * member per built-in and custom node type, with `data` narrowed by the
1310
+ * `type` discriminant (the MAP KEY — what the renderer actually matches).
1311
+ * Use it to carry `createNodeStore`'s guided typing anywhere a plain array
1312
+ * or vanilla store is typed:
1313
+ *
1314
+ * ```typescript
1315
+ * const initialNodes = [
1316
+ * { id: "1", type: "custom", position: { x: 0, y: 0 }, data: { value: 1 } },
1317
+ * ] satisfies NodesFor<typeof nodeTypes>[];
1318
+ * ```
1319
+ */
1320
+ type NodesFor<TUserNodeTypes extends NodeTypes = Record<string, never>> = { [K in keyof AllNodeTypes<TUserNodeTypes>]: Node<NodeDataOf<AllNodeTypes<TUserNodeTypes>[K]>, K & string>; }[keyof AllNodeTypes<TUserNodeTypes>];
1321
+ type NodesInput<TUserNodeTypes extends NodeTypes> = NodesFor<TUserNodeTypes>;
1214
1322
  /**
1215
1323
  * Creates a type-safe reactive store of nodes for use in Solid Flow.
1216
1324
  *
@@ -1282,7 +1390,7 @@ type NodesInput<TUserNodeTypes extends NodeTypes> = { [K in keyof AllNodeTypes<T
1282
1390
  * - Works seamlessly with both built-in and custom node types
1283
1391
  * - Type errors prevent invalid type names or incorrect data structures
1284
1392
  */
1285
- declare const createNodeStore: <TUserNodeTypes extends NodeTypes = Record<string, never>>(nodes: NodesInput<TUserNodeTypes>[]) => readonly [Store<NodesInput<TUserNodeTypes>[]>, StoreSetter<NodesInput<TUserNodeTypes>[]>];
1393
+ declare const createNodeStore: <TUserNodeTypes extends NodeTypes = Record<string, never>>(nodes: NoInfer<NodesInput<TUserNodeTypes>>[]) => readonly [Store<NodesInput<TUserNodeTypes>[]>, StoreSetter<NodesInput<TUserNodeTypes>[]>];
1286
1394
  //#endregion
1287
1395
  //#region src/hooks/useColorMode.d.ts
1288
1396
  /**
@@ -1312,14 +1420,14 @@ declare function useConnection(): Accessor<ConnectionState>;
1312
1420
  * @public
1313
1421
  * @returns store with an array of nodes
1314
1422
  */
1315
- declare function useNodes<NodeType extends Node = Node>(): Accessor<NodeType[]>;
1423
+ declare function useNodes<NodeType extends Node = Node>(): Accessor<readonly NodeType[]>;
1316
1424
  /**
1317
1425
  * Hook for getting the current edges from the store.
1318
1426
  *
1319
1427
  * @public
1320
1428
  * @returns store with an array of edges
1321
1429
  */
1322
- declare function useEdges<EdgeType extends Edge = Edge>(): Accessor<EdgeType[]>;
1430
+ declare function useEdges<EdgeType extends Edge = Edge>(): Accessor<readonly EdgeType[]>;
1323
1431
  /**
1324
1432
  * Hook for getting the current viewport from the store.
1325
1433
  *
@@ -1328,9 +1436,6 @@ declare function useEdges<EdgeType extends Edge = Edge>(): Accessor<EdgeType[]>;
1328
1436
  */
1329
1437
  declare function useViewport(): Accessor<Viewport$1>;
1330
1438
  //#endregion
1331
- //#region src/hooks/useHandleEdgeSelect.d.ts
1332
- declare function useHandleEdgeSelect(): (id: string) => void;
1333
- //#endregion
1334
1439
  //#region src/hooks/useInitialized.d.ts
1335
1440
  /**
1336
1441
  * Hook for seeing if all nodes have been measured.
@@ -1354,11 +1459,16 @@ declare function useViewportInitialized(): Accessor<boolean>;
1354
1459
  //#endregion
1355
1460
  //#region src/hooks/useInternalNode.d.ts
1356
1461
  /**
1357
- * Hook to get an internal node by id.
1462
+ * Hook to get an internal node (the node enriched with measured dimensions,
1463
+ * absolute position, and z-order) by id.
1464
+ *
1465
+ * The id is an accessor (not a plain string) on purpose: passing a raw
1466
+ * reactive read like `props.nodeId` would capture the value once and silently
1467
+ * lose reactivity — `useInternalNode(() => props.nodeId)` keeps it live.
1358
1468
  *
1359
1469
  * @public
1360
- * @param id - the node id
1361
- * @returns an accessor with an internal node or undefined
1470
+ * @param id - a reactive accessor for the node id
1471
+ * @returns an accessor with the internal node, or undefined while absent
1362
1472
  */
1363
1473
  declare function useInternalNode(id: Accessor<string>): Accessor<InternalNode | undefined>;
1364
1474
  //#endregion
@@ -1390,6 +1500,7 @@ type NodeData<NodeType extends Node> = Pick<NodeType, "id" | "data" | "type">;
1390
1500
  * @returns A memo with an array of data objects
1391
1501
  */
1392
1502
  declare function useNodesData<NodeType extends Node = Node>(nodeId: Accessor<string | undefined | null>): Accessor<NodeData<NodeType> | undefined>;
1503
+ /** Reactive accessor for the `data` of one or many nodes by id. */
1393
1504
  declare function useNodesData<NodeType extends Node = Node>(nodeIds: Accessor<string[] | undefined | null>): Accessor<NodeData<NodeType>[]>;
1394
1505
  //#endregion
1395
1506
  //#region src/hooks/useSolidFlow.d.ts
@@ -1400,36 +1511,16 @@ declare function useNodesData<NodeType extends Node = Node>(nodeIds: Accessor<st
1400
1511
  * familiarity — `useSolidFlow().fitView()` and
1401
1512
  * `useSolidFlow().commands.fitView()` are the same function.
1402
1513
  *
1403
- * The imperative getters are deprecated: event handlers are untracked scopes
1404
- * in Solid, so reading `flow.viewport.zoom` (or `flow.internalNodes[id]`)
1405
- * inside one already IS the imperative read — no wrapper needed while the
1406
- * same read in a tracked scope subscribes.
1514
+ * There are no imperative getters: event handlers are untracked scopes in
1515
+ * Solid, so reading `flow.viewport.zoom` (or `flow.internalNodes[id]`) inside
1516
+ * one already IS the imperative read — while the same read in a tracked scope
1517
+ * subscribes.
1407
1518
  */
1408
1519
  type UseSolidFlowReturn<NodeType extends Node = Node, EdgeType extends Edge = Edge> = FlowCommands<NodeType, EdgeType> & {
1409
1520
  /** The flow's data graph as one reactive struct — the canonical read surface. */
1410
1521
  readonly flow: FlowState<NodeType, EdgeType>;
1411
1522
  /** The flow's write surface (same functions as the spread members). */
1412
1523
  readonly commands: FlowCommands<NodeType, EdgeType>;
1413
- /** @deprecated Read `flow.internalNodes[id]` instead. */
1414
- readonly getInternalNode: (id: string) => InternalNode<NodeType> | undefined;
1415
- /** @deprecated Read `flow.internalNodes[id]?.internals.userNode` (or find in `flow.nodes`) instead. */
1416
- readonly getNode: (id: string) => NodeType | undefined;
1417
- /** @deprecated Read `flow.nodes` (or map ids over `flow.internalNodes`) instead. */
1418
- readonly getNodes: (ids?: string[]) => NodeType[];
1419
- /** @deprecated Read `flow.edges` (or find by id) instead. */
1420
- readonly getEdge: (id: string) => EdgeType | undefined;
1421
- /** @deprecated Read `flow.edges` (or filter by ids) instead. */
1422
- readonly getEdges: (ids?: string[]) => EdgeType[];
1423
- /** @deprecated Read `flow.viewport` instead. */
1424
- readonly getViewport: () => Viewport$1;
1425
- /** @deprecated Read `flow.viewport.zoom` instead. */
1426
- readonly getZoom: () => number;
1427
- /** @deprecated Read `flow.connections[connectionKey(nodeId, type, id)]` (or use `useNodeConnections`) instead. */
1428
- readonly getHandleConnections: (params: {
1429
- type: HandleType;
1430
- nodeId: string;
1431
- id?: string | null;
1432
- }) => HandleConnection$1[];
1433
1524
  };
1434
1525
  /**
1435
1526
  * Hook for accessing the flow instance: `{ flow, commands }` plus the
@@ -1439,7 +1530,7 @@ type UseSolidFlowReturn<NodeType extends Node = Node, EdgeType extends Edge = Ed
1439
1530
  * `const { flow, commands } = useSolidFlow()`.
1440
1531
  *
1441
1532
  * @public
1442
- * @returns the flow's read struct, write surface, and deprecated aliases
1533
+ * @returns the flow's read struct and write surface
1443
1534
  */
1444
1535
  declare function useSolidFlow<NodeType extends Node = Node, EdgeType extends Edge = Edge>(): UseSolidFlowReturn<NodeType, EdgeType>;
1445
1536
  //#endregion
@@ -1452,10 +1543,36 @@ declare function useSolidFlow<NodeType extends Node = Node, EdgeType extends Edg
1452
1543
  */
1453
1544
  declare function useUpdateNodeInternals(): UpdateNodeInternals;
1454
1545
  //#endregion
1546
+ //#region src/contexts/edgeId.d.ts
1547
+ /**
1548
+ * Returns the id of the edge this component is rendered inside. Available
1549
+ * anywhere in a custom edge's subtree (provided by the edge wrapper), so
1550
+ * nested components — like a custom edge label — can learn their host edge
1551
+ * without prop drilling.
1552
+ *
1553
+ * @public
1554
+ * @returns a reactive accessor for the surrounding edge's id
1555
+ */
1556
+ declare function useEdgeId(): Accessor<string>;
1557
+ //#endregion
1558
+ //#region src/contexts/nodeId.d.ts
1559
+ /**
1560
+ * Returns the id of the node this component is rendered inside. Available
1561
+ * anywhere in a custom node's subtree (provided by the node wrapper), so
1562
+ * nested components — like a custom `Handle` — can learn their host node
1563
+ * without prop drilling.
1564
+ *
1565
+ * @public
1566
+ * @returns a reactive accessor for the surrounding node's id
1567
+ */
1568
+ declare function useNodeId(): Accessor<string>;
1569
+ //#endregion
1455
1570
  //#region src/plugins/background/types.d.ts
1571
+ /** Available background pattern styles. */
1456
1572
  type BackgroundVariant = "lines" | "dots" | "cross";
1457
1573
  //#endregion
1458
1574
  //#region src/plugins/background/Background.d.ts
1575
+ /** Props for the `Background` plugin. */
1459
1576
  type BackgroundProps = {
1460
1577
  readonly id?: string;
1461
1578
  /** Variant of the pattern
@@ -1479,6 +1596,7 @@ type BackgroundProps = {
1479
1596
  /** Style applied to the container */
1480
1597
  readonly style?: JSX.CSSProperties;
1481
1598
  };
1599
+ /** Canvas background pattern (lines, dots, or cross) rendered beneath the graph. */
1482
1600
  declare const Background: (props: BackgroundProps) => JSX.Element;
1483
1601
  //#endregion
1484
1602
  //#region src/plugins/controls/ControlButton.d.ts
@@ -1491,6 +1609,7 @@ type ControlButtonProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "onC
1491
1609
  readonly borderColor?: string;
1492
1610
  readonly onClick?: JSX.EventHandler<HTMLButtonElement, MouseEvent>;
1493
1611
  };
1612
+ /** A styled button for use inside `Controls`. */
1494
1613
  declare const ControlButton: (props: ParentProps<ControlButtonProps>) => JSX.Element;
1495
1614
  //#endregion
1496
1615
  //#region src/plugins/controls/Controls.d.ts
@@ -1518,11 +1637,42 @@ type ControlsProps = {
1518
1637
  readonly beforeControls?: JSX.Element;
1519
1638
  readonly afterControls?: JSX.Element;
1520
1639
  } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
1640
+ /** Viewport control panel: zoom in/out, fit view, and interactivity lock. */
1521
1641
  declare const Controls: (props: ParentProps<ControlsProps>) => JSX.Element;
1522
1642
  //#endregion
1643
+ //#region src/plugins/minimap/MiniMapNode.d.ts
1644
+ /**
1645
+ * Props passed to a minimap node renderer — the default `MiniMapNode` or a
1646
+ * custom component supplied via the `MiniMap` `nodeComponent` prop. Position
1647
+ * and dimensions are in flow coordinates (the minimap svg's viewBox space).
1648
+ */
1649
+ type MiniMapNodeProps = {
1650
+ /** The id of the node this minimap representation stands for. */
1651
+ readonly id: string;
1652
+ readonly class?: string;
1653
+ readonly x: number;
1654
+ readonly y: number;
1655
+ readonly width?: number;
1656
+ readonly height?: number;
1657
+ readonly borderRadius?: number;
1658
+ readonly color?: string;
1659
+ readonly shapeRendering: JSX.RectSVGAttributes<SVGRectElement>["shape-rendering"];
1660
+ readonly strokeColor?: string;
1661
+ readonly strokeWidth?: number;
1662
+ readonly selected?: boolean;
1663
+ /** The node's own style; its background feeds the default fill fallback. */
1664
+ readonly style?: JSX.CSSProperties;
1665
+ /** Click handler (wired when the `MiniMap` has `onNodeClick`); call with the node id. */
1666
+ readonly onClick?: (event: MouseEvent, id: string) => void;
1667
+ };
1668
+ /** The default minimap node: a rounded rect. Custom `nodeComponent`s can wrap it. */
1669
+ declare const MiniMapNode: (props: MiniMapNodeProps) => JSX.Element;
1670
+ //#endregion
1523
1671
  //#region src/plugins/minimap/MiniMap.d.ts
1672
+ /** Derives a per-node minimap attribute (color, stroke, class) from the node. */
1524
1673
  type GetMiniMapNodeAttribute<NodeType extends Node> = (node: NodeType) => string;
1525
- type MiniMapProps<NodeType extends Node> = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
1674
+ /** Props for the `MiniMap` plugin. */
1675
+ type MiniMapProps<NodeType extends Node> = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style" | "onClick"> & {
1526
1676
  /** Background color of minimap */
1527
1677
  readonly bgColor?: string;
1528
1678
  /** Color of nodes on the minimap */
@@ -1554,13 +1704,23 @@ type MiniMapProps<NodeType extends Node> = Omit<JSX.HTMLAttributes<HTMLDivElemen
1554
1704
  readonly width?: number;
1555
1705
  /** Height of minimap */
1556
1706
  readonly height?: number;
1707
+ /** Called when the minimap pane is clicked, with the position in flow coordinates. */
1708
+ readonly onClick?: (event: MouseEvent, position: XYPosition$1) => void;
1709
+ /** Called when a node on the minimap is clicked. */
1710
+ readonly onNodeClick?: (event: MouseEvent, node: NodeType) => void;
1557
1711
  readonly pannable?: boolean;
1558
1712
  readonly zoomable?: boolean;
1713
+ /**
1714
+ * Custom component rendering each node on the minimap (receives
1715
+ * {@link MiniMapNodeProps}); defaults to the built-in rounded rect.
1716
+ */
1717
+ readonly nodeComponent?: (props: MiniMapNodeProps) => JSX.Element;
1559
1718
  /** Invert the direction when panning the minimap viewport */
1560
1719
  readonly inversePan?: boolean;
1561
1720
  /** Step size for zooming in/out */
1562
1721
  readonly zoomStep?: number;
1563
1722
  };
1723
+ /** Miniature overview map of the whole flow, with optional pan/zoom interaction. */
1564
1724
  declare const MiniMap: <NodeType extends Node>(props: ParentProps<Partial<MiniMapProps<NodeType>>>) => JSX.Element;
1565
1725
  //#endregion
1566
1726
  //#region src/plugins/nodeResizer/NodeResizer.d.ts
@@ -1600,6 +1760,7 @@ type NodeResizerProps = {
1600
1760
  /** Callback called when resizing ends */
1601
1761
  readonly onResizeEnd?: OnResizeEnd$1;
1602
1762
  } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize" | "style">;
1763
+ /** Resize handles and lines around a node; place inside a custom node to make it resizable. */
1603
1764
  declare const NodeResizer: (props: Partial<NodeResizerProps>) => JSX.Element;
1604
1765
  //#endregion
1605
1766
  //#region src/plugins/nodeResizer/ResizeControl.d.ts
@@ -1617,9 +1778,11 @@ type ResizeControlProps = NodeResizerSubProps & {
1617
1778
  readonly color?: string;
1618
1779
  readonly style?: JSX.CSSProperties;
1619
1780
  } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize" | "style">;
1781
+ /** A single resize handle or line — the building block of `NodeResizer`. */
1620
1782
  declare const ResizeControl: <NodeType extends Node = Node>(props: ParentProps<ResizeControlProps>) => JSX.Element;
1621
1783
  //#endregion
1622
1784
  //#region src/plugins/toolbar/EdgeToolbar.d.ts
1785
+ /** Props for the `EdgeToolbar` plugin. */
1623
1786
  type EdgeToolbarProps = EdgeToolbarBaseProps & {
1624
1787
  /** If `true`, clicking the toolbar selects the edge it belongs to. */
1625
1788
  readonly selectEdgeOnClick?: boolean;
@@ -1634,6 +1797,7 @@ type EdgeToolbarProps = EdgeToolbarBaseProps & {
1634
1797
  declare const EdgeToolbar: (props: ParentProps<EdgeToolbarProps>) => JSX.Element;
1635
1798
  //#endregion
1636
1799
  //#region src/plugins/toolbar/NodeToolbar.d.ts
1800
+ /** Props for the `NodeToolbar` plugin. */
1637
1801
  type NodeToolbarProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
1638
1802
  /** The id of the node, or array of ids the toolbar should be displayed at */
1639
1803
  readonly nodeId: string | string[];
@@ -1653,6 +1817,98 @@ type NodeToolbarProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
1653
1817
  /** Style of the toolbar */
1654
1818
  readonly style: Omit<JSX.CSSProperties, "z-index" | "position" | "transform">;
1655
1819
  };
1820
+ /** Toolbar attached to a node, rendered above the graph so it does not scale with zoom. */
1656
1821
  declare const NodeToolbar: ParentComponent<Partial<NodeToolbarProps>>;
1657
1822
  //#endregion
1658
- export { type Align, type AriaLabelConfig, Background, type BackgroundProps, type BackgroundVariant, BaseEdge, BezierEdge, BezierEdgeInternal, type BezierEdgeProps, type BezierPathOptions, type Box, type BuiltInEdge, type BuiltInNode, type BuiltInNodeTypes, type ColorMode, type ColorModeClass, type Connection, ConnectionData, ConnectionLine, ConnectionLineComponentProps, ConnectionLineType, ConnectionMode, type ConnectionsRecord, ControlButton, type ControlLinePosition, type ControlPosition, Controls, type CoordinateExtent, type DefaultEdgeOptions, DefaultNode, DeleteEvents, type Dimensions, type Edge, EdgeConnection, EdgeEvents, EdgeLabel, EdgeLabelRenderer, type EdgeMarker, type EdgeMarkerType, type EdgeProps, EdgeReconnectAnchor, EdgeReconnectEvents, EdgeRenderer, EdgeToolbar, EdgeToolbarProps, type EdgeTypes, EdgeWrapper, type FitBounds, type FitBoundsOptions, FitViewOptions, type FlowCommands, type FlowSelection, type FlowState, type GetBezierPathParams, type GetSmoothStepPathParams, type GetStraightPathParams, GroupNode, Handle, type HandleConnection, InputNode, type InternalNode, IsValidConnection, KeyDefinition, KeyDefinitionObject, KeyModifier, Marker, MarkerDefinition, MarkerType, MiniMap, type Node, type NodeConnection, NodeEvents, NodeGraph, type NodeOrigin, type NodeProps, NodeRenderer, NodeResizer, NodeSelection, NodeSelectionEvents, NodeToolbar, NodeToolbarProps, type NodeTypes, NodeWrapper, OnBeforeDelete, OnBeforeEdgeConnect, OnBeforeReconnect, type OnConnect, type OnConnectEnd, type OnConnectStart, type OnConnectStartParams, OnDelete, OnEdgeConnect, OnEdgeCreate, type OnError, type OnMove, type OnMoveEnd, type OnMoveStart, type OnReconnect, type OnReconnectEnd, type OnReconnectStart, type OnResize, type OnResizeEnd, type OnResizeStart, OnSelectionChange, OnSelectionDrag, OutputNode, PanOnScrollMode, Pane, PaneEvents, Panel, type PanelPosition, Position, type ProOptions, type Rect, ResizeControl, ResizeControlVariant, type ResizeDragEvent, type ResizeParams, type ResizeParamsWithDirection, Selection, SelectionMode, type SelectionRect, type SetCenter, type SetCenterOptions, type SetViewport, ShortcutModifier, ShortcutModifierDefinition, type ShouldResize, SmoothStepEdge, SmoothStepEdgeInternal, type SmoothStepEdgeProps, type SmoothStepPathOptions, type SnapGrid, SolidFlow, type SolidFlowInitialProps, type SolidFlowProps, SolidFlowProvider, StepEdge, StepEdgeInternal, type StepEdgeProps, StraightEdge, StraightEdgeInternal, type StraightEdgeProps, type Transform, UseSolidFlowReturn, Viewport, type ViewportHelperFunctionOptions, ViewportPortal, type XYPosition, type XYZPosition, Zoom, addEdge, connectionKey, createEdgeStore, createNodeStore, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds, useColorMode, useConnection, useEdges, useHandleEdgeSelect, useInternalNode, useNodeConnections, useNodes, useNodesData, useNodesInitialized, useSolidFlow, useUpdateNodeInternals, useViewport, useViewportInitialized };
1823
+ //#region src/types/system.d.ts
1824
+ /** Alignment of an attached element (e.g. a toolbar) along its side: 'start' | 'center' | 'end'. */
1825
+ type Align = Align$1;
1826
+ /** Configurable UI strings and ARIA descriptions (localization / a11y overrides). */
1827
+ type AriaLabelConfig = AriaLabelConfig$1;
1828
+ /** Options controlling bezier edge path curvature. */
1829
+ type BezierPathOptions = BezierPathOptions$1;
1830
+ /** A rectangle expressed as top-left position plus bottom-right extent. */
1831
+ type Box = Box$1;
1832
+ /** Color scheme for the flow: an explicit class or 'system' (media-query resolved). */
1833
+ type ColorMode = ColorMode$1;
1834
+ /** A resolved color scheme class: 'light' | 'dark'. */
1835
+ type ColorModeClass = ColorModeClass$1;
1836
+ /** A width/height pair. */
1837
+ type Dimensions = Dimensions$1;
1838
+ /** An edge marker reference: a marker type string or a full `EdgeMarker` config. */
1839
+ type EdgeMarkerType = EdgeMarkerType$1;
1840
+ /** Options for fitting the viewport to a set of bounds. */
1841
+ type FitBoundsOptions = FitBoundsOptions$1;
1842
+ /** Parameters accepted by `getBezierPath`. */
1843
+ type GetBezierPathParams = GetBezierPathParams$1;
1844
+ /** Parameters accepted by `getSmoothStepPath`. */
1845
+ type GetSmoothStepPathParams = GetSmoothStepPathParams$1;
1846
+ /** Parameters accepted by `getStraightPath`. */
1847
+ type GetStraightPathParams = GetStraightPathParams$1;
1848
+ /** Predicate deciding whether a pending connection may become an edge. */
1849
+ type IsValidConnection<EdgeType extends EdgeBase = EdgeBase> = IsValidConnection$1<EdgeType>;
1850
+ /** Handler called when a connection successfully completes. */
1851
+ type OnConnect = OnConnect$1;
1852
+ /** Handler called when a connection gesture ends (whether or not an edge was made). */
1853
+ type OnConnectEnd<NodeType extends NodeBase = NodeBase> = OnConnectEnd$1<NodeType>;
1854
+ /** Handler called when a user starts dragging a connection from a handle. */
1855
+ type OnConnectStart = OnConnectStart$1;
1856
+ /** The handle a connection gesture started from. */
1857
+ type OnConnectStartParams = OnConnectStartParams$1;
1858
+ /** Handler for internal, non-fatal flow errors (logged instead of thrown). */
1859
+ type OnError = OnError$1;
1860
+ /** Handler called when the user starts panning or zooming the viewport. */
1861
+ type OnMoveStart = OnMove$1;
1862
+ /** Handler called when the user stops panning or zooming the viewport. */
1863
+ type OnMoveEnd = OnMove$1;
1864
+ /** Handler called after an edge has been reconnected to a different handle. */
1865
+ type OnReconnect<EdgeType extends EdgeBase = EdgeBase> = OnReconnect$1<EdgeType>;
1866
+ /** Handler called when an edge reconnection gesture ends. */
1867
+ type OnReconnectEnd<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase> = OnReconnectEnd$1<NodeType, EdgeType>;
1868
+ /** Handler called when the user starts dragging an edge end off its handle. */
1869
+ type OnReconnectStart<EdgeType extends EdgeBase = EdgeBase> = OnReconnectStart$1<EdgeType>;
1870
+ /** Handler called while a node is being resized. */
1871
+ type OnResize = OnResize$1;
1872
+ /** Handler called when a node resize gesture ends. */
1873
+ type OnResizeEnd = OnResizeEnd$1;
1874
+ /** Handler called when a node resize gesture starts. */
1875
+ type OnResizeStart = OnResizeStart$1;
1876
+ /** Handler called while a selection of nodes is dragged. */
1877
+ type OnSelectionDrag<NodeType extends NodeBase = NodeBase> = OnSelectionDrag$1<NodeType>;
1878
+ /** Pro/attribution options (`hideAttribution`). */
1879
+ type ProOptions = ProOptions$1;
1880
+ /** A rectangle: position plus dimensions. */
1881
+ type Rect = Rect$1;
1882
+ /** The drag event delivered to resize handlers. */
1883
+ type ResizeDragEvent = ResizeDragEvent$1;
1884
+ /** Geometry of a resize step: position and dimensions. */
1885
+ type ResizeParams = ResizeParams$1;
1886
+ /** Resize geometry plus the direction of the drag. */
1887
+ type ResizeParamsWithDirection = ResizeParamsWithDirection$1;
1888
+ /** The user-drawn selection rectangle in flow coordinates. */
1889
+ type SelectionRect = SelectionRect$1;
1890
+ /** Options for `setCenter`: zoom and transition behavior. */
1891
+ type SetCenterOptions = SetCenterOptions$1;
1892
+ /** Options controlling smooth-step edge path geometry. */
1893
+ type SmoothStepPathOptions = SmoothStepPathOptions$1;
1894
+ /** Grid nodes snap to while dragging: `[x, y]` step sizes. */
1895
+ type SnapGrid = SnapGrid$1;
1896
+ /** The viewport transform as `[translateX, translateY, zoom]`. */
1897
+ type Transform = Transform$1;
1898
+ /** Common options for viewport helper functions (e.g. transition duration). */
1899
+ type ViewportHelperFunctionOptions = ViewportHelperFunctionOptions$1;
1900
+ /** An x/y position with a z-index. */
1901
+ type XYZPosition = XYZPosition$1;
1902
+ /**
1903
+ * How drag-selection decides membership: 'full' requires nodes to be fully
1904
+ * inside the selection box, 'partial' selects on any overlap.
1905
+ */
1906
+ declare const SelectionMode: typeof SelectionMode$1;
1907
+ /** See {@link SelectionMode}. */
1908
+ type SelectionMode = SelectionMode$1;
1909
+ /** Returns the center `[x, y]` of a straight edge between two points. */
1910
+ declare const getEdgeCenter: typeof getEdgeCenter$1;
1911
+ /** Returns the label center and offsets for a bezier edge. */
1912
+ declare const getBezierEdgeCenter: typeof getBezierEdgeCenter$1;
1913
+ //#endregion
1914
+ export { Align, AriaLabelConfig, Background, type BackgroundProps, type BackgroundVariant, BaseEdge, BezierEdge, BezierEdgeInternal, type BezierEdgeProps, BezierPathOptions, Box, type BuiltInEdge, type BuiltInNode, type BuiltInNodeTypes, ColorMode, ColorModeClass, type Connection, ConnectionData, ConnectionLine, ConnectionLineComponentProps, ConnectionLineType, ConnectionMode, type ConnectionsRecord, ControlButton, type ControlLinePosition, type ControlPosition, Controls, type CoordinateExtent, type DefaultEdgeOptions, DefaultNode, DeleteEvents, Dimensions, type Edge, EdgeConnection, EdgeEvents, EdgeLabel, EdgeLabelRenderer, type EdgeMarker, EdgeMarkerType, type EdgeProps, EdgeReconnectAnchor, EdgeReconnectEvents, EdgeRenderer, EdgeToolbar, EdgeToolbarProps, type EdgeTypes, EdgeWrapper, type EdgesFor, type FitBounds, FitBoundsOptions, FitViewOptions, type FlowCommands, type FlowSelection, type FlowState, GetBezierPathParams, type GetMiniMapNodeAttribute, GetSmoothStepPathParams, GetStraightPathParams, GroupNode, Handle, type HandleConnection, InputNode, type InternalNode, IsValidConnection, KeyDefinition, KeyDefinitionObject, KeyModifier, Marker, MarkerDefinition, MarkerType, MiniMap, MiniMapNode, type MiniMapNodeProps, type MiniMapProps, type Node, type NodeConnection, NodeEvents, NodeGraph, type NodeOrigin, type NodeProps, NodeRenderer, NodeResizer, NodeSelection, NodeSelectionEvents, NodeToolbar, NodeToolbarProps, type NodeTypes, NodeWrapper, type NodesFor, OnBeforeDelete, OnBeforeEdgeConnect, OnBeforeReconnect, OnConnect, OnConnectEnd, OnConnectStart, OnConnectStartParams, OnDelete, OnEdgeConnect, OnEdgeCreate, OnError, type OnMove, OnMoveEnd, OnMoveStart, OnReconnect, OnReconnectEnd, OnReconnectStart, OnResize, OnResizeEnd, OnResizeStart, OnSelectionChange, OnSelectionDrag, OutputNode, PanOnScrollMode, Pane, PaneEvents, Panel, type PanelPosition, Position, ProOptions, Rect, ResizeControl, ResizeControlVariant, ResizeDragEvent, ResizeParams, ResizeParamsWithDirection, Selection, SelectionMode, SelectionRect, type SetCenter, SetCenterOptions, type SetViewport, ShortcutModifier, ShortcutModifierDefinition, type ShouldResize, SmoothStepEdge, SmoothStepEdgeInternal, type SmoothStepEdgeProps, SmoothStepPathOptions, SnapGrid, SolidFlow, type SolidFlowInitialProps, type SolidFlowProps, SolidFlowProvider, StepEdge, StepEdgeInternal, type StepEdgeProps, StraightEdge, StraightEdgeInternal, type StraightEdgeProps, Transform, UseSolidFlowReturn, Viewport, ViewportHelperFunctionOptions, ViewportPortal, type XYPosition, XYZPosition, Zoom, addEdge, connectionKey, createEdgeStore, createNodeStore, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds, useColorMode, useConnection, useEdgeId, useEdges, useInternalNode, useNodeConnections, useNodeId, useNodes, useNodesData, useNodesInitialized, useSolidFlow, useUpdateNodeInternals, useViewport, useViewportInitialized };