@xyflow/react 12.0.0-next.11 → 12.0.0-next.12
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/components/EdgeWrapper/EdgeUpdateAnchors.d.ts.map +1 -1
- package/dist/esm/components/Handle/index.d.ts +1 -1
- package/dist/esm/components/Handle/index.d.ts.map +1 -1
- package/dist/esm/container/ReactFlow/index.d.ts +1 -1
- package/dist/esm/container/ReactFlow/index.d.ts.map +1 -1
- package/dist/esm/contexts/RFStoreContext.d.ts +2 -2
- package/dist/esm/contexts/RFStoreContext.d.ts.map +1 -1
- package/dist/esm/hooks/useReactFlow.d.ts.map +1 -1
- package/dist/esm/index.js +20 -14
- package/dist/esm/index.mjs +20 -14
- package/dist/esm/store/index.d.ts +5 -5
- package/dist/esm/store/index.d.ts.map +1 -1
- package/dist/esm/store/initialState.d.ts +4 -4
- package/dist/esm/types/general.d.ts +0 -3
- package/dist/esm/types/general.d.ts.map +1 -1
- package/dist/esm/utils/general.d.ts +4 -2
- package/dist/esm/utils/general.d.ts.map +1 -1
- package/dist/umd/components/EdgeWrapper/EdgeUpdateAnchors.d.ts.map +1 -1
- package/dist/umd/components/Handle/index.d.ts +1 -1
- package/dist/umd/components/Handle/index.d.ts.map +1 -1
- package/dist/umd/container/ReactFlow/index.d.ts +1 -1
- package/dist/umd/container/ReactFlow/index.d.ts.map +1 -1
- package/dist/umd/contexts/RFStoreContext.d.ts +2 -2
- package/dist/umd/contexts/RFStoreContext.d.ts.map +1 -1
- package/dist/umd/hooks/useReactFlow.d.ts.map +1 -1
- package/dist/umd/index.js +2 -2
- package/dist/umd/store/index.d.ts +5 -5
- package/dist/umd/store/index.d.ts.map +1 -1
- package/dist/umd/store/initialState.d.ts +4 -4
- package/dist/umd/types/general.d.ts +0 -3
- package/dist/umd/types/general.d.ts.map +1 -1
- package/dist/umd/utils/general.d.ts +4 -2
- package/dist/umd/utils/general.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeUpdateAnchors.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/EdgeUpdateAnchors.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,sBAAsB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IACzD,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,EAC9D,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,GACf,EAAE,sBAAsB,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"EdgeUpdateAnchors.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/EdgeUpdateAnchors.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,sBAAsB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IACzD,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,EAC9D,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,GACf,EAAE,sBAAsB,CAAC,QAAQ,CAAC,2CAoGlC"}
|
|
@@ -5,5 +5,5 @@ export interface HandleComponentProps extends HandleProps, Omit<HTMLAttributes<H
|
|
|
5
5
|
/**
|
|
6
6
|
* The Handle component is a UI element that is used to connect nodes.
|
|
7
7
|
*/
|
|
8
|
-
export declare const Handle: import("react").MemoExoticComponent<(props: HandleComponentProps & import("react").RefAttributes<HTMLDivElement>) => import("react").
|
|
8
|
+
export declare const Handle: import("react").MemoExoticComponent<(props: HandleComponentProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactNode>;
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/Handle/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/Handle/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,OAAO,CAAC;AAGf,OAAO,EAOL,KAAK,WAAW,EAIjB,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,oBAAqB,SAAQ,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;CAAG;AAuNxG;;GAEG;AACH,eAAO,MAAM,MAAM,iJAAyC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Edge, Node, ReactFlowProps } from '../../types';
|
|
3
|
-
declare const _default: <NodeType extends Node
|
|
3
|
+
declare const _default: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ReactFlowProps<NodeType, EdgeType> & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactNode;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/ReactFlow/index.tsx"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/ReactFlow/index.tsx"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;;AAsR9D,wBAA0C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare const StoreContext: import("react").Context<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState
|
|
3
|
-
export declare const Provider: import("react").Provider<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState
|
|
2
|
+
declare const StoreContext: import("react").Context<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState>> | null>;
|
|
3
|
+
export declare const Provider: import("react").Provider<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState>> | null>;
|
|
4
4
|
export default StoreContext;
|
|
5
5
|
//# sourceMappingURL=RFStoreContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RFStoreContext.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/contexts/RFStoreContext.ts"],"names":[],"mappings":";AAIA,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"RFStoreContext.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/contexts/RFStoreContext.ts"],"names":[],"mappings":";AAIA,QAAA,MAAM,YAAY,oJAA+D,CAAC;AAElF,eAAO,MAAM,QAAQ,qJAAwB,CAAC;AAC9C,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactFlow.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/hooks/useReactFlow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useReactFlow.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/hooks/useReactFlow.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAY,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIxE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,KAAK,iBAAiB,CAC3G,QAAQ,EACR,QAAQ,CACT,CA2TA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { createContext, useContext, useMemo, useEffect, useRef, useState, useLayoutEffect, useCallback, memo, forwardRef } from 'react';
|
|
4
3
|
import cc from 'classcat';
|
|
5
|
-
import { errorMessages, infiniteExtent, isInputDOMNode, fitView, getViewportForBounds, pointToRendererPoint, rendererPointToPoint, isNodeBase, isEdgeBase, getElementsToRemove,
|
|
4
|
+
import { errorMessages, infiniteExtent, isInputDOMNode, fitView, getViewportForBounds, pointToRendererPoint, rendererPointToPoint, isNodeBase, isEdgeBase, getElementsToRemove, nodeHasDimensions, nodeToRect, isRectObject, getOverlappingArea, getDimensions, XYPanZoom, PanOnScrollMode, SelectionMode, getEventPosition, getNodesInside, XYDrag, snapPosition, calculateNodePosition, Position, ConnectionMode, isMouseEvent, XYHandle, getHostForElement, addEdge, getNodesBounds, clampPosition, internalsSymbol, getNodeDimensions, getPositionWithOrigin, elementSelectionKeys, isEdgeVisible, MarkerType, createMarkerIds, isNumeric, getBezierEdgeCenter, getSmoothStepPath, getStraightPath, getBezierPath, getEdgePosition, getElevatedEdgeZIndex, getMarkerId, ConnectionLineType, updateConnectionLookup, adoptUserProvidedNodes, devWarn, updateNodeDimensions, updateAbsolutePositions, panBy, isMacOs, areConnectionMapsEqual, handleConnectionChange, shallowNodeData, getNodePositionWithOrigin, XYMinimap, getBoundsOfRects, ResizeControlVariant, XYResizer, XY_RESIZER_LINE_POSITIONS, XY_RESIZER_HANDLE_POSITIONS, getNodeToolbarTransform } from '@xyflow/system';
|
|
6
5
|
export { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, SelectionMode, addEdge, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds, internalsSymbol, updateEdge } from '@xyflow/system';
|
|
6
|
+
import { createContext, useContext, useMemo, useEffect, useRef, useState, forwardRef, useLayoutEffect, useCallback, memo } from 'react';
|
|
7
7
|
import { useStoreWithEqualityFn, createWithEqualityFn } from 'zustand/traditional';
|
|
8
8
|
import { shallow } from 'zustand/shallow';
|
|
9
9
|
import { createPortal } from 'react-dom';
|
|
@@ -711,6 +711,11 @@ const isNode = (element) => isNodeBase(element);
|
|
|
711
711
|
* @returns A boolean indicating whether the element is an Edge
|
|
712
712
|
*/
|
|
713
713
|
const isEdge = (element) => isEdgeBase(element);
|
|
714
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
715
|
+
function fixedForwardRef(render) {
|
|
716
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
717
|
+
return forwardRef(render);
|
|
718
|
+
}
|
|
714
719
|
|
|
715
720
|
// we need this hook to prevent a warning when using react-flow in SSR
|
|
716
721
|
const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
@@ -868,21 +873,19 @@ function useReactFlow() {
|
|
|
868
873
|
return { deletedNodes: matchingNodes, deletedEdges: matchingEdges };
|
|
869
874
|
}, []);
|
|
870
875
|
const getNodeRect = useCallback((nodeOrRect) => {
|
|
871
|
-
const
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
}
|
|
876
|
-
const nodeRect = isRect ? nodeOrRect : nodeToRect(node);
|
|
877
|
-
return [nodeRect, node, isRect];
|
|
876
|
+
const node = isNode(nodeOrRect) && nodeHasDimensions(nodeOrRect)
|
|
877
|
+
? nodeOrRect
|
|
878
|
+
: store.getState().nodeLookup.get(nodeOrRect.id);
|
|
879
|
+
return node ? nodeToRect(node) : null;
|
|
878
880
|
}, []);
|
|
879
881
|
const getIntersectingNodes = useCallback((nodeOrRect, partially = true, nodes) => {
|
|
880
|
-
const
|
|
882
|
+
const isRect = isRectObject(nodeOrRect);
|
|
883
|
+
const nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);
|
|
881
884
|
if (!nodeRect) {
|
|
882
885
|
return [];
|
|
883
886
|
}
|
|
884
887
|
return (nodes || store.getState().nodes).filter((n) => {
|
|
885
|
-
if (!isRect && (n.id ===
|
|
888
|
+
if (!isRect && (n.id === nodeOrRect.id || !n.computed?.positionAbsolute)) {
|
|
886
889
|
return false;
|
|
887
890
|
}
|
|
888
891
|
const currNodeRect = nodeToRect(n);
|
|
@@ -892,7 +895,8 @@ function useReactFlow() {
|
|
|
892
895
|
});
|
|
893
896
|
}, []);
|
|
894
897
|
const isNodeIntersecting = useCallback((nodeOrRect, area, partially = true) => {
|
|
895
|
-
const
|
|
898
|
+
const isRect = isRectObject(nodeOrRect);
|
|
899
|
+
const nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);
|
|
896
900
|
if (!nodeRect) {
|
|
897
901
|
return false;
|
|
898
902
|
}
|
|
@@ -1441,6 +1445,7 @@ function HandleComponent({ type = 'source', position = Position.Top, isValidConn
|
|
|
1441
1445
|
onConnect: onConnectExtended,
|
|
1442
1446
|
isValidConnection: isValidConnection || currentStore.isValidConnection,
|
|
1443
1447
|
getTransform: () => store.getState().transform,
|
|
1448
|
+
getConnectionStartHandle: () => store.getState().connectionStartHandle,
|
|
1444
1449
|
});
|
|
1445
1450
|
}
|
|
1446
1451
|
if (isMouseTriggered) {
|
|
@@ -1510,7 +1515,7 @@ function HandleComponent({ type = 'source', position = Position.Top, isValidConn
|
|
|
1510
1515
|
/**
|
|
1511
1516
|
* The Handle component is a UI element that is used to connect nodes.
|
|
1512
1517
|
*/
|
|
1513
|
-
const Handle = memo(
|
|
1518
|
+
const Handle = memo(fixedForwardRef(HandleComponent));
|
|
1514
1519
|
|
|
1515
1520
|
function InputNode({ data, isConnectable, sourcePosition = Position.Bottom }) {
|
|
1516
1521
|
return (jsxs(Fragment, { children: [data?.label, jsx(Handle, { type: "source", position: sourcePosition, isConnectable: isConnectable })] }));
|
|
@@ -2191,6 +2196,7 @@ function EdgeUpdateAnchors({ isUpdatable, edgeUpdaterRadius, edge, targetHandleI
|
|
|
2191
2196
|
onEdgeUpdateEnd: _onEdgeUpdateEnd,
|
|
2192
2197
|
updateConnection,
|
|
2193
2198
|
getTransform: () => store.getState().transform,
|
|
2199
|
+
getConnectionStartHandle: () => store.getState().connectionStartHandle,
|
|
2194
2200
|
});
|
|
2195
2201
|
};
|
|
2196
2202
|
const onEdgeUpdaterSourceMouseDown = (event) => handleEdgeUpdater(event, true);
|
|
@@ -2820,7 +2826,7 @@ function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTy
|
|
|
2820
2826
|
const colorModeClassName = useColorModeClass(colorMode);
|
|
2821
2827
|
return (jsx("div", { ...rest, style: { ...style, ...wrapperStyle }, ref: ref, className: cc(['react-flow', className, colorModeClassName]), "data-testid": "rf__wrapper", id: id, children: jsxs(Wrapper, { nodes: nodes, edges: edges, width: width, height: height, fitView: fitView, children: [jsx(GraphView, { onInit: onInit, onNodeClick: onNodeClick, onEdgeClick: onEdgeClick, onNodeMouseEnter: onNodeMouseEnter, onNodeMouseMove: onNodeMouseMove, onNodeMouseLeave: onNodeMouseLeave, onNodeContextMenu: onNodeContextMenu, onNodeDoubleClick: onNodeDoubleClick, nodeTypes: nodeTypes, edgeTypes: edgeTypes, connectionLineType: connectionLineType, connectionLineStyle: connectionLineStyle, connectionLineComponent: connectionLineComponent, connectionLineContainerStyle: connectionLineContainerStyle, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, deleteKeyCode: deleteKeyCode, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, onlyRenderVisibleElements: onlyRenderVisibleElements, defaultViewport: defaultViewport$1, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, preventScrolling: preventScrolling, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneScroll: onPaneScroll, onPaneContextMenu: onPaneContextMenu, onSelectionContextMenu: onSelectionContextMenu, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, onEdgeUpdate: onEdgeUpdate, onEdgeContextMenu: onEdgeContextMenu, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, edgeUpdaterRadius: edgeUpdaterRadius, defaultMarkerColor: defaultMarkerColor, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, rfId: rfId, disableKeyboardA11y: disableKeyboardA11y, nodeOrigin: nodeOrigin, nodeExtent: nodeExtent, viewport: viewport, onViewportChange: onViewportChange }), jsx(StoreUpdater, { nodes: nodes, edges: edges, defaultNodes: defaultNodes, defaultEdges: defaultEdges, onConnect: onConnect, onConnectStart: onConnectStart, onConnectEnd: onConnectEnd, onClickConnectStart: onClickConnectStart, onClickConnectEnd: onClickConnectEnd, nodesDraggable: nodesDraggable, nodesConnectable: nodesConnectable, nodesFocusable: nodesFocusable, edgesFocusable: edgesFocusable, edgesUpdatable: edgesUpdatable, elementsSelectable: elementsSelectable, elevateNodesOnSelect: elevateNodesOnSelect, elevateEdgesOnSelect: elevateEdgesOnSelect, minZoom: minZoom, maxZoom: maxZoom, nodeExtent: nodeExtent, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, snapToGrid: snapToGrid, snapGrid: snapGrid, connectionMode: connectionMode, translateExtent: translateExtent, connectOnClick: connectOnClick, defaultEdgeOptions: defaultEdgeOptions, fitView: fitView, fitViewOptions: fitViewOptions, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onDelete: onDelete, onNodeDragStart: onNodeDragStart, onNodeDrag: onNodeDrag, onNodeDragStop: onNodeDragStop, onSelectionDrag: onSelectionDrag, onSelectionDragStart: onSelectionDragStart, onSelectionDragStop: onSelectionDragStop, onMove: onMove, onMoveStart: onMoveStart, onMoveEnd: onMoveEnd, noPanClassName: noPanClassName, nodeOrigin: nodeOrigin, rfId: rfId, autoPanOnConnect: autoPanOnConnect, autoPanOnNodeDrag: autoPanOnNodeDrag, onError: onError, connectionRadius: connectionRadius, isValidConnection: isValidConnection, selectNodesOnDrag: selectNodesOnDrag, nodeDragThreshold: nodeDragThreshold, onBeforeDelete: onBeforeDelete, debug: debug }), jsx(SelectionListener, { onSelectionChange: onSelectionChange }), children, jsx(Attribution, { proOptions: proOptions, position: attributionPosition }), jsx(A11yDescriptions, { rfId: rfId, disableKeyboardA11y: disableKeyboardA11y })] }) }));
|
|
2822
2828
|
}
|
|
2823
|
-
var index =
|
|
2829
|
+
var index = fixedForwardRef(ReactFlow);
|
|
2824
2830
|
|
|
2825
2831
|
const selector$8 = (s) => s.domNode?.querySelector('.react-flow__edgelabel-renderer');
|
|
2826
2832
|
function EdgeLabelRenderer({ children }) {
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { createContext, useContext, useMemo, useEffect, useRef, useState, useLayoutEffect, useCallback, memo, forwardRef } from 'react';
|
|
4
3
|
import cc from 'classcat';
|
|
5
|
-
import { errorMessages, infiniteExtent, isInputDOMNode, fitView, getViewportForBounds, pointToRendererPoint, rendererPointToPoint, isNodeBase, isEdgeBase, getElementsToRemove,
|
|
4
|
+
import { errorMessages, infiniteExtent, isInputDOMNode, fitView, getViewportForBounds, pointToRendererPoint, rendererPointToPoint, isNodeBase, isEdgeBase, getElementsToRemove, nodeHasDimensions, nodeToRect, isRectObject, getOverlappingArea, getDimensions, XYPanZoom, PanOnScrollMode, SelectionMode, getEventPosition, getNodesInside, XYDrag, snapPosition, calculateNodePosition, Position, ConnectionMode, isMouseEvent, XYHandle, getHostForElement, addEdge, getNodesBounds, clampPosition, internalsSymbol, getNodeDimensions, getPositionWithOrigin, elementSelectionKeys, isEdgeVisible, MarkerType, createMarkerIds, isNumeric, getBezierEdgeCenter, getSmoothStepPath, getStraightPath, getBezierPath, getEdgePosition, getElevatedEdgeZIndex, getMarkerId, ConnectionLineType, updateConnectionLookup, adoptUserProvidedNodes, devWarn, updateNodeDimensions, updateAbsolutePositions, panBy, isMacOs, areConnectionMapsEqual, handleConnectionChange, shallowNodeData, getNodePositionWithOrigin, XYMinimap, getBoundsOfRects, ResizeControlVariant, XYResizer, XY_RESIZER_LINE_POSITIONS, XY_RESIZER_HANDLE_POSITIONS, getNodeToolbarTransform } from '@xyflow/system';
|
|
6
5
|
export { ConnectionLineType, ConnectionMode, MarkerType, PanOnScrollMode, Position, SelectionMode, addEdge, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds, internalsSymbol, updateEdge } from '@xyflow/system';
|
|
6
|
+
import { createContext, useContext, useMemo, useEffect, useRef, useState, forwardRef, useLayoutEffect, useCallback, memo } from 'react';
|
|
7
7
|
import { useStoreWithEqualityFn, createWithEqualityFn } from 'zustand/traditional';
|
|
8
8
|
import { shallow } from 'zustand/shallow';
|
|
9
9
|
import { createPortal } from 'react-dom';
|
|
@@ -711,6 +711,11 @@ const isNode = (element) => isNodeBase(element);
|
|
|
711
711
|
* @returns A boolean indicating whether the element is an Edge
|
|
712
712
|
*/
|
|
713
713
|
const isEdge = (element) => isEdgeBase(element);
|
|
714
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
715
|
+
function fixedForwardRef(render) {
|
|
716
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
717
|
+
return forwardRef(render);
|
|
718
|
+
}
|
|
714
719
|
|
|
715
720
|
// we need this hook to prevent a warning when using react-flow in SSR
|
|
716
721
|
const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
@@ -868,21 +873,19 @@ function useReactFlow() {
|
|
|
868
873
|
return { deletedNodes: matchingNodes, deletedEdges: matchingEdges };
|
|
869
874
|
}, []);
|
|
870
875
|
const getNodeRect = useCallback((nodeOrRect) => {
|
|
871
|
-
const
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
}
|
|
876
|
-
const nodeRect = isRect ? nodeOrRect : nodeToRect(node);
|
|
877
|
-
return [nodeRect, node, isRect];
|
|
876
|
+
const node = isNode(nodeOrRect) && nodeHasDimensions(nodeOrRect)
|
|
877
|
+
? nodeOrRect
|
|
878
|
+
: store.getState().nodeLookup.get(nodeOrRect.id);
|
|
879
|
+
return node ? nodeToRect(node) : null;
|
|
878
880
|
}, []);
|
|
879
881
|
const getIntersectingNodes = useCallback((nodeOrRect, partially = true, nodes) => {
|
|
880
|
-
const
|
|
882
|
+
const isRect = isRectObject(nodeOrRect);
|
|
883
|
+
const nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);
|
|
881
884
|
if (!nodeRect) {
|
|
882
885
|
return [];
|
|
883
886
|
}
|
|
884
887
|
return (nodes || store.getState().nodes).filter((n) => {
|
|
885
|
-
if (!isRect && (n.id ===
|
|
888
|
+
if (!isRect && (n.id === nodeOrRect.id || !n.computed?.positionAbsolute)) {
|
|
886
889
|
return false;
|
|
887
890
|
}
|
|
888
891
|
const currNodeRect = nodeToRect(n);
|
|
@@ -892,7 +895,8 @@ function useReactFlow() {
|
|
|
892
895
|
});
|
|
893
896
|
}, []);
|
|
894
897
|
const isNodeIntersecting = useCallback((nodeOrRect, area, partially = true) => {
|
|
895
|
-
const
|
|
898
|
+
const isRect = isRectObject(nodeOrRect);
|
|
899
|
+
const nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);
|
|
896
900
|
if (!nodeRect) {
|
|
897
901
|
return false;
|
|
898
902
|
}
|
|
@@ -1441,6 +1445,7 @@ function HandleComponent({ type = 'source', position = Position.Top, isValidConn
|
|
|
1441
1445
|
onConnect: onConnectExtended,
|
|
1442
1446
|
isValidConnection: isValidConnection || currentStore.isValidConnection,
|
|
1443
1447
|
getTransform: () => store.getState().transform,
|
|
1448
|
+
getConnectionStartHandle: () => store.getState().connectionStartHandle,
|
|
1444
1449
|
});
|
|
1445
1450
|
}
|
|
1446
1451
|
if (isMouseTriggered) {
|
|
@@ -1510,7 +1515,7 @@ function HandleComponent({ type = 'source', position = Position.Top, isValidConn
|
|
|
1510
1515
|
/**
|
|
1511
1516
|
* The Handle component is a UI element that is used to connect nodes.
|
|
1512
1517
|
*/
|
|
1513
|
-
const Handle = memo(
|
|
1518
|
+
const Handle = memo(fixedForwardRef(HandleComponent));
|
|
1514
1519
|
|
|
1515
1520
|
function InputNode({ data, isConnectable, sourcePosition = Position.Bottom }) {
|
|
1516
1521
|
return (jsxs(Fragment, { children: [data?.label, jsx(Handle, { type: "source", position: sourcePosition, isConnectable: isConnectable })] }));
|
|
@@ -2191,6 +2196,7 @@ function EdgeUpdateAnchors({ isUpdatable, edgeUpdaterRadius, edge, targetHandleI
|
|
|
2191
2196
|
onEdgeUpdateEnd: _onEdgeUpdateEnd,
|
|
2192
2197
|
updateConnection,
|
|
2193
2198
|
getTransform: () => store.getState().transform,
|
|
2199
|
+
getConnectionStartHandle: () => store.getState().connectionStartHandle,
|
|
2194
2200
|
});
|
|
2195
2201
|
};
|
|
2196
2202
|
const onEdgeUpdaterSourceMouseDown = (event) => handleEdgeUpdater(event, true);
|
|
@@ -2820,7 +2826,7 @@ function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTy
|
|
|
2820
2826
|
const colorModeClassName = useColorModeClass(colorMode);
|
|
2821
2827
|
return (jsx("div", { ...rest, style: { ...style, ...wrapperStyle }, ref: ref, className: cc(['react-flow', className, colorModeClassName]), "data-testid": "rf__wrapper", id: id, children: jsxs(Wrapper, { nodes: nodes, edges: edges, width: width, height: height, fitView: fitView, children: [jsx(GraphView, { onInit: onInit, onNodeClick: onNodeClick, onEdgeClick: onEdgeClick, onNodeMouseEnter: onNodeMouseEnter, onNodeMouseMove: onNodeMouseMove, onNodeMouseLeave: onNodeMouseLeave, onNodeContextMenu: onNodeContextMenu, onNodeDoubleClick: onNodeDoubleClick, nodeTypes: nodeTypes, edgeTypes: edgeTypes, connectionLineType: connectionLineType, connectionLineStyle: connectionLineStyle, connectionLineComponent: connectionLineComponent, connectionLineContainerStyle: connectionLineContainerStyle, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, deleteKeyCode: deleteKeyCode, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, onlyRenderVisibleElements: onlyRenderVisibleElements, defaultViewport: defaultViewport$1, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, preventScrolling: preventScrolling, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneScroll: onPaneScroll, onPaneContextMenu: onPaneContextMenu, onSelectionContextMenu: onSelectionContextMenu, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, onEdgeUpdate: onEdgeUpdate, onEdgeContextMenu: onEdgeContextMenu, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, edgeUpdaterRadius: edgeUpdaterRadius, defaultMarkerColor: defaultMarkerColor, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, rfId: rfId, disableKeyboardA11y: disableKeyboardA11y, nodeOrigin: nodeOrigin, nodeExtent: nodeExtent, viewport: viewport, onViewportChange: onViewportChange }), jsx(StoreUpdater, { nodes: nodes, edges: edges, defaultNodes: defaultNodes, defaultEdges: defaultEdges, onConnect: onConnect, onConnectStart: onConnectStart, onConnectEnd: onConnectEnd, onClickConnectStart: onClickConnectStart, onClickConnectEnd: onClickConnectEnd, nodesDraggable: nodesDraggable, nodesConnectable: nodesConnectable, nodesFocusable: nodesFocusable, edgesFocusable: edgesFocusable, edgesUpdatable: edgesUpdatable, elementsSelectable: elementsSelectable, elevateNodesOnSelect: elevateNodesOnSelect, elevateEdgesOnSelect: elevateEdgesOnSelect, minZoom: minZoom, maxZoom: maxZoom, nodeExtent: nodeExtent, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, snapToGrid: snapToGrid, snapGrid: snapGrid, connectionMode: connectionMode, translateExtent: translateExtent, connectOnClick: connectOnClick, defaultEdgeOptions: defaultEdgeOptions, fitView: fitView, fitViewOptions: fitViewOptions, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onDelete: onDelete, onNodeDragStart: onNodeDragStart, onNodeDrag: onNodeDrag, onNodeDragStop: onNodeDragStop, onSelectionDrag: onSelectionDrag, onSelectionDragStart: onSelectionDragStart, onSelectionDragStop: onSelectionDragStop, onMove: onMove, onMoveStart: onMoveStart, onMoveEnd: onMoveEnd, noPanClassName: noPanClassName, nodeOrigin: nodeOrigin, rfId: rfId, autoPanOnConnect: autoPanOnConnect, autoPanOnNodeDrag: autoPanOnNodeDrag, onError: onError, connectionRadius: connectionRadius, isValidConnection: isValidConnection, selectNodesOnDrag: selectNodesOnDrag, nodeDragThreshold: nodeDragThreshold, onBeforeDelete: onBeforeDelete, debug: debug }), jsx(SelectionListener, { onSelectionChange: onSelectionChange }), children, jsx(Attribution, { proOptions: proOptions, position: attributionPosition }), jsx(A11yDescriptions, { rfId: rfId, disableKeyboardA11y: disableKeyboardA11y })] }) }));
|
|
2822
2828
|
}
|
|
2823
|
-
var index =
|
|
2829
|
+
var index = fixedForwardRef(ReactFlow);
|
|
2824
2830
|
|
|
2825
2831
|
const selector$8 = (s) => s.domNode?.querySelector('.react-flow__edgelabel-renderer');
|
|
2826
2832
|
function EdgeLabelRenderer({ children }) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ReactFlowState, Node, Edge } from '../types';
|
|
2
2
|
declare const createRFStore: ({ nodes, edges, defaultNodes, defaultEdges, width, height, fitView, }: {
|
|
3
|
-
nodes?: Node
|
|
4
|
-
edges?: Edge
|
|
5
|
-
defaultNodes?: Node
|
|
6
|
-
defaultEdges?: Edge
|
|
3
|
+
nodes?: Node[] | undefined;
|
|
4
|
+
edges?: Edge[] | undefined;
|
|
5
|
+
defaultNodes?: Node[] | undefined;
|
|
6
|
+
defaultEdges?: Edge[] | undefined;
|
|
7
7
|
width?: number | undefined;
|
|
8
8
|
height?: number | undefined;
|
|
9
9
|
fitView?: boolean | undefined;
|
|
10
|
-
}) => import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<ReactFlowState
|
|
10
|
+
}) => import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<ReactFlowState>>;
|
|
11
11
|
export { createRFStore };
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/store/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EACJ,IAAI,EAOL,MAAM,UAAU,CAAC;AAElB,QAAA,MAAM,aAAa;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/store/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EACJ,IAAI,EAOL,MAAM,UAAU,CAAC;AAElB,QAAA,MAAM,aAAa;;;;;;;;2GAoShB,CAAC;AAEJ,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Edge, Node, ReactFlowStore } from '../types';
|
|
2
2
|
declare const getInitialState: ({ nodes, edges, defaultNodes, defaultEdges, width, height, fitView, }?: {
|
|
3
|
-
nodes?: Node
|
|
4
|
-
edges?: Edge
|
|
5
|
-
defaultNodes?: Node
|
|
6
|
-
defaultEdges?: Edge
|
|
3
|
+
nodes?: Node[] | undefined;
|
|
4
|
+
edges?: Edge[] | undefined;
|
|
5
|
+
defaultNodes?: Node[] | undefined;
|
|
6
|
+
defaultEdges?: Edge[] | undefined;
|
|
7
7
|
width?: number | undefined;
|
|
8
8
|
height?: number | undefined;
|
|
9
9
|
fitView?: boolean | undefined;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
2
|
import { FitViewParamsBase, FitViewOptionsBase, ZoomInOut, ZoomTo, SetViewport, GetZoom, GetViewport, SetCenter, FitBounds, XYPosition, OnBeforeDeleteBase, Connection } from '@xyflow/system';
|
|
3
3
|
import type { NodeChange, EdgeChange, Node, Edge, ReactFlowInstance, EdgeProps, NodeProps } from '.';
|
|
4
|
-
declare module 'react' {
|
|
5
|
-
function forwardRef<T, P = {}>(render: (props: P, ref: React.Ref<T>) => React.ReactElement | null): (props: P & React.RefAttributes<T>) => React.ReactElement | null;
|
|
6
|
-
}
|
|
7
4
|
export type OnNodesChange<NodeType extends Node = Node> = (changes: NodeChange<NodeType>[]) => void;
|
|
8
5
|
export type OnEdgesChange<EdgeType extends Edge = Edge> = (changes: EdgeChange<EdgeType>[]) => void;
|
|
9
6
|
export type OnNodesDelete<NodeType extends Node = Node> = (nodes: NodeType[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/types/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/types/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAErG,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC;AACpG,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC;AAEpG,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;AACtF,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;AACtF,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;IAC1F,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,KAAK,IAAI,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,CAC5B,MAAM,EACN,aAAa,CACX,SAAS,GAAG;IAEV,IAAI,EAAE,GAAG,CAAC;IAEV,IAAI,EAAE,GAAG,CAAC;CACX,CACF,CACF,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,MAAM,CAC5B,MAAM,EACN,aAAa,CACX,SAAS,GAAG;IAEV,IAAI,EAAE,GAAG,CAAC;IAEV,IAAI,EAAE,GAAG,CAAC;CACX,CACF,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC;AACnE,MAAM,MAAM,MAAM,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAC/E,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KACrD,IAAI,CAAC;AAEV,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;OAIG;IACH,MAAM,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;;;;;;;;OASG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;;;;;OASG;IACH,oBAAoB,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,UAAU,CAAC;IACpG;;;;;;;;OAQG;IACH,oBAAoB,EAAE,CAAC,YAAY,EAAE,UAAU,KAAK,UAAU,CAAC;IAC/D,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,kBAAkB,CACzG,QAAQ,EACR,QAAQ,CACT,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,KAAK,OAAO,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReactNode, Ref, RefAttributes } from 'react';
|
|
1
2
|
import type { Edge, Node } from '../types';
|
|
2
3
|
/**
|
|
3
4
|
* Test whether an object is useable as a Node
|
|
@@ -6,7 +7,7 @@ import type { Edge, Node } from '../types';
|
|
|
6
7
|
* @param element - The element to test
|
|
7
8
|
* @returns A boolean indicating whether the element is an Node
|
|
8
9
|
*/
|
|
9
|
-
export declare const isNode: <NodeType extends Node
|
|
10
|
+
export declare const isNode: <NodeType extends Node = Node>(element: unknown) => element is NodeType;
|
|
10
11
|
/**
|
|
11
12
|
* Test whether an object is useable as an Edge
|
|
12
13
|
* @public
|
|
@@ -14,5 +15,6 @@ export declare const isNode: <NodeType extends Node<Record<string, unknown>, str
|
|
|
14
15
|
* @param element - The element to test
|
|
15
16
|
* @returns A boolean indicating whether the element is an Edge
|
|
16
17
|
*/
|
|
17
|
-
export declare const isEdge: <EdgeType extends Edge
|
|
18
|
+
export declare const isEdge: <EdgeType extends Edge = Edge>(element: unknown) => element is EdgeType;
|
|
19
|
+
export declare function fixedForwardRef<T, P = {}>(render: (props: P, ref: Ref<T>) => ReactNode): (props: P & RefAttributes<T>) => ReactNode;
|
|
18
20
|
//# sourceMappingURL=general.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/utils/general.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/utils/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AAGlE,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,0CAA2C,OAAO,wBACtC,CAAC;AAEhC;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,0CAA2C,OAAO,wBACtC,CAAC;AAGhC,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EACvC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,GAC3C,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,CAG5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeUpdateAnchors.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/EdgeUpdateAnchors.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,sBAAsB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IACzD,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,EAC9D,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,GACf,EAAE,sBAAsB,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"EdgeUpdateAnchors.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/EdgeUpdateAnchors.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,sBAAsB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IACzD,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,EAC9D,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,GACf,EAAE,sBAAsB,CAAC,QAAQ,CAAC,2CAoGlC"}
|
|
@@ -5,5 +5,5 @@ export interface HandleComponentProps extends HandleProps, Omit<HTMLAttributes<H
|
|
|
5
5
|
/**
|
|
6
6
|
* The Handle component is a UI element that is used to connect nodes.
|
|
7
7
|
*/
|
|
8
|
-
export declare const Handle: import("react").MemoExoticComponent<(props: HandleComponentProps & import("react").RefAttributes<HTMLDivElement>) => import("react").
|
|
8
|
+
export declare const Handle: import("react").MemoExoticComponent<(props: HandleComponentProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactNode>;
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/Handle/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/Handle/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,OAAO,CAAC;AAGf,OAAO,EAOL,KAAK,WAAW,EAIjB,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,oBAAqB,SAAQ,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;CAAG;AAuNxG;;GAEG;AACH,eAAO,MAAM,MAAM,iJAAyC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Edge, Node, ReactFlowProps } from '../../types';
|
|
3
|
-
declare const _default: <NodeType extends Node
|
|
3
|
+
declare const _default: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ReactFlowProps<NodeType, EdgeType> & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactNode;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/ReactFlow/index.tsx"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/ReactFlow/index.tsx"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;;AAsR9D,wBAA0C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare const StoreContext: import("react").Context<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState
|
|
3
|
-
export declare const Provider: import("react").Provider<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState
|
|
2
|
+
declare const StoreContext: import("react").Context<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState>> | null>;
|
|
3
|
+
export declare const Provider: import("react").Provider<import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<import("..").ReactFlowState>> | null>;
|
|
4
4
|
export default StoreContext;
|
|
5
5
|
//# sourceMappingURL=RFStoreContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RFStoreContext.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/contexts/RFStoreContext.ts"],"names":[],"mappings":";AAIA,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"RFStoreContext.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/contexts/RFStoreContext.ts"],"names":[],"mappings":";AAIA,QAAA,MAAM,YAAY,oJAA+D,CAAC;AAElF,eAAO,MAAM,QAAQ,qJAAwB,CAAC;AAC9C,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactFlow.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/hooks/useReactFlow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useReactFlow.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/hooks/useReactFlow.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAY,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIxE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,KAAK,iBAAiB,CAC3G,QAAQ,EACR,QAAQ,CACT,CA2TA"}
|