@dschz/solid-flow 0.3.0-next.1 → 0.3.0-next.3
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/dist/index/index.d.ts +577 -399
- package/dist/index/index.js +3263 -3212
- package/dist/index/index.jsx +798 -764
- package/dist/styles/index.css +45 -43
- package/package.json +1 -1
package/dist/index/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { JSX } from "@solidjs/web";
|
|
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";
|
|
2
3
|
import { Accessor, ParentComponent, ParentProps, Store, StoreSetter } from "solid-js";
|
|
3
|
-
|
|
4
|
+
//#region src/types/custom.d.ts
|
|
5
|
+
type UnknownStruct = Record<string, unknown>;
|
|
6
|
+
//#endregion
|
|
4
7
|
//#region src/types/node.d.ts
|
|
5
8
|
/**
|
|
6
9
|
* The node data structure that gets used for internal nodes.
|
|
@@ -27,6 +30,7 @@ type Node<NodeData extends UnknownStruct = UnknownStruct, NodeType extends strin
|
|
|
27
30
|
*/
|
|
28
31
|
domAttributes?: Omit<JSX.HTMLAttributes<HTMLDivElement>, "id" | "style" | "class" | "draggable" | "role" | "aria-label" | keyof JSX.HTMLAttributes<HTMLDivElement>>;
|
|
29
32
|
};
|
|
33
|
+
/** Props passed to a node component (custom or built-in). */
|
|
30
34
|
type NodeProps<TData extends UnknownStruct = UnknownStruct, TType extends string | undefined = string | undefined> = NodeProps$1<Node<TData, TType>>;
|
|
31
35
|
/**
|
|
32
36
|
* Map of node types to their components.
|
|
@@ -34,9 +38,11 @@ type NodeProps<TData extends UnknownStruct = UnknownStruct, TType extends string
|
|
|
34
38
|
type NodeTypes = { [K in string]: {
|
|
35
39
|
bivarianceHack(props: NodeProps<Record<string, unknown>, string | undefined>): JSX.Element;
|
|
36
40
|
}["bivarianceHack"]; };
|
|
41
|
+
/** Union of the built-in node shapes (input, output, default, group). */
|
|
37
42
|
type BuiltInNode = Node<{
|
|
38
43
|
label: string;
|
|
39
44
|
}, "input" | "output" | "default"> | Node<Record<string, never>, "group">;
|
|
45
|
+
/** The built-in node renderer map, keyed by node type. */
|
|
40
46
|
type BuiltInNodeTypes = {
|
|
41
47
|
input: (props: NodeProps<{
|
|
42
48
|
label: string;
|
|
@@ -50,9 +56,6 @@ type BuiltInNodeTypes = {
|
|
|
50
56
|
group: (props: NodeProps<Record<string, never>, "group">) => JSX.Element;
|
|
51
57
|
};
|
|
52
58
|
//#endregion
|
|
53
|
-
//#region src/types/custom.d.ts
|
|
54
|
-
type UnknownStruct = Record<string, unknown>;
|
|
55
|
-
//#endregion
|
|
56
59
|
//#region src/types/edge.d.ts
|
|
57
60
|
/**
|
|
58
61
|
* An `Edge` is the complete description with everything Svelte Flow needs to know in order to
|
|
@@ -115,10 +118,13 @@ type BaseEdgeProps = {
|
|
|
115
118
|
type BezierEdgeProps = EdgeProps<Record<string, unknown>, "default"> & {
|
|
116
119
|
pathOptions?: BezierPathOptions$1;
|
|
117
120
|
};
|
|
121
|
+
/** Props for the built-in straight edge. */
|
|
118
122
|
type StraightEdgeProps = Omit<EdgeProps<Record<string, unknown>, "straight">, "sourcePosition" | "targetPosition">;
|
|
123
|
+
/** Props for the built-in step edge. */
|
|
119
124
|
type StepEdgeProps = EdgeProps<Record<string, unknown>, "step"> & {
|
|
120
125
|
pathOptions?: StepPathOptions;
|
|
121
126
|
};
|
|
127
|
+
/** Props for the built-in smooth-step edge. */
|
|
122
128
|
type SmoothStepEdgeProps = EdgeProps<Record<string, unknown>, "smoothstep"> & {
|
|
123
129
|
pathOptions?: SmoothStepPathOptions$1;
|
|
124
130
|
};
|
|
@@ -141,6 +147,7 @@ type BuiltInEdge = BezierEdgeProps | StraightEdgeProps | StepEdgeProps | SmoothS
|
|
|
141
147
|
type EdgeTypes = { [K in string]: {
|
|
142
148
|
bivarianceHack(props: EdgeProps<Record<string, unknown>, string | undefined>): JSX.Element;
|
|
143
149
|
}["bivarianceHack"]; };
|
|
150
|
+
/** Defaults applied to every new edge added to the flow. */
|
|
144
151
|
type DefaultEdgeOptions = DefaultEdgeOptionsBase<Edge>;
|
|
145
152
|
type EdgeLayouted<EdgeType extends Edge = Edge> = EdgeType & EdgePosition & {
|
|
146
153
|
sourceNode?: Node;
|
|
@@ -164,6 +171,7 @@ type NodeTargetEventWithPointer<T = PointerEvent, NodeType extends Node = Node>
|
|
|
164
171
|
nodes: NodeType[];
|
|
165
172
|
event: T;
|
|
166
173
|
}) => void;
|
|
174
|
+
/** Node pointer and drag event handlers accepted by the flow. */
|
|
167
175
|
type NodeEvents<NodeType extends Node = Node> = {
|
|
168
176
|
/** This event handler is called when a user clicks on a node. */
|
|
169
177
|
onNodeClick?: NodeEventWithPointer<MouseEvent | TouchEvent, NodeType>;
|
|
@@ -182,12 +190,14 @@ type NodeEvents<NodeType extends Node = Node> = {
|
|
|
182
190
|
/** This event handler is called when the pointer of a user moves over a node. */
|
|
183
191
|
onNodePointerMove?: NodeEventWithPointer<PointerEvent, NodeType>;
|
|
184
192
|
};
|
|
193
|
+
/** Selection-box event handlers. */
|
|
185
194
|
type NodeSelectionEvents<NodeType extends Node = Node> = {
|
|
186
195
|
/** This event handler is called when a user right-clicks the selection box. */
|
|
187
196
|
onSelectionContextMenu?: NodesEventWithPointer<PointerEvent, NodeType>;
|
|
188
197
|
/** This event handler is called when a user clicks the selection box. */
|
|
189
198
|
onSelectionClick?: NodesEventWithPointer<MouseEvent, NodeType>;
|
|
190
199
|
};
|
|
200
|
+
/** Pane (background) event handlers. */
|
|
191
201
|
type PaneEvents = {
|
|
192
202
|
/** This event handler is called when a user clicks the pane. */
|
|
193
203
|
onPaneClick?: ({ event }: {
|
|
@@ -198,6 +208,7 @@ type PaneEvents = {
|
|
|
198
208
|
event: PointerEvent;
|
|
199
209
|
}) => void;
|
|
200
210
|
};
|
|
211
|
+
/** Edge pointer event handlers. */
|
|
201
212
|
type EdgeEvents<EdgeType extends Edge = Edge> = {
|
|
202
213
|
/** This event handler is called when a user clicks an edge. */
|
|
203
214
|
onEdgeClick?: ({ edge, event }: {
|
|
@@ -220,10 +231,12 @@ type EdgeEvents<EdgeType extends Edge = Edge> = {
|
|
|
220
231
|
event: PointerEvent;
|
|
221
232
|
}) => void;
|
|
222
233
|
};
|
|
234
|
+
/** Handlers fired after node/edge deletions. */
|
|
223
235
|
type DeleteEvents<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
|
|
224
236
|
onNodesDelete?: (nodes: NodeType[]) => void;
|
|
225
237
|
onEdgesDelete?: (edges: EdgeType[]) => void;
|
|
226
238
|
};
|
|
239
|
+
/** Handlers for edge reconnection gestures. */
|
|
227
240
|
type EdgeReconnectEvents<EdgeType extends Edge = Edge> = {
|
|
228
241
|
/**
|
|
229
242
|
* This handler is called when the source or target of a reconnectable edge is dragged from the
|
|
@@ -241,34 +254,65 @@ type EdgeReconnectEvents<EdgeType extends Edge = Edge> = {
|
|
|
241
254
|
*/
|
|
242
255
|
onReconnectEnd?: (event: MouseEvent | TouchEvent, edge: EdgeType, handleType: HandleType, connectionState: FinalConnectionState) => void;
|
|
243
256
|
};
|
|
244
|
-
type OnSelectionDrag$
|
|
257
|
+
type OnSelectionDrag$2<NodeType extends Node = Node> = (event: MouseEvent, nodes: NodeType[]) => void;
|
|
245
258
|
//#endregion
|
|
246
259
|
//#region src/types/general.d.ts
|
|
247
|
-
type Position$
|
|
260
|
+
type Position$2 = `${Position$1}`;
|
|
248
261
|
type ConnectionMode$2 = `${ConnectionMode$1}`;
|
|
249
|
-
type ConnectionLineType$
|
|
262
|
+
type ConnectionLineType$2 = `${ConnectionLineType$1}`;
|
|
263
|
+
/**
|
|
264
|
+
* If you want to render a custom component for connection lines, you can set the
|
|
265
|
+
* `connectionLineComponent` prop on the [`<SolidFlow />`](/api-reference/react-flow#connection-connectionLineComponent)
|
|
266
|
+
* component. The `ConnectionLineComponentProps` are passed to your custom component.
|
|
267
|
+
*
|
|
268
|
+
* @public
|
|
269
|
+
*/
|
|
270
|
+
type ConnectionLineComponentProps<NodeType extends Node = Node> = {
|
|
271
|
+
readonly connectionLineStyle?: JSX.CSSProperties;
|
|
272
|
+
readonly connectionLineType: ConnectionLineType$2;
|
|
273
|
+
readonly fromNode: InternalNode<NodeType>;
|
|
274
|
+
readonly fromHandle: Handle$1;
|
|
275
|
+
readonly fromX: number;
|
|
276
|
+
readonly fromY: number;
|
|
277
|
+
readonly toX: number;
|
|
278
|
+
readonly toY: number;
|
|
279
|
+
readonly fromPosition: Position$2;
|
|
280
|
+
readonly toPosition: Position$2;
|
|
281
|
+
readonly connectionStatus: "valid" | "invalid" | null;
|
|
282
|
+
readonly toNode: InternalNode<NodeType> | null;
|
|
283
|
+
readonly toHandle: Handle$1 | null;
|
|
284
|
+
};
|
|
250
285
|
type SelectionMode$2 = `${SelectionMode$1}`;
|
|
251
286
|
type PanOnScrollMode$2 = `${PanOnScrollMode$1}`;
|
|
252
287
|
type ResizeControlVariant$2 = `${ResizeControlVariant$1}`;
|
|
288
|
+
/** A single keyboard modifier key. */
|
|
253
289
|
type ShortcutModifier = "alt" | "ctrl" | "meta" | "shift";
|
|
290
|
+
/** Modifier requirement for a shortcut: none (`null`/`false`), one modifier, or a list that must all be held. */
|
|
254
291
|
type ShortcutModifierDefinition = null | false | ShortcutModifier | (ShortcutModifier | ShortcutModifier[])[];
|
|
292
|
+
/** Alias of `ShortcutModifierDefinition`. */
|
|
255
293
|
type KeyModifier = ShortcutModifierDefinition;
|
|
294
|
+
/** A key name plus an optional modifier requirement. */
|
|
256
295
|
type KeyDefinitionObject = {
|
|
257
296
|
key: string;
|
|
258
297
|
modifier?: KeyModifier;
|
|
259
298
|
};
|
|
299
|
+
/** A shortcut key: a plain key name or a `KeyDefinitionObject`. */
|
|
260
300
|
type KeyDefinition = string | KeyDefinitionObject;
|
|
301
|
+
/** Live state of an in-progress connection gesture. */
|
|
261
302
|
type ConnectionData = {
|
|
262
303
|
connectionPosition: XYPosition$1 | null;
|
|
263
304
|
connectionStartHandle: Handle$1 | null;
|
|
264
305
|
connectionEndHandle: Handle$1 | null;
|
|
265
306
|
connectionStatus: string | null;
|
|
266
307
|
};
|
|
308
|
+
/** Options for `fitView`: padding, zoom bounds, duration, and the node subset to fit. */
|
|
267
309
|
type FitViewOptions<NodeType extends Node = Node> = FitViewOptionsBase<NodeType>;
|
|
310
|
+
/** Handler called after nodes and/or edges are deleted. */
|
|
268
311
|
type OnDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
|
|
269
312
|
nodes: NodeType[];
|
|
270
313
|
edges: EdgeType[];
|
|
271
314
|
}) => void;
|
|
315
|
+
/** A connection together with the id of the edge it produced. */
|
|
272
316
|
type EdgeConnection = Connection$1 & {
|
|
273
317
|
id: string;
|
|
274
318
|
};
|
|
@@ -276,30 +320,47 @@ type EdgeConnection = Connection$1 & {
|
|
|
276
320
|
type OnBeforeEdgeConnect<EdgeType extends Edge = Edge> = (connection: EdgeConnection) => EdgeType | EdgeConnection | undefined;
|
|
277
321
|
/** Callback that gets called after a handle connection is created. */
|
|
278
322
|
type OnEdgeConnect = (connection: EdgeConnection) => void;
|
|
323
|
+
/** Callback fired before a reconnect is applied; return the modified edge, or `undefined` to cancel. */
|
|
279
324
|
type OnBeforeReconnect<EdgeType extends Edge = Edge> = (newEdge: EdgeType, oldEdge: EdgeType) => EdgeType | undefined;
|
|
325
|
+
/** Callback fired before nodes/edges are deleted; can abort or narrow the deletion. */
|
|
280
326
|
type OnBeforeDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = OnBeforeDeleteBase<NodeType, EdgeType>;
|
|
281
|
-
type IsValidConnection$
|
|
327
|
+
type IsValidConnection$2<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection$1) => boolean;
|
|
328
|
+
/** Handler called when the set of selected nodes and edges changes. */
|
|
282
329
|
type OnSelectionChange<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
|
|
283
330
|
nodes: NodeType[];
|
|
284
331
|
edges: EdgeType[];
|
|
285
332
|
}) => void;
|
|
333
|
+
/** A nodes + edges pair describing a (sub)graph. */
|
|
286
334
|
type NodeGraph<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
|
|
287
335
|
readonly nodes: NodeType[];
|
|
288
336
|
readonly edges: EdgeType[];
|
|
289
337
|
};
|
|
338
|
+
/** Callback that maps a completed connection to the edge to create. */
|
|
290
339
|
type OnEdgeCreate<EdgeType extends Edge = Edge> = (connection: Connection$1) => EdgeType | Connection$1;
|
|
291
340
|
//#endregion
|
|
341
|
+
//#region src/components/connection/ConnectionLine.d.ts
|
|
342
|
+
type ConnectionLineProps<NodeType extends Node = Node> = {
|
|
343
|
+
readonly style: JSX.CSSProperties;
|
|
344
|
+
readonly type: ConnectionLineType$2;
|
|
345
|
+
readonly component: (props: ConnectionLineComponentProps<NodeType>) => JSX.Element;
|
|
346
|
+
readonly containerStyle: string | JSX.CSSProperties;
|
|
347
|
+
};
|
|
348
|
+
/** Internal component rendering the in-progress connection line. */
|
|
349
|
+
declare const ConnectionLine: <NodeType extends Node = Node>(props: ParentProps<Partial<ConnectionLineProps<NodeType>>>) => JSX.Element;
|
|
350
|
+
//#endregion
|
|
292
351
|
//#region src/components/container/EdgeRenderer.d.ts
|
|
293
352
|
type EdgeRendererProps<EdgeType extends Edge = Edge> = EdgeEvents<EdgeType> & {
|
|
294
353
|
readonly defaultEdgeOptions?: DefaultEdgeOptions;
|
|
295
354
|
readonly reconnectRadius: number;
|
|
296
355
|
};
|
|
356
|
+
/** Internal renderer iterating the edge id list into `EdgeWrapper`s. */
|
|
297
357
|
declare const EdgeRenderer: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: EdgeRendererProps<EdgeType>) => JSX.Element;
|
|
298
358
|
//#endregion
|
|
299
359
|
//#region src/components/container/NodeRenderer.d.ts
|
|
300
360
|
type NodeRendererProps<NodeType extends Node = Node> = NodeEvents<NodeType> & {
|
|
301
361
|
readonly nodeClickDistance: number;
|
|
302
362
|
};
|
|
363
|
+
/** Internal renderer iterating the node id list into `NodeWrapper`s; owns the shared measurement `ResizeObserver`. */
|
|
303
364
|
declare const NodeRenderer: <NodeType extends Node = Node>(props: NodeRendererProps<NodeType>) => JSX.Element;
|
|
304
365
|
//#endregion
|
|
305
366
|
//#region src/components/container/Pane.d.ts
|
|
@@ -311,6 +372,7 @@ type PaneProps = PaneEvents & {
|
|
|
311
372
|
readonly onSelectionStart?: (event: PointerEvent) => void;
|
|
312
373
|
readonly onSelectionEnd?: (event: PointerEvent) => void;
|
|
313
374
|
};
|
|
375
|
+
/** Internal interaction surface handling pane clicks, the selection box, and pan gestures. */
|
|
314
376
|
declare const Pane: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<PaneProps>) => JSX.Element;
|
|
315
377
|
//#endregion
|
|
316
378
|
//#region src/components/container/Panel.d.ts
|
|
@@ -323,9 +385,11 @@ type PanelProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
|
323
385
|
readonly "data-testid"?: string;
|
|
324
386
|
readonly "data-message"?: string;
|
|
325
387
|
};
|
|
388
|
+
/** Positioned overlay container for UI placed above the flow (used by `Controls`, `MiniMap`, attribution). */
|
|
326
389
|
declare const Panel: (props: ParentProps<PanelProps>) => JSX.Element;
|
|
327
390
|
//#endregion
|
|
328
391
|
//#region src/components/container/ViewportPortal.d.ts
|
|
392
|
+
/** Portals children into graph coordinate space so they pan and zoom with the viewport. */
|
|
329
393
|
declare const ViewportPortal: (props: ParentProps) => JSX.Element;
|
|
330
394
|
//#endregion
|
|
331
395
|
//#region src/components/container/Zoom.d.ts
|
|
@@ -346,52 +410,22 @@ type ZoomProps = {
|
|
|
346
410
|
readonly paneClickDistance: number;
|
|
347
411
|
readonly selectionOnDrag?: boolean;
|
|
348
412
|
};
|
|
413
|
+
/** Internal viewport controller wiring pan/zoom gestures (XYPanZoom) to the flow. */
|
|
349
414
|
declare const Zoom: (props: ParentProps<ZoomProps>) => JSX.Element;
|
|
350
415
|
//#endregion
|
|
351
|
-
//#region src/components/
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* If you want to render a custom component for connection lines, you can set the
|
|
355
|
-
* `connectionLineComponent` prop on the [`<SolidFlow />`](/api-reference/react-flow#connection-connectionLineComponent)
|
|
356
|
-
* component. The `ConnectionLineComponentProps` are passed to your custom component.
|
|
357
|
-
*
|
|
358
|
-
* @public
|
|
359
|
-
*/
|
|
360
|
-
type ConnectionLineComponentProps<NodeType extends Node = Node> = {
|
|
361
|
-
readonly connectionLineStyle?: JSX.CSSProperties;
|
|
362
|
-
readonly connectionLineType: ConnectionLineType$2;
|
|
363
|
-
readonly fromNode: InternalNode<NodeType>;
|
|
364
|
-
readonly fromHandle: Handle$1;
|
|
365
|
-
readonly fromX: number;
|
|
366
|
-
readonly fromY: number;
|
|
367
|
-
readonly toX: number;
|
|
368
|
-
readonly toY: number;
|
|
369
|
-
readonly fromPosition: Position$3;
|
|
370
|
-
readonly toPosition: Position$3;
|
|
371
|
-
readonly connectionStatus: "valid" | "invalid" | null;
|
|
372
|
-
readonly toNode: InternalNode<NodeType> | null;
|
|
373
|
-
readonly toHandle: Handle$1 | null;
|
|
374
|
-
};
|
|
375
|
-
//#endregion
|
|
376
|
-
//#region src/components/graph/connection/ConnectionLine.d.ts
|
|
377
|
-
type ConnectionLineProps<NodeType extends Node = Node> = {
|
|
378
|
-
readonly style: JSX.CSSProperties;
|
|
379
|
-
readonly type: ConnectionLineType$2;
|
|
380
|
-
readonly component: (props: ConnectionLineComponentProps<NodeType>) => JSX.Element;
|
|
381
|
-
readonly containerStyle: string | JSX.CSSProperties;
|
|
382
|
-
};
|
|
383
|
-
declare const ConnectionLine: <NodeType extends Node = Node>(props: ParentProps<Partial<ConnectionLineProps<NodeType>>>) => JSX.Element;
|
|
384
|
-
//#endregion
|
|
385
|
-
//#region src/components/graph/edge/BaseEdge.d.ts
|
|
416
|
+
//#region src/components/edge/BaseEdge.d.ts
|
|
417
|
+
/** Lowest-level edge primitive: renders the SVG path, label, and interaction width. */
|
|
386
418
|
declare const BaseEdge: (props: ParentProps<BaseEdgeProps>) => JSX.Element;
|
|
387
419
|
//#endregion
|
|
388
|
-
//#region src/components/
|
|
420
|
+
//#region src/components/edge/BezierEdge.d.ts
|
|
421
|
+
/** Built-in bezier edge component. */
|
|
389
422
|
declare const BezierEdge: (props: BezierEdgeProps) => JSX.Element;
|
|
390
423
|
//#endregion
|
|
391
|
-
//#region src/components/
|
|
424
|
+
//#region src/components/edge/BezierEdgeInternal.d.ts
|
|
425
|
+
/** Renderer-internal bezier edge variant. */
|
|
392
426
|
declare const BezierEdgeInternal: (props: BezierEdgeProps) => JSX.Element;
|
|
393
427
|
//#endregion
|
|
394
|
-
//#region src/components/
|
|
428
|
+
//#region src/components/edge/EdgeLabel.d.ts
|
|
395
429
|
type EdgeLabelProps = {
|
|
396
430
|
readonly x?: number;
|
|
397
431
|
readonly y?: number;
|
|
@@ -401,12 +435,14 @@ type EdgeLabelProps = {
|
|
|
401
435
|
readonly transparent?: boolean;
|
|
402
436
|
readonly style?: JSX.CSSProperties;
|
|
403
437
|
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
438
|
+
/** Renders an edge label positioned in graph coordinates. */
|
|
404
439
|
declare const EdgeLabel: (props: ParentProps<EdgeLabelProps>) => JSX.Element;
|
|
405
440
|
//#endregion
|
|
406
|
-
//#region src/components/
|
|
441
|
+
//#region src/components/edge/EdgeLabelRenderer.d.ts
|
|
442
|
+
/** Portals edge labels into a shared HTML layer rendered above the edge SVG. */
|
|
407
443
|
declare const EdgeLabelRenderer: (props: ParentProps) => JSX.Element;
|
|
408
444
|
//#endregion
|
|
409
|
-
//#region src/components/
|
|
445
|
+
//#region src/components/edge/EdgeReconnectAnchor.d.ts
|
|
410
446
|
type EdgeReconnectAnchorProps = {
|
|
411
447
|
readonly type: HandleType;
|
|
412
448
|
readonly class?: string;
|
|
@@ -415,328 +451,156 @@ type EdgeReconnectAnchorProps = {
|
|
|
415
451
|
readonly size?: number;
|
|
416
452
|
readonly reconnecting?: boolean;
|
|
417
453
|
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
454
|
+
/** Grab area that lets an edge end be dragged off its handle and reconnected. */
|
|
418
455
|
declare const EdgeReconnectAnchor: (props: ParentProps<EdgeReconnectAnchorProps>) => JSX.Element;
|
|
419
456
|
//#endregion
|
|
420
|
-
//#region src/components/
|
|
457
|
+
//#region src/components/edge/EdgeWrapper.d.ts
|
|
421
458
|
type EdgeWrapperProps<EdgeType extends Edge = Edge> = EdgeEvents<EdgeType> & {
|
|
422
459
|
readonly edgeId: string;
|
|
423
460
|
};
|
|
461
|
+
/** Internal per-edge wrapper: interaction, a11y, viewport culling, and the dynamic edge component. */
|
|
424
462
|
declare const EdgeWrapper: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: EdgeWrapperProps<EdgeType>) => JSX.Element;
|
|
425
463
|
//#endregion
|
|
426
|
-
//#region src/components/
|
|
464
|
+
//#region src/components/edge/SmoothStepEdge.d.ts
|
|
465
|
+
/** Built-in smooth-step edge component. */
|
|
427
466
|
declare const SmoothStepEdge: (props: SmoothStepEdgeProps) => JSX.Element;
|
|
428
467
|
//#endregion
|
|
429
|
-
//#region src/components/
|
|
468
|
+
//#region src/components/edge/SmoothStepEdgeInternal.d.ts
|
|
469
|
+
/** Renderer-internal smooth-step edge variant. */
|
|
430
470
|
declare const SmoothStepEdgeInternal: (props: SmoothStepEdgeProps) => JSX.Element;
|
|
431
471
|
//#endregion
|
|
432
|
-
//#region src/components/
|
|
472
|
+
//#region src/components/edge/StepEdge.d.ts
|
|
473
|
+
/** Built-in step edge component. */
|
|
433
474
|
declare const StepEdge: (props: StepEdgeProps) => JSX.Element;
|
|
434
475
|
//#endregion
|
|
435
|
-
//#region src/components/
|
|
476
|
+
//#region src/components/edge/StepEdgeInternal.d.ts
|
|
477
|
+
/** Renderer-internal step edge variant. */
|
|
436
478
|
declare const StepEdgeInternal: (props: StepEdgeProps) => JSX.Element;
|
|
437
479
|
//#endregion
|
|
438
|
-
//#region src/components/
|
|
480
|
+
//#region src/components/edge/StraightEdge.d.ts
|
|
481
|
+
/** Built-in straight edge component. */
|
|
439
482
|
declare const StraightEdge: (props: StraightEdgeProps) => JSX.Element;
|
|
440
483
|
//#endregion
|
|
441
|
-
//#region src/components/
|
|
484
|
+
//#region src/components/edge/StraightEdgeInternal.d.ts
|
|
485
|
+
/** Renderer-internal straight edge variant. */
|
|
442
486
|
declare const StraightEdgeInternal: (props: Omit<StraightEdgeProps, "sourcePosition" | "targetPosition">) => JSX.Element;
|
|
443
487
|
//#endregion
|
|
444
|
-
//#region src/components/
|
|
488
|
+
//#region src/components/handle/Handle.d.ts
|
|
445
489
|
type HandleProps$1 = Omit<HandleProps, "position"> & {
|
|
446
|
-
readonly position: Position$
|
|
490
|
+
readonly position: Position$2;
|
|
447
491
|
readonly class?: string;
|
|
448
492
|
readonly style?: JSX.CSSProperties;
|
|
449
493
|
readonly onConnect?: (connections: Connection$1[]) => void;
|
|
450
494
|
readonly onDisconnect?: (connections: Connection$1[]) => void;
|
|
451
495
|
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
496
|
+
/** Connection point on a node; place inside custom nodes to make them connectable. */
|
|
452
497
|
declare const Handle: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<HandleProps$1>) => JSX.Element;
|
|
453
498
|
//#endregion
|
|
454
|
-
//#region src/components/
|
|
499
|
+
//#region src/components/marker/Marker.d.ts
|
|
455
500
|
type MarkerProps$1 = MarkerProps & {
|
|
456
501
|
readonly markerUnits?: "strokeWidth" | "userSpaceOnUse";
|
|
457
502
|
readonly strokeWidth?: number;
|
|
458
503
|
};
|
|
504
|
+
/** Internal SVG `<marker>` definition for one edge marker configuration. */
|
|
459
505
|
declare const Marker: (props: MarkerProps$1) => JSX.Element;
|
|
460
506
|
//#endregion
|
|
461
|
-
//#region src/components/
|
|
507
|
+
//#region src/components/marker/MarkerDefinition.d.ts
|
|
508
|
+
/** Internal collector rendering every unique edge marker into one SVG defs block. */
|
|
462
509
|
declare const MarkerDefinition: () => JSX.Element;
|
|
463
510
|
//#endregion
|
|
464
|
-
//#region src/components/
|
|
511
|
+
//#region src/components/node/DefaultNode.d.ts
|
|
512
|
+
/** Built-in default node: label with source and target handles. */
|
|
465
513
|
declare const DefaultNode: (props: NodeProps<{
|
|
466
514
|
label: string;
|
|
467
515
|
}, "default">) => JSX.Element;
|
|
468
516
|
//#endregion
|
|
469
|
-
//#region src/components/
|
|
517
|
+
//#region src/components/node/GroupNode.d.ts
|
|
518
|
+
/** Built-in group node: a plain container for child nodes. */
|
|
470
519
|
declare const GroupNode: (props: NodeProps<Record<string, never>>) => JSX.Element;
|
|
471
520
|
//#endregion
|
|
472
|
-
//#region src/components/
|
|
521
|
+
//#region src/components/node/InputNode.d.ts
|
|
522
|
+
/** Built-in input node: label with a source handle only. */
|
|
473
523
|
declare const InputNode: (props: NodeProps<{
|
|
474
524
|
label: string;
|
|
475
525
|
}>) => JSX.Element;
|
|
476
526
|
//#endregion
|
|
477
|
-
//#region src/components/
|
|
527
|
+
//#region src/components/node/NodeWrapper.d.ts
|
|
478
528
|
type NodeWrapperProps<NodeType extends Node = Node> = NodeEvents<NodeType> & {
|
|
479
529
|
readonly nodeId: string;
|
|
480
530
|
readonly resizeObserver: ResizeObserver | undefined;
|
|
481
531
|
readonly nodeClickDistance: number;
|
|
482
532
|
};
|
|
533
|
+
/** Internal per-node wrapper: dragging, selection, a11y, measurement, viewport culling, and the dynamic node component. */
|
|
483
534
|
declare const NodeWrapper: <NodeType extends Node = Node>(props: NodeWrapperProps<NodeType>) => JSX.Element;
|
|
484
535
|
//#endregion
|
|
485
|
-
//#region src/components/
|
|
536
|
+
//#region src/components/node/OutputNode.d.ts
|
|
537
|
+
/** Built-in output node: label with a target handle only. */
|
|
486
538
|
declare const OutputNode: (props: NodeProps<{
|
|
487
539
|
label: string;
|
|
488
540
|
}>) => JSX.Element;
|
|
489
541
|
//#endregion
|
|
490
|
-
//#region src/components/
|
|
491
|
-
type
|
|
542
|
+
//#region src/components/selection/NodeSelection.d.ts
|
|
543
|
+
type NodeSelectionProps<NodeType extends Node = Node> = NodeSelectionEvents<NodeType> & Pick<NodeEvents<NodeType>, "onNodeDrag" | "onNodeDragStart" | "onNodeDragStop">;
|
|
544
|
+
/** Internal draggable bounding box rendered around multi-selected nodes. */
|
|
545
|
+
declare const NodeSelection: <NodeType extends Node = Node>(props: NodeSelectionProps<NodeType>) => JSX.Element;
|
|
492
546
|
//#endregion
|
|
493
|
-
//#region src/components/
|
|
494
|
-
type
|
|
495
|
-
readonly
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
readonly
|
|
500
|
-
/** Color of the background */
|
|
501
|
-
readonly bgColor?: string;
|
|
502
|
-
/** Color of the pattern */
|
|
503
|
-
readonly patternColor?: string;
|
|
504
|
-
/** Class applied to the pattern */
|
|
505
|
-
readonly patternClass?: string;
|
|
506
|
-
/** Class applied to the container */
|
|
507
|
-
readonly class?: string;
|
|
508
|
-
/** Gap between repetitions of the pattern */
|
|
509
|
-
readonly gap?: number | [number, number];
|
|
510
|
-
/** Size of a single pattern element */
|
|
511
|
-
readonly size?: number;
|
|
512
|
-
/** Line width of the Line pattern */
|
|
513
|
-
readonly lineWidth?: number;
|
|
514
|
-
/** Style applied to the container */
|
|
515
|
-
readonly style?: JSX.CSSProperties;
|
|
547
|
+
//#region src/components/selection/Selection.d.ts
|
|
548
|
+
type SelectionProps = {
|
|
549
|
+
readonly x?: number;
|
|
550
|
+
readonly y?: number;
|
|
551
|
+
readonly width?: number | string;
|
|
552
|
+
readonly height?: number | string;
|
|
553
|
+
readonly isVisible?: boolean;
|
|
516
554
|
};
|
|
517
|
-
|
|
555
|
+
/** Internal selection-rectangle visual. */
|
|
556
|
+
declare const Selection: (props: SelectionProps) => JSX.Element;
|
|
518
557
|
//#endregion
|
|
519
|
-
//#region src/
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
readonly
|
|
523
|
-
readonly
|
|
524
|
-
readonly
|
|
525
|
-
readonly
|
|
526
|
-
readonly
|
|
527
|
-
readonly
|
|
558
|
+
//#region src/core/flowProps.d.ts
|
|
559
|
+
/** Initial (uncontrolled) values used to seed a flow before the first measure/fit. */
|
|
560
|
+
type SolidFlowInitialProps = {
|
|
561
|
+
readonly initialNodes: Node[];
|
|
562
|
+
readonly initialEdges: Edge[];
|
|
563
|
+
readonly initialWidth: number;
|
|
564
|
+
readonly initialHeight: number;
|
|
565
|
+
readonly fitView: boolean;
|
|
566
|
+
readonly nodeOrigin: NodeOrigin$1;
|
|
528
567
|
};
|
|
529
|
-
declare const ControlButton: (props: ParentProps<ControlButtonProps>) => JSX.Element;
|
|
530
|
-
//#endregion
|
|
531
|
-
//#region src/components/graph/plugins/controls/Controls.d.ts
|
|
532
|
-
type ControlsOrientation = "horizontal" | "vertical";
|
|
533
|
-
type ControlsProps = {
|
|
534
|
-
/** Position of the controls on the pane
|
|
535
|
-
* @example PanelPosition.TopLeft, PanelPosition.TopRight,
|
|
536
|
-
* PanelPosition.BottomLeft, PanelPosition.BottomRight
|
|
537
|
-
*/
|
|
538
|
-
readonly position?: PanelPosition$1;
|
|
539
|
-
/** Show button for zoom in/out */
|
|
540
|
-
readonly showZoom?: boolean;
|
|
541
|
-
/** Show button for fit view */
|
|
542
|
-
readonly showFitView?: boolean;
|
|
543
|
-
/** Show button for toggling interactivity */
|
|
544
|
-
readonly showLock?: boolean;
|
|
545
|
-
readonly buttonBgColor?: string;
|
|
546
|
-
readonly buttonBgColorHover?: string;
|
|
547
|
-
readonly buttonColor?: string;
|
|
548
|
-
readonly buttonColorHover?: string;
|
|
549
|
-
readonly buttonBorderColor?: string;
|
|
550
|
-
readonly style?: JSX.CSSProperties;
|
|
551
|
-
readonly orientation?: ControlsOrientation;
|
|
552
|
-
readonly fitViewOptions?: FitViewOptions;
|
|
553
|
-
readonly beforeControls?: JSX.Element;
|
|
554
|
-
readonly afterControls?: JSX.Element;
|
|
555
|
-
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
556
|
-
declare const Controls: (props: ParentProps<ControlsProps>) => JSX.Element;
|
|
557
|
-
//#endregion
|
|
558
|
-
//#region src/components/graph/plugins/EdgeToolbar.d.ts
|
|
559
|
-
type EdgeToolbarProps = EdgeToolbarBaseProps & {
|
|
560
|
-
/** If `true`, clicking the toolbar selects the edge it belongs to. */
|
|
561
|
-
readonly selectEdgeOnClick?: boolean;
|
|
562
|
-
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
563
568
|
/**
|
|
564
|
-
*
|
|
565
|
-
*
|
|
566
|
-
* visible when the edge is selected; pass `isVisible` to control it manually.
|
|
567
|
-
*
|
|
568
|
-
* The toolbar does not scale with the viewport so that its content is always legible.
|
|
569
|
+
* Props accepted by the `SolidFlow` component — the full configuration surface
|
|
570
|
+
* of a flow, and the config contract of the headless core (`createFlowState`).
|
|
569
571
|
*/
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
type GetMiniMapNodeAttribute<NodeType extends Node> = (node: NodeType) => string;
|
|
574
|
-
type MiniMapProps<NodeType extends Node> = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
575
|
-
/** Background color of minimap */
|
|
576
|
-
readonly bgColor?: string;
|
|
577
|
-
/** Color of nodes on the minimap */
|
|
578
|
-
readonly nodeColor?: string | GetMiniMapNodeAttribute<NodeType>;
|
|
579
|
-
/** Stroke color of nodes on the minimap */
|
|
580
|
-
readonly nodeStrokeColor?: string | GetMiniMapNodeAttribute<NodeType>;
|
|
581
|
-
/** Class applied to nodes on the minimap */
|
|
582
|
-
readonly nodeClass?: string | GetMiniMapNodeAttribute<NodeType>;
|
|
583
|
-
/** Border radius of nodes on the minimap */
|
|
584
|
-
readonly nodeBorderRadius?: number;
|
|
585
|
-
/** Stroke width of nodes on the minimap */
|
|
586
|
-
readonly nodeStrokeWidth?: number;
|
|
587
|
-
/** Color of the mask representing viewport */
|
|
588
|
-
readonly maskColor?: string;
|
|
589
|
-
/** Stroke color of the mask representing viewport */
|
|
590
|
-
readonly maskStrokeColor?: string;
|
|
591
|
-
/** Stroke width of the mask representing viewport */
|
|
592
|
-
readonly maskStrokeWidth?: number;
|
|
593
|
-
/** Position of the minimap on the pane
|
|
594
|
-
* @example PanelPosition.TopLeft, PanelPosition.TopRight,
|
|
595
|
-
* PanelPosition.BottomLeft, PanelPosition.BottomRight
|
|
572
|
+
type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = NodeEvents<NodeType> & NodeSelectionEvents<NodeType> & EdgeEvents<EdgeType> & DeleteEvents<NodeType, EdgeType> & PaneEvents & {
|
|
573
|
+
/**
|
|
574
|
+
* The id of the flow. This is necessary if you want to render multiple flows.
|
|
596
575
|
*/
|
|
597
|
-
readonly
|
|
598
|
-
/**
|
|
599
|
-
readonly style?: JSX.CSSProperties;
|
|
600
|
-
/** The aria-label applied to container */
|
|
601
|
-
readonly ariaLabel?: string | null;
|
|
602
|
-
/** Width of minimap */
|
|
576
|
+
readonly id?: string;
|
|
577
|
+
/** Sets a fixed width for the flow */
|
|
603
578
|
readonly width?: number;
|
|
604
|
-
/**
|
|
579
|
+
/** Sets a fixed height for the flow */
|
|
605
580
|
readonly height?: number;
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
/** Id of the node it is resizing
|
|
618
|
-
* @remarks optional if used inside custom node
|
|
581
|
+
/**
|
|
582
|
+
* An store of nodes to render in a flow.
|
|
583
|
+
* @example
|
|
584
|
+
* const [nodes] = createStore([
|
|
585
|
+
* {
|
|
586
|
+
* id: 'node-1',
|
|
587
|
+
* type: 'input',
|
|
588
|
+
* data: { label: 'Node 1' },
|
|
589
|
+
* position: { x: 250, y: 50 }
|
|
590
|
+
* }
|
|
591
|
+
* ]);
|
|
619
592
|
*/
|
|
620
|
-
readonly
|
|
621
|
-
/**
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
/** Minimum width of node */
|
|
632
|
-
readonly minWidth?: number;
|
|
633
|
-
/** Minimum height of node */
|
|
634
|
-
readonly minHeight?: number;
|
|
635
|
-
/** Maximum width of node */
|
|
636
|
-
readonly maxWidth?: number;
|
|
637
|
-
/** Maximum height of node */
|
|
638
|
-
readonly maxHeight?: number;
|
|
639
|
-
/** Keep aspect ratio when resizing */
|
|
640
|
-
readonly keepAspectRatio?: boolean;
|
|
641
|
-
/** Automatically scale the node when resizing */
|
|
642
|
-
readonly autoScale?: boolean;
|
|
643
|
-
/** Callback to determine if node should resize */
|
|
644
|
-
readonly shouldResize?: ShouldResize$1;
|
|
645
|
-
/** Callback called when resizing starts */
|
|
646
|
-
readonly onResizeStart?: OnResizeStart$1;
|
|
647
|
-
/** Callback called when resizing */
|
|
648
|
-
readonly onResize?: OnResize$1;
|
|
649
|
-
/** Callback called when resizing ends */
|
|
650
|
-
readonly onResizeEnd?: OnResizeEnd$1;
|
|
651
|
-
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize" | "style">;
|
|
652
|
-
declare const NodeResizer: (props: Partial<NodeResizerProps>) => JSX.Element;
|
|
653
|
-
//#endregion
|
|
654
|
-
//#region src/components/graph/plugins/nodeResizer/ResizeControl.d.ts
|
|
655
|
-
type NodeResizerSubProps = Pick<NodeResizerProps, "nodeId" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "autoScale" | "keepAspectRatio" | "shouldResize" | "onResizeStart" | "onResize" | "onResizeEnd">;
|
|
656
|
-
type ResizeControlProps = NodeResizerSubProps & {
|
|
657
|
-
/** Position of control
|
|
658
|
-
* @example ControlPosition.TopLeft, ControlPosition.TopRight,
|
|
659
|
-
* ControlPosition.BottomLeft, ControlPosition.BottomRight
|
|
660
|
-
*/
|
|
661
|
-
readonly position?: ControlPosition$1;
|
|
662
|
-
/** Variant of control
|
|
663
|
-
* @example ResizeControlVariant.Handle, ResizeControlVariant.Line
|
|
664
|
-
*/
|
|
665
|
-
readonly variant?: ResizeControlVariant$2;
|
|
666
|
-
readonly color?: string;
|
|
667
|
-
readonly style?: JSX.CSSProperties;
|
|
668
|
-
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize" | "style">;
|
|
669
|
-
declare const ResizeControl: <NodeType extends Node = Node>(props: ParentProps<ResizeControlProps>) => JSX.Element;
|
|
670
|
-
//#endregion
|
|
671
|
-
//#region src/components/graph/plugins/NodeToolbar.d.ts
|
|
672
|
-
type NodeToolbarProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
673
|
-
/** The id of the node, or array of ids the toolbar should be displayed at */
|
|
674
|
-
readonly nodeId: string | string[];
|
|
675
|
-
/** Position of the toolbar relative to the node
|
|
676
|
-
* @example Position.TopLeft, Position.TopRight,
|
|
677
|
-
* Position.BottomLeft, Position.BottomRight
|
|
678
|
-
*/
|
|
679
|
-
readonly position: Position$3;
|
|
680
|
-
/** Align the toolbar relative to the node
|
|
681
|
-
* @example Align.Start, Align.Center, Align.End
|
|
682
|
-
*/
|
|
683
|
-
readonly align: Align$1;
|
|
684
|
-
/** Offset the toolbar from the node */
|
|
685
|
-
readonly offset: number;
|
|
686
|
-
/** If true, node toolbar is visible even if node is not selected */
|
|
687
|
-
readonly isVisible: boolean;
|
|
688
|
-
/** Style of the toolbar */
|
|
689
|
-
readonly style: Omit<JSX.CSSProperties, "z-index" | "position" | "transform">;
|
|
690
|
-
};
|
|
691
|
-
declare const NodeToolbar: ParentComponent<Partial<NodeToolbarProps>>;
|
|
692
|
-
//#endregion
|
|
693
|
-
//#region src/components/graph/selection/NodeSelection.d.ts
|
|
694
|
-
type NodeSelectionProps<NodeType extends Node = Node> = NodeSelectionEvents<NodeType> & Pick<NodeEvents<NodeType>, "onNodeDrag" | "onNodeDragStart" | "onNodeDragStop">;
|
|
695
|
-
declare const NodeSelection: <NodeType extends Node = Node>(props: NodeSelectionProps<NodeType>) => JSX.Element;
|
|
696
|
-
//#endregion
|
|
697
|
-
//#region src/components/graph/selection/Selection.d.ts
|
|
698
|
-
type SelectionProps = {
|
|
699
|
-
readonly x?: number;
|
|
700
|
-
readonly y?: number;
|
|
701
|
-
readonly width?: number | string;
|
|
702
|
-
readonly height?: number | string;
|
|
703
|
-
readonly isVisible?: boolean;
|
|
704
|
-
};
|
|
705
|
-
declare const Selection: (props: SelectionProps) => JSX.Element;
|
|
706
|
-
//#endregion
|
|
707
|
-
//#region src/components/SolidFlow/types.d.ts
|
|
708
|
-
type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = NodeEvents<NodeType> & NodeSelectionEvents<NodeType> & EdgeEvents<EdgeType> & DeleteEvents<NodeType, EdgeType> & PaneEvents & {
|
|
709
|
-
/**
|
|
710
|
-
* The id of the flow. This is necessary if you want to render multiple flows.
|
|
711
|
-
*/
|
|
712
|
-
readonly id?: string;
|
|
713
|
-
/** Sets a fixed width for the flow */
|
|
714
|
-
readonly width?: number;
|
|
715
|
-
/** Sets a fixed height for the flow */
|
|
716
|
-
readonly height?: number;
|
|
717
|
-
/**
|
|
718
|
-
* An store of nodes to render in a flow.
|
|
719
|
-
* @example
|
|
720
|
-
* const [nodes] = createStore([
|
|
721
|
-
* {
|
|
722
|
-
* id: 'node-1',
|
|
723
|
-
* type: 'input',
|
|
724
|
-
* data: { label: 'Node 1' },
|
|
725
|
-
* position: { x: 250, y: 50 }
|
|
726
|
-
* }
|
|
727
|
-
* ]);
|
|
728
|
-
*/
|
|
729
|
-
readonly nodes?: Store<NodeType[]>;
|
|
730
|
-
/**
|
|
731
|
-
* An store of edges to render in a flow.
|
|
732
|
-
* @example
|
|
733
|
-
* const [edges] = createStore([
|
|
734
|
-
* {
|
|
735
|
-
* id: 'edge-1-2',
|
|
736
|
-
* source: 'node-1',
|
|
737
|
-
* target: 'node-2',
|
|
738
|
-
* }
|
|
739
|
-
* ]);
|
|
593
|
+
readonly nodes?: Store<NodeType[]>;
|
|
594
|
+
/**
|
|
595
|
+
* An store of edges to render in a flow.
|
|
596
|
+
* @example
|
|
597
|
+
* const [edges] = createStore([
|
|
598
|
+
* {
|
|
599
|
+
* id: 'edge-1-2',
|
|
600
|
+
* source: 'node-1',
|
|
601
|
+
* target: 'node-2',
|
|
602
|
+
* }
|
|
603
|
+
* ]);
|
|
740
604
|
*/
|
|
741
605
|
readonly edges?: Store<EdgeType[]>;
|
|
742
606
|
/**
|
|
@@ -981,9 +845,13 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
|
|
|
981
845
|
*/
|
|
982
846
|
readonly selectionOnDrag?: boolean;
|
|
983
847
|
/**
|
|
984
|
-
*
|
|
985
|
-
*
|
|
986
|
-
*
|
|
848
|
+
* Viewport culling: elements outside the (overscanned) viewport are hidden
|
|
849
|
+
* with CSS (`visibility: hidden` + `pointer-events: none`). Everything
|
|
850
|
+
* stays mounted — custom nodes keep their DOM state off-screen, and
|
|
851
|
+
* measurement/fitView/minimap are unaffected. Selected elements are never
|
|
852
|
+
* culled. Set to `false` to keep every element visible; note that culled
|
|
853
|
+
* elements leave the accessibility tree and tab order while off-screen.
|
|
854
|
+
* @default true
|
|
987
855
|
*/
|
|
988
856
|
readonly onlyRenderVisibleElements?: boolean;
|
|
989
857
|
/**
|
|
@@ -1023,7 +891,7 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
|
|
|
1023
891
|
* @example 'straight' | 'default' | 'step' | 'smoothstep' | 'bezier'
|
|
1024
892
|
* @example ConnectionLineType.Straight | ConnectionLineType.Default | ConnectionLineType.Step | ConnectionLineType.SmoothStep | ConnectionLineType.Bezier
|
|
1025
893
|
*/
|
|
1026
|
-
readonly connectionLineType?: ConnectionLineType$
|
|
894
|
+
readonly connectionLineType?: ConnectionLineType$2;
|
|
1027
895
|
/** Enabling this option will raise the z-index of nodes when they are selected.
|
|
1028
896
|
* @default true
|
|
1029
897
|
*/
|
|
@@ -1090,7 +958,7 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
|
|
|
1090
958
|
* before doing so.
|
|
1091
959
|
*/
|
|
1092
960
|
readonly proOptions?: ProOptions$1;
|
|
1093
|
-
readonly isValidConnection?: IsValidConnection$
|
|
961
|
+
readonly isValidConnection?: IsValidConnection$2<EdgeType>;
|
|
1094
962
|
/** This event handler is called when the user begins to pan or zoom the viewport */
|
|
1095
963
|
readonly onMoveStart?: OnMoveStart$1;
|
|
1096
964
|
/** This event handler is called when the user pans or zooms the viewport */
|
|
@@ -1138,11 +1006,11 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
|
|
|
1138
1006
|
/** This event handler gets called when the selected nodes & edges change */
|
|
1139
1007
|
readonly onSelectionChange?: OnSelectionChange<NodeType, EdgeType>;
|
|
1140
1008
|
/** This event handler gets called when a user starts to drag a selection box. */
|
|
1141
|
-
readonly onSelectionDragStart?: OnSelectionDrag$
|
|
1009
|
+
readonly onSelectionDragStart?: OnSelectionDrag$2<NodeType>;
|
|
1142
1010
|
/** This event handler gets called when a user drags a selection box. */
|
|
1143
|
-
readonly onSelectionDrag?: OnSelectionDrag$
|
|
1011
|
+
readonly onSelectionDrag?: OnSelectionDrag$2<NodeType>;
|
|
1144
1012
|
/** This event handler gets called when a user stops dragging a selection box. */
|
|
1145
|
-
readonly onSelectionDragStop?: OnSelectionDrag$
|
|
1013
|
+
readonly onSelectionDragStop?: OnSelectionDrag$2<NodeType>;
|
|
1146
1014
|
/** This event handler gets called when the user starts to drag a selection box */
|
|
1147
1015
|
readonly onSelectionStart?: (event: PointerEvent) => void;
|
|
1148
1016
|
/** This event handler gets called when the user finishes dragging a selection box */
|
|
@@ -1156,11 +1024,98 @@ type SolidFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge>
|
|
|
1156
1024
|
//#endregion
|
|
1157
1025
|
//#region src/components/SolidFlow/component.d.ts
|
|
1158
1026
|
type SolidFlowComponentProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = ParentProps<SolidFlowProps<NodeType, EdgeType>> & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style" | "onselectionchange" | "onSelectionChange">;
|
|
1027
|
+
/** The flow canvas component: renders nodes and edges and wires up viewport and interactions. */
|
|
1159
1028
|
declare const SolidFlow: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: SolidFlowComponentProps<NodeType, EdgeType>) => JSX.Element;
|
|
1160
1029
|
//#endregion
|
|
1161
1030
|
//#region src/components/SolidFlow/provider.d.ts
|
|
1031
|
+
/** Hoists flow state above `SolidFlow` so hooks work outside the component (multi-panel UIs). */
|
|
1162
1032
|
declare const SolidFlowProvider: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<SolidFlowProps<NodeType, EdgeType>>) => JSX.Element;
|
|
1163
1033
|
//#endregion
|
|
1034
|
+
//#region src/core/createEdgeStore.d.ts
|
|
1035
|
+
type ExtractEdgeInfo<T> = T extends ((props: EdgeProps<infer TData, infer TType>) => unknown) ? {
|
|
1036
|
+
data: TData;
|
|
1037
|
+
type: TType;
|
|
1038
|
+
} : never;
|
|
1039
|
+
type AllEdgeTypes<TUserEdgeTypes extends EdgeTypes> = TUserEdgeTypes extends Record<string, never> ? BuiltInEdgeTypes : BuiltInEdgeTypes & TUserEdgeTypes;
|
|
1040
|
+
type EdgesInput<TUserEdgeTypes extends EdgeTypes> = { [K in keyof AllEdgeTypes<TUserEdgeTypes>]: Edge<ExtractEdgeInfo<AllEdgeTypes<TUserEdgeTypes>[K]>["data"], ExtractEdgeInfo<AllEdgeTypes<TUserEdgeTypes>[K]>["type"]>; }[keyof AllEdgeTypes<TUserEdgeTypes>];
|
|
1041
|
+
/**
|
|
1042
|
+
* Creates a type-safe reactive store of edges for use in Solid Flow.
|
|
1043
|
+
*
|
|
1044
|
+
* This utility function provides full type safety and autocomplete for creating edges,
|
|
1045
|
+
* combining both built-in edge types (default, straight, step, smoothstep) and custom user-defined
|
|
1046
|
+
* edge types. When a specific edge type is selected, TypeScript automatically infers the
|
|
1047
|
+
* required data structure and validates the edge configuration.
|
|
1048
|
+
*
|
|
1049
|
+
* @template TUserEdgeTypes - The user's custom edge types map (optional)
|
|
1050
|
+
* @param edges - Array of edge configurations to create
|
|
1051
|
+
* @returns A SolidJS store tuple [store, setStore] with properly typed Edge objects
|
|
1052
|
+
*
|
|
1053
|
+
* @example
|
|
1054
|
+
* ```typescript
|
|
1055
|
+
* // Using only built-in edge types (no generic parameter needed)
|
|
1056
|
+
* const [builtInEdges, setBuiltInEdges] = createEdgeStore([
|
|
1057
|
+
* {
|
|
1058
|
+
* id: "1",
|
|
1059
|
+
* source: "1",
|
|
1060
|
+
* target: "2",
|
|
1061
|
+
* type: "default",
|
|
1062
|
+
* data: { label: "Start" }
|
|
1063
|
+
* },
|
|
1064
|
+
* {
|
|
1065
|
+
* id: "2",
|
|
1066
|
+
* source: "2",
|
|
1067
|
+
* target: "3",
|
|
1068
|
+
* type: "default",
|
|
1069
|
+
* data: { label: "Process" }
|
|
1070
|
+
* }
|
|
1071
|
+
* ]);
|
|
1072
|
+
* ```
|
|
1073
|
+
*
|
|
1074
|
+
* @example
|
|
1075
|
+
* ```typescript
|
|
1076
|
+
* // Using custom edge types (requires generic parameter)
|
|
1077
|
+
* const customEdgeTypes = {
|
|
1078
|
+
* textEdge: (props: EdgeProps<{ content: string }, "textEdge">) =>
|
|
1079
|
+
* <div>{props.data.content}</div>,
|
|
1080
|
+
* numberEdge: (props: EdgeProps<{ value: number }, "numberEdge">) =>
|
|
1081
|
+
* <div>{props.data.value}</div>
|
|
1082
|
+
* } satisfies EdgeTypes;
|
|
1083
|
+
*
|
|
1084
|
+
* const [mixedEdges, setMixedEdges] = createEdgeStore<typeof customEdgeTypes>([
|
|
1085
|
+
* {
|
|
1086
|
+
* id: "1",
|
|
1087
|
+
* source: "1",
|
|
1088
|
+
* target: "2",
|
|
1089
|
+
* type: "default", // Built-in type
|
|
1090
|
+
* data: { label: "Input" }
|
|
1091
|
+
* },
|
|
1092
|
+
* {
|
|
1093
|
+
* id: "2",
|
|
1094
|
+
* source: "2",
|
|
1095
|
+
* target: "3",
|
|
1096
|
+
* type: "textEdge", // Custom type - gets autocomplete
|
|
1097
|
+
* data: { content: "Custom text edge" } // Type-safe data
|
|
1098
|
+
* },
|
|
1099
|
+
* {
|
|
1100
|
+
* id: "3",
|
|
1101
|
+
* source: "3",
|
|
1102
|
+
* target: "4",
|
|
1103
|
+
* type: "numberEdge", // Another custom type
|
|
1104
|
+
* data: { value: 42 }, // Type-safe data
|
|
1105
|
+
* style: { "background-color": "lightblue" } // All Edge properties available
|
|
1106
|
+
* }
|
|
1107
|
+
* ]);
|
|
1108
|
+
* ```
|
|
1109
|
+
*
|
|
1110
|
+
* @remarks
|
|
1111
|
+
* - Provides autocomplete for the `type` field with all available node types
|
|
1112
|
+
* - Validates `data` structure based on the selected node type
|
|
1113
|
+
* - Supports all Node properties (style, draggable, hidden, etc.)
|
|
1114
|
+
* - Works seamlessly with both built-in and custom node types
|
|
1115
|
+
* - Type errors prevent invalid type names or incorrect data structures
|
|
1116
|
+
*/
|
|
1117
|
+
declare const createEdgeStore: <TUserEdgeTypes extends EdgeTypes = Record<string, never>>(edges: EdgesInput<TUserEdgeTypes>[]) => readonly [Store<EdgesInput<TUserEdgeTypes>[]>, StoreSetter<EdgesInput<TUserEdgeTypes>[]>];
|
|
1118
|
+
//#endregion
|
|
1164
1119
|
//#region src/core/projections/connections.d.ts
|
|
1165
1120
|
/**
|
|
1166
1121
|
* Lookup keys for the connection index. Each edge is registered under six
|
|
@@ -1169,6 +1124,7 @@ declare const SolidFlowProvider: <NodeType extends Node = Node, EdgeType extends
|
|
|
1169
1124
|
* `${nodeId}` · `${nodeId}-${type}` · `${nodeId}-${type}-${handleId}`
|
|
1170
1125
|
*/
|
|
1171
1126
|
declare const connectionKey: (nodeId: string, type?: HandleType, handleId?: string | null) => string;
|
|
1127
|
+
/** The connections index: a handle's `connectionKey` mapped to its live `HandleConnection`s. */
|
|
1172
1128
|
type ConnectionsRecord = Record<string, Record<string, HandleConnection$1>>;
|
|
1173
1129
|
//#endregion
|
|
1174
1130
|
//#region src/core/flowState.d.ts
|
|
@@ -1313,92 +1269,7 @@ type FlowCommands<NodeType extends Node = Node, EdgeType extends Edge = Edge> =
|
|
|
1313
1269
|
};
|
|
1314
1270
|
};
|
|
1315
1271
|
//#endregion
|
|
1316
|
-
//#region src/
|
|
1317
|
-
type ExtractEdgeInfo<T> = T extends ((props: EdgeProps<infer TData, infer TType>) => unknown) ? {
|
|
1318
|
-
data: TData;
|
|
1319
|
-
type: TType;
|
|
1320
|
-
} : never;
|
|
1321
|
-
type AllEdgeTypes<TUserEdgeTypes extends EdgeTypes> = TUserEdgeTypes extends Record<string, never> ? BuiltInEdgeTypes : BuiltInEdgeTypes & TUserEdgeTypes;
|
|
1322
|
-
type EdgesInput<TUserEdgeTypes extends EdgeTypes> = { [K in keyof AllEdgeTypes<TUserEdgeTypes>]: Edge<ExtractEdgeInfo<AllEdgeTypes<TUserEdgeTypes>[K]>["data"], ExtractEdgeInfo<AllEdgeTypes<TUserEdgeTypes>[K]>["type"]>; }[keyof AllEdgeTypes<TUserEdgeTypes>];
|
|
1323
|
-
/**
|
|
1324
|
-
* Creates a type-safe reactive store of edges for use in Solid Flow.
|
|
1325
|
-
*
|
|
1326
|
-
* This utility function provides full type safety and autocomplete for creating edges,
|
|
1327
|
-
* combining both built-in edge types (default, straight, step, smoothstep) and custom user-defined
|
|
1328
|
-
* edge types. When a specific edge type is selected, TypeScript automatically infers the
|
|
1329
|
-
* required data structure and validates the edge configuration.
|
|
1330
|
-
*
|
|
1331
|
-
* @template TUserEdgeTypes - The user's custom edge types map (optional)
|
|
1332
|
-
* @param edges - Array of edge configurations to create
|
|
1333
|
-
* @returns A SolidJS store tuple [store, setStore] with properly typed Edge objects
|
|
1334
|
-
*
|
|
1335
|
-
* @example
|
|
1336
|
-
* ```typescript
|
|
1337
|
-
* // Using only built-in edge types (no generic parameter needed)
|
|
1338
|
-
* const [builtInEdges, setBuiltInEdges] = createEdgeStore([
|
|
1339
|
-
* {
|
|
1340
|
-
* id: "1",
|
|
1341
|
-
* source: "1",
|
|
1342
|
-
* target: "2",
|
|
1343
|
-
* type: "default",
|
|
1344
|
-
* data: { label: "Start" }
|
|
1345
|
-
* },
|
|
1346
|
-
* {
|
|
1347
|
-
* id: "2",
|
|
1348
|
-
* source: "2",
|
|
1349
|
-
* target: "3",
|
|
1350
|
-
* type: "default",
|
|
1351
|
-
* data: { label: "Process" }
|
|
1352
|
-
* }
|
|
1353
|
-
* ]);
|
|
1354
|
-
* ```
|
|
1355
|
-
*
|
|
1356
|
-
* @example
|
|
1357
|
-
* ```typescript
|
|
1358
|
-
* // Using custom edge types (requires generic parameter)
|
|
1359
|
-
* const customEdgeTypes = {
|
|
1360
|
-
* textEdge: (props: EdgeProps<{ content: string }, "textEdge">) =>
|
|
1361
|
-
* <div>{props.data.content}</div>,
|
|
1362
|
-
* numberEdge: (props: EdgeProps<{ value: number }, "numberEdge">) =>
|
|
1363
|
-
* <div>{props.data.value}</div>
|
|
1364
|
-
* } satisfies EdgeTypes;
|
|
1365
|
-
*
|
|
1366
|
-
* const [mixedEdges, setMixedEdges] = createEdgeStore<typeof customEdgeTypes>([
|
|
1367
|
-
* {
|
|
1368
|
-
* id: "1",
|
|
1369
|
-
* source: "1",
|
|
1370
|
-
* target: "2",
|
|
1371
|
-
* type: "default", // Built-in type
|
|
1372
|
-
* data: { label: "Input" }
|
|
1373
|
-
* },
|
|
1374
|
-
* {
|
|
1375
|
-
* id: "2",
|
|
1376
|
-
* source: "2",
|
|
1377
|
-
* target: "3",
|
|
1378
|
-
* type: "textEdge", // Custom type - gets autocomplete
|
|
1379
|
-
* data: { content: "Custom text edge" } // Type-safe data
|
|
1380
|
-
* },
|
|
1381
|
-
* {
|
|
1382
|
-
* id: "3",
|
|
1383
|
-
* source: "3",
|
|
1384
|
-
* target: "4",
|
|
1385
|
-
* type: "numberEdge", // Another custom type
|
|
1386
|
-
* data: { value: 42 }, // Type-safe data
|
|
1387
|
-
* style: { "background-color": "lightblue" } // All Edge properties available
|
|
1388
|
-
* }
|
|
1389
|
-
* ]);
|
|
1390
|
-
* ```
|
|
1391
|
-
*
|
|
1392
|
-
* @remarks
|
|
1393
|
-
* - Provides autocomplete for the `type` field with all available node types
|
|
1394
|
-
* - Validates `data` structure based on the selected node type
|
|
1395
|
-
* - Supports all Node properties (style, draggable, hidden, etc.)
|
|
1396
|
-
* - Works seamlessly with both built-in and custom node types
|
|
1397
|
-
* - Type errors prevent invalid type names or incorrect data structures
|
|
1398
|
-
*/
|
|
1399
|
-
declare const createEdgeStore: <TUserEdgeTypes extends EdgeTypes = Record<string, never>>(edges: EdgesInput<TUserEdgeTypes>[]) => readonly [Store<EdgesInput<TUserEdgeTypes>[]>, StoreSetter<EdgesInput<TUserEdgeTypes>[]>];
|
|
1400
|
-
//#endregion
|
|
1401
|
-
//#region src/data/createNodeStore.d.ts
|
|
1272
|
+
//#region src/core/createNodeStore.d.ts
|
|
1402
1273
|
type ExtractNodeInfo<T> = T extends ((props: NodeProps<infer TData, infer TType>) => unknown) ? {
|
|
1403
1274
|
data: TData;
|
|
1404
1275
|
type: TType;
|
|
@@ -1523,6 +1394,7 @@ declare function useEdges<EdgeType extends Edge = Edge>(): Accessor<EdgeType[]>;
|
|
|
1523
1394
|
declare function useViewport(): Accessor<Viewport$1>;
|
|
1524
1395
|
//#endregion
|
|
1525
1396
|
//#region src/hooks/useHandleEdgeSelect.d.ts
|
|
1397
|
+
/** Returns a callback applying edge-selection semantics for the given edge id. */
|
|
1526
1398
|
declare function useHandleEdgeSelect(): (id: string) => void;
|
|
1527
1399
|
//#endregion
|
|
1528
1400
|
//#region src/hooks/useInitialized.d.ts
|
|
@@ -1584,6 +1456,7 @@ type NodeData<NodeType extends Node> = Pick<NodeType, "id" | "data" | "type">;
|
|
|
1584
1456
|
* @returns A memo with an array of data objects
|
|
1585
1457
|
*/
|
|
1586
1458
|
declare function useNodesData<NodeType extends Node = Node>(nodeId: Accessor<string | undefined | null>): Accessor<NodeData<NodeType> | undefined>;
|
|
1459
|
+
/** Reactive accessor for the `data` of one or many nodes by id. */
|
|
1587
1460
|
declare function useNodesData<NodeType extends Node = Node>(nodeIds: Accessor<string[] | undefined | null>): Accessor<NodeData<NodeType>[]>;
|
|
1588
1461
|
//#endregion
|
|
1589
1462
|
//#region src/hooks/useSolidFlow.d.ts
|
|
@@ -1646,4 +1519,309 @@ declare function useSolidFlow<NodeType extends Node = Node, EdgeType extends Edg
|
|
|
1646
1519
|
*/
|
|
1647
1520
|
declare function useUpdateNodeInternals(): UpdateNodeInternals;
|
|
1648
1521
|
//#endregion
|
|
1649
|
-
|
|
1522
|
+
//#region src/plugins/background/types.d.ts
|
|
1523
|
+
/** Available background pattern styles. */
|
|
1524
|
+
type BackgroundVariant = "lines" | "dots" | "cross";
|
|
1525
|
+
//#endregion
|
|
1526
|
+
//#region src/plugins/background/Background.d.ts
|
|
1527
|
+
/** Props for the `Background` plugin. */
|
|
1528
|
+
type BackgroundProps = {
|
|
1529
|
+
readonly id?: string;
|
|
1530
|
+
/** Variant of the pattern
|
|
1531
|
+
* @example 'lines', 'dots', 'cross'
|
|
1532
|
+
*/
|
|
1533
|
+
readonly variant?: BackgroundVariant;
|
|
1534
|
+
/** Color of the background */
|
|
1535
|
+
readonly bgColor?: string;
|
|
1536
|
+
/** Color of the pattern */
|
|
1537
|
+
readonly patternColor?: string;
|
|
1538
|
+
/** Class applied to the pattern */
|
|
1539
|
+
readonly patternClass?: string;
|
|
1540
|
+
/** Class applied to the container */
|
|
1541
|
+
readonly class?: string;
|
|
1542
|
+
/** Gap between repetitions of the pattern */
|
|
1543
|
+
readonly gap?: number | [number, number];
|
|
1544
|
+
/** Size of a single pattern element */
|
|
1545
|
+
readonly size?: number;
|
|
1546
|
+
/** Line width of the Line pattern */
|
|
1547
|
+
readonly lineWidth?: number;
|
|
1548
|
+
/** Style applied to the container */
|
|
1549
|
+
readonly style?: JSX.CSSProperties;
|
|
1550
|
+
};
|
|
1551
|
+
/** Canvas background pattern (lines, dots, or cross) rendered beneath the graph. */
|
|
1552
|
+
declare const Background: (props: BackgroundProps) => JSX.Element;
|
|
1553
|
+
//#endregion
|
|
1554
|
+
//#region src/plugins/controls/ControlButton.d.ts
|
|
1555
|
+
type ControlButtonProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "onClick"> & {
|
|
1556
|
+
readonly class?: string;
|
|
1557
|
+
readonly bgColor?: string;
|
|
1558
|
+
readonly bgColorHover?: string;
|
|
1559
|
+
readonly color?: string;
|
|
1560
|
+
readonly colorHover?: string;
|
|
1561
|
+
readonly borderColor?: string;
|
|
1562
|
+
readonly onClick?: JSX.EventHandler<HTMLButtonElement, MouseEvent>;
|
|
1563
|
+
};
|
|
1564
|
+
/** A styled button for use inside `Controls`. */
|
|
1565
|
+
declare const ControlButton: (props: ParentProps<ControlButtonProps>) => JSX.Element;
|
|
1566
|
+
//#endregion
|
|
1567
|
+
//#region src/plugins/controls/Controls.d.ts
|
|
1568
|
+
type ControlsOrientation = "horizontal" | "vertical";
|
|
1569
|
+
type ControlsProps = {
|
|
1570
|
+
/** Position of the controls on the pane
|
|
1571
|
+
* @example PanelPosition.TopLeft, PanelPosition.TopRight,
|
|
1572
|
+
* PanelPosition.BottomLeft, PanelPosition.BottomRight
|
|
1573
|
+
*/
|
|
1574
|
+
readonly position?: PanelPosition$1;
|
|
1575
|
+
/** Show button for zoom in/out */
|
|
1576
|
+
readonly showZoom?: boolean;
|
|
1577
|
+
/** Show button for fit view */
|
|
1578
|
+
readonly showFitView?: boolean;
|
|
1579
|
+
/** Show button for toggling interactivity */
|
|
1580
|
+
readonly showLock?: boolean;
|
|
1581
|
+
readonly buttonBgColor?: string;
|
|
1582
|
+
readonly buttonBgColorHover?: string;
|
|
1583
|
+
readonly buttonColor?: string;
|
|
1584
|
+
readonly buttonColorHover?: string;
|
|
1585
|
+
readonly buttonBorderColor?: string;
|
|
1586
|
+
readonly style?: JSX.CSSProperties;
|
|
1587
|
+
readonly orientation?: ControlsOrientation;
|
|
1588
|
+
readonly fitViewOptions?: FitViewOptions;
|
|
1589
|
+
readonly beforeControls?: JSX.Element;
|
|
1590
|
+
readonly afterControls?: JSX.Element;
|
|
1591
|
+
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
1592
|
+
/** Viewport control panel: zoom in/out, fit view, and interactivity lock. */
|
|
1593
|
+
declare const Controls: (props: ParentProps<ControlsProps>) => JSX.Element;
|
|
1594
|
+
//#endregion
|
|
1595
|
+
//#region src/plugins/minimap/MiniMap.d.ts
|
|
1596
|
+
type GetMiniMapNodeAttribute<NodeType extends Node> = (node: NodeType) => string;
|
|
1597
|
+
type MiniMapProps<NodeType extends Node> = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
1598
|
+
/** Background color of minimap */
|
|
1599
|
+
readonly bgColor?: string;
|
|
1600
|
+
/** Color of nodes on the minimap */
|
|
1601
|
+
readonly nodeColor?: string | GetMiniMapNodeAttribute<NodeType>;
|
|
1602
|
+
/** Stroke color of nodes on the minimap */
|
|
1603
|
+
readonly nodeStrokeColor?: string | GetMiniMapNodeAttribute<NodeType>;
|
|
1604
|
+
/** Class applied to nodes on the minimap */
|
|
1605
|
+
readonly nodeClass?: string | GetMiniMapNodeAttribute<NodeType>;
|
|
1606
|
+
/** Border radius of nodes on the minimap */
|
|
1607
|
+
readonly nodeBorderRadius?: number;
|
|
1608
|
+
/** Stroke width of nodes on the minimap */
|
|
1609
|
+
readonly nodeStrokeWidth?: number;
|
|
1610
|
+
/** Color of the mask representing viewport */
|
|
1611
|
+
readonly maskColor?: string;
|
|
1612
|
+
/** Stroke color of the mask representing viewport */
|
|
1613
|
+
readonly maskStrokeColor?: string;
|
|
1614
|
+
/** Stroke width of the mask representing viewport */
|
|
1615
|
+
readonly maskStrokeWidth?: number;
|
|
1616
|
+
/** Position of the minimap on the pane
|
|
1617
|
+
* @example PanelPosition.TopLeft, PanelPosition.TopRight,
|
|
1618
|
+
* PanelPosition.BottomLeft, PanelPosition.BottomRight
|
|
1619
|
+
*/
|
|
1620
|
+
readonly position?: PanelPosition$1;
|
|
1621
|
+
/** Style applied to container */
|
|
1622
|
+
readonly style?: JSX.CSSProperties;
|
|
1623
|
+
/** The aria-label applied to container */
|
|
1624
|
+
readonly ariaLabel?: string | null;
|
|
1625
|
+
/** Width of minimap */
|
|
1626
|
+
readonly width?: number;
|
|
1627
|
+
/** Height of minimap */
|
|
1628
|
+
readonly height?: number;
|
|
1629
|
+
readonly pannable?: boolean;
|
|
1630
|
+
readonly zoomable?: boolean;
|
|
1631
|
+
/** Invert the direction when panning the minimap viewport */
|
|
1632
|
+
readonly inversePan?: boolean;
|
|
1633
|
+
/** Step size for zooming in/out */
|
|
1634
|
+
readonly zoomStep?: number;
|
|
1635
|
+
};
|
|
1636
|
+
/** Miniature overview map of the whole flow, with optional pan/zoom interaction. */
|
|
1637
|
+
declare const MiniMap: <NodeType extends Node>(props: ParentProps<Partial<MiniMapProps<NodeType>>>) => JSX.Element;
|
|
1638
|
+
//#endregion
|
|
1639
|
+
//#region src/plugins/nodeResizer/NodeResizer.d.ts
|
|
1640
|
+
type NodeResizerProps = {
|
|
1641
|
+
/** Id of the node it is resizing
|
|
1642
|
+
* @remarks optional if used inside custom node
|
|
1643
|
+
*/
|
|
1644
|
+
readonly nodeId?: string;
|
|
1645
|
+
/** Class applied to handle */
|
|
1646
|
+
readonly handleClass?: string;
|
|
1647
|
+
/** Style applied to handle */
|
|
1648
|
+
readonly handleStyle?: JSX.CSSProperties;
|
|
1649
|
+
/** Class applied to line */
|
|
1650
|
+
readonly lineClass?: string;
|
|
1651
|
+
/** Style applied to line */
|
|
1652
|
+
readonly lineStyle?: JSX.CSSProperties;
|
|
1653
|
+
/** Are the controls visible */
|
|
1654
|
+
readonly visible?: boolean;
|
|
1655
|
+
/** Minimum width of node */
|
|
1656
|
+
readonly minWidth?: number;
|
|
1657
|
+
/** Minimum height of node */
|
|
1658
|
+
readonly minHeight?: number;
|
|
1659
|
+
/** Maximum width of node */
|
|
1660
|
+
readonly maxWidth?: number;
|
|
1661
|
+
/** Maximum height of node */
|
|
1662
|
+
readonly maxHeight?: number;
|
|
1663
|
+
/** Keep aspect ratio when resizing */
|
|
1664
|
+
readonly keepAspectRatio?: boolean;
|
|
1665
|
+
/** Automatically scale the node when resizing */
|
|
1666
|
+
readonly autoScale?: boolean;
|
|
1667
|
+
/** Callback to determine if node should resize */
|
|
1668
|
+
readonly shouldResize?: ShouldResize$1;
|
|
1669
|
+
/** Callback called when resizing starts */
|
|
1670
|
+
readonly onResizeStart?: OnResizeStart$1;
|
|
1671
|
+
/** Callback called when resizing */
|
|
1672
|
+
readonly onResize?: OnResize$1;
|
|
1673
|
+
/** Callback called when resizing ends */
|
|
1674
|
+
readonly onResizeEnd?: OnResizeEnd$1;
|
|
1675
|
+
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize" | "style">;
|
|
1676
|
+
/** Resize handles and lines around a node; place inside a custom node to make it resizable. */
|
|
1677
|
+
declare const NodeResizer: (props: Partial<NodeResizerProps>) => JSX.Element;
|
|
1678
|
+
//#endregion
|
|
1679
|
+
//#region src/plugins/nodeResizer/ResizeControl.d.ts
|
|
1680
|
+
type NodeResizerSubProps = Pick<NodeResizerProps, "nodeId" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "autoScale" | "keepAspectRatio" | "shouldResize" | "onResizeStart" | "onResize" | "onResizeEnd">;
|
|
1681
|
+
type ResizeControlProps = NodeResizerSubProps & {
|
|
1682
|
+
/** Position of control
|
|
1683
|
+
* @example ControlPosition.TopLeft, ControlPosition.TopRight,
|
|
1684
|
+
* ControlPosition.BottomLeft, ControlPosition.BottomRight
|
|
1685
|
+
*/
|
|
1686
|
+
readonly position?: ControlPosition$1;
|
|
1687
|
+
/** Variant of control
|
|
1688
|
+
* @example ResizeControlVariant.Handle, ResizeControlVariant.Line
|
|
1689
|
+
*/
|
|
1690
|
+
readonly variant?: ResizeControlVariant$2;
|
|
1691
|
+
readonly color?: string;
|
|
1692
|
+
readonly style?: JSX.CSSProperties;
|
|
1693
|
+
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize" | "style">;
|
|
1694
|
+
/** A single resize handle or line — the building block of `NodeResizer`. */
|
|
1695
|
+
declare const ResizeControl: <NodeType extends Node = Node>(props: ParentProps<ResizeControlProps>) => JSX.Element;
|
|
1696
|
+
//#endregion
|
|
1697
|
+
//#region src/plugins/toolbar/EdgeToolbar.d.ts
|
|
1698
|
+
/** Props for the `EdgeToolbar` plugin. */
|
|
1699
|
+
type EdgeToolbarProps = EdgeToolbarBaseProps & {
|
|
1700
|
+
/** If `true`, clicking the toolbar selects the edge it belongs to. */
|
|
1701
|
+
readonly selectEdgeOnClick?: boolean;
|
|
1702
|
+
} & Omit<JSX.HTMLAttributes<HTMLDivElement>, "style">;
|
|
1703
|
+
/**
|
|
1704
|
+
* The `<EdgeToolbar />` component renders a toolbar or tooltip for an edge.
|
|
1705
|
+
* It must be used inside a custom edge component. By default it is only
|
|
1706
|
+
* visible when the edge is selected; pass `isVisible` to control it manually.
|
|
1707
|
+
*
|
|
1708
|
+
* The toolbar does not scale with the viewport so that its content is always legible.
|
|
1709
|
+
*/
|
|
1710
|
+
declare const EdgeToolbar: (props: ParentProps<EdgeToolbarProps>) => JSX.Element;
|
|
1711
|
+
//#endregion
|
|
1712
|
+
//#region src/plugins/toolbar/NodeToolbar.d.ts
|
|
1713
|
+
/** Props for the `NodeToolbar` plugin. */
|
|
1714
|
+
type NodeToolbarProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
1715
|
+
/** The id of the node, or array of ids the toolbar should be displayed at */
|
|
1716
|
+
readonly nodeId: string | string[];
|
|
1717
|
+
/** Position of the toolbar relative to the node
|
|
1718
|
+
* @example Position.TopLeft, Position.TopRight,
|
|
1719
|
+
* Position.BottomLeft, Position.BottomRight
|
|
1720
|
+
*/
|
|
1721
|
+
readonly position: Position$2;
|
|
1722
|
+
/** Align the toolbar relative to the node
|
|
1723
|
+
* @example Align.Start, Align.Center, Align.End
|
|
1724
|
+
*/
|
|
1725
|
+
readonly align: Align$1;
|
|
1726
|
+
/** Offset the toolbar from the node */
|
|
1727
|
+
readonly offset: number;
|
|
1728
|
+
/** If true, node toolbar is visible even if node is not selected */
|
|
1729
|
+
readonly isVisible: boolean;
|
|
1730
|
+
/** Style of the toolbar */
|
|
1731
|
+
readonly style: Omit<JSX.CSSProperties, "z-index" | "position" | "transform">;
|
|
1732
|
+
};
|
|
1733
|
+
/** Toolbar attached to a node, rendered above the graph so it does not scale with zoom. */
|
|
1734
|
+
declare const NodeToolbar: ParentComponent<Partial<NodeToolbarProps>>;
|
|
1735
|
+
//#endregion
|
|
1736
|
+
//#region src/types/system.d.ts
|
|
1737
|
+
/** Alignment of an attached element (e.g. a toolbar) along its side: 'start' | 'center' | 'end'. */
|
|
1738
|
+
type Align = Align$1;
|
|
1739
|
+
/** Configurable UI strings and ARIA descriptions (localization / a11y overrides). */
|
|
1740
|
+
type AriaLabelConfig = AriaLabelConfig$1;
|
|
1741
|
+
/** Options controlling bezier edge path curvature. */
|
|
1742
|
+
type BezierPathOptions = BezierPathOptions$1;
|
|
1743
|
+
/** A rectangle expressed as top-left position plus bottom-right extent. */
|
|
1744
|
+
type Box = Box$1;
|
|
1745
|
+
/** Color scheme for the flow: an explicit class or 'system' (media-query resolved). */
|
|
1746
|
+
type ColorMode = ColorMode$1;
|
|
1747
|
+
/** A resolved color scheme class: 'light' | 'dark'. */
|
|
1748
|
+
type ColorModeClass = ColorModeClass$1;
|
|
1749
|
+
/** A width/height pair. */
|
|
1750
|
+
type Dimensions = Dimensions$1;
|
|
1751
|
+
/** An edge marker reference: a marker type string or a full `EdgeMarker` config. */
|
|
1752
|
+
type EdgeMarkerType = EdgeMarkerType$1;
|
|
1753
|
+
/** Options for fitting the viewport to a set of bounds. */
|
|
1754
|
+
type FitBoundsOptions = FitBoundsOptions$1;
|
|
1755
|
+
/** Parameters accepted by `getBezierPath`. */
|
|
1756
|
+
type GetBezierPathParams = GetBezierPathParams$1;
|
|
1757
|
+
/** Parameters accepted by `getSmoothStepPath`. */
|
|
1758
|
+
type GetSmoothStepPathParams = GetSmoothStepPathParams$1;
|
|
1759
|
+
/** Parameters accepted by `getStraightPath`. */
|
|
1760
|
+
type GetStraightPathParams = GetStraightPathParams$1;
|
|
1761
|
+
/** Predicate deciding whether a pending connection may become an edge. */
|
|
1762
|
+
type IsValidConnection<EdgeType extends EdgeBase = EdgeBase> = IsValidConnection$1<EdgeType>;
|
|
1763
|
+
/** Handler called when a connection successfully completes. */
|
|
1764
|
+
type OnConnect = OnConnect$1;
|
|
1765
|
+
/** Handler called when a connection gesture ends (whether or not an edge was made). */
|
|
1766
|
+
type OnConnectEnd<NodeType extends NodeBase = NodeBase> = OnConnectEnd$1<NodeType>;
|
|
1767
|
+
/** Handler called when a user starts dragging a connection from a handle. */
|
|
1768
|
+
type OnConnectStart = OnConnectStart$1;
|
|
1769
|
+
/** The handle a connection gesture started from. */
|
|
1770
|
+
type OnConnectStartParams = OnConnectStartParams$1;
|
|
1771
|
+
/** Handler for internal, non-fatal flow errors (logged instead of thrown). */
|
|
1772
|
+
type OnError = OnError$1;
|
|
1773
|
+
/** Handler called when the user starts panning or zooming the viewport. */
|
|
1774
|
+
type OnMoveStart = OnMove$1;
|
|
1775
|
+
/** Handler called when the user stops panning or zooming the viewport. */
|
|
1776
|
+
type OnMoveEnd = OnMove$1;
|
|
1777
|
+
/** Handler called after an edge has been reconnected to a different handle. */
|
|
1778
|
+
type OnReconnect<EdgeType extends EdgeBase = EdgeBase> = OnReconnect$1<EdgeType>;
|
|
1779
|
+
/** Handler called when an edge reconnection gesture ends. */
|
|
1780
|
+
type OnReconnectEnd<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase> = OnReconnectEnd$1<NodeType, EdgeType>;
|
|
1781
|
+
/** Handler called when the user starts dragging an edge end off its handle. */
|
|
1782
|
+
type OnReconnectStart<EdgeType extends EdgeBase = EdgeBase> = OnReconnectStart$1<EdgeType>;
|
|
1783
|
+
/** Handler called while a node is being resized. */
|
|
1784
|
+
type OnResize = OnResize$1;
|
|
1785
|
+
/** Handler called when a node resize gesture ends. */
|
|
1786
|
+
type OnResizeEnd = OnResizeEnd$1;
|
|
1787
|
+
/** Handler called when a node resize gesture starts. */
|
|
1788
|
+
type OnResizeStart = OnResizeStart$1;
|
|
1789
|
+
/** Handler called while a selection of nodes is dragged. */
|
|
1790
|
+
type OnSelectionDrag<NodeType extends NodeBase = NodeBase> = OnSelectionDrag$1<NodeType>;
|
|
1791
|
+
/** Pro/attribution options (`hideAttribution`). */
|
|
1792
|
+
type ProOptions = ProOptions$1;
|
|
1793
|
+
/** A rectangle: position plus dimensions. */
|
|
1794
|
+
type Rect = Rect$1;
|
|
1795
|
+
/** The drag event delivered to resize handlers. */
|
|
1796
|
+
type ResizeDragEvent = ResizeDragEvent$1;
|
|
1797
|
+
/** Geometry of a resize step: position and dimensions. */
|
|
1798
|
+
type ResizeParams = ResizeParams$1;
|
|
1799
|
+
/** Resize geometry plus the direction of the drag. */
|
|
1800
|
+
type ResizeParamsWithDirection = ResizeParamsWithDirection$1;
|
|
1801
|
+
/** The user-drawn selection rectangle in flow coordinates. */
|
|
1802
|
+
type SelectionRect = SelectionRect$1;
|
|
1803
|
+
/** Options for `setCenter`: zoom and transition behavior. */
|
|
1804
|
+
type SetCenterOptions = SetCenterOptions$1;
|
|
1805
|
+
/** Options controlling smooth-step edge path geometry. */
|
|
1806
|
+
type SmoothStepPathOptions = SmoothStepPathOptions$1;
|
|
1807
|
+
/** Grid nodes snap to while dragging: `[x, y]` step sizes. */
|
|
1808
|
+
type SnapGrid = SnapGrid$1;
|
|
1809
|
+
/** The viewport transform as `[translateX, translateY, zoom]`. */
|
|
1810
|
+
type Transform = Transform$1;
|
|
1811
|
+
/** Common options for viewport helper functions (e.g. transition duration). */
|
|
1812
|
+
type ViewportHelperFunctionOptions = ViewportHelperFunctionOptions$1;
|
|
1813
|
+
/** An x/y position with a z-index. */
|
|
1814
|
+
type XYZPosition = XYZPosition$1;
|
|
1815
|
+
/**
|
|
1816
|
+
* How drag-selection decides membership: 'full' requires nodes to be fully
|
|
1817
|
+
* inside the selection box, 'partial' selects on any overlap.
|
|
1818
|
+
*/
|
|
1819
|
+
declare const SelectionMode: typeof SelectionMode$1;
|
|
1820
|
+
/** See {@link SelectionMode}. */
|
|
1821
|
+
type SelectionMode = SelectionMode$1;
|
|
1822
|
+
/** Returns the center `[x, y]` of a straight edge between two points. */
|
|
1823
|
+
declare const getEdgeCenter: typeof getEdgeCenter$1;
|
|
1824
|
+
/** Returns the label center and offsets for a bezier edge. */
|
|
1825
|
+
declare const getBezierEdgeCenter: typeof getBezierEdgeCenter$1;
|
|
1826
|
+
//#endregion
|
|
1827
|
+
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 FitBounds, FitBoundsOptions, FitViewOptions, type FlowCommands, type FlowSelection, type FlowState, GetBezierPathParams, GetSmoothStepPathParams, 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, 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, useEdges, useHandleEdgeSelect, useInternalNode, useNodeConnections, useNodes, useNodesData, useNodesInitialized, useSolidFlow, useUpdateNodeInternals, useViewport, useViewportInitialized };
|