@xyflow/system 0.0.72 → 0.0.74
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 +53 -41
- package/dist/esm/index.mjs +53 -41
- package/dist/esm/types/general.d.ts +12 -0
- package/dist/esm/types/general.d.ts.map +1 -1
- package/dist/esm/utils/edges/general.d.ts +27 -3
- package/dist/esm/utils/edges/general.d.ts.map +1 -1
- package/dist/esm/utils/store.d.ts +4 -1
- package/dist/esm/utils/store.d.ts.map +1 -1
- package/dist/esm/xyhandle/XYHandle.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/types/general.d.ts +12 -0
- package/dist/umd/types/general.d.ts.map +1 -1
- package/dist/umd/utils/edges/general.d.ts +27 -3
- package/dist/umd/utils/edges/general.d.ts.map +1 -1
- package/dist/umd/utils/store.d.ts +4 -1
- package/dist/umd/utils/store.d.ts.map +1 -1
- package/dist/umd/xyhandle/XYHandle.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
|
@@ -84,6 +84,7 @@ const initialConnection = {
|
|
|
84
84
|
toHandle: null,
|
|
85
85
|
toPosition: null,
|
|
86
86
|
toNode: null,
|
|
87
|
+
pointer: null,
|
|
87
88
|
};
|
|
88
89
|
|
|
89
90
|
/**
|
|
@@ -994,11 +995,11 @@ function getEdgeCenter({ sourceX, sourceY, targetX, targetY, }) {
|
|
|
994
995
|
* By default, edges are rendered below nodes. This behaviour is different for edges that are
|
|
995
996
|
* connected to nodes with a parent, as they are rendered above the parent node.
|
|
996
997
|
*/
|
|
997
|
-
function getElevatedEdgeZIndex({ sourceNode, targetNode, selected = false, zIndex, elevateOnSelect = false, }) {
|
|
998
|
-
if (
|
|
998
|
+
function getElevatedEdgeZIndex({ sourceNode, targetNode, selected = false, zIndex = 0, elevateOnSelect = false, zIndexMode = 'basic', }) {
|
|
999
|
+
if (zIndexMode === 'manual') {
|
|
999
1000
|
return zIndex;
|
|
1000
1001
|
}
|
|
1001
|
-
const edgeZ = elevateOnSelect && selected ? 1000 :
|
|
1002
|
+
const edgeZ = elevateOnSelect && selected ? zIndex + 1000 : zIndex;
|
|
1002
1003
|
const nodeZ = Math.max(sourceNode.parentId || (elevateOnSelect && sourceNode.selected) ? sourceNode.internals.z : 0, targetNode.parentId || (elevateOnSelect && targetNode.selected) ? targetNode.internals.z : 0);
|
|
1003
1004
|
return edgeZ + nodeZ;
|
|
1004
1005
|
}
|
|
@@ -1018,6 +1019,12 @@ function isEdgeVisible({ sourceNode, targetNode, width, height, transform }) {
|
|
|
1018
1019
|
};
|
|
1019
1020
|
return getOverlappingArea(viewRect, boxToRect(edgeBox)) > 0;
|
|
1020
1021
|
}
|
|
1022
|
+
/**
|
|
1023
|
+
* The default edge ID generator function. Generates an ID based on the source, target, and handles.
|
|
1024
|
+
* @public
|
|
1025
|
+
* @param params - The connection or edge to generate an ID for.
|
|
1026
|
+
* @returns The generated edge ID.
|
|
1027
|
+
*/
|
|
1021
1028
|
const getEdgeId = ({ source, sourceHandle, target, targetHandle }) => `xy-edge__${source}${sourceHandle || ''}-${target}${targetHandle || ''}`;
|
|
1022
1029
|
const connectionExists = (edge, edges) => {
|
|
1023
1030
|
return edges.some((el) => el.source === edge.source &&
|
|
@@ -1030,6 +1037,7 @@ const connectionExists = (edge, edges) => {
|
|
|
1030
1037
|
* @public
|
|
1031
1038
|
* @param edgeParams - Either an `Edge` or a `Connection` you want to add.
|
|
1032
1039
|
* @param edges - The array of all current edges.
|
|
1040
|
+
* @param options - Optional configuration object.
|
|
1033
1041
|
* @returns A new array of edges with the new edge added.
|
|
1034
1042
|
*
|
|
1035
1043
|
* @remarks If an edge with the same `target` and `source` already exists (and the same
|
|
@@ -1037,11 +1045,12 @@ const connectionExists = (edge, edges) => {
|
|
|
1037
1045
|
*a new edge even if the `id` property is different.
|
|
1038
1046
|
*
|
|
1039
1047
|
*/
|
|
1040
|
-
const addEdge = (edgeParams, edges) => {
|
|
1048
|
+
const addEdge = (edgeParams, edges, options = {}) => {
|
|
1041
1049
|
if (!edgeParams.source || !edgeParams.target) {
|
|
1042
1050
|
devWarn('006', errorMessages['error006']());
|
|
1043
1051
|
return edges;
|
|
1044
1052
|
}
|
|
1053
|
+
const edgeIdGenerator = options.getEdgeId || getEdgeId;
|
|
1045
1054
|
let edge;
|
|
1046
1055
|
if (isEdgeBase(edgeParams)) {
|
|
1047
1056
|
edge = { ...edgeParams };
|
|
@@ -1049,7 +1058,7 @@ const addEdge = (edgeParams, edges) => {
|
|
|
1049
1058
|
else {
|
|
1050
1059
|
edge = {
|
|
1051
1060
|
...edgeParams,
|
|
1052
|
-
id:
|
|
1061
|
+
id: edgeIdGenerator(edgeParams),
|
|
1053
1062
|
};
|
|
1054
1063
|
}
|
|
1055
1064
|
if (connectionExists(edge, edges)) {
|
|
@@ -1090,10 +1099,11 @@ const reconnectEdge = (oldEdge, newConnection, edges, options = { shouldReplaceI
|
|
|
1090
1099
|
devWarn('007', errorMessages['error007'](oldEdgeId));
|
|
1091
1100
|
return edges;
|
|
1092
1101
|
}
|
|
1102
|
+
const edgeIdGenerator = options.getEdgeId || getEdgeId;
|
|
1093
1103
|
// Remove old edge and create the new edge with parameters of old edge.
|
|
1094
1104
|
const edge = {
|
|
1095
1105
|
...rest,
|
|
1096
|
-
id: options.shouldReplaceId ?
|
|
1106
|
+
id: options.shouldReplaceId ? edgeIdGenerator(newConnection) : oldEdgeId,
|
|
1097
1107
|
source: newConnection.source,
|
|
1098
1108
|
target: newConnection.target,
|
|
1099
1109
|
sourceHandle: newConnection.sourceHandle,
|
|
@@ -1527,6 +1537,7 @@ const defaultOptions = {
|
|
|
1527
1537
|
nodeOrigin: [0, 0],
|
|
1528
1538
|
nodeExtent: infiniteExtent,
|
|
1529
1539
|
elevateNodesOnSelect: true,
|
|
1540
|
+
zIndexMode: 'basic',
|
|
1530
1541
|
defaults: {},
|
|
1531
1542
|
};
|
|
1532
1543
|
const adoptUserNodesDefaultOptions = {
|
|
@@ -1586,12 +1597,15 @@ function parseHandles(userNode, internalNode) {
|
|
|
1586
1597
|
target,
|
|
1587
1598
|
};
|
|
1588
1599
|
}
|
|
1589
|
-
function
|
|
1600
|
+
function isManualZIndexMode(zIndexMode) {
|
|
1601
|
+
return zIndexMode === 'manual';
|
|
1602
|
+
}
|
|
1603
|
+
function adoptUserNodes(nodes, nodeLookup, parentLookup, options = {}) {
|
|
1590
1604
|
const _options = mergeObjects(adoptUserNodesDefaultOptions, options);
|
|
1591
|
-
|
|
1592
|
-
let nodesInitialized = nodes.length > 0;
|
|
1605
|
+
const rootParentIndex = { i: 0 };
|
|
1593
1606
|
const tmpLookup = new Map(nodeLookup);
|
|
1594
|
-
const selectedNodeZ = _options?.elevateNodesOnSelect ? SELECTED_NODE_Z : 0;
|
|
1607
|
+
const selectedNodeZ = _options?.elevateNodesOnSelect && !isManualZIndexMode(_options.zIndexMode) ? SELECTED_NODE_Z : 0;
|
|
1608
|
+
let nodesInitialized = nodes.length > 0;
|
|
1595
1609
|
nodeLookup.clear();
|
|
1596
1610
|
parentLookup.clear();
|
|
1597
1611
|
for (const userNode of nodes) {
|
|
@@ -1614,7 +1628,7 @@ function adoptUserNodes(nodes, nodeLookup, parentLookup, options) {
|
|
|
1614
1628
|
positionAbsolute: clampedPosition,
|
|
1615
1629
|
// if user re-initializes the node or removes `measured` for whatever reason, we reset the handleBounds so that the node gets re-measured
|
|
1616
1630
|
handleBounds: parseHandles(userNode, internalNode),
|
|
1617
|
-
z: calculateZ(userNode, selectedNodeZ),
|
|
1631
|
+
z: calculateZ(userNode, selectedNodeZ, _options.zIndexMode),
|
|
1618
1632
|
userNode,
|
|
1619
1633
|
},
|
|
1620
1634
|
};
|
|
@@ -1648,7 +1662,7 @@ function updateParentLookup(node, parentLookup) {
|
|
|
1648
1662
|
* Updates positionAbsolute and zIndex of a child node and the parentLookup.
|
|
1649
1663
|
*/
|
|
1650
1664
|
function updateChildNode(node, nodeLookup, parentLookup, options, rootParentIndex) {
|
|
1651
|
-
const { elevateNodesOnSelect, nodeOrigin, nodeExtent } = mergeObjects(defaultOptions, options);
|
|
1665
|
+
const { elevateNodesOnSelect, nodeOrigin, nodeExtent, zIndexMode } = mergeObjects(defaultOptions, options);
|
|
1652
1666
|
const parentId = node.parentId;
|
|
1653
1667
|
const parentNode = nodeLookup.get(parentId);
|
|
1654
1668
|
if (!parentNode) {
|
|
@@ -1657,7 +1671,10 @@ function updateChildNode(node, nodeLookup, parentLookup, options, rootParentInde
|
|
|
1657
1671
|
}
|
|
1658
1672
|
updateParentLookup(node, parentLookup);
|
|
1659
1673
|
// We just want to set the rootParentIndex for the first child
|
|
1660
|
-
if (rootParentIndex &&
|
|
1674
|
+
if (rootParentIndex &&
|
|
1675
|
+
!parentNode.parentId &&
|
|
1676
|
+
parentNode.internals.rootParentIndex === undefined &&
|
|
1677
|
+
zIndexMode === 'auto') {
|
|
1661
1678
|
parentNode.internals.rootParentIndex = ++rootParentIndex.i;
|
|
1662
1679
|
parentNode.internals.z = parentNode.internals.z + rootParentIndex.i * ROOT_PARENT_Z_INCREMENT;
|
|
1663
1680
|
}
|
|
@@ -1665,8 +1682,8 @@ function updateChildNode(node, nodeLookup, parentLookup, options, rootParentInde
|
|
|
1665
1682
|
if (rootParentIndex && parentNode.internals.rootParentIndex !== undefined) {
|
|
1666
1683
|
rootParentIndex.i = parentNode.internals.rootParentIndex;
|
|
1667
1684
|
}
|
|
1668
|
-
const selectedNodeZ = elevateNodesOnSelect ? SELECTED_NODE_Z : 0;
|
|
1669
|
-
const { x, y, z } = calculateChildXYZ(node, parentNode, nodeOrigin, nodeExtent, selectedNodeZ);
|
|
1685
|
+
const selectedNodeZ = elevateNodesOnSelect && !isManualZIndexMode(zIndexMode) ? SELECTED_NODE_Z : 0;
|
|
1686
|
+
const { x, y, z } = calculateChildXYZ(node, parentNode, nodeOrigin, nodeExtent, selectedNodeZ, zIndexMode);
|
|
1670
1687
|
const { positionAbsolute } = node.internals;
|
|
1671
1688
|
const positionChanged = x !== positionAbsolute.x || y !== positionAbsolute.y;
|
|
1672
1689
|
if (positionChanged || z !== node.internals.z) {
|
|
@@ -1681,10 +1698,14 @@ function updateChildNode(node, nodeLookup, parentLookup, options, rootParentInde
|
|
|
1681
1698
|
});
|
|
1682
1699
|
}
|
|
1683
1700
|
}
|
|
1684
|
-
function calculateZ(node, selectedNodeZ) {
|
|
1685
|
-
|
|
1701
|
+
function calculateZ(node, selectedNodeZ, zIndexMode) {
|
|
1702
|
+
const zIndex = isNumeric(node.zIndex) ? node.zIndex : 0;
|
|
1703
|
+
if (isManualZIndexMode(zIndexMode)) {
|
|
1704
|
+
return zIndex;
|
|
1705
|
+
}
|
|
1706
|
+
return zIndex + (node.selected ? selectedNodeZ : 0);
|
|
1686
1707
|
}
|
|
1687
|
-
function calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, selectedNodeZ) {
|
|
1708
|
+
function calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, selectedNodeZ, zIndexMode) {
|
|
1688
1709
|
const { x: parentX, y: parentY } = parentNode.internals.positionAbsolute;
|
|
1689
1710
|
const childDimensions = getNodeDimensions(childNode);
|
|
1690
1711
|
const positionWithOrigin = getNodePositionWithOrigin(childNode, nodeOrigin);
|
|
@@ -1695,7 +1716,7 @@ function calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, select
|
|
|
1695
1716
|
if (childNode.extent === 'parent') {
|
|
1696
1717
|
absolutePosition = clampPositionToParent(absolutePosition, childDimensions, parentNode);
|
|
1697
1718
|
}
|
|
1698
|
-
const childZ = calculateZ(childNode, selectedNodeZ);
|
|
1719
|
+
const childZ = calculateZ(childNode, selectedNodeZ, zIndexMode);
|
|
1699
1720
|
const parentZ = parentNode.internals.z ?? 0;
|
|
1700
1721
|
return {
|
|
1701
1722
|
x: absolutePosition.x,
|
|
@@ -1772,7 +1793,7 @@ function handleExpandParent(children, nodeLookup, parentLookup, nodeOrigin = [0,
|
|
|
1772
1793
|
}
|
|
1773
1794
|
return changes;
|
|
1774
1795
|
}
|
|
1775
|
-
function updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOrigin, nodeExtent) {
|
|
1796
|
+
function updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOrigin, nodeExtent, zIndexMode) {
|
|
1776
1797
|
const viewportNode = domNode?.querySelector('.xyflow__viewport');
|
|
1777
1798
|
let updatedInternals = false;
|
|
1778
1799
|
if (!viewportNode) {
|
|
@@ -1828,7 +1849,7 @@ function updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOri
|
|
|
1828
1849
|
};
|
|
1829
1850
|
nodeLookup.set(node.id, newNode);
|
|
1830
1851
|
if (node.parentId) {
|
|
1831
|
-
updateChildNode(newNode, nodeLookup, parentLookup, { nodeOrigin });
|
|
1852
|
+
updateChildNode(newNode, nodeLookup, parentLookup, { nodeOrigin, zIndexMode });
|
|
1832
1853
|
}
|
|
1833
1854
|
updatedInternals = true;
|
|
1834
1855
|
if (dimensionChanged) {
|
|
@@ -2399,19 +2420,20 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
2399
2420
|
type: handleType,
|
|
2400
2421
|
position: fromHandleInternal.position,
|
|
2401
2422
|
};
|
|
2402
|
-
const
|
|
2403
|
-
const from = getHandlePosition(
|
|
2423
|
+
const fromInternalNode = nodeLookup.get(nodeId);
|
|
2424
|
+
const from = getHandlePosition(fromInternalNode, fromHandle, Position.Left, true);
|
|
2404
2425
|
let previousConnection = {
|
|
2405
2426
|
inProgress: true,
|
|
2406
2427
|
isValid: null,
|
|
2407
2428
|
from,
|
|
2408
2429
|
fromHandle,
|
|
2409
2430
|
fromPosition: fromHandle.position,
|
|
2410
|
-
fromNode:
|
|
2431
|
+
fromNode: fromInternalNode,
|
|
2411
2432
|
to: position,
|
|
2412
2433
|
toHandle: null,
|
|
2413
2434
|
toPosition: oppositePosition[fromHandle.position],
|
|
2414
2435
|
toNode: null,
|
|
2436
|
+
pointer: position,
|
|
2415
2437
|
};
|
|
2416
2438
|
function startConnection() {
|
|
2417
2439
|
connectionStarted = true;
|
|
@@ -2458,9 +2480,13 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
2458
2480
|
resultHandleDomNode = result.handleDomNode;
|
|
2459
2481
|
connection = result.connection;
|
|
2460
2482
|
isValid = isConnectionValid(!!closestHandle, result.isValid);
|
|
2483
|
+
const fromInternalNode = nodeLookup.get(nodeId);
|
|
2484
|
+
const from = fromInternalNode
|
|
2485
|
+
? getHandlePosition(fromInternalNode, fromHandle, Position.Left, true)
|
|
2486
|
+
: previousConnection.from;
|
|
2461
2487
|
const newConnection = {
|
|
2462
|
-
// from stays the same
|
|
2463
2488
|
...previousConnection,
|
|
2489
|
+
from,
|
|
2464
2490
|
isValid,
|
|
2465
2491
|
to: result.toHandle && isValid
|
|
2466
2492
|
? rendererPointToPoint({ x: result.toHandle.x, y: result.toHandle.y }, transform)
|
|
@@ -2468,22 +2494,8 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
2468
2494
|
toHandle: result.toHandle,
|
|
2469
2495
|
toPosition: isValid && result.toHandle ? result.toHandle.position : oppositePosition[fromHandle.position],
|
|
2470
2496
|
toNode: result.toHandle ? nodeLookup.get(result.toHandle.nodeId) : null,
|
|
2497
|
+
pointer: position,
|
|
2471
2498
|
};
|
|
2472
|
-
/*
|
|
2473
|
-
* we don't want to trigger an update when the connection
|
|
2474
|
-
* is snapped to the same handle as before
|
|
2475
|
-
*/
|
|
2476
|
-
if (isValid &&
|
|
2477
|
-
closestHandle &&
|
|
2478
|
-
previousConnection.toHandle &&
|
|
2479
|
-
newConnection.toHandle &&
|
|
2480
|
-
previousConnection.toHandle.type === newConnection.toHandle.type &&
|
|
2481
|
-
previousConnection.toHandle.nodeId === newConnection.toHandle.nodeId &&
|
|
2482
|
-
previousConnection.toHandle.id === newConnection.toHandle.id &&
|
|
2483
|
-
previousConnection.to.x === newConnection.to.x &&
|
|
2484
|
-
previousConnection.to.y === newConnection.to.y) {
|
|
2485
|
-
return;
|
|
2486
|
-
}
|
|
2487
2499
|
updateConnection(newConnection);
|
|
2488
2500
|
previousConnection = newConnection;
|
|
2489
2501
|
}
|
|
@@ -3498,4 +3510,4 @@ function XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }) {
|
|
|
3498
3510
|
};
|
|
3499
3511
|
}
|
|
3500
3512
|
|
|
3501
|
-
export { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, ResizeControlVariant, SelectionMode, XYDrag, XYHandle, XYMinimap, XYPanZoom, XYResizer, XY_RESIZER_HANDLE_POSITIONS, XY_RESIZER_LINE_POSITIONS, addEdge, adoptUserNodes, areConnectionMapsEqual, areSetsEqual, boxToRect, calcAutoPan, calculateNodePosition, clamp, clampPosition, clampPositionToParent, createMarkerIds, defaultAriaLabelConfig, devWarn, elementSelectionKeys, errorMessages, evaluateAbsolutePosition, fitViewport, getBezierEdgeCenter, getBezierPath, getBoundsOfBoxes, getBoundsOfRects, getConnectedEdges, getConnectionStatus, getDimensions, getEdgeCenter, getEdgePosition, getEdgeToolbarTransform, getElementsToRemove, getElevatedEdgeZIndex, getEventPosition, getHandleBounds, getHandlePosition, getHostForElement, getIncomers, getInternalNodesBounds, getMarkerId, getNodeDimensions, getNodePositionWithOrigin, getNodeToolbarTransform, getNodesBounds, getNodesInside, getOutgoers, getOverlappingArea, getPointerPosition, getSmoothStepPath, getStraightPath, getViewportForBounds, handleConnectionChange, handleExpandParent, infiniteExtent, initialConnection, isCoordinateExtent, isEdgeBase, isEdgeVisible, isInputDOMNode, isInternalNodeBase, isMacOs, isMouseEvent, isNodeBase, isNumeric, isRectObject, mergeAriaLabelConfig, nodeHasDimensions, nodeToBox, nodeToRect, oppositePosition, panBy, pointToRendererPoint, reconnectEdge, rectToBox, rendererPointToPoint, shallowNodeData, snapPosition, updateAbsolutePositions, updateConnectionLookup, updateNodeInternals, withResolvers };
|
|
3513
|
+
export { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, ResizeControlVariant, SelectionMode, XYDrag, XYHandle, XYMinimap, XYPanZoom, XYResizer, XY_RESIZER_HANDLE_POSITIONS, XY_RESIZER_LINE_POSITIONS, addEdge, adoptUserNodes, areConnectionMapsEqual, areSetsEqual, boxToRect, calcAutoPan, calculateNodePosition, clamp, clampPosition, clampPositionToParent, createMarkerIds, defaultAriaLabelConfig, devWarn, elementSelectionKeys, errorMessages, evaluateAbsolutePosition, fitViewport, getBezierEdgeCenter, getBezierPath, getBoundsOfBoxes, getBoundsOfRects, getConnectedEdges, getConnectionStatus, getDimensions, getEdgeCenter, getEdgeId, getEdgePosition, getEdgeToolbarTransform, getElementsToRemove, getElevatedEdgeZIndex, getEventPosition, getHandleBounds, getHandlePosition, getHostForElement, getIncomers, getInternalNodesBounds, getMarkerId, getNodeDimensions, getNodePositionWithOrigin, getNodeToolbarTransform, getNodesBounds, getNodesInside, getOutgoers, getOverlappingArea, getPointerPosition, getSmoothStepPath, getStraightPath, getViewportForBounds, handleConnectionChange, handleExpandParent, infiniteExtent, initialConnection, isCoordinateExtent, isEdgeBase, isEdgeVisible, isInputDOMNode, isInternalNodeBase, isMacOs, isManualZIndexMode, isMouseEvent, isNodeBase, isNumeric, isRectObject, mergeAriaLabelConfig, nodeHasDimensions, nodeToBox, nodeToRect, oppositePosition, panBy, pointToRendererPoint, reconnectEdge, rectToBox, rendererPointToPoint, shallowNodeData, snapPosition, updateAbsolutePositions, updateConnectionLookup, updateNodeInternals, withResolvers };
|
package/dist/esm/index.mjs
CHANGED
|
@@ -84,6 +84,7 @@ const initialConnection = {
|
|
|
84
84
|
toHandle: null,
|
|
85
85
|
toPosition: null,
|
|
86
86
|
toNode: null,
|
|
87
|
+
pointer: null,
|
|
87
88
|
};
|
|
88
89
|
|
|
89
90
|
/**
|
|
@@ -994,11 +995,11 @@ function getEdgeCenter({ sourceX, sourceY, targetX, targetY, }) {
|
|
|
994
995
|
* By default, edges are rendered below nodes. This behaviour is different for edges that are
|
|
995
996
|
* connected to nodes with a parent, as they are rendered above the parent node.
|
|
996
997
|
*/
|
|
997
|
-
function getElevatedEdgeZIndex({ sourceNode, targetNode, selected = false, zIndex, elevateOnSelect = false, }) {
|
|
998
|
-
if (
|
|
998
|
+
function getElevatedEdgeZIndex({ sourceNode, targetNode, selected = false, zIndex = 0, elevateOnSelect = false, zIndexMode = 'basic', }) {
|
|
999
|
+
if (zIndexMode === 'manual') {
|
|
999
1000
|
return zIndex;
|
|
1000
1001
|
}
|
|
1001
|
-
const edgeZ = elevateOnSelect && selected ? 1000 :
|
|
1002
|
+
const edgeZ = elevateOnSelect && selected ? zIndex + 1000 : zIndex;
|
|
1002
1003
|
const nodeZ = Math.max(sourceNode.parentId || (elevateOnSelect && sourceNode.selected) ? sourceNode.internals.z : 0, targetNode.parentId || (elevateOnSelect && targetNode.selected) ? targetNode.internals.z : 0);
|
|
1003
1004
|
return edgeZ + nodeZ;
|
|
1004
1005
|
}
|
|
@@ -1018,6 +1019,12 @@ function isEdgeVisible({ sourceNode, targetNode, width, height, transform }) {
|
|
|
1018
1019
|
};
|
|
1019
1020
|
return getOverlappingArea(viewRect, boxToRect(edgeBox)) > 0;
|
|
1020
1021
|
}
|
|
1022
|
+
/**
|
|
1023
|
+
* The default edge ID generator function. Generates an ID based on the source, target, and handles.
|
|
1024
|
+
* @public
|
|
1025
|
+
* @param params - The connection or edge to generate an ID for.
|
|
1026
|
+
* @returns The generated edge ID.
|
|
1027
|
+
*/
|
|
1021
1028
|
const getEdgeId = ({ source, sourceHandle, target, targetHandle }) => `xy-edge__${source}${sourceHandle || ''}-${target}${targetHandle || ''}`;
|
|
1022
1029
|
const connectionExists = (edge, edges) => {
|
|
1023
1030
|
return edges.some((el) => el.source === edge.source &&
|
|
@@ -1030,6 +1037,7 @@ const connectionExists = (edge, edges) => {
|
|
|
1030
1037
|
* @public
|
|
1031
1038
|
* @param edgeParams - Either an `Edge` or a `Connection` you want to add.
|
|
1032
1039
|
* @param edges - The array of all current edges.
|
|
1040
|
+
* @param options - Optional configuration object.
|
|
1033
1041
|
* @returns A new array of edges with the new edge added.
|
|
1034
1042
|
*
|
|
1035
1043
|
* @remarks If an edge with the same `target` and `source` already exists (and the same
|
|
@@ -1037,11 +1045,12 @@ const connectionExists = (edge, edges) => {
|
|
|
1037
1045
|
*a new edge even if the `id` property is different.
|
|
1038
1046
|
*
|
|
1039
1047
|
*/
|
|
1040
|
-
const addEdge = (edgeParams, edges) => {
|
|
1048
|
+
const addEdge = (edgeParams, edges, options = {}) => {
|
|
1041
1049
|
if (!edgeParams.source || !edgeParams.target) {
|
|
1042
1050
|
devWarn('006', errorMessages['error006']());
|
|
1043
1051
|
return edges;
|
|
1044
1052
|
}
|
|
1053
|
+
const edgeIdGenerator = options.getEdgeId || getEdgeId;
|
|
1045
1054
|
let edge;
|
|
1046
1055
|
if (isEdgeBase(edgeParams)) {
|
|
1047
1056
|
edge = { ...edgeParams };
|
|
@@ -1049,7 +1058,7 @@ const addEdge = (edgeParams, edges) => {
|
|
|
1049
1058
|
else {
|
|
1050
1059
|
edge = {
|
|
1051
1060
|
...edgeParams,
|
|
1052
|
-
id:
|
|
1061
|
+
id: edgeIdGenerator(edgeParams),
|
|
1053
1062
|
};
|
|
1054
1063
|
}
|
|
1055
1064
|
if (connectionExists(edge, edges)) {
|
|
@@ -1090,10 +1099,11 @@ const reconnectEdge = (oldEdge, newConnection, edges, options = { shouldReplaceI
|
|
|
1090
1099
|
devWarn('007', errorMessages['error007'](oldEdgeId));
|
|
1091
1100
|
return edges;
|
|
1092
1101
|
}
|
|
1102
|
+
const edgeIdGenerator = options.getEdgeId || getEdgeId;
|
|
1093
1103
|
// Remove old edge and create the new edge with parameters of old edge.
|
|
1094
1104
|
const edge = {
|
|
1095
1105
|
...rest,
|
|
1096
|
-
id: options.shouldReplaceId ?
|
|
1106
|
+
id: options.shouldReplaceId ? edgeIdGenerator(newConnection) : oldEdgeId,
|
|
1097
1107
|
source: newConnection.source,
|
|
1098
1108
|
target: newConnection.target,
|
|
1099
1109
|
sourceHandle: newConnection.sourceHandle,
|
|
@@ -1527,6 +1537,7 @@ const defaultOptions = {
|
|
|
1527
1537
|
nodeOrigin: [0, 0],
|
|
1528
1538
|
nodeExtent: infiniteExtent,
|
|
1529
1539
|
elevateNodesOnSelect: true,
|
|
1540
|
+
zIndexMode: 'basic',
|
|
1530
1541
|
defaults: {},
|
|
1531
1542
|
};
|
|
1532
1543
|
const adoptUserNodesDefaultOptions = {
|
|
@@ -1586,12 +1597,15 @@ function parseHandles(userNode, internalNode) {
|
|
|
1586
1597
|
target,
|
|
1587
1598
|
};
|
|
1588
1599
|
}
|
|
1589
|
-
function
|
|
1600
|
+
function isManualZIndexMode(zIndexMode) {
|
|
1601
|
+
return zIndexMode === 'manual';
|
|
1602
|
+
}
|
|
1603
|
+
function adoptUserNodes(nodes, nodeLookup, parentLookup, options = {}) {
|
|
1590
1604
|
const _options = mergeObjects(adoptUserNodesDefaultOptions, options);
|
|
1591
|
-
|
|
1592
|
-
let nodesInitialized = nodes.length > 0;
|
|
1605
|
+
const rootParentIndex = { i: 0 };
|
|
1593
1606
|
const tmpLookup = new Map(nodeLookup);
|
|
1594
|
-
const selectedNodeZ = _options?.elevateNodesOnSelect ? SELECTED_NODE_Z : 0;
|
|
1607
|
+
const selectedNodeZ = _options?.elevateNodesOnSelect && !isManualZIndexMode(_options.zIndexMode) ? SELECTED_NODE_Z : 0;
|
|
1608
|
+
let nodesInitialized = nodes.length > 0;
|
|
1595
1609
|
nodeLookup.clear();
|
|
1596
1610
|
parentLookup.clear();
|
|
1597
1611
|
for (const userNode of nodes) {
|
|
@@ -1614,7 +1628,7 @@ function adoptUserNodes(nodes, nodeLookup, parentLookup, options) {
|
|
|
1614
1628
|
positionAbsolute: clampedPosition,
|
|
1615
1629
|
// if user re-initializes the node or removes `measured` for whatever reason, we reset the handleBounds so that the node gets re-measured
|
|
1616
1630
|
handleBounds: parseHandles(userNode, internalNode),
|
|
1617
|
-
z: calculateZ(userNode, selectedNodeZ),
|
|
1631
|
+
z: calculateZ(userNode, selectedNodeZ, _options.zIndexMode),
|
|
1618
1632
|
userNode,
|
|
1619
1633
|
},
|
|
1620
1634
|
};
|
|
@@ -1648,7 +1662,7 @@ function updateParentLookup(node, parentLookup) {
|
|
|
1648
1662
|
* Updates positionAbsolute and zIndex of a child node and the parentLookup.
|
|
1649
1663
|
*/
|
|
1650
1664
|
function updateChildNode(node, nodeLookup, parentLookup, options, rootParentIndex) {
|
|
1651
|
-
const { elevateNodesOnSelect, nodeOrigin, nodeExtent } = mergeObjects(defaultOptions, options);
|
|
1665
|
+
const { elevateNodesOnSelect, nodeOrigin, nodeExtent, zIndexMode } = mergeObjects(defaultOptions, options);
|
|
1652
1666
|
const parentId = node.parentId;
|
|
1653
1667
|
const parentNode = nodeLookup.get(parentId);
|
|
1654
1668
|
if (!parentNode) {
|
|
@@ -1657,7 +1671,10 @@ function updateChildNode(node, nodeLookup, parentLookup, options, rootParentInde
|
|
|
1657
1671
|
}
|
|
1658
1672
|
updateParentLookup(node, parentLookup);
|
|
1659
1673
|
// We just want to set the rootParentIndex for the first child
|
|
1660
|
-
if (rootParentIndex &&
|
|
1674
|
+
if (rootParentIndex &&
|
|
1675
|
+
!parentNode.parentId &&
|
|
1676
|
+
parentNode.internals.rootParentIndex === undefined &&
|
|
1677
|
+
zIndexMode === 'auto') {
|
|
1661
1678
|
parentNode.internals.rootParentIndex = ++rootParentIndex.i;
|
|
1662
1679
|
parentNode.internals.z = parentNode.internals.z + rootParentIndex.i * ROOT_PARENT_Z_INCREMENT;
|
|
1663
1680
|
}
|
|
@@ -1665,8 +1682,8 @@ function updateChildNode(node, nodeLookup, parentLookup, options, rootParentInde
|
|
|
1665
1682
|
if (rootParentIndex && parentNode.internals.rootParentIndex !== undefined) {
|
|
1666
1683
|
rootParentIndex.i = parentNode.internals.rootParentIndex;
|
|
1667
1684
|
}
|
|
1668
|
-
const selectedNodeZ = elevateNodesOnSelect ? SELECTED_NODE_Z : 0;
|
|
1669
|
-
const { x, y, z } = calculateChildXYZ(node, parentNode, nodeOrigin, nodeExtent, selectedNodeZ);
|
|
1685
|
+
const selectedNodeZ = elevateNodesOnSelect && !isManualZIndexMode(zIndexMode) ? SELECTED_NODE_Z : 0;
|
|
1686
|
+
const { x, y, z } = calculateChildXYZ(node, parentNode, nodeOrigin, nodeExtent, selectedNodeZ, zIndexMode);
|
|
1670
1687
|
const { positionAbsolute } = node.internals;
|
|
1671
1688
|
const positionChanged = x !== positionAbsolute.x || y !== positionAbsolute.y;
|
|
1672
1689
|
if (positionChanged || z !== node.internals.z) {
|
|
@@ -1681,10 +1698,14 @@ function updateChildNode(node, nodeLookup, parentLookup, options, rootParentInde
|
|
|
1681
1698
|
});
|
|
1682
1699
|
}
|
|
1683
1700
|
}
|
|
1684
|
-
function calculateZ(node, selectedNodeZ) {
|
|
1685
|
-
|
|
1701
|
+
function calculateZ(node, selectedNodeZ, zIndexMode) {
|
|
1702
|
+
const zIndex = isNumeric(node.zIndex) ? node.zIndex : 0;
|
|
1703
|
+
if (isManualZIndexMode(zIndexMode)) {
|
|
1704
|
+
return zIndex;
|
|
1705
|
+
}
|
|
1706
|
+
return zIndex + (node.selected ? selectedNodeZ : 0);
|
|
1686
1707
|
}
|
|
1687
|
-
function calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, selectedNodeZ) {
|
|
1708
|
+
function calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, selectedNodeZ, zIndexMode) {
|
|
1688
1709
|
const { x: parentX, y: parentY } = parentNode.internals.positionAbsolute;
|
|
1689
1710
|
const childDimensions = getNodeDimensions(childNode);
|
|
1690
1711
|
const positionWithOrigin = getNodePositionWithOrigin(childNode, nodeOrigin);
|
|
@@ -1695,7 +1716,7 @@ function calculateChildXYZ(childNode, parentNode, nodeOrigin, nodeExtent, select
|
|
|
1695
1716
|
if (childNode.extent === 'parent') {
|
|
1696
1717
|
absolutePosition = clampPositionToParent(absolutePosition, childDimensions, parentNode);
|
|
1697
1718
|
}
|
|
1698
|
-
const childZ = calculateZ(childNode, selectedNodeZ);
|
|
1719
|
+
const childZ = calculateZ(childNode, selectedNodeZ, zIndexMode);
|
|
1699
1720
|
const parentZ = parentNode.internals.z ?? 0;
|
|
1700
1721
|
return {
|
|
1701
1722
|
x: absolutePosition.x,
|
|
@@ -1772,7 +1793,7 @@ function handleExpandParent(children, nodeLookup, parentLookup, nodeOrigin = [0,
|
|
|
1772
1793
|
}
|
|
1773
1794
|
return changes;
|
|
1774
1795
|
}
|
|
1775
|
-
function updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOrigin, nodeExtent) {
|
|
1796
|
+
function updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOrigin, nodeExtent, zIndexMode) {
|
|
1776
1797
|
const viewportNode = domNode?.querySelector('.xyflow__viewport');
|
|
1777
1798
|
let updatedInternals = false;
|
|
1778
1799
|
if (!viewportNode) {
|
|
@@ -1828,7 +1849,7 @@ function updateNodeInternals(updates, nodeLookup, parentLookup, domNode, nodeOri
|
|
|
1828
1849
|
};
|
|
1829
1850
|
nodeLookup.set(node.id, newNode);
|
|
1830
1851
|
if (node.parentId) {
|
|
1831
|
-
updateChildNode(newNode, nodeLookup, parentLookup, { nodeOrigin });
|
|
1852
|
+
updateChildNode(newNode, nodeLookup, parentLookup, { nodeOrigin, zIndexMode });
|
|
1832
1853
|
}
|
|
1833
1854
|
updatedInternals = true;
|
|
1834
1855
|
if (dimensionChanged) {
|
|
@@ -2399,19 +2420,20 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
2399
2420
|
type: handleType,
|
|
2400
2421
|
position: fromHandleInternal.position,
|
|
2401
2422
|
};
|
|
2402
|
-
const
|
|
2403
|
-
const from = getHandlePosition(
|
|
2423
|
+
const fromInternalNode = nodeLookup.get(nodeId);
|
|
2424
|
+
const from = getHandlePosition(fromInternalNode, fromHandle, Position.Left, true);
|
|
2404
2425
|
let previousConnection = {
|
|
2405
2426
|
inProgress: true,
|
|
2406
2427
|
isValid: null,
|
|
2407
2428
|
from,
|
|
2408
2429
|
fromHandle,
|
|
2409
2430
|
fromPosition: fromHandle.position,
|
|
2410
|
-
fromNode:
|
|
2431
|
+
fromNode: fromInternalNode,
|
|
2411
2432
|
to: position,
|
|
2412
2433
|
toHandle: null,
|
|
2413
2434
|
toPosition: oppositePosition[fromHandle.position],
|
|
2414
2435
|
toNode: null,
|
|
2436
|
+
pointer: position,
|
|
2415
2437
|
};
|
|
2416
2438
|
function startConnection() {
|
|
2417
2439
|
connectionStarted = true;
|
|
@@ -2458,9 +2480,13 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
2458
2480
|
resultHandleDomNode = result.handleDomNode;
|
|
2459
2481
|
connection = result.connection;
|
|
2460
2482
|
isValid = isConnectionValid(!!closestHandle, result.isValid);
|
|
2483
|
+
const fromInternalNode = nodeLookup.get(nodeId);
|
|
2484
|
+
const from = fromInternalNode
|
|
2485
|
+
? getHandlePosition(fromInternalNode, fromHandle, Position.Left, true)
|
|
2486
|
+
: previousConnection.from;
|
|
2461
2487
|
const newConnection = {
|
|
2462
|
-
// from stays the same
|
|
2463
2488
|
...previousConnection,
|
|
2489
|
+
from,
|
|
2464
2490
|
isValid,
|
|
2465
2491
|
to: result.toHandle && isValid
|
|
2466
2492
|
? rendererPointToPoint({ x: result.toHandle.x, y: result.toHandle.y }, transform)
|
|
@@ -2468,22 +2494,8 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
|
|
|
2468
2494
|
toHandle: result.toHandle,
|
|
2469
2495
|
toPosition: isValid && result.toHandle ? result.toHandle.position : oppositePosition[fromHandle.position],
|
|
2470
2496
|
toNode: result.toHandle ? nodeLookup.get(result.toHandle.nodeId) : null,
|
|
2497
|
+
pointer: position,
|
|
2471
2498
|
};
|
|
2472
|
-
/*
|
|
2473
|
-
* we don't want to trigger an update when the connection
|
|
2474
|
-
* is snapped to the same handle as before
|
|
2475
|
-
*/
|
|
2476
|
-
if (isValid &&
|
|
2477
|
-
closestHandle &&
|
|
2478
|
-
previousConnection.toHandle &&
|
|
2479
|
-
newConnection.toHandle &&
|
|
2480
|
-
previousConnection.toHandle.type === newConnection.toHandle.type &&
|
|
2481
|
-
previousConnection.toHandle.nodeId === newConnection.toHandle.nodeId &&
|
|
2482
|
-
previousConnection.toHandle.id === newConnection.toHandle.id &&
|
|
2483
|
-
previousConnection.to.x === newConnection.to.x &&
|
|
2484
|
-
previousConnection.to.y === newConnection.to.y) {
|
|
2485
|
-
return;
|
|
2486
|
-
}
|
|
2487
2499
|
updateConnection(newConnection);
|
|
2488
2500
|
previousConnection = newConnection;
|
|
2489
2501
|
}
|
|
@@ -3498,4 +3510,4 @@ function XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }) {
|
|
|
3498
3510
|
};
|
|
3499
3511
|
}
|
|
3500
3512
|
|
|
3501
|
-
export { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, ResizeControlVariant, SelectionMode, XYDrag, XYHandle, XYMinimap, XYPanZoom, XYResizer, XY_RESIZER_HANDLE_POSITIONS, XY_RESIZER_LINE_POSITIONS, addEdge, adoptUserNodes, areConnectionMapsEqual, areSetsEqual, boxToRect, calcAutoPan, calculateNodePosition, clamp, clampPosition, clampPositionToParent, createMarkerIds, defaultAriaLabelConfig, devWarn, elementSelectionKeys, errorMessages, evaluateAbsolutePosition, fitViewport, getBezierEdgeCenter, getBezierPath, getBoundsOfBoxes, getBoundsOfRects, getConnectedEdges, getConnectionStatus, getDimensions, getEdgeCenter, getEdgePosition, getEdgeToolbarTransform, getElementsToRemove, getElevatedEdgeZIndex, getEventPosition, getHandleBounds, getHandlePosition, getHostForElement, getIncomers, getInternalNodesBounds, getMarkerId, getNodeDimensions, getNodePositionWithOrigin, getNodeToolbarTransform, getNodesBounds, getNodesInside, getOutgoers, getOverlappingArea, getPointerPosition, getSmoothStepPath, getStraightPath, getViewportForBounds, handleConnectionChange, handleExpandParent, infiniteExtent, initialConnection, isCoordinateExtent, isEdgeBase, isEdgeVisible, isInputDOMNode, isInternalNodeBase, isMacOs, isMouseEvent, isNodeBase, isNumeric, isRectObject, mergeAriaLabelConfig, nodeHasDimensions, nodeToBox, nodeToRect, oppositePosition, panBy, pointToRendererPoint, reconnectEdge, rectToBox, rendererPointToPoint, shallowNodeData, snapPosition, updateAbsolutePositions, updateConnectionLookup, updateNodeInternals, withResolvers };
|
|
3513
|
+
export { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, ResizeControlVariant, SelectionMode, XYDrag, XYHandle, XYMinimap, XYPanZoom, XYResizer, XY_RESIZER_HANDLE_POSITIONS, XY_RESIZER_LINE_POSITIONS, addEdge, adoptUserNodes, areConnectionMapsEqual, areSetsEqual, boxToRect, calcAutoPan, calculateNodePosition, clamp, clampPosition, clampPositionToParent, createMarkerIds, defaultAriaLabelConfig, devWarn, elementSelectionKeys, errorMessages, evaluateAbsolutePosition, fitViewport, getBezierEdgeCenter, getBezierPath, getBoundsOfBoxes, getBoundsOfRects, getConnectedEdges, getConnectionStatus, getDimensions, getEdgeCenter, getEdgeId, getEdgePosition, getEdgeToolbarTransform, getElementsToRemove, getElevatedEdgeZIndex, getEventPosition, getHandleBounds, getHandlePosition, getHostForElement, getIncomers, getInternalNodesBounds, getMarkerId, getNodeDimensions, getNodePositionWithOrigin, getNodeToolbarTransform, getNodesBounds, getNodesInside, getOutgoers, getOverlappingArea, getPointerPosition, getSmoothStepPath, getStraightPath, getViewportForBounds, handleConnectionChange, handleExpandParent, infiniteExtent, initialConnection, isCoordinateExtent, isEdgeBase, isEdgeVisible, isInputDOMNode, isInternalNodeBase, isMacOs, isManualZIndexMode, isMouseEvent, isNodeBase, isNumeric, isRectObject, mergeAriaLabelConfig, nodeHasDimensions, nodeToBox, nodeToRect, oppositePosition, panBy, pointToRendererPoint, reconnectEdge, rectToBox, rendererPointToPoint, shallowNodeData, snapPosition, updateAbsolutePositions, updateConnectionLookup, updateNodeInternals, withResolvers };
|
|
@@ -236,6 +236,7 @@ export type NoConnection = {
|
|
|
236
236
|
toHandle: null;
|
|
237
237
|
toPosition: null;
|
|
238
238
|
toNode: null;
|
|
239
|
+
pointer: null;
|
|
239
240
|
};
|
|
240
241
|
export type ConnectionInProgress<NodeType extends InternalNodeBase = InternalNodeBase> = {
|
|
241
242
|
/** Indicates whether a connection is currently in progress. */
|
|
@@ -261,6 +262,8 @@ export type ConnectionInProgress<NodeType extends InternalNodeBase = InternalNod
|
|
|
261
262
|
toPosition: Position;
|
|
262
263
|
/** Returns the end node or `null` if no connection is in progress. */
|
|
263
264
|
toNode: NodeType | null;
|
|
265
|
+
/** Returns the pointer position or `null` if no connection is in progress. */
|
|
266
|
+
pointer: XYPosition;
|
|
264
267
|
};
|
|
265
268
|
/**
|
|
266
269
|
* The `ConnectionState` type bundles all information about an ongoing connection.
|
|
@@ -281,4 +284,13 @@ export type OnBeforeDeleteBase<NodeType extends NodeBase = NodeBase, EdgeType ex
|
|
|
281
284
|
nodes: NodeType[];
|
|
282
285
|
edges: EdgeType[];
|
|
283
286
|
}>;
|
|
287
|
+
/**
|
|
288
|
+
* The `ZIndexMode` type is used to define how z-indexing is calculated for nodes and edges.
|
|
289
|
+
* `auto` mode will automatically manage z-indexing for selections and sub flows.
|
|
290
|
+
* `basic` mode will only manage z-indexing for selections.
|
|
291
|
+
* `manual` mode does not apply any automatic z-indexing.
|
|
292
|
+
*
|
|
293
|
+
* @public
|
|
294
|
+
*/
|
|
295
|
+
export type ZIndexMode = 'auto' | 'basic' | 'manual';
|
|
284
296
|
//# sourceMappingURL=general.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":"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"}
|