@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.
- package/README.md +18 -0
- package/dist/index/index.d.ts +321 -65
- package/dist/index/index.js +204 -109
- package/dist/index/index.jsx +119 -66
- package/dist/styles/index.css +1 -1
- package/package.json +1 -1
package/dist/index/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { JSX } from "@solidjs/web";
|
|
2
|
-
import { Align
|
|
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
|
|
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.
|
|
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$
|
|
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$
|
|
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
|
-
*
|
|
787
|
-
*
|
|
788
|
-
*
|
|
789
|
-
*
|
|
790
|
-
*
|
|
791
|
-
*
|
|
792
|
-
*
|
|
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$
|
|
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$
|
|
1030
|
+
readonly onSelectionDragStart?: OnSelectionDrag$2<NodeType>;
|
|
948
1031
|
/** This event handler gets called when a user drags a selection box. */
|
|
949
|
-
readonly onSelectionDrag?: OnSelectionDrag$
|
|
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$
|
|
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
|
|
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/
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
1404
|
-
*
|
|
1405
|
-
*
|
|
1406
|
-
*
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|