@xyflow/system 0.0.19 → 0.0.20
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/esm/index.js +8 -2
- package/dist/esm/index.mjs +8 -2
- package/dist/esm/utils/edges/general.d.ts +2 -2
- package/dist/esm/utils/edges/general.d.ts.map +1 -1
- package/dist/esm/utils/graph.d.ts +6 -6
- package/dist/esm/utils/graph.d.ts.map +1 -1
- package/dist/esm/utils/shallow-node-data.d.ts +1 -1
- package/dist/esm/utils/shallow-node-data.d.ts.map +1 -1
- package/dist/esm/xyhandle/XYHandle.d.ts +1 -0
- package/dist/esm/xyhandle/XYHandle.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/utils/edges/general.d.ts +2 -2
- package/dist/umd/utils/edges/general.d.ts.map +1 -1
- package/dist/umd/utils/graph.d.ts +6 -6
- package/dist/umd/utils/graph.d.ts.map +1 -1
- package/dist/umd/utils/shallow-node-data.d.ts +1 -1
- package/dist/umd/utils/shallow-node-data.d.ts.map +1 -1
- package/dist/umd/xyhandle/XYHandle.d.ts +1 -0
- package/dist/umd/xyhandle/XYHandle.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
|
@@ -119,7 +119,7 @@ const isEdgeBase = (element) => 'id' in element && 'source' in element && 'targe
|
|
|
119
119
|
* @param element - The element to test
|
|
120
120
|
* @returns A boolean indicating whether the element is an Node
|
|
121
121
|
*/
|
|
122
|
-
const isNodeBase = (element) => 'id' in element && !('source' in element) && !('target' in element);
|
|
122
|
+
const isNodeBase = (element) => 'id' in element && 'position' in element && !('source' in element) && !('target' in element);
|
|
123
123
|
/**
|
|
124
124
|
* Pass in a node, and get connected nodes where edge.source === node.id
|
|
125
125
|
* @public
|
|
@@ -1296,6 +1296,9 @@ function updateConnectionLookup(connectionLookup, edgeLookup, edges) {
|
|
|
1296
1296
|
}
|
|
1297
1297
|
|
|
1298
1298
|
function shallowNodeData(a, b) {
|
|
1299
|
+
if (a === null || b === null) {
|
|
1300
|
+
return false;
|
|
1301
|
+
}
|
|
1299
1302
|
const _a = Array.isArray(a) ? a : [a];
|
|
1300
1303
|
const _b = Array.isArray(b) ? b : [b];
|
|
1301
1304
|
if (_a.length !== _b.length) {
|
|
@@ -1655,7 +1658,7 @@ function getConnectionStatus(isInsideConnectionRadius, isHandleValid) {
|
|
|
1655
1658
|
|
|
1656
1659
|
const alwaysValid = () => true;
|
|
1657
1660
|
let connectionStartHandle = null;
|
|
1658
|
-
function onPointerDown(event, { connectionMode, connectionRadius, handleId, nodeId, edgeUpdaterType, isTarget, domNode, nodes, lib, autoPanOnConnect, flowId, panBy, cancelConnection, onConnectStart, onConnect, onConnectEnd, isValidConnection = alwaysValid, onEdgeUpdateEnd, updateConnection, getTransform, }) {
|
|
1661
|
+
function onPointerDown(event, { connectionMode, connectionRadius, handleId, nodeId, edgeUpdaterType, isTarget, domNode, nodes, lib, autoPanOnConnect, flowId, panBy, cancelConnection, onConnectStart, onConnect, onConnectEnd, isValidConnection = alwaysValid, onEdgeUpdateEnd, updateConnection, getTransform, getConnectionStartHandle, }) {
|
|
1659
1662
|
// when xyflow is used inside a shadow root we can't use document
|
|
1660
1663
|
const doc = getHostForElement(event.target);
|
|
1661
1664
|
let autoPanId = 0;
|
|
@@ -1702,6 +1705,9 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
1702
1705
|
});
|
|
1703
1706
|
onConnectStart?.(event, { nodeId, handleId, handleType });
|
|
1704
1707
|
function onPointerMove(event) {
|
|
1708
|
+
if (!getConnectionStartHandle()) {
|
|
1709
|
+
onPointerUp(event);
|
|
1710
|
+
}
|
|
1705
1711
|
const transform = getTransform();
|
|
1706
1712
|
connectionPosition = getEventPosition(event, containerBounds);
|
|
1707
1713
|
closestHandle = getClosestHandle(pointToRendererPoint(connectionPosition, transform, false, [1, 1]), connectionRadius, handleLookup);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -119,7 +119,7 @@ const isEdgeBase = (element) => 'id' in element && 'source' in element && 'targe
|
|
|
119
119
|
* @param element - The element to test
|
|
120
120
|
* @returns A boolean indicating whether the element is an Node
|
|
121
121
|
*/
|
|
122
|
-
const isNodeBase = (element) => 'id' in element && !('source' in element) && !('target' in element);
|
|
122
|
+
const isNodeBase = (element) => 'id' in element && 'position' in element && !('source' in element) && !('target' in element);
|
|
123
123
|
/**
|
|
124
124
|
* Pass in a node, and get connected nodes where edge.source === node.id
|
|
125
125
|
* @public
|
|
@@ -1296,6 +1296,9 @@ function updateConnectionLookup(connectionLookup, edgeLookup, edges) {
|
|
|
1296
1296
|
}
|
|
1297
1297
|
|
|
1298
1298
|
function shallowNodeData(a, b) {
|
|
1299
|
+
if (a === null || b === null) {
|
|
1300
|
+
return false;
|
|
1301
|
+
}
|
|
1299
1302
|
const _a = Array.isArray(a) ? a : [a];
|
|
1300
1303
|
const _b = Array.isArray(b) ? b : [b];
|
|
1301
1304
|
if (_a.length !== _b.length) {
|
|
@@ -1655,7 +1658,7 @@ function getConnectionStatus(isInsideConnectionRadius, isHandleValid) {
|
|
|
1655
1658
|
|
|
1656
1659
|
const alwaysValid = () => true;
|
|
1657
1660
|
let connectionStartHandle = null;
|
|
1658
|
-
function onPointerDown(event, { connectionMode, connectionRadius, handleId, nodeId, edgeUpdaterType, isTarget, domNode, nodes, lib, autoPanOnConnect, flowId, panBy, cancelConnection, onConnectStart, onConnect, onConnectEnd, isValidConnection = alwaysValid, onEdgeUpdateEnd, updateConnection, getTransform, }) {
|
|
1661
|
+
function onPointerDown(event, { connectionMode, connectionRadius, handleId, nodeId, edgeUpdaterType, isTarget, domNode, nodes, lib, autoPanOnConnect, flowId, panBy, cancelConnection, onConnectStart, onConnect, onConnectEnd, isValidConnection = alwaysValid, onEdgeUpdateEnd, updateConnection, getTransform, getConnectionStartHandle, }) {
|
|
1659
1662
|
// when xyflow is used inside a shadow root we can't use document
|
|
1660
1663
|
const doc = getHostForElement(event.target);
|
|
1661
1664
|
let autoPanId = 0;
|
|
@@ -1702,6 +1705,9 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
1702
1705
|
});
|
|
1703
1706
|
onConnectStart?.(event, { nodeId, handleId, handleType });
|
|
1704
1707
|
function onPointerMove(event) {
|
|
1708
|
+
if (!getConnectionStartHandle()) {
|
|
1709
|
+
onPointerUp(event);
|
|
1710
|
+
}
|
|
1705
1711
|
const transform = getTransform();
|
|
1706
1712
|
connectionPosition = getEventPosition(event, containerBounds);
|
|
1707
1713
|
closestHandle = getClosestHandle(pointToRendererPoint(connectionPosition, transform, false, [1, 1]), connectionRadius, handleLookup);
|
|
@@ -30,7 +30,7 @@ export declare function isEdgeVisible({ sourceNode, targetNode, width, height, t
|
|
|
30
30
|
* @param edges - The array of all current edges
|
|
31
31
|
* @returns A new array of edges with the new edge added
|
|
32
32
|
*/
|
|
33
|
-
export declare const addEdge: <EdgeType extends EdgeBase
|
|
33
|
+
export declare const addEdge: <EdgeType extends EdgeBase>(edgeParams: EdgeType | Connection, edges: EdgeType[]) => EdgeType[];
|
|
34
34
|
export type UpdateEdgeOptions = {
|
|
35
35
|
shouldReplaceId?: boolean;
|
|
36
36
|
};
|
|
@@ -42,6 +42,6 @@ export type UpdateEdgeOptions = {
|
|
|
42
42
|
* @param options.shouldReplaceId - should the id of the old edge be replaced with the new connection id
|
|
43
43
|
* @returns the updated edges array
|
|
44
44
|
*/
|
|
45
|
-
export declare const updateEdge: <EdgeType extends EdgeBase
|
|
45
|
+
export declare const updateEdge: <EdgeType extends EdgeBase>(oldEdge: EdgeType, newConnection: Connection, edges: EdgeType[], options?: UpdateEdgeOptions) => EdgeType[];
|
|
46
46
|
export {};
|
|
47
47
|
//# sourceMappingURL=general.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA8C,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQnC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,MAAU,EACV,eAAuB,GACxB,EAAE,mBAAmB,GAAG,MAAM,CAS9B;AAED,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAmBhH;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA8C,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQnC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,MAAU,EACV,eAAuB,GACxB,EAAE,mBAAmB,GAAG,MAAM,CAS9B;AAED,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAmBhH;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,0CACN,QAAQ,GAAG,UAAU,SAC1B,QAAQ,EAAE,KAChB,QAAQ,EA8BV,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,uCACZ,QAAQ,iBACF,UAAU,SAClB,QAAQ,EAAE,YACR,iBAAiB,KACzB,QAAQ,EA4BV,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { type Transform, type XYPosition, type Rect, type NodeOrigin, type NodeB
|
|
|
6
6
|
* @param element - The element to test
|
|
7
7
|
* @returns A boolean indicating whether the element is an Edge
|
|
8
8
|
*/
|
|
9
|
-
export declare const isEdgeBase: <EdgeType extends EdgeBase
|
|
9
|
+
export declare const isEdgeBase: <EdgeType extends EdgeBase = EdgeBase>(element: any) => element is EdgeType;
|
|
10
10
|
/**
|
|
11
11
|
* Test whether an object is useable as a Node
|
|
12
12
|
* @public
|
|
@@ -14,7 +14,7 @@ export declare const isEdgeBase: <EdgeType extends EdgeBase<Record<string, unkno
|
|
|
14
14
|
* @param element - The element to test
|
|
15
15
|
* @returns A boolean indicating whether the element is an Node
|
|
16
16
|
*/
|
|
17
|
-
export declare const isNodeBase: <NodeType extends NodeBase
|
|
17
|
+
export declare const isNodeBase: <NodeType extends NodeBase = NodeBase>(element: any) => element is NodeType;
|
|
18
18
|
/**
|
|
19
19
|
* Pass in a node, and get connected nodes where edge.source === node.id
|
|
20
20
|
* @public
|
|
@@ -23,7 +23,7 @@ export declare const isNodeBase: <NodeType extends NodeBase<Record<string, unkno
|
|
|
23
23
|
* @param edges - The array of all edges
|
|
24
24
|
* @returns An array of nodes that are connected over eges where the source is the given node
|
|
25
25
|
*/
|
|
26
|
-
export declare const getOutgoers: <NodeType extends NodeBase
|
|
26
|
+
export declare const getOutgoers: <NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>(node: NodeType | {
|
|
27
27
|
id: string;
|
|
28
28
|
}, nodes: NodeType[], edges: EdgeType[]) => NodeType[];
|
|
29
29
|
/**
|
|
@@ -34,7 +34,7 @@ export declare const getOutgoers: <NodeType extends NodeBase<Record<string, unkn
|
|
|
34
34
|
* @param edges - The array of all edges
|
|
35
35
|
* @returns An array of nodes that are connected over eges where the target is the given node
|
|
36
36
|
*/
|
|
37
|
-
export declare const getIncomers: <NodeType extends NodeBase
|
|
37
|
+
export declare const getIncomers: <NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>(node: NodeType | {
|
|
38
38
|
id: string;
|
|
39
39
|
}, nodes: NodeType[], edges: EdgeType[]) => NodeType[];
|
|
40
40
|
export declare const getNodePositionWithOrigin: (node: NodeBase | undefined, nodeOrigin?: NodeOrigin) => {
|
|
@@ -55,14 +55,14 @@ export type GetNodesBoundsParams = {
|
|
|
55
55
|
* @returns Bounding box enclosing all nodes
|
|
56
56
|
*/
|
|
57
57
|
export declare const getNodesBounds: (nodes: NodeBase[], params?: GetNodesBoundsParams) => Rect;
|
|
58
|
-
export declare const getNodesInside: <NodeType extends NodeBase
|
|
58
|
+
export declare const getNodesInside: <NodeType extends NodeBase>(nodes: NodeType[], rect: Rect, [tx, ty, tScale]?: Transform, partially?: boolean, excludeNonSelectableNodes?: boolean, nodeOrigin?: NodeOrigin) => NodeType[];
|
|
59
59
|
/**
|
|
60
60
|
* Get all connecting edges for a given set of nodes
|
|
61
61
|
* @param nodes - Nodes you want to get the connected edges for
|
|
62
62
|
* @param edges - All edges
|
|
63
63
|
* @returns Array of edges that connect any of the given nodes with each other
|
|
64
64
|
*/
|
|
65
|
-
export declare const getConnectedEdges: <NodeType extends NodeBase
|
|
65
|
+
export declare const getConnectedEdges: <NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>(nodes: NodeType[], edges: EdgeType[]) => EdgeType[];
|
|
66
66
|
export declare function fitView<Params extends FitViewParamsBase<NodeBase>, Options extends FitViewOptionsBase<NodeBase>>({ nodes, width, height, panZoom, minZoom, maxZoom, nodeOrigin }: Params, options?: Options): boolean;
|
|
67
67
|
/**
|
|
68
68
|
* This function calculates the next position of a node, taking into account the node's extent, parent node, and origin.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,UAAU,EACX,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,UAAU,EACX,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kDAAmD,GAAG,wBACd,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kDAAmD,GAAG,wBACiB,CAAC;AAE/F;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,qFAChB,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,SACxB,QAAQ,EAAE,SACV,QAAQ,EAAE,KAChB,QAAQ,EAaV,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,qFAChB,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,SACxB,QAAQ,EAAE,SACV,QAAQ,EAAE,KAChB,QAAQ,EAYV,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAC9B,QAAQ,GAAG,SAAS;cAEb,UAAU;sBAAoB,UAAU;CAgCtD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAClB,QAAQ,EAAE,WACT,oBAAoB,KAC3B,IAoBF,CAAC;AAEF,eAAO,MAAM,cAAc,qCAClB,QAAQ,EAAE,QACX,IAAI,sHAMT,QAAQ,EA+BV,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,sFACrB,QAAQ,EAAE,SACV,QAAQ,EAAE,KAChB,QAAQ,EAOV,CAAC;AAEF,wBAAgB,OAAO,CAAC,MAAM,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,SAAS,kBAAkB,CAAC,QAAQ,CAAC,EAC9G,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAmB,EAAE,EAAE,MAAM,EAChF,OAAO,CAAC,EAAE,OAAO,WA8BlB;AAoBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAC/D,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAmB,EACnB,UAAU,EACV,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,UAAU,CAAA;CAAE,CA8CzD;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,EACpH,aAAkB,EAClB,aAAkB,EAClB,KAAK,EACL,KAAK,EACL,cAAc,GACf,EAAE;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACzD,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC,CA+CD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NodeBase } from '../types';
|
|
2
2
|
type NodeData = Pick<NodeBase, 'id' | 'type' | 'data'>;
|
|
3
|
-
export declare function shallowNodeData(a: NodeData | NodeData[], b: NodeData | NodeData[]): boolean;
|
|
3
|
+
export declare function shallowNodeData(a: NodeData | NodeData[] | null, b: NodeData | NodeData[] | null): boolean;
|
|
4
4
|
export {};
|
|
5
5
|
//# sourceMappingURL=shallow-node-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shallow-node-data.d.ts","sourceRoot":"","sources":["../../src/utils/shallow-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEvD,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"shallow-node-data.d.ts","sourceRoot":"","sources":["../../src/utils/shallow-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEvD,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,WAmB/F"}
|
|
@@ -20,6 +20,7 @@ export type OnPointerDownParams = {
|
|
|
20
20
|
isValidConnection?: IsValidConnection;
|
|
21
21
|
onEdgeUpdateEnd?: (evt: MouseEvent | TouchEvent) => void;
|
|
22
22
|
getTransform: () => Transform;
|
|
23
|
+
getConnectionStartHandle: () => ConnectingHandle | null;
|
|
23
24
|
};
|
|
24
25
|
export type IsValidParams = {
|
|
25
26
|
handle: Pick<ConnectionHandle, 'nodeId' | 'id' | 'type'> | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XYHandle.d.ts","sourceRoot":"","sources":["../../src/xyhandle/XYHandle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"XYHandle.d.ts","sourceRoot":"","sources":["../../src/xyhandle/XYHandle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,MAAM,SAAS,CAAC;IAC9B,wBAAwB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAChE,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrF,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC;CAC5E,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACpC,CAAC;AAwPF,eAAO,MAAM,QAAQ,EAAE,gBAGtB,CAAC"}
|
package/dist/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).XYFlowSystem={})}(this,(function(t){"use strict";const e={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${n?o:n}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},n=Symbol.for("internals"),o=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]];var r,i,a,s,u,c;t.ConnectionMode=void 0,(r=t.ConnectionMode||(t.ConnectionMode={})).Strict="strict",r.Loose="loose",t.PanOnScrollMode=void 0,(i=t.PanOnScrollMode||(t.PanOnScrollMode={})).Free="free",i.Vertical="vertical",i.Horizontal="horizontal",t.SelectionMode=void 0,(a=t.SelectionMode||(t.SelectionMode={})).Partial="partial",a.Full="full",t.ConnectionLineType=void 0,(s=t.ConnectionLineType||(t.ConnectionLineType={})).Bezier="default",s.Straight="straight",s.Step="step",s.SmoothStep="smoothstep",s.SimpleBezier="simplebezier",t.MarkerType=void 0,(u=t.MarkerType||(t.MarkerType={})).Arrow="arrow",u.ArrowClosed="arrowclosed",t.Position=void 0,(c=t.Position||(t.Position={})).Left="left",c.Top="top",c.Right="right",c.Bottom="bottom";const l=t=>"id"in t&&"source"in t&&"target"in t,h=(t,e=[0,0])=>{if(!t)return{position:{x:0,y:0},positionAbsolute:{x:0,y:0}};const{width:n,height:o}=C(t),r=n*e[0],i=o*e[1],a={x:t.position.x-r,y:t.position.y-i};return{position:a,positionAbsolute:t.computed?.positionAbsolute?{x:t.computed.positionAbsolute.x-r,y:t.computed.positionAbsolute.y-i}:a}},d=(t,e={nodeOrigin:[0,0],useRelativePosition:!1})=>{if(0===t.length)return{x:0,y:0,width:0,height:0};const n=t.reduce(((t,n)=>{const o=h(n,n.origin||e.nodeOrigin);return x(t,w({...o[e.useRelativePosition?"position":"positionAbsolute"],...C(n)}))}),{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return _(n)},f=(t,e)=>{const n=new Set;return t.forEach((t=>{n.add(t.id)})),e.filter((t=>n.has(t.source)||n.has(t.target)))};function p({nodeId:t,nextPosition:n,nodeLookup:o,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){const s=o.get(t),u=s.parentNode?o.get(s.parentNode):void 0,{x:c,y:l}=u?h(u,u.origin||r).positionAbsolute:{x:0,y:0};let d=function(t,e){return e&&"parent"!==e?[e[0],[e[1][0]-(t.computed?.width??0),e[1][1]-(t.computed?.height??0)]]:e}(s,s.extent||i);if("parent"!==s.extent||s.expandParent)u&&$(s.extent)&&(d=[[s.extent[0][0]+c,s.extent[0][1]+l],[s.extent[1][0]+c,s.extent[1][1]+l]]);else if(u){const t=s.computed?.width,e=s.computed?.height,n=u?.computed?.width,o=u?.computed?.height;if(t&&e&&n&&o){const i=s.origin||r,a=c+t*i[0],u=l+e*i[1];d=[[a,u],[a+n-t,u+o-e]]}}else a?.("005",e.error005());const f=$(d)?m(n,d):n;return{position:{x:f.x-c,y:f.y-l},positionAbsolute:f}}const g=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),m=(t={x:0,y:0},e)=>({x:g(t.x,e[0][0],e[1][0]),y:g(t.y,e[0][1],e[1][1])}),y=(t,e,n)=>t<e?g(Math.abs(t-e),1,50)/50:t>n?-g(Math.abs(t-n),1,50)/50:0,v=(t,e)=>[20*y(t.x,35,e.width-35),20*y(t.y,35,e.height-35)],x=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),w=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),_=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),b=(t,e=[0,0])=>{const{positionAbsolute:n}=h(t,t.origin||e);return{...n,width:t.computed?.width??t.width??0,height:t.computed?.height??t.height??0}},M=(t,e=[0,0])=>{const{positionAbsolute:n}=h(t,t.origin||e);return{...n,x2:n.x+(t.computed?.width??t.width??0),y2:n.y+(t.computed?.height??t.height??0)}},P=(t,e)=>{const n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},E=t=>!isNaN(t)&&isFinite(t),S=(t,e)=>{},N=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),z=({x:t,y:e},[n,o,r],i=!1,a=[1,1])=>{const s={x:(t-n)/r,y:(e-o)/r};return i?N(s,a):s},A=({x:t,y:e},[n,o,r])=>({x:t*r+n,y:e*r+o}),k=(t,e,n,o,r,i)=>{const a=e/(t.width*(1+i)),s=n/(t.height*(1+i)),u=Math.min(a,s),c=g(u,o,r);return{x:e/2-(t.x+t.width/2)*c,y:n/2-(t.y+t.height/2)*c,zoom:c}},T=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function $(t){return void 0!==t&&"parent"!==t}function C(t){return{width:t.computed?.width??t.width??t.initialWidth??0,height:t.computed?.height??t.height??t.initialHeight??0}}function O(t,{snapGrid:e=[0,0],snapToGrid:n=!1,transform:o}){const{x:r,y:i}=R(t),a=z({x:r,y:i},o),{x:s,y:u}=n?N(a,e):a;return{xSnapped:s,ySnapped:u,...a}}const I=t=>({width:t.offsetWidth,height:t.offsetHeight}),H=t=>t.getRootNode?.()||window?.document,X=["INPUT","SELECT","TEXTAREA"];const Y=t=>"clientX"in t,R=(t,e)=>{const n=Y(t),o=n?t.clientX:t.touches?.[0].clientX,r=n?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},B=(t,e,n,o=[0,0])=>{const r=e.querySelectorAll(t);if(!r||!r.length)return null;const i=Array.from(r),a=e.getBoundingClientRect(),s=a.width*o[0],u=a.height*o[1];return i.map((t=>{const e=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),position:t.getAttribute("data-handlepos"),x:(e.left-a.left-s)/n,y:(e.top-a.top-u)/n,...I(t)}}))};function D({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:a,targetControlY:s}){const u=.125*t+.375*r+.375*a+.125*n,c=.125*e+.375*i+.375*s+.125*o;return[u,c,Math.abs(u-t),Math.abs(c-e)]}function V(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function L({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){switch(e){case t.Position.Left:return[n-V(n-r,a),o];case t.Position.Right:return[n+V(r-n,a),o];case t.Position.Top:return[n,o-V(o-i,a)];case t.Position.Bottom:return[n,o+V(i-o,a)]}}function q({sourceX:t,sourceY:e,targetX:n,targetY:o}){const r=Math.abs(n-t)/2,i=n<t?n+r:n-r,a=Math.abs(o-e)/2;return[i,o<e?o+a:o-a,r,a]}const Z=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`xy-edge__${t}${e||""}-${n}${o||""}`;const G={[t.Position.Left]:{x:-1,y:0},[t.Position.Right]:{x:1,y:0},[t.Position.Top]:{x:0,y:-1},[t.Position.Bottom]:{x:0,y:1}},j=({source:e,sourcePosition:n=t.Position.Bottom,target:o})=>n===t.Position.Left||n===t.Position.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1},W=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function F(t){return!(!t?.[n]?.handleBounds&&!t?.handles?.length||!(t?.computed?.width||t?.width||t?.initialWidth))}function K(t){if(!t)return null;const e=[],n=[];for(const o of t)o.width=o.width??1,o.height=o.height??1,"source"===o.type?e.push(o):"target"===o.type&&n.push(o);return{source:e,target:n}}function U(e,n,o=null){const r=(o?.x??0)+(n.computed?.positionAbsolute?.x??0),i=(o?.y??0)+(n.computed?.positionAbsolute?.y??0),{width:a,height:s}=o??C(n);switch(e){case t.Position.Top:return[r+a/2,i];case t.Position.Right:return[r+a,i+s/2];case t.Position.Bottom:return[r+a/2,i+s];case t.Position.Left:return[r,i+s/2]}}function Q(t,e){return t&&(e?t.find((t=>t.id===e)):t[0])||null}function J(t,e){if(!t)return"";if("string"==typeof t)return t;return`${e?`${e}__`:""}${Object.keys(t).sort().map((e=>`${e}=${t[e]}`)).join("&")}`}function tt(t,e,o=[0,0],r){return t.map((i=>{if(i.parentNode&&!e.has(i.parentNode))throw new Error(`Parent node ${i.parentNode} not found`);if(i.parentNode||r?.[i.id]){const a=i.parentNode?e.get(i.parentNode):null,{x:s,y:u,z:c}=et(i,t,e,{...i.position,z:i[n]?.z??0},a?.origin||o),l=s!==i.computed?.positionAbsolute?.x||u!==i.computed?.positionAbsolute?.y;i.computed.positionAbsolute=l?{x:s,y:u}:i.computed?.positionAbsolute,i[n].z=c,r?.[i.id]&&(i[n].isParent=!0)}return i}))}function et(t,e,o,r,i){if(!t.parentNode)return r;const a=o.get(t.parentNode),{position:s}=h(a,a?.origin||i);return et(a,e,o,{x:(r.x??0)+s.x,y:(r.y??0)+s.y,z:(a[n]?.z??0)>(r.z??0)?a[n]?.z??0:r.z??0},a.origin||i)}var nt={value:()=>{}};function ot(){for(var t,e=0,n=arguments.length,o={};e<n;++e){if(!(t=arguments[e]+"")||t in o||/[\s.]/.test(t))throw new Error("illegal type: "+t);o[t]=[]}return new rt(o)}function rt(t){this._=t}function it(t,e){for(var n,o=0,r=t.length;o<r;++o)if((n=t[o]).name===e)return n.value}function at(t,e,n){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=nt,t=t.slice(0,o).concat(t.slice(o+1));break}return null!=n&&t.push({name:e,value:n}),t}rt.prototype=ot.prototype={constructor:rt,on:function(t,e){var n,o,r=this._,i=(o=r,(t+"").trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!o.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),a=-1,s=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<s;)if(n=(t=i[a]).type)r[n]=at(r[n],t.name,e);else if(null==e)for(n in r)r[n]=at(r[n],t.name,null);return this}for(;++a<s;)if((n=(t=i[a]).type)&&(n=it(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new rt(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,o,r=new Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,n=(o=this._[t]).length;i<n;++i)o[i].value.apply(e,r)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(e,n)}};var st="http://www.w3.org/1999/xhtml",ut={svg:"http://www.w3.org/2000/svg",xhtml:st,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ct(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),ut.hasOwnProperty(e)?{space:ut[e],local:t}:t}function lt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===st&&e.documentElement.namespaceURI===st?e.createElement(t):e.createElementNS(n,t)}}function ht(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function dt(t){var e=ct(t);return(e.local?ht:lt)(e)}function ft(){}function pt(t){return null==t?ft:function(){return this.querySelector(t)}}function gt(){return[]}function mt(t){return null==t?gt:function(){return this.querySelectorAll(t)}}function yt(t){return function(){return null==(e=t.apply(this,arguments))?[]:Array.isArray(e)?e:Array.from(e);var e}}function vt(t){return function(){return this.matches(t)}}function xt(t){return function(e){return e.matches(t)}}var wt=Array.prototype.find;function _t(){return this.firstElementChild}var bt=Array.prototype.filter;function Mt(){return Array.from(this.children)}function Pt(t){return new Array(t.length)}function Et(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function St(t,e,n,o,r,i){for(var a,s=0,u=e.length,c=i.length;s<c;++s)(a=e[s])?(a.__data__=i[s],o[s]=a):n[s]=new Et(t,i[s]);for(;s<u;++s)(a=e[s])&&(r[s]=a)}function Nt(t,e,n,o,r,i,a){var s,u,c,l=new Map,h=e.length,d=i.length,f=new Array(h);for(s=0;s<h;++s)(u=e[s])&&(f[s]=c=a.call(u,u.__data__,s,e)+"",l.has(c)?r[s]=u:l.set(c,u));for(s=0;s<d;++s)c=a.call(t,i[s],s,i)+"",(u=l.get(c))?(o[s]=u,u.__data__=i[s],l.delete(c)):n[s]=new Et(t,i[s]);for(s=0;s<h;++s)(u=e[s])&&l.get(f[s])===u&&(r[s]=u)}function zt(t){return t.__data__}function At(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function kt(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Tt(t){return function(){this.removeAttribute(t)}}function $t(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ct(t,e){return function(){this.setAttribute(t,e)}}function Ot(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function It(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function Ht(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Xt(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Yt(t){return function(){this.style.removeProperty(t)}}function Rt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Bt(t,e,n){return function(){var o=e.apply(this,arguments);null==o?this.style.removeProperty(t):this.style.setProperty(t,o,n)}}function Dt(t,e){return t.style.getPropertyValue(e)||Xt(t).getComputedStyle(t,null).getPropertyValue(e)}function Vt(t){return function(){delete this[t]}}function Lt(t,e){return function(){this[t]=e}}function qt(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Zt(t){return t.trim().split(/^|\s+/)}function Gt(t){return t.classList||new jt(t)}function jt(t){this._node=t,this._names=Zt(t.getAttribute("class")||"")}function Wt(t,e){for(var n=Gt(t),o=-1,r=e.length;++o<r;)n.add(e[o])}function Ft(t,e){for(var n=Gt(t),o=-1,r=e.length;++o<r;)n.remove(e[o])}function Kt(t){return function(){Wt(this,t)}}function Ut(t){return function(){Ft(this,t)}}function Qt(t,e){return function(){(e.apply(this,arguments)?Wt:Ft)(this,t)}}function Jt(){this.textContent=""}function te(t){return function(){this.textContent=t}}function ee(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ne(){this.innerHTML=""}function oe(t){return function(){this.innerHTML=t}}function re(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function ie(){this.nextSibling&&this.parentNode.appendChild(this)}function ae(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function se(){return null}function ue(){var t=this.parentNode;t&&t.removeChild(this)}function ce(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function le(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function he(t){return function(){var e=this.__on;if(e){for(var n,o=0,r=-1,i=e.length;o<i;++o)n=e[o],t.type&&n.type!==t.type||n.name!==t.name?e[++r]=n:this.removeEventListener(n.type,n.listener,n.options);++r?e.length=r:delete this.__on}}}function de(t,e,n){return function(){var o,r=this.__on,i=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(r)for(var a=0,s=r.length;a<s;++a)if((o=r[a]).type===t.type&&o.name===t.name)return this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),void(o.value=e);this.addEventListener(t.type,i,n),o={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(o):this.__on=[o]}}function fe(t,e,n){var o=Xt(t),r=o.CustomEvent;"function"==typeof r?r=new r(e,n):(r=o.document.createEvent("Event"),n?(r.initEvent(e,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function pe(t,e){return function(){return fe(this,t,e)}}function ge(t,e){return function(){return fe(this,t,e.apply(this,arguments))}}Et.prototype={constructor:Et,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},jt.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var me=[null];function ye(t,e){this._groups=t,this._parents=e}function ve(){return new ye([[document.documentElement]],me)}function xe(t){return"string"==typeof t?new ye([[document.querySelector(t)]],[document.documentElement]):new ye([[t]],me)}function we(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,[(o=o.matrixTransform(e.getScreenCTM().inverse())).x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}ye.prototype=ve.prototype={constructor:ye,select:function(t){"function"!=typeof t&&(t=pt(t));for(var e=this._groups,n=e.length,o=new Array(n),r=0;r<n;++r)for(var i,a,s=e[r],u=s.length,c=o[r]=new Array(u),l=0;l<u;++l)(i=s[l])&&(a=t.call(i,i.__data__,l,s))&&("__data__"in i&&(a.__data__=i.__data__),c[l]=a);return new ye(o,this._parents)},selectAll:function(t){t="function"==typeof t?yt(t):mt(t);for(var e=this._groups,n=e.length,o=[],r=[],i=0;i<n;++i)for(var a,s=e[i],u=s.length,c=0;c<u;++c)(a=s[c])&&(o.push(t.call(a,a.__data__,c,s)),r.push(a));return new ye(o,r)},selectChild:function(t){return this.select(null==t?_t:function(t){return function(){return wt.call(this.children,t)}}("function"==typeof t?t:xt(t)))},selectChildren:function(t){return this.selectAll(null==t?Mt:function(t){return function(){return bt.call(this.children,t)}}("function"==typeof t?t:xt(t)))},filter:function(t){"function"!=typeof t&&(t=vt(t));for(var e=this._groups,n=e.length,o=new Array(n),r=0;r<n;++r)for(var i,a=e[r],s=a.length,u=o[r]=[],c=0;c<s;++c)(i=a[c])&&t.call(i,i.__data__,c,a)&&u.push(i);return new ye(o,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,zt);var n,o=e?Nt:St,r=this._parents,i=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var a=i.length,s=new Array(a),u=new Array(a),c=new Array(a),l=0;l<a;++l){var h=r[l],d=i[l],f=d.length,p=At(t.call(h,h&&h.__data__,l,r)),g=p.length,m=u[l]=new Array(g),y=s[l]=new Array(g);o(h,d,m,y,c[l]=new Array(f),p,e);for(var v,x,w=0,_=0;w<g;++w)if(v=m[w]){for(w>=_&&(_=w+1);!(x=y[_])&&++_<g;);v._next=x||null}}return(s=new ye(s,r))._enter=u,s._exit=c,s},enter:function(){return new ye(this._enter||this._groups.map(Pt),this._parents)},exit:function(){return new ye(this._exit||this._groups.map(Pt),this._parents)},join:function(t,e,n){var o=this.enter(),r=this,i=this.exit();return"function"==typeof t?(o=t(o))&&(o=o.selection()):o=o.append(t+""),null!=e&&(r=e(r))&&(r=r.selection()),null==n?i.remove():n(i),o&&r?o.merge(r).order():r},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),s=new Array(r),u=0;u<a;++u)for(var c,l=n[u],h=o[u],d=l.length,f=s[u]=new Array(d),p=0;p<d;++p)(c=l[p]||h[p])&&(f[p]=c);for(;u<r;++u)s[u]=n[u];return new ye(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var o,r=t[e],i=r.length-1,a=r[i];--i>=0;)(o=r[i])&&(a&&4^o.compareDocumentPosition(a)&&a.parentNode.insertBefore(o,a),a=o);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=kt);for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var a,s=n[i],u=s.length,c=r[i]=new Array(u),l=0;l<u;++l)(a=s[l])&&(c[l]=a);c.sort(e)}return new ye(r,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var o=t[e],r=0,i=o.length;r<i;++r){var a=o[r];if(a)return a}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r,i=e[n],a=0,s=i.length;a<s;++a)(r=i[a])&&t.call(r,r.__data__,a,i);return this},attr:function(t,e){var n=ct(t);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((null==e?n.local?$t:Tt:"function"==typeof e?n.local?Ht:It:n.local?Ot:Ct)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?Yt:"function"==typeof e?Bt:Rt)(t,e,null==n?"":n)):Dt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Vt:"function"==typeof e?qt:Lt)(t,e)):this.node()[t]},classed:function(t,e){var n=Zt(t+"");if(arguments.length<2){for(var o=Gt(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each(("function"==typeof e?Qt:e?Kt:Ut)(n,e))},text:function(t){return arguments.length?this.each(null==t?Jt:("function"==typeof t?ee:te)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ne:("function"==typeof t?re:oe)(t)):this.node().innerHTML},raise:function(){return this.each(ie)},lower:function(){return this.each(ae)},append:function(t){var e="function"==typeof t?t:dt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:dt(t),o=null==e?se:"function"==typeof e?e:pt(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)}))},remove:function(){return this.each(ue)},clone:function(t){return this.select(t?le:ce)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var o,r,i=function(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),a=i.length;if(!(arguments.length<2)){for(s=e?de:he,o=0;o<a;++o)this.each(s(i[o],e,n));return this}var s=this.node().__on;if(s)for(var u,c=0,l=s.length;c<l;++c)for(o=0,u=s[c];o<a;++o)if((r=i[o]).type===u.type&&r.name===u.name)return u.value},dispatch:function(t,e){return this.each(("function"==typeof e?ge:pe)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var o,r=t[e],i=0,a=r.length;i<a;++i)(o=r[i])&&(yield o)}};const _e={passive:!1},be={capture:!0,passive:!1};function Me(t){t.stopImmediatePropagation()}function Pe(t){t.preventDefault(),t.stopImmediatePropagation()}function Ee(t){var e=t.document.documentElement,n=xe(t).on("dragstart.drag",Pe,be);"onselectstart"in e?n.on("selectstart.drag",Pe,be):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Se(t,e){var n=t.document.documentElement,o=xe(t).on("dragstart.drag",null);e&&(o.on("click.drag",Pe,be),setTimeout((function(){o.on("click.drag",null)}),0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Ne=t=>()=>t;function ze(t,{sourceEvent:e,subject:n,target:o,identifier:r,active:i,x:a,y:s,dx:u,dy:c,dispatch:l}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:l}})}function Ae(t){return!t.ctrlKey&&!t.button}function ke(){return this.parentNode}function Te(t,e){return null==e?{x:t.x,y:t.y}:e}function $e(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ce(){var t,e,n,o,r=Ae,i=ke,a=Te,s=$e,u={},c=ot("start","drag","end"),l=0,h=0;function d(t){t.on("mousedown.drag",f).filter(s).on("touchstart.drag",m).on("touchmove.drag",y,_e).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(a,s){if(!o&&r.call(this,a,s)){var u=x(this,i.call(this,a,s),a,s,"mouse");u&&(xe(a.view).on("mousemove.drag",p,be).on("mouseup.drag",g,be),Ee(a.view),Me(a),n=!1,t=a.clientX,e=a.clientY,u("start",a))}}function p(o){if(Pe(o),!n){var r=o.clientX-t,i=o.clientY-e;n=r*r+i*i>h}u.mouse("drag",o)}function g(t){xe(t.view).on("mousemove.drag mouseup.drag",null),Se(t.view,n),Pe(t),u.mouse("end",t)}function m(t,e){if(r.call(this,t,e)){var n,o,a=t.changedTouches,s=i.call(this,t,e),u=a.length;for(n=0;n<u;++n)(o=x(this,s,t,e,a[n].identifier,a[n]))&&(Me(t),o("start",t,a[n]))}}function y(t){var e,n,o=t.changedTouches,r=o.length;for(e=0;e<r;++e)(n=u[o[e].identifier])&&(Pe(t),n("drag",t,o[e]))}function v(t){var e,n,r=t.changedTouches,i=r.length;for(o&&clearTimeout(o),o=setTimeout((function(){o=null}),500),e=0;e<i;++e)(n=u[r[e].identifier])&&(Me(t),n("end",t,r[e]))}function x(t,e,n,o,r,i){var s,h,f,p=c.copy(),g=we(i||n,e);if(null!=(f=a.call(t,new ze("beforestart",{sourceEvent:n,target:d,identifier:r,active:l,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),o)))return s=f.x-g[0]||0,h=f.y-g[1]||0,function n(i,a,c){var m,y=g;switch(i){case"start":u[r]=n,m=l++;break;case"end":delete u[r],--l;case"drag":g=we(c||a,e),m=l}p.call(i,t,new ze(i,{sourceEvent:a,subject:f,target:d,identifier:r,active:m,x:g[0]+s,y:g[1]+h,dx:g[0]-y[0],dy:g[1]-y[1],dispatch:p}),o)}}return d.filter=function(t){return arguments.length?(r="function"==typeof t?t:Ne(!!t),d):r},d.container=function(t){return arguments.length?(i="function"==typeof t?t:Ne(t),d):i},d.subject=function(t){return arguments.length?(a="function"==typeof t?t:Ne(t),d):a},d.touchable=function(t){return arguments.length?(s="function"==typeof t?t:Ne(!!t),d):s},d.on=function(){var t=c.on.apply(c,arguments);return t===c?d:t},d.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,d):Math.sqrt(h)},d}function Oe(t){return(e,n,o)=>t?.(e,o)}function Ie(t,e){if(!t.parentNode)return!1;const n=e.find((t=>t.id===t.parentNode));return!!n&&(!!n.selected||Ie(n,e))}function He(t,e,n){let o=t;do{if(o?.matches(e))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function Xe(t,e,n,o){return t.filter((n=>(n.selected||n.id===o)&&(!n.parentNode||!Ie(n,t))&&(n.draggable||e&&void 0===n.draggable))).map((t=>({id:t.id,position:t.position||{x:0,y:0},distance:{x:n.x-(t.computed?.positionAbsolute?.x??0),y:n.y-(t.computed?.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:t.extent,parentNode:t.parentNode,origin:t.origin,expandParent:t.expandParent,computed:{positionAbsolute:t.computed?.positionAbsolute||{x:0,y:0},width:t.computed?.width||0,height:t.computed?.height||0}})))}function Ye({nodeId:t,dragItems:e,nodeLookup:n}){const o=e.map((t=>({...n.get(t.id),position:t.position,computed:{...t.computed,positionAbsolute:t.computed.positionAbsolute}})));return[t?o.find((e=>e.id===t)):o[0],o]}function Re(t,e,n,o){return(e[n]||[]).reduce(((e,r)=>(`${t.id}-${r.id}-${n}`!==o&&e.push({id:r.id||null,type:n,nodeId:t.id,x:(t.computed?.positionAbsolute?.x??0)+r.x+r.width/2,y:(t.computed?.positionAbsolute?.y??0)+r.y+r.height/2}),e)),[])}function Be(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function De(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}ze.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};const Ve=()=>!0;let Le=null;function qe(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:s,lib:u,flowId:c,isValidConnection:l=Ve}){const h="target"===a,d=n?s.querySelector(`.${u}-flow__handle[data-id="${c}-${n?.nodeId}-${n?.id}-${n?.type}"]`):null,{x:f,y:p}=R(e),g=s.elementFromPoint(f,p),m=g?.classList.contains(`${u}-flow__handle`)?g:d,y={handleDomNode:m,isValid:!1,connection:null,endHandle:null};if(m){const e=Be(void 0,m),n=m.getAttribute("data-nodeid"),a=m.getAttribute("data-handleid"),s=m.classList.contains("connectable"),u=m.classList.contains("connectableend");if(!n)return y;const c={source:h?n:r,sourceHandle:h?a:i,target:h?r:n,targetHandle:h?i:a};y.connection=c;s&&u&&(o===t.ConnectionMode.Strict?h&&"source"===e||!h&&"target"===e:n!==r||a!==i)&&(y.endHandle={nodeId:n,handleId:a,type:e},y.isValid=l(c))}return y}const Ze={onPointerDown:function(t,{connectionMode:e,connectionRadius:o,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:s,domNode:u,nodes:c,lib:l,autoPanOnConnect:h,flowId:d,panBy:f,cancelConnection:p,onConnectStart:g,onConnect:m,onConnectEnd:y,isValidConnection:x=Ve,onEdgeUpdateEnd:w,updateConnection:_,getTransform:b}){const M=H(t.target);let P,E=0;const{x:S,y:N}=R(t),k=M?.elementFromPoint(S,N),T=Be(a,k),$=u?.getBoundingClientRect();if(!$||!T)return;let C=R(t,$),O=!1,I=null,X=!1,Y=null;const B=function({nodes:t,nodeId:e,handleId:o,handleType:r}){return t.reduce(((t,i)=>{if(i[n]){const{handleBounds:a}=i[n];let s=[],u=[];a&&(s=Re(i,a,"source",`${e}-${o}-${r}`),u=Re(i,a,"target",`${e}-${o}-${r}`)),t.push(...s,...u)}return t}),[])}({nodes:c,nodeId:i,handleId:r,handleType:T});function D(){if(!h||!$)return;const[t,e]=v(C,$);f({x:t,y:e}),E=requestAnimationFrame(D)}function V(t){const n=b();C=R(t,$),P=function(t,e,n){let o=[],r=1/0;for(const i of n){const n=Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2));n<=e&&(n<r?o=[i]:n===r&&o.push(i),r=n)}return o.length?1===o.length?o[0]:o.find((t=>"target"===t.type))||o[0]:null}(z(C,n,!1,[1,1]),o,B),O||(D(),O=!0);const a=qe(t,{handle:P,connectionMode:e,fromNodeId:i,fromHandleId:r,fromType:s?"target":"source",isValidConnection:x,doc:M,lib:l,flowId:d});Y=a.handleDomNode,I=a.connection,X=a.isValid,_({connectionStartHandle:Le,connectionPosition:P&&X?A({x:P.x,y:P.y},n):C,connectionStatus:De(!!P,X),connectionEndHandle:a.endHandle})}function L(t){(P||Y)&&I&&X&&m?.(I),y?.(t),a&&w?.(t),p(),cancelAnimationFrame(E),O=!1,X=!1,I=null,Y=null,Le=null,M.removeEventListener("mousemove",V),M.removeEventListener("mouseup",L),M.removeEventListener("touchmove",V),M.removeEventListener("touchend",L)}Le={nodeId:i,handleId:r,type:T},_({connectionPosition:C,connectionStatus:null,connectionStartHandle:Le,connectionEndHandle:null}),g?.(t,{nodeId:i,handleId:r,handleType:T}),M.addEventListener("mousemove",V),M.addEventListener("mouseup",L),M.addEventListener("touchmove",V),M.addEventListener("touchend",L)},isValid:qe};function Ge(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function je(t,e){var n=Object.create(t.prototype);for(var o in e)n[o]=e[o];return n}function We(){}var Fe=.7,Ke=1/Fe,Ue="\\s*([+-]?\\d+)\\s*",Qe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Je="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tn=/^#([0-9a-f]{3,8})$/,en=new RegExp(`^rgb\\(${Ue},${Ue},${Ue}\\)$`),nn=new RegExp(`^rgb\\(${Je},${Je},${Je}\\)$`),on=new RegExp(`^rgba\\(${Ue},${Ue},${Ue},${Qe}\\)$`),rn=new RegExp(`^rgba\\(${Je},${Je},${Je},${Qe}\\)$`),an=new RegExp(`^hsl\\(${Qe},${Je},${Je}\\)$`),sn=new RegExp(`^hsla\\(${Qe},${Je},${Je},${Qe}\\)$`),un={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function cn(){return this.rgb().formatHex()}function ln(){return this.rgb().formatRgb()}function hn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=tn.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?dn(e):3===n?new gn(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?fn(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?fn(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=en.exec(t))?new gn(e[1],e[2],e[3],1):(e=nn.exec(t))?new gn(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=on.exec(t))?fn(e[1],e[2],e[3],e[4]):(e=rn.exec(t))?fn(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=an.exec(t))?_n(e[1],e[2]/100,e[3]/100,1):(e=sn.exec(t))?_n(e[1],e[2]/100,e[3]/100,e[4]):un.hasOwnProperty(t)?dn(un[t]):"transparent"===t?new gn(NaN,NaN,NaN,0):null}function dn(t){return new gn(t>>16&255,t>>8&255,255&t,1)}function fn(t,e,n,o){return o<=0&&(t=e=n=NaN),new gn(t,e,n,o)}function pn(t,e,n,o){return 1===arguments.length?((r=t)instanceof We||(r=hn(r)),r?new gn((r=r.rgb()).r,r.g,r.b,r.opacity):new gn):new gn(t,e,n,null==o?1:o);var r}function gn(t,e,n,o){this.r=+t,this.g=+e,this.b=+n,this.opacity=+o}function mn(){return`#${wn(this.r)}${wn(this.g)}${wn(this.b)}`}function yn(){const t=vn(this.opacity);return`${1===t?"rgb(":"rgba("}${xn(this.r)}, ${xn(this.g)}, ${xn(this.b)}${1===t?")":`, ${t})`}`}function vn(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function xn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wn(t){return((t=xn(t))<16?"0":"")+t.toString(16)}function _n(t,e,n,o){return o<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Mn(t,e,n,o)}function bn(t){if(t instanceof Mn)return new Mn(t.h,t.s,t.l,t.opacity);if(t instanceof We||(t=hn(t)),!t)return new Mn;if(t instanceof Mn)return t;var e=(t=t.rgb()).r/255,n=t.g/255,o=t.b/255,r=Math.min(e,n,o),i=Math.max(e,n,o),a=NaN,s=i-r,u=(i+r)/2;return s?(a=e===i?(n-o)/s+6*(n<o):n===i?(o-e)/s+2:(e-n)/s+4,s/=u<.5?i+r:2-i-r,a*=60):s=u>0&&u<1?0:a,new Mn(a,s,u,t.opacity)}function Mn(t,e,n,o){this.h=+t,this.s=+e,this.l=+n,this.opacity=+o}function Pn(t){return(t=(t||0)%360)<0?t+360:t}function En(t){return Math.max(0,Math.min(1,t||0))}function Sn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Ge(We,hn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:cn,formatHex:cn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return bn(this).formatHsl()},formatRgb:ln,toString:ln}),Ge(gn,pn,je(We,{brighter(t){return t=null==t?Ke:Math.pow(Ke,t),new gn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Fe:Math.pow(Fe,t),new gn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new gn(xn(this.r),xn(this.g),xn(this.b),vn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:mn,formatHex:mn,formatHex8:function(){return`#${wn(this.r)}${wn(this.g)}${wn(this.b)}${wn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:yn,toString:yn})),Ge(Mn,(function(t,e,n,o){return 1===arguments.length?bn(t):new Mn(t,e,n,null==o?1:o)}),je(We,{brighter(t){return t=null==t?Ke:Math.pow(Ke,t),new Mn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Fe:Math.pow(Fe,t),new Mn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*e,r=2*n-o;return new gn(Sn(t>=240?t-240:t+120,r,o),Sn(t,r,o),Sn(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new Mn(Pn(this.h),En(this.s),En(this.l),vn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=vn(this.opacity);return`${1===t?"hsl(":"hsla("}${Pn(this.h)}, ${100*En(this.s)}%, ${100*En(this.l)}%${1===t?")":`, ${t})`}`}}));var Nn=t=>()=>t;function zn(t){return 1==(t=+t)?An:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(o){return Math.pow(t+o*e,n)}}(e,n,t):Nn(isNaN(e)?n:e)}}function An(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):Nn(isNaN(t)?e:t)}var kn=function t(e){var n=zn(e);function o(t,e){var o=n((t=pn(t)).r,(e=pn(e)).r),r=n(t.g,e.g),i=n(t.b,e.b),a=An(t.opacity,e.opacity);return function(e){return t.r=o(e),t.g=r(e),t.b=i(e),t.opacity=a(e),t+""}}return o.gamma=t,o}(1);function Tn(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var $n=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cn=new RegExp($n.source,"g");function On(t,e){var n,o,r,i=$n.lastIndex=Cn.lastIndex=0,a=-1,s=[],u=[];for(t+="",e+="";(n=$n.exec(t))&&(o=Cn.exec(e));)(r=o.index)>i&&(r=e.slice(i,r),s[a]?s[a]+=r:s[++a]=r),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,u.push({i:a,x:Tn(n,o)})),i=Cn.lastIndex;return i<e.length&&(r=e.slice(i),s[a]?s[a]+=r:s[++a]=r),s.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,o=0;o<e;++o)s[(n=u[o]).i]=n.x(t);return s.join("")})}var In,Hn=180/Math.PI,Xn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yn(t,e,n,o,r,i){var a,s,u;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(u=t*n+e*o)&&(n-=t*u,o-=e*u),(s=Math.sqrt(n*n+o*o))&&(n/=s,o/=s,u/=s),t*o<e*n&&(t=-t,e=-e,u=-u,a=-a),{translateX:r,translateY:i,rotate:Math.atan2(e,t)*Hn,skewX:Math.atan(u)*Hn,scaleX:a,scaleY:s}}function Rn(t,e,n,o){function r(t){return t.length?t.pop()+" ":""}return function(i,a){var s=[],u=[];return i=t(i),a=t(a),function(t,o,r,i,a,s){if(t!==r||o!==i){var u=a.push("translate(",null,e,null,n);s.push({i:u-4,x:Tn(t,r)},{i:u-2,x:Tn(o,i)})}else(r||i)&&a.push("translate("+r+e+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,s,u),function(t,e,n,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:n.push(r(n)+"rotate(",null,o)-2,x:Tn(t,e)})):e&&n.push(r(n)+"rotate("+e+o)}(i.rotate,a.rotate,s,u),function(t,e,n,i){t!==e?i.push({i:n.push(r(n)+"skewX(",null,o)-2,x:Tn(t,e)}):e&&n.push(r(n)+"skewX("+e+o)}(i.skewX,a.skewX,s,u),function(t,e,n,o,i,a){if(t!==n||e!==o){var s=i.push(r(i)+"scale(",null,",",null,")");a.push({i:s-4,x:Tn(t,n)},{i:s-2,x:Tn(e,o)})}else 1===n&&1===o||i.push(r(i)+"scale("+n+","+o+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,s,u),i=a=null,function(t){for(var e,n=-1,o=u.length;++n<o;)s[(e=u[n]).i]=e.x(t);return s.join("")}}}var Bn=Rn((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Xn:Yn(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),Dn=Rn((function(t){return null==t?Xn:(In||(In=document.createElementNS("http://www.w3.org/2000/svg","g")),In.setAttribute("transform",t),(t=In.transform.baseVal.consolidate())?Yn((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Xn)}),", ",")",")");function Vn(t){return((t=Math.exp(t))+1/t)/2}var Ln,qn,Zn=function t(e,n,o){function r(t,r){var i,a,s=t[0],u=t[1],c=t[2],l=r[0],h=r[1],d=r[2],f=l-s,p=h-u,g=f*f+p*p;if(g<1e-12)a=Math.log(d/c)/e,i=function(t){return[s+t*f,u+t*p,c*Math.exp(e*t*a)]};else{var m=Math.sqrt(g),y=(d*d-c*c+o*g)/(2*c*n*m),v=(d*d-c*c-o*g)/(2*d*n*m),x=Math.log(Math.sqrt(y*y+1)-y),w=Math.log(Math.sqrt(v*v+1)-v);a=(w-x)/e,i=function(t){var o,r=t*a,i=Vn(x),l=c/(n*m)*(i*(o=e*r+x,((o=Math.exp(2*o))-1)/(o+1))-function(t){return((t=Math.exp(t))-1/t)/2}(x));return[s+l*f,u+l*p,c*i/Vn(e*r+x)]}}return i.duration=1e3*a*e/Math.SQRT2,i}return r.rho=function(e){var n=Math.max(.001,+e),o=n*n;return t(n,o,o*o)},r}(Math.SQRT2,2,4),Gn=0,jn=0,Wn=0,Fn=1e3,Kn=0,Un=0,Qn=0,Jn="object"==typeof performance&&performance.now?performance:Date,to="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function eo(){return Un||(to(no),Un=Jn.now()+Qn)}function no(){Un=0}function oo(){this._call=this._time=this._next=null}function ro(t,e,n){var o=new oo;return o.restart(t,e,n),o}function io(){Un=(Kn=Jn.now())+Qn,Gn=jn=0;try{!function(){eo(),++Gn;for(var t,e=Ln;e;)(t=Un-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Gn}()}finally{Gn=0,function(){var t,e,n=Ln,o=1/0;for(;n;)n._call?(o>n._time&&(o=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Ln=e);qn=t,so(o)}(),Un=0}}function ao(){var t=Jn.now(),e=t-Kn;e>Fn&&(Qn-=e,Kn=t)}function so(t){Gn||(jn&&(jn=clearTimeout(jn)),t-Un>24?(t<1/0&&(jn=setTimeout(io,t-Jn.now()-Qn)),Wn&&(Wn=clearInterval(Wn))):(Wn||(Kn=Jn.now(),Wn=setInterval(ao,Fn)),Gn=1,to(io)))}function uo(t,e,n){var o=new oo;return e=null==e?0:+e,o.restart((n=>{o.stop(),t(n+e)}),e,n),o}oo.prototype=ro.prototype={constructor:oo,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?eo():+n)+(null==e?0:+e),this._next||qn===this||(qn?qn._next=this:Ln=this,qn=this),this._call=t,this._time=n,so()},stop:function(){this._call&&(this._call=null,this._time=1/0,so())}};var co=ot("start","end","cancel","interrupt"),lo=[],ho=0,fo=1,po=2,go=3,mo=4,yo=5,vo=6;function xo(t,e,n,o,r,i){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var o,r=t.__transition;function i(t){n.state=fo,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}function a(i){var c,l,h,d;if(n.state!==fo)return u();for(c in r)if((d=r[c]).name===n.name){if(d.state===go)return uo(a);d.state===mo?(d.state=vo,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete r[c]):+c<e&&(d.state=vo,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete r[c])}if(uo((function(){n.state===go&&(n.state=mo,n.timer.restart(s,n.delay,n.time),s(i))})),n.state=po,n.on.call("start",t,t.__data__,n.index,n.group),n.state===po){for(n.state=go,o=new Array(h=n.tween.length),c=0,l=-1;c<h;++c)(d=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(o[++l]=d);o.length=l+1}}function s(e){for(var r=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(u),n.state=yo,1),i=-1,a=o.length;++i<a;)o[i].call(t,r);n.state===yo&&(n.on.call("end",t,t.__data__,n.index,n.group),u())}function u(){for(var o in n.state=vo,n.timer.stop(),delete r[e],r)return;delete t.__transition}r[e]=n,n.timer=ro(i,0,n.time)}(t,n,{name:e,index:o,group:r,on:co,tween:lo,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:ho})}function wo(t,e){var n=bo(t,e);if(n.state>ho)throw new Error("too late; already scheduled");return n}function _o(t,e){var n=bo(t,e);if(n.state>go)throw new Error("too late; already running");return n}function bo(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Mo(t,e){var n,o,r,i=t.__transition,a=!0;if(i){for(r in e=null==e?null:e+"",i)(n=i[r]).name===e?(o=n.state>po&&n.state<yo,n.state=vo,n.timer.stop(),n.on.call(o?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete i[r]):a=!1;a&&delete t.__transition}}function Po(t,e){var n,o;return function(){var r=_o(this,t),i=r.tween;if(i!==n)for(var a=0,s=(o=n=i).length;a<s;++a)if(o[a].name===e){(o=o.slice()).splice(a,1);break}r.tween=o}}function Eo(t,e,n){var o,r;if("function"!=typeof n)throw new Error;return function(){var i=_o(this,t),a=i.tween;if(a!==o){r=(o=a).slice();for(var s={name:e,value:n},u=0,c=r.length;u<c;++u)if(r[u].name===e){r[u]=s;break}u===c&&r.push(s)}i.tween=r}}function So(t,e,n){var o=t._id;return t.each((function(){var t=_o(this,o);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return bo(t,o).value[e]}}function No(t,e){var n;return("number"==typeof e?Tn:e instanceof hn?kn:(n=hn(e))?(e=n,kn):On)(t,e)}function zo(t){return function(){this.removeAttribute(t)}}function Ao(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ko(t,e,n){var o,r,i=n+"";return function(){var a=this.getAttribute(t);return a===i?null:a===o?r:r=e(o=a,n)}}function To(t,e,n){var o,r,i=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===o?r:r=e(o=a,n)}}function $o(t,e,n){var o,r,i;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttribute(t))===(s=u+"")?null:a===o&&s===r?i:(r=s,i=e(o=a,u));this.removeAttribute(t)}}function Co(t,e,n){var o,r,i;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttributeNS(t.space,t.local))===(s=u+"")?null:a===o&&s===r?i:(r=s,i=e(o=a,u));this.removeAttributeNS(t.space,t.local)}}function Oo(t,e){var n,o;function r(){var r=e.apply(this,arguments);return r!==o&&(n=(o=r)&&function(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}(t,r)),n}return r._value=e,r}function Io(t,e){var n,o;function r(){var r=e.apply(this,arguments);return r!==o&&(n=(o=r)&&function(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}(t,r)),n}return r._value=e,r}function Ho(t,e){return function(){wo(this,t).delay=+e.apply(this,arguments)}}function Xo(t,e){return e=+e,function(){wo(this,t).delay=e}}function Yo(t,e){return function(){_o(this,t).duration=+e.apply(this,arguments)}}function Ro(t,e){return e=+e,function(){_o(this,t).duration=e}}var Bo=ve.prototype.constructor;function Do(t){return function(){this.style.removeProperty(t)}}var Vo=0;function Lo(t,e,n,o){this._groups=t,this._parents=e,this._name=n,this._id=o}function qo(){return++Vo}var Zo=ve.prototype;Lo.prototype={constructor:Lo,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=pt(t));for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a)for(var s,u,c=o[a],l=c.length,h=i[a]=new Array(l),d=0;d<l;++d)(s=c[d])&&(u=t.call(s,s.__data__,d,c))&&("__data__"in s&&(u.__data__=s.__data__),h[d]=u,xo(h[d],e,n,d,h,bo(s,n)));return new Lo(i,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=mt(t));for(var o=this._groups,r=o.length,i=[],a=[],s=0;s<r;++s)for(var u,c=o[s],l=c.length,h=0;h<l;++h)if(u=c[h]){for(var d,f=t.call(u,u.__data__,h,c),p=bo(u,n),g=0,m=f.length;g<m;++g)(d=f[g])&&xo(d,e,n,g,f,p);i.push(f),a.push(u)}return new Lo(i,a,e,n)},selectChild:Zo.selectChild,selectChildren:Zo.selectChildren,filter:function(t){"function"!=typeof t&&(t=vt(t));for(var e=this._groups,n=e.length,o=new Array(n),r=0;r<n;++r)for(var i,a=e[r],s=a.length,u=o[r]=[],c=0;c<s;++c)(i=a[c])&&t.call(i,i.__data__,c,a)&&u.push(i);return new Lo(o,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,o=e.length,r=n.length,i=Math.min(o,r),a=new Array(o),s=0;s<i;++s)for(var u,c=e[s],l=n[s],h=c.length,d=a[s]=new Array(h),f=0;f<h;++f)(u=c[f]||l[f])&&(d[f]=u);for(;s<o;++s)a[s]=e[s];return new Lo(a,this._parents,this._name,this._id)},selection:function(){return new Bo(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=qo(),o=this._groups,r=o.length,i=0;i<r;++i)for(var a,s=o[i],u=s.length,c=0;c<u;++c)if(a=s[c]){var l=bo(a,e);xo(a,t,n,c,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Lo(o,this._parents,t,n)},call:Zo.call,nodes:Zo.nodes,node:Zo.node,size:Zo.size,empty:Zo.empty,each:Zo.each,on:function(t,e){var n=this._id;return arguments.length<2?bo(this.node(),n).on.on(t):this.each(function(t,e,n){var o,r,i=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?wo:_o;return function(){var a=i(this,t),s=a.on;s!==o&&(r=(o=s).copy()).on(e,n),a.on=r}}(n,t,e))},attr:function(t,e){var n=ct(t),o="transform"===n?Dn:No;return this.attrTween(t,"function"==typeof e?(n.local?Co:$o)(n,o,So(this,"attr."+t,e)):null==e?(n.local?Ao:zo)(n):(n.local?To:ko)(n,o,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var o=ct(t);return this.tween(n,(o.local?Oo:Io)(o,e))},style:function(t,e,n){var o="transform"==(t+="")?Bn:No;return null==e?this.styleTween(t,function(t,e){var n,o,r;return function(){var i=Dt(this,t),a=(this.style.removeProperty(t),Dt(this,t));return i===a?null:i===n&&a===o?r:r=e(n=i,o=a)}}(t,o)).on("end.style."+t,Do(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var o,r,i;return function(){var a=Dt(this,t),s=n(this),u=s+"";return null==s&&(this.style.removeProperty(t),u=s=Dt(this,t)),a===u?null:a===o&&u===r?i:(r=u,i=e(o=a,s))}}(t,o,So(this,"style."+t,e))).each(function(t,e){var n,o,r,i,a="style."+e,s="end."+a;return function(){var u=_o(this,t),c=u.on,l=null==u.value[a]?i||(i=Do(e)):void 0;c===n&&r===l||(o=(n=c).copy()).on(s,r=l),u.on=o}}(this._id,t)):this.styleTween(t,function(t,e,n){var o,r,i=n+"";return function(){var a=Dt(this,t);return a===i?null:a===o?r:r=e(o=a,n)}}(t,o,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(null==e)return this.tween(o,null);if("function"!=typeof e)throw new Error;return this.tween(o,function(t,e,n){var o,r;function i(){var i=e.apply(this,arguments);return i!==r&&(o=(r=i)&&function(t,e,n){return function(o){this.style.setProperty(t,e.call(this,o),n)}}(t,i,n)),o}return i._value=e,i}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(So(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function o(){var o=t.apply(this,arguments);return o!==n&&(e=(n=o)&&function(t){return function(e){this.textContent=t.call(this,e)}}(o)),e}return o._value=t,o}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var o,r=bo(this.node(),n).tween,i=0,a=r.length;i<a;++i)if((o=r[i]).name===t)return o.value;return null}return this.each((null==e?Po:Eo)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Ho:Xo)(e,t)):bo(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Yo:Ro)(e,t)):bo(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){_o(this,t).ease=e}}(e,t)):bo(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;_o(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,o=n._id,r=n.size();return new Promise((function(i,a){var s={value:a},u={value:function(){0==--r&&i()}};n.each((function(){var n=_o(this,o),r=n.on;r!==t&&((e=(t=r).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(u)),n.on=e})),0===r&&i()}))},[Symbol.iterator]:Zo[Symbol.iterator]};var Go={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function jo(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}ve.prototype.interrupt=function(t){return this.each((function(){Mo(this,t)}))},ve.prototype.transition=function(t){var e,n;t instanceof Lo?(e=t._id,t=t._name):(e=qo(),(n=Go).time=eo(),t=null==t?null:t+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var a,s=o[i],u=s.length,c=0;c<u;++c)(a=s[c])&&xo(a,t,e,c,s,n||jo(a,e));return new Lo(o,this._parents,t,e)};var Wo=t=>()=>t;function Fo(t,{sourceEvent:e,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ko(t,e,n){this.k=t,this.x=e,this.y=n}Ko.prototype={constructor:Ko,scale:function(t){return 1===t?this:new Ko(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Ko(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Uo=new Ko(1,0,0);function Qo(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Uo;return t.__zoom}function Jo(t){t.stopImmediatePropagation()}function tr(t){t.preventDefault(),t.stopImmediatePropagation()}function er(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function nr(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function or(){return this.__zoom||Uo}function rr(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function ir(){return navigator.maxTouchPoints||"ontouchstart"in this}function ar(t,e,n){var o=t.invertX(e[0][0])-n[0][0],r=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function sr(){var t,e,n,o=er,r=nr,i=ar,a=rr,s=ir,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],l=250,h=Zn,d=ot("start","zoom","end"),f=500,p=150,g=0,m=10;function y(t){t.property("__zoom",or).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",S).filter(s).on("touchstart.zoom",N).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,e){return(e=Math.max(u[0],Math.min(u[1],e)))===t.k?t:new Ko(e,t.x,t.y)}function x(t,e,n){var o=e[0]-n[0]*t.k,r=e[1]-n[1]*t.k;return o===t.x&&r===t.y?t:new Ko(t.k,o,r)}function w(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function _(t,e,n,o){t.on("start.zoom",(function(){b(this,arguments).event(o).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).event(o).end()})).tween("zoom",(function(){var t=this,i=arguments,a=b(t,i).event(o),s=r.apply(t,i),u=null==n?w(s):"function"==typeof n?n.apply(t,i):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),l=t.__zoom,d="function"==typeof e?e.apply(t,i):e,f=h(l.invert(u).concat(c/l.k),d.invert(u).concat(c/d.k));return function(t){if(1===t)t=d;else{var e=f(t),n=c/e[2];t=new Ko(n,u[0]-e[0]*n,u[1]-e[1]*n)}a.zoom(null,t)}}))}function b(t,e,n){return!n&&t.__zooming||new M(t,e)}function M(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=r.apply(t,e),this.taps=0}function P(t,...e){if(o.apply(this,arguments)){var n=b(this,e).event(t),r=this.__zoom,s=Math.max(u[0],Math.min(u[1],r.k*Math.pow(2,a.apply(this,arguments)))),l=we(t);if(n.wheel)n.mouse[0][0]===l[0]&&n.mouse[0][1]===l[1]||(n.mouse[1]=r.invert(n.mouse[0]=l)),clearTimeout(n.wheel);else{if(r.k===s)return;n.mouse=[l,r.invert(l)],Mo(this),n.start()}tr(t),n.wheel=setTimeout((function(){n.wheel=null,n.end()}),p),n.zoom("mouse",i(x(v(r,s),n.mouse[0],n.mouse[1]),n.extent,c))}}function E(t,...e){if(!n&&o.apply(this,arguments)){var r=t.currentTarget,a=b(this,e,!0).event(t),s=xe(t.view).on("mousemove.zoom",(function(t){if(tr(t),!a.moved){var e=t.clientX-l,n=t.clientY-h;a.moved=e*e+n*n>g}a.event(t).zoom("mouse",i(x(a.that.__zoom,a.mouse[0]=we(t,r),a.mouse[1]),a.extent,c))}),!0).on("mouseup.zoom",(function(t){s.on("mousemove.zoom mouseup.zoom",null),Se(t.view,a.moved),tr(t),a.event(t).end()}),!0),u=we(t,r),l=t.clientX,h=t.clientY;Ee(t.view),Jo(t),a.mouse=[u,this.__zoom.invert(u)],Mo(this),a.start()}}function S(t,...e){if(o.apply(this,arguments)){var n=this.__zoom,a=we(t.changedTouches?t.changedTouches[0]:t,this),s=n.invert(a),u=n.k*(t.shiftKey?.5:2),h=i(x(v(n,u),a,s),r.apply(this,e),c);tr(t),l>0?xe(this).transition().duration(l).call(_,h,a,t):xe(this).call(y.transform,h,a,t)}}function N(n,...r){if(o.apply(this,arguments)){var i,a,s,u,c=n.touches,l=c.length,h=b(this,r,n.changedTouches.length===l).event(n);for(Jo(n),a=0;a<l;++a)u=[u=we(s=c[a],this),this.__zoom.invert(u),s.identifier],h.touch0?h.touch1||h.touch0[2]===u[2]||(h.touch1=u,h.taps=0):(h.touch0=u,i=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),i&&(h.taps<2&&(e=u[0],t=setTimeout((function(){t=null}),f)),Mo(this),h.start())}}function z(t,...e){if(this.__zooming){var n,o,r,a,s=b(this,e).event(t),u=t.changedTouches,l=u.length;for(tr(t),n=0;n<l;++n)r=we(o=u[n],this),s.touch0&&s.touch0[2]===o.identifier?s.touch0[0]=r:s.touch1&&s.touch1[2]===o.identifier&&(s.touch1[0]=r);if(o=s.that.__zoom,s.touch1){var h=s.touch0[0],d=s.touch0[1],f=s.touch1[0],p=s.touch1[1],g=(g=f[0]-h[0])*g+(g=f[1]-h[1])*g,m=(m=p[0]-d[0])*m+(m=p[1]-d[1])*m;o=v(o,Math.sqrt(g/m)),r=[(h[0]+f[0])/2,(h[1]+f[1])/2],a=[(d[0]+p[0])/2,(d[1]+p[1])/2]}else{if(!s.touch0)return;r=s.touch0[0],a=s.touch0[1]}s.zoom("touch",i(x(o,r,a),s.extent,c))}}function A(t,...o){if(this.__zooming){var r,i,a=b(this,o).event(t),s=t.changedTouches,u=s.length;for(Jo(t),n&&clearTimeout(n),n=setTimeout((function(){n=null}),f),r=0;r<u;++r)i=s[r],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=we(i,this),Math.hypot(e[0]-i[0],e[1]-i[1])<m)){var c=xe(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return y.transform=function(t,e,n,o){var r=t.selection?t.selection():t;r.property("__zoom",or),t!==r?_(t,e,n,o):r.interrupt().each((function(){b(this,arguments).event(o).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},y.scaleBy=function(t,e,n,o){y.scaleTo(t,(function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)}),n,o)},y.scaleTo=function(t,e,n,o){y.transform(t,(function(){var t=r.apply(this,arguments),o=this.__zoom,a=null==n?w(t):"function"==typeof n?n.apply(this,arguments):n,s=o.invert(a),u="function"==typeof e?e.apply(this,arguments):e;return i(x(v(o,u),a,s),t,c)}),n,o)},y.translateBy=function(t,e,n,o){y.transform(t,(function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),c)}),null,o)},y.translateTo=function(t,e,n,o,a){y.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,s=null==o?w(t):"function"==typeof o?o.apply(this,arguments):o;return i(Uo.translate(s[0],s[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),o,a)},M.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=xe(this.that).datum();d.call(t,this.that,new Fo(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:d}),e)}},y.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:Wo(+t),y):a},y.filter=function(t){return arguments.length?(o="function"==typeof t?t:Wo(!!t),y):o},y.touchable=function(t){return arguments.length?(s="function"==typeof t?t:Wo(!!t),y):s},y.extent=function(t){return arguments.length?(r="function"==typeof t?t:Wo([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):r},y.scaleExtent=function(t){return arguments.length?(u[0]=+t[0],u[1]=+t[1],y):[u[0],u[1]]},y.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],y):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},y.constrain=function(t){return arguments.length?(i=t,y):i},y.duration=function(t){return arguments.length?(l=+t,y):l},y.interpolate=function(t){return arguments.length?(h=t,y):h},y.on=function(){var t=d.on.apply(d,arguments);return t===d?y:t},y.clickDistance=function(t){return arguments.length?(g=(t=+t)*t,y):Math.sqrt(g)},y.tapDistance=function(t){return arguments.length?(m=+t,y):m},y}Qo.prototype=Ko.prototype;const ur=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,cr=t=>({x:t.x,y:t.y,zoom:t.k}),lr=({x:t,y:e,zoom:n})=>Uo.translate(t,e).scale(n),hr=(t,e)=>t.target.closest(`.${e}`),dr=(t,e)=>2===e&&Array.isArray(t)&&t.includes(2),fr=(t,e=0)=>"number"==typeof e&&e>0?t.transition().duration(e):t,pr=t=>{const e=t.ctrlKey&&T()?10:1;return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*e};var gr;t.ResizeControlVariant=void 0,(gr=t.ResizeControlVariant||(t.ResizeControlVariant={})).Line="line",gr.Handle="handle";function mr(t,e){return Math.max(0,e-t)}function yr(t,e){return Math.max(0,t-e)}function vr(t,e,n){return Math.max(0,e-t,t-n)}function xr(t,e){return t?!e:e}const wr={width:0,height:0,x:0,y:0},_r={...wr,pointerX:0,pointerY:0,aspectRatio:1},br={x:0,y:0,width:0,height:0,isXPosChange:!1,isYPosChange:!1,isWidthChange:!1,isHeightChange:!1};function Mr(t,e,n){const o=e.position.x+t.position.x,r=e.position.y+t.position.y,i=t.computed.width??0,a=t.computed.height??0,s=n[0]*i,u=n[1]*a;return[[o-s,r-u],[o+i-s,r+a-u]]}t.XYDrag=function({onNodeMouseDown:t,getStoreItems:e,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},a=0,s=[],u=!1,c={x:0,y:0},l=null,h=!1,f=null;return{update:function({noDragClassName:g,handleSelector:m,domNode:y,isSelectable:x,nodeId:_}){function b({x:t,y:n},r){const{nodeLookup:a,nodeExtent:u,snapGrid:c,snapToGrid:l,nodeOrigin:h,onNodeDrag:f,onSelectionDrag:g,onError:m,updateNodePositions:y}=e();i={x:t,y:n};let v=!1,x={x:0,y:0,x2:0,y2:0};if(s.length>1&&u){const t=d(s,{nodeOrigin:h});x=w(t)}if(s=s.map((e=>{let o={x:t-e.distance.x,y:n-e.distance.y};l&&(o=N(o,c));const r=[[u[0][0],u[0][1]],[u[1][0],u[1][1]]];s.length>1&&u&&!e.extent&&(r[0][0]=e.computed.positionAbsolute.x-x.x+u[0][0],r[1][0]=e.computed.positionAbsolute.x+(e.computed?.width??0)-x.x2+u[1][0],r[0][1]=e.computed.positionAbsolute.y-x.y+u[0][1],r[1][1]=e.computed.positionAbsolute.y+(e.computed?.height??0)-x.y2+u[1][1]);const{position:i,positionAbsolute:d}=p({nodeId:e.id,nextPosition:o,nodeLookup:a,nodeExtent:r,nodeOrigin:h,onError:m});return v=v||e.position.x!==i.x||e.position.y!==i.y,e.position=i,e.computed.positionAbsolute=d,e})),v&&(y(s,!0),r&&(o||f||!_&&g))){const[t,e]=Ye({nodeId:_,dragItems:s,nodeLookup:a});if(o?.(r,s,t,e),f?.(r,t,e),!_){Oe(g)(r,t,e)}}}function M(){if(!l)return;const[t,n]=v(c,l);if(0!==t||0!==n){const{transform:o,panBy:r}=e();i.x=(i.x??0)-t/o[2],i.y=(i.y??0)-n/o[2],r({x:t,y:n})&&b(i,null)}a=requestAnimationFrame(M)}function P(o){const{nodes:r,nodeLookup:a,multiSelectionActive:u,nodesDraggable:c,transform:l,snapGrid:d,snapToGrid:f,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:y}=e();h=!0,p&&x||u||!_||a.get(_)?.selected||y(),x&&p&&_&&t?.(_);const v=O(o.sourceEvent,{transform:l,snapGrid:d,snapToGrid:f});if(i=v,s=Xe(r,c,v,_),s.length>0&&(n||g||!_&&m)){const[t,e]=Ye({nodeId:_,dragItems:s,nodeLookup:a});if(n?.(o.sourceEvent,s,t,e),g?.(o.sourceEvent,t,e),!_){Oe(m)(o.sourceEvent,t,e)}}}f=xe(y);const E=Ce().on("start",(t=>{const{domNode:n,nodeDragThreshold:o,transform:r,snapGrid:a,snapToGrid:s}=e();0===o&&P(t);const u=O(t.sourceEvent,{transform:r,snapGrid:a,snapToGrid:s});i=u,l=n?.getBoundingClientRect()||null,c=R(t.sourceEvent,l)})).on("drag",(t=>{const{autoPanOnNodeDrag:n,transform:o,snapGrid:r,snapToGrid:a,nodeDragThreshold:d}=e(),f=O(t.sourceEvent,{transform:o,snapGrid:r,snapToGrid:a});if(!u&&n&&h&&(u=!0,M()),!h){const e=f.xSnapped-(i.x??0),n=f.ySnapped-(i.y??0);Math.sqrt(e*e+n*n)>d&&P(t)}(i.x!==f.xSnapped||i.y!==f.ySnapped)&&s&&h&&(c=R(t.sourceEvent,l),b(f,t.sourceEvent))})).on("end",(t=>{if(h&&(u=!1,h=!1,cancelAnimationFrame(a),s.length>0)){const{nodeLookup:n,updateNodePositions:o,onNodeDragStop:i,onSelectionDragStop:a}=e();if(o(s,!1),r||i||!_&&a){const[e,o]=Ye({nodeId:_,dragItems:s,nodeLookup:n});if(r?.(t.sourceEvent,s,e,o),i?.(t.sourceEvent,e,o),!_){Oe(a)(t.sourceEvent,e,o)}}}})).filter((t=>{const e=t.target;return!t.button&&(!g||!He(e,`.${g}`,y))&&(!m||He(e,m,y))}));f.call(E)},destroy:function(){f?.on(".drag",null)}}},t.XYHandle=Ze,t.XYMinimap=function({domNode:t,panZoom:e,getTransform:n,getViewScale:o}){const r=xe(t);return{update:function({translateExtent:t,width:i,height:a,zoomStep:s=10,pannable:u=!0,zoomable:c=!0,inversePan:l=!1}){const h=sr().on("zoom",u?r=>{const s=n();if("mousemove"!==r.sourceEvent.type||!e)return;const u=o()*Math.max(s[2],Math.log(s[2]))*(l?-1:1),c={x:s[0]-r.sourceEvent.movementX*u,y:s[1]-r.sourceEvent.movementY*u},h=[[0,0],[i,a]];e.setViewportConstrained({x:c.x,y:c.y,zoom:s[2]},h,t)}:null).on("zoom.wheel",c?t=>{const o=n();if("wheel"!==t.sourceEvent.type||!e)return;const r=-t.sourceEvent.deltaY*(1===t.sourceEvent.deltaMode?.05:t.sourceEvent.deltaMode?1:.002)*s,i=o[2]*Math.pow(2,r);e.scaleTo(i)}:null);r.call(h,{})},destroy:function(){r.on("zoom",null)},pointer:we}},t.XYPanZoom=function({domNode:e,minZoom:n,maxZoom:o,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:s,onPanZoomEnd:u,onTransformChange:c,onDraggingChange:l}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=sr().scaleExtent([n,o]).translateExtent(r),p=xe(e).call(f);x({x:i.x,y:i.y,zoom:g(i.zoom,n,o)},[[0,0],[d.width,d.height]],r);const m=p.on("wheel.zoom");function y(t,e){p&&f?.transform(fr(p,e?.duration),t)}function v(){f.on("zoom",null)}function x(t,e,n){const o=lr(t),r=f?.constrain()(o,e,n);return r&&y(r),r}return f.wheelDelta(pr),{update:function({noWheelClassName:e,noPanClassName:n,onPaneContextMenu:o,userSelectionActive:r,panOnScroll:i,panOnDrag:d,panOnScrollMode:g,panOnScrollSpeed:y,preventScrolling:x,zoomOnPinch:w,zoomOnScroll:_,zoomOnDoubleClick:b,zoomActivationKeyPressed:M,lib:P}){r&&!h.isZoomingOrPanning&&v();const E=i&&!M&&!r?function({zoomPanValues:e,noWheelClassName:n,d3Selection:o,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:s,onPanZoomStart:u,onPanZoom:c,onPanZoomEnd:l}){return h=>{if(hr(h,n))return!1;h.preventDefault(),h.stopImmediatePropagation();const d=o.property("__zoom").k||1,f=T();if(h.ctrlKey&&s&&f){const t=we(h),e=pr(h),n=d*Math.pow(2,e);return void r.scaleTo(o,n,t,h)}const p=1===h.deltaMode?20:1;let g=i===t.PanOnScrollMode.Vertical?0:h.deltaX*p,m=i===t.PanOnScrollMode.Horizontal?0:h.deltaY*p;!f&&h.shiftKey&&i!==t.PanOnScrollMode.Vertical&&(g=h.deltaY*p,m=0),r.translateBy(o,-g/d*a,-m/d*a,{internal:!0});const y=cr(o.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling||(e.isPanScrolling=!0,u?.(h,y)),e.isPanScrolling&&(c?.(h,y),e.panScrollTimeout=setTimeout((()=>{l?.(h,y),e.isPanScrolling=!1}),150))}}({zoomPanValues:h,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:g,panOnScrollSpeed:y,zoomOnPinch:w,onPanZoomStart:s,onPanZoom:a,onPanZoomEnd:u}):function({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:n}){return function(o,r){if(!e||hr(o,t))return null;o.preventDefault(),n.call(this,o,r)}}({noWheelClassName:e,preventScrolling:x,d3ZoomHandler:m});if(p.on("wheel.zoom",E,{passive:!1}),!r){const t=function({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;const r=cr(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,"mousedown"===o.sourceEvent?.type&&e(!0),n&&n?.(o.sourceEvent,r)}}({zoomPanValues:h,onDraggingChange:l,onPanZoomStart:s});f.on("start",t);const e=function({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{t.usedRightMouseButton=!(!n||!dr(e,t.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,cr(i.transform))}}({zoomPanValues:h,panOnDrag:d,onPaneContextMenu:!!o,onPanZoom:a,onTransformChange:c});f.on("zoom",e);const n=function({zoomPanValues:t,panOnDrag:e,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,i&&dr(e,t.mouseButton??0)&&!t.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),t.usedRightMouseButton=!1,o(!1),r&&ur(t.prevViewport,a.transform))){const e=cr(a.transform);t.prevViewport=e,clearTimeout(t.timerId),t.timerId=setTimeout((()=>{r?.(a.sourceEvent,e)}),n?150:0)}}}({zoomPanValues:h,panOnDrag:d,panOnScroll:i,onPaneContextMenu:o,onPanZoomEnd:u,onDraggingChange:l});f.on("end",n)}const S=function({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:n,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:s,noPanClassName:u,lib:c}){return l=>{const h=t||e,d=n&&l.ctrlKey;if(1===l.button&&"mousedown"===l.type&&(hr(l,`${c}-flow__node`)||hr(l,`${c}-flow__edge`)))return!0;if(!(o||h||r||i||n))return!1;if(a)return!1;if(!i&&"dblclick"===l.type)return!1;if(hr(l,s)&&"wheel"===l.type)return!1;if(hr(l,u)&&("wheel"!==l.type||r&&"wheel"===l.type&&!t))return!1;if(!n&&l.ctrlKey&&"wheel"===l.type)return!1;if(!h&&!r&&!d&&"wheel"===l.type)return!1;if(!o&&("mousedown"===l.type||"touchstart"===l.type))return!1;if(Array.isArray(o)&&!o.includes(l.button)&&("mousedown"===l.type||"touchstart"===l.type))return!1;const f=Array.isArray(o)&&o.includes(l.button)||!l.button||l.button<=1;return(!l.ctrlKey||"wheel"===l.type)&&f}}({zoomActivationKeyPressed:M,panOnDrag:d,zoomOnScroll:_,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:w,userSelectionActive:r,noPanClassName:n,noWheelClassName:e,lib:P});f.filter(S)},destroy:v,setViewport:function(t,e){const n=lr(t);return y(n,e),n},setViewportConstrained:x,getViewport:function(){const t=p?Qo(p.node()):{x:0,y:0,k:1};return{x:t.x,y:t.y,zoom:t.k}},scaleTo:function(t,e){p&&f?.scaleTo(fr(p,e?.duration),t)},scaleBy:function(t,e){p&&f?.scaleBy(fr(p,e?.duration),t)},setScaleExtent:function(t){f?.scaleExtent(t)},setTranslateExtent:function(t){f?.translateExtent(t)},syncViewport:function(t){if(p){const e=lr(t),n=p.property("__zoom");n.k===t.zoom&&n.x===t.x&&n.y===t.y||f?.transform(p,e,null,{sync:!0})}}}},t.XYResizer=function({domNode:t,nodeId:e,getStoreItems:n,onChange:o}){const r=xe(t);return{update:function({controlPosition:t,boundaries:i,keepAspectRatio:a,onResizeStart:s,onResize:u,onResizeEnd:c,shouldResize:l}){let h={...wr},d={..._r};const f=function(t){return{isHorizontal:t.includes("right")||t.includes("left"),isVertical:t.includes("bottom")||t.includes("top"),affectsX:t.includes("left"),affectsY:t.includes("top")}}(t);let p,g,m,y,v=[];const x=Ce().on("start",(t=>{const{nodeLookup:o,transform:r,snapGrid:i,snapToGrid:a,nodeOrigin:u}=n();if(p=o.get(e),p){const{xSnapped:n,ySnapped:c}=O(t.sourceEvent,{transform:r,snapGrid:i,snapToGrid:a});h={width:p.computed?.width??0,height:p.computed?.height??0,x:p.position.x??0,y:p.position.y??0},d={...h,pointerX:n,pointerY:c,aspectRatio:h.width/h.height},g=void 0,("parent"===p.extent||p.expandParent)&&(g=o.get(p.parentNode),g&&"parent"===p.extent&&(m=function(t){return[[0,0],[t.computed.width,t.computed.height]]}(g))),v=[],y=void 0;for(const[t,n]of o)if(n.parentNode===e&&(v.push({id:t,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){const t=Mr(n,p,n.origin??u);y=y?[[Math.min(t[0][0],y[0][0]),Math.min(t[0][1],y[0][1])],[Math.max(t[1][0],y[1][0]),Math.max(t[1][1],y[1][1])]]:t}s?.(t,{...h})}})).on("drag",(t=>{const{transform:e,snapGrid:r,snapToGrid:s,nodeOrigin:c}=n(),x=O(t.sourceEvent,{transform:e,snapGrid:r,snapToGrid:s}),w=[];if(p){const{x:e,y:n,width:r,height:s}=h,_={...br},b=p.origin??c,{width:M,height:P,x:E,y:S}=function(t,e,n,o,r,i,a,s){let{affectsX:u,affectsY:c}=e;const{isHorizontal:l,isVertical:h}=e,d=l&&h,{xSnapped:f,ySnapped:p}=n,{minWidth:g,maxWidth:m,minHeight:y,maxHeight:v}=o,{x:x,y:w,width:_,height:b,aspectRatio:M}=t;let P=Math.floor(l?f-t.pointerX:0),E=Math.floor(h?p-t.pointerY:0);const S=_+(u?-P:P),N=b+(c?-E:E),z=-i[0]*_,A=-i[1]*b;let k=vr(S,g,m),T=vr(N,y,v);if(a){let t=0,e=0;u&&P<0?t=mr(x+P+z,a[0][0]):!u&&P>0&&(t=yr(x+S+z,a[1][0])),c&&E<0?e=mr(w+E+A,a[0][1]):!c&&E>0&&(e=yr(w+N+A,a[1][1])),k=Math.max(k,t),T=Math.max(T,e)}if(s){let t=0,e=0;u&&P>0?t=yr(x+P,s[0][0]):!u&&P<0&&(t=mr(x+S,s[1][0])),c&&E>0?e=yr(w+E,s[0][1]):!c&&E<0&&(e=mr(w+N,s[1][1])),k=Math.max(k,t),T=Math.max(T,e)}if(r){if(l){const t=vr(S/M,y,v)*M;if(k=Math.max(k,t),a){let t=0;t=!u&&!c||u&&!c&&d?yr(w+A+S/M,a[1][1])*M:mr(w+A+(u?P:-P)/M,a[0][1])*M,k=Math.max(k,t)}if(s){let t=0;t=!u&&!c||u&&!c&&d?mr(w+S/M,s[1][1])*M:yr(w+(u?P:-P)/M,s[0][1])*M,k=Math.max(k,t)}}if(h){const t=vr(N*M,g,m)/M;if(T=Math.max(T,t),a){let t=0;t=!u&&!c||c&&!u&&d?yr(x+N*M+z,a[1][0])/M:mr(x+(c?E:-E)*M+z,a[0][0])/M,T=Math.max(T,t)}if(s){let t=0;t=!u&&!c||c&&!u&&d?mr(x+N*M,s[1][0])/M:yr(x+(c?E:-E)*M,s[0][0])/M,T=Math.max(T,t)}}}E+=E<0?T:-T,P+=P<0?k:-k,r&&(d?S>N*M?E=(xr(u,c)?-P:P)/M:P=(xr(u,c)?-E:E)*M:l?(E=P/M,c=u):(P=E*M,u=c));const $=u?x+P:x,C=c?w+E:w;return{width:_+(u?-P:P),height:b+(c?-E:E),x:i[0]*P*(u?-1:1)+$,y:i[1]*E*(c?-1:1)+C}}(d,f,x,i,a,b,m,y),N=M!==r,z=P!==s,A=E!==e&&N,k=S!==n&&z;if((A||k||1===b[0]||1==b[1])&&(_.isXPosChange=A,_.isYPosChange=k,_.x=A?E:e,_.y=k?S:n,h.x=_.x,h.y=_.y,g&&p.expandParent&&(_.x<0&&(h.x=0,d.x=d.x-_.x),_.y<0&&(h.y=0,d.y=d.y-_.y)),v.length>0)){const t=E-e,o=S-n;for(const e of v)e.position={x:e.position.x-t+b[0]*(M-r),y:e.position.y-o+b[1]*(P-s)},w.push(e)}if((N||z)&&(_.isWidthChange=N,_.isHeightChange=z,_.width=M,_.height=P,h.width=_.width,h.height=_.height),!(_.isXPosChange||_.isYPosChange||N||z))return;const T=function({width:t,prevWidth:e,height:n,prevHeight:o,affectsX:r,affectsY:i}){const a=t-e,s=n-o,u=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&r&&(u[0]=-1*u[0]),s&&i&&(u[1]=-1*u[1]),u}({width:h.width,prevWidth:r,height:h.height,prevHeight:s,affectsX:f.affectsX,affectsY:f.affectsY}),$={...h,direction:T},C=l?.(t,$);if(!1===C)return;u?.(t,$),o(_,w)}})).on("end",(t=>{c?.(t,{...h})}));r.call(x)},destroy:function(){r.on(".drag",null)}}},t.XY_RESIZER_HANDLE_POSITIONS=["top-left","top-right","bottom-left","bottom-right"],t.XY_RESIZER_LINE_POSITIONS=["top","right","bottom","left"],t.addEdge=(t,n)=>{if(!t.source||!t.target)return e.error006(),n;let o;return o=l(t)?{...t}:{...t,id:Z(t)},((t,e)=>e.some((e=>!(e.source!==t.source||e.target!==t.target||e.sourceHandle!==t.sourceHandle&&(e.sourceHandle||t.sourceHandle)||e.targetHandle!==t.targetHandle&&(e.targetHandle||t.targetHandle)))))(o,n)?n:(null===o.sourceHandle&&delete o.sourceHandle,null===o.targetHandle&&delete o.targetHandle,n.concat(o))},t.adoptUserProvidedNodes=function(t,e,o={nodeOrigin:[0,0],elevateNodesOnSelect:!0,defaults:{}}){const r=new Map(e);e.clear();const i={},a=o?.elevateNodesOnSelect?1e3:0;return tt(t.map((t=>{const s=r.get(t.id);if(t===s?.[n]?.userProvidedNode)return e.set(t.id,s),s;const u={...o.defaults,...t,computed:{positionAbsolute:t.position,width:t.computed?.width,height:t.computed?.height}},c=(E(t.zIndex)?t.zIndex:0)+(t.selected?a:0),l=t?.[n]||s?.[n];return u.parentNode&&(i[u.parentNode]=!0),Object.defineProperty(u,n,{enumerable:!1,value:{handleBounds:l?.handleBounds,z:c,userProvidedNode:t}}),e.set(u.id,u),u})),e,o.nodeOrigin,i)},t.areConnectionMapsEqual=function(t,e){if(!t&&!e)return!0;if(!t||!e||t.size!==e.size)return!1;if(!t.size&&!e.size)return!0;for(const n of t.keys())if(!e.has(n))return!1;return!0},t.boxToRect=_,t.calcAutoPan=v,t.calculateNodePosition=p,t.clamp=g,t.clampPosition=m,t.createMarkerIds=function(t,{id:e,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return t.reduce(((t,a)=>([a.markerStart||o,a.markerEnd||r].forEach((o=>{if(o&&"object"==typeof o){const r=J(o,e);i.has(r)||(t.push({id:r,color:o.color||n,...o}),i.add(r))}})),t)),[]).sort(((t,e)=>t.id.localeCompare(e.id)))},t.devWarn=S,t.elementSelectionKeys=["Enter"," ","Escape"],t.errorMessages=e,t.fitView=function({nodes:t,width:e,height:n,panZoom:o,minZoom:r,maxZoom:i,nodeOrigin:a=[0,0]},s){const u=t.filter((t=>{const e=t.computed?.width&&t.computed?.height&&(s?.includeHiddenNodes||!t.hidden);return s?.nodes?.length?e&&s?.nodes.some((e=>e.id===t.id)):e}));if(u.length>0){const t=d(u,{nodeOrigin:a}),c=k(t,e,n,s?.minZoom??r,s?.maxZoom??i,s?.padding??.1);return o.setViewport(c,{duration:s?.duration}),!0}return!1},t.getBezierEdgeCenter=D,t.getBezierPath=function({sourceX:e,sourceY:n,sourcePosition:o=t.Position.Bottom,targetX:r,targetY:i,targetPosition:a=t.Position.Top,curvature:s=.25}){const[u,c]=L({pos:o,x1:e,y1:n,x2:r,y2:i,c:s}),[l,h]=L({pos:a,x1:r,y1:i,x2:e,y2:n,c:s}),[d,f,p,g]=D({sourceX:e,sourceY:n,targetX:r,targetY:i,sourceControlX:u,sourceControlY:c,targetControlX:l,targetControlY:h});return[`M${e},${n} C${u},${c} ${l},${h} ${r},${i}`,d,f,p,g]},t.getBoundsOfBoxes=x,t.getBoundsOfRects=(t,e)=>_(x(w(t),w(e))),t.getConnectedEdges=f,t.getDimensions=I,t.getEdgeCenter=q,t.getEdgePosition=function(o){const{sourceNode:r,targetNode:i}=o;if(!F(r)||!F(i))return null;const a=r[n]?.handleBounds||K(r.handles),s=i[n]?.handleBounds||K(i.handles),u=Q(a?.source??[],o.sourceHandle),c=Q(o.connectionMode===t.ConnectionMode.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),o.targetHandle),l=u?.position||t.Position.Bottom,h=c?.position||t.Position.Top;if(!u||!c)return o.onError?.("008",e.error008(u?"target":"source",{id:o.id,sourceHandle:o.sourceHandle,targetHandle:o.targetHandle})),null;const[d,f]=U(l,r,u),[p,g]=U(h,i,c);return{sourceX:d,sourceY:f,targetX:p,targetY:g,sourcePosition:l,targetPosition:h}},t.getElementsToRemove=async function({nodesToRemove:t=[],edgesToRemove:e=[],nodes:n,edges:o,onBeforeDelete:r}){const i=t.map((t=>t.id)),a=[];for(const t of n){if(!1===t.deletable)continue;const e=i.includes(t.id),n=!e&&t.parentNode&&a.find((e=>e.id===t.parentNode));(e||n)&&a.push(t)}const s=e.map((t=>t.id)),u=o.filter((t=>!1!==t.deletable)),c=f(a,u);for(const t of u){s.includes(t.id)&&!c.find((e=>e.id===t.id))&&c.push(t)}if(!r)return{edges:c,nodes:a};const l=await r({nodes:a,edges:c});return"boolean"==typeof l?l?{edges:c,nodes:a}:{edges:[],nodes:[]}:l},t.getElevatedEdgeZIndex=function({sourceNode:t,targetNode:e,selected:o=!1,zIndex:r=0,elevateOnSelect:i=!1}){if(!i)return r;const a=o||e.selected||t.selected,s=Math.max(t[n]?.z||0,e[n]?.z||0,1e3);return r+(a?s:0)},t.getEventPosition=R,t.getHandleBounds=B,t.getHostForElement=H,t.getIncomers=(t,e,n)=>{if(!t.id)return[];const o=new Set;return n.forEach((e=>{e.target===t.id&&o.add(e.source)})),e.filter((t=>o.has(t.id)))},t.getMarkerId=J,t.getNodeDimensions=C,t.getNodePositionWithOrigin=h,t.getNodeToolbarTransform=function(e,n,o,r,i){let a=.5;"start"===i?a=0:"end"===i&&(a=1);let s=[(e.x+e.width*a)*n.zoom+n.x,e.y*n.zoom+n.y-r],u=[-100*a,-100];switch(o){case t.Position.Right:s=[(e.x+e.width)*n.zoom+n.x+r,(e.y+e.height*a)*n.zoom+n.y],u=[0,-100*a];break;case t.Position.Bottom:s[1]=(e.y+e.height)*n.zoom+n.y+r,u[1]=0;break;case t.Position.Left:s=[e.x*n.zoom+n.x-r,(e.y+e.height*a)*n.zoom+n.y],u=[-100,-100*a]}return`translate(${s[0]}px, ${s[1]}px) translate(${u[0]}%, ${u[1]}%)`},t.getNodesBounds=d,t.getNodesInside=(t,e,[n,o,r]=[0,0,1],i=!1,a=!1,s=[0,0])=>{const u={...z(e,[n,o,r]),width:e.width/r,height:e.height/r};return t.reduce(((t,e)=>{const{computed:n,selectable:o=!0,hidden:r=!1}=e,c=n?.width??e.width??e.initialWidth??null,l=n?.height??e.height??e.initialHeight??null;if(a&&!o||r)return t;const h=P(u,b(e,s));return(null===c||null===l||i&&h>0||h>=(c??0)*(l??0)||e.dragging)&&t.push(e),t}),[])},t.getOutgoers=(t,e,n)=>{if(!t.id)return[];const o=new Set;return n.forEach((e=>{e.source===t.id&&o.add(e.target)})),e.filter((t=>o.has(t.id)))},t.getOverlappingArea=P,t.getPointerPosition=O,t.getPositionWithOrigin=({x:t,y:e,width:n,height:o,origin:r=[0,0]})=>!n||!o||r[0]<0||r[1]<0||r[0]>1||r[1]>1?{x:t,y:e}:{x:t-n*r[0],y:e-o*r[1]},t.getSmoothStepPath=function({sourceX:e,sourceY:n,sourcePosition:o=t.Position.Bottom,targetX:r,targetY:i,targetPosition:a=t.Position.Top,borderRadius:s=5,centerX:u,centerY:c,offset:l=20}){const[h,d,f,p,g]=function({source:e,sourcePosition:n=t.Position.Bottom,target:o,targetPosition:r=t.Position.Top,center:i,offset:a}){const s=G[n],u=G[r],c={x:e.x+s.x*a,y:e.y+s.y*a},l={x:o.x+u.x*a,y:o.y+u.y*a},h=j({source:c,sourcePosition:n,target:l}),d=0!==h.x?"x":"y",f=h[d];let p,g,m=[];const y={x:0,y:0},v={x:0,y:0},[x,w,_,b]=q({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(s[d]*u[d]==-1){p=i.x??x,g=i.y??w;const t=[{x:p,y:c.y},{x:p,y:l.y}],e=[{x:c.x,y:g},{x:l.x,y:g}];m=s[d]===f?"x"===d?t:e:"x"===d?e:t}else{const t=[{x:c.x,y:l.y}],i=[{x:l.x,y:c.y}];if(m="x"===d?s.x===f?i:t:s.y===f?t:i,n===r){const t=Math.abs(e[d]-o[d]);if(t<=a){const n=Math.min(a-1,a-t);s[d]===f?y[d]=(c[d]>e[d]?-1:1)*n:v[d]=(l[d]>o[d]?-1:1)*n}}if(n!==r){const e="x"===d?"y":"x",n=s[d]===u[e],o=c[e]>l[e],r=c[e]<l[e];(1===s[d]&&(!n&&o||n&&r)||1!==s[d]&&(!n&&r||n&&o))&&(m="x"===d?t:i)}const h={x:c.x+y.x,y:c.y+y.y},x={x:l.x+v.x,y:l.y+v.y};Math.max(Math.abs(h.x-m[0].x),Math.abs(x.x-m[0].x))>=Math.max(Math.abs(h.y-m[0].y),Math.abs(x.y-m[0].y))?(p=(h.x+x.x)/2,g=m[0].y):(p=m[0].x,g=(h.y+x.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...m,{x:l.x+v.x,y:l.y+v.y},o],p,g,_,b]}({source:{x:e,y:n},sourcePosition:o,target:{x:r,y:i},targetPosition:a,center:{x:u,y:c},offset:l});return[h.reduce(((t,e,n)=>{let o="";return o=n>0&&n<h.length-1?function(t,e,n,o){const r=Math.min(W(t,e)/2,W(e,n)/2,o),{x:i,y:a}=e;if(t.x===i&&i===n.x||t.y===a&&a===n.y)return`L${i} ${a}`;if(t.y===a)return`L ${i+r*(t.x<n.x?-1:1)},${a}Q ${i},${a} ${i},${a+r*(t.y<n.y?1:-1)}`;const s=t.x<n.x?1:-1;return`L ${i},${a+r*(t.y<n.y?-1:1)}Q ${i},${a} ${i+r*s},${a}`}(h[n-1],e,h[n+1],s):`${0===n?"M":"L"}${e.x} ${e.y}`,t+=o}),""),d,f,p,g]},t.getStraightPath=function({sourceX:t,sourceY:e,targetX:n,targetY:o}){const[r,i,a,s]=q({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,r,i,a,s]},t.getViewportForBounds=k,t.handleConnectionChange=function(t,e,n){if(!n)return;const o=[];t.forEach(((t,n)=>{e?.has(n)||o.push(t)})),o.length&&n(o)},t.infiniteExtent=o,t.internalsSymbol=n,t.isCoordinateExtent=$,t.isEdgeBase=l,t.isEdgeVisible=function({sourceNode:t,targetNode:e,width:n,height:o,transform:r}){const i=x(M(t),M(e));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const a={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]};return P(a,_(i))>0},t.isInputDOMNode=function(t){const e=t.composedPath?.()?.[0]||t.target;return X.includes(e?.nodeName)||e?.hasAttribute("contenteditable")||!!e?.closest(".nokey")},t.isMacOs=T,t.isMouseEvent=Y,t.isNodeBase=t=>"id"in t&&!("source"in t)&&!("target"in t),t.isNumeric=E,t.isRectObject=t=>E(t.width)&&E(t.height)&&E(t.x)&&E(t.y),t.nodeHasDimensions=function(t){return void 0!==(t.computed?.width??t.width??t.initialWidth)&&void 0!==(t.computed?.height??t.height??t.initialHeight)},t.nodeToBox=M,t.nodeToRect=b,t.panBy=function({delta:t,panZoom:e,transform:n,translateExtent:o,width:r,height:i}){if(!e||!t.x&&!t.y)return!1;const a=e.setViewportConstrained({x:n[0]+t.x,y:n[1]+t.y,zoom:n[2]},[[0,0],[r,i]],o);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])},t.pointToRendererPoint=z,t.rectToBox=w,t.rendererPointToPoint=A,t.shallowNodeData=function(t,e){const n=Array.isArray(t)?t:[t],o=Array.isArray(e)?e:[e];if(n.length!==o.length)return!1;for(let t=0;t<n.length;t++)if(n[t].id!==o[t].id||n[t].type!==o[t].type||!Object.is(n[t].data,o[t].data))return!1;return!0},t.snapPosition=N,t.updateAbsolutePositions=tt,t.updateConnectionLookup=function(t,e,n){t.clear(),e.clear();for(const o of n){const{source:n,target:r,sourceHandle:i=null,targetHandle:a=null}=o,s=`${n}-source-${i}`,u=`${r}-target-${a}`,c=t.get(s)||new Map,l=t.get(u)||new Map,h={edgeId:o.id,source:n,target:r,sourceHandle:i,targetHandle:a};e.set(o.id,o),t.set(s,c.set(`${r}-${a}`,h)),t.set(u,l.set(`${n}-${i}`,h))}},t.updateEdge=(t,n,o,r={shouldReplaceId:!0})=>{const{id:i,...a}=t;if(!n.source||!n.target)return e.error006(),o;if(!o.find((e=>e.id===t.id)))return e.error007(i),o;const s={...a,id:r.shouldReplaceId?Z(n):i,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle};return o.filter((t=>t.id!==i)).concat(s)},t.updateNodeDimensions=function(t,e,o,r,i,a){const s=r?.querySelector(".xyflow__viewport");if(!s)return null;const u=window.getComputedStyle(s),{m22:c}=new window.DOMMatrixReadOnly(u.transform);return e.map((e=>{const r=t.get(e.id);if(r){const t=I(r.nodeElement);if(!(!t.width||!t.height||e.computed?.width===t.width&&e.computed?.height===t.height&&!r.forceUpdate)){a?.(e.id,t);const s={...e,computed:{...e.computed,...t},[n]:{...e[n],handleBounds:{source:B(".source",r.nodeElement,c,e.origin||i),target:B(".target",r.nodeElement,c,e.origin||i)}}};return o.set(e.id,s),s}}return e}))}}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).XYFlowSystem={})}(this,(function(t){"use strict";const e={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${n?o:n}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},n=Symbol.for("internals"),o=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]];var r,i,a,s,u,c;t.ConnectionMode=void 0,(r=t.ConnectionMode||(t.ConnectionMode={})).Strict="strict",r.Loose="loose",t.PanOnScrollMode=void 0,(i=t.PanOnScrollMode||(t.PanOnScrollMode={})).Free="free",i.Vertical="vertical",i.Horizontal="horizontal",t.SelectionMode=void 0,(a=t.SelectionMode||(t.SelectionMode={})).Partial="partial",a.Full="full",t.ConnectionLineType=void 0,(s=t.ConnectionLineType||(t.ConnectionLineType={})).Bezier="default",s.Straight="straight",s.Step="step",s.SmoothStep="smoothstep",s.SimpleBezier="simplebezier",t.MarkerType=void 0,(u=t.MarkerType||(t.MarkerType={})).Arrow="arrow",u.ArrowClosed="arrowclosed",t.Position=void 0,(c=t.Position||(t.Position={})).Left="left",c.Top="top",c.Right="right",c.Bottom="bottom";const l=t=>"id"in t&&"source"in t&&"target"in t,h=(t,e=[0,0])=>{if(!t)return{position:{x:0,y:0},positionAbsolute:{x:0,y:0}};const{width:n,height:o}=C(t),r=n*e[0],i=o*e[1],a={x:t.position.x-r,y:t.position.y-i};return{position:a,positionAbsolute:t.computed?.positionAbsolute?{x:t.computed.positionAbsolute.x-r,y:t.computed.positionAbsolute.y-i}:a}},d=(t,e={nodeOrigin:[0,0],useRelativePosition:!1})=>{if(0===t.length)return{x:0,y:0,width:0,height:0};const n=t.reduce(((t,n)=>{const o=h(n,n.origin||e.nodeOrigin);return x(t,w({...o[e.useRelativePosition?"position":"positionAbsolute"],...C(n)}))}),{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return _(n)},f=(t,e)=>{const n=new Set;return t.forEach((t=>{n.add(t.id)})),e.filter((t=>n.has(t.source)||n.has(t.target)))};function p({nodeId:t,nextPosition:n,nodeLookup:o,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){const s=o.get(t),u=s.parentNode?o.get(s.parentNode):void 0,{x:c,y:l}=u?h(u,u.origin||r).positionAbsolute:{x:0,y:0};let d=function(t,e){return e&&"parent"!==e?[e[0],[e[1][0]-(t.computed?.width??0),e[1][1]-(t.computed?.height??0)]]:e}(s,s.extent||i);if("parent"!==s.extent||s.expandParent)u&&$(s.extent)&&(d=[[s.extent[0][0]+c,s.extent[0][1]+l],[s.extent[1][0]+c,s.extent[1][1]+l]]);else if(u){const t=s.computed?.width,e=s.computed?.height,n=u?.computed?.width,o=u?.computed?.height;if(t&&e&&n&&o){const i=s.origin||r,a=c+t*i[0],u=l+e*i[1];d=[[a,u],[a+n-t,u+o-e]]}}else a?.("005",e.error005());const f=$(d)?m(n,d):n;return{position:{x:f.x-c,y:f.y-l},positionAbsolute:f}}const g=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),m=(t={x:0,y:0},e)=>({x:g(t.x,e[0][0],e[1][0]),y:g(t.y,e[0][1],e[1][1])}),y=(t,e,n)=>t<e?g(Math.abs(t-e),1,50)/50:t>n?-g(Math.abs(t-n),1,50)/50:0,v=(t,e)=>[20*y(t.x,35,e.width-35),20*y(t.y,35,e.height-35)],x=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),w=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),_=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),b=(t,e=[0,0])=>{const{positionAbsolute:n}=h(t,t.origin||e);return{...n,width:t.computed?.width??t.width??0,height:t.computed?.height??t.height??0}},M=(t,e=[0,0])=>{const{positionAbsolute:n}=h(t,t.origin||e);return{...n,x2:n.x+(t.computed?.width??t.width??0),y2:n.y+(t.computed?.height??t.height??0)}},P=(t,e)=>{const n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},E=t=>!isNaN(t)&&isFinite(t),S=(t,e)=>{},N=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),z=({x:t,y:e},[n,o,r],i=!1,a=[1,1])=>{const s={x:(t-n)/r,y:(e-o)/r};return i?N(s,a):s},A=({x:t,y:e},[n,o,r])=>({x:t*r+n,y:e*r+o}),k=(t,e,n,o,r,i)=>{const a=e/(t.width*(1+i)),s=n/(t.height*(1+i)),u=Math.min(a,s),c=g(u,o,r);return{x:e/2-(t.x+t.width/2)*c,y:n/2-(t.y+t.height/2)*c,zoom:c}},T=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function $(t){return void 0!==t&&"parent"!==t}function C(t){return{width:t.computed?.width??t.width??t.initialWidth??0,height:t.computed?.height??t.height??t.initialHeight??0}}function O(t,{snapGrid:e=[0,0],snapToGrid:n=!1,transform:o}){const{x:r,y:i}=R(t),a=z({x:r,y:i},o),{x:s,y:u}=n?N(a,e):a;return{xSnapped:s,ySnapped:u,...a}}const I=t=>({width:t.offsetWidth,height:t.offsetHeight}),H=t=>t.getRootNode?.()||window?.document,X=["INPUT","SELECT","TEXTAREA"];const Y=t=>"clientX"in t,R=(t,e)=>{const n=Y(t),o=n?t.clientX:t.touches?.[0].clientX,r=n?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},B=(t,e,n,o=[0,0])=>{const r=e.querySelectorAll(t);if(!r||!r.length)return null;const i=Array.from(r),a=e.getBoundingClientRect(),s=a.width*o[0],u=a.height*o[1];return i.map((t=>{const e=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),position:t.getAttribute("data-handlepos"),x:(e.left-a.left-s)/n,y:(e.top-a.top-u)/n,...I(t)}}))};function D({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:a,targetControlY:s}){const u=.125*t+.375*r+.375*a+.125*n,c=.125*e+.375*i+.375*s+.125*o;return[u,c,Math.abs(u-t),Math.abs(c-e)]}function V(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function L({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){switch(e){case t.Position.Left:return[n-V(n-r,a),o];case t.Position.Right:return[n+V(r-n,a),o];case t.Position.Top:return[n,o-V(o-i,a)];case t.Position.Bottom:return[n,o+V(i-o,a)]}}function q({sourceX:t,sourceY:e,targetX:n,targetY:o}){const r=Math.abs(n-t)/2,i=n<t?n+r:n-r,a=Math.abs(o-e)/2;return[i,o<e?o+a:o-a,r,a]}const Z=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`xy-edge__${t}${e||""}-${n}${o||""}`;const G={[t.Position.Left]:{x:-1,y:0},[t.Position.Right]:{x:1,y:0},[t.Position.Top]:{x:0,y:-1},[t.Position.Bottom]:{x:0,y:1}},j=({source:e,sourcePosition:n=t.Position.Bottom,target:o})=>n===t.Position.Left||n===t.Position.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1},W=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function F(t){return!(!t?.[n]?.handleBounds&&!t?.handles?.length||!(t?.computed?.width||t?.width||t?.initialWidth))}function K(t){if(!t)return null;const e=[],n=[];for(const o of t)o.width=o.width??1,o.height=o.height??1,"source"===o.type?e.push(o):"target"===o.type&&n.push(o);return{source:e,target:n}}function U(e,n,o=null){const r=(o?.x??0)+(n.computed?.positionAbsolute?.x??0),i=(o?.y??0)+(n.computed?.positionAbsolute?.y??0),{width:a,height:s}=o??C(n);switch(e){case t.Position.Top:return[r+a/2,i];case t.Position.Right:return[r+a,i+s/2];case t.Position.Bottom:return[r+a/2,i+s];case t.Position.Left:return[r,i+s/2]}}function Q(t,e){return t&&(e?t.find((t=>t.id===e)):t[0])||null}function J(t,e){if(!t)return"";if("string"==typeof t)return t;return`${e?`${e}__`:""}${Object.keys(t).sort().map((e=>`${e}=${t[e]}`)).join("&")}`}function tt(t,e,o=[0,0],r){return t.map((i=>{if(i.parentNode&&!e.has(i.parentNode))throw new Error(`Parent node ${i.parentNode} not found`);if(i.parentNode||r?.[i.id]){const a=i.parentNode?e.get(i.parentNode):null,{x:s,y:u,z:c}=et(i,t,e,{...i.position,z:i[n]?.z??0},a?.origin||o),l=s!==i.computed?.positionAbsolute?.x||u!==i.computed?.positionAbsolute?.y;i.computed.positionAbsolute=l?{x:s,y:u}:i.computed?.positionAbsolute,i[n].z=c,r?.[i.id]&&(i[n].isParent=!0)}return i}))}function et(t,e,o,r,i){if(!t.parentNode)return r;const a=o.get(t.parentNode),{position:s}=h(a,a?.origin||i);return et(a,e,o,{x:(r.x??0)+s.x,y:(r.y??0)+s.y,z:(a[n]?.z??0)>(r.z??0)?a[n]?.z??0:r.z??0},a.origin||i)}var nt={value:()=>{}};function ot(){for(var t,e=0,n=arguments.length,o={};e<n;++e){if(!(t=arguments[e]+"")||t in o||/[\s.]/.test(t))throw new Error("illegal type: "+t);o[t]=[]}return new rt(o)}function rt(t){this._=t}function it(t,e){for(var n,o=0,r=t.length;o<r;++o)if((n=t[o]).name===e)return n.value}function at(t,e,n){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=nt,t=t.slice(0,o).concat(t.slice(o+1));break}return null!=n&&t.push({name:e,value:n}),t}rt.prototype=ot.prototype={constructor:rt,on:function(t,e){var n,o,r=this._,i=(o=r,(t+"").trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!o.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),a=-1,s=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<s;)if(n=(t=i[a]).type)r[n]=at(r[n],t.name,e);else if(null==e)for(n in r)r[n]=at(r[n],t.name,null);return this}for(;++a<s;)if((n=(t=i[a]).type)&&(n=it(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new rt(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,o,r=new Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,n=(o=this._[t]).length;i<n;++i)o[i].value.apply(e,r)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(e,n)}};var st="http://www.w3.org/1999/xhtml",ut={svg:"http://www.w3.org/2000/svg",xhtml:st,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ct(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),ut.hasOwnProperty(e)?{space:ut[e],local:t}:t}function lt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===st&&e.documentElement.namespaceURI===st?e.createElement(t):e.createElementNS(n,t)}}function ht(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function dt(t){var e=ct(t);return(e.local?ht:lt)(e)}function ft(){}function pt(t){return null==t?ft:function(){return this.querySelector(t)}}function gt(){return[]}function mt(t){return null==t?gt:function(){return this.querySelectorAll(t)}}function yt(t){return function(){return null==(e=t.apply(this,arguments))?[]:Array.isArray(e)?e:Array.from(e);var e}}function vt(t){return function(){return this.matches(t)}}function xt(t){return function(e){return e.matches(t)}}var wt=Array.prototype.find;function _t(){return this.firstElementChild}var bt=Array.prototype.filter;function Mt(){return Array.from(this.children)}function Pt(t){return new Array(t.length)}function Et(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function St(t,e,n,o,r,i){for(var a,s=0,u=e.length,c=i.length;s<c;++s)(a=e[s])?(a.__data__=i[s],o[s]=a):n[s]=new Et(t,i[s]);for(;s<u;++s)(a=e[s])&&(r[s]=a)}function Nt(t,e,n,o,r,i,a){var s,u,c,l=new Map,h=e.length,d=i.length,f=new Array(h);for(s=0;s<h;++s)(u=e[s])&&(f[s]=c=a.call(u,u.__data__,s,e)+"",l.has(c)?r[s]=u:l.set(c,u));for(s=0;s<d;++s)c=a.call(t,i[s],s,i)+"",(u=l.get(c))?(o[s]=u,u.__data__=i[s],l.delete(c)):n[s]=new Et(t,i[s]);for(s=0;s<h;++s)(u=e[s])&&l.get(f[s])===u&&(r[s]=u)}function zt(t){return t.__data__}function At(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function kt(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Tt(t){return function(){this.removeAttribute(t)}}function $t(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ct(t,e){return function(){this.setAttribute(t,e)}}function Ot(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function It(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function Ht(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Xt(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Yt(t){return function(){this.style.removeProperty(t)}}function Rt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Bt(t,e,n){return function(){var o=e.apply(this,arguments);null==o?this.style.removeProperty(t):this.style.setProperty(t,o,n)}}function Dt(t,e){return t.style.getPropertyValue(e)||Xt(t).getComputedStyle(t,null).getPropertyValue(e)}function Vt(t){return function(){delete this[t]}}function Lt(t,e){return function(){this[t]=e}}function qt(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Zt(t){return t.trim().split(/^|\s+/)}function Gt(t){return t.classList||new jt(t)}function jt(t){this._node=t,this._names=Zt(t.getAttribute("class")||"")}function Wt(t,e){for(var n=Gt(t),o=-1,r=e.length;++o<r;)n.add(e[o])}function Ft(t,e){for(var n=Gt(t),o=-1,r=e.length;++o<r;)n.remove(e[o])}function Kt(t){return function(){Wt(this,t)}}function Ut(t){return function(){Ft(this,t)}}function Qt(t,e){return function(){(e.apply(this,arguments)?Wt:Ft)(this,t)}}function Jt(){this.textContent=""}function te(t){return function(){this.textContent=t}}function ee(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ne(){this.innerHTML=""}function oe(t){return function(){this.innerHTML=t}}function re(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function ie(){this.nextSibling&&this.parentNode.appendChild(this)}function ae(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function se(){return null}function ue(){var t=this.parentNode;t&&t.removeChild(this)}function ce(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function le(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function he(t){return function(){var e=this.__on;if(e){for(var n,o=0,r=-1,i=e.length;o<i;++o)n=e[o],t.type&&n.type!==t.type||n.name!==t.name?e[++r]=n:this.removeEventListener(n.type,n.listener,n.options);++r?e.length=r:delete this.__on}}}function de(t,e,n){return function(){var o,r=this.__on,i=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(r)for(var a=0,s=r.length;a<s;++a)if((o=r[a]).type===t.type&&o.name===t.name)return this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),void(o.value=e);this.addEventListener(t.type,i,n),o={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(o):this.__on=[o]}}function fe(t,e,n){var o=Xt(t),r=o.CustomEvent;"function"==typeof r?r=new r(e,n):(r=o.document.createEvent("Event"),n?(r.initEvent(e,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function pe(t,e){return function(){return fe(this,t,e)}}function ge(t,e){return function(){return fe(this,t,e.apply(this,arguments))}}Et.prototype={constructor:Et,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},jt.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var me=[null];function ye(t,e){this._groups=t,this._parents=e}function ve(){return new ye([[document.documentElement]],me)}function xe(t){return"string"==typeof t?new ye([[document.querySelector(t)]],[document.documentElement]):new ye([[t]],me)}function we(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,[(o=o.matrixTransform(e.getScreenCTM().inverse())).x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}ye.prototype=ve.prototype={constructor:ye,select:function(t){"function"!=typeof t&&(t=pt(t));for(var e=this._groups,n=e.length,o=new Array(n),r=0;r<n;++r)for(var i,a,s=e[r],u=s.length,c=o[r]=new Array(u),l=0;l<u;++l)(i=s[l])&&(a=t.call(i,i.__data__,l,s))&&("__data__"in i&&(a.__data__=i.__data__),c[l]=a);return new ye(o,this._parents)},selectAll:function(t){t="function"==typeof t?yt(t):mt(t);for(var e=this._groups,n=e.length,o=[],r=[],i=0;i<n;++i)for(var a,s=e[i],u=s.length,c=0;c<u;++c)(a=s[c])&&(o.push(t.call(a,a.__data__,c,s)),r.push(a));return new ye(o,r)},selectChild:function(t){return this.select(null==t?_t:function(t){return function(){return wt.call(this.children,t)}}("function"==typeof t?t:xt(t)))},selectChildren:function(t){return this.selectAll(null==t?Mt:function(t){return function(){return bt.call(this.children,t)}}("function"==typeof t?t:xt(t)))},filter:function(t){"function"!=typeof t&&(t=vt(t));for(var e=this._groups,n=e.length,o=new Array(n),r=0;r<n;++r)for(var i,a=e[r],s=a.length,u=o[r]=[],c=0;c<s;++c)(i=a[c])&&t.call(i,i.__data__,c,a)&&u.push(i);return new ye(o,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,zt);var n,o=e?Nt:St,r=this._parents,i=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var a=i.length,s=new Array(a),u=new Array(a),c=new Array(a),l=0;l<a;++l){var h=r[l],d=i[l],f=d.length,p=At(t.call(h,h&&h.__data__,l,r)),g=p.length,m=u[l]=new Array(g),y=s[l]=new Array(g);o(h,d,m,y,c[l]=new Array(f),p,e);for(var v,x,w=0,_=0;w<g;++w)if(v=m[w]){for(w>=_&&(_=w+1);!(x=y[_])&&++_<g;);v._next=x||null}}return(s=new ye(s,r))._enter=u,s._exit=c,s},enter:function(){return new ye(this._enter||this._groups.map(Pt),this._parents)},exit:function(){return new ye(this._exit||this._groups.map(Pt),this._parents)},join:function(t,e,n){var o=this.enter(),r=this,i=this.exit();return"function"==typeof t?(o=t(o))&&(o=o.selection()):o=o.append(t+""),null!=e&&(r=e(r))&&(r=r.selection()),null==n?i.remove():n(i),o&&r?o.merge(r).order():r},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),s=new Array(r),u=0;u<a;++u)for(var c,l=n[u],h=o[u],d=l.length,f=s[u]=new Array(d),p=0;p<d;++p)(c=l[p]||h[p])&&(f[p]=c);for(;u<r;++u)s[u]=n[u];return new ye(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var o,r=t[e],i=r.length-1,a=r[i];--i>=0;)(o=r[i])&&(a&&4^o.compareDocumentPosition(a)&&a.parentNode.insertBefore(o,a),a=o);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=kt);for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var a,s=n[i],u=s.length,c=r[i]=new Array(u),l=0;l<u;++l)(a=s[l])&&(c[l]=a);c.sort(e)}return new ye(r,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var o=t[e],r=0,i=o.length;r<i;++r){var a=o[r];if(a)return a}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r,i=e[n],a=0,s=i.length;a<s;++a)(r=i[a])&&t.call(r,r.__data__,a,i);return this},attr:function(t,e){var n=ct(t);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((null==e?n.local?$t:Tt:"function"==typeof e?n.local?Ht:It:n.local?Ot:Ct)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?Yt:"function"==typeof e?Bt:Rt)(t,e,null==n?"":n)):Dt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Vt:"function"==typeof e?qt:Lt)(t,e)):this.node()[t]},classed:function(t,e){var n=Zt(t+"");if(arguments.length<2){for(var o=Gt(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each(("function"==typeof e?Qt:e?Kt:Ut)(n,e))},text:function(t){return arguments.length?this.each(null==t?Jt:("function"==typeof t?ee:te)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ne:("function"==typeof t?re:oe)(t)):this.node().innerHTML},raise:function(){return this.each(ie)},lower:function(){return this.each(ae)},append:function(t){var e="function"==typeof t?t:dt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:dt(t),o=null==e?se:"function"==typeof e?e:pt(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)}))},remove:function(){return this.each(ue)},clone:function(t){return this.select(t?le:ce)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var o,r,i=function(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),a=i.length;if(!(arguments.length<2)){for(s=e?de:he,o=0;o<a;++o)this.each(s(i[o],e,n));return this}var s=this.node().__on;if(s)for(var u,c=0,l=s.length;c<l;++c)for(o=0,u=s[c];o<a;++o)if((r=i[o]).type===u.type&&r.name===u.name)return u.value},dispatch:function(t,e){return this.each(("function"==typeof e?ge:pe)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var o,r=t[e],i=0,a=r.length;i<a;++i)(o=r[i])&&(yield o)}};const _e={passive:!1},be={capture:!0,passive:!1};function Me(t){t.stopImmediatePropagation()}function Pe(t){t.preventDefault(),t.stopImmediatePropagation()}function Ee(t){var e=t.document.documentElement,n=xe(t).on("dragstart.drag",Pe,be);"onselectstart"in e?n.on("selectstart.drag",Pe,be):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Se(t,e){var n=t.document.documentElement,o=xe(t).on("dragstart.drag",null);e&&(o.on("click.drag",Pe,be),setTimeout((function(){o.on("click.drag",null)}),0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Ne=t=>()=>t;function ze(t,{sourceEvent:e,subject:n,target:o,identifier:r,active:i,x:a,y:s,dx:u,dy:c,dispatch:l}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:l}})}function Ae(t){return!t.ctrlKey&&!t.button}function ke(){return this.parentNode}function Te(t,e){return null==e?{x:t.x,y:t.y}:e}function $e(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ce(){var t,e,n,o,r=Ae,i=ke,a=Te,s=$e,u={},c=ot("start","drag","end"),l=0,h=0;function d(t){t.on("mousedown.drag",f).filter(s).on("touchstart.drag",m).on("touchmove.drag",y,_e).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(a,s){if(!o&&r.call(this,a,s)){var u=x(this,i.call(this,a,s),a,s,"mouse");u&&(xe(a.view).on("mousemove.drag",p,be).on("mouseup.drag",g,be),Ee(a.view),Me(a),n=!1,t=a.clientX,e=a.clientY,u("start",a))}}function p(o){if(Pe(o),!n){var r=o.clientX-t,i=o.clientY-e;n=r*r+i*i>h}u.mouse("drag",o)}function g(t){xe(t.view).on("mousemove.drag mouseup.drag",null),Se(t.view,n),Pe(t),u.mouse("end",t)}function m(t,e){if(r.call(this,t,e)){var n,o,a=t.changedTouches,s=i.call(this,t,e),u=a.length;for(n=0;n<u;++n)(o=x(this,s,t,e,a[n].identifier,a[n]))&&(Me(t),o("start",t,a[n]))}}function y(t){var e,n,o=t.changedTouches,r=o.length;for(e=0;e<r;++e)(n=u[o[e].identifier])&&(Pe(t),n("drag",t,o[e]))}function v(t){var e,n,r=t.changedTouches,i=r.length;for(o&&clearTimeout(o),o=setTimeout((function(){o=null}),500),e=0;e<i;++e)(n=u[r[e].identifier])&&(Me(t),n("end",t,r[e]))}function x(t,e,n,o,r,i){var s,h,f,p=c.copy(),g=we(i||n,e);if(null!=(f=a.call(t,new ze("beforestart",{sourceEvent:n,target:d,identifier:r,active:l,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),o)))return s=f.x-g[0]||0,h=f.y-g[1]||0,function n(i,a,c){var m,y=g;switch(i){case"start":u[r]=n,m=l++;break;case"end":delete u[r],--l;case"drag":g=we(c||a,e),m=l}p.call(i,t,new ze(i,{sourceEvent:a,subject:f,target:d,identifier:r,active:m,x:g[0]+s,y:g[1]+h,dx:g[0]-y[0],dy:g[1]-y[1],dispatch:p}),o)}}return d.filter=function(t){return arguments.length?(r="function"==typeof t?t:Ne(!!t),d):r},d.container=function(t){return arguments.length?(i="function"==typeof t?t:Ne(t),d):i},d.subject=function(t){return arguments.length?(a="function"==typeof t?t:Ne(t),d):a},d.touchable=function(t){return arguments.length?(s="function"==typeof t?t:Ne(!!t),d):s},d.on=function(){var t=c.on.apply(c,arguments);return t===c?d:t},d.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,d):Math.sqrt(h)},d}function Oe(t){return(e,n,o)=>t?.(e,o)}function Ie(t,e){if(!t.parentNode)return!1;const n=e.find((t=>t.id===t.parentNode));return!!n&&(!!n.selected||Ie(n,e))}function He(t,e,n){let o=t;do{if(o?.matches(e))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function Xe(t,e,n,o){return t.filter((n=>(n.selected||n.id===o)&&(!n.parentNode||!Ie(n,t))&&(n.draggable||e&&void 0===n.draggable))).map((t=>({id:t.id,position:t.position||{x:0,y:0},distance:{x:n.x-(t.computed?.positionAbsolute?.x??0),y:n.y-(t.computed?.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:t.extent,parentNode:t.parentNode,origin:t.origin,expandParent:t.expandParent,computed:{positionAbsolute:t.computed?.positionAbsolute||{x:0,y:0},width:t.computed?.width||0,height:t.computed?.height||0}})))}function Ye({nodeId:t,dragItems:e,nodeLookup:n}){const o=e.map((t=>({...n.get(t.id),position:t.position,computed:{...t.computed,positionAbsolute:t.computed.positionAbsolute}})));return[t?o.find((e=>e.id===t)):o[0],o]}function Re(t,e,n,o){return(e[n]||[]).reduce(((e,r)=>(`${t.id}-${r.id}-${n}`!==o&&e.push({id:r.id||null,type:n,nodeId:t.id,x:(t.computed?.positionAbsolute?.x??0)+r.x+r.width/2,y:(t.computed?.positionAbsolute?.y??0)+r.y+r.height/2}),e)),[])}function Be(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function De(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}ze.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};const Ve=()=>!0;let Le=null;function qe(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:s,lib:u,flowId:c,isValidConnection:l=Ve}){const h="target"===a,d=n?s.querySelector(`.${u}-flow__handle[data-id="${c}-${n?.nodeId}-${n?.id}-${n?.type}"]`):null,{x:f,y:p}=R(e),g=s.elementFromPoint(f,p),m=g?.classList.contains(`${u}-flow__handle`)?g:d,y={handleDomNode:m,isValid:!1,connection:null,endHandle:null};if(m){const e=Be(void 0,m),n=m.getAttribute("data-nodeid"),a=m.getAttribute("data-handleid"),s=m.classList.contains("connectable"),u=m.classList.contains("connectableend");if(!n)return y;const c={source:h?n:r,sourceHandle:h?a:i,target:h?r:n,targetHandle:h?i:a};y.connection=c;s&&u&&(o===t.ConnectionMode.Strict?h&&"source"===e||!h&&"target"===e:n!==r||a!==i)&&(y.endHandle={nodeId:n,handleId:a,type:e},y.isValid=l(c))}return y}const Ze={onPointerDown:function(t,{connectionMode:e,connectionRadius:o,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:s,domNode:u,nodes:c,lib:l,autoPanOnConnect:h,flowId:d,panBy:f,cancelConnection:p,onConnectStart:g,onConnect:m,onConnectEnd:y,isValidConnection:x=Ve,onEdgeUpdateEnd:w,updateConnection:_,getTransform:b,getConnectionStartHandle:M}){const P=H(t.target);let E,S=0;const{x:N,y:k}=R(t),T=P?.elementFromPoint(N,k),$=Be(a,T),C=u?.getBoundingClientRect();if(!C||!$)return;let O=R(t,C),I=!1,X=null,Y=!1,B=null;const D=function({nodes:t,nodeId:e,handleId:o,handleType:r}){return t.reduce(((t,i)=>{if(i[n]){const{handleBounds:a}=i[n];let s=[],u=[];a&&(s=Re(i,a,"source",`${e}-${o}-${r}`),u=Re(i,a,"target",`${e}-${o}-${r}`)),t.push(...s,...u)}return t}),[])}({nodes:c,nodeId:i,handleId:r,handleType:$});function V(){if(!h||!C)return;const[t,e]=v(O,C);f({x:t,y:e}),S=requestAnimationFrame(V)}function L(t){M()||q(t);const n=b();O=R(t,C),E=function(t,e,n){let o=[],r=1/0;for(const i of n){const n=Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2));n<=e&&(n<r?o=[i]:n===r&&o.push(i),r=n)}return o.length?1===o.length?o[0]:o.find((t=>"target"===t.type))||o[0]:null}(z(O,n,!1,[1,1]),o,D),I||(V(),I=!0);const a=qe(t,{handle:E,connectionMode:e,fromNodeId:i,fromHandleId:r,fromType:s?"target":"source",isValidConnection:x,doc:P,lib:l,flowId:d});B=a.handleDomNode,X=a.connection,Y=a.isValid,_({connectionStartHandle:Le,connectionPosition:E&&Y?A({x:E.x,y:E.y},n):O,connectionStatus:De(!!E,Y),connectionEndHandle:a.endHandle})}function q(t){(E||B)&&X&&Y&&m?.(X),y?.(t),a&&w?.(t),p(),cancelAnimationFrame(S),I=!1,Y=!1,X=null,B=null,Le=null,P.removeEventListener("mousemove",L),P.removeEventListener("mouseup",q),P.removeEventListener("touchmove",L),P.removeEventListener("touchend",q)}Le={nodeId:i,handleId:r,type:$},_({connectionPosition:O,connectionStatus:null,connectionStartHandle:Le,connectionEndHandle:null}),g?.(t,{nodeId:i,handleId:r,handleType:$}),P.addEventListener("mousemove",L),P.addEventListener("mouseup",q),P.addEventListener("touchmove",L),P.addEventListener("touchend",q)},isValid:qe};function Ge(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function je(t,e){var n=Object.create(t.prototype);for(var o in e)n[o]=e[o];return n}function We(){}var Fe=.7,Ke=1/Fe,Ue="\\s*([+-]?\\d+)\\s*",Qe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Je="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tn=/^#([0-9a-f]{3,8})$/,en=new RegExp(`^rgb\\(${Ue},${Ue},${Ue}\\)$`),nn=new RegExp(`^rgb\\(${Je},${Je},${Je}\\)$`),on=new RegExp(`^rgba\\(${Ue},${Ue},${Ue},${Qe}\\)$`),rn=new RegExp(`^rgba\\(${Je},${Je},${Je},${Qe}\\)$`),an=new RegExp(`^hsl\\(${Qe},${Je},${Je}\\)$`),sn=new RegExp(`^hsla\\(${Qe},${Je},${Je},${Qe}\\)$`),un={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function cn(){return this.rgb().formatHex()}function ln(){return this.rgb().formatRgb()}function hn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=tn.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?dn(e):3===n?new gn(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?fn(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?fn(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=en.exec(t))?new gn(e[1],e[2],e[3],1):(e=nn.exec(t))?new gn(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=on.exec(t))?fn(e[1],e[2],e[3],e[4]):(e=rn.exec(t))?fn(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=an.exec(t))?_n(e[1],e[2]/100,e[3]/100,1):(e=sn.exec(t))?_n(e[1],e[2]/100,e[3]/100,e[4]):un.hasOwnProperty(t)?dn(un[t]):"transparent"===t?new gn(NaN,NaN,NaN,0):null}function dn(t){return new gn(t>>16&255,t>>8&255,255&t,1)}function fn(t,e,n,o){return o<=0&&(t=e=n=NaN),new gn(t,e,n,o)}function pn(t,e,n,o){return 1===arguments.length?((r=t)instanceof We||(r=hn(r)),r?new gn((r=r.rgb()).r,r.g,r.b,r.opacity):new gn):new gn(t,e,n,null==o?1:o);var r}function gn(t,e,n,o){this.r=+t,this.g=+e,this.b=+n,this.opacity=+o}function mn(){return`#${wn(this.r)}${wn(this.g)}${wn(this.b)}`}function yn(){const t=vn(this.opacity);return`${1===t?"rgb(":"rgba("}${xn(this.r)}, ${xn(this.g)}, ${xn(this.b)}${1===t?")":`, ${t})`}`}function vn(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function xn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wn(t){return((t=xn(t))<16?"0":"")+t.toString(16)}function _n(t,e,n,o){return o<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Mn(t,e,n,o)}function bn(t){if(t instanceof Mn)return new Mn(t.h,t.s,t.l,t.opacity);if(t instanceof We||(t=hn(t)),!t)return new Mn;if(t instanceof Mn)return t;var e=(t=t.rgb()).r/255,n=t.g/255,o=t.b/255,r=Math.min(e,n,o),i=Math.max(e,n,o),a=NaN,s=i-r,u=(i+r)/2;return s?(a=e===i?(n-o)/s+6*(n<o):n===i?(o-e)/s+2:(e-n)/s+4,s/=u<.5?i+r:2-i-r,a*=60):s=u>0&&u<1?0:a,new Mn(a,s,u,t.opacity)}function Mn(t,e,n,o){this.h=+t,this.s=+e,this.l=+n,this.opacity=+o}function Pn(t){return(t=(t||0)%360)<0?t+360:t}function En(t){return Math.max(0,Math.min(1,t||0))}function Sn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Ge(We,hn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:cn,formatHex:cn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return bn(this).formatHsl()},formatRgb:ln,toString:ln}),Ge(gn,pn,je(We,{brighter(t){return t=null==t?Ke:Math.pow(Ke,t),new gn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Fe:Math.pow(Fe,t),new gn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new gn(xn(this.r),xn(this.g),xn(this.b),vn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:mn,formatHex:mn,formatHex8:function(){return`#${wn(this.r)}${wn(this.g)}${wn(this.b)}${wn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:yn,toString:yn})),Ge(Mn,(function(t,e,n,o){return 1===arguments.length?bn(t):new Mn(t,e,n,null==o?1:o)}),je(We,{brighter(t){return t=null==t?Ke:Math.pow(Ke,t),new Mn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Fe:Math.pow(Fe,t),new Mn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*e,r=2*n-o;return new gn(Sn(t>=240?t-240:t+120,r,o),Sn(t,r,o),Sn(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new Mn(Pn(this.h),En(this.s),En(this.l),vn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=vn(this.opacity);return`${1===t?"hsl(":"hsla("}${Pn(this.h)}, ${100*En(this.s)}%, ${100*En(this.l)}%${1===t?")":`, ${t})`}`}}));var Nn=t=>()=>t;function zn(t){return 1==(t=+t)?An:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(o){return Math.pow(t+o*e,n)}}(e,n,t):Nn(isNaN(e)?n:e)}}function An(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):Nn(isNaN(t)?e:t)}var kn=function t(e){var n=zn(e);function o(t,e){var o=n((t=pn(t)).r,(e=pn(e)).r),r=n(t.g,e.g),i=n(t.b,e.b),a=An(t.opacity,e.opacity);return function(e){return t.r=o(e),t.g=r(e),t.b=i(e),t.opacity=a(e),t+""}}return o.gamma=t,o}(1);function Tn(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var $n=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cn=new RegExp($n.source,"g");function On(t,e){var n,o,r,i=$n.lastIndex=Cn.lastIndex=0,a=-1,s=[],u=[];for(t+="",e+="";(n=$n.exec(t))&&(o=Cn.exec(e));)(r=o.index)>i&&(r=e.slice(i,r),s[a]?s[a]+=r:s[++a]=r),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,u.push({i:a,x:Tn(n,o)})),i=Cn.lastIndex;return i<e.length&&(r=e.slice(i),s[a]?s[a]+=r:s[++a]=r),s.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,o=0;o<e;++o)s[(n=u[o]).i]=n.x(t);return s.join("")})}var In,Hn=180/Math.PI,Xn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yn(t,e,n,o,r,i){var a,s,u;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(u=t*n+e*o)&&(n-=t*u,o-=e*u),(s=Math.sqrt(n*n+o*o))&&(n/=s,o/=s,u/=s),t*o<e*n&&(t=-t,e=-e,u=-u,a=-a),{translateX:r,translateY:i,rotate:Math.atan2(e,t)*Hn,skewX:Math.atan(u)*Hn,scaleX:a,scaleY:s}}function Rn(t,e,n,o){function r(t){return t.length?t.pop()+" ":""}return function(i,a){var s=[],u=[];return i=t(i),a=t(a),function(t,o,r,i,a,s){if(t!==r||o!==i){var u=a.push("translate(",null,e,null,n);s.push({i:u-4,x:Tn(t,r)},{i:u-2,x:Tn(o,i)})}else(r||i)&&a.push("translate("+r+e+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,s,u),function(t,e,n,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:n.push(r(n)+"rotate(",null,o)-2,x:Tn(t,e)})):e&&n.push(r(n)+"rotate("+e+o)}(i.rotate,a.rotate,s,u),function(t,e,n,i){t!==e?i.push({i:n.push(r(n)+"skewX(",null,o)-2,x:Tn(t,e)}):e&&n.push(r(n)+"skewX("+e+o)}(i.skewX,a.skewX,s,u),function(t,e,n,o,i,a){if(t!==n||e!==o){var s=i.push(r(i)+"scale(",null,",",null,")");a.push({i:s-4,x:Tn(t,n)},{i:s-2,x:Tn(e,o)})}else 1===n&&1===o||i.push(r(i)+"scale("+n+","+o+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,s,u),i=a=null,function(t){for(var e,n=-1,o=u.length;++n<o;)s[(e=u[n]).i]=e.x(t);return s.join("")}}}var Bn=Rn((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Xn:Yn(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),Dn=Rn((function(t){return null==t?Xn:(In||(In=document.createElementNS("http://www.w3.org/2000/svg","g")),In.setAttribute("transform",t),(t=In.transform.baseVal.consolidate())?Yn((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Xn)}),", ",")",")");function Vn(t){return((t=Math.exp(t))+1/t)/2}var Ln,qn,Zn=function t(e,n,o){function r(t,r){var i,a,s=t[0],u=t[1],c=t[2],l=r[0],h=r[1],d=r[2],f=l-s,p=h-u,g=f*f+p*p;if(g<1e-12)a=Math.log(d/c)/e,i=function(t){return[s+t*f,u+t*p,c*Math.exp(e*t*a)]};else{var m=Math.sqrt(g),y=(d*d-c*c+o*g)/(2*c*n*m),v=(d*d-c*c-o*g)/(2*d*n*m),x=Math.log(Math.sqrt(y*y+1)-y),w=Math.log(Math.sqrt(v*v+1)-v);a=(w-x)/e,i=function(t){var o,r=t*a,i=Vn(x),l=c/(n*m)*(i*(o=e*r+x,((o=Math.exp(2*o))-1)/(o+1))-function(t){return((t=Math.exp(t))-1/t)/2}(x));return[s+l*f,u+l*p,c*i/Vn(e*r+x)]}}return i.duration=1e3*a*e/Math.SQRT2,i}return r.rho=function(e){var n=Math.max(.001,+e),o=n*n;return t(n,o,o*o)},r}(Math.SQRT2,2,4),Gn=0,jn=0,Wn=0,Fn=1e3,Kn=0,Un=0,Qn=0,Jn="object"==typeof performance&&performance.now?performance:Date,to="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function eo(){return Un||(to(no),Un=Jn.now()+Qn)}function no(){Un=0}function oo(){this._call=this._time=this._next=null}function ro(t,e,n){var o=new oo;return o.restart(t,e,n),o}function io(){Un=(Kn=Jn.now())+Qn,Gn=jn=0;try{!function(){eo(),++Gn;for(var t,e=Ln;e;)(t=Un-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Gn}()}finally{Gn=0,function(){var t,e,n=Ln,o=1/0;for(;n;)n._call?(o>n._time&&(o=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Ln=e);qn=t,so(o)}(),Un=0}}function ao(){var t=Jn.now(),e=t-Kn;e>Fn&&(Qn-=e,Kn=t)}function so(t){Gn||(jn&&(jn=clearTimeout(jn)),t-Un>24?(t<1/0&&(jn=setTimeout(io,t-Jn.now()-Qn)),Wn&&(Wn=clearInterval(Wn))):(Wn||(Kn=Jn.now(),Wn=setInterval(ao,Fn)),Gn=1,to(io)))}function uo(t,e,n){var o=new oo;return e=null==e?0:+e,o.restart((n=>{o.stop(),t(n+e)}),e,n),o}oo.prototype=ro.prototype={constructor:oo,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?eo():+n)+(null==e?0:+e),this._next||qn===this||(qn?qn._next=this:Ln=this,qn=this),this._call=t,this._time=n,so()},stop:function(){this._call&&(this._call=null,this._time=1/0,so())}};var co=ot("start","end","cancel","interrupt"),lo=[],ho=0,fo=1,po=2,go=3,mo=4,yo=5,vo=6;function xo(t,e,n,o,r,i){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var o,r=t.__transition;function i(t){n.state=fo,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}function a(i){var c,l,h,d;if(n.state!==fo)return u();for(c in r)if((d=r[c]).name===n.name){if(d.state===go)return uo(a);d.state===mo?(d.state=vo,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete r[c]):+c<e&&(d.state=vo,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete r[c])}if(uo((function(){n.state===go&&(n.state=mo,n.timer.restart(s,n.delay,n.time),s(i))})),n.state=po,n.on.call("start",t,t.__data__,n.index,n.group),n.state===po){for(n.state=go,o=new Array(h=n.tween.length),c=0,l=-1;c<h;++c)(d=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(o[++l]=d);o.length=l+1}}function s(e){for(var r=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(u),n.state=yo,1),i=-1,a=o.length;++i<a;)o[i].call(t,r);n.state===yo&&(n.on.call("end",t,t.__data__,n.index,n.group),u())}function u(){for(var o in n.state=vo,n.timer.stop(),delete r[e],r)return;delete t.__transition}r[e]=n,n.timer=ro(i,0,n.time)}(t,n,{name:e,index:o,group:r,on:co,tween:lo,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:ho})}function wo(t,e){var n=bo(t,e);if(n.state>ho)throw new Error("too late; already scheduled");return n}function _o(t,e){var n=bo(t,e);if(n.state>go)throw new Error("too late; already running");return n}function bo(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Mo(t,e){var n,o,r,i=t.__transition,a=!0;if(i){for(r in e=null==e?null:e+"",i)(n=i[r]).name===e?(o=n.state>po&&n.state<yo,n.state=vo,n.timer.stop(),n.on.call(o?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete i[r]):a=!1;a&&delete t.__transition}}function Po(t,e){var n,o;return function(){var r=_o(this,t),i=r.tween;if(i!==n)for(var a=0,s=(o=n=i).length;a<s;++a)if(o[a].name===e){(o=o.slice()).splice(a,1);break}r.tween=o}}function Eo(t,e,n){var o,r;if("function"!=typeof n)throw new Error;return function(){var i=_o(this,t),a=i.tween;if(a!==o){r=(o=a).slice();for(var s={name:e,value:n},u=0,c=r.length;u<c;++u)if(r[u].name===e){r[u]=s;break}u===c&&r.push(s)}i.tween=r}}function So(t,e,n){var o=t._id;return t.each((function(){var t=_o(this,o);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return bo(t,o).value[e]}}function No(t,e){var n;return("number"==typeof e?Tn:e instanceof hn?kn:(n=hn(e))?(e=n,kn):On)(t,e)}function zo(t){return function(){this.removeAttribute(t)}}function Ao(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ko(t,e,n){var o,r,i=n+"";return function(){var a=this.getAttribute(t);return a===i?null:a===o?r:r=e(o=a,n)}}function To(t,e,n){var o,r,i=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===o?r:r=e(o=a,n)}}function $o(t,e,n){var o,r,i;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttribute(t))===(s=u+"")?null:a===o&&s===r?i:(r=s,i=e(o=a,u));this.removeAttribute(t)}}function Co(t,e,n){var o,r,i;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttributeNS(t.space,t.local))===(s=u+"")?null:a===o&&s===r?i:(r=s,i=e(o=a,u));this.removeAttributeNS(t.space,t.local)}}function Oo(t,e){var n,o;function r(){var r=e.apply(this,arguments);return r!==o&&(n=(o=r)&&function(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}(t,r)),n}return r._value=e,r}function Io(t,e){var n,o;function r(){var r=e.apply(this,arguments);return r!==o&&(n=(o=r)&&function(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}(t,r)),n}return r._value=e,r}function Ho(t,e){return function(){wo(this,t).delay=+e.apply(this,arguments)}}function Xo(t,e){return e=+e,function(){wo(this,t).delay=e}}function Yo(t,e){return function(){_o(this,t).duration=+e.apply(this,arguments)}}function Ro(t,e){return e=+e,function(){_o(this,t).duration=e}}var Bo=ve.prototype.constructor;function Do(t){return function(){this.style.removeProperty(t)}}var Vo=0;function Lo(t,e,n,o){this._groups=t,this._parents=e,this._name=n,this._id=o}function qo(){return++Vo}var Zo=ve.prototype;Lo.prototype={constructor:Lo,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=pt(t));for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a)for(var s,u,c=o[a],l=c.length,h=i[a]=new Array(l),d=0;d<l;++d)(s=c[d])&&(u=t.call(s,s.__data__,d,c))&&("__data__"in s&&(u.__data__=s.__data__),h[d]=u,xo(h[d],e,n,d,h,bo(s,n)));return new Lo(i,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=mt(t));for(var o=this._groups,r=o.length,i=[],a=[],s=0;s<r;++s)for(var u,c=o[s],l=c.length,h=0;h<l;++h)if(u=c[h]){for(var d,f=t.call(u,u.__data__,h,c),p=bo(u,n),g=0,m=f.length;g<m;++g)(d=f[g])&&xo(d,e,n,g,f,p);i.push(f),a.push(u)}return new Lo(i,a,e,n)},selectChild:Zo.selectChild,selectChildren:Zo.selectChildren,filter:function(t){"function"!=typeof t&&(t=vt(t));for(var e=this._groups,n=e.length,o=new Array(n),r=0;r<n;++r)for(var i,a=e[r],s=a.length,u=o[r]=[],c=0;c<s;++c)(i=a[c])&&t.call(i,i.__data__,c,a)&&u.push(i);return new Lo(o,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,o=e.length,r=n.length,i=Math.min(o,r),a=new Array(o),s=0;s<i;++s)for(var u,c=e[s],l=n[s],h=c.length,d=a[s]=new Array(h),f=0;f<h;++f)(u=c[f]||l[f])&&(d[f]=u);for(;s<o;++s)a[s]=e[s];return new Lo(a,this._parents,this._name,this._id)},selection:function(){return new Bo(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=qo(),o=this._groups,r=o.length,i=0;i<r;++i)for(var a,s=o[i],u=s.length,c=0;c<u;++c)if(a=s[c]){var l=bo(a,e);xo(a,t,n,c,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Lo(o,this._parents,t,n)},call:Zo.call,nodes:Zo.nodes,node:Zo.node,size:Zo.size,empty:Zo.empty,each:Zo.each,on:function(t,e){var n=this._id;return arguments.length<2?bo(this.node(),n).on.on(t):this.each(function(t,e,n){var o,r,i=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?wo:_o;return function(){var a=i(this,t),s=a.on;s!==o&&(r=(o=s).copy()).on(e,n),a.on=r}}(n,t,e))},attr:function(t,e){var n=ct(t),o="transform"===n?Dn:No;return this.attrTween(t,"function"==typeof e?(n.local?Co:$o)(n,o,So(this,"attr."+t,e)):null==e?(n.local?Ao:zo)(n):(n.local?To:ko)(n,o,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var o=ct(t);return this.tween(n,(o.local?Oo:Io)(o,e))},style:function(t,e,n){var o="transform"==(t+="")?Bn:No;return null==e?this.styleTween(t,function(t,e){var n,o,r;return function(){var i=Dt(this,t),a=(this.style.removeProperty(t),Dt(this,t));return i===a?null:i===n&&a===o?r:r=e(n=i,o=a)}}(t,o)).on("end.style."+t,Do(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var o,r,i;return function(){var a=Dt(this,t),s=n(this),u=s+"";return null==s&&(this.style.removeProperty(t),u=s=Dt(this,t)),a===u?null:a===o&&u===r?i:(r=u,i=e(o=a,s))}}(t,o,So(this,"style."+t,e))).each(function(t,e){var n,o,r,i,a="style."+e,s="end."+a;return function(){var u=_o(this,t),c=u.on,l=null==u.value[a]?i||(i=Do(e)):void 0;c===n&&r===l||(o=(n=c).copy()).on(s,r=l),u.on=o}}(this._id,t)):this.styleTween(t,function(t,e,n){var o,r,i=n+"";return function(){var a=Dt(this,t);return a===i?null:a===o?r:r=e(o=a,n)}}(t,o,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(null==e)return this.tween(o,null);if("function"!=typeof e)throw new Error;return this.tween(o,function(t,e,n){var o,r;function i(){var i=e.apply(this,arguments);return i!==r&&(o=(r=i)&&function(t,e,n){return function(o){this.style.setProperty(t,e.call(this,o),n)}}(t,i,n)),o}return i._value=e,i}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(So(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function o(){var o=t.apply(this,arguments);return o!==n&&(e=(n=o)&&function(t){return function(e){this.textContent=t.call(this,e)}}(o)),e}return o._value=t,o}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var o,r=bo(this.node(),n).tween,i=0,a=r.length;i<a;++i)if((o=r[i]).name===t)return o.value;return null}return this.each((null==e?Po:Eo)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Ho:Xo)(e,t)):bo(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Yo:Ro)(e,t)):bo(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){_o(this,t).ease=e}}(e,t)):bo(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;_o(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,o=n._id,r=n.size();return new Promise((function(i,a){var s={value:a},u={value:function(){0==--r&&i()}};n.each((function(){var n=_o(this,o),r=n.on;r!==t&&((e=(t=r).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(u)),n.on=e})),0===r&&i()}))},[Symbol.iterator]:Zo[Symbol.iterator]};var Go={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function jo(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}ve.prototype.interrupt=function(t){return this.each((function(){Mo(this,t)}))},ve.prototype.transition=function(t){var e,n;t instanceof Lo?(e=t._id,t=t._name):(e=qo(),(n=Go).time=eo(),t=null==t?null:t+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var a,s=o[i],u=s.length,c=0;c<u;++c)(a=s[c])&&xo(a,t,e,c,s,n||jo(a,e));return new Lo(o,this._parents,t,e)};var Wo=t=>()=>t;function Fo(t,{sourceEvent:e,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ko(t,e,n){this.k=t,this.x=e,this.y=n}Ko.prototype={constructor:Ko,scale:function(t){return 1===t?this:new Ko(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Ko(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Uo=new Ko(1,0,0);function Qo(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Uo;return t.__zoom}function Jo(t){t.stopImmediatePropagation()}function tr(t){t.preventDefault(),t.stopImmediatePropagation()}function er(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function nr(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function or(){return this.__zoom||Uo}function rr(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function ir(){return navigator.maxTouchPoints||"ontouchstart"in this}function ar(t,e,n){var o=t.invertX(e[0][0])-n[0][0],r=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function sr(){var t,e,n,o=er,r=nr,i=ar,a=rr,s=ir,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],l=250,h=Zn,d=ot("start","zoom","end"),f=500,p=150,g=0,m=10;function y(t){t.property("__zoom",or).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",S).filter(s).on("touchstart.zoom",N).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,e){return(e=Math.max(u[0],Math.min(u[1],e)))===t.k?t:new Ko(e,t.x,t.y)}function x(t,e,n){var o=e[0]-n[0]*t.k,r=e[1]-n[1]*t.k;return o===t.x&&r===t.y?t:new Ko(t.k,o,r)}function w(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function _(t,e,n,o){t.on("start.zoom",(function(){b(this,arguments).event(o).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).event(o).end()})).tween("zoom",(function(){var t=this,i=arguments,a=b(t,i).event(o),s=r.apply(t,i),u=null==n?w(s):"function"==typeof n?n.apply(t,i):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),l=t.__zoom,d="function"==typeof e?e.apply(t,i):e,f=h(l.invert(u).concat(c/l.k),d.invert(u).concat(c/d.k));return function(t){if(1===t)t=d;else{var e=f(t),n=c/e[2];t=new Ko(n,u[0]-e[0]*n,u[1]-e[1]*n)}a.zoom(null,t)}}))}function b(t,e,n){return!n&&t.__zooming||new M(t,e)}function M(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=r.apply(t,e),this.taps=0}function P(t,...e){if(o.apply(this,arguments)){var n=b(this,e).event(t),r=this.__zoom,s=Math.max(u[0],Math.min(u[1],r.k*Math.pow(2,a.apply(this,arguments)))),l=we(t);if(n.wheel)n.mouse[0][0]===l[0]&&n.mouse[0][1]===l[1]||(n.mouse[1]=r.invert(n.mouse[0]=l)),clearTimeout(n.wheel);else{if(r.k===s)return;n.mouse=[l,r.invert(l)],Mo(this),n.start()}tr(t),n.wheel=setTimeout((function(){n.wheel=null,n.end()}),p),n.zoom("mouse",i(x(v(r,s),n.mouse[0],n.mouse[1]),n.extent,c))}}function E(t,...e){if(!n&&o.apply(this,arguments)){var r=t.currentTarget,a=b(this,e,!0).event(t),s=xe(t.view).on("mousemove.zoom",(function(t){if(tr(t),!a.moved){var e=t.clientX-l,n=t.clientY-h;a.moved=e*e+n*n>g}a.event(t).zoom("mouse",i(x(a.that.__zoom,a.mouse[0]=we(t,r),a.mouse[1]),a.extent,c))}),!0).on("mouseup.zoom",(function(t){s.on("mousemove.zoom mouseup.zoom",null),Se(t.view,a.moved),tr(t),a.event(t).end()}),!0),u=we(t,r),l=t.clientX,h=t.clientY;Ee(t.view),Jo(t),a.mouse=[u,this.__zoom.invert(u)],Mo(this),a.start()}}function S(t,...e){if(o.apply(this,arguments)){var n=this.__zoom,a=we(t.changedTouches?t.changedTouches[0]:t,this),s=n.invert(a),u=n.k*(t.shiftKey?.5:2),h=i(x(v(n,u),a,s),r.apply(this,e),c);tr(t),l>0?xe(this).transition().duration(l).call(_,h,a,t):xe(this).call(y.transform,h,a,t)}}function N(n,...r){if(o.apply(this,arguments)){var i,a,s,u,c=n.touches,l=c.length,h=b(this,r,n.changedTouches.length===l).event(n);for(Jo(n),a=0;a<l;++a)u=[u=we(s=c[a],this),this.__zoom.invert(u),s.identifier],h.touch0?h.touch1||h.touch0[2]===u[2]||(h.touch1=u,h.taps=0):(h.touch0=u,i=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),i&&(h.taps<2&&(e=u[0],t=setTimeout((function(){t=null}),f)),Mo(this),h.start())}}function z(t,...e){if(this.__zooming){var n,o,r,a,s=b(this,e).event(t),u=t.changedTouches,l=u.length;for(tr(t),n=0;n<l;++n)r=we(o=u[n],this),s.touch0&&s.touch0[2]===o.identifier?s.touch0[0]=r:s.touch1&&s.touch1[2]===o.identifier&&(s.touch1[0]=r);if(o=s.that.__zoom,s.touch1){var h=s.touch0[0],d=s.touch0[1],f=s.touch1[0],p=s.touch1[1],g=(g=f[0]-h[0])*g+(g=f[1]-h[1])*g,m=(m=p[0]-d[0])*m+(m=p[1]-d[1])*m;o=v(o,Math.sqrt(g/m)),r=[(h[0]+f[0])/2,(h[1]+f[1])/2],a=[(d[0]+p[0])/2,(d[1]+p[1])/2]}else{if(!s.touch0)return;r=s.touch0[0],a=s.touch0[1]}s.zoom("touch",i(x(o,r,a),s.extent,c))}}function A(t,...o){if(this.__zooming){var r,i,a=b(this,o).event(t),s=t.changedTouches,u=s.length;for(Jo(t),n&&clearTimeout(n),n=setTimeout((function(){n=null}),f),r=0;r<u;++r)i=s[r],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=we(i,this),Math.hypot(e[0]-i[0],e[1]-i[1])<m)){var c=xe(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return y.transform=function(t,e,n,o){var r=t.selection?t.selection():t;r.property("__zoom",or),t!==r?_(t,e,n,o):r.interrupt().each((function(){b(this,arguments).event(o).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},y.scaleBy=function(t,e,n,o){y.scaleTo(t,(function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)}),n,o)},y.scaleTo=function(t,e,n,o){y.transform(t,(function(){var t=r.apply(this,arguments),o=this.__zoom,a=null==n?w(t):"function"==typeof n?n.apply(this,arguments):n,s=o.invert(a),u="function"==typeof e?e.apply(this,arguments):e;return i(x(v(o,u),a,s),t,c)}),n,o)},y.translateBy=function(t,e,n,o){y.transform(t,(function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),c)}),null,o)},y.translateTo=function(t,e,n,o,a){y.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,s=null==o?w(t):"function"==typeof o?o.apply(this,arguments):o;return i(Uo.translate(s[0],s[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),o,a)},M.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=xe(this.that).datum();d.call(t,this.that,new Fo(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:d}),e)}},y.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:Wo(+t),y):a},y.filter=function(t){return arguments.length?(o="function"==typeof t?t:Wo(!!t),y):o},y.touchable=function(t){return arguments.length?(s="function"==typeof t?t:Wo(!!t),y):s},y.extent=function(t){return arguments.length?(r="function"==typeof t?t:Wo([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):r},y.scaleExtent=function(t){return arguments.length?(u[0]=+t[0],u[1]=+t[1],y):[u[0],u[1]]},y.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],y):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},y.constrain=function(t){return arguments.length?(i=t,y):i},y.duration=function(t){return arguments.length?(l=+t,y):l},y.interpolate=function(t){return arguments.length?(h=t,y):h},y.on=function(){var t=d.on.apply(d,arguments);return t===d?y:t},y.clickDistance=function(t){return arguments.length?(g=(t=+t)*t,y):Math.sqrt(g)},y.tapDistance=function(t){return arguments.length?(m=+t,y):m},y}Qo.prototype=Ko.prototype;const ur=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,cr=t=>({x:t.x,y:t.y,zoom:t.k}),lr=({x:t,y:e,zoom:n})=>Uo.translate(t,e).scale(n),hr=(t,e)=>t.target.closest(`.${e}`),dr=(t,e)=>2===e&&Array.isArray(t)&&t.includes(2),fr=(t,e=0)=>"number"==typeof e&&e>0?t.transition().duration(e):t,pr=t=>{const e=t.ctrlKey&&T()?10:1;return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*e};var gr;t.ResizeControlVariant=void 0,(gr=t.ResizeControlVariant||(t.ResizeControlVariant={})).Line="line",gr.Handle="handle";function mr(t,e){return Math.max(0,e-t)}function yr(t,e){return Math.max(0,t-e)}function vr(t,e,n){return Math.max(0,e-t,t-n)}function xr(t,e){return t?!e:e}const wr={width:0,height:0,x:0,y:0},_r={...wr,pointerX:0,pointerY:0,aspectRatio:1},br={x:0,y:0,width:0,height:0,isXPosChange:!1,isYPosChange:!1,isWidthChange:!1,isHeightChange:!1};function Mr(t,e,n){const o=e.position.x+t.position.x,r=e.position.y+t.position.y,i=t.computed.width??0,a=t.computed.height??0,s=n[0]*i,u=n[1]*a;return[[o-s,r-u],[o+i-s,r+a-u]]}t.XYDrag=function({onNodeMouseDown:t,getStoreItems:e,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},a=0,s=[],u=!1,c={x:0,y:0},l=null,h=!1,f=null;return{update:function({noDragClassName:g,handleSelector:m,domNode:y,isSelectable:x,nodeId:_}){function b({x:t,y:n},r){const{nodeLookup:a,nodeExtent:u,snapGrid:c,snapToGrid:l,nodeOrigin:h,onNodeDrag:f,onSelectionDrag:g,onError:m,updateNodePositions:y}=e();i={x:t,y:n};let v=!1,x={x:0,y:0,x2:0,y2:0};if(s.length>1&&u){const t=d(s,{nodeOrigin:h});x=w(t)}if(s=s.map((e=>{let o={x:t-e.distance.x,y:n-e.distance.y};l&&(o=N(o,c));const r=[[u[0][0],u[0][1]],[u[1][0],u[1][1]]];s.length>1&&u&&!e.extent&&(r[0][0]=e.computed.positionAbsolute.x-x.x+u[0][0],r[1][0]=e.computed.positionAbsolute.x+(e.computed?.width??0)-x.x2+u[1][0],r[0][1]=e.computed.positionAbsolute.y-x.y+u[0][1],r[1][1]=e.computed.positionAbsolute.y+(e.computed?.height??0)-x.y2+u[1][1]);const{position:i,positionAbsolute:d}=p({nodeId:e.id,nextPosition:o,nodeLookup:a,nodeExtent:r,nodeOrigin:h,onError:m});return v=v||e.position.x!==i.x||e.position.y!==i.y,e.position=i,e.computed.positionAbsolute=d,e})),v&&(y(s,!0),r&&(o||f||!_&&g))){const[t,e]=Ye({nodeId:_,dragItems:s,nodeLookup:a});if(o?.(r,s,t,e),f?.(r,t,e),!_){Oe(g)(r,t,e)}}}function M(){if(!l)return;const[t,n]=v(c,l);if(0!==t||0!==n){const{transform:o,panBy:r}=e();i.x=(i.x??0)-t/o[2],i.y=(i.y??0)-n/o[2],r({x:t,y:n})&&b(i,null)}a=requestAnimationFrame(M)}function P(o){const{nodes:r,nodeLookup:a,multiSelectionActive:u,nodesDraggable:c,transform:l,snapGrid:d,snapToGrid:f,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:y}=e();h=!0,p&&x||u||!_||a.get(_)?.selected||y(),x&&p&&_&&t?.(_);const v=O(o.sourceEvent,{transform:l,snapGrid:d,snapToGrid:f});if(i=v,s=Xe(r,c,v,_),s.length>0&&(n||g||!_&&m)){const[t,e]=Ye({nodeId:_,dragItems:s,nodeLookup:a});if(n?.(o.sourceEvent,s,t,e),g?.(o.sourceEvent,t,e),!_){Oe(m)(o.sourceEvent,t,e)}}}f=xe(y);const E=Ce().on("start",(t=>{const{domNode:n,nodeDragThreshold:o,transform:r,snapGrid:a,snapToGrid:s}=e();0===o&&P(t);const u=O(t.sourceEvent,{transform:r,snapGrid:a,snapToGrid:s});i=u,l=n?.getBoundingClientRect()||null,c=R(t.sourceEvent,l)})).on("drag",(t=>{const{autoPanOnNodeDrag:n,transform:o,snapGrid:r,snapToGrid:a,nodeDragThreshold:d}=e(),f=O(t.sourceEvent,{transform:o,snapGrid:r,snapToGrid:a});if(!u&&n&&h&&(u=!0,M()),!h){const e=f.xSnapped-(i.x??0),n=f.ySnapped-(i.y??0);Math.sqrt(e*e+n*n)>d&&P(t)}(i.x!==f.xSnapped||i.y!==f.ySnapped)&&s&&h&&(c=R(t.sourceEvent,l),b(f,t.sourceEvent))})).on("end",(t=>{if(h&&(u=!1,h=!1,cancelAnimationFrame(a),s.length>0)){const{nodeLookup:n,updateNodePositions:o,onNodeDragStop:i,onSelectionDragStop:a}=e();if(o(s,!1),r||i||!_&&a){const[e,o]=Ye({nodeId:_,dragItems:s,nodeLookup:n});if(r?.(t.sourceEvent,s,e,o),i?.(t.sourceEvent,e,o),!_){Oe(a)(t.sourceEvent,e,o)}}}})).filter((t=>{const e=t.target;return!t.button&&(!g||!He(e,`.${g}`,y))&&(!m||He(e,m,y))}));f.call(E)},destroy:function(){f?.on(".drag",null)}}},t.XYHandle=Ze,t.XYMinimap=function({domNode:t,panZoom:e,getTransform:n,getViewScale:o}){const r=xe(t);return{update:function({translateExtent:t,width:i,height:a,zoomStep:s=10,pannable:u=!0,zoomable:c=!0,inversePan:l=!1}){const h=sr().on("zoom",u?r=>{const s=n();if("mousemove"!==r.sourceEvent.type||!e)return;const u=o()*Math.max(s[2],Math.log(s[2]))*(l?-1:1),c={x:s[0]-r.sourceEvent.movementX*u,y:s[1]-r.sourceEvent.movementY*u},h=[[0,0],[i,a]];e.setViewportConstrained({x:c.x,y:c.y,zoom:s[2]},h,t)}:null).on("zoom.wheel",c?t=>{const o=n();if("wheel"!==t.sourceEvent.type||!e)return;const r=-t.sourceEvent.deltaY*(1===t.sourceEvent.deltaMode?.05:t.sourceEvent.deltaMode?1:.002)*s,i=o[2]*Math.pow(2,r);e.scaleTo(i)}:null);r.call(h,{})},destroy:function(){r.on("zoom",null)},pointer:we}},t.XYPanZoom=function({domNode:e,minZoom:n,maxZoom:o,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:s,onPanZoomEnd:u,onTransformChange:c,onDraggingChange:l}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=sr().scaleExtent([n,o]).translateExtent(r),p=xe(e).call(f);x({x:i.x,y:i.y,zoom:g(i.zoom,n,o)},[[0,0],[d.width,d.height]],r);const m=p.on("wheel.zoom");function y(t,e){p&&f?.transform(fr(p,e?.duration),t)}function v(){f.on("zoom",null)}function x(t,e,n){const o=lr(t),r=f?.constrain()(o,e,n);return r&&y(r),r}return f.wheelDelta(pr),{update:function({noWheelClassName:e,noPanClassName:n,onPaneContextMenu:o,userSelectionActive:r,panOnScroll:i,panOnDrag:d,panOnScrollMode:g,panOnScrollSpeed:y,preventScrolling:x,zoomOnPinch:w,zoomOnScroll:_,zoomOnDoubleClick:b,zoomActivationKeyPressed:M,lib:P}){r&&!h.isZoomingOrPanning&&v();const E=i&&!M&&!r?function({zoomPanValues:e,noWheelClassName:n,d3Selection:o,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:s,onPanZoomStart:u,onPanZoom:c,onPanZoomEnd:l}){return h=>{if(hr(h,n))return!1;h.preventDefault(),h.stopImmediatePropagation();const d=o.property("__zoom").k||1,f=T();if(h.ctrlKey&&s&&f){const t=we(h),e=pr(h),n=d*Math.pow(2,e);return void r.scaleTo(o,n,t,h)}const p=1===h.deltaMode?20:1;let g=i===t.PanOnScrollMode.Vertical?0:h.deltaX*p,m=i===t.PanOnScrollMode.Horizontal?0:h.deltaY*p;!f&&h.shiftKey&&i!==t.PanOnScrollMode.Vertical&&(g=h.deltaY*p,m=0),r.translateBy(o,-g/d*a,-m/d*a,{internal:!0});const y=cr(o.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling||(e.isPanScrolling=!0,u?.(h,y)),e.isPanScrolling&&(c?.(h,y),e.panScrollTimeout=setTimeout((()=>{l?.(h,y),e.isPanScrolling=!1}),150))}}({zoomPanValues:h,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:g,panOnScrollSpeed:y,zoomOnPinch:w,onPanZoomStart:s,onPanZoom:a,onPanZoomEnd:u}):function({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:n}){return function(o,r){if(!e||hr(o,t))return null;o.preventDefault(),n.call(this,o,r)}}({noWheelClassName:e,preventScrolling:x,d3ZoomHandler:m});if(p.on("wheel.zoom",E,{passive:!1}),!r){const t=function({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;const r=cr(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,"mousedown"===o.sourceEvent?.type&&e(!0),n&&n?.(o.sourceEvent,r)}}({zoomPanValues:h,onDraggingChange:l,onPanZoomStart:s});f.on("start",t);const e=function({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{t.usedRightMouseButton=!(!n||!dr(e,t.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,cr(i.transform))}}({zoomPanValues:h,panOnDrag:d,onPaneContextMenu:!!o,onPanZoom:a,onTransformChange:c});f.on("zoom",e);const n=function({zoomPanValues:t,panOnDrag:e,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,i&&dr(e,t.mouseButton??0)&&!t.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),t.usedRightMouseButton=!1,o(!1),r&&ur(t.prevViewport,a.transform))){const e=cr(a.transform);t.prevViewport=e,clearTimeout(t.timerId),t.timerId=setTimeout((()=>{r?.(a.sourceEvent,e)}),n?150:0)}}}({zoomPanValues:h,panOnDrag:d,panOnScroll:i,onPaneContextMenu:o,onPanZoomEnd:u,onDraggingChange:l});f.on("end",n)}const S=function({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:n,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:s,noPanClassName:u,lib:c}){return l=>{const h=t||e,d=n&&l.ctrlKey;if(1===l.button&&"mousedown"===l.type&&(hr(l,`${c}-flow__node`)||hr(l,`${c}-flow__edge`)))return!0;if(!(o||h||r||i||n))return!1;if(a)return!1;if(!i&&"dblclick"===l.type)return!1;if(hr(l,s)&&"wheel"===l.type)return!1;if(hr(l,u)&&("wheel"!==l.type||r&&"wheel"===l.type&&!t))return!1;if(!n&&l.ctrlKey&&"wheel"===l.type)return!1;if(!h&&!r&&!d&&"wheel"===l.type)return!1;if(!o&&("mousedown"===l.type||"touchstart"===l.type))return!1;if(Array.isArray(o)&&!o.includes(l.button)&&("mousedown"===l.type||"touchstart"===l.type))return!1;const f=Array.isArray(o)&&o.includes(l.button)||!l.button||l.button<=1;return(!l.ctrlKey||"wheel"===l.type)&&f}}({zoomActivationKeyPressed:M,panOnDrag:d,zoomOnScroll:_,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:w,userSelectionActive:r,noPanClassName:n,noWheelClassName:e,lib:P});f.filter(S)},destroy:v,setViewport:function(t,e){const n=lr(t);return y(n,e),n},setViewportConstrained:x,getViewport:function(){const t=p?Qo(p.node()):{x:0,y:0,k:1};return{x:t.x,y:t.y,zoom:t.k}},scaleTo:function(t,e){p&&f?.scaleTo(fr(p,e?.duration),t)},scaleBy:function(t,e){p&&f?.scaleBy(fr(p,e?.duration),t)},setScaleExtent:function(t){f?.scaleExtent(t)},setTranslateExtent:function(t){f?.translateExtent(t)},syncViewport:function(t){if(p){const e=lr(t),n=p.property("__zoom");n.k===t.zoom&&n.x===t.x&&n.y===t.y||f?.transform(p,e,null,{sync:!0})}}}},t.XYResizer=function({domNode:t,nodeId:e,getStoreItems:n,onChange:o}){const r=xe(t);return{update:function({controlPosition:t,boundaries:i,keepAspectRatio:a,onResizeStart:s,onResize:u,onResizeEnd:c,shouldResize:l}){let h={...wr},d={..._r};const f=function(t){return{isHorizontal:t.includes("right")||t.includes("left"),isVertical:t.includes("bottom")||t.includes("top"),affectsX:t.includes("left"),affectsY:t.includes("top")}}(t);let p,g,m,y,v=[];const x=Ce().on("start",(t=>{const{nodeLookup:o,transform:r,snapGrid:i,snapToGrid:a,nodeOrigin:u}=n();if(p=o.get(e),p){const{xSnapped:n,ySnapped:c}=O(t.sourceEvent,{transform:r,snapGrid:i,snapToGrid:a});h={width:p.computed?.width??0,height:p.computed?.height??0,x:p.position.x??0,y:p.position.y??0},d={...h,pointerX:n,pointerY:c,aspectRatio:h.width/h.height},g=void 0,("parent"===p.extent||p.expandParent)&&(g=o.get(p.parentNode),g&&"parent"===p.extent&&(m=function(t){return[[0,0],[t.computed.width,t.computed.height]]}(g))),v=[],y=void 0;for(const[t,n]of o)if(n.parentNode===e&&(v.push({id:t,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){const t=Mr(n,p,n.origin??u);y=y?[[Math.min(t[0][0],y[0][0]),Math.min(t[0][1],y[0][1])],[Math.max(t[1][0],y[1][0]),Math.max(t[1][1],y[1][1])]]:t}s?.(t,{...h})}})).on("drag",(t=>{const{transform:e,snapGrid:r,snapToGrid:s,nodeOrigin:c}=n(),x=O(t.sourceEvent,{transform:e,snapGrid:r,snapToGrid:s}),w=[];if(p){const{x:e,y:n,width:r,height:s}=h,_={...br},b=p.origin??c,{width:M,height:P,x:E,y:S}=function(t,e,n,o,r,i,a,s){let{affectsX:u,affectsY:c}=e;const{isHorizontal:l,isVertical:h}=e,d=l&&h,{xSnapped:f,ySnapped:p}=n,{minWidth:g,maxWidth:m,minHeight:y,maxHeight:v}=o,{x:x,y:w,width:_,height:b,aspectRatio:M}=t;let P=Math.floor(l?f-t.pointerX:0),E=Math.floor(h?p-t.pointerY:0);const S=_+(u?-P:P),N=b+(c?-E:E),z=-i[0]*_,A=-i[1]*b;let k=vr(S,g,m),T=vr(N,y,v);if(a){let t=0,e=0;u&&P<0?t=mr(x+P+z,a[0][0]):!u&&P>0&&(t=yr(x+S+z,a[1][0])),c&&E<0?e=mr(w+E+A,a[0][1]):!c&&E>0&&(e=yr(w+N+A,a[1][1])),k=Math.max(k,t),T=Math.max(T,e)}if(s){let t=0,e=0;u&&P>0?t=yr(x+P,s[0][0]):!u&&P<0&&(t=mr(x+S,s[1][0])),c&&E>0?e=yr(w+E,s[0][1]):!c&&E<0&&(e=mr(w+N,s[1][1])),k=Math.max(k,t),T=Math.max(T,e)}if(r){if(l){const t=vr(S/M,y,v)*M;if(k=Math.max(k,t),a){let t=0;t=!u&&!c||u&&!c&&d?yr(w+A+S/M,a[1][1])*M:mr(w+A+(u?P:-P)/M,a[0][1])*M,k=Math.max(k,t)}if(s){let t=0;t=!u&&!c||u&&!c&&d?mr(w+S/M,s[1][1])*M:yr(w+(u?P:-P)/M,s[0][1])*M,k=Math.max(k,t)}}if(h){const t=vr(N*M,g,m)/M;if(T=Math.max(T,t),a){let t=0;t=!u&&!c||c&&!u&&d?yr(x+N*M+z,a[1][0])/M:mr(x+(c?E:-E)*M+z,a[0][0])/M,T=Math.max(T,t)}if(s){let t=0;t=!u&&!c||c&&!u&&d?mr(x+N*M,s[1][0])/M:yr(x+(c?E:-E)*M,s[0][0])/M,T=Math.max(T,t)}}}E+=E<0?T:-T,P+=P<0?k:-k,r&&(d?S>N*M?E=(xr(u,c)?-P:P)/M:P=(xr(u,c)?-E:E)*M:l?(E=P/M,c=u):(P=E*M,u=c));const $=u?x+P:x,C=c?w+E:w;return{width:_+(u?-P:P),height:b+(c?-E:E),x:i[0]*P*(u?-1:1)+$,y:i[1]*E*(c?-1:1)+C}}(d,f,x,i,a,b,m,y),N=M!==r,z=P!==s,A=E!==e&&N,k=S!==n&&z;if((A||k||1===b[0]||1==b[1])&&(_.isXPosChange=A,_.isYPosChange=k,_.x=A?E:e,_.y=k?S:n,h.x=_.x,h.y=_.y,g&&p.expandParent&&(_.x<0&&(h.x=0,d.x=d.x-_.x),_.y<0&&(h.y=0,d.y=d.y-_.y)),v.length>0)){const t=E-e,o=S-n;for(const e of v)e.position={x:e.position.x-t+b[0]*(M-r),y:e.position.y-o+b[1]*(P-s)},w.push(e)}if((N||z)&&(_.isWidthChange=N,_.isHeightChange=z,_.width=M,_.height=P,h.width=_.width,h.height=_.height),!(_.isXPosChange||_.isYPosChange||N||z))return;const T=function({width:t,prevWidth:e,height:n,prevHeight:o,affectsX:r,affectsY:i}){const a=t-e,s=n-o,u=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&r&&(u[0]=-1*u[0]),s&&i&&(u[1]=-1*u[1]),u}({width:h.width,prevWidth:r,height:h.height,prevHeight:s,affectsX:f.affectsX,affectsY:f.affectsY}),$={...h,direction:T},C=l?.(t,$);if(!1===C)return;u?.(t,$),o(_,w)}})).on("end",(t=>{c?.(t,{...h})}));r.call(x)},destroy:function(){r.on(".drag",null)}}},t.XY_RESIZER_HANDLE_POSITIONS=["top-left","top-right","bottom-left","bottom-right"],t.XY_RESIZER_LINE_POSITIONS=["top","right","bottom","left"],t.addEdge=(t,n)=>{if(!t.source||!t.target)return e.error006(),n;let o;return o=l(t)?{...t}:{...t,id:Z(t)},((t,e)=>e.some((e=>!(e.source!==t.source||e.target!==t.target||e.sourceHandle!==t.sourceHandle&&(e.sourceHandle||t.sourceHandle)||e.targetHandle!==t.targetHandle&&(e.targetHandle||t.targetHandle)))))(o,n)?n:(null===o.sourceHandle&&delete o.sourceHandle,null===o.targetHandle&&delete o.targetHandle,n.concat(o))},t.adoptUserProvidedNodes=function(t,e,o={nodeOrigin:[0,0],elevateNodesOnSelect:!0,defaults:{}}){const r=new Map(e);e.clear();const i={},a=o?.elevateNodesOnSelect?1e3:0;return tt(t.map((t=>{const s=r.get(t.id);if(t===s?.[n]?.userProvidedNode)return e.set(t.id,s),s;const u={...o.defaults,...t,computed:{positionAbsolute:t.position,width:t.computed?.width,height:t.computed?.height}},c=(E(t.zIndex)?t.zIndex:0)+(t.selected?a:0),l=t?.[n]||s?.[n];return u.parentNode&&(i[u.parentNode]=!0),Object.defineProperty(u,n,{enumerable:!1,value:{handleBounds:l?.handleBounds,z:c,userProvidedNode:t}}),e.set(u.id,u),u})),e,o.nodeOrigin,i)},t.areConnectionMapsEqual=function(t,e){if(!t&&!e)return!0;if(!t||!e||t.size!==e.size)return!1;if(!t.size&&!e.size)return!0;for(const n of t.keys())if(!e.has(n))return!1;return!0},t.boxToRect=_,t.calcAutoPan=v,t.calculateNodePosition=p,t.clamp=g,t.clampPosition=m,t.createMarkerIds=function(t,{id:e,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return t.reduce(((t,a)=>([a.markerStart||o,a.markerEnd||r].forEach((o=>{if(o&&"object"==typeof o){const r=J(o,e);i.has(r)||(t.push({id:r,color:o.color||n,...o}),i.add(r))}})),t)),[]).sort(((t,e)=>t.id.localeCompare(e.id)))},t.devWarn=S,t.elementSelectionKeys=["Enter"," ","Escape"],t.errorMessages=e,t.fitView=function({nodes:t,width:e,height:n,panZoom:o,minZoom:r,maxZoom:i,nodeOrigin:a=[0,0]},s){const u=t.filter((t=>{const e=t.computed?.width&&t.computed?.height&&(s?.includeHiddenNodes||!t.hidden);return s?.nodes?.length?e&&s?.nodes.some((e=>e.id===t.id)):e}));if(u.length>0){const t=d(u,{nodeOrigin:a}),c=k(t,e,n,s?.minZoom??r,s?.maxZoom??i,s?.padding??.1);return o.setViewport(c,{duration:s?.duration}),!0}return!1},t.getBezierEdgeCenter=D,t.getBezierPath=function({sourceX:e,sourceY:n,sourcePosition:o=t.Position.Bottom,targetX:r,targetY:i,targetPosition:a=t.Position.Top,curvature:s=.25}){const[u,c]=L({pos:o,x1:e,y1:n,x2:r,y2:i,c:s}),[l,h]=L({pos:a,x1:r,y1:i,x2:e,y2:n,c:s}),[d,f,p,g]=D({sourceX:e,sourceY:n,targetX:r,targetY:i,sourceControlX:u,sourceControlY:c,targetControlX:l,targetControlY:h});return[`M${e},${n} C${u},${c} ${l},${h} ${r},${i}`,d,f,p,g]},t.getBoundsOfBoxes=x,t.getBoundsOfRects=(t,e)=>_(x(w(t),w(e))),t.getConnectedEdges=f,t.getDimensions=I,t.getEdgeCenter=q,t.getEdgePosition=function(o){const{sourceNode:r,targetNode:i}=o;if(!F(r)||!F(i))return null;const a=r[n]?.handleBounds||K(r.handles),s=i[n]?.handleBounds||K(i.handles),u=Q(a?.source??[],o.sourceHandle),c=Q(o.connectionMode===t.ConnectionMode.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),o.targetHandle),l=u?.position||t.Position.Bottom,h=c?.position||t.Position.Top;if(!u||!c)return o.onError?.("008",e.error008(u?"target":"source",{id:o.id,sourceHandle:o.sourceHandle,targetHandle:o.targetHandle})),null;const[d,f]=U(l,r,u),[p,g]=U(h,i,c);return{sourceX:d,sourceY:f,targetX:p,targetY:g,sourcePosition:l,targetPosition:h}},t.getElementsToRemove=async function({nodesToRemove:t=[],edgesToRemove:e=[],nodes:n,edges:o,onBeforeDelete:r}){const i=t.map((t=>t.id)),a=[];for(const t of n){if(!1===t.deletable)continue;const e=i.includes(t.id),n=!e&&t.parentNode&&a.find((e=>e.id===t.parentNode));(e||n)&&a.push(t)}const s=e.map((t=>t.id)),u=o.filter((t=>!1!==t.deletable)),c=f(a,u);for(const t of u){s.includes(t.id)&&!c.find((e=>e.id===t.id))&&c.push(t)}if(!r)return{edges:c,nodes:a};const l=await r({nodes:a,edges:c});return"boolean"==typeof l?l?{edges:c,nodes:a}:{edges:[],nodes:[]}:l},t.getElevatedEdgeZIndex=function({sourceNode:t,targetNode:e,selected:o=!1,zIndex:r=0,elevateOnSelect:i=!1}){if(!i)return r;const a=o||e.selected||t.selected,s=Math.max(t[n]?.z||0,e[n]?.z||0,1e3);return r+(a?s:0)},t.getEventPosition=R,t.getHandleBounds=B,t.getHostForElement=H,t.getIncomers=(t,e,n)=>{if(!t.id)return[];const o=new Set;return n.forEach((e=>{e.target===t.id&&o.add(e.source)})),e.filter((t=>o.has(t.id)))},t.getMarkerId=J,t.getNodeDimensions=C,t.getNodePositionWithOrigin=h,t.getNodeToolbarTransform=function(e,n,o,r,i){let a=.5;"start"===i?a=0:"end"===i&&(a=1);let s=[(e.x+e.width*a)*n.zoom+n.x,e.y*n.zoom+n.y-r],u=[-100*a,-100];switch(o){case t.Position.Right:s=[(e.x+e.width)*n.zoom+n.x+r,(e.y+e.height*a)*n.zoom+n.y],u=[0,-100*a];break;case t.Position.Bottom:s[1]=(e.y+e.height)*n.zoom+n.y+r,u[1]=0;break;case t.Position.Left:s=[e.x*n.zoom+n.x-r,(e.y+e.height*a)*n.zoom+n.y],u=[-100,-100*a]}return`translate(${s[0]}px, ${s[1]}px) translate(${u[0]}%, ${u[1]}%)`},t.getNodesBounds=d,t.getNodesInside=(t,e,[n,o,r]=[0,0,1],i=!1,a=!1,s=[0,0])=>{const u={...z(e,[n,o,r]),width:e.width/r,height:e.height/r};return t.reduce(((t,e)=>{const{computed:n,selectable:o=!0,hidden:r=!1}=e,c=n?.width??e.width??e.initialWidth??null,l=n?.height??e.height??e.initialHeight??null;if(a&&!o||r)return t;const h=P(u,b(e,s));return(null===c||null===l||i&&h>0||h>=(c??0)*(l??0)||e.dragging)&&t.push(e),t}),[])},t.getOutgoers=(t,e,n)=>{if(!t.id)return[];const o=new Set;return n.forEach((e=>{e.source===t.id&&o.add(e.target)})),e.filter((t=>o.has(t.id)))},t.getOverlappingArea=P,t.getPointerPosition=O,t.getPositionWithOrigin=({x:t,y:e,width:n,height:o,origin:r=[0,0]})=>!n||!o||r[0]<0||r[1]<0||r[0]>1||r[1]>1?{x:t,y:e}:{x:t-n*r[0],y:e-o*r[1]},t.getSmoothStepPath=function({sourceX:e,sourceY:n,sourcePosition:o=t.Position.Bottom,targetX:r,targetY:i,targetPosition:a=t.Position.Top,borderRadius:s=5,centerX:u,centerY:c,offset:l=20}){const[h,d,f,p,g]=function({source:e,sourcePosition:n=t.Position.Bottom,target:o,targetPosition:r=t.Position.Top,center:i,offset:a}){const s=G[n],u=G[r],c={x:e.x+s.x*a,y:e.y+s.y*a},l={x:o.x+u.x*a,y:o.y+u.y*a},h=j({source:c,sourcePosition:n,target:l}),d=0!==h.x?"x":"y",f=h[d];let p,g,m=[];const y={x:0,y:0},v={x:0,y:0},[x,w,_,b]=q({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(s[d]*u[d]==-1){p=i.x??x,g=i.y??w;const t=[{x:p,y:c.y},{x:p,y:l.y}],e=[{x:c.x,y:g},{x:l.x,y:g}];m=s[d]===f?"x"===d?t:e:"x"===d?e:t}else{const t=[{x:c.x,y:l.y}],i=[{x:l.x,y:c.y}];if(m="x"===d?s.x===f?i:t:s.y===f?t:i,n===r){const t=Math.abs(e[d]-o[d]);if(t<=a){const n=Math.min(a-1,a-t);s[d]===f?y[d]=(c[d]>e[d]?-1:1)*n:v[d]=(l[d]>o[d]?-1:1)*n}}if(n!==r){const e="x"===d?"y":"x",n=s[d]===u[e],o=c[e]>l[e],r=c[e]<l[e];(1===s[d]&&(!n&&o||n&&r)||1!==s[d]&&(!n&&r||n&&o))&&(m="x"===d?t:i)}const h={x:c.x+y.x,y:c.y+y.y},x={x:l.x+v.x,y:l.y+v.y};Math.max(Math.abs(h.x-m[0].x),Math.abs(x.x-m[0].x))>=Math.max(Math.abs(h.y-m[0].y),Math.abs(x.y-m[0].y))?(p=(h.x+x.x)/2,g=m[0].y):(p=m[0].x,g=(h.y+x.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...m,{x:l.x+v.x,y:l.y+v.y},o],p,g,_,b]}({source:{x:e,y:n},sourcePosition:o,target:{x:r,y:i},targetPosition:a,center:{x:u,y:c},offset:l});return[h.reduce(((t,e,n)=>{let o="";return o=n>0&&n<h.length-1?function(t,e,n,o){const r=Math.min(W(t,e)/2,W(e,n)/2,o),{x:i,y:a}=e;if(t.x===i&&i===n.x||t.y===a&&a===n.y)return`L${i} ${a}`;if(t.y===a)return`L ${i+r*(t.x<n.x?-1:1)},${a}Q ${i},${a} ${i},${a+r*(t.y<n.y?1:-1)}`;const s=t.x<n.x?1:-1;return`L ${i},${a+r*(t.y<n.y?-1:1)}Q ${i},${a} ${i+r*s},${a}`}(h[n-1],e,h[n+1],s):`${0===n?"M":"L"}${e.x} ${e.y}`,t+=o}),""),d,f,p,g]},t.getStraightPath=function({sourceX:t,sourceY:e,targetX:n,targetY:o}){const[r,i,a,s]=q({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,r,i,a,s]},t.getViewportForBounds=k,t.handleConnectionChange=function(t,e,n){if(!n)return;const o=[];t.forEach(((t,n)=>{e?.has(n)||o.push(t)})),o.length&&n(o)},t.infiniteExtent=o,t.internalsSymbol=n,t.isCoordinateExtent=$,t.isEdgeBase=l,t.isEdgeVisible=function({sourceNode:t,targetNode:e,width:n,height:o,transform:r}){const i=x(M(t),M(e));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const a={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]};return P(a,_(i))>0},t.isInputDOMNode=function(t){const e=t.composedPath?.()?.[0]||t.target;return X.includes(e?.nodeName)||e?.hasAttribute("contenteditable")||!!e?.closest(".nokey")},t.isMacOs=T,t.isMouseEvent=Y,t.isNodeBase=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),t.isNumeric=E,t.isRectObject=t=>E(t.width)&&E(t.height)&&E(t.x)&&E(t.y),t.nodeHasDimensions=function(t){return void 0!==(t.computed?.width??t.width??t.initialWidth)&&void 0!==(t.computed?.height??t.height??t.initialHeight)},t.nodeToBox=M,t.nodeToRect=b,t.panBy=function({delta:t,panZoom:e,transform:n,translateExtent:o,width:r,height:i}){if(!e||!t.x&&!t.y)return!1;const a=e.setViewportConstrained({x:n[0]+t.x,y:n[1]+t.y,zoom:n[2]},[[0,0],[r,i]],o);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])},t.pointToRendererPoint=z,t.rectToBox=w,t.rendererPointToPoint=A,t.shallowNodeData=function(t,e){if(null===t||null===e)return!1;const n=Array.isArray(t)?t:[t],o=Array.isArray(e)?e:[e];if(n.length!==o.length)return!1;for(let t=0;t<n.length;t++)if(n[t].id!==o[t].id||n[t].type!==o[t].type||!Object.is(n[t].data,o[t].data))return!1;return!0},t.snapPosition=N,t.updateAbsolutePositions=tt,t.updateConnectionLookup=function(t,e,n){t.clear(),e.clear();for(const o of n){const{source:n,target:r,sourceHandle:i=null,targetHandle:a=null}=o,s=`${n}-source-${i}`,u=`${r}-target-${a}`,c=t.get(s)||new Map,l=t.get(u)||new Map,h={edgeId:o.id,source:n,target:r,sourceHandle:i,targetHandle:a};e.set(o.id,o),t.set(s,c.set(`${r}-${a}`,h)),t.set(u,l.set(`${n}-${i}`,h))}},t.updateEdge=(t,n,o,r={shouldReplaceId:!0})=>{const{id:i,...a}=t;if(!n.source||!n.target)return e.error006(),o;if(!o.find((e=>e.id===t.id)))return e.error007(i),o;const s={...a,id:r.shouldReplaceId?Z(n):i,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle};return o.filter((t=>t.id!==i)).concat(s)},t.updateNodeDimensions=function(t,e,o,r,i,a){const s=r?.querySelector(".xyflow__viewport");if(!s)return null;const u=window.getComputedStyle(s),{m22:c}=new window.DOMMatrixReadOnly(u.transform);return e.map((e=>{const r=t.get(e.id);if(r){const t=I(r.nodeElement);if(!(!t.width||!t.height||e.computed?.width===t.width&&e.computed?.height===t.height&&!r.forceUpdate)){a?.(e.id,t);const s={...e,computed:{...e.computed,...t},[n]:{...e[n],handleBounds:{source:B(".source",r.nodeElement,c,e.origin||i),target:B(".target",r.nodeElement,c,e.origin||i)}}};return o.set(e.id,s),s}}return e}))}}));
|
|
@@ -30,7 +30,7 @@ export declare function isEdgeVisible({ sourceNode, targetNode, width, height, t
|
|
|
30
30
|
* @param edges - The array of all current edges
|
|
31
31
|
* @returns A new array of edges with the new edge added
|
|
32
32
|
*/
|
|
33
|
-
export declare const addEdge: <EdgeType extends EdgeBase
|
|
33
|
+
export declare const addEdge: <EdgeType extends EdgeBase>(edgeParams: EdgeType | Connection, edges: EdgeType[]) => EdgeType[];
|
|
34
34
|
export type UpdateEdgeOptions = {
|
|
35
35
|
shouldReplaceId?: boolean;
|
|
36
36
|
};
|
|
@@ -42,6 +42,6 @@ export type UpdateEdgeOptions = {
|
|
|
42
42
|
* @param options.shouldReplaceId - should the id of the old edge be replaced with the new connection id
|
|
43
43
|
* @returns the updated edges array
|
|
44
44
|
*/
|
|
45
|
-
export declare const updateEdge: <EdgeType extends EdgeBase
|
|
45
|
+
export declare const updateEdge: <EdgeType extends EdgeBase>(oldEdge: EdgeType, newConnection: Connection, edges: EdgeType[], options?: UpdateEdgeOptions) => EdgeType[];
|
|
46
46
|
export {};
|
|
47
47
|
//# sourceMappingURL=general.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA8C,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQnC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,MAAU,EACV,eAAuB,GACxB,EAAE,mBAAmB,GAAG,MAAM,CAS9B;AAED,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAmBhH;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA8C,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQnC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,MAAU,EACV,eAAuB,GACxB,EAAE,mBAAmB,GAAG,MAAM,CAS9B;AAED,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAmBhH;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,0CACN,QAAQ,GAAG,UAAU,SAC1B,QAAQ,EAAE,KAChB,QAAQ,EA8BV,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,uCACZ,QAAQ,iBACF,UAAU,SAClB,QAAQ,EAAE,YACR,iBAAiB,KACzB,QAAQ,EA4BV,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { type Transform, type XYPosition, type Rect, type NodeOrigin, type NodeB
|
|
|
6
6
|
* @param element - The element to test
|
|
7
7
|
* @returns A boolean indicating whether the element is an Edge
|
|
8
8
|
*/
|
|
9
|
-
export declare const isEdgeBase: <EdgeType extends EdgeBase
|
|
9
|
+
export declare const isEdgeBase: <EdgeType extends EdgeBase = EdgeBase>(element: any) => element is EdgeType;
|
|
10
10
|
/**
|
|
11
11
|
* Test whether an object is useable as a Node
|
|
12
12
|
* @public
|
|
@@ -14,7 +14,7 @@ export declare const isEdgeBase: <EdgeType extends EdgeBase<Record<string, unkno
|
|
|
14
14
|
* @param element - The element to test
|
|
15
15
|
* @returns A boolean indicating whether the element is an Node
|
|
16
16
|
*/
|
|
17
|
-
export declare const isNodeBase: <NodeType extends NodeBase
|
|
17
|
+
export declare const isNodeBase: <NodeType extends NodeBase = NodeBase>(element: any) => element is NodeType;
|
|
18
18
|
/**
|
|
19
19
|
* Pass in a node, and get connected nodes where edge.source === node.id
|
|
20
20
|
* @public
|
|
@@ -23,7 +23,7 @@ export declare const isNodeBase: <NodeType extends NodeBase<Record<string, unkno
|
|
|
23
23
|
* @param edges - The array of all edges
|
|
24
24
|
* @returns An array of nodes that are connected over eges where the source is the given node
|
|
25
25
|
*/
|
|
26
|
-
export declare const getOutgoers: <NodeType extends NodeBase
|
|
26
|
+
export declare const getOutgoers: <NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>(node: NodeType | {
|
|
27
27
|
id: string;
|
|
28
28
|
}, nodes: NodeType[], edges: EdgeType[]) => NodeType[];
|
|
29
29
|
/**
|
|
@@ -34,7 +34,7 @@ export declare const getOutgoers: <NodeType extends NodeBase<Record<string, unkn
|
|
|
34
34
|
* @param edges - The array of all edges
|
|
35
35
|
* @returns An array of nodes that are connected over eges where the target is the given node
|
|
36
36
|
*/
|
|
37
|
-
export declare const getIncomers: <NodeType extends NodeBase
|
|
37
|
+
export declare const getIncomers: <NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>(node: NodeType | {
|
|
38
38
|
id: string;
|
|
39
39
|
}, nodes: NodeType[], edges: EdgeType[]) => NodeType[];
|
|
40
40
|
export declare const getNodePositionWithOrigin: (node: NodeBase | undefined, nodeOrigin?: NodeOrigin) => {
|
|
@@ -55,14 +55,14 @@ export type GetNodesBoundsParams = {
|
|
|
55
55
|
* @returns Bounding box enclosing all nodes
|
|
56
56
|
*/
|
|
57
57
|
export declare const getNodesBounds: (nodes: NodeBase[], params?: GetNodesBoundsParams) => Rect;
|
|
58
|
-
export declare const getNodesInside: <NodeType extends NodeBase
|
|
58
|
+
export declare const getNodesInside: <NodeType extends NodeBase>(nodes: NodeType[], rect: Rect, [tx, ty, tScale]?: Transform, partially?: boolean, excludeNonSelectableNodes?: boolean, nodeOrigin?: NodeOrigin) => NodeType[];
|
|
59
59
|
/**
|
|
60
60
|
* Get all connecting edges for a given set of nodes
|
|
61
61
|
* @param nodes - Nodes you want to get the connected edges for
|
|
62
62
|
* @param edges - All edges
|
|
63
63
|
* @returns Array of edges that connect any of the given nodes with each other
|
|
64
64
|
*/
|
|
65
|
-
export declare const getConnectedEdges: <NodeType extends NodeBase
|
|
65
|
+
export declare const getConnectedEdges: <NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>(nodes: NodeType[], edges: EdgeType[]) => EdgeType[];
|
|
66
66
|
export declare function fitView<Params extends FitViewParamsBase<NodeBase>, Options extends FitViewOptionsBase<NodeBase>>({ nodes, width, height, panZoom, minZoom, maxZoom, nodeOrigin }: Params, options?: Options): boolean;
|
|
67
67
|
/**
|
|
68
68
|
* This function calculates the next position of a node, taking into account the node's extent, parent node, and origin.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,UAAU,EACX,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,UAAU,EACX,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kDAAmD,GAAG,wBACd,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kDAAmD,GAAG,wBACiB,CAAC;AAE/F;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,qFAChB,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,SACxB,QAAQ,EAAE,SACV,QAAQ,EAAE,KAChB,QAAQ,EAaV,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,qFAChB,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,SACxB,QAAQ,EAAE,SACV,QAAQ,EAAE,KAChB,QAAQ,EAYV,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAC9B,QAAQ,GAAG,SAAS;cAEb,UAAU;sBAAoB,UAAU;CAgCtD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAClB,QAAQ,EAAE,WACT,oBAAoB,KAC3B,IAoBF,CAAC;AAEF,eAAO,MAAM,cAAc,qCAClB,QAAQ,EAAE,QACX,IAAI,sHAMT,QAAQ,EA+BV,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,sFACrB,QAAQ,EAAE,SACV,QAAQ,EAAE,KAChB,QAAQ,EAOV,CAAC;AAEF,wBAAgB,OAAO,CAAC,MAAM,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,SAAS,kBAAkB,CAAC,QAAQ,CAAC,EAC9G,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAmB,EAAE,EAAE,MAAM,EAChF,OAAO,CAAC,EAAE,OAAO,WA8BlB;AAoBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAC/D,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAmB,EACnB,UAAU,EACV,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,UAAU,CAAA;CAAE,CA8CzD;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,EACpH,aAAkB,EAClB,aAAkB,EAClB,KAAK,EACL,KAAK,EACL,cAAc,GACf,EAAE;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACzD,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC,CA+CD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NodeBase } from '../types';
|
|
2
2
|
type NodeData = Pick<NodeBase, 'id' | 'type' | 'data'>;
|
|
3
|
-
export declare function shallowNodeData(a: NodeData | NodeData[], b: NodeData | NodeData[]): boolean;
|
|
3
|
+
export declare function shallowNodeData(a: NodeData | NodeData[] | null, b: NodeData | NodeData[] | null): boolean;
|
|
4
4
|
export {};
|
|
5
5
|
//# sourceMappingURL=shallow-node-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shallow-node-data.d.ts","sourceRoot":"","sources":["../../src/utils/shallow-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEvD,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"shallow-node-data.d.ts","sourceRoot":"","sources":["../../src/utils/shallow-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEvD,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,WAmB/F"}
|
|
@@ -20,6 +20,7 @@ export type OnPointerDownParams = {
|
|
|
20
20
|
isValidConnection?: IsValidConnection;
|
|
21
21
|
onEdgeUpdateEnd?: (evt: MouseEvent | TouchEvent) => void;
|
|
22
22
|
getTransform: () => Transform;
|
|
23
|
+
getConnectionStartHandle: () => ConnectingHandle | null;
|
|
23
24
|
};
|
|
24
25
|
export type IsValidParams = {
|
|
25
26
|
handle: Pick<ConnectionHandle, 'nodeId' | 'id' | 'type'> | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XYHandle.d.ts","sourceRoot":"","sources":["../../src/xyhandle/XYHandle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"XYHandle.d.ts","sourceRoot":"","sources":["../../src/xyhandle/XYHandle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,MAAM,SAAS,CAAC;IAC9B,wBAAwB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAChE,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrF,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC;CAC5E,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACpC,CAAC;AAwPF,eAAO,MAAM,QAAQ,EAAE,gBAGtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyflow/system",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "xyflow core system that powers React Flow and Svelte Flow.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node-based UI",
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "^18.7.16",
|
|
49
49
|
"typescript": "5.1.3",
|
|
50
|
-
"@xyflow/eslint-config": "0.0.0",
|
|
51
50
|
"@xyflow/rollup-config": "0.0.0",
|
|
52
|
-
"@xyflow/tsconfig": "0.0.0"
|
|
51
|
+
"@xyflow/tsconfig": "0.0.0",
|
|
52
|
+
"@xyflow/eslint-config": "0.0.0"
|
|
53
53
|
},
|
|
54
54
|
"rollup": {
|
|
55
55
|
"globals": {
|